:root{--text:#1f2937;--muted:#6b7280;--bg:#f5f6f8;--surface:#fff;--border:#e5e7eb;--accent:#0f766e;--accent-text:#fff;--danger:#dc2626;--neg:#dc2626;--pos:#15803d;--warn:#b45309;--info:#2563eb;--radius:12px;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--text:#e5e7eb;--muted:#9ca3af;--bg:#0b1120;--surface:#111827;--border:#1f2937;--accent:#14b8a6;--accent-text:#042f2e;--neg:#f87171;--pos:#4ade80;--warn:#fbbf24;--info:#60a5fa}}:root[data-theme=dark]{--text:#e5e7eb;--muted:#9ca3af;--bg:#0b1120;--surface:#111827;--border:#1f2937;--accent:#14b8a6;--accent-text:#042f2e;--neg:#f87171;--pos:#4ade80;--warn:#fbbf24;--info:#60a5fa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:0;font-size:1.5rem}h2{margin:0;font-size:1rem}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:max(1rem,16px)}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center;margin-top:30vh}.error{color:var(--danger);margin:0;font-size:.9rem}.neg{color:var(--neg)}.pos{color:var(--pos)}.nowrap{white-space:nowrap}.block{display:block}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.form{flex-direction:column;gap:14px;display:flex}.card.form{padding:20px}.form label{flex-direction:column;gap:4px;font-size:.9rem;display:flex}.form label.check{flex-direction:row;align-items:center;gap:8px}.repeat-summary{background:var(--bg);border:1px solid var(--border);color:var(--muted);border-radius:8px;margin:0;padding:10px 12px;font-size:.9rem}.row-2.repeat-row{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}.form input:not([type=checkbox]):not([type=color]):not([type=radio]),.form select{border:1px solid var(--border);background:var(--bg);border-radius:8px;width:100%;padding:10px 12px}.form input,.form select{min-width:0;max-width:100%}.form input[type=date]{appearance:none;text-align:left;min-height:44px;display:block}.form input[type=date]::-webkit-date-and-time-value{text-align:left}.form input:focus,.form select:focus{outline:2px solid var(--accent);outline-offset:-1px}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:6px;padding:0;font-size:.9rem}.row-2,.row-3{grid-template-columns:1fr 1fr;gap:12px;display:grid}.row-3{grid-template-columns:1fr 1fr 1fr}@media (width<=480px){.row-3{grid-template-columns:1fr 1fr}.row-3>:first-child{grid-column:span 2}}button{cursor:pointer;background:0 0;border:0}button:disabled{opacity:.6;cursor:default}.primary{background:var(--accent);color:var(--accent-text);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-weight:600;display:inline-flex}.ghost{color:var(--muted);border-radius:8px;padding:10px 12px}.ghost:hover{background:var(--border)}.danger{color:var(--danger)}.icon-btn{color:var(--muted);border-radius:8px;padding:8px;display:inline-flex}.icon-btn:hover{background:var(--border)}.actions{justify-content:space-between;gap:8px;display:flex}.actions .primary{margin-left:auto}.segmented{background:var(--border);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--muted);border-radius:8px;padding:7px 12px;font-size:.9rem}.segmented button.active{background:var(--surface);color:var(--text);font-weight:600}.segmented.wide{margin-bottom:16px;display:flex}.segmented.wide button{flex:1}.auth{max-width:400px;margin:0 auto;padding:48px 16px}.auth .brand{text-align:center;margin-bottom:20px}.brand{color:var(--accent);font-weight:700}.topbar{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 16px;display:flex;position:sticky;top:0}.nav{gap:4px;display:flex}.nav a{color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:8px 12px;text-decoration:none;display:flex}.nav a.active{color:var(--accent);background:var(--bg);font-weight:600}.page{max-width:720px;margin:0 auto;padding:20px 16px 96px}@media (width<=640px){.nav{background:var(--surface);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;position:fixed;bottom:0;left:0;right:0}.nav a{flex-direction:column;gap:2px;padding:6px 10px;font-size:.75rem}.nav a.active{background:0 0}}.page-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.group{margin-top:20px}.group h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.85rem}.totals{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.total{flex-direction:column;padding:14px 16px;display:flex}.total strong{font-size:1.25rem}.empty{text-align:center;color:var(--muted);padding:20px}.list{margin:0;padding:0;list-style:none;overflow:hidden}.list>li+li{border-top:1px solid var(--border)}.row{text-align:left;align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex}.row:hover{background:var(--bg)}.row.archived{opacity:.6}.row-main{flex-direction:column;flex:1;min-width:0;display:flex}.row-with-action{align-items:center;padding-right:8px;display:flex}.sublist{margin:0;padding:0 0 6px 40px;list-style:none}.sublist .row{padding:8px 16px}.badge{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.modal-backdrop{top:var(--vv-top,0px);height:var(--vv-h,100dvh);z-index:20;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;left:0;right:0}.modal{background:var(--surface);border-radius:var(--radius);overscroll-behavior:contain;width:100%;max-width:520px;max-height:100%;padding:16px 20px 20px;overflow:hidden auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-head h2{font-size:1.1rem}@media (width<=640px){.modal-backdrop{background:var(--surface);height:auto;padding:0;display:block;top:0;bottom:0}.modal{left:0;right:0;top:var(--vv-top,0px);height:var(--vv-h,100%);max-width:none;max-height:none;padding:0 16px calc(24px + env(safe-area-inset-bottom));border-radius:0;position:absolute}.modal-head,.modal .form-top{z-index:2;background:var(--surface);padding:calc(10px + env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--border);margin:0 -16px 12px;position:sticky;top:0}.modal .form-top{margin-bottom:0}.modal-backdrop.sheet{background:#00000073}.modal-backdrop.sheet .modal{height:auto;max-height:calc(var(--vv-h,100%) - 40px);top:auto;bottom:calc(100% - var(--vv-top,0px) - var(--vv-h,100%));border-radius:var(--radius) var(--radius) 0 0}.modal-backdrop.sheet .modal-head{padding-top:14px}}.preview{align-items:center;gap:12px;display:flex}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px;display:grid}.icon-cell{aspect-ratio:1;color:var(--muted);background:var(--bg);border-radius:8px;justify-content:center;align-items:center;display:flex}.icon-cell.selected{color:#fff}.color-row{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:2px solid #0000;border-radius:50%;width:30px;height:30px}.swatch.selected{outline:2px solid var(--text);outline-offset:2px}.swatch.custom{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);display:inline-block;position:relative;overflow:hidden}.swatch.custom input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.month-nav{justify-content:space-between;align-items:center;margin-bottom:12px;padding:6px;display:flex}.month-nav strong{text-transform:capitalize}.tx-total{gap:2px}.grand-total{gap:2px;margin-bottom:10px}.grand-total strong{font-size:1.6rem}.base-total{border-color:var(--accent)}.rates{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px 16px;margin:8px 0 0;padding:0;list-style:none;display:grid}.rates li{font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;display:flex}.tx-total span:not(.muted){justify-content:space-between;gap:8px;font-size:.9rem;display:flex}.tx-total strong{font-size:.95rem}.filters{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.filters select,.filters .search{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:8px 10px;font-size:.9rem}.filters select{flex:140px;min-width:0}.filters .search{color:var(--muted);flex:2 200px;align-items:center;gap:6px;display:flex}.filters .search input{width:100%;color:var(--text);background:0 0;border:0;outline:none}.group h2{text-transform:none;letter-spacing:0}.amount{white-space:nowrap;flex-direction:column;align-items:flex-end;display:flex}.fab{right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:15;background:var(--accent);width:56px;height:56px;color:var(--accent-text);border-radius:50%;justify-content:center;align-items:center;display:none;position:fixed;box-shadow:0 6px 16px #00000040}@media (width<=640px){.fab{display:inline-flex}.hide-mobile{display:none}}.amount-input{font-weight:600;font-size:1.6rem!important}.segmented.tx-expense button.active{color:var(--neg)}.segmented.tx-income button.active{color:var(--pos)}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;display:grid}.cat-cell{background:var(--bg);text-align:center;border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:.78rem;line-height:1.2;display:flex}.cat-cell.selected{background:var(--surface)}.cat-cell:disabled{opacity:.35;cursor:not-allowed}.chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chip{border:1px solid var(--border);background:var(--bg);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:.85rem}.chip.selected{background:var(--accent);border-color:var(--accent);color:#fff}.date-row{align-items:center;gap:6px;display:flex}.date-row input{flex:1;min-width:0}.tag{background:var(--border);color:var(--muted);vertical-align:middle;border-radius:6px;margin-left:6px;padding:0 6px;font-size:.72rem;display:inline-block}.inline-icon{vertical-align:-2px;margin-left:6px}.amount-sign-row{align-items:center;gap:6px;display:flex}.amount-sign-row input{flex:1;min-width:0}.amount-sign-row .chip{flex:none}.tx-details{flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0;display:flex}.row.tx-row>.badge{align-self:flex-start;margin-top:3px}.tx-account{flex-shrink:1;align-items:center;gap:4px;min-width:0;display:inline-flex}.tx-account-type{opacity:.8;flex:none;display:inline-flex}.row.planned{opacity:.7}.notice{background:var(--bg);color:var(--muted);border-radius:8px;margin:0;padding:10px 12px;font-size:.85rem}@media (width<=640px){.nav a{padding:6px 4px;font-size:.7rem}.nav a.hide-mobile{display:none}}.settings-link{color:var(--text);align-items:center;gap:10px;margin:16px 0;padding:14px 16px;text-decoration:none;display:flex}.settings-link span{flex:1}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;padding:8px;display:grid}.cal-head{text-align:center;color:var(--muted);padding:4px 0;font-size:.75rem}.cal-day{border-radius:8px;flex-direction:column;align-items:center;gap:2px;min-height:46px;padding:6px 0 4px;font-size:.9rem;display:flex}.cal-day:hover{background:var(--bg)}.cal-day.today span:first-child{color:var(--accent);font-weight:700}.cal-day.selected{background:var(--accent);color:var(--accent-text)}.cal-day.selected span:first-child{color:inherit}.dots{gap:3px;min-height:6px;display:flex}.dot{background:var(--muted);border-radius:50%;width:6px;height:6px;display:inline-block}.cal-day.selected .dot{outline:1px solid var(--surface)}.legend{flex-wrap:wrap;gap:12px;margin:8px 2px 0;display:flex}.legend .dot{margin-right:2px}.status-overdue.dot,.status.status-overdue{background:var(--neg)}.status-due.dot,.status.status-due{background:#d97706}.status-planned.dot,.status.status-planned{background:#94a3b8}.status-paid.dot,.status.status-paid{background:var(--pos)}.status{color:#fff;border-radius:6px;margin-top:2px;padding:0 6px;font-size:.7rem}.cal-list>li{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.cal-list .row-main{flex:140px}.item-actions{gap:6px;display:flex}.cal-list .chip{align-items:center;gap:4px;display:inline-flex}@media (width<=640px){.cal-list .item-actions,.cal-list>li>.chip{margin-left:48px}}.budget-row{grid-template-columns:auto 1fr auto;align-items:center;gap:4px 12px;display:grid}.budget-row .bar{border-radius:5px;grid-column:1/4;height:10px;margin-top:4px}.budget-row .bar>i{border-radius:5px}.budget-summary{align-items:center;gap:16px;padding:16px;display:flex}.budget-summary-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.budget-summary-amount strong{font-size:1.6rem}.budget-summary .bar{border-radius:5px;height:10px;margin-top:6px}.budget-summary .bar>i{border-radius:5px}.summary-ring{flex:none;place-items:center;width:64px;height:64px;display:grid;position:relative}.summary-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.summary-ring circle{fill:none;stroke-width:7px}.summary-ring .track{stroke:var(--border)}.summary-ring .used{stroke:var(--pos);stroke-linecap:round}.summary-ring.warning .used{stroke:var(--warn)}.summary-ring.over .used{stroke:var(--neg)}.summary-ring b{font-size:.9rem}.sort-btn{color:var(--muted);background:0 0;border:0;align-items:center;gap:4px;padding:4px 10px;font-size:.85rem;display:inline-flex}.sort-wrap{position:relative}.sort-backdrop{z-index:20;background:0 0;border:0;padding:0;position:fixed;inset:0}.sort-menu{z-index:21;min-width:170px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);right:0}.sort-menu button{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 12px;display:flex}.sort-btn.active{color:var(--text);font-weight:600}.bar{background:var(--border);border-radius:4px;height:8px;position:relative;overflow:hidden}.bar>i{background:var(--pos);border-radius:4px;position:absolute;inset:0 auto 0 0}.bar>i.planned{background:var(--muted);opacity:.35}.bar.warning>i:not(.planned){background:var(--warn)}.bar.over>i:not(.planned){background:var(--neg)}.budget-row .status-text.warning{color:var(--warn)}.budget-row .status-text.over{color:var(--neg)}.section-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.section-head h2{margin:0}.section-head a{font-size:.9rem;font-weight:600;text-decoration:none}.dash-top{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px;display:grid}.dash-card{color:var(--text);flex-direction:column;gap:2px;padding:14px 16px;text-decoration:none;display:flex}.dash-card .big{font-size:1.6rem;font-weight:700}.summary-widget{color:#fff;background:radial-gradient(120% 90% at 70% 0,#5eead44d,#0000 60%),linear-gradient(160deg,#1f8f82 0%,#0f766e 45%,#0b5a54 100%);border-radius:16px;flex-direction:column;gap:6px;padding:12px 14px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #0f766e33,inset 0 0 0 1px #ffffff1f}.summary-widget>:not(.widget-link){pointer-events:none}.summary-widget .widget-link{border-radius:inherit;position:absolute;inset:0}.summary-widget .widget-link:focus-visible{outline-offset:-3px;outline:3px solid #fff}.widget-action{pointer-events:auto;z-index:1;margin-left:2px;position:relative}.widget-btn{cursor:pointer;color:#fff;background:#ffffff29;border:0;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;display:inline-grid}.widget-btn svg{width:16px;height:16px}.widget-body{justify-content:space-between;align-items:center;gap:12px;display:flex}.widget-main{flex-direction:column;gap:2px;min-width:0;display:flex}.widget-label{letter-spacing:.1em;opacity:.9;align-items:center;gap:4px;font-size:.72rem;font-weight:600;display:inline-flex}.widget-amount{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700;line-height:1.15;overflow:hidden}.widget-amount sup{opacity:.75;vertical-align:baseline;margin-left:1px;font-size:.5em;font-weight:500}.widget-foot{justify-content:space-between;gap:12px;display:flex}.widget-foot>span{flex-direction:column;min-width:0;display:flex}.widget-foot>.end{align-items:flex-end}.widget-sub{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.widget-sub sup{vertical-align:baseline;opacity:.8;font-size:.7em}.widget-note{opacity:.85;font-size:.78rem}.widget-note .widget-sub{font-size:inherit}.savings{flex-direction:column;flex:none;align-items:center;gap:2px;display:flex}.savings-ring{width:64px;height:64px}.savings-ring circle{fill:none;stroke-width:10px}.savings-ring .track{stroke:#ffffff38}.savings-ring .value{stroke:#fff;stroke-linecap:round}.savings-ring.bad .value{stroke:#fca5a5}.savings-ring .pct{fill:#fff;text-anchor:middle;dominant-baseline:middle;font-size:24px;font-weight:700}.savings-cap{letter-spacing:.08em;opacity:.85;font-size:.6rem;font-weight:600}.dash-month{grid-template-columns:repeat(3,1fr);gap:4px;margin-top:4px;display:grid}.dash-month span{flex-direction:column;font-size:.85rem;display:flex}.dash-month strong{font-size:1rem}.budget-mini{grid-template-columns:1fr auto;gap:4px 12px;padding:10px 16px;display:grid}.budget-mini .bar{grid-column:1/3}.debt-row .bar{flex-basis:100%;margin-left:48px}.payments{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.payments li{align-items:center;gap:8px;font-size:.9rem;display:flex}.payments li span:first-child{flex:1}.form-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.form-row>label{flex-direction:column;flex:140px;gap:4px;display:flex}.small-btn{align-items:center;gap:4px;padding:4px 8px;font-size:.9rem;display:inline-flex}.tag.danger-tag{background:var(--neg);color:#fff}.debt-payments{background:var(--bg);margin-bottom:16px;padding:12px 14px}.report-card{margin-bottom:12px;padding:14px 16px}.report-list{margin:0 -16px}.report-list .row{padding-left:16px;padding-right:16px}.report-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.report-head h2{margin:0;font-size:1rem}.donut{width:200px;max-width:70%;margin:4px auto 12px;position:relative}.donut svg{width:100%;display:block}.donut circle{cursor:pointer;transition:stroke-width .15s}.donut-center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:22%}.donut-center strong{font-size:1.05rem}.donut-center .ellipsis{max-width:100%}.report-list .row-main{gap:6px}.report-list .amount{flex-direction:column;align-items:flex-end;display:flex}.share-bar{background:var(--border);border-radius:2px;height:4px;display:block;overflow:hidden}.share-bar span{border-radius:2px;height:100%;display:block}.report-children{margin:0 16px 8px 56px;padding:0;font-size:.9rem;list-style:none}.report-children li{border-top:1px solid var(--border)}.sub-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:5px 0;display:flex}.sub-row>.ellipsis{flex:1;min-width:0}.share-ring{flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:relative}.share-ring>svg{width:100%;height:100%;position:absolute;inset:0}.share-ring>svg circle{fill:none;stroke-width:3px}.share-ring .track{stroke:var(--border)}.share-ring .fill{stroke-linecap:round;transition:stroke-dasharray .3s}.share-value{letter-spacing:-.02em;width:28px;height:28px;font-size:.62rem;font-weight:700}.report-list>li{transition:background .15s}.report-list>li.selected{background:var(--bg)}.skel-trend{align-items:flex-end;gap:8px;height:110px;display:flex}.skel-trend .bone{flex:1}.legend{color:var(--muted);gap:12px;font-size:.85rem;display:flex}.legend span{align-items:center;gap:4px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.trend{width:100%;height:auto;max-height:240px;display:block}.trend .grid-line{stroke:var(--border);stroke-dasharray:3 3}.trend .axis-line{stroke:var(--border)}.trend .tick{fill:var(--muted);font-size:9px}.trend .active .tick{fill:var(--text);font-weight:600}.trend .hit{fill:#0000;cursor:pointer}.trend .active .hit{fill:var(--border);opacity:.5}.trend-detail{flex-wrap:wrap;gap:4px 14px;margin:8px 0 4px;font-size:.9rem;display:flex}.trend-detail>strong{text-transform:capitalize;width:100%}.filters .ghost,.export-actions .ghost{align-items:center;gap:6px;display:inline-flex}.export-actions{flex-wrap:wrap;gap:8px;display:flex}.ghost.bordered{border:1px solid var(--border);color:var(--text)}.export-actions+.export-actions{margin-top:4px}.warn-box{border:1px solid var(--danger);color:var(--danger);border-radius:8px;margin:0;padding:10px 12px;font-size:.9rem}.primary.danger-fill{background:var(--danger);color:#fff}.debt-add{gap:8px;margin-bottom:16px;display:flex}.debt-add button{flex:1;justify-content:center;align-items:center;gap:6px;display:inline-flex}.primary.outline{background:var(--surface);color:var(--accent);border:1px solid var(--accent)}.small-btn.accent{color:var(--accent);font-weight:600}.form-top{align-items:center;gap:8px;display:flex}.form-top .segmented{flex:1;display:flex}.form-top .segmented button,.form-top>strong{flex:1}.category-fields{flex-direction:column;gap:14px;display:flex}.select-field{flex-direction:column;gap:4px;font-size:.9rem;display:flex;position:relative}.select-button{text-align:left;border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 10px;font-size:1rem;display:flex}.select-button[aria-expanded=true]{outline:2px solid var(--accent);outline-offset:-1px}.select-chevron{color:var(--muted);flex-shrink:0;margin-left:auto}.select-backdrop{z-index:30;background:#00000059;position:fixed;inset:0}.select-sheet{z-index:31;overscroll-behavior:contain;background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:520px;max-height:70dvh;padding:8px 12px calc(12px + env(safe-area-inset-bottom));margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -10px 30px #0000002e}.select-sheet-title{color:var(--muted);padding:8px 4px 10px;font-size:.9rem;font-weight:600}.confirm-backdrop{z-index:40;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm{background:var(--surface);border-radius:var(--radius);width:100%;max-width:360px;padding:20px;box-shadow:0 10px 30px #00000040}.confirm p{margin:0 0 18px;line-height:1.4}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-danger{background:var(--danger)}.tag-input{flex-direction:column;gap:6px;display:flex}.tag-suggestions{scrollbar-width:none;overscroll-behavior-x:contain;gap:6px;display:flex;overflow-x:auto}.tag-suggestions::-webkit-scrollbar{display:none}.tag-suggestions .chip{white-space:nowrap;flex:none}.tx-tag{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border-radius:999px;align-items:center;gap:2px;padding:1px 8px;font-size:.75rem;font-weight:500;line-height:1.5;display:inline-flex}.tx-tag[role=link]{cursor:pointer}.filters .active-tag{align-self:center;padding:6px 10px;font-size:.85rem}.title-with-action{align-items:center;gap:4px;display:flex}.budget-strip{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;gap:10px;margin:0;padding:2px 2px 8px;list-style:none;display:flex;overflow-x:auto}.budget-strip>li{scroll-snap-align:start;flex:0 0 132px}.budget-card{height:100%;color:inherit;text-align:center;flex-direction:column;align-items:center;gap:2px;padding:14px 10px 12px;text-decoration:none;display:flex}.budget-card-name{max-width:100%;margin-top:6px;font-size:.9rem;font-weight:600}.budget-ring{place-items:center;width:72px;height:72px;display:grid;position:relative}.budget-ring>svg{position:absolute;inset:0;transform:rotate(-90deg)}.budget-ring>svg circle{fill:none;stroke-width:6px;stroke-linecap:round}.budget-ring .track{stroke:var(--border)}.budget-ring .planned{stroke:var(--muted);opacity:.35}.budget-ring .used{stroke:var(--pos)}.budget-ring.warning .used{stroke:var(--warn)}.budget-ring.over .used{stroke:var(--neg)}.topbar-title{align-items:center;gap:4px;font-size:1.15rem;font-weight:700;display:flex}.topbar-title .icon-btn{padding:4px}.topbar-actions{flex-shrink:0;align-items:center;gap:2px;margin-left:4px;display:flex}.bell,.filter-btn{position:relative}.bell-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:17px;height:17px;padding:0 4px;font-size:.7rem;font-weight:700;line-height:17px;position:absolute;top:2px;right:0}.icon-btn:disabled{opacity:.4;cursor:default}.filter-btn.active{color:var(--accent)}.filter-badge{background:var(--accent);color:var(--accent-text)}.scope-options{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.form .scope-options label{flex-direction:row;align-items:flex-start;gap:10px;font-size:1rem}.scope-options input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0;margin:2px 0 0}.scope-options label>span{flex-direction:column;gap:2px;display:flex}.filter-sheet .actions{flex-wrap:wrap}.filter-sheet .segmented.wide{margin-bottom:0}.filter-sheet .actions .primary{flex:1}.notice{color:var(--text);align-items:flex-start}.notice-dot{visibility:hidden;background:var(--accent);border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:6px}.notice.unread .notice-dot{visibility:visible}.notice.tone-neg .notice-dot{background:var(--neg)}.notice.tone-warn .notice-dot{background:var(--warn)}.notice-title{color:var(--muted)}.notice.unread .notice-title{color:var(--text);font-weight:600}.notice.unread{background:color-mix(in srgb, var(--accent) 6%, transparent)}.notice-time{flex-shrink:0;margin-top:2px}.empty-state{color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:48px 16px;display:flex}@media (width>=641px){.topbar .nav{margin-left:auto}}@media (width>=641px) and (width<=1360px){.nav a{gap:4px;padding:8px}}@media (width>=641px) and (width<=1180px){.nav a span{display:none}.nav a{padding:8px 10px}}@media (width>=641px){.hide-desktop{display:none}}@media (width<=640px){.page>h1,.page-head>h1{display:none}.page-head{justify-content:flex-end;margin-bottom:0}.page-head>*{margin-bottom:16px}}.bone{background:linear-gradient(90deg, var(--border) 0%, var(--bg) 50%, var(--border) 100%) 0 0 / 200% 100%;border-radius:6px;max-width:100%;animation:1.4s ease-in-out infinite bone-shine;display:block}.bone.round{border-radius:50%;flex-shrink:0}@keyframes bone-shine{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.bone{background:var(--border);animation:none}}.skel-row .row-main,.skel-total,.skel-bar-row .row-main{gap:8px}.skel-row .row-main{padding:4px 0}.skel-row:hover{background:0 0}.skel-total{flex-direction:column;display:flex}.skel-bar-row{align-items:center;gap:12px;padding:8px 0;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.swipe-row{touch-action:pan-y;position:relative;overflow:hidden}.swipe-front{background:var(--surface);touch-action:pan-y;position:relative}.swipe-front.settle{transition:transform .2s}.swipe-action{color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.85rem;font-weight:600;display:flex;position:absolute;top:0;bottom:0}.swipe-action.delete{background:var(--danger);right:0}.swipe-action.edit{background:var(--accent);color:var(--accent-text);left:0}.upcoming-range{margin-bottom:8px;display:flex}.form .field{flex-direction:column;gap:4px;font-size:.9rem;display:flex}.bank-field{border:1px solid var(--border);background:var(--bg);width:100%;min-height:46px;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:6px 12px;font-size:1rem;display:flex}.bank-field>span:nth-child(2){flex:1;min-width:0}.bank-field>svg{color:var(--muted)}.bank-badge{background:#fff;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.bank-badge img{display:block}.bank-mono{letter-spacing:-.02em;font-weight:800}.bank-search{border:1px solid var(--border);background:var(--bg);border-radius:8px;width:100%;margin-bottom:8px;padding:10px 12px}.bank-list{max-height:min(60vh,520px);margin:0 -16px;overflow-y:auto}.bank-list .row-main{font-size:1rem}.bank-list .row[aria-current]{background:var(--bg)}.bank-badge.full{box-shadow:none}.account-sheet{max-height:min(65vh,560px);margin:0 -16px;overflow-y:auto}.account-sheet h3{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:12px 16px 4px;font-size:.8rem;font-weight:600}.account-sheet .row-main{font-size:1rem}.account-sheet .row[aria-current]{background:var(--bg)}.bank-field .ellipsis{flex:1;min-width:0}.row-2>*,.row-3>*,.bank-field{min-width:0}@media (width<=480px){.row-2.account-row{grid-template-columns:1fr}}.card-date{align-items:center;gap:4px;display:inline-flex}.info-btn{color:var(--info);cursor:pointer;border-radius:50%;margin:-2px 0;padding:2px;display:inline-flex}.info-btn:focus-visible{outline:2px solid var(--accent)}.note-btn{vertical-align:-3px;margin-left:6px}.note-meta{margin:0 0 8px}.note-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:1rem}.holiday-hint{margin-top:0}.page-head.detail-head{justify-content:flex-start}.page-head.detail-head h1{margin:0}.push-right{margin-left:auto}.account-summary{flex-direction:column;gap:2px;margin-bottom:12px;padding:14px 16px;display:flex}.account-summary-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.account-summary .big{font-size:1.6rem}.account-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px 16px;margin-top:12px;display:grid}.account-stats>div{flex-direction:column;gap:2px;display:flex}.account-stats strong{font-size:1.1rem}.account-dates{border-top:1px solid var(--border);flex-direction:column;gap:2px;margin-top:12px;padding-top:10px;display:flex}.card-visual{aspect-ratio:1.586;color:#fff;-webkit-user-select:none;user-select:none;border-radius:14px;width:100%;display:block;position:relative;overflow:hidden;box-shadow:0 10px 28px #00000061,inset 0 0 0 1px #ffffff24;container-type:inline-size}.card-visual-img{object-fit:cover}.card-visual-pattern{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.card-visual>:not(.card-visual-pattern){position:absolute}.card-visual-bank{text-shadow:0 1px 2px #00000040;align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:flex;top:7%;left:6%}.card-visual-chip{filter:drop-shadow(0 1px 1px #00000059);width:14%;height:auto;top:37%;left:7%}.card-visual-nfc{opacity:.85;width:7%;height:auto;top:39%;right:7%}.card-visual-number{letter-spacing:.08em;text-shadow:0 1px #ffffff40,0 -1px #00000059,0 2px 3px #0000004d;font-family:ui-monospace,Menlo,monospace;font-size:clamp(.85rem,5.4cqi,1.25rem);bottom:24%;left:7%}.card-visual-name{text-transform:uppercase;letter-spacing:.06em;opacity:.92;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #0000004d;font-size:.85rem;bottom:8%;left:7%;right:7%;overflow:hidden}.card-hero{border-radius:var(--radius);color:#fff;background:#3f4246;margin:0;padding:14px 0 34px}.card-hero h2{text-align:center;margin:0 16px 12px;font-size:1.05rem}.card-carousel{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;gap:12px;padding:0 14% 14px;display:flex;overflow-x:auto}.card-carousel::-webkit-scrollbar{display:none}.card-slide{scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 100%;transition:opacity .2s,transform .2s}.card-slide:not(.active){opacity:.45;transform:scale(.92)}.card-dots{justify-content:center;gap:8px;margin-top:14px;display:flex}.card-dots button{cursor:pointer;background:#ffffff59;border:0;border-radius:50%;width:8px;height:8px;padding:0}.card-dots button.active{background:#fff}.card-hero:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-stage{position:relative}.card-slide:not(.active){cursor:pointer}.card-arrow{display:none}@media (hover:hover) and (pointer:fine){.card-arrow{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;transition:background .15s,opacity .15s;display:grid;position:absolute;top:calc(50% - 7px);transform:translateY(-50%)}.card-arrow:hover:not(:disabled){background:#ffffff4d}.card-arrow:disabled{opacity:0;pointer-events:none}.card-arrow.prev{left:12px}.card-arrow.next{right:12px}}.card-hero+.account-summary{margin-top:-28px;position:relative}.account-summary .limit-big{font-size:1.8rem;line-height:1.2}.card-preview{max-width:320px}.actions.start{flex-wrap:wrap;justify-content:flex-start}.form label.file-btn{cursor:pointer;flex-direction:row;align-items:center;gap:6px;font-weight:500;display:inline-flex}@media (width<=640px){.card-hero{border-radius:0;margin:-20px -16px 0}}@media (width>=641px){.card-carousel{padding:0 24% 14px}}.form{gap:0}.form>*{margin-block:6px}.form :is(.row-2,.row-3,.category-fields,.form-row),.form>div:not([class]),.form>div:not([class])>div:not([class]),.form :is(.row-2,.row-3)>div:not([class]){display:contents}.form :is(label:not(.check),.field,.select-field):not(.color-row *,.icon-grid *,.scope-options *,.swatch,.file-btn):not(:has(.segmented,.card-preview,.amount-input,textarea)){border-bottom:1px solid var(--border);grid-template-columns:minmax(90px,max-content) minmax(0,1fr);align-content:center;align-items:center;gap:0 12px;min-height:50px;margin:0;padding:3px 0;font-size:1rem;display:grid}.form :is(label,.field,.select-field)>:is(.muted,.error,.notice,.block){grid-column:1/-1;padding-bottom:8px}.form :is(.field-label,.select-label){font-size:1rem}.form :is(label,.field,.select-field):not(:has(.amount-input)) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select){text-align:right;text-align-last:right;text-overflow:ellipsis;background:0 0;border:0;border-radius:0;padding:10px 0}.form :is(label,.field,.select-field):not(:has(.amount-input)) :is(input,select):focus{outline:none}.form label input[type=date]{text-align:right}.form label input[type=date]::-webkit-date-and-time-value{text-align:right}.form :is(.bank-field,.select-button){background:0 0;border:0;outline:none;justify-content:flex-end;padding:6px 0}.form :is(.bank-field,.select-button)>:is(.ellipsis,span:nth-child(2)){text-align:right;flex:0 auto}.form :is(.date-row,.amount-sign-row){justify-content:flex-end}.form .date-row input{flex:0 auto}.form .select-button .select-chevron{margin-left:0}.form :is(label,.field):has(.segmented,.card-preview,.amount-input){border-bottom:1px solid var(--border);margin:0;padding-bottom:10px}.form label.check{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;min-height:50px;margin:0;font-size:1rem}.form label.check>input[type=checkbox]{appearance:none;background:var(--border);cursor:pointer;border-radius:999px;flex:none;order:2;width:51px;height:31px;margin:0;transition:background .2s;position:relative}.form label.check>input[type=checkbox]:before{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #00000040}.form label.check>input[type=checkbox]:checked{background:#34c759}.form label.check>input[type=checkbox]:checked:before{transform:translate(20px)}.form label.check>input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form .actions{margin-top:14px}.form .form-row>label{flex:none}.form .tag-input{display:contents}.form label .tag-suggestions{grid-area:1/1/auto/-1;padding:8px 0 2px}.form :is(label,.field,.select-field){position:relative}.form :is(label,.field,.select-field):not(:has(.amount-input,.segmented,.card-preview))>:is(select,input[type=date],.bank-field,.select-button){width:auto;max-width:none;height:50px;min-height:0;padding-left:40%;position:absolute;top:0;left:0;right:0}.form :is(label,.field,.select-field):not(:has(.amount-input,.segmented,.card-preview)):has(>:is(select,input[type=date],.bank-field,.select-button)){grid-template-rows:50px;grid-auto-rows:auto;align-content:start;padding:0}.insight-card{color:var(--text);align-items:center;gap:12px;text-decoration:none;display:flex}.insight-body{flex-direction:column;gap:2px;min-width:0;display:flex}.insight-icon{background:var(--accent);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.insight-icon.plain{color:var(--accent);background:0 0;width:32px}.insight-icon.pos{background:var(--pos)}.insight-icon.neg{background:var(--neg)}.insight-icon.pos,.insight-icon.neg{color:#fff}.method-list{margin:0;padding:0;list-style:none}.method-list>li+li{margin-top:12px}.method-row{align-items:center;gap:10px;display:flex}.method-name{flex:1;font-size:1.05rem}.method-amount{text-align:right;min-width:96px}.method-sub{color:var(--muted);justify-content:space-between;gap:12px;padding:4px 0 0 42px;display:flex}.page-head-actions{align-items:center;gap:8px;display:none}@media (width>=641px){.page-head-actions{display:flex}}.dash-edit{margin:0;padding:0;list-style:none}.dash-edit li{align-items:center;gap:4px;display:flex}.dash-edit li>.form{flex:1;min-width:0}.dash-edit-reset{width:100%;margin-top:12px}.settings-section{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:24px 0 -4px;font-size:.85rem}.import-card{flex-direction:column;gap:12px;margin-bottom:16px;padding:16px;display:flex}.import-card p{margin:0}.import-summary{margin:0 0 12px}.info-box,.alert-box{border-radius:8px;align-items:flex-start;gap:8px;margin:0 0 10px;padding:8px 12px;font-size:.85rem;display:flex}.info-box{color:var(--info);border:1px solid color-mix(in srgb, var(--info) 45%, transparent);background:color-mix(in srgb, var(--info) 7%, transparent)}.alert-box{color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);background:color-mix(in srgb, var(--danger) 7%, transparent)}.info-box svg,.alert-box svg{flex:none;margin-top:1px}.group h2.neg{color:var(--neg)}.group h2.pos{color:var(--pos)}.import-map-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1.3fr);align-items:center;gap:10px;padding:10px 16px;display:grid}.import-map-row.missing{box-shadow:inset 3px 0 0 var(--danger)}.import-source{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.import-source-name{font-weight:500}.why{align-items:center;gap:4px;font-size:.75rem;display:inline-flex}.why-saved{color:var(--info);border:1px solid color-mix(in srgb, var(--info) 50%, transparent);border-radius:6px;padding:1px 6px}.why-missing{color:var(--danger)}.import-target{align-items:center;gap:10px;min-width:0;display:flex}.import-selects{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.import-selects select,.import-row-fields input{border:1px solid var(--border);background:var(--bg);border-radius:8px;width:100%;min-width:0;padding:8px 10px}.import-totals{flex-direction:column;gap:8px;margin-bottom:12px;padding:12px 16px;display:flex}.import-totals-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.import-totals-row>div{flex-direction:column;gap:2px;min-width:0;display:flex}.import-totals-row strong{white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;overflow:hidden}@media (width<=640px){.import-totals-row{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px}}.import-toolbar{justify-content:flex-end;gap:4px;margin-top:-4px;display:flex}.import-day{width:100%;color:inherit;font:inherit;text-align:left;align-items:center;gap:6px;padding:4px 0;display:flex}.import-day-chevron{flex:none;transition:transform .15s}.import-day.closed .import-day-chevron{transform:rotate(-90deg)}.import-day-label{flex:1;min-width:0}.import-day-count{font-size:.8rem;font-weight:500}.import-day-totals{text-transform:none;letter-spacing:0;gap:10px;font-size:.8rem;font-weight:600;display:inline-flex}.group h2:has(.import-day.closed){margin-bottom:0}.import-row{align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.import-row>.badge{margin-top:2px}.import-row.import-off{opacity:.5}.import-check{flex:none;width:18px;height:18px;margin-top:11px}.import-row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.import-row-head{justify-content:space-between;gap:8px;display:flex}.import-row-head strong{white-space:nowrap}.import-note{font-style:italic}.tag.warn-tag{background:color-mix(in srgb, var(--warn) 20%, transparent);color:var(--warn)}.import-row .icon-btn{margin:2px -6px 0 0}.import-row .icon-btn.active{color:var(--accent)}.import-row-fields{grid-template-columns:1fr 1.5fr;gap:8px;margin-top:6px;display:grid}.import-actions{margin:16px 0 24px}.import-link{text-decoration:none}@media (width<=640px){.import-map-row{grid-template-columns:minmax(0,1fr);gap:8px}.import-arrow{display:none}.import-row-fields{grid-template-columns:1fr}}.desk{--side-w:264px;--d-radius:18px;--d-line:color-mix(in srgb, var(--border) 85%, transparent);--d-soft:color-mix(in srgb, var(--accent) 9%, var(--surface));--d-shadow:0 1px 2px #0f172a0a, 0 8px 24px -12px #0f172a1f;--d-hero-a:#0f766e;--d-hero-b:#065f46;--d-hero-c:#14b8a6;grid-template-columns:var(--side-w) minmax(0, 1fr);background:radial-gradient(1200px 500px at 110% -10%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 60%), var(--bg);min-height:100vh;transition:grid-template-columns .2s;display:grid}.desk.collapsed{--side-w:76px}.desk .num,.palette .num{font-variant-numeric:tabular-nums}.desk kbd,.palette kbd{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-bottom-width:2px;border-radius:5px;padding:3px 5px;font:600 .7rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.desk-side{border-right:1px solid var(--d-line);background:color-mix(in srgb, var(--surface) 70%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:thin;flex-direction:column;gap:14px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow:hidden auto}.desk-brand{align-items:center;gap:10px;padding:2px 4px;display:flex}.desk-logo{color:#fff;background:linear-gradient(135deg, var(--d-hero-c), var(--d-hero-b));width:34px;height:34px;box-shadow:0 6px 14px -6px var(--d-hero-a);border-radius:11px;flex:none;place-items:center;font-size:1.05rem;font-weight:800;display:grid}.desk-brand-name{letter-spacing:-.02em;flex:1;font-size:1.15rem;font-weight:800}.desk-icon{width:36px;height:36px;color:var(--muted);border-radius:10px;flex:none;place-items:center;transition:background .15s,color .15s;display:inline-grid}.desk-icon:hover:not(:disabled){background:color-mix(in srgb, var(--text) 7%, transparent);color:var(--text)}.desk-icon.danger:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.desk-new{background:linear-gradient(135deg, var(--d-hero-c), var(--d-hero-a));color:#fff;width:100%;box-shadow:0 8px 18px -10px var(--d-hero-a);border-radius:12px;align-items:center;gap:10px;padding:11px 14px;font-weight:650;transition:transform .15s,box-shadow .15s;display:flex}.desk-new:hover{box-shadow:0 12px 22px -10px var(--d-hero-a);transform:translateY(-1px)}.desk-new span{text-align:left;flex:1}.desk-new kbd{color:#fff;background:#ffffff2e;border-color:#ffffff4d}.desk-nav{flex-direction:column;gap:14px;display:flex}.desk-nav-group{flex-direction:column;gap:2px;display:flex}.desk-nav-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 12px 6px;font-size:.7rem;font-weight:700}.desk-nav a{color:var(--muted);border-radius:10px;align-items:center;gap:12px;padding:9px 12px;font-size:.95rem;font-weight:550;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.desk-nav a:hover{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text)}.desk-nav a.active{background:var(--d-soft);color:var(--accent)}.desk-nav a.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-14px}.desk-accounts{border-top:1px solid var(--d-line);padding-top:14px}.desk-accounts-head{justify-content:space-between;align-items:baseline;display:flex}.desk-accounts-head strong{text-transform:none;letter-spacing:0;color:var(--text);font-variant-numeric:tabular-nums;font-size:.78rem}.desk-accounts ul{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.desk-accounts a{color:var(--text);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 10px;font-size:.86rem;text-decoration:none;display:grid}.desk-accounts a:hover,.desk-accounts a.active{background:color-mix(in srgb, var(--text) 6%, transparent)}.desk-accounts .num{color:var(--muted);font-size:.8rem}.desk-accounts .num.neg{color:var(--neg)}.desk-user{background:color-mix(in srgb, var(--text) 4%, transparent);border-radius:12px;align-items:center;gap:10px;margin-top:auto;padding:10px;display:flex}.desk-avatar{width:34px;height:34px;color:var(--accent);background:var(--d-soft);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.desk-user-text{flex-direction:column;min-width:0;font-size:.85rem;display:flex}.desk-user-text span{color:var(--muted);font-size:.75rem}.desk.collapsed .desk-side{align-items:center;padding:18px 12px}.desk.collapsed :is(.desk-brand-name,.desk-new span,.desk-new kbd,.desk-nav-title,.desk-nav a span,.desk-accounts,.desk-user-text){display:none}.desk.collapsed .desk-brand{flex-direction:column}.desk.collapsed .desk-new{justify-content:center;width:46px;padding:11px}.desk.collapsed .desk-nav a{justify-content:center;padding:10px}.desk.collapsed .desk-nav a.active:before{left:-12px}.desk.collapsed .desk-user{background:0 0;padding:6px}.desk-main{flex-direction:column;min-width:0;display:flex}.desk-top{z-index:10;background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--d-line);grid-template-columns:minmax(0,1fr) minmax(260px,420px) minmax(0,1fr);align-items:center;gap:16px;padding:14px 32px;display:grid;position:sticky;top:0}.desk-title{align-items:center;gap:8px;min-width:0;display:flex}.desk-title>span{flex-direction:column;min-width:0;display:flex}.desk-title h1{letter-spacing:-.02em;font-size:1.45rem;line-height:1.2}.desk-date{color:var(--muted);font-size:.8rem}.desk-search-trigger{color:var(--muted);background:var(--surface);border:1px solid var(--border);box-shadow:var(--d-shadow);border-radius:12px;align-items:center;gap:10px;padding:9px 12px;font-size:.9rem;transition:border-color .15s;display:flex}.desk-search-trigger:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--border))}.desk-search-trigger span{text-align:left;flex:1}.desk-top-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.desk-top-actions .icon-btn{border-radius:10px;place-items:center;width:36px;height:36px;padding:0;display:inline-grid}.desk-content{width:100%;margin:0 auto;padding:24px 32px 48px}.desk-content.wide{max-width:1480px}.desk-content.legacy{max-width:980px}.desk-content.legacy .page-head>h1,.desk-content.legacy>h1{display:none}.desk-content.legacy .page-head:not(:has(>:not(h1))){display:none}.desk-content.legacy .card{box-shadow:var(--d-shadow);border-radius:14px}.desk .tile{background:var(--surface);border:1px solid var(--d-line);border-radius:var(--d-radius);box-shadow:var(--d-shadow);min-width:0;padding:20px;position:relative}.tile-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.tile-head h2{letter-spacing:-.01em;font-size:1rem}.tile-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:.78rem;font-weight:650}.tile-link{border-radius:8px;padding:4px 8px;font-size:.85rem;font-weight:600;text-decoration:none}.tile-link:hover{background:var(--d-soft)}.tile-actions{align-items:center;gap:8px;display:flex}.tile-empty{color:var(--muted);text-align:center;margin:0;padding:28px 8px}.tile-empty.big{flex-direction:column;align-items:center;gap:12px;padding:64px 16px;display:flex}.tile-empty.big p{margin:0}.desk-btn{white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.desk .primary-btn{background:var(--accent);color:var(--accent-text)}.desk .primary-btn:hover{transform:translateY(-1px)}.desk .primary-btn kbd{color:inherit;background:#fff3;border-color:#ffffff4d}.desk .ghost-btn{color:var(--text);border:1px solid var(--border);background:var(--surface)}.desk .ghost-btn:hover{background:color-mix(in srgb, var(--text) 5%, var(--surface))}.desk .ghost-btn.danger{color:var(--danger)}.desk .ghost-btn kbd{padding:2px 4px}.pill-tabs{background:color-mix(in srgb, var(--text) 6%, transparent);border-radius:11px;gap:2px;padding:3px;display:inline-flex}.pill-tabs button{color:var(--muted);border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:550;transition:background .15s,color .15s}.pill-tabs button:hover{color:var(--text)}.pill-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.trend-chip{border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:5px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.trend-chip.good{color:var(--pos);background:color-mix(in srgb, var(--pos) 12%, transparent)}.trend-chip.bad{color:var(--neg);background:color-mix(in srgb, var(--neg) 12%, transparent)}.trend-chip.neutral{color:var(--muted);background:color-mix(in srgb, var(--text) 6%, transparent)}.mini-tag{color:var(--muted);background:color-mix(in srgb, var(--text) 6%, transparent);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;margin-right:4px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.mini-tag.link:hover{color:var(--accent);background:var(--d-soft)}.desk .bone.fill{border-radius:12px;flex:1;min-height:60px;margin-top:14px}.desk .chart-bone{border-radius:12px;height:220px}.dash{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;animation:.35s both desk-in;display:grid}.dash>.tile{flex-direction:column;display:flex}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.dash .tall{min-height:200px}.dash .xl{min-height:320px}.dash-note{margin:-8px 0 0}@media (width<=1279px){.dash .span-3{grid-column:span 4}.dash .span-5.hero{grid-column:span 12}.dash .span-8,.dash .span-4,.dash .span-5,.dash .span-7{grid-column:span 12}.dash .span-4.month-tile{grid-column:span 8}}@keyframes desk-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.dash,.tx-panel{animation:none}}.desk .hero{color:#fff;background:radial-gradient(420px 220px at 100% 0%, #ffffff2e, transparent 60%), linear-gradient(135deg, var(--d-hero-c) 0%, var(--d-hero-a) 45%, var(--d-hero-b) 100%);min-height:200px;box-shadow:0 18px 40px -22px var(--d-hero-a);border:0;justify-content:flex-end;gap:6px;overflow:hidden}.hero>*{position:relative}.hero .tile-label{color:#ffffffbf}.hero-hello{opacity:.9;font-size:.95rem;font-weight:600;position:absolute;top:20px;left:20px}.hero-amount{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:800;line-height:1.1}.hero-amount sup{opacity:.85;margin-left:2px;font-size:.45em;font-weight:700}.hero-foot{color:#fffc;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;font-size:.85rem;display:flex}.hero-foot strong{color:#fff}.hero-link{color:#fff;background:#ffffff26;border-radius:999px;align-items:center;gap:4px;padding:5px 10px;font-weight:600;text-decoration:none;display:inline-flex}.hero-link:hover{background:#ffffff40}.hero-spark{pointer-events:none;width:100%;height:55%;position:absolute;bottom:0;left:0;right:0}.hero-spark .spark-area{fill:#ffffff1a}.hero-spark .spark-line{fill:none;stroke:#ffffff73;stroke-width:2px;vector-effect:non-scaling-stroke}.month-tile{gap:12px}.month-tile .tile-head{margin-bottom:0}.month-tile .tile-label{text-transform:uppercase}.month-body{justify-content:space-between;align-items:center;gap:16px;display:flex}.month-figs{flex:1;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;display:grid}.fig{align-items:center;gap:10px;min-width:0;display:flex}.fig>span:last-child{flex:1;justify-content:space-between;align-items:baseline;gap:12px;min-width:0;display:flex}.fig strong{white-space:nowrap;font-size:1.05rem}.fig.net{border-top:1px dashed var(--border);flex-direction:column;align-items:flex-start;gap:0;padding-top:10px}.fig.net strong{letter-spacing:-.02em;font-size:1.5rem}.fig-icon{border-radius:10px;flex:none;place-items:center;width:32px;height:32px;display:grid}.fig-icon.in{color:var(--pos);background:color-mix(in srgb, var(--pos) 13%, transparent)}.fig-icon.out{color:var(--neg);background:color-mix(in srgb, var(--neg) 13%, transparent)}.desk .month-tile .savings{color:var(--muted);flex:none}.desk .month-tile .savings-ring{width:92px;height:92px}.desk .month-tile .savings-ring .track{stroke:color-mix(in srgb, var(--text) 8%, transparent)}.desk .month-tile .savings-ring .value{stroke:var(--accent)}.desk .month-tile .savings-ring.bad .value{stroke:var(--neg)}.desk .month-tile .savings-ring .pct{fill:var(--text);font-size:22px}.debt-tile{gap:12px}.debt-tile .tile-head{margin-bottom:0}.debt-figs{flex-direction:column;flex:1;justify-content:center;gap:10px;display:flex}.debt-figs>span{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.debt-figs strong{font-size:1.15rem}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:var(--border);stroke-width:1px;stroke-dasharray:2 4}.chart .axis{fill:var(--muted);font-size:11px}.chart .bar-in{fill:var(--pos)}.chart .bar-out{fill:var(--neg);opacity:.85}.chart .hover-band{fill:color-mix(in srgb, var(--text) 5%, transparent)}.chart-tip{pointer-events:none;z-index:2;background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:3px;min-width:180px;padding:10px 12px;font-size:.82rem;display:flex;position:absolute;top:0;transform:translate(-50%,-6px);box-shadow:0 12px 30px -12px #00000059}.chart-tip strong{text-transform:capitalize;margin-bottom:2px}.chart-tip span{align-items:center;gap:6px;display:flex}.chart-tip b{font-variant-numeric:tabular-nums;margin-left:auto}.chart-legend{color:var(--muted);gap:16px;margin-top:6px;padding-left:44px;font-size:.8rem;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.key{border-radius:3px;width:10px;height:10px;display:inline-block}.key.in{background:var(--pos)}.key.out{background:var(--neg)}.donut-wrap{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:20px;display:grid}.cat-donut{width:180px;height:180px;display:block}.donut-track{fill:none;stroke:color-mix(in srgb, var(--text) 6%, transparent);stroke-width:18px}.donut-slice{fill:none;stroke-width:18px;stroke-linecap:butt;cursor:pointer;transition:opacity .15s,stroke-width .15s}.donut-slice.dim{opacity:.3}.donut-cap{fill:var(--muted);text-anchor:middle;font-size:10px}.donut-val{fill:var(--text);text-anchor:middle;font-variant-numeric:tabular-nums;font-size:15px;font-weight:750}.donut-legend{flex-direction:column;gap:2px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.donut-legend li{border-radius:8px;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:6px 8px;font-size:.88rem;display:grid}.donut-legend li.active{background:color-mix(in srgb, var(--text) 5%, transparent)}.donut-legend i{border-radius:3px;width:10px;height:10px}.donut-legend .muted{font-size:.8rem}.upcoming-tile .pill-tabs{align-self:flex-start;margin-bottom:10px}.mini-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.mini-list.scroll{scrollbar-width:thin;max-height:252px;margin-right:-8px;padding-right:4px;overflow-y:auto}.mini-list li{border-radius:10px;align-items:center;gap:12px;padding:8px;display:flex}.mini-list li:hover{background:color-mix(in srgb, var(--text) 4%, transparent)}.date-chip{background:var(--d-soft);width:42px;color:var(--accent);border-radius:10px;flex-direction:column;flex:none;align-items:center;padding:5px 0;line-height:1.1;display:flex}.date-chip b{font-size:1.05rem}.date-chip span{text-transform:uppercase;font-size:.68rem;font-weight:600}.mini-main{flex-direction:column;flex:1;min-width:0;display:flex}.mini-end{flex-direction:column;align-items:flex-end;display:flex}.budget-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.budget-cell{color:var(--text);border:1px solid var(--d-line);border-radius:14px;align-items:center;gap:12px;padding:10px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.budget-cell:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));transform:translateY(-1px)}.budget-cell.over{background:color-mix(in srgb, var(--neg) 6%, transparent)}.budget-cell .budget-ring{flex:none;width:58px;height:58px}.budget-cell-text{flex-direction:column;min-width:0;display:flex}.budget-cell-text strong{font-size:1.1rem}.dtable{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:.92rem}.dtable td,.dtable th{text-align:left;vertical-align:middle;padding:10px 12px}.dtable td{border-top:1px solid var(--d-line)}.dtable tbody tr:first-child td{border-top:0}.dtable td>span:not(.mini-tag):not(.badge){display:block}.dtable td>.badge{display:flex}.dtable td span.tx-account{align-items:center;gap:6px;display:flex}.dtable .strong{font-weight:550}.dtable tbody tr{cursor:pointer;transition:background .1s}.dtable tbody tr:not(.day-row):hover td{background:color-mix(in srgb, var(--text) 3.5%, transparent)}.dtable .c-amount{text-align:right;white-space:nowrap}.dtable .c-amount span{display:block}.tx-desk{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;display:grid}.tx-desk.with-panel{grid-template-columns:minmax(0,1fr) 360px}.tx-main{flex-direction:column;gap:14px;min-width:0;display:flex}.tx-toolbar,.tx-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tx-toolbar .spacer{flex:1}.month-pill{background:var(--surface);border:1px solid var(--border);box-shadow:var(--d-shadow);border-radius:12px;align-items:center;gap:4px;padding:4px;display:inline-flex}.month-pill button{width:32px;height:32px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.month-pill button:hover{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text)}.month-pill strong{text-align:center;text-transform:capitalize;min-width:130px}.desk-search{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:10px;flex:280px;align-items:center;gap:8px;padding:0 10px;display:flex}.desk-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.desk-search input{color:var(--text);background:0 0;border:0;outline:0;flex:1;min-width:0;padding:9px 0;font-size:.92rem}.tx-filters select{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex:0 200px;min-width:0;padding:9px 10px;font-size:.92rem}.filter-chip{color:var(--accent);background:var(--d-soft);border-radius:999px;align-items:center;gap:4px;padding:6px 10px;font-size:.85rem;font-weight:600;display:inline-flex}.filter-chip:hover{background:color-mix(in srgb, var(--accent) 18%, var(--surface))}.tx-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--d-line);box-shadow:var(--d-shadow);border-radius:14px;flex-direction:column;gap:2px;padding:12px 16px;display:flex}.stat strong{letter-spacing:-.01em;font-size:1.25rem}.stat-note{grid-column:1/-1;margin-top:-4px}.tx-table-wrap{padding:4px 8px 8px}.tx-table thead th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:12px;font-size:.75rem;font-weight:650}.tx-table .day-row th{z-index:1;color:var(--muted);background:var(--surface);text-transform:capitalize;padding:14px 12px 6px;font-size:.8rem;font-weight:650;position:sticky;top:72px}.tx-table .day-row .c-amount{font-weight:600}.tx-table td{padding:9px 12px}.dtable .c-badge{padding-right:0}.tx-sub{align-items:center;gap:2px;min-width:0;margin-top:2px;display:flex!important}.tx-sub .mini-tag{flex:none}.tx-table .c-actions{white-space:nowrap;text-align:right;padding-left:0}.tx-table .c-actions .desk-icon{opacity:0;width:30px;height:30px}.tx-table tr:hover .c-actions .desk-icon,.tx-table tr.selected .c-actions .desk-icon,.tx-table .c-actions .desk-icon:focus-visible{opacity:1}.tx-table tr.selected td{background:var(--d-soft)!important}.tx-table tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.tx-table tr.planned td:not(.c-actions){opacity:.6}.tx-table tbody tr:first-child td{border-top:1px solid var(--d-line)}.tx-table tbody tr.day-row+tr td{border-top:0}.tx-loading{flex-direction:column;gap:14px;padding:16px;display:flex}.tx-loading .bone{height:28px}.kbd-hint{flex-wrap:wrap;align-items:center;gap:4px;margin:0;display:flex}.kbd-hint kbd{margin:0 1px}.desk .tx-panel{flex-direction:column;gap:4px;max-height:calc(100vh - 116px);animation:.2s both panel-in;display:flex;position:sticky;top:92px;overflow-y:auto}@keyframes panel-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.tx-panel-head{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.tx-panel-title{letter-spacing:-.01em;font-size:1.15rem}.tx-panel-amount{letter-spacing:-.03em;margin:2px 0 10px;font-size:2rem}.tx-panel-amount.muted{color:var(--text)}.tx-panel-fields{border-top:1px solid var(--d-line);grid-template-columns:90px minmax(0,1fr);gap:10px 12px;margin:6px 0 16px;padding-top:14px;font-size:.9rem;display:grid}.tx-panel-fields dt{color:var(--muted)}.tx-panel-fields dd{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;margin:0;display:flex}.tx-panel-fields .pre{white-space:pre-wrap}.tx-panel-actions{gap:8px;margin-top:auto;display:flex}.tx-panel-actions .desk-btn{flex:1;justify-content:center}@media (width<=1279px){.tx-desk.with-panel{grid-template-columns:minmax(0,1fr)}.desk .tx-panel{z-index:15;width:340px;position:fixed;top:88px;right:24px;box-shadow:0 30px 70px -20px #0006}}.desk .desk-btn.sm{border-radius:8px;padding:5px 10px;font-size:.82rem}.trend-chip.warn,.mini-tag.warn{color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent)}.desk .stat-bone{width:60%;height:24px;margin-top:4px}.desk .spacer{flex:1}.cal-desk{flex-direction:column;gap:14px;display:flex}.cal-legend{color:var(--muted);gap:14px;font-size:.82rem;display:flex}.cal-legend span{align-items:center;gap:6px;display:inline-flex}.cal-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.desk .cal-board{grid-template-columns:repeat(7,minmax(0,1fr));padding:0;display:grid;overflow:hidden}.cal-wd{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--d-line);padding:10px 12px;font-size:.75rem;font-weight:650}.cal-wd.weekend,.cal-cell.weekend{background:color-mix(in srgb, var(--text) 3.5%, transparent)}.cal-cell{text-align:left;border-right:1px solid var(--d-line);border-bottom:1px solid var(--d-line);flex-direction:column;align-items:stretch;gap:3px;min-width:0;min-height:118px;padding:8px;transition:background .12s;display:flex}.cal-board>:nth-child(7n){border-right:0}.cal-cell.empty{background:color-mix(in srgb, var(--text) 1.5%, transparent)}button.cal-cell:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}.cal-cell.past .cal-num{color:var(--muted)}.cal-num{border-radius:50%;place-items:center;width:26px;height:26px;margin-bottom:2px;font-size:.88rem;font-weight:650;display:grid}.cal-cell.today .cal-num{background:var(--accent);color:var(--accent-text)}.cal-cell.selected{background:var(--d-soft);box-shadow:inset 0 0 0 2px var(--accent)}.cal-pill{background:color-mix(in srgb, var(--text) 5%, transparent);border-radius:7px;grid-template-columns:6px minmax(0,1fr);align-items:center;gap:0 6px;min-width:0;padding:3px 7px;font-size:.74rem;line-height:1.3;display:grid}.cal-pill .dot{width:6px;height:6px}.cal-pill b{white-space:nowrap;text-overflow:ellipsis;grid-column:2;font-weight:650;overflow:hidden}.cal-pill.status-overdue{background:color-mix(in srgb, var(--neg) 12%, transparent)}.cal-pill.status-due{background:#d9770621}.cal-pill.status-paid{opacity:.6}.cal-more{color:var(--muted);padding-left:6px;font-size:.72rem;font-weight:600}.desk .cal-bone{width:70%;height:14px}.desk .cal-side{max-height:calc(100vh - 116px);position:sticky;top:92px;overflow-y:auto}.cal-items{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cal-items li{border:1px solid var(--d-line);border-radius:12px;padding:10px}.cal-items li.status-overdue{border-color:color-mix(in srgb, var(--neg) 35%, var(--border))}.cal-item-top{align-items:center;gap:10px;display:flex}.cal-item-actions{align-items:center;gap:6px;margin-top:8px;padding-left:44px;display:flex}@media (width<=1279px){.cal-layout{grid-template-columns:minmax(0,1fr)}.desk .cal-side{max-height:none;position:relative;top:0}.cal-cell{min-height:96px}}.bud-desk{flex-direction:column;gap:16px;display:flex}.desk .bud-hero{align-items:center;gap:28px;padding:24px 28px;display:flex}.bud-hero-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.bud-hero-amount strong{letter-spacing:-.03em;font-size:2.2rem}.bud-hero-amount .muted{font-size:1.1rem}.bud-hero-facts{flex-wrap:wrap;gap:10px 32px;margin-top:6px;display:flex}.bud-hero-facts>span{flex-direction:column;display:flex}.bud-hero-facts strong{font-size:1.1rem}.bud-hero-flags{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.big-ring{flex:none;place-items:center;width:132px;height:132px;display:grid;position:relative}.big-ring svg{position:absolute;inset:0}.big-ring circle{fill:none}.big-ring .track{stroke:color-mix(in srgb, var(--text) 7%, transparent);stroke-width:14px}.big-ring .used{stroke:var(--pos);stroke-width:14px;stroke-linecap:round;transition:stroke-dasharray .4s}.big-ring.warning .used{stroke:var(--warn)}.big-ring.over .used{stroke:var(--neg)}.big-ring .pace-track{stroke:color-mix(in srgb, var(--text) 4%, transparent);stroke-width:3px}.big-ring .pace{stroke:var(--muted);stroke-width:3px;stroke-linecap:round;opacity:.6}.big-ring b{letter-spacing:-.02em;font-size:1.6rem}.bud-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.desk .bud-card{text-align:left;flex-direction:column;gap:12px;width:100%;height:100%;min-height:170px;transition:transform .15s,border-color .15s;display:flex}.desk .bud-card:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));transform:translateY(-2px)}.desk .bud-card.over{background:color-mix(in srgb, var(--neg) 4%, var(--surface))}.bud-card-top{align-items:center;gap:14px;display:flex}.bud-card-top .budget-ring{flex:none;width:60px;height:60px}.bud-card-title{flex-direction:column;min-width:0;display:flex}.bud-pct{letter-spacing:-.02em;font-size:1.5rem;font-weight:750}.bud-pct.warning{color:var(--warn)}.bud-pct.over{color:var(--neg)}.bud-bar{background:color-mix(in srgb, var(--text) 7%, transparent);border-radius:5px;height:10px;position:relative}.bud-bar i{border-radius:5px;position:absolute;top:0;bottom:0}.bud-bar .used{background:var(--pos);left:0}.bud-card.warning .bud-bar .used{background:var(--warn)}.bud-card.over .bud-bar .used{background:var(--neg)}.bud-bar .planned{background:var(--muted);opacity:.3}.bud-bar .pace{background:var(--text);opacity:.55;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.bud-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.bud-card-notes{flex-wrap:wrap;gap:4px;margin-top:auto;display:flex}.bud-add{border-radius:var(--d-radius);border:2px dashed var(--border);width:100%;height:100%;min-height:170px;color:var(--muted);justify-content:center;align-items:center;gap:8px;font-weight:600;transition:border-color .15s,color .15s;display:flex}.bud-add:hover{border-color:var(--accent);color:var(--accent)}.rep-desk{flex-direction:column;gap:16px;display:flex}.rep-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:20px;display:grid}.rep-grid>.tile{align-self:stretch}.rep-cell{min-width:0}.rep-cell>.card,.rep-stack>.card,.rep-stack .card{border-radius:var(--d-radius);border-color:var(--d-line);box-shadow:var(--d-shadow);margin:0;padding:20px}.rep-stack{flex-direction:column;gap:16px;display:flex}.rep-stack>.group{flex-direction:column;gap:10px;margin:0;display:flex}.rep-stack>.group>*{margin:0}.stat-change{align-items:center;gap:6px;display:inline-flex}.rep-cats{scrollbar-width:thin;flex-direction:column;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.rep-cats>li+li{border-top:1px solid var(--d-line)}.rep-cat{text-align:left;border-radius:10px;grid-template-columns:32px minmax(0,1fr) 64px 120px 20px;align-items:center;gap:12px;width:100%;padding:10px 6px;display:grid}.rep-cat:hover{background:color-mix(in srgb, var(--text) 4%, transparent)}.rep-cat-main{flex-direction:column;gap:6px;min-width:0;display:flex}.rep-share{background:color-mix(in srgb, var(--text) 6%, transparent);border-radius:3px;height:6px;display:block;overflow:hidden}.rep-share i{border-radius:3px;height:100%;display:block}.rep-share.sm{height:4px}.rep-pct{text-align:right;font-size:.85rem}.rep-amt{text-align:right}.rep-chev{color:var(--muted);place-items:center;transition:transform .15s;display:grid}.rep-cats li.open .rep-chev{transform:rotate(180deg)}.rep-subs{flex-direction:column;gap:2px;margin:0 0 8px;padding:0 6px 0 50px;list-style:none;display:flex}.rep-subs li{grid-template-columns:24px minmax(0,1fr) 90px 64px 120px;align-items:center;gap:12px;padding:6px 26px 6px 0;font-size:.88rem;display:grid}@media (width<=1279px){.rep-grid>.span-5,.rep-grid>.span-7,.rep-grid>.span-8,.rep-grid>.span-4{grid-column:span 12}}.acc-desk,.debt-desk,.rec-desk{flex-direction:column;gap:18px;display:flex}.desk .acc-hero{grid-template-columns:minmax(0,1fr) minmax(280px,380px) auto;align-items:center;gap:32px;min-height:150px;padding:24px 28px;display:grid}.acc-hero-main{flex-direction:column;gap:4px;min-width:0;display:flex}.acc-hero-amount{letter-spacing:-.03em;font-size:2.4rem;line-height:1.15}.acc-currencies{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.acc-mix{flex-direction:column;gap:12px;display:flex}.acc-mix-bar{background:color-mix(in srgb, var(--text) 6%, transparent);border-radius:6px;gap:3px;height:12px;display:flex;overflow:hidden}.acc-mix-bar i{height:100%;display:block}.acc-mix-legend{flex-direction:column;gap:6px;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.acc-mix-legend li{grid-template-columns:10px minmax(0,1fr) 44px auto;align-items:center;gap:10px;display:grid}.acc-mix-legend i{border-radius:3px;width:10px;height:10px}.acc-mix-legend .muted{text-align:right;font-size:.8rem}.acc-hero-actions{flex-direction:column;align-self:start;gap:8px;display:flex}.acc-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);gap:8px;margin:6px 0 10px;font-size:.85rem;display:flex}.acc-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.desk .acc-card{color:var(--text);flex-direction:column;gap:10px;height:100%;text-decoration:none;transition:transform .15s,border-color .15s;display:flex}.desk .acc-card:hover,.desk .acc-cc:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));transform:translateY(-2px)}.desk .acc-card.archived,.desk .acc-cc.archived{opacity:.6}.acc-card-top{align-items:center;gap:12px;display:flex}.acc-card-amount{letter-spacing:-.02em;font-size:1.5rem}.acc-card-foot{flex-direction:column;gap:2px;margin-top:auto;display:flex}.acc-edit{opacity:0;width:30px;height:30px}.acc-card:hover .acc-edit,.acc-cc:hover .acc-edit,.acc-edit:focus-visible{opacity:1}.acc-cards{grid-template-columns:repeat(auto-fill,minmax(520px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.desk .acc-cc{color:var(--text);grid-template-columns:210px minmax(0,1fr);align-items:center;gap:20px;text-decoration:none;transition:transform .15s,border-color .15s;display:grid}.acc-cc-visual{display:block;container-type:inline-size}.acc-cc-visual .card-visual{box-shadow:0 14px 30px -14px #00000080}.acc-cc-body{flex-direction:column;gap:8px;min-width:0;display:flex}.acc-limit{flex-direction:column;gap:4px;display:flex}.acc-limit-bar{background:color-mix(in srgb, var(--text) 7%, transparent);border-radius:4px;height:8px;display:block;overflow:hidden}.acc-limit-bar i{background:var(--accent);border-radius:4px;height:100%;display:block}.acc-limit-bar.warning i{background:var(--warn)}.acc-limit-bar.over i{background:var(--neg)}.acc-cc-dates{flex-direction:column;gap:2px;display:flex}@media (width<=1279px){.desk .acc-hero{grid-template-columns:minmax(0,1fr) minmax(240px,320px)}.acc-hero-actions{flex-direction:row;grid-column:1/-1}.acc-cards{grid-template-columns:minmax(0,1fr)}}.debt-cols{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.debt-col .tile-head h2{align-items:center;gap:8px;display:flex}.debt-col.lent .tile-head h2 svg{color:var(--pos)}.debt-col.borrowed .tile-head h2 svg{color:var(--neg)}.desk .debt-col{border-top:3px solid var(--pos)}.desk .debt-col.borrowed{border-top-color:var(--neg)}.debt-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.debt-list.closed-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:12px;display:grid}.debt-card{border:1px solid var(--d-line);text-align:left;background:var(--surface);border-radius:14px;flex-direction:column;gap:10px;width:100%;padding:14px;transition:border-color .15s,transform .15s;display:flex}.debt-card:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));transform:translateY(-1px)}.debt-card.overdue{border-color:color-mix(in srgb, var(--neg) 40%, var(--border))}.debt-card.closed{opacity:.65}.debt-card-top{align-items:center;gap:12px;display:flex}.debt-avatar{border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.debt-avatar.lent{color:var(--pos);background:color-mix(in srgb, var(--pos) 13%, transparent)}.debt-avatar.borrowed{color:var(--neg);background:color-mix(in srgb, var(--neg) 13%, transparent)}.debt-progress{flex-direction:column;gap:4px;display:flex}.debt-progress-bar{background:color-mix(in srgb, var(--text) 7%, transparent);border-radius:3px;height:6px;display:block;overflow:hidden}.debt-progress-bar i{border-radius:3px;height:100%;display:block}.debt-progress-bar.lent i{background:var(--pos)}.debt-progress-bar.borrowed i{background:var(--neg)}.debt-card-tags{flex-wrap:wrap;gap:4px;display:flex}.debt-card-tags:empty{display:none}.mini-tag.bad{color:var(--neg);background:color-mix(in srgb, var(--neg) 12%, transparent)}.debt-cc{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.debt-cc a{border:1px solid var(--d-line);color:var(--text);border-radius:12px;align-items:center;gap:12px;padding:10px;text-decoration:none;display:flex}.debt-cc a:hover{background:color-mix(in srgb, var(--text) 3%, transparent)}.palette-backdrop{z-index:30;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a59;justify-content:center;align-items:flex-start;padding-top:12vh;animation:.12s both fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.palette{background:var(--surface);border:1px solid var(--border);border-radius:18px;flex-direction:column;width:min(620px,100vw - 32px);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 30px 80px -20px #00000073}.palette-input{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;padding:14px 16px;display:flex}.palette-input input{color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:1.05rem}.palette-list{margin:0;padding:6px;list-style:none;overflow-y:auto}.palette-group{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px;font-size:.7rem;font-weight:700;display:block}.palette-list button{text-align:left;border-radius:10px;align-items:center;gap:12px;width:100%;padding:9px 10px;display:flex}.palette-list button.active{background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.palette-icon{width:28px;height:28px;color:var(--muted);background:color-mix(in srgb, var(--text) 5%, transparent);border-radius:8px;flex:none;place-items:center;display:grid}.palette-list button.active .palette-icon{color:var(--accent)}.palette-meta{color:var(--muted);align-items:center;gap:8px;margin-left:auto;font-size:.85rem;display:inline-flex}.palette-empty{text-align:center;color:var(--muted);padding:28px}.palette-foot{border-top:1px solid var(--border);gap:16px;padding:10px 16px;font-size:.78rem;display:flex}.palette-foot span{align-items:center;gap:4px;display:inline-flex}@media (width>=1024px){.modal{border-radius:18px;box-shadow:0 30px 80px -20px #00000073}}
