:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#26342f;background:#f5f7f8;font-synthesis:none;--bg:#f5f7f8;--panel:#fff;--text:#26342f;--muted:#8b9590;--line:#e7ece9;--soft:#f5f8f6;--primary:#2c7866;--primary-soft:#edf5f0;--input:#fff;--shadow:0 3px 15px #243a2e03;font-size:14px}*{box-sizing:border-box}body{margin:0}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:.4}button{color:inherit}a{color:var(--primary)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #8dbba9;outline-offset:3px}button,select{touch-action:manipulation}h1,h2,h3,h4,p{margin:0}h3{font-size:16px;font-weight:650;letter-spacing:.1px}button{border:0;background:none}input,select,textarea{background:var(--input);border:1px solid var(--line);border-radius:7px;padding:10px 11px;color:var(--text);min-width:0;max-width:100%}input[type=checkbox]{accent-color:var(--primary);width:16px;height:16px;margin:0;flex:none}input[type=month]{color-scheme:light}input[type=number]{width:100%}select{cursor:pointer}small{font-size:11px}.app-shell{min-height:100vh}.sidebar{width:220px;position:fixed;inset:0 auto 0 0;background:var(--panel);border-right:1px solid var(--line);padding:34px 18px 20px;display:flex;flex-direction:column;z-index:40}.brand{display:flex;align-items:center;gap:12px;margin:0 15px 47px;text-decoration:none;color:var(--text);font-size:25px;font-weight:750;letter-spacing:3px}.brand small{display:block;font-size:8px;font-weight:600;letter-spacing:1.4px;color:#7f8d85;margin-top:3px}.brand-mark{width:39px;height:43px;display:grid;place-items:center;border-radius:12px;background:var(--primary);color:#fff}.workspace-label{font-size:10px;color:#97a099;letter-spacing:1.5px;margin:0 17px 15px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{display:flex;gap:13px;align-items:center;text-align:left;padding:13px 16px;border-radius:7px;color:#77827c;font-size:13px;font-weight:500}.sidebar nav button.active{background:var(--primary-soft);color:var(--primary);font-weight:650}.sidebar nav button:hover{background:var(--soft)}.nav-new{font-style:normal;font-size:9px;padding:2px 5px;background:#eef1ef;color:#9ba59e;margin-left:auto;border-radius:3px}.sidebar-bottom{margin-top:auto;padding-top:50px}.privacy-card{padding:18px 16px 15px;border:1px solid var(--line);border-radius:9px;background:var(--soft)}.privacy-card svg{color:var(--primary);display:block;margin-bottom:10px}.privacy-card b{font-size:11px;font-weight:600}.privacy-card p{font-size:10px;line-height:1.9;color:#939b96;margin-top:6px}.theme-button{display:flex;align-items:center;gap:10px;font-size:11px;color:#7d8881;padding:19px 12px}.version-label{padding-left:12px;font-size:9px;color:#adb4ae}.workspace{margin-left:220px}.topbar{height:75px;border-bottom:1px solid var(--line);background:var(--panel);padding:0 38px;display:flex;align-items:center;justify-content:space-between;gap:12px}.breadcrumb{display:flex;align-items:center;gap:15px;font-size:11px;color:#9ba39f}.breadcrumb strong{color:#5c6b62;font-weight:500}.slash{color:#c6ccc8}.top-actions,.actions{display:flex;align-items:center;gap:12px}.save-status{display:flex;align-items:center;gap:6px;font-size:10px;color:#8c9891;margin-right:10px}.save-status i,.status-dot{width:6px;height:6px;border-radius:50%;background:#7ea68e;flex:none}.save-status i.pending{background:#d4a267}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;border:1px solid var(--line);border-radius:7px;background:var(--panel);font-size:12px;font-weight:550;min-height:36px;white-space:nowrap}.button:hover{background:var(--soft)}.button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.button.primary:hover{filter:brightness(1.1)}.button.compact{padding:8px 11px;font-size:11px}.icon-button{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;width:30px;height:30px;color:#8b9690;flex:none}.icon-button:hover{background:var(--soft);color:var(--primary)}.main-content{max-width:1640px;margin:auto;padding:36px 38px 18px}.page-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:9px;letter-spacing:1.7px;color:#929e96;font-weight:550}.page-intro h1{font-size:29px;font-weight:700;letter-spacing:.3px;margin:9px 0}.title-dot{color:#6aa28b;margin-left:5px}.page-intro p{font-size:12px;color:#8e9992}.mode-toggle{display:flex;align-items:center;gap:8px;color:#819086;font-size:10px}.toggle-track{display:block;width:26px;height:15px;border:1px solid #dce4df;border-radius:10px;background:#e6ebe8;padding:2px}.toggle-track i{display:block;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0002}.mode-toggle.active .toggle-track{background:var(--primary)}.mode-toggle.active .toggle-track i{transform:translate(10px)}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px}.plan-select{display:flex;align-items:center;gap:10px}.small-label{font-size:10px;color:#919a95}.plan-select select{padding:9px 30px 9px 11px;border-color:var(--line);min-width:170px;font-size:11px;font-weight:600}.toolbar-end{display:flex;align-items:center;gap:14px}.month-picker{display:flex;align-items:center;gap:7px;background:var(--panel);padding:0 10px;border:1px solid var(--line);border-radius:6px;color:#7a8c81}.month-picker input{border:0;padding:8px 0;font-size:11px;width:112px}.range-tabs{display:flex;gap:2px;border:1px solid var(--line);padding:3px;background:#edf1ee;border-radius:6px}.range-tabs button{padding:5px 12px;color:#91a096;font-size:10px;border-radius:4px}.range-tabs .active{background:var(--panel);box-shadow:0 1px 3px #0001;color:#456457}.policy-strip{background:#f8f5ec;border:1px solid #eee9dd;border-radius:6px;padding:10px 13px;font-size:10px;display:flex;align-items:center;gap:8px;color:#a18d65;margin-bottom:23px}.policy-strip b{font-weight:550}.policy-strip .text-button{margin-left:auto;white-space:nowrap;font-size:10px;color:#a18d65}.amber-dot{background:#c7ad78}.text-button{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--primary);padding:0}.text-button:hover{text-decoration:underline}.text-button.danger,.danger{color:#b57368}.selected-caption{display:flex;justify-content:space-between;font-size:9px;color:#94a096;margin-bottom:11px}.selected-caption span:first-child{font-size:10px;color:#7b8b7f}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.metric-card{padding:21px 21px 18px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.metric-top{display:flex;justify-content:space-between;align-items:center;color:#8b9790;font-size:11px}.metric-top svg{color:#9aaba1}.metric-value{font-size:29px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.7px;white-space:nowrap;margin:17px 0 11px}.metric-value small{font-size:17px;font-weight:450;margin-right:4px}.metric-card p{color:#9ba49e;font-size:9px}.metric-card.featured{background:var(--primary);border-color:var(--primary);color:#fff}.featured .metric-top,.featured .metric-top svg{color:#c5dcd0}.featured p{color:#abcdbd}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(270px,1fr);gap:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:20px;box-shadow:var(--shadow);min-width:0}.dashboard-grid>.panel{margin-bottom:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.section-heading select{font-size:10px;padding:7px 10px}.section-heading .hint{margin-top:7px}.hint{font-size:11px;color:var(--muted);line-height:1.8}.chart-headline{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.chart-headline>b{font-size:28px;font-weight:650;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.chart-headline>span{font-size:9px;color:#9aa59d}.chart-headline .legend{margin-left:auto;display:flex;align-items:center;gap:6px;color:#82968a}.legend i{height:6px;width:6px;background:#328876;border-radius:50%}.chart{width:100%;margin-top:5px}.chart-footer{border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:9px;color:#9ba89e}.chart-footer>span{display:flex;gap:6px;align-items:center}.chart-footer .text-button{font-size:10px}.dashed-key{display:inline-block;width:14px;border-top:1px dashed #8fa99a}.allocation-panel{padding:24px 22px}.allocation-panel h3{font-size:14px}.allocation-total{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.allocation-total small{color:#97a197;font-size:10px}.allocation-total b{font-size:25px;font-variant-numeric:tabular-nums;font-weight:650}.allocation-bar{display:flex;height:9px;border-radius:4px;overflow:hidden;gap:3px;margin-bottom:22px}.allocation-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:11px}.allocation-row>span{display:flex;gap:8px;align-items:center;color:#89988d}.allocation-row i{width:7px;height:7px;border-radius:2px}.allocation-row b{font-weight:550;font-variant-numeric:tabular-nums}.surplus-box{background:var(--soft);border-radius:8px;text-align:center;padding:18px 8px;margin:17px 0}.surplus-box>span{display:block;font-size:10px;color:#92a197}.surplus-box strong{display:block;font-size:25px;color:var(--primary);font-variant-numeric:tabular-nums;margin:7px 0}.surplus-box small{color:#8eaa98;font-size:9px}.full{width:100%}.justify-center{justify-content:center}.upcoming-event{display:flex;align-items:center;gap:14px;padding:14px 0;position:relative;border-bottom:1px solid var(--line)}.upcoming-event:last-of-type{border-bottom:0}.event-line-dot{height:8px;width:8px;border:2px solid #6fa189;border-radius:50%;flex:none}.upcoming-event b{font-size:11px;font-weight:550}.upcoming-event p{font-size:9px;color:#9caaa0;margin-top:6px}.upcoming-event p span{margin-left:12px}.upcoming-event strong{margin-left:auto;font-size:12px;color:#5a7565;font-variant-numeric:tabular-nums;font-weight:550}.add-event-button{background:var(--soft);border:1px dashed #dce7df;width:100%;border-radius:6px;padding:10px;margin-top:13px;color:#7b9987;font-size:10px}.goal-summary .eyebrow{font-size:10px;letter-spacing:1px}.goal-summary .section-heading svg{color:#a1b5a9}.goal-amount{font-size:32px;font-weight:650;letter-spacing:-.5px;margin:15px 0 22px}.progress{height:6px;background:#edf2ee;border-radius:6px;overflow:hidden;margin-bottom:10px}.progress span{display:block;background:#679b7b;height:100%;border-radius:6px}.line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}.line.hint{font-size:9px}.goal-date{display:flex;align-items:center;justify-content:space-between;background:var(--soft);border-radius:7px;padding:15px 12px;margin:27px 0 23px;font-size:10px;color:#8a9b8e}.goal-date b{font-size:14px;color:var(--text);font-weight:550}.account-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:22px 0;padding:20px 24px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.account-strip>div{display:flex;flex-direction:column;gap:8px;border-right:1px solid var(--line);padding-left:17px}.account-strip>div:first-child{padding-left:0}.account-strip>div:last-child{border:0}.account-strip span{font-size:9px;color:#93a096}.account-strip b{font-weight:550;font-size:15px;font-variant-numeric:tabular-nums}.year-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:10px;color:#90a094;padding:18px 24px}.year-summary b{font-size:12px;color:#496455;font-weight:550;margin-left:6px}.page-footer{display:flex;justify-content:space-between;align-items:center;margin:30px 0 9px;color:#9eaaa2;font-size:9px;gap:10px}.page-footer span:first-child{display:flex;align-items:center;gap:5px}.storage-note{text-align:center;font-size:9px;color:#a7b1aa;line-height:1.7}.negative{color:#b36a5d!important}.loading-state{padding:100px;text-align:center;color:var(--muted)}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;font-size:12px;min-width:0}.field>span{font-size:11px;color:#7d8c82}.field input,.field select,.field textarea{width:100%}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.money-input{position:relative;display:flex;align-items:center}.money-input>span{position:absolute;left:12px;color:#93a699}.money-input input{padding-left:29px;font-variant-numeric:tabular-nums}.income-row{display:grid;grid-template-columns:1fr 1fr 1.4fr 30px;gap:12px;align-items:center}.settings-content>.panel>h3{margin-bottom:22px}.contribution-card{padding:17px 0;border-top:1px solid var(--line)}.contribution-card .section-heading{margin-bottom:14px}.check{display:flex;align-items:center;gap:8px;color:#7c8d81;font-size:11px}.notice{background:#f9f5ec;border:1px solid #eee8dc;border-radius:7px;padding:12px;color:#a18d65;font-size:11px;line-height:1.8;margin:12px 0}.notice p+p{margin-top:5px}.tag{display:inline-flex;align-items:center;white-space:nowrap;background:var(--primary-soft);padding:5px 7px;border-radius:5px;font-size:9px;color:var(--primary)}.tag.amber{background:#f8f2e5;color:#a58e61}details{font-size:11px;line-height:1.8;color:#809286}summary{cursor:pointer;font-size:12px;color:var(--text);padding:10px 0;font-weight:550}details>p{margin:8px 0}details[open]>summary{margin-bottom:8px}.expense-row{padding:23px 0;border-top:1px solid var(--line)}.expense-row .text-button{margin-top:4px}.timeline-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.sticky-panel{position:sticky;top:20px}.month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.month-cell{display:flex;flex-direction:column;gap:15px;border:1px dashed #dde6e0;padding:14px 12px;border-radius:8px;text-align:left;background:var(--panel)}.month-cell>span{display:flex;justify-content:space-between;font-size:11px;color:#8ba192}.month-cell>b{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.month-cell.selected{border:1px solid var(--primary);background:var(--primary-soft)}.month-cell.actual{border-style:solid}.month-cell>span>small{font-size:8px}.event-dots{display:flex;align-items:center;gap:4px}.event-dots i{display:block;height:4px;width:4px;border-radius:50%;background:#d7ab75}.event-dots small{font-size:8px;color:#9fac9e}.count{font-weight:400;font-size:11px;color:#9bab9f;margin-left:5px}.event-item{display:flex;align-items:center;gap:13px;padding:18px 0;border-top:1px solid var(--line);flex-wrap:wrap}.event-item.disabled{opacity:.5}.event-marker{background:var(--soft);border:1px solid var(--line);padding:7px;border-radius:6px;text-align:center;font-size:15px;min-width:45px}.event-marker small{display:block;font-size:8px;color:#94a397}.event-copy{flex:1;min-width:130px}.event-title{font-size:12px;font-weight:550;color:var(--text)}.event-copy p{margin-top:7px;font-size:11px;color:var(--primary)}.event-copy p span{display:block;font-size:9px;color:#98a79b;margin-top:4px}.event-actions{display:flex;align-items:center;gap:10px}.event-actions .text-button{font-size:10px}.event-editor .section-heading{margin-bottom:15px}.event-editor details{margin:10px 0}.context-options{display:grid;gap:10px;margin:25px 0}.context-option{display:flex;justify-content:space-between;border:1px solid var(--line);padding:13px;border-radius:7px;font-size:11px;color:#83a08e}.sticky-panel>h2{margin:15px 0 8px;font-size:27px}.scenario-pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.scenario-pill{display:flex;align-items:center;gap:8px;font-size:11px;padding:9px 12px;border:1px solid var(--line);border-radius:6px;cursor:pointer}.scenario-pill.active{background:var(--soft)}.scenario-pill input{width:13px;height:13px}.scenario-pill i{height:7px;width:7px;border-radius:50%}.table-scroll{overflow:auto;scrollbar-width:thin}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}th,td{text-align:right;padding:15px 13px;border-bottom:1px solid var(--line)}th:first-child,td:first-child{text-align:left;padding-left:0}th{font-size:10px;color:#93a397;font-weight:500}td{font-size:11px;color:#6b8072}td.emphasis{font-weight:600;color:var(--primary)}td small{display:block;font-size:8px;color:#a2afa5;margin-top:6px}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:13px;color:#96a399;font-size:10px;margin-top:17px}.pagination>span:first-child{margin-right:auto}.pagination .button{font-size:10px;padding:7px 10px}.difference-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:25px}.difference-grid>div{background:var(--soft);border-radius:8px;padding:15px}.difference-grid span{display:block;font-size:10px;color:#8fa094}.difference-grid b{display:block;font-size:15px;font-weight:550;margin-top:12px;color:var(--primary)}.goal-card{border-top:1px solid var(--line);padding-top:20px;margin-bottom:15px}.drawer-backdrop,.modal-backdrop{position:fixed;inset:0;background:#14251e55;z-index:100;display:flex;justify-content:flex-end}.detail-drawer{position:relative;width:440px;max-width:100%;height:100%;overflow:auto;background:var(--panel);padding:45px 28px 28px}.drawer-close{position:absolute;top:9px;right:12px}.breakdown{margin:20px 0}.breakdown>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;font-size:11px;color:#839989}.breakdown dd{margin:0;font-variant-numeric:tabular-nums;color:var(--text)}.breakdown .total{border-top:1px solid var(--line);margin-top:7px;font-weight:600;color:var(--primary)}.month-detail>details{border-top:1px solid var(--line)}.trace-block{padding:12px;background:var(--soft);border-radius:6px;margin-bottom:10px;font-size:10px;line-height:1.9;overflow-wrap:anywhere}.trace-block b{color:#6e8e7a}.trace-block p{margin:5px 0}.trace-block small{font-size:9px}.source-link{display:block;font-size:10px;padding:6px 0}.month-detail>.button{margin:18px 0}.modal-backdrop{justify-content:center;align-items:center;padding:20px}.import-dialog{background:var(--panel);padding:30px;border:1px solid var(--line);border-radius:13px;max-width:550px;font-size:12px;line-height:1.9}.import-dialog h2{margin-bottom:15px}.import-dialog .actions{justify-content:flex-end;margin-top:20px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;background:#245f50;color:#fff;border:1px solid #8aaf9c55;border-radius:8px;padding:12px 20px;box-shadow:0 8px 30px #0002;font-size:12px;z-index:150;max-width:95%}.error-banner{display:flex;align-items:center;justify-content:space-between;background:#fff1ed;border:1px solid #e7c9bf;border-radius:8px;padding:12px 15px;margin-bottom:16px;color:#b36a5d;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.empty{padding:35px 10px;text-align:center;color:#9aa79e;font-size:12px}.mobile-menu,.nav-backdrop{display:none}[data-theme=dark]{--bg:#15231e;--panel:#1b2b24;--text:#d8e5dc;--muted:#8a9e90;--line:#2b4034;--soft:#203329;--primary:#74ad92;--primary-soft:#243e30;--input:#1b2b24;background:var(--bg);color:var(--text)}[data-theme=dark] .featured{background:#2c6956;color:#fff}[data-theme=dark] .button.primary{background:#3a7962;color:#fff;border-color:#3a7962}[data-theme=dark] .range-tabs{background:#203329}[data-theme=dark] .policy-strip,[data-theme=dark] .notice{background:#332e20;border-color:#48412e;color:#b5a17b}[data-theme=dark] .error-banner{background:#3e2922;border-color:#694b40}[data-theme=dark] .nav-new{background:#2b4034}[data-theme=dark] input[type=month]{color-scheme:dark}[data-theme=dark] .progress{background:#2c4033}@media(min-width:1600px){.main-content{padding-top:44px}.metric-card{padding:25px}.metric-value{font-size:34px}.panel{padding:28px}}@media(max-width:1190px){.sidebar{width:185px;padding:30px 12px 18px}.brand{margin-left:12px;font-size:23px;gap:9px}.workspace{margin-left:185px}.main-content{padding:30px 25px 18px}.topbar{padding:0 25px}.metric-grid{gap:12px}.metric-card{padding:17px 14px}.metric-value{font-size:25px}.metric-card p{font-size:8px}.dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:16px}.panel{padding:20px}.timeline-layout{grid-template-columns:minmax(0,1fr) 285px;gap:16px}.month-grid{grid-template-columns:repeat(3,1fr)}.event-actions{width:100%;justify-content:flex-end}.save-status{font-size:9px}.difference-grid{grid-template-columns:repeat(3,1fr)}.account-strip b{font-size:12px}.chart-headline>b{font-size:25px}.top-actions{gap:8px}}@media(max-width:940px){.sidebar{width:170px}.workspace{margin-left:170px}.save-status{display:none}.main-content{padding:25px 20px}.topbar{padding:0 20px;height:65px}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-value{font-size:30px}.metric-card p{font-size:10px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.panel{margin-bottom:0}.allocation-panel,.goal-summary{display:none}.toolbar{flex-wrap:wrap}.toolbar-end{margin-left:auto}.plan-select .small-label{display:none}.page-intro h1{font-size:27px}.mode-toggle{font-size:9px}.account-strip{grid-template-columns:repeat(3,1fr);gap:20px}.account-strip>div{padding:0;border:0}.year-summary{flex-wrap:wrap}.timeline-layout{grid-template-columns:1fr}.sticky-panel{position:static}.month-grid{grid-template-columns:repeat(4,1fr)}.cols3,.cols4{grid-template-columns:repeat(2,minmax(0,1fr))}.income-row{grid-template-columns:1fr 1fr}.income-row>.icon-button{justify-self:end}.policy-extra{display:none}.page-footer{flex-wrap:wrap}.page-intro{align-items:flex-start}.page-intro p{max-width:270px;line-height:1.8}}@media(max-width:640px){.sidebar{transform:translate(-100%);transition:transform .18s;width:220px}.nav-open .sidebar{transform:translate(0)}.nav-open .nav-backdrop{display:block;position:fixed;inset:0;background:#14251e55;z-index:35}.workspace{margin-left:0}.mobile-menu{display:inline-flex}.topbar{height:58px;padding:0 15px}.breadcrumb{gap:8px}.breadcrumb>span{display:none}.top-actions{gap:6px}.top-actions .button{font-size:10px;padding:7px 9px}.main-content{padding:26px 16px 18px}.eyebrow{font-size:8px;letter-spacing:1.2px}.page-intro{margin-bottom:23px}.page-intro h1{font-size:27px}.page-intro p{font-size:11px;max-width:220px}.intro-actions{padding-top:7px}.mode-toggle{gap:5px;font-size:9px}.mode-toggle svg{display:none}.toolbar{gap:12px}.plan-select{width:100%;gap:8px}.plan-select .small-label{display:block}.plan-select select{flex:1;min-width:0}.toolbar-end{width:100%;justify-content:space-between;gap:10px}.range-tabs{flex:1;justify-content:space-around}.range-tabs button{padding:5px 9px}.policy-strip{font-size:8px;padding:9px;margin-bottom:21px;gap:6px}.policy-strip .text-button{font-size:8px}.metric-grid{gap:11px;margin-bottom:18px}.metric-card{padding:17px 14px}.metric-top{font-size:10px}.metric-top svg{width:15px;height:15px}.metric-value{font-size:26px;letter-spacing:-.6px;margin-top:15px}.metric-value small{font-size:14px}.metric-card p{font-size:8px;line-height:1.6}.dashboard-grid{gap:16px}.panel{padding:19px 16px;border-radius:9px}.panel h3{font-size:14px}.section-heading{gap:10px}.section-heading .hint{font-size:9px}.chart-headline>b{font-size:27px}.chart-headline .legend{display:none}.chart-headline>span{font-size:8px}.chart-footer{font-size:8px;gap:5px}.chart-footer .text-button{font-size:9px}.account-strip{padding:18px 16px;grid-template-columns:repeat(2,1fr);margin-top:16px}.account-strip span{font-size:8px}.account-strip b{font-size:14px}.year-summary{gap:15px}.year-summary>span:first-child{width:100%}.page-footer{font-size:8px;line-height:1.7;margin-top:22px}.storage-note{font-size:8px;text-align:left}.month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.month-cell{padding:13px 10px;gap:13px}.month-cell>b{font-size:15px}.event-actions{justify-content:flex-end}.event-editor .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading .button{font-size:10px;padding:8px 10px}.form-grid,.cols3,.cols4{grid-template-columns:1fr}.income-row{grid-template-columns:1fr 1fr;gap:8px}.income-row select{font-size:10px}.field input,.field select,.field textarea{font-size:13px;padding-top:11px;padding-bottom:11px}.field{margin-bottom:14px}.field>span{font-size:10px}.notice,.hint{font-size:10px}.difference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.difference-grid b{font-size:14px}.pagination{gap:9px;font-size:9px;flex-wrap:wrap}.pagination>span:first-child{width:100%}.detail-drawer{width:100%;max-height:93vh;align-self:flex-end;border-radius:18px 18px 0 0;padding:38px 22px 30px}.modal-backdrop{padding:15px}.import-dialog{padding:23px}.toast{font-size:10px;width:max-content}.topbar .icon-button{width:27px}.expense-row{padding:20px 0}.allocation-panel{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.sidebar,.topbar,.toolbar,.policy-strip,.intro-actions,.page-footer,.storage-note,.button,.text-button{display:none!important}.workspace{margin:0}.panel{break-inside:avoid;border:1px solid #ddd}.main-content{padding:0;background:#fff}}
