/* CivDIP v0.35: investigation-grade customer workspace */
:root{
  --cdip-navy:#0b1f33;
  --cdip-navy-raised:#132f49;
  --cdip-blue:#2563eb;
  --cdip-teal:#0f9d8a;
  --cdip-canvas:#f6f8fb;
  --cdip-surface:#ffffff;
  --cdip-ink:#142333;
  --cdip-muted:#5e6f80;
  --cdip-line:#d8e1e8;
  --cdip-line-strong:#b9c7d2;
  --cdip-warning:#9a5b08;
  --cdip-warning-bg:#fff7e8;
  --cdip-danger:#a43838;
  --cdip-success:#13745e;
  --cdip-shadow:0 16px 38px rgba(11,31,51,.08);
}

html{background:var(--cdip-navy);scroll-behavior:smooth}
body:not(.auth-locked){background:var(--cdip-canvas);color:var(--cdip-ink);font-size:16px;line-height:1.55}
button,input,select,textarea{font:inherit}
a{color:#1856b4;text-underline-offset:3px}
.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 11px;border:1px solid var(--cdip-navy);border-radius:7px;background:var(--cdip-navy);color:#fff!important;text-decoration:none;font-size:.78rem;font-weight:750}.button-link.secondary{border-color:var(--cdip-line);background:#fff;color:var(--cdip-navy)!important}
.skip-link{position:fixed;top:-80px;left:16px;z-index:20000;padding:11px 14px;border-radius:8px;background:#fff;color:var(--cdip-navy);font-weight:800;box-shadow:var(--cdip-shadow)}
.skip-link:focus{top:16px}
:focus-visible{outline:3px solid #18a9bd!important;outline-offset:3px!important}

.research-sidebar{width:280px;padding:20px 15px;background:var(--cdip-navy)!important;border-right:1px solid rgba(255,255,255,.1)}
.research-app-shell{grid-template-columns:280px minmax(0,1fr)}
.sidebar-brand{padding:3px 8px 19px}
.brand-mark{border-radius:10px;background:#fff!important;color:var(--cdip-navy)!important;box-shadow:none!important}
.sidebar-brand strong{font-size:1.08rem}
.sidebar-brand span{font-size:.75rem;color:#a9bdce}
.workspace-lock{margin-bottom:17px;padding:10px 11px;border-radius:9px;background:rgba(15,157,138,.1);border-color:rgba(72,207,187,.22)}
.workspace-lock strong{font-size:.78rem}.workspace-lock span{font-size:.72rem}
.sidebar-nav{gap:3px}
.sidebar-nav button,.sidebar-new{min-height:44px;border-radius:8px;padding:10px 11px}
.sidebar-nav button.active{background:rgba(255,255,255,.09)!important;box-shadow:inset 3px 0 0 #4fd4c2}
.sidebar-nav span,.sidebar-new span{font-size:.88rem}
.sidebar-nav kbd{font-size:.7rem}.sidebar-nav b{font-size:.72rem}
.sidebar-new{background:#fff!important;color:var(--cdip-navy)!important;box-shadow:none!important}
.sidebar-new:hover{background:#eaf4f5!important}
.sidebar-utilities{display:grid;gap:2px;margin:4px 0 14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}
.sidebar-utilities a{display:flex;align-items:center;gap:10px;min-height:38px;padding:8px 11px;border-radius:7px;color:#a9bdce;text-decoration:none;font-size:.79rem;font-weight:650}
.sidebar-utilities a:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar-utilities svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.sidebar-user{padding-top:11px}.sidebar-user strong{font-size:.79rem}.sidebar-user span{font-size:.7rem}

.research-workspace{background:var(--cdip-canvas)}
.hero{min-height:70px;padding:0 28px!important;background:rgba(255,255,255,.97)!important;border-color:var(--cdip-line)!important}
.topbar-kicker{font-size:.72rem;color:var(--cdip-muted)}
.topbar-context strong{font-size:1.04rem}
.command-trigger{min-width:230px;min-height:42px;border-radius:8px!important;background:#fff!important;color:#526576!important}
.command-trigger span{font-size:.82rem}.command-trigger kbd{font-size:.7rem}
.research-view-stack{padding:25px 28px 52px;max-width:1600px}
.view-heading{align-items:center;margin-bottom:20px}
.view-heading .eyebrow{font-size:.72rem;color:var(--cdip-teal)}
.view-heading h1{font-size:1.65rem;color:var(--cdip-navy)}
.view-heading p{font-size:.9rem;max-width:780px}

.dashboard-welcome{padding:25px 27px;border:1px solid #1d4361;border-radius:13px;background:var(--cdip-navy-raised)!important;box-shadow:var(--cdip-shadow)}
.dashboard-welcome:after{display:none}
.dashboard-welcome .eyebrow{font-size:.72rem!important}.dashboard-welcome h2{font-size:1.55rem}.dashboard-welcome p{font-size:.93rem;color:#c4d5e2}
.dashboard-welcome button,.report-copy button{border-radius:8px!important;background:#fff!important;color:var(--cdip-navy)!important}
.dashboard-metrics{gap:11px!important}
.dashboard-metrics article{padding:16px!important;border-radius:11px!important;border-color:var(--cdip-line)!important;box-shadow:none!important}
.dashboard-metrics span{font-size:.72rem}.dashboard-metrics strong{font-size:1.3rem}.dashboard-metrics small{font-size:.75rem}
.metric-icon{border-radius:9px}.dashboard-card{border-radius:12px;padding:19px;box-shadow:none}
.card-heading h3{font-size:1.02rem}.card-heading .eyebrow{font-size:.71rem}.card-heading>span{font-size:.75rem}
.recent-case-list strong,.dashboard-task-list strong{font-size:.86rem}.recent-case-list small,.dashboard-task-list small{font-size:.75rem}.recent-case-list em,.dashboard-task-list em{font-size:.7rem}
.dashboard-empty,.dashboard-loading,.dashboard-error{font-size:.88rem}

.research-search,.workspace-panel,.owner-system-panel{border-radius:12px!important;border-color:var(--cdip-line)!important;box-shadow:none!important}
.research-search{padding:22px!important}.research-search h2{font-size:1.22rem!important}.research-search p:not(.eyebrow){font-size:.9rem;max-width:920px}
.search-bar input{font-size:1rem!important;border-color:var(--cdip-line-strong)!important}.search-bar button{font-size:.9rem;background:var(--cdip-navy)!important}
.status-line{font-size:.88rem}
.search-result{border-radius:9px!important;padding:14px!important}.search-result strong{font-size:.91rem}.record-meta,.muted,small{font-size:.8rem!important;color:var(--cdip-muted)}
.search-result .result-kind{display:inline-block;margin-bottom:5px;color:var(--cdip-teal);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}

.case-library-panel{top:94px;max-height:calc(100vh - 120px);padding:14px!important}
.case-list-toolbar{position:sticky;top:0;z-index:3;padding:3px 0 12px;background:#fff}
.case-list-filter{width:100%;min-height:42px;margin-top:10px;padding:9px 11px;border:1px solid var(--cdip-line-strong);border-radius:8px;background:#fafcfd;color:var(--cdip-ink)}
.record-list{gap:5px}.record-list .dev{padding:12px!important;border-radius:8px!important;background:#fff!important;border-color:transparent!important}
.record-list .dev:hover,.record-list .dev[aria-pressed="true"]{background:#eef7f6!important;border-color:#add8d1!important}
.record-list .dev strong{font-size:.86rem}.record-list .dev .record-meta{margin-top:3px}
.case-list-state{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px}
.case-list-state span{padding:3px 7px;border-radius:99px;background:#edf2f5;color:#526575;font-size:.68rem;font-weight:750}
.case-list-state small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.case-panel{padding:20px!important}
.case-header{gap:20px}.case-header h2{font-size:1.35rem!important}.case-header .eyebrow{font-size:.71rem}
.case-actions button{min-height:40px;font-size:.78rem!important}
.case-context-bar{display:flex;align-items:stretch;gap:0;margin:14px 0;border:1px solid var(--cdip-line);border-radius:9px;background:#f8fafc;overflow:hidden}
.case-context-item{display:grid;gap:2px;min-width:0;padding:10px 13px;border-right:1px solid var(--cdip-line)}
.case-context-item:last-child{border-right:0}.case-context-item span{font-size:.68rem;text-transform:uppercase;letter-spacing:.055em;color:var(--cdip-muted);font-weight:800}.case-context-item strong{font-size:.83rem;overflow-wrap:anywhere}
.case-summary{gap:7px!important}.case-summary .fact{border-radius:8px!important;background:#fbfcfd!important}.case-summary dt{font-size:.69rem!important}.case-summary dd{font-size:.84rem!important}
.case-module-nav{gap:2px;margin:0 -20px 18px;padding:8px 20px}
.case-module-nav button{min-height:38px;font-size:.75rem!important;border-radius:6px!important}.case-module-nav button.active{background:#e5f4f2!important;color:#086d61!important}
.section-title{font-size:1rem}.source,.gis-card,.task,.check{border-radius:8px!important;padding:14px!important}
.source{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;align-items:start}
.source>strong{font-size:.9rem}.source>.evidence-tag{justify-self:end}.source details,.source>a{grid-column:1/-1}.source details{border-top:1px solid var(--cdip-line);padding-top:8px}.source summary{cursor:pointer;font-size:.82rem;font-weight:750}
.source-provenance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:9px 0}.source-provenance div{display:grid;gap:2px;padding:8px;border-radius:7px;background:#f6f8fa}.source-provenance span{font-size:.68rem;color:var(--cdip-muted);text-transform:uppercase}.source-provenance strong{font-size:.76rem;overflow-wrap:anywhere}
.evidence-tag,.status-pill{font-size:.72rem}.status-pill{background:#e8f4f1;color:#126a5a}.evidence-tag{background:#edf3fb;color:#315883}
.timeline-event-top strong{font-size:.86rem}.timeline-event-top span,.timeline-content small{font-size:.73rem}.timeline-content p{font-size:.84rem}.timeline-content a{font-size:.77rem}

.report-hero{border-radius:12px;box-shadow:none}.report-copy{padding:38px}.report-copy h2{font-size:1.55rem}.report-copy p,.report-copy li{font-size:.9rem}.report-readiness-panel,.report-workflow-panel,.report-approval-panel{border-radius:12px;box-shadow:none}.report-readiness-grid article{border-radius:8px}.report-readiness-grid article strong{font-size:.9rem}.report-readiness-grid article>span{font-size:.72rem}
.analyst-finding-card{border-radius:9px}.analyst-finding-top span,.analyst-finding-top em{font-size:.73rem}.analyst-finding-card>p,.analyst-finding-card dd{font-size:.9rem}

.coverage-overview{display:grid;gap:16px}
.coverage-summary{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:14px}
.coverage-lead,.coverage-fact{padding:22px;border:1px solid var(--cdip-line);border-radius:12px;background:#fff}
.coverage-lead h2{margin:4px 0 8px;color:var(--cdip-navy);font-size:1.28rem}.coverage-lead p{margin:0;color:var(--cdip-muted);font-size:.91rem}
.coverage-fact{display:grid;align-content:center;gap:4px;background:var(--cdip-navy);color:#fff}.coverage-fact span{color:#a8c2d5;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.coverage-fact strong{font-size:1.35rem}.coverage-fact small{color:#c7d9e5!important}
.coverage-band{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid #d7be87;border-radius:10px;background:var(--cdip-warning-bg);color:#65430f}.coverage-band svg{flex:0 0 20px;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.coverage-band strong{display:block}.coverage-band p{margin:3px 0 0;font-size:.86rem}
.coverage-directory{border:1px solid var(--cdip-line);border-radius:12px;background:#fff;overflow:hidden}
.coverage-directory header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--cdip-line)}
.coverage-directory h2{margin:0;font-size:1.08rem}.coverage-directory p{margin:3px 0 0;color:var(--cdip-muted);font-size:.82rem}.coverage-directory input{width:min(280px,100%);min-height:42px;padding:9px 11px;border:1px solid var(--cdip-line-strong);border-radius:8px}
.coverage-table-scroll{overflow-x:auto}.coverage-matrix{width:100%;border-collapse:collapse;text-align:left}.coverage-matrix th,.coverage-matrix td{padding:13px 18px;border-bottom:1px solid #e7edf1;vertical-align:middle;font-size:.84rem}.coverage-matrix th{color:#536677;font-size:.72rem;text-transform:uppercase;letter-spacing:.055em;background:#f8fafc}.coverage-matrix tbody tr:last-child td{border-bottom:0}.coverage-matrix tbody tr:hover{background:#fafcfd}
.coverage-state{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:750}.coverage-state:before{content:"";width:7px;height:7px;border-radius:50%;background:#8796a3}.coverage-state.active:before,.coverage-state.configured:before{background:var(--cdip-success)}.coverage-state.limited:before{background:var(--cdip-warning)}.coverage-state.unavailable:before{background:#9b3745}

.command-palette[hidden]{display:none}.command-palette{position:fixed;inset:0;z-index:1000;display:grid;place-items:start center;padding:11vh 18px 18px;background:rgba(5,19,32,.62);backdrop-filter:blur(5px)}
.command-dialog{width:min(620px,100%);border:1px solid #aebfcb;border-radius:13px;background:#fff;box-shadow:0 28px 80px rgba(4,18,31,.34);overflow:hidden}
.command-search{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--cdip-line)}.command-search svg{width:20px;height:20px;fill:none;stroke:var(--cdip-muted);stroke-width:2}.command-search input{width:100%;border:0;outline:0!important;font-size:1rem}.command-results{padding:7px;max-height:55vh;overflow:auto}.command-results button{display:flex;justify-content:space-between;gap:12px;width:100%;padding:11px 12px;border-radius:7px;background:#fff;color:var(--cdip-ink);text-align:left}.command-results button:hover,.command-results button:focus{background:#edf5f5;color:var(--cdip-navy)}.command-results small{font-size:.72rem!important}.command-hint{display:flex;justify-content:space-between;padding:9px 13px;border-top:1px solid var(--cdip-line);color:var(--cdip-muted);font-size:.72rem;background:#fafcfd}
.cdip-toast-region{position:fixed;right:18px;bottom:18px;z-index:1200;display:grid;gap:8px;width:min(360px,calc(100vw - 36px))}.cdip-toast{padding:12px 14px;border:1px solid var(--cdip-line-strong);border-left:4px solid var(--cdip-teal);border-radius:8px;background:#fff;color:var(--cdip-ink);box-shadow:var(--cdip-shadow);font-size:.84rem}.cdip-toast.error{border-left-color:var(--cdip-danger)}
.cdip-help-links{display:none!important}

.auth-gate{background:var(--cdip-navy)!important}.auth-card{width:min(520px,100%);padding:30px;border:1px solid rgba(255,255,255,.16);border-radius:14px;box-shadow:0 28px 75px rgba(0,0,0,.32)}.auth-mark{width:54px;height:54px;border-radius:10px;background:var(--cdip-navy)!important;font-size:.9rem}.auth-brand h1{font-size:1.55rem}.auth-brand p{font-size:.88rem}.auth-tabs button{min-height:42px;font-size:.82rem}.auth-panel label,.enrollment-admin label{font-size:.84rem}.auth-panel input,.enrollment-admin input,.enrollment-admin select{min-height:44px;border-radius:7px}.auth-help,.auth-message{font-size:.84rem}

@media(max-width:1180px){.coverage-summary{grid-template-columns:1fr}.source-provenance{grid-template-columns:1fr 1fr}}
@media(max-width:900px){
  .research-sidebar{width:min(300px,86vw)}.research-view-stack{padding:19px 15px 42px}.view-heading{align-items:flex-start}
  .coverage-directory header{align-items:flex-start;flex-direction:column}.coverage-directory input{width:100%}
}
@media(max-width:620px){
  .hero{min-height:64px}.topbar-actions{margin-left:auto}.research-view-stack{padding:15px 11px 36px}
  .view-heading h1{font-size:1.36rem}.view-heading p{font-size:.84rem}.dashboard-welcome{padding:20px}
  .research-search,.case-panel,.lower-grid .workspace-panel{padding:15px!important}.case-context-bar{display:grid;grid-template-columns:1fr 1fr}.case-context-item{border-right:0;border-bottom:1px solid var(--cdip-line)}
  .source{grid-template-columns:1fr}.source>.evidence-tag{justify-self:start}.source-provenance{grid-template-columns:1fr}
  .coverage-matrix th,.coverage-matrix td{padding:11px 13px}.coverage-matrix th:nth-child(3),.coverage-matrix td:nth-child(3){display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(forced-colors:active){.coverage-state:before{border:1px solid CanvasText}.sidebar-nav button.active{outline:2px solid Highlight}}

/* Secondary metadata never drops below 12px. */
.workspace-lock span,.sidebar-nav kbd,.sidebar-nav b,.sidebar-user span,.topbar-kicker,.command-trigger kbd,.dashboard-welcome .eyebrow,.dashboard-metrics span,.dashboard-metrics small,.card-heading .eyebrow,.card-heading>span,.recent-case-list small,.dashboard-task-list small,.recent-case-list em,.dashboard-task-list em,.search-result .result-kind,.case-list-state span,.case-context-item span,.case-summary dt,.source-provenance span,.timeline-event-top span,.timeline-content small,.report-readiness-grid article>span,.analyst-finding-top span,.analyst-finding-top em{font-size:.75rem!important}
