/* 图谱版新增：三种支出视图、目标清单、星雾玻璃与赤陶票据。 */
.monthly-chart-tabs{margin:0}
.page-monthly .analysis-panel>.segments{margin:4px 0 14px;overflow:visible;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.page-monthly .analysis-panel>.segments button{min-width:0;white-space:nowrap}
.restored-capsules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 8px;padding:10px 0 4px;align-items:end}
.restored-capsules .capsule-col{min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:2px 0 5px;text-align:center;font-size:11px;color:var(--text-main)}
.restored-capsules .capsule-number{font:700 12px Manrope,'Noto Sans SC',sans-serif;color:var(--accent-main)}
.restored-capsules .capsule-track{width:min(100%,53px);height:126px;min-height:126px;max-width:53px;background:var(--surface-soft);border:1px solid var(--line);border-radius:29px;overflow:hidden;display:flex;align-items:flex-end}
.restored-capsules .capsule-fill{display:block;width:100%;min-height:0;border-radius:27px;transition:height .25s ease}
.restored-capsules .capsule-name{max-width:100%;font-weight:650;overflow-wrap:anywhere;line-height:1.3}
.restored-capsules small{font-size:10px;color:var(--text-secondary);white-space:nowrap}
.restored-capsules button:focus-visible{outline:2px solid var(--accent-main);outline-offset:2px}
[data-theme=grid] .restored-capsules .capsule-track,[data-theme=grid] .restored-capsules .capsule-fill{border-radius:2px}
[data-theme=journal] .restored-capsules .capsule-track{border-radius:3px}

