.app-page{background:var(--bg);color:#18233c}.app-shell{min-height:100vh}.sidebar{width:246px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid #edf0f5;padding:25px 17px 18px;display:flex;flex-direction:column;z-index:10}.sidebar-brand{padding:0 10px;margin-bottom:43px}.sidebar-brand .brand-icon{width:32px;height:32px}.side-label{padding:0 11px;margin-bottom:13px;font-size:8px;font-weight:700;letter-spacing:1.2px;color:#a1aabc}.side-nav{display:grid;gap:4px}.nav-item{border:0;background:transparent;display:flex;align-items:center;gap:12px;text-align:left;min-height:40px;padding:0 11px;border-radius:9px;color:#7a8497;font-size:11px;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.nav-item:hover{background:#f7f8fc;color:#3b4e76}.nav-item.active{color:#4169ed;background:#edf1ff;font-weight:700}.nav-icon{font-size:16px;width:17px;text-align:center}.sidebar-bottom{margin-top:auto}.side-tip{padding:15px 13px;border-radius:12px;background:linear-gradient(140deg,#f3f6ff,#f9faff);margin:0 0 15px}.side-tip>span{color:#4d6fe8;font-size:16px}.side-tip b{display:block;font-size:10px;margin:8px 0 5px}.side-tip p{font-size:9px;line-height:1.7;color:#8691a5;margin:0}.logout-button{margin-top:2px}.main-content{margin-left:246px;min-height:100vh;position:relative}.topbar{height:67px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid #eaedf3;background:rgba(255,255,255,.84);position:sticky;top:0;z-index:8;backdrop-filter:blur(12px)}.breadcrumb{display:flex;gap:10px;align-items:center;font-size:10px;color:#9ba4b5}.breadcrumb b{color:#d0d5df;font-weight:400}.breadcrumb strong{color:#39455d;font-weight:700}.topbar-actions{display:flex;align-items:center;gap:15px}.icon-button{width:32px;height:32px;display:grid;place-items:center;border:1px solid #edf0f5;background:white;border-radius:9px;color:#7b879e;cursor:pointer;position:relative}.notification-button i{position:absolute;width:5px;height:5px;background:#ed806e;border-radius:50%;right:6px;top:6px}.user-chip{border:0;background:transparent;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer}.user-avatar{width:30px;height:30px;display:grid;place-items:center;background:#e9edff;color:#496ae1;border-radius:50%;font-weight:700;font-size:11px}.user-chip b,.user-chip small{display:block}.user-chip b{font-size:10px;color:#344058}.user-chip small{font-size:8px;color:#a0a8b7;margin-top:3px}.user-chevron{font-size:13px;color:#9aa3b2;margin-left:3px}.view-container{max-width:1420px;margin:auto;padding:29px 34px 50px}.app-view{display:none;animation:fadeIn .28s ease}.app-view.active{display:block}@keyframes fadeIn{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.welcome-row,.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.welcome-row h1,.page-heading h1{margin:8px 0 6px;font:800 24px Manrope;letter-spacing:-.8px;color:#1a2742}.welcome-row p,.page-heading p{margin:0;color:#8c96a9;font-size:11px}.welcome-row .section-kicker,.page-heading .section-kicker{font-size:8px}.wave{font-size:17px;color:#5577ea}.month-strip{height:39px;margin-top:23px;margin-bottom:13px;display:flex;align-items:center;gap:8px;color:#5e6980;font-size:10px;font-weight:700}.month-dot{height:7px;width:7px;border-radius:50%;background:#526fe2;box-shadow:0 0 0 4px #526fe214}.month-caption{color:#a2aab9;font-weight:400;padding-left:3px}.quiet-icon{margin-left:auto;background:transparent;border:0;color:#7b879b;font-size:17px;cursor:pointer}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.metric-card{background:#fff;border:1px solid #edf0f5;border-radius:12px;padding:16px 17px;min-height:111px;position:relative;overflow:hidden}.metric-card.primary-metric{background:linear-gradient(118deg,#365ad9,#5277ef);border-color:#4364df;color:#fff}.metric-top{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8993a6}.primary-metric .metric-top{color:#dce4ff}.metric-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#eff2ff;color:#5371e3;font-size:14px}.green-icon{color:#17a477!important;background:#e9f8f2!important}.red-icon{color:#dc776f!important;background:#fff0ed!important}.violet-icon{color:#9766d0!important;background:#f5efff!important}.metric-card>strong{display:block;font:800 19px Manrope;letter-spacing:-.7px;margin-top:11px;color:#202b44}.primary-metric>strong{color:white;position:relative;z-index:1}.metric-card>small{display:block;margin-top:4px;font-size:8px;color:#a0a9b8}.primary-metric>small{color:#dce4ff}.metric-decoration{position:absolute;right:7px;bottom:-37px;font:800 110px Manrope;color:#ffffff0e}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:14px;margin-top:14px}.surface{background:#fff;border:1px solid #edf0f5;border-radius:12px;padding:18px 19px}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-heading h2{margin:0;color:#27334b;font:700 13px Manrope;letter-spacing:-.2px}.card-heading p{font-size:9px;color:#9aa3b3;margin:5px 0 0}.select-small{border:1px solid #edf0f5;color:#768197;background:#fff;border-radius:7px;padding:7px 9px;font-size:9px;outline:none}.chart-legend{display:flex;gap:16px;margin-top:17px;color:#909aad;font-size:8px}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:6px;height:6px;border-radius:50%}.legend-income{background:#5578ed}.legend-expense{background:#60c4a0}.chart-wrap{height:168px;position:relative;margin-top:9px}.chart-wrap canvas{width:100%!important;height:100%!important}.empty-chart{position:absolute;inset:0;display:grid;place-items:center;color:#a3acbb;font-size:10px;background:#ffffffcf}.allocation-card{display:flex;flex-direction:column}.soft-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#f2efff;color:#9161ca}.allocation-content{flex:1;display:grid;place-items:center;padding:17px 2px 9px}.allocation-empty{text-align:center;max-width:235px}.allocation-empty>span{font-size:27px;color:#aab8f0}.allocation-empty>b{display:block;font-size:10px;margin:7px 0;color:#58647b}.allocation-empty p{font-size:9px;color:#9aa3b2;line-height:1.7;margin:0 0 11px}.allocation-footnote{font-size:8px;color:#a0a8b8;border-top:1px solid #f0f2f6;padding-top:11px}.allocation-bars{width:100%;display:grid;gap:12px}.allocation-item{display:grid;grid-template-columns:1fr auto;gap:5px;font-size:9px;color:#748097}.allocation-item b{color:#303d56}.allocation-track{height:5px;border-radius:5px;background:#f0f2f7;grid-column:1/3;overflow:hidden}.allocation-track i{height:100%;display:block;border-radius:5px;background:#5578ed}.allocation-item:nth-child(2) .allocation-track i{background:#29b487}.allocation-item:nth-child(3) .allocation-track i{background:#91a5ff}.allocation-item:nth-child(4) .allocation-track i{background:#c19ee5}.lower-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;margin-top:14px}.transaction-list{margin-top:10px}.empty-state{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#97a0b0;padding:24px}.empty-state>span{display:grid;place-items:center;width:38px;height:38px;background:#f4f6fb;border-radius:12px;color:#8195df;font-size:19px}.empty-state b{font-size:10px;color:#5d6980;margin-top:11px}.empty-state p{font-size:9px;line-height:1.6;margin:5px 0 0}.compact-empty{min-height:128px}.transaction-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f2f3f7}.transaction-row:last-child{border:0}.transaction-title{display:flex;align-items:center;gap:9px;min-width:0}.transaction-type-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#e9f8f2;color:#169e73;font-size:13px;flex:none}.transaction-type-icon.expense{background:#fff1ee;color:#d97d70}.transaction-title b,.transaction-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-title b{font-size:9px;color:#46536d}.transaction-title small{margin-top:4px;font-size:8px;color:#a0a8b8}.transaction-value{font-size:10px;font-weight:700;color:#169a70}.transaction-value.expense{color:#ce6e68}.goal-preview{padding:12px 0;border-bottom:1px solid #f2f3f7}.goal-preview:last-child{border:0}.goal-preview-head{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#46536d}.goal-preview-head span{color:#8e99ac}.progress-track{height:5px;background:#eef1f7;border-radius:5px;margin-top:9px;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#5072ec,#83a0ff);transition:width .6s}.goal-preview small{display:block;color:#a0a8b8;font-size:8px;margin-top:5px}
.page-heading{margin-bottom:22px}.page-heading .button{font-size:10px;padding:11px 14px}.transactions-surface{padding:0}.transaction-toolbar{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #eff1f5;gap:15px}.filter-tabs{display:flex;gap:4px}.filter-tab{border:0;background:transparent;color:#8c96a8;border-radius:7px;padding:8px 11px;font-size:9px;font-weight:600;cursor:pointer}.filter-tab.active{background:#edf1ff;color:#4169ed}.toolbar-filters{display:flex;gap:8px}.toolbar-filters input{height:31px;border:1px solid #edf0f5;border-radius:7px;padding:0 9px;outline:none;font-size:9px;color:#536079}.table-wrap{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:570px;text-align:left}.data-table th{height:42px;padding:0 17px;background:#fcfcfe;border-bottom:1px solid #f0f2f6;color:#a0a9b8;font-size:8px;letter-spacing:.7px;font-weight:700}.data-table td{height:53px;padding:0 17px;border-bottom:1px solid #f3f4f7;color:#69758c;font-size:9px;white-space:nowrap}.data-table td:first-child{color:#34415a;font-weight:600}.data-table td:last-child{text-align:right}.table-type{display:inline-block;padding:5px 8px;border-radius:20px;background:#eaf8f2;color:#159a70;font-size:8px}.table-type.expense{background:#fff1ee;color:#d4776c}.row-actions{display:flex;justify-content:flex-end;gap:5px}.row-action{border:0;background:transparent;color:#7c8dbb;cursor:pointer;font-size:12px;padding:5px}.row-action.delete{color:#c77d7a}.transactions-surface .empty-state{min-height:220px}
.planning-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}.form-grid label{display:grid;gap:7px}.form-grid input,.form-grid select{height:38px;font-size:10px}.form-grid textarea{height:auto;padding:10px;resize:vertical;font-size:10px}.allocation-form{margin-top:18px}.form-hint{margin:0;color:#939daf;font-size:9px;line-height:1.7}.full-span{grid-column:1/-1}.allocation-form .button{font-size:10px;padding:10px}.budget-summary{padding-top:20px}.budget-headline{display:flex;align-items:baseline;justify-content:space-between}.budget-headline strong{font:800 21px Manrope}.budget-headline span{font-size:9px;color:#949eaf}.budget-bar{height:8px;border-radius:8px;background:#edf0f7;margin:13px 0 17px;overflow:hidden}.budget-bar i{display:block;height:100%;background:#4f72eb;border-radius:8px}.budget-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:13px}.budget-breakdown>div{display:flex;gap:8px;align-items:center}.budget-breakdown i{width:7px;height:7px;border-radius:50%;background:#5578ed}.budget-breakdown div:nth-child(2) i{background:#63c69f}.budget-breakdown small,.budget-breakdown b{display:block}.budget-breakdown small{font-size:8px;color:#939daf}.budget-breakdown b{font-size:10px;color:#45516a;margin-top:3px}.secondary-planning{margin-top:14px}.pace-content{margin-top:16px;padding:15px;background:#f7f8fc;border-radius:9px}.pace-content b{font:700 15px Manrope}.pace-content p{font-size:9px;line-height:1.7;color:#8d97aa;margin:6px 0 0}.category-row{display:grid;grid-template-columns:1fr auto;gap:6px;padding:10px 0;border-bottom:1px solid #f1f3f6;font-size:9px;color:#778298}.category-row b{color:#39465f}.category-row .progress-track{grid-column:1/-1;margin:0;height:4px}
.goals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.goal-card{padding:18px;background:#fff;border:1px solid #edf0f5;border-radius:12px;position:relative}.goal-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.goal-card-icon{height:34px;width:34px;border-radius:10px;background:#eef2ff;color:#5273e6;display:grid;place-items:center;font-size:17px}.goal-menu{display:flex;gap:6px}.goal-card h3{font:700 13px Manrope;color:#35415b;margin:14px 0 6px}.goal-card .goal-deadline{font-size:9px;color:#9aa3b3}.goal-numbers{display:flex;align-items:baseline;justify-content:space-between;margin-top:20px}.goal-numbers strong{font:800 17px Manrope;color:#26344f}.goal-numbers span{font-size:9px;color:#9aa3b3}.goal-card .progress-track{height:7px;margin-top:10px}.goal-completion{font-size:8px;color:#8994a8;margin-top:8px;display:flex;justify-content:space-between}.goal-delete{border:0;background:transparent;color:#bd7a76;font-size:11px;cursor:pointer;padding:5px}
.simulation-form{margin-top:17px}.simulation-result{margin-top:15px}.simulation-result:not(:empty){border-radius:9px;background:#f2f5ff;padding:13px}.result-summary{font-size:9px;color:#7b879d}.result-summary b{display:block;font:800 19px Manrope;color:#3357ca;margin-top:5px}.result-comparison{font-size:9px;color:#76829a;line-height:1.7;margin-top:5px}.education-points{display:grid;gap:15px;margin-top:20px}.education-points>div{display:flex;gap:12px}.education-points>div>span{font:700 9px Manrope;color:#6d85df;padding-top:2px}.education-points p{font-size:9px;color:#818ca0;line-height:1.7;margin:0}.education-points b{color:#45516a}.disclaimer{font-size:8px;line-height:1.7;color:#a0a8b6;border-top:1px solid #eff1f5;padding-top:12px;margin:18px 0 0}.simulation-history{margin-top:14px}.simulation-history-list{margin-top:10px}.simulation-record{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #f0f2f6;font-size:9px;color:#788399}.simulation-record b{color:#44516a}.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.learning-card{position:relative;padding:22px}.learning-number{position:absolute;right:18px;top:18px;color:#e3e7f0;font:800 20px Manrope}.learning-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#edf1ff;color:#5472e2;margin-bottom:21px;font-size:18px}.learning-card .section-kicker{font-size:8px}.learning-card h2{font:700 14px Manrope;margin:9px 0}.learning-card>p{font-size:9px;line-height:1.8;color:#828da1}.learning-takeaway{border-top:1px solid #eef0f5;margin-top:17px;padding-top:13px;color:#5471d4;font-size:9px;font-weight:700}.learning-takeaway span{display:block;color:#929cad;line-height:1.6;font-weight:400;margin-top:6px}.learning-disclaimer{margin-top:14px;color:#a0a8b6;font-size:9px}.report-actions{display:flex;gap:8px}.report-actions .button{font-size:9px}.report-metrics{margin:0 0 14px}.report-table-card{padding-bottom:0}.report-table-card .data-table{min-width:460px}.report-table-card .data-table td{height:43px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.settings-grid .form-stack{margin-top:18px}.settings-grid .form-stack .button{justify-self:start;font-size:10px}.preference-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid #f0f2f6}.preference-row:first-of-type{margin-top:9px}.preference-row:last-of-type{border-bottom:0}.preference-row b{font-size:10px;color:#46526a}.preference-row p{font-size:9px;color:#939cad;margin:5px 0 0}.preference-row .button{padding:8px 11px;font-size:9px}.switch input{position:absolute;opacity:0}.switch span{display:block;width:34px;height:19px;border-radius:12px;background:#dfe3eb;position:relative;cursor:pointer;transition:background .2s}.switch span:after{content:"";position:absolute;left:3px;top:3px;width:13px;height:13px;border-radius:50%;background:white;transition:transform .2s}.switch input:checked+span{background:#4d70e8}.switch input:checked+span:after{transform:translateX(15px)}.danger-zone{grid-column:1/-1;border-color:#f1e7e5}.danger-zone .card-heading h2{color:#9a5553}.notifications-panel{position:fixed;right:28px;top:58px;width:285px;padding:16px;background:white;border:1px solid #edf0f5;border-radius:12px;box-shadow:var(--shadow);z-index:20}.panel-title{font:700 12px Manrope;margin-bottom:11px}.notifications-panel p{font-size:9px;color:#929cad}.notice-item{padding:9px 0;border-top:1px solid #f0f2f6;font-size:9px;line-height:1.6;color:#66728a}.notice-item b{display:block;color:#45516a}.toast-region{position:fixed;right:22px;bottom:22px;z-index:30;display:grid;gap:8px}.toast{max-width:330px;background:#142344;color:white;border-radius:9px;padding:12px 16px;font-size:11px;box-shadow:0 9px 28px #15234433;animation:fadeIn .2s}.toast.error{background:#a53d3d}
.app-dialog{border:0;border-radius:15px;padding:24px;width:min(490px,calc(100% - 28px));max-height:90vh;overflow:auto;box-shadow:0 25px 90px #17254835;color:#24314a}.app-dialog::backdrop{background:#101a31a6;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:19px}.dialog-heading h2{font:800 19px Manrope;margin:6px 0 0}.dialog-close{border:0;background:#f4f6fa;width:27px;height:27px;border-radius:8px;color:#808b9d;font-size:20px;cursor:pointer;line-height:1}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.dialog-actions .button{font-size:10px;padding:10px 14px}.app-dialog .form-grid{gap:12px}.app-dialog .form-stack{gap:9px}.app-dialog .form-stack input{height:39px}.app-dialog .form-grid label{font-size:10px}
.mobile-brand,.mobile-nav{display:none}
.local-data-notice{margin:13px 34px 0;padding:10px 12px;border:1px solid #f1e4c5;border-radius:9px;background:#fffbef;display:flex;align-items:center;gap:10px;color:#80692c}.local-data-notice>span{font-size:15px}.local-data-notice p{flex:1;margin:0;font-size:9px;line-height:1.6}.local-data-notice p b{font-weight:700}.local-data-notice button{border:0;background:transparent;color:#9a8b61;font-size:17px;cursor:pointer}
.savings-panel{margin-top:14px}.savings-panel>.card-heading>strong{font:800 16px Manrope;color:#345bd8}.savings-form{margin:18px 0 8px;align-items:end}.savings-form .button{font-size:10px;padding:10px}.savings-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #f0f2f6;font-size:10px;color:#42506a}.savings-row span b,.savings-row span small{display:block}.savings-row span small{color:#99a2b2;font-size:8px;margin-top:3px}.savings-row> b{color:#169a70}.category-budget-form{margin-top:14px;padding-top:13px;border-top:1px solid #f0f2f6}.category-budget-form .button{font-size:9px;padding:9px}.category-budgets{margin-top:7px}.category-budget-row{padding:10px 0;border-bottom:1px solid #f0f2f6}.category-budget-heading{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#46526a}.category-budget-heading span{color:#818da1}.category-budget-row .progress-track{height:5px;margin:7px 0}.category-budget-row>.inline-link{font-size:8px}.budget-warning{display:block;color:#ce6e68;font-size:8px;margin:2px 0 6px}
.app-page.dark-mode{--bg:#101827;--surface:#182337;color:#e3e9f5}.dark-mode .sidebar,.dark-mode .topbar,.dark-mode .surface,.dark-mode .metric-card:not(.primary-metric),.dark-mode .goal-card,.dark-mode .icon-button,.dark-mode .notifications-panel,.dark-mode .app-dialog{background:#182337;border-color:#25334a;color:#e3e9f5}.dark-mode .brand,.dark-mode .welcome-row h1,.dark-mode .page-heading h1,.dark-mode .metric-card>strong,.dark-mode .card-heading h2,.dark-mode .goal-card h3,.dark-mode .transaction-title b,.dark-mode .data-table td:first-child,.dark-mode .preference-row b{color:#e3e9f5}.dark-mode .main-content{background:#101827}.dark-mode .nav-item:hover,.dark-mode .nav-item.active{background:#24345b}.dark-mode .data-table th{background:#1b273a;border-color:#29364b}.dark-mode .data-table td,.dark-mode .transaction-row,.dark-mode .goal-preview,.dark-mode .preference-row{border-color:#29364b}.dark-mode .data-table td,.dark-mode .filter-tab,.dark-mode .user-chip b{color:#b7c2d6}.dark-mode .select-small,.dark-mode .toolbar-filters input,.dark-mode .button-outline{background:#1b293e;border-color:#314059;color:#ced7e7}.dark-mode .metric-card>small,.dark-mode .card-heading p,.dark-mode .page-heading p,.dark-mode .transaction-title small{color:#9baac0}.dark-mode .notifications-panel p,.dark-mode .notice-item{color:#abb8ca}.dark-mode .notice-item{border-color:#29364b}.dark-mode .side-tip{background:#202d46}.dark-mode .side-tip p{color:#9eacc2}.dark-mode .app-dialog{background:#182337}.dark-mode .form-stack input,.dark-mode .form-grid input,.dark-mode .form-grid select,.dark-mode .form-grid textarea{background:#152136;color:#e3e9f5;border-color:#314059}
