.lp{min-height:100vh;min-height:100dvh;color:var(--text-primary)}.lp-container{width:100%;max-width:1120px;margin:0 auto;padding-inline:24px}.lp-header{position:sticky;top:0;z-index:20;background:var(--glass-bg-strong);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--border-color)}.lp-header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.lp-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--text-primary);text-decoration:none}.lp-brand-logo{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-sm);color:#fff;background:var(--gradient-brand);box-shadow:var(--shadow-accent)}.lp-brand-tld{color:var(--accent)}.lp-nav{display:flex;align-items:center;gap:8px}.lp-nav-link{padding:9px 16px;border-radius:var(--radius-pill);font-weight:600;font-size:15px;color:var(--text-secondary);text-decoration:none}.lp-nav-link:hover{color:var(--text-primary);background:var(--bg-tertiary)}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-pill);font-weight:500;font-size:15px;text-decoration:none;cursor:pointer;transition:transform .05s ease,filter .15s ease,background .15s ease,box-shadow .15s ease;white-space:nowrap}.lp-btn:active{transform:translateY(1px)}.lp-btn-primary{color:#fff;text-shadow:var(--shadow-label-on-gradient);background-image:var(--sheen),var(--gradient-primary);padding:12px 24px;box-shadow:var(--shadow-accent),inset 0 1px #ffffff59;transition:box-shadow .3s ease,transform .12s ease,--sheen-alpha .3s ease}.lp-btn-primary:hover{box-shadow:var(--shadow-warm),inset 0 1px #ffffff73;transform:translateY(-1px)}.lp-btn-header{padding:9px 18px}.lp-btn-secondary{color:var(--text-secondary);background:var(--glass-bg-strong);border:1px solid var(--glass-border);padding:12px 24px;box-shadow:var(--shadow-md);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.lp-btn-secondary:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--glass-border-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.lp-btn-lg{font-size:16px;padding:14px 28px}.lp-hero{position:relative;overflow:hidden;padding:72px 0 clamp(96px,11vw,170px);background:radial-gradient(circle at 85% -10%,rgba(176,119,255,.18),transparent 45%),radial-gradient(circle at 0% 110%,rgba(102,119,255,.16),transparent 45%)}.lp-hero-inner{max-width:760px}.lp-eyebrow{margin:0 0 16px;font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.lp-title{margin:0 0 20px;font-family:var(--font-display);font-size:clamp(34px,6vw,58px);line-height:1.08;font-weight:700;letter-spacing:-.02em}.lp-title-accent{background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}.lp-subtitle{margin:0 0 32px;font-size:clamp(16px,2.2vw,20px);line-height:1.6;color:var(--text-secondary);max-width:620px}.lp-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.lp-hero-badges{display:flex;flex-wrap:wrap;gap:10px 22px;margin:32px 0 0;padding:0;list-style:none;color:var(--text-muted);font-size:15px}.lp-hero-badges li{display:inline-flex;align-items:center;gap:8px}.lp-hero-badges li:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--success)}.lp-section{padding:72px 0}.lp-section-alt{background:var(--glass-bg)}.lp-section-title{margin:0 0 40px;font-family:var(--font-display);font-size:clamp(26px,4vw,36px);font-weight:600;letter-spacing:-.01em;text-align:center}.lp-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.lp-feature{padding:28px;border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));transition:transform .15s ease,box-shadow .15s ease}.lp-section-alt .lp-feature{background:var(--glass-bg-strong)}.lp-feature:hover{transform:translateY(-3px);border-color:var(--glass-border-hover);box-shadow:var(--shadow-accent)}.lp-feature,.lp-step{position:relative;overflow:hidden}.lp-feature:after,.lp-step:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(260px circle at var(--glow-x, 50%) var(--glow-y, 50%),var(--glow-tint),transparent 72%)}.lp-feature:hover:after,.lp-step:hover:after{opacity:1}.lp-feature>*,.lp-step>*{position:relative;z-index:1}.lp-step{transition:transform .15s ease,box-shadow .25s ease,border-color .25s ease}.lp-step:hover{transform:translateY(-3px);border-color:var(--glass-border-hover);box-shadow:var(--shadow-accent)}.lp-feature-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:16px;border-radius:var(--radius-sm);color:var(--accent);background:var(--glass-bg-strong);box-shadow:var(--shadow-md)}.lp-feature-title{margin:0 0 8px;font-family:var(--font-display);font-size:19px;font-weight:600}.lp-feature-text{margin:0;font-size:15px;line-height:1.6;color:var(--text-secondary)}.lp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:0;padding:0;list-style:none;counter-reset:step}.lp-step{position:relative;padding:28px;border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.lp-section-alt .lp-step{background:var(--glass-bg-strong)}.lp-step-num{display:grid;place-items:center;width:40px;height:40px;margin-bottom:16px;border-radius:50%;font-weight:700;font-size:18px;color:#fff;background:var(--gradient-brand);box-shadow:var(--shadow-accent)}.lp-step-title{margin:0 0 8px;font-family:var(--font-display);font-size:19px;font-weight:600}.lp-step-text{margin:0;font-size:15px;line-height:1.6;color:var(--text-secondary)}.lp-cta{padding:80px 0}.lp-cta-inner{max-width:720px;margin:0 auto;padding:56px 32px;text-align:center;border-radius:var(--radius-xl);color:#fff;background:var(--gradient-panel);box-shadow:var(--shadow-accent)}.lp-cta-title{margin:0 0 12px;font-family:var(--font-display);font-size:clamp(24px,4vw,34px);font-weight:700}.lp-cta-inner :is(h1,h2,h3,h4){color:inherit}.lp-cta-text{margin:0 0 28px;font-size:17px;line-height:1.55;opacity:.92}.lp-cta .lp-hero-actions{justify-content:center}.lp-cta .lp-btn-primary{color:var(--accent);background:#fff;box-shadow:none;filter:none}.lp-cta .lp-btn-primary:hover{background:#ffffffe6;filter:none}.lp-cta .lp-btn-secondary{color:#fff;background:#ffffff24;border-color:#fff6;box-shadow:none}.lp-cta .lp-btn-secondary:hover{background:#ffffff38}.lp-footer{padding:28px 0;border-top:1px solid var(--border-color);background:var(--glass-bg)}.lp-footer-inner{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;font-size:14px;color:var(--text-muted)}.lp-footer-nav{display:flex;gap:20px}.lp-footer-nav a{color:var(--text-secondary);text-decoration:none;font-weight:500}.lp-footer-nav a:hover{color:var(--accent)}.lp-footer-legal{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-color);font-size:13px}.lp-footer-legal .lp-footer-nav a{font-weight:400;font-size:13px}@media (max-width: 600px){.lp-hero{padding:48px 0 136px}.lp-section,.lp-cta{padding:52px 0}.lp-btn-lg{width:100%}}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-latin-400-normal-BqEyEoaF.woff2) format("woff2"),url(/assets/roboto-latin-400-normal-D27F5sTu.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-latin-500-normal-7RbcRiD8.woff2) format("woff2"),url(/assets/roboto-latin-500-normal-fsTFPL3E.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/roboto-latin-700-normal-BZpUvMxY.woff2) format("woff2"),url(/assets/roboto-latin-700-normal-YuyVweIx.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-cyrillic-400-normal-CBPI_iaY.woff2) format("woff2"),url(/assets/roboto-cyrillic-400-normal-BepgbcUK.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-cyrillic-500-normal-CLao9AfR.woff2) format("woff2"),url(/assets/roboto-cyrillic-500-normal-C8ZOEKN4.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/roboto-cyrillic-700-normal-C2o7G-SM.woff2) format("woff2"),url(/assets/roboto-cyrillic-700-normal-D8g9KsRf.woff) format("woff")}:root{--brand-yellow: #ffd15a;--brand-orange: #ff8a55;--brand-cream: #fff6df;--brand-lavender: #c8c9ff;--brand-blue: #5796f5;--brand-green: #54db90;--brand-navy: #222b7d;--brand-indigo: #6677ff;--brand-violet: #b077ff;--brand-gold: #ffd66b;--brand-mint: #4fca9c;--brand-aqua: #a0e6dd;--brand-ink: #2937ff;--font-body: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-display: "J Audio Cassette", var(--font-body);--font-mono: ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;--text-h1: 1.875rem;--text-h2: 1.25rem;--text-body: .9375rem;--text-label: .8125rem;--text-small: .6875rem;--text-micro: .625rem;--leading-tight: 1.25;--bg-primary: #f7f5fb;--bg-secondary: rgba(255, 255, 255, .55);--bg-tertiary: rgba(255, 255, 255, .38);--hover-bg: rgba(255, 255, 255, .72);--input-bg: rgba(255, 255, 255, .62);--surface-solid: #ffffff;--surface-solid-muted: #f4f2f9;--glass-bg: rgba(255, 255, 255, .55);--glass-bg-strong: rgba(255, 255, 255, .62);--glass-border: rgba(255, 255, 255, .7);--glass-border-hover: rgba(255, 255, 255, .95);--glow-tint: rgba(255, 236, 205, .55);--glass-blur: 12px;--text-primary: #101a33;--text-secondary: #596176;--text-muted: #676e84;--text-light: #767c90;--border-color: rgba(227, 225, 235, .72);--border-light: rgba(227, 225, 235, .45);--shadow-sm: 0 6px 16px -8px rgba(89, 96, 122, .16);--shadow-md: 0 12px 28px -8px rgba(89, 96, 122, .12);--shadow-lg: 0 18px 38px -10px rgba(110, 106, 144, .12);--shadow-accent: 0 12px 28px -8px rgba(89, 96, 122, .2);--shadow-letterpress: 0 1px 0 #ffffff;--shadow-label-on-gradient: 0 -1px 0 rgba(52, 54, 160, .3);--accent: #2937ff;--accent-hover: #1b25c7;--accent-soft: rgba(231, 231, 255, .95);--accent-contrast: #ffffff;--success: #157c49;--success-soft: rgba(223, 242, 232, .85);--danger: #ca3124;--danger-soft: rgba(255, 233, 230, .9);--warning: #b85008;--warning-soft: rgba(255, 243, 205, .95);--info: #2f6fd0;--info-soft: rgba(228, 238, 253, .95);--gradient-primary: linear-gradient(90deg, #6677ff 0%, #b077ff 55%, #ffd66b 100%);--gradient-success: linear-gradient(90deg, #4fca9c 0%, #ffd66b 100%);--sheen-core: rgba(255, 255, 255, .42);--sheen-mid: rgba(255, 255, 255, .16);--gradient-brand: linear-gradient(135deg, #6677ff 0%, #b077ff 55%, #ffd66b 100%);--gradient-text: linear-gradient(120deg, #2937ff 0%, #6677ff 100%);--gradient-panel: linear-gradient(120deg, #3b48f0 0%, #6b52e8 55%, #8a4fd8 100%);--shadow-warm: 0 10px 30px -6px rgba(255, 170, 90, .45), 0 4px 14px -4px rgba(102, 119, 255, .4);--gradient-income: linear-gradient(90deg, #54db90 0%, #a0e6dd 100%);--gradient-expense: linear-gradient(90deg, #ff8a55 0%, #ffd15a 100%);--gradient-budget: linear-gradient(90deg, #2937ff 0%, #dce2ff 100%);--gradient-chart: linear-gradient(90deg, #54db90 0%, #ffd25d 50%, #2937ff 100%);--progress-track: #eae7f0;--tint-expense: radial-gradient(120% 140% at 100% 0%, rgba(255, 138, 85, .28) 0%, transparent 70%);--tint-income: radial-gradient(120% 140% at 100% 0%, rgba(84, 219, 144, .28) 0%, transparent 70%);--tint-accent: radial-gradient(120% 140% at 100% 0%, rgba(102, 119, 255, .22) 0%, transparent 70%);--pill-income-bg: rgba(223, 242, 232, .85);--pill-income-fg: #157c49;--pill-expense-bg: rgba(255, 233, 230, .9);--pill-expense-fg: #ca3124;--pill-plan-bg: rgba(231, 231, 255, .95);--pill-plan-fg: #2937ff;--pill-important-bg: rgba(255, 243, 205, .95);--pill-important-fg: #b85008;--pill-neutral-bg: rgba(255, 255, 255, .62);--pill-neutral-fg: #596176;--px: 0px;--py: 0px;--page-gradient: linear-gradient(160deg, #fff3df 0%, #f9f7ff 42%, #eaf0ff 100%);--page-glow-1: radial-gradient(46% 40% at calc(12% + var(--px) * .6) calc(8% + var(--py) * .6), rgba(213, 223, 255, .85) 0%, transparent 100%);--page-glow-2: radial-gradient(52% 46% at calc(88% + var(--px) * .9) calc(14% + var(--py) * .9), rgba(157, 178, 255, .34) 0%, rgba(217, 226, 255, .15) 60%, transparent 100%);--page-glow-3: radial-gradient(44% 42% at calc(78% + var(--px) * .7) calc(76% + var(--py) * .7), rgba(185, 176, 255, .26) 0%, rgba(245, 210, 255, .14) 60%, transparent 100%);--page-glow-4: radial-gradient(40% 38% at calc(22% + var(--px) * 1.8) calc(88% + var(--py) * 1.8), rgba(255, 221, 212, .6) 0%, rgba(247, 196, 216, .12) 65%, transparent 100%);--page-glow-5: radial-gradient(48% 44% at calc(58% + var(--px) * 1.4) calc(40% + var(--py) * 1.4), rgba(255, 241, 204, .55) 0%, transparent 100%);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 25px;--radius-pill: 100px}:root.dark{--bg-primary: #0f172a;--bg-secondary: rgba(30, 41, 59, .72);--bg-tertiary: rgba(39, 52, 74, .62);--hover-bg: rgba(43, 57, 80, .85);--input-bg: rgba(22, 33, 58, .8);--surface-solid: #1e293b;--surface-solid-muted: #27344a;--glass-bg: rgba(30, 41, 59, .72);--glass-bg-strong: rgba(30, 41, 59, .85);--glass-border: rgba(148, 163, 184, .16);--glass-border-hover: rgba(148, 163, 184, .38);--glow-tint: rgba(129, 140, 248, .22);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-light: #64748b;--border-color: rgba(46, 61, 84, .9);--border-light: rgba(36, 49, 73, .9);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .5);--shadow-accent: 0 12px 28px -8px rgba(0, 0, 0, .55);--shadow-letterpress: none;--shadow-label-on-gradient: 0 -1px 0 rgba(0, 0, 0, .35);--accent: #818cf8;--accent-hover: #a5b4fc;--accent-soft: rgba(99, 102, 241, .16);--accent-contrast: #0f172a;--success: #34d399;--success-soft: rgba(16, 185, 129, .14);--danger: #f87171;--danger-soft: rgba(239, 68, 68, .14);--warning: #fbbf24;--warning-soft: rgba(245, 158, 11, .14);--info: #38bdf8;--info-soft: rgba(14, 165, 233, .14);--gradient-income: linear-gradient(90deg, #34d399 0%, #a0e6dd 100%);--gradient-expense: linear-gradient(90deg, #fb923c 0%, #fbbf24 100%);--gradient-budget: linear-gradient(90deg, #818cf8 0%, #3b4a7a 100%);--gradient-chart: linear-gradient(90deg, #34d399 0%, #fbbf24 50%, #818cf8 100%);--progress-track: rgba(148, 163, 184, .22);--tint-expense: radial-gradient(120% 140% at 100% 0%, rgba(251, 146, 60, .18) 0%, transparent 70%);--tint-income: radial-gradient(120% 140% at 100% 0%, rgba(52, 211, 153, .18) 0%, transparent 70%);--tint-accent: radial-gradient(120% 140% at 100% 0%, rgba(129, 140, 248, .18) 0%, transparent 70%);--pill-income-bg: rgba(16, 185, 129, .16);--pill-income-fg: #34d399;--pill-expense-bg: rgba(239, 68, 68, .16);--pill-expense-fg: #f87171;--pill-plan-bg: rgba(99, 102, 241, .18);--pill-plan-fg: #a5b4fc;--pill-important-bg: rgba(245, 158, 11, .16);--pill-important-fg: #fbbf24;--pill-neutral-bg: rgba(148, 163, 184, .14);--pill-neutral-fg: #94a3b8;--page-gradient: linear-gradient(160deg, #131c33 0%, #0f172a 45%, #131a30 100%);--page-glow-1: radial-gradient(46% 40% at 12% 8%, rgba(99, 102, 241, .16) 0%, transparent 100%);--page-glow-2: radial-gradient(52% 46% at 88% 14%, rgba(56, 189, 248, .1) 0%, transparent 100%);--page-glow-3: radial-gradient(44% 42% at 78% 76%, rgba(167, 139, 250, .12) 0%, transparent 100%);--page-glow-4: radial-gradient(40% 38% at 22% 88%, rgba(251, 146, 60, .08) 0%, transparent 100%);--page-glow-5: radial-gradient(48% 44% at 58% 40%, rgba(52, 211, 153, .07) 0%, transparent 100%)}@media (prefers-reduced-transparency: reduce){:root{--glass-bg: #ffffff;--glass-bg-strong: #ffffff;--bg-secondary: #ffffff;--glass-blur: 0px}:root.dark{--glass-bg: #1e293b;--glass-bg-strong: #1e293b;--bg-secondary: #1e293b}}.decor{position:relative;overflow:hidden}.decor:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:var(--decor-tint, var(--gradient-brand));opacity:var(--decor-alpha, .18);-webkit-mask-image:var(--decor-shape);mask-image:var(--decor-shape);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:var(--decor-pos, bottom right);mask-position:var(--decor-pos, bottom right);-webkit-mask-size:var(--decor-size, 60% auto);mask-size:var(--decor-size, 60% auto)}.decor>*{position:relative;z-index:1}@supports not ((-webkit-mask-image: none) or (mask-image: none)){.decor:before{display:none}}.decor-sweep{--decor-shape: url(/decor/sweep.svg);--decor-pos: bottom right;--decor-size: 72% auto}.decor-sweep-left{--decor-shape: url(/decor/sweep-left.svg);--decor-pos: bottom left;--decor-size: 72% auto}.decor-blob{--decor-shape: url(/decor/blob.svg);--decor-pos: top right;--decor-size: 42% auto}.decor-drop{--decor-shape: url(/decor/drop.svg);--decor-pos: bottom right;--decor-size: 46% auto}.decor-ridge{--decor-shape: url(/decor/ridge.svg);--decor-pos: bottom center;--decor-size: 100% 46%}.decor-arc{--decor-shape: url(/decor/arc.svg);--decor-pos: bottom center;--decor-size: 100% 52%}.decor-hero{position:relative;overflow:hidden}.decor-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:0;height:clamp(120px,17vw,240px);pointer-events:none;background-image:url(/decor/hero-waves.svg);background-repeat:no-repeat;background-position:bottom center;background-size:cover}.decor-hero>*{position:relative;z-index:1}:root.dark .decor-hero:after{opacity:.4}.decor-warm{--decor-tint: var(--gradient-expense)}.decor-green{--decor-tint: var(--gradient-income)}.decor-blue{--decor-tint: linear-gradient(120deg, #6677ff, #c8c9ff)}.decor-violet{--decor-tint: linear-gradient(120deg, #b077ff, #e4e3ff)}.decor-white{--decor-tint: linear-gradient(200deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .25));--decor-alpha: 1}:root.dark .decor:before{opacity:calc(var(--decor-alpha, .18) * .55)}@media (prefers-reduced-transparency: reduce){.decor:before{display:none}}.dashboard-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px;align-items:start}@media (max-width: 980px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-col{display:flex;flex-direction:column;gap:16px;min-width:0}.dashboard-col .card+.card{margin-top:0}.chart-card .recharts-wrapper{font-size:.75rem}.chart-empty{height:220px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.88rem}.mini-tx-list{display:flex;flex-direction:column}.mini-tx-row{display:flex;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid var(--border-light)}.mini-tx-row:last-child{border-bottom:none}.mini-tx-icon{width:34px;height:34px;border-radius:10px;background:var(--bg-tertiary);color:var(--text-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0}.mini-tx-main{flex:1;min-width:0}.mini-tx-title{font-size:.88rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-tx-sub{font-size:.76rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-tx-amount{font-size:.88rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.snapshot-row{padding:10px 2px;border-bottom:1px solid var(--border-light)}.snapshot-row:last-child{border-bottom:none}.snapshot-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px}.snapshot-name{font-size:.87rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snapshot-value{font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.compare-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:9px 2px;border-bottom:1px solid var(--border-light);align-items:center}.compare-row:last-child{border-bottom:none}.compare-name{font-size:.86rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-values{display:flex;align-items:center;gap:8px;font-size:.8rem;font-variant-numeric:tabular-nums}.compare-you{font-weight:600;color:var(--text-primary)}.compare-median{color:var(--text-muted)}.compare-delta{display:inline-flex;align-items:center;gap:3px;font-weight:600}.compare-delta.higher{color:var(--danger)}.compare-delta.lower{color:var(--success)}.upload-area{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:28px 20px;text-align:center;background:var(--glass-bg);transition:border-color .2s ease,background .2s ease}.upload-area.drag-over{border-color:var(--accent);background:var(--accent-soft)}.upload-label{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.upload-icon-wrap{width:52px;height:52px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.upload-text{font-weight:500;color:var(--text-primary);font-size:.95rem}.upload-hint{font-size:.8rem;color:var(--text-muted)}.upload-files{margin-top:16px;display:flex;flex-direction:column;gap:8px;text-align:left}.upload-file-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);font-size:.86rem}.upload-file-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.upload-file-size{color:var(--text-muted);font-size:.78rem;white-space:nowrap}.upload-actions{display:flex;justify-content:center;gap:10px;margin-top:16px}.upload-progress{margin-top:16px}.upload-progress .progress-track{height:10px}.upload-progress-status{margin-top:8px;font-size:.85rem;color:var(--text-muted)}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.document-card{padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .15s ease}.document-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.doc-head{display:flex;align-items:flex-start;gap:10px}.doc-file-icon{width:38px;height:38px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.doc-title{flex:1;min-width:0}.doc-name{font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-meta{font-size:.76rem;color:var(--text-muted);margin-top:2px}.doc-details{display:flex;flex-direction:column;gap:5px;font-size:.82rem}.doc-detail-row{display:flex;justify-content:space-between;gap:10px}.doc-detail-label{color:var(--text-muted)}.doc-detail-value{color:var(--text-secondary);font-weight:500;text-align:right}.doc-error{display:flex;gap:8px;align-items:flex-start;padding:9px 11px;background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);font-size:.8rem;line-height:1.45;word-break:break-word}.doc-card-footer{margin-top:auto;display:flex;justify-content:flex-end}.filters-card{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.filters-card .form-group{margin-bottom:0;min-width:140px;flex:0 1 auto}.filters-card .form-group.grow{flex:1 1 200px}.search-input-wrap{position:relative}.search-input-wrap input{padding-left:34px!important}.search-input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-light);line-height:0}.transactions-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px;align-items:start;margin-top:16px}@media (max-width: 1024px){.transactions-layout{grid-template-columns:1fr}}.tx-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.tx-toolbar-info{font-size:.84rem;color:var(--text-muted)}.tx-toolbar-buttons{display:flex;gap:8px}.merchant-cell{display:flex;flex-direction:column;min-width:0}.merchant-cell-name{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.merchant-cell-desc{font-size:.76rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 2px 0;flex-wrap:wrap}.pagination-info{font-size:.82rem;color:var(--text-muted)}.pagination-controls{display:flex;align-items:center;gap:6px}.pagination-page{font-size:.85rem;color:var(--text-secondary);padding:0 8px;font-variant-numeric:tabular-nums}.merchant-search-container{position:relative}.merchant-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;border-radius:var(--radius-sm);z-index:120;max-height:220px;overflow-y:auto;list-style:none;margin:0;padding:4px}.merchant-dropdown li{padding:8px 10px;border-radius:6px;cursor:pointer;font-size:.88rem;color:var(--text-secondary)}.merchant-dropdown li:hover{background:var(--hover-bg);color:var(--text-primary)}.merchant-dropdown .merchant-cat{font-size:.75rem;color:var(--text-muted);margin-left:6px}.merchant-search-spinner{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.cb-legend{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:6px;padding:0;list-style:none}.cb-legend-item{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-secondary);font-size:.78rem;color:var(--text-secondary);cursor:pointer;transition:border-color .15s ease,background .15s ease}.cb-legend-item:hover{background:var(--hover-bg)}.cb-legend-item.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.cb-legend-color{width:9px;height:9px;border-radius:50%;flex-shrink:0}.cb-hint{text-align:center;font-size:.78rem;color:var(--text-muted);margin-top:10px}.cb-list{margin-top:14px;display:flex;flex-direction:column}.cb-item{padding:9px 4px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease}.cb-item:hover{background:var(--hover-bg)}.cb-item.selected{background:var(--accent-soft)}.cb-item.dimmed{opacity:.45}.cb-item-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.cb-item-name{flex:1;font-size:.86rem;font-weight:500;color:var(--text-primary);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cb-item-amount{font-size:.84rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary);white-space:nowrap}.cb-item-percent{font-size:.76rem;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:44px;text-align:right}.cb-bar-track{height:6px;background:var(--bg-tertiary);border-radius:999px;overflow:hidden}.cb-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.cb-total-row{display:flex;justify-content:space-between;padding:12px 4px 2px;margin-top:8px;border-top:1px solid var(--border-color);font-size:.88rem;font-weight:600;color:var(--text-primary)}.chart-tooltip{border-radius:var(--radius-sm);padding:10px 12px;font-size:.82rem;color:var(--text-secondary);max-width:260px}.chart-tooltip-title{font-weight:600;color:var(--text-primary);margin-bottom:4px}.chart-tooltip-value{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.chart-tooltip-row{display:flex;justify-content:space-between;gap:14px;padding:2px 0}.chart-tooltip-more{color:var(--text-muted);font-size:.76rem;margin-top:4px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.entity-card{padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .15s ease}.entity-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.entity-card.inactive{opacity:.6}.entity-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.entity-card-title{font-size:.98rem;font-weight:600;color:var(--text-primary);min-width:0;overflow-wrap:anywhere}.entity-card-sub{font-size:.8rem;color:var(--text-muted);margin-top:3px}.entity-amount-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-variant-numeric:tabular-nums}.entity-amount-main{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.entity-amount-sub{font-size:.8rem;color:var(--text-muted)}.entity-progress-meta{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-muted);margin-top:6px;font-variant-numeric:tabular-nums}.entity-card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:4px}.entity-card-actions{display:flex;gap:4px}.entity-deadline{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-muted)}.filter-tabs{display:inline-flex;background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:3px;gap:2px}.filter-tab{border:none;background:transparent;padding:6px 14px;border-radius:6px;font-size:.84rem;font-weight:500;font-family:inherit;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.filter-tab:hover{color:var(--text-primary)}.filter-tab.active{background:var(--glass-bg-strong);color:var(--text-primary);box-shadow:var(--shadow-md)}.account-number{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:.84rem;color:var(--text-muted);letter-spacing:.06em}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 900px){.profile-layout{grid-template-columns:1fr}}.profile-summary{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--border-light);margin-bottom:16px}.profile-avatar{width:54px;height:54px;border-radius:50%;background:var(--gradient-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;text-transform:uppercase;flex-shrink:0}.profile-summary-name{font-size:1.05rem;font-weight:600;color:var(--text-primary)}.profile-summary-meta{font-size:.82rem;color:var(--text-muted);margin-top:2px}.profile-privacy-card{grid-column:1 / -1}.privacy-consent-list{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.privacy-consent-item{padding:12px 14px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--glass-bg)}.privacy-consent-name{font-weight:600;font-size:.92rem;color:var(--text-primary)}.privacy-consent-status{font-size:.84rem;color:var(--text-muted);margin-top:3px;line-height:1.5}.privacy-links{font-size:.86rem;margin:0 0 20px;color:var(--text-muted)}.privacy-hint{font-size:.86rem;color:var(--text-secondary);line-height:1.55;margin:0 0 12px}.privacy-danger-zone{margin-top:24px;padding-top:16px;border-top:1px solid var(--border-light)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.info-tile{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:13px 15px}.info-tile-label{display:block;font-size:.74rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.info-tile-value{font-size:.92rem;font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.insights-net{font-weight:700;font-size:.95rem}.insights-subtitle{margin:12px 0 8px;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.findings-list{display:flex;flex-direction:column;gap:8px}.finding-row{display:flex;gap:10px;padding:8px 10px;border-radius:8px;background:var(--hover-bg)}.finding-row.severity-warning .finding-icon{color:var(--warning, #d97706)}.finding-row.severity-critical .finding-icon{color:var(--danger, #dc2626)}.finding-row.severity-info .finding-icon{color:var(--accent)}.finding-icon{flex-shrink:0;margin-top:2px}.finding-title{font-weight:600;font-size:.88rem}.finding-detail{font-size:.8rem;color:var(--text-muted);margin-top:2px}.recommendations-list{display:flex;flex-direction:column;gap:8px}.recommendation-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid var(--border-color);color:inherit;text-decoration:none;transition:border-color .15s ease,background .15s ease}.recommendation-row:hover{background:var(--hover-bg);border-color:var(--accent)}.recommendation-title{font-weight:600;font-size:.88rem}.recommendation-explanation{font-size:.8rem;color:var(--text-muted);margin-top:2px}.recommendation-arrow{margin-left:auto;color:var(--text-muted);flex-shrink:0}.plan-allowance{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.plan-allowance-value{font-size:1.6rem;font-weight:700;color:var(--accent)}.plan-allowance-label{font-size:.82rem;color:var(--text-muted)}.plan-rows{display:flex;flex-direction:column;gap:4px}.plan-row{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-muted)}.plan-row-total{margin-top:4px;padding-top:6px;border-top:1px solid var(--border-color);font-weight:600;color:var(--text-primary)}.plan-forecast{margin-top:10px;font-size:.8rem;color:var(--text-muted)}.plan-forecast.warn{color:var(--danger, #dc2626)}.plan-goal-row{display:flex;flex-direction:column;margin-bottom:6px}.plan-goal-name{font-size:.86rem;font-weight:600}.plan-goal-pace{font-size:.78rem}.recurring-list{display:flex;flex-direction:column;gap:8px}.recurring-row{display:flex;align-items:center;gap:10px}.recurring-icon{color:var(--text-muted);flex-shrink:0}.recurring-main{min-width:0;flex:1}.recurring-name{font-size:.86rem;font-weight:600;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recurring-sub{font-size:.76rem;color:var(--text-muted)}.recurring-amount{font-size:.86rem;font-weight:600;white-space:nowrap}.freshness-banner{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;margin-bottom:16px;border-radius:10px;background:var(--warning-soft, rgba(217, 119, 6, .12));color:var(--text-primary);font-size:.85rem}.freshness-banner svg{flex-shrink:0;margin-top:2px;color:var(--warning, #d97706)}.onboarding-header-side{display:flex;align-items:center;gap:8px}.onboarding-dismiss{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.onboarding-dismiss:hover{background:var(--hover-bg);color:var(--text-primary)}.onboarding-steps{display:flex;flex-direction:column;gap:4px}.onboarding-step{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;color:inherit;text-decoration:none;font-size:.86rem}.onboarding-step:hover{background:var(--hover-bg)}.onboarding-step.done{color:var(--text-muted);text-decoration:line-through}.onboarding-step.done .onboarding-step-mark{color:var(--success, #16a34a)}.onboarding-step-mark{display:inline-flex;color:var(--text-muted)}.notifications-bell,.notifications-trigger{position:relative}.notifications-badge{position:absolute;top:0;right:0;min-width:15px;height:15px;padding:0 4px;border-radius:8px;background:var(--danger, #dc2626);color:#fff;font-size:.62rem;font-weight:700;line-height:15px;text-align:center}.notifications-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:320px;max-height:420px;overflow-y:auto;z-index:60}.notifications-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border-color);font-weight:600;font-size:.88rem}.notifications-head .card-link{background:none;border:none;cursor:pointer;font-size:.8rem}.notifications-empty{padding:18px 14px;font-size:.84rem;color:var(--text-muted)}.notifications-list{display:flex;flex-direction:column}.notification-item{text-align:left;background:none;border:none;border-bottom:1px solid var(--border-color);padding:10px 14px;cursor:pointer;color:inherit}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--hover-bg)}.notification-item.unread{background:var(--accent-soft, rgba(59, 130, 246, .08))}.notification-title{font-size:.85rem;font-weight:600}.notification-message{font-size:.78rem;color:var(--text-muted);margin-top:2px}.btn-icon.reviewed{color:var(--success, #16a34a)}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:.85rem;cursor:pointer;white-space:nowrap;margin-top:22px}:root{font-family:var(--font-body);line-height:1.5;font-weight:400;color-scheme:light;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root.dark{color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{min-height:100vh}body{background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--text-body);transition:background-color .25s ease,color .25s ease}body:before,body:after{content:"";position:fixed;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:-1;pointer-events:none}body:before{background:var(--page-glow-1),var(--page-glow-2),var(--page-glow-3),var(--page-gradient);background-repeat:no-repeat;background-size:100% 100%;animation:mesh-drift-far 34s ease-in-out infinite}body:after{background:var(--page-glow-4),var(--page-glow-5);background-repeat:no-repeat;background-size:100% 100%;animation:mesh-drift-near 26s ease-in-out infinite}@keyframes mesh-drift-far{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(1.5%,-1%,0) scale(1.04)}}@keyframes mesh-drift-near{0%,to{transform:translateZ(0) scale(1.02)}50%{transform:translate3d(-2%,1.5%,0) scale(1)}}@media (prefers-reduced-motion: reduce){body:before,body:after{animation:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-primary);font-weight:600;line-height:var(--leading-tight)}.page,.lp{text-shadow:var(--shadow-letterpress)}.btn-danger,.lp-cta-inner,.badge,.brand-mark,.auth-logo,.user-avatar,.profile-avatar,.tabbar-fab,.modal-content,.user-menu-dropdown,.toast,.notifications-dropdown,.merchant-dropdown,.chart-tooltip,.action-sheet{text-shadow:none}@supports (font-variation-settings: normal){h1,h2,h3,h4{font-synthesis-weight:none}}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.page{min-height:100vh;background:transparent}.page-container{max-width:1200px;margin:0 auto;padding:24px clamp(16px,4vw,32px) 72px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:8px 0 20px}.page-header h2{font-size:1.5rem}.page-subtitle{color:var(--text-muted);font-size:.9rem;margin-top:4px}.section-title{font-size:1.05rem;font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:8px}.section-title .icon-muted{color:var(--text-muted)}.surface,.card,.stat-card,.table-wrap,.auth-card,.error-boundary-card,.document-card,.entity-card,.tx-card{position:relative;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}.surface:after,.card:after,.stat-card:after,.document-card:after,.entity-card:after,.tx-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(260px circle at var(--glow-x, 50%) var(--glow-y, 50%),var(--glow-tint),transparent 72%)}.surface:hover:after,.card:hover:after,.stat-card:hover:after,.document-card:hover:after,.entity-card:hover:after,.tx-card:hover:after{opacity:1}.surface>*,.card>*,.document-card>*,.entity-card>*,.tx-card>*{position:relative;z-index:1}.card:hover,.document-card:hover,.entity-card:hover,.stat-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--shadow-accent);transform:translateY(-2px)}.surface-solid,.modal-content,.user-menu-dropdown,.toast,.sw-update-banner,.merchant-dropdown,.chart-tooltip,.notifications-dropdown,.action-sheet{background:var(--surface-solid);border:1px solid var(--border-color);box-shadow:var(--shadow-lg)}.surface-solid,.modal-content,.user-menu-dropdown,.toast,.sw-update-banner,.notifications-dropdown{border-radius:var(--radius-lg)}.card{padding:20px}.card+.card{margin-top:16px}.card-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-header-row .section-title{margin-bottom:0}.card-link{font-size:.85rem;font-weight:500;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:1px solid transparent;border-radius:var(--radius-pill);font-size:var(--text-label);font-weight:500;font-family:inherit;cursor:pointer;transition:filter .15s ease,background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn:not(:disabled):active{transform:translateY(1px)}@property --sheen-alpha{syntax: "<number>"; inherits: false; initial-value: 0;}.btn-primary,.btn-primary-alt,.lp-btn-primary,.tabbar-fab{--sheen-alpha: 0;--sheen: radial-gradient( 130px circle at var(--glow-x, 50%) var(--glow-y, 50%), rgba(255, 255, 255, calc(var(--sheen-alpha) * .42)) 0%, rgba(255, 255, 255, calc(var(--sheen-alpha) * .16)) 42%, transparent 72% )}.btn-primary:not(:disabled):hover,.btn-primary-alt:not(:disabled):hover,.lp-btn-primary:hover,.tabbar-fab:hover{--sheen-alpha: 1}.btn-primary,.btn-primary-alt{color:#fff;text-shadow:var(--shadow-label-on-gradient);box-shadow:var(--shadow-accent),inset 0 1px #ffffff59;transition:box-shadow .3s ease,transform .12s ease,--sheen-alpha .3s ease}.btn-primary{background-image:var(--sheen),var(--gradient-primary)}.btn-primary-alt{background-image:var(--sheen),var(--gradient-success)}.btn-primary:not(:disabled):hover,.btn-primary-alt:not(:disabled):hover{box-shadow:var(--shadow-warm),inset 0 1px #ffffff73;filter:saturate(1.08);transform:translateY(-1px)}.btn-primary:not(:disabled):active,.btn-primary-alt:not(:disabled):active{transform:translateY(1px);box-shadow:var(--shadow-accent),inset 0 1px #ffffff59}.btn-secondary{background:var(--glass-bg-strong);color:var(--text-secondary);border-color:var(--glass-border);box-shadow:var(--shadow-md);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .25s ease,transform .12s ease}.btn-secondary:not(:disabled):hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--glass-border-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-danger{background:var(--danger);color:#fff;box-shadow:var(--shadow-accent)}.btn-danger:not(:disabled):hover{filter:brightness(.92)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:not(:disabled):hover{background:var(--hover-bg);color:var(--text-primary)}.btn-sm{padding:8px 16px;font-size:var(--text-small)}.btn-icon{padding:9px;border-radius:var(--radius-pill);line-height:0}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 560px){.form-row{grid-template-columns:1fr}}.form-group label{font-size:.82rem;font-weight:500;color:var(--text-secondary)}.input,.form-group input:not([type=checkbox]),.form-group select,.form-group textarea{width:100%;padding:11px 14px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-primary);font-size:var(--text-body);font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.input:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-hint{font-size:.78rem;color:var(--text-muted)}.form-hint.hint-success{color:var(--success)}.checkbox-row{display:flex;align-items:center;gap:10px}.checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.error-message{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent);border-radius:var(--radius-sm);padding:10px 12px;font-size:.85rem;margin-bottom:12px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:var(--radius-md);font-size:var(--text-small);font-weight:500;line-height:1.5;white-space:nowrap}.badge-success{background:var(--pill-income-bg);color:var(--pill-income-fg)}.badge-danger{background:var(--pill-expense-bg);color:var(--pill-expense-fg)}.badge-warning{background:var(--pill-important-bg);color:var(--pill-important-fg)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-accent{background:var(--pill-plan-bg);color:var(--pill-plan-fg)}.badge-neutral{background:var(--pill-neutral-bg);color:var(--pill-neutral-fg)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table th{text-align:left;padding:11px 14px;font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);white-space:nowrap}.data-table td{padding:11px 14px;border-bottom:1px solid var(--border-light);color:var(--text-secondary);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .12s ease}.data-table tbody tr:hover{background:var(--hover-bg)}.cell-amount{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;white-space:nowrap}.amount-debit{color:var(--text-primary)}.amount-credit{color:var(--success)}.cell-muted{color:var(--text-muted)}.cell-actions{text-align:right;white-space:nowrap}.cell-actions .btn-icon{color:var(--text-muted)}.cell-actions .btn-icon:hover{color:var(--text-primary)}.cell-actions .btn-icon.danger:hover{color:var(--danger);background:var(--danger-soft)}.progress-track{width:100%;height:10px;border-radius:var(--radius-pill);background:var(--progress-track);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-pill);background:var(--gradient-budget);transition:width .4s ease}.progress-fill.ok{background:var(--gradient-income)}.progress-fill.warn{background:var(--gradient-expense)}.progress-fill.over{background:var(--danger)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:20px}.stat-card{position:relative;overflow:hidden;padding:16px 18px;display:flex;align-items:center;gap:14px}.stat-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:var(--tint-accent)}.stat-card.tone-expense:before{background:var(--tint-expense)}.stat-card.tone-income:before{background:var(--tint-income)}.stat-card>*{position:relative}.stat-icon{width:42px;height:42px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--glass-bg-strong);box-shadow:var(--shadow-md)}.stat-icon.tint-accent{color:var(--accent)}.stat-icon.tint-success{color:var(--success)}.stat-icon.tint-danger{color:var(--danger)}.stat-icon.tint-info{color:var(--info)}.stat-info{min-width:0}.stat-value{display:block;font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-label{display:block;font-size:.78rem;color:var(--text-muted);margin-top:2px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:40px 20px;text-align:center;color:var(--text-muted)}.empty-icon{color:var(--text-light);margin-bottom:6px}.empty-message{font-weight:500;color:var(--text-secondary)}.empty-hint{font-size:.84rem;color:var(--text-muted)}.loading-container{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-muted)}.spinner{width:36px;height:36px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.error-boundary-card{max-width:420px;width:100%;text-align:center;padding:32px 28px}.error-boundary-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;margin-bottom:16px;color:var(--danger);background:var(--danger-soft)}.error-boundary-card h1{font-size:1.25rem;margin-bottom:10px}.error-boundary-card p{color:var(--text-muted);margin-bottom:20px;line-height:1.5}.sw-update-banner{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:16px;max-width:calc(100vw - 32px);padding:12px 16px}.sw-update-text{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-primary)}.sw-update-actions{display:inline-flex;align-items:center;gap:6px}@keyframes spin{to{transform:rotate(360deg)}}.app-header{position:sticky;top:0;z-index:50;background:var(--glass-bg-strong);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--glass-border)}.header-inner{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,32px);height:60px;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none!important;flex-shrink:0}.brand-mark{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--gradient-brand);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-accent)}.brand-name{font-family:var(--font-display);font-size:1.02rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap}.brand-name .brand-tld{color:var(--text-light);font-weight:600}.main-nav{display:flex;align-items:center;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.nav-link{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--radius-pill);font-size:var(--text-label);font-weight:500;color:var(--text-secondary);text-shadow:var(--shadow-letterpress);text-decoration:none!important;white-space:nowrap;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.nav-link:hover{background:var(--hover-bg);color:var(--text-primary)}.nav-link.active{background:var(--glass-bg-strong);color:var(--text-primary);box-shadow:var(--shadow-md)}.header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.user-menu{position:relative}.user-menu-trigger{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--glass-border);border-radius:var(--radius-pill);background:var(--glass-bg-strong);color:var(--text-secondary);font-size:var(--text-label);font-weight:500;font-family:inherit;cursor:pointer;box-shadow:var(--shadow-md);transition:background .15s ease}.user-menu-trigger:hover{background:var(--hover-bg)}.user-avatar{width:24px;height:24px;border-radius:50%;background:var(--gradient-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;text-transform:uppercase}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;padding:6px;z-index:60}.user-menu-header{padding:8px 10px 10px;border-bottom:1px solid var(--border-light);margin-bottom:6px}.user-menu-name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.user-menu-email{font-size:.78rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}.user-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.87rem;font-family:inherit;text-align:left;cursor:pointer;text-decoration:none!important;transition:background .12s ease}.user-menu-item:hover{background:var(--hover-bg);color:var(--text-primary)}.user-menu-item.danger{color:var(--danger)}.user-menu-item.danger:hover{background:var(--danger-soft)}@media (max-width: 860px){.brand-name{display:none}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#101a3373;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100;animation:fade-in .15s ease}.modal-content{width:100%;max-width:540px;max-height:calc(100vh - 48px);overflow-y:auto;animation:modal-in .18s ease}.modal-small{max-width:420px}.modal-large{max-width:720px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 0}.modal-header h2{font-size:1.1rem}.modal-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm);line-height:0;transition:background .15s ease,color .15s ease}.modal-close:hover{background:var(--hover-bg);color:var(--text-primary)}.modal-body{padding:16px 22px 22px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.confirm-dialog-body{color:var(--text-secondary);font-size:.92rem;line-height:1.55}.confirm-dialog-body strong{color:var(--text-primary)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-container{position:fixed;bottom:22px;right:22px;display:flex;flex-direction:column;gap:10px;z-index:200;max-width:min(380px,calc(100vw - 44px))}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;font-size:var(--text-body);color:var(--text-primary);cursor:pointer;animation:toast-in .2s ease}.toast-icon{line-height:0;margin-top:1px}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-info .toast-icon{color:var(--info)}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}.toast-info{border-left:3px solid var(--info)}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{position:relative;overflow:hidden;width:100%;max-width:410px;border-radius:var(--radius-xl);padding:34px 32px 28px}.brand-waves{position:relative}.brand-waves:before{content:"";position:absolute;left:0;right:0;bottom:0;z-index:0;pointer-events:none;background-image:url(/brand-waves.svg);background-repeat:no-repeat;background-position:bottom center}.brand-waves>*{position:relative;z-index:1}.auth-card.brand-waves:before{height:105px;background-size:100% auto}.auth-card.brand-waves{padding-bottom:104px}:root.dark .brand-waves:before{opacity:.35}.auth-header{text-align:center;margin-bottom:24px}.auth-logo{width:52px;height:52px;border-radius:var(--radius-md);background:var(--gradient-brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;box-shadow:var(--shadow-accent)}.auth-header h1{font-size:1.35rem;margin-bottom:6px}.auth-header p{color:var(--text-muted);font-size:.9rem}.auth-form .btn{width:100%;padding:11px;font-size:.95rem;margin-top:4px}.auth-footer{text-align:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light);font-size:.88rem;color:var(--text-muted)}.auth-form .checkbox-row{align-items:flex-start;font-size:.85rem;line-height:1.45;color:var(--text-secondary)}.auth-form .checkbox-row input[type=checkbox]{flex-shrink:0;margin-top:2px}.auth-legal-note{margin:10px 0 0;font-size:.8rem;color:var(--text-muted);text-align:center}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.tabular{font-variant-numeric:tabular-nums}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.grid-2{grid-template-columns:1fr}}:root{--tabbar-height: 62px}.mobile-tabbar{display:none}.tabbar-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 0;font-size:var(--text-micro);font-weight:500;color:var(--text-secondary);text-shadow:var(--shadow-letterpress);text-decoration:none!important;-webkit-tap-highlight-color:transparent;transition:color .15s ease;min-width:0}.tabbar-link span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar-link.active{color:var(--text-primary)}.tabbar-fab{justify-self:center;width:54px;height:54px;border:none;border-radius:50%;background-image:var(--sheen),var(--gradient-brand);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transform:translateY(-14px);box-shadow:var(--shadow-accent);transition:filter .15s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}.tabbar-fab:hover{filter:brightness(1.06) saturate(1.05)}.tabbar-fab:active{transform:translateY(-14px) scale(.94)}.action-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080c1880;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:120;display:flex;align-items:flex-end;animation:fade-in .15s ease}.action-sheet{width:100%;border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);border-bottom:none;padding:8px 16px calc(16px + env(safe-area-inset-bottom));animation:sheet-up .22s ease}.action-sheet-handle{width:38px;height:4px;border-radius:999px;background:var(--border-color);margin:6px auto 12px}.action-sheet-item{display:flex;align-items:center;gap:14px;width:100%;padding:13px 8px;border:none;background:transparent;color:var(--text-primary);font-family:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-md);transition:background .12s ease}.action-sheet-item:hover{background:var(--hover-bg)}.action-sheet-item+.action-sheet-item{border-top:1px solid var(--border-light)}.action-sheet-icon{width:42px;height:42px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-sheet-icon.tint-accent{background:var(--accent-soft);color:var(--accent)}.action-sheet-icon.tint-success{background:var(--success-soft);color:var(--success)}.action-sheet-text{display:flex;flex-direction:column;gap:2px;min-width:0}.action-sheet-title{font-size:.95rem;font-weight:600}.action-sheet-sub{font-size:.8rem;color:var(--text-muted)}.action-sheet-cancel{width:100%;margin-top:10px;padding:13px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font-family:inherit;font-size:.92rem;font-weight:500;cursor:pointer}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.more-profile{display:flex;align-items:center;gap:14px;text-decoration:none!important;color:inherit}.more-avatar{width:48px;height:48px;font-size:1rem;flex-shrink:0}.more-profile-info{flex:1;min-width:0;display:flex;flex-direction:column}.more-profile-name{font-size:1rem;font-weight:600;color:var(--text-primary)}.more-profile-email{font-size:.82rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-chevron{color:var(--text-light);flex-shrink:0}.more-list{padding:4px 16px}.more-item{display:flex;align-items:center;gap:14px;width:100%;padding:13px 0;border:none;background:transparent;color:var(--text-primary);font-family:inherit;font-size:inherit;text-align:left;cursor:pointer;text-decoration:none!important}.more-item+.more-item{border-top:1px solid var(--border-light)}.more-item-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.more-item-icon.danger{background:var(--danger-soft);color:var(--danger)}.more-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.more-item-label{font-size:.92rem;font-weight:500;color:var(--text-primary)}.more-item-danger .more-item-label{color:var(--danger)}.more-item-desc{font-size:.78rem;color:var(--text-muted)}.tx-cards{display:none}.tx-card{padding:12px 14px}.tx-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tx-card-info{min-width:0}.tx-card-title{font-size:.92rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-card-sub{font-size:.78rem;color:var(--text-muted);margin-top:2px}.tx-card-amount{font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.tx-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.tx-card-actions{display:flex;gap:2px}@media (max-width: 768px){html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.app-header{padding-top:env(safe-area-inset-top)}.app-header .main-nav{display:none}.app-header .header-actions{margin-left:auto}.brand-name{display:inline!important}.user-menu-username{display:none}.mobile-tabbar{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;position:fixed;left:0;right:0;bottom:0;height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--glass-bg-strong);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--glass-border);z-index:90}.page-container{padding-top:16px;padding-bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + 20px)}.page-header{margin-bottom:16px}.page-header h2{font-size:1.3rem}.toast-container{bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + 14px);right:12px;left:12px;max-width:none}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:13px;gap:11px}.stat-icon{width:36px;height:36px}.stat-value{font-size:1.05rem}.modal-overlay{align-items:flex-end;padding:0}.modal-content{max-width:100%;width:100%;max-height:92vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:env(safe-area-inset-bottom);animation:sheet-up .24s ease}.modal-actions{gap:10px}.modal-actions .btn{flex:1;padding:12px}.table-wrap{display:none}.tx-cards{display:flex;flex-direction:column;gap:10px}.filters-card{flex-direction:column;align-items:stretch}.filters-card .form-group{width:100%;min-width:0}.input,.form-group input:not([type=checkbox]),.form-group select,.form-group textarea{font-size:16px}.auth-card{padding:28px 22px 24px}}@media (max-width: 360px){.tabbar-link{font-size:.6rem}.stat-value{font-size:.95rem}}
