:root{--color-bg:#f4f6f8;--color-surface:#ffffff;--color-surface-raised:#eceff3;--color-border:#d7dde4;--color-hairline:#e5eaef;--color-text:#1a2330;--color-text-muted:#566374;--color-text-faint:#8894a3;--color-brand:#24587f;--color-brand-contrast:#f5f9fc;--color-accent:#2f7f74;--color-money:#8a6d1f;--color-machine:#3a6ea5;--color-human:#8a6d1f;--status-neutral-bg:#e2e7ec;--status-neutral-fg:#4d5a68;--status-info-bg:#2f6da8;--status-info-fg:#f2f7fc;--status-success-bg:#1f7a4d;--status-success-fg:#eefaf3;--status-warn-bg:#b07d1a;--status-warn-fg:#fff8e8;--status-danger-bg:#b03030;--status-danger-fg:#fdf0f0;--status-accent-bg:#24587f;--status-accent-fg:#f5f9fc;--score-0:#8894a3;--score-1:#927937;--score-2:#b07d1a;--score-3:#2f6da8;--score-4:#1f7a4d;--color-success:var(--status-success-bg);--color-warning:var(--status-warn-bg);--color-danger:var(--status-danger-bg);--font-display:Georgia,"Times New Roman",serif;--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,"Cascadia Code",Consolas,monospace;--text-xs:0.72rem;--text-sm:0.85rem;--text-base:0.95rem;--text-lg:1.1rem;--text-xl:1.4rem;--text-2xl:1.9rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--shadow-pop:0 8px 28px rgba(16,24,32,0.16)}[data-theme=dark]{--color-bg:#0f141a;--color-surface:#161d26;--color-surface-raised:#1e2733;--color-border:#2c3947;--color-hairline:#232e3b;--color-text:#e6ebf1;--color-text-muted:#9aa7b5;--color-text-faint:#647183;--color-brand:#5b9bd1;--color-brand-contrast:#0e1720;--color-accent:#4fa79a;--color-money:#d9b45b;--color-machine:#6fa7d8;--color-human:#d9b45b;--status-neutral-bg:#263140;--status-neutral-fg:#c3cdd8;--status-info-bg:#3d84c4;--status-info-fg:#f2f7fc;--status-success-bg:#2e9663;--status-success-fg:#eefaf3;--status-warn-bg:#c9973a;--status-warn-fg:#241a06;--status-danger-bg:#c44f4f;--status-danger-fg:#fdf0f0;--status-accent-bg:#35709f;--status-accent-fg:#f2f7fc;--score-0:#647183;--score-1:#ab8e46;--score-2:#d9b45b;--score-3:#6fa7d8;--score-4:#2e9663;--shadow-pop:0 8px 28px rgba(0,0,0,0.55)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);overflow-x:hidden}a{color:var(--color-brand)}button{font-family:var(--font-sans)}.container{max-width:74rem;margin:0 auto;padding:0 var(--space-4)}.hero{background:#121a24;color:#e6ebf1;padding:var(--space-6) 0}.hero .eyebrow{color:#6fa7d8}.hero h1{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2rem);margin:.2rem 0}.hero .sub{color:#9aa7b5;max-width:46rem;margin:0;font-size:var(--text-sm)}.hero-row{gap:var(--space-3);align-items:flex-end;justify-content:space-between}.hero-actions,.hero-row{display:flex;flex-wrap:wrap}.hero-actions{gap:var(--space-2)}.eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-faint);font-weight:700}.display{font-family:var(--font-display)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hairline{border:0;border-top:1px solid var(--color-hairline)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}.card.raised{background:var(--color-surface-raised)}.card.tight{padding:var(--space-3)}.btn{display:inline-flex;align-items:center;gap:.4em;line-height:1;border-radius:var(--radius-md);padding:.55em 1em;font-size:var(--text-sm);font-weight:600;cursor:pointer;border:1px solid transparent;text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--color-brand);color:var(--color-brand-contrast)}.btn.secondary{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-border)}.btn.ghost{background:transparent;color:var(--color-text-muted);border-color:transparent}.btn.ghost:hover{color:var(--color-text)}.btn.danger{background:var(--status-danger-bg);color:var(--status-danger-fg)}.btn.small{padding:.35em .7em;font-size:var(--text-xs)}.btn.on-dark{background:transparent;color:#e6ebf1;border-color:#45566a}.pill{border-radius:var(--radius-pill);padding:.3em .75em;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.chip,.pill{display:inline-flex;align-items:center;line-height:1;font-size:var(--text-xs)}.chip{gap:.35em;border-radius:var(--radius-sm);padding:.3em .55em;font-weight:500;background:var(--color-surface-raised);color:var(--color-text-muted);border:1px solid var(--color-border)}.tone-neutral{background:var(--status-neutral-bg);color:var(--status-neutral-fg)}.tone-info{background:var(--status-info-bg);color:var(--status-info-fg)}.tone-success{background:var(--status-success-bg);color:var(--status-success-fg)}.tone-warn{background:var(--status-warn-bg);color:var(--status-warn-fg)}.tone-danger{background:var(--status-danger-bg);color:var(--status-danger-fg)}.tone-accent{background:var(--status-accent-bg);color:var(--status-accent-fg)}.stat{display:flex;flex-direction:column;gap:.15rem;padding:var(--space-3) var(--space-4)}.stat .num{font-family:var(--font-display);font-size:1.6rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .subline{font-size:var(--text-xs);color:var(--color-text-faint)}.stat-ledger{display:flex;flex-wrap:wrap;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.stat-ledger .stat{flex:1 1 8rem;border-right:1px solid var(--color-hairline)}.stat-ledger .stat:last-child{border-right:0}.score-badge{display:inline-flex;line-height:1;font-size:var(--text-xs);font-weight:700;cursor:default}.score-badge .num{padding:.35em .55em;border-radius:var(--radius-sm) 0 0 var(--radius-sm);color:var(--color-brand-contrast);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.score-badge .tier{padding:.35em .55em;border-radius:0 var(--radius-sm) var(--radius-sm) 0;border:1px solid;border-left:0;background:var(--color-surface)}.input,.select,textarea.input{width:100%;padding:.5em .7em;font-size:var(--text-sm);font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.select{width:auto}.masked-input{-webkit-text-security:disc}.field{display:block;margin-bottom:var(--space-3)}.field>span{display:block;font-size:var(--text-xs);font-weight:600;margin-bottom:.25rem;color:var(--color-text-muted)}.topnav{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--color-surface) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-hairline)}.topnav-inner{display:flex;align-items:center;gap:var(--space-3);height:3.25rem;flex-wrap:nowrap}.brand{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);color:var(--color-text);text-decoration:none;white-space:nowrap}.navlinks{display:flex;gap:var(--space-1);flex-wrap:nowrap}.navlink{padding:.4em .7em;border-radius:var(--radius-md);text-decoration:none;color:var(--color-text-muted);font-size:var(--text-sm);white-space:nowrap;border-bottom:2px solid transparent}.navlink.active{color:var(--color-brand);font-weight:700;border-bottom-color:var(--color-brand)}.navlink:hover{color:var(--color-text)}.nav-spacer{flex:1 1}.iconbtn{display:inline-flex;align-items:center;justify-content:center;line-height:0;width:2rem;height:2rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;position:relative;font-size:.95rem}.iconbtn .badge{position:absolute;top:-.35rem;right:-.35rem;line-height:1;background:var(--status-danger-bg);color:var(--status-danger-fg);font-size:9px;font-weight:700;border-radius:var(--radius-pill);padding:2px 5px}.popover{position:absolute;right:0;top:calc(100% + .4rem);min-width:16rem;max-width:22rem;z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:var(--space-3)}.menu-item{display:block;width:100%;text-align:left;padding:.5em .6em;border:0;background:none;border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);cursor:pointer;text-decoration:none}.menu-item:hover{background:var(--color-surface-raised)}@media (max-width:900px){.navlinks{overflow-x:auto}.nav-hide-narrow{display:none}}.board{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:start}@media (max-width:1000px){.board{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.board{grid-template-columns:1fr}}.column{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2);min-height:12rem}.column.drop-hover{outline:2px solid var(--color-brand);outline-offset:-2px}.column-head{display:flex;align-items:center;gap:.5rem;padding:var(--space-2);font-size:var(--text-sm);font-weight:700}.dot{width:.55rem;height:.55rem;border-radius:50%;display:inline-block}.kcard{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2);cursor:-webkit-grab;cursor:grab}.kcard .strip{margin:calc(-1 * var(--space-3)) calc(-1 * var(--space-3)) var(--space-2);padding:.3rem var(--space-3);font-size:var(--text-xs);font-weight:700;border-radius:var(--radius-md) var(--radius-md) 0 0}.rowcard{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2)}.rowcard.highlighted{outline:2px solid var(--color-brand)}.row-open{cursor:pointer;border-radius:var(--radius-sm)}.row-open:hover{background:var(--color-surface-raised)}.row-open:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.row-open .row-actions{cursor:default}.iconbtn.small{width:1.75rem;height:1.75rem;font-size:.8rem}.iconbtn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.chip-line{gap:.4rem;align-items:center}.chip-line,.meta-line{display:flex;flex-wrap:wrap}.meta-line{font-size:var(--text-xs);color:var(--color-text-muted);gap:.75rem}.stack-row{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between;align-items:center;padding:var(--space-3);border-bottom:1px solid var(--color-hairline)}.stack-row:last-child{border-bottom:0}.tracker-section{margin-bottom:var(--space-4)}.tracker-head{display:flex;align-items:baseline;gap:.5rem;padding-bottom:.35rem;margin-bottom:var(--space-2);border-bottom:1px solid var(--color-hairline)}.tracker-head .count{font-size:var(--text-xs);color:var(--color-text-faint)}.tracker-section.primary .tracker-head{border-bottom-color:var(--color-border)}.tracker-section.primary .tracker-head .eyebrow{font-size:var(--text-sm);color:var(--color-text)}.tracker-section.quiet{opacity:.82}.tracker-row{border:1px solid var(--color-border);border-left:3px solid transparent;border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-2) var(--space-3);margin-bottom:.4rem;cursor:pointer}.tracker-row:hover{background:var(--color-surface-raised)}.tracker-row:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.tracker-row.overdue{border-left-color:var(--status-danger-bg)}.tracker-section.primary .tracker-row{padding:var(--space-3)}.tracker-row .action{font-weight:600;color:var(--color-text)}.tracker-row .eventline{font-size:var(--text-xs);color:var(--color-text-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tracker-empty{font-size:var(--text-sm);color:var(--color-text-muted);padding:.35rem 0 .6rem}.funnel{display:flex;gap:2px;height:2.1rem;border-radius:var(--radius-sm);overflow:hidden}.funnel .seg{display:flex;align-items:center;justify-content:center;min-width:2.2rem;font-size:var(--text-xs);font-weight:700;cursor:pointer;border:0;color:var(--color-brand-contrast)}.funnel .seg.empty{background:var(--color-surface-raised);color:var(--color-text-faint)}.funnel .seg.selected{outline:2px solid var(--color-text);outline-offset:-2px}.aging-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.aging-track{flex:1 1;height:.6rem;background:var(--color-surface-raised);overflow:hidden}.aging-fill,.aging-track{border-radius:var(--radius-pill)}.aging-fill{height:100%}.aging-fill.ok{background:var(--status-success-bg)}.aging-fill.warn{background:var(--status-warn-bg)}.aging-fill.hot{background:var(--status-danger-bg)}.overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:color-mix(in srgb,var(--color-text) 30%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:var(--space-4)}.dialog{width:100%;max-width:30rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:var(--space-6)}.grid2{grid-template-columns:1fr 1fr;grid-gap:var(--space-3)}.grid2,.grid3{display:grid;gap:var(--space-3)}.grid3{grid-template-columns:repeat(3,1fr);grid-gap:var(--space-3)}@media (max-width:860px){.grid2,.grid3{grid-template-columns:1fr}}.bar-track{background:var(--color-surface-raised);height:.5rem;overflow:hidden}.bar-fill,.bar-track{border-radius:var(--radius-pill)}.bar-fill{height:100%;background:var(--color-brand)}.muted{color:var(--color-text-muted)}.faint{color:var(--color-text-faint)}.small{font-size:var(--text-sm)}.xs{font-size:var(--text-xs)}.section-title{font-family:var(--font-display);font-size:var(--text-lg);margin:0 0 var(--space-2)}.settings-layout{display:grid;grid-template-columns:14rem 1fr;grid-gap:var(--space-4);gap:var(--space-4)}@media (max-width:860px){.settings-layout{grid-template-columns:1fr}}.rail-item{display:block;padding:.45em .7em;border-left:2px solid transparent;border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-text-muted);text-decoration:none;font-size:var(--text-sm)}.rail-item.active{border-left-color:var(--color-brand);background:var(--color-surface-raised);color:var(--color-text);font-weight:700}.pulse{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}.slide-bar{position:relative;height:.4rem;overflow:hidden;background:var(--color-surface-raised)}.slide-bar,.slide-bar:after{border-radius:var(--radius-pill)}.slide-bar:after{content:"";position:absolute;width:30%;height:100%;background:var(--color-brand);animation:slide 1.2s ease-in-out infinite}@keyframes slide{0%{left:-30%}to{left:100%}}