@charset "UTF-8";
:root{font-family:"Segoe UI",system-ui,sans-serif;color:#22332e;background:#f5f7f6;font-size:14px;line-height:1.5;--green:#17634d;--border:#dde5e0;--muted:#63746c;--paper:#fff;--shadow:0 3px 12px #21382e05}

*{box-sizing:border-box}
body{margin:0}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
a{color:inherit}
button{cursor:pointer;background:white;border:1px solid #ccd8d0;border-radius:7px;padding:8px 12px;color:#32483e}
button:hover{background:#edf4ef;border-color:#91ad9c}
button:disabled{opacity:.5;cursor:default}
.primary{background:var(--green);border-color:var(--green);color:white;font-weight:600}
.primary:hover{background:#104c3b;color:#fff}
.skip{position:fixed;top:-80px;z-index:100;background:white;padding:15px}
.skip:focus{top:5px}
:focus-visible{outline:3px solid #5aa987;outline-offset:3px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(25px,2.7vw,36px);line-height:1.2;letter-spacing:-1px;margin-bottom:13px;font-weight:650}
h2{font-size:21px;line-height:1.35;font-weight:650;letter-spacing:-.4px;margin-bottom:9px}
h3{font-size:17px;line-height:1.4;margin-bottom:8px}
p{margin-bottom:12px}
small{font-size:12px}
code{overflow-wrap:anywhere}
.sidebar{position:fixed;inset:0 auto 0 0;width:228px;padding:28px 18px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:5}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:19px;font-weight:650;margin:2px 8px 38px}
.brand-mark{display:grid;place-items:center;width:46px;height:46px;background:#173e30;color:#fff;border-radius:12px;font-size:17px;letter-spacing:-1px}
.brand small{display:block;font-size:9px;letter-spacing:1.5px;color:#78897e;font-weight:600;margin-top:3px}
.workspace-label{font-size:10px;letter-spacing:1.6px;color:#7c8b83;padding:0 12px;margin-bottom:14px;display:flex;justify-content:space-between}
.workspace-label span{color:var(--green);background:#e7f1eb;padding:0 6px;border-radius:4px}
nav a{display:flex;align-items:center;gap:13px;padding:11px 12px;margin:3px 0;text-decoration:none;color:#5a6c61;font-size:13px;font-weight:550;border-radius:7px}
nav a>span{width:18px;color:#819587;font-size:18px;text-align:center}
nav a:hover{background:#f3f7f4}
nav a[aria-current=page]{background:#e9f3ec;color:#175c42}
nav a[aria-current=page]>span{color:#17634d}
nav hr{border:0;border-top:1px solid #edf1ee;margin:19px 10px}
.sidebar-bottom{margin-top:auto;font-size:11px;color:#5e7668;padding:20px 12px 0}
.sidebar-bottom small{font-size:11px;display:block;color:#89968e;margin-top:12px;line-height:1.8}
.current-user{border-bottom:1px solid #e5ece7;margin-bottom:14px;padding-bottom:14px;display:grid;grid-template-columns:1fr auto;gap:1px 8px;align-items:center}
.current-user strong{font-size:12px;color:#304a3e;overflow-wrap:anywhere}
.current-user span{font-size:10px;color:#7a8d82;grid-column:1}
.current-user button{grid-column:2;grid-row:1/3;font-size:10px;padding:5px 8px}
.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#418a60;margin-right:6px;flex-shrink:0}
.live-dot.quiet{background:#b3beb7}
.workspace{margin-left:228px;min-width:0}
.topbar{height:72px;background:#ffffffcf;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:12px}
.topbar>span{font-size:12px;color:#7a8980}
.topbar>div{display:flex;gap:10px}
.topbar button{font-size:12px}
main{max-width:1720px;padding:34px 36px 45px;margin:auto;min-height:calc(100vh - 125px)}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:26px}
.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#73907d;margin-bottom:10px}
.subtitle{color:var(--muted);font-size:14px;margin-bottom:0}
.heading-actions{display:flex;gap:8px;flex-shrink:0}
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:25px}
.stat{background:#fff;border:1px solid var(--border);border-radius:10px;padding:18px 20px;text-decoration:none;box-shadow:var(--shadow);position:relative}
.stat>span{display:block;color:#65776c;font-size:12px}
.stat strong{display:block;font-size:32px;font-weight:600;line-height:1.7;letter-spacing:-1px}
.stat small{font-size:10px;color:#859489}
.stat:after{content:"";position:absolute;right:18px;top:24px;width:6px;height:6px;background:#a5b5ab;border-radius:50%}
.stat.progress:after{background:#5592c7}
.stat.review:after{background:#d5a347}
.stat.blocked:after{background:#ce746c}
.stat.ready:after{background:#6b9c83}
.next-panel{background:#eaf2ed;border:1px solid #d8e6dc;border-radius:11px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:33px}
.next-panel h2{font-size:21px;max-width:700px}
.next-panel p:last-child{font-size:12px;color:#668171;margin:0}
.next-panel .primary{flex-shrink:0;font-size:12px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:26px 0 16px}
.section-heading h2,.section-heading h3{margin-bottom:3px}
.section-heading p{margin:0;color:#829085;font-size:12px}
.section-heading>div:last-child>button{margin-left:5px}
.text-link{font-size:12px;text-decoration:none;color:#3e7960;font-weight:600}
.text-link span{float:right}
.pulse-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.pulse-card{background:#fff;border:1px solid var(--border);border-radius:11px;padding:21px;box-shadow:var(--shadow);min-width:0}
.card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.product-monogram{border:1px solid #dce7de;background:#f3f7f4;color:#4f7560;border-radius:7px;min-width:33px;height:31px;padding:5px;text-align:center;font-size:10px;font-weight:700}
.subtle{color:#819084;font-size:12px}
.pulse-card h3 a{text-decoration:none}
.pulse-card h3 a:hover{text-decoration:underline}
.pulse-position{font-size:12px;color:#708075;min-height:36px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:14px}
.micro-label{display:block;font-size:9px;font-weight:700;letter-spacing:1.2px;color:#85978a}
.pulse-gate{border-top:1px solid #edf1ee;padding-top:14px}
.pulse-gate p,.pulse-next p{font-size:12px;margin:5px 0 13px;min-height:36px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pulse-current{display:flex;align-items:center;color:#829087;font-size:11px;padding-bottom:15px;line-height:1.6}
.pulse-next{background:#f7f9f7;border-radius:6px;padding:11px 12px 1px;margin-bottom:15px}
.pulse-next p{margin-bottom:10px}
.empty-inline{padding:22px;border:1px dashed #cfded2;border-radius:10px;display:flex;gap:18px;align-items:center;color:#6c8172}
.empty-inline>span{font-size:25px}
.empty-inline p{font-size:12px;margin:3px 0}
.work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px;margin-top:18px}
.work-card{position:relative;background:white;border:1px solid #dce4de;border-radius:9px;padding:15px;box-shadow:var(--shadow);min-width:0}
.work-card[draggable=true]{cursor:grab}
.card-title{display:block;padding:0;border:0;background:none;font-weight:600;font-size:13px;line-height:1.6;text-align:left;white-space:normal;overflow-wrap:anywhere;color:#2f4839;width:100%;margin-bottom:10px}
.card-title:hover{background:none;color:#167146;text-decoration:underline}
.pill{display:inline-block;font-size:9px;letter-spacing:.25px;font-weight:650;background:#eff3f0;color:#5c7364;padding:4px 7px;border-radius:4px;line-height:1.4}
.priority{color:#867849;font-size:10px;font-weight:650}
.product-label{font-size:10px;color:#778b7b;text-decoration:none}
.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:17px;border-top:1px solid #eef2ee;padding-top:10px}
.card-bottom select{width:auto;max-width:145px;font-size:10px;min-height:28px;padding:4px}
.card-id{font-size:10px;color:#94a095;white-space:nowrap}
.associated{display:block;color:#839183;font-size:10px;margin-top:10px}
.blocker{padding:8px;background:#fff0ed;color:#9d5146;font-size:11px;margin-top:10px}
.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:18px}
.filters label,.roadmap-visibility{display:flex;flex-direction:column;gap:5px;color:#6f8075;font-size:11px}
.filters select{min-width:160px}
.filters .search{margin-left:auto;min-width:220px}
input,select,textarea{background:#fff;border:1px solid #ccd9cf;border-radius:6px;padding:9px 11px;color:#304b39;max-width:100%;min-height:37px}
textarea{resize:vertical;line-height:1.6}
select{cursor:pointer}
input[type=checkbox]{min-height:0;width:17px;height:17px;accent-color:#17634d}
.hint{font-size:11px;color:#8a988e;margin-bottom:15px}
.kanban{display:grid;grid-template-columns:repeat(5,minmax(205px,1fr));gap:13px;overflow-x:auto;padding-bottom:18px;min-height:380px}
.kanban-column{background:#edf2ee;border:1px solid #e2e9e3;border-radius:9px;padding:12px;min-height:330px}
.kanban-column>h3{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.4px;color:#688071;margin:4px 0 19px}
.column-dot{width:6px;height:6px;background:#8da995;border-radius:50%}
.progress .column-dot{background:#6596c5}
.review .column-dot{background:#caa048}
.blocked .column-dot{background:#cf796f}
.done .column-dot{background:#57a57a}
.count{margin-left:auto;font-size:10px;border:1px solid #d9e3dc;padding:1px 5px;border-radius:4px;color:#8b9b8f}
.column-cards{display:grid;gap:12px}
.empty-column{font-size:11px;color:#9aa69e;text-align:center;padding:25px 0}
.add-column{border:0;background:none;color:#879b8b;font-size:11px;text-align:left;margin-top:12px;width:100%;padding-left:4px}
.drag-over{outline:2px solid #3b9a69;background:#e0f1e6}
.pill.progress{background:#eaf2fc;color:#426c9b}
.pill.review{background:#fff4d9;color:#8f6b29}
.pill.blocked{background:#fdece6;color:#a0604e}
.pill.done{background:#e5f4e9;color:#437b56}
.panel{background:#fff;border:1px solid var(--border);border-radius:11px;padding:24px;margin-bottom:20px}
.panel p{color:#637969;font-size:13px;line-height:1.8}
.panel .section-heading{margin-top:0}
.panel h2 a{text-decoration:none}
.panel details{margin-top:15px}
details>summary{cursor:pointer;color:#3d6d51;font-size:12px;padding:10px 0;overflow-wrap:anywhere}
.context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:18px 0}
.context-card{border:1px solid var(--border);border-radius:9px;padding:22px;background:#fff;min-width:0}
.context-card h3{font-size:15px}
.context-card p{font-size:12px;line-height:1.85;color:#667c6c}
.context-card .micro-label{font-size:8px;color:#97a596}
.product-pulse{display:grid;grid-template-columns:1.2fr 1fr;gap:35px}
.product-pulse h2{font-size:19px}
.roadmap-track{margin:20px 0 27px;border:1px solid #dce5dd;border-radius:10px;padding:0 20px 18px;background:#fbfdfb}
.roadmap-track .section-heading{margin:19px 0 15px}
.roadmap-track h3{font-size:14px}
.roadmap-flow{display:flex;gap:18px;overflow-x:auto;padding-bottom:9px;align-items:stretch}
.roadmap-node{position:relative;flex:0 0 246px;background:#fff;border:1px solid #d9e3da;border-top:3px solid #c6d4c7;border-radius:8px;padding:15px}
.roadmap-node.done{border-top-color:#77ad8c}
.roadmap-node.progress{border-top-color:#679dc3}
.roadmap-node.review{border-top-color:#d4b265}
.roadmap-node:not(:last-child):after{content:'→';position:absolute;right:-17px;top:45%;color:#92a698}
.unordered .roadmap-node:after{content:'·'}
.roadmap-node small{display:block;font-size:10px;color:#829685;margin-top:8px}
.node-provenance{font-size:8px;font-weight:700;color:#a88a52;letter-spacing:.4px;margin-bottom:4px}
.roadmap-node>p:not(.node-provenance){font-size:12px;white-space:pre-wrap}
.roadmap-visibility{max-width:210px;margin-bottom:16px}
.principle{padding:14px 18px;border-left:3px solid #b5cdbb;background:#edf3ee;color:#61806a;font-size:12px}
.principles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.principles p{padding:9px;background:#f3f7f3;border-radius:6px;margin:0}
.readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.readiness-grid .panel{min-width:0}
.document-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.document-list button{text-align:left;font-size:12px;overflow-wrap:anywhere}
.document-list span{float:right}
.table-scroll{overflow-x:auto}.user-table{width:100%;border-collapse:collapse;min-width:970px}.user-table th,.user-table td{text-align:left;padding:13px 10px;border-bottom:1px solid #e8eee9;vertical-align:top;font-size:12px}.user-table th{font-size:10px;letter-spacing:.7px;color:#73867a}.user-table td>small{display:block;color:#859489;margin-top:5px}.user-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:220px}.user-actions button{font-size:10px;padding:6px 8px}.user-panel{padding-top:10px}#user-form-error{color:#b35042;font-size:12px;min-height:18px}
.link-button{border:0;background:none;color:#568468;padding:6px 0;font-size:12px}
.archived{opacity:.65}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
footer{padding:20px 36px;border-top:1px solid #e5ebe6;color:#97a399;font-size:10px}
dialog{width:min(820px,calc(100% - 28px));max-height:90vh;border:1px solid #d1ddd3;border-radius:13px;padding:26px;color:#304a38;box-shadow:0 25px 100px #10302030}
dialog::backdrop{background:#183b2b66;backdrop-filter:blur(3px)}
.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:20px}
.dialog-head h2{font-size:23px;overflow-wrap:anywhere}
.dialog-head button{border:0}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#66816c;min-width:0}
.field input,.field select,.field textarea{width:100%;font-size:13px;color:#294734}
.field.checkbox{flex-direction:row-reverse;justify-content:end;align-items:center}
.field.checkbox input{width:17px}
.wide{grid-column:1/-1}
.dialog-actions{display:flex;justify-content:end;gap:10px;padding:20px 0 10px;position:sticky;bottom:-26px;background:white;border-top:1px solid #ecf1ec;z-index:1}
.dialog-actions>button:first-child{margin-right:auto}
.recovery-warning{background:#fff6df;border:1px solid #e6d5a4;border-radius:7px;padding:15px;font-size:12px}
.recovery-warning p{margin:5px 0 10px;color:#806e40}
.recovery-warning .checkbox{justify-content:flex-end;flex-direction:row-reverse}
.editor-section{margin-top:22px;padding-top:20px;border-top:1px solid #e6eee6}
.evidence-row{display:flex;align-items:start;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #edf2ec}
.evidence-row p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0}
.evidence-row button{font-size:11px;flex-shrink:0}
.history-entry{border-bottom:1px solid #e5eee5;padding:6px 0}
.history-entry time{display:block;font-size:10px;color:#8d9d8f;margin-top:4px}
.history-entry p,.history-entry li{font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}
.history-entry ul{padding-left:18px}
.history-entry pre{font-size:11px}
pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8f4;border-radius:7px;padding:17px;font:12px/1.8 Consolas,monospace}
.source-document{max-height:60vh;overflow:auto}
#form-error{color:#b35042;font-size:12px;white-space:pre-wrap;margin-top:15px}
#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);opacity:0;background:#204d35;color:white;padding:13px 23px;border-radius:8px;box-shadow:0 8px 30px #17392233;transition:.2s;z-index:100;max-width:90vw;font-size:12px;pointer-events:none}
#toast.visible{transform:translateX(-50%);opacity:1}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 25% 15%,#e6f0e9 0,transparent 34%),#f5f7f6}
.auth-card{width:min(100%,420px);background:#fff;border:1px solid var(--border);border-radius:14px;padding:34px;box-shadow:0 18px 60px #17392214}
.auth-brand{display:flex;align-items:center;gap:15px;margin-bottom:28px}
.auth-brand .brand-mark{flex:none}
.auth-brand h1{font-size:24px;margin:0 0 3px;letter-spacing:-.6px}
.auth-brand p,.auth-intro{color:var(--muted);margin:0;font-size:12px}
.auth-intro{margin-bottom:22px}
.auth-card label{display:grid;gap:7px;margin:15px 0;color:#4d6358;font-size:12px;font-weight:600}
.auth-card input{width:100%;border:1px solid #cbd7d0;border-radius:7px;padding:11px 12px;background:#fbfcfb;color:#22332e}
.auth-card button[type=submit]{width:100%;margin-top:7px;padding:11px}
.auth-message{min-height:20px;color:#a8463a;font-size:12px;margin:2px 0}
.auth-loading-card{text-align:center;width:auto;padding:28px 34px}
.auth-loading-card .brand-mark{margin:auto auto 15px}
.auth-loading-card p{color:var(--muted);margin:0}


@media(min-width:1600px){main{padding:40px 48px}
.pulse-card{padding:24px}
.pulse-grid{gap:22px}
}


@media(max-width:1190px){.sidebar{width:205px;padding:24px 12px}
.workspace{margin-left:205px}
main{padding:28px 24px}
.topbar{padding:0 24px}
.pulse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.stat{padding:15px 12px}
.stat:after{right:10px;top:21px}
.stat>span{font-size:10px}
.stat strong{font-size:29px}
.heading-actions{flex-wrap:wrap}
.page-heading{align-items:start}
.next-panel{padding:22px}
.readiness-grid{grid-template-columns:1fr}
}


@media(max-width:760px){.sidebar{position:static;width:100%;padding:14px 16px 0;border-right:0;border-bottom:1px solid var(--border)}
.brand{margin:0 0 14px;font-size:17px}
.brand-mark{width:36px;height:36px}
.brand small{font-size:8px}
.workspace-label,.sidebar-bottom{display:none}
.sidebar nav{display:flex;overflow-x:auto;gap:5px;padding-bottom:8px}
.sidebar nav a{white-space:nowrap;padding:8px 12px;font-size:12px;gap:6px}
.sidebar nav a>span{font-size:15px}
.sidebar nav hr{display:none}
.workspace{margin-left:0}
.topbar{height:60px;padding:0 17px}
.topbar>span{font-size:10px}
.topbar button{font-size:11px;padding:7px 9px}
.topbar>div{gap:5px}
main{padding:24px 17px}
.page-heading{flex-direction:column;gap:16px;margin-bottom:22px}
h1{font-size:27px;letter-spacing:-.7px}
.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stat:first-child{grid-column:1/-1}
.stat:first-child strong{display:inline-block;margin-right:15px}
.stat strong{line-height:1.5}
.next-panel{align-items:start;flex-direction:column;gap:14px;padding:21px}
.next-panel h2{font-size:19px}
.pulse-grid,.context-grid,.product-pulse,.readiness-grid,.document-list{grid-template-columns:1fr}
.pulse-position{min-height:0}
.pulse-gate p,.pulse-next p{min-height:0}
.section-heading{align-items:start;gap:12px}
.section-heading h2{font-size:19px}
.section-heading .text-link{white-space:nowrap}
.section-heading>div:last-child>button{margin:4px 0;font-size:11px}
.filters label{flex:1;min-width:130px}
.filters .search{margin-left:0;min-width:100%;flex:1}
.filters select{min-width:0;width:100%}
.kanban{grid-template-columns:repeat(5,248px)}
.panel{padding:20px}
.roadmap-track{padding:0 13px 14px}
.roadmap-track .section-heading{flex-direction:column}
.field-grid{grid-template-columns:1fr}
.wide{grid-column:1}
dialog{padding:20px}
.dialog-actions{bottom:-20px;gap:6px}
.dialog-actions button{font-size:11px;padding:8px}
.dialog-head h2{font-size:21px}
.evidence-row{flex-direction:column}
footer{padding:18px;font-size:9px}
.product-pulse{gap:15px}
}
