:root{--seed-brand: #1f6f5c;--seed-hero: #163f35;--seed-accent: #f0b93a;--seed-tint: #2f7d68;--bg: color-mix(in srgb, var(--seed-tint) 7%, #f8f6f1);--surface: #fffefb;--surface-2: color-mix(in srgb, var(--seed-tint) 9%, #f3f0e9);--text: #18201d;--muted: #5d6762;--line: color-mix(in srgb, var(--seed-tint) 12%, #e2ddd2);--brand: var(--seed-brand);--brand-ink: #ffffff;--brand-soft: color-mix(in srgb, var(--seed-brand) 13%, #ffffff);--hero: var(--seed-hero);--hero-ink: #ffffff;--hero-muted: color-mix(in srgb, #ffffff 72%, var(--seed-hero));--hero-line: color-mix(in srgb, #ffffff 16%, var(--seed-hero));--accent: var(--seed-accent);--good: #23784a;--good-soft: #dff1e6;--warn: #9a5b06;--warn-soft: #fbedd2;--bad: #b2393a;--bad-soft: #f8e0de;--pastel-1: color-mix(in srgb, #3fa77d 16%, #ffffff);--pastel-2: color-mix(in srgb, #e0735a 15%, #ffffff);--pastel-3: color-mix(in srgb, var(--seed-accent) 22%, #ffffff);--shadow: 0 1px 2px rgb(30 40 35 / 6%), 0 10px 30px rgb(30 40 35 / 8%);--radius: 20px;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display: "Fraunces", Georgia, "Times New Roman", serif;color-scheme:light}:root[data-theme=dark]{--bg: color-mix(in srgb, var(--seed-tint) 9%, #0f1311);--surface: color-mix(in srgb, var(--seed-tint) 8%, #181d1b);--surface-2: color-mix(in srgb, var(--seed-tint) 12%, #212725);--text: #eef1ed;--muted: #9da8a2;--line: color-mix(in srgb, var(--seed-tint) 14%, #2f3633);--brand: color-mix(in srgb, var(--seed-brand) 55%, #ffffff);--brand-ink: #0c1512;--brand-soft: color-mix(in srgb, var(--seed-brand) 28%, #161b19);--hero: color-mix(in srgb, var(--seed-hero) 80%, #000000);--good: #6fd39a;--good-soft: #1b3326;--warn: #f2b65c;--warn-soft: #3a2e19;--bad: #f2928a;--bad-soft: #3d2322;--pastel-1: color-mix(in srgb, #3fa77d 22%, #161b19);--pastel-2: color-mix(in srgb, #e0735a 22%, #161b19);--pastel-3: color-mix(in srgb, var(--seed-accent) 20%, #161b19);--shadow: 0 1px 2px rgb(0 0 0 / 30%), 0 10px 30px rgb(0 0 0 / 28%);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:16px/1.45 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}@media (max-width: 600px){.hide-sm{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.topbar .btn--sm:has(.hide-sm){width:44px;height:44px;padding:0}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}h1,h2,h3{text-wrap:balance}.shell{min-height:100dvh}.app{max-width:560px;margin:0 auto;padding:0 16px calc(104px + env(safe-area-inset-bottom))}.sidebar{display:none}@media (min-width: 960px){.shell{display:grid;grid-template-columns:252px 1fr}.sidebar{display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100dvh;overflow:auto;padding:22px 14px;border-right:1px solid var(--line);background:var(--surface)}.app{max-width:1180px;width:100%;padding:8px 36px 48px}.nav{display:none!important}.toast{bottom:28px!important}}.brandmark{display:flex;align-items:center;gap:10px;padding:4px 10px 18px}.brandmark svg{flex:none}.brandmark b{font:600 17px/1.15 var(--display);display:block}.brandmark small{color:var(--muted);font-size:12px}.side-group{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:14px 12px 6px}.side-link{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border-radius:12px;border:0;background:none;font-weight:500;font-size:15px;text-align:left;color:var(--text)}.side-link:hover{background:var(--surface-2)}.side-link[aria-current=page]{background:var(--hero);color:var(--hero-ink)}.side-link .badge{margin-left:auto}.side-cta{margin-top:14px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 0 12px;gap:8px;flex-wrap:wrap}.topbar h1{font:600 26px/1.15 var(--display);margin:0;letter-spacing:-.01em}.eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}.muted{color:var(--muted)}.small{font-size:14px}.row{display:flex;align-items:center;gap:10px}.spread{display:flex;align-items:center;justify-content:space-between;gap:10px}.stack>*+*{margin-top:12px}.grid{display:grid;gap:16px}@media (min-width: 720px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}}@media (min-width: 960px){.grid-main{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start}}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card h2{font:600 17px/1.3 var(--font);margin:0 0 10px}.card+.card,section+section{margin-top:16px}.grid>.card+.card,.grid>section+section{margin-top:0}.stat{border-radius:var(--radius);padding:16px 18px}.stat__label{font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}.stat__value{font:600 28px/1.15 var(--display);margin-top:6px;font-variant-numeric:tabular-nums}.stat__note{font-size:13px;color:var(--muted);margin-top:2px}.p1{background:var(--pastel-1)}.p2{background:var(--pastel-2)}.p3{background:var(--pastel-3)}.btn{min-height:48px;padding:0 18px;border-radius:14px;border:1px solid var(--line);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;transition:transform .08s ease,background .15s,filter .15s}.btn:active{transform:scale(.98)}.btn--primary{background:var(--brand);color:var(--brand-ink);border-color:transparent}.btn--primary:hover{filter:brightness(1.06)}.btn--accent{background:var(--accent);color:#1d1606;border-color:transparent}.btn--soft{background:var(--brand-soft);border-color:transparent;color:var(--text)}.btn--danger{color:var(--bad)}.btn--block{width:100%}.btn--sm{min-height:40px;padding:0 14px;font-size:14px;border-radius:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn{width:44px;height:44px;border-radius:12px;border:0;background:transparent;display:inline-grid;place-items:center;color:inherit;flex:none}.icon-btn--soft{background:var(--surface-2)}.icon-btn--solid{background:var(--brand);color:var(--brand-ink)}.icon-btn:hover{background:var(--surface-2)}.icon-btn--solid:hover{background:var(--brand);filter:brightness(1.06)}.link-btn{background:none;border:0;color:var(--brand);font-weight:600;padding:10px 0;min-height:44px;display:inline-flex;align-items:center;gap:6px}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;font-size:13px;font-weight:600;background:var(--surface-2)}.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)}.hero{background:var(--hero);color:var(--hero-ink);border-radius:26px;padding:26px 24px 18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%);pointer-events:none}.hero__grid{display:grid;gap:18px;position:relative;z-index:1}@media (min-width: 720px){.hero__grid{grid-template-columns:1.1fr 1fr;align-items:center}}.hero__label{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--hero-muted);font-weight:700}.hero__number{font:600 clamp(56px,15vw,84px)/1 var(--display);margin:10px 0 8px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:flex;align-items:flex-start}.hero__number .cur{font-size:.42em;color:var(--accent);margin:.18em .06em 0 0}.hero__number .cents{font-size:.42em;color:var(--accent);margin-top:.18em}.hero__sub{color:var(--hero-muted);font-size:15px}.hero--over .hero__number{color:var(--accent)}.fresh{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:7px 12px;border-radius:99px;background:var(--hero-line);font-size:13px;font-weight:600}.fresh i{width:8px;height:8px;border-radius:50%;background:#6fe0a0;display:inline-block}.fresh--stale i{background:var(--accent)}.sum{display:grid;grid-template-columns:auto 1fr auto;gap:6px 10px;font-size:14.5px;margin:0;padding:16px 18px;border-radius:18px;background:var(--hero-line);font-variant-numeric:tabular-nums}.sum dt{color:var(--hero-muted);grid-column:2}.sum .op{grid-column:1;color:var(--hero-muted);width:12px;text-align:center}.sum dd{margin:0;text-align:right;grid-column:3}.sum .total{font-weight:700;color:var(--hero-ink);border-top:1px solid var(--hero-line);padding-top:8px}.sum dd.total{color:var(--accent)}.hero__foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--hero-line);margin-top:18px;padding-top:14px;position:relative;z-index:1}.hero__foot .grow{flex:1;min-width:180px;font-size:14.5px;color:var(--hero-muted)}.hero__foot .grow b{color:var(--hero-ink)}.hero .chip{background:transparent;color:var(--hero-ink);border-color:var(--hero-line)}.hero .chip--accent{background:var(--accent);color:#1d1606;border-color:transparent}.hero .link-btn{color:var(--accent)}.why{background:var(--hero-line);border-radius:16px;padding:14px 16px;margin-top:10px;font-size:15px;position:relative;z-index:1}.why p{margin:0 0 6px}.pace{margin-top:14px}.meter{height:10px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin-top:6px}.hero .meter{background:var(--hero-line)}.meter>span{display:block;height:100%;background:var(--brand);border-radius:inherit;transition:width .5s ease}.hero .meter>span{background:#6fe0a0}.meter--warn>span,.hero .meter--warn>span{background:var(--accent)}.meter--over>span,.hero .meter--over>span{background:#ff9d7a}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:44px;padding:0 14px;border-radius:99px;border:1px solid var(--line);background:var(--surface);display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:15px}.chip[aria-pressed=true]{background:var(--brand);color:var(--brand-ink);border-color:transparent}.chip__amt{opacity:.7;font-variant-numeric:tabular-nums}.list{list-style:none;margin:0;padding:0}.list li{display:flex;align-items:center;gap:12px;padding:10px 0;min-height:56px}.list li+li{border-top:1px solid var(--line)}.list .grow{flex:1;min-width:0}.list .title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list .amt{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.avatar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);color:var(--brand);flex:none}.pos{color:var(--good)}.badge{font-size:12px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--warn-soft);color:var(--warn)}.nav{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));display:flex;justify-content:center;z-index:20}.nav__inner{display:grid;grid-template-columns:repeat(5,1fr);max-width:560px;width:100%;align-items:center}.nav button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:600;color:var(--muted);min-height:52px;justify-content:center}.nav button[aria-current=page]{color:var(--brand)}.nav .fab{width:58px;height:58px;margin:-26px auto 0;border-radius:20px;background:var(--hero);color:var(--accent);box-shadow:var(--shadow);justify-self:center}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f0c73;z-index:40;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease}@media (min-width: 720px){.backdrop{align-items:center}.sheet{border-radius:24px!important}}.sheet{background:var(--surface);width:100%;max-width:540px;max-height:94dvh;overflow:auto;border-radius:24px 24px 0 0;padding:8px 20px calc(20px + env(safe-area-inset-bottom));animation:up .2s ease}.sheet__head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--surface);padding:8px 0;z-index:1}.sheet__head h2{font:600 21px/1.2 var(--display);margin:0}@keyframes up{0%{transform:translateY(30px);opacity:0}}@keyframes fade{0%{opacity:0}}.amount-display{font:600 50px/1.1 var(--display);text-align:center;padding:10px 0 4px;font-variant-numeric:tabular-nums}.pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.pad button{min-height:54px;border-radius:14px;border:0;background:var(--surface-2);font-size:22px;font-weight:600;display:grid;place-items:center}.pad button:active{background:var(--line)}.field{display:block}.field>span{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.input{width:100%;min-height:48px;border-radius:12px;border:1px solid var(--line);background:var(--surface);padding:0 14px}textarea.input{padding:12px 14px;min-height:120px;resize:vertical}.seg{display:flex;background:var(--surface-2);border-radius:12px;padding:4px;gap:4px}.seg button{flex:1;min-height:40px;border:0;border-radius:9px;background:transparent;font-weight:600;font-size:14px;padding:0 8px}.seg button[aria-pressed=true]{background:var(--surface);box-shadow:var(--shadow)}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px}.switch input{width:46px;height:28px;accent-color:var(--brand)}.slider{display:block}.slider .spread{font-size:14px;font-weight:600}.slider input[type=range]{width:100%;accent-color:var(--brand);height:32px}.toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--text);color:var(--bg);border-radius:14px;padding:6px 6px 6px 16px;display:flex;align-items:center;gap:12px;z-index:60;box-shadow:var(--shadow);max-width:calc(100% - 32px);animation:up .2s ease}.toast span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast button{background:transparent;color:var(--accent);border:0;font-weight:700;min-height:44px;padding:0 12px;display:inline-flex;align-items:center;gap:6px}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.cal__dow{font-size:12px;color:var(--muted);font-weight:600;padding:4px 0}.cal__day{min-height:54px;border-radius:12px;padding:5px 2px;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:3px;background:transparent;border:1px solid transparent}@media (min-width: 960px){.cal__day{min-height:76px;align-items:flex-start;padding:6px 8px;border-color:var(--line)}}.cal__day--out{opacity:.35}.cal__day--today{border:2px solid var(--brand)!important;font-weight:700}.cal__day--sel{background:var(--brand-soft)}.cal__amt{display:none;font-size:11.5px;font-weight:700;padding:1px 6px;border-radius:6px;border-left:3px solid;background:var(--surface-2);white-space:nowrap;max-width:100%;overflow:hidden}@media (min-width: 960px){.cal__amt{display:block}.cal .dots{display:none}}.dots{display:flex;gap:2px}.dot{width:6px;height:6px;border-radius:99px;display:inline-block}.k-bill{border-color:#c98a1a}.k-subscription{border-color:#7a6ff0}.k-debt{border-color:#d0524a}.k-pay{border-color:#2f9a62}.dot.k-bill{background:#c98a1a}.dot.k-subscription{background:#7a6ff0}.dot.k-debt{background:#d0524a}.dot.k-pay{background:#2f9a62}.steps{display:flex;gap:6px;margin:8px 0 18px}.steps span{flex:1;height:4px;border-radius:99px;background:var(--line)}.steps span.on{background:var(--brand)}.tpl-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tpl{text-align:left;border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--surface);display:flex;flex-direction:column;gap:6px;min-height:110px}.tpl[aria-pressed=true]{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand)}.tpl .avatar{width:36px;height:36px}.display{font:600 32px/1.12 var(--display);margin:6px 0 8px;letter-spacing:-.01em}.notice{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;background:var(--warn-soft)}.notice--info{background:var(--brand-soft)}.demo-bar{background:var(--accent);color:#1d1606;font-size:14px;font-weight:600;padding:8px 16px;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;text-align:center}.demo-bar a{color:inherit}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (min-width: 720px){.tiles{grid-template-columns:repeat(4,1fr)}}.tile{text-align:left;border:0;border-radius:18px;padding:16px;background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;min-height:112px}.tile .avatar{background:var(--brand-soft)}.tile b{font-size:15px}.tile small{color:var(--muted);font-size:13px;line-height:1.3}.bar{height:12px;border-radius:99px;background:var(--surface-2);overflow:hidden;display:flex}.bar>span{display:block;height:100%}.progress{height:10px;border-radius:99px;background:var(--surface-2);overflow:hidden}.progress>span{display:block;height:100%;background:var(--brand);border-radius:inherit}.swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media (min-width: 720px){.swatches{grid-template-columns:repeat(6,1fr)}}.swatch{border:2px solid transparent;border-radius:14px;padding:6px;background:var(--surface-2);display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.swatch[aria-pressed=true]{border-color:var(--brand)}.swatch i{display:flex;height:30px;border-radius:9px;overflow:hidden}.swatch i span{flex:1}.verdict{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:16px;font-weight:600}.verdict--fits{background:var(--good-soft);color:var(--good)}.verdict--tight{background:var(--warn-soft);color:var(--warn)}.verdict--short{background:var(--bad-soft);color:var(--bad)}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart text{font:12px var(--font);fill:var(--muted)}details.table summary{cursor:pointer;font-weight:600;color:var(--brand);min-height:44px;display:flex;align-items:center}table.data{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}table.data th,table.data td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}table.data td:last-child,table.data th:last-child{text-align:right}.check{display:flex;gap:12px;align-items:flex-start;padding:12px 0}.check+.check{border-top:1px solid var(--line)}.check .avatar{width:34px;height:34px;border-radius:50%}.ok .avatar{background:var(--good-soft);color:var(--good)}.warn .avatar{background:var(--warn-soft);color:var(--warn)}.fail .avatar{background:var(--bad-soft);color:var(--bad)}.score{font:600 64px/1 var(--display)}.disclaimer{font-size:13px;color:var(--muted);text-align:center;margin:18px 0 4px}@media print{.sidebar,.nav,.toast,.no-print,.demo-bar{display:none!important}.app{padding:0;max-width:none}.card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
