:root{--ink:#16201d;--muted:#64706b;--paper:#f4f2eb;--card:#fff;--green:#164b3b;--gold:#c89d4b;--line:#dcded7;--chart-mpl:#176047}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,sans-serif}
a{color:inherit;text-decoration:none}.topbar{height:72px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--green);color:#fff}
.brand{font:700 25px Georgia,serif;letter-spacing:.08em}.brand span{font:400 12px system-ui;letter-spacing:.05em;opacity:.72;margin-left:12px}
.container{width:min(1560px,calc(100% - 36px));margin:48px auto 80px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}
h1,h2,h3{font-family:Georgia,serif;line-height:1.18}h1{font-size:clamp(2.2rem,5vw,4rem);margin:.1em 0}h2{margin-top:0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;color:var(--green);font-weight:800}
button,.button{border:0;border-radius:7px;background:var(--green);color:#fff;padding:12px 19px;font-weight:700;cursor:pointer;display:inline-block}.secondary{background:#fff;color:var(--green);border:1px solid var(--green)}
.link-button{background:transparent;padding:8px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.two-col{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}
.card,.form-card,.auth-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 5px 22px #18372a0b}.case-card{transition:.2s;padding:0;overflow:hidden}.case-card:hover{transform:translateY(-3px);border-color:#9eaa9e}.case-card-link{display:block;padding:24px}.case-card-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;border-top:1px solid var(--line);font-size:.85rem;font-weight:750}.delete-link{color:#9b2929;font-weight:750}.delete-link:hover{text-decoration:underline}.workspace-head-actions{display:flex;align-items:center;gap:16px}.danger-button{background:#a53333}.delete-confirmation{max-width:720px;margin:8vh auto}.delete-confirmation h1{font-size:clamp(2rem,5vw,3.5rem)}.delete-confirmation-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:28px}.delete-confirmation-actions form{margin:0}
.badge,.tags span,.status{display:inline-block;border-radius:99px;padding:4px 9px;background:#e6ece8;color:var(--green);font-size:.75rem;font-weight:800}.tags{display:flex;gap:7px;flex-wrap:wrap}
.stack{display:grid;gap:15px}.form-card{max-width:850px}.field{display:grid;gap:6px}.field label{font-weight:750}input,select,textarea{width:100%;padding:11px;border:1px solid #bfc6c0;border-radius:7px;background:#fff;font:inherit}
.auth-card{max-width:420px;margin:10vh auto}.alert{padding:14px;border-left:4px solid #a53333;background:#fbe8e8;border-radius:5px}.pre{white-space:pre-wrap}
.status.completed{background:#dff2e7}.status.failed{background:#f7dddd;color:#922}.status.running{background:#fff0c9;color:#795700}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.score{font-weight:900;color:var(--green)}.formula{color:var(--muted);font-size:.85rem}
details{margin:12px 0}summary{display:flex;justify-content:space-between;cursor:pointer}pre{white-space:pre-wrap;word-break:break-word;background:#f4f6f3;padding:14px;border-radius:7px;max-height:520px;overflow:auto}
.disclaimer,footer{color:var(--muted);font-size:.85rem}.disclaimer{border-top:1px solid var(--line);margin-top:32px;padding-top:18px}footer{text-align:center;padding:28px}
.empty{text-align:center;padding:70px 20px;border:1px dashed #abb4ad;border-radius:12px}@media(max-width:720px){.two-col{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.brand span{display:none}}
.workspace-head{max-width:900px;margin-bottom:30px}.workspace-head.compact{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.workspace-head h1 em{color:var(--green);font-weight:400}.lead{max-width:720px;color:var(--muted);font-size:1.08rem}
.stepper{display:grid;grid-template-columns:repeat(4,1fr);position:relative;margin:28px 0 34px}.stepper:before{content:"";position:absolute;top:18px;left:8%;right:8%;height:2px;background:var(--line)}.step{position:relative;z-index:1;text-align:center;color:#8a938e}.step b{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 8px;border-radius:50%;background:var(--paper);border:2px solid #c9cec9}.step span{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.step.active,.step.done{color:var(--green)}.step.active b{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 0 0 6px #dfe9e4}.step.done b{background:#e1ede7;border-color:var(--green)}
.intake-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:22px;align-items:start}.file-field{border:1px dashed #9eaaa3;border-radius:10px;padding:18px;background:#f7f8f5}.file-field input{border:0;padding:8px 0;background:transparent}.wide{width:100%;padding:15px}.guidance-card{background:var(--green);color:#fff;border-radius:12px;padding:28px;position:sticky;top:20px}.guidance-card h2{margin-top:8px}.guidance-card p{opacity:.72}.guidance-icon{font-size:2rem;color:var(--gold)}.check-list{padding:0;list-style:none}.check-list li{padding:8px 0 8px 25px;position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:#e9ca8d}
.workflow-pill{padding:8px 13px;border-radius:99px;background:#e3ece7;color:var(--green);font-weight:800;font-size:.8rem}.workflow-pill.extraction_failed{background:#f7dddd;color:#922}.action-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 30px #173c2c0c}.action-panel h2,.review-intro h2{margin:.15em 0}.action-panel p{color:var(--muted);margin-bottom:0}.confirmed-panel{border-left:5px solid var(--green)}
.extraction-progress-panel{border-left:5px solid var(--green)}.activity-indicator{display:flex;align-items:center;gap:7px;padding:14px}.activity-indicator span{width:10px;height:10px;border-radius:50%;background:var(--green);animation:extraction-pulse 1.2s infinite ease-in-out}.activity-indicator span:nth-child(2){animation-delay:.16s}.activity-indicator span:nth-child(3){animation-delay:.32s}@keyframes extraction-pulse{0%,80%,100%{opacity:.25;transform:scale(.75)}40%{opacity:1;transform:scale(1)}}
.source-summary,.confirmed-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:20px}.confirmed-grid{grid-template-columns:repeat(3,1fr)}.clamp{display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
.review-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px}.human-badge{background:#fff1cf;color:#705411;border-radius:8px;padding:9px 12px;font-weight:800;font-size:.8rem}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.review-field{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}.review-field textarea{background:#fafbf9}.review-side{grid-column:1/-1;background:#edf2ee;border-radius:10px;padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.review-actions{grid-column:1/-1;display:flex;align-items:center;gap:18px;justify-content:flex-end}.review-actions p{color:var(--muted);font-size:.85rem}.extraction-detail{margin-top:18px}.secondary-action{margin-top:12px;text-align:right}.history{margin-top:42px}
.review-warning{margin-bottom:16px;padding:16px 18px;border-left:4px solid #b57c2c;border-radius:8px;background:#fff2d7;color:#5f491c}.review-warning p{margin:.35em 0 0}.review-actions-wrap{grid-column:1/-1}.review-error-summary{margin-bottom:14px;padding:16px 18px;border-left:4px solid #a53333;border-radius:8px;background:#fbe8e8;color:#762525}.review-error-summary p{margin:.35em 0}.review-error-summary ul{margin:.35em 0 0}.errorlist{margin:5px 0 0;padding:8px 12px;list-style:none;border-radius:6px;background:#fbe8e8;color:#8a2525;font-weight:700}
.analysis-retry-alert{display:flex;align-items:center;justify-content:space-between;gap:20px}.analysis-retry-alert p{margin:.35em 0 0}.analysis-retry-alert form{flex:0 0 auto}
@media(max-width:820px){.intake-layout,.source-summary,.confirmed-grid,.review-grid{grid-template-columns:1fr}.guidance-card{position:static}.review-side{grid-column:auto;grid-template-columns:1fr}.review-actions{grid-column:auto;align-items:stretch;flex-direction:column}.action-panel,.workspace-head.compact,.review-intro{align-items:flex-start;flex-direction:column}.step span{font-size:.62rem}}
.compact-history{margin:38px 0 20px}.run-selector{display:flex;gap:9px;flex-wrap:wrap}.run-chip{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.82rem}.run-chip.selected{border-color:var(--green);box-shadow:0 0 0 2px #dbe8e2}
.results-dashboard{scroll-margin-top:20px;margin-top:30px;padding-top:30px;border-top:1px solid var(--line)}.results-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.results-heading h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:.15em 0}.results-heading p{color:var(--muted)}
.agents-detail{margin-top:18px}.agent-output{padding:18px 0;border-top:1px solid var(--line)}.agent-output:first-of-type{margin-top:18px}.agent-output h3{color:var(--green)}
@media(max-width:820px){.results-heading{align-items:flex-start;flex-direction:column}}
.defendant-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;margin-top:24px}.defendant-result-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 7px 26px #173c2c0c}.defendant-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.defendant-card-head h3{font-size:1.65rem;margin:.12em 0}.defendant-card-head .eyebrow{margin:0}.defendant-average{text-align:right}.defendant-average span{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.defendant-average strong{font:700 1.8rem Georgia,serif;color:var(--green)}
.weighted-bar{height:11px;background:#e5e9e6;border-radius:99px;overflow:hidden}.weighted-bar span{display:block;height:100%;background:var(--chart-mpl);border-radius:inherit}.general-bar{height:15px;margin:14px 0 24px}.crime-results{display:grid;gap:18px}.crime-result{padding-top:17px;border-top:1px solid var(--line)}.crime-result-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:9px}.crime-result-head h4{font:700 1.02rem Georgia,serif;margin:0}.crime-result-head small{color:var(--muted)}.crime-result-head strong{color:var(--green);font-size:1.05rem}
@media(max-width:620px){.defendant-results{grid-template-columns:1fr}.defendant-card-head{align-items:flex-start;flex-direction:column}.defendant-average{text-align:left}.crime-result-head{align-items:flex-start}}
.case-command-head{margin-bottom:22px}.case-command-head h1{font-size:clamp(2.2rem,4vw,3.8rem)}.case-command-head .lead{margin:0}.command-alert{margin-bottom:18px;display:flex;gap:10px;align-items:flex-start}.case-command-center{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(390px,1.08fr) minmax(410px,1.2fr);gap:16px;align-items:start}.command-column{min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 8px 28px #173c2c0b}.column-heading{padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--line)}.column-heading .eyebrow{margin:0}.column-heading h2{font-size:1.55rem;margin:.18em 0}.column-heading p{font-size:.86rem;color:var(--muted);margin:0}.source-upload-card{display:grid;gap:12px;margin-bottom:17px}.source-upload-card .file-field{padding:13px}.source-upload-card label{font:700 1.02rem Georgia,serif}.column-process{display:grid;justify-items:center;text-align:center;padding:18px;border-radius:10px;background:#edf3ef;margin-bottom:17px}.column-process .activity-indicator{padding:4px 0 10px}.column-process p{font-size:.83rem;color:var(--muted);margin:.25em 0}.document-group{margin-top:14px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.document-group-title{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:10px 12px;background:#f5f7f4}.document-group-title span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;font-weight:900;font-size:.75rem}.defense-docs .document-group-title span{background:#8c6730}.court-docs .document-group-title span{background:#405a72}.unclassified-docs .document-group-title span{background:#7d8782}.document-group-title h3{font-size:1rem;margin:0}.document-group-title b{font-size:.78rem;color:var(--muted)}.document-group ul{list-style:none;margin:0;padding:0}.document-group li{padding:10px 12px;border-top:1px solid #edf0ec;word-break:break-word;font-size:.82rem}.document-group li:first-child{border-top:0}.document-group li small{display:block;color:var(--muted);margin-top:3px}.muted-item{color:var(--muted);font-style:italic}.inline-detail{margin-top:16px;padding:13px 15px;border:1px solid var(--line);border-radius:9px;background:#fafbf9}.inline-detail summary{font-weight:800;color:var(--green)}.inline-detail .pre{font-size:.8rem;max-height:260px;overflow:auto}.dossier-section{padding:17px 0;border-bottom:1px solid var(--line)}.dossier-section:first-of-type{padding-top:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title h3{font-size:1.15rem;margin:0}.section-title span{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:99px;background:#e4ece7;color:var(--green);font-size:.75rem;font-weight:900}.defendant-dossier-list{display:grid;gap:9px}.defendant-dossier-card{display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fbfcfa}.defendant-initial{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--green);color:#fff;font:700 1rem Georgia,serif}.defendant-dossier-card h4{font:700 1rem Georgia,serif;margin:1px 0 6px}.mini-tags{display:flex;gap:5px;flex-wrap:wrap}.mini-tags span{padding:3px 7px;border-radius:99px;background:#e7eee9;color:var(--green);font-size:.67rem;font-weight:750}.mini-tags .unlinked{background:#f5e7cf;color:#795a24}.structured-list{padding-left:19px;margin:0;display:grid;gap:8px;font-size:.86rem}.structured-list.compact{font-size:.8rem}.split-elements{display:grid;grid-template-columns:1fr 1fr;gap:18px}.empty-column{padding:34px 20px;text-align:center;border:1px dashed #aeb7b1;border-radius:10px;color:var(--muted)}.empty-column h3{color:var(--ink)}.results-column-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.json-link{display:grid;place-items:center;padding:7px 10px;border:1px solid var(--green);border-radius:7px;color:var(--green);font-weight:800;font-size:.72rem}.column-defendant-results{display:grid;gap:13px}.column-result-card{padding:16px;border:1px solid var(--line);border-radius:10px;background:#fbfcfa}.column-result-card>header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.column-result-card>header small{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.65rem}.column-result-card>header h3{font-size:1.15rem;margin:.1em 0}.column-result-card>header>strong{font:700 1.55rem Georgia,serif;color:var(--green)}.column-result-card .general-bar{height:12px;margin:10px 0 16px}.column-result-card .crime-results{gap:12px}.column-result-card .crime-result{padding-top:11px}.column-result-card .crime-result-head{align-items:center}.column-result-card .crime-result-head h4{font-size:.9rem}.column-result-card .crime-result-head small{font-size:.68rem}.column-error{display:grid;gap:12px}.column-error p{margin:0}.result-empty form{margin-top:17px}.column-history{margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.column-history h3{font-size:1rem}.agent-detail-column pre{font-size:.72rem;max-height:360px}.agent-detail-column .agent-output{padding:12px 0}.agent-detail-column .agent-output h3{font-size:1rem}
@media(max-width:1180px){.case-command-center{grid-template-columns:1fr 1fr}.results-column{grid-column:1/-1}.column-defendant-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.case-command-center{grid-template-columns:1fr}.results-column{grid-column:auto}.column-defendant-results,.split-elements{grid-template-columns:1fr}.command-alert,.workspace-head-actions{align-items:flex-start;flex-direction:column}.case-command-head{align-items:flex-start}}
.general-score{display:grid;justify-items:end;gap:.15rem;text-align:right}.general-score small{color:var(--muted);font-size:.65rem;font-weight:700;text-transform:uppercase}.general-score strong{font:700 1.55rem Georgia,serif;color:var(--green)}
.all-documents{margin-bottom:17px}.all-documents .document-group-title{background:#e5eee9}.all-documents .document-group-title span{background:var(--green)}.all-documents li strong{display:block}.all-documents li small{display:block;color:var(--muted);margin-top:3px}
.debate-panel{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.debate-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.debate-heading .eyebrow{margin:0}.debate-heading h3{margin:.15em 0;font-size:1.2rem}.debate-heading select{width:auto;max-width:180px;padding:8px;font-size:.78rem}.debate-thread{display:grid;gap:9px;max-height:470px;overflow-y:auto;padding:12px;background:#f1f3ef;border:1px solid var(--line);border-radius:8px}.debate-message{max-width:92%;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:7px}.debate-message.user{justify-self:end;background:#e0ebe5;border-color:#b8cec2}.debate-message.judge{border-left:4px solid #405a72}.debate-message.claimant{border-left:4px solid var(--green)}.debate-message.respondent{border-left:4px solid #8c6730}.debate-message strong{display:block;margin-bottom:3px;color:var(--green);font-size:.74rem}.debate-message p{white-space:pre-wrap;margin:0;font-size:.8rem;line-height:1.45}.debate-empty{text-align:center;color:var(--muted);font-size:.8rem;padding:26px 12px}.debate-composer{display:grid;gap:8px;margin-top:10px}.debate-composer textarea{resize:vertical;min-height:82px}.debate-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.debate-compose-actions span{color:var(--muted);font-size:.72rem}.debate-compose-actions button{padding:9px 13px;font-size:.78rem}.debate-compose-actions button:disabled{opacity:.55;cursor:wait}
@media(max-width:520px){.debate-heading{align-items:stretch;flex-direction:column}.debate-heading select{width:100%;max-width:none}.debate-message{max-width:100%}.debate-compose-actions{align-items:stretch;flex-direction:column}.debate-compose-actions button{width:100%}}
