*{box-sizing:border-box} :root{--bg:#f7f8fa;--panel:#fff;--text:#1d2825;--muted:#909592;--line:#edf0ee;--mint:#c1edcf;--mint-dark:#31815c;--soft:#f0f7f1;--sidebar:#fff;--shadow:0 4px 20px #19372603;--orange:#dc895e;--purple:#a08ccc;--font:'DM Sans',sans-serif;--title:'Manrope',sans-serif}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;-webkit-font-smoothing:antialiased}body.dark{--bg:#141b18;--panel:#1d2722;--text:#edf3ed;--muted:#98a79e;--line:#2b3931;--sidebar:#19231d;--soft:#24382c;--mint:#c1edcf;--mint-dark:#7bd9a2;--shadow:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #63ad87;outline-offset:3px}a{color:inherit;text-decoration:none}svg{flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--title)}h2{font-size:15px;font-weight:750;letter-spacing:-.35px}h3{font-size:14px;font-weight:700}button{border:0}input,select,textarea{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:11px 12px;min-width:0}input[type=number]{appearance:textfield}textarea{resize:vertical}select{cursor:pointer}input::placeholder{color:#a1a8a3}.muted{color:var(--muted)}.amount{font-family:var(--title);font-weight:750;font-variant-numeric:tabular-nums}.skip-link{position:fixed;top:-60px;left:20px;z-index:100;background:var(--mint);padding:12px}.skip-link:focus{top:12px}.loading{padding:50px}.app-shell{display:flex;min-height:100vh}.sidebar{width:222px;position:fixed;inset:0 auto 0 0;background:var(--sidebar);border-right:1px solid var(--line);padding:32px 20px 18px;display:flex;flex-direction:column;z-index:25}.brand{display:flex;align-items:center;gap:9px;padding:0 12px;color:var(--text)}.brand-mark{width:33px;height:33px;background:var(--mint);color:#243a2c;display:grid;place-items:center;border-radius:10px;font-family:var(--title);font-size:29px;font-weight:800;line-height:1}.brand-name{font-family:var(--title);font-size:29px;letter-spacing:-1.5px;font-weight:800}.brand-dot{color:#61bd87}.brand-tag{font-size:10px;margin:9px 0 32px 12px;color:var(--muted);letter-spacing:.1px}.nav-label{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#a3aaa5;margin:7px 13px 11px}.nav-list{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:12px 14px;background:transparent;border-radius:9px;color:#808983;font-size:12px;font-weight:500}.nav-item.active{background:var(--mint);color:#254832;font-weight:700}.nav-item:hover:not(.active){background:var(--soft);color:var(--text)}.nav-item .nav-count{margin-left:auto;border-radius:5px;background:#f2f4f1;font-size:9px;padding:2px 5px;color:#888}.nav-item.active:after{content:'';width:5px;height:5px;border-radius:50%;margin-left:auto;background:#31573a}.nav-section-gap{margin-top:29px}.sidebar-bottom{margin-top:auto;padding-top:30px}.sidebar-promo{padding:16px 13px;background:var(--soft);border:1px solid #dcebe0;border-radius:11px;position:relative;overflow:hidden}.sidebar-promo .mini-star{color:#4c805e;display:block;margin-bottom:8px}.sidebar-promo h3{font-size:12px}.sidebar-promo p{font-size:10px;line-height:1.7;color:var(--muted);margin:5px 0 10px}.sidebar-promo button{font-size:10px;display:flex;align-items:center;gap:6px;background:transparent;padding:0;font-weight:700;color:var(--mint-dark)}.sidebar-user{border-top:1px solid var(--line);margin-top:19px;padding-top:18px;display:flex;align-items:center;gap:10px}.avatar{display:grid;place-items:center;border-radius:50%;height:32px;width:32px;background:#efece1;color:#7e755e;font-weight:700;font-size:10px;flex-shrink:0}.sidebar-user .user-name{font-size:11px;font-weight:650}.sidebar-user small{font-size:9px;color:var(--muted)}.sidebar-user button{margin-left:auto;background:transparent;color:var(--muted);padding:4px}.workspace{margin-left:222px;width:calc(100% - 222px)}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 35px;background:var(--panel)}.breadcrumbs{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted)}.breadcrumbs strong{font-weight:550;color:var(--text)}.topbar-tools{display:flex;align-items:center;gap:18px}.global-search{display:flex;align-items:center;gap:8px;color:var(--muted)}.global-search input{width:155px;font-size:11px;border:0;background:transparent;padding:8px 0}.keycap{font-size:9px;line-height:1;border:1px solid var(--line);border-radius:4px;padding:4px;color:var(--muted)}.topbar-divider{width:1px;height:23px;background:var(--line)}.icon-button{background:transparent;display:inline-flex;align-items:center;justify-content:center;padding:7px;border-radius:8px;color:var(--muted)}.icon-button:hover{background:var(--soft);color:var(--text)}.notification-button{position:relative}.notification-dot{height:5px;width:5px;border-radius:50%;background:#73ac82;position:absolute;right:9px;top:7px;border:1px solid var(--panel)}.mobile-menu{display:none}.main-content{max-width:1470px;padding:33px 35px 28px;margin:auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-intro h1{font-size:27px;line-height:1.4;font-weight:800;letter-spacing:-1.1px}.page-intro .greeting{font-size:11px;color:var(--muted);margin-bottom:6px}.wave{display:inline-block;margin-left:3px}.page-intro p{font-size:11px;color:var(--muted);margin-top:7px;line-height:1.6}.header-actions{display:flex;align-items:center;gap:10px}.period-control{display:flex;align-items:center;gap:3px;border:1px solid var(--line);background:var(--panel);padding:2px 4px;border-radius:8px}.period-control select{border:0;background:transparent;font-size:10px;font-weight:550;padding:9px 3px;width:114px}.period-control button{padding:5px;background:transparent;color:var(--muted);display:flex}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 15px;border-radius:8px;line-height:1.2;font-weight:650;font-size:11px;white-space:nowrap;transition:background .18s,transform .18s}.button:active{transform:translateY(1px)}.button.primary{background:#213b2c;color:#fff;border:1px solid #213b2c}.button.primary:hover{background:#345e44}.button.secondary{border:1px solid var(--line);background:var(--panel);color:var(--text)}.button.secondary:hover{background:var(--soft)}.button.ghost{padding:3px 0;color:var(--mint-dark);background:transparent;font-size:10px}.button.small{font-size:10px;padding:8px 11px}.button.danger{background:#fff1ee;color:#b95246}.demo-badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;color:#89918b;background:var(--panel);border:1px solid var(--line);padding:4px 7px;border-radius:5px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:19px}.panel-head p{font-size:10px;color:var(--muted);margin-top:5px}.badge{font-size:9px;font-weight:550;display:inline-flex;align-items:center;gap:3px;border-radius:5px;padding:4px 6px;background:var(--soft);color:var(--muted)}.badge.green{background:#edf7f0;color:#3f8960}.badge.orange{background:#fff3eb;color:#c1835c}.badge.purple{background:#f4effa;color:#9683ad}.badge.red{background:#ffefeb;color:#b65646}.stats-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:16px;margin-bottom:22px}.stat-card{padding:20px;border-radius:11px;background:var(--panel);border:1px solid var(--line);position:relative;overflow:hidden;min-height:154px}.stat-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;position:relative;z-index:1}.stat-label{font-size:10px;color:var(--muted)}.stat-icon{width:28px;height:28px;display:grid;place-items:center;background:var(--soft);color:#82a88d;border-radius:8px}.stat-value{font-family:var(--title);font-size:24px;font-weight:800;letter-spacing:-.8px;font-variant-numeric:tabular-nums;position:relative;z-index:1}.stat-note{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--muted);margin-top:14px;position:relative;z-index:1}.balance-card{background:var(--mint);border-color:var(--mint);color:#253f2d}.balance-card .stat-label,.balance-card .stat-note{color:#5f8069}.balance-card .stat-icon{background:#ffffff40;color:#406b4b}.balance-card .badge{background:#ffffff50;color:#437f54}.balance-decoration{position:absolute;width:145px;height:145px;border:1px solid #92c8a266;border-radius:50%;right:-44px;bottom:-66px;box-shadow:0 0 0 22px #b3dfbf55,0 0 0 43px #b3dfbf55}.dashboard-charts{display:grid;grid-template-columns:1.7fr 1fr;gap:22px;margin-bottom:22px}.chart-controls{display:flex;align-items:center;gap:10px}.chart-range{display:flex;padding:3px;border:1px solid var(--line);border-radius:6px;gap:2px}.chart-range button{padding:5px 8px;background:transparent;font-size:9px;color:var(--muted);border-radius:4px}.chart-range button.active{background:var(--soft);color:#4e795a;font-weight:650}.chart-legend{display:flex;align-items:center;gap:16px;font-size:9px;color:var(--muted);margin:18px 0 6px}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:middle}.cashflow-chart{width:100%;display:block;min-height:180px}.cashflow-chart text{font-family:var(--font);fill:var(--muted);font-size:10px}.cashflow-chart .grid-line{stroke:var(--line)}.spending-donut{width:154px;height:154px;position:relative;margin:2px auto 18px;display:grid;place-items:center}.spending-donut svg{width:100%;height:100%}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-center small{font-size:9px;color:var(--muted);margin-bottom:6px}.donut-center strong{font-family:var(--title);font-size:21px;font-weight:800;letter-spacing:-.6px}.spending-legend{display:flex;flex-direction:column;gap:10px}.spending-legend-row{display:flex;align-items:center;justify-content:space-between;font-size:10px}.spending-category{display:flex;align-items:center;color:#858e88;gap:6px}.spending-legend-row strong{font-size:10px;font-weight:550}.spending-legend-row .legend-dot{margin:0;width:6px;height:6px}.dashboard-bottom{display:grid;grid-template-columns:1.7fr 1fr;gap:22px;margin-bottom:22px}.transactions-panel{padding:22px 0 8px;overflow:hidden}.transactions-panel .panel-head{padding:0 22px;margin-bottom:13px}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}th{font-size:9px;letter-spacing:.1px;color:var(--muted);font-weight:450;padding:11px 14px;background:color-mix(in srgb,var(--bg) 65%,var(--panel));white-space:nowrap}td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}th:first-child,td:first-child{padding-left:22px}th:last-child,td:last-child{padding-right:22px;text-align:right}.transaction-name{display:flex;align-items:center;gap:10px;font-weight:600;white-space:nowrap}.row-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;color:#88988d;background:var(--soft);flex-shrink:0}.transaction-detail{font-size:9px;color:var(--muted);font-weight:400;margin-top:4px}.transaction-amount{font-family:var(--title);font-size:11px;font-weight:750;white-space:nowrap}.transaction-amount.income{color:#499c6c}.transaction-amount.expense{color:var(--text)}.category-pill{font-size:8px;border:1px solid var(--line);border-radius:4px;padding:4px 6px;color:#87918a;white-space:nowrap}.table-edit{padding:4px;color:#9ca39d;background:transparent}.table-date{font-size:10px;white-space:nowrap;color:var(--muted)}.goals-panel .panel-head{margin-bottom:17px}.goals-list{display:flex;flex-direction:column;gap:14px}.goal-card{border:1px solid var(--line);padding:14px;border-radius:9px}.goal-top{display:flex;align-items:center;gap:10px;margin-bottom:13px}.goal-icon{width:34px;height:34px;border-radius:9px;background:#f7f2df;display:grid;place-items:center;font-size:18px;flex-shrink:0}.goal-copy{flex:1}.goal-copy h3{font-size:11px;margin-bottom:4px}.goal-label{font-size:9px;color:var(--muted)}.goal-progress-label{font-size:11px;font-weight:700}.progress{height:5px;width:100%;background:var(--line);border-radius:20px;overflow:hidden}.progress i{display:block;height:100%;background:#95cdaa;border-radius:20px}.goal-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;font-size:9px;color:var(--muted)}.goal-footer strong{color:var(--text);font-size:9px}.goal-footer button{font-size:9px;padding:3px}.insight-banner{display:flex;align-items:center;gap:14px;background:#eff6ee;border:1px solid #e4ede1;border-radius:10px;padding:16px 20px;color:#40583e}.insight-icon{width:32px;height:32px;display:grid;place-items:center;background:#e2eedb;border-radius:50%;color:#709566;flex-shrink:0}.insight-copy h3{font-size:11px;margin-bottom:4px}.insight-copy p{font-size:10px;line-height:1.6;color:#81917a}.insight-banner .button{margin-left:auto;color:#698e5d}.page-footer{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#a1aaa2;margin-top:24px}.page-footer span{display:flex;align-items:center;gap:5px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:28px 0 16px}.empty-state{text-align:center;padding:42px 20px;color:var(--muted);line-height:1.8}.empty-state h3{color:var(--text);margin:10px 0 5px}.empty-state .button{margin-top:16px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.metric-card{padding:20px;border-radius:11px;border:1px solid var(--line);background:var(--panel)}.metric-label{color:var(--muted);font-size:11px}.metric-value{font-family:var(--title);font-size:25px;font-weight:800;margin:10px 0;letter-spacing:-.8px}.metric-note{font-size:10px;color:var(--muted);line-height:1.7}.toolbar,.filter-bar,.inline-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar{margin-bottom:20px;justify-content:space-between}.filter-bar{padding:16px 20px;border-bottom:1px solid var(--line)}.filter-bar input{flex:1;min-width:160px}.filter-bar select{font-size:11px}.budget-card{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.budget-category{display:flex;align-items:center;gap:10px;margin-bottom:20px}.card-actions{margin-left:auto;display:flex;align-items:center;gap:4px}.status-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0;font-size:11px}.budget-card .amount{font-size:23px}.budget-card .progress{height:7px;margin:14px 0}.budget-card p{font-size:10px;color:var(--muted);line-height:1.7}.wallet-card{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:13px;min-height:184px}.wallet-head{display:flex;align-items:center;gap:10px;margin-bottom:25px}.wallet-type{font-size:10px;color:var(--muted);margin-top:4px}.wallet-card .amount{font-size:25px;letter-spacing:-.7px}.wallet-card .status-line{color:var(--muted);font-size:10px}.subscription-item{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:18px 0}.subscription-item:last-child{border:0}.subscription-logo{width:42px;height:42px;display:grid;place-items:center;background:var(--soft);border-radius:12px;font-family:var(--title);font-size:17px;font-weight:800;color:var(--mint-dark);flex-shrink:0}.subscription-detail{flex:1}.subscription-detail p,.subscription-detail small{font-size:10px;color:var(--muted);margin-top:5px}.subscription-cost{text-align:right;margin-right:18px}.subscription-cost .amount{font-size:15px}.subscription-cost small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.report-bars{display:flex;align-items:flex-end;justify-content:space-around;gap:14px;height:220px;margin:30px 0 12px}.report-bars .bar-group{display:flex;flex-direction:column;align-items:center;gap:10px;height:100%;justify-content:flex-end}.report-bars .bars{display:flex;align-items:flex-end;gap:6px;height:190px}.report-bars .bar{width:20px;min-height:2px;border-radius:5px 5px 0 0;background:#a8daba}.report-bars small{font-size:10px;color:var(--muted)}.report-legend{display:flex;align-items:center;gap:16px;font-size:10px;color:var(--muted)}.report-donut{text-align:center;padding:20px}.category-table td{padding:14px 10px}.learn-card{padding:24px;display:flex;flex-direction:column;gap:14px}.learn-card h3{font-size:17px;line-height:1.6;letter-spacing:-.4px}.learn-card p{color:var(--muted);line-height:1.8;font-size:12px}.learn-tag{display:inline-flex;width:max-content;font-size:10px;padding:5px 9px;border-radius:5px;background:var(--soft);color:var(--mint-dark)}.learn-meta{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:auto}.lesson-progress{margin:10px 0 20px}.challenge-card{padding:22px;display:flex;flex-direction:column;gap:14px}.challenge-card p{font-size:12px;line-height:1.8;color:var(--muted)}.challenge-days{display:flex;gap:8px}.challenge-days span,.challenge-days i{height:26px;width:26px;border-radius:50%;background:var(--line);display:grid;place-items:center;font-size:10px;font-style:normal}.challenge-days .done{background:var(--mint);color:#30513a}.settings-stack{display:flex;flex-direction:column;gap:22px;max-width:840px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 0;border-bottom:1px solid var(--line)}.settings-row:last-child{border:0;padding-bottom:0}.settings-copy h3{font-size:12px;margin-bottom:5px}.settings-copy p{font-size:11px;color:var(--muted);line-height:1.8}.privacy-note,.info-callout{padding:15px 18px;background:var(--soft);border:1px solid var(--line);border-radius:9px;font-size:11px;color:var(--muted);line-height:1.8;margin-top:18px}.danger-panel{border-color:#eed4ce}.color-dot{width:8px;height:8px;display:inline-block;border-radius:50%;margin-right:6px}.field{display:flex;flex-direction:column;gap:8px;font-size:11px}.field label{font-size:11px;font-weight:550}.field small{font-size:10px;color:var(--muted);line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field.full{grid-column:1/-1}.settings-stack form{display:flex;flex-direction:column;gap:18px}.modal-backdrop{position:fixed;inset:0;background:#17291f66;backdrop-filter:blur(4px);z-index:100;display:grid;place-items:center;padding:20px}.modal{width:100%;max-width:475px;background:var(--panel);border:1px solid var(--line);border-radius:17px;box-shadow:0 30px 100px #0002;max-height:90vh;overflow-y:auto;padding:27px;animation:modal-in .18s ease}.modal.wide{max-width:620px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.modal-head h2{font-size:19px;letter-spacing:-.6px}.modal-subtitle{color:var(--muted);font-size:11px;line-height:1.8;margin-bottom:23px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.modal .field{margin-bottom:0}.form-error{color:#bf6255;font-size:11px;line-height:1.7;margin-top:14px}.type-tabs{display:flex;border-radius:8px;background:var(--bg);padding:4px;margin-bottom:20px;gap:4px}.type-tabs button{flex:1;padding:10px;background:transparent;border-radius:6px;color:var(--muted);font-size:11px}.type-tabs button.active{background:var(--panel);color:var(--text);box-shadow:0 2px 5px #0001}.lesson-body{font-size:13px;line-height:1.9;color:var(--muted)}.lesson-body h3{color:var(--text);margin:20px 0 10px}.lesson-body p{margin:12px 0}.lesson-body ul{padding-left:20px}.notice-list{display:flex;flex-direction:column;gap:13px}.notice-item{display:flex;gap:12px;padding:12px;border:1px solid var(--line);border-radius:9px}.notice-item strong{font-size:12px}.notice-item p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.6}#toast-root{position:fixed;bottom:24px;right:24px;z-index:150;display:flex;flex-direction:column;gap:10px}.toast{background:#223c2d;color:#f7fff8;padding:14px 20px;border-radius:9px;box-shadow:0 6px 30px #0002;display:flex;align-items:center;gap:9px;font-size:12px;animation:modal-in .2s ease}.toast.error{background:#88493d}.sidebar-overlay{display:none}body.modal-open{overflow:hidden}.dark .insight-banner{background:#25372a;border-color:#324332}.dark .insight-copy p{color:#9eb396}.dark .insight-copy h3{color:#c3d8ba}.dark .badge.green{background:#273c2d;color:#96c6a3}.dark .badge.orange{background:#3d3028;color:#d3a27e}.dark .badge.purple{background:#353044;color:#bcaad1}.dark .sidebar-promo{border-color:#2f4634}.dark .goal-icon{background:#3c3625}.dark .category-pill{color:#a1b1a4}.dark .button.primary{background:#bdebc9;color:#25422e;border-color:#bdebc9}.dark .avatar{background:#3c3b2d;color:#c9c2a6}.dark .button.danger{background:#3b2d27;color:#e0a191}@keyframes modal-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1550px){.main-content{padding-top:42px}.stats-grid{gap:22px}.stat-card{padding:24px;min-height:172px}.stat-value{font-size:29px}.cashflow-chart{min-height:240px}.dashboard-charts .panel{padding:25px}.spending-donut{width:176px;height:176px}.goal-card{padding:18px}.dashboard-bottom td{padding-top:17px;padding-bottom:17px}}
@media(max-width:1180px){.sidebar{width:192px;padding-left:14px;padding-right:14px}.workspace{margin-left:192px;width:calc(100% - 192px)}.topbar{padding:0 24px}.main-content{padding:28px 24px}.stats-grid{gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{padding:16px}.stat-value{font-size:20px}.stat-note{font-size:8px;gap:3px}.dashboard-charts,.dashboard-bottom{gap:16px;grid-template-columns:1.55fr 1fr}.panel{padding:18px}.page-intro h1{font-size:24px}.chart-controls{gap:4px}td,th{padding-left:10px;padding-right:10px}.grid-3{gap:15px}.header-actions{gap:7px}.goal-footer{font-size:8px}}
@media(max-width:960px){.sidebar{width:175px;padding-left:10px;padding-right:10px}.workspace{margin-left:175px;width:calc(100% - 175px)}.nav-item{gap:9px;padding-left:12px;font-size:11px}.brand{padding-left:12px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:148px}.stat-value{font-size:25px}.dashboard-charts,.dashboard-bottom{grid-template-columns:1fr}.spending-panel{display:grid;grid-template-columns:1fr 1.3fr;gap:5px 20px}.spending-panel .panel-head{grid-column:1/-1}.spending-donut{margin:0 auto;width:150px;height:150px}.spending-legend{justify-content:center}.goals-list{display:grid;grid-template-columns:1fr 1fr}.page-header{align-items:flex-start}.header-actions{flex-wrap:wrap;justify-content:flex-end;max-width:225px}.global-search input{width:125px}.topbar-tools{gap:11px}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-value{font-size:21px}.metric-grid{gap:12px}}
@media(max-width:700px){.sidebar{width:222px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:#17251f66;z-index:24}.workspace{width:100%;margin-left:0}.topbar{height:65px;padding:0 18px}.mobile-menu{display:inline-flex;margin-right:10px}.topbar-left{display:flex;align-items:center}.topbar-tools{gap:8px}.global-search input{width:108px}.global-search .keycap,.topbar-divider{display:none}.main-content{padding:24px 18px}.page-header{gap:12px;margin-bottom:21px}.page-intro h1{font-size:23px;letter-spacing:-.8px}.page-intro .greeting{font-size:10px}.page-intro p{font-size:10px;max-width:210px}.header-actions{max-width:158px;gap:7px}.header-actions .button{font-size:10px;padding:9px 11px}.period-control select{width:106px;font-size:9px}.period-control button{padding:3px}.stats-grid{gap:12px}.stat-card{min-height:145px;padding:16px}.stat-value{font-size:23px}.stat-note{font-size:8px}.dashboard-charts,.dashboard-bottom{gap:18px;margin-bottom:18px}.panel-head{gap:10px}h2{font-size:14px}.chart-controls{gap:5px}.chart-range button{padding:5px 7px;font-size:8px}.chart-legend{font-size:9px}.goals-list{grid-template-columns:1fr 1fr;gap:10px}.goal-card{padding:12px}.goal-top{gap:7px}.goal-icon{width:29px;height:29px;font-size:16px}.goal-copy h3{font-size:10px}.goal-progress-label{font-size:10px}.goal-footer{flex-wrap:wrap}.insight-banner{padding:14px;gap:10px}.insight-banner .button{display:none}.page-footer{font-size:8px}.metric-grid{grid-template-columns:1fr;gap:10px}.metric-card{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:17px}.metric-value{margin:0;text-align:right}.metric-note{grid-column:1/-1;margin-top:9px}.grid-3,.grid-2{gap:14px}.budget-card,.wallet-card{padding:18px}.wallet-card .amount{font-size:20px}.subscription-item{flex-wrap:wrap;gap:10px}.subscription-cost{margin-right:0}.subscription-item .card-actions{width:100%;justify-content:flex-end}.settings-row{flex-wrap:wrap;gap:12px}.form-grid{gap:14px}.modal{padding:22px}.modal-backdrop{padding:14px}.filter-bar{padding:14px}.filter-bar select{flex:1}.learn-card h3{font-size:15px}.learn-card{padding:18px}.metric-grid .metric-label{font-size:10px}.transactions-panel .panel-head{padding:0 18px}.global-search svg{width:15px}.demo-badge{font-size:8px}}
@media(max-width:390px){.main-content{padding:20px 12px}.topbar{padding:0 12px}.page-intro h1{font-size:21px}.page-header{gap:5px}.header-actions{max-width:145px}.stat-value{font-size:21px}.stat-card{padding:13px}.grid-3,.grid-2,.goals-list{grid-template-columns:1fr}.spending-panel{grid-template-columns:1fr 1fr}.global-search input{width:80px}.page-footer span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.stat-unit{font-size:17px;margin-left:2px}.transaction-detail{display:block}.transaction-name strong{font-size:11px;font-weight:600}.transactions-table .transaction-amount{text-align:right}.transactions-table th:last-child{width:62px}.transactions-table td.table-edit{white-space:nowrap;padding-left:3px;padding-right:12px}.table-edit .icon-button{padding:4px}.goal-percent{font-size:10px;font-weight:700}.progress span{display:block;height:100%;background:#95cdaa;border-radius:20px}.goal-progress-label{font-size:9px;font-weight:400}.goal-progress-label span{font-size:8px;color:var(--muted)}.goal-progress-label strong{font-size:9px}.goal-top{position:relative}.donut-center>span{font-size:8px;color:var(--muted);margin:3px 0}.spending-legend-row{display:grid;grid-template-columns:1fr 28px 59px;gap:7px}.spending-legend-row>strong{text-align:right}.spending-legend-row>span:not(.spending-category){font-size:9px;color:var(--muted)}.balance-card .icon-button{color:#527e5b}.insight-copy>strong{font-size:11px}.budget-amount{font-size:10px;margin-bottom:17px}.budget-amount strong{font-family:var(--title);font-size:21px;font-weight:800}.budget-remaining{font-size:10px}.progress.danger i{background:#de987b}.progress.warning i{background:#d6b887}.info-callout{display:flex;align-items:flex-start;gap:10px;margin-top:0;margin-bottom:20px}.info-callout svg{margin-top:2px}.wallet-head{margin-bottom:22px}.wallet-type{margin-bottom:6px}.wallet-card h3{font-size:13px}.wallet-balance{font-family:var(--title);font-size:25px;font-weight:800;letter-spacing:-.7px;margin:12px 0 22px}.wallet-footer{display:flex;align-items:center;justify-content:space-between;font-size:10px}.wallet-card .row-icon{background:color-mix(in srgb,var(--wallet-color) 18%,var(--panel));color:var(--wallet-color)}.subscription-date{display:flex;flex-direction:column;gap:8px;align-items:flex-start;font-size:10px;color:var(--muted)}.subscription-cost strong{font-family:var(--title);font-size:15px;font-weight:800;display:block;margin-bottom:4px}.subscription-cost span{font-size:9px}.search-field{display:flex;align-items:center;gap:6px;flex:1;min-width:170px}.search-field input{border:0;min-width:110px;flex:1;padding:5px}.inline-filters{padding:15px 0;font-size:10px;color:var(--muted)}.inline-filters label{display:flex;align-items:center;gap:8px}.inline-filters input{padding:7px 9px;font-size:10px}.inline-filters #tx-total{margin-left:auto}.report-bars{width:100%;height:auto;display:block;margin:26px 0 0}.report-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}.report-donut-wrap{display:flex;align-items:center;gap:20px}.report-donut{width:160px;height:160px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;padding:17px}.report-donut>div{width:100%;height:100%;background:var(--panel);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:10px}.report-donut strong{font-family:var(--title);font-size:22px;font-weight:800}.donut-legend{flex:1;display:flex;flex-direction:column;gap:13px;font-size:10px}.donut-legend>div{display:flex;justify-content:space-between;gap:10px}.table-category{display:flex;align-items:center;gap:12px}.table-category strong{font-size:11px}.category-share{display:flex;align-items:center;gap:15px;max-width:300px;font-size:10px;color:var(--muted)}.align-right{text-align:right}#page-content>.grid-2+section.panel{margin-top:22px}#page-content>.info-callout:last-child{margin-top:22px}.learn-tag{display:flex;align-items:center;justify-content:space-between}.learn-meta{justify-content:flex-start;gap:6px}.learn-card .button{margin-top:auto;justify-content:flex-start}.lesson-progress{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px}.lesson-progress h2{font-size:20px;margin:12px 0 8px}.lesson-progress p{font-size:11px}.lesson-progress-count{width:150px;flex-shrink:0}.lesson-progress-count strong{font-family:var(--title);font-size:36px;font-weight:800}.lesson-progress-count strong span{font-size:15px;font-weight:500;color:var(--muted)}.lesson-progress-count .progress{margin-top:12px}.settings-stack form>p{font-size:11px;line-height:1.7}.privacy-note{display:flex;gap:10px}.settings-stack .button[type=submit]{align-self:flex-start}.settings-copy strong{font-size:11px}.section-title>span{font-size:10px}@media(max-width:1100px){.report-donut-wrap{flex-wrap:wrap;justify-content:center}.donut-legend{min-width:150px}.subscription-item{flex-wrap:wrap}.subscription-detail{min-width:100px}.subscription-item .card-actions{margin-left:auto}}@media(max-width:700px){.report-donut-wrap{flex-wrap:nowrap}.report-donut{width:140px;height:140px}.donut-legend{min-width:0}.inline-filters{gap:8px}.inline-filters #tx-total{width:100%;margin:0}.lesson-progress{padding:20px;align-items:flex-start}.lesson-progress-count{width:80px}.lesson-progress h2{font-size:16px}.lesson-progress-count strong{font-size:29px}.wallet-balance{font-size:21px}.report-donut-wrap{gap:14px}}
[hidden]{display:none!important}.footer-links{gap:16px}.footer-links a:hover{color:var(--mint-dark)}.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;margin-bottom:22px;border:1px solid #d7e8da;border-radius:9px;background:var(--soft);font-size:10px;color:var(--mint-dark)}.demo-banner>span{display:flex;align-items:center;gap:8px}.welcome-shell{max-width:1200px;min-height:100vh;margin:auto;padding:0 48px;display:flex;flex-direction:column}.welcome-header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.welcome-header .brand{padding:0}.welcome-header nav{display:flex;align-items:center;gap:24px;font-size:12px;color:var(--muted)}.welcome-header .badge{font-size:10px;padding:7px 10px}.welcome-main{display:grid;grid-template-columns:1.2fr 1fr;gap:85px;align-items:center;flex:1;padding:58px 0}.welcome-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.9px;color:#779180;margin-bottom:21px}.welcome-story h1{font-size:67px;line-height:1.15;font-weight:800;letter-spacing:-3.6px}.welcome-story h1 span{color:#489369;position:relative}.welcome-description{font-size:14px;color:var(--muted);line-height:1.9;max-width:390px;margin:24px 0}.welcome-benefits{display:flex;flex-direction:column;gap:12px;font-size:12px;color:#77867b}.welcome-benefits span{display:flex;align-items:center;gap:10px}.welcome-benefits svg{color:#6c9c7b}.welcome-note{display:flex;align-items:center;gap:15px;background:#e9f3e9;border:1px solid #e1ebe0;border-radius:11px;color:#58734f;padding:17px 19px;max-width:366px;margin-top:34px}.welcome-note strong{font-family:var(--title);font-size:12px}.welcome-note p{font-size:10px;margin-top:5px;color:#89967f}.welcome-feature-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:23px}.welcome-feature-tags span{font-size:9px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:5px 9px;background:var(--panel)}.welcome-start{padding:30px}.welcome-start h2{font-size:25px;font-weight:800;letter-spacing:-1px;margin:15px 0 9px}.welcome-start>p{font-size:11px;line-height:1.8}.welcome-start form{display:flex;flex-direction:column;gap:17px;margin-top:23px}.welcome-start input,.welcome-start select{padding:11px 12px;font-size:12px}.welcome-start .field{gap:7px}.welcome-start .form-grid{gap:14px}.welcome-start .form-error:empty{display:none}.welcome-submit{width:100%;padding:13px;font-size:12px;margin-top:3px}.welcome-divider{position:relative;border-top:1px solid var(--line);text-align:center;margin:26px 0 21px;height:0}.welcome-divider span{position:relative;top:-9px;padding:0 10px;background:var(--panel);font-size:10px;color:var(--muted)}.welcome-demo{width:100%;padding:12px;font-size:11px}.welcome-privacy{margin-top:16px!important;font-size:9px!important;color:var(--muted);line-height:1.8}.welcome-footer{margin:0;padding:18px 0;border-top:1px solid var(--line)}.loading-error{color:#bf6253;line-height:1.8;margin-top:16px}.dark .welcome-note{background:#263b2b;border-color:#314933;color:#add3a8}.dark .welcome-story h1 span{color:#96cfa7}.dark .demo-banner{border-color:#36583e}@media(max-width:1000px){.welcome-shell{padding:0 32px}.welcome-main{gap:40px;padding:42px 0}.welcome-story h1{font-size:57px;letter-spacing:-2.8px}.welcome-start{padding:24px}.welcome-start h2{font-size:22px}}@media(max-width:700px){.welcome-shell{padding:0 20px}.welcome-header{height:80px}.welcome-header nav{gap:14px;font-size:10px}.welcome-header .badge{display:none}.welcome-main{grid-template-columns:1fr;gap:32px;padding:35px 0}.welcome-story h1{font-size:49px;letter-spacing:-2.6px}.welcome-eyebrow{font-size:8px;margin-bottom:17px}.welcome-description{font-size:12px;margin:19px 0;max-width:none}.welcome-benefits{flex-direction:row;flex-wrap:wrap;gap:10px;font-size:9px}.welcome-benefits span{gap:5px}.welcome-note{margin-top:22px;max-width:none}.welcome-feature-tags{display:none}.welcome-start{padding:25px}.welcome-footer{gap:15px}.footer-links{gap:12px}.demo-banner{flex-wrap:wrap;padding:12px;gap:10px}.demo-banner .button{margin-left:auto}}@media(prefers-reduced-motion:no-preference){.welcome-start{animation:modal-in .35s ease}.welcome-story{animation:modal-in .3s ease}}
.main-account-panel{margin:0 0 22px}.account-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px}.account-panel.compact{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:13px 16px}.account-heading{display:flex;align-items:center;gap:11px;min-width:0}.account-heading strong{font-family:var(--title);font-size:12px;font-weight:750}.account-heading p{font-size:10px;color:var(--muted);line-height:1.6;margin-top:4px;overflow-wrap:anywhere}.account-icon{display:grid;place-items:center;background:var(--bg);width:33px;height:33px;border-radius:9px;flex-shrink:0}.account-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.account-actions .button{font-size:10px}.account-note{font-size:9px;color:var(--muted);line-height:1.8;margin-top:11px}.account-panel.compact .account-actions{margin-top:0;margin-left:auto}.account-panel.compact .account-note{margin:0;width:100%}.account-panel.compact>.google-button{margin-left:auto;margin-top:0}.google-button{border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:11px;padding:11px 15px;margin-top:15px}.google-button:hover{background:var(--soft)}.sync-badge{font-size:9px;display:flex;align-items:center;gap:5px;color:var(--muted);margin-left:12px;white-space:nowrap}.sync-badge i{width:5px;height:5px;border-radius:50%;background:#95a39a}.sync-badge.synced{color:#4e9869}.sync-badge.synced i{background:#70b58a}.sync-badge.pending,.sync-badge.offline{color:#c18c58}.sync-badge.pending i,.sync-badge.offline i{background:#d3ac75}.sync-badge.conflict,.sync-badge.error{color:#bc715a}.sync-badge.conflict i,.sync-badge.error i{background:#d49172}.account-error{font-size:11px;color:#bd735e;margin:11px 0;line-height:1.7}.welcome-start [data-cloud-account]{margin-top:21px}.welcome-start .account-panel{background:var(--soft);padding:14px}.welcome-start .google-button{width:100%}.welcome-start .account-heading strong{font-size:11px}.welcome-start .account-heading p{font-size:9px}.welcome-start .sync-badge{margin-left:auto}.welcome-start form{margin-top:22px}@media(max-width:700px){.account-panel.compact{display:block}.account-panel.compact .account-actions{margin-top:12px}.account-panel.compact .google-button{margin-top:12px;width:100%}.account-panel.compact .account-note{margin-top:9px}.account-heading{flex-wrap:wrap}.sync-badge{margin-left:auto}.account-actions{gap:8px}.account-heading p{font-size:9px}.welcome-start .sync-badge{margin-left:44px}.account-panel.compact .account-heading strong{font-size:11px}}
