/* Self-contained prototype theme; system fonts and local assets only. */
:root{color-scheme:light;--paper:#f6f5ef;--surface:#fffefa;--ink:#1d302c;--muted:#626e67;--line:#dedfd4;--green:#244c40;--tint:#edf1e9;--copper:#8a4e2c;--copper-tint:#f4e9dc;--solid:#fffefa;--focus:#3264c6;--shadow:0 24px 80px #1d302c26}

:root[data-theme=dark]{color-scheme:dark;--paper:#15211e;--surface:#1c2c27;--ink:#edf1e8;--muted:#b4c1b7;--line:#3c5045;--green:#b9d5b4;--tint:#283e32;--copper:#e4b58e;--copper-tint:#43352a;--solid:#17271f;--focus:#b3caff;--shadow:0 24px 80px #0008}

*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-underline-offset:4px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;min-height:43px}
button:disabled{cursor:default;opacity:.5}
button,a,input,select,textarea,[tabindex]{outline-offset:4px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus)}
h1,h2,h3,p{margin:0}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em;line-height:1.18}
h1{font-size:clamp(34px,4vw,48px);margin:9px 0 10px}
h2{font-size:29px}
h3{font-size:17px;line-height:1.35}
button{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:9px 15px;font-weight:600;font-size:13px}
button:hover{border-color:var(--green);background:var(--tint)}
.primary{background:var(--green);border-color:var(--green);color:var(--solid)}
.primary:hover{background:var(--ink);color:var(--solid)}
.quiet{background:transparent}
.small{min-height:38px;padding:7px 11px;font-size:12px}
.danger{color:var(--copper)}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--muted)}
.muted,.subtitle{color:var(--muted)}
.topbar{min-height:94px;max-width:1376px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:20px 40px;gap:24px}
.wordmark{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:16px;font-weight:650;line-height:1.3}
.brand-icon{display:block;flex-shrink:0;width:42px;height:42px;border-radius:8px}
.wordmark-sub{display:block;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.topbar nav{display:flex;align-items:center;gap:24px;font-size:12px}
.topbar nav a{display:flex;align-items:center;gap:8px;min-height:44px;text-decoration:none}
.notice{padding:12px 32px;text-align:center;background:var(--copper-tint);color:var(--copper);font-size:12px;border-block:1px solid var(--line)}
.notice strong{font-weight:650}
.notice a{color:inherit}
main{width:min(1296px,calc(100% - 80px));margin:0 auto}
.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:42px 0 32px}
.workspace-heading>button{flex-shrink:0}
.subtitle{font-size:14px}
.workspace-shell{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface);display:grid;grid-template-columns:205px minmax(0,1fr);min-height:690px}
.sidebar{padding:26px 15px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--tint)}
.sidebar>.eyebrow{padding-inline:12px;margin-bottom:14px}
.tabs{display:flex;flex-direction:column;gap:6px}
.tabs button{border:1px solid transparent;background:transparent;display:flex;justify-content:space-between;align-items:center;text-align:left;font-size:12px;min-height:46px;padding:10px 12px}
.tabs button[aria-selected=true]{background:var(--surface);border-color:var(--line);color:var(--green)}
.nav-count{min-width:22px;text-align:center;border-radius:4px;font-size:10px;background:var(--tint);padding:1px 5px}
.sidebar-note{margin-top:auto;padding:35px 12px 0;font-size:11px;color:var(--muted)}
.sidebar-note strong{font-size:11px;color:var(--ink)}
.sidebar-note p{margin-top:7px}
.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:6px}
.workspace{padding:30px;min-width:0;outline:none}
.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:25px}
.panel-heading p{margin-top:7px;font-size:13px;max-width:590px}
.label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--tint);border-radius:4px;font-size:10px;padding:3px 7px;white-space:nowrap;font-weight:600}
.label.copper{background:var(--copper-tint);color:var(--copper);border-color:transparent}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}
.stat{border:1px solid var(--line);padding:16px;border-radius:6px}
.stat p{font-size:11px;color:var(--muted);line-height:1.5}
.stat strong{display:block;font:35px/1.3 Georgia,serif;letter-spacing:-.04em;margin:7px 0}
.stat .stat-detail{font-size:10px}
.card{border:1px solid var(--line);border-radius:6px;padding:22px;background:var(--surface)}
.card+.card{margin-top:18px}
.discovery-head{display:flex;justify-content:space-between;align-items:start;gap:18px}
.discovery-head p{max-width:540px;font-size:12px;color:var(--muted);margin-top:7px}
.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.source-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}
.source-pills span{font-size:10px;color:var(--muted);padding:3px 8px;border:1px solid var(--line);border-radius:3px}
.flow-preview{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;align-items:center;margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.flow-preview span{padding:3px 7px;background:var(--tint);border-radius:3px}
.flow-preview b{font-weight:400;color:var(--muted)}
.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.lower-grid .card{margin:0}
.lower-grid h3{margin-bottom:15px}
.stage-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:12px}
.stage-track{height:3px;background:var(--line);border-radius:3px;margin-bottom:5px}
.stage-track span{display:block;height:100%;width:var(--amount,30%);background:var(--green)}
.next-task{padding:12px 0;border-bottom:1px solid var(--line)}
.next-task:last-child{border:0;padding-bottom:0}
.next-task strong{font-size:12px;display:block}
.next-task p{font-size:11px;color:var(--muted);margin:4px 0 9px}
.step-list{list-style:none;margin:22px 0;padding:0;display:grid;gap:8px}
.step-list li{display:grid;grid-template-columns:25px 1fr;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}
.step-list li.done{background:var(--tint);color:var(--ink)}
.step-list li.current{border-color:var(--copper);background:var(--copper-tint);color:var(--ink)}
.step-num{font:18px Georgia,serif;color:var(--copper)}
.step-list strong{font-size:12px}
.step-list p{font-size:11px;margin-top:3px;line-height:1.5}
.run-summary{font-size:12px;color:var(--muted);margin:15px 0}
.run-summary strong{color:var(--ink)}
.filter-bar{display:grid;grid-template-columns:minmax(150px,1.4fr) 1fr 1fr 1fr;gap:10px;margin-bottom:17px}
label{display:block;font-size:11px;font-weight:600;color:var(--muted)}
input,select,textarea{display:block;width:100%;min-height:41px;border:1px solid var(--line);border-radius:4px;background:var(--surface);padding:9px 11px;margin-top:5px;font-size:12px}
textarea{resize:vertical;line-height:1.55;min-height:90px}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}
th{color:var(--muted);font-size:10px;letter-spacing:.035em;font-weight:600;text-transform:uppercase;padding:12px 10px;border-block:1px solid var(--line);white-space:nowrap}
td{padding:17px 10px;border-bottom:1px solid var(--line);vertical-align:top}
td:first-child{padding-left:0;min-width:220px}
th:first-child{padding-left:0}
td:last-child{text-align:right;white-space:nowrap;padding-right:0}
td strong{font-size:12px;font-weight:650;display:block}
td small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px}
.result-count{font-size:11px;color:var(--muted);margin-bottom:12px}
.empty{text-align:center;padding:45px 18px;border:1px dashed var(--line);border-radius:5px}
.empty h3{font-size:15px;margin-bottom:6px}
.empty p{font-size:12px;color:var(--muted)}
.empty button{margin-top:15px}
.source-note{font-size:11px;color:var(--muted);margin-top:18px}
.run-item{margin-top:16px}
.run-item summary{cursor:pointer;padding:15px;font-size:12px;border:1px solid var(--line);border-radius:4px}
.run-item ul{font-size:12px;padding:5px 20px 5px 32px}
.run-item li{margin:12px 0}
.run-item li span{display:block;color:var(--muted);font-size:11px}
.outcome{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;margin:30px 0}
.outcome h2{margin:10px 0 15px}
.outcome>.muted,.outcome .muted{font-size:12px;max-width:430px}
.outcome-card{padding:3px 0}
.outcome-progress{display:flex;gap:5px;margin:0 0 18px}
.outcome-progress span{height:3px;background:var(--line);flex:1}
.outcome-progress span.past{background:var(--copper)}
.outcome-card h3{font-size:17px;margin-bottom:8px}
.outcome-card p{font-size:13px;color:var(--muted);margin-bottom:18px;max-width:580px}
.outcome-card .eyebrow{font-size:10px;color:var(--copper);margin-bottom:8px}
footer{width:min(1296px,calc(100% - 80px));margin:0 auto;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);padding:5px 0 35px}
footer a{white-space:nowrap}
dialog{width:min(680px,calc(100% - 36px));max-height:calc(100dvh - 50px);padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
dialog::backdrop{background:#12271acc;backdrop-filter:blur(3px)}
.detail-head{display:flex;justify-content:space-between;gap:20px;padding:24px 26px 18px;border-bottom:1px solid var(--line)}
.detail-head h2{font-size:30px;margin:6px 0 8px}
.detail-head>button{align-self:start;min-width:40px;padding:5px;font-size:18px}
.detail-head p:last-child{font-size:12px;color:var(--muted)}
.detail-body{padding:22px 26px}
.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:0 0 22px}
.detail-facts dt{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.05em}
.detail-facts dd{font-size:12px;margin:4px 0 0}
.detail-section{padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}
.detail-section h3{margin-bottom:9px;font-size:15px}
.detail-section p{font-size:12px;color:var(--muted)}
.detail-section form{margin-top:12px}
.detail-section button{margin-top:10px}
.detail-section .actions button{margin-top:0}
.detail-section .actions{margin-top:12px}
.note-list{padding-left:19px;font-size:12px;overflow-wrap:anywhere}
.note-list li+li{margin-top:10px}
.fine-print{font-size:10px!important;color:var(--muted);margin-top:10px}
.inline-status{display:block;min-height:19px;margin-top:9px;font-size:11px;color:var(--green)}
.skip{position:fixed;left:15px;top:15px;z-index:20;padding:12px 20px;background:var(--ink);color:var(--solid);transform:translateY(-200%)}
.skip:focus{transform:translateY(0)}
.sr-only{position:absolute;left:0;top:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:1050px){main,footer{width:calc(100% - 48px)}
.topbar{padding-inline:24px}
.workspace-shell{grid-template-columns:175px minmax(0,1fr)}
.workspace{padding:23px}
.stat-grid{grid-template-columns:repeat(2,1fr)}
.filter-bar{grid-template-columns:1fr 1fr}
.lower-grid{grid-template-columns:1fr}
.outcome{gap:30px}
.discovery-head{flex-direction:column}
}

@media(max-width:720px){body{font-size:14px}
.topbar{padding:17px 20px;min-height:85px}
.wordmark{font-size:13px;gap:9px}
.brand-icon{width:34px;height:34px;border-radius:6px}
.wordmark-sub{font-size:8px}
.topbar nav{gap:11px}
.topbar nav a{font-size:10px}
.topbar nav a:nth-child(2){display:none}
.topbar nav button{font-size:10px;padding:7px}
.notice{padding:11px 20px;font-size:10px}
main,footer{width:calc(100% - 32px)}
.workspace-heading{padding:29px 0 24px;align-items:start;gap:12px}
.workspace-heading>button{font-size:10px;padding:7px 9px;min-height:36px}
h1{font-size:32px}
.subtitle{font-size:12px}
.workspace-shell{display:block}
.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:10px}
.sidebar>.eyebrow,.sidebar-note{display:none}
.tabs{flex-direction:row;gap:3px;overflow-x:auto}
.tabs button{flex-shrink:0;min-height:43px;font-size:10px;gap:8px;padding:8px}
.tabs button:first-child span{display:none}
.workspace{padding:22px 16px}
.panel-heading{margin-bottom:20px;flex-wrap:wrap}
.panel-heading h2{font-size:26px}
.panel-heading p{font-size:12px}
.card{padding:17px}
.stat{padding:13px}
.stat-grid{gap:9px}
.stat strong{font-size:31px}
.filter-bar{gap:8px}
.filter-bar label{font-size:10px}
input,select{font-size:11px;padding:9px 7px}
.outcome{grid-template-columns:1fr;gap:25px;margin:22px 0}
.outcome h2{font-size:28px}
.outcome-card h3{font-size:16px}
footer{flex-direction:column;font-size:10px;gap:12px}
.detail-head{padding:20px}
.detail-body{padding:20px}
.detail-head h2{font-size:26px}
.detail-facts{gap:13px}
.detail-facts dd{font-size:11px}
}

@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,border-color .15s,color .15s}
dialog[open]{animation:appear .16s ease-out}
@keyframes appear{from{opacity:0;transform:translateY(5px)}
to{opacity:1;transform:translateY(0)}
}
}
