:root{color-scheme:light;--bg: #f6f4f7;--surface: #ffffff;--surface-2: #efecf1;--surface-3: #e4dfe8;--border: #ddd7e2;--border-strong: #c5bccd;--ink: #1d1823;--ink-2: #4d4556;--ink-3: #655c70;--accent: #7a2c6b;--accent-soft: #f3e6f0;--accent-ink: #ffffff;--ok: #0f7a56;--ok-soft: #dcf3ea;--warn: #8f5900;--warn-soft: #fbefd3;--bad: #b3261e;--bad-soft: #fbe3e1;--focus: #1a73e8;--ladder-0: #8a94a1;--ladder-1: #e08a00;--ladder-2: #55b4e6;--ladder-3: #0b5fa5;--ladder-4: #0a7d5d;--ladder-5: #6b3fa0;--ladder-0-ink: #1d1823;--ladder-1-ink: #1d1400;--ladder-2-ink: #04202f;--ladder-3-ink: #ffffff;--ladder-4-ink: #ffffff;--ladder-5-ink: #ffffff;--series-plan: #655c70;--series-floor: #b3541e;--series-actual: #7a2c6b;--heat-0: var(--surface-3);--heat-1: #ecd3e6;--heat-2: #d3a1c7;--heat-3: #a8559a;--heat-4: #7a2c6b;--shadow-1: 0 1px 2px rgb(16 24 40 / 6%), 0 1px 3px rgb(16 24 40 / 8%);--shadow-2: 0 8px 28px rgb(16 24 40 / 14%);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--radius-s: 6px;--radius: 10px;--radius-l: 16px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs: .75rem;--text-s: .8125rem;--text-m: .9375rem;--text-l: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2rem;--ease: cubic-bezier(.2, .7, .2, 1);--topbar-h: 64px;--sidebar-w: 232px;--sidebar-w-collapsed: 64px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #15111a;--surface: #1e1824;--surface-2: #281f30;--surface-3: #33293d;--border: #3a2f45;--border-strong: #4d4059;--ink: #efe9f3;--ink-2: #c3b8cd;--ink-3: #9d90a9;--accent: #e0a8d4;--accent-soft: #3a1f36;--accent-ink: #2a0f26;--ok: #4cd1a1;--ok-soft: #103328;--warn: #f0b34a;--warn-soft: #3a2b0d;--bad: #ff8a80;--bad-soft: #401a17;--focus: #7ab4ff;--ladder-0: #7f8a98;--ladder-1: #f0a830;--ladder-2: #86d2f7;--ladder-3: #3d86dc;--ladder-4: #38c79b;--ladder-5: #b08be0;--ladder-0-ink: #15111a;--ladder-3-ink: #0e1319;--ladder-4-ink: #04241b;--ladder-5-ink: #1b0d30;--series-plan: #a99db6;--series-floor: #f09a5c;--series-actual: #e0a8d4;--heat-1: #3a2340;--heat-2: #6a3a72;--heat-3: #a3569f;--heat-4: #e0a8d4;--shadow-1: 0 1px 2px rgb(0 0 0 / 40%);--shadow-2: 0 8px 28px rgb(0 0 0 / 55%)}}:root[data-theme=dark]{color-scheme:dark;--bg: #15111a;--surface: #1e1824;--surface-2: #281f30;--surface-3: #33293d;--border: #3a2f45;--border-strong: #4d4059;--ink: #efe9f3;--ink-2: #c3b8cd;--ink-3: #9d90a9;--accent: #e0a8d4;--accent-soft: #3a1f36;--accent-ink: #2a0f26;--ok: #4cd1a1;--ok-soft: #103328;--warn: #f0b34a;--warn-soft: #3a2b0d;--bad: #ff8a80;--bad-soft: #401a17;--focus: #7ab4ff;--ladder-0: #7f8a98;--ladder-1: #f0a830;--ladder-2: #86d2f7;--ladder-3: #3d86dc;--ladder-4: #38c79b;--ladder-5: #b08be0;--ladder-0-ink: #15111a;--ladder-3-ink: #0e1319;--ladder-4-ink: #04241b;--ladder-5-ink: #1b0d30;--series-plan: #a99db6;--series-floor: #f09a5c;--series-actual: #e0a8d4;--heat-1: #3a2340;--heat-2: #6a3a72;--heat-3: #a3569f;--heat-4: #e0a8d4;--shadow-1: 0 1px 2px rgb(0 0 0 / 40%);--shadow-2: 0 8px 28px rgb(0 0 0 / 55%)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:var(--text-m) / 1.5 var(--font);overflow-x:hidden}h1,h2,h3,h4,p{margin:0}h1{font-size:var(--text-xl);line-height:1.2;letter-spacing:-.01em}h2{font-size:var(--text-l);line-height:1.3}h3{font-size:var(--text-m)}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-s)}table{border-collapse:collapse;width:100%}ul,ol{margin:0;padding:0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.mono{font-family:var(--mono);font-size:.92em}.muted{color:var(--ink-3)}.num{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .2s var(--ease)}.shell[data-collapsed=true]{grid-template-columns:var(--sidebar-w-collapsed) minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-4) var(--s-3);background:var(--surface);border-right:1px solid var(--border);z-index:30}.brand{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-1) var(--s-2);font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden}.brand-mark{flex:none;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink)}.nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav a{display:flex;align-items:center;gap:var(--s-3);padding:9px var(--s-3);border-radius:var(--radius);color:var(--ink-2);text-decoration:none;font-weight:500;white-space:nowrap;overflow:hidden;transition:background .15s,color .15s}.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.nav svg{flex:none}.shell[data-collapsed=true] .label{display:none}.sidebar-foot{display:flex;flex-direction:column;gap:var(--s-1)}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.topbar .spacer{flex:1}.asof{color:var(--ink-3);font-size:var(--text-s)}.user{display:flex;align-items:center;gap:var(--s-2);font-size:var(--text-s)}.user-name{font-weight:600}.content{padding:var(--s-5);max-width:1320px;width:100%;margin:0 auto}.btn.menu-btn,.scrim-nav{display:none}@media(max-width:860px){.shell,.shell[data-collapsed=true]{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,84vw);transform:translate(-102%);transition:transform .2s var(--ease);box-shadow:var(--shadow-2)}.shell[data-drawer=open] .sidebar{transform:none}.shell[data-collapsed=true] .label{display:inline}.scrim-nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:#0006;border:0}.shell[data-drawer=open] .scrim-nav{display:block}.btn.menu-btn{display:inline-grid}.collapse-btn{display:none}.topbar{padding:var(--s-3) var(--s-4)}.content{padding:var(--s-4)}.user-name,.asof-long{display:none}}.topbar{height:var(--topbar-h)}.topbar .btn{min-height:40px}.search-btn .kbd{margin-left:var(--s-1)}.skip-link:focus-visible{outline:2px solid var(--focus)}@media(max-width:860px){.search-btn .search-text,.search-btn .kbd{display:none}.search-btn{padding:8px}}@media(max-width:560px){.topbar{gap:var(--s-2);padding-inline:var(--s-3)}.signout-text{display:none}.asof{font-size:var(--text-xs);line-height:1.25}.asof strong{display:block}}.btn.sidebar-signout{display:none;justify-content:flex-start}.asof{white-space:nowrap}@media(max-width:860px){.btn.sidebar-signout{display:inline-flex}.btn.topbar-signout{display:none}}.skip-link{position:absolute;left:var(--s-3);top:-60px;z-index:100;background:var(--surface);padding:var(--s-2) var(--s-3);border-radius:var(--radius-s);box-shadow:var(--shadow-2)}.skip-link:focus{top:var(--s-3)}.stack{display:flex;flex-direction:column;gap:var(--s-5);min-width:0}.stack-s{display:flex;flex-direction:column;gap:var(--s-3)}.small{font-size:var(--text-s)}.r{text-align:right}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-5)}.page-head p{margin-top:var(--s-1)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);padding:var(--s-5);box-shadow:var(--shadow-1);min-width:0}.card.flush{padding:0;overflow:hidden}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-4)}.hint{font-size:var(--text-s)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s-4)}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5);align-items:start}@media(max-width:980px){.two-col{grid-template-columns:minmax(0,1fr)}}.stat{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-4) var(--s-5)}.stat-label{color:var(--ink-2);font-size:var(--text-s);font-weight:550}.stat-value{font-size:var(--text-2xl);font-weight:650;letter-spacing:-.02em;line-height:1.15}.stat-value small{font-size:var(--text-m);font-weight:500;color:var(--ink-3);letter-spacing:0}.stat-sub{font-size:var(--text-s)}.stat .bar,.stat .plan-bar{margin-top:var(--s-2)}.audit-counts{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:2px var(--s-3);font-size:var(--text-s);color:var(--ink-2);margin-top:var(--s-1)}.audit-counts .num{font-weight:650;color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:var(--s-2);padding:8px 14px;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius);font-weight:550;font-size:var(--text-s);transition:background .15s,border-color .15s}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.btn-quiet{border-color:transparent;background:transparent;color:var(--ink-2)}.btn-icon{padding:8px;place-items:center}.btn-wide{width:100%;justify-content:center;padding:11px;font-size:var(--text-m)}.chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:var(--text-xs);font-weight:600;background:var(--surface-3);color:var(--ink-2);white-space:nowrap;text-decoration:none}.chip-ok{background:var(--ok-soft);color:var(--ok)}.chip-warn{background:var(--warn-soft);color:var(--warn)}.chip-bad{background:var(--bad-soft);color:var(--bad)}.chip-accent,.chip-code{background:var(--accent-soft);color:var(--accent)}.chip-code:hover{filter:brightness(.95)}.chips{display:inline-flex;flex-wrap:wrap;gap:var(--s-1) var(--s-2)}.step-badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.step-num{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--c);color:var(--ink-c);font-size:var(--text-xs);font-weight:700}.step-name{font-size:var(--text-s)}.step-track{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);position:relative;margin:var(--s-3) 0}.step-track:before{content:"";position:absolute;top:13px;left:8%;right:8%;height:3px;background:var(--surface-3)}.step-track li{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--s-1);text-align:center}.step-track .dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:var(--text-s);font-weight:700;background:var(--surface);border:2px solid var(--surface-3);color:var(--ink-3)}.step-track [data-state=past] .dot{border-color:var(--c);color:var(--ink)}.step-track [data-state=current] .dot{background:var(--c);border-color:var(--c);color:var(--ink-c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 28%,transparent)}.step-track .cap{font-size:.75rem;color:var(--ink-3);line-height:1.2}.step-track [data-state=current] .cap{color:var(--ink);font-weight:650}.legend{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);font-size:var(--text-s);color:var(--ink-2);margin-bottom:var(--s-3)}.legend li{display:inline-flex;align-items:center;gap:6px}.swatch{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;font-size:.75rem;font-weight:700;color:var(--ink-c)}.stacked{display:flex;height:24px;border-radius:7px;overflow:hidden;gap:2px;min-width:140px}.seg{display:grid;place-items:center;font-size:.75rem;font-weight:700;min-width:3px;flex-basis:0}.bar{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:999px;transition:width .5s var(--ease)}.bar-accent{background:var(--accent)}.bar-ok{background:var(--ok)}.plan-bar{position:relative;height:8px;border-radius:999px;background:var(--surface-3)}.plan-bar .mark{position:absolute;top:-4px;width:3px;height:16px;border-radius:2px}.mark-floor{background:var(--series-floor)}.mark-line{background:var(--ink-2)}.table-wrap{overflow-x:auto}.table th,.table td{padding:10px var(--s-3);text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.table th.r,.table td.r{text-align:right}.table thead th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:650;background:var(--surface);white-space:nowrap}.table tbody tr:last-child td{border-bottom:0}.bar-cell{min-width:160px;width:42%}.mini-bar{display:inline-block;vertical-align:middle;width:110px;max-width:60%;height:8px;margin-right:var(--s-2);border-radius:999px;background:var(--surface-3);overflow:hidden}.mini-bar.short{width:56px;margin:0 0 0 var(--s-2)}.accordion details{border-bottom:1px solid var(--border);padding:var(--s-2) 0}.accordion summary{cursor:pointer;font-weight:550;padding:var(--s-1) 0;list-style-position:outside}.accordion details>p{margin:var(--s-2) 0 var(--s-2) var(--s-4);color:var(--ink-2);font-size:var(--text-s)}.feed{list-style:none}.feed-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--border)}.feed-item:last-child{border-bottom:0}.feed-date{color:var(--ink-3);font-size:var(--text-s);padding-top:2px}.feed-body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2);min-width:0}.feed-title{background:none;border:0;padding:0;text-align:left;font-weight:550;line-height:1.4}.feed-title:hover{color:var(--accent)}.feed-title:after{content:" ▾";color:var(--ink-3);font-size:.8em}.feed-title[aria-expanded=true]:after{content:" ▴"}.feed-detail{color:var(--ink-2);font-size:var(--text-s);display:flex;flex-direction:column;gap:var(--s-2);overflow-wrap:anywhere}.skeleton{display:block;border-radius:var(--radius);background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.state{text-align:center;padding:var(--s-7) var(--s-5);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-l);display:flex;flex-direction:column;gap:var(--s-2);align-items:center}.state-error{border-color:var(--bad)}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--border);flex-wrap:wrap}.segmented button{border:0;background:transparent;padding:6px 14px;border-radius:8px;font-size:var(--text-s);font-weight:550;color:var(--ink-2)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.filters{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:flex-end;margin-bottom:var(--s-4)}.field{display:flex;flex-direction:column;gap:2px}.field.grow{flex:1 1 240px}.field-label{font-size:var(--text-xs);color:var(--ink-3);font-weight:600}.filters input,.filters select,.field-block input{width:100%;padding:8px 10px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface)}.filters select{min-width:96px}.field-block{display:flex;flex-direction:column;gap:var(--s-1);font-size:var(--text-s);font-weight:600;color:var(--ink-2)}.field-block input{font-size:var(--text-m);padding:10px 12px;font-weight:400;color:var(--ink)}.segmented-small button{padding:4px 10px}.badge-blocked{display:inline-flex;margin-left:var(--s-2);padding:1px 8px;border-radius:999px;border:1px solid var(--warn);color:var(--warn);font-size:.75rem;font-weight:650;white-space:nowrap;vertical-align:middle}.name-alt{font-size:var(--text-s);color:var(--ink-3);font-weight:400}.blocked-note{font-size:var(--text-s);color:var(--ink-2)}.blocked-note summary{cursor:pointer;color:var(--accent)}.gap-ahead{color:var(--ok);font-weight:600}.gap-behind{color:var(--bad);font-weight:600}.target-status{font-size:var(--text-xs);color:var(--ink-3);line-height:1.3}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-1);font-size:var(--text-s);color:var(--ink-3);margin-bottom:var(--s-1)}.crumbs li+li:before{content:"/";margin-right:var(--s-1)}.crumbs a{color:var(--ink-2)}.crumbs [aria-current=page]{color:var(--ink);font-weight:600;font-family:var(--mono);font-size:.92em}.section-index{position:sticky;top:var(--topbar-h);z-index:15;margin:0 calc(var(--s-5) * -1);padding:var(--s-2) var(--s-5);background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}@media(max-width:860px){.section-index{margin-inline:calc(var(--s-4) * -1);padding-inline:var(--s-4)}}.section-index ul{list-style:none;display:flex;gap:var(--s-1);overflow-x:auto;scrollbar-width:none}.section-index a{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-size:var(--text-s);font-weight:550;color:var(--ink-2);text-decoration:none;white-space:nowrap}.section-index a:hover{background:var(--surface-2)}.section-index a[aria-current=true]{background:var(--accent-soft);color:var(--accent)}.countdowns{list-style:none;display:flex;gap:var(--s-2);flex-wrap:wrap}.countdowns .chip{white-space:normal;background:var(--surface-2);border:1px solid var(--border);font-weight:550}.card[id],.kpi-grid[id],.grid-cards[id],.two-col[id]{scroll-margin-top:calc(var(--topbar-h) + 64px)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-4)}.kpi-hero,.kpi-wide{grid-column:span 2}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.kpi-hero,.kpi-wide{grid-column:1 / -1}}.value-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.sparkline{flex:none}.spark-line{fill:none;stroke:var(--series-actual);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.spark-dot{fill:var(--series-actual)}.callout{display:flex;flex-direction:column;gap:var(--s-2);background:var(--warn-soft);border-color:var(--warn)}.callout .stat-label,.callout .blocked-note{color:var(--ink)}.callout .stat-value small{color:var(--ink-2)}.callout-link{align-self:flex-start;margin-top:auto;color:var(--ink);text-decoration:underline;padding-inline:0}.bullet-track{position:relative;height:14px;border-radius:var(--radius-s);background:var(--surface-3);margin-top:var(--s-2)}.bullet-fill{position:absolute;inset:3px auto 3px 0;border-radius:3px;background:var(--accent);transition:width .5s var(--ease)}.bullet-mark{position:absolute;top:-3px;bottom:-3px;width:3px;margin-left:-1px;border-radius:2px}.bullet-key{list-style:none;display:flex;flex-wrap:wrap;gap:2px var(--s-3);margin-top:var(--s-2);font-size:var(--text-s);color:var(--ink-2)}.key-swatch{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px}.key-swatch.fill{background:var(--accent)}.key-swatch.floor{background:var(--series-floor);width:3px;height:14px;vertical-align:middle}.key-swatch.line{background:var(--ink-2);width:3px;height:14px;vertical-align:middle}.delta-figures{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);align-items:baseline}.moved{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--s-2) var(--s-4)}.moved li{display:flex;align-items:center;gap:var(--s-3)}.heat-table th,.heat-table td{padding:6px var(--s-3)}.heat-cell-n{min-width:52px;font-weight:600;border-radius:0}.heat-cell-n.zero{color:var(--ink-3);font-weight:400}.kbd{font-family:var(--mono);font-size:var(--text-xs);padding:1px 6px;border:1px solid var(--border-strong);border-radius:var(--radius-s);color:var(--ink-2);background:var(--surface-2)}.search-btn{color:var(--ink-2)}.palette-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0f081473;display:flex;justify-content:center;align-items:flex-start;padding:min(14vh,120px) var(--s-4) var(--s-4)}.palette{width:min(620px,100%);max-height:min(70vh,560px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-l);box-shadow:var(--shadow-2);overflow:hidden}.palette-input{border:0;border-bottom:1px solid var(--border);padding:var(--s-4) var(--s-5);font-size:var(--text-l);background:transparent;outline:none;width:100%}.palette-input:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;border-radius:0}.palette-list{overflow-y:auto;padding:var(--s-2);flex:1}.palette-group{font-size:var(--text-xs);font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);padding:var(--s-2) var(--s-3) var(--s-1)}.palette-item{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:10px var(--s-3);border-radius:var(--radius);cursor:pointer;min-height:44px}.palette-item[data-active=true]{background:var(--accent-soft)}.palette-label{overflow-wrap:anywhere}.palette-hint{flex:none;font-size:var(--text-s)}.palette-empty{padding:var(--s-5);text-align:center}.palette-help{padding:var(--s-2) var(--s-4);border-top:1px solid var(--border);font-size:var(--text-xs)}.segmented-small{background:transparent;border-color:transparent;flex-wrap:nowrap;padding:0}.segmented-small button{padding:4px 8px;color:var(--ink-3);border-radius:var(--radius-s)}.segmented-small button[aria-pressed=true]{background:var(--surface-2);color:var(--ink);box-shadow:none}.page-actions .segmented{flex-wrap:nowrap}@media(max-width:860px),(pointer:coarse){.btn,.btn-icon,.topbar .btn,.segmented button,.segmented-small button,.nav a,.filters input,.filters select,.th-btn,.section-index a,.field-block input,.feed-title{min-height:44px}.btn-icon,.topbar .btn-icon,.segmented-small button,.th-btn{min-width:44px}.feed-title{display:inline-flex;align-items:center}.accordion summary{min-height:44px;display:flex;align-items:center}.code-link,.chip-code{min-height:32px;display:inline-flex;align-items:center}.fn-table td{padding-block:8px}}@media(max-width:700px){.filters{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2) var(--s-3)}.filters .field.grow,.filters .btn{grid-column:1 / -1}.filters select{min-width:0}}.moved-group+.moved-group{margin-top:var(--s-2)}.moved-head{display:flex;align-items:center;gap:var(--s-2);font-size:var(--text-s);color:var(--ink-2);margin-bottom:var(--s-2)}.moved{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr))}.moved li{min-width:0}.moved-name{flex:1;min-width:0;overflow-wrap:anywhere;font-size:var(--text-s)}.moved-from{flex:none;font-size:var(--text-xs)}.chart{position:relative;width:100%}.chart svg{display:block;max-width:100%;overflow:visible}.grid-line{stroke:var(--border);stroke-width:1}.axis-text{fill:var(--ink-3);font-size:12px;font-family:var(--font)}.axis-text.subtle{font-size:12px;opacity:.8}.value-text{fill:var(--ink-2);font-weight:600}.series{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.series-plan{stroke:var(--series-plan);stroke-dasharray:6 5;stroke-width:2}.series-floor{stroke:var(--series-floor);stroke-dasharray:2 4;stroke-width:2.5}.series-actual{stroke:var(--series-actual)}.dot-actual{fill:var(--surface);stroke:var(--series-actual);stroke-width:2.5}.today-line{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 3}.today-text{font-weight:650}.hover-line{stroke:var(--ink-3);stroke-width:1;opacity:.6}.bar-delta{fill:color-mix(in srgb,var(--accent) 38%,var(--surface));stroke:var(--accent);stroke-width:1;transition:fill .15s}.bar-delta.is-active{fill:color-mix(in srgb,var(--accent) 60%,var(--surface))}.tooltip{position:absolute;transform:translate(-50%);display:flex;flex-direction:column;gap:2px;padding:var(--s-2) var(--s-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-2);font-size:var(--text-s);pointer-events:none;white-space:nowrap;z-index:2}.key{display:inline-block;width:18px;height:0;margin-right:6px;vertical-align:middle;border-top:3px solid}.key-actual{border-color:var(--series-actual)}.key-plan{border-color:var(--series-plan);border-top-style:dashed}.key-floor{border-color:var(--series-floor);border-top-style:dotted}.key-bar{height:10px;border:1px solid var(--accent);border-radius:3px;background:color-mix(in srgb,var(--accent) 38%,var(--surface))}.chart-legend{margin:var(--s-2) 0 0}.hbars,.flow{list-style:none;display:flex;flex-direction:column;gap:var(--s-3)}.hbars li{display:grid;grid-template-columns:minmax(120px,260px) minmax(0,1fr) 48px;gap:var(--s-3);align-items:center;font-size:var(--text-s)}@media(max-width:600px){.hbars li{grid-template-columns:minmax(0,1fr) 48px}.hbars .hbar-track{grid-column:1 / -1;order:3}}.hbar-track{display:block;height:12px;background:var(--surface-3);border-radius:999px;overflow:hidden}.hbar-track.thin{height:6px;margin-top:4px}.hbar-fill{display:block;height:100%;border-radius:999px;transition:width .5s var(--ease)}.hbar-accent{background:var(--accent)}.hbar-neutral{background:var(--series-plan)}.hbar-warn{background:var(--series-floor)}.hbar-ok{background:var(--ok)}.hbar-ghost{opacity:.55}.hbar-value{text-align:right;font-weight:650}.flow li{display:grid;grid-template-columns:130px minmax(0,1fr) 96px;gap:var(--s-3);align-items:center}.flow-bars{display:block}.flow-values{font-size:var(--text-s);text-align:right;line-height:1.3}@media(max-width:520px){.flow li{grid-template-columns:1fr 90px}.flow-bars{grid-column:1 / -1;order:3}}.heatmap{margin:0}.heat-grid{display:flex;gap:4px;align-items:flex-start}.heat-weekdays{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:var(--ink-3);margin-right:2px}.heat-weekdays span{height:18px;line-height:18px}.heat-col{display:flex;flex-direction:column;gap:4px}.heat-cell{width:18px;height:18px;border-radius:4px;background:var(--heat-0);display:block}.heat-cell.empty{background:transparent}.level-1{background:var(--heat-1)}.level-2{background:var(--heat-2)}.level-3{background:var(--heat-3)}.level-4{background:var(--heat-4)}.heatmap figcaption{margin-top:var(--s-2);font-size:var(--text-s)}.heat-scale{display:flex;align-items:center;gap:4px;margin-top:var(--s-3);font-size:var(--text-xs)}.heat-scale .heat-cell{width:14px;height:14px}.series-compare{stroke:var(--ink-3);stroke-dasharray:8 4;stroke-width:1.75;opacity:.7}.key-compare{border-color:var(--ink-3);border-top-style:dashed;border-top-width:2px;opacity:.7}.phases-table td:first-child{min-width:140px}.fn-table tbody tr{cursor:pointer;transition:background .12s}.fn-table tbody tr:hover{background:var(--surface-2)}.fn-table tbody tr.is-selected{background:var(--accent-soft)}.fn-table .name-cell{min-width:220px}.code-link{font-weight:600;text-decoration:none;white-space:nowrap}.th-btn{background:none;border:0;padding:0;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;display:inline-flex;gap:4px;align-items:center}.th-btn:hover{color:var(--ink)}.sort-ind{display:inline-block;width:10px}@media(max-width:1100px){.hide-l{display:none}}@media(max-width:860px){.hide-m{display:none}}@media(max-width:560px){.hide-s,.step-name{display:none}}.panel-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;border:0;z-index:40}.panel{position:fixed;top:0;right:0;bottom:0;width:min(580px,100vw);z-index:41;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-2);overflow-y:auto;animation:slide-in .22s var(--ease)}@keyframes slide-in{0%{transform:translate(40px)}}@media(min-width:1000px){.panel-scrim{background:transparent;pointer-events:none}}.panel-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-5);background:var(--surface);border-bottom:1px solid var(--border)}.panel-code{font-weight:650;color:var(--accent)}.panel-body{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-5);overflow-wrap:anywhere}.panel-body h2{font-size:var(--text-xl);line-height:1.25}.panel-body section{display:flex;flex-direction:column;gap:var(--s-2)}.panel-body h3{font-size:var(--text-s);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}.panel>.stack{padding:var(--s-5)}.checklist{list-style:none;display:flex;flex-direction:column;gap:var(--s-2)}.checklist li{display:grid;grid-template-columns:20px 1fr;gap:var(--s-2);font-size:var(--text-s)}.checklist li[data-done=false]{color:var(--ink-2)}.check{width:18px;height:18px;margin-top:1px;border-radius:5px;border:2px solid var(--border-strong);display:grid;place-items:center}.checklist li[data-done=true] .check{background:var(--ok);border-color:var(--ok);color:var(--surface)}.evidence{list-style:none;display:flex;flex-direction:column;gap:var(--s-1)}.evidence li{background:var(--surface-2);border-radius:var(--radius-s);padding:6px 10px;font-size:var(--text-xs)}.prose{white-space:pre-line;color:var(--ink-2)}.audit{margin:0;display:flex;flex-direction:column;gap:var(--s-2);font-size:var(--text-s)}.audit dt{font-weight:650}.audit dd{margin:0 0 var(--s-2);color:var(--ink-2)}.timeline{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-3);position:relative}.timeline li{display:flex;flex-direction:column;gap:4px;padding:var(--s-2) var(--s-3);background:var(--surface-2);border-radius:var(--radius)}.timeline .when{font-size:var(--text-xs);color:var(--ink-3)}.report-list{list-style:none;display:grid;gap:var(--s-3)}.report-link{display:flex;flex-direction:column;gap:var(--s-1);color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}.report-link:hover{border-color:var(--accent);transform:translateY(-1px)}.report-meta{display:flex;gap:var(--s-3);align-items:center}.back{margin-bottom:var(--s-3);font-size:var(--text-s)}.report{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-5);max-width:860px;box-shadow:var(--shadow-1)}.report-toolbar{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center}.spacer{flex:1}.report-head{display:flex;flex-direction:column;gap:var(--s-3);align-items:flex-start}.report-facts{display:grid;grid-template-columns:max-content 1fr;gap:var(--s-1) var(--s-4);margin:0;font-size:var(--text-s);color:var(--ink-2)}.report-facts dt{font-weight:650}.report-facts dd{margin:0}.report section{display:flex;flex-direction:column;gap:var(--s-2)}.report h2{border-bottom:1px solid var(--border);padding-bottom:var(--s-1)}.report-items{padding-left:var(--s-5);display:flex;flex-direction:column;gap:var(--s-2)}.figures th{width:40%;font-weight:550;text-align:left}@media(max-width:600px){.report{padding:var(--s-4)}}.q-list{list-style:none;display:grid;gap:var(--s-3)}.q-card{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4) var(--s-5)}.q-head{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap}.q-impact{color:var(--ink-2);font-size:var(--text-s)}.q-people{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);margin:0;font-size:var(--text-s)}.q-people dt{color:var(--ink-3);font-size:var(--text-xs)}.q-people dd{margin:0}.auth{min-height:100vh;display:grid;place-items:center;padding:var(--s-4);background:radial-gradient(1200px 500px at 50% -10%,var(--accent-soft),transparent),var(--bg)}.auth-card{width:min(440px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-2);padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-4)}.auth-brand{padding:0}.form{display:flex;flex-direction:column;gap:var(--s-4)}.form-error{color:var(--bad);font-size:var(--text-s);font-weight:500}.code-input{letter-spacing:.5em;font-size:var(--text-xl)!important;text-align:center}.qr-box{border:1px solid var(--border);border-radius:var(--radius);padding:var(--s-3) var(--s-4) var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);align-items:center;text-align:center;min-width:0}.qr-box legend{font-weight:650;font-size:var(--text-s);padding:0 var(--s-2)}.qr{width:176px;height:176px;background:#fff;border-radius:var(--radius-s);padding:6px}.qr svg{width:100%;height:100%}.secret{-webkit-user-select:all;user-select:all;word-break:break-all;background:var(--surface-2);padding:2px 6px;border-radius:var(--radius-s)}@media(max-width:560px){.fn-table .name-cell{min-width:0}.table th,.table td{padding:10px var(--s-2)}}.auth-brand{justify-content:space-between}.audit dd,.prose,.panel-body .evidence+p{max-width:70ch}.activity-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:var(--s-5);align-items:start}@media(max-width:1100px){.activity-top{grid-template-columns:minmax(0,1fr)}}.diagram-card,.diagram{--mac-metal-a: #f4f6f9;--mac-metal-b: #c9d1db;--mac-edge: #7d8895;--mac-shadow: rgb(20 30 45 / 16%);--mac-screen-off: #2b323b;--mac-glow-a: #5cc3ee;--mac-glow-b: #1d6fb8;--mac-port: #6a7583}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .diagram{--mac-metal-a: #4b5766;--mac-metal-b: #28313c;--mac-edge: #8a97a6;--mac-shadow: rgb(0 0 0 / 45%);--mac-screen-off: #12171d;--mac-glow-a: #4cb8e6;--mac-glow-b: #1a4f8a;--mac-port: #0e1319}}:root[data-theme=dark] .diagram{--mac-metal-a: #4b5766;--mac-metal-b: #28313c;--mac-edge: #8a97a6;--mac-shadow: rgb(0 0 0 / 45%);--mac-screen-off: #12171d;--mac-glow-a: #4cb8e6;--mac-glow-b: #1a4f8a;--mac-port: #0e1319}.diagram{display:grid;grid-template-columns:minmax(0,1fr) clamp(24px,6vw,64px) minmax(0,1.05fr) clamp(24px,6vw,64px) minmax(0,1fr);grid-template-rows:auto auto auto;align-items:start;row-gap:0;padding:var(--s-2) 0}.diagram>:nth-child(1){grid-area:1 / 1}.diagram>:nth-child(2){grid-area:1 / 2}.diagram>.server-node{grid-area:1 / 3}.diagram>:nth-child(4){grid-area:1 / 4}.diagram>:nth-child(5){grid-area:1 / 5}.diagram>.grid-gap{display:none}.diagram>:nth-child(7){grid-area:2 / 3}.diagram>:nth-child(8){grid-area:3 / 3}.mac-node,.server-node{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;min-width:0}.mac-art{width:100%;max-width:190px}.mac-svg{display:block;width:100%;height:auto}.mac-shadow{fill:var(--mac-shadow)}.mac-edge{stroke:var(--mac-edge);stroke-width:1.5}.mac-line{stroke:var(--mac-edge);stroke-width:1.2;opacity:.7}.mac-base{fill:var(--mac-edge);opacity:.45}.mac-port{fill:var(--mac-port);opacity:.8}.mac-notch{fill:var(--mac-edge);opacity:.55}.mac-cam{fill:var(--mac-edge)}.mac-screen-off{fill:var(--mac-screen-off)}.mac-sheen{fill:#fff;opacity:.1}.mac-ui rect{fill:#fff;opacity:.55}.mac-led-on{fill:var(--ok);animation:led 2.4s ease-in-out infinite}.mac-led-off{fill:var(--mac-edge);opacity:.6}@keyframes led{50%{opacity:.35}}.mac-node[data-state=silent] .mac-art{filter:grayscale(1);opacity:.6}.mac-name{display:flex;align-items:center;gap:var(--s-2);font-size:var(--text-m);margin-top:var(--s-2)}.mac-role{font-size:var(--text-xs);color:var(--ink-3);max-width:24ch;overflow-wrap:anywhere}.mac-status{font-size:var(--text-s);color:var(--ink-2);font-weight:550}.mac-node[data-state=silent] .mac-status{color:var(--ink-3)}.diverged-badge{margin-top:var(--s-1);background:var(--bad-soft);color:var(--bad);border:1px solid var(--bad);border-radius:999px;padding:2px 10px;font-size:var(--text-xs);font-weight:650;overflow-wrap:anywhere}.heartbeat{position:relative;flex:none;width:10px;height:10px;border-radius:50%;background:var(--ink-3)}.heartbeat.alive{background:var(--ok)}.heartbeat.alive:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--ok);animation:ping 1.8s ease-out infinite}@keyframes ping{0%{transform:scale(1);opacity:.9}to{transform:scale(3);opacity:0}}.link{position:relative;align-self:stretch;display:block;min-height:60px}.link-line{--rail: var(--border-strong);position:absolute;background:var(--rail)}.link-right .link-line,.link-left .link-line{left:0;right:0;top:clamp(30px,8vw,62px);height:3px;border-radius:2px}.link-up .link-line{top:0;bottom:0;left:50%;width:3px;margin-left:-1.5px;border-radius:2px}.link[data-alive=true] .link-line{background-image:radial-gradient(circle,var(--ok) 0 45%,transparent 55%);background-color:color-mix(in srgb,var(--ok) 28%,var(--border));background-size:14px 3px;animation:flow-right 1.1s linear infinite}.link-left[data-alive=true] .link-line{animation-name:flow-left}.link-up[data-alive=true] .link-line{background-size:3px 14px;animation-name:flow-up}.link-right .link-line,.link-left .link-line{background-repeat:repeat-x}.link-up .link-line{background-repeat:repeat-y}@keyframes flow-right{to{background-position:14px 0}}@keyframes flow-left{to{background-position:-14px 0}}@keyframes flow-up{to{background-position:0 -14px}}.link-up{min-height:40px}@media(prefers-reduced-motion:reduce){.heartbeat.alive:after{display:none}.link[data-alive=true] .link-line,.mac-led-on{animation:none}}@media(max-width:560px){.mac-role{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mac-name{font-size:var(--text-s);flex-direction:column;gap:4px}.mac-status{font-size:var(--text-xs)}}.leases{list-style:none;display:flex;flex-direction:column;gap:var(--s-3)}.leases li{display:flex;flex-direction:column;gap:2px;padding:var(--s-3);background:var(--warn-soft);border-radius:var(--radius);overflow-wrap:anywhere}.approvals{display:flex;align-items:baseline;gap:var(--s-2)}.approvals .big{font-size:var(--text-2xl);font-weight:650}.events{list-style:none;max-height:340px;overflow-y:auto}.events li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--border);align-items:center}.events li:last-child{border-bottom:0}.events time{grid-column:2}.event-text{overflow-wrap:anywhere;font-size:var(--text-s)}.heat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--s-5)}.heat-row .heat-cell{width:16px;height:16px}.heat-row .heat-weekdays span{height:16px;line-height:16px}@media print{@page{size:A4;margin:16mm}:root:root:root{color-scheme:light;--bg: #fff;--surface: #fff;--surface-2: #f2f2f2;--surface-3: #e6e6e6;--border: #ccc;--ink: #000;--ink-2: #222;--ink-3: #444;--accent: #0b5d82;--ok: #0a5c40;--warn: #7a4d00;--bad: #9b1c14}body{background:#fff;color:#000;font-size:11pt}.print-hide,.sidebar,.scrim-nav,.skip-link,.back{display:none!important}.shell{display:block}.content{padding:0;max-width:none}.report{border:0;box-shadow:none;padding:0;max-width:none;background:#fff;gap:14pt}.report section{break-inside:avoid-page}.report h2{break-after:avoid;border-color:#999}.report-items li{break-inside:avoid}.chip{border:1px solid #999;background:#fff;color:#000}.prose,.report-facts,.figures th,.figures td{color:#000}.table th,.table td{border-color:#ccc}}
