:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fff3cf;color:#08344a;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{border:1px solid #ffd166;background:#fff;color:#08344a;cursor:pointer}input{border:1px solid #ffd166;border-radius:8px;color:#08344a;background:#fff}.access-shell{min-height:100vh;display:grid;place-items:center;padding:22px;background:#fff3cf}.access-card{width:min(100%,560px);display:grid;gap:18px;padding:24px;border:1px solid #ffd166;border-radius:8px;background:#fffdf8;box-shadow:0 18px 44px #00577a29}.access-brand{color:#08344a}.access-card h1{font-size:1.8rem}.access-card p{color:#245266;line-height:1.55}.access-form{display:grid;gap:12px}.access-form.secondary{margin-top:4px;padding-top:16px;border-top:1px solid #ffd166}.access-form h2{font-size:1rem}.access-form label{display:grid;gap:6px;color:#005f73;font-size:.9rem;font-weight:700}.access-form input{min-height:44px;padding:0 12px}.access-form input:focus{outline:0;border-color:#00c2c7;box-shadow:0 0 0 3px #00c2c72e}.access-form.secondary button{min-height:42px;border-radius:8px;color:#004e64;background:#e1fbf9;border-color:#62dfe3}.access-message{padding:12px;border-radius:8px;background:#fff1b8;border:1px solid #ffd166;color:#7a3d00}.shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:100vh}.sidebar{background:#004e7c;color:#f8fcff;padding:24px 18px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;background:#ffd166;color:#004e7c;border-radius:8px}.brand strong,.brand span{display:block}.brand span{color:#c9f7f4;font-size:.88rem}.nav-list{display:grid;gap:8px}.nav-item{min-height:46px;border:0;border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:10px;color:#e5fffb;background:transparent;text-align:left}.nav-item.active,.nav-item:hover{background:#00a6b8;color:#fff}.security-box{margin-top:auto;display:flex;gap:10px;padding:14px;border-radius:8px;background:#ffd1662e;border:1px solid rgba(255,209,102,.32)}.security-box strong,.security-box span{display:block}.security-box span{color:#e7fffb;font-size:.83rem;line-height:1.45}.workspace{padding:22px;display:grid;gap:18px}.topbar,.panel-heading,.top-actions,.metric,.timeline-row{display:flex;align-items:center}.topbar{justify-content:space-between;gap:16px}.eyebrow{color:#007b8a;font-size:.82rem;font-weight:700;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.65rem,3vw,2.35rem);letter-spacing:0}h2{font-size:1.12rem}h3{color:#005f73;font-size:.92rem;margin-bottom:10px}.top-actions{gap:10px;flex-wrap:wrap}.language-select{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #ffd166;border-radius:8px;background:#fff}.language-select span{color:#005f73;font-size:.86rem;font-weight:700}.language-select select{height:32px;border:0;padding:0 4px}.education-select{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #ffd166;border-radius:8px;background:#fff}.education-select span{color:#005f73;font-size:.86rem;font-weight:700}.education-select select{height:32px;border:0;padding:0 4px}.tab-bar{display:flex;gap:10px;flex-wrap:wrap;padding:10px;border:1px solid #ffd166;border-radius:10px;background:#fffdf8;box-shadow:0 10px 26px #00577a14;margin-top:6px}.tab-button{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 18px;border:1.5px solid #ffd166;border-radius:8px;background:#fff;color:#08344a;font-weight:800;font-size:.95rem;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .05s ease}.tab-button:hover{background:#fff3cf;border-color:#f4b400}.tab-button:active{transform:translateY(1px)}.tab-button.active{background:#004e7c;border-color:#004e7c;color:#fff;box-shadow:0 4px 12px #004e7c40}.tab-button.active:hover{background:#003a5e;border-color:#003a5e}.password-wrap{position:relative}.password-wrap input{width:100%;padding-right:44px}.password-toggle{position:absolute;top:50%;right:6px;width:32px;height:32px;min-width:32px;transform:translateY(-50%);display:grid;place-items:center;border:0;border-radius:8px;background:#e1fbf9;color:#004e64}.top-actions button,.panel-heading button{min-width:40px;height:40px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-action,.wide-action{background:#ff6b4a;color:#fff;border-color:#ff6b4a;padding-inline:14px}.stats-grid,.main-grid,.lower-grid,.missing-grid{display:grid;gap:14px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.case-panel,.chat-panel,.table-panel,.missing-panel{background:#fffdf8;border:1px solid #ffd166;border-radius:8px;box-shadow:0 10px 26px #00577a14}.metric{gap:12px;padding:16px;min-height:86px}.metric svg{color:#00a6b8}.metric span,.timeline-row span,.evidence-item small,.missing-card small{display:block;color:#4b6d73;font-size:.85rem}.metric strong{display:block;font-size:1.35rem;margin-top:3px}.main-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr)}.lower-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.case-panel,.chat-panel,.table-panel,.missing-panel{padding:18px}.chat-panel{display:grid;grid-template-rows:auto minmax(320px,1fr) auto auto;min-height:620px}.panel-heading{justify-content:space-between;gap:12px;margin-bottom:14px}.panel-heading.compact{margin-bottom:12px}.badge,.status,.strength,.missing-card span{display:inline-flex;align-items:center;width:fit-content;min-height:24px;padding:4px 8px;border-radius:6px;font-size:.76rem;font-weight:800;text-transform:uppercase}.badge{background:#d7fbf7;color:#006d77;margin-bottom:8px}.status{background:#d9fff2;color:#087f5b}.status.waiting{background:#fff1b8;color:#9a4b0b}.case-panel>p{color:#245266;line-height:1.6;margin-bottom:18px}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:18px}.clean-list,.pill-list{margin:0;padding:0;list-style:none}.clean-list{display:grid;gap:9px}.clean-list li{display:flex;gap:8px;align-items:flex-start;line-height:1.45}.clean-list svg{color:#00a6b8;flex:0 0 auto;margin-top:2px}.pill-list{display:flex;flex-wrap:wrap;gap:8px}.pill-list li{background:#fff1b8;border:1px solid #ffd166;border-radius:6px;padding:7px 9px;font-size:.86rem}select,.question-input{border:1px solid #ffd166;background:#fff;border-radius:8px;color:#08344a}select{height:38px;padding:0 10px}.chat-subtitle{display:block;color:#4b6d73;font-size:.82rem;margin-top:3px}.chat-window{min-height:320px;max-height:430px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid #ffd166;border-radius:8px;background:#fff3cf}.chat-message{display:flex;align-items:flex-start;gap:9px}.chat-message.user{flex-direction:row-reverse}.chat-avatar{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;background:#004e7c;color:#fff}.chat-message.user .chat-avatar{background:#00a6b8}.chat-bubble{width:fit-content;max-width:min(100%,520px);padding:11px 12px;border-radius:8px;background:#fff;border:1px solid #ffd166;color:#08344a;line-height:1.5}.chat-message.user .chat-bubble{background:#004e7c;color:#fff;border-color:#004e7c}.citation-list{display:grid;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #ffe08a}.citation-list span{display:block;color:#4b6d73;font-size:.78rem;line-height:1.35}.chat-message.user .citation-list span{color:#e5fffb}.speak-message{min-height:28px;display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:5px 8px;border-radius:8px;color:#004e64;background:#e1fbf9;border-color:#62dfe3;font-size:.78rem;font-weight:800}.voice-panel{display:grid;gap:10px;margin-top:10px;padding:12px;border:1px solid #ffd166;border-radius:8px;background:#fff3cf}.admin-panel,.court-shell{display:grid;gap:14px;padding:18px;border:1px solid #ffd166;border-radius:8px;background:#fffdf8;box-shadow:0 10px 26px #00577a14}.admin-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-field{display:grid;gap:7px;color:#005f73;font-size:.86rem;font-weight:800}.admin-field>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-field input{min-height:42px;padding:0 11px}.admin-saved{width:fit-content;display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:6px;color:#087f5b;background:#d9fff2;font-size:.72rem;font-style:normal;font-weight:900}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-actions button{min-height:38px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;padding:0 12px}.court-outcome{display:grid;gap:12px;padding:14px;border:1px solid #ffd166;border-radius:8px;background:#fff3cf}.court-score-row{display:flex;gap:14px;flex-wrap:wrap;color:#08344a}.court-outcome-bar{height:24px;display:flex;overflow:hidden;border-radius:8px;border:1px solid #ffffff;background:#fff}.court-segment{display:block;min-width:4px}.court-segment.favorable{background:#00a6b8}.court-segment.uncertain{background:#ffd166}.court-segment.at-risk{background:#ff6b4a}.math-toggle{width:fit-content;min-height:36px;padding:0 12px;border-radius:8px;background:#fff}.court-breakdown{display:grid;gap:7px}.court-breakdown div{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:8px;background:#fff;color:#245266}.court-breakdown strong{color:#08344a}.court-party-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.court-party{display:grid;gap:9px;padding:14px;border:1px solid #ffd166;border-left:6px solid #00a6b8;border-radius:8px;background:#fff}.court-party h3{margin:0;font-size:1rem;color:#08344a}.court-party p,.court-party li{color:#245266;line-height:1.45}.court-party ul{margin:0;padding-left:18px}.court-party.defendant,.court-party.defense-lawyer{border-left-color:#ff6b4a}.court-party.judge{border-left-color:#ffd166}.court-disclaimer{padding:14px;border:1px solid #ffd166;border-radius:8px;background:#fff1b8}.court-disclaimer strong,.court-disclaimer p{display:block}.court-disclaimer p{margin-top:6px;color:#7a3d00}.voice-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.voice-panel-heading strong,.voice-panel-heading span{display:block}.voice-panel-heading span{color:#4b6d73;font-size:.8rem;line-height:1.35}.voice-toggle{min-height:34px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;white-space:nowrap;color:#004e64}.voice-toggle.active{background:#00a6b8;border-color:#00a6b8;color:#fff}.voice-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:8px}.voice-fields label{display:grid;gap:5px;color:#005f73;font-size:.78rem;font-weight:800}.voice-fields input{min-height:38px;padding:0 10px}.voice-actions{display:flex;gap:8px;flex-wrap:wrap}.voice-actions button{min-height:34px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;padding:6px 9px}.voice-status,.voice-live{display:block;color:#006d77;font-size:.78rem;font-weight:800}.voice-live{color:#a23216}.quick-prompts{display:flex;gap:8px;overflow-x:auto;padding:10px 0}.quick-prompts button{min-height:34px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;white-space:nowrap;color:#004e64;background:#e1fbf9;border-color:#62dfe3;font-size:.82rem}.chat-composer{display:grid;gap:10px}.chat-composer textarea{width:100%;min-height:94px;max-height:170px;resize:vertical;border:1px solid #ffd166;border-radius:8px;outline:0;padding:12px;color:#08344a;background:#fff;line-height:1.45}.chat-composer textarea:focus{border-color:#00c2c7;box-shadow:0 0 0 3px #00c2c72e}.composer-actions{display:grid;grid-template-columns:44px 1fr;gap:9px}.composer-actions>button{min-height:44px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.answer-box{display:flex;gap:10px;padding:14px;border-radius:8px;background:#e1fbf9;color:#005f73;line-height:1.55;margin-bottom:14px}.answer-box svg{color:#00a6b8;flex:0 0 auto;margin-top:3px}.question-input{min-height:46px;display:flex;align-items:center;gap:8px;padding:0 12px;margin-bottom:12px}.question-input input{border:0;outline:0;width:100%;min-width:0;color:#08344a}.wide-action{width:100%;min-height:44px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.timeline,.evidence-list{display:grid;gap:10px}.timeline-row{min-height:76px;gap:12px;padding:12px;background:#fff3cf;border:1px solid #ffd166;border-radius:8px}.timeline-row>div:nth-child(2){min-width:0;flex:1}.timeline-row strong{display:block;margin-bottom:4px}.timeline-row small{color:#006d77;font-weight:800}.date-chip{width:128px;min-height:34px;border-radius:6px;display:inline-flex;align-items:center;gap:6px;padding:8px;background:#fff;border:1px solid #ffd166;font-size:.82rem;font-weight:800}.evidence-item{padding:12px;border:1px solid #ffd166;border-radius:8px;background:#fff3cf}.evidence-item strong,.missing-card strong{display:block;margin:8px 0 5px}.evidence-item p,.missing-card p{color:#245266;line-height:1.45;margin-top:8px}.strength.strong{background:#d9fff2;color:#087f5b}.strength.medium{background:#fff1b8;color:#8a4a00}.missing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.missing-card{min-height:168px;padding:14px;border-radius:8px;background:#fff;border:1px solid #ffd166}.missing-card span{background:#ffe0d6;color:#a23216}@media(max-width:1120px){.stats-grid,.main-grid,.lower-grid,.missing-grid{grid-template-columns:1fr 1fr}.main-grid{grid-template-columns:1fr}}@media(max-width:820px){.shell{grid-template-columns:1fr}.sidebar{position:static}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{align-items:flex-start;flex-direction:column}.stats-grid,.lower-grid,.missing-grid,.admin-section,.court-party-grid,.two-column{grid-template-columns:1fr}}@media(max-width:560px){.workspace{padding:14px}.nav-list{grid-template-columns:1fr}.top-actions,.top-actions .primary-action{width:100%}.top-actions button{flex:1}.timeline-row{align-items:flex-start;flex-direction:column}.voice-panel-heading,.voice-fields{grid-template-columns:1fr;align-items:flex-start;flex-direction:column}}
