:root{--color-bg:#0e1114;--color-bar:#111519;--color-surface:#161a1f;--color-surface-raised:#1d232a;--color-surface-hover:#1a1f25;--color-border:#222930;--color-border-strong:#2a323b;--color-track:#2a323b;--color-text:#e9edf1;--color-text-soft:#c9d1d9;--color-text-muted:#9aa4af;--color-text-disabled:#5c6670;--color-accent:#34d3a6;--color-accent-soft:#1f2a27;--color-warning:#f5a04a;--color-danger:#f87171;--radius-card:16px;--radius-control:10px;--font-sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0e1114;background:var(--color-bg);color:#e9edf1;color:var(--color-text);font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:14px;line-height:1.5;margin:0}button,input{font-family:inherit}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card{background:#161a1f;background:var(--color-surface);border:1px solid #222930;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-card);box-sizing:border-box;min-width:0;padding:24px}.card-title{font-size:18px;font-weight:700;margin:0}.card-subtitle{font-size:13px;margin:2px 0 0}.card-subtitle,.muted{color:#9aa4af;color:var(--color-text-muted)}.error{color:#f87171;color:var(--color-danger)}.btn{align-items:center;background:#0000;border:1px solid #2a323b;border:1px solid var(--color-border-strong);border-radius:10px;border-radius:var(--radius-control);color:#e9edf1;color:var(--color-text);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;height:44px;padding:0 16px;text-decoration:none}.btn:hover:not(:disabled){background:#1d232a;background:var(--color-surface-raised)}.btn:disabled{border-color:#222930;border-color:var(--color-border);color:#5c6670;color:var(--color-text-disabled);cursor:default}.btn-primary{background:#34d3a6;background:var(--color-accent);border:none;color:#0e1114;color:var(--color-bg);font-weight:700}.btn-primary:hover:not(:disabled){background:#5ce0ba}.btn:focus-visible,a:focus-visible{outline:2px solid #34d3a6;outline:2px solid var(--color-accent);outline-offset:2px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.LandingPage{background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;font-size:15px;line-height:1.55;min-height:100vh}.LandingPage-footer,.LandingPage-header,.LandingPage-main{box-sizing:border-box;margin:0 auto;max-width:1240px;padding-left:24px;padding-right:24px;width:100%}.LandingPage-header{align-items:center;display:flex;gap:16px;justify-content:space-between;padding-bottom:24px;padding-top:24px}.LandingPage .brand{align-items:center;display:flex;gap:10px}.LandingPage .brand-mark{border-radius:9px;display:block;height:36px;object-fit:cover;width:36px}.LandingPage-main{align-items:center;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:56px;padding-bottom:64px;padding-top:48px}.LandingPage-copy{align-items:flex-start;display:flex;flex:1 1 440px;flex-direction:column;gap:24px;min-width:0}.LandingPage-eyebrow{background:var(--color-accent-soft);border-radius:999px;color:var(--color-accent);font-size:13px;font-weight:600;padding:6px 12px}.LandingPage-copy h1{font-size:clamp(36px,6vw,56px);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:0}.LandingPage-lede{color:var(--color-text-muted);font-size:18px;margin:0;max-width:520px}.LandingPage-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px 20px}.LandingPage-button{border-radius:12px;font-size:16px;height:52px;padding:0 28px}.LandingPage-secure{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:14px;gap:8px}.LandingPage-features{color:var(--color-text-soft);display:flex;flex-wrap:wrap;font-size:14px;gap:12px 28px;list-style:none;margin:8px 0 0;padding:0}.LandingPage-features li{align-items:center;display:flex;gap:8px}.LandingPage-features svg{color:var(--color-accent)}.LandingPage-preview{background:#12161a;border:1px solid var(--color-border);border-radius:20px;box-shadow:0 30px 80px #00000073;flex:1 1 420px;flex-direction:column;min-width:0;padding:20px}.LandingPage-preview,.preview-row{display:flex;gap:14px}.preview-row .preview-card{flex:1 1}.preview-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:16px 18px}.preview-label{color:var(--color-text-muted);font-size:13px}.preview-title{font-size:14px;font-weight:700}.preview-skeleton{background:var(--color-border-strong);border-radius:6px;height:18px;width:60%}.preview-skeleton-lg{height:32px;width:55%}.preview-skeleton-sm{background:var(--color-border);height:10px;width:40%}.preview-allocation{gap:12px}.preview-bar{height:20px;position:relative}.preview-bar-target{background:var(--color-track);border-radius:5px;bottom:0;left:0;position:absolute;top:0}.preview-bar-actual{background:var(--color-accent);border-radius:4px;height:8px;left:0;position:absolute;top:6px}.preview-bar-actual.is-under{background:var(--color-warning)}.LandingPage-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:13px;padding-bottom:24px;padding-top:24px}.dashboard{background:var(--color-bg);color:var(--color-text);min-height:100vh}.dashboard-topbar{background:var(--color-bar);border-bottom:1px solid var(--color-border)}.dashboard-topbar-inner{flex-wrap:wrap;gap:16px 32px;margin:0 auto;max-width:1320px;padding:14px 24px}.brand,.dashboard-topbar-inner{align-items:center;display:flex}.brand{gap:10px}.brand-mark{border-radius:9px;display:block;height:36px;object-fit:cover;width:36px}.dashboard-nav{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:4px}.dashboard-nav a{border-radius:8px;color:var(--color-text-muted);font-weight:500;padding:8px 14px;text-decoration:none}.dashboard-nav a:hover{color:var(--color-text)}.dashboard-nav a.active{background:var(--color-surface-raised);color:var(--color-text);font-weight:600}.dashboard-user{gap:12px}.avatar,.dashboard-user{align-items:center;display:flex}.avatar{background:var(--color-border-strong);border-radius:50%;font-size:13px;font-weight:700;height:36px;justify-content:center;width:36px}.dashboard-main{display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:1320px;padding:32px 24px 64px}.dashboard-heading{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.dashboard-heading h1{font-size:30px;font-weight:800;letter-spacing:-.02em;margin:0}.dashboard-heading p{margin:4px 0 0}.dashboard-row{align-items:stretch;display:flex;flex-wrap:wrap;gap:24px}.dashboard-col-wide{display:flex;flex:2 1 560px;flex-direction:column;min-width:0}.dashboard-col-narrow{display:flex;flex:1 1 380px;flex-direction:column;min-width:0}.dashboard-col-narrow>.card,.dashboard-col-wide>.card{flex:1 1 auto}.section-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.account-list{contain:size;display:flex;flex:1 1;flex-direction:column;gap:4px;list-style:none;margin:0;min-height:240px;overflow-y:auto;overscroll-behavior:contain;padding:0;scrollbar-color:var(--color-border-strong) #0000;scrollbar-width:thin}.account-list::-webkit-scrollbar{width:8px}.account-list::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}.account-list:focus-visible{border-radius:10px;outline:2px solid var(--color-accent);outline-offset:4px}@media (max-width:1011px){.account-list{contain:none;flex:none;max-height:400px;min-height:0}}#accounts,#allocation,#overview,#spending,#transactions{scroll-margin-top:16px}.overview-stat-card{display:flex;flex-wrap:wrap;gap:16px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-sizing:border-box;display:flex;flex:1 1 220px;flex-direction:column;gap:6px;min-width:0;padding:22px 24px}.stat-card-hero{flex:1.5 1 320px}.stat-card-header{align-items:center;display:flex;justify-content:space-between}.stat-label{color:var(--color-text-muted);font-weight:500}.stat-badge{background:var(--color-accent-soft);border-radius:999px;color:var(--color-accent);font-size:12px;font-weight:600;padding:3px 8px}.stat-value{font-size:28px;font-weight:700;letter-spacing:-.01em;line-height:1.2}.stat-value-hero{font-size:40px;font-weight:800;letter-spacing:-.02em;line-height:1.15}.stat-meta{color:var(--color-text-muted);font-size:13px}.account-card{align-items:center;border-radius:10px;display:flex;gap:12px;padding:10px 8px}.account-card:hover{background:var(--color-surface-hover)}.account-logo{background:var(--color-border);border-radius:10px;flex:none;height:38px;object-fit:cover;width:38px}.account-logo-fallback{align-items:center;color:var(--color-text-soft);display:flex;font-size:12px;font-weight:700;justify-content:center}.account-detail{flex:1 1 auto;min-width:0}.account-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-meta{color:var(--color-text-muted);font-size:12px;text-transform:capitalize}.account-balance{font-weight:600;text-align:right;white-space:nowrap}.account-currency{color:var(--color-text-muted);font-size:12px;font-weight:500;margin-right:4px}.transaction-table-scroll{margin:0 -8px;overflow-x:auto}.transaction-table{border-collapse:collapse;min-width:760px;width:100%}.transaction-header{color:var(--color-text-muted);font-size:12px;font-weight:600;letter-spacing:.06em;padding:10px 8px;text-align:left;text-transform:uppercase}.transaction-sort-button{align-items:center;background:none;border:none;color:var(--color-text);cursor:pointer;display:inline-flex;font:inherit;gap:4px;letter-spacing:inherit;padding:0;text-transform:inherit}.transaction-sort-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.transaction-row{border-top:1px solid var(--color-border)}.transaction-row:hover{background:var(--color-surface-hover)}.transaction-cell{font-weight:500;padding:12px 8px}.transaction-col-date{color:var(--color-text-muted);font-size:13px;font-weight:400;white-space:nowrap}.transaction-col-amount{font-weight:600;text-align:right;white-space:nowrap}th.transaction-col-amount{font-weight:600}.transaction-col-amount .is-credit{color:var(--color-accent)}.transaction-chip{background:var(--color-surface-raised);border-radius:999px;display:inline-block;font-size:13px;padding:3px 10px;white-space:nowrap}.transaction-bank{align-items:center;display:inline-flex;font-size:13px;gap:8px;white-space:nowrap}.transaction-bank-logo{background:var(--color-border);border-radius:7px;height:26px;object-fit:cover;width:26px}.transaction-bank-fallback{align-items:center;color:var(--color-text-soft);display:inline-flex;font-size:10px;font-weight:700;justify-content:center}.pagination{align-items:center;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:12px;justify-content:space-between;margin-top:16px}.pagination-controls{align-items:center;display:flex;gap:8px}.pagination-page{color:var(--color-text);font-weight:600;padding:0 8px}.category-body{align-items:center;display:flex;flex-wrap:wrap;gap:24px}.donut{flex:none;height:200px;margin:0 auto;position:relative;width:200px}.donut-slice{cursor:pointer;transition:opacity .2s ease}.donut-center{align-items:center;display:flex;flex-direction:column;font-size:12px;inset:0;justify-content:center;pointer-events:none;position:absolute}.donut-total{font-size:24px;font-weight:800}.category-legend{display:flex;flex:1 1 200px;flex-direction:column;gap:2px;list-style:none;margin:0;min-width:0;padding:0}.category-option{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font-size:14px;gap:10px;min-height:40px;padding:0 10px;text-align:left;width:100%}.category-option:hover{background:var(--color-surface-hover)}.category-option.is-selected{background:var(--color-surface-raised);border-color:#343d48}.category-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.category-dot{border-radius:50%;flex:none;height:10px;width:10px}.category-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-share{color:var(--color-text-muted);flex:none;font-size:12px}.category-amount{flex:none;font-weight:600;min-width:64px;text-align:right;white-space:nowrap}.transaction-list-total{background:var(--color-surface-raised);border-radius:999px;font-size:13px;font-weight:600;padding:4px 10px;white-space:nowrap}.transaction-status{font-size:13px;font-weight:600;margin:0 0 12px}.transaction-status.is-success{color:var(--color-accent)}.transaction-status.is-error{color:var(--color-danger)}.transaction-list-items{list-style:none;margin:0;padding:0}.transaction-item{border-top:1px solid var(--color-border);padding:10px 0}.transaction-item-grid{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:72px minmax(0,1fr) auto 44px}.transaction-item-date{color:var(--color-text-muted);font-size:13px}.transaction-item-description{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-item-amount{font-weight:600;white-space:nowrap}.transaction-item-amount.is-credit{color:var(--color-accent)}.transaction-link-button{align-items:center;background:#0000;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);cursor:pointer;display:flex;height:44px;justify-content:center;width:44px}.transaction-link-button:hover{background:var(--color-surface-raised)}.transaction-link-button.is-open{border-color:var(--color-accent)}.transaction-link-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.related-transactions{display:flex;flex-direction:column;gap:6px;list-style:none;margin:8px 0 0 84px;padding:0}.related-transaction-item{align-items:center;color:var(--color-text-muted);display:flex;font-size:13px;gap:8px}.related-transaction-amount{color:var(--color-accent);font-weight:600}.transaction-dropdown{margin:10px 0 4px 84px}@media (max-width:520px){.transaction-item-grid{grid-template-columns:minmax(0,1fr) auto 44px}.transaction-item-date{grid-column:1/-1}.related-transactions,.transaction-dropdown{margin-left:0}}.credit-transaction-dropdown{background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:12px;box-shadow:0 12px 32px #00000059;padding:8px}.credit-transaction-heading{color:var(--color-text-muted);font-size:12px;font-weight:600;letter-spacing:.06em;padding:6px 8px 8px;text-transform:uppercase}.credit-transaction-list{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;max-height:260px;overflow-y:auto;padding:0}.credit-transaction-item{grid-gap:12px;align-items:center;background:#232a32;border:none;border-radius:8px;color:var(--color-text);cursor:pointer;display:grid;font-size:13px;gap:12px;grid-template-columns:64px minmax(0,1fr) auto;min-height:44px;padding:0 8px;text-align:left;width:100%}.credit-transaction-item:hover{background:var(--color-border-strong)}.credit-transaction-item:focus-visible,.credit-transaction-more:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.credit-transaction-date{color:var(--color-text-muted)}.credit-transaction-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.credit-transaction-amount{color:var(--color-accent);font-weight:600}.credit-transaction-footer{color:var(--color-text-muted);font-size:12px;padding:8px 8px 2px}.credit-transaction-more{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:12px;font-weight:600;padding:4px 0}.allocation-legend{color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:16px}.allocation-legend>span{align-items:center;display:inline-flex;gap:6px}.legend-swatch{border-radius:3px;height:12px;width:12px}.legend-target{background:#343d48}.legend-over{background:var(--color-accent)}.legend-under{background:var(--color-warning)}.allocation-rows{display:flex;flex-direction:column;gap:18px;list-style:none;margin:4px 0 0;padding:0}.allocation-row{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:120px minmax(0,1fr) 140px}.allocation-class{font-weight:600}.allocation-share{color:var(--color-text-muted);font-size:12px}.allocation-bar{height:30px;position:relative}.allocation-bar-target{background:var(--color-track);border-radius:6px;height:30px;left:0;position:absolute;top:0}.allocation-bar-actual{border-radius:5px;height:10px;left:0;position:absolute;top:10px;transition:width .4s ease}.allocation-bar-actual.is-over{background:var(--color-accent)}.allocation-bar-actual.is-under{background:var(--color-warning)}.allocation-values{text-align:right}.allocation-actual{font-weight:600}.allocation-diff{font-size:12px}.allocation-diff.is-over{color:var(--color-accent)}.allocation-diff.is-under{color:var(--color-warning)}@media (max-width:520px){.allocation-row{gap:6px 12px;grid-template-columns:minmax(0,1fr) auto}.allocation-bar{grid-column:1/-1;grid-row:2}}
/*# sourceMappingURL=main.967fb545.css.map*/