/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#17241f;--muted:#708078;--paper:#f4f3ed;--card:#fffefa;--teal:#153f38;--mint:#cce9d6;--coral:#ff866e;--gold:#e7bd65;--blue:#789acb;--line:#17241f1a;--shadow:0 18px 50px #21302912}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0}body{font-family:var(--font-geist-sans), "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select{color:inherit;font:inherit}button{cursor:pointer}:is(button:focus-visible,input:focus-visible,select:focus-visible){outline-offset:2px;outline:3px solid #ff866e52}.app-shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);z-index:20;background:#ecebe4;flex-direction:column;height:100vh;padding:30px 22px 24px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;background:0 0;border:0;align-items:center;gap:11px;padding:0 8px 32px;font-size:21px;font-weight:760;display:flex}.brand-mark{background:var(--teal);color:#fff;border-radius:11px;flex:none;place-items:center;width:36px;height:36px;font-family:Georgia,Songti SC,serif;display:grid}.nav-list{gap:7px;display:grid}.nav-item{color:#607069;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;transition:background .2s,color .2s,transform .2s;display:flex}.nav-item>span{text-align:center;width:20px;font-size:18px}.nav-item:hover{color:var(--ink);transform:translate(2px)}.nav-item.active{background:var(--card);color:var(--ink);font-weight:680;box-shadow:0 6px 24px #1c2d260d}.workspace{width:min(1420px,100%);margin:0 auto;padding:34px 42px 52px}.view-content{animation:.28s both view-in}@keyframes view-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.topbar{justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px;display:flex}.topbar-copy{min-width:0}.date-line{color:var(--muted);letter-spacing:.055em;margin:0 0 7px;font-size:12px;font-weight:700}h1{letter-spacing:-.04em;margin:0;font-family:Georgia,Songti SC,STSong,serif;font-size:clamp(26px,2.2vw,36px);font-weight:500}.top-actions{align-items:center;gap:10px;display:flex}.mobile-settings-button{display:none}.month-control{border:1px solid var(--line);background:#ffffff94;border-radius:13px;align-items:center;gap:2px;height:44px;padding:0 5px;display:flex}.month-control button{background:0 0;border:0;border-radius:9px;width:31px;height:31px;font-size:22px;line-height:1}.month-control button:hover{background:#fff}.month-control span{text-align:center;min-width:38px;font-size:12px;font-weight:700}.primary-button,.secondary-button{border:0;border-radius:13px;min-height:44px;padding:0 18px;font-weight:690;transition:transform .2s,box-shadow .2s,background .2s}.primary-button{background:var(--ink);color:#fff;box-shadow:0 10px 24px #17241f24}.primary-button span{margin-right:7px;font-size:18px;font-weight:400}.primary-button.wide{min-width:138px}.secondary-button{border:1px solid var(--line);color:var(--ink);box-shadow:none;background:#f6f6f1}.secondary-button:hover{background:#fff}.eyebrow{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:780}.hero-card{background:var(--teal);color:#fff;border-radius:28px;justify-content:space-between;align-items:center;min-height:294px;padding:38px 45px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 45px #153f3826}.hero-copy{z-index:1;position:relative}.hero-amount{letter-spacing:-.065em;font-variant-numeric:tabular-nums;margin:12px 0 7px;font-size:clamp(58px,6vw,90px);font-weight:750;line-height:1}.hero-amount.negative{color:#ffb6a7}.hero-amount small{vertical-align:.86em;margin-right:7px;font-size:.38em;font-weight:500}.hero-copy p{color:#ffffffa3;margin:0;font-size:14px}.hero-tags{flex-wrap:wrap;gap:8px;margin-top:23px;display:flex}.hero-tags span{color:#ffffffd9;background:#ffffff17;border-radius:999px;padding:7px 11px;font-size:11px}.flow-orbit{z-index:1;width:235px;position:relative}.orbit-ring{--free-ratio:50%;background:conic-gradient(var(--mint) 0 var(--free-ratio), var(--coral) var(--free-ratio) calc(var(--free-ratio) + 15%), #ffffff24 calc(var(--free-ratio) + 15%) 100%);border-radius:50%;place-items:center;width:174px;height:174px;margin:auto;display:grid;position:relative;transform:rotate(-20deg)}.orbit-ring:after{content:"";background:var(--teal);border-radius:50%;position:absolute;inset:14px}.orbit-center{z-index:1;text-align:center;position:relative;transform:rotate(20deg)}.orbit-center strong{letter-spacing:-.04em;font-size:32px;display:block}.orbit-center span{color:#ffffff94;font-size:11px}.orbit-caption{color:#ffffff9e;justify-content:space-between;margin-top:16px;font-size:10px;display:flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.metric-card{background:var(--card);text-align:left;border:1px solid #17241f0e;border-radius:19px;min-height:164px;padding:20px;transition:transform .2s,box-shadow .2s}.metric-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.metric-icon{border-radius:9px;place-items:center;width:31px;height:31px;margin-bottom:15px;font-size:11px;font-weight:820;display:grid}.metric-icon.income{color:#167553;background:#dff2e7}.metric-icon.expense{color:#bd523f;background:#ffebe5}.metric-icon.budget{color:#7f6120;background:#fff1c8}.metric-icon.savings{color:#4d678e;background:#e5ecf8}.metric-card>span:not(.metric-icon){color:var(--muted);font-size:12px;display:block}.metric-card>strong{letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin:6px 0 3px;font-size:clamp(25px,2.3vw,34px);display:block}.metric-card>small{color:#9aa59f;font-size:10px}.panel{background:var(--card);border:1px solid #17241f0e;border-radius:21px;padding:24px 26px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.panel h2{letter-spacing:-.025em;margin:5px 0 0;font-size:20px}.text-button{color:#698078;background:0 0;border:0;font-size:11px}.text-button:hover{color:var(--ink)}.lower-grid{grid-template-columns:1.55fr 1fr;gap:16px;margin-top:16px;display:grid}.chart{align-items:flex-end;gap:clamp(7px,1.2vw,15px);height:148px;padding-top:24px;display:flex}.bar-wrap{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex}.bar{background:#dce6df;border-radius:6px 6px 3px 3px;width:100%;max-width:22px;transition:height .35s,transform .2s}.bar.current{background:var(--coral)}.bar.negative{opacity:.72;background:#e58e82}.bar-wrap span{color:#98a49e;white-space:nowrap;font-size:9px}.goal-symbol{border-radius:12px;place-items:center;width:38px;height:38px;font-family:Georgia,Songti SC,serif;font-weight:700;display:grid}.goal-symbol.large{border-radius:16px;width:54px;height:54px;font-size:19px}.goal-amount{justify-content:space-between;align-items:flex-end;margin-top:29px;display:flex}.goal-amount strong{letter-spacing:-.04em;font-size:25px}.progress-track{background:#edf0ec;border-radius:20px;height:9px;margin-top:11px;overflow:hidden}.progress-value{border-radius:inherit;height:100%;transition:width .4s}.progress-value.coral{background:var(--coral)}.progress-value.blue{background:var(--blue)}.progress-value.gold{background:var(--gold)}.progress-value.green{background:#6ca895}.goal-footer{justify-content:space-between;align-items:flex-end;margin-top:21px;display:flex}.goal-footer small{color:var(--muted);font-size:10px;display:block}.goal-footer strong{margin-top:4px;font-size:14px;display:block}.status-pill{border-radius:999px;padding:6px 10px;font-size:10px;font-weight:720}.status-pill.steady{color:#397257;background:#e4f2e8}.status-pill.risk{color:#a94c3b;background:#ffebe5}.status-pill.done{color:#56568a;background:#e8e8f6}.empty-goal{color:var(--muted);border:1px dashed #17241f2b;align-content:center;place-items:center;gap:6px;display:grid}.empty-goal>span{background:#eef0eb;border-radius:50%;place-items:center;width:40px;height:40px;font-size:22px;display:grid}.empty-goal small{font-size:10px}.detail-grid{grid-template-columns:1.25fr 1fr;align-items:start;gap:16px;margin-top:16px;display:grid}.due-summary{color:var(--muted);background:#eff2ee;border-radius:999px;padding:6px 10px;font-size:10px}.upcoming-row{text-align:left;background:0 0;border:0;border-bottom:1px solid #17241f13;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:11px 0;display:grid}.upcoming-row:last-child{border-bottom:0}.due-date{background:#f0f1eb;border-radius:11px;align-content:center;place-items:center;width:40px;height:42px;display:grid}.due-date b{font-size:15px;line-height:1}.due-date small{color:var(--muted);margin-top:3px;font-size:8px}.row-copy strong,.row-copy small{display:block}.row-copy strong{font-size:13px}.row-amount{font-variant-numeric:tabular-nums;font-size:13px;font-weight:750}.panel-footer-button{width:100%;color:var(--muted);background:#f4f5f1;border:0;border-radius:10px;margin-top:8px;padding:10px;font-size:10px}.category-panel{align-self:start}.category-visual{grid-template-columns:155px 1fr;align-items:center;gap:24px;min-height:0;margin-top:22px;padding:3px 0 7px;display:grid}.category-ring{border-radius:50%;place-items:center;width:142px;height:142px;display:grid;position:relative}.category-ring:after{content:"";background:var(--card);border-radius:50%;position:absolute;inset:17px}.category-ring>div{z-index:1;text-align:center;position:relative}.category-ring strong,.category-ring span{display:block}.category-ring strong{letter-spacing:-.04em;font-size:18px}.category-legend{gap:10px;display:grid}.category-legend>div{grid-template-columns:8px 1fr auto;align-items:center;gap:8px;font-size:10px;display:grid}.category-legend i{border-radius:3px;width:8px;height:8px}.category-legend strong{font-size:10px}.empty-list{text-align:center;color:var(--muted);padding:32px 12px;font-size:11px}.empty-list.roomy{padding:70px 12px}.plans-summary,.goal-overview{background:var(--teal);color:#fff;border-radius:25px;justify-content:space-between;align-items:center;gap:36px;min-height:188px;padding:31px 36px;display:flex;position:relative;overflow:hidden}.plans-summary>div:first-child,.goal-overview>div:first-child{z-index:1;position:relative}.plans-summary>div:first-child>strong,.goal-overview>div:first-child>strong{letter-spacing:-.06em;font-variant-numeric:tabular-nums;margin:8px 0 3px;font-size:clamp(40px,4.2vw,62px);display:block}.plans-summary p,.goal-overview p{color:#ffffff94;margin:0;font-size:11px}.summary-flow{z-index:1;gap:11px;min-width:335px;display:grid;position:relative}.summary-flow span{color:#ffffffad;grid-template-columns:8px 1fr auto;align-items:center;gap:9px;font-size:11px;display:grid}.summary-flow i,.chart-legend i{border-radius:50%;width:8px;height:8px}.summary-flow i.income,.chart-legend i.income{background:var(--mint)}.summary-flow i.expense,.chart-legend i.expense{background:var(--coral)}.summary-flow i.budget{background:var(--gold)}.summary-flow i.savings,.chart-legend i.savings{background:var(--blue)}.summary-flow b{color:#fff;font-size:13px}.manager-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.filter-chips button{color:var(--muted);background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;padding:8px 10px;font-size:10px;display:flex}.filter-chips button.active{background:var(--teal);color:#fff}.filter-chips button.active span{color:#fff;background:#ffffff24}.search-box{border:1px solid var(--line);background:#f7f7f3;border-radius:11px;align-items:center;gap:7px;width:min(260px,100%);height:38px;padding:0 11px;display:flex}.search-box span{color:var(--muted);font-size:16px}.search-box input{background:0 0;border:0;outline:0;width:100%;font-size:10px}.plan-list{overflow-x:auto}.plan-row{border-bottom:1px solid #17241f12;grid-template-columns:minmax(250px,1.65fr) 1fr 1.1fr .85fr 148px;align-items:center;gap:12px;min-width:880px;padding:15px 20px;display:grid}.plan-row:last-child{border-bottom:0}.plan-head{color:#929f99;background:#f7f7f3;padding-block:11px;font-size:9px;font-weight:700}.plan-name{align-items:center;gap:11px;min-width:0;display:flex}.plan-name>div{width:100%;min-width:0;padding-right:16px}.type-badge{border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:10px;font-weight:800;display:grid}.plan-name strong,.plan-name small,.plan-cycle strong,.plan-cycle small,.plan-value strong,.plan-value small{display:block}.plan-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.plan-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plan-value{text-align:right;font-variant-numeric:tabular-nums}.plan-value strong{font-size:13px}.plan-value.positive strong,.positive{color:#2f795b!important}.plan-value.savings strong{color:#526f99}.plan-row.paused{opacity:.46}.row-actions{justify-content:flex-end;gap:4px;display:flex}.row-actions button{color:#66756e;background:#eff1ed;border:0;border-radius:8px;padding:6px 7px;font-size:8px}.row-actions button.danger:hover{color:#aa4d3c;background:#ffebe5}.goal-overview-stats{z-index:1;grid-template-columns:repeat(3,1fr);min-width:min(570px,55%);display:grid;position:relative}.goal-overview-stats>div{border-left:1px solid #ffffff21;padding:7px 23px}.goal-overview-stats span,.goal-overview-stats strong{display:block}.goal-overview-stats strong{letter-spacing:-.035em;margin-top:7px;font-size:18px}.attention-banner{background:#fff7df;border:1px solid #de9a3033;border-radius:15px;align-items:center;gap:12px;margin-top:15px;padding:14px 18px;display:flex}.attention-banner>span{background:#f0c25d;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.attention-banner div{flex:1}.attention-banner p{color:#8d7950;margin:3px 0 0;font-size:9px}.attention-banner button{color:#7e631f;background:0 0;border:0;font-size:9px;font-weight:700}.goals-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.goal-card,.add-goal-card{background:var(--card);border:1px solid #17241f0f;border-radius:21px;min-height:330px;padding:25px}.goal-card-top{justify-content:space-between;align-items:flex-start;display:flex}.goal-menu{gap:4px;display:flex}.goal-menu button{color:var(--muted);background:#f0f2ee;border:0;border-radius:7px;padding:5px 7px;font-size:8px}.goal-priority{color:var(--muted);letter-spacing:.08em;margin-top:23px;font-size:9px;font-weight:720;display:block}.goal-card h2{letter-spacing:-.03em;margin:6px 0 0;font-size:19px}.goal-card-money strong{letter-spacing:-.04em;font-size:24px}.goal-card-stats{grid-template-columns:repeat(2,1fr);margin-top:21px;display:grid}.goal-card-stats>div+div{border-left:1px solid var(--line);padding-left:20px}.goal-card-stats small,.goal-card-stats strong{display:block}.goal-card-stats strong{margin-top:5px;font-size:13px}.goal-card-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;margin-top:24px;padding-top:17px;display:flex}.goal-card-footer small,.goal-card-footer strong{display:block}.add-goal-card{color:var(--muted);text-align:center;background:0 0;border-style:dashed;align-content:center;justify-items:center;gap:7px;display:grid}.add-goal-card>span{background:var(--card);width:48px;height:48px;box-shadow:var(--shadow);border-radius:50%;place-items:center;margin-bottom:5px;font-size:24px;display:grid}.add-goal-card strong{color:var(--ink);font-size:13px}.add-goal-card small{max-width:210px;font-size:9px;line-height:1.55}.goal-rule-panel{justify-content:space-between;align-items:center;gap:24px;margin-top:16px;display:flex}.goal-rule-panel p{max-width:700px;color:var(--muted);margin:8px 0 0;font-size:10px;line-height:1.65}.forecast-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.scenario-switch{align-items:center;gap:5px;margin:0;display:flex}.scenario-switch button{color:var(--muted);background:#e8e9e3;border:0;border-radius:10px;padding:9px 12px;font-size:10px;font-weight:700}.scenario-switch button.active{background:var(--teal);color:#fff}.scenario-switch>span{color:var(--muted);margin-left:7px;font-size:9px}.year-switch{background:#e8e9e3;border-radius:12px;align-items:center;gap:6px;min-height:42px;padding:4px;display:flex}.year-switch button{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.year-switch strong{text-align:center;min-width:72px;font-size:11px}.forecast-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.forecast-metrics article{background:var(--card);border:1px solid #17241f0f;border-radius:18px;min-height:137px;padding:21px}.forecast-metrics article.warn{background:#fff0ea}.forecast-metrics span,.forecast-metrics strong,.forecast-metrics small{display:block}.forecast-metrics span{color:var(--muted);font-size:10px}.forecast-metrics strong{letter-spacing:-.045em;margin:10px 0 4px;font-size:clamp(21px,2vw,29px)}.forecast-metrics small{color:#99a49f;font-size:8px}.annual-chart-panel{margin-top:16px}.chart-legend{color:var(--muted);gap:13px;font-size:9px;display:flex}.chart-legend span{align-items:center;gap:6px;display:flex}.annual-chart{grid-template-columns:repeat(12,1fr);align-items:end;gap:clamp(7px,1.6vw,19px);height:270px;padding:28px 8px 0;display:grid}.annual-column{flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;height:100%;display:flex}.column-bars{justify-content:center;align-items:flex-end;gap:4px;width:100%;height:190px;display:flex}.column{border-radius:5px 5px 2px 2px;width:min(11px,28%);min-height:3px}.annual-balance{color:#477866;white-space:nowrap;justify-items:center;gap:1px;display:grid}.annual-balance span{color:var(--muted);font-size:7px;font-weight:600}.annual-balance strong{font-size:8px}.annual-balance.negative{color:#b75845}.table-note{color:var(--muted);align-self:flex-end;font-size:8px}.forecast-table{overflow-x:auto}.forecast-row{font-variant-numeric:tabular-nums;border-top:1px solid #17241f12;grid-template-columns:1.15fr repeat(7,1fr);gap:12px;min-width:1020px;padding:13px 24px;font-size:9px;display:grid}.forecast-row>span,.forecast-row>strong:not(:first-child){text-align:right}.forecast-head{color:#8b9891;background:#f7f7f3;font-weight:700}.forecast-head>span:first-child{text-align:left}.negative{color:#b75845!important}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f1d187a;place-items:center;padding:26px;animation:.2s backdrop-in;display:grid;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--card);border-radius:24px;width:min(680px,100%);max-height:calc(100vh - 52px);padding:28px;animation:.25s modal-in;overflow-y:auto;box-shadow:0 35px 90px #0e1e183d}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}.modal-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.modal-heading h2{letter-spacing:-.04em;margin:5px 0 0;font-size:24px}.close-button{width:36px;height:36px;color:var(--muted);background:#eef0eb;border:0;border-radius:50%;font-size:22px;line-height:1}.type-switch{grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:21px;display:grid}.type-switch button{border:1px solid var(--line);min-height:50px;color:var(--muted);background:#f7f7f3;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:7px;font-size:9px;font-weight:700;display:flex}.type-switch button>span{background:#e8ebe7;border-radius:8px;place-items:center;width:24px;height:24px;font-size:8px;display:grid}.type-switch button.selected{border-color:var(--teal);background:var(--teal);color:#fff}.type-switch button.selected>span{background:#ffffff24}.form-grid{gap:15px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{min-width:0}.field.full{grid-column:1/-1}.field>span{color:#617069;justify-content:space-between;margin-bottom:7px;font-size:9px;font-weight:720;display:flex}.field em{color:#a6afa9;font-style:normal;font-weight:500}.field input,.field select{background:#fbfbf8;border:1px solid #17241f21;border-radius:11px;outline:0;width:100%;height:44px;padding:0 12px;font-size:11px}.input-prefix{background:#fbfbf8;border:1px solid #17241f21;border-radius:11px;align-items:center;height:44px;display:flex;overflow:hidden}.input-prefix input{border:0;height:42px;box-shadow:none!important;background:0 0!important}.toggle-row{cursor:pointer;background:#f4f5f1;border-radius:12px;align-items:center;gap:11px;margin-top:17px;padding:13px;display:flex}.toggle-row>input{opacity:0;pointer-events:none;position:absolute}.toggle-control{background:#ccd3ce;border-radius:20px;flex:none;width:37px;height:21px;padding:3px;transition:background .2s}.toggle-control:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .2s;display:block;box-shadow:0 2px 5px #00000024}.toggle-row input:checked+.toggle-control{background:#5e9480}.toggle-row strong,.toggle-row small{display:block}.history-note,.settings-copy{color:#826b36;background:#fff6de;border-radius:10px;margin-top:16px;padding:10px 12px;font-size:8px;line-height:1.55}.modal-actions{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}.color-picker{gap:8px;margin-top:17px;display:flex}.color-picker button{border:3px solid var(--card);width:27px;height:27px;box-shadow:0 0 0 1px var(--line);border-radius:50%}.color-picker button.coral{background:var(--coral)}.color-picker button.blue{background:var(--blue)}.color-picker button.gold{background:var(--gold)}.color-picker button.green{background:#6ca895}.reset-button{color:#ad5848;background:0 0;border:0;margin-top:12px;padding:0;font-size:8px}.toast{z-index:200;background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:8px;padding:11px 16px;font-size:10px;animation:.25s toast-in;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #0f1e1838}.toast span{background:#6ca895;border-radius:50%;place-items:center;width:18px;height:18px;font-size:9px;display:grid}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:1120px){.workspace{padding-inline:30px}.metric-grid,.forecast-metrics,.goals-grid{grid-template-columns:repeat(2,1fr)}.goal-overview-stats{grid-template-columns:1fr;gap:7px;min-width:50%}.goal-overview-stats>div{justify-content:space-between;align-items:center;padding:5px 15px;display:flex}.goal-overview-stats strong{margin:0;font-size:14px}}@media (max-width:920px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.sidebar{padding-inline:13px}.brand{justify-content:center;padding-inline:0}.brand>span:last-child{display:none}.nav-item{justify-content:center;padding-inline:8px;font-size:0}.nav-item>span{font-size:18px}.settings{margin-top:auto}.lower-grid,.detail-grid{grid-template-columns:1fr}.plans-summary,.goal-overview{align-items:flex-start}.goals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.app-shell{display:block}.sidebar{border:0;border-top:1px solid var(--line);flex-direction:row;align-items:center;width:100%;height:68px;padding:7px 10px;position:fixed;inset:auto 0 0;box-shadow:0 -8px 30px #18262012}.brand,.settings{display:none}.nav-list{grid-template-columns:repeat(4,1fr);gap:3px;width:100%}.nav-item{justify-items:center;gap:2px;padding:6px;font-size:8px;display:grid}.nav-item>span{width:auto;font-size:17px}.nav-item.active{box-shadow:none}.workspace{padding:23px 17px 96px}.topbar{align-items:flex-start;margin-bottom:21px}.topbar h1{font-size:24px}.date-line{max-width:210px;font-size:9px}.month-control{display:none}.primary-button{width:42px;min-width:42px;height:42px;min-height:42px;padding:0;font-size:0}.primary-button span{margin:0;font-size:21px}.primary-button.wide{width:auto;min-width:125px;padding:0 15px;font-size:10px}.hero-card{min-height:auto;padding:30px 25px}.flow-orbit{display:none}.hero-amount{font-size:61px}.hero-copy p{font-size:11px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-height:148px;padding:17px}.metric-card>strong{font-size:24px}.panel{padding:21px}.forecast-panel{overflow:hidden}.chart{min-width:560px}.category-visual{grid-template-columns:130px 1fr;gap:14px}.category-ring{width:122px;height:122px}.plans-summary,.goal-overview{padding:27px 25px;display:block}.summary-flow{min-width:0;margin-top:24px}.goal-overview-stats{min-width:0;margin-top:23px}.goal-overview-stats>div{border-top:1px solid #ffffff1f;border-left:0}.manager-toolbar{flex-direction:column;align-items:stretch}.search-box{width:100%}.goals-grid{grid-template-columns:1fr}.goal-rule-panel{flex-direction:column;align-items:flex-start}.forecast-toolbar{flex-direction:column;align-items:stretch}.scenario-switch{flex-wrap:wrap}.scenario-switch>span{width:100%;margin:4px 0 0}.year-switch{justify-content:space-between;width:100%}.forecast-metrics{grid-template-columns:repeat(2,1fr)}.annual-chart-panel{overflow:hidden}.annual-chart{min-width:650px}.modal-backdrop{place-items:end center;padding:0}.modal-card,.modal-card.compact{border-radius:24px 24px 0 0;width:100%;max-height:92vh;padding:24px 19px}.type-switch{grid-template-columns:repeat(2,1fr)}.form-grid.two{grid-template-columns:1fr}.field.full{grid-column:auto}.toast{white-space:nowrap;max-width:calc(100% - 34px);bottom:82px}}@media (max-width:440px){.hero-amount{font-size:49px}.hero-tags span{font-size:9px}.metric-card{min-height:141px}.metric-card>strong{font-size:20px}.category-visual{grid-template-columns:1fr;justify-items:center}.category-legend{width:100%}.upcoming-row{grid-template-columns:40px minmax(0,1fr) auto;gap:9px}.forecast-metrics{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--ink:#10231d;--muted:#64736d;--paper:#eef2ef;--card:#fffffcd1;--teal:#0b3c33;--mint:#c9ebdc;--coral:#ef806d;--gold:#d7b469;--blue:#849fcb;--line:#102e2617;--shadow:0 22px 60px #102b2314, 0 2px 10px #102b2309, inset 0 1px 0 #ffffffb8;--shadow-hover:0 30px 75px #0a282021, 0 5px 18px #0a28200f, inset 0 1px 0 #ffffffd9;--number-font:"SFMono-Regular", "Roboto Mono", ui-monospace, Menlo, Consolas, monospace}html{background:#e9eeeb}body{background:radial-gradient(circle at 78% -12%,#8ec4ae40,#0000 32%),radial-gradient(circle at 7% 96%,#d7b4691c,#0000 26%),linear-gradient(135deg,#edf2ef 0%,#f5f6f3 52%,#eaf0ec 100%);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;position:relative}body:before{content:"";z-index:60;pointer-events:none;opacity:.13;mix-blend-mode:multiply;background-image:radial-gradient(#0a2d242e .45px,#0000 .65px);background-size:5px 5px;position:fixed;inset:0}.app-shell{grid-template-columns:252px minmax(0,1fr)}.sidebar{color:#fff;background:radial-gradient(circle at 10% 2%,#76bea236,#0000 24%),radial-gradient(circle at 90% 91%,#dcb7671c,#0000 28%),linear-gradient(165deg,#092d27 0%,#0b3b32 51%,#082923 100%);border-right:1px solid #ffffff12;padding:31px 22px 24px;box-shadow:22px 0 65px #07201a1f,inset -1px 0 #ffffff09}.brand{color:#fff;text-align:left;gap:13px;padding:0 7px 37px}.brand-mark{background:linear-gradient(145deg,#dbf8eb38,#85ccb012);border:1px solid #ffffff30;border-radius:13px;width:41px;height:41px;font-family:Songti SC,STSong,serif;font-size:20px;position:relative;box-shadow:0 12px 28px #0000002b,inset 0 1px #ffffff38}.brand-mark:after{content:"";z-index:-1;filter:blur(9px);background:#91ddbf21;border-radius:17px;position:absolute;inset:-5px}.brand-copy{gap:2px;display:grid}.brand-copy strong{letter-spacing:-.03em;font-size:20px;font-weight:680}.brand-copy small{color:#e0f4ec6e;letter-spacing:.17em;font-size:8px;font-weight:720}.nav-list{gap:8px}.nav-item{color:#e2f2eb96;border:1px solid #0000;border-radius:13px;gap:11px;min-height:48px;padding:10px 12px;font-size:13px;font-weight:570;transition:background .25s,color .25s,transform .25s,border-color .25s,box-shadow .25s}.nav-item>span{width:auto;font-size:inherit}.nav-item .nav-icon{color:#dbf0e7a8;border-radius:9px;place-items:center;width:29px;height:29px;display:grid}.nav-item:hover{color:#fff;background:#ffffff0b;transform:translate(3px)}.nav-item.active{color:#fff;background:linear-gradient(135deg,#e0f8ed24,#fff1);border-color:#e1f9ee21;box-shadow:0 13px 30px #00000021,inset 0 1px #ffffff1a}.nav-item.active .nav-icon{color:#d9f4e7;background:#d8f3e717;box-shadow:inset 0 0 0 1px #e1f8ee14}.settings{margin-top:auto}.workspace{width:min(1500px,100%);padding:36px 43px 64px}.topbar{margin-bottom:27px}.date-line{color:#6d7c75;letter-spacing:.09em;margin-bottom:8px;font-size:10px;font-weight:720}.topbar h1{letter-spacing:-.045em;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,sans-serif;font-size:clamp(28px,2.25vw,38px);font-weight:630;line-height:1.13}.month-control{background:#fffffce0;border-color:#18392f14;border-radius:14px;height:45px;padding:0 6px;box-shadow:0 10px 28px #1130270e,inset 0 1px #ffffffd1}.month-control button{border-radius:9px;place-items:center;display:grid}.month-control button:hover{background:#ffffffdb;box-shadow:0 4px 12px #102b230f}.primary-button,.secondary-button{letter-spacing:-.01em;border-radius:13px}.primary-button{color:#f3fbf7;background:linear-gradient(145deg,#173d34,#0b2c26);border:1px solid #ffffff14;justify-content:center;align-items:center;gap:8px;display:inline-flex;box-shadow:0 13px 28px #0a282030,inset 0 1px #ffffff1f,inset 0 -1px #00000024}.primary-button:hover{transform:translateY(-2px);box-shadow:0 18px 36px #0a28203d,inset 0 1px #ffffff24}.primary-button:active{transform:translateY(0)scale(.985)}.primary-button>span{margin:0}.hero-card{background:linear-gradient(138deg,#082d27 0%,#0b3b32 53%,#0d4a3e 100%);border:1px solid #daf6e921;border-radius:25px;grid-template-columns:minmax(0,1.4fr) minmax(270px,.6fr);min-height:320px;padding:43px 46px;box-shadow:0 34px 70px #0a2d2433,0 6px 18px #0a2d241a,inset 0 1px #ffffff14,inset 0 -1px #0000002e}.hero-copy,.flow-orbit{z-index:2;position:relative}.hero-label-row{align-items:center;gap:13px;display:flex}.eyebrow{letter-spacing:.105em;text-transform:none;font-size:10px;font-weight:760}.eyebrow.light{color:#e2f4ec94}.health-pill{color:#d3f2e3;background:#b5e9d01b;border:1px solid #b9edd426;border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:10px;font-weight:680;display:inline-flex;box-shadow:0 0 26px #6cd1a614,inset 0 1px #ffffff12}.health-pill.risk{color:#ffd8d0;background:#ef806d21;border-color:#ef806d30}.hero-amount{font-family:var(--number-font);letter-spacing:-.075em;text-shadow:0 8px 42px #beefda1c;margin:17px 0 11px;font-size:clamp(67px,6.2vw,94px);font-weight:650}.hero-amount small{vertical-align:1.36em;color:#d9f1e7;margin-right:10px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:.29em;font-weight:560}.hero-copy p{color:#e1f1ea9c;font-size:13px;line-height:1.7}.hero-tags{gap:8px;margin-top:20px}.hero-tags span{color:#e7f6efbf;background:#ffffff0e;border:1px solid #e0f4eb14;padding:8px 11px;font-size:10px;box-shadow:inset 0 1px #ffffff0a}.mobile-allocation{display:none}.flow-orbit{justify-self:end;width:238px}.orbit-ring{filter:drop-shadow(0 0 24px #71cfa826);width:181px;height:181px;box-shadow:inset 0 0 0 1px #ffffff14,0 12px 45px #0000002e}.orbit-ring:after{background:linear-gradient(145deg,#0b3d34,#082f29);inset:15px;box-shadow:inset 0 1px #ffffff12,0 0 28px #051c1761}.orbit-center strong{font-family:var(--number-font);font-size:33px;font-weight:620}.orbit-center span{margin-top:4px;font-size:10px}.orbit-caption{color:#ebf7f1b8;margin-top:15px;font-size:11px;font-weight:580}.orbit-legend{color:#e5f4eda3;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 13px;margin-top:13px;font-size:10px;display:flex}.orbit-legend span{align-items:center;gap:5px;display:flex}.orbit-legend i{border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.metric-card{min-height:166px;box-shadow:var(--shadow);background:linear-gradient(145deg,#fffffcf7,#f7faf7f0);border:1px solid #ffffffa3;border-radius:17px;padding:19px 20px 18px}.metric-card:hover{box-shadow:var(--shadow-hover);border-color:#ffffffe6;transform:translateY(-4px)}.metric-card:active{transform:translateY(-1px)scale(.99)}.metric-top{justify-content:space-between;align-items:center;width:100%;margin-bottom:13px;display:flex}.metric-icon{border-radius:10px;margin:0}.metric-card>span:not(.metric-icon):not(.metric-top){color:#67766f;font-size:11px;font-weight:580}.metric-card>strong{font-family:var(--number-font);letter-spacing:-.055em;margin:8px 0 6px;font-size:clamp(24px,2.15vw,32px);font-weight:640}.metric-card>small{color:#89968f;font-size:10px;line-height:1.5}.panel{box-shadow:var(--shadow);background:linear-gradient(145deg,#fffffcf7,#f7faf7f0);border:1px solid #ffffffa3;border-radius:19px}@media (max-width:1120px){.app-shell{grid-template-columns:226px minmax(0,1fr)}.hero-card{grid-template-columns:minmax(0,1.2fr) 235px;padding-inline:37px}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:920px){.app-shell{grid-template-columns:82px minmax(0,1fr)}.brand-copy,.nav-label{display:none}.nav-item{justify-content:center;padding-inline:8px}.nav-item .nav-icon{width:36px;height:36px}.settings{margin-top:auto}.workspace{padding-inline:29px}.hero-card{grid-template-columns:minmax(0,1fr) 215px;gap:24px}.flow-orbit{width:205px}.orbit-ring{width:164px;height:164px}}@media (max-width:720px){body:before{opacity:.08}.app-shell{display:block}.sidebar{width:100%;height:72px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px)saturate(125%);backdrop-filter:blur(14px)saturate(125%);background:linear-gradient(#092e27f0,#06221dfa);border-top:1px solid #ffffff17;position:fixed;inset:auto 0 0;box-shadow:0 -16px 50px #0827202e}.nav-list{grid-template-columns:repeat(4,1fr)}.nav-item{border-radius:12px;justify-items:center;gap:1px;min-height:55px;padding:5px;font-size:9px;display:grid}.nav-item .nav-icon{width:29px;height:27px}.nav-label{color:inherit;display:block}.nav-item.active{background:#def7eb1a;transform:none;box-shadow:inset 0 1px #ffffff12}.workspace{padding:24px 17px 105px}.topbar h1{font-size:26px}.date-line{font-size:9px}.primary-button{width:43px;min-width:43px;height:43px;min-height:43px;padding:0;font-size:0}.primary-button svg{width:19px;height:19px}.primary-button.wide{width:auto;min-width:126px;padding:0 16px;font-size:11px}.hero-card{border-radius:21px;min-height:0;padding:28px 24px 25px;display:block}.hero-label-row{justify-content:space-between}.hero-amount{margin-top:19px;font-size:clamp(48px,14.7vw,64px)}.hero-copy p{max-width:28ch;font-size:11px}.flow-orbit{display:none}.mobile-allocation{margin-top:20px;display:block}.mobile-allocation>div{background:#ffffff14;border-radius:99px;height:7px;display:flex;overflow:hidden;box-shadow:inset 0 1px 2px #00000029,0 0 18px #74d2ab12}.mobile-allocation>div span{min-width:2px}.mobile-allocation small{color:#e5f3ec8c;margin-top:8px;font-size:9px;display:block}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-card{min-height:151px;padding:16px}}@media (max-width:440px){.hero-amount{font-size:48px}.hero-tags{display:grid}.hero-tags span{width:max-content}.metric-card>strong{font-size:20px}}.view-content>*{animation:.48s cubic-bezier(.16,1,.3,1) both surface-in}.view-content>:nth-child(2){animation-delay:45ms}.view-content>:nth-child(3){animation-delay:90ms}.view-content>:nth-child(4){animation-delay:.135s}@keyframes surface-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.panel,.goal-card,.add-goal-card,.forecast-metrics article{box-shadow:var(--shadow);background-image:linear-gradient(145deg,#fffffde8,#f8fbf8b8),radial-gradient(#14362c2b .4px,#0000 .55px);background-size:auto,5px 5px;border:1px solid #ffffffba}.panel{border-radius:19px;padding:26px 27px}.panel-heading{gap:20px}.panel h2{letter-spacing:-.035em;margin-top:7px;font-size:20px;font-weight:640;line-height:1.25}.text-button{color:#61766e;align-items:center;gap:6px;padding:7px 0;font-size:11px;font-weight:630;transition:color .2s,gap .2s;display:inline-flex}.text-button:hover{color:#164d3e;gap:9px}.lower-grid{gap:16px;margin-top:16px}.detail-grid{align-items:start;gap:16px;margin-top:16px}.forecast-panel{overflow:hidden}.balance-chart{grid-template-columns:52px minmax(0,1fr);align-items:stretch;gap:11px;margin-top:19px;display:grid}.chart-axis{color:#82918a;height:205px;font-family:var(--number-font);white-space:nowrap;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:25px 0 19px;font-size:9px;display:flex}.chart-scroll{min-width:0;overflow:hidden}.chart{background-image:linear-gradient(#153c300e 1px,#0000 1px);background-position:0 24px;background-size:100% 75px;grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:clamp(5px,.7vw,12px);width:100%;min-width:0;height:205px;padding:0 4px;display:grid;position:relative}.bar-wrap{z-index:1;grid-template-rows:24px 150px 31px;place-items:center;gap:0;height:205px;display:grid;position:relative}.bar-value{color:#426f5e;font-family:var(--number-font);white-space:nowrap;align-self:start;font-size:9px;font-weight:650}.bar-value.negative{color:#b75845!important}.bar-track{width:100%;height:150px;position:relative}.bar{transform-origin:bottom;background:linear-gradient(#b6d0c3,#8fb5a4);border-radius:7px 7px 3px 3px;width:20px;max-width:44%;position:absolute;bottom:50%;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff9e,0 5px 12px #2a574712}.bar.current{background:linear-gradient(#7fb49f,#5e987f);box-shadow:0 6px 18px #4b91742e,inset 0 1px #ffffff42}.bar.negative{transform-origin:top;opacity:1;background:linear-gradient(#ee9b8a,#d86c5b);border-radius:3px 3px 7px 7px;top:50%;bottom:auto}.bar-wrap:hover .bar{transform:translate(-50%)scaleX(1.12)}.bar-wrap>span{color:#708079;white-space:nowrap;align-self:end;font-size:10px}.goal-panel{position:relative;overflow:hidden}.goal-symbol{border:1px solid #ffffffbd;font-family:Songti SC,STSong,serif;box-shadow:0 10px 25px #20423614,inset 0 1px #ffffff9e}.goal-symbol.large{border-radius:15px;width:55px;height:55px}.goal-symbol.coral{color:#a85041;background:linear-gradient(145deg,#ffe8e2,#ffd9d0)}.goal-symbol.blue{color:#48678f;background:linear-gradient(145deg,#e8effa,#dce7f8)}.goal-symbol.gold{color:#866620;background:linear-gradient(145deg,#fff2ca,#f8e3a5)}.goal-symbol.green{color:#316c55;background:linear-gradient(145deg,#e4f3e9,#d2eadb)}.goal-amount{margin-top:28px}.goal-amount span{color:#63736c;font-size:11px}.goal-amount strong{font-family:var(--number-font);letter-spacing:-.055em;font-size:24px;font-weight:650}.progress-track{background:#173a2f11;border:1px solid #14352b09;height:7px;margin-top:12px;box-shadow:inset 0 1px 2px #13302714}.progress-value{position:relative;box-shadow:0 0 15px}.progress-value:after{content:"";border-radius:inherit;background:linear-gradient(90deg,#0000,#ffffff61);position:absolute;inset:0}.progress-value.coral{color:var(--coral);background:linear-gradient(90deg,#e97a67,#f2a08e)}.progress-value.blue{color:var(--blue);background:linear-gradient(90deg,#708fc2,#9bb1d4)}.progress-value.gold{color:var(--gold);background:linear-gradient(90deg,#d2ad5b,#e4c987)}.progress-value.green{color:#70aa94;background:linear-gradient(90deg,#5e9e85,#8fc3ae)}.goal-footer small{color:#718079;font-size:11px}.goal-footer strong{margin-top:5px;font-size:14px;font-weight:650}.status-pill{border:1px solid #0000;align-items:center;gap:5px;padding:7px 10px;font-size:10px;display:inline-flex;box-shadow:inset 0 1px #ffffff70}.status-pill.steady{color:#326c51;background:linear-gradient(145deg,#e7f4eb,#dcefe3);border-color:#3a775812}.status-pill.risk{color:#a94c3b;background:linear-gradient(145deg,#fff0eb,#ffe3db);border-color:#ae4a3912}.status-pill.done{color:#555583;background:linear-gradient(145deg,#eeeef9,#e3e3f4);border-color:#54548a12}.due-summary{color:#66766f;background:#e8eeeab8;border:1px solid #183f330d;padding:7px 11px;font-size:10px;font-weight:620;box-shadow:inset 0 1px #ffffffa6}.upcoming-list{margin-top:18px}.upcoming-row{border-bottom-color:#16382d12;border-radius:11px;min-height:62px;margin:0 -8px;padding:9px 8px}.due-date{background:linear-gradient(145deg,#f3f6f2,#e9efeb);border:1px solid #ffffffbf;box-shadow:0 7px 18px #1a3a300f,inset 0 1px #fff}.due-date b{font-family:var(--number-font);font-size:14px;font-weight:650}.due-date small{color:#78877f;font-size:9px}.row-copy strong{font-size:13px;font-weight:630}.row-copy small{color:#7d8b84;margin-top:5px;font-size:10px}.row-amount{font-family:var(--number-font);font-size:12px;font-weight:650}.panel-footer-button{color:#66776f;background:#edf2efb3;border:1px solid #183c300a;border-radius:11px;margin-top:10px;padding:11px;font-size:10px;font-weight:620;transition:background .2s,color .2s}.panel-footer-button:hover{color:#174d3e;background:#e7efea}.category-visual{min-height:0}.category-ring{filter:drop-shadow(0 11px 24px #1842341f);width:148px;height:148px;box-shadow:inset 0 0 0 1px #ffffff9e}.category-ring:after{background:linear-gradient(145deg,#fffffdfa,#f5f9f6f5);inset:18px;box-shadow:0 0 0 1px #14362b09,inset 0 1px #fff}.category-ring strong{font-family:var(--number-font);font-size:18px;font-weight:650}.category-ring span{color:#75847d;margin-top:5px;font-size:10px}.category-legend{gap:11px}.category-legend>div{grid-template-columns:9px 1fr auto;gap:9px;font-size:11px}.category-legend i{border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #284a3f14}.category-legend span{color:#6c7b74}.category-legend strong{font-family:var(--number-font);font-size:10px;font-weight:620}.empty-list{color:#718079;font-size:12px}.plans-summary,.goal-overview{background:linear-gradient(140deg,#092f28 0%,#0b4035 58%,#0c493d 100%);border:1px solid #dcf7eb1f;border-radius:23px;min-height:201px;padding:34px 38px;box-shadow:0 28px 60px #0a2d242b,inset 0 1px #ffffff13}.plans-summary>div:first-child>strong,.goal-overview>div:first-child>strong{font-family:var(--number-font);letter-spacing:-.065em;margin:12px 0 7px;font-size:clamp(45px,4.25vw,64px);font-weight:630}.plans-summary p,.goal-overview p{color:#e4f3ec96;font-size:11px;line-height:1.6}.summary-flow{background:#e6f8ef13;border:1px solid #e1f7ed17;border-radius:16px;gap:12px;min-width:350px;padding:16px 18px;box-shadow:inset 0 1px #ffffff0e,0 16px 30px #00000014}.summary-flow span{color:#e6f4edad;font-size:11px}.summary-flow i,.chart-legend i{width:7px;height:7px;box-shadow:0 0 9px}.summary-flow b{font-family:var(--number-font);font-size:12px;font-weight:620}.plan-manager{margin-top:16px;padding:0;overflow:hidden}.manager-toolbar{background:#f9fbf86b;border-bottom-color:#14382c12;padding:17px 20px}.filter-chips{gap:7px}.filter-chips button{color:#64746d;border:1px solid #0000;border-radius:10px;min-height:34px;padding:8px 10px;font-size:10px;font-weight:620;transition:all .2s}.filter-chips button:hover{color:#214f40;background:#e5ede8b3}.filter-chips button span{color:#74827b;background:#dee7e1b8;border-radius:7px;min-width:20px;padding:3px 5px;font-size:9px}.filter-chips button.active{color:#fff;background:linear-gradient(145deg,#164a3d,#0a332b);border-color:#ffffff14;box-shadow:0 8px 18px #0b362c26,inset 0 1px #ffffff1a}.search-box{background:#f6f9f6bd;border-color:#15392d17;border-radius:12px;width:min(290px,100%);height:42px;padding:0 13px;transition:border-color .2s,box-shadow .2s,background .2s;box-shadow:inset 0 1px 2px #14332909,0 1px #ffffffb3}.search-box:focus-within{background:#fff;border-color:#31695659;box-shadow:0 0 0 4px #48877014}.search-box svg{color:#71827a}.search-box input{font-size:11px}.plan-list{scrollbar-width:thin;scrollbar-color:#1e4e3e29 transparent}.plan-row{border-bottom-color:#163a2e11;grid-template-columns:minmax(270px,1.7fr) .9fr 1.05fr .85fr 184px;min-width:940px;padding:16px 20px;transition:background .2s}.plan-row:not(.plan-head):hover{background:#ebf1ed8c}.plan-head{color:#73827b;background:#eef3efa6;padding-block:12px;font-size:10px}.type-badge{border:1px solid #ffffffb3;border-radius:11px;width:37px;height:37px;box-shadow:0 7px 17px #183c3011,inset 0 1px #ffffffb3}.type-badge.type-income{color:#2f7659;background:linear-gradient(145deg,#e4f4ea,#d6ecdf)}.type-badge.type-fixed{color:#a95140;background:linear-gradient(145deg,#ffede8,#fbded6)}.type-badge.type-budget{color:#816224;background:linear-gradient(145deg,#fff3d3,#f6e6b5)}.type-badge.type-savings{color:#4d668d;background:linear-gradient(145deg,#ebf0f9,#dce6f5)}.type-badge.type-oneoff{color:#4f6890;background:linear-gradient(145deg,#ebf0fa,#dde7f7)}.plan-name strong{font-size:13px;font-weight:640}.plan-name small,.plan-cycle small,.plan-value small{color:#829089;margin-top:5px;font-size:10px}.plan-cycle strong{font-size:11px;font-weight:640}.plan-value strong{font-family:var(--number-font);font-size:12px;font-weight:650}.row-actions{gap:5px}.row-actions button{color:#61726a;background:#e7ede9bd;border:1px solid #16392d0b;border-radius:8px;align-items:center;gap:4px;min-height:30px;padding:6px 8px;font-size:9px;font-weight:620;display:inline-flex;box-shadow:inset 0 1px #ffffffa6}.row-actions button:hover{color:#174d3d;background:#e3ebe6}.row-actions button.danger:hover{color:#aa4d3c;background:#ffebe5;border-color:#aa4d3c14}.goal-overview-stats{gap:9px;min-width:min(610px,58%)}.goal-overview-stats>div{background:#e2f5ec0d;border:1px solid #e2f8ee14;border-radius:14px;padding:15px 18px;box-shadow:inset 0 1px #ffffff0d}.goal-overview-stats span{color:#e6f4ed8f;font-size:10px}.goal-overview-stats strong{font-family:var(--number-font);margin-top:9px;font-size:16px;font-weight:620}.attention-banner{background:linear-gradient(145deg,#fff8e0e0,#fcf2cfb8);border-color:#be8e3426;border-radius:15px;margin-top:16px;padding:15px 17px;box-shadow:0 12px 28px #765a1e0d,inset 0 1px #fff}.attention-banner>span{color:#82621f;background:linear-gradient(145deg,#f4d078,#e5b94f);box-shadow:0 7px 16px #c690272b,inset 0 1px #ffffff70}.attention-banner strong{font-size:12px}.attention-banner p{color:#83754f;margin-top:4px;font-size:10px}.attention-banner button{color:#70571c;background:#ffffff70;border-radius:9px;padding:7px 9px;font-size:10px}.goals-grid{gap:16px}.goal-card,.add-goal-card{border-radius:19px;min-height:345px;padding:25px;transition:transform .25s,box-shadow .25s,border-color .25s}.goal-card:hover{box-shadow:var(--shadow-hover);border-color:#ffffffeb;transform:translateY(-4px)}.goal-menu button{color:#66766f;background:#e8eeeac2;border:1px solid #183b300b;border-radius:9px;place-items:center;width:30px;height:30px;padding:0;transition:all .2s;display:grid}.goal-menu button:hover{color:#174d3e;background:#e3ece6;transform:translateY(-1px)}.goal-menu button:last-child:hover{color:#a94e3d;background:#ffebe5}.goal-priority{color:#6e7e77;letter-spacing:.06em;margin-top:24px;font-size:10px}.goal-card h2{margin-top:7px;font-size:19px;font-weight:640}.goal-card-money{margin-top:22px}.goal-card-money strong{font-family:var(--number-font);letter-spacing:-.055em;font-size:23px;font-weight:650}.goal-card-money span{color:#718079;font-size:11px}.goal-card-stats{margin-top:22px}.goal-card-stats small{color:#73827b;font-size:10px}.goal-card-stats strong{font-family:var(--number-font);margin-top:6px;font-size:12px;font-weight:630}.goal-card-footer{border-top-color:#16382d12;margin-top:25px;padding-top:18px}.goal-card-footer small{color:#74837c;font-size:10px}.goal-card-footer strong{margin-top:5px;font-size:12px}.add-goal-card{background-image:none;border-color:#19433521}.add-goal-card:hover{background-color:#fafcf98c;border-color:#1c574338;transform:translateY(-4px);box-shadow:0 20px 50px #13372b12}.add-goal-card>span{color:#2f6654;background:linear-gradient(145deg,#fffffdf0,#edf4efc7);border:1px solid #ffffffb8;box-shadow:0 14px 30px #193f3217,inset 0 1px #fff}.add-goal-card strong{font-size:13px;font-weight:650}.add-goal-card small{color:#76857e;font-size:10px}.goal-rule-panel{padding-block:22px}.goal-rule-copy{align-items:center;gap:16px;display:flex}.rule-icon{color:#336a57;background:linear-gradient(145deg,#edf5f0,#dfebe4);border:1px solid #ffffffbf;border-radius:13px;flex:none;place-items:center;width:45px;height:45px;display:grid;box-shadow:0 10px 24px #153b2e12,inset 0 1px #fff}.goal-rule-panel p{color:#6e7d76;margin-top:7px;font-size:11px;line-height:1.65}.secondary-button{color:#294f42;background:linear-gradient(145deg,#fafcf9e6,#ecf1edb8);border-color:#16382d1a;min-height:43px;box-shadow:0 8px 20px #17392e0e,inset 0 1px #fff}.secondary-button:hover{background:#fff;transform:translateY(-1px);box-shadow:0 12px 26px #17392e14,inset 0 1px #fff}.secondary-button:active{transform:translateY(0)scale(.985)}.scenario-switch{background:#f5f8f5f0;border:1px solid #ffffffad;border-radius:13px;gap:3px;width:max-content;padding:4px;box-shadow:0 9px 24px #14352b0e,inset 0 1px #fff}.scenario-switch button{color:#687870;background:0 0;border-radius:9px;padding:9px 12px;font-size:10px}.scenario-switch button.active{color:#fff;background:linear-gradient(145deg,#174a3e,#0a342c);box-shadow:0 7px 16px #0e392e24,inset 0 1px #ffffff17}.scenario-switch>span{color:#74847c;margin:0 9px 0 7px;font-size:10px}.year-switch{background:#f5f8f5f0;border:1px solid #ffffffad;box-shadow:0 9px 24px #14352b0e,inset 0 1px #fff}.year-switch button{color:#62736b;transition:background .2s,color .2s}.year-switch button:hover{color:#174d3d;background:#e7eee9}.year-switch strong{font-family:var(--number-font);color:#314d43;font-size:11px;font-weight:650}.forecast-metrics{gap:14px}.forecast-metrics article{border-radius:17px;min-height:154px;padding:20px;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}.forecast-metrics article:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.forecast-metrics article.warn{background-image:linear-gradient(145deg,#fff0eaf0,#fde2dab8)}.forecast-metrics span:not(.forecast-metric-icon){color:#6d7c75;font-size:11px}.forecast-metric-icon{border:1px solid #ffffffb3;border-radius:10px;place-items:center;width:31px;height:31px;margin-bottom:14px;box-shadow:0 7px 16px #1940320f,inset 0 1px #fff;display:grid!important}.forecast-metric-icon.income{color:#2f7759;background:#e0f1e7}.forecast-metric-icon.expense{color:#a85241;background:#ffe8e2}.forecast-metric-icon.savings{color:#4e6890;background:#e5ecf8}.forecast-metric-icon.balance{color:#3d6d62;background:#e1eeea}.forecast-metric-icon.pressure{color:#806222;background:#fff0c6}.forecast-metrics strong{font-family:var(--number-font);letter-spacing:-.055em;margin:10px 0 6px;font-size:clamp(21px,1.9vw,28px);font-weight:650}.forecast-metrics small{color:#839088;font-size:10px;line-height:1.5}.annual-chart-panel{margin-top:16px;overflow:hidden}.chart-legend{color:#697970;background:#ebf0edb3;border:1px solid #173a2e0d;border-radius:999px;gap:14px;padding:7px 10px;font-size:10px}.annual-chart-scroll{scrollbar-width:thin;scrollbar-color:#1d4b3c29 transparent;overflow-x:auto}.annual-chart{background-image:linear-gradient(#14392d0d 1px,#0000 1px);background-position:0 30px;background-size:100% 25%;gap:clamp(10px,1.5vw,21px);min-width:760px;height:285px;padding:31px 8px 0}.annual-column{z-index:1;gap:8px;position:relative}.column-bars{gap:5px;height:196px}.column{border-radius:7px 7px 3px 3px;width:min(11px,28%);box-shadow:inset 0 1px #ffffff80,0 5px 11px #193c300f}.column.income{background:linear-gradient(#94c5b2,#6da68f)}.column.expense{background:linear-gradient(#f2a18f,#e57d69)}.column.savings{background:linear-gradient(#9eb3d2,#7896c1)}.annual-balance{gap:2px}.annual-balance span{color:#87948e;letter-spacing:.04em;font-size:7px}.annual-balance strong{font-family:var(--number-font);font-size:9px;font-weight:620}.annual-column>span{color:#718179;font-size:10px}.mobile-scroll-hint{display:none}.forecast-table-panel{margin-top:16px;padding:0;overflow:hidden}.forecast-table-panel>.panel-heading{padding:24px 26px 19px}.table-note{color:#74837c;text-align:right;max-width:310px;font-size:10px;line-height:1.45}.forecast-table{scrollbar-width:thin;scrollbar-color:#1c4a3b29 transparent}.forecast-row{color:#273e36;border-top-color:#163a2e11;min-width:1080px;padding:15px 25px;font-size:10px}.forecast-row:not(.forecast-head):hover{background:#ebf1ed8c}.forecast-row strong{font-family:var(--number-font);font-weight:630}.forecast-head{color:#718078;letter-spacing:.025em;background:#edf2eeab;font-size:9px}.modal-backdrop{-webkit-backdrop-filter:blur(10px)saturate(110%);backdrop-filter:blur(10px)saturate(110%);background:#071b1696;padding:26px}.modal-card{scrollbar-width:thin;scrollbar-color:#214f402e transparent;background:linear-gradient(145deg,#fffffdf5,#f3f8f4e8),radial-gradient(#14362c29 .4px,#0000 .55px) 0 0/5px 5px;border:1px solid #ffffffb5;border-radius:24px;width:min(710px,100%);max-height:calc(100dvh - 52px);padding:0 28px;overflow-y:auto;box-shadow:0 45px 110px #051c164f,0 8px 28px #051c1626,inset 0 1px #fff}.modal-card.compact{width:min(610px,100%)}.modal-heading{z-index:5;background:#f9fcf9f7;border-bottom:1px solid #163a2e11;align-items:center;margin:0 -28px;padding:26px 28px 20px;position:sticky;top:0;box-shadow:0 12px 26px #14352b09}.modal-title{align-items:center;gap:13px;display:flex}.modal-emblem{color:#2d6551;background:linear-gradient(145deg,#eaf3ee,#dce9e2);border:1px solid #ffffffc2;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 10px 24px #19413214,inset 0 1px #fff}.modal-heading h2{letter-spacing:-.04em;margin-top:4px;font-size:23px;font-weight:660}.close-button{color:#607169;background:#e7eee9bf;border:1px solid #183c300e;place-items:center;width:37px;height:37px;transition:background .2s,transform .2s,color .2s;display:grid;box-shadow:inset 0 1px #ffffffb3}.close-button:hover{color:#174d3d;background:#e1ebe5;transform:rotate(5deg)}.modal-form{margin-top:23px}.type-switch{gap:8px;margin-bottom:22px}.type-switch button{color:#64766d;background:#f2f6f3c2;border-color:#163a2e16;border-radius:12px;min-height:54px;padding:8px;font-size:10px;transition:all .2s;box-shadow:inset 0 1px #ffffffad}.type-switch button:hover{color:#2c5d4b;background:#f3f8f5;border-color:#265d4933}.type-switch button>span{color:#537067;background:#dee8e2c7;border-radius:9px;width:28px;height:28px}.type-switch button.selected{color:#fff;background:linear-gradient(145deg,#174b3e,#0b332c);border-color:#ffffff17;box-shadow:0 10px 22px #0c372c2b,inset 0 1px #ffffff1a}.type-switch button.selected>span{color:#d9f2e6;background:#daf4e81c}.form-grid{gap:17px}.field>span{color:#52675e;margin-bottom:8px;font-size:11px;font-weight:650}.field em{color:#8c9993}.field input,.field select{color:#172d26;background:#f9fbf8db;border-color:#14382c1d;border-radius:12px;height:48px;padding:0 14px;font-size:13px;transition:border-color .2s,box-shadow .2s,background .2s;box-shadow:inset 0 1px 2px #14322809,0 1px #fff}.field input::placeholder{color:#96a29c}.field input:focus,.field select:focus{background:#fff;border-color:#2c6b547a;box-shadow:0 0 0 4px #468a7117,inset 0 1px #fff}.field input[type=number]{-webkit-appearance:textfield;appearance:textfield}.field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.custom-select{width:100%;position:relative}.custom-select.open{z-index:20}.custom-select-trigger{color:#172d26;text-align:left;background:#f9fbf8f5;border:1px solid #14382c1d;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;height:48px;padding:0 12px 0 14px;font-size:13px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex;box-shadow:inset 0 1px 2px #14322809,0 1px #fff}.custom-select-trigger svg{color:#74857d;flex:none;transition:transform .2s}.custom-select.open .custom-select-trigger{background:#fff;border-color:#2c6b547a;box-shadow:0 0 0 4px #468a7117,inset 0 1px #fff}.custom-select.open .custom-select-trigger svg{transform:rotate(180deg)}.custom-select-menu{z-index:30;scrollbar-width:thin;scrollbar-color:#23524233 transparent;background:#fbfcfa;border:1px solid #163a2e1a;border-radius:13px;max-height:224px;padding:6px;position:absolute;top:calc(100% + 7px);left:0;right:0;overflow-y:auto;box-shadow:0 20px 46px #0a2b222b,inset 0 1px #fff}.custom-select-menu button{color:#4f625a;text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:38px;padding:8px 10px;font-size:11px;display:flex}.custom-select-menu button:hover{color:#173f34;background:#edf3ef}.custom-select-menu button.selected{color:#174d3d;background:#e4eee8;font-weight:680}.custom-select-menu button svg{color:#3d7a62;flex:none}.input-prefix{background:#f9fbf8db;border-color:#14382c1d;border-radius:12px;height:48px;box-shadow:inset 0 1px 2px #14322809,0 1px #fff}.input-prefix:focus-within{background:#fff;border-color:#2c6b547a;box-shadow:0 0 0 4px #468a7117,inset 0 1px #fff}.input-prefix b{color:#64756d;padding-left:14px;font-size:13px}.input-prefix input{height:46px}.toggle-row{background:#ebf1edad;border:1px solid #163a2e0e;border-radius:13px;margin-top:18px;padding:14px;box-shadow:inset 0 1px #ffffffb3}.toggle-control{background:#c9d4ce;width:40px;height:23px}.toggle-control:after{width:17px;height:17px}.toggle-row input:checked+.toggle-control{background:linear-gradient(90deg,#4f8f76,#6fb094);box-shadow:0 0 13px #59a28329}.toggle-row input:checked+.toggle-control:after{transform:translate(17px)}.toggle-row strong{font-size:11px}.toggle-row small{color:#74837b;margin-top:4px;font-size:10px}.history-note,.settings-copy{color:#786637;background:linear-gradient(145deg,#fff8e2d1,#fbf1d1a1);border:1px solid #be90351c;border-radius:11px;align-items:flex-start;gap:8px;margin-top:17px;padding:11px 12px;font-size:10px;line-height:1.55;display:flex}.history-note svg,.settings-copy svg{color:#b28d3d;flex:none;margin-top:1px}.modal-actions{z-index:4;background:#f9fcf9fa;border-top:1px solid #163a2e11;margin:24px -28px 0;padding:16px 28px 22px;position:sticky;bottom:0;box-shadow:0 -14px 28px #14352b0a}.color-picker{gap:10px;margin-top:18px}.color-picker button{border-width:4px;border-color:#fffffdeb;width:30px;height:30px;transition:transform .2s,box-shadow .2s;box-shadow:0 0 0 1px #153a2e1a,0 5px 13px #14372c14}.color-picker button:hover{transform:scale(1.08)}.color-picker button.selected{box-shadow:0 0 0 2px #1b4d3f,0 7px 16px #14372c1f}.settings-fields{margin-top:19px}.reset-button{color:#a15345;align-items:center;gap:6px;margin-top:14px;font-size:10px;display:inline-flex}.toast{background:linear-gradient(145deg,#113f33fa,#07261ffc);border:1px solid #ffffff17;min-height:44px;padding:10px 15px 10px 10px;font-size:11px;box-shadow:0 18px 50px #07231d40,inset 0 1px #ffffff17}.toast span{color:#d4f1e4;background:#7ecfac2e;width:24px;height:24px}@media (max-width:1120px){.lower-grid{grid-template-columns:1.35fr 1fr}.detail-grid{grid-template-columns:1.15fr 1fr}.goals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-overview-stats{grid-template-columns:1fr;min-width:52%}.goal-overview-stats>div{justify-content:space-between;align-items:center;padding:8px 13px;display:flex}.goal-overview-stats strong{margin:0}.forecast-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-metrics>article:last-child{grid-column:1/-1}}@media (max-width:920px){.lower-grid,.detail-grid{grid-template-columns:1fr}.plans-summary,.goal-overview{align-items:flex-start}.summary-flow{min-width:320px}.goal-overview{display:block}.goal-overview-stats{grid-template-columns:repeat(3,1fr);min-width:0;margin-top:23px}.goal-overview-stats>div{padding:13px;display:block}.goal-overview-stats strong{margin-top:7px}.goal-rule-panel{align-items:flex-start}}@media (max-width:720px){html{scroll-padding-bottom:calc(104px + env(safe-area-inset-bottom))}.sidebar{height:calc(72px + env(safe-area-inset-bottom));min-height:calc(72px + env(safe-area-inset-bottom))}.sidebar>.nav-item.settings{display:none}.workspace{padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(126px + env(safe-area-inset-bottom))}.topbar{gap:12px}.topbar-copy{flex:auto;min-width:0}.topbar h1{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(22px,6.4vw,26px);overflow:hidden}.top-actions{flex:none;gap:8px}.mobile-settings-button{color:#355f51;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffcd1;border:1px solid #18392f17;border-radius:13px;justify-content:center;align-items:center;width:43px;min-width:43px;height:43px;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 10px 26px #11302712,inset 0 1px #ffffffe6}.mobile-settings-button:active{background:#fff;transform:scale(.96)}.panel{border-radius:17px;padding:21px 20px}.panel h2{font-size:18px}.chart-scroll{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#18493a2b transparent;margin-inline:-2px;padding-bottom:4px;overflow:auto hidden}.chart{grid-template-columns:repeat(12,minmax(42px,1fr));gap:10px;width:660px;min-width:660px}.category-visual{grid-template-columns:140px 1fr;gap:17px}.category-ring{width:130px;height:130px}.plans-summary,.goal-overview{border-radius:20px;min-height:0;padding:29px 24px;display:block}.plans-summary>div:first-child>strong,.goal-overview>div:first-child>strong{font-size:43px}.summary-flow{min-width:0;margin-top:23px;padding:14px}.manager-toolbar{flex-direction:column;align-items:stretch;padding:16px}.search-box{width:100%}.plan-list{padding:0 12px 12px;overflow:visible}.plan-head{display:none}.plan-row{background:#fafcf9ab;border:1px solid #163a2e12;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name value""cycle date""actions actions";gap:13px 12px;min-width:0;margin-top:11px;padding:14px;box-shadow:0 8px 20px #14352b0b,inset 0 1px #fff}.plan-name{grid-area:name}.plan-row>.plan-cycle:nth-child(2){grid-area:cycle}.plan-row>.plan-cycle:nth-child(3){text-align:right;grid-area:date}.plan-value{grid-area:value}.row-actions{border-top:1px solid #163a2e11;grid-area:actions;justify-content:flex-end;padding-top:11px}.plan-name strong{max-width:180px}.goals-grid{grid-template-columns:1fr}.goal-card,.add-goal-card{min-height:330px}.goal-rule-panel{flex-direction:column}.goal-rule-copy{align-items:flex-start}.scenario-switch{flex-wrap:wrap;width:100%}.scenario-switch>span{width:100%;margin:4px 8px 6px}.year-switch{width:100%}.forecast-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-metrics article{min-height:148px}.annual-chart-panel{padding-inline:19px}.chart-legend{padding:6px 9px}.mobile-scroll-hint{color:#7a8982;margin-top:16px;font-size:10px;display:block}.annual-chart-scroll{margin-right:-19px;padding-right:19px}.annual-chart{min-width:680px}.forecast-table-panel{overflow:visible}.forecast-table-panel>.panel-heading{flex-direction:column;padding:21px 20px 17px}.table-note{text-align:left}.forecast-table{padding:0 12px 12px;overflow:visible}.forecast-head{display:none}.forecast-row{background:#fafcf9b0;border:1px solid #163a2e12;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;margin-bottom:11px;padding:15px;box-shadow:0 8px 20px #14352b0a,inset 0 1px #fff}.forecast-row:not(.forecast-head)>*{font-size:11px;display:block;text-align:left!important}.forecast-row:not(.forecast-head)>strong:first-child{border-bottom:1px solid #163a2e11;grid-column:1/-1;padding-bottom:12px;font-size:12px}.forecast-row:not(.forecast-head)>:nth-child(n+2):before{color:#7b8a83;margin-bottom:5px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:9px;font-weight:570;display:block}.forecast-row:not(.forecast-head)>:nth-child(2):before{content:"收入"}.forecast-row:not(.forecast-head)>:nth-child(3):before{content:"消费支出"}.forecast-row:not(.forecast-head)>:nth-child(4):before{content:"长期储蓄"}.forecast-row:not(.forecast-head)>:nth-child(5):before{content:"心愿预留"}.forecast-row:not(.forecast-head)>:nth-child(6):before{content:"自由现金"}.forecast-row:not(.forecast-head)>:nth-child(7):before{content:"期末可用"}.forecast-row:not(.forecast-head)>:nth-child(8):before{content:"总资产"}.forecast-row:not(.forecast-head)>:last-child{border-top:1px solid #163a2e11;grid-column:1/-1;padding-top:12px}.modal-backdrop{place-items:end center;padding:0}.modal-card,.modal-card.compact{border-radius:24px 24px 0 0;width:100%;max-height:94dvh;padding:0 18px}.modal-heading{margin-inline:-18px;padding:21px 18px 17px}.modal-emblem{width:38px;height:38px}.modal-heading h2{font-size:21px}.type-switch{grid-template-columns:repeat(2,1fr)}.form-grid.two{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-actions{padding:14px 18px calc(17px + env(safe-area-inset-bottom));margin-inline:-18px}.toast{bottom:calc(86px + env(safe-area-inset-bottom))}}@media (max-width:440px){.metric-card{min-height:148px}.metric-card>strong{font-size:19px}.metric-card>small{font-size:9px}.category-visual{grid-template-columns:1fr;justify-items:center}.category-legend{width:100%}.upcoming-row{grid-template-columns:42px minmax(0,1fr) auto}.goal-overview-stats,.forecast-metrics{grid-template-columns:1fr}.forecast-metrics>article:last-child{grid-column:auto}.forecast-metrics article{min-height:142px}.goal-rule-copy{display:block}.rule-icon{margin-bottom:13px}.row-actions button span{display:none}.row-actions button{justify-content:center;width:34px}}@media (prefers-reduced-motion:reduce){.view-content>*{animation:none!important}}
