.dashboard-shell{background:#f8f7fd;padding-left:0;padding-right:0}.dashboard{--dashboard-card: #fff;--dashboard-ink: #111b32;--dashboard-muted: #778078;--dashboard-line: #ececf1;color:var(--dashboard-ink);max-width:520px;margin:0 auto;padding:16px 16px 30px}.dashboard button{color:inherit}.dashboard-header{display:flex;align-items:center;gap:8px;margin-bottom:18px;min-height:42px}.dashboard-user{display:flex;align-items:center;gap:9px;min-width:0;padding:0;background:none;text-align:left}.dashboard-user>span:last-child{min-width:0}.dashboard-user strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.dashboard-user small{display:block;color:var(--dashboard-muted);font-size:9px;letter-spacing:.07em;font-weight:700}.dashboard-avatar{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:50%;color:#fff;background:#195d54;font-weight:700}.dashboard-avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.dashboard-sync{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:4px 6px;border-radius:6px;color:#13704f;background:#e2f8eb;font-size:9px;white-space:nowrap}.dashboard-sync.is-offline{color:#9e4938;background:#faeae5}.dashboard-sync i{width:5px;height:5px;border-radius:50%;background:currentColor}.dashboard-icon-button{display:grid;flex:0 0 38px;width:38px;height:42px;place-items:center;background:transparent}.dashboard-header .dashboard-icon-button:first-of-type{margin-left:auto}.dashboard-card{border:1px solid var(--dashboard-line);border-radius:15px;background:var(--dashboard-card);box-shadow:0 2px 8px #19203106}.dashboard-hero{padding:17px}.dashboard-hero-top,.dashboard-budget-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.dashboard-label{color:var(--dashboard-ink);font-size:10px;font-weight:700;letter-spacing:.055em}.dashboard-label b,.dashboard-currency{padding:3px 5px;border-radius:4px;background:#f0f0fa;font-size:9px}.dashboard-badge{padding:4px 7px;border-radius:6px;color:#17644d;background:#e4f8ed;font-size:10px;white-space:nowrap}.dashboard-balance{display:block;margin-top:8px;font-size:clamp(24px,7vw,32px);letter-spacing:-.05em;line-height:1.15;overflow-wrap:anywhere}.dashboard-hero p{margin:4px 0 16px;color:var(--dashboard-muted);font-size:11px}.dashboard-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.dashboard-action{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:43px;padding:7px 4px;border:1px solid #e4e7f1;border-radius:10px;background:#f1f3fb;font-size:11px;font-weight:650}.dashboard .dashboard-action.primary{color:#fff;background:#195d54;border-color:#195d54}.dashboard-install{display:flex;align-items:center;gap:10px;width:100%;margin-top:12px;padding:12px;border:1px solid #cfe4dc;border-radius:13px;color:#17695a;background:#edf8f3;text-align:left}.dashboard-install>span{display:grid;flex:1;gap:3px}.dashboard-install strong{color:var(--dashboard-ink);font-size:12px}.dashboard-install small{color:var(--dashboard-muted);font-size:10px}:root[data-theme=dark] .dashboard-install{border-color:#315c50;background:#203b34}.dashboard-section{margin-top:20px}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.dashboard-heading h2{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:750;text-transform:none}.dashboard-heading button{display:inline-flex;align-items:center;padding:5px 0;color:#176c5f;background:transparent;font-size:11px;white-space:nowrap}.dashboard-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dashboard-metric{min-width:0;padding:12px}.dashboard-metric>div,.dashboard-account>div{display:flex;justify-content:space-between;align-items:center;gap:5px}.dashboard-metric-icon,.dashboard-net-icon,.dashboard-account-icon,.dashboard-transaction-icon{display:grid;flex:none;place-items:center;border-radius:9px}.dashboard-metric-icon{width:29px;height:29px}.dashboard-metric-icon.income,.dashboard-transaction-icon.ingreso{color:#18734f;background:#e2f8eb}.dashboard-metric-icon.expense,.dashboard-transaction-icon.gasto{color:#a33f32;background:#fff0ec}.dashboard-metric>strong{display:block;margin-top:6px;font-size:15px;overflow-wrap:anywhere}.dashboard-positive{color:#176b50}.dashboard-metric small,.dashboard-account small,.dashboard-transaction small{display:block;color:var(--dashboard-muted);font-size:10px}.dashboard-metric small{margin-top:6px}.dashboard-net{display:flex;align-items:center;gap:10px;margin-top:9px;padding:11px 12px}.dashboard-net-icon{width:35px;height:35px;color:#17695a;background:#e8f2ef}.dashboard-net>div{flex:1;min-width:0}.dashboard-net strong{display:block;font-size:15px;overflow-wrap:anywhere}.dashboard-accounts{display:grid;grid-auto-columns:minmax(150px,48%);grid-auto-flow:column;gap:9px;overflow-x:auto;scrollbar-width:thin}.dashboard-account{min-width:0;padding:12px}.dashboard-account-icon{width:34px;height:34px;color:#273657;background:#eff1fb}.dashboard-account>strong{display:block;margin-top:12px;font-size:12px;overflow-wrap:anywhere}.dashboard-account small{margin-top:3px}.dashboard-account>b{display:block;margin-top:12px;font-size:14px;overflow-wrap:anywhere}.dashboard-budget{display:block;width:100%;margin-top:20px;padding:15px;text-align:left}.dashboard-budget-top strong{display:block;margin-top:4px;font-size:14px}.dashboard-budget-top>span{color:#176b50;font-size:11px}.dashboard-progress,.dashboard-distribution-bar{display:flex;height:7px;overflow:hidden;border-radius:10px;background:#eceef8}.dashboard-progress{margin:13px 0 9px}.dashboard-progress i{border-radius:inherit;background:#1e746a}.dashboard-budget small{display:flex;align-items:center;gap:4px;margin-top:8px;color:var(--dashboard-muted);font-size:10px}.dashboard-distribution{margin-top:20px;padding:15px}.dashboard-distribution-bar{margin:10px 0}.dashboard-distribution-bar i{height:100%}.dashboard-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.dashboard-category-grid>div{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;padding:8px;border-radius:8px;background:#f7f8fc;font-size:10px}.dashboard-category-grid span{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-category-grid i{flex:0 0 7px;width:7px;height:7px;border-radius:50%}.dashboard-empty{margin:0;padding:12px 0;color:var(--dashboard-muted);font-size:12px}.dashboard-recent{padding:3px 12px}.dashboard-transaction{display:flex;align-items:center;gap:10px;width:100%;min-height:64px;padding:9px 0;background:transparent;text-align:left}.dashboard-transaction+.dashboard-transaction{border-top:1px solid var(--dashboard-line)}.dashboard-transaction-icon{width:38px;height:38px}.dashboard-transaction-copy{flex:1;min-width:0}.dashboard-transaction-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.dashboard-transaction-copy small,.dashboard-transaction-amount small{margin-top:4px}.dashboard-transaction-amount{min-width:0;text-align:right}.dashboard-transaction-amount strong{display:block;font-size:12px;overflow-wrap:anywhere}:root[data-theme=dark] .dashboard-shell{background:#14181e}:root[data-theme=dark] .dashboard{--dashboard-card: #20262d;--dashboard-ink: #ecf3f0;--dashboard-muted: #a2ada8;--dashboard-line: #353e43}:root[data-theme=dark] .dashboard-category-grid,:root[data-theme=dark] .dashboard-category-grid>div,:root[data-theme=dark] .dashboard-action{background:#303a43}:root[data-theme=dark] .dashboard-label b,:root[data-theme=dark] .dashboard-currency{background:#35404a}@media(max-width:360px){.dashboard{padding-left:12px;padding-right:12px}.dashboard-sync{font-size:0;padding:5px}.dashboard-sync i{width:7px;height:7px}}.movements-dashboard{--movement-card: #fff;--movement-ink: #131b2e;--movement-muted: #728078;--movement-border: #e8ebec;max-width:520px;margin:0 auto;padding:12px 16px 28px;color:var(--movement-ink)}.movements-dashboard button{color:inherit}.movements-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.movements-title{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.movements-title h1{margin:0;font-size:23px;letter-spacing:-.04em}.movements-title>span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:20px;color:#126c4c;background:#e3f7eb;font-size:10px;white-space:nowrap}.movements-title>span.offline{color:#a13e30;background:#fae9e4}.movements-title i,.movements-chip i{width:6px;height:6px;border-radius:50%;background:currentColor}.movements-header p{margin:4px 0 0;color:var(--movement-muted);font-size:11px}.movements-actions{display:flex;gap:2px}.movements-actions button{display:grid;width:40px;height:44px;place-items:center;border-radius:10px;background:transparent}.movements-search{display:flex;align-items:center;gap:8px;margin-top:15px;padding:0 11px;border:1px solid var(--movement-border);border-radius:12px;background:var(--movement-card);color:var(--movement-muted)}.movements-search input{width:100%;min-width:0;min-height:44px;padding:0;border:0;outline:none;color:var(--movement-ink);background:transparent;font-size:12px}.movements-search button{display:grid;width:32px;height:38px;place-items:center;background:transparent}.movements-filters{display:flex;align-items:center;gap:7px;margin:12px -16px 0;padding:0 16px 4px;overflow-x:auto;scrollbar-width:thin}.movements-month,.movements-chip{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;min-height:39px;padding:0 11px;border:1px solid var(--movement-border);border-radius:22px;background:var(--movement-card);font-size:11px}.movements-month{color:#176b60}.movements-month input{width:122px;padding:0;border:0;outline:none;color:var(--movement-ink);background:transparent;font-size:11px}.movements-chip.selected{color:#125e55;border-color:#4c9188;background:#e2f0ed}.movements-chip i.gasto{color:#b23e32}.movements-chip i.ingreso{color:#197c56}.movements-category{display:flex;align-items:center;gap:8px;margin:8px 0 16px;color:var(--movement-muted);font-size:11px}.movements-category select{width:auto;max-width:70%;min-height:37px;padding:5px 26px 5px 9px;border:1px solid var(--movement-border);border-radius:9px;color:var(--movement-ink);background-color:var(--movement-card);font-size:11px}.movements-summary,.movements-day-card,.movements-state{border:1px solid var(--movement-border);border-radius:15px;background:var(--movement-card)}.movements-summary{padding:15px}.movements-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:11px;border-bottom:1px solid var(--movement-border);color:var(--movement-muted);font-size:10px}.movements-summary-heading>span:first-child{color:var(--movement-ink);font-weight:700;letter-spacing:.05em}.movements-summary-heading b{margin-left:4px;padding:3px 5px;border-radius:4px;background:#eff1fb;font-size:9px}.movements-balance{padding:12px 0}.movements-balance span,.movements-balance small{display:block;color:var(--movement-muted);font-size:10px}.movements-balance strong{display:block;margin:3px 0;color:#176b5e;font-size:23px;letter-spacing:-.035em;overflow-wrap:anywhere}.movements-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:10px;border-top:1px solid var(--movement-border)}.movements-summary-grid>div{display:flex;align-items:center;gap:7px;min-width:0;padding:9px;border-radius:10px;background:#f6f7fc}.movements-summary-grid i,.movements-row-icon{display:grid;flex:none;place-items:center;width:35px;height:35px;border-radius:9px}.movements-summary-grid i.income,.movements-row-icon.ingreso{color:#14744f;background:#e0f6e9}.movements-summary-grid i.expense,.movements-row-icon.gasto{color:#aa453b;background:#fae9e7}.movements-summary-grid span{min-width:0;color:var(--movement-muted);font-size:10px}.movements-summary-grid strong{display:block;color:var(--movement-ink);font-size:12px;overflow-wrap:anywhere}.movements-day{margin-top:17px}.movements-day-heading{display:flex;justify-content:space-between;gap:8px;padding:0 3px 7px;color:var(--movement-muted);font-size:11px}.movements-day-heading b{color:var(--movement-ink);text-transform:uppercase}.movements-day-heading strong{color:var(--movement-ink);white-space:nowrap}.movements-dashboard .positive{color:#177550}.movements-day-card{overflow:hidden;padding:0 12px}.movements-row{display:flex;align-items:center;gap:10px;width:100%;min-height:70px;padding:12px 0;text-align:left;background:transparent}.movements-row+.movements-row{border-top:1px solid var(--movement-border)}.movements-row-icon{width:40px;height:40px}.movements-row-content{flex:1;min-width:0}.movements-row-top,.movements-row-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.movements-row-top strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.movements-row-top b{flex:none;font-size:12px}.movements-row-meta{margin-top:5px;color:var(--movement-muted);font-size:10px}.movements-row-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.movements-state{margin-top:16px;padding:20px 16px;color:var(--movement-muted);text-align:center;font-size:12px}.movements-state strong{color:var(--movement-ink)}.movements-state button{min-height:40px;padding:0 14px;border-radius:9px;color:#fff;background:#195d54}:root[data-theme=dark] .movements-dashboard{--movement-card: #20262d;--movement-ink: #ecf3f0;--movement-muted: #a2ada8;--movement-border: #353e43}:root[data-theme=dark] .movements-summary-grid>div,:root[data-theme=dark] .movements-summary-heading b{background:#303a43}.analytics{--analysis-card: #fff;--analysis-soft: #f2f3fb;--analysis-text: #131b2e;--analysis-muted: #75817d;--analysis-border: #e9eceb;max-width:520px;margin:0 auto;padding:12px 16px 30px;color:var(--analysis-text)}.analytics button{color:inherit}.analytics-header{display:flex;align-items:center;gap:10px;margin-bottom:18px}.analytics-header-icon,.analytics-card-heading>i,.analytics-daily>i{display:grid;flex:none;width:42px;height:42px;place-items:center;border-radius:12px;color:#167363;background:#e3f4ed}.analytics-header>div{flex:1;min-width:0}.analytics-header small{color:var(--analysis-muted);font-size:10px;letter-spacing:.08em}.analytics-header h1{margin:2px 0 0;font-size:21px;letter-spacing:-.03em}.analytics-currency{padding:6px 9px;border:1px solid var(--analysis-border);border-radius:20px;background:var(--analysis-card);font-size:11px;font-weight:700}.analytics-period{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:4px;border:1px solid var(--analysis-border);border-radius:12px;background:#eaeefa}.analytics-period button{min-height:40px;border-radius:9px;background:transparent;font-size:12px}.analytics-period button.selected{background:var(--analysis-card);box-shadow:0 1px 3px #0000000d}.analytics-period-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:13px 0}.analytics-period-heading>div{display:flex;align-items:center;gap:6px}.analytics-period-heading strong{text-transform:capitalize;font-size:14px}.analytics-period-heading span{padding:4px 6px;border-radius:7px;color:#176c5a;background:#e4f6ed;font-size:10px}.analytics-period-heading button{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--analysis-border);border-radius:9px;background:var(--analysis-card)}.analytics-card{margin-bottom:14px;padding:16px;border:1px solid var(--analysis-border);border-radius:16px;background:var(--analysis-card);box-shadow:0 2px 8px #19203106}.analytics-label{display:block;color:var(--analysis-muted);font-size:10px;font-weight:700;letter-spacing:.07em}.analytics-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.analytics-card-heading strong{display:inline-block;margin:6px 8px 0 0;font-size:29px;letter-spacing:-.04em}.analytics-card-heading small{display:inline-block;color:#16705b;font-size:10px}.analytics-saving-details{margin-top:15px;padding-top:12px;border-top:1px solid var(--analysis-border)}.analytics-saving-details>div:not(.analytics-progress){display:flex;justify-content:space-between;gap:6px;color:var(--analysis-muted);font-size:11px}.analytics-saving-details b{color:var(--analysis-text)}.analytics-saving-details>small{display:block;margin-top:8px;color:var(--analysis-muted);font-size:11px}.analytics-progress,.analytics-distribution{display:flex;overflow:hidden;height:8px;margin:10px 0;border-radius:9px;background:var(--analysis-soft)}.analytics-progress i{border-radius:inherit;background:#138566}.analytics-daily{display:flex;align-items:center;justify-content:space-between;gap:10px}.analytics-daily strong{display:block;margin:7px 0;font-size:22px;overflow-wrap:anywhere}.analytics-daily strong small{color:var(--analysis-muted);font-size:11px;font-weight:400}.analytics-daily p,.analytics-section-header p{margin:3px 0 0;color:var(--analysis-muted);font-size:11px}.analytics-daily>i{background:var(--analysis-soft)}.analytics-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}.analytics-section-header h2,.analytics-insights h2{margin:0;font-size:14px}.analytics-section-header>span{color:var(--analysis-muted);font-size:10px;white-space:nowrap}.analytics-section-header>span i{display:inline-block;width:7px;height:7px;margin-left:5px;border-radius:2px}.analytics .income{background:#1b776d}.analytics .expense{background:#c54a47}.analytics-chart{display:flex;gap:5px;height:158px;margin-top:15px}.analytics-chart-column{display:flex;flex:1;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0}.analytics-chart-column>div{display:flex;align-items:flex-end;justify-content:center;gap:3px;width:100%;height:130px;border-bottom:1px solid var(--analysis-border)}.analytics-chart-column i{width:min(12px,30%);border-radius:3px 3px 0 0}.analytics-chart-column small{margin-top:7px;color:var(--analysis-muted);font-size:10px;text-transform:capitalize}.analytics-chart-note{display:flex;justify-content:space-between;gap:8px;margin:13px 0 0;padding:10px;border-radius:9px;color:var(--analysis-muted);background:var(--analysis-soft);font-size:11px}.analytics-chart-note strong{color:var(--analysis-text)}.analytics-distribution{margin:16px 0 4px}.analytics-category{display:flex;align-items:center;gap:10px;min-height:58px;border-bottom:1px solid var(--analysis-border)}.analytics-category:last-child{border-bottom:0}.analytics-category>i{flex:none;width:11px;height:11px;border-radius:50%}.analytics-category>div{flex:1;min-width:0}.analytics-category strong{display:block;font-size:12px;overflow-wrap:anywhere}.analytics-category small{display:block;margin-top:3px;color:var(--analysis-muted);font-size:10px}.analytics-category b{font-size:12px}.analytics-empty{margin:14px 0 0;color:var(--analysis-muted);font-size:12px}.analytics-insights h2{display:flex;align-items:center;gap:7px;margin:20px 0 10px}.analytics-insights .analytics-card{color:var(--analysis-muted);font-size:12px;line-height:1.5}.analytics-insights>button,.analytics-state button{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:9px;color:#fff;background:#196e63;font-size:12px;font-weight:700}.analytics-state{text-align:center;color:var(--analysis-muted);font-size:12px}:root[data-theme=dark] .analytics{--analysis-card: #20262d;--analysis-soft: #303a43;--analysis-text: #ecf3f0;--analysis-muted: #a2ada8;--analysis-border: #39434a}:root[data-theme=dark] .analytics-period{background:#303a43}.privacy-settings{--privacy-card: #fff;--privacy-soft: #f1f3fb;--privacy-text: #131b2e;--privacy-muted: #75817d;--privacy-border: #e8ebec;max-width:520px;margin:0 auto;padding:12px 16px 30px;color:var(--privacy-text)}.privacy-header{display:flex;align-items:center;gap:9px;margin-bottom:22px}.privacy-header>button{display:grid;flex:none;width:42px;height:44px;place-items:center;border-radius:10px;color:var(--privacy-text);background:transparent}.privacy-header>div{flex:1;min-width:0}.privacy-header h1{margin:0;font-size:18px;letter-spacing:-.03em}.privacy-header p{margin:3px 0 0;color:var(--privacy-muted);font-size:11px}.privacy-header>span{display:flex;align-items:center;gap:4px;padding:6px 8px;border:1px solid var(--privacy-border);border-radius:20px;color:#176b5d;background:var(--privacy-card);font-size:10px;font-weight:700}.privacy-settings section{margin-top:20px}.privacy-settings h2{display:flex;align-items:center;gap:7px;margin:0 0 9px 2px;color:var(--privacy-muted);font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.privacy-settings h2 svg{color:#176b5d}.privacy-card{border:1px solid var(--privacy-border);border-radius:15px;background:var(--privacy-card);box-shadow:0 2px 8px #19203106}.privacy-sync{display:flex;align-items:flex-start;gap:11px;padding:15px}.privacy-sync>div:nth-child(2){flex:1;min-width:0}.privacy-sync strong,.privacy-copy strong{display:block;font-size:13px}.privacy-sync p{margin:5px 0 3px;font-size:12px}.privacy-sync small,.privacy-copy small{display:block;color:var(--privacy-muted);font-size:11px;line-height:1.4}.privacy-sync .ok{color:#18815d}.privacy-sync .muted{color:var(--privacy-muted)}.privacy-icon{display:grid;flex:none;width:38px;height:38px;place-items:center;border-radius:10px;color:#176b5d;background:var(--privacy-soft)}.privacy-list{overflow:hidden}.privacy-row{display:flex;align-items:center;gap:10px;min-height:72px;padding:12px}.privacy-row+.privacy-row,.privacy-error+.privacy-row{border-top:1px solid var(--privacy-border)}.privacy-copy{flex:1;min-width:0}.privacy-copy small{margin-top:3px}.privacy-row select{max-width:110px;min-height:40px;padding:5px;border:1px solid var(--privacy-border);border-radius:8px;color:var(--privacy-text);background:var(--privacy-soft);font-size:12px}.privacy-badge{padding:5px 7px;border-radius:7px;color:var(--privacy-muted);background:var(--privacy-soft);font-size:10px}.privacy-toggle{appearance:none;position:relative;flex:none;width:44px;height:26px;margin:0;border-radius:20px;background:#b9c5c0;cursor:pointer}.privacy-toggle:before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .16s ease}.privacy-toggle:checked{background:#19776a}.privacy-toggle:checked:before{transform:translate(18px)}.privacy-toggle:disabled{opacity:.5}.privacy-error{margin:0;padding:0 12px 12px;color:#ad4034;font-size:12px}.privacy-note{margin:9px 3px 0;color:var(--privacy-muted);font-size:11px;line-height:1.5}:root[data-theme=dark] .privacy-settings{--privacy-card: #20262d;--privacy-soft: #303a43;--privacy-text: #ecf3f0;--privacy-muted: #a2ada8;--privacy-border: #39434a}.privacy-action{width:100%;text-align:left;color:var(--privacy-text);background:transparent}.privacy-header p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.privacy-profile{display:flex;align-items:center;gap:12px;padding:14px}.privacy-avatar{display:grid;flex:0 0 46px;width:46px;height:46px;place-items:center;border-radius:50%;color:#fff;background:#195d54;font-weight:700}.privacy-avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.privacy-profile>div{display:grid;min-width:0;gap:4px}.privacy-profile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.privacy-profile small{overflow:hidden;color:var(--privacy-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px}.wallets{--wallet-card: #fff;--wallet-soft: #f1f3fb;--wallet-text: #131b2e;--wallet-muted: #75817d;--wallet-border: #e8ebec;max-width:520px;margin:0 auto;padding:12px 16px 30px;color:var(--wallet-text)}.wallets button{color:inherit}.wallets-header{display:flex;align-items:center;gap:9px;margin-bottom:18px}.wallets-header>button:first-child{display:grid;flex:none;width:42px;height:44px;place-items:center;border-radius:10px;background:transparent}.wallets-header>div{flex:1;min-width:0}.wallets-header h1{margin:0;font-size:19px;letter-spacing:-.03em}.wallets-header p{margin:3px 0 0;color:var(--wallet-muted);font-size:11px}.wallets .wallets-add{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;color:#fff;background:#196e63}.wallets-card{margin-bottom:12px;padding:16px;border:1px solid var(--wallet-border);border-radius:15px;background:var(--wallet-card);box-shadow:0 2px 8px #19203106}.wallets-overview>div{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--wallet-muted);font-size:10px;font-weight:700;letter-spacing:.05em}.wallets-overview>div small{padding:5px 7px;border-radius:8px;background:var(--wallet-soft);font-size:10px;letter-spacing:0}.wallets-overview>strong{display:block;margin-top:13px;font-size:27px;letter-spacing:-.04em;overflow-wrap:anywhere}.wallets-overview>strong small{color:var(--wallet-muted);font-size:10px;letter-spacing:0}.wallets-overview p,.wallets-hint,.wallets-form p,.wallets-notice p{margin:8px 0 0;color:var(--wallet-muted);font-size:11px;line-height:1.5}.wallets .wallets-transfer{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin:12px 0;border-radius:11px;color:#fff;background:#196e63;font-size:13px;font-weight:700}.wallets-transfer:disabled{opacity:.5}.wallets-hint{margin:-4px 0 14px}.wallets-filters{display:flex;gap:4px;padding:4px;margin:18px 0;overflow-x:auto;border-radius:12px;background:var(--wallet-soft)}.wallets-filters button{flex:none;min-height:40px;padding:0 12px;border-radius:9px;background:transparent;font-size:11px}.wallets-filters button.selected{background:var(--wallet-card);box-shadow:0 1px 4px #0000000c}.wallets-filters span{color:var(--wallet-muted)}.wallets-list-heading{display:flex;justify-content:space-between;align-items:center;margin:0 2px 10px}.wallets-list-heading h2,.wallets-form h2{margin:0;font-size:14px}.wallets-list-heading span{color:var(--wallet-muted);font-size:10px}.wallets-account-head{display:flex;align-items:center;gap:10px}.wallets-account-head>i{display:grid;flex:none;width:43px;height:43px;place-items:center;border-radius:11px;background:var(--wallet-soft)}.wallets-account-head>div{flex:1;min-width:0}.wallets-account h3{margin:0;font-size:13px;overflow-wrap:anywhere}.wallets-account p{margin:4px 0 0;color:var(--wallet-muted);font-size:11px}.wallets-account-head button{display:grid;flex:none;width:42px;height:42px;place-items:center;border-radius:9px;background:transparent}.wallets-account-net{display:flex;justify-content:space-between;align-items:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--wallet-border)}.wallets-account-net small{display:block;color:var(--wallet-muted);font-size:11px}.wallets-account-net strong{display:block;margin-top:4px;font-size:17px}.wallets-account-net>span{color:var(--wallet-muted);font-size:10px}.wallets-empty{color:var(--wallet-muted);text-align:center;font-size:12px}.wallets-notice{margin-top:18px;padding:14px;border-radius:13px;background:var(--wallet-soft)}.wallets-notice strong{font-size:12px}.wallets .wallets-create{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;margin-top:14px;border:1px dashed #9db1aa;border-radius:12px;color:#176b5d;background:var(--wallet-card);font-size:13px;font-weight:700}.wallets-form{display:grid;gap:12px;margin-top:14px}.wallets-form p{margin:0}.wallets-form label{display:grid;gap:5px;color:var(--wallet-muted);font-size:11px;font-weight:700}.wallets-form input:not([type=color]),.wallets-form select{width:100%;min-height:45px;padding:9px 11px;border:1px solid var(--wallet-border);border-radius:9px;color:var(--wallet-text);background:var(--wallet-soft);font-size:14px}.wallets-form input[type=color]{width:60px;height:42px;border:1px solid var(--wallet-border);border-radius:8px;background:var(--wallet-card)}.wallets-form>div{display:flex;justify-content:flex-end;gap:8px}.wallets-form>div button{min-height:44px;padding:0 14px;border-radius:9px;background:var(--wallet-soft);font-size:12px;font-weight:700}.wallets-form>div button[type=submit]{color:#fff;background:#196e63}.wallets-form button:disabled{opacity:.5}.wallets-form .wallets-error{color:#b23e32;font-size:12px}:root[data-theme=dark] .wallets{--wallet-card: #20262d;--wallet-soft: #303a43;--wallet-text: #ecf3f0;--wallet-muted: #a2ada8;--wallet-border: #39434a}.budgets-page{--budget-card: #fff;--budget-soft: #f1f3fb;--budget-text: #131b2e;--budget-muted: #75817d;--budget-border: #e8ebec;max-width:520px;margin:0 auto;padding:12px 16px 30px;color:var(--budget-text)}.budgets-page button{color:inherit}.budgets-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.budgets-header-icon{display:grid;width:42px;height:42px;flex:none;place-items:center;border-radius:12px;color:#176d61;background:#e2f4ec}.budgets-header>div{flex:1}.budgets-header small{color:var(--budget-muted);font-size:10px;letter-spacing:.07em}.budgets-header h1{margin:2px 0 0;font-size:21px;letter-spacing:-.03em}.budgets-currency{padding:6px 8px;border:1px solid var(--budget-border);border-radius:18px;background:var(--budget-card);font-size:11px;font-weight:700}.budgets-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.budgets-controls label{display:flex;align-items:center;gap:6px;min-width:0;min-height:44px;padding:0 9px;border:1px solid var(--budget-border);border-radius:10px;color:#176d61;background:var(--budget-card)}.budgets-controls input{width:130px;min-width:0;border:0;color:var(--budget-text);background:transparent;font-size:12px}.budgets-controls button,.budgets-state button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:0 12px;border-radius:10px;color:#fff;background:#196e63;font-size:12px;font-weight:700;white-space:nowrap}.budgets-note{margin:9px 2px 14px;color:var(--budget-muted);font-size:11px;line-height:1.45}.budgets-card{margin-bottom:12px;padding:16px;border:1px solid var(--budget-border);border-radius:15px;background:var(--budget-card);box-shadow:0 2px 8px #19203106}.budgets-overview-top,.budgets-overview-bottom,.budgets-values{display:flex;align-items:center;justify-content:space-between;gap:8px}.budgets-overview-top>span{color:var(--budget-muted);font-size:10px;font-weight:700;letter-spacing:.06em}.budgets-overview-top>b{padding:5px 7px;border-radius:20px;color:#14734f;background:#e0f6e9;font-size:10px;white-space:nowrap}.budgets-overview-top>b.warning{color:#9a6200;background:#fff1d1}.budgets-overview-top>b.over{color:#aa352e;background:#fae2de}.budgets-overview>strong{display:block;margin:10px 0 3px;font-size:26px;letter-spacing:-.04em;overflow-wrap:anywhere}.budgets-overview>strong small{color:var(--budget-muted);font-size:12px;font-weight:500;letter-spacing:0}.budgets-overview>p{margin:0;color:var(--budget-muted);font-size:11px}.budgets-progress{height:7px;margin:12px 0 8px;overflow:hidden;border-radius:8px;background:var(--budget-soft)}.budgets-progress i{display:block;height:100%;border-radius:inherit;background:#197a69}.budgets-progress i.warning{background:#e6a322}.budgets-progress i.over{background:#c4423b}.budgets-overview-bottom,.budgets-values{color:var(--budget-muted);font-size:11px}.budgets-overview-bottom b{color:var(--budget-text)}.budgets-days{display:flex;align-items:center;gap:7px;margin-top:14px;padding:10px;border-radius:9px;color:#176d61;background:var(--budget-soft);font-size:11px}.budgets-filters{display:flex;gap:4px;padding:4px;margin:17px 0 12px;overflow-x:auto;border-radius:11px;background:var(--budget-soft)}.budgets-filters button{flex:1 0 auto;min-height:40px;padding:0 8px;border-radius:8px;background:transparent;font-size:11px}.budgets-filters button.selected{color:#176d61;background:var(--budget-card)}.budgets-category.warning{border-color:#edcb81}.budgets-category.over{border-color:#dfaaa5}.budgets-category-top{display:flex;align-items:center;gap:9px}.budgets-category-top>i{flex:none;width:12px;height:12px;border-radius:50%}.budgets-category-top>div{flex:1;min-width:0}.budgets-category-top h2{margin:0;font-size:13px;overflow-wrap:anywhere}.budgets-category-top small{color:var(--budget-muted);font-size:10px}.budgets-category-top>span{padding:5px 7px;border-radius:10px;color:#187153;background:#e4f6ed;font-size:10px;white-space:nowrap}.budgets-category.warning .budgets-category-top>span{color:#986000;background:#fff1d1}.budgets-category.over .budgets-category-top>span{color:#a83a31;background:#fae2de}.budgets-category-top button{display:grid;flex:none;width:40px;height:40px;place-items:center;border-radius:9px;background:transparent}.budgets-values{margin-top:12px}.budgets-values strong{color:var(--budget-text);font-size:14px}.budgets-category .budgets-progress{margin-top:8px}.budgets-state{color:var(--budget-muted);text-align:center;font-size:12px;line-height:1.5}.budgets-state p{margin-top:0}.budgets-page .budgets-create{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:50px;margin-top:14px;border:1px dashed #9db1aa;border-radius:12px;color:#176b5d;background:var(--budget-card);font-size:12px;font-weight:700}.budgets-form{display:grid;gap:12px}.budgets-form h2{margin:0;font-size:14px}.budgets-form label{display:grid;gap:5px;color:var(--budget-muted);font-size:11px;font-weight:700}.budgets-form input,.budgets-form select{width:100%;min-height:45px;padding:9px 11px;border:1px solid var(--budget-border);border-radius:9px;color:var(--budget-text);background:var(--budget-soft);font-size:14px}.budgets-form p{margin:0;color:var(--budget-muted);font-size:11px}.budgets-form .budgets-error{color:#b23e32;font-size:12px}.budgets-form>div{display:flex;justify-content:flex-end;gap:8px}.budgets-form>div button{min-height:44px;padding:0 14px;border-radius:9px;background:var(--budget-soft);font-size:12px;font-weight:700}.budgets-form>div button[type=submit]{color:#fff;background:#196e63}.budgets-form button:disabled{opacity:.5}:root[data-theme=dark] .budgets-page{--budget-card: #20262d;--budget-soft: #303a43;--budget-text: #ecf3f0;--budget-muted: #a2ada8;--budget-border: #39434a}.fixed-page{display:grid;gap:14px;color:var(--color-text)}.fixed-entry{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 14px;border:1px solid var(--color-border-muted);border-radius:14px;color:var(--color-primary);background:var(--color-surface);text-align:left}.fixed-entry>span:nth-child(2){display:grid;flex:1;gap:3px}.fixed-entry strong{color:var(--color-text);font-size:.85rem}.fixed-entry small{color:var(--color-text-muted);font-size:.72rem}.fixed-entry>span:last-child{font-size:1.3rem}.fixed-header{display:flex;align-items:center;gap:12px;padding:4px 0 8px}.fixed-header>button,.fixed-month>button,.fixed-section-title>button{display:grid;flex:0 0 auto;place-items:center;width:40px;height:40px;border-radius:12px;color:var(--color-primary);background:var(--color-surface);border:1px solid var(--color-border-muted)}.fixed-header>div{flex:1;min-width:0}.fixed-header h1{font-size:1.08rem;letter-spacing:-.025em}.fixed-header p,.fixed-page small{color:var(--color-text-muted)}.fixed-header p{font-size:.75rem;margin-top:3px}.fixed-header>.fixed-add{color:#fff;background:#1e7b70}.fixed-card{border:1px solid var(--color-border-muted);border-radius:17px;background:var(--color-surface);box-shadow:0 2px 8px #15312c09}.fixed-summary{padding:18px;border-top:3px solid #1e7b70}.fixed-summary-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.fixed-summary-top span{padding:5px 9px;border-radius:99px;color:var(--color-primary);background:var(--color-primary-soft);font-size:.7rem;font-weight:700}.fixed-summary-top small{font-weight:700}.fixed-summary>p:not(.fixed-note){color:var(--color-text-muted);font-size:.78rem}.fixed-summary>strong{display:block;margin:4px 0;font-size:1.7rem;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.fixed-summary>small{display:block;line-height:1.5;font-size:.72rem}.fixed-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:15px;padding:12px 0;border-radius:12px;background:var(--color-surface-soft)}.fixed-totals div{min-width:0;padding:0 8px;border-right:1px solid var(--color-border)}.fixed-totals div:last-child{border:0}.fixed-totals span,.fixed-totals b{display:block;overflow-wrap:anywhere}.fixed-totals span{min-height:2.5em;color:var(--color-text-muted);font-size:.65rem}.fixed-totals b{font-size:.75rem;font-variant-numeric:tabular-nums}.fixed-totals div:nth-child(2) b{color:var(--color-success)}.fixed-totals div:nth-child(3) b{color:var(--color-danger)}.fixed-note{margin:10px 0 0;color:var(--color-text-muted);font-size:.7rem;line-height:1.45}.fixed-calendar{padding:12px}.fixed-month{display:flex;align-items:center;gap:4px}.fixed-month>button{width:34px;height:36px;border:0;background:transparent}.fixed-month h2{display:flex;flex:1;align-items:center;gap:5px;font-size:.85rem;text-transform:capitalize}.fixed-view-switch{display:flex;padding:3px;border-radius:9px;background:var(--color-surface-soft)}.fixed-view-switch button{padding:6px 8px;border-radius:7px;background:transparent;color:var(--color-text-muted);font-size:.7rem}.fixed-view-switch button.active{background:var(--color-surface);color:var(--color-primary);font-weight:700}.fixed-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.fixed-weekdays{margin:14px 0 5px;color:var(--color-text-muted);font-size:.69rem;font-weight:700}.fixed-grid button{position:relative;display:grid;place-items:center;height:39px;border-radius:10px;color:var(--color-text);background:transparent;font-size:.78rem}.fixed-grid button.today{box-shadow:inset 0 0 0 1px #1e7b70}.fixed-grid button.selected{color:#fff;background:#1e7b70}.fixed-grid button i{position:absolute;bottom:4px;width:5px;height:5px;border-radius:50%;background:var(--color-danger)}.fixed-grid button i.paid{background:#1aa570}.fixed-grid button.selected i{background:#fff}.fixed-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:10px 0 2px;color:var(--color-text-muted);font-size:.67rem}.fixed-legend span:first-child{color:var(--color-success)}.fixed-legend span:nth-child(2){color:var(--color-danger)}.fixed-clear-day{width:100%;margin-top:10px;padding:10px;border-radius:9px;color:var(--color-primary);background:var(--color-primary-soft);font-size:.75rem}.fixed-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.fixed-section-title h2{font-size:.96rem}.fixed-section-title>span{color:var(--color-text-muted);font-size:.72rem}.fixed-list{display:grid;gap:9px}.fixed-item{display:flex;align-items:flex-start;gap:11px;padding:14px}.fixed-check{display:grid;flex:0 0 25px;place-items:center;width:25px;height:25px;border:1px solid var(--color-border-strong);border-radius:8px;color:#fff;background:transparent}.fixed-check.checked{border-color:#1e7b70;background:#1e7b70}.fixed-item-copy{display:grid;flex:1;min-width:0;gap:4px}.fixed-item-copy strong{font-size:.87rem;overflow-wrap:anywhere}.fixed-item-copy small,.fixed-item-copy span{font-size:.72rem}.fixed-item-copy span{color:var(--color-success)}.fixed-item-copy span.overdue{color:var(--color-danger)}.fixed-item-end{display:grid;justify-items:end;gap:8px;font-size:.84rem;font-variant-numeric:tabular-nums}.fixed-item-end button{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:var(--color-primary);background:var(--color-surface-soft)}.fixed-empty{padding:20px;color:var(--color-text-muted);text-align:center;font-size:.82rem;line-height:1.5}.fixed-subscriptions{display:flex;align-items:center;justify-content:space-between;padding:15px;color:var(--color-primary)}.fixed-subscriptions>div{display:flex;align-items:center;gap:12px}.fixed-subscriptions span{display:grid;gap:4px;font-size:.85rem}.fixed-subscriptions small{font-size:.73rem}.fixed-create{display:flex;justify-content:center;align-items:center;gap:8px;min-height:50px;border:1px dashed var(--color-border-strong);border-radius:13px;color:var(--color-primary);background:var(--color-surface);font-weight:700}.fixed-form{display:grid;gap:12px;padding:16px}.fixed-form label{display:grid;gap:5px;font-size:.75rem;font-weight:700}.fixed-form input,.fixed-form select{width:100%;min-width:0;min-height:44px;padding:9px 11px;border:1px solid var(--color-border-strong);border-radius:10px;color:var(--color-text);background:var(--color-surface);font:inherit}.fixed-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fixed-form>p{color:var(--color-text-muted);font-size:.72rem;line-height:1.5}.fixed-form .fixed-error,.fixed-error{color:var(--color-danger);font-size:.78rem}.fixed-form-actions{display:flex;justify-content:space-between;gap:10px}.fixed-form-actions button{display:flex;align-items:center;gap:5px;padding:11px 15px;border-radius:10px;color:var(--color-danger);background:var(--color-danger-soft);font-weight:700}.fixed-form-actions .fixed-primary{margin-left:auto;color:#fff;background:#1e7b70}@media(max-width:360px){.fixed-month{gap:1px}.fixed-view-switch button{padding:6px}.fixed-totals div{padding:0 5px}}.recurring-page{max-width:520px;margin:0 auto;padding:16px 16px 30px;display:grid;gap:14px;color:var(--color-text)}.recurring-header{display:flex;gap:10px;align-items:center}.recurring-header>button:first-child{display:grid;flex:0 0 38px;place-items:center;height:42px;border-radius:10px;color:var(--color-text);background:transparent}.recurring-header>div{flex:1;min-width:0}.recurring-header small{color:var(--color-text-muted);font-size:.62rem;letter-spacing:.08em}.recurring-header h1{margin-top:3px;font-size:1rem;line-height:1.2}.recurring-new{display:flex;align-items:center;gap:5px;padding:9px 11px;border-radius:10px;color:#fff;background:#1e7b70;font-size:.77rem;font-weight:700}.recurring-card{border:1px solid var(--color-border-muted);border-radius:16px;background:var(--color-surface);box-shadow:0 2px 8px #15312c09}.recurring-hero{padding:16px}.recurring-hero>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:6px}.recurring-hero>div:first-child>span{color:var(--color-text-muted);font-size:.65rem;font-weight:700;letter-spacing:.04em}.recurring-hero>div:first-child b{padding:3px 5px;border-radius:5px;color:var(--color-text);background:var(--color-surface-soft);letter-spacing:0}.recurring-hero>div:first-child>small{padding:5px 8px;border-radius:99px;color:#8d5c08;background:#fff4db;font-size:.65rem;font-weight:700}.recurring-hero>strong{display:block;margin-top:15px;font-size:1.65rem;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.recurring-hero>strong small{color:var(--color-text-muted);font-size:.75rem;font-weight:400;letter-spacing:0}.recurring-hero>p,.recurring-note{margin:7px 0 0;color:var(--color-text-muted);font-size:.73rem;line-height:1.5}.recurring-projection{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding-top:13px;border-top:1px solid var(--color-border-muted);font-size:.75rem}.recurring-projection span{display:flex;align-items:center;gap:6px;color:var(--color-text-muted)}.recurring-projection svg{color:var(--color-primary)}.recurring-dates{padding:15px}.recurring-dates>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.68rem}.recurring-dates>div:first-child button{display:flex;align-items:center;color:var(--color-primary);background:transparent;font-size:.7rem}.recurring-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:12px}.recurring-days button{position:relative;display:grid;justify-items:center;gap:3px;min-width:0;min-height:51px;padding:7px 2px;border:1px solid transparent;border-radius:10px;color:var(--color-text);background:var(--color-surface-soft)}.recurring-days button.today{border-color:var(--color-primary)}.recurring-days button.selected{color:#fff;background:#1e7b70}.recurring-days small{color:inherit;font-size:.58rem;text-transform:uppercase}.recurring-days b{font-size:.85rem}.recurring-days i{position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:#1e7b70}.recurring-days .selected i{background:#fff}.recurring-clear{width:100%;margin-top:10px;padding:9px;border-radius:9px;color:var(--color-primary);background:var(--color-primary-soft);font-size:.72rem}.recurring-filters{display:flex;gap:7px;overflow-x:auto;padding:0 0 3px;scrollbar-width:none}.recurring-filters button{flex:0 0 auto;padding:8px 11px;border:1px solid var(--color-border-muted);border-radius:99px;color:var(--color-text-muted);background:var(--color-surface);font-size:.72rem}.recurring-filters button.active{color:#fff;border-color:#1e7b70;background:#1e7b70;font-weight:700}.recurring-group{display:grid;gap:7px}.recurring-group>header{display:flex;justify-content:space-between;gap:8px;padding:0 3px}.recurring-group h2{color:var(--color-text-muted);font-size:.7rem;letter-spacing:.03em;text-transform:uppercase}.recurring-group header span{font-size:.72rem;font-weight:700}.recurring-list{overflow:hidden}.recurring-item{display:flex;align-items:flex-start;gap:10px;padding:13px}.recurring-item+.recurring-item{border-top:1px solid var(--color-border-muted)}.recurring-icon{display:grid;flex:0 0 40px;place-items:center;height:40px;border-radius:11px;color:var(--color-primary);background:var(--color-primary-soft)}.recurring-item>div{display:grid;flex:1;min-width:0;gap:4px}.recurring-item strong{font-size:.83rem;overflow-wrap:anywhere}.recurring-item small,.recurring-item div span{color:var(--color-text-muted);font-size:.68rem;line-height:1.35}.recurring-item>b{white-space:nowrap;font-size:.78rem;font-variant-numeric:tabular-nums}.recurring-empty{padding:22px;color:var(--color-text-muted);text-align:center;font-size:.8rem;line-height:1.5}.recurring-calendar-link{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--color-border-muted);border-radius:14px;color:var(--color-primary);background:var(--color-surface);text-align:left}.recurring-calendar-link>span{display:grid;flex:1;gap:4px}.recurring-calendar-link strong{color:var(--color-text);font-size:.8rem}.recurring-calendar-link small{color:var(--color-text-muted);font-size:.7rem}.goals-page{display:grid;gap:14px;color:var(--color-text)}.goals-header{display:flex;align-items:center;gap:12px;padding:4px 0 8px}.goals-header>button,.goals-section-title>button{display:grid;flex:0 0 auto;place-items:center;width:40px;height:40px;border:1px solid var(--color-border-muted);border-radius:12px;color:var(--color-primary);background:var(--color-surface)}.goals-header>div{flex:1;min-width:0}.goals-header h1{font-size:1.1rem}.goals-header p{margin-top:3px;color:var(--color-text-muted);font-size:.75rem}.goals-header>.goals-add{color:#fff;background:#1e7b70}.goals-card{border:1px solid var(--color-border-muted);border-radius:17px;background:var(--color-surface);box-shadow:0 2px 8px #15312c09}.goals-overview{padding:18px}.goals-overview-title{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--color-text-muted);font-size:.64rem;font-weight:700;letter-spacing:.04em}.goals-overview-title b{padding:5px 8px;border-radius:9px;color:var(--color-primary);background:var(--color-primary-soft);letter-spacing:0}.goals-overview>strong{display:block;margin:12px 0 3px;font-size:1.7rem;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.goals-overview>strong small,.goals-overview>p{color:var(--color-text-muted);font-size:.72rem;font-weight:400;letter-spacing:0}.goals-progress{overflow:hidden;height:7px;margin:14px 0;border-radius:99px;background:var(--color-surface-strong)}.goals-progress i{display:block;height:100%;border-radius:inherit;background:#1e7b70}.goals-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:12px;border-top:1px solid var(--color-border-muted)}.goals-stats div{display:grid;align-content:start;gap:5px;min-width:0}.goals-stats span,.goal-label{color:var(--color-text-muted);font-size:.64rem;font-weight:700}.goals-stats b{font-size:.75rem;overflow-wrap:anywhere}.goals-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:4px;border-radius:12px;background:var(--color-surface-soft)}.goals-filters button{min-height:38px;padding:5px 3px;border-radius:9px;color:var(--color-text-muted);background:transparent;font-size:clamp(.62rem,2.8vw,.75rem);font-weight:600}.goals-filters button.active{color:var(--color-primary);background:var(--color-surface);box-shadow:0 1px 4px #0000000f}.goals-section-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.goals-section-title h2{font-size:.95rem}.goals-section-title>span{color:var(--color-text-muted);font-size:.72rem}.goals-list{display:grid;gap:10px}.goal-item{padding:15px}.goal-item-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:17px}.goal-icon{display:grid;flex:0 0 40px;place-items:center;width:40px;height:40px;border-radius:12px;color:var(--color-primary);background:var(--color-primary-soft)}.goal-item-header>div{flex:1;min-width:0}.goal-item-header h3{margin:0;font-size:.9rem;overflow-wrap:anywhere}.goal-item-header p{margin-top:4px;color:var(--color-text-muted);font-size:.72rem;line-height:1.4;overflow-wrap:anywhere}.goal-priority{padding:5px 7px;border-radius:9px;color:var(--color-success);background:var(--color-success-soft);font-size:.63rem;font-weight:700}.goal-item-header>button{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;color:var(--color-primary);background:var(--color-surface-soft)}.goal-amount{display:flex;justify-content:space-between;gap:8px;margin-top:5px;font-variant-numeric:tabular-nums}.goal-amount strong{font-size:1rem}.goal-amount small{color:var(--color-text-muted);font-size:.72rem;font-weight:400}.goal-amount b{color:var(--color-primary);font-size:.82rem}.goal-item .goals-progress{margin:9px 0}.goal-bottom{display:flex;justify-content:space-between;gap:8px;color:var(--color-text-muted);font-size:.7rem;line-height:1.4}.goal-contribute,.goals-create{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin-top:14px;border:1px solid var(--color-border-strong);border-radius:10px;color:var(--color-primary);background:var(--color-surface);font-size:.8rem;font-weight:700}.goals-create{min-height:52px;margin:0;border-style:dashed}.goals-empty{padding:24px 16px;color:var(--color-text-muted);text-align:center;font-size:.82rem;line-height:1.5}.goals-note{color:var(--color-text-muted);font-size:.73rem;line-height:1.5}.goals-form,.goal-contribution-form{display:grid;gap:12px;padding:16px}.goal-contribution-form{margin-top:12px;padding:14px;border-radius:12px;background:var(--color-surface-soft)}.goals-form label,.goal-contribution-form label{display:grid;gap:5px;font-size:.75rem;font-weight:700}.goals-form label small{color:var(--color-text-muted);font-weight:400}.goals-form input,.goals-form select,.goal-contribution-form input,.goal-contribution-form select{width:100%;min-width:0;min-height:44px;padding:9px 11px;border:1px solid var(--color-border-strong);border-radius:10px;color:var(--color-text);background:var(--color-surface);font:inherit}.goals-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.goals-form>p,.goal-contribution-form>p{color:var(--color-text-muted);font-size:.72rem;line-height:1.5}.goals-form .goals-error,.goal-contribution-form .goals-error{color:var(--color-danger)}.goals-form-actions,.goal-contribution-form>div{display:flex;justify-content:flex-end;gap:8px}.goals-form-actions button,.goal-contribution-form>div button{min-height:42px;padding:10px 13px;border-radius:10px;color:var(--color-text);background:var(--color-surface-strong);font-weight:700;font-size:.8rem}.goals-form-actions .goals-delete{display:flex;align-items:center;gap:5px;margin-right:auto;color:var(--color-danger);background:var(--color-danger-soft)}.goals-form-actions .goals-primary,.goal-contribution-form>div .goals-primary{color:#fff;background:#1e7b70}@media(max-width:360px){.goal-priority,.goals-stats span{font-size:.58rem}}.transaction-page-container{position:fixed;z-index:6;inset:0;overflow-y:auto;overscroll-behavior:contain;background:#faf8ff}.transaction-page{--editor-card: #fff;--editor-soft: #f1f3fb;--editor-text: #131b2e;--editor-muted: #75817d;--editor-border: #e7e9ed;width:min(100%,520px);min-height:100dvh;margin:0 auto;color:var(--editor-text);background:var(--editor-card)}.transaction-page-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:8px;min-height:70px;padding:max(10px,env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid var(--editor-border);background:var(--editor-card)}.transaction-page-header>div{flex:1;min-width:0}.transaction-page-header h2{margin:0;font-size:16px;letter-spacing:-.02em}.transaction-page-header p{margin:3px 0 0;color:var(--editor-muted);font-size:11px}.transaction-page-close{display:grid;flex:0 0 42px;width:42px;height:44px;place-items:center;border-radius:10px;color:var(--editor-text);background:transparent}.transaction-page-clear{min-height:44px;padding:0 8px;color:#176d61;background:transparent;font-size:12px;font-weight:700}.transaction-page-form{display:flex;flex-direction:column;gap:12px;padding:14px 16px calc(24px + env(safe-area-inset-bottom))}.transaction-page .type-toggle{order:0;background:var(--editor-soft);border:1px solid var(--editor-border)}.transaction-page .type-toggle.with-transfer{grid-template-columns:repeat(3,minmax(0,1fr))}.transaction-page .type-toggle button{font-size:12px}.transaction-page .type-toggle button{color:var(--editor-muted)}.transaction-page .type-toggle button.selected.expense,.transaction-page .type-toggle button.selected.income{color:var(--editor-text);background:var(--editor-card);box-shadow:0 1px 4px #141e2817}.transaction-page .amount-field{order:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px;border:1px solid var(--editor-border);border-radius:16px;text-align:center}.transaction-page .amount-field>span:first-child{color:var(--editor-muted);font-size:10px;font-weight:700;letter-spacing:.06em}.transaction-page .transaction-amount-entry{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;color:var(--editor-text);font-size:27px;font-weight:750}.transaction-page .transaction-amount-entry b{flex:none}.transaction-page .amount-field .amount{width:min(200px,65%);min-width:0;min-height:44px;padding:0;border:0;outline:none;color:var(--editor-text);background:transparent;text-align:left;font-size:28px;font-weight:750}.transaction-page .amount-field .amount:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.transaction-page fieldset{order:2;min-width:0;margin:0;padding:0;border:0}.transaction-page legend{margin-bottom:9px;color:var(--editor-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.transaction-page .category-grid{display:flex;max-height:none;gap:8px;padding:1px 1px 5px;overflow-x:auto;overflow-y:hidden}.transaction-page .category-grid .chip{flex:0 0 auto;min-height:44px;padding:0 13px;border:1px solid var(--editor-border);border-radius:11px;color:var(--editor-text);background:var(--editor-soft);font-size:12px}.transaction-page .category-grid .chip.selected{color:#fff;border-color:#196e63;background:#196e63}.transaction-page .transaction-accounts,.transaction-page .editor-details{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--editor-border);border-radius:16px}.transaction-page .transaction-accounts{order:3}.transaction-page .transaction-accounts label{display:flex;flex-direction:column;gap:6px}.transaction-page .transaction-accounts label>span{color:var(--editor-muted);font-size:11px;font-weight:700}.transaction-page .transaction-accounts .input{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--editor-border);border-radius:10px;color:var(--editor-text);background-color:var(--editor-soft);font-size:14px}.transaction-page .transaction-accounts p{margin:0;color:var(--editor-muted);font-size:11px;line-height:1.4}.transaction-page .editor-details{order:4}.transaction-page .editor-details label{display:flex;flex-direction:column;gap:6px;min-width:0}.transaction-page .editor-details label>span:first-child{color:var(--editor-muted);font-size:11px;font-weight:700}.transaction-page .editor-details .input{width:100%;min-height:45px;padding:10px 12px;border:1px solid var(--editor-border);border-radius:10px;color:var(--editor-text);background-color:var(--editor-soft);font-size:14px}.transaction-page .feedback,.transaction-page .transaction-transfer-note{order:5;margin:0}.transaction-page .transaction-transfer-note{padding:10px;border-radius:9px;color:var(--editor-muted);background:var(--editor-soft);font-size:12px;line-height:1.4}.transaction-keypad{order:6;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.transaction-keypad button{display:grid;min-height:46px;place-items:center;border:1px solid var(--editor-border);border-radius:10px;color:var(--editor-text);background:var(--editor-card);font-size:18px;font-weight:700}.transaction-keypad button:nth-child(10),.transaction-keypad button:last-child{background:var(--editor-soft)}.transaction-keypad button:active{background:#cce8df}.transaction-page-actions{order:7;display:flex;gap:10px;align-items:center}.transaction-page-actions .button-primary{flex:1;min-height:50px;border-radius:11px;color:#fff;background:#196e63}.transaction-page-actions .delete{margin:0}:root[data-theme=dark] .transaction-page-container{background:#14181e}:root[data-theme=dark] .transaction-page{--editor-card: #20262d;--editor-soft: #303a43;--editor-text: #ecf3f0;--editor-muted: #a2ada8;--editor-border: #39434a}:root{font-family:Inter,Roboto,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;color:var(--color-text);background:var(--color-background);--color-background: #f6f6f3;--color-surface: #fffefd;--color-surface-soft: #f2f2ee;--color-surface-strong: #e9e9e3;--color-primary: #12483c;--color-primary-strong: #0b3028;--color-primary-soft: #e4eee9;--color-success: #16805f;--color-success-soft: #e1f3eb;--color-danger: #a53d2d;--color-danger-soft: #f8e5e1;--color-text: #171918;--color-text-muted: #70756f;--color-border: rgba(31, 35, 33, .11);--color-border-muted: rgba(31, 35, 33, .075);--color-border-strong: rgba(31, 35, 33, .16);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--control-min-height: 48px;--shadow-sm: 0 1px 2px rgba(15, 17, 16, .06);--shadow-soft: 0 1px 2px rgba(15, 17, 16, .04), 0 16px 42px rgba(15, 17, 16, .05);--transition-fast: .15s ease;--bg: var(--color-background);--surface: var(--color-surface);--surface-soft: var(--color-surface-soft);--surface-strong: var(--color-surface-strong);--border: var(--color-border);--border-muted: var(--color-border-muted);--border-strong: var(--color-border-strong);--text: var(--color-text);--muted: var(--color-text-muted);--cta: var(--color-primary);--cta-dark: var(--color-primary-strong);--cta-soft: var(--color-primary-soft);--success: var(--color-success);--danger: var(--color-danger);--danger-soft: var(--color-danger-soft)}*{box-sizing:border-box}html{color-scheme:light;background:var(--color-background);-webkit-tap-highlight-color:transparent}html[data-theme=dark]{color-scheme:dark}body{min-width:320px;margin:0;background:var(--color-background);overscroll-behavior-y:none}button,input,select{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.58}h1,h2,p{margin:0}h1{font-size:1.65rem;letter-spacing:-.045em}h2{font-size:1.1rem;letter-spacing:-.025em}.app-shell{max-width:760px;min-height:100dvh;margin:auto;padding:max(var(--space-6),env(safe-area-inset-top)) 18px calc(88px + env(safe-area-inset-bottom))}.topbar,.section-heading,.transaction,.month-switcher,.balance-breakdown,.form-actions{display:flex;align-items:center}.topbar,.section-heading{justify-content:space-between;gap:var(--space-4)}.content,.card{border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);background:#ffffffa8;box-shadow:var(--shadow-soft)}.content{padding:var(--space-4);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.eyebrow{color:var(--color-success);font-size:.66rem;font-weight:800;letter-spacing:.14em}.button,.primary{display:inline-flex;min-height:var(--control-min-height);align-items:center;justify-content:center;gap:7px;padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:.84rem;font-weight:700;transition:transform var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.button:active:not(:disabled),.primary:active:not(:disabled),.icon-button:active:not(:disabled),.chip:active:not(:disabled){transform:scale(.98)}.button-primary,.primary{color:#fff;background:var(--color-primary);box-shadow:var(--shadow-sm)}.button-primary:hover,.primary:hover{background:var(--color-primary-strong)}.button-secondary{color:var(--color-primary);background:var(--color-primary-soft)}.button-danger{color:var(--color-danger);background:var(--color-danger-soft)}.full{width:100%}.is-loading{pointer-events:none}.icon-button{display:grid;width:var(--control-min-height);min-height:var(--control-min-height);place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.icon-button:hover{color:var(--color-text);background:var(--color-surface-soft)}.input,input{width:100%;min-height:var(--control-min-height);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:0 var(--space-3);outline:none;color:var(--color-text);background:#fff;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder,input::placeholder{color:#979b96}.input:focus,input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #12483c1f}.input[aria-invalid=true],input[aria-invalid=true],.input-error{border-color:var(--color-danger);box-shadow:0 0 0 3px #a53d2d1f}.chip,.filters button,.category-grid button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);background:var(--color-surface-soft);font-size:.75rem;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.chip:hover,.filters button:hover,.category-grid button:hover{border-color:var(--color-border);background:var(--color-surface-strong)}.chip.is-selected,.filters button.active,.category-grid button.selected{border-color:#c7d9d0;color:var(--color-primary);background:var(--color-primary-soft);font-weight:800}.feedback{margin:0;padding:var(--space-3);border-radius:var(--radius-sm);font-size:.8rem}.feedback-error,.error{color:var(--color-danger);background:var(--color-danger-soft)}.feedback-success{color:var(--color-success);background:var(--color-success-soft)}.balance-card{margin:25px 0 29px;padding:21px;border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,#0d3b30,#166354);box-shadow:0 12px 30px #0d3b3033}.month-switcher{justify-content:space-between;color:#effaf5;font-size:.82rem;text-transform:capitalize}.month-switcher button{display:grid;width:var(--control-min-height);min-height:var(--control-min-height);place-items:center;border-radius:var(--radius-sm);color:#fff;background:transparent}.month-switcher button:hover{background:#ffffff21}.balance-label{margin-top:26px;color:#d5eee5;font-size:.78rem}.balance-card>strong{display:block;margin-top:var(--space-1);font-size:clamp(2rem,9vw,2.85rem);letter-spacing:-.065em}.balance-breakdown{gap:11px;margin-top:21px}.balance-breakdown>div{flex:1;padding:11px 12px;border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-md);background:#ffffff12}.balance-breakdown span{display:flex;align-items:center;gap:5px;color:#e0f3eb;font-size:.71rem}.balance-breakdown b{display:block;margin-top:5px;font-size:.9rem}.balance-breakdown .income,.balance-breakdown .expense{color:#fff}.section-heading{margin-bottom:15px}.section-heading p{margin-top:3px;color:var(--color-text-muted);font-size:.78rem}.search{display:flex;min-height:var(--control-min-height);align-items:center;gap:9px;margin:var(--space-4) 0 11px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-muted);background:#fff}.search input{min-height:46px;border:0;padding:0;box-shadow:none;background:transparent}.search input:focus{box-shadow:none}.filters{display:flex;gap:7px;overflow-x:auto;padding-bottom:3px}.category-filters{margin-top:var(--space-2)}.section-actions{display:flex;gap:var(--space-1)}.report-hero{display:grid;gap:4px;margin:var(--space-6) 0 var(--space-4);padding:var(--space-6);border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,#0d3b30,#166354)}.report-hero span{color:#d5eee5;font-size:.8rem;text-transform:capitalize}.report-hero strong{font-size:2rem;letter-spacing:-.05em}.report-hero small{color:#d5eee5}.report-content{display:grid;gap:var(--space-2)}.report-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);background:var(--color-surface)}.report-row>i{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:var(--radius-sm);color:#fff;font-style:normal}.report-row>div{display:grid;min-width:0;flex:1;gap:3px}.report-row strong,.report-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-row span,.report-row label span{color:var(--color-text-muted);font-size:.72rem}.report-row label{width:92px;gap:3px}.report-row input{min-height:38px;padding:0 7px;font-size:.8rem}.budget-progress{height:5px;overflow:hidden;border-radius:99px;background:var(--color-surface-strong)}.budget-progress i{display:block;height:100%;border-radius:inherit;background:var(--color-success)}.budget-progress.over i{background:var(--color-danger)}.transactions{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.transaction{gap:10px;min-height:72px;padding:11px;border:1px solid var(--color-border-muted);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.transaction:hover{border-color:var(--color-border-strong);background:#fbfbf8;transform:translateY(-1px)}.transaction-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:var(--radius-sm)}.transaction-icon.income{color:var(--color-success);background:var(--color-primary-soft)}.transaction-icon.expense{color:var(--color-danger);background:var(--color-danger-soft)}.transaction-main{flex:1;min-width:0;min-height:var(--control-min-height);padding:0;text-align:left;color:inherit;background:transparent}.transaction-main strong,.transaction-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-main strong{font-size:.85rem}.transaction-main span{margin-top:3px;color:var(--color-text-muted);font-size:.72rem}.money{font-size:.82rem;font-weight:800;white-space:nowrap}.income-text{color:var(--color-success)}.expense-text{color:var(--color-danger)}.edit{display:grid;width:40px;min-height:40px;place-items:center;color:var(--color-text-muted);background:transparent}.edit:hover{color:var(--color-primary)}.empty{padding:43px 22px;text-align:center;color:var(--color-text-muted)}.empty svg{color:var(--color-primary)}.empty strong{display:block;margin-top:13px;color:var(--color-text)}.empty p{margin-top:6px;font-size:.83rem}.bottom-nav{position:fixed;right:0;bottom:0;left:0;display:flex;align-items:center;gap:7px;max-width:760px;min-height:67px;margin:auto;padding:10px 18px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);color:var(--color-primary);background:#fffefded;box-shadow:0 -4px 18px #0f11100a;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);font-size:.72rem}.bottom-nav span:first-of-type{margin-right:auto;font-weight:800}.bottom-nav span:last-child{max-width:115px;overflow:hidden;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap}.login-page{display:grid;min-height:100dvh;place-items:center;padding:var(--space-6);background:var(--color-background)}.app-lock{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:var(--space-6);background:var(--color-background);text-align:center}.app-lock>div{display:grid;justify-items:center;gap:var(--space-3);max-width:320px}.app-lock>div>svg{color:var(--color-primary)}.app-lock p{color:var(--color-text-muted);line-height:1.45}.app-lock .button{margin-top:var(--space-3)}.login-card{width:min(100%,410px);padding:29px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-soft)}.login-card>svg{margin-bottom:20px;color:var(--color-primary)}.login-card h1{margin:10px 0;font-size:2rem}.login-card>p{color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.login-card form{display:grid;gap:15px;margin-top:27px}label{display:grid;gap:7px;color:var(--color-text);font-size:.8rem;font-weight:700}.modal-backdrop{position:fixed;z-index:5;inset:0;display:flex;align-items:center;padding:var(--space-3);background:#11191840}.sheet{width:min(100%,620px);max-height:calc(100dvh - 24px);overflow:auto;margin:auto;padding:18px 18px calc(18px + env(safe-area-inset-bottom));border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 18px 60px #0f11101f}.sheet header{display:flex;align-items:center;justify-content:space-between}.sheet header p{color:var(--color-text-muted);font-size:.78rem}.sheet form{display:grid;gap:14px;margin-top:16px}.type-toggle{display:grid;grid-template-columns:1fr 1fr;padding:var(--space-1);border-radius:var(--radius-md);background:var(--color-surface-soft)}.type-toggle button{min-height:40px;border-radius:var(--radius-sm);color:var(--color-text-muted);background:transparent;font-weight:700}.type-toggle button.selected.expense{color:var(--color-danger);background:var(--color-danger-soft)}.type-toggle button.selected.income{color:var(--color-success);background:var(--color-primary-soft)}.amount{min-height:58px;font-size:1.65rem;font-weight:800}.amount-field{gap:6px}.editor-details{display:grid;grid-template-columns:1fr 132px;gap:10px}.sheet fieldset{display:grid;gap:9px;margin:0;padding:0;border:0}.sheet legend{color:var(--color-text);font-size:.8rem;font-weight:700}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:164px;overflow-y:auto;padding-right:2px}.category-grid .chip{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:6px;padding:0 8px;font-size:.76rem;white-space:nowrap;overflow:hidden}.category-grid .chip span{overflow:hidden;text-overflow:ellipsis}.form-actions{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));z-index:1;justify-content:flex-end;gap:10px;margin:0 -18px calc(-18px - env(safe-area-inset-bottom));padding:var(--space-3) 18px calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:#fffefdf5;box-shadow:0 -8px 18px #0f11100a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.delete{display:inline-flex;min-height:var(--control-min-height);align-items:center;gap:6px;margin-right:auto;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--color-danger);background:transparent;font-weight:700}.delete:hover{background:var(--color-danger-soft)}.is-selected,[aria-pressed=true]{font-weight:800}.is-error{border-color:var(--color-danger);color:var(--color-danger)}.field-error{color:var(--color-danger);font-size:.75rem;font-weight:600}.transaction-group{display:grid;gap:var(--space-2)}.transaction-group+.transaction-group{margin-top:var(--space-3)}.transaction-group h3{margin:0;color:var(--color-text-muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.offline-notice{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border:1px solid #e8c985;border-radius:var(--radius-sm);color:#715114;background:#fff7df;font-size:.78rem}.list-state{display:grid;min-height:178px;place-content:center;justify-items:center;gap:var(--space-2);padding:var(--space-6);text-align:center;color:var(--color-text-muted)}.list-state p{max-width:280px;font-size:.84rem;line-height:1.45}.list-state.error{color:var(--color-danger)}.spinner{width:24px;height:24px;border:3px solid var(--color-primary-soft);border-top-color:var(--color-primary);border-radius:50%;animation:spin .72s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dialog-backdrop{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:var(--space-4);background:#11191859}.dialog-backdrop-nested{z-index:11;background:#11191873}.dialog{width:min(100%,390px);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 20px 60px #0f111033}.dialog h2{margin-top:var(--space-3)}.dialog p{margin-top:var(--space-2);color:var(--color-text-muted);font-size:.9rem;line-height:1.45}.dialog p strong{color:var(--color-text)}.dialog .dialog-note{color:var(--color-text-muted);font-size:.78rem}.dialog-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:var(--radius-md)}.dialog-icon.danger{color:var(--color-danger);background:var(--color-danger-soft)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6)}.dialog-actions .button{flex:1}.toast{position:fixed;z-index:20;right:var(--space-4);bottom:calc(83px + env(safe-area-inset-bottom));left:var(--space-4);display:flex;align-items:center;gap:var(--space-2);max-width:520px;margin:auto;padding:var(--space-3);border-radius:var(--radius-md);color:#fff;background:var(--color-primary-strong);box-shadow:0 12px 32px #0b302847}.toast span{display:grid;flex:1;min-width:0;gap:2px}.toast small{overflow:hidden;color:#d5eee5;text-overflow:ellipsis;white-space:nowrap}.toast button{min-height:40px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:#fff;background:transparent;font-weight:800}.toast button:hover{background:#ffffff1f}.toast .toast-close{display:grid;width:40px;place-items:center;padding:0}.session-splash{display:grid;min-height:100dvh;place-content:center;justify-items:center;gap:var(--space-3);padding:var(--space-6);background:var(--color-background);text-align:center}.session-splash-mark{display:grid;width:64px;height:64px;place-items:center;border-radius:var(--radius-lg);color:#fff;background:var(--color-primary);box-shadow:0 12px 28px #12483c33;animation:splash-pulse 1.4s ease-in-out infinite}.session-splash strong{font-size:1rem}.session-splash .spinner{margin-top:var(--space-2)}.transaction-skeletons{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.transaction-skeleton{display:flex;min-height:72px;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);background:var(--color-surface)}.skeleton-heading{width:88px;height:12px}.skeleton-avatar,.skeleton-line{display:block;border-radius:999px;background:linear-gradient(90deg,var(--color-surface-soft) 25%,var(--color-surface-strong) 50%,var(--color-surface-soft) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.3s linear infinite}.skeleton-avatar{width:40px;height:40px}.skeleton-copy{display:grid;flex:1;gap:8px}.skeleton-line{width:min(150px,72%);height:12px}.skeleton-line.short{width:min(94px,50%);height:9px}.skeleton-line.value{width:56px;height:12px}.sync-banner{position:fixed;z-index:4;top:calc(var(--space-2) + env(safe-area-inset-top));right:var(--space-3);left:var(--space-3);display:flex;width:fit-content;max-width:calc(100% - 24px);align-items:center;justify-content:center;gap:var(--space-2);margin:auto;padding:8px var(--space-3);border:1px solid var(--color-border);border-radius:999px;box-shadow:var(--shadow-soft);font-size:.75rem;font-weight:700;animation:feedback-enter .18s ease-out}.sync-banner.offline{color:#715114;background:#fff7df;border-color:#e8c985}.sync-banner.syncing{color:var(--color-primary);background:var(--color-primary-soft)}.toast{animation:feedback-enter .18s ease-out}.toast-success{color:#fff;background:var(--color-success)}.sheet{animation:sheet-enter .21s cubic-bezier(.2,.8,.2,1)}.balance-card{animation:balance-enter .28s ease-out both}.filters .chip,.segmented-control button{transition:transform var(--transition-fast),color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}@keyframes skeleton-shimmer{to{background-position:-200% 0}}@keyframes feedback-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes balance-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-pulse{50%{transform:scale(1.04);box-shadow:0 16px 32px #12483c47}}@keyframes voice-pulse{50%{transform:scale(1.08);box-shadow:0 0 0 12px #12483c1f,0 14px 28px #12483c3d}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.month-name{color:#d5eee5;font-size:.82rem;text-transform:capitalize}.balance-card .month-name+.balance-label{margin-top:var(--space-6)}.home-recent{margin-top:var(--space-6)}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.voice-backdrop{align-items:center}.voice-sheet{position:relative;width:min(100%,440px);padding:var(--space-8) var(--space-6) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 20px 60px #0f111038;text-align:center;animation:sheet-enter .21s cubic-bezier(.2,.8,.2,1)}.voice-close{position:absolute;top:var(--space-3);right:var(--space-3)}.voice-orb{display:grid;width:76px;height:76px;place-items:center;margin:0 auto var(--space-4);border-radius:50%;color:#fff;background:var(--color-primary);box-shadow:0 12px 24px #12483c38}.voice-orb.is-listening{animation:voice-pulse 1.1s ease-in-out infinite}.voice-sheet h2{margin-top:var(--space-2);font-size:1.32rem}.voice-help{margin-top:var(--space-2);color:var(--color-text-muted);font-size:.85rem;line-height:1.45}.voice-transcript{display:grid;min-height:78px;place-items:center;margin-top:var(--space-4);padding:var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-soft);font-size:.92rem;line-height:1.45}.voice-preview{display:grid;gap:var(--space-1);margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-success);background:var(--color-success-soft);text-align:left}.voice-preview span{font-size:.75rem;font-weight:700}.voice-preview strong{font-size:1.1rem}.voice-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.voice-actions .button{flex:1}.text-button{min-height:var(--control-min-height);padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--color-primary);background:transparent;font-size:.8rem;font-weight:800}.text-button:hover{background:var(--color-primary-soft)}.floating-new{position:fixed;z-index:3;right:var(--space-4);bottom:calc(83px + env(safe-area-inset-bottom));box-shadow:0 10px 25px #0b302842}.month-panel{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin:var(--space-6) 0 var(--space-4);padding:var(--space-1);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface);font-size:.86rem;font-weight:800;text-align:center;text-transform:capitalize}.month-panel span{flex:1}.month-panel .icon-button{border:0;box-shadow:none;background:transparent}.movements-content{margin-bottom:var(--space-4)}.profile-avatar{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;color:#fff;background:var(--color-primary);font-weight:800}.profile-account{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-6) 0;padding:var(--space-4)}.profile-account>svg{color:var(--color-primary)}.profile-account div{display:grid;min-width:0;gap:var(--space-1)}.profile-account span{overflow:hidden;color:var(--color-text-muted);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.settings-section{display:grid;gap:var(--space-2);margin-top:var(--space-6)}.settings-section h2{font-size:.92rem}.setting-row,.setting-block,.setting-action,.sync-status{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);background:var(--color-surface);font-size:.86rem}.setting-row>span,.setting-block>span,.setting-action{display:flex;align-items:center;gap:var(--space-2);font-weight:700}.setting-row select{min-height:40px;max-width:180px;border:0;border-radius:var(--radius-sm);padding:0 var(--space-2);color:var(--color-primary);background:var(--color-primary-soft);font:inherit;font-weight:700}.setting-block{display:grid;align-items:stretch}.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-sm);background:var(--color-surface-soft)}.segmented-control button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:var(--space-1);border-radius:6px;color:var(--color-text-muted);background:transparent;font-size:.73rem;font-weight:700}.segmented-control button.is-selected{color:var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-sm)}.sync-status{justify-content:flex-start;color:var(--color-text-muted)}.sync-status.success{color:var(--color-success)}.setting-action{width:100%;color:var(--color-danger);background:transparent;font:inherit;cursor:pointer}.setting-action:hover{background:var(--color-danger-soft)}.category-settings{color:var(--color-primary)}.category-settings:hover{background:var(--color-primary-soft)}.category-manager{display:grid;gap:var(--space-3)}.category-manager .type-toggle{margin-top:var(--space-2)}.category-create{display:grid;gap:var(--space-3);margin:0}.category-name-field{display:grid;gap:6px}.category-create-controls{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:end;gap:var(--space-2)}.category-create-controls label{min-width:0}.category-create-controls select,.category-danger select{width:100%;min-height:var(--control-min-height);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:0 var(--space-2);color:var(--color-text);background:var(--color-surface)}.category-color-field input[type=color]{width:100%;min-height:var(--control-min-height);padding:4px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface)}.category-list{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2);max-height:290px;overflow:auto}.category-row{display:flex;width:100%;min-width:0;align-items:center;gap:var(--space-2);min-height:54px;padding:var(--space-2);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface);text-align:left}.category-row i{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:var(--radius-sm);color:#fff;font-style:normal}.category-row span{min-width:0;flex:1;overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.category-row small{flex:0 0 auto;color:var(--color-text-muted);font-size:.72rem}.category-row>svg{flex:0 0 auto}.category-danger{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-danger);background:var(--color-danger-soft)}.category-danger p{font-size:.82rem;line-height:1.4}.category-danger div{display:flex;justify-content:flex-end;gap:var(--space-2)}@media(max-width:380px){.category-create-controls{grid-template-columns:72px minmax(0,1fr)}.category-create-controls .button{grid-column:1 / -1}.category-row small{display:none}}.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;max-width:760px;min-height:72px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border-muted);background:var(--color-surface);box-shadow:0 -6px 24px #142e2a12}.bottom-nav button{display:grid;min-width:0;min-height:56px;place-items:center;align-content:center;gap:4px;padding:4px 1px;border-radius:14px;color:var(--color-text-muted);background:transparent;font-family:inherit;font-size:clamp(.57rem,2.5vw,.68rem);font-weight:600;letter-spacing:-.01em;line-height:1.15;transition:color .18s ease,background-color .18s ease,transform .18s ease}.bottom-nav button span:first-of-type,.bottom-nav button span:last-child{max-width:100%;margin:0;color:inherit}.bottom-nav button>svg{flex-shrink:0;stroke-width:1.9}.bottom-nav button.active{color:var(--color-primary);background:var(--color-primary-soft);font-weight:700}.bottom-nav button.active>svg{stroke-width:2.2}.bottom-nav button.bottom-nav-create{justify-self:center;align-self:center;width:48px;min-height:48px;height:48px;border:1px solid #17665d;border-radius:50%;color:#fff;background:#1e7b70;box-shadow:0 4px 10px #0f483e33}.bottom-nav button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.bottom-nav button:active{transform:scale(.98)}@media(prefers-reduced-motion:reduce){.bottom-nav button{transition:none}}:root[data-theme=dark]{--color-background: #111817;--color-surface: #18201e;--color-surface-soft: #222c29;--color-surface-strong: #2a3632;--color-primary: #9bcdbd;--color-primary-strong: #c3e7da;--color-primary-soft: #203b34;--color-success: #78d4af;--color-success-soft: #193d31;--color-danger: #f1a59b;--color-danger-soft: #4a2825;--color-text: #f4f7f4;--color-text-muted: #adb9b3;--color-border: rgba(235, 245, 240, .16);--color-border-muted: rgba(235, 245, 240, .1);--color-border-strong: rgba(235, 245, 240, .22);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .22);--shadow-soft: 0 1px 2px rgba(0, 0, 0, .2), 0 16px 42px rgba(0, 0, 0, .18)}:root[data-theme=dark] body,:root[data-theme=dark] .login-page{background:var(--color-background)}:root[data-theme=dark] input,:root[data-theme=dark] .search,:root[data-theme=dark] .content,:root[data-theme=dark] .bottom-nav,:root[data-theme=dark] .sheet,:root[data-theme=dark] .dialog,:root[data-theme=dark] .form-actions{background:var(--color-surface)}:root[data-theme=dark] .transaction:hover{background:var(--color-surface-soft)}:root[data-theme=dark] .button-primary,:root[data-theme=dark] .primary{color:#10211c}:root[data-theme=dark] .icon-button{background:var(--color-surface)}@media(max-width:359px){.app-shell{padding-right:var(--space-3);padding-left:var(--space-3)}.balance-card{padding:var(--space-4)}.balance-card>strong{font-size:2rem}.button,.primary{padding:0 var(--space-3)}.segmented-control button{font-size:.66rem}.transaction{gap:var(--space-2)}.money{font-size:.75rem}}@media(min-width:700px){.app-shell{padding-right:30px;padding-left:30px}.sheet{width:min(620px,calc(100% - 48px))}.modal-backdrop{align-items:center}.floating-new{right:max(calc((100vw - 760px)/2 + 30px),30px)}.bottom-nav{border-right:1px solid var(--color-border);border-left:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 0 0}}
