:root{--bg: #f3f2ee;--surface: #ffffff;--surface-2: #edece8;--text: #16181b;--muted: #5e6168;--border: #dedcd5;--border-strong: #c9c6be;--ink: #111214;--ink-2: #1c1e22;--ink-3: #2a2d33;--ink-text: #eceae4;--ink-muted: #b9b6ae;--gold: #c9a24a;--gold-text: #6b5317;--gold-soft: #faf5e8;--queen: #436b95;--queen-dark: #2f4e70;--queen-soft: #eef2f7;--accent: #c9a24a;--accent-text: #111214;--accent-soft: #faf5e8;--link: #436b95;--link-hover: #2f4e70;--focus: #436b95;--danger: #b3261e;--warn-soft: #fbefe2;--warn: #9a4a06;--good: #0f5132;--good-soft: #e3efe8;--track: #e6e4de;--series-0: #436b95;--series-1: #c9a24a;--radius: 14px;--shadow: 0 1px 2px rgb(17 18 20 / .04);--font-head: Sora, Inter, system-ui, sans-serif;color-scheme:light}:root[data-theme=dark]{--bg: #111214;--surface: #1c1e22;--surface-2: #17181b;--text: #eceae4;--muted: #a8a59d;--border: #2f3237;--border-strong: #42454b;--gold-text: #e3c67f;--gold-soft: #2a2416;--queen-soft: #1d2633;--accent-soft: #2a2416;--link: #9db7d4;--link-hover: #c7d7ea;--focus: #9db7d4;--danger: #f2a49e;--warn-soft: #3a2a1a;--warn: #f0a868;--good: #7fd1a6;--good-soft: #17301f;--track: #2f3237;--series-0: #9db7d4;--series-1: #c9a24a;color-scheme:dark}.theme-budget{--accent: #0f5132;--accent-text: #ffffff;--accent-soft: #e3efe8;--link: #13294b;--link-hover: #0f5132;--focus: #0f5132;--good: #0f5132;--warn: #9a4a06;--warn-soft: #fbefe2;--series-0: #0f5132;--series-1: #b08a2e;--app-hero: #13294b;--app-hero-text: #ffffff;--app-hero-muted: #b8c4d6;--app-hero-figure: #7fd1a6;--over: #c46a12;--savings: #b08a2e}:root[data-theme=dark] .theme-budget{--accent: #2f8a5e;--accent-soft: #17301f;--link: #9fc3e8;--link-hover: #7fd1a6;--focus: #7fd1a6;--good: #7fd1a6;--warn: #f0a868;--warn-soft: #3a2a1a;--series-0: #4fb889;--series-1: #d4ae55;--app-hero: #0f1f38}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{font-family:var(--font-head);font-weight:600}h1{font-size:1.6rem;margin:0 0 12px}h2{font-size:1.15rem;margin:0 0 12px}a{color:var(--link)}a:hover{color:var(--link-hover)}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger);margin:6px 0}.notice{background:var(--warn-soft);padding:8px 12px;border-radius:8px}.empty{color:var(--muted);padding:32px 0;text-align:center}input,select,textarea,button{font:inherit}input:not([type=checkbox]),select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:1px}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}label{display:block;font-weight:500;margin-bottom:4px}form>label{margin-bottom:14px}form>label input,form>label select{margin-top:4px;font-weight:400}button{cursor:pointer;border-radius:8px;padding:10px 16px;border:1px solid var(--border);background:var(--surface);color:var(--text)}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}button.danger{color:var(--danger)}button.link{background:none;border:none;padding:4px 0;color:var(--link)}button:disabled{opacity:.55;cursor:default}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:16px}.pill{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--text);margin-left:8px;text-transform:capitalize}.pill.private{background:var(--warn-soft);color:var(--text)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:none}.link-row{text-decoration:none;color:inherit}.list{list-style:none;padding:4px 20px}.auth{min-height:100vh;display:grid;place-items:center;padding:16px}.auth-card{width:100%;max-width:380px}.auth-card button.primary{width:100%;margin-top:4px}.auth-card{max-width:420px}.auth-card .tabs{margin:12px 0 16px}.auth-card .tabs button{flex:1;background:none;border:none;border-bottom:2px solid transparent;border-radius:0;padding:10px 8px;color:var(--muted);font:inherit;font-weight:500}.auth-card .tabs button.active{color:var(--text);border-bottom-color:var(--focus);font-weight:600}.name-row{display:flex;gap:12px}.name-row label{flex:1;min-width:0;margin-bottom:14px}.name-row input{margin-top:4px;font-weight:400}fieldset.choice{border:1px solid var(--border);border-radius:var(--radius);padding:4px 12px;margin:0 0 12px}label.check input[type=radio],label.check input[type=checkbox]{width:auto;margin:0;flex:none}label.check{justify-content:flex-start;font-weight:400}fieldset.choice legend{padding:0 4px;font-weight:500}.auth-card form>button:not(.primary):not(.link){width:100%;margin-bottom:12px}.auth-card .link{display:block;margin:10px auto 0}.auth-switch{text-align:center;margin-top:16px}.auth-switch .link{display:inline;margin:0}.topbar{--bar: var(--surface);--bar-text: var(--text);--bar-muted: var(--muted);--bar-border: var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 24px;min-height:64px;background:var(--bar);color:var(--bar-text);border-bottom:1px solid var(--bar-border);position:sticky;top:0;z-index:5}:root[data-theme=dark] .topbar{--bar: var(--ink);--bar-text: var(--ink-text);--bar-muted: var(--ink-muted);--bar-border: #34373c}.light-switch{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:44px;min-height:44px;border-radius:999px;border:1px solid var(--bar-border, var(--border));background:none;color:var(--gold-text);padding:0}.light-switch:hover{border-color:var(--gold)}.menu .light-switch.with-label{border:none;border-radius:8px;justify-content:flex-start;padding:0 12px;color:var(--text);width:100%}.topbar.admin-mode{border-bottom:3px solid var(--gold)}.topbar a{color:var(--bar-text)}.brand{text-decoration:none;color:inherit}.spacer{flex:1}.page{padding:20px 16px 48px;flex:1;min-width:0}.narrow{max-width:640px;margin:0 auto}.app-layout{display:flex}.side{width:220px;flex-shrink:0;padding:16px 8px;border-right:1px solid var(--border);min-height:calc(100vh - 49px)}.side .org{display:flex;flex-direction:column;padding:4px 12px 16px}.side a{display:block;padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--text)}.side a.active{background:var(--accent-soft);font-weight:600}.side[hidden]{display:none}.side-rail{width:52px;flex-shrink:0;padding:12px 4px;border-right:1px solid var(--border);display:flex;justify-content:center;align-items:flex-start}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0 10px}.menu-toggle.hide{border:none;background:none;color:var(--muted);font-size:14px;margin:0 0 8px 4px}.menu-toggle:hover{color:var(--text);border-color:var(--gold)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.toolbar h1{margin:0}.search{margin-bottom:12px}.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}.table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.table tbody tr{cursor:pointer}.table tbody tr:hover{background:var(--accent-soft)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.cards{display:none;list-style:none;padding:0;margin:0}.cards li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:8px;display:flex;flex-wrap:wrap;gap:4px 0;align-items:center;cursor:pointer}.cards li .muted{flex-basis:100%;font-size:.9rem}.form .field{margin-bottom:14px}.form .field small{display:block;margin-top:4px}.form .field.inline{display:flex;align-items:center;justify-content:space-between;gap:12px}.form .field.inline label{margin:0}.private-toggle{background:var(--warn-soft);border:1px solid var(--warn);padding:12px 14px;border-radius:8px}.form .private-toggle label{color:var(--text);font-weight:600;opacity:1}.private-toggle input[type=checkbox]{width:22px;height:22px;accent-color:var(--warn)}.req{color:var(--danger)}.actions{display:flex;gap:8px;align-items:center;margin-top:8px}a.button{display:inline-block;padding:10px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;font-weight:500}button.icon{min-width:44px;min-height:44px;padding:0;font-size:1.3rem;line-height:1}.dash-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.dash-head h1{margin:0;font-size:1.75rem;line-height:1.1}.dash-head p{margin:2px 0 0}.dash-grid{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.dash-card{flex:1 1 300px;min-width:0;margin:0}.dash-card.wide{flex:2 1 520px}.dash-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.dash-card-head h2{margin:0}.dash-foot{margin:14px 0 0}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.num.warn,.figure.warn dd{color:var(--warn)}.figure.good dd{color:var(--good)}.figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin:0}.figure dt{color:var(--muted);font-size:.85rem}.figure dd{margin:2px 0;font-size:1.45rem;font-weight:650;font-variant-numeric:tabular-nums}.progress-list,.value-list,.customise{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.progress-text{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;margin-bottom:6px}.bar{height:8px;border-radius:999px;background:var(--track);overflow:hidden}.bar span{display:block;height:100%;border-radius:999px;background:var(--accent)}.bar.over span{background:var(--over, var(--warn))}.value-list{gap:10px}.value-list li{display:flex;justify-content:space-between;gap:12px}.value-list small{display:block}.bars{margin:0}.bars-plot{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;height:160px}.bars-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}.bars-pair{flex:1;width:100%;display:flex;justify-content:center;align-items:flex-end;gap:3px}.bars-pair .b{width:16px;min-height:2px;border-radius:4px 4px 0 0}.s0{background:var(--series-0)}.s1{background:var(--series-1)}.legend{display:flex;gap:16px;margin-top:10px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:middle}.customise{gap:8px;margin:16px 0}.customise li{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;margin:0}.customise input[type=checkbox]{width:22px;height:22px}.customise label{flex:1;margin:0;padding:8px 0;cursor:pointer}.customise small{display:block;font-weight:400}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px;overflow-x:auto}.tabs a{padding:10px 14px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}.tabs a.active{color:var(--text);border-bottom-color:var(--focus);font-weight:600}.admin input[type=search]{width:100%;max-width:420px;margin-bottom:12px}.admin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.admin-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.admin-row .actions{margin:0}.org-link{margin-right:10px}label.check{display:flex;align-items:center;gap:8px;min-height:44px}@media(max-width:720px){.app-layout{flex-direction:column}.side{width:auto;min-height:0;display:flex;gap:4px;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border);padding:8px}.side .org{display:none}.side a{white-space:nowrap}.side-rail{width:auto;justify-content:flex-start;border-right:none;border-bottom:1px solid var(--border);padding:8px}.menu-toggle.hide{margin:0;flex-shrink:0}.menu-toggle.hide span,.table{display:none}.cards{display:block}.toolbar{flex-wrap:wrap}.dash-head h1{font-size:1.4rem}.dash-card,.dash-card.wide{flex-basis:100%}}.brand-mark{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:600}.brand-tile{width:34px;height:34px;border-radius:8px;background:var(--gold);color:var(--ink);display:grid;place-items:center;font-weight:700;font-size:11.5px;letter-spacing:-.2px}.brand-mark.large .brand-tile{width:44px;height:44px;border-radius:10px;font-size:15px}.brand-mark.large .brand-name{font-size:20px}.app-icon{display:inline-grid;place-items:center;border-radius:12px;flex:none}.topbar .switcher{display:inline-flex;align-items:center;gap:6px;min-height:44px;background:none;border:none;color:var(--bar-text);font-weight:600;padding:0 8px}.badge-admin{font-size:12px;font-weight:700;letter-spacing:1px;padding:5px 10px;border-radius:6px;background:var(--gold);color:var(--ink)}.topbar .admin-note{font-size:14px;color:var(--bar-muted)}.topbar .outline{min-height:40px;display:inline-flex;align-items:center;padding:0 14px;border-radius:8px;border:1px solid #4a4d53;background:none;color:var(--bar-text);font-size:14px;text-decoration:none}.menu-anchor{position:relative}.profile-button{display:inline-flex;align-items:center;gap:10px;min-height:44px;background:none;border:1px solid var(--bar-border);border-radius:999px;padding:4px 14px 4px 4px;color:var(--bar-text)}.profile-button[aria-expanded=true]{background:#1e2024;border-color:var(--gold)}.initials{width:34px;height:34px;border-radius:50%;background:var(--queen);color:#fff;display:grid;place-items:center;font-weight:600;font-size:14px;flex:none}.menu{position:absolute;right:0;top:calc(100% + 8px);width:300px;max-width:calc(100vw - 32px);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px #1112142e;padding:8px;display:flex;flex-direction:column;z-index:10}.menu.left{left:0;right:auto;width:260px}.menu .menu-head{padding:12px 12px 10px;border-bottom:1px solid var(--border);margin-bottom:6px}.menu a,.menu button{min-height:44px;display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:8px;color:var(--text);text-decoration:none;background:none;border:none;text-align:left;width:100%}.menu a:hover,.menu button:hover{background:var(--surface-2)}.menu .menu-admin{background:var(--gold-soft);color:var(--gold-text);font-weight:600}.menu .menu-last{border-top:1px solid var(--border);margin-top:6px;border-radius:0 0 8px 8px}.topbar .menu a{color:var(--text)}.split{min-height:100vh;display:flex;flex-wrap:wrap;background:var(--bg)}.split-brand{flex:1 1 520px;min-width:0;background:var(--ink);color:var(--ink-text);padding:56px 64px;display:flex;flex-direction:column;justify-content:space-between;gap:48px}.split-brand h1{margin:0;max-width:520px;font-size:clamp(30px,4vw,44px);line-height:1.12}.split-brand h1 em{font-style:normal;color:var(--gold)}.split-brand .eyebrow{font-size:13px;letter-spacing:1.2px;text-transform:uppercase;color:#8e8b83;margin-bottom:12px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{padding:8px 14px;border-radius:999px;background:#1e2024;border:1px solid #34373c;font-size:14px;color:var(--ink-muted)}.chip.live{border-color:var(--gold);color:var(--ink-text)}.split-form{flex:1 1 480px;min-width:0;display:grid;place-items:center;padding:48px 24px}.split-form .auth-card{width:100%;max-width:420px;padding:36px;border-radius:16px;margin:0}.split-form .auth-card h1{font-size:26px;margin-bottom:6px}.auth-card input:not([type=checkbox]):not([type=radio]){min-height:46px;border-color:var(--border-strong);border-radius:10px}.auth-card button.primary{min-height:48px;border-radius:10px}@media(max-width:640px){.split-brand{padding:28px 20px;gap:24px}.split-form{padding:24px 16px}.split-form .auth-card{padding:24px 20px}}.page.wide{max-width:1120px;margin:0 auto;padding:48px 32px;display:flex;flex-direction:column;gap:28px}.page.wide h1{font-size:clamp(26px,3vw,34px);margin:0}.lede{margin:6px 0 0;font-size:17px;color:var(--muted)}@media(max-width:640px){.page.wide{padding:28px 16px}}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.tile{text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px}.tile:hover{border-color:var(--border-strong);color:inherit}.tile.testing{border-style:dashed;border-color:#b9b6ae}.tile-head{display:flex;align-items:center;gap:14px}.tile-name{font-family:var(--font-head);font-size:20px;font-weight:600}.tile-open{align-self:flex-start;font-weight:600;color:var(--link)}.tile-note{padding:10px 12px;border-radius:10px;background:var(--gold-soft);color:var(--gold-text);font-size:14px}.tile.add{border:2px dashed var(--border-strong);background:transparent;align-items:center;justify-content:center;text-align:center;min-height:180px;gap:10px}.plus{width:52px;height:52px;border-radius:50%;border:2px solid var(--gold);display:grid;place-items:center;color:#8a6d1f}.catalogue{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.catalogue article{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px}.catalogue article.selected{border:2px solid var(--gold);padding:23px}.catalogue article h2{margin:0;font-size:20px}.catalogue article p{margin:0;color:var(--muted);line-height:1.5}.catalogue article button{margin-top:auto;min-height:46px;border-radius:10px;font-weight:600}.catalogue .head{display:flex;align-items:center;justify-content:space-between;gap:8px}.add-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;display:flex;flex-wrap:wrap;gap:32px}.add-panel>div{flex:1 1 320px}.add-panel form{flex:1 1 360px}.matches{margin-top:16px;padding:16px;border-radius:12px;background:var(--gold-soft);border:1px solid var(--gold);display:grid;gap:10px}.matches h3{margin:0;font-size:16px}.matches p{margin:0}.match{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--border)}.request-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 0}.request-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.request-actions select{width:auto}.sheet-choice{display:grid;gap:12px}.sheet-choice h2,.sheet-choice p{margin:0}.sheet-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.sheet-option{display:grid;gap:4px;text-align:left;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);height:auto;white-space:normal}.sheet-option:hover:not(:disabled){border-color:var(--gold)}.sheet-option strong{display:flex;align-items:center;gap:8px}.invite{margin-top:12px;padding:14px 16px;border-radius:12px;background:var(--queen-soft);color:var(--queen-dark);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.button-row{display:flex;flex-wrap:wrap;gap:12px}.button-row .primary{flex:1;min-height:46px;border-radius:10px}.stage{display:inline-block;font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}.stage.live{background:#e3efe8;color:#0f5132}.stage.development{background:#f6edd3;color:#6b5317}.stage.coming_soon{background:#e6edf5;color:#2f4e70}.stage.retired{background:#ecebe7;color:#4a4d53}.code-screen{min-height:calc(100vh - 64px);background:var(--ink);color:var(--ink-text);display:grid;place-items:start center;padding:48px 24px}.code-screen .box{width:100%;max-width:400px;display:flex;flex-direction:column;gap:20px}.code-screen .shield{width:64px;height:64px;border-radius:16px;background:#1e2024;border:1px solid var(--gold);display:grid;place-items:center}.code-screen h1{margin:0;font-size:26px}.code-screen p{margin:0;color:var(--ink-muted);line-height:1.55}.code-screen strong{color:var(--ink-text)}.code-screen input{min-height:52px;border:1px solid #3a3d42;background:#1e2024;color:var(--ink-text);font-size:22px;letter-spacing:6px}.code-screen button.primary{width:100%;min-height:50px;background:var(--gold);border-color:var(--gold);color:var(--ink)}.code-screen .link{color:#9db7d4;align-self:center}.code-screen .note{padding:14px;border-radius:12px;background:#1e2024;font-size:14px}.code-screen .error{color:#f2a49e}.console{display:flex;flex-wrap:wrap;min-height:calc(100vh - 67px);background:var(--surface-2)}.console-nav{flex:0 0 240px;background:var(--ink-2);padding:20px 12px;display:flex;flex-direction:column;gap:4px}.console-nav a{min-height:44px;display:flex;align-items:center;padding:0 14px;border-radius:8px;color:#c9c6be;text-decoration:none;border-left:3px solid transparent}.console-nav a:hover{color:#fff}.console-nav a.active{background:var(--ink-3);color:#fff;font-weight:600;border-left-color:var(--gold)}.console-main{flex:999 1 560px;min-width:0;padding:28px 32px;display:flex;flex-direction:column;gap:20px}.console-main h1{margin:0;font-size:28px}@media(max-width:820px){.console-nav{flex:1 1 100%;flex-direction:row;overflow-x:auto;padding:8px}.console-nav a{white-space:nowrap;border-left:none;border-bottom:3px solid transparent}.console-nav a.active{border-bottom-color:var(--gold)}.console-main{padding:20px 16px}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px}.stat .label{font-size:14px;color:var(--muted)}.stat .value{font-family:var(--font-head);font-size:30px;font-weight:600}.stat .sub{font-size:13px;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;gap:12px;min-width:0}.panel.gold{border-color:var(--gold)}.panel h2{margin:0;font-size:20px}.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.panels{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.panels>.panel{flex:1 1 320px}.panels>.panel.big{flex:2 1 520px}.scroll-x{overflow-x:auto}.console .table{min-width:480px}.console .table tbody tr{cursor:default}.console .table tbody tr:hover{background:none}.event{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--border)}.crumbs{font-size:14px;color:var(--muted)}.app-title{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.app-title h1{margin:0}.app-title .spacer{flex:1}.fields-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 16px;font-size:14px;padding:0 0 14px 16px}.row-open{background:var(--queen-soft)}.console button.small-gold{min-height:34px;padding:0 12px;border:1px solid var(--gold);border-radius:8px;background:var(--gold-soft);color:var(--gold-text);font-size:14px;font-weight:600}.console button.dark{background:var(--ink);color:var(--ink-text);border-color:var(--ink)}.console .tabs button{min-height:44px;padding:0 16px;background:none;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--muted)}.console .tabs button.active{color:var(--text);border-bottom-color:var(--queen);font-weight:600}.theme-budget .dash-head{flex-wrap:wrap;background:var(--app-hero);color:var(--app-hero-text);border-radius:16px;padding:20px 22px}.theme-budget .dash-head p,.theme-budget .dash-head .muted{color:var(--app-hero-muted)}.theme-budget .dash-head a,.theme-budget .dash-head button.link{color:#e9d9a8}.theme-budget .dash-head button,.theme-budget .dash-head a.button{background:transparent;color:var(--app-hero-text);border:1px solid rgb(255 255 255 / .35)}.theme-budget .dash-head button:hover,.theme-budget .dash-head a.button:hover{background:#ffffff14}.theme-budget{background:#f4f6f5;min-height:calc(100vh - 64px)}:root[data-theme=dark] .theme-budget{background:var(--bg)}.capitalize{text-transform:capitalize}.nowrap{white-space:nowrap}.inline-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px}ul.plain{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}button.link.strong{font-weight:600;color:var(--text)}.spaced{margin-top:28px}.narrow-form{max-width:640px}.panel.full{flex:1 1 100%}.code-screen label{color:var(--ink-text)}.code-screen form>label{margin-bottom:0}.stack{display:flex;flex-direction:column;gap:14px}.page.wide .tabs{margin:12px 0 0}.panel form>label{margin-bottom:14px}.panel textarea{resize:vertical}@media(max-width:560px){.profile-name,.topbar .admin-note{display:none}.profile-button{padding:4px}.topbar{padding:8px 14px}}.readonly{margin:4px 0 0;padding:10px 0;color:var(--muted)}.steps{list-style:none;padding:0;margin:16px 0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:var(--muted)}.steps span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--border-strong);margin-right:4px;font-size:13px}.steps .current{color:var(--text);font-weight:600}.steps .current span{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.steps .done span{background:var(--accent-soft);border-color:var(--accent)}.file-pick{display:flex;flex-direction:column;gap:8px;padding:28px;border:2px dashed var(--border-strong);border-radius:14px;text-align:center;align-items:center}.match-head{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end}.match-head>*{flex:1 1 200px}.table.match select,.table.match input{width:100%;min-width:200px}.table.match input,.table.match select+select{margin-top:6px}.row-problem td{color:var(--danger)}.progress{height:10px;border-radius:999px;background:var(--track);overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);transition:width .3s}.button-row a.button{display:inline-flex;align-items:center;justify-content:center}.tile-actions{display:flex;gap:16px;align-items:center}.promise{display:flex;flex-direction:column;gap:18px;max-width:560px}.lede-dark{margin:0;font-size:18px;line-height:1.55;color:var(--ink-muted)}.site{min-height:100vh;background:var(--bg)}.site-header{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:14px 32px;background:var(--ink);color:var(--ink-text);position:sticky;top:0;z-index:5}.site-header .brand{color:var(--ink-text)}.site-nav{display:flex;gap:4px}.site-nav a{min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border-radius:8px;color:#c9c6be;text-decoration:none}.site-nav a:hover{color:#fff}.site-header .primary{min-height:42px;padding:0 18px;border-radius:10px}.site-hero{display:flex;flex-wrap:wrap;align-items:center;gap:40px;padding:72px max(32px,calc((100vw - 1120px)/2));background:var(--ink);color:var(--ink-text)}.site-hero-text{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:18px;max-width:680px}.site-hero h1{margin:0;font-size:clamp(34px,5vw,56px);line-height:1.08}.site-hero h1 em{font-style:normal;color:var(--gold)}.site-hero p{margin:0;font-size:18px;line-height:1.6;color:var(--ink-muted)}.site-hero .eyebrow{font-size:13px;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);font-weight:600}.site-hero .button-row button{background:transparent;color:var(--ink-text);border-color:#4a4d53}.hero-faces{display:flex;gap:14px}.hero-faces .portrait:nth-child(2){margin-top:36px}.portrait{border-radius:50%;object-fit:cover;object-position:50% 15%;background:#1e2024;border:3px solid var(--gold);flex:none}.initials-portrait{display:inline-grid;place-items:center;font-family:var(--font-head);font-weight:600;font-size:32px;color:var(--gold);box-sizing:border-box}.site-section{max-width:1120px;margin:0 auto;padding:64px 32px 8px;scroll-margin-top:80px}.site-section h2{font-size:clamp(26px,3vw,34px);margin:4px 0 24px}.eyebrow-light{font-size:13px;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold-text);font-weight:600}.service-grid,.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.service,.work{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--gold);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:10px}.service h3,.work h3{margin:0;font-size:18px}.service p,.work p{margin:0;color:var(--muted);line-height:1.55}.service a{margin-top:auto;font-weight:600}.work .role,.person-card .role{font-size:14px;color:var(--gold-text);font-weight:600}.work .result{margin-top:auto;padding:8px 12px;border-radius:8px;background:var(--queen-soft);color:var(--queen-dark);font-weight:600;font-size:14px}.service-leads{margin-top:auto;display:flex;flex-wrap:wrap;gap:4px 14px}.stats-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stat{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-left:4px solid var(--gold);background:var(--surface);border-radius:8px}.stat strong{font-size:32px;line-height:1;color:var(--queen-dark)}.stat span{color:var(--muted);font-size:14px}.credential-list{margin:0;padding-left:18px;display:grid;gap:6px}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.person-card{text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px}.person-card:hover{border-color:var(--gold);color:inherit}.person-card h3{margin:0;font-size:20px}.person-card p{margin:0;color:var(--muted);line-height:1.55}.person-card .tile-open{margin-top:auto}.app-strip{display:flex;flex-wrap:wrap;gap:14px}.app-chip{display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;background:var(--surface);border:1px solid var(--border);border-radius:14px}.narrow{max-width:640px;margin:0 0 20px}.portfolio-hero{padding-top:56px;padding-bottom:56px}.back-link{color:#9db7d4;align-self:flex-start}.focus{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:8px}.focus li{padding:6px 12px;border-radius:999px;border:1px solid #4a4d53;font-size:14px;color:var(--ink-text)}.site-footer{margin-top:72px;padding:40px max(32px,calc((100vw - 1120px)/2));background:var(--ink-2);color:var(--ink-muted);display:flex;flex-wrap:wrap;gap:24px 48px;align-items:flex-start;justify-content:space-between}.site-footer .brand-mark{color:var(--ink-text)}.site-footer nav{display:flex;flex-direction:column;gap:8px}.site-footer nav a{color:#c9c6be}@media(max-width:640px){.site-header{padding:10px 16px;gap:10px}.site-nav{order:3;width:100%}.site-hero{padding:40px 16px}.site-section{padding:40px 16px 0}.hero-faces .portrait{width:76px;height:76px}.portfolio-hero .portrait{width:120px;height:120px}}a.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);text-decoration:none;font-weight:600}a.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}@media(max-width:640px){.hero-faces{display:none}}.modal-backdrop{position:fixed;inset:0;z-index:1000;background:#0000008c;display:grid;place-items:center;padding:16px}.modal{width:min(440px,100%);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 20px 60px #00000059;display:grid;gap:12px}.modal h2,.modal p{margin:0}.modal button{white-space:nowrap}.app-page{max-width:1100px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 24px;margin:8px 0 16px}.page-head h1{margin:0;font-size:1.75rem;line-height:1.15}.page-head p{margin:4px 0 0}.page-head .button-row .primary{flex:0 0 auto}.page-filters{display:flex;flex-wrap:wrap;gap:12px 20px;margin-bottom:16px}.page-filters .field{margin:0;min-width:180px;flex:1 1 180px}.page-section{margin-bottom:16px}.page-section h2{margin:0 0 10px}.page-section .empty{padding:12px 0;text-align:left}.page-notes{margin:8px 0 24px;padding-left:18px}.page-notes li+li{margin-top:4px}.table-scroll{overflow-x:auto;margin:0 -4px;padding:0 4px}table.report{width:100%;border-collapse:collapse;font-size:.92rem}table.report th,table.report td{padding:7px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}table.report th{color:var(--muted);font-weight:600;font-size:.8rem;white-space:nowrap;background:var(--bg)}table.report .num{text-align:right}table.report tr.strong td{font-weight:650}table.report tr.indent td:first-child{padding-left:26px}table.report tr.muted td{color:var(--muted)}table.report tr.warn td{color:var(--warn)}table.report tr.good td{color:var(--good)}table.report td:first-child{min-width:140px}.suggestion{background:var(--queen-soft);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin:4px 0 8px}.suggestion ul{margin:0 0 6px;padding-left:18px}.suggestion li+li{margin-top:2px}.suggestion button{margin-top:4px}.figure dd{white-space:nowrap;font-size:clamp(1.1rem,2.4vw,1.45rem)}.page-section .figures{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
