.contribution{flex-direction:column;flex:1;min-height:0;display:flex}.class-picker{border:0;min-width:0;margin:0;padding:0}.class-picker legend{color:var(--ink-2);margin-bottom:8px;padding:0;font-size:13px;font-weight:500}.class-options{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;display:grid}.class-option{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:42px;color:var(--ink-2);text-align:center;cursor:pointer;background:0 0;flex-direction:row;justify-content:center;align-items:center;padding:8px 12px;font-size:14px;font-weight:500;transition:border-color .15s,background-color .15s,color .15s;position:relative}.class-option:hover{border-color:var(--field-line);color:var(--ink)}.class-option input{opacity:0;pointer-events:none;position:absolute}.class-option[data-checked]{border-color:var(--ink-2);background:var(--surface-3);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink-2)}.class-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.ticker-input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);align-items:center;gap:10px;padding:0 4px 0 12px;transition:border-color .15s,box-shadow .15s;display:flex}.ticker-input:hover{border-color:var(--field-line)}.ticker-input:focus-within{border-color:var(--ink-2);outline:3px solid color-mix(in srgb, var(--ink) 16%, transparent)}.ticker-input:has(input[aria-invalid=true]){border-color:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}.ticker-input input{box-shadow:none;letter-spacing:.02em;text-transform:uppercase;background:0 0;border:0;flex:1;min-height:46px;padding-left:0;font-size:17px;font-weight:600}.ticker-input input::placeholder{text-transform:none;letter-spacing:0;font-weight:400}.ticker-input input:focus-visible,.ticker-input input[aria-invalid=true]{box-shadow:none;outline:none}.ticker-info{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:13px;display:flex}.ticker-info b{color:var(--ink-2);font-weight:600}.stepper{grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;display:grid}.stepper button{padding:0;font-size:18px;font-weight:500}.stepper input{text-align:center}.quick-dates{gap:6px;display:flex}.quick-dates button[aria-pressed=true]{border-color:var(--ink-2);color:var(--ink);background:var(--surface-3)}.contribution .total{flex-direction:column;gap:2px;min-width:0;display:flex}.contribution .total b{font-variant-numeric:tabular-nums;color:var(--ink);font-size:22px;font-weight:600;line-height:1.2}.contribution .modal-foot button[type=submit]{min-width:150px;min-height:44px}.saved{text-align:center;align-items:center;gap:8px;padding:32px 24px 24px}.saved-mark{background:var(--pos-soft);width:56px;height:56px;color:var(--pos);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}.saved h3{font-size:18px}.saved p{color:var(--ink-2)}.saved-total{font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;color:var(--ink)!important}.saved-actions{gap:10px;margin-top:14px;display:flex}.saved-actions button{min-width:140px}@media (prefers-reduced-motion:no-preference){.saved-mark{animation:.32s cubic-bezier(.2,.9,.3,1.3) pop}}@keyframes pop{0%{opacity:0;transform:scale(.6)}}.mk-pane{flex-direction:column;gap:18px;padding-top:4px;display:flex}.mk-badge{background:var(--surface-3);color:var(--ink-2);font-variant-numeric:tabular-nums;border-radius:99px;margin-left:6px;padding:0 7px;font-size:12px;font-weight:500;line-height:18px}.mk-badge.live{background:var(--pos-soft);color:var(--pos)}.mk-stats{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.mk-stat{background:var(--surface-2);border-radius:var(--radius-sm);flex-direction:column;gap:4px;min-width:0;padding:16px 18px;display:flex}.mk-stat b{overflow-wrap:anywhere;font-size:18px;font-weight:500;line-height:26px}.mk-stat[data-tone=ok] b{color:var(--pos)}.mk-stat[data-tone=off] b{color:var(--ink-2)}.mk-stat-sub{color:var(--muted);font-size:13px}.mk-run{background:var(--surface-2);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px 14px 18px;display:flex}.mk-run-text{color:var(--ink-2);font-size:14px}.mk-run>button{flex:none}.mk-progress{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.mk-progress-head{color:var(--ink-2);justify-content:space-between;font-size:14px;display:flex}.mk-failed{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}@media (width<=640px){.mk-run{flex-direction:column;align-items:stretch}}.mk-intro{color:var(--ink-2);font-size:14px}.mk-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mk-search{flex:180px;width:auto;max-width:260px}.mk-filters .seg button{min-height:30px;padding:5px 12px;font-size:13px}.mk-filters .seg .num{color:var(--muted);margin-left:4px;font-size:12px}.mk-filters .seg button[aria-pressed=true] .num{color:inherit}@media (width<=640px){.mk-search{flex-basis:100%;max-width:none}}.mk-tags{scrollbar-width:thin;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px;max-height:340px;padding:2px;display:grid;overflow-y:auto}.mk-tag{background:var(--surface-2);border-radius:999px;align-items:stretch;min-width:0;transition:background-color .15s;display:flex;overflow:hidden}.mk-tag:hover{background:var(--surface-3)}.mk-tag.off{box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.mk-tag-main{min-width:0;min-height:32px;color:var(--ink);background:0 0;border:0;border-radius:0;flex:1;justify-content:flex-start;align-items:center;padding:4px 4px 4px 12px;font-size:13px;font-weight:500;display:flex}.mk-tag.off .mk-tag-main{color:var(--muted);text-decoration:line-through}button.mk-tag-main:hover:not(:disabled){background:0 0;border-color:#0000}.mk-tag-x{width:30px;min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:0 999px 999px 0;flex:none;padding:0;font-size:15px;font-weight:500}.mk-tag-x:hover:not(:disabled){color:var(--bad);background:0 0;border-color:#0000}.mk-add{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding-top:18px;display:grid}@media (width<=760px){.mk-add{grid-template-columns:minmax(0,1fr)}}.mk-add-form{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) auto;align-items:end;gap:8px;display:grid}.mk-discover{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.mk-drop{border:1px dashed var(--field-line);border-radius:var(--radius-sm);min-height:180px;color:var(--muted);text-align:center;cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;font-size:14px;transition:border-color .15s,background-color .15s;display:flex;position:relative}.mk-drop b{color:var(--ink);font-size:15px;font-weight:500}.mk-drop .icon{color:var(--ink-2);margin-bottom:4px}.mk-drop:hover,.mk-drop[data-over]{border-color:var(--ink-2);background:var(--surface-2)}.mk-drop:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.mk-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.plan-hero{background:var(--surface-2);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.plan-hero h3{margin-top:2px;font-size:18px;line-height:26px}.plan-steps{flex:none;gap:4px;display:flex}.plan-steps i{background:var(--surface-3);border-radius:99px;width:22px;height:6px}.plan-steps i[data-status=done]{background:var(--ink-2)}.plan-steps i[data-status=current]{background:var(--accent)}.plan-track{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-phase{grid-template-columns:30px minmax(0,1fr);gap:16px;padding-bottom:20px;display:grid;position:relative}.plan-phase:not(:last-child):before{content:"";background:var(--surface-3);border-radius:2px;width:2px;position:absolute;top:34px;bottom:4px;left:14px}.plan-phase[data-status=done]:not(:last-child):before{background:var(--ink-2)}.plan-node{z-index:1;background:var(--surface-3);width:30px;height:30px;color:var(--muted);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid;position:relative}.plan-phase[data-status=done] .plan-node{background:var(--ink-2);color:var(--surface)}.plan-phase[data-status=current] .plan-node{background:var(--accent);color:#1a1408}.plan-body{flex-direction:column;gap:8px;min-width:0;padding-top:4px;display:flex}.plan-phase[data-status=current] .plan-body{background:var(--surface-2);border-radius:var(--radius-sm);margin-top:-4px;padding:16px 18px 18px}.plan-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.plan-head h3{font-size:15px}.plan-phase[data-status=upcoming] .plan-head h3,.plan-phase[data-status=done] .plan-head h3{color:var(--ink-2)}.plan-desc{color:var(--ink-2);max-width:64ch;font-size:14px}.plan-phase[data-status=upcoming] .plan-desc{color:var(--muted)}.plan-phase[data-status=done] .plan-desc{display:none}.plan-progress{flex-direction:column;gap:6px;margin-top:2px;display:flex}.plan-numbers{color:var(--muted);justify-content:space-between;gap:12px;font-size:13px;display:flex}.plan-numbers b{color:var(--ink);font-weight:600}.prefs{flex-direction:column;gap:16px;width:100%;max-width:1040px;padding-bottom:72px;display:flex}.prefs-head{flex-direction:column;gap:4px;padding:2px 2px 4px;display:flex}.prefs-head h2{font-size:18px}.panel.pref-group{grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:20px 32px;padding:22px 24px;display:grid}@media (width<=760px){.panel.pref-group{grid-template-columns:minmax(0,1fr);padding:18px 16px}}.pref-group-head{align-items:flex-start;gap:12px;display:flex}.pref-group-head h2{margin-bottom:4px}.pref-group-body{flex-direction:column;gap:18px;min-width:0;display:flex}.pref-field{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:8px 20px;padding-bottom:18px;display:grid}.pref-field:last-child{border-bottom:0;padding-bottom:0}@media (width<=980px){.pref-field{grid-template-columns:minmax(0,1fr)}}.pref-label{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;padding-top:8px;display:flex}.pref-label .field-hint{flex-basis:100%}.pref-name{color:var(--ink);overflow-wrap:anywhere;font-size:14px;font-weight:500;display:inline}.pref-advanced .pref-name{font-family:var(--mono);font-size:13px;font-weight:400}.pref-control{flex-direction:column;gap:6px;min-width:0;display:flex}.pref-toggles{flex-wrap:wrap;gap:6px;display:flex}.pref-toggle{border-color:var(--line-strong);color:var(--ink-2);background:0 0;gap:8px;padding:7px 14px 7px 10px;font-weight:500}.pref-toggle:hover:not(:disabled){background:var(--surface-3);border-color:var(--field-line);color:var(--ink)}.pref-toggle[aria-pressed=true],.pref-toggle[aria-pressed=true]:hover:not(:disabled){background:var(--surface-3);border-color:var(--ink-2);color:var(--ink)}.pref-check{border:1.5px solid var(--field-line);border-radius:4px;place-items:center;width:16px;height:16px;display:grid}.pref-toggle[aria-pressed=true] .pref-check{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}.pref-order{color:var(--muted);font-size:12px}.goal-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.goal-edit{background:var(--surface-2);border-radius:var(--radius-sm);grid-template-columns:38px minmax(0,1.2fr) minmax(0,1fr) 56px auto;align-items:center;gap:8px;padding:8px;display:grid}.goal-edit.is-new{box-shadow:inset 0 0 0 1px var(--field-line)}.goal-edit input{background:var(--surface)}.goal-star{width:38px;color:var(--muted);background:0 0;border-color:#0000;padding:0}.goal-star:hover:not(:disabled){background:var(--surface-3);color:var(--gold);border-color:#0000}.goal-star[aria-pressed=true],.goal-star[aria-pressed=true]:hover:not(:disabled){color:var(--gold)}.goal-progress{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;font-size:13px}.goal-actions{justify-content:flex-end;gap:6px;min-width:38px;display:flex}.goal-remove{border-color:#0000;width:30px;min-width:30px;min-height:30px}.goal-remove:hover:not(:disabled){color:var(--bad)}.goal-error{grid-column:1/-1}.pref-add{align-self:flex-start}@media (width<=640px){.goal-edit{grid-template-columns:38px minmax(0,1fr) auto}.goal-edit .affix{grid-column:2/3}.goal-progress{display:none}}.panel.pref-advanced{padding:0;display:block}.pref-advanced>summary{cursor:pointer;border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;list-style:none;display:flex}.pref-advanced>summary::-webkit-details-marker{display:none}.pref-advanced>summary:hover{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.pref-advanced>summary .icon{color:var(--muted);transition:transform .2s}.pref-advanced[open]>summary{border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0}.pref-advanced[open]>summary .icon{transform:rotate(180deg)}.pref-advanced>.pref-group-body{padding:20px 24px 22px}.pref-savebar{z-index:15;background:var(--surface-3);box-shadow:var(--float-shadow);border-radius:999px;justify-content:space-between;align-items:center;gap:16px;padding:10px 10px 10px 20px;font-size:14px;display:flex;position:sticky;bottom:16px}.pref-savebar-actions{gap:8px;display:flex}@media (prefers-reduced-motion:no-preference){.pref-savebar{animation:.2s ease-out savebar-in}}@keyframes savebar-in{0%{opacity:0;transform:translateY(8px)}}.pref-saved{align-items:center;gap:6px;display:inline-flex}.modal .handoff-text{width:100%;min-height:320px;font-family:var(--mono);white-space:pre;resize:vertical;font-size:.74rem;line-height:1.45}.simulator{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:22px;display:grid}@media (width<=880px){.simulator{grid-template-columns:minmax(0,1fr)}}.sim-controls{background:var(--surface-2);border-radius:var(--radius-sm);flex-direction:column;gap:20px;padding:18px;display:flex}.sim-control{flex-direction:column;gap:8px;display:flex}.sim-control>label{font-size:13px;display:block}.sim-value input{background:var(--surface);font-variant-numeric:tabular-nums;min-height:44px;font-size:18px;font-weight:500}.sim-value>span{font-size:15px}.presets{flex-wrap:wrap;gap:6px;display:flex}.presets button{color:var(--ink-2);border-color:var(--line-strong);background:0 0}.presets button:hover:not(:disabled){background:var(--surface-3);border-color:var(--line-strong);color:var(--ink)}.presets button[aria-pressed=true],.presets button[aria-pressed=true]:hover:not(:disabled){border-color:var(--ink-2);color:var(--ink);background:var(--surface-3)}.sim-actions{border-top:1px solid var(--line-strong);flex-wrap:wrap;gap:8px;padding-top:16px;display:flex}.sim-result{flex-direction:column;gap:16px;min-width:0;transition:opacity .2s;display:flex}.sim-start{color:var(--ink-2);font-size:14px}.sim-start b{color:var(--ink);font-weight:600}.sim-goals{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sim-goals li{border-bottom:1px solid var(--line);grid-template-columns:10px minmax(0,1fr) auto;grid-template-areas:"dot name when""dot name date";align-items:center;gap:2px 14px;padding:14px 0;display:grid}.sim-goals li:last-child{border-bottom:0}.sim-dot{background:var(--ink-2);border-radius:50%;grid-area:dot;place-items:center;width:10px;height:10px;display:grid}.sim-goals li.gold .sim-dot{background:var(--accent)}.sim-name{grid-area:name;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.sim-when{font-variant-numeric:tabular-nums;grid-area:when;justify-self:end;font-size:16px;font-weight:500}.sim-date{color:var(--muted);grid-area:date;justify-self:end;font-size:13px}.timeline{padding:36px 8px 28px}.timeline-track{background:var(--surface-3);border-radius:99px;height:4px;position:relative}.timeline-tick{color:var(--muted);white-space:nowrap;font-size:12px;position:absolute;top:12px;transform:translate(-50%)}.timeline-tick.start{transform:none}.timeline-tick:before{content:"";background:var(--axis);width:1px;height:8px;position:absolute;top:-12px;left:50%}.timeline-tick.start:before{left:0}.timeline-mark{flex-direction:column-reverse;align-items:center;display:flex;position:absolute;top:-5px;transform:translate(-50%)}.timeline-mark i{background:var(--ink-2);border:3px solid var(--surface);border-radius:50%;width:14px;height:14px}.timeline-mark.gold i{background:var(--accent)}.timeline-mark b{color:var(--ink-2);white-space:nowrap;font-size:12px;font-weight:500;position:absolute;bottom:18px}.timeline-mark.gold b{color:var(--ink)}.sim-value:not(.suffix)>input{padding-left:42px}.sim-label{color:var(--ink-2);font-size:13px;font-weight:500;display:block}.compound-source{flex-wrap:wrap}.compound-rate-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.compound-rate-head>label{font-size:13px}.compound-holding{color:var(--ink-2);background:var(--surface);border-radius:var(--radius-xs);flex-direction:column;gap:4px;padding:12px 14px;font-size:13px;display:flex}.compound-holding b{color:var(--ink);font-weight:600}.compound-kpis{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:0;margin:0;display:grid}.compound-kpis>div{flex-direction:column;gap:2px;min-width:0;padding:12px 16px 12px 0;display:flex}.compound-kpis dt{color:var(--muted);font-size:13px}.compound-kpis dd{color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;font-size:16px;font-weight:500}.compound-kpis .lead{border-bottom:1px solid var(--line);grid-column:1/-1}.compound-kpis .lead dd{letter-spacing:-.02em;font-size:30px;font-weight:600;line-height:38px}.chart .col.interest{fill:var(--accent)}.chart .col.interest.on{fill:var(--accent);opacity:.85}.chart-keys .sw.interest,.compound-tip .sw.interest{background:var(--accent)}.compound-tip .compound-tip-rows{flex-direction:column;align-items:flex-start;gap:2px;margin-top:4px;display:flex}.compound-tip .compound-tip-rows span{align-items:center;gap:6px;display:inline-flex}:root{--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--display:var(--font);--body:var(--font);--mono:ui-monospace, "Cascadia Mono", "SF Mono", Menlo, monospace;--radius:20px;--radius-sm:12px;--radius-xs:8px;--sidebar-w:224px;--topbar-h:64px;--gutter:28px;--gap:14px;--fs-title:20px;--fs-section:16px;--fs-kpi:24px;--fs-lead:34px;--fs-body:14px;--fs-small:12px}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e0d0c;--surface:#181716;--surface-2:#232120;--surface-3:#2e2c2a;--line:#262422;--line-strong:#353230;--field-line:#4c4844;--ink:#f3f3f1;--ink-2:#bdb8b1;--muted:#9c968e;--accent:#f0b440;--accent-soft:#f0b44024;--accent-track:var(--surface-3);--primary:#f3f3f1;--primary-hover:#fff;--on-primary:#0e0d0c;--accent-strong:var(--primary);--accent-hover:var(--primary-hover);--on-accent:var(--on-primary);--pos:#4cc38a;--pos-soft:#16271d;--bad:#ef6a7c;--bad-soft:#2d1a1e;--on-bad:#0e0d0c;--warn:#e5a93b;--warn-soft:#2b2414;--gold:var(--accent);--gold-soft:var(--accent-soft);--gold-track:var(--surface-3);--chart-dim:#57524c;--chart-dim-hover:#6e6861;--grid:#24221f;--axis:#3d3935;--focus:#f3f3f1;--shadow:none;--float-shadow:0 18px 48px -12px #0009;--overlay:#080706c2;--shader-ground:#0e0d0c;--shader-line:#8a8278;--shader-accent:#f0b440}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f3f0;--surface:#fff;--surface-2:#f4f3f0;--surface-3:#e9e7e3;--line:#e6e4df;--line-strong:#d9d6d0;--field-line:#b9b4ac;--ink:#141210;--ink-2:#48443f;--muted:#645f58;--accent:#b5800f;--accent-soft:#b5800f1f;--accent-track:var(--surface-3);--primary:#141210;--primary-hover:#2e2b27;--on-primary:#fff;--pos:#23784e;--pos-soft:#def5e6;--bad:#c4242a;--bad-soft:#ffeceb;--on-bad:#fff;--warn:#92400e;--warn-soft:#fff6df;--chart-dim:#c9c4bc;--chart-dim-hover:#aea89f;--grid:#eeece8;--axis:#d3cfc8;--focus:#141210;--float-shadow:0 16px 40px -12px #14121038;--overlay:#14121066;--shader-ground:#f4f3f0;--shader-line:#8f887e;--shader-accent:#b5800f}*{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;scrollbar-color:var(--line-strong) var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:var(--fs-body);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:20px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}h1,h2,h3{font-family:var(--display);text-wrap:balance;letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:var(--fs-title);line-height:28px}h2{font-size:var(--fs-section);line-height:24px}h3{font-size:var(--fs-body);line-height:20px}p{margin:0}code{font-family:var(--mono);background:var(--surface-2);border-radius:6px;padding:1px 5px;font-size:.9em}::selection{background:var(--accent-soft);color:var(--ink)}input,select,textarea{font:inherit;font-size:var(--fs-body);color:var(--ink);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;min-width:0;min-height:40px;padding:9px 12px;transition:border-color .15s,background-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--field-line)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--ink) 16%, transparent);outline-offset:0;border-color:var(--ink-2)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--bad);outline:3px solid var(--bad-soft);outline-offset:0}input:disabled,select:disabled,textarea:disabled{color:var(--muted);cursor:not-allowed}input[type=number]{font-variant-numeric:tabular-nums}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239c968e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}:root[data-theme=light] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23645f58' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}select option{background:var(--surface-2);color:var(--ink)}textarea{font-family:var(--mono);resize:vertical;font-size:13px}input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--ink);cursor:pointer;padding:0}input[type=range]{appearance:none;height:22px;min-height:0;box-shadow:none;cursor:pointer;background:0 0;border:0;padding:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--ink-2) var(--fill,0%), var(--surface-3) var(--fill,0%));border-radius:99px;height:4px}input[type=range]::-moz-range-track{background:var(--surface-3);border-radius:99px;height:4px}input[type=range]::-moz-range-progress{background:var(--ink-2);border-radius:99px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--ink);border:4px solid var(--surface);border-radius:50%;width:18px;height:18px;margin-top:-7px}input[type=range]::-moz-range-thumb{background:var(--ink);border:4px solid var(--surface);border-radius:50%;width:12px;height:12px}input[type=range]:hover:not(:disabled),input[type=range]:focus-visible{box-shadow:none;border:0}input[type=range]:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:4px}input[type=file]{cursor:pointer;padding:6px}input[type=file]::file-selector-button{font:inherit;color:var(--ink);background:var(--surface-3);cursor:pointer;border:0;border-radius:99px;margin-right:10px;padding:6px 14px;font-size:13px;font-weight:500}label{color:var(--ink-2);flex-direction:column;gap:8px;font-size:13px;font-weight:500;display:flex}label.inline{min-height:40px;color:var(--ink-2);flex-direction:row;align-items:center;gap:10px}label.inline input{width:16px}button{font:inherit;border:1px solid var(--primary);background:var(--primary);min-height:36px;color:var(--on-primary);cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:14px;font-weight:500;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}button:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}button[aria-busy=true]{cursor:progress}button.ghost{color:var(--ink);border-color:var(--field-line);background:0 0}button.ghost:hover:not(:disabled){background:var(--surface-3);border-color:var(--field-line);color:var(--ink)}button.danger{border-color:color-mix(in srgb, var(--bad) 55%, transparent);color:var(--bad);background:0 0}button.danger:hover:not(:disabled){background:var(--bad-soft);border-color:var(--bad)}button.small,button.ghost.small,.row-actions button{min-height:30px;padding:5px 12px;font-size:13px}button.icon-btn{color:var(--ink-2);background:0 0;border-color:#0000;width:36px;min-width:36px;padding:0}button.icon-btn:hover:not(:disabled){background:var(--surface-3);color:var(--ink);border-color:#0000}:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}:where(svg[tabindex]):focus-visible{outline-offset:4px;border-radius:4px}@media (pointer:coarse){input,select,button{min-height:44px}button.small,button.ghost.small,.row-actions button{min-height:36px}button.icon-btn{width:44px;min-width:44px}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--primary);color:var(--on-primary);border-radius:999px;padding:8px 16px;font-weight:500;text-decoration:none;position:absolute;top:-48px;left:12px}.skip-link:focus{top:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100dvh;display:grid}.sidebar{z-index:30;background:var(--bg);border-right:1px solid var(--line);scrollbar-width:thin;flex-direction:column;gap:20px;height:100dvh;padding:0 12px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-head{min-height:var(--topbar-h);padding:0 6px;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin:0 -12px;padding-inline:18px 12px;display:flex}.brand{min-width:0;color:var(--ink);letter-spacing:-.01em;border-radius:var(--radius-xs);align-items:center;gap:10px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.brand span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.brand-mark{flex:none}.sidebar-nav ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav-link{min-height:34px;color:var(--muted);border-radius:10px;align-items:center;gap:10px;padding:7px 10px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.nav-link .icon{color:currentColor;flex:none}.nav-link:hover{color:var(--ink);background:color-mix(in srgb, var(--surface) 60%, transparent)}.nav-link[aria-current]{color:var(--ink);background:var(--surface)}.nav-group{color:var(--muted);margin:0 0 6px;padding:0 10px;font-size:12px;line-height:16px}.sidebar-nav+.sidebar-nav{margin-top:6px}.sidebar-nav[data-group=configurar]{border-top:1px solid var(--line);margin-top:auto;padding-top:14px}.sidebar-nav[data-group=configurar] .nav-link:not([aria-current]){color:var(--muted)}.sidebar-foot{color:var(--muted);padding:0 10px;font-size:12px}.page-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:24px;max-width:1320px;margin:-8px 0 4px;display:flex;overflow-x:auto}.page-tabs a{color:var(--muted);flex:none;padding:8px 0 12px;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s;position:relative}.page-tabs a:hover,.page-tabs a[aria-current]{color:var(--ink)}.page-tabs a[aria-current]:after{content:"";background:var(--ink);border-radius:2px;height:2px;position:absolute;inset:auto 0 -1px}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;min-height:var(--topbar-h);padding:0 var(--gutter);background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:14px;display:flex;position:sticky;top:0}.topbar-title{flex:1;align-items:baseline;gap:12px;min-width:0;display:flex}.topbar-title h1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-scope{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.topbar-actions{flex:none;align-items:center;gap:8px;display:flex}.topbar-account{border-left:1px solid var(--line);align-self:stretch;align-items:center;margin-left:6px;padding-left:14px;display:flex}.menu-btn{display:none}.topbar-cta .icon{flex:none}.user-menu{position:relative}.user-btn{color:var(--ink-2);background:0 0;border-color:#0000;gap:8px;padding:4px 10px 4px 4px;font-weight:500}.user-btn:hover:not(:disabled),.user-btn[aria-expanded=true]{background:var(--surface);color:var(--ink);border-color:#0000}.user-btn .icon{color:var(--muted);transition:transform .15s}.user-btn[aria-expanded=true] .icon{transform:rotate(180deg)}.avatar{background:var(--surface-3);width:28px;height:28px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.avatar.lg{width:40px;height:40px;font-size:14px}.user-first{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.user-pop{z-index:40;background:var(--surface-2);width:264px;box-shadow:var(--float-shadow);border-radius:16px;flex-direction:column;gap:12px;padding:14px;display:flex;position:absolute;top:calc(100% + 8px);right:0}@media (prefers-reduced-motion:no-preference){.user-pop{animation:.16s cubic-bezier(.2,.8,.2,1) pop-in}}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.user-pop-head{align-items:center;gap:10px;min-width:0;display:flex}.user-pop-id{flex-direction:column;min-width:0;display:flex}.user-pop-id b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.user-pop-id span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.user-role{align-self:flex-start}.user-pop-items{border-top:1px solid var(--line-strong);flex-direction:column;gap:2px;padding-top:10px;display:flex}.user-item{width:100%;color:var(--ink-2);background:0 0;border-color:#0000;border-radius:10px;justify-content:flex-start;gap:10px;padding:8px 10px;font-weight:500}.user-item:hover:not(:disabled){background:var(--surface-3);color:var(--ink);border-color:#0000}.user-item.out:hover:not(:disabled){color:var(--bad)}.status{min-height:32px;color:var(--muted);white-space:nowrap;align-items:center;gap:8px;padding:0 6px;font-size:13px;display:inline-flex}.status .dot{background:var(--muted);border-radius:50%;width:6px;height:6px}.status[data-state=busy] .dot{background:var(--ink)}@media (prefers-reduced-motion:no-preference){.status[data-state=busy] .dot{animation:.8s ease-in-out infinite alternate pulse}}@keyframes pulse{to{opacity:.25}}.content{gap:var(--gap);padding:28px var(--gutter) 48px;outline:none;flex-direction:column;display:flex}.page{width:100%;max-width:var(--page-max,1320px);align-items:stretch;gap:var(--gap);flex-wrap:wrap;min-width:0;display:flex}.page[data-width=narrow]{--page-max:880px}.page-section{flex-direction:column;flex:100%;min-width:0;display:flex}.page-section[data-size=side]{flex:5 340px}.page-section[data-size=main]{flex:7 480px}.page-section>.panel{flex:1}.backdrop{z-index:25;background:var(--overlay);position:fixed;inset:0}@media (prefers-reduced-motion:no-preference){.backdrop{animation:.2s fade-in}}@keyframes fade-in{0%{opacity:0}}@media (width<=1023.98px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{visibility:hidden;width:min(300px,86vw);transition:transform .2s cubic-bezier(.4,0,1,1),visibility 0s linear .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar[data-open=true]{visibility:visible;box-shadow:var(--float-shadow);transition:transform .28s cubic-bezier(0,0,.2,1);transform:none}:root:has(.app[data-nav=open]){overflow:hidden}.menu-btn{display:inline-flex}.nav-link{min-height:44px}}@media (width<=640px){:root{--gutter:16px;--topbar-h:56px}.topbar{gap:8px}.topbar-scope{display:none}.content{padding-top:16px}.topbar-account{border-left:0;margin-left:0;padding-left:6px}.topbar-cta{width:36px;min-width:36px;padding:0}.user-first,.user-btn .icon{display:none}.user-btn{padding:4px}.topbar-cta .cta-text{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=640px) and (pointer:coarse){.topbar-cta{width:44px;min-width:44px}}@media (width<=480px){.status{display:none}}.boot{place-content:center;justify-items:center;gap:16px;min-height:100dvh;padding:24px 16px;display:grid}.boot-card{width:min(440px,100%)}.boot-card button{align-self:flex-start}.boot-loading{color:var(--ink-2);align-items:center;gap:10px;display:flex}.spinner{border:2px solid var(--line-strong);border-top-color:var(--ink);border-radius:50%;width:16px;height:16px}@media (prefers-reduced-motion:no-preference){.spinner{animation:.8s linear infinite spin}}@keyframes spin{to{transform:rotate(360deg)}}.eyebrow{color:var(--muted);font-size:13px;font-weight:500;line-height:18px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.note{color:var(--muted);font-size:13px;line-height:18px}.up{color:var(--pos)}.down{color:var(--bad)}.flat{color:var(--ink-2)}.msg{color:var(--bad);background:var(--bad-soft);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px}.ok-msg{color:var(--pos);font-size:13px}.callout{border-radius:var(--radius-sm);color:var(--ink);background:var(--surface-2);align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:18px;display:flex}.callout .icon{color:var(--muted);flex:none;margin-top:1px}.callout p{overflow-wrap:anywhere;margin:0}.callout.bad{background:var(--bad-soft)}.callout.bad .icon{color:var(--bad)}.empty{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--muted);padding:18px 16px;font-size:14px}.loading{flex-direction:column;gap:12px;padding:4px 0;display:flex}.skeleton{background:var(--surface-2);border-radius:6px;height:12px;display:block}.is-stale{opacity:.6;transition:opacity .2s}.panel{background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:18px;min-width:0;padding:22px;display:flex}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;min-height:32px;display:flex}.panel-aside{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.toolbar input{flex:160px;width:auto}.summary{grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:0;padding:0;display:grid}.summary-main{flex-direction:column;justify-content:space-between;gap:28px;min-width:0;padding:24px 28px 26px;display:flex}.summary-lead{flex-direction:column;gap:6px;display:flex}.lead-v{font-size:var(--fs-lead);letter-spacing:-.03em;color:var(--ink);font-weight:600;line-height:40px}.lead-skeleton{width:260px;height:34px;margin:3px 0}.route{flex-direction:column;gap:14px;display:flex}.route-finding{color:var(--ink-2);font-size:15px;line-height:22px}.route-finding b{color:var(--ink);font-weight:600}.route-track{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;margin:0;padding:0;list-style:none;display:grid}.route-stage{flex-direction:column;gap:10px;min-width:0;display:flex}.route-bar{background:var(--surface-3);border-radius:3px;height:10px;position:relative;overflow:hidden}.route-stage:first-child .route-bar{border-radius:99px 3px 3px 99px}.route-stage:last-child .route-bar{border-radius:3px 99px 99px 3px}.route-bar>i{background:var(--ink-2);position:absolute;inset:0 auto 0 0}.route-stage[data-state=current] .route-bar>i{background:var(--accent);min-width:3px}.route-node{color:var(--muted);white-space:nowrap;text-align:right;flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;line-height:16px;display:flex}.route-node b{color:var(--ink-2);font-size:13px;font-weight:500}.route-stage[data-state=current] .route-node b{color:var(--ink)}.facts{border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;column-gap:28px;min-width:0;margin:0;padding:8px 28px;display:grid}.facts>div{flex-direction:column;gap:2px;min-width:0;padding:14px 0;display:flex}.facts>div:nth-child(n+3){border-top:1px solid var(--line)}.facts>div:last-child:nth-child(odd){grid-column:1/-1}.facts dt{color:var(--muted);font-size:13px}.facts dd{white-space:nowrap;margin:0;font-size:18px;font-weight:500;line-height:26px}.facts dd.s{color:var(--muted);white-space:normal;font-size:12px;font-weight:400;line-height:16px}.skeleton-facts{min-height:280px}@media (width<=1100px){.summary{grid-template-columns:minmax(0,1fr)}.facts{border-left:0;border-top:1px solid var(--line)}}@media (width<=640px){.summary-main{gap:22px;padding:18px 16px 20px}.lead-v{font-size:30px;line-height:36px}.facts{column-gap:16px;padding:4px 16px}.facts dd{font-size:16px}.route-track{grid-auto-columns:auto;grid-auto-flow:row;gap:14px}.route-stage .route-bar,.route-stage:first-child .route-bar,.route-stage:last-child .route-bar{border-radius:99px}.route-node{flex-direction:row;justify-content:space-between}}.goals{flex-direction:column;gap:20px;margin:0;padding:0;list-style:none;display:flex}.goal{flex-direction:column;gap:8px;display:flex}.goal-head{align-items:center;gap:8px;min-width:0;display:flex}.goal .name{font-size:15px;font-weight:600}.goal-pct{color:var(--ink);margin-left:auto;font-size:14px;font-weight:500}.goal-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px 8px;font-size:13px;display:flex}.bar{background:var(--surface-3);border-radius:99px;height:6px;position:relative;overflow:hidden}.bar.sm{height:4px}.bar>i{border-radius:inherit;background:var(--ink-2);position:absolute;inset:0;transform:translate(-100%)}.bar.gold>i{background:var(--accent)}@media (prefers-reduced-motion:no-preference){.bar>i{transition:transform .7s cubic-bezier(.2,.8,.2,1)}}.chip{background:var(--surface-3);color:var(--ink-2);white-space:nowrap;border-radius:99px;flex:none;align-items:center;padding:0 8px;font-size:12px;font-weight:500;line-height:20px;display:inline-flex}.chip.gold{background:var(--accent-soft);color:var(--accent)}.chip.dim{background:var(--surface-2);color:var(--muted)}.chip.ok{background:var(--pos-soft);color:var(--pos)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.tablewrap{margin:0 -8px;padding:0 8px;overflow-x:auto}.tablewrap.scroll{max-height:560px;overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}th{z-index:1;background:var(--surface);text-align:left;color:var(--muted);border-bottom:1px solid var(--line-strong);white-space:nowrap;height:36px;padding:0 12px;font-size:12px;font-weight:400;position:sticky;top:0}td{border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle;font-variant-numeric:tabular-nums;height:48px;padding:6px 12px}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}td.r,th.r{text-align:right}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:color-mix(in srgb, var(--surface-2) 70%, transparent)}tr.current td{color:var(--ink);font-weight:500}.asset{align-items:center;gap:10px;display:inline-flex}.asset b{font-weight:600}.asset-logo{object-fit:contain;background:#f4f3f0;border-radius:50%;flex:none}.asset-logo.initials{background:var(--surface-3);color:var(--ink-2);letter-spacing:-.02em;place-items:center;font-weight:600;display:inline-grid}.pay,.stacked{flex-direction:column;align-items:flex-end;line-height:1.3;display:inline-flex}.pay small,.stacked small{font-size:12px}.pay small{color:var(--muted)}.stacked.up{color:var(--pos)}.stacked.down{color:var(--bad)}.stacked.flat{color:var(--ink-2)}.mine-tag{color:var(--muted);margin-left:2px;font-size:12px;font-weight:500}.rkpos{width:1%;color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.score{vertical-align:middle;gap:3px;display:inline-flex}.score i{background:var(--surface-3);border-radius:2px;width:6px;height:12px}.score i.on{background:var(--ink-2)}.composition{flex-direction:column;gap:12px;display:flex}.composition ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.composition li{grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:6px 14px;font-size:14px;display:grid}.comp-label{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);overflow:hidden}.comp-bar{background:var(--surface-3);border-radius:99px;grid-column:1/-1;height:3px;overflow:hidden}.comp-bar>i{background:var(--chart-dim-hover);border-radius:99px;height:100%;display:block}.composition li:first-child .comp-bar>i{background:var(--ink-2)}.comp-v{text-align:right;color:var(--ink);min-width:40px}.comp-money{text-align:right;color:var(--muted);min-width:96px}.chart{min-width:0;position:relative}.chart-plot{position:relative}.chart svg{touch-action:pan-y;max-width:100%;display:block;overflow:visible}.chart .tick,.chart .cap{font-variant-numeric:tabular-nums;font-size:12px}.chart .tick{fill:var(--muted)}.chart .cap{fill:var(--ink);font-weight:500}.chart .month{fill:var(--muted);font-size:12px}.chart .month.current{fill:var(--ink);font-weight:500}.chart .col{fill:var(--chart-dim);transition:fill .15s}.chart .col.on{fill:var(--chart-dim-hover)}.chart .col.current{fill:var(--accent)}.chart .col.current.on{fill:var(--accent);opacity:.85}.chart .hover-band{fill:var(--surface-2)}.chart-tip{z-index:2;pointer-events:none;white-space:nowrap;background:var(--surface-3);box-shadow:var(--float-shadow);border-radius:10px;flex-direction:column;align-items:center;padding:6px 12px;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 12px))}.chart-tip[hidden]{display:none}.chart-tip strong{font-variant-numeric:tabular-nums;color:var(--ink);font-size:14px;font-weight:600}.chart-tip span{color:var(--ink-2);font-size:12px}.chart-keys{color:var(--muted);flex-wrap:wrap;gap:6px 16px;font-size:12px;display:flex}.key{align-items:center;gap:6px;display:inline-flex}.sw{background:var(--chart-dim);border-radius:2px;width:8px;height:8px;display:inline-block}.sw.current{background:var(--accent)}.seg,.tabs{background:var(--surface-2);border-radius:999px;gap:2px;max-width:100%;padding:3px;display:inline-flex}.tabs{flex-wrap:wrap;align-self:flex-start}.seg button,.tabs button{color:var(--muted);background:0 0;border:0;border-radius:999px;font-weight:500}.seg button{min-height:28px;padding:4px 12px;font-size:13px}.tabs button{min-height:30px;padding:5px 14px;font-size:13px}.seg button:hover:not(:disabled),.tabs button:hover:not(:disabled){color:var(--ink);background:0 0}.seg button[aria-pressed=true],.tabs button[aria-selected=true],.seg button[aria-pressed=true]:hover:not(:disabled),.tabs button[aria-selected=true]:hover:not(:disabled){background:var(--surface-3);color:var(--ink)}.form-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-items:end;gap:16px;display:grid}.form-actions{align-items:flex-end;display:flex}.form-actions button{width:100%}.ctrls{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;display:grid}.row-actions{gap:6px;display:inline-flex}.row-actions button:not(.danger){color:var(--ink);border-color:var(--field-line);background:0 0}.row-actions button:not(.danger):hover:not(:disabled){background:var(--surface-3)}.stack{flex-direction:column;gap:14px;display:flex}.stack.tight{gap:6px}@media (width<=640px){.panel{border-radius:16px;padding:18px 16px}.kpi{padding:16px}.kpi-strip>div{padding:14px 16px}.comp-money{display:none}}.modal{border-radius:var(--radius);background:var(--surface);width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:var(--float-shadow);border:0;margin:auto;padding:0;overflow:hidden}.modal[open]{display:flex}.modal::backdrop{background:var(--overlay)}@media (prefers-reduced-motion:no-preference){.modal[open]{animation:.22s cubic-bezier(0,0,.2,1) modal-in}.modal[open]::backdrop{animation:.2s fade-in}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.modal-card{flex-direction:column;flex:1;min-height:0;display:flex}.modal-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:20px 18px 16px 22px;display:flex}.modal-icon{background:var(--surface-3);width:36px;height:36px;color:var(--ink);border-radius:50%;flex:none;place-items:center;display:grid}.modal-title{flex-direction:column;flex:1;gap:2px;min-width:0;padding-top:1px;display:flex}.modal-title h2{font-size:18px}.modal-body{flex-direction:column;flex:1;gap:20px;min-height:0;padding:22px;display:flex;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;display:flex}@media (width<=640px){.modal{border-radius:20px 20px 0 0;width:100%;max-width:100%;max-height:calc(100dvh - 24px);margin:auto 0 0}.modal-body{padding:16px}.modal-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field>label{font-size:13px;display:block}.field-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field-pair.single{grid-template-columns:minmax(0,1fr)}@media (width<=420px){.field-pair{grid-template-columns:minmax(0,1fr)}}.field-hint{color:var(--muted);font-size:12px;line-height:17px}.field-hint b{color:var(--ink-2);font-weight:600}.field-error{color:var(--bad);font-size:12px}.affix{align-items:center;display:flex;position:relative}.affix>span{color:var(--muted);pointer-events:none;font-size:14px;position:absolute;left:12px}.affix>input{padding-left:38px}.affix.suffix>span{left:auto;right:12px}.affix.suffix>input{padding-left:12px;padding-right:54px}button.link{min-height:0;color:var(--ink);font-size:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--field-line);text-decoration-color:var(--field-line);text-underline-offset:3px;background:0 0;border:0;border-radius:4px;margin-left:6px;padding:0 2px;font-weight:500;display:inline}button.link:hover:not(:disabled){color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink);background:0 0}.page-link{color:var(--ink);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.page-link:after{content:"→";color:var(--muted);transition:transform .15s,color .15s}.page-link:hover:after{color:var(--ink);transform:translate(3px)}.route-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.month{flex-direction:column;gap:18px;display:flex}.month-head{flex-direction:column;gap:4px;display:flex}.month-v{font-size:var(--fs-kpi);letter-spacing:-.02em;font-weight:600;line-height:30px}.month-status{color:var(--ink-2);font-size:14px}.month-status[data-state=pending]{color:var(--ink)}.month-plan{flex-direction:column;gap:8px;display:flex}.month-bar{background:var(--surface-3);border-radius:99px;height:8px;display:block;position:relative;overflow:hidden}.month-bar>i{border-radius:inherit;background:var(--accent);position:absolute;inset:0 auto 0 0}.month-scale{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.month-facts{flex-direction:column;margin:0;display:flex}.month-facts>div{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;display:flex}.month-facts dt{color:var(--ink-2);font-size:14px}.month-facts dd{text-align:right;margin:0;font-size:14px;font-weight:500}.month-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:auto;display:flex}.page-section>.panel:has(.month) .month{flex:1}.auth-screen{isolation:isolate;background:var(--bg);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;min-height:100dvh;padding:28px 40px 32px;display:grid;position:relative;overflow:hidden}.auth-shader{z-index:-1;width:100%;height:100%;display:block;position:fixed;inset:0}.auth-top{color:var(--ink-2);grid-area:1/1/auto/-1;align-items:center;gap:12px;font-size:13px;display:flex}.auth-intro{flex-direction:column;grid-area:2/1/auto/9;align-self:start;gap:28px;margin-top:7vh;display:flex}.auth-display{letter-spacing:-.055em;color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(56px,9vw,152px);font-weight:600;line-height:.9}.auth-tagline{max-width:30ch;color:var(--ink);font-size:20px;line-height:28px}.auth-card{background:var(--surface);border-radius:24px;flex-direction:column;grid-area:1/9/-1/13;place-self:center end;gap:24px;width:100%;max-width:440px;padding:32px;display:flex}.auth-head{flex-direction:column;gap:8px;display:flex}.auth-card h2{letter-spacing:-.02em;font-size:26px;font-weight:600;line-height:32px}.auth-lead{color:var(--ink);font-size:16px;line-height:24px}.auth-form label{font-size:14px}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-form input:not([type=checkbox]){background:var(--surface-2);min-height:46px;font-size:15px}.auth-form button[type=submit]{width:100%;min-height:46px;margin-top:4px;font-size:15px}.auth-card>button{align-self:flex-start}.auth-foot{color:var(--ink-2);font-size:14px;line-height:20px}.auth-legend{color:var(--ink-2);grid-area:3/1/auto/7;align-self:end;align-items:center;gap:10px;font-size:13px;display:flex}.auth-legend i{background:var(--accent);border-radius:2px;width:18px;height:2px}@media (prefers-reduced-motion:no-preference){.auth-display,.auth-tagline,.auth-top,.auth-legend,.auth-card,.auth-head,.auth-form>*{animation:.6s cubic-bezier(.2,.8,.2,1) both auth-rise}.auth-top{animation-name:auth-fade}.auth-tagline{animation-delay:80ms}.auth-card{animation-delay:.12s}.auth-head{animation-delay:.2s}.auth-form>:first-child{animation-delay:.27s}.auth-form>:nth-child(2){animation-delay:.34s}.auth-form>:nth-child(3){animation-delay:.41s}.auth-form>:nth-child(n+4){animation-delay:.48s}.auth-legend{animation-name:auth-fade;animation-delay:.5s}}@keyframes auth-rise{0%{opacity:0;transform:translateY(24px)}}@keyframes auth-fade{0%{opacity:0}}@media (width<=1180px){.auth-card{grid-column:7/13}.auth-intro{grid-column:1/11}}@media (width<=860px){.auth-screen{grid-template-rows:auto auto minmax(32px,1fr) auto auto;grid-template-columns:minmax(0,1fr);row-gap:16px;padding:20px 16px}.auth-top,.auth-intro,.auth-card,.auth-legend{grid-column:1}.auth-intro{grid-row:2;gap:16px;margin-top:5vh}.auth-display{font-size:clamp(48px,15vw,96px)}.auth-tagline{font-size:18px;line-height:26px}.auth-card{border-radius:20px;grid-row:4;justify-self:stretch;max-width:none;padding:24px 20px}.auth-legend{grid-row:5}}.account{flex-direction:column;gap:28px;display:flex}.account section{flex-direction:column;gap:14px;display:flex}.account .form-grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}.copy-field{align-items:stretch;gap:8px;display:flex}.copy-field input{font-family:var(--mono);font-size:13px}.copy-field button{flex:none}.session-device{flex-direction:column;gap:2px;display:flex}.session-device small{color:var(--muted);font-size:12px}
