:root{color-scheme:light;--ink:#121a2b;--ink-soft:#54617a;--paper:#f2f4f8;--panel:#fff;--line:#d7dee9;--line-strong:#b9c3d6;--forest:#122344;--forest-2:#1d5296;--mint:#dce8f5;--mint-2:#e5f0fb;--gold:#b9893e;--gold-soft:#f3e8d3;--red:#9d174d;--red-soft:#fbe3ee;--blue:#2563a6;--blue-soft:#e5f0fb;--green:#1e7a4a;--green-2:#15603a;--shadow:0 1px 2px rgba(18,26,43,.06),0 8px 24px -12px rgba(18,26,43,.18);--radius:12px}*{box-sizing:border-box}body,html{margin:0;background:var(--paper);color:var(--ink);font-family:Open Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(29,82,150,.24);outline-offset:2px}.app{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{background:var(--forest);color:#f7f9fc;padding:24px 18px;gap:26px}.brand,.sidebar{display:flex;flex-direction:column}.brand{gap:10px;padding:0 8px}.brand-logo{width:100%;max-width:190px;display:block}.brand strong{display:block;font-size:13px;font-weight:600;letter-spacing:.02em}.brand span{color:hsla(0,0%,100%,.62);font-size:11px;letter-spacing:.12em}.brand span,.nav-label{text-transform:uppercase}.nav-label{color:hsla(0,0%,100%,.46);font-size:10px;letter-spacing:.16em;padding:0 10px;margin-bottom:7px}.nav{display:grid;grid-gap:4px;gap:4px}.nav a,.nav button{border:0;background:transparent;color:hsla(0,0%,100%,.74);border-radius:10px;padding:10px 11px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px;text-decoration:none}.nav a:hover,.nav button:hover{background:hsla(0,0%,100%,.07);color:#fff}.nav a.active,.nav button.active{background:hsla(0,0%,100%,.12);color:#fff}.nav-icon{width:20px;text-align:center;opacity:.9}.badge-count{margin-left:auto;font-size:11px;background:hsla(0,0%,100%,.12);padding:1px 7px;border-radius:999px}.sidebar-footer{margin-top:auto;border-top:1px solid hsla(0,0%,100%,.12);padding:18px 8px 0}.secure{display:flex;gap:9px;color:hsla(0,0%,100%,.62);font-size:11px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--gold-soft);color:var(--forest);display:grid;place-items:center;font-weight:700}.user-row{margin-top:15px;display:flex;align-items:center;gap:10px}.user-row b{display:block;font-size:12px}.user-row span{display:block;color:hsla(0,0%,100%,.55);font-size:10px}.signout-btn{margin-top:12px;width:100%;border:1px solid hsla(0,0%,100%,.2);background:transparent;color:hsla(0,0%,100%,.74);border-radius:8px;padding:8px;cursor:pointer;font-size:11px}.signout-btn:hover{background:hsla(0,0%,100%,.08);color:#fff}.workspace{min-width:0}.topbar{height:72px;border-bottom:1px solid var(--line);padding:0 30px;display:flex;align-items:center;gap:16px;background:rgba(242,244,248,.94);position:-webkit-sticky;position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search{max-width:560px;flex:1 1;position:relative}.search input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 14px 10px 38px;background:var(--panel);color:var(--ink)}.top-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.role-chip{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);background:var(--mint);color:var(--forest-2);padding:4px 9px;border-radius:999px;font-weight:650}.button,.icon-btn{border:1px solid var(--line);background:var(--panel);border-radius:8px;min-height:39px;padding:8px 13px;cursor:pointer}.button.primary{background:var(--forest);color:#fff;border-color:var(--forest)}.button:hover,.icon-btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(18,26,43,.08)}.button.edit-cta{background:var(--green);color:#fff;border-color:var(--green);font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:10px 20px;min-height:42px}.button.edit-cta:hover{background:var(--green-2);border-color:var(--green-2);box-shadow:0 5px 14px rgba(21,96,58,.28)}main{padding:28px 30px 52px;max-width:1500px;margin:0 auto}.eyebrow{color:var(--forest-2);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,3vw,39px);line-height:1.1;margin-bottom:8px;letter-spacing:-.025em}h1,h2{font-family:Fraunces,serif;font-weight:500}h2{font-size:20px;margin-bottom:6px}h3{font-size:14px;font-weight:650;margin-bottom:5px}.page-intro{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:23px;flex-wrap:wrap}.page-intro p{margin:0}.page-intro p,.sync{color:var(--ink-soft)}.sync{text-align:right;font-size:11px;white-space:nowrap}.sync b{color:var(--forest-2);font-weight:600}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:22px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:15px 16px;box-shadow:0 4px 16px rgba(18,26,43,.035)}.stat-label{color:var(--ink-soft);font-size:11px;display:flex;align-items:center;justify-content:space-between}.stat-value{font-family:Fraunces,serif;font-size:29px;margin-top:7px}.stat-note{color:var(--ink-soft);font-size:11px;margin-top:2px}.stat-note.alert{color:var(--red)}.grid-main{display:grid;grid-template-columns:minmax(0,1.52fr) minmax(320px,.88fr);grid-gap:18px;gap:18px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:19px 20px 15px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-head p{margin:0;color:var(--ink-soft);font-size:11px}.segmented{display:flex;gap:3px;background:var(--paper);border-radius:8px;padding:3px}.segmented a,.segmented button{border:0;background:transparent;border-radius:6px;padding:6px 9px;color:var(--ink-soft);font-size:11px;cursor:pointer;text-decoration:none}.segmented a.active,.segmented button.active{background:var(--panel);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.08)}.case-list,.case-row{display:grid}.case-row{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:17px 20px;grid-template-columns:1fr auto;grid-gap:16px;gap:16px;text-align:left;cursor:pointer;text-decoration:none;color:inherit}.case-row:last-child{border-bottom:0}.case-row:hover{background:var(--mint-2)}.case-title{display:flex;gap:10px;align-items:center;margin-bottom:5px;flex-wrap:wrap}.case-title strong{font-size:14px}.status{font-size:10px;border-radius:999px;padding:3px 8px;font-weight:650;text-transform:uppercase;letter-spacing:.05em}.status.active{background:var(--mint);color:var(--forest-2)}.status.urgent{background:var(--red-soft);color:var(--red)}.status.paused{background:#e9edf4;color:var(--ink-soft)}.case-meta{color:var(--ink-soft);font-size:11px}.case-summary{margin-top:10px;color:#33404f;max-width:680px}.case-side{text-align:right;min-width:116px}.case-side b{display:block;font-size:12px}.case-side span{color:var(--ink-soft);font-size:10px}.riskbar{height:4px;background:#e2e6ee;width:88px;margin:9px 0 0 auto;border-radius:9px;overflow:hidden}.riskbar i{display:block;height:100%;background:var(--gold)}.mini-track{display:flex;align-items:flex-start;gap:0;margin:14px 2px 2px;grid-column:1/-1}.mini-step{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}.mini-step .dot{width:10px;height:10px;border-radius:50%;background:var(--panel);border:2px solid var(--line-strong);z-index:1}.mini-step.done .dot{background:var(--forest-2);border-color:var(--forest-2)}.mini-step.current .dot{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}.mini-step .lbl{font-size:9.5px;text-align:center;color:var(--ink-soft);font-weight:650;line-height:1.25;max-width:92px}.mini-step.current .lbl,.mini-step.done .lbl{color:var(--ink)}.mini-step:before{content:"";position:absolute;top:4px;left:-50%;width:100%;height:2px;background:var(--line);z-index:0}.mini-step:first-child:before{display:none}.mini-step.current:before,.mini-step.done:before{background:var(--forest-2)}.mini-track.dense .mini-step .lbl{font-size:8.5px;max-width:66px;line-height:1.2}.mini-track.dense .mini-step .dot{width:8px;height:8px}.activity{padding:0 20px 5px}.activity-item{display:grid;grid-template-columns:28px 1fr auto;grid-gap:10px;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);align-items:start}.activity-item:last-child{border-bottom:0}.activity-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--mint);color:var(--forest-2);font-size:12px}.activity-item p{margin:3px 0 0;color:var(--ink-soft);font-size:11px}.activity-time{color:var(--ink-soft);font-size:10px;text-align:right}.case-hero{padding:22px;background:var(--forest);color:#fff;border-radius:var(--radius) var(--radius) 0 0}.case-hero-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.case-hero h2{font-size:25px;margin-top:7px}.case-hero p{color:hsla(0,0%,100%,.67);margin-bottom:0;max-width:800px}.hero-tag{background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.16);border-radius:999px;padding:5px 9px;font-size:10px;white-space:nowrap;height:-moz-fit-content;height:fit-content}.detail-tabs{padding:0 20px;border-bottom:1px solid var(--line);display:flex;gap:24px;overflow-x:auto;background:var(--panel)}.detail-tabs a,.detail-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:14px 1px 12px;color:var(--ink-soft);cursor:pointer;white-space:nowrap;text-decoration:none;font-weight:600}.detail-tabs a.active,.detail-tabs button.active{color:var(--forest-2);border-bottom-color:var(--forest-2)}.tab-panel{padding:20px;background:var(--panel);border-radius:0 0 var(--radius) var(--radius)}.detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);grid-gap:22px;gap:22px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.thesis{border-left:3px solid var(--gold);background:var(--gold-soft);padding:14px 15px;border-radius:0 10px 10px 0;margin-bottom:17px}.thesis strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.thesis p{margin:0}.issue-list{grid-gap:10px}.issue,.issue-list{display:grid;gap:10px}.issue{grid-template-columns:25px 1fr;grid-gap:10px;align-items:start}.issue-num{width:25px;height:25px;border-radius:50%;background:var(--mint);color:var(--forest-2);display:grid;place-items:center;font-size:10px;font-weight:700}.issue p{margin:2px 0 0;color:var(--ink-soft);font-size:11px}.deadline-list{display:grid;grid-gap:4px;gap:4px}.deadline{border-bottom:1px solid var(--line);padding:11px 0;display:grid;grid-template-columns:47px 1fr;grid-gap:10px;gap:10px}.deadline:last-child{border:0}.date-box{border:1px solid var(--line);border-radius:9px;text-align:center;overflow:hidden}.date-box span{display:block;background:var(--forest);color:#fff;text-transform:uppercase;font-size:8px;padding:2px;letter-spacing:.08em}.date-box b{display:block;font-family:Fraunces,serif;font-size:19px;line-height:24px}.deadline p{margin:2px 0 0;color:var(--ink-soft);font-size:10px}.source-row{margin-top:18px;padding-top:15px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}.source-chip{background:var(--paper);border-radius:999px;padding:5px 9px;font-size:10px;color:var(--ink-soft)}.roster-panel{margin-bottom:18px}.roster-intro{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.roster-intro p{margin:2px 0 0;color:var(--ink-soft);font-size:11px}.table-wrap{overflow-x:auto}.roster-table{width:100%;min-width:1120px;border-collapse:collapse}.roster-table th{padding:11px 12px;border-bottom:1px solid var(--line-strong);text-align:left;background:#e9edf4;color:var(--ink-soft);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.roster-table td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}.roster-table tbody tr:nth-child(2n) td{background:#f8fafc}.roster-table tbody tr:hover td{background:var(--mint-2)}.roster-table tbody tr:last-child td{border-bottom:0}.situation-button{border:0;background:none;padding:0;color:var(--forest-2);font-weight:700;text-align:left;cursor:pointer;text-decoration:none}.situation-meta{display:block;margin-top:3px;color:var(--ink-soft);font-size:10px;max-width:210px}.position-label{display:inline-block;background:var(--blue-soft);color:var(--blue);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:650;white-space:nowrap}.scenario-cell{max-width:205px;color:#33404f;font-size:11px}.scenario-cell strong{display:block;color:var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.scenario-cell.up strong{color:var(--forest-2)}.scenario-cell.down strong{color:var(--red)}.timeline-cell{min-width:165px;font-size:11px}.timeline-cell b{display:block}.timeline-cell span{color:var(--ink-soft);font-size:10px}.attention-score{font-family:Fraunces,serif;font-size:20px}.attention-score span{color:var(--ink-soft);font-family:inherit;font-size:11px}.attention-score .muted{font-family:Open Sans,sans-serif;font-size:11px;color:var(--ink-soft);font-style:italic}.roster-links{display:flex;gap:8px;flex-wrap:wrap;min-width:130px}.roster-link{border:0;background:none;padding:0;color:var(--forest-2);text-decoration:underline;text-underline-offset:2px;cursor:pointer;font-size:10px}.docket-entry{display:grid;grid-template-columns:82px 1fr auto;grid-gap:14px;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.docket-num{color:var(--ink-soft);font-size:10px}.docket-entry p{color:var(--ink-soft);font-size:11px;margin:5px 0 0}.impact{font-size:9px;text-transform:uppercase;letter-spacing:.07em;padding:4px 7px;border-radius:999px;height:-moz-fit-content;height:fit-content}.impact.material{background:var(--red-soft);color:var(--red)}.impact.monitor{background:var(--gold-soft);color:#79551f}.impact.routine{background:var(--blue-soft);color:var(--blue)}.news-entry{display:grid;grid-template-columns:1fr auto;grid-gap:15px;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.news-entry p{margin:4px 0 0;color:var(--ink-soft);font-size:11px}.news-source{color:var(--forest-2);font-size:10px;margin-top:5px}.confidence{color:var(--ink-soft);font-size:10px;white-space:nowrap}.note-editor textarea{width:100%;min-height:190px;resize:vertical;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:13px;color:var(--ink)}.note-actions{display:flex;gap:8px;margin-top:10px;justify-content:flex-end}.empty{padding:35px 0;text-align:center;color:var(--ink-soft)}.privileged-note{background:var(--gold-soft);border:1px solid var(--gold);border-radius:10px;padding:14px;color:#5a3f16;font-size:12px}.login-shell{min-height:100vh;display:grid;place-items:center;background:var(--forest);padding:24px}.login-card{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px 34px;width:100%;max-width:380px}.login-card img{max-width:190px;display:block;margin-bottom:22px}.login-card label{display:block;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:14px 0 6px}.login-card input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--paper);color:var(--ink)}.login-card button{width:100%;margin-top:20px;background:var(--forest);color:#fff;border:0;border-radius:8px;padding:11px;font-weight:650;cursor:pointer}.login-error{color:var(--red);font-size:12px;margin-top:10px}.admin-form label{display:block;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:14px 0 6px}.admin-form label:first-child{margin-top:0}.admin-form input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--paper);color:var(--ink)}.form-hint{margin:6px 0 0}.form-divider,.form-hint{font-size:11px;color:var(--ink-soft)}.form-divider{margin:22px 0 4px;padding-top:16px;border-top:1px solid var(--line);font-weight:650;text-transform:uppercase;letter-spacing:.06em}.form-success{color:var(--forest);font-size:12px;margin-top:10px}.text-link{background:none;border:0;color:var(--forest-2);font-size:11px;font-weight:650;cursor:pointer;padding:0;white-space:nowrap}.text-link:hover{text-decoration:underline}.text-link.danger{color:var(--red)}.text-link:disabled{opacity:.6;cursor:default}.delete-control{display:inline-block;margin-top:6px}.inline-add-form{border:1px dashed var(--line-strong);border-radius:10px;padding:14px;margin:4px 0 16px;display:grid;grid-gap:10px;gap:10px;background:#f8fafc}.inline-add-form label{display:block;font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:4px}.inline-add-form input,.inline-add-form select,.inline-add-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--panel);color:var(--ink);font-family:inherit;font-size:12px}.inline-add-form textarea{min-height:64px;resize:vertical}.inline-add-actions{display:flex;gap:8px;justify-content:flex-end}.edit-panel{border:1px solid var(--line-strong);border-radius:12px;padding:18px;margin:16px 0;background:#f8fafc;display:grid;grid-gap:12px;gap:12px}.edit-panel label{display:block;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:4px}.edit-panel input,.edit-panel select,.edit-panel textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:var(--panel);color:var(--ink);font-family:inherit;font-size:13px}.edit-panel textarea{min-height:80px;resize:vertical}.edit-panel-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.edit-panel-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}@media (max-width:640px){.edit-panel-grid{grid-template-columns:1fr}}@media (max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.detail-grid,.grid-main{grid-template-columns:1fr}}.calendar-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.calendar-nav{display:flex;align-items:center;gap:10px}.calendar-nav .icon-btn{min-height:33px;padding:4px 11px;font-size:14px;line-height:1}.calendar-month-label{font-family:Fraunces,serif;font-size:15px;min-width:150px;text-align:center}.calendar-count{margin-left:auto;color:var(--ink-soft);font-size:11px;white-space:nowrap}.calendar-panel{padding:14px 14px 4px}.calendar-weekdays{text-align:center;color:var(--ink-soft);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 0 10px}.calendar-grid,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-grid{border-top:1px solid var(--line);border-left:1px solid var(--line)}.calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:108px;padding:6px 6px 8px;display:flex;flex-direction:column;gap:4px}.calendar-day.other-month{background:#f8fafc}.calendar-day.other-month .calendar-day-num{color:var(--line-strong)}.calendar-day.today{background:var(--mint-2)}.calendar-day-num{font-size:11px;font-weight:650;color:var(--ink-soft)}.calendar-day.today .calendar-day-num{color:var(--forest-2);font-weight:700}.calendar-day-items{display:flex;flex-direction:column;gap:3px}.calendar-chip{display:block;border-radius:6px;padding:3px 6px;font-size:10px;line-height:1.25;background:var(--mint);color:var(--forest-2);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-chip:hover{background:var(--forest-2);color:#fff}.calendar-chip.estimated{background:var(--gold-soft);color:#79551f}.calendar-chip.estimated:hover{background:var(--gold);color:#fff}.calendar-chip.past{opacity:.55}.calendar-more{border:0;background:none;padding:0 2px;color:var(--ink-soft);font-size:10px;text-align:left;cursor:pointer}.calendar-more:hover{color:var(--forest-2);text-decoration:underline}.calendar-list{padding:4px 20px 10px}.calendar-list-row{padding:13px 0}.calendar-today-divider{display:flex;align-items:center;gap:10px;margin:10px 0 4px;color:var(--forest-2);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.calendar-today-divider:after{content:"";flex:1 1;height:1px;background:var(--forest-2);opacity:.35}@media (max-width:780px){.calendar-day{min-height:72px}.calendar-count{margin-left:0}}