:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7fb;color:#182033}*{box-sizing:border-box}body{margin:0;background:#f5f7fb}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bfdbfe;outline-offset:2px}a{color:inherit}.auth-shell,.shell{min-height:100vh}.auth-shell{display:grid;place-items:center;padding:24px;background:#eef3fb}.auth-card{width:min(430px,100%);padding:32px;border:1px solid #dbe2ea;border-radius:18px;background:white;box-shadow:0 18px 45px rgba(16,24,40,.1)}.brand-lockup{width:clamp(210px,58vw,270px);max-width:100%;line-height:0}.brand-lockup img{display:block;width:100%;height:auto}.brand-lockup-compact{width:clamp(180px,40vw,220px)}.auth-card h1{margin:18px 0 8px;font-size:28px}.auth-card>p{margin:0 0 24px;color:#667085}.auth-card input,.context-panel input,.context-panel select{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:11px 12px;color:#182033;background:white}.auth-card .field-label:not(:first-of-type){margin-top:16px}.topbar{justify-content:space-between;gap:20px;padding:16px 32px;background:#101828;color:white}.topbar,.topbar-identity{display:flex;align-items:center}.topbar-identity{gap:16px;min-width:0}.topbar small{color:#cbd5e1}.container{max-width:1180px;margin:0 auto;padding:32px 24px 56px}.context-panel{display:grid;grid-template-columns:1fr 1fr 1.4fr;grid-gap:16px;gap:16px;align-items:flex-end;padding:18px 20px;margin-bottom:24px}.context-action{display:inline-block;margin-top:8px}.project-create>div{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px}.onboarding-card{width:min(680px,100%);margin:40px auto;padding:clamp(28px,5vw,48px);border:1px solid #dbe2ea;border-radius:22px;background:white;box-shadow:0 18px 45px rgba(16,24,40,.08)}.onboarding-copy{margin-bottom:26px}.onboarding-copy h1{margin:8px 0 10px;font-size:clamp(28px,5vw,38px)}.onboarding-copy p,.organization-create-card p{margin:0;color:#667085;line-height:1.6}.eyebrow{color:#2563eb;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.organization-create-form input{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:11px 12px;color:#182033;background:white}.organization-create-form>div{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px}.field-error{margin-top:7px;color:#b42318;font-size:13px}.organization-create-card{display:grid;grid-template-columns:1fr minmax(360px,1.2fr);align-items:end;grid-gap:24px;gap:24px;margin:-8px 0 24px;padding:20px}.organization-create-card h2{margin:0 0 6px;font-size:18px}.context-empty{padding:48px 24px;border:1px dashed #b8c4d8;border-radius:16px;text-align:center;color:#667085;background:white}.context-error{width:min(620px,100%);margin:40px auto;padding:32px;text-align:center}.context-error h1{margin:0 0 8px;font-size:26px}.context-error p{margin:0 0 20px;color:#667085}.hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}.project-dashboard{margin-bottom:32px}.dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.dashboard-heading h1{margin:6px 0;font-size:30px}.dashboard-heading p{margin:0;color:#667085}.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.dashboard-panel{min-width:0;overflow:hidden}.test-cases-panel{grid-column:1/-1}.dashboard-list{display:grid}.dashboard-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #eaecf0}.dashboard-item:last-child{border-bottom:0}.dashboard-item>div:first-child{min-width:0}.dashboard-item span,.dashboard-item strong{display:block}.dashboard-item strong{overflow-wrap:anywhere}.dashboard-item>div:first-child span{margin-top:5px;color:#667085;font-size:12px;line-height:1.4}.dashboard-item-actions{display:grid;justify-items:end;grid-gap:8px;gap:8px;flex:0 0 auto}.test-case-item{flex-wrap:wrap}.trace-summary{width:100%;color:#667085;font-size:12px}.dashboard-state{display:grid;justify-items:center;grid-gap:10px;gap:10px;padding:36px 24px;border:1px dashed #b8c4d8;border-radius:16px;color:#667085;background:white;text-align:center}.dashboard-error{border-color:#fecdca;background:#fef3f2;color:#b42318}.button-small{padding:7px 10px;font-size:12px}.hero h1{margin:0 0 8px;font-size:34px}.hero p{margin:0;color:#667085}.button{border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer;text-decoration:none}.button-primary{background:#2563eb;color:white}.button-secondary{background:white;color:#344054;border:1px solid #d0d5dd}.grid{display:grid;grid-template-columns:360px 1fr;grid-gap:22px;gap:22px}.panel{background:white;border:1px solid #e4e7ec;border-radius:16px;box-shadow:0 6px 20px rgba(16,24,40,.05)}.panel-header{padding:20px 22px;border-bottom:1px solid #eaecf0}.panel-header h2{margin:0 0 5px;font-size:18px}.panel-header p{margin:0;color:#667085;font-size:14px}.results-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.export-link{white-space:nowrap}.panel-body{padding:22px}.compact-form{display:grid;grid-gap:12px;gap:12px;padding:20px 22px;margin-bottom:18px}.compact-form .panel-header{padding:0 0 14px}.compact-form input,.compact-form select,.compact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #d0d5dd;border-radius:10px;padding:10px 11px;color:#182033;background:white}.compact-form textarea{resize:vertical}.inline-error{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 18px 0;padding:10px 12px;border:1px solid #fecdca;border-radius:10px;background:#fef3f2;color:#b42318;font-size:13px}.dropzone{display:block;border:2px dashed #b8c4d8;border-radius:14px;padding:28px 18px;text-align:center;background:#f8fafc;cursor:pointer}.dropzone:hover{border-color:#2563eb;background:#f4f8ff}.dropzone strong{display:block;margin-bottom:7px}.dropzone span{color:#667085;font-size:13px}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.source-divider{display:flex;align-items:center;gap:10px;margin:18px 0;color:#98a2b3;font-size:12px}.source-divider:after,.source-divider:before{content:"";height:1px;flex:1 1;background:#eaecf0}.field-label{display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:#344054}.document-input{width:100%;resize:vertical;min-height:220px;border:1px solid #d0d5dd;border-radius:12px;padding:13px;line-height:1.5;color:#182033;background:#fff}.document-input:disabled{background:#f2f4f7;color:#98a2b3}.document-input:focus{outline:3px solid #dbeafe;border-color:#2563eb}.text-button{margin-top:8px;padding:0;border:0;background:transparent;color:#2563eb;font-size:12px;cursor:pointer}.full{width:100%;margin-top:16px}.session-note,.source-note{margin-top:12px;color:#667085;font-size:12px;word-break:break-word}.error-banner{margin-bottom:18px;border:1px solid #fecdca;border-radius:12px;padding:12px 14px;background:#fef3f2;color:#b42318;font-size:14px}.summary{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:18px}.stat{background:white;border:1px solid #e4e7ec;border-radius:13px;padding:16px;text-align:left}.stat span{color:#667085;font-size:13px}.stat strong{display:block;margin-top:7px;font-size:24px}.stat-button{cursor:pointer}.stat-button:hover{border-color:#98a2b3;box-shadow:0 4px 12px rgba(16,24,40,.05)}.requirement-list{display:grid;grid-gap:14px;gap:14px}.requirement{border:1px solid #e4e7ec;border-radius:14px;padding:18px;background:white}.req-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.req-id{color:#2563eb;font-weight:800;font-size:13px}.requirement h3{margin:7px 0 12px;font-size:16px;line-height:1.5}.meta{gap:8px}.meta,.suggested-meta{display:flex;flex-wrap:wrap}.suggested-meta{gap:8px 18px;margin-top:8px;color:#667085;font-size:12px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;background:#f2f4f7;color:#475467;text-transform:capitalize}.good{background:#ecfdf3;color:#027a48}.review{background:#fffaeb;color:#b54708}.bad{background:#fef3f2;color:#b42318}.decision{background:#eef4ff;color:#1d4ed8}.finding{margin-top:13px;padding:12px;border-radius:9px;background:#fff7ed;color:#9a3412;font-size:13px;display:grid;grid-gap:5px;gap:5px}.finding strong{font-size:11px;letter-spacing:.04em}.finding small{color:#7c2d12}.traceability-panel{display:grid;grid-gap:9px;gap:9px;margin-top:14px;padding:13px;border:1px solid #dbe4f0;border-radius:10px;background:#f8fafc;font-size:12px}.trace-empty{color:#667085}.trace-links{display:flex;flex-wrap:wrap;gap:7px}.trace-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 8px;background:#eef4ff;color:#1d4ed8;font-weight:700}.trace-chip button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:16px;line-height:1}.trace-add{display:flex;gap:8px}.trace-add select{min-width:0;flex:1 1;border:1px solid #d0d5dd;border-radius:9px;padding:8px;background:white}.review-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid #eaecf0}.review-button{border:1px solid #d0d5dd;background:white;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:700;cursor:pointer}.review-button:hover:not(:disabled){background:#f8fafc}.approve{color:#027a48;border-color:#a6f4c5}.clarify{color:#b54708;border-color:#fedf89}.reject{color:#b42318;border-color:#fecdca}.edit{color:#1d4ed8;border-color:#bfdbfe}.metadata-editor,.review-editor,.revision-editor{margin-top:16px;padding:16px;border-radius:12px;background:#f8fbff}.revision-editor{border:1px solid #bfdbfe}.metadata-editor{border:1px solid #c7d7fe}.metadata-editor>strong{display:block;margin-bottom:12px}.metadata-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.metadata-editor textarea,.metadata-fields select{display:block;width:100%;margin-top:7px;border:1px solid #d0d5dd;border-radius:10px;padding:10px 11px;color:#182033;background:white}.metadata-editor textarea{resize:vertical;margin-bottom:14px}.review-editor{border:1px solid #fedf89;background:#fffcf5}.review-editor>strong{display:block;margin-bottom:12px;color:#7a2e0e}.review-editor textarea,.revision-editor input,.revision-editor textarea{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:11px 12px;color:#182033;background:white}.review-editor textarea,.revision-editor textarea{resize:vertical;line-height:1.5;margin-bottom:14px}.revision-editor input{margin-bottom:14px}.review-editor textarea:focus,.revision-editor input:focus,.revision-editor textarea:focus{outline:3px solid #dbeafe;border-color:#2563eb}.editor-actions{display:flex;gap:8px;flex-wrap:wrap}.audit-section{margin-top:12px}.history-toggle{padding:0;border:0;background:transparent;color:#2563eb;font-size:12px;font-weight:700;cursor:pointer}.timeline{display:grid;grid-gap:10px;gap:10px;margin-top:12px;padding-left:14px;border-left:2px solid #e4e7ec}.timeline-item{display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border:1px solid #e4e7ec;border-radius:10px;background:#f8fafc;font-size:13px}.timeline-item.revision{background:#f8fbff;border-color:#bfdbfe}.timeline-item strong{color:#344054}.timeline-item span{color:#475467}.timeline-item small{color:#98a2b3}.timeline-item details{margin-top:4px;color:#475467}.timeline-item summary{cursor:pointer;font-weight:700}.timeline-item p{margin:7px 0 0;line-height:1.45}.empty{padding:42px 20px;text-align:center;color:#667085}@media (max-width:850px){.grid{grid-template-columns:1fr}.summary{grid-template-columns:repeat(2,1fr)}.hero{align-items:start;flex-direction:column}.topbar{padding:16px 20px}.results-header{align-items:flex-start;flex-direction:column}.context-panel,.dashboard-grid,.organization-create-card{grid-template-columns:1fr}.dashboard-heading{align-items:flex-start;flex-direction:column}}@media (max-width:520px){.container{padding:24px 16px 40px}.topbar{align-items:flex-start;padding:14px 16px}.topbar-identity{align-items:flex-start;flex-direction:column;gap:7px}.metadata-fields,.organization-create-form>div,.project-create>div{grid-template-columns:1fr}.organization-create-form .button,.project-create .button{width:100%}.auth-card{padding:26px 22px}.dashboard-actions,.dashboard-heading .button{width:100%}.dashboard-item{align-items:flex-start;flex-direction:column}.dashboard-item-actions{width:100%;justify-items:stretch}.dashboard-item-actions .badge{justify-self:start}.trace-add{align-items:stretch;flex-direction:column}}