.goal-ledger-board{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-main)}
.goal-ledger{display:block;width:100%;padding:19px 2px 18px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text-main);text-align:left;transition:background .18s ease}
.goal-ledger:last-child{border-bottom:0}.goal-ledger:hover{background:var(--surface-soft)}.goal-ledger:focus-visible{position:relative;z-index:1;outline:2px solid var(--accent-main);outline-offset:-2px}
.goal-ledger-top{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:9px;align-items:baseline}.goal-index{font:700 11px Manrope,'Noto Sans SC',sans-serif;color:var(--accent-main)}.goal-title{font-size:18px;line-height:1.35;font-weight:700;min-width:0;overflow-wrap:anywhere}.goal-percent{font:750 24px Manrope,'Noto Sans SC',sans-serif;letter-spacing:-.03em;color:var(--accent-main);white-space:nowrap}
.goal-ledger-values{display:flex;justify-content:space-between;gap:10px;margin:12px 0 13px;font-size:11px;color:var(--text-secondary)}.goal-ledger-values b{display:block;margin-top:2px;font:700 15px Manrope,'Noto Sans SC',sans-serif;color:var(--text-main);font-variant-numeric:tabular-nums}
.goal-meter{position:relative;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;padding:5px 0 8px}.goal-meter i{display:block;height:15px;background:var(--surface-soft);border:1px solid var(--line);border-radius:3px}.goal-meter i.is-filled{background:var(--accent-main);border-color:var(--accent-main)}.goal-expected-marker{position:absolute;top:0;height:24px;width:2px;background:var(--text-main);box-shadow:0 0 0 2px var(--surface-main)}
.goal-ledger-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2px 10px;margin-top:8px;font-size:10px;line-height:1.5;color:var(--text-secondary)}.goal-gap{display:block;margin-top:6px;font-size:10px;color:var(--text-secondary)}.goal-gap.negative{color:#bd4f43}.goal-add{margin-top:10px;width:100%;font-weight:700}.page-plans.view-goals>.subtle{margin-top:0}
[data-theme=sea] .goal-ledger-board{border-top:2px solid #2458c6;border-bottom:0}[data-theme=sea] .goal-meter i{border-radius:99px}[data-theme=sea] .goal-ledger{padding:18px 8px}
[data-theme=journal] .goal-ledger-board{background:transparent}[data-theme=journal] .goal-ledger{border-bottom-style:dashed}[data-theme=journal] .goal-title{font-family:Georgia,'Noto Serif SC',serif;font-weight:500}
[data-theme=grid] .goal-ledger-board{border:2px solid #1d2b3a;box-shadow:4px 4px 0 #d8e0fa}[data-theme=grid] .goal-ledger{padding-inline:12px}[data-theme=grid] .goal-meter i{border-radius:0}
[data-theme=orbit] .goal-ledger-board{border:0;border-radius:24px;padding:2px 15px;background:#faf4fc}[data-theme=orbit] .goal-meter i{border-radius:99px}

:root[data-theme=glass]{--text-main:#f4f4ff;--text-secondary:#d3d4ef;--surface-main:rgba(27,34,79,.70);--surface-soft:rgba(80,89,148,.37);--accent-main:#91efe2;--ink:#f4f4ff;--muted:#d3d4ef;--paper:rgba(27,34,79,.70);--cyan:rgba(75,126,166,.54);--green:rgba(73,131,131,.54);--lime:#91efe2;--yellow:rgba(139,91,174,.54);--peach:rgba(183,102,152,.50);--line:rgba(215,226,255,.23);--teal:#91efe2;--alloc-0:#91efe2;--alloc-1:#d4a5fa;--alloc-2:#ffc2a7;--alloc-3:#8fafff;--alloc-4:#c4e69a;--donut-0:#91efe2;--donut-1:#d4a5fa;--donut-2:#ffc2a7;--donut-3:#8fafff;--donut-4:#c4e69a;--donut-5:#ff9fcf;--donut-6:#7ec8f9;--donut-7:#efce94;color-scheme:dark;color:#f4f4ff;background:radial-gradient(circle at 10% 6%,#673e89 0,transparent 27%),radial-gradient(circle at 83% 23%,#27548f 0,transparent 30%),radial-gradient(circle at 50% 88%,#493071 0,transparent 32%),#111733}
[data-theme=glass] body{background:transparent;color:var(--text-main)}
[data-theme=glass] .app-shell,[data-theme=glass] dialog{background:linear-gradient(155deg,rgba(13,19,53,.72),rgba(25,26,67,.61))!important;color:var(--text-main);box-shadow:0 22px 90px #090d2a88;backdrop-filter:blur(24px)}
[data-theme=glass] .app-shell:before{content:"";position:absolute;inset:0 0 auto;height:470px;pointer-events:none;background:radial-gradient(ellipse at 20% 25%,rgba(232,130,218,.24),transparent 50%),radial-gradient(ellipse at 85% 57%,rgba(89,231,219,.18),transparent 55%)}
[data-theme=glass] .page{position:relative}
[data-theme=glass] .brand-header,[data-theme=glass] .header{border-color:var(--line)}
[data-theme=glass] .brand-header>strong,[data-theme=glass] .header h1{font-family:Manrope,'Noto Sans SC',sans-serif;font-weight:650;letter-spacing:-.025em}
[data-theme=glass] .edition-line,[data-theme=glass] .edition-line a,[data-theme=glass] .small,[data-theme=glass] .subtle{color:var(--text-secondary)}
[data-theme=glass] .receipt-intro{position:relative;overflow:hidden;padding:25px 21px;border:1px solid rgba(223,233,255,.31);border-radius:24px;background:linear-gradient(125deg,rgba(98,105,205,.64),rgba(39,64,111,.68) 65%,rgba(25,83,95,.54))!important;box-shadow:0 18px 42px #070b2e65;backdrop-filter:blur(18px)}
[data-theme=glass] .receipt-intro:after{content:"";position:absolute;width:170px;height:170px;right:-76px;top:-75px;border-radius:50%;border:24px solid rgba(164,235,255,.16);pointer-events:none}
[data-theme=glass] .receipt-intro h1,[data-theme=glass] .receipt-intro .return-rate{color:#fff!important;text-shadow:0 1px 15px #12164144}
[data-theme=glass] .return-summary{border-color:rgba(244,244,255,.28)}[data-theme=glass] .hours-seal{background:rgba(255,255,255,.18)!important;color:#fff!important;border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 1px 2px #ffffff30;backdrop-filter:blur(12px)}
[data-theme=glass] :is(.card,.list,.receipt-ledger,.receipt-assets,.cash-comparison,.open-chart,.saving-overview,.asset-statement,.work-summary,.estimate-lead,.income-source,.visual-section,.income-rollup,.budget-statement,.calendar-panel,.project-dossier,.retirement-story,.trial-result,.goal-ledger-board,.chart-readout,.month-selector,.goal-add){background:rgba(41,47,96,.52)!important;color:var(--text-main);border-color:var(--line);box-shadow:0 11px 32px #070b2c50;backdrop-filter:blur(16px)}
[data-theme=glass] .card.cyan,[data-theme=glass] .card.green,[data-theme=glass] .card.yellow,[data-theme=glass] .card.peach{background:rgba(54,61,119,.59)!important}
[data-theme=glass] .receipt-ledger{border:1px solid var(--line)!important;border-radius:19px!important;padding:4px 17px!important}
[data-theme=glass] .receipt-ledger>button{border-color:var(--line)}
[data-theme=glass] .receipt-assets{border-radius:19px}
[data-theme=glass] .bottom-nav{background:rgba(20,26,66,.82)!important;border:1px solid rgba(222,236,255,.27);box-shadow:0 13px 37px #060b29a1;backdrop-filter:blur(22px)}
[data-theme=glass] .bottom-nav button{color:#d8dbf4}[data-theme=glass] .bottom-nav button.active{background:rgba(139,238,227,.23)!important;color:#aefbf0!important}[data-theme=glass] .flow-icon,[data-theme=glass] .bottom-nav button.active .flow-icon{color:currentColor}[data-theme=glass] .icon-tint{fill:rgba(183,250,247,.30)!important}
[data-theme=glass] .primary,[data-theme=glass] .toggle.on{background:#91efe2!important;color:#142443!important;border-radius:12px}
[data-theme=glass] .secondary,[data-theme=glass] .pill,[data-theme=glass] .header .icon-button{background:rgba(115,131,196,.28)!important;color:#f4f4ff;border:1px solid var(--line)}
[data-theme=glass] .segments{background:rgba(96,112,180,.26)!important;border:1px solid var(--line);border-radius:13px}
[data-theme=glass] .segments button{color:#d3d4ef;background:transparent!important;border-radius:9px}
[data-theme=glass] .segments button.active{background:rgba(143,239,226,.93)!important;color:#163347!important;box-shadow:0 3px 15px #07162f5a}
[data-theme=glass] :is(.field input,.field select,.field textarea,input:not([type=checkbox]):not([type=radio]),select,textarea){background:rgba(12,22,61,.66);color:#fff;border-color:rgba(202,217,255,.35)}
[data-theme=glass] option{background:#1b2459;color:#fff}
[data-theme=glass] :is(.list-row,.budget-row,.goal-ledger,.income-rollup-row,.income-rollup-head){border-color:var(--line)}
[data-theme=glass] :is(.text-button,a,.positive){color:#a4f5e9}[data-theme=glass] .negative{color:#ffb6b1}
[data-theme=glass] :is(.notice,.empty,.status-badge){background:rgba(123,140,199,.25);color:#f4f4ff;border-color:var(--line)}
[data-theme=glass] .unified-tools .tool-card{background:rgba(53,62,118,.57)!important;border:1px solid var(--line)!important;border-radius:19px!important;box-shadow:0 9px 26px #09103855}[data-theme=glass] .unified-tools .tool-icon{background:rgba(143,238,228,.17)!important;border:1px solid rgba(182,248,240,.40);color:#b6fff3}
[data-theme=glass] .goal-ledger-board{border:1px solid var(--line);border-radius:21px;padding:0 16px}[data-theme=glass] .goal-meter i{background:rgba(184,203,255,.22);border-color:rgba(211,225,255,.32);border-radius:99px}[data-theme=glass] .goal-meter i.is-filled{background:#91efe2;border-color:#91efe2;box-shadow:0 0 10px #91efe288}[data-theme=glass] .goal-expected-marker{background:#f6c6ff;box-shadow:0 0 0 2px #2b3168}[data-theme=glass] .goal-ledger:hover{background:rgba(180,217,255,.09)}
[data-theme=glass] .restored-capsules .capsule-track{background:rgba(117,139,201,.22)}[data-theme=glass] .donut-track{stroke:rgba(183,205,246,.27)}[data-theme=glass] .flow-label-back{fill:#273268}[data-theme=glass] .horizontal-flow .flow-node-name,[data-theme=glass] .horizontal-flow .flow-node-amount,[data-theme=glass] .horizontal-flow .flow-column-label{fill:#f3f4ff}[data-theme=glass] .horizontal-flow .flow-column-toggle rect{fill:#343f85;stroke:#7185b7}
[data-theme=glass] .calendar-panel .calendar-day.has-income{background:rgba(79,200,195,.22)}[data-theme=glass] .calendar-panel .calendar-day.has-expense{background:rgba(220,139,192,.22)}
[data-theme=glass] .theme-option.selected{background:rgba(138,239,225,.20)}[data-theme=glass] .theme-swatch.glass{border-left-color:#91efe2;background:linear-gradient(135deg,#6a54b4,#143f72)}
[data-theme=glass] button:focus-visible,[data-theme=glass] a:focus-visible{outline-color:#91efe2}[data-theme=glass] ::selection{background:#91efe2;color:#172350}

:root[data-theme=terracotta]{--text-main:#342b25;--text-secondary:#695a4e;--surface-main:#fff8ec;--surface-soft:#f4dfc9;--accent-main:#9b372b;--ink:#342b25;--muted:#695a4e;--paper:#fff8ec;--cyan:#f3e3cb;--green:#e4e8cf;--lime:#9b372b;--yellow:#f0c370;--peach:#edb09a;--line:#b99c84;--teal:#9b372b;--alloc-0:#a83b2d;--alloc-1:#d49a47;--alloc-2:#51756b;--alloc-3:#243936;--alloc-4:#e06a4a;--donut-0:#a83b2d;--donut-1:#d49a47;--donut-2:#51756b;--donut-3:#243936;--donut-4:#e06a4a;--donut-5:#7b7463;--donut-6:#b56e58;--donut-7:#9b8e57;background:#dfc9af;color:#342b25}
[data-theme=terracotta] body{background:transparent;color:var(--text-main)}
[data-theme=terracotta] .app-shell,[data-theme=terracotta] dialog{background:#fff6e7!important;color:var(--text-main);box-shadow:0 18px 45px #512b1f35}
[data-theme=terracotta] .app-shell{border-left:1px solid #b89579;border-right:1px solid #b89579}
[data-theme=terracotta] .brand-header{padding-bottom:11px;border-bottom:4px solid #342b25}
[data-theme=terracotta] .brand-header>strong{font:800 25px Manrope,'Noto Sans SC',sans-serif;letter-spacing:-.035em}
[data-theme=terracotta] .brand-header>strong span{font-size:15px;color:#9b372b}
[data-theme=terracotta] .header h1,[data-theme=terracotta] .receipt-intro h1{font-family:Manrope,'Noto Sans SC',sans-serif;font-weight:850;letter-spacing:-.035em}
[data-theme=terracotta] .header h1{font-size:30px;border-bottom:2px solid #342b25;padding-bottom:7px}
[data-theme=terracotta] .receipt-intro{background:#9b372b!important;color:#fff4df;padding:25px 20px 19px;border-radius:0;position:relative;overflow:hidden}
[data-theme=terracotta] .receipt-intro:after{content:"";position:absolute;right:-30px;top:-36px;width:103px;height:103px;border:18px solid #e49b59;transform:rotate(16deg);pointer-events:none}
[data-theme=terracotta] .receipt-intro h1,[data-theme=terracotta] .receipt-intro .return-rate,[data-theme=terracotta] .receipt-intro small{color:#fff4df}
[data-theme=terracotta] .return-summary{border-color:#e5aa82}
[data-theme=terracotta] .hours-seal{background:#f4c371!important;color:#342b25!important;border-radius:0;transform:rotate(-7deg);box-shadow:4px 5px 0 #5e211e}
[data-theme=terracotta] .receipt-ledger{border-top:3px solid #342b25;border-bottom:3px solid #342b25;background:transparent!important;border-radius:0!important;padding:0!important}
[data-theme=terracotta] .receipt-ledger>button{border-color:#ad8e75}
[data-theme=terracotta] .receipt-assets{background:#e9d5b8!important;border-radius:0;border:1px solid #a28269}
[data-theme=terracotta] :is(.card,.list,.cash-comparison,.open-chart,.saving-overview,.asset-statement,.work-summary,.estimate-lead,.income-source,.visual-section,.income-rollup,.budget-statement,.calendar-panel,.project-dossier,.retirement-story,.trial-result,.goal-ledger-board){background:#fff8ec!important;color:#342b25;border:1px solid #b99c84;border-radius:0;box-shadow:none}
[data-theme=terracotta] .card.hero{background:#f1d4aa!important;border:0;border-top:5px solid #9b372b}
[data-theme=terracotta] .primary,[data-theme=terracotta] .toggle.on{background:#9b372b!important;color:#fff8ec;border-radius:0}
[data-theme=terracotta] .secondary,[data-theme=terracotta] .pill,[data-theme=terracotta] .header .icon-button{background:#e9d5b8!important;color:#342b25;border:1px solid #a6866c;border-radius:0}
[data-theme=terracotta] .segments{background:transparent!important;border:1px solid #9b372b;border-radius:0;padding:3px}
[data-theme=terracotta] .segments button{border-radius:0;color:#6e4f43;background:transparent!important}
[data-theme=terracotta] .segments button.active{background:#9b372b!important;color:#fff9e9!important;box-shadow:none}
[data-theme=terracotta] .bottom-nav{background:#342b25!important;border-radius:0;border:1px solid #342b25;box-shadow:6px 7px 0 #9b372b}
[data-theme=terracotta] .bottom-nav button{color:#efe1c9}
[data-theme=terracotta] .bottom-nav button.active{background:#f0c370!important;color:#342b25!important;border-radius:0}
[data-theme=terracotta] .bottom-nav button.active:after{display:none}
[data-theme=terracotta] .flow-icon,[data-theme=terracotta] .bottom-nav button.active .flow-icon{color:currentColor}[data-theme=terracotta] .icon-tint{fill:#e0945d!important}
[data-theme=terracotta] .chart-readout,[data-theme=terracotta] .month-selector{background:#f4dfc9;border-radius:0}
[data-theme=terracotta] :is(.field input,.field select,.field textarea){background:#fffdf7;border-color:#aa8a70;border-radius:0;color:#342b25}
[data-theme=terracotta] .text-button,[data-theme=terracotta] a{color:#9b372b}
[data-theme=terracotta] .list-row,[data-theme=terracotta] .budget-row{border-color:#b99c84}
[data-theme=terracotta] .notice,[data-theme=terracotta] .empty{background:#f0dfc7;color:#342b25;border-radius:0}
[data-theme=terracotta] .unified-tools .tool-card{background:#fff8ec!important;border:1px solid #9b372b!important;border-radius:0!important;box-shadow:none!important}
[data-theme=terracotta] .unified-tools .tool-card:nth-child(4n+2){background:#f0dfc7!important}
[data-theme=terracotta] .unified-tools .tool-icon{background:#9b372b!important;color:#fff8ec;border:0;border-radius:0;transform:rotate(-4deg)}
[data-theme=terracotta] .goal-ledger-board{border:2px solid #342b25;background:#fff8ec!important;padding:0 14px}
[data-theme=terracotta] .goal-ledger{border-bottom:1px dashed #9b372b}
[data-theme=terracotta] .goal-meter i{border-radius:0;background:#f2ddc5;border-color:#b99c84}
[data-theme=terracotta] .goal-meter i.is-filled{background:#9b372b;border-color:#9b372b}
[data-theme=terracotta] .goal-expected-marker{background:#342b25;box-shadow:0 0 0 2px #fff8ec}
[data-theme=terracotta] .restored-capsules .capsule-track,[data-theme=terracotta] .restored-capsules .capsule-fill{border-radius:0}
[data-theme=terracotta] .flow-label-back{fill:#fff8ec}[data-theme=terracotta] .horizontal-flow .flow-node-name,[data-theme=terracotta] .horizontal-flow .flow-node-amount,[data-theme=terracotta] .horizontal-flow .flow-column-label{fill:#342b25}
[data-theme=terracotta] .calendar-panel .calendar-day{border-radius:0}
[data-theme=terracotta] .theme-option.selected{background:#f0dfc7}
[data-theme=terracotta] .theme-swatch.terracotta{border-left-color:#9b372b;background:#f0c370;border-radius:0}
[data-theme=terracotta] button:focus-visible,[data-theme=terracotta] a:focus-visible{outline-color:#9b372b}
[data-theme=terracotta] ::selection{background:#9b372b;color:#fff8ec}
@media(max-width:350px){.goal-ledger-values b{font-size:13px}.goal-percent{font-size:20px}.restored-capsules{gap:12px 5px}.restored-capsules .capsule-track{height:108px;min-height:108px}}
@media(prefers-reduced-motion:reduce){.restored-capsules .capsule-fill,.goal-ledger{transition:none!important}}
[data-theme=terracotta] .unified-tools .tool-card .tool-icon{color:#fff8ec!important}
.theme-swatch.glass{border-left-color:#91efe2!important;background:linear-gradient(135deg,#6a54b4,#143f72)!important;border-radius:12px}
.theme-swatch.terracotta{border-left-color:#9b372b!important;background:#f0c370!important;border-radius:0}
[data-theme=terracotta] .bottom-nav{box-shadow:0 12px 28px #4a281d3d}
[data-theme=terracotta] .hours-seal{box-shadow:0 10px 22px #5e211e38}
[data-theme=terracotta] .unified-tools .tool-card:before{display:none}
