:root{--bg: #f3f6f7;--surface: #ffffff;--surface-2: #eaf0f2;--text: #142e3a;--muted: #5f7079;--line: #dde5e9;--brand: #173d47;--brand-2: #23566a;--brand-soft: #e3eef0;--accent: #b6f16b;--accent-text: #2f5d0a;--gold: #c98a1d;--danger: #ae3c24;--danger-soft: #fbe9e7;--warn: #8a5a0b;--warn-soft: #fdf3dd;--ok: #1f7a4b;--ok-soft: #e2f3e8;--radius: 14px;--shadow: 0 1px 2px rgb(20 40 50 / 6%), 0 4px 16px rgb(20 40 50 / 6%);--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--grid: #e7ebe6;--axis: #c3c9c2;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0f1a1e;--surface: #16242a;--surface-2: #1f3037;--text: #e6edf0;--muted: #98a9b1;--line: #2b3d45;--brand: #7fd0d9;--brand-2: #9be0e7;--brand-soft: #1c3a42;--accent: #b6f16b;--accent-text: #b6f16b;--gold: #e3a94a;--danger: #ef7a70;--danger-soft: #3a2220;--warn: #e3a94a;--warn-soft: #3a3120;--ok: #6fd49b;--ok-soft: #1e3628;--shadow: 0 1px 2px rgb(0 0 0 / 30%);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--grid: #26302b;--axis: #3a4540;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{font:16px/1.5 var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--brand)}h1,h2,h3{line-height:1.2;margin:0 0 .5rem}h1 svg,h2 svg,h3 svg,p svg,li>svg,td svg,.notice svg{width:1.1em;height:1.1em;vertical-align:-.18em;color:var(--brand)}h1{font-size:1.6rem;letter-spacing:-.01em}h2{font-size:1.2rem}h3{font-size:1rem}p{margin:0 0 .75rem}.muted{color:var(--muted)}.small{font-size:.875rem}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.pos{color:var(--ok)}.neg{color:var(--danger)}[hidden]{display:none!important}.hide-mobile{display:inline}button,.btn{font:inherit;font-weight:600;border:1px solid transparent;border-radius:10px;padding:.6rem 1rem;cursor:pointer;background:var(--brand);color:#fff;display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;min-height:44px;white-space:nowrap}button svg,.btn svg{width:18px;height:18px;flex:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) button,:root:not([data-theme=light]) .btn{color:#0d1a1e}}button:hover,.btn:hover{background:var(--brand-2)}button:disabled{opacity:.55;cursor:default}.btn-ghost{background:transparent;color:var(--brand);border-color:var(--line)}.btn-ghost:hover{background:var(--surface-2)}.btn-accent{background:var(--accent);color:#12300a}.btn-accent:hover{background:#a9e85c}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger);filter:brightness(1.1)}.btn-danger-ghost{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--line));background:transparent}.btn-danger-ghost:hover:not(:disabled){background:var(--danger-soft)}.btn-small{padding:.35rem .7rem;min-height:34px;font-size:.9rem}.link-btn{background:none;border:0;color:var(--brand);padding:0;min-height:0;font-weight:600}.link-btn:hover{background:none;text-decoration:underline}label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.9rem}label .hint{font-weight:400;color:var(--muted);display:block;margin-top:.2rem;font-size:.85rem}input,select,textarea{font:inherit;width:100%;margin-top:.3rem;padding:.6rem .75rem;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);min-height:44px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 35%,transparent);outline-offset:1px}input[type=checkbox],input[type=radio]{width:auto;min-height:0;margin:0 .5rem 0 0}input[type=checkbox]{width:18px;height:18px}.check{display:flex;align-items:center;font-weight:500}.input-suffix{display:flex;align-items:center;gap:.5rem}.input-suffix input{flex:1;min-width:0}.input-suffix>span{color:var(--muted);font-weight:500;white-space:nowrap;margin-top:.3rem}.row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.row>.grow{flex:1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 1rem}@media(max-width:560px){.grid-2,.grid-3{grid-template-columns:1fr}}.actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;margin-top:.5rem}fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:.75rem 1rem .25rem;margin:0 0 1rem}legend{font-weight:700;font-size:.9rem;padding:0 .4rem}.radio-list label{display:flex;align-items:flex-start;gap:.5rem;font-weight:500;margin-bottom:.5rem}.radio-list input{margin-top:.3rem}.topbar{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}.topbar-inner{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;max-width:1240px;margin:0 auto}.logo{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.15rem;color:var(--text);text-decoration:none}.logo svg{width:28px;height:28px}.topbar .spacer{flex:1}.assoc-switch{font-weight:600;color:var(--muted);max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.top-link{color:var(--muted);text-decoration:none;font-weight:600;font-size:.92rem;padding:.3rem .4rem}.top-link:hover{color:var(--brand)}.layout{display:grid;grid-template-columns:230px 1fr;max-width:1240px;margin:0 auto;gap:1.5rem;padding:1.5rem 1rem 6rem}.layout.single{grid-template-columns:1fr;max-width:900px}.sidenav{position:sticky;top:76px;align-self:start;display:flex;flex-direction:column;gap:2px}.sidenav a{display:flex;align-items:center;gap:.65rem;padding:.6rem .8rem;border-radius:10px;color:var(--text);text-decoration:none;font-weight:550}.sidenav a:hover{background:var(--surface-2)}.sidenav a.active{background:var(--brand-soft);color:var(--brand)}.sidenav svg,.bottomnav svg{width:20px;height:20px;flex:none}.sidenav .badge{margin-left:auto}.bottomnav{display:none}.side-box{margin-top:1.25rem;padding:1rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);font-size:.85rem}.side-box strong{display:flex;align-items:center;gap:.4rem;color:var(--brand);font-size:.95rem}.side-box strong svg{width:16px;height:16px}.side-box p{color:var(--muted);margin:.4rem 0 .6rem}.side-box a{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem;padding:0!important;font-weight:700;color:var(--text)!important;background:none!important}.side-box a svg{width:16px!important;height:16px!important}main{min-width:0}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.page-head p{margin:.25rem 0 0}.section-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin:0 0 1.25rem;overflow-x:auto;scrollbar-width:none}.section-tabs::-webkit-scrollbar{display:none}.section-tabs a{flex:none;display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:.5rem .9rem;color:var(--muted);font-weight:650;text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}.section-tabs a:hover{color:var(--text)}.section-tabs a.active{color:var(--brand);border-bottom-color:var(--brand)}@media(max-width:820px){.layout{grid-template-columns:1fr;padding-top:1rem}}.app-shell{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-right:1px solid var(--line);padding:1.25rem 1rem 1rem;display:flex;flex-direction:column;gap:1rem;z-index:40}.sidebar-head{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.55rem;color:var(--text);text-decoration:none;letter-spacing:-.03em;padding:.1rem .2rem}.brand svg{width:40px;height:40px;flex:none}.brand b{color:var(--accent-text)}.nav-close{display:none;min-width:44px;justify-content:center;padding:.4rem}.company-card{display:flex;gap:.75rem;align-items:center;padding:.8rem .85rem;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--text);background:var(--bg)}.company-card:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}.company-icon{width:40px;height:40px;border-radius:10px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;flex:none}.company-icon svg{width:20px;height:20px}.company-text{min-width:0;display:flex;flex-direction:column}.company-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-text span{font-size:.82rem;color:var(--muted)}.sidebar .sidenav{position:static;display:flex;flex-direction:column;gap:2px}.sidebar .sidenav a{padding:.65rem .85rem;font-weight:500;color:var(--muted)}.sidebar .sidenav a svg{color:var(--muted)}.sidebar .sidenav a:hover{color:var(--text)}.sidebar .sidenav a.active{background:var(--brand-soft);color:var(--brand);font-weight:700}.sidebar .sidenav a.active svg{color:var(--brand)}.sidebar .side-box{margin-top:0}.sidebar-foot{margin-top:auto;padding-top:.9rem;border-top:1px solid var(--line);display:grid;gap:.4rem}.sidebar-links{display:flex;flex-wrap:wrap;gap:.25rem .9rem;font-size:.85rem}.sidebar-links a{color:var(--muted);text-decoration:none}.sidebar-links a:hover,.sidebar-links .link-btn:hover{color:var(--brand);text-decoration:underline}.sidebar-links .link-btn{color:var(--muted);font-weight:500;font-size:.85rem}.main-col{min-width:0;display:flex;flex-direction:column}.apptop{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.75rem;min-height:64px;padding:.6rem 2rem;background:var(--surface);border-bottom:1px solid var(--line)}.crumbs{display:flex;align-items:center;gap:.5rem;min-width:0;font-size:1rem}.crumbs a{color:var(--muted);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumbs a:hover{color:var(--brand)}.crumb-sep svg{width:14px;height:14px;color:var(--muted);vertical-align:-2px}.crumb-current{font-weight:600;white-space:nowrap}.apptop .spacer{flex:1}.currency{color:var(--muted);font-size:.9rem;white-space:nowrap}.hamburger{display:none;min-width:44px;justify-content:center;padding:.4rem;color:var(--text)}.hamburger svg{width:22px;height:22px}.content{padding:2rem 2.25rem 4rem;width:100%;max-width:1440px}.sidebar-overlay{display:none}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--muted);margin:0 0 .35rem}@media(min-width:1000px){.content h1{font-size:2rem}}@media(max-width:900px){.app-shell{display:block}.sidebar{position:fixed;top:0;bottom:0;left:0;height:100dvh;width:min(310px,86vw);z-index:70;transform:translate(-100%);transition:transform .25s cubic-bezier(.2,.8,.2,1);visibility:hidden}body.nav-open .sidebar{transform:none;visibility:visible;box-shadow:12px 0 40px #00000038}body.nav-open .sidebar-overlay{display:block;position:fixed;inset:0;z-index:65;background:#0a191e73}body.nav-open{overflow:hidden}.nav-close,.hamburger{display:inline-flex}.apptop{padding:.5rem .75rem;gap:.5rem;min-height:58px}.crumb-company,.crumb-sep,.currency{display:none}.crumb-current{font-size:1.05rem}.content{padding:1rem .75rem 3rem}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}.badge.forecast{background:transparent;border:1px dashed currentColor;color:var(--muted)}.forecast-note{margin-top:1rem;padding:.8rem 1rem;border:1px dashed color-mix(in srgb,var(--muted) 55%,var(--line));border-radius:12px;background:var(--bg)}.forecast-note a svg{width:14px;height:14px;vertical-align:-2px}.compare .col.forecast-col{background:var(--surface);border:1px dashed color-mix(in srgb,var(--muted) 55%,var(--line))}.stat.forecast-stat{border-style:dashed}.row-actions{display:flex;gap:.25rem;justify-content:flex-end;flex-wrap:nowrap}.icon-btn{background:transparent;color:var(--muted);border:1px solid transparent;min-height:38px;min-width:38px;padding:.3rem;justify-content:center}.icon-btn:hover{background:var(--surface-2);color:var(--brand)}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.icon-btn svg{width:18px;height:18px}@media(max-width:640px){table.stack td.cell-actions{justify-content:flex-end;border-top:1px dashed var(--line);margin-top:.35rem;padding-top:.45rem}.icon-btn{min-height:44px;min-width:44px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);margin-bottom:1rem}.card h2{margin-bottom:.75rem}.card-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.card-head h2{margin:0}.card.tip{background:var(--brand-soft);border-color:transparent}.card.tip h2{display:flex;align-items:center;gap:.45rem;font-size:1.05rem}.card.tip h2 svg{width:20px;height:20px;color:var(--brand)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:1rem}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow)}.stat .label{color:var(--muted);font-size:.85rem;font-weight:600}.stat .value{font-size:1.5rem;font-weight:750;margin-top:.2rem;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat .sub{font-size:.82rem;color:var(--muted);margin-top:.15rem}.stat.ok{border-left:4px solid var(--ok)}.stat.warn{border-left:4px solid var(--gold)}.stat.danger{border-left:4px solid var(--danger)}.bar{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin-top:.5rem;position:relative}.bar>span{display:block;height:100%;background:var(--brand);border-radius:99px}.bar.over>span{background:var(--danger)}.bar .target{position:absolute;top:-3px;width:2px;height:14px;background:var(--text)}.table-wrap{overflow-x:auto;margin:0 -1.25rem;padding:0 1.25rem}table{width:100%;border-collapse:collapse;font-size:.95rem}th{text-align:left;font-size:.8rem;color:var(--muted);font-weight:650;text-transform:uppercase;letter-spacing:.03em;padding:.5rem .6rem;border-bottom:1px solid var(--line);white-space:nowrap}th.num{text-align:right}td{padding:.65rem .6rem;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:var(--surface-2)}tfoot td{font-weight:700;border-top:2px solid var(--line)}tr.example td{color:var(--muted)}.list{list-style:none;margin:0;padding:0}.list li{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.list li:last-child{border-bottom:0}.list .grow{flex:1;min-width:0}.list .title{font-weight:600;overflow:hidden;text-overflow:ellipsis}.empty{text-align:center;padding:2rem 1rem;color:var(--muted)}.empty svg{width:42px;height:42px;opacity:.5;margin-bottom:.5rem}.badge{display:inline-block;font-size:.75rem;font-weight:700;padding:.15rem .55rem;border-radius:99px;background:var(--surface-2);color:var(--muted);white-space:nowrap}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.brand{background:var(--brand-soft);color:var(--brand)}.badge.example{background:var(--warn-soft);color:var(--warn);letter-spacing:.04em}.notice{border-radius:var(--radius);padding:.9rem 1.1rem;margin-bottom:1rem;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;border:1px solid var(--line);background:var(--surface)}.notice.warn{background:var(--warn-soft);border-color:transparent}.notice.danger{background:var(--danger-soft);border-color:transparent}.notice.ok{background:var(--ok-soft);border-color:transparent}.notice.info{background:var(--brand-soft);border-color:transparent}.notice .grow{flex:1;min-width:200px}.notice svg{width:20px;height:20px;flex:none}.tabs{display:flex;gap:.25rem;background:var(--surface-2);padding:.25rem;border-radius:12px;width:fit-content;margin-bottom:1rem;flex-wrap:wrap}.tabs button{background:transparent;color:var(--muted);min-height:36px;padding:.35rem .9rem}.tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.chips{border:0;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.5rem}.chip{margin:0;font-weight:500;position:relative}.chip input{position:absolute;left:0;top:0;width:1px;height:1px;min-height:0;margin:0;opacity:0;pointer-events:none}.chip span{display:inline-flex;align-items:center;min-height:40px;padding:.4rem .9rem;border:1px solid var(--line);border-radius:99px;background:var(--surface);cursor:pointer}.chip input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}.chip input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--brand) 35%,transparent)}dialog{border:0;border-radius:18px;padding:0;width:min(600px,calc(100vw - 2rem));background:var(--surface);color:var(--text);box-shadow:0 20px 60px #00000040;max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:#0a191e73}dialog form,dialog .dialog-body{padding:1.4rem}dialog h2{margin-bottom:1rem}dialog.wide{width:min(980px,calc(100vw - 2rem))}dialog .table-wrap{margin:0 -1.4rem;padding:0 1.4rem}#toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:.5rem;align-items:center;pointer-events:none}.toast{background:var(--text);color:var(--bg);padding:.7rem 1.1rem;border-radius:12px;font-weight:600;box-shadow:var(--shadow);max-width:90vw;animation:pop .2s ease-out}.toast.error{background:var(--danger);color:#fff}@keyframes pop{0%{transform:translateY(8px);opacity:0}}.hero{padding:4rem 1rem 3rem;text-align:center;max-width:860px;margin:0 auto}.hero h1{font-size:clamp(2rem,5vw,3.1rem);letter-spacing:-.02em;margin-bottom:1rem}.hero p{font-size:1.15rem;color:var(--muted);max-width:680px;margin:0 auto 1.5rem}.hero .row{justify-content:center}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;max-width:1200px;margin:0 auto;padding:1rem}.feature svg{width:30px;height:30px;color:var(--brand);margin-bottom:.5rem}.pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;max-width:720px;margin:0 auto;padding:1rem}.price{text-align:center}.price .amount{font-size:2rem;font-weight:800;margin:.5rem 0 0}.section-title{text-align:center;margin:3rem 0 1rem}.footer{text-align:center;color:var(--muted);font-size:.85rem;padding:3rem 1rem}.auth-card{max-width:440px;margin:3rem auto}.how{max-width:1100px;margin:0 auto;padding:0 1rem}.how-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.how-steps li{text-align:center;padding:1rem}.how-no{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;margin-bottom:.6rem}@media(max-width:720px){.how-steps{grid-template-columns:1fr}}.demo-calc{max-width:860px;margin:0 auto;padding:1rem}.steps{counter-reset:s;list-style:none;padding:0;margin:0}.steps li{counter-increment:s;display:flex;gap:.75rem;align-items:flex-start;padding:.6rem 0}.steps li:before{content:counter(s);flex:none;width:28px;height:28px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:800;display:grid;place-items:center;font-size:.9rem}.onboard{border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}.onboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.onboard-head h2{margin:0 0 .15rem}.onboard-head p{margin:0}.progress{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin:.9rem 0 .5rem}.progress>span{display:block;height:100%;background:var(--ok);border-radius:99px;transition:width .4s ease}.onboard-steps{list-style:none;margin:0;padding:0}.onboard-steps li{display:flex;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.onboard-steps li:last-child{border-bottom:0;padding-bottom:0}.onboard-steps .grow{flex:1;min-width:0}.onboard-no{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--surface-2);color:var(--muted)}.onboard-no svg{width:18px;height:18px}.onboard-steps li.next .onboard-no{background:var(--brand);color:#fff}.onboard-steps li.done .onboard-no{background:var(--ok-soft);color:var(--ok)}.onboard-steps li.done strong{color:var(--muted);font-weight:600}.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}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.chart-grid>.card{margin-bottom:0;min-width:0}.chart-grid+.card,.chart-grid+.chart-grid{margin-top:1rem}@media(max-width:1000px){.chart-grid{grid-template-columns:1fr}}.chart-svg{display:block;overflow:visible;font-family:var(--font)}.chart-svg .grid{stroke:var(--grid);stroke-width:1}.chart-svg .axis{stroke:var(--axis);stroke-width:1}.chart-svg .tick{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.chart-svg .hit{fill:transparent}.chart-svg .hit.on{fill:var(--surface-2)}.chart-svg .mark{pointer-events:none}.chart-svg .hit-line{fill:transparent;cursor:crosshair}.chart-svg .crosshair{stroke:var(--muted);stroke-width:1;pointer-events:none}.chart-svg .end-dot{stroke:var(--surface);stroke-width:2;pointer-events:none}.chart-svg .track{fill:var(--surface-2)}.chart-svg .target-line{stroke:var(--text);stroke-width:1.5;stroke-dasharray:5 4}.chart-svg .band{opacity:.18}.chart-svg .row-label{fill:var(--text);font-size:13px}.chart-svg .row-value{fill:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.chart-svg .row-value.over{fill:var(--danger);font-weight:700}.chart-svg .seg{stroke:none;cursor:pointer}.chart-svg .donut-empty{stroke:var(--surface-2)}.chart-svg .donut-value{fill:var(--text);font-size:26px;font-weight:750}.chart-svg .donut-label{fill:var(--muted);font-size:12px}.chart-legend{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.82rem;color:var(--muted);margin-bottom:.6rem}.chart-legend span{display:inline-flex;align-items:center;gap:.4rem}.chart-legend i,.donut-legend i,.tip-row .key{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}.chart-empty{color:var(--muted);text-align:center;padding:2rem 0;margin:0}.donut-wrap{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;justify-content:center}.donut-legend{list-style:none;padding:0;margin:0;display:grid;gap:.6rem;min-width:180px}.donut-legend li{display:flex;align-items:center;gap:.5rem}.donut-legend span{flex:1;color:var(--muted)}.chart-tip{position:fixed;z-index:200;pointer-events:none;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;box-shadow:0 8px 24px #00000024;font-size:.82rem;min-width:150px}.chart-tip .tip-title{font-weight:700;margin-bottom:.3rem}.chart-tip .tip-row{display:flex;align-items:center;gap:.45rem;padding:.1rem 0}.chart-tip .tip-row span:nth-child(2){flex:1;color:var(--muted)}.chart-tip .tip-warn{color:var(--danger);font-weight:600;margin-top:.3rem}.compare{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.compare .col{background:var(--surface-2);border-radius:12px;padding:.9rem 1rem;min-width:0}.compare .col h3{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.95rem}.compare .col .big{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.compare .col dl{margin:.5rem 0 0;display:grid;grid-template-columns:1fr auto;gap:.2rem .6rem;font-size:.88rem}.compare .col dt{color:var(--muted)}.compare .col dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.compare .col.primary{background:var(--brand-soft)}@media(max-width:760px){.compare{grid-template-columns:1fr}}.kv{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.history{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}.history li{padding:.3rem 0 .6rem 1rem;position:relative;font-size:.9rem}.history li:before{content:"";position:absolute;left:-7px;top:.65rem;width:12px;height:12px;border-radius:50%;background:var(--brand);border:2px solid var(--surface)}.history .when{color:var(--muted);font-size:.8rem}.margin-bar{display:flex;align-items:center;gap:.6rem;min-width:160px}.margin-bar .bar{flex:1;margin:0}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.35rem;vertical-align:middle}.status-dot.ok{background:var(--ok)}.status-dot.warn{background:var(--gold)}.status-dot.danger{background:var(--danger)}.status-dot.muted{background:var(--muted)}.lines-edit{width:100%}.lines-edit td{padding:.3rem .4rem}.lines-edit input,.lines-edit select{margin:0;min-height:40px;padding:.4rem .6rem}.lines-edit .num input{text-align:right}.suggest-wrap{position:relative}.suggest{position:absolute;left:0;right:0;top:100%;z-index:40;margin:.25rem 0 0;padding:.3rem;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #00000024;max-height:320px;overflow-y:auto;font-weight:400}.suggest li{display:flex;flex-direction:column;gap:.05rem;padding:.55rem .7rem;border-radius:8px;cursor:pointer;min-height:44px;justify-content:center}.suggest li span:first-child{font-weight:600;color:var(--text)}.suggest li:hover,.suggest li.active{background:var(--brand-soft)}.drop{border:2px dashed var(--line);border-radius:var(--radius);padding:1.5rem;text-align:center;color:var(--muted);cursor:pointer}.drop.over{border-color:var(--brand);background:var(--brand-soft)}.drop svg{display:block;width:32px;height:32px;margin:0 auto .5rem;color:var(--brand)}.map-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 1rem}.feed li{align-items:flex-start}.feed .delta{font-weight:700;white-space:nowrap}.print-only{display:none}.filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.filter-bar input[type=search]{margin:0;max-width:320px;min-width:180px}.filter-bar select{margin:0;width:auto}.contact-card{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}.contact-card .avatar{width:64px;height:64px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.3rem;flex:none}.privacy h3{margin-top:1.25rem}.privacy ul{padding-left:1.2rem}.welcome-list{list-style:none;margin:.75rem 0;padding:0;display:grid;gap:.75rem}.welcome-list li{display:flex;gap:.75rem;align-items:flex-start}.welcome-list svg{width:22px;height:22px;flex:none;color:var(--brand);margin-top:.1rem}body.help-open{overflow:hidden}.help-root{position:fixed;inset:0;z-index:150}.help-overlay{position:absolute;inset:0;background:#0a191e66;opacity:0;transition:opacity .25s ease}.help-drawer{position:absolute;top:0;right:0;bottom:0;width:min(420px,100vw);display:flex;flex-direction:column;background:var(--surface);color:var(--text);box-shadow:-12px 0 40px #0000002e;outline:none;transform:translate(100%);transition:transform .25s cubic-bezier(.2,.8,.2,1)}.help-root.open .help-overlay{opacity:1}.help-root.open .help-drawer{transform:none}.help-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.25rem .9rem;border-bottom:1px solid var(--line)}.help-head h2{margin:.15rem 0 0;font-size:1.3rem}.help-kicker{display:inline-flex;align-items:center;gap:.35rem;color:var(--brand);font-weight:700;font-size:.85rem}.help-kicker svg{width:16px;height:16px}.help-close{min-width:44px;min-height:44px;justify-content:center;font-size:1.1rem}.help-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:1.1rem 1.25rem}.help-body h3{margin:1.25rem 0 .25rem}.help-intro{font-size:1.02rem}.help-tips{padding-left:1.2rem;margin:.25rem 0 0}.help-tips li{padding:.25rem 0}.help-foot{border-top:1px solid var(--line);padding:.9rem 1.25rem;padding-bottom:max(.9rem,env(safe-area-inset-bottom));background:var(--surface-2)}.help-foot p{margin:0 0 .5rem}@media(prefers-reduced-motion:reduce){.help-overlay,.help-drawer,.progress>span{transition:none}}@media print{.topbar,.sidebar,.sidebar-overlay,.apptop,.sidenav,.bottomnav,.no-print,.page-head .actions,.section-tabs,.footer,.side-box,.notice,.row-actions,.cell-actions{display:none!important}.layout,.app-shell{display:block;padding:0}.content{padding:0;max-width:none}.card,.stat{box-shadow:none;border-color:#ccc;break-inside:avoid}body{background:#fff;color:#000}.print-only{display:block}}img,svg,video{max-width:100%}@media(max-width:640px){h1{font-size:1.35rem;overflow-wrap:anywhere}.hide-mobile{display:none}.layout{padding-left:.75rem;padding-right:.75rem;gap:1rem}.card{padding:1rem}.table-wrap{margin:0 -1rem;padding:0 1rem}.topbar-inner{gap:.5rem;padding:.5rem .75rem}.topbar-inner:has(.assoc-switch) .logo span{display:none}.assoc-switch{max-width:none;flex:1;min-width:0}.assoc-switch+.spacer{display:none}.top-link,.help-btn span{display:none}.btn-small{min-height:40px}.help-btn,.topbar .btn-small{padding:.35rem .6rem}.page-head{gap:.75rem}.page-head .actions{width:100%;justify-content:stretch;margin-top:0}.page-head .actions>*{flex:1 1 auto;justify-content:center}.stats{grid-template-columns:1fr 1fr;gap:.6rem}.stat{padding:.8rem .85rem}.stat .value{font-size:1.2rem;overflow-wrap:anywhere}.tabs{width:100%}.tabs button{flex:1 1 auto;justify-content:center;padding:.35rem .5rem;font-size:.86rem}.card>.row>button,.card>.row>.btn{flex:1 1 auto;justify-content:center}.filter-bar input[type=search]{max-width:none;flex:1 1 100%}dialog,dialog.wide{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);border-radius:16px}dialog form,dialog .dialog-body{padding:1.1rem}dialog .table-wrap{margin:0 -1.1rem;padding:0 1.1rem}dialog .actions>*{flex:1 1 auto;justify-content:center}.hero{padding:2.5rem 1rem 2rem}.section-tabs{margin:-.25rem -.75rem 1rem;padding:0 .5rem}.section-tabs a{padding:.5rem .7rem}.list li{flex-wrap:wrap}.list li .num{margin-left:auto}.onboard-steps li{flex-wrap:wrap;row-gap:.5rem}.onboard-steps li .grow{flex:1 1 calc(100% - 32px - .8rem)}.onboard-steps li .btn{margin-left:calc(32px + .8rem)}.link-btn{min-height:40px;display:inline-flex;align-items:center}table.stack thead{display:none}table.stack,table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}table.stack tr{position:relative;display:flex;flex-direction:column;padding:.75rem 0;border-bottom:1px solid var(--line)}table.stack tr:last-child{border-bottom:0}table.stack td{border:0;padding:.2rem 0;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;text-align:right;white-space:normal}table.stack td:before{content:attr(data-label);color:var(--muted);font-size:.8rem;font-weight:600;text-align:left;flex:none}table.stack td[data-label=""]:before{content:none}table.stack td[data-label=""]{justify-content:flex-end}table.stack td.cell-main{order:-1;display:block;text-align:left;font-size:1rem}table.stack td.cell-main:before{content:none}table.stack td .btn-small,table.stack td>button:not(.link-btn){flex:1 1 auto;justify-content:center}table.stack tr.clickable:hover{background:none}table.stack td .row{flex-wrap:wrap!important}table.lines-edit td{display:flex}table.lines-edit td input{max-width:55%}}@media(max-width:340px){.stats{grid-template-columns:1fr!important}.bottomnav a{font-size:.66rem}}
