:root{color-scheme:light;--ground:#f3f4f1;--surface:#ffffff;--surface-2:#fafbf9;--surface-3:#eef0ec;--line:#e3e5e0;--line-strong:#ccd1ca;--ink:#15181a;--ink-2:#565e60;--ink-3:#868d8c;--accent:#1b6b58;--accent-ink:#12503f;--accent-soft:#e2efea;--on-accent:#ffffff;--good:#137a55;--good-soft:#e0f2ea;--warn:#9a6a00;--warn-soft:#fbf0d8;--bad:#c0322f;--bad-soft:#fbe6e5;--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100;--s5:#e87ba4;--s6:#008300;--s7:#4a3aa7;--s8:#e34948;--grid:#e8eae6;--shadow:0 1px 2px rgba(20,30,25,0.05),0 8px 20px -12px rgba(20,30,25,0.18);--shadow-lg:0 2px 6px rgba(20,30,25,0.06),0 24px 48px -24px rgba(20,30,25,0.3);--display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--sans:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;--rail-w:224px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ground:#131614;--surface:#1b1f1d;--surface-2:#212623;--surface-3:#282e2a;--line:#2b312e;--line-strong:#3d4541;--ink:#edf0ed;--ink-2:#a6afaa;--ink-3:#7c8581;--accent:#4fb396;--accent-ink:#7fcdb5;--accent-soft:#1c332b;--on-accent:#0d1a15;--good:#3fb98c;--good-soft:#16301f;--warn:#d9a53c;--warn-soft:#332913;--bad:#ef7b78;--bad-soft:#3a1e1d;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181;--s6:#3aa03a;--s7:#9085e9;--s8:#e66767;--grid:#262c29;--shadow:0 1px 2px rgba(0,0,0,0.3),0 10px 24px -14px rgba(0,0,0,0.7);--shadow-lg:0 2px 8px rgba(0,0,0,0.4),0 28px 56px -28px rgba(0,0,0,0.8)}}:root[data-theme=dark]{color-scheme:dark;--ground:#131614;--surface:#1b1f1d;--surface-2:#212623;--surface-3:#282e2a;--line:#2b312e;--line-strong:#3d4541;--ink:#edf0ed;--ink-2:#a6afaa;--ink-3:#7c8581;--accent:#4fb396;--accent-ink:#7fcdb5;--accent-soft:#1c332b;--on-accent:#0d1a15;--good:#3fb98c;--good-soft:#16301f;--warn:#d9a53c;--warn-soft:#332913;--bad:#ef7b78;--bad-soft:#3a1e1d;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181;--s6:#3aa03a;--s7:#9085e9;--s8:#e66767;--grid:#262c29;--shadow:0 1px 2px rgba(0,0,0,0.3),0 10px 24px -14px rgba(0,0,0,0.7);--shadow-lg:0 2px 8px rgba(0,0,0,0.4),0 28px 56px -28px rgba(0,0,0,0.8)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--display);font-weight:600;margin:0;text-wrap:balance;letter-spacing:-.015em}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}::placeholder{color:var(--ink-3)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.num{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pos{color:var(--good)}.neg{color:var(--bad)}.muted{color:var(--ink-3)}.stack{flex-direction:column}.row,.stack{display:flex}.row{align-items:center}.spacer{margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:7px 13px;cursor:pointer;font-size:13.5px;color:var(--ink-2);text-decoration:none;transition:background .12s,color .12s,border-color .12s}.btn:hover{background:var(--surface-3);color:var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent-ink);color:var(--on-accent)}.btn.ghost{border-color:transparent;background:none;padding:5px 8px}.btn.ghost:hover{background:var(--surface-3)}.btn.sm{padding:4px 9px;font-size:12.5px;border-radius:7px}.btn.lg{padding:11px 20px;font-size:15px;border-radius:9px}.btn.danger{color:var(--bad)}.btn.danger:hover:not(:disabled){background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.btn.block{width:100%}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:8px 10px;width:100%;min-width:0}input:disabled,select:disabled,textarea:disabled{background:var(--surface-3);color:var(--ink-3)}textarea{resize:vertical;min-height:72px}.fld{display:flex;flex-direction:column;gap:5px;min-width:0}.fld>.lbl,label.fld>span{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.fld .help{font-size:12px;color:var(--ink-3)}.pill{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;padding:2px 8px;border-radius:999px;white-space:nowrap}.pill.good{background:var(--good-soft);color:var(--good)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.mute{background:var(--surface-3);color:var(--ink-3)}.pill.accent{background:var(--accent-soft);color:var(--accent-ink)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px}.panel>header{padding:15px 17px 0;display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel>header h3{font-size:15.5px}.panel>header .hint{font-size:12px;color:var(--ink-3)}.panel .pad{padding:15px 17px}.empty{padding:36px 18px;text-align:center;color:var(--ink-3);font-size:13px}.empty strong{display:block;color:var(--ink-2);font-size:14px;margin-bottom:4px;font-weight:600}.notice{border-radius:9px;padding:10px 13px;font-size:13px;border:1px solid}.notice.error{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.notice.ok{background:var(--good-soft);border-color:var(--good);color:var(--good)}.notice.info{background:var(--accent-soft);border-color:transparent;color:var(--accent-ink)}.app{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr);min-height:100vh}.rail{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{padding:18px 16px 14px;border-bottom:1px solid var(--line)}.brandmark{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}.brandmark svg{width:22px;height:22px;flex:none}.brandmark .name{font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:-.02em}.budgetpick{margin-top:11px}.budgetpick select{font-size:12.5px;padding:5px 8px}.nav{padding:10px;flex-direction:column;gap:1px;flex:1 1;overflow:auto}.nav,.nav a{display:flex}.nav a{align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-size:13.5px}.nav a:hover{background:var(--surface-3);color:var(--ink)}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.nav .ico{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.nav .navsep{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:14px 10px 5px}.railfoot{padding:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.whoami{display:flex;align-items:center;gap:9px;padding:2px 4px;min-width:0}.avatar{width:27px;height:27px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);font-family:var(--display);font-weight:700;font-size:12px}.whoami .who{min-width:0}.whoami .who b{font-size:12.5px;font-weight:600}.whoami .who b,.whoami .who span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whoami .who span{font-size:11px;color:var(--ink-3)}.main{min-width:0;padding:24px 28px 72px;max-width:1280px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-head h2{font-size:25px}.page-head p{margin:6px 0 0;color:var(--ink-2);max-width:62ch;font-size:13px}.themetoggle{display:flex;background:var(--surface-3);border-radius:8px;padding:2px;gap:2px}.themetoggle button{flex:1 1;background:none;border:0;border-radius:6px;padding:5px 0;cursor:pointer;color:var(--ink-3);display:grid;place-items:center}.themetoggle button:hover{color:var(--ink)}.themetoggle button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.07)}.themetoggle svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.periodbar{align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 12px;margin-bottom:16px}.periodbar,.seg{display:flex;flex-wrap:wrap}.seg{background:var(--surface-3);border-radius:9px;padding:2px;gap:2px}.seg a,.seg button{background:none;border:0;padding:5px 11px;border-radius:7px;font-size:12.5px;color:var(--ink-2);cursor:pointer;white-space:nowrap;text-decoration:none}.seg a:hover,.seg button:hover{color:var(--ink)}.seg [aria-pressed=true],.seg [data-active=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.06)}.periodbar .range{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--ink-3);white-space:nowrap}.customdates{display:flex;gap:8px;align-items:flex-end}.customdates .fld{width:152px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:16px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px 17px;display:flex;flex-direction:column}.kpi .k-label{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.kpi .k-val{font-family:var(--display);font-size:29px;font-weight:600;letter-spacing:-.025em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15;margin-top:4px}.kpi .k-sub{font-size:11.5px;margin-top:5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .k-foot,.kpi .k-sub{font-family:var(--mono);color:var(--ink-3)}.kpi .k-foot{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:11px;border-top:1px solid var(--line);flex-wrap:wrap;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .k-foot,.kpi .k-foot .pill{line-height:1.5}.kpi.is-hero{background:var(--accent-soft);border-color:transparent}.kpi.is-hero .k-label,.kpi.is-hero .k-sub{color:var(--accent-ink);opacity:.85}.kpi.is-hero .k-foot,.kpi.is-hero .k-val{color:var(--accent-ink)}.kpi.is-hero .k-foot{border-top-color:color-mix(in srgb,var(--accent-ink) 22%,transparent)}.kpi.is-hero .pill{background:var(--surface)}.kpi.is-hero .pill.good{color:var(--good)}.kpi.is-hero .pill.warn{color:var(--warn)}.kpi.is-hero .pill.bad{color:var(--bad)}.kpi.is-hero .pill.mute{color:var(--ink-3)}.catlist{display:flex;flex-direction:column}.catrow{display:grid;grid-template-columns:24px minmax(0,1fr) 132px 88px auto;align-items:center;grid-gap:10px;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.catlist>.catrow:last-child{border-bottom:0}.catrow .idx{font-size:11px}.catrow .idx,.catrow .use{font-family:var(--mono);color:var(--ink-3);text-align:right}.catrow .use{font-size:11.5px;white-space:nowrap}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500;padding:10px 13px;white-space:nowrap;background:var(--surface)}td,th{border-bottom:1px solid var(--line)}td{padding:9px 13px;vertical-align:middle}tbody tr:hover td{background:var(--surface-2)}tr.total td{border-top:2px solid var(--line-strong);border-bottom:0}tr.sub td,tr.total td{font-weight:600;background:var(--surface-2)}tr.sec td{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-3)}td.amt,td.r,th.r{text-align:right}td.amt{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}td.note{color:var(--ink-3);font-size:12px;max-width:280px}.rowact{display:flex;gap:3px;justify-content:flex-end}@media (hover:hover){.rowact{opacity:0;transition:opacity .12s}tr:focus-within .rowact,tr:hover .rowact{opacity:1}}.catdot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:8px;vertical-align:-1px;flex:none}.minibar{height:7px;border-radius:3px;background:var(--surface-3);overflow:hidden;min-width:110px}.minibar>i{display:block;height:100%;border-radius:3px}.addrow{display:grid;grid-template-columns:140px 1.15fr 116px 1fr 1.3fr auto;grid-gap:10px;align-items:end;padding:14px 17px;background:var(--surface-2);border-radius:12px 12px 0 0}.addrow,.toolbar{gap:10px;border-bottom:1px solid var(--line)}.toolbar{display:flex;align-items:center;padding:11px 17px;flex-wrap:wrap}.toolbar .search{width:220px}.charts2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-gap:14px;gap:14px;margin-bottom:16px}.chartbox{padding:15px 17px 17px}figure{margin:0}figcaption{font-size:12px;color:var(--ink-3);margin-top:10px}svg.chart{display:block;width:100%;height:auto}svg .gridline{stroke:var(--grid);stroke-width:1}svg .axis{font-family:var(--mono);font-size:10px;fill:var(--ink-3)}svg .lbl{font-family:var(--sans);font-size:11.5px;fill:var(--ink-2)}svg .val{font-family:var(--mono);font-size:11px;fill:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}svg .hit{fill:transparent;cursor:pointer}.legend{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);margin-top:5px}.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}.tip{position:fixed;z-index:60;pointer-events:none;background:var(--surface);border:1px solid var(--line-strong);border-radius:9px;padding:9px 11px;box-shadow:var(--shadow);font-size:12px;min-width:145px;opacity:0;transition:opacity .1s}.tip[data-on="1"]{opacity:1}.tip .t-h{font-weight:600;margin-bottom:6px}.tip .t-r{display:flex;justify-content:space-between;gap:18px;font-family:var(--mono);font-size:11.5px}.tip .t-r span:first-child{color:var(--ink-3)}.matrix{overflow-x:auto}.matrix table{min-width:800px;font-size:12.5px}.matrix td:first-child,.matrix th:first-child{position:-webkit-sticky;position:sticky;left:0;background:var(--surface);z-index:2;min-width:210px;border-right:1px solid var(--line)}.matrix tr.sub td:first-child,.matrix tr.total td:first-child{background:var(--surface-2)}.matrix tr.sec td:first-child{background:var(--surface-3)}.matrix input{border:1px solid transparent;background:none;text-align:right;font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:5px 7px;border-radius:6px}.matrix input:hover{border-color:var(--line)}.matrix input:focus{border-color:var(--accent);background:var(--surface)}.matrix td.cell{padding:2px 4px;min-width:108px}.matrix .nm{border:1px solid transparent;background:none;padding:5px 7px;border-radius:6px;text-align:left;font-family:var(--sans);width:100%}.matrix .nm:hover{border-color:var(--line)}.scrim{position:fixed;inset:0;background:rgba(12,18,15,.45);display:grid;place-items:center;z-index:80;padding:18px}.modal{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);width:min(500px,100%);max-height:88vh;overflow:auto}.modal h3{padding:18px 20px 0;font-size:17px}.modal .body{padding:15px 20px;display:flex;flex-direction:column;gap:12px}.modal .foot{padding:12px 20px 18px;display:flex;gap:9px;justify-content:flex-end}.modal .row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.goalgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.goal{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 17px;flex-direction:column}.goal,.goal .g-top{display:flex;gap:10px}.goal .g-top{justify-content:space-between;align-items:flex-start}.goal h4{font-size:15px}.goal .g-nums{display:flex;align-items:baseline;gap:7px}.goal .g-now{font-family:var(--display);font-size:24px;font-weight:600;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.goal .g-of{font-size:12px}.goal .g-meta,.goal .g-of{font-family:var(--mono);color:var(--ink-3)}.goal .g-meta{display:flex;justify-content:space-between;font-size:11.5px}.onb{max-width:660px;margin:0 auto;padding:40px 20px 80px}.steps{display:flex;gap:8px;margin-bottom:26px}.steps>i{height:3px;flex:1 1;border-radius:2px;background:var(--surface-3)}.steps>i[data-on="1"]{background:var(--accent)}.onb h1{font-size:27px;margin-bottom:8px}.onb .lede{color:var(--ink-2);margin-bottom:24px;max-width:54ch}.onbfoot{display:flex;gap:10px;align-items:center;margin-top:26px}.pickgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:9px;gap:9px}.pick{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:9px;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;text-align:left;font-size:13.5px;color:var(--ink-2)}.pick:hover,.pick[aria-pressed=true]{border-color:var(--accent)}.pick[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.pick .tick{width:15px;height:15px;flex:none;border-radius:4px;border:1px solid var(--line-strong);display:grid;place-items:center;background:var(--surface)}.pick[aria-pressed=true] .tick{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.pick .tick svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.packs{display:grid;grid-gap:10px;gap:10px;margin-bottom:18px}.pack{text-align:left;border:1px solid var(--line-strong);background:var(--surface);border-radius:11px;padding:13px 15px;cursor:pointer}.pack:hover,.pack[aria-pressed=true]{border-color:var(--accent)}.pack[aria-pressed=true]{background:var(--accent-soft)}.pack b{display:block;font-size:14px;color:var(--ink);margin-bottom:3px}.pack span{font-size:12.5px;color:var(--ink-2)}.authwrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.authside{background:var(--accent);padding:44px;display:flex;flex-direction:column;justify-content:space-between}.authside,.authside .brandmark{color:var(--on-accent)}.authside blockquote{margin:0;font-family:var(--display);font-size:25px;line-height:1.3;letter-spacing:-.02em;max-width:22ch}.authside .cite{font-size:13px;opacity:.8;margin-top:14px}.authmain{display:grid;place-items:center;padding:40px 24px}.authcard{width:min(400px,100%);display:flex;flex-direction:column;gap:16px}.authcard h1{font-size:25px}.authcard .sub{color:var(--ink-2);font-size:13.5px;margin-top:6px}.authcard form{display:flex;flex-direction:column;gap:13px}.authalt{font-size:13px;text-align:center}.authalt,.divider{color:var(--ink-3)}.divider{display:flex;align-items:center;gap:12px;font-size:11.5px;font-family:var(--mono)}.divider:after,.divider:before{content:"";height:1px;background:var(--line);flex:1 1}.site{max-width:1120px;margin:0 auto;padding:0 24px}.sitenav{gap:16px;padding:20px 0}.sitenav,.sitenav .links{display:flex;align-items:center}.sitenav .links{margin-left:auto;gap:8px}.hero{padding:56px 0 44px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:44px;gap:44px;align-items:center}.hero .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:14px}.hero h1{font-size:clamp(32px,5vw,50px);line-height:1.06;letter-spacing:-.03em}.hero p.lede{font-size:16px;color:var(--ink-2);margin-top:16px;max-width:46ch}.hero .cta{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}.heroart{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:var(--shadow-lg)}.heroart .hk{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:13px}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));grid-gap:16px;gap:16px;padding:30px 0 60px}.feature h3{font-size:15.5px;margin-bottom:7px}.feature p{font-size:13.5px;color:var(--ink-2)}.feature .fi{width:32px;height:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;margin-bottom:12px}.feature .fi svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sitefoot{border-top:1px solid var(--line);padding:26px 0 44px;gap:16px;align-items:center;color:var(--ink-3)}.demobar,.sitefoot{display:flex;flex-wrap:wrap;font-size:12.5px}.demobar{align-items:baseline;gap:10px;background:var(--warn-soft);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);border-radius:10px;padding:9px 13px;margin-bottom:16px}.demobar strong{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;flex:none}.demobar code{font-family:var(--mono);font-size:11.5px;padding:1px 5px;border-radius:4px;background:color-mix(in srgb,var(--warn) 14%,transparent);margin:0 3px}.toasts{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:99;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{background:var(--ink);color:var(--ground);padding:10px 17px;border-radius:9px;font-size:13px;box-shadow:var(--shadow)}@media (max-width:1040px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.charts2{grid-template-columns:minmax(0,1fr)}.addrow{grid-template-columns:1fr 1fr}.hero{gap:32px}.authwrap,.hero{grid-template-columns:minmax(0,1fr)}.authside{display:none}}@media (max-width:760px){.app{grid-template-columns:minmax(0,1fr)}.rail{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav{flex-direction:row;overflow-x:auto;padding:8px;gap:4px}.nav a{white-space:nowrap}.nav .ico,.nav .navsep{display:none}.railfoot{flex-direction:row;align-items:center;justify-content:space-between}.railfoot .themetoggle{width:108px}.main{padding:18px 15px 64px}.addrow,.kpis,.modal .row2{grid-template-columns:minmax(0,1fr)}.catrow{grid-template-columns:20px minmax(0,1fr) 104px;row-gap:4px}.catrow .use{grid-column:2/3;text-align:left}.catrow>button{grid-column:3/4}}