:root{--bg:#f3efe8;--paper:#fffcf7f0;--paper-strong:#fffdf9;--line:#64748b38;--line-strong:#0f172a29;--ink:#0f172a;--muted:#5b6472;--muted-2:#7f8896;--accent:#c46b2d;--good:#0f766e;--risk:#d84b60;--shadow:0 18px 40px #0f172a0f;--font-display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-sans:"IBM Plex Sans", "Avenir Next", "Segoe UI", sans-serif}*{box-sizing:border-box}html{color:var(--ink);font-family:var(--font-sans);background:linear-gradient(90deg, #0f172a07 1px, transparent 1px), linear-gradient(180deg, #0f172a07 1px, transparent 1px), linear-gradient(180deg, #c46b2d0f, transparent 22%), var(--bg);background-size:24px 24px,24px 24px,auto,auto}body{min-height:100vh;margin:0}button,input{font:inherit}button{appearance:none}a{color:inherit}.dashboard-shell{width:min(1580px,100% - 1rem);margin:0 auto;padding:.75rem 0 1.5rem}.dashboard-shell--docs,.dashboard-shell--reader{width:min(1720px,100% - 1rem)}.portal-navbar{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);background:linear-gradient(#f3efe8f7,#f3efe8db);grid-template-columns:minmax(260px,.9fr) minmax(0,1.4fr);align-items:center;gap:1rem;margin-bottom:.9rem;padding:.75rem 0;display:grid;position:sticky;top:0}.portal-brand{align-items:center;gap:.85rem;min-width:0;display:flex}.portal-brand-mark{letter-spacing:.18em;width:76px;height:76px;color:var(--good);background:radial-gradient(circle at 30% 30%,#0f766e2e,#0000 58%),#ffffffb8;border:1px solid #0f766e3d;border-radius:22px;place-items:center;font-size:.92rem;font-weight:800;display:grid}.portal-brand-copy{gap:.12rem;min-width:0;display:grid}.portal-brand-copy strong{font-family:var(--font-display);font-size:1.7rem;line-height:.95}.portal-brand-copy span{color:var(--muted);max-width:46ch}.portal-navbar-actions{justify-items:end;gap:.75rem;display:grid}.portal-nav-group{justify-content:end}.page-hero{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:end;gap:1rem;margin-bottom:.9rem;padding:.2rem 0 .25rem;display:grid}.page-hero--reader{grid-template-columns:1fr}.page-hero-copy{gap:.24rem;max-width:74ch;display:grid}.page-hero-copy h1{line-height:.93}.page-hero-note{color:var(--muted);max-width:68ch}.page-hero-actions{justify-items:end;gap:.8rem;display:grid}.hero-kicker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;width:min(100%,560px);display:grid}.hero-kicker{border:1px solid var(--line);background:linear-gradient(180deg, #0f766e0b, transparent 55%), var(--paper);min-height:122px;box-shadow:var(--shadow);padding:.9rem}.hero-kicker span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);font-size:.71rem;display:block}.hero-kicker strong{font-family:var(--font-display);margin:.34rem 0 .42rem;font-size:1.35rem;line-height:.98;display:block}.hero-kicker p{color:var(--muted)}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);background:linear-gradient(#f3efe8f2,#f3efe8d1);grid-template-columns:minmax(0,1.25fr) minmax(380px,.95fr);align-items:end;gap:1rem;margin-bottom:.8rem;padding:.85rem 0;display:grid;position:sticky;top:0}.brand-lockup{min-width:0}.brand-row{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:1rem;display:grid}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem;font-size:.72rem}h1,h2,h3{line-height:.92;font-family:var(--font-display);margin:0}h1{font-size:clamp(2.6rem,5vw,4.4rem)}h2{font-size:clamp(1.9rem,2.8vw,2.7rem)}h3{font-size:1.35rem}p{margin:0;line-height:1.5}.brand-note,.panel-head p:last-child,.summary-card p,.metric-card small,.meta-panel p,.rule-card p,.guide-card p,.state-copy,.loading-screen p,.search-box span{color:var(--muted)}.brand-note{max-width:58ch;padding-bottom:.35rem}.topbar-actions{justify-items:end;gap:.8rem;display:grid}.search-box{gap:.35rem;width:min(100%,420px);display:grid}.search-box span{letter-spacing:.14em;text-transform:uppercase;font-size:.72rem}.search-box input{border:1px solid var(--line);width:100%;color:var(--ink);background:#ffffffc7;border-radius:12px;padding:.85rem .95rem}.search-box input:focus{border-color:#0f766e70;outline:2px solid #0f766e2e}.nav-group{flex-wrap:wrap;justify-content:end;gap:.55rem;display:flex}.nav-button,.metric-tab,.link-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffffc2;border-radius:999px;transition:transform .14s,border-color .14s,background .14s}.nav-button{padding:.72rem 1rem}.nav-button--ghost{background:#ffffff73}.nav-button:hover,.metric-tab:hover,.link-button:hover{border-color:#0f766e61;transform:translateY(-1px)}.nav-button.is-active,.metric-tab.is-active{background:#0f766e14;border-color:#0f766e7a}.summary-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin-bottom:.8rem;display:grid}.summary-strip--compact{margin-bottom:1rem}.summary-card,.panel,.metric-card,.comparison-chip,.rule-card,.guide-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.summary-card{min-height:132px;padding:1rem 1rem .95rem}.summary-card span,.metric-card span,.comparison-chip span,.meta-panel span,.guide-card span,.source-row span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);font-size:.71rem;display:block}.summary-card strong,.metric-card strong,.comparison-chip strong,.meta-panel strong{font-size:1.55rem;font-family:var(--font-display);margin:.3rem 0 .45rem;display:block}.summary-card--source{background:radial-gradient(circle at top right, #0f766e14, transparent 40%), var(--paper)}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.95fr);gap:.8rem;margin-bottom:.8rem;display:grid}.dashboard-grid--primary{grid-template-columns:minmax(0,1.55fr) minmax(360px,.8fr)}.dashboard-grid--admin{grid-template-columns:1fr}.panel{min-width:0;padding:1rem}.panel-side,.panel-stack{align-content:start;gap:.85rem;display:grid}.panel-head{gap:.45rem;margin-bottom:.9rem;display:grid}.panel-head--split{grid-template-columns:minmax(0,auto) minmax(240px,.8fr);align-items:end}.panel-head-actions{justify-items:end;gap:.75rem;display:grid}.metric-tabs{flex-wrap:wrap;gap:.55rem;margin-bottom:.85rem;display:flex}.metric-tab,.link-button{padding:.62rem .9rem}.state-copy{margin-bottom:.2rem}.state-copy--muted{border-bottom:1px solid var(--line);padding-bottom:.2rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.metric-card{padding:.8rem}.metric-card small{margin-top:.3rem;display:block}.comparison-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.comparison-chip{padding:.75rem .8rem}.tone-good{border-color:#0f766e47}.tone-risk{border-color:#d84b6047}.tone-neutral{border-color:#0f172a29}.metric-card--neutral{background:linear-gradient(180deg, #0f766e09, transparent 55%), var(--paper);border-color:#0f172a29}.table-wrap{border:1px solid var(--line);max-height:620px;overflow:auto}.table-wrap--budget{max-height:680px}.table-wrap--budget-detail{max-height:560px}.table-wrap--admin{max-height:540px}.table-wrap--activity{max-height:620px}.table-footnote{color:var(--muted);margin-top:.45rem;font-size:.8rem}.state-table{border-collapse:collapse;background:#ffffff8c;width:100%}.state-table thead th{z-index:1;text-align:left;border-bottom:1px solid var(--line-strong);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);white-space:nowrap;background:#f6f3ee;padding:.85rem .7rem;font-size:.71rem;position:sticky;top:0}.state-table tbody tr{cursor:pointer;transition:background .14s}.state-table tbody tr:hover,.state-table tbody tr.is-active{background:#0f766e14}.state-table td{white-space:nowrap;font-variant-numeric:tabular-nums;border-bottom:1px solid #64748b1f;padding:.76rem .7rem}.state-table td:nth-child(2){min-width:180px}.state-table td:nth-child(2) strong{margin-bottom:.12rem;display:block}.state-table td:nth-child(2) span{color:var(--muted-2);font-size:.82rem;display:block}.state-table--budget td,.state-table--budget th{min-width:122px}.state-table--budget td:nth-child(2),.state-table--budget th:nth-child(2){min-width:190px}.state-table--chapter-detail tbody tr{cursor:default}.state-table--chapter-detail td:first-child,.state-table--chapter-detail th:first-child{min-width:220px}.state-table--chapter-detail td:first-child strong{margin-bottom:.12rem;display:block}.state-table--chapter-detail td:first-child span{color:var(--muted-2);white-space:normal;font-size:.82rem;display:block}.state-table--fine tbody tr{cursor:default}.state-table--fine td,.state-table--fine th{vertical-align:top;white-space:normal}.state-table--fine td:first-child,.state-table--fine th:first-child{min-width:160px}.state-table--fine td:nth-child(2),.state-table--fine th:nth-child(2){min-width:280px}.state-table--fine td strong{display:block}.state-table--fine td span{color:var(--muted-2);margin-top:.16rem;font-size:.82rem;display:block}.state-table--admin td,.state-table--admin th{white-space:normal;vertical-align:top}.state-table--admin td:first-child,.state-table--admin th:first-child{min-width:210px}.state-table--admin td:nth-child(3),.state-table--admin th:nth-child(3){min-width:140px}.state-table--admin td:nth-child(4),.state-table--admin th:nth-child(4){min-width:240px}.state-table--admin td:nth-child(5),.state-table--admin th:nth-child(5){min-width:150px}.state-table--admin td:nth-child(6),.state-table--admin th:nth-child(6){min-width:180px}.state-table--admin td:nth-child(7),.state-table--admin th:nth-child(7){min-width:220px}.state-table--admin td:nth-child(8),.state-table--admin th:nth-child(8){min-width:280px}.state-table--activity td,.state-table--activity th{white-space:normal;vertical-align:top}.state-table--activity td:nth-child(2),.state-table--activity th:nth-child(2){min-width:220px}.state-table--activity td:nth-child(4),.state-table--activity th:nth-child(4){min-width:280px}.status-pill{border:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;background:#ffffffd1;border-radius:999px;align-items:center;padding:.28rem .6rem;font-size:.76rem;font-weight:600;display:inline-flex}.status-note{color:var(--muted);margin-top:.4rem;font-size:.82rem;display:block}.access-error-copy{color:#991b1b}.table-inline-note{color:var(--muted);margin-top:.3rem;font-size:.82rem;display:block}.access-inline-actions{justify-items:start;gap:.45rem;margin-top:.6rem;display:grid}.access-inline-note{margin-top:0}.access-inline-note--risk{color:#991b1b}.access-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin-bottom:.9rem;display:grid}.empty-copy{color:var(--muted)}.meta-panel{background:#0f766e0d;border:1px dashed #0f766e59;padding:.95rem}.meta-panel .link-button{margin-top:.85rem}.meta-actions{flex-wrap:wrap;gap:.55rem;margin-top:.85rem;display:flex}.loading-screen,.empty-panel{text-align:center;border:1px dashed var(--line);place-items:center;min-height:220px;display:grid}.loading-screen.is-compact{min-height:80px}.loading-badge{background:var(--accent);border-radius:999px;width:14px;height:14px;animation:.9s infinite alternate pulse}.error-banner{box-shadow:var(--shadow);background:#fff8f8eb;border:1px solid #d84b6040;padding:.8rem 1rem;position:fixed;bottom:16px;right:16px}.source-table{display:grid}.source-row{border-bottom:1px solid #64748b1f;grid-template-columns:minmax(180px,1.2fr) minmax(120px,.9fr) 100px minmax(220px,1.2fr) 120px;gap:.8rem;padding:.78rem 0;display:grid}.source-row--head{padding-top:0}.source-row strong,.source-row a{font-size:.95rem}.source-row a{color:var(--good);text-decoration:none}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.guide-card,.rule-card{padding:.95rem}.session-toolbar{flex-wrap:wrap;justify-content:end;align-items:stretch;gap:.55rem;display:flex}.session-chip{border:1px solid var(--line);background:#ffffffb3;border-radius:999px;min-width:180px;padding:.72rem .9rem}.session-chip span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);font-size:.67rem;display:block}.session-chip strong{margin-top:.18rem;font-size:.95rem;display:block}.docs-layout{grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:.8rem;display:grid}.docs-sidebar{align-self:start;position:sticky;top:92px}.docs-topbar{z-index:24;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);background:linear-gradient(#f3efe8f5,#f3efe8db);justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.8rem;padding:.7rem 0 .8rem;display:flex;position:sticky;top:0}.docs-topbar--portal{margin-bottom:.9rem}.docs-topbar--portal .docs-page-title{font-size:clamp(2rem,3.4vw,3rem)}.docs-topbar--dashboard .docs-header-copy{max-width:70ch}.docs-header-copy{gap:.2rem;min-width:0;max-width:72ch;display:grid}.docs-page-title{font-size:clamp(1.8rem,3vw,2.7rem);line-height:.95}.docs-page-note{color:var(--muted);max-width:64ch}.docs-topbar-actions{justify-items:end;gap:.7rem;display:grid}.docs-topbar-actions--portal{min-width:min(100%,460px)}.docs-topbar--dashboard .docs-topbar-actions--portal{min-width:min(100%,520px)}.doc-list{gap:.7rem;display:grid}.doc-button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#ffffff9e;width:100%;padding:.9rem;transition:transform .14s,border-color .14s,background .14s}.doc-button:hover{border-color:#0f766e59;transform:translateY(-1px)}.doc-button.is-active{background:#0f766e14;border-color:#0f766e80}.doc-button span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-bottom:.22rem;font-size:.68rem;display:block}.doc-button strong{margin-bottom:.3rem;font-size:1rem;display:block}.doc-button p{color:var(--muted);font-size:.93rem}.docs-panel{min-width:0}.docs-panel-head{border-bottom:1px solid #64748b1f;gap:.75rem;margin-bottom:1rem;padding-bottom:.9rem;display:grid}.docs-panel-summary{color:var(--muted);max-width:72ch}.docs-meta{flex-wrap:wrap;gap:.5rem;display:flex}.docs-meta-chip{border:1px solid var(--line);color:var(--muted);background:#ffffffb8;border-radius:999px;align-items:center;padding:.42rem .7rem;font-size:.78rem;display:inline-flex}.docs-markdown{gap:.95rem;width:min(100%,88ch);font-size:1rem;display:grid}.docs-markdown>*{min-width:0}.docs-markdown h1,.docs-markdown h2,.docs-markdown h3,.docs-markdown h4{margin-top:1.2rem;margin-bottom:.55rem;line-height:1}.docs-markdown h1{font-size:clamp(2rem,3vw,3.2rem)}.docs-markdown h2{font-size:clamp(1.5rem,2.1vw,2.2rem)}.docs-markdown h3{font-size:1.25rem}.docs-markdown h1:first-child,.docs-markdown h2:first-child,.docs-markdown h3:first-child{margin-top:0}.docs-markdown p,.docs-markdown li{color:#1f2937;line-height:1.65}.docs-markdown ul,.docs-markdown ol{margin:0;padding-left:1.25rem}.docs-markdown li+li{margin-top:.28rem}.docs-markdown code{background:#0f172a0f;border-radius:6px;padding:.15rem .35rem;font-size:.92em}.docs-markdown pre{border:1px solid var(--line);background:#fffc;padding:.95rem;overflow:auto}.docs-markdown pre code{background:0 0;padding:0}.docs-markdown table{border-collapse:collapse;width:100%;font-size:.94rem}.docs-markdown th,.docs-markdown td{text-align:left;vertical-align:top;border:1px solid #64748b29;padding:.7rem}.docs-markdown th{background:#0f172a0a}.docs-markdown a{color:var(--good)}.login-shell{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{border:1px solid var(--line);background:radial-gradient(circle at top right, #0f766e14, transparent 38%), var(--paper);width:min(100%,520px);box-shadow:var(--shadow);padding:1.2rem}.login-card--wide{width:min(100%,780px)}.login-hero{grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr);align-items:end;gap:1rem;display:grid}.login-copy{color:var(--muted);margin-top:.8rem}.login-mode-tabs{flex-wrap:wrap;gap:.55rem;margin-top:1.1rem;display:flex}.login-form{gap:.95rem;margin-top:1.15rem;display:grid}.form-field{gap:.32rem;display:grid}.form-field span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);font-size:.72rem}.form-field input{border:1px solid var(--line);width:100%;color:var(--ink);background:#ffffffc7;padding:.9rem .95rem}.form-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.inline-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.login-hint{color:var(--muted);font-size:.92rem}.login-error{color:#991b1b;background:#fff8f8e6;border:1px solid #d84b6038;padding:.75rem .85rem}.login-notice,.activation-status{color:#134e4a;background:#f0fdfae6;border:1px solid #0f766e2e;padding:.82rem .9rem}.activation-status{gap:.35rem;margin-top:1rem;display:grid}.activation-status--error{color:#991b1b;background:#fff8f8e6;border-color:#d84b6038}.activation-status--ok span{color:var(--muted)}.activation-token-field{margin-top:1rem}.consent-card,.consent-status{border:1px solid var(--line);background:#ffffffb3;gap:.55rem;padding:.95rem;display:grid}.consent-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.consent-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-bottom:.18rem;font-size:.72rem;display:block}.consent-card p,.consent-status span{color:var(--muted)}.consent-status{border-style:dashed}.consent-status strong{font-size:.95rem}.consent-status.is-accepted{background:#f0fdfae0;border-style:solid;border-color:#0f766e4d}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172a6b;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:var(--paper-strong);grid-template-rows:auto minmax(0,1fr) auto;gap:1rem;width:min(100%,920px);max-height:min(88vh,900px);padding:1.1rem;display:grid;box-shadow:0 24px 64px #0f172a3d}.modal-head,.modal-actions{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:1rem;display:flex}.docs-markdown--modal{padding-right:.4rem;overflow:auto}.source-table--budget .source-row--budget{grid-template-columns:minmax(180px,1fr) minmax(150px,.95fr) minmax(200px,1.1fr) minmax(140px,.8fr) 120px}.source-table--detail .source-row--detail{grid-template-columns:minmax(180px,1.15fr) minmax(130px,.9fr) 110px 110px 120px}.source-stack{gap:.85rem;display:grid}.guide-card strong,.rule-card strong{margin:.35rem 0 .45rem;font-size:1.05rem;display:block}.rule-stack{gap:.75rem;display:grid}.chapter-legend-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.85rem;display:grid}.chapter-legend-card{border:1px solid var(--line);background:#ffffffad;padding:.72rem .8rem}.chapter-legend-card span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);font-size:.7rem;display:block}.chapter-legend-card strong{margin-top:.24rem;font-size:.95rem;line-height:1.25;display:block}.d3-chart svg{width:100%;height:auto;display:block}.d3-chart--matrix{min-height:280px}.d3-chart--budget-composition{min-height:360px}.d3-chart--budget-delta{min-height:420px}.d3-chart--budget-fine-concepts{min-height:560px;padding-bottom:.2rem;overflow:auto hidden}.d3-chart--budget-fine-concepts svg{width:auto;min-width:100%}.d3-chart--budget-heatmap{min-height:360px;padding-bottom:.2rem;overflow:auto hidden}.d3-chart--budget-heatmap svg{width:auto;min-width:100%}.detail-anchor{scroll-margin-top:112px}.empty-panel--dense{min-height:180px;padding:1rem}@keyframes pulse{0%{opacity:.55;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@media (width<=1280px){.portal-navbar,.topbar,.dashboard-grid,.dashboard-grid--primary,.docs-layout,.page-hero{grid-template-columns:1fr}.docs-topbar{flex-direction:column;align-items:start}.topbar-actions,.docs-topbar-actions,.portal-navbar-actions,.page-hero-actions{justify-items:start}.nav-group,.session-toolbar{justify-content:start}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.docs-sidebar{position:static}}@media (width<=900px){.dashboard-shell{width:min(100%,100% - .75rem)}.portal-brand{align-items:start}.portal-brand-mark{border-radius:18px;width:62px;height:62px;font-size:.78rem}.brand-row,.panel-head--split,.metric-grid,.comparison-list,.guide-grid,.chapter-legend-grid,.login-hero,.consent-card,.source-row,.source-table--budget .source-row--budget,.hero-kicker-grid{grid-template-columns:1fr}.docs-markdown{width:100%}.summary-strip{grid-template-columns:1fr}.form-actions{flex-direction:column;align-items:stretch}.session-toolbar{width:100%}.session-chip{width:100%;min-width:0}.metric-tabs{padding-bottom:.25rem;overflow-x:auto}.state-table td,.state-table th{padding:.7rem .55rem}}
