@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg:#f4f5f2;--color-surface:#fff;--color-surface-muted:#ecefeb;--color-surface-sunken:#f7f8f5;--color-ink:#171a1f;--color-ink-hover:#2b3038;--color-ink-secondary:#575d65;--color-ink-muted:#6e747c;--color-border:#d9ddd8;--color-border-strong:#b9bfb8;--color-accent:#b8f34a;--color-accent-hover:#a4df34;--color-accent-ink:#131a0e;--color-accent-soft:#eefbd6;--color-secondary:#4f46e5;--color-secondary-soft:#eef0ff;--color-success:#1d7148;--color-success-soft:#e5f3eb;--color-warning:#8a5a00;--color-warning-soft:#fff4d9;--color-danger:#b42318;--color-danger-hover:#93190f;--color-danger-soft:#fef0ee;--color-focus:#4338ca;--color-overlay:#171a1f7a;--color-placeholder:#767b82;--color-on-ink:#c9ced4;--color-on-ink-muted:#b3b9c0;--color-success-border:#bfe0cd;--color-danger-border:#f0bdb6;--color-danger-strong:#6e2a22;--color-accent-glow:#b8f34a47;--color-focus-glow:#4338ca2e;--radius-control:12px;--radius-card:16px;--radius-panel:18px;--radius-pill:999px;--shadow-overlay:0 24px 48px #171a1f29;--font-sans:"Geist Variable", "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--touch-target:44px;--gutter:clamp(16px, 3vw, 48px);color:var(--color-ink);background:var(--color-bg);font-family:var(--font-sans);font-size:15px;font-weight:var(--weight-regular);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.5}*{box-sizing:border-box}html{overflow-x:hidden}body{background:var(--color-bg);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,textarea,select{color:inherit;font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}table.visually-hidden{table-layout:fixed;max-width:1px}.eyebrow{color:var(--color-ink-secondary);font-size:.72rem;font-weight:var(--weight-semibold);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px}.dashboard__heading h1,.page-heading h1{color:var(--color-ink);font-size:clamp(2.4rem,5.2vw,4.25rem);font-weight:var(--weight-bold);letter-spacing:-.045em;margin:0;line-height:.98}.create-panel h2,.movement-panel h2,.empty-state h2,.category-dialog h2,.form-heading h2{color:var(--color-ink);font-weight:var(--weight-bold);letter-spacing:-.035em;margin:0;line-height:1.08}.account-tile__balance,.balance-equation strong,.movement-row__aside>strong,.cashback-card__rate strong,.category-tab span{font-variant-numeric:tabular-nums}.wordmark{min-height:var(--touch-target);color:var(--color-ink);font-size:.98rem;font-weight:var(--weight-semibold);letter-spacing:-.02em;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.wordmark--light{color:var(--color-surface)}.wordmark__mark,.loading-mark{background:var(--color-accent);width:34px;height:34px;color:var(--color-accent-ink);font-size:1rem;font-weight:var(--weight-bold);letter-spacing:-.02em;border-radius:50%;flex:none;place-items:center;display:grid}.loading-shell{min-height:100vh;color:var(--color-ink-secondary);place-content:center;justify-items:center;gap:16px;display:grid}.loading-mark{width:46px;height:46px;font-size:1.25rem;animation:1.6s ease-in-out infinite breathe}@keyframes breathe{50%{box-shadow:0 0 0 10px var(--color-accent-glow)}}@keyframes spin{to{transform:rotate(360deg)}}.auth-shell{background:var(--color-bg);min-height:100vh;display:grid}.brand-panel{background:var(--color-ink);min-height:40vh;color:var(--color-surface);flex-direction:column;justify-content:space-between;padding:28px 24px;display:flex}.eyebrow--light{color:var(--color-accent);margin-top:clamp(48px,11vh,110px)}.brand-panel h1{max-width:700px;font-size:clamp(2.4rem,7vw,4.8rem);font-weight:var(--weight-bold);letter-spacing:-.045em;margin:0;line-height:1}.brand-panel__summary{max-width:560px;color:var(--color-on-ink);margin:22px 0 0;font-size:clamp(1rem,2vw,1.12rem);line-height:1.6}.security-note{max-width:560px;color:var(--color-on-ink-muted);align-items:baseline;gap:10px;margin:36px 0 0;font-size:.82rem;line-height:1.5;display:flex}.security-note span{color:var(--color-accent)}.form-panel{place-items:center;padding:36px 16px 48px;display:grid}.form-card{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);width:min(100%,460px);padding:clamp(22px,5vw,36px)}.auth-tabs,.category-tabs,.segmented{border-radius:var(--radius-control);background:var(--color-surface-muted);grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.auth-tab,.category-tab,.segmented__option{min-height:var(--touch-target);color:var(--color-ink-secondary);cursor:pointer;font-weight:var(--weight-medium);background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;transition:background .15s,color .15s;display:flex}.auth-tab:hover,.category-tab:hover,.segmented__option:hover{color:var(--color-ink)}.auth-tab--active,.category-tab--active,.segmented__option--active{border-color:var(--color-border);background:var(--color-surface);color:var(--color-ink);font-weight:var(--weight-semibold)}.form-heading{margin:34px 0 22px}.form-heading h2{font-size:clamp(1.9rem,6vw,2.5rem)}.form-heading>p:last-child{color:var(--color-ink-muted);margin:12px 0 0;line-height:1.55}.field{min-width:0;color:var(--color-ink);font-size:.88rem;font-weight:var(--weight-medium);align-content:start;gap:8px;margin-top:18px;display:grid}.field input,.field select,.field textarea{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-ink);font-weight:var(--weight-regular);padding:0 14px;transition:border-color .15s,box-shadow .15s}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--color-border-strong)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-ink);box-shadow:0 0 0 3px var(--color-focus-glow);outline:0}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.field input::placeholder,.field textarea::placeholder{color:var(--color-placeholder)}.field textarea{resize:vertical;min-height:104px;padding:12px 14px;line-height:1.5}.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-ink-muted) 50%), linear-gradient(135deg, var(--color-ink-muted) 50%, transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding:0 42px 0 14px}.field small,.field span small{color:var(--color-ink-muted);font-size:.78rem;font-weight:var(--weight-regular)}.field--readonly input{background:var(--color-surface-sunken);color:var(--color-ink-muted);cursor:not-allowed;border-style:dashed}.auth-notice{color:var(--color-ink-muted);margin:12px 0 0;font-size:.9rem}.form-error{border:1px solid var(--color-danger-border);border-left:3px solid var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger);border-radius:10px;margin:16px 0 0;padding:10px 14px;font-size:.88rem;line-height:1.5}.form-note{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-sunken);color:var(--color-ink-secondary);margin:0;padding:12px 14px;line-height:1.5}.button{min-height:var(--touch-target);border-radius:var(--radius-control);cursor:pointer;font-size:.93rem;font-weight:var(--weight-semibold);letter-spacing:-.005em;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.button svg{flex:none}.button:disabled{cursor:not-allowed;opacity:.5}.button--primary{background:var(--color-ink);width:100%;color:var(--color-surface);margin-top:24px}.button--primary:hover:not(:disabled){background:var(--color-ink-hover)}.button--accent{background:var(--color-accent);color:var(--color-accent-ink);flex:none}.button--accent:hover:not(:disabled){background:var(--color-accent-hover)}.button--quiet,.button--secondary,.button--transfer{border-color:var(--color-border);background:var(--color-surface);color:var(--color-ink)}.button--quiet:hover:not(:disabled),.button--secondary:hover:not(:disabled),.button--transfer:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-muted)}.button--danger{background:var(--color-danger);color:var(--color-surface)}.button--danger:hover:not(:disabled){background:var(--color-danger-hover)}.button--danger-outline{border-color:var(--color-danger-border);background:var(--color-surface);color:var(--color-danger)}.button--danger-outline:hover:not(:disabled){border-color:var(--color-danger);background:var(--color-danger-soft)}.icon-button{width:var(--touch-target);height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);cursor:pointer;flex:none;place-items:center;padding:0;display:grid}.icon-button:hover{background:var(--color-surface-muted)}.text-action,.cashback-card__actions button,.movement-row__actions button,.category-row__edit{min-width:var(--touch-target);min-height:var(--touch-target);color:var(--color-ink);cursor:pointer;font-size:.86rem;font-weight:var(--weight-semibold);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:0 12px;display:inline-flex}.cashback-card__actions button:hover,.movement-row__actions button:hover,.category-row__edit:hover{border-color:var(--color-border);background:var(--color-surface-muted)}.cashback-card__actions button:last-child,.movement-row__actions button:last-child{color:var(--color-danger)}.movement-row__actions button:disabled{cursor:wait;opacity:.5}.app-shell{--sidebar-width:252px;background:var(--color-bg);min-height:100vh;overflow-x:hidden}.app-shell--compact{--sidebar-width:80px}.app-content{min-width:0;margin-left:var(--sidebar-width);transition:margin-left .18s}.sidebar{z-index:40;width:var(--sidebar-width);border-right:1px solid var(--color-border);background:var(--color-surface-sunken);flex-direction:column;padding:22px 14px;transition:width .18s,transform .18s;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.sidebar__brand{min-height:var(--touch-target);justify-content:space-between;align-items:center;padding:0 8px;display:flex}.sidebar__drawer-close,.mobile-topbar,.sidebar-backdrop{display:none}.sidebar__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-shell--compact .sidebar__label{display:none}.sidebar__nav{gap:4px;margin-top:44px;display:grid}.sidebar__link,.sidebar__collapse{border-radius:var(--radius-control);width:100%;min-height:46px;color:var(--color-ink-secondary);cursor:pointer;font-weight:var(--weight-medium);background:0 0;border:0;align-items:center;gap:12px;padding:0 14px;text-decoration:none;display:flex;position:relative}.sidebar__link svg,.sidebar__collapse svg{flex:none;width:20px}.sidebar__link:hover,.sidebar__collapse:hover{background:var(--color-surface-muted);color:var(--color-ink)}.sidebar__link--active,.sidebar__link--active:hover{background:var(--color-ink);color:var(--color-surface);font-weight:var(--weight-semibold)}.sidebar__link--active:before{background:var(--color-accent);content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;top:12px;bottom:12px;left:0}.sidebar__footer{gap:4px;margin-top:auto;display:grid}.sidebar__profile{border-bottom:1px solid var(--color-border);min-width:0;color:var(--color-ink-secondary);align-items:center;gap:11px;padding:12px 10px 16px;font-size:.8rem;display:flex}.sidebar__avatar{border:1px solid var(--color-border);background:var(--color-surface);width:34px;height:34px;color:var(--color-ink);font-weight:var(--weight-semibold);border-radius:50%;flex:none;place-items:center;display:grid}.sidebar__logout{font-size:.88rem}.sidebar__collapse{border-top:1px solid var(--color-border);border-radius:0;font-size:.84rem}.app-shell--compact .sidebar__link,.app-shell--compact .sidebar__collapse{justify-content:center;padding-inline:0}.dashboard-shell,.page-shell{background:var(--color-bg);min-height:100vh;padding:clamp(40px, 7vh, 80px) var(--gutter) 80px}.dashboard,.page-heading,.category-tabs,.categories-page>.form-error,.categories-page>.dashboard-status,.categories-page>.empty-state,.category-sections{width:100%;max-width:1160px;margin-inline:auto}.dashboard{flex-direction:column;display:flex}.dashboard__heading,.dashboard__error{order:0}.dashboard>.create-panel:not(.account-settings-panel){order:1}.dashboard>.movement-panel{order:2}.dashboard>.account-settings-panel{order:3}.dashboard>.dashboard-status,.dashboard>.empty-state,.dashboard>.accounts-grid,.dashboard>.cashback-catalog{order:4}.dashboard__heading,.page-heading{justify-content:space-between;align-items:end;gap:24px 32px;display:flex}.dashboard__heading p:last-child,.page-heading p:last-child{max-width:520px;color:var(--color-ink-secondary);margin:18px 0 0;font-size:1rem;line-height:1.55}.dashboard__heading>div:first-child,.page-heading>div:first-child{flex:0 auto;min-width:0}@media (width>=761px){.dashboard__heading h1,.page-heading h1{white-space:nowrap}}.dashboard__heading p:last-child{max-width:360px}.dashboard__actions,.page-heading__actions{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:8px;display:flex}.dashboard__actions .button--primary{width:auto;margin-top:0}.dashboard__error{margin-top:28px}.dashboard-status{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);color:var(--color-ink-muted);align-items:center;gap:12px;margin-top:40px;padding:28px;display:flex}.dashboard-status:before{border:2px solid var(--color-border);border-top-color:var(--color-ink);content:"";border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin}.empty-state{border:1px dashed var(--color-border-strong);border-radius:var(--radius-panel);background:var(--color-surface);min-height:340px;color:var(--color-ink-muted);text-align:center;align-content:center;place-items:center;margin-top:40px;padding:48px 24px;display:grid}.empty-state__icon{border-radius:var(--radius-card);background:var(--color-ink);width:56px;height:56px;color:var(--color-accent);place-items:center;margin-bottom:22px;display:grid}.empty-state h2{font-size:clamp(1.8rem,5vw,2.6rem)}.empty-state>p:not(.eyebrow){max-width:520px;margin:14px 0 26px;line-height:1.6}.account-visual{border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-ink);border-radius:14px;flex:none;place-items:center;display:inline-grid;overflow:hidden}.account-visual--inline{border-radius:10px}.account-visual--detail{border-radius:var(--radius-card)}.account-visual--form{border-radius:var(--radius-panel);background:var(--color-surface-sunken)}.account-visual--image{background:var(--color-surface-muted)}.account-visual img{object-fit:cover;width:100%;height:100%;display:block}.accounts-grid{gap:16px;margin-top:40px;display:grid}.account-tile{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);min-width:0;min-height:272px;color:var(--color-ink);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;padding:22px 24px 20px;transition:border-color .15s,background .15s;display:flex}.account-tile:hover{border-color:var(--color-ink-muted)}.account-tile--selected{border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink)}.account-tile__meta{width:100%;color:var(--color-ink-muted);font-size:.72rem;font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;gap:12px;display:flex}.account-tile .account-visual{margin-top:18px}.account-tile>strong{overflow-wrap:anywhere;max-width:100%;font-size:1.4rem;font-weight:var(--weight-bold);letter-spacing:-.03em;margin-top:16px;line-height:1.15}.account-tile__institution{color:var(--color-ink-muted);margin-top:4px;font-size:.92rem}.account-tile__balance{overflow-wrap:anywhere;max-width:100%;font-size:clamp(1.7rem,2.6vw,2.2rem);font-weight:var(--weight-bold);letter-spacing:-.04em;margin-top:auto;padding-top:26px;line-height:1.05}.account-tile__explain{color:var(--color-ink-muted);align-items:center;gap:6px;margin-top:12px;font-size:.86rem;display:inline-flex}.account-tile:hover .account-tile__explain{color:var(--color-ink)}.create-panel,.movement-panel{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);margin-top:28px;padding:clamp(20px,4vw,40px)}.create-panel__heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.create-panel h2,.movement-panel h2{font-size:clamp(1.7rem,4vw,2.5rem)}.movement-panel__title{align-items:center;gap:18px;min-width:0;display:flex}.movement-panel__title>div{min-width:0}.movement-panel__title h2{overflow-wrap:anywhere}.movement-panel__subtitle{color:var(--color-ink-muted);margin:8px 0 0;font-size:.92rem}.movement-panel__heading-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.account-form{gap:0 20px;margin-top:12px;display:grid}.account-form__submit{align-self:end}.account-form .button--accent.account-form__submit{margin-top:24px}.account-form__visual{grid-column:1/-1}.account-settings-panel{border-color:var(--color-border-strong)}.settings-section{border-top:1px solid var(--color-border);margin-top:28px;padding-top:26px}.settings-section--opening,.settings-section--visual{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-sunken);padding:24px}.settings-section--opening,.settings-section--visual,.cashback-card--maximum,.category-row--child,.sidebar{--color-ink-muted:var(--color-ink-secondary)}.settings-section__intro h3{color:var(--color-ink);font-size:1.2rem;font-weight:var(--weight-semibold);letter-spacing:-.02em;margin:0}.settings-section__intro p{max-width:680px;color:var(--color-ink-muted);margin:6px 0 0;font-size:.92rem;line-height:1.55}.transaction-form__description,.transfer-form__description,.cashback-form__note{grid-column:1/-1}.transfer-form__same-currency{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-sunken);color:var(--color-ink-secondary);align-self:end;margin-top:18px;padding:14px;font-size:.88rem;line-height:1.5}.transfer-form__total{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-sunken);min-height:48px;color:var(--color-ink-secondary);margin-top:12px;padding:14px;font-size:.88rem;line-height:1.5}.visual-picker{border:0;min-width:0;margin:20px 0 0;padding:0}.visual-picker legend{color:var(--color-ink);font-size:.88rem;font-weight:var(--weight-medium);margin-bottom:10px;padding:0}.settings-section--visual .visual-picker legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.segmented{max-width:420px}.segmented__option input,.icon-tile input{opacity:0;pointer-events:none;position:absolute}.file-input:focus-visible+.file-input__button{outline:2px solid var(--color-focus);outline-offset:2px}.segmented__option:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.icon-tile:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.visual-picker__body{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:20px;margin-top:16px;display:grid}.visual-picker__preview{justify-items:center;gap:8px;width:112px;margin:0;display:grid}.visual-picker__preview figcaption{color:var(--color-ink-muted);text-align:center;font-size:.75rem;line-height:1.35}.visual-picker__icons{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;max-width:480px;display:grid}.icon-tile{aspect-ratio:1;min-width:var(--touch-target);min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);cursor:pointer;place-items:center;transition:border-color .15s,background .15s;display:grid;position:relative}.icon-tile:hover{border-color:var(--color-border-strong);background:var(--color-surface-muted)}.icon-tile--active,.icon-tile--active:hover{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-surface)}.icon-tile__check{box-sizing:content-box;border:2px solid var(--color-surface);background:var(--color-accent);color:var(--color-accent-ink);border-radius:50%;padding:2px;position:absolute;top:-6px;right:-6px}.visual-picker__upload{justify-items:start;gap:10px;display:grid}.file-input__button{cursor:pointer}.visual-picker fieldset:disabled .file-input__button,.visual-picker:disabled .file-input__button{cursor:not-allowed;opacity:.5}.visual-picker__hint,.visual-picker__file,.visual-picker__note{max-width:460px;color:var(--color-ink-muted);margin:0;font-size:.84rem;line-height:1.5}.visual-picker__file{overflow-wrap:anywhere;color:var(--color-ink)}.visual-picker__note{border-left:3px solid var(--color-accent);margin-top:14px;padding-left:10px}.visual-picker__error{max-width:560px}.visual-picker__actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.visual-picker__actions .button--primary{width:auto;margin-top:0}.balance-equation{border-radius:var(--radius-card);background:var(--color-ink);color:var(--color-surface);gap:6px;margin:28px 0;padding:22px 24px;display:grid}.balance-equation span,.balance-equation small{color:var(--color-on-ink-muted);font-size:.84rem}.balance-equation span:before{background:var(--color-accent);content:"";vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.balance-equation strong{overflow-wrap:anywhere;font-size:clamp(1.8rem,5vw,2.6rem);font-weight:var(--weight-bold);letter-spacing:-.04em}.delete-confirmation{border:1px solid var(--color-danger-border);border-radius:var(--radius-card);background:var(--color-danger-soft);justify-content:space-between;align-items:center;gap:18px;margin:-8px 0 20px;padding:16px 18px;display:flex}.delete-confirmation>div:first-child{gap:4px;display:grid}.delete-confirmation strong{color:var(--color-ink)}.delete-confirmation span{color:var(--color-danger-strong);font-size:.9rem;line-height:1.45}.delete-confirmation__actions{flex:none;gap:8px;display:flex}.movement-row{border-top:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:16px 0;display:grid}.movement-row__mark{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-muted);width:38px;height:38px;color:var(--color-ink-secondary);font-weight:var(--weight-bold);place-items:center;display:grid}.movement-row>div{gap:4px;min-width:0;display:grid}.movement-row>div>strong{font-weight:var(--weight-semibold)}.movement-row>div span{color:var(--color-ink-muted);font-size:.84rem}.movement-row>div .movement-row__details{overflow-wrap:anywhere;color:var(--color-ink-secondary);font-size:.9rem}.movement-row--income .movement-row__mark{border-color:var(--color-success-border);background:var(--color-success-soft);color:var(--color-success)}.movement-row--expense .movement-row__mark{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger)}.movement-row--income .movement-row__aside>strong{color:var(--color-success)}.movement-row--expense .movement-row__aside>strong{color:var(--color-danger)}.movement-row .movement-row__aside{grid-column:2;justify-items:start}.movement-row__aside>strong{font-size:1.08rem;font-weight:var(--weight-semibold)}.movement-row>div .movement-row__actions{gap:4px;margin-left:-12px;display:flex}.cashback-catalog{flex-direction:column;margin-top:36px;display:flex}.cashback-toolbar{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);order:0;justify-content:space-between;align-items:end;gap:16px;padding:16px 18px;display:flex}.cashback-toolbar .field{width:min(100%,260px);margin-top:0}.cashback-catalog>.create-panel{order:1}.cashback-disclaimer{color:var(--color-ink-secondary);order:2;margin:14px 0 0;font-size:.9rem;line-height:1.55}.cashback-groups{order:3;gap:20px;margin-top:28px;display:grid}.cashback-catalog>.dashboard-status,.cashback-catalog>.cashback-empty{order:3}.cashback-catalog>.delete-confirmation{order:4}.cashback-group{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);padding:clamp(18px,3.5vw,30px)}.cashback-group__heading .eyebrow{color:var(--color-ink-muted)}.cashback-group__heading h2{color:var(--color-ink);font-size:clamp(1.5rem,3.5vw,2rem);font-weight:var(--weight-bold);letter-spacing:-.03em;margin:0}.cashback-cards{gap:10px;margin-top:18px;display:grid}.cashback-card{border:1px solid var(--color-border);border-radius:var(--radius-card);grid-template-columns:148px minmax(0,1fr) auto;align-items:center;gap:8px 18px;padding:14px 16px;display:grid}.cashback-card--maximum{border-color:var(--color-ink);background:var(--color-surface-sunken)}.cashback-card__rate,.cashback-card__account-text{gap:2px;display:grid}.cashback-card__account{align-items:center;gap:12px;min-width:0;display:flex}.cashback-card__account-text{min-width:0}.cashback-card__account strong{overflow-wrap:anywhere;font-weight:var(--weight-semibold)}.cashback-card__rate strong{color:var(--color-ink);font-size:1.6rem;font-weight:var(--weight-bold);letter-spacing:-.03em}.cashback-card__rate span{border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-ink);font-size:.72rem;font-weight:var(--weight-semibold);justify-self:start;padding:2px 8px}.cashback-card__account-text>span{color:var(--color-ink-muted);font-size:.82rem}.cashback-card p{color:var(--color-ink-secondary);grid-column:2;margin:0;font-size:.88rem;line-height:1.45}.cashback-card__actions{grid-area:1/3/span 2;gap:4px;display:flex}.cashback-empty{margin-top:28px}.category-tabs{max-width:1160px;margin-top:40px;display:flex}.category-tab{flex:1}.category-tab span{border-radius:var(--radius-pill);background:var(--color-surface-muted);min-width:26px;color:var(--color-ink-secondary);padding:2px 8px;font-size:.76rem}.category-tab--active span{background:var(--color-accent);color:var(--color-accent-ink)}.category-sections{gap:18px;margin-top:28px;display:grid}.category-group{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);overflow:hidden}.category-group>h2{border-bottom:1px solid var(--color-border);color:var(--color-ink-muted);font-size:.74rem;font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;margin:0;padding:16px 22px 12px}.category-group__children{border-left:2px solid var(--color-border);margin-left:36px}.category-row{border-bottom:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:72px;padding:12px 18px 12px 22px;display:grid}.category-row:last-child{border-bottom:0}.category-row--child{background:var(--color-surface-sunken)}.category-row__icon{border-radius:var(--radius-control);place-items:center;width:42px;height:42px;display:grid}.category-row__content{gap:3px;min-width:0;display:grid}.category-row__content strong{overflow-wrap:anywhere;color:var(--color-ink);font-weight:var(--weight-semibold)}.category-row__content small{color:var(--color-ink-muted);font-size:.84rem}.category-row__swatch{border:3px solid var(--color-surface);width:16px;height:16px;box-shadow:0 0 0 1px var(--color-border-strong);border-radius:50%}.modal-backdrop{z-index:80;background:var(--color-overlay);place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.category-dialog{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);width:min(100%,660px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-overlay);padding:clamp(22px,5vw,38px);position:relative;overflow-y:auto}.category-dialog h2{padding-right:52px;font-size:clamp(1.8rem,5vw,2.4rem)}.category-dialog__close{position:absolute;top:18px;right:18px}.icon-picker,.color-picker{border:0;margin:22px 0 0;padding:0}.icon-picker legend,.color-picker legend{color:var(--color-ink);font-size:.88rem;font-weight:var(--weight-medium);margin-bottom:10px}.color-picker>div{flex-wrap:wrap;gap:8px;display:flex}.icon-catalog{overscroll-behavior:contain;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-sunken);gap:16px;max-height:330px;padding:14px;display:grid;overflow-y:auto}.icon-catalog__group h3{color:var(--color-ink-secondary);font-size:.76rem;font-weight:var(--weight-medium);margin:0 0 8px}.icon-catalog__group>div{flex-wrap:wrap;gap:8px;display:flex}.icon-choice{width:var(--touch-target);height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);cursor:pointer;place-items:center;display:grid}.icon-choice:hover{background:var(--color-surface-muted)}.icon-choice--active,.icon-choice--active:hover{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-surface)}.color-choice{width:var(--touch-target);height:var(--touch-target);cursor:pointer;box-shadow:inset 0 0 0 6px var(--color-surface);background-clip:content-box;border:1px solid #0000;border-radius:50%;padding:6px}.color-choice--active{border-color:var(--color-ink)}.color-custom{min-height:var(--touch-target);color:var(--color-ink-secondary);cursor:pointer;align-items:center;gap:6px;font-size:.8rem;display:flex}.color-custom input{width:var(--touch-target);height:var(--touch-target);cursor:pointer;background:0 0;border:0;padding:0}.category-preview{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-sunken);font-weight:var(--weight-semibold);align-items:center;gap:10px;margin-top:22px;padding:14px;display:flex}@media (width>=760px){.accounts-grid,.account-form{grid-template-columns:repeat(2,minmax(0,1fr))}.transfer-form__total{align-self:start;margin-top:calc(26px + 1.2em)}.account-form__submit{grid-column:2}.movement-row{grid-template-columns:auto minmax(0,1fr) auto}.movement-row .movement-row__aside{grid-column:3;justify-items:end}.movement-row>div .movement-row__actions{margin-left:0;margin-right:-12px}}@media (width>=1100px){.accounts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=980px){.auth-shell{grid-template-columns:minmax(0,1.1fr) minmax(440px,.9fr)}.brand-panel{min-height:100vh;padding:48px clamp(48px,6vw,92px)}.brand-panel h1{font-size:clamp(3.6rem,5.2vw,5.6rem)}.form-panel{min-height:100vh;padding:56px clamp(40px,5vw,80px)}}@media (width<=1180px) and (width>=761px){.dashboard__heading{flex-direction:column;align-items:stretch}.dashboard__actions{justify-content:flex-start}}@media (width<=760px){.app-shell{--sidebar-width:0px;padding-top:64px}.app-content{margin-left:0}.mobile-topbar{z-index:35;border-bottom:1px solid var(--color-border);background:var(--color-surface-sunken);align-items:center;gap:12px;height:64px;padding:10px 16px;display:flex;position:fixed;inset:0 0 auto}.sidebar{width:min(84vw,300px);transform:translate(-105%)}.sidebar--open{box-shadow:var(--shadow-overlay);transform:translate(0)}.sidebar--open .sidebar__label{display:block}.sidebar__drawer-close{display:grid}.sidebar__collapse{display:none}.sidebar-backdrop{z-index:38;background:var(--color-overlay);border:0;width:100%;display:block;position:fixed;inset:0}.dashboard-shell,.page-shell{padding:32px 16px 64px}.dashboard__heading,.page-heading{flex-direction:column;align-items:stretch}.dashboard__heading h1,.page-heading h1{font-size:clamp(2.3rem,11vw,3rem)}.dashboard__actions,.page-heading__actions{grid-template-columns:1fr 1fr;grid-auto-flow:dense;width:100%;display:grid}.dashboard__actions .button,.page-heading__actions .button{white-space:normal;text-align:center;width:100%;min-width:0;padding-inline:12px}.dashboard__actions .button--transfer,.dashboard__actions .button--primary{grid-column:1/-1}.accounts-grid{margin-top:28px}.account-tile{min-height:240px;padding:18px}.create-panel__heading{align-items:flex-start}.movement-panel .create-panel__heading{flex-direction:column}.movement-panel__heading-actions{justify-content:flex-start;width:100%}.movement-panel__heading-actions .icon-button{margin-left:auto}.movement-panel__title{gap:14px}.delete-confirmation{flex-direction:column;align-items:stretch}.delete-confirmation__actions .button{flex:1}.settings-section--opening,.settings-section--visual{padding:18px}.visual-picker__body{grid-template-columns:1fr}.visual-picker__preview{grid-template-columns:auto minmax(0,1fr);place-items:center start;gap:14px;width:100%}.visual-picker__preview figcaption{text-align:left}.visual-picker__actions .button{flex:100%}.cashback-toolbar{flex-direction:column;align-items:stretch}.cashback-toolbar .field{width:100%}.cashback-card{grid-template-columns:1fr}.cashback-card p,.cashback-card__actions{grid-area:auto/1}.cashback-card__actions{margin-left:-12px}.category-row{grid-template-columns:auto minmax(0,1fr) auto;padding-inline:14px}.category-row__swatch{display:none}.category-group__children{margin-left:16px}.modal-backdrop{align-items:end;padding:0}.category-dialog{border-radius:var(--radius-panel) var(--radius-panel) 0 0;width:100%;max-height:92vh}}@media (width<=420px){.segmented__option svg{display:none}.segmented__option{white-space:nowrap;padding-inline:6px}}.analytics-page{width:min(100%,1480px);padding:clamp(24px, 4vw, 52px) var(--gutter) 64px;margin:0 auto}.analytics-filters,.analytics-panel,.analytics-state{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface)}.analytics-filters{margin-top:28px}.analytics-filters summary{min-height:var(--touch-target);cursor:pointer;font-weight:var(--weight-semibold);justify-content:space-between;align-items:center;padding:14px 18px;list-style:none;display:flex}.analytics-filters summary::-webkit-details-marker{display:none}.analytics-filters summary span{align-items:center;gap:9px;display:flex}.analytics-filters summary svg{width:19px;height:19px}.analytics-filters[open] summary>svg{transform:rotate(180deg)}.analytics-filters__body{border-top:1px solid var(--color-border);padding:18px}.preset-row,.currency-switcher{flex-wrap:wrap;gap:8px;display:flex}.preset-row button,.currency-switcher button{min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);cursor:pointer;font-weight:var(--weight-medium);padding:8px 14px}.preset-row button:hover,.currency-switcher button:hover{border-color:var(--color-border-strong);background:var(--color-surface-sunken)}.date-row{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.date-row label{color:var(--color-ink-secondary);font-size:.82rem;font-weight:var(--weight-medium);flex:190px;gap:5px;display:grid}.date-row input{min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);padding:9px 12px}.filter-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.filter-groups fieldset{border:1px solid var(--color-border);border-radius:var(--radius-control);min-width:0;max-height:240px;padding:10px;overflow:auto}.filter-groups legend{font-size:.84rem;font-weight:var(--weight-semibold);padding:0 6px}.check-row{min-height:var(--touch-target);cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:6px 8px;display:flex}.check-row:hover{background:var(--color-surface-sunken)}.check-row input{width:18px;height:18px;accent-color:var(--color-ink)}.check-row span{overflow-wrap:anywhere;min-width:0}.check-row--group{font-weight:var(--weight-semibold)}.filter-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.filter-actions .button{width:auto;margin:0}.filter-actions svg{width:17px}.currency-switcher{margin:24px 0 14px}.currency-switcher button.is-active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.analytics-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.analytics-summary article{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);align-content:start;gap:7px;min-width:0;padding:17px;display:grid}.analytics-summary span,.analytics-summary small{color:var(--color-ink-muted);font-size:.8rem}.analytics-summary strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;letter-spacing:-.025em;font-size:clamp(1.15rem,2vw,1.65rem)}.analytics-panel{min-width:0;margin-top:16px;padding:clamp(18px,3vw,28px)}.analytics-panel__heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.analytics-panel__heading .eyebrow{margin-bottom:4px}.analytics-panel__heading h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.3rem,2.5vw,1.8rem)}.analytics-panel__heading>span{color:var(--color-ink-muted);font-size:.8rem}.spending-chart{border-bottom:1px solid var(--color-border);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:end;gap:clamp(3px,.7vw,10px);width:100%;min-height:250px;margin-top:28px;display:grid}.spending-chart__point{grid-template-rows:1fr 28px;align-items:end;gap:6px;min-width:0;height:230px;display:grid}.spending-chart__point button{cursor:help;background:0 0;border:0;align-items:end;width:100%;min-width:4px;height:100%;padding:0;display:flex}.spending-chart__point button span{background:var(--color-ink);border-radius:4px 4px 0 0;width:100%;display:block}.spending-chart__point button:hover span,.spending-chart__point button:focus-visible span{background:var(--color-accent-hover)}.spending-chart__point small{visibility:hidden;width:max-content;min-width:4ch;color:var(--color-ink-muted);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;justify-self:center;font-size:.68rem;overflow:visible}.spending-chart__point small[data-desktop-visible=true]{visibility:visible}.spending-chart__point.is-first small{text-align:left;justify-self:start}.spending-chart__point.is-last small{text-align:right;justify-self:end}.breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ranking{gap:4px;margin-top:18px;display:grid}.ranking-row{border-radius:var(--radius-control);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-height:64px;padding:9px;display:grid;position:relative;overflow:hidden}.ranking-row:hover{background:var(--color-surface-sunken)}.ranking-row__marker{border-radius:var(--radius-pill);width:10px;height:38px;box-shadow:inset 0 0 0 1px #0000001f}.ranking-row__name,.ranking-row__value{z-index:1;gap:2px;min-width:0;display:grid}.ranking-row__name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ranking-row__name small,.ranking-row__value small{color:var(--color-ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.ranking-row__value{text-align:right;font-variant-numeric:tabular-nums;justify-items:end}.ranking-row__value strong{white-space:nowrap}.ranking-row__bar{background:var(--color-accent-hover);max-width:100%;height:3px;position:absolute;bottom:0;right:0}.category-ranking{gap:2px;margin-top:18px;display:grid}.category-ranking__section{border-bottom:1px solid var(--color-border);min-width:0}.category-ranking__group{min-width:0}.category-ranking-row{border-radius:var(--radius-control);background:0 0;border:0;min-width:0;position:relative;overflow:hidden}.category-ranking-row--group{grid-template-columns:minmax(0, 1fr) var(--touch-target);align-items:stretch;display:grid}.category-ranking-row__main,.category-ranking-row--standalone,.category-ranking-row--detail{width:100%;min-width:0;min-height:64px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px;display:grid}.category-ranking-row__main{grid-template-columns:auto minmax(0,1fr) auto auto;padding-right:4px}.category-ranking-row__main:hover,.category-ranking-row__main:focus-visible,.category-ranking-row__filter:hover,.category-ranking-row__filter:focus-visible,.category-ranking-row--standalone:hover,.category-ranking-row--standalone:focus-visible,.category-ranking-row--detail:hover,.category-ranking-row--detail:focus-visible{background:var(--color-surface-sunken)}.category-ranking-row__main:focus-visible,.category-ranking-row__filter:focus-visible,.category-ranking-row--standalone:focus-visible,.category-ranking-row--detail:focus-visible{z-index:2;outline:2px solid var(--color-focus);outline-offset:-2px}.category-ranking-row__filter{min-width:var(--touch-target);min-height:var(--touch-target);border-radius:var(--radius-control);color:var(--color-ink-muted);cursor:pointer;background:0 0;border:0;align-self:center;place-items:center;display:grid}.category-ranking-row__filter svg{width:18px;height:18px}.category-ranking-row__icon{border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.category-ranking-row__name,.category-ranking-row__value{z-index:1;gap:2px;min-width:0;display:grid}.category-ranking-row__name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.category-ranking-row__name small,.category-ranking-row__value small{color:var(--color-ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.category-ranking-row__value{text-align:right;font-variant-numeric:tabular-nums;justify-items:end}.category-ranking-row__value strong{overflow-wrap:anywhere}.category-ranking-row__chevron{width:18px;height:18px;color:var(--color-ink-muted);transition:transform .16s}.category-ranking-row__main[aria-expanded=true] .category-ranking-row__chevron{transform:rotate(180deg)}.category-ranking__details{border-left:2px solid var(--color-border);border-radius:0 var(--radius-control) var(--radius-control) 0;background:var(--color-surface-sunken);gap:2px;margin:0 0 5px 20px;padding:4px;display:grid}.category-ranking__details[hidden]{display:none}.category-ranking-row--detail{border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;min-height:56px;padding-left:12px}.category-ranking-row__marker{border-radius:var(--radius-pill);opacity:.7;width:7px;height:30px}.analytics-state{text-align:center;margin-top:24px;padding:32px}.analytics-state h2{margin:0}.analytics-state p{color:var(--color-ink-secondary)}.analytics-state .button{width:auto;margin:8px auto 0}.analytics-skeleton{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;display:grid}.analytics-skeleton div{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-muted);height:118px;animation:1.6s ease-in-out infinite breathe}.back-to-report{min-height:var(--touch-target);color:var(--color-focus);cursor:pointer;font-weight:var(--weight-semibold);background:0 0;border:0;margin-top:18px}@media (width<=900px){.analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.breakdown-grid{grid-template-columns:1fr}}@media (width<=760px){.analytics-page{padding-top:22px}.analytics-filters:not([open]){z-index:3;position:sticky;top:68px}.filter-groups{grid-template-columns:1fr}.filter-actions .button{flex:1}.spending-chart{gap:3px}.spending-chart__point small[data-desktop-visible=true]{visibility:hidden}.spending-chart__point small[data-mobile-visible=true]{visibility:visible}}@media (width<=480px){.analytics-summary{grid-template-columns:1fr}.analytics-summary article{min-height:94px}.analytics-panel{padding:16px 12px}.ranking-row{padding-inline:6px}.ranking-row__value strong,.category-ranking-row__value strong{font-size:.82rem}.category-ranking-row__main,.category-ranking-row--standalone{gap:8px;padding-inline:6px}.category-ranking-row__icon{width:34px;height:34px}.category-ranking__details{margin-left:10px}.category-ranking-row--detail{gap:8px;padding-inline:8px 5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.debts-page,.debt-detail-page{width:min(100%,1480px);padding:clamp(24px, 4vw, 52px) var(--gutter) 64px;margin:0 auto}.debt-tabs{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);gap:5px;width:fit-content;margin-top:28px;padding:4px;display:flex}.debt-tabs button{min-height:var(--touch-target);border-radius:var(--radius-pill);color:var(--color-ink-secondary);cursor:pointer;font-weight:var(--weight-semibold);background:0 0;border:0;padding:8px 18px}.debt-tabs button.is-active{background:var(--color-accent);color:var(--color-accent-ink)}.debt-filters{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);margin-top:20px}.debt-filters summary{min-height:var(--touch-target);cursor:pointer;font-weight:var(--weight-semibold);align-items:center;padding:12px 16px;display:flex}.debt-filters summary span{align-items:center;gap:8px;display:flex}.debt-filters>div{border-top:1px solid var(--color-border);grid-template-columns:2fr repeat(3,1fr) auto;align-items:end;gap:12px;padding:16px;display:grid}.debt-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.debt-summary article{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);gap:7px;min-width:0;padding:18px;display:grid}.debt-summary span{color:var(--color-ink-muted);font-size:.8rem}.debt-summary strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:clamp(1.1rem,2vw,1.55rem)}.debt-summary .is-overdue{color:var(--color-danger)}.debt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.debt-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;padding:clamp(17px,2.5vw,24px)}.debt-card--paid{background:var(--color-surface-muted);color:var(--color-ink-secondary)}.debt-card__top{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.debt-card__top h2{overflow-wrap:anywhere;margin:0 0 7px;font-size:1.2rem}.debt-card__top>strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;text-align:right;font-size:clamp(1.15rem,2.2vw,1.55rem)}.person-initial{background:var(--color-surface-sunken);width:42px;height:42px;color:var(--color-ink-secondary);font-weight:var(--weight-semibold);border-radius:50%;flex:none;place-items:center;display:grid}.debt-status{border:1px solid var(--color-border);border-radius:var(--radius-pill);width:fit-content;min-height:25px;font-size:.75rem;font-weight:var(--weight-semibold);align-items:center;padding:3px 9px;display:inline-flex}.debt-status--overdue{border-color:color-mix(in srgb, var(--color-danger) 35%, var(--color-border));color:var(--color-danger)}.debt-status--due_soon{border-color:var(--color-accent-hover);background:color-mix(in srgb, var(--color-accent) 22%, white)}.debt-status--paid{color:var(--color-ink-muted)}.debt-progress{border-radius:var(--radius-pill);background:var(--color-surface-sunken);height:7px;margin-top:20px;overflow:hidden}.debt-progress span{border-radius:inherit;background:var(--color-accent-hover);height:100%;display:block}.debt-progress--large{height:9px}.debt-card__original{color:var(--color-ink-muted);margin:8px 0 16px;font-size:.8rem}.debt-card__account,.selected-account{align-items:center;gap:10px;min-width:0;display:flex}.debt-card__account>span,.selected-account>span{gap:2px;min-width:0;display:grid}.debt-card__account strong,.selected-account strong{overflow-wrap:anywhere}.debt-card__account small,.selected-account small{color:var(--color-ink-muted)}.debt-card dl{flex-wrap:wrap;gap:20px;margin:16px 0;display:flex}.debt-card dl div{gap:3px;display:grid}.debt-card dt{color:var(--color-ink-muted);font-size:.74rem}.debt-card dd{margin:0;font-size:.88rem}.debt-card__comment{overflow-wrap:anywhere;color:var(--color-ink-secondary)}.debt-card__actions,.debt-detail__actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.debt-card__actions .button,.debt-detail__actions .button{width:auto;margin:0}.debt-empty{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);text-align:center;justify-items:center;margin-top:24px;padding:clamp(32px,8vw,80px) 20px;display:grid}.debt-empty h2{margin:3px 0 0}.debt-empty p:not(.eyebrow){max-width:530px;color:var(--color-ink-secondary)}.debt-empty .button{width:auto}.debt-empty__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.debt-skeleton{color:var(--color-ink-muted);grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;display:grid}.debt-skeleton span{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-muted);height:220px;animation:1.6s ease-in-out infinite breathe}.debt-form-panel,.repayment-form-panel{width:min(760px,100%);max-height:calc(100vh - 40px);margin:auto;overflow:auto}.debt-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.debt-form .inline-action,.debt-form .selected-account,.inline-person-form,.debt-form__comment,.debt-form__note,.debt-form .form-error,.debt-form__submit,.repayment-preview{grid-column:1/-1}.inline-action{min-height:var(--touch-target);width:fit-content;color:var(--color-focus);cursor:pointer;font-weight:var(--weight-semibold);background:0 0;border:0;padding:6px 0}.inline-person-form{border:1px solid var(--color-border);border-radius:var(--radius-control);grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;padding:12px;display:grid}.inline-person-form .button{width:auto;margin:0}.debt-form__note{border-left:3px solid var(--color-accent-hover);background:var(--color-surface-sunken);color:var(--color-ink-secondary);margin:0;padding:12px}.debt-form__submit{justify-self:start;width:auto;margin:0}.repayment-preview{border:1px solid var(--color-border);border-radius:var(--radius-control);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:13px;display:flex}.people-panel{margin-top:22px}.people-toolbar{align-items:end;gap:12px;display:flex}.people-toolbar .field{flex:1}.people-toolbar .button{width:auto;margin:0}.people-form{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);grid-template-columns:1fr 1fr auto auto;align-items:end;gap:10px;margin-top:14px;padding:16px;display:grid}.people-form .button{width:auto;margin:0}.people-list{gap:8px;margin-top:16px;display:grid}.person-row{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.person-row--archived{opacity:.72}.person-row>div{gap:3px;min-width:0;display:grid}.person-row span,.person-row small{overflow-wrap:anywhere;color:var(--color-ink-muted)}.person-row__balances{font-variant-numeric:tabular-nums;justify-items:end}.person-row__actions{flex-wrap:wrap;justify-content:end;display:flex!important}.person-row__actions button,.repayment-row__actions button{min-height:var(--touch-target);border-radius:var(--radius-control);cursor:pointer;color:var(--color-ink-secondary);background:0 0;border:0;padding:6px 9px}.debt-detail-page{max-width:1180px}.back-link{min-height:var(--touch-target);color:var(--color-ink-secondary);cursor:pointer;font-weight:var(--weight-semibold);background:0 0;border:0;align-items:center;gap:7px;padding:0;display:inline-flex}.debt-detail{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);margin-top:14px;padding:clamp(20px,4vw,36px)}.debt-detail>header{justify-content:space-between;align-items:start;gap:20px;display:flex}.debt-detail h1{overflow-wrap:anywhere;margin:3px 0 10px;font-size:clamp(2rem,5vw,3.4rem)}.debt-detail__amount{text-align:right;justify-items:end;gap:5px;display:grid}.debt-detail__amount span,.debt-detail__amount small{color:var(--color-ink-muted)}.debt-detail__amount strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:clamp(1.55rem,4vw,2.5rem)}.debt-detail__facts{grid-template-columns:2fr 1fr 1fr;gap:12px;margin-top:28px;display:grid}.debt-detail__facts article{border:1px solid var(--color-border);border-radius:var(--radius-card);gap:9px;padding:15px;display:grid}.debt-detail__facts article>span,.debt-detail__comment>span{color:var(--color-ink-muted);font-size:.78rem}.debt-detail__comment{border:1px solid var(--color-border);border-radius:var(--radius-card);margin-top:14px;padding:15px}.debt-detail__comment p{overflow-wrap:anywhere;margin-bottom:0}.repayment-history{margin-top:32px}.repayment-history h2{margin:2px 0 12px}.repayment-history>article{border-top:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;display:grid}.repayment-history>article>div{gap:3px;min-width:0;display:grid}.repayment-history span,.repayment-history small{overflow-wrap:anywhere;color:var(--color-ink-muted)}.repayment-row__actions{flex-direction:row;display:flex!important}.danger-dialog{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);width:min(520px,100%);margin:auto;padding:24px}.danger-dialog h2{margin-top:0}.danger-dialog p{color:var(--color-ink-secondary)}.danger-dialog>div{gap:8px;display:flex}.danger-dialog .button{width:auto;margin:0}.muted-copy{color:var(--color-ink-muted)}.overview-page{width:min(100%,1380px);padding:clamp(24px,4vw,52px) var(--gutter) 64px;margin:0 auto}.overview-heading,.overview-section__title{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.overview-heading h1,.overview-section__title h2{margin:3px 0 8px}.overview-heading p:last-child{color:var(--color-ink-secondary);margin:0}.overview-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.overview-actions .button{width:auto;margin:0}.overview-actions svg,.overview-section__title a svg,.overview-signals svg{width:16px}.overview-section{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);margin-top:32px;padding:clamp(18px,3vw,28px)}.overview-section__title a,.overview-signals a{color:var(--color-accent-strong);font-weight:var(--weight-semibold);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.balance-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:20px;display:grid}.balance-card{border-radius:var(--radius-card);background:var(--color-surface-alt);border:1px solid var(--color-border);padding:18px}.balance-card>div{gap:5px;display:grid}.balance-card>div span,.balance-card li span{color:var(--color-ink-muted)}.balance-card>div strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.balance-card ul{border-top:1px solid var(--color-border);gap:10px;margin:13px 0 0;padding:13px 0 0;list-style:none;display:grid}.balance-card li{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.balance-card li b{font-variant-numeric:tabular-nums;white-space:nowrap}.overview-empty,.overview-state{text-align:center;color:var(--color-ink-secondary);justify-items:center;gap:8px;padding:42px 20px;display:grid}.overview-empty svg{width:34px;height:34px;color:var(--color-accent-strong)}.overview-empty h3,.overview-empty p,.overview-state h2,.overview-state p{margin:0}.overview-empty .button,.overview-state .button{width:auto;margin:8px 0 0}.overview-controls{flex-wrap:wrap;gap:6px;display:flex}.overview-controls button,.overview-controls select{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-height:36px;color:var(--color-ink-secondary);font:inherit;cursor:pointer;padding:0 10px}.overview-controls .is-active{background:var(--color-accent);color:var(--color-ink);border-color:var(--color-accent)}.balance-chart{margin-top:24px}.balance-chart svg{width:100%;height:200px;overflow:visible}.balance-chart path{fill:none;stroke:var(--color-accent-strong);stroke-width:2.5px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.balance-chart>div{color:var(--color-ink-muted);justify-content:space-between;align-items:center;display:flex}.balance-chart strong{color:var(--color-ink);font-variant-numeric:tabular-nums}.month-summary{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:32px;display:grid}.month-summary>.overview-section__title{grid-column:1/-1}.month-summary article{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);gap:12px;padding:18px;display:grid}.month-summary article small{color:var(--color-ink-muted)}.month-summary article span,.month-summary article a{color:var(--color-ink-secondary);justify-content:space-between;gap:8px;text-decoration:none;display:flex}.month-summary article b{color:var(--color-ink);font-variant-numeric:tabular-nums}.overview-bottom{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;margin-top:32px;display:grid}.overview-bottom .overview-section{margin:0}.recent-list{margin-top:17px;display:grid}.recent-list button{border:0;border-top:1px solid var(--color-border);text-align:left;width:100%;color:var(--color-ink);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.recent-list button>span{gap:3px;min-width:0;display:grid}.recent-list small{color:var(--color-ink-muted);overflow-wrap:anywhere}.recent-list strong{white-space:nowrap;font-variant-numeric:tabular-nums}.recent-list .negative{color:var(--color-danger)}.overview-signals{border-radius:var(--radius-panel);background:var(--color-surface-alt);border:1px solid var(--color-border);align-content:start;gap:10px;padding:20px;display:grid}.overview-signals p{margin:0}.overview-signals a{border-radius:var(--radius-control);background:var(--color-surface);justify-content:space-between;padding:12px}@media (width<=800px){.overview-heading,.overview-section__title{flex-direction:column}.overview-actions{justify-content:start}.overview-actions .button{flex:150px}.overview-bottom{grid-template-columns:1fr}.overview-chart{order:0}.balance-chart svg{height:145px}}@media (width<=900px){.debt-filters>div,.debt-summary{grid-template-columns:repeat(2,1fr)}.debt-grid,.debt-detail__facts{grid-template-columns:1fr}.person-row{grid-template-columns:auto minmax(0,1fr)}.person-row__balances,.person-row__actions{grid-column:2;justify-content:start;justify-items:start}}@media (width<=600px){.debts-page,.debt-detail-page{padding-top:20px;overflow-x:hidden}.debt-tabs{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.debt-tabs button{padding-inline:7px}.debt-filters>div,.debt-summary,.debt-form,.inline-person-form,.people-form{grid-template-columns:1fr}.debt-form>*,.inline-person-form>*,.people-form>*{grid-column:1}.debt-card__top{grid-template-columns:auto minmax(0,1fr)}.debt-card__top>strong{text-align:left;grid-column:1/-1}.debt-card__actions .button,.debt-detail__actions .button{min-height:var(--touch-target);flex:100%}.debt-summary article{min-height:96px}.people-toolbar{flex-direction:column;align-items:stretch}.people-toolbar .button{width:100%}.debt-detail>header{flex-direction:column}.debt-detail__amount{text-align:left;justify-items:start}.repayment-history>article{grid-template-columns:auto minmax(0,1fr)}.repayment-row__actions{grid-column:2;justify-content:start}.modal-backdrop{align-items:end;padding:0}.debt-form-panel,.repayment-form-panel,.danger-dialog{border-radius:var(--radius-panel) var(--radius-panel) 0 0;width:100%;max-height:94vh}}
