:root{font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#17241e;background:#f7f8f5;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #2d9a71;outline-offset:2px}h1,h2,h3,p{margin:0}.app-shell{min-height:100vh;display:flex}.sidebar{width:238px;min-width:238px;background:#fff;border-right:1px solid #e9ece8;display:flex;flex-direction:column;padding:30px 15px 18px;position:sticky;top:0;height:100vh;z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:0 13px;margin-bottom:52px}.brand-mark{height:38px;width:38px;background:#174c3c;color:#fff;display:grid;place-items:center;border-radius:8px}.brand strong{display:block;font-size:var(--type-section);line-height:1.1}.brand small{color:#8b9991;font-size:var(--type-meta)}.nav-label{font-size:var(--type-meta);color:#a2ada6;padding:0 14px;margin:0 0 12px;font-weight:700}.nav-list,.sidebar-bottom{display:flex;flex-direction:column;gap:4px}.nav-list button,.sidebar-bottom>button{display:flex;align-items:center;gap:12px;width:100%;height:43px;text-align:left;border:0;border-radius:6px;background:transparent;color:#66756c;padding:0 14px;font-size:var(--type-body);font-weight:500}.nav-list button:hover,.sidebar-bottom>button:hover{background:#f3f7f3;color:#174c3c}.nav-list button.active{background:#eaf5ed;color:#126548}.sidebar-bottom{margin-top:auto}.sidebar-account{display:flex;align-items:center;gap:10px;border-top:1px solid #edf0ed;margin:20px 4px 0;padding:20px 3px 0;min-width:0}.avatar{height:34px;width:34px;min-width:34px;border-radius:50%;background:#edf4ef;color:#317451;display:grid;place-items:center;font-size:var(--type-body);font-weight:700}.account-text{min-width:0}.account-text strong{display:block;font-size:var(--type-meta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:155px}.account-text small{display:block;color:#91a097;font-size:var(--type-meta);margin-top:3px}.main{min-width:0;flex:1}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 44px;border-bottom:1px solid #e9ece8;background:#fff}.breadcrumb{font-size:var(--type-meta);color:#8b9991;font-weight:500}.breadcrumb span{padding:0 12px;color:#c3ccc6}.top-actions{display:flex;align-items:center;gap:22px}.sync-status{display:flex;align-items:center;gap:7px;color:#75857a;font-size:var(--type-meta)}.sync-status>span{height:6px;width:6px;background:#43ae74;border-radius:50%}.sync-status.offline>span{background:#e5a75d}.account-button{border:0;background:transparent;display:flex;align-items:center;gap:8px;color:#53695c;font-size:var(--type-meta);font-weight:700}.content{max-width:1280px;padding:38px 44px 80px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:34px}.eyebrow{color:#4b9273;letter-spacing:2px;font-size:var(--type-meta);font-weight:700;margin-bottom:8px}.page-heading h1{font-size:var(--type-section);line-height:1.25;font-weight:700}.muted,.page-heading .muted{color:#9aa79e;font-size:var(--type-meta);margin-top:8px}.primary-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #1c805b;border-radius:6px;background:#187b56;color:#fff;padding:0 17px;font-size:var(--type-meta);font-weight:700;white-space:nowrap}.primary-button:hover{background:#116447}.secondary-button{min-height:40px;border:1px solid #dfe5df;background:#fff;color:#526358;border-radius:6px;padding:0 17px;font-size:var(--type-meta);font-weight:700}.period-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.period-title{display:flex;align-items:center;gap:8px;font-size:var(--type-body);font-weight:700}.period-title svg{color:#367c59}.period-title span{color:#a0aca2;font-size:var(--type-meta);font-weight:400;margin-left:4px}.month-control{position:relative;display:flex;align-items:center}.month-control input{appearance:none;border:1px solid #e1e8e1;background:#fff;border-radius:6px;padding:8px 30px 8px 12px;color:#65756b;font-size:var(--type-meta);width:148px}.month-control svg{pointer-events:none;position:absolute;right:10px;color:#829087}.stats-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}.stat-card{position:relative;overflow:hidden;min-height:157px;padding:22px 24px;background:#fff;border:1px solid #ecf0ea;border-radius:7px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#819087;font-size:var(--type-meta)}.stat-top>svg{color:#c9ddd1}.stat-card strong{display:block;margin-top:20px;font-size:var(--type-section);line-height:1.2;white-space:nowrap}.stat-card small{display:block;color:#9aa89c;font-size:var(--type-meta);margin-top:10px}.balance-card{background:#174b3b;border-color:#174b3b;color:#fff}.balance-card .stat-top,.balance-card small{color:#aacdb8}.balance-card strong{position:relative;z-index:1}.balance-decoration{position:absolute;right:-33px;bottom:-97px;border:44px solid rgba(144,211,164,.09);border-radius:50%;width:270px;height:270px}.income-text{color:#198762}.expense-text{color:#d6645f}.stat-icon,.quick-icon{display:grid;place-items:center;border-radius:6px}.stat-icon{height:32px;width:32px}.income{color:#15865f;background:#e8f6ed}.expense{color:#d8655d;background:#fdf0ed}.overview-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;margin-top:35px}.spending-section,.quick-section{min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.section-heading h2{font-size:var(--type-body);font-weight:700}.section-heading p{font-size:var(--type-meta);color:#a1aca3;margin-top:5px}.section-heading>svg{color:#91aa99}.chart-content{display:flex;align-items:center;gap:28px;background:#fff;border:1px solid #ecf0ea;border-radius:7px;padding:22px;min-height:184px}.donut{height:138px;width:138px;min-width:138px;border-radius:50%;display:grid;place-items:center}.donut>div{height:101px;width:101px;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut small{color:#9eaca1;font-size:var(--type-meta)}.donut strong{font-size:var(--type-body);margin-top:6px;white-space:nowrap}.chart-legend{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}.chart-legend>div{display:flex;align-items:center;gap:8px;color:#66776b;font-size:var(--type-meta)}.chart-legend>div>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend strong{margin-left:auto;color:#3f5044}.legend-dot{height:7px;width:7px;min-width:7px;border-radius:50%}.chart-empty{font-size:var(--type-meta);color:#a4afa5}.quick-action{height:77px;width:100%;border:1px solid #ecf0ea;background:#fff;border-radius:7px;display:flex;align-items:center;text-align:left;gap:13px;padding:0 19px;margin-bottom:10px}.quick-action:hover{border-color:#9ccbb0}.quick-icon{height:40px;width:40px;min-width:40px}.quick-action>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.quick-action strong{font-size:var(--type-meta)}.quick-action small{font-size:var(--type-meta);color:#a0aaa1}.quick-action>svg{color:#9bb4a1}.transactions-section{margin-top:38px}.transaction-heading{align-items:center}.text-link{background:none;border:0;color:#2a8c62;display:flex;align-items:center;gap:4px;font-size:var(--type-meta);font-weight:700}.filter-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px}.search-field{display:flex;align-items:center;gap:8px;height:37px;max-width:280px;flex:1;padding:0 12px;border:1px solid #e5eae4;background:#fff;border-radius:6px;color:#9aaa9d}.search-field input{min-width:0;flex:1;border:0;outline:0;font-size:var(--type-meta);color:#26382b;background:transparent}.search-field input::placeholder{color:#a8b2a8}.segment{display:flex;align-items:center;gap:3px;border:1px solid #e7ece6;background:#fff;padding:3px;border-radius:6px}.segment button{border:0;background:transparent;border-radius:4px;color:#8b998d;font-size:var(--type-meta);font-weight:500;min-height:29px;padding:0 13px;white-space:nowrap}.segment button.selected{background:#eaf4ed;color:#1d7651}.transaction-list{border:1px solid #e9eee8;border-radius:7px;background:#fff;overflow:hidden}.date-divider{height:36px;display:flex;align-items:center;gap:8px;padding:0 20px;background:#fafbf9;color:#65776a;font-size:var(--type-meta);font-weight:700}.date-divider span{font-weight:400;color:#a7b1a7}.transaction-row{display:flex;align-items:center;gap:14px;min-height:72px;padding:10px 20px;border-top:1px solid #f0f2ee}.transaction-icon{height:38px;width:38px;min-width:38px;border-radius:7px;display:grid;place-items:center}.transaction-icon.expense{background:#fff1ed;color:#d66c5e}.transaction-icon.income{background:#e9f7ee;color:#259064}.transaction-icon span{font-size:var(--type-body);font-weight:700}.transaction-info{min-width:0;flex:1}.transaction-info strong{display:block;font-size:var(--type-meta)}.transaction-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9ca99e;font-size:var(--type-meta);margin-top:5px}.transaction-amount{font-size:var(--type-body);white-space:nowrap}.transaction-amount.expense{color:#d15d55;background:none}.transaction-amount.income{color:#17865d;background:none}.row-actions{display:flex;align-items:center;gap:1px}.row-actions button{height:28px;width:28px;border:0;background:transparent;color:#a4b0a5;display:grid;place-items:center;border-radius:4px}.row-actions button:hover{color:#337858;background:#edf6ef}.row-actions button:last-child:hover{color:#c95850;background:#fcf0ee}.empty-state{min-height:245px;border:1px dashed #dce5dc;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:#fff}.empty-state>span{height:47px;width:47px;display:grid;place-items:center;background:#eaf4ed;color:#458868;border-radius:8px;margin-bottom:13px}.empty-state h3{font-size:var(--type-body)}.empty-state p{font-size:var(--type-meta);color:#9eaaa0;margin:7px 0 15px}.empty-state button{border:0;background:transparent;color:#20845a;font-size:var(--type-meta);font-weight:700}.toast,.error-banner,.setup-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:6px;padding:11px 14px;font-size:var(--type-meta);margin-bottom:14px}.toast{background:#eaf7ee;color:#24734e}.error-banner{background:#fff0ed;color:#b8463d}.setup-banner{background:#eef4f0;color:#526e5b}.toast button,.error-banner button{border:0;background:none;color:inherit;display:grid;place-items:center}.category-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.category-toolbar>span{color:#9ca89e;font-size:var(--type-meta)}.category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.category-group{border:1px solid #e9eee8;background:#fff;border-radius:7px;overflow:hidden}.category-parent{display:flex;align-items:center;gap:11px;padding:15px 17px;border-bottom:1px solid #edf0eb}.category-badge{height:34px;width:34px;border-radius:6px;display:grid;place-items:center}.category-parent strong{font-size:var(--type-body)}.category-count{font-size:var(--type-meta);color:#a4b0a6;margin-left:auto}.children-list{padding:6px 17px 10px 62px}.children-list>div{height:34px;display:flex;align-items:center;justify-content:space-between;color:#66786a;font-size:var(--type-meta)}.children-list>div .row-actions{opacity:.6}.children-list>div:hover .row-actions{opacity:1}.add-child{border:0;background:none;color:#25865e;display:flex;align-items:center;gap:6px;font-size:var(--type-meta);padding:8px 0}.modal-backdrop{position:fixed;inset:0;background:#1121197a;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;border-radius:8px;width:min(100%,480px);max-height:min(90vh,800px);overflow:auto;padding:25px 28px 27px;box-shadow:0 20px 70px #0f281729}.small-modal{width:min(100%,410px)}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.modal-heading h2{font-size:var(--type-section)}.modal-heading p{font-size:var(--type-meta);color:#9aa79d;margin-top:5px}.icon-button{height:32px;width:32px;border:0;background:transparent;color:#7b8e80;display:grid;place-items:center;border-radius:5px}.icon-button:hover{background:#f0f4ef}.type-switch{display:flex;padding:4px;background:#f3f6f2;border-radius:6px;gap:4px;margin-bottom:22px}.type-switch button{flex:1;border:0;background:transparent;height:37px;border-radius:4px;display:flex;align-items:center;justify-content:center;gap:7px;color:#8b9a8e;font-size:var(--type-meta);font-weight:700}.type-switch button.selected{background:#fff;box-shadow:0 1px 5px #dce6dd}.type-switch button.selected.expense{color:#cc5d56}.type-switch button.selected.income{color:#16865e}.form-label,.modal form>label:not(.form-grid label){display:block;font-size:var(--type-meta);font-weight:700;color:#5d6d61;margin:15px 0 8px}.form-label span{font-weight:400;color:#a8b5aa}.modal input:not([type=number]),.modal select,.modal .form-grid input{height:40px;width:100%;padding:0 11px;border:1px solid #dfe7de;border-radius:5px;background:#fff;color:#23372a;font-size:var(--type-meta)}.modal input::placeholder{color:#b0bbb1}.amount-field{display:flex;align-items:center;border-bottom:1px solid #dfe7de;margin-bottom:15px}.amount-field>span{font-size:var(--type-section);color:#7a8d7e;margin-right:10px}.amount-field input{width:100%;height:56px;border:0;outline:0;font-size:var(--type-title);font-weight:700;color:#193d2b}.amount-field input::placeholder{color:#cbd6cc}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{font-size:var(--type-meta);font-weight:700;color:#5d6d61}.form-grid input,.form-grid select{display:block;margin-top:8px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:26px}.full-button{width:100%;margin-top:23px}.form-message{font-size:var(--type-meta);color:#bf5950;margin-top:13px}.auth-links{display:flex;justify-content:space-between;margin-top:18px}.auth-links button{border:0;background:none;color:#23845c;font-size:var(--type-meta)}.auth-hint{font-size:var(--type-meta);color:#a0ada2;margin-top:15px}.loading-screen{position:fixed;inset:0;background:#f7f8f5;z-index:100;display:grid;place-items:center;color:#357959;font-size:var(--type-body)}.mobile-only,.mobile-overlay{display:none}@media(max-width:1100px){.sidebar{width:205px;min-width:205px}.content{padding:32px 28px 70px}.topbar{padding:0 28px}.overview-grid{gap:17px}.chart-content{gap:14px;padding:17px}.donut{height:115px;width:115px;min-width:115px}.donut>div{height:84px;width:84px}.donut strong{font-size:var(--type-meta)}.stat-card{padding:18px}.stat-card strong{font-size:var(--type-section)}}@media(max-width:800px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .2s;width:250px;height:100dvh;box-shadow:8px 0 30px #00000014}.sidebar-open{transform:translate(0)}.mobile-overlay{display:block;position:fixed;inset:0;z-index:20;border:0;background:#121f164d}.mobile-only{display:grid}.topbar{height:61px;padding:0 22px;justify-content:flex-start;gap:12px}.top-actions{margin-left:auto}.content{padding:28px 22px 70px}.category-list{grid-template-columns:1fr 1fr}}@media(max-width:620px){.content{padding:24px 16px 80px}.topbar{padding:0 16px}.breadcrumb{font-size:var(--type-meta)}.breadcrumb span{padding:0 5px}.top-actions{gap:10px}.account-button span{display:none}.sync-status{font-size:var(--type-meta)}.page-heading{align-items:flex-end;margin-bottom:25px}.page-heading h1{font-size:var(--type-section)}.page-heading .muted{font-size:var(--type-meta)}.page-heading .primary-button{min-height:37px;padding:0 12px}.eyebrow,.period-title{font-size:var(--type-meta)}.period-title span{display:none}.month-control input{width:135px}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.balance-card{grid-column:1/-1;min-height:140px}.stat-card{min-height:129px;padding:16px}.stat-card strong{font-size:var(--type-section);margin-top:18px}.balance-card strong{font-size:var(--type-title)}.stat-card small{font-size:var(--type-meta)}.overview-grid{grid-template-columns:1fr;gap:25px;margin-top:28px}.chart-content{min-height:165px}.quick-section{display:none}.transactions-section{margin-top:30px}.transaction-row{gap:9px;padding:10px 11px}.transaction-icon{height:34px;width:34px;min-width:34px}.transaction-amount{font-size:var(--type-meta)}.row-actions{gap:0}.row-actions button{width:24px}.date-divider{padding:0 11px}.filter-row{align-items:stretch}.search-field{max-width:none}.segment button{padding:0 8px}.category-list{grid-template-columns:1fr}.modal-backdrop{padding:0;align-items:flex-end}.modal{width:100%;max-height:94dvh;border-radius:8px 8px 0 0;padding:22px 19px calc(25px + env(safe-area-inset-bottom))}.setup-banner{line-height:1.5}}@media(max-width:380px){.sync-status{display:none}.segment button{padding:0 6px}.transaction-info small{max-width:105px}.stat-card strong{font-size:var(--type-body)}.balance-card strong{font-size:var(--type-section)}}.transaction-money{display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap}.transaction-money small{font-size:var(--type-meta);color:#8c9b90}.import-summary{display:flex;flex-direction:column;gap:9px;color:#586b5d;font-size:var(--type-meta);line-height:1.55}.import-summary strong{color:#176c4a;font-size:var(--type-body)}.import-errors{max-height:220px;overflow:auto;padding:10px;background:#fff5f1;border-radius:5px;color:#9b5148;font-size:var(--type-meta)}.import-errors p{margin-top:5px}@media(max-width:620px){.transaction-money,.transaction-money small{font-size:var(--type-meta)}}.chart-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-3px 0 12px}.chart-controls select{height:34px;max-width:100%;padding:0 9px;border:1px solid #e3e9e2;border-radius:5px;background:#fff;color:#617267;font-size:var(--type-meta)}.trend-section{margin-top:30px;padding:22px;background:#fff;border:1px solid #ecf0ea;border-radius:7px}.trend-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.trend-toolbar label{color:#829087;font-size:var(--type-meta)}.trend-chart-wrap{position:relative;width:100%;overflow:visible}.trend-chart-wrap .trend-chart-detail{position:absolute;z-index:8;max-width:calc(100% - 12px);pointer-events:none}.trend-chart{display:block;width:100%;min-width:0;height:auto;overflow:visible}.trend-legend{display:flex;justify-content:center;gap:24px;margin-top:3px;color:#748278;font-size:var(--type-meta)}.trend-legend span{display:flex;align-items:center;gap:7px}.trend-legend i{width:18px;height:3px;border-radius:2px;display:inline-block}.income-line{background:#21946a}.expense-line{background:#dc7064}@media(max-width:620px){.trend-section{padding:16px 11px;margin-top:22px}.trend-chart{width:100%}.chart-controls{gap:6px}.chart-controls select{font-size:var(--type-meta);flex:1;min-width:110px}.trend-section .section-heading h2{font-size:var(--type-body)}.trend-section .section-heading p{max-width:260px;line-height:1.5}}.chart-panel{min-width:0;padding:20px;background:#fff;border:1px solid #ecf0ea;border-radius:7px}.chart-dashboard{grid-template-columns:minmax(0,1.3fr) minmax(250px,.9fr);align-items:start}.chart-dashboard .category-panel,.chart-dashboard .trend-panel{grid-column:1}.chart-dashboard .quick-section{grid-column:2;grid-row:1 / span 2}.chart-panel .section-heading{margin-bottom:13px}.chart-panel-toolbar{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-bottom:12px}.chart-panel-toolbar .segment button{padding:0 11px}.range-control{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px;color:#738177;font-size:var(--type-meta)}.range-control label{display:flex;align-items:center;gap:5px}.range-control input{height:30px;max-width:140px;border:1px solid #e3e9e2;border-radius:5px;padding:0 7px;background:#fff;color:#596a5f;font-size:var(--type-meta)}.range-caption{margin-left:auto;color:#98a49a;font-size:var(--type-meta)}.chart-panel .chart-content{padding:12px 5px;min-height:162px;gap:12px;border:0}.chart-panel .donut{height:118px;width:118px;min-width:118px}.chart-panel .donut>div{height:84px;width:84px}.chart-panel .donut strong{font-size:var(--type-meta)}.chart-panel .chart-legend{gap:7px}.chart-panel .chart-legend>div{font-size:var(--type-meta)}.chart-legend-row{display:flex;align-items:center;gap:8px;width:100%;min-height:24px;padding:2px 0;border:0;background:none;color:#66776b;font-size:var(--type-meta);text-align:left}.chart-legend-row>span:nth-child(2){min-width:42px}.chart-legend-row strong{margin-left:auto;color:#3f5044;font-size:var(--type-meta)}.chart-legend-row.active{color:#176c4a;font-weight:700}.legend-bar{flex:1;height:5px;min-width:30px;background:#edf1ed;border-radius:4px;overflow:hidden}.legend-bar i{display:block;height:100%;border-radius:4px}.donut-interactive{position:relative;overflow:visible;background:none!important}.donut-interactive svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.donut-interactive>div{position:relative;z-index:1}.donut-slice{cursor:pointer;transition:opacity .15s,transform .15s;transform-origin:60px 60px}.donut-slice:hover,.donut-slice.selected{opacity:.78;transform:scale(1.035)}.trend-point{cursor:pointer;stroke:#fff;stroke-width:1.5;transition:r .12s}.trend-point:hover{r:7}.chart-detail{position:fixed;z-index:80;display:flex;align-items:center;gap:9px;margin:0;padding:9px 12px;border:1px solid #dfe9df;border-radius:11px;background:#fff;color:#3c5948;font-size:var(--type-meta);white-space:nowrap;box-shadow:0 8px 24px #24432c29;pointer-events:none}.chart-detail span{font-weight:700;color:#176c4a}.chart-detail small{color:#9aa89e}.chart-panel .trend-chart-wrap{border:0;background:#fff}.chart-panel .trend-chart{min-height:165px}.chart-panel .trend-legend{font-size:var(--type-meta)}.trend-series-controls{display:flex;align-items:center;gap:8px;margin:4px 0 6px;color:#869389;font-size:var(--type-meta)}.trend-series-controls .segment button{min-height:27px;padding:0 10px;font-size:var(--type-meta)}@media(max-width:800px){.chart-panel{padding:17px}.chart-dashboard{grid-template-columns:1fr}.chart-dashboard .category-panel,.chart-dashboard .trend-panel,.chart-dashboard .quick-section{grid-column:auto;grid-row:auto}}@media(max-width:620px){.chart-panel{padding:15px 11px}.chart-panel-toolbar{gap:7px}.chart-panel-toolbar .segment button{padding:0 9px;font-size:var(--type-meta)}.range-control{gap:6px}.range-control input{max-width:125px}.range-caption{width:100%;margin-left:0}.chart-panel .chart-content{gap:7px;padding:10px 0;min-height:145px}.chart-panel .donut{height:100px;width:100px;min-width:100px}.chart-panel .donut>div{height:73px;width:73px}.chart-panel .donut small,.chart-panel .donut strong{font-size:var(--type-meta)}.chart-panel .chart-legend>div{font-size:var(--type-meta);gap:5px}.chart-panel .trend-chart{height:auto;min-height:0}.chart-panel .trend-y-label,.chart-panel .trend-x-label{font-size:var(--type-body)}.chart-panel .trend-legend{font-size:var(--type-meta)}}:root{color-scheme:light;--page-bg: #f5f6f2;--surface: #ffffff;--surface-soft: #f8faf7;--ink: #20352a;--muted-ink: #829287;--line: #e7eee7;--green: #277b58;--green-soft: #eaf5ed;--red: #cf695f;--red-soft: #fff0ed;--card-radius: 14px;--control-radius: 10px;--card-shadow: 0 2px 10px rgba(42, 75, 52, .035), 0 1px 2px rgba(42, 75, 52, .025);--card-shadow-hover: 0 6px 18px rgba(42, 75, 52, .07), 0 2px 4px rgba(42, 75, 52, .035);font-family:Inter,Noto Sans SC,Source Han Sans CN,Source Han Sans SC,思源黑体,Microsoft YaHei UI,Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:var(--ink);background:var(--page-bg)}body{min-height:100vh;background:var(--page-bg)}button,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(49,145,99,.25);outline-offset:2px}.app-shell{min-height:100dvh}.sidebar{background:#ffffffd1;border-right-color:#dee9decc;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding-top:28px}.brand{margin-bottom:44px}.brand small,.nav-label,.transaction-range-prefix,.date-picker-panel .picker-heading small,.period-title,.currency-picker-panel .picker-heading small,.date-picker-panel[aria-label=账目筛选日期] .picker-heading small,.date-picker-panel[aria-label=账目开始日期] .picker-heading small,.date-picker-panel[aria-label=账目结束日期] .picker-heading small,.date-picker-panel[aria-label=趋势开始日期] .picker-heading small,.date-picker-panel[aria-label=趋势结束日期] .picker-heading small,.date-picker-panel[aria-label=分类开始日期] .picker-heading small,.date-picker-panel[aria-label=分类结束日期] .picker-heading small,.date-picker-panel[aria-label=统计日期] .picker-heading small{display:none}.brand-mark{width:42px;height:42px;border-radius:14px;background:#276b4c;box-shadow:none}.brand strong{color:#254433}.nav-list button,.sidebar-bottom>button{height:46px;border-radius:12px;transition:background-color .18s ease,color .18s ease,transform .18s ease}.sidebar-tools{display:grid;gap:4px;margin:0 4px 8px}.sidebar-tool{display:flex;align-items:center;gap:12px;width:100%;height:42px;padding:0 14px;border:0;border-radius:10px;background:transparent;color:#66756c;font-size:var(--type-body);font-weight:500;text-align:left;transition:background-color .18s ease,color .18s ease,transform .18s ease}.sidebar-tool:hover{transform:translate(2px);background:#f3f7f3;color:#174c3c}.sidebar-tool svg{flex:none;color:#718176}.nav-list button:hover,.sidebar-bottom>button:hover{transform:translate(2px)}.nav-list button.active{background:linear-gradient(100deg,#eaf5ed,#f1f8f1);color:#176548;box-shadow:inset 3px 0 #4d9c70}.sidebar-account{border-top-color:#eaf0e9}.avatar{background:#e8f2e9}.main{background:transparent}.topbar{background:#ffffffc7;border-bottom-color:#e1eae0c7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.content{padding-top:42px}.page-heading{margin-bottom:30px}.eyebrow{color:#5b9875;letter-spacing:1.7px}.page-heading h1{color:#213a2c;letter-spacing:-.45px}.muted,.page-heading .muted{color:#8b9a8e}.drilldown-back{margin:0 0 12px -3px}.primary-button,.secondary-button{border-radius:var(--control-radius);transition:transform .16s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}.primary-button{background:linear-gradient(135deg,#2c895e,#1d704d);border-color:#267c55;box-shadow:0 4px 10px #277e5424}.primary-button:hover{background:linear-gradient(135deg,#267c55,#185f41);box-shadow:0 7px 15px #277e5433;transform:translateY(-1px)}.primary-button:active,.secondary-button:active{transform:translateY(1px) scale(.99)}.secondary-button{border-color:#e0e9df;background:#fbfcfa}.secondary-button:hover{border-color:#bdd8c3;background:#f5faf5}.month-control input,.chart-controls select,.range-control input,.search-field,.segment,.modal input:not([type=number]),.modal select,.modal .form-grid input,.modal .form-grid select{border-radius:11px}.month-control input,.chart-controls select,.range-control input,.modal input:not([type=number]),.modal select,.modal .form-grid input,.modal .form-grid select{border-color:#e2eae1}.segment{border-radius:12px;padding:4px;background:#f7f9f6;border-color:#e7ede6}.segment button{border-radius:9px;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease}.segment button.selected{background:#e8f3eb;color:#216f4d}.stat-card{border-radius:var(--card-radius);border-color:#e2ebe1eb;box-shadow:var(--card-shadow);transition:transform .22s ease,box-shadow .22s ease}.stat-card:not(.balance-card):hover{transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}.stat-card-action{width:100%;text-align:left;color:inherit;cursor:pointer;font:inherit}.stat-card-action:focus-visible{outline-offset:4px}.stat-card-action:hover .stat-icon{transform:scale(1.06)}.stat-card-action .stat-icon{transition:transform .18s ease}.balance-card{background:linear-gradient(145deg,#28684c,#174a39);border-color:#28684c;box-shadow:0 12px 30px #1a513829}.balance-card.stat-card-action,.balance-card.stat-card-action .stat-top{color:#e3f1e7}.balance-card.stat-card-action strong{color:#fff}.balance-card.stat-card-action small{color:#c5dfce}.balance-card.stat-card-action .stat-top>svg{color:#d8eee0}.balance-card .balance-decoration{border-color:#a8deb017}.stat-icon,.quick-icon,.transaction-icon,.category-badge{border-radius:12px}.category-badge>span{font-size:var(--type-body);font-weight:700;line-height:1}.picker-trigger{min-height:40px;display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 12px;border:1px solid #e1e9e1;border-radius:12px;background:#fff;color:#52685a;font-size:var(--type-meta);font-weight:500;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.picker-trigger:hover{border-color:#b9d5c0;background:#fbfdfb;box-shadow:0 4px 12px #295d3e12}.picker-trigger>svg:first-child{color:#478564;flex:none}.picker-trigger>svg:last-child{margin-left:auto;color:#839487;flex:none}.date-picker-trigger,.range-control .date-picker-trigger{min-width:188px}.form-grid .date-picker-trigger{width:100%;margin-top:8px;min-width:0}.global-currency{display:flex;align-items:center;gap:8px}.global-currency>span{font-size:var(--type-meta);color:#94a197}.currency-picker-trigger{min-width:160px;min-height:36px;font-size:var(--type-meta)}.currency-code-pill{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:26px;padding:0 7px;border-radius:8px;background:#eaf5ed;color:#26734f;font-size:var(--type-meta);font-weight:700;letter-spacing:.2px}.currency-picker-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-meta)}.picker-backdrop{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:#14271c6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:picker-fade-in .16s ease-out}.picker-panel{width:min(100%,410px);max-height:min(88vh,650px);max-height:min(88dvh,650px);overflow:auto;overscroll-behavior:contain;padding:23px;border:1px solid rgba(228,237,226,.9);border-radius:24px;background:#fff;box-shadow:0 24px 80px #1a392533;animation:picker-rise-in .2s cubic-bezier(.2,.8,.2,1)}.picker-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:17px}.picker-heading strong{display:block;color:#20372a;font-size:var(--type-body)}.picker-heading small{display:block;margin-top:5px;color:#97a59a;font-size:var(--type-meta)}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin:2px 0 14px}.calendar-nav-title{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}.calendar-nav-title>strong{color:#2e4737;font-size:var(--type-body);font-weight:700;font-variant-numeric:tabular-nums}.calendar-title-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:34px;padding:0 10px;border:1px solid #e8eee7;border-radius:11px;background:#f8faf7;color:#2e4737;font-size:var(--type-body);font-weight:700;font-variant-numeric:tabular-nums;transition:border-color .16s ease,background .16s ease,color .16s ease}.calendar-title-button>svg{color:#819687;transition:transform .16s ease}.calendar-title-button:hover,.calendar-title-button.active{border-color:#cfe3d2;background:#edf6ee;color:#216f4d}.calendar-title-button.active>svg{transform:rotate(180deg)}.calendar-year-range{min-width:122px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.calendar-weekdays{margin-bottom:7px;color:#9aa89c;font-size:var(--type-meta)}.calendar-weekdays span{padding:6px 0}.calendar-days>button,.picker-month-grid>button,.picker-year-grid>button{min-width:0;min-height:42px;border:0;border-radius:12px;background:transparent;color:#52685a;font-size:var(--type-body);transition:background .15s ease,color .15s ease,transform .15s ease}.calendar-days>button:hover,.picker-month-grid>button:hover,.picker-year-grid>button:hover{background:#f1f7f2}.calendar-days>button:active,.picker-month-grid>button:active,.picker-year-grid>button:active{transform:scale(.95)}.calendar-days>button.selected,.picker-month-grid>button.selected,.picker-year-grid>button.selected{background:#218056;color:#fff;font-weight:700;box-shadow:0 5px 12px #2180562e}.calendar-days>button.today:not(.selected){box-shadow:inset 0 0 0 1px #9ac6a5;color:#28764f;font-weight:700}.picker-month-grid,.picker-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:5px 0 8px}.picker-year-grid{max-height:285px;overflow:auto}.picker-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:17px;margin-top:14px;border-top:1px solid #edf1ec}.picker-search{display:flex;align-items:center;gap:9px;height:43px;padding:0 12px;border:1px solid #e4ebe3;border-radius:13px;background:#f9fbf8;color:#8b9b8e}.picker-search input{min-width:0;flex:1;border:0;outline:none;background:transparent;color:#32483a;font-size:var(--type-meta)}.picker-search button{display:grid;place-items:center;width:25px;height:25px;border:0;border-radius:8px;background:transparent;color:#8b9b8e}.picker-search button:hover{background:#edf3ed}.recent-currencies{display:flex;align-items:center;gap:7px;padding:14px 0 10px}.recent-currencies>span{margin-right:auto;color:#9aa89c;font-size:var(--type-meta)}.recent-currencies>button{height:29px;padding:0 10px;border:1px solid #e5ece4;border-radius:9px;background:#fff;color:#627668;font-size:var(--type-meta)}.recent-currencies>button.selected{border-color:#b8d8bf;background:#edf6ee;color:#26734f}.currency-options{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow:auto;margin:7px -5px 0;padding:0 5px}.currency-options>button{display:flex;align-items:center;gap:11px;min-height:54px;padding:7px 10px;border:1px solid transparent;border-radius:13px;background:transparent;color:#66806e;text-align:left}.currency-options>button:hover{background:#f7faf7}.currency-options>button.selected{border-color:#d9eadc;background:#f0f7f1;color:#24764e}.currency-option-name{display:flex;flex:1;flex-direction:column;gap:3px}.currency-option-name strong{color:#344b3a;font-size:var(--type-meta)}.currency-option-name small{color:#9aa89c;font-size:var(--type-meta)}.picker-empty{padding:22px 0;color:#9aa89c;font-size:var(--type-meta);text-align:center}@keyframes picker-fade-in{0%{opacity:0}to{opacity:1}}@keyframes picker-rise-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:620px){html,body,#root{width:100%;max-width:100%;overflow-x:clip}.app-shell,.main,.content{min-width:0;max-width:100%}.app-shell,.main,.content{width:100%}.overview-grid,.stats-grid,.chart-dashboard,.chart-panel,.transactions-section,.category-list,.data-management-grid{min-width:0;max-width:100%}.chart-panel-toolbar,.range-control,.filter-row,.section-heading{min-width:0;max-width:100%;flex-wrap:wrap}.chart-content,.transaction-list{min-width:0;max-width:100%}}@media(max-width:620px){.picker-backdrop{align-items:center;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom))}.picker-panel{width:min(100%,410px);max-height:88dvh;padding:20px 18px;border-radius:22px;animation:picker-rise-in .2s cubic-bezier(.2,.8,.2,1)}.picker-heading{margin-bottom:13px}.picker-year-grid{max-height:min(34dvh,250px)}.currency-options{max-height:min(34dvh,260px)}.currency-picker-trigger{min-width:0;max-width:100%}.date-picker-trigger,.range-control .date-picker-trigger{min-width:178px}.global-currency>span{display:none}.currency-picker-trigger{min-width:148px;max-width:178px;padding:0 9px;gap:7px}.overview-controls{gap:7px}}.chart-panel,.chart-content,.trend-section{border-radius:var(--card-radius);border-color:#e2ebe1eb;box-shadow:var(--card-shadow)}.chart-content{background:linear-gradient(150deg,#fff,#fbfdfb)}.chart-panel{padding:22px}.chart-panel .chart-content{background:transparent;box-shadow:none}.chart-panel-toolbar .segment{max-width:100%}.donut{filter:drop-shadow(0 5px 9px rgba(49,90,60,.09))}.donut>div{box-shadow:0 0 0 1px #e2ebe18c}.chart-legend-row{border-radius:9px;transition:background-color .18s ease}.chart-legend-row:hover,.chart-legend-row.active{background:#f3f8f2}.chart-legend-row>span:nth-child(2){flex:0 0 calc(var(--legend-label-chars, 4) * 1em + 8px);width:calc(var(--legend-label-chars, 4) * 1em + 8px);min-width:calc(var(--legend-label-chars, 4) * 1em + 8px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend-row .legend-bar{flex:1 1 auto;min-width:0}.chart-legend-row>strong{flex:0 0 42px;width:42px;text-align:right}.legend-bar{border-radius:999px;background:#edf2ec}.legend-bar i{border-radius:inherit}.trend-point{transition:r .16s ease,filter .16s ease}.trend-point:hover{r:7px;filter:drop-shadow(0 2px 3px rgba(37,89,57,.24))}.chart-detail{border-radius:13px;box-shadow:0 4px 15px #2f513514}.quick-action{border-radius:15px;border-color:#e7eee6;box-shadow:0 3px 12px #2a4b3409;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.quick-action:hover{transform:translateY(-2px);border-color:#b5d5be;box-shadow:var(--card-shadow)}.transactions-section{margin-top:42px}.transaction-list{overflow:hidden;border-radius:var(--card-radius);border-color:#e7eee6;box-shadow:var(--card-shadow)}.date-divider{background:#f7faf6}.transaction-row{transition:background-color .16s ease}.transaction-row:hover{background:#fbfdfb}.transaction-icon{border-radius:13px}.row-actions button{border-radius:9px;transition:background-color .16s ease,color .16s ease}.search-field{border-color:#e2eae1;box-shadow:0 2px 8px #2a4b3406}.search-field:focus-within{border-color:#94c4a2;box-shadow:0 0 0 3px #44925e17}.empty-state{border-radius:var(--card-radius);border-color:#dce8dc;box-shadow:var(--card-shadow)}.empty-state>span{border-radius:15px}.category-toolbar{margin-bottom:18px}.category-list{gap:16px}.category-group{border-color:#e5ede4;border-radius:var(--card-radius);box-shadow:var(--card-shadow);transition:transform .2s ease,box-shadow .2s ease}.category-group:hover{transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}.category-parent{background:linear-gradient(110deg,#fff,#fbfdfb)}.children-list>div{border-radius:8px;transition:background-color .16s ease}.children-list>div:hover{background:#f7faf6}.add-child{border-radius:9px}.data-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.data-management-card{display:flex;align-items:center;gap:14px;min-height:112px;padding:20px;border:1px solid #e5ede4;border-radius:var(--card-radius);background:#fff;color:var(--ink);text-align:left;box-shadow:var(--card-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.data-management-card:hover{transform:translateY(-2px);border-color:#b5d5be;box-shadow:var(--card-shadow-hover)}.data-management-card>span:nth-child(2){display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.data-management-card strong{font-size:var(--type-body)}.data-management-card small{color:#8b9a8e;font-size:var(--type-meta)}.data-management-card>svg{color:#93a79a}.data-management-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:15px}.data-management-icon.import{background:#eaf4ed;color:#287b55}.data-management-icon.export{background:#eef2f8;color:#6680a2}.data-format-options{display:flex;flex-direction:column;gap:10px}.data-format-option{display:flex;align-items:center;gap:13px;width:100%;min-height:68px;padding:10px 12px;border:1px solid #e7eee6;border-radius:13px;background:#fff;color:#304639;text-align:left;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.data-format-option:hover{border-color:#b5d5be;background:#fbfdfb;transform:translateY(-1px)}.data-format-option>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}.data-format-option strong{font-size:var(--type-meta)}.data-format-option small{color:#8b9a8e;font-size:var(--type-meta)}.data-format-option>svg{color:#94a69a}.format-mark{display:grid;place-items:center;width:48px;height:42px;border-radius:10px;background:#edf5ef;color:#267b53;font-size:var(--type-meta);font-weight:700}.format-mark.spreadsheet{background:#eef3e9;color:#668247}.toast,.error-banner,.setup-banner{border-radius:13px}.modal-backdrop{background:#182a1f6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-backdrop{z-index:80;align-items:center!important;padding:20px!important}.confirm-modal{width:min(100%,440px);max-height:min(90vh,800px);border-radius:22px!important}.confirm-modal .modal-heading{margin-bottom:16px}.confirm-copy{color:#65766a;font-size:var(--type-body);line-height:1.65;white-space:pre-line}.modal{border:1px solid rgba(231,239,229,.9);border-radius:22px;box-shadow:0 24px 80px #122d1c33;animation:modal-arrive .22s ease-out both}.icon-button{border-radius:10px}.type-switch{border-radius:13px}.type-switch button{border-radius:10px}.type-switch button.selected{box-shadow:0 2px 8px #24482f17}.amount-field{border-color:#e1e9e0}.amount-field:focus-within{border-color:#74ae86}.content>.page-heading,.content>.period-row,.content>.stats-grid,.content>.overview-grid,.content>.transactions-section,.content>.category-toolbar,.content>.category-list,.content>.toast{animation:content-arrive .32s ease-out both}.content>:nth-child(2){animation-delay:35ms}.content>:nth-child(3){animation-delay:.07s}.content>:nth-child(4){animation-delay:.105s}.content>:nth-child(5){animation-delay:.14s}@keyframes content-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-arrive{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:800px){.sidebar{background:#fffffff7}}@media(max-width:620px){.content{padding-top:27px}.page-heading{margin-bottom:24px}.stats-grid{gap:11px}.stat-card{border-radius:16px}.overview-grid{gap:24px}.chart-panel{padding:17px 15px}.chart-dashboard .category-panel,.chart-dashboard .trend-panel{grid-column:1}.chart-dashboard .quick-section{display:none}.trend-section,.transaction-list,.category-group{border-radius:16px}.data-management-grid{grid-template-columns:1fr;gap:11px}.modal-backdrop{align-items:flex-end}.modal{border-radius:22px 22px 0 0;animation-name:sheet-arrive}}.click-to-edit{cursor:pointer;transform-origin:center;transition:transform .18s ease-out,box-shadow .18s ease}.click-to-edit.tap-press{transform:scale(.992);transition-duration:.06s}@keyframes press-release{0%{transform:scale(.992)}to{transform:scale(1)}}.click-to-edit.tap-release{animation:press-release .16s ease-out}.add-child{transition:transform .18s ease-out}.add-child:active{transform:scale(.985);background-color:#edf5ef;transition-duration:.06s}@media(prefers-reduced-motion:reduce){.click-to-edit,.add-child{transition:none}.click-to-edit.tap-press{transform:none}.click-to-edit.tap-release{animation:none}.add-child:active{transform:none;background-color:transparent}}.modal .amount-field>span{font-size:var(--type-compact);font-weight:500}.modal .mobile-number-pad button{font-size:var(--type-body);font-weight:400}.calendar-days>button.selected,.calendar-days>button.today:not(.selected),.picker-month-grid>button.selected,.picker-year-grid>button.selected{font-weight:400}.stats-grid .balance-card small,.stats-grid .stat-card:not(.balance-card) small,.chart-panel .section-heading p,.chart-panel .range-caption,.chart-panel .chart-empty-state span,.chart-panel .trend-empty-state span{font-size:var(--type-body)}.stats-grid .stat-top,.chart-panel .chart-empty-state strong,.chart-panel .trend-empty-state strong{font-size:var(--type-meta)}@media(max-width:620px){.stats-grid .balance-card small,.stats-grid .stat-card:not(.balance-card) small,.chart-panel .section-heading p,.chart-panel .range-caption,.chart-panel .chart-empty-state span,.chart-panel .trend-empty-state span{font-size:var(--type-meta)}.stats-grid .stat-top,.chart-panel .chart-empty-state strong,.chart-panel .trend-empty-state strong{font-size:var(--type-meta)}}.chart-panel .trend-y-label,.chart-panel .trend-x-label{font-size:var(--type-body)}@media(max-width:620px){.chart-panel .trend-y-label,.chart-panel .trend-x-label{font-size:var(--type-body)}}.topbar,.sidebar{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.nav-list button.active{background:#eaf3ec;box-shadow:inset 3px 0 #478565}.chart-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.chart-dashboard .category-panel,.chart-dashboard .trend-panel{grid-column:auto;min-width:0}.chart-panel{border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.chart-content{min-height:178px}.chart-empty-state{display:flex;min-height:212px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:24px;border-top:1px solid #edf1eb;color:#42594a;text-align:center}.chart-empty-state strong{font-size:var(--type-body);font-weight:500}.chart-empty-state span{color:#718176;font-size:var(--type-body);line-height:1.5}.trend-empty-state{min-height:212px}.chart-panel .section-heading p{display:block;color:#64766a;font-size:var(--type-body);line-height:1.55}.data-management-card>svg{flex:none}.filter-row{justify-content:flex-start}.search-field{max-width:360px}.search-clear{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border:0;border-radius:8px;background:transparent;color:#718176}.search-clear:hover{background:#edf3ed;color:#315d42}.empty-state{min-height:190px;gap:3px;padding:28px 18px}.empty-state p{display:block;max-width:38em;color:#64766a;font-size:var(--type-body);line-height:1.55}.empty-state-actions{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}.empty-state-actions button{min-height:38px;padding:0 15px;border-radius:10px;font-size:var(--type-body);font-weight:700}.empty-state-actions .empty-reset-button{border:1px solid #dce6dd;background:#fff;color:#47604e}.empty-state-actions .empty-add-button{border:1px solid #267c55;background:#267c55;color:#fff}.empty-state-actions button:hover{filter:brightness(.97)}.category-parent .row-actions button,.category-child-block .row-actions button,.grandchildren-list .row-actions button{color:#718176}.category-child-block .row-actions{opacity:1}.category-parent .row-actions button:focus-visible,.category-child-block .row-actions button:focus-visible,.grandchildren-list .row-actions button:focus-visible{outline-offset:1px}@media(max-width:1100px){.chart-dashboard{grid-template-columns:1fr}}@media(min-width:1101px)and (max-width:1279px){.chart-dashboard{grid-template-columns:1fr}}@media(max-width:620px){.chart-dashboard{grid-template-columns:1fr;gap:18px;margin-top:24px}.chart-dashboard .category-panel,.chart-dashboard .trend-panel{grid-column:auto}.chart-panel{padding:18px 15px}.chart-empty-state{min-height:152px;padding:18px 12px}.trend-empty-state{min-height:152px}.chart-empty-state strong{font-size:var(--type-body)}.chart-empty-state span,.empty-state p,.data-management-card small,.chart-panel .section-heading p{font-size:var(--type-meta)}.empty-state{min-height:172px}.filter-row{justify-content:flex-start}.search-field{max-width:none}.category-parent .row-actions button,.category-child-block .row-actions button,.grandchildren-list .row-actions button{width:34px;height:34px}}.eyebrow,.page-heading .muted:not(.drilldown-caption),.sync-status,.section-heading p,.quick-action small,.data-management-card small,.empty-state:not(.tag-empty) p,.period-title span{display:none}.transaction-heading p{display:block}.transaction-heading .overview-recent-caption,.transaction-heading h2.screenshot-delete-copy,.range-field-prefix,.modal[aria-label=记一笔] .modal-heading p,.modal[aria-label=编辑分类] .modal-heading p,.quick-add-modal .modal-heading p{display:none}.page-heading{margin-bottom:22px}.section-heading{margin-bottom:14px}.quick-section .section-heading{margin-bottom:12px}.quick-action{min-height:58px}.data-management-card{min-height:108px}@media(max-width:620px){.page-heading{margin-bottom:16px}.section-heading{margin-bottom:10px}.quick-action{min-height:52px}.data-management-card{min-height:94px}}@keyframes sheet-arrive{0%{opacity:.7;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(min-width:621px){:root{--page-bg: #f4f6f2;--surface-soft: #f7f9f6;--ink: #20352a;--muted-ink: #718176;--line: #e4eae3;--card-radius: 15px;--control-radius: 10px;--card-shadow: 0 3px 12px rgba(35, 57, 41, .035);--card-shadow-hover: 0 5px 16px rgba(35, 57, 41, .065)}body{background:var(--page-bg);color:var(--ink)}.sidebar{background:#fbfcfa;border-right-color:#e3e9e2;-webkit-backdrop-filter:none;backdrop-filter:none}.main{min-width:0}.topbar{background:#fffffff0;border-bottom-color:#e5eae4;-webkit-backdrop-filter:none;backdrop-filter:none}.breadcrumb{color:#68796d}.content{max-width:1360px;padding:40px 48px 76px}.page-heading{align-items:center;margin-bottom:30px}.page-heading h1{color:#1e3528;letter-spacing:-.55px;line-height:1.2}.primary-button{box-shadow:0 2px 5px #195b3e1a}.primary-button:hover{box-shadow:0 4px 9px #195b3e24}.stats-grid{gap:16px}.stat-card{min-height:162px;border-color:#e4eae3;border-radius:16px;box-shadow:var(--card-shadow)}.stat-card:not(.balance-card):hover{transform:none;box-shadow:var(--card-shadow-hover)}.stat-top{color:#607267}.stat-card small{color:#758579}.balance-card{border-color:#235d45;background:#235d45}.balance-decoration{opacity:.38}.income-text{color:#16764f}.expense-text{color:#bd5148}.overview-grid{gap:24px;margin-top:34px}.chart-panel,.transactions-section,.quick-section{min-width:0}.chart-panel{padding:23px;border-color:#e3e9e2;box-shadow:0 3px 14px #2339290a}.section-heading{margin-bottom:16px}.section-heading h2{color:#23392c;letter-spacing:-.2px}.section-heading>svg{color:#789582}.chart-content{min-height:194px}.chart-legend-row{color:#516458}.chart-empty{color:#66786c}.quick-action{min-height:70px;border-color:#e4eae3;box-shadow:none}.quick-action:hover{transform:none;box-shadow:var(--card-shadow)}.transactions-section{margin-top:38px}.transaction-heading{margin-bottom:14px}.section-heading p,.transaction-heading p{color:#687a6e}.filter-row,.transaction-extra-filters{gap:10px 12px}.search-field,.segment,.picker-trigger,.chart-controls select{border-color:#dfe7df}.segment{background-color:#f5f8f4}.segment button{color:#65766a}.segment button.selected{color:#176b49}.transaction-list{border-color:#e1e8e1;box-shadow:var(--card-shadow)}.date-divider{background:#f4f7f3;color:#3f5948;border-bottom:1px solid #e8ede7}.transaction-row{border-bottom-color:#edf1ec}.transaction-row:hover{background:#f8faf7}.transaction-info strong{color:#263c2f}.transaction-info small{color:#687a6d}.transaction-amount.expense{color:#bd5148}.transaction-amount.income{color:#16764f}.category-toolbar{align-items:center;padding-bottom:14px;border-bottom:1px solid #e3e9e2;margin-bottom:18px}.category-toolbar>span{color:#687a6d}.category-list{gap:16px}.category-group,.tag-row{border-color:#e2e9e1;box-shadow:var(--card-shadow)}.category-group:hover{transform:none;box-shadow:var(--card-shadow-hover)}.category-parent{background:#f7f9f6}.category-count{color:#718176}.children-list{background:#fff}.children-list>.category-child-block{border-bottom-color:#edf1ec}.grandchildren-list{border-left-color:#dce6dd}.tag-row:hover{border-color:#c4d9c8}.data-management-grid{gap:16px}.data-management-card{min-height:116px;border-color:#e2e9e1;box-shadow:var(--card-shadow)}.data-management-card:hover{transform:none;box-shadow:var(--card-shadow-hover)}.data-management-icon.import{background:#edf5ef}.data-management-icon.export{background:#f0f3f7}.data-format-option{border-color:#e2e9e1}.data-format-option:hover{transform:none;background:#f8faf7}.empty-state{border-color:#dfe7df;background:#fff;box-shadow:var(--card-shadow)}.modal,.picker-panel{box-shadow:0 18px 56px #182f2029}.modal-backdrop{background:#17271d61}}.global-currency{display:flex;align-items:center;gap:7px}.currency-control>span{font-size:var(--type-meta);color:#94a197;white-space:nowrap}.currency-control select{max-width:175px;min-width:120px;height:36px;padding:0 9px;border:1px solid #e1e8e1;border-radius:7px;background:#fff;color:#586b5d;font-size:var(--type-meta)}.overview-controls{display:flex;align-items:center;gap:10px}.overview-note{margin-top:14px;text-align:right;color:#a0aaa1;font-size:var(--type-meta)}.balance-card.stat-card-action{text-align:left;cursor:pointer}.balance-card.stat-card-action:hover{filter:brightness(1.04)}@media(max-width:620px){.global-currency>span{display:none}.global-currency select{min-width:86px;max-width:106px;height:32px;font-size:var(--type-meta);padding:0 5px}.top-actions{gap:8px}.sync-status{white-space:nowrap}.overview-controls{gap:6px}.overview-controls .segment button{padding:0 8px}.period-row{gap:8px}.overview-note{font-size:var(--type-meta)}}@media(max-width:620px){html,body,#root{max-width:100%}body{min-width:0}.app-shell{width:100%;max-width:100%;overflow-x:clip}.main{flex:1 1 0;width:0;max-width:100%}.topbar,.content{min-width:0;max-width:100%}.topbar>*,.content>*{min-width:0}.period-row,.overview-controls,.chart-panel-toolbar,.range-control,.filter-row{min-width:0;max-width:100%}.picker-backdrop{width:100%;max-width:100%}.picker-panel{box-sizing:border-box;min-width:0}.period-row{align-items:stretch;flex-wrap:wrap;gap:11px}.period-title{flex:0 0 100%;min-width:0;white-space:nowrap}.overview-controls{width:100%;min-width:0;justify-content:space-between}.overview-controls>.date-picker-trigger{flex:1 1 0;width:auto;min-width:0;max-width:190px;padding-inline:10px;gap:7px}.overview-controls>.date-picker-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:620px){.breadcrumb,.sync-status{font-size:var(--type-meta)}.period-title{font-size:var(--type-body)}.period-title span{font-size:var(--type-meta)}.stat-top{font-size:var(--type-body)}.stat-card small{font-size:var(--type-meta)}.section-heading h2,.chart-panel .section-heading h2,.section-heading p,.chart-panel .section-heading p{font-size:var(--type-body)}.chart-panel-toolbar .segment button,.trend-series-controls .segment button{font-size:var(--type-meta)}.trend-series-controls{font-size:var(--type-body)}.range-control,.range-control input,.range-caption{font-size:var(--type-meta)}.chart-panel .chart-legend>div,.chart-legend-row{font-size:var(--type-meta)}.chart-legend-row strong{font-size:var(--type-meta)}.chart-panel .trend-legend,.search-field input{font-size:var(--type-body)}.segment button{font-size:var(--type-meta)}.date-divider,.transaction-info strong{font-size:var(--type-body)}.transaction-info small{font-size:var(--type-meta)}.transaction-amount{font-size:var(--type-body)}.category-toolbar>span{font-size:var(--type-meta)}.children-list>div{font-size:var(--type-body)}.data-management-card strong{font-size:var(--type-body)}.data-management-card small,.global-currency select{font-size:var(--type-meta)}}@media(max-width:620px){.content{padding:28px 16px 88px}.page-heading{gap:14px;margin-bottom:28px}.page-heading h1{font-size:var(--type-section);line-height:1.3}.page-heading .muted{font-size:var(--type-meta);line-height:1.55}.page-heading .primary-button{min-height:40px;padding-inline:13px;font-size:var(--type-meta)}.period-row{gap:14px;margin-bottom:20px}.overview-controls{gap:9px}.overview-controls .segment{flex:1 1 auto}.overview-controls>.date-picker-trigger{max-width:none}.stats-grid{gap:12px}.stat-card{min-height:138px;padding:18px 16px}.stat-card strong{font-size:var(--type-section);line-height:1.25;margin-top:20px}.balance-card{min-height:148px}.balance-card strong{font-size:var(--type-title)}.stat-card small{line-height:1.45}.overview-grid{gap:30px;margin-top:32px}.chart-panel{padding:19px 15px}.chart-panel .section-heading{margin-bottom:17px}.chart-panel .section-heading p{line-height:1.55}.chart-panel-toolbar{gap:10px;margin-bottom:14px}.chart-panel-toolbar .segment{width:100%}.chart-panel-toolbar .segment button{min-height:34px}.range-control{gap:9px;margin-bottom:15px;line-height:1.45}.range-control input{height:34px}.trend-series-controls{gap:10px;margin:8px 0 10px}.trend-series-controls .segment{flex:1}.trend-series-controls .segment button{min-height:32px;padding-inline:8px}.chart-panel .chart-content{padding-block:14px}.chart-panel .trend-legend{margin-top:9px}.transactions-section{margin-top:36px}.transactions-section .section-heading{margin-bottom:15px}.filter-row{gap:10px;margin-bottom:14px}.search-field{min-height:42px}.filter-row .segment button{min-height:34px}.transaction-row{min-height:78px;padding:13px 11px;gap:10px}.transaction-info{line-height:1.35}.transaction-info small{margin-top:6px;line-height:1.35}.category-toolbar{margin-bottom:20px}.category-group{margin-bottom:2px}.children-list>div{min-height:38px;height:auto;padding-block:4px}.data-management-card{min-height:120px;padding:20px 18px}.stats-grid .stat-top>span:first-child{white-space:nowrap;font-size:var(--type-body);letter-spacing:-.2px}.overview-controls>.date-picker-trigger{flex:0 1 205px}.overview-controls>.date-picker-trigger>span{overflow:visible;text-overflow:clip}}@media(min-width:621px){body{font-size:var(--type-body)}.brand strong{font-size:var(--type-section)}.brand small,.nav-label{font-size:var(--type-meta)}.nav-list button,.sidebar-bottom>button{font-size:var(--type-body)}.account-text strong,.account-text small{font-size:var(--type-meta)}.breadcrumb{font-size:var(--type-body)}.sync-status{font-size:var(--type-meta)}.account-button{font-size:var(--type-body)}.page-heading h1{font-size:var(--type-title)}.page-heading .muted{font-size:var(--type-body)}.eyebrow{font-size:var(--type-meta)}.primary-button,.secondary-button,.period-title,.period-title span,.stat-top{font-size:var(--type-body)}.stat-card strong,.balance-card strong{font-size:var(--type-title)}.stat-card small,.section-heading h2,.chart-panel .section-heading h2,.section-heading p,.chart-panel .section-heading p{font-size:var(--type-body)}.chart-panel-toolbar .segment button,.trend-series-controls .segment button,.trend-series-controls,.range-control,.range-control input,.range-caption{font-size:var(--type-meta)}.chart-panel .chart-legend>div,.chart-legend-row{font-size:var(--type-meta)}.chart-legend-row strong,.chart-panel .trend-legend{font-size:var(--type-meta)}.search-field input{font-size:var(--type-body)}.segment button,.date-divider{font-size:var(--type-meta)}.transaction-info strong{font-size:var(--type-body)}.transaction-info small{font-size:var(--type-meta)}.transaction-amount{font-size:var(--type-body)}.category-toolbar>span{font-size:var(--type-meta)}.children-list>div{font-size:var(--type-body)}.data-management-card strong{font-size:var(--type-body)}.data-management-card small{font-size:var(--type-meta)}.form-label,.modal form>label:not(.form-grid label){font-size:var(--type-meta)}.modal input:not([type=number]),.modal select,.modal .form-grid input,.modal .form-grid select{font-size:var(--type-body)}.type-switch button{font-size:var(--type-body)}.modal-heading h2{font-size:var(--type-section)}.modal-heading p{font-size:var(--type-meta)}}.chart-controls{gap:10px}.chart-panel .section-heading{position:relative;padding-right:38px}.chart-panel .section-heading>svg{position:absolute;top:0;right:0}.chart-controls>.segment{min-height:40px;padding:4px;border-radius:12px}.chart-controls>.segment button{min-height:30px;border-radius:9px}.chart-range-tabs.segment button,.chart-controls>.segment button,.trend-series-controls .segment button{min-height:34px;padding-inline:12px;font-size:var(--type-body)}.overview-controls{width:100%;justify-content:space-between}.chart-panel .chart-time-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;width:100%;margin-bottom:12px}.chart-panel .chart-time-controls>.chart-range-tabs{flex:0 0 auto}.chart-panel .chart-time-controls>.range-control{box-sizing:border-box;flex:1 1 220px;justify-content:flex-end;min-width:0;margin:0}.chart-panel .chart-time-controls>.range-control-multiple{flex-basis:100%}.chart-panel .chart-time-controls>.range-control>label{flex:0 0 auto;white-space:nowrap}.chart-panel .chart-time-controls>.range-caption{flex:0 1 auto;width:auto;margin:0 0 0 auto;color:var(--type-muted);font-size:var(--type-meta);font-weight:400;white-space:nowrap}.category-panel>.chart-controls,.trend-panel>.trend-series-controls{margin:0 0 12px}.chart-controls select{appearance:none;min-width:178px;height:40px;padding:0 35px 0 12px;border:1px solid #e1e9e1;border-radius:12px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23839487' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;color:#52685a;font-size:var(--type-body);font-weight:500;box-shadow:0 2px 8px #2a4b3406}.chart-controls select:focus{outline:3px solid rgba(49,145,99,.16);outline-offset:2px;border-color:#94c4a2}.choice-picker-trigger{min-width:178px}.tag-picker-trigger{width:100%;min-width:0;margin-top:8px}.scope-picker-trigger{min-height:36px;height:36px;min-width:0;width:max-content;max-width:220px}.nested-scope-panel{width:min(100%,380px)}.nested-back{display:inline-flex;align-items:center;gap:4px;min-height:32px;margin:-5px 0 8px -5px;padding:0 7px;border:0;border-radius:9px;background:transparent;color:#5d8068;font-size:var(--type-meta);font-weight:500}.nested-back:hover{background:#f0f7f1}.scope-category-option{display:flex;align-items:stretch;gap:5px}.scope-category-option>button:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;min-width:0;min-height:48px;padding:0 13px;border:1px solid transparent;border-radius:13px;background:transparent;color:#52685a;font:inherit;font-size:var(--type-body);font-weight:500;text-align:left;transition:background .16s ease,border-color .16s ease,color .16s ease}.scope-category-option>button:first-child:hover{background:#f7faf7}.scope-category-option>button:first-child.selected{border-color:#d9eadc;background:#f0f7f1;color:#24764e}.scope-category-option>button:first-child>svg{color:#287b55;flex:none}.scope-category-next{display:grid;place-items:center;flex:0 0 48px;min-height:48px;padding:0;border:1px solid transparent;border-radius:13px;background:transparent;color:#52685a}.scope-category-next:hover{background:#f7faf7;color:#24764e}.category-parent-option{display:flex;align-items:stretch;gap:5px}.category-parent-option>.category-parent-option-select{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;width:auto;min-width:0;min-height:48px;padding:0 13px;border:1px solid transparent;border-radius:13px;background:transparent;color:#52685a;font:inherit;font-size:var(--type-body);font-weight:500;text-align:left;transition:background .16s ease,border-color .16s ease,color .16s ease}.category-parent-option>.category-parent-option-select:hover{background:#f7faf7}.category-parent-option>.category-parent-option-select.selected{border-color:#d9eadc;background:#f0f7f1;color:#24764e}.category-parent-option>.category-parent-option-select>svg{color:#287b55;flex:none}.category-parent-option-next{display:grid;place-items:center;flex:0 0 48px;min-height:48px;padding:0;border:1px solid transparent;border-radius:13px;background:transparent;color:#52685a;font-size:var(--type-body);transition:background .16s ease,border-color .16s ease,color .16s ease}.category-parent-option-next:hover{background:#f7faf7;color:#24764e}.choice-picker-panel{width:min(100%,380px)}.choice-picker-options{display:flex;flex-direction:column;gap:5px}.choice-picker-options>button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;width:100%;padding:0 13px;border:1px solid transparent;border-radius:13px;background:transparent;color:#52685a;font-size:var(--type-body);font-weight:500;text-align:left;transition:background .16s ease,border-color .16s ease,color .16s ease}.choice-picker-options>button:hover{background:#f7faf7}.choice-picker-options>button.selected{border-color:#d9eadc;background:#f0f7f1;color:#24764e}.choice-picker-options>button>svg{color:#287b55;flex:none}.choice-picker-options>.picker-add-option{justify-content:flex-start;margin-top:5px;border-top:1px solid #edf2ec;border-radius:0 0 13px 13px;color:#25865e}.choice-picker-options>.picker-add-option:hover{background:#f0f7f1}.quick-add-backdrop{z-index:1300}.quick-add-modal{max-height:min(90vh,720px)}.quick-action strong{font-size:var(--type-body)}.quick-action small,.empty-state p,.empty-state button,.category-count{font-size:var(--type-meta)}.manager-switch{width:fit-content;margin-bottom:22px}.tag-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(min-width:1101px){.tag-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1360px){.category-list.category-list-three{grid-template-columns:repeat(3,minmax(0,1fr))}}.tag-row{display:flex;align-items:center;gap:12px;min-height:68px;padding:12px 16px;border:1px solid #e9eee8;border-radius:14px;background:#fff;box-shadow:var(--card-shadow)}.tag-row strong{flex:1;min-width:0;font-size:var(--type-body)}.tag-badge{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eaf4ed;color:#287b55;font-size:var(--type-body);font-weight:700}.tag-empty{grid-column:1 / -1}.category-child-block>div:first-child{display:flex;align-items:center;justify-content:space-between;min-height:34px}.children-list>.category-child-block{height:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;margin-left:-8px;padding:4px 0 4px 8px}.grandchildren-list{margin:0 0 4px 18px;padding-left:12px;border-left:1px solid #e6eee7}.grandchildren-list>div{height:31px;display:flex;align-items:center;justify-content:space-between;color:#718174;font-size:var(--type-meta)}.add-grandchild{font-size:var(--type-meta);padding:5px 0}.transaction-extra-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:-2px 0 14px}.transaction-extra-filters .chart-range-tabs{margin:0}.transaction-extra-filters .chart-range-tabs.segment button{font-size:var(--type-compact);font-weight:500}.transaction-extra-filters .range-control{flex:1;min-width:min(100%,280px);margin:0}.transaction-extra-filters .range-control .date-picker-trigger{width:max-content;min-width:0;max-width:220px}.transaction-filter-summary{display:flex;align-items:center;gap:12px;margin-left:auto}.transaction-filter-summary .segment{flex:0 0 auto}.transaction-filter-summary .transaction-count{margin-left:0}.transaction-extra-filters .range-caption{display:none}.transaction-extra-filters .scope-picker-trigger{width:max-content;max-width:240px}.transaction-extra-filters .chart-range-tabs.segment,.transaction-extra-filters .scope-picker-trigger,.transaction-filter-summary .segment{min-height:38px;height:38px}.transaction-extra-filters .chart-range-tabs.segment button,.transaction-filter-summary .segment button{min-height:30px;padding-inline:13px;line-height:1.2}.transaction-extra-filters .scope-picker-trigger{padding-inline:13px;font-size:var(--type-compact);font-weight:500;line-height:1.2}.transaction-extra-filters .transaction-filter-main,.transaction-extra-filters .transaction-filter-summary{align-items:center}.text-link{font-size:var(--type-body)}.overview-note,.range-caption,.chart-detail{font-size:var(--type-meta)}.picker-heading small,.picker-search input,.recent-currencies>span,.recent-currencies>button,.currency-option-name small{font-size:var(--type-meta)}.form-grid{min-width:0}.form-grid>label,.modal form>.form-label,.modal form>label:not(.form-grid label){font-size:var(--type-body);line-height:1.35}.form-grid>label{min-width:0}.modal select{appearance:none;-webkit-appearance:none;height:40px;padding:0 38px 0 12px;border:1px solid #e1e9e1;border-radius:12px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23839487' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;color:#23372a;font-size:var(--type-meta);font-weight:500}.modal select:disabled{background-color:#f7faf7;color:#7e8e82}.form-grid .date-picker-trigger{gap:7px;padding-inline:10px}.form-grid .date-picker-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-meta)}.form-grid .choice-picker-trigger,.modal>form>.choice-picker-trigger{width:100%;min-width:0;margin-top:8px}.modal input:not([type=number])::placeholder{font-size:var(--type-meta)}.modal input:not([type=number]),.modal .form-grid input{font-size:var(--type-meta)}.amount-field>span{font-size:var(--type-section)}.amount-field input{font-size:var(--type-section)}.amount-field-active{border-color:#a9d9bb;box-shadow:0 0 0 3px #409d691f}.mobile-number-pad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 16px;padding:10px;border:1px solid #e1ebe1;border-radius:16px;background:#f5faf6}.mobile-number-pad button{min-height:46px;border:1px solid #e0eae1;border-radius:12px;background:#fff;color:#294d39;font-size:var(--type-body);font-weight:500;box-shadow:0 2px 5px #2853360d;transition:background .14s ease,transform .14s ease,border-color .14s ease;touch-action:manipulation}.mobile-number-pad button:active{transform:scale(.96);background:#e9f5ec;border-color:#b9d9c1}.mobile-number-pad .pad-action{color:#5d8068;font-size:var(--type-body)}.mobile-number-pad .pad-done{background:#237d58;border-color:#237d58;color:#fff;font-size:var(--type-body)}.mobile-number-pad .pad-done:active{background:#1a6849}.mobile-number-pad .pad-placeholder{min-height:46px}@media(min-width:621px){.stat-card strong{font-size:var(--type-section)}.balance-card strong{font-size:var(--type-title)}.category-parent strong,.chart-panel .trend-y-label,.chart-panel .trend-x-label{font-size:var(--type-body)}.transaction-info small,.date-divider{font-size:var(--type-meta)}}@media(max-width:620px){.chart-time-controls{display:flex;flex-wrap:wrap}.chart-time-controls>.range-control{flex:1 1 100%}.chart-time-controls>.range-caption{position:static;margin-left:auto}.chart-controls{gap:10px}.chart-controls select{flex:1 1 0;min-width:0;max-width:100%;font-size:var(--type-body)}.chart-controls>.segment{flex:0 0 auto}.choice-picker-trigger{min-width:0;flex:1 1 0}.choice-picker-options>button{min-height:50px;font-size:var(--type-body)}.choice-picker-options>.picker-add-option{min-height:50px;font-size:var(--type-body)}.category-parent-option>.category-parent-option-select,.category-parent-option-next{min-height:50px;font-size:var(--type-body)}.scope-category-option>button:first-child,.scope-category-next{min-height:50px;font-size:var(--type-body)}.text-link{font-size:var(--type-body)}.overview-note,.range-caption,.chart-detail{font-size:var(--type-meta)}.chart-panel .trend-y-label{font-size:var(--type-section)}.chart-panel .trend-x-label{font-size:var(--type-body)}.transaction-info small,.date-divider{font-size:var(--type-meta)}.amount-field input{font-size:var(--type-section)}.tag-list{grid-template-columns:1fr}.scope-picker-trigger{max-width:190px}}@media(max-width:620px){.trend-series-controls .segment,.chart-range-tabs.segment{width:fit-content;flex:0 0 auto}.trend-series-controls .segment button,.chart-range-tabs.segment button{flex:0 0 auto}.trend-series-controls .segment button{padding-inline:9px}.chart-range-tabs.segment button,.chart-controls>.segment button,.trend-series-controls .segment button{min-height:34px;padding-inline:12px;font-size:var(--type-body)}.chart-panel .chart-legend>div,.chart-legend-row,.chart-legend-row strong{font-size:var(--type-body)}.chart-legend-row{min-height:29px}.category-count,.transaction-money small,.data-format-option small,.picker-heading small,.recent-currencies>span,.recent-currencies>button,.currency-option-name small{font-size:var(--type-meta)}.chart-panel .donut small,.chart-panel .donut strong{font-size:var(--type-body)}.data-management-grid{animation:content-arrive .32s ease-out .07s both}.data-management-grid .data-management-card{animation:content-arrive .32s ease-out both}.data-management-grid .data-management-card:nth-child(2){animation-delay:.06s}}.nav-label,.breadcrumb{font-size:var(--type-body)}.nav-label,.breadcrumb{color:#87968b;font-weight:700}.global-currency>span,.sync-status,.period-title span,.stat-top,.stat-card small,.section-heading p,.quick-action small{font-size:var(--type-body)}.stat-top{font-size:var(--type-body)}.global-currency>span,.sync-status,.period-title span,.stat-card small,.section-heading p,.quick-action small{font-family:inherit;font-weight:400}.global-currency>span{font-weight:500}.stat-top{font-weight:500}.chart-panel .section-heading h2,.quick-section .section-heading h2{font-size:var(--type-body);font-weight:700}.chart-panel .section-heading p,.quick-section .section-heading p,.range-control,.range-control label,.range-caption,.chart-panel .donut small{font-size:var(--type-body)}.chart-panel .section-heading p,.quick-section .section-heading p,.range-control,.range-control label,.range-caption,.chart-panel .donut small{color:#87968b;font-weight:400}.chart-range-tabs.segment button,.chart-controls>.segment button,.trend-series-controls .segment button{font-size:var(--type-body)}.picker-trigger,.date-picker-trigger,.currency-picker-trigger,.choice-picker-trigger,.form-grid .date-picker-trigger>span{font-size:var(--type-meta)}.chart-legend-row,.chart-panel .donut strong,.chart-legend-row strong{font-size:var(--type-body)}.chart-panel .trend-legend{font-size:var(--type-body);font-weight:500}.chart-panel .chart-range-tabs.segment,.chart-panel .trend-series-controls .segment,.chart-panel .chart-controls>.segment{width:fit-content;min-height:36px;padding:3px}.chart-panel .chart-range-tabs.segment button,.chart-panel .trend-series-controls .segment button,.chart-panel .chart-controls>.segment button{min-height:28px;padding-inline:10px;font-size:var(--type-meta);font-weight:500}.chart-panel .chart-controls>.choice-picker-trigger,.chart-panel .trend-series-controls>.choice-picker-trigger{min-height:36px;height:36px;padding-inline:10px;font-size:var(--type-meta);font-weight:500}.chart-panel .range-control .date-picker-trigger,.chart-panel .range-control .currency-picker-trigger,.chart-panel .range-control .choice-picker-trigger,.chart-panel .chart-controls .picker-trigger,.chart-panel .chart-controls select{min-height:36px;height:36px;min-width:160px;padding-inline:10px;font-size:var(--type-meta);font-weight:500}.chart-panel .range-control .date-picker-trigger{min-width:0}.chart-panel .trend-series-controls .segment{flex:0 0 auto}.global-currency .currency-picker-trigger{width:max-content;min-width:0;max-width:min(100%,190px);flex:0 1 auto}.overview-controls>.date-picker-trigger{width:max-content;min-width:0;max-width:100%;flex:0 1 auto}.overview-controls>.date-picker-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-panel .choice-picker-trigger,.chart-panel .chart-controls .choice-picker-trigger,.chart-panel .range-control .date-picker-trigger{width:max-content;min-width:0;max-width:100%;flex:0 1 auto}.chart-panel .choice-picker-trigger>span,.chart-panel .range-control .date-picker-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-format-option strong{font-size:var(--type-body)}@media(max-width:620px){.brand strong{font-size:var(--type-section)}.brand small,.account-text small,.nav-label{font-size:var(--type-meta)}.nav-list button,.sidebar-bottom>button{font-size:var(--type-body)}.breadcrumb,.sync-status{font-size:var(--type-meta)}.page-heading h1{font-size:var(--type-title)}.page-heading .muted,.page-heading .primary-button{font-size:var(--type-meta)}.period-title{font-size:var(--type-body)}.period-title span{font-size:var(--type-meta)}.section-heading h2,.chart-panel .section-heading h2,.trend-section .section-heading h2,.section-heading p,.chart-panel .section-heading p,.trend-section .section-heading p,.quick-action strong{font-size:var(--type-body)}.quick-action small{font-size:var(--type-meta)}.chart-panel .chart-legend>div,.chart-legend-row,.chart-legend-row strong,.chart-panel .donut small,.chart-panel .donut strong{font-size:var(--type-body)}.chart-panel .trend-legend,.transaction-info strong{font-size:var(--type-body)}.transaction-info small,.date-divider{font-size:var(--type-meta)}.transaction-amount,.category-parent strong{font-size:var(--type-body)}.children-list>div{font-size:var(--type-body)}.grandchildren-list>div{font-size:var(--type-meta)}.category-count{font-size:var(--type-meta)}.data-management-card strong{font-size:var(--type-body)}.data-management-card small{font-size:var(--type-meta)}.chart-dashboard .quick-section{display:none}}@media(max-width:620px){.modal-heading p{font-size:var(--type-body)}.global-currency .currency-picker-trigger{min-width:0;max-width:160px}.overview-controls>.date-picker-trigger{flex:0 1 auto;width:max-content;max-width:calc(100vw - 160px)}}@media(max-width:620px){.overview-controls{justify-content:flex-start;align-items:center;gap:8px}.chart-time-controls{flex-wrap:wrap;gap:8px;margin-bottom:12px}.chart-time-controls>.range-control{flex:1 1 100%;justify-content:flex-end}.chart-time-controls .range-caption{position:static;width:auto;margin-left:auto}.overview-controls .segment{flex:0 0 auto;width:max-content}.overview-controls .segment button{min-height:34px;padding-inline:12px;font-size:var(--type-meta)}.page-heading .muted{font-size:var(--type-meta)}.period-title{font-size:var(--type-body)}.period-title span{font-size:var(--type-meta)}.stat-top{font-size:var(--type-body)}.stat-card strong{font-size:var(--type-section)}.stat-card small{font-size:var(--type-meta)}.balance-card .stat-top{font-size:var(--type-body)}.balance-card strong{font-size:var(--type-title)}.balance-card small,.section-heading h2,.chart-panel .section-heading h2,.trend-section .section-heading h2{font-size:var(--type-body)}.section-heading p,.chart-panel .section-heading p,.trend-section .section-heading p{font-size:var(--type-meta);line-height:1.5}.category-toolbar>span,.category-count{font-size:var(--type-meta)}.category-parent strong{font-size:var(--type-body)}.children-list>div{font-size:var(--type-body)}.grandchildren-list>div{font-size:var(--type-meta)}.segment,.chart-panel .chart-range-tabs.segment,.chart-panel .trend-series-controls .segment,.chart-panel .chart-controls>.segment{min-height:36px;padding:3px;border-radius:12px}.segment button,.chart-range-tabs.segment button,.chart-controls>.segment button,.trend-series-controls .segment button,.filter-row .segment button,.transaction-extra-filters .chart-range-tabs.segment button{min-height:30px;padding-inline:12px;border-radius:9px;font-size:var(--type-meta);font-weight:500}.picker-trigger,.date-picker-trigger,.currency-picker-trigger,.choice-picker-trigger,.chart-controls select,.scope-picker-trigger{min-height:36px;height:36px;border-radius:12px;font-size:var(--type-meta);font-weight:500}.chart-controls select{padding-inline:10px 34px}.chart-panel .chart-controls>.choice-picker-trigger,.chart-panel .trend-series-controls>.choice-picker-trigger,.chart-panel .range-control .date-picker-trigger{min-height:36px;height:36px;font-size:var(--type-meta)}.range-control,.range-control label,.range-caption,.overview-note,.search-field input,.transaction-extra-filters .scope-picker-trigger{font-size:var(--type-meta)}.chart-panel .trend-y-label,.chart-panel .trend-x-label{font-size:var(--type-body)}.chart-panel .trend-legend,.chart-panel .chart-legend>div,.chart-legend-row,.chart-legend-row strong{font-size:var(--type-meta)}.chart-panel .donut strong{font-size:var(--type-body)}.form-grid>label,.modal form>.form-label,.modal form>label:not(.form-grid label),.form-grid label{font-size:var(--type-meta)}.modal-heading h2{font-size:var(--type-section)}.modal-heading p{font-size:var(--type-meta)}.type-switch button{font-size:var(--type-body)}.modal input:not([type=number]),.modal select,.modal .form-grid input,.form-grid .date-picker-trigger>span{font-size:var(--type-meta)}.modal input:not([type=number])::placeholder{font-size:var(--type-meta)}.amount-field>span{font-size:var(--type-section)}.amount-field input{font-size:var(--type-section)}.amount-field input::placeholder{color:#aab9ad;opacity:1}.mobile-number-pad button{font-size:var(--type-body)}}@media(max-width:620px){.overview-controls .segment,.chart-panel .chart-range-tabs.segment,.chart-panel .trend-series-controls .segment,.chart-panel .chart-controls>.segment,.filter-row .segment,.transaction-extra-filters .chart-range-tabs.segment{box-sizing:border-box;min-height:34px;height:34px;padding:2px;border-radius:11px}.overview-controls .segment button,.chart-panel .chart-range-tabs.segment button,.chart-panel .trend-series-controls .segment button,.chart-panel .chart-controls>.segment button,.filter-row .segment button,.transaction-extra-filters .chart-range-tabs.segment button{box-sizing:border-box;min-height:28px;height:28px;padding-inline:10px;border-radius:8px;font-size:var(--type-meta);line-height:1}.overview-controls>.date-picker-trigger,.range-control .date-picker-trigger,.chart-controls .date-picker-trigger,.chart-controls .choice-picker-trigger,.trend-series-controls .choice-picker-trigger,.transaction-extra-filters .scope-picker-trigger,.form-grid .date-picker-trigger,.form-grid .choice-picker-trigger,.modal>form>.choice-picker-trigger,.tag-picker-trigger{box-sizing:border-box;min-height:34px;height:34px;padding-inline:9px;border-radius:11px;font-size:var(--type-meta);line-height:1}.overview-controls>.date-picker-trigger>span,.range-control .date-picker-trigger>span,.chart-controls .choice-picker-trigger>span,.trend-series-controls .choice-picker-trigger>span,.transaction-extra-filters .scope-picker-trigger>span,.form-grid .date-picker-trigger>span,.form-grid .choice-picker-trigger>span,.tag-picker-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-meta)}.chart-controls select{box-sizing:border-box;min-height:34px;height:34px;padding-inline:9px 30px;border-radius:11px;font-size:var(--type-meta)}.range-control>label{font-size:var(--type-meta)}}.empty-state:not(.tag-empty) p{display:block!important}@media(max-width:620px){.empty-state:not(.tag-empty) p{font-size:var(--type-meta)}}@media(max-width:620px){.chart-panel .chart-time-controls{justify-content:flex-start}.chart-panel .chart-time-controls>.range-control{flex:1 1 100%;width:100%;justify-content:flex-start}}@media(max-width:620px){.chart-panel .trend-y-label,.chart-panel .trend-x-label{font-size:var(--type-section)}}:root{--card-radius: 16px;--card-shadow: 0 1px 3px rgba(28, 54, 37, .035);--card-shadow-hover: 0 4px 12px rgba(28, 54, 37, .075)}.primary-button{background:#247a55;border-color:#247a55;box-shadow:none}.primary-button:hover{background:#1d6848;border-color:#1d6848;box-shadow:none;transform:translateY(-1px)}.balance-card{background:#205b43;border-color:#205b43;box-shadow:none}.balance-card .balance-decoration{border-color:#d3ecda14}.stat-icon{background:transparent}.stat-icon.income{color:#21754e}.stat-icon.expense{color:#c4564d}.stat-card:not(.balance-card){box-shadow:none}.stat-card:not(.balance-card):hover{box-shadow:var(--card-shadow-hover)}.chart-dashboard{align-items:start}.chart-panel{box-shadow:none}.chart-content{min-height:0}.chart-empty-state,.trend-empty-state{min-height:148px}.overview-note{color:#64766a;font-size:var(--type-meta)}.muted,.page-heading .muted{color:#63766a}.chart-empty-state span,.chart-panel .section-heading p{color:#5f7164}button,a,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid rgba(36,122,85,.28);outline-offset:3px}.segment button{transition:background-color .2s ease,color .2s ease,transform .16s ease}.segment button:active,.picker-trigger:active,.sidebar-tool:active{transform:scale(.98)}.chart-legend-row,.transaction-row,.category-child-block>div,.children-list>div,.row-actions button{transition:background-color .18s ease,color .18s ease,border-color .18s ease}.chart-panel{animation:ledger-arrive .48s cubic-bezier(.2,.7,.25,1) both}.chart-dashboard .chart-panel:nth-child(2){animation-delay:70ms}.transactions-section{animation:ledger-arrive .48s cubic-bezier(.2,.7,.25,1) .12s both}@keyframes ledger-arrive{0%{opacity:.72;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:620px){.overview-note,.overview-controls .segment button,.chart-panel .chart-range-tabs.segment button,.chart-panel .trend-series-controls .segment button,.chart-controls .date-picker-trigger,.chart-controls .choice-picker-trigger,.trend-series-controls .choice-picker-trigger{font-size:var(--type-meta)}.chart-empty-state{min-height:148px}}@media(prefers-reduced-motion:reduce){.chart-panel,.transactions-section{animation:none}}:root{font-family:Inter,Noto Sans SC,Source Han Sans CN,Source Han Sans SC,思源黑体,Microsoft YaHei UI,Microsoft YaHei,PingFang SC,system-ui,sans-serif}body,button,input,select,textarea,h1,h2,h3,p{font-family:inherit}.balance-card{background:#e4eee6;border-color:#e4eee6}.balance-card.stat-card-action,.balance-card.stat-card-action .stat-top,.balance-card.stat-card-action strong,.balance-card.stat-card-action small,.balance-card.stat-card-action .stat-top>svg{color:#234d37}.balance-card .balance-decoration{display:none}.balance-card.stat-card-action strong{font-size:var(--type-title)}.segment button.selected,.type-switch button.selected{box-shadow:none}.breadcrumb{color:#52685a}.text-link{color:#216d4b}.stat-card:not(.balance-card) small{color:#53675a}.stat-top,.range-caption,.chart-empty-state span{color:#52685a}.nav-list button.active{box-shadow:none}.overview-note{color:#5f7164}.category-toolbar>span,.category-count{font-size:var(--type-body)}.category-count{font-size:var(--type-meta)}.children-list>div{color:#40594a;font-size:var(--type-meta)}.children-list>div .row-actions{opacity:1}.row-actions button{color:#5f7164}.transaction-info small{color:#52685a;font-size:var(--type-meta)}.section-heading p,.category-parent .row-actions button,.category-child-block .row-actions button,.grandchildren-list .row-actions button{color:#52685a}.grandchildren-list>div{color:#40594a}.add-child{width:100%;justify-content:flex-start;text-align:left;color:#216d4b;font-size:var(--type-meta);font-weight:500}.manager-page-heading{align-items:flex-start;margin-bottom:22px}.manager-page-heading>div{display:flex;flex-direction:column;align-items:flex-start}.manager-page-heading>.primary-button{margin-top:2px}.manager-switch{display:flex;align-items:center;gap:22px;width:fit-content;margin:5px 0 0}.manager-switch button{position:relative;min-height:31px;padding:0 0 7px;border:0;border-radius:0;background:transparent;color:#617367;font-size:var(--type-body);font-weight:500;transition:color .18s ease}.manager-switch button:hover{color:#216d4b}.manager-switch button.selected{background:transparent;color:#205b43}.manager-switch button:after{position:absolute;right:0;bottom:0;left:0;height:2px;border-radius:2px;background:#247a55;content:"";transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.manager-switch button.selected:after{transform:scaleX(1)}.manager-page-heading .muted{margin-top:8px}@media(max-width:620px){.balance-card.stat-card-action strong{font-size:var(--type-title)}.stat-card small{font-size:var(--type-body)}.breadcrumb{font-size:var(--type-meta)}.chart-empty-state strong,.chart-empty-state span,.chart-panel .section-heading p{font-size:var(--type-body)}.range-caption,.chart-panel .chart-controls .date-picker-trigger,.chart-panel .chart-controls .choice-picker-trigger,.chart-panel .trend-series-controls .choice-picker-trigger{font-size:var(--type-meta)}}.content>.page-heading{margin-bottom:28px}.content>.manager-page-heading{margin-bottom:28px}.all-transactions-section{margin-top:0}.transaction-count{margin-left:8px;color:#617568;font-size:var(--type-body);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:620px){.content>.page-heading,.content>.manager-page-heading{margin-bottom:22px}.transaction-count{font-size:var(--type-body)}}.overview-controls .segment,.chart-panel .chart-range-tabs.segment,.chart-panel .trend-series-controls .segment,.chart-panel .chart-controls>.segment,.transaction-extra-filters>.chart-range-tabs.segment,.transaction-filter-summary>.segment{box-sizing:border-box;min-height:36px;height:36px;padding:3px;gap:3px}.overview-controls .segment button,.chart-panel .chart-range-tabs.segment button,.chart-panel .trend-series-controls .segment button,.chart-panel .chart-controls>.segment button,.transaction-extra-filters>.chart-range-tabs.segment button,.transaction-filter-summary>.segment button{box-sizing:border-box;min-height:28px;height:28px;padding-inline:10px;font-family:inherit;font-size:var(--type-body);font-weight:500;line-height:1}.overview-controls>.date-picker-trigger,.chart-panel .range-control .date-picker-trigger,.transaction-extra-filters .range-control .date-picker-trigger,.global-currency .currency-picker-trigger{box-sizing:border-box;min-height:36px;height:36px;padding-inline:10px;font-family:inherit;font-size:var(--type-body);font-weight:500;line-height:1}.global-currency .currency-picker-trigger{gap:8px}.currency-picker-trigger .currency-code-pill{font-family:inherit;font-size:var(--type-body);font-weight:500;letter-spacing:0}.currency-picker-name{font:inherit}.transaction-extra-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 16px;margin:0 0 14px}.transaction-filter-main,.transaction-filter-summary{display:flex;align-items:center;gap:8px;min-width:0}.transaction-filter-main{flex-wrap:wrap}.transaction-extra-filters .range-control{display:contents}.transaction-extra-filters .range-control>label{margin:0}.transaction-extra-filters .range-control>label>.date-picker-trigger{width:max-content;max-width:180px}.transaction-filter-summary{justify-self:end;gap:10px;white-space:nowrap}.transaction-count{color:#617568;font-size:var(--type-body);font-weight:500;font-variant-numeric:tabular-nums}.transaction-extra-filters .scope-picker-trigger{display:inline-flex;align-items:center;gap:7px;min-height:36px;height:36px;width:max-content;max-width:240px;padding:0 10px;border:1px solid #e1e9e1;border-radius:11px;background:#fff;color:#52685a;font-size:var(--type-body);font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.transaction-extra-filters .scope-picker-trigger:hover{border-color:#b9d5c0;background:#fbfdfb}.transaction-extra-filters .scope-picker-trigger:focus-visible{outline:3px solid rgba(49,145,99,.16);outline-offset:2px}.transaction-extra-filters .scope-picker-trigger>svg:last-child{color:#839487}.transaction-extra-filters .scope-picker-trigger .filter-applied{padding:2px 6px;border-radius:999px;background:#edf6ee;color:#287b55;font-size:var(--type-meta);font-weight:400}:root{--type-meta: 12px;--type-compact: 14px;--type-body: 16px;--type-section: 20px;--type-data: 24px;--type-dialog: 24px;--type-amount: 28px;--type-title: 28px;--type-balance: 32px;--type-muted: #66736a;font-family:Inter,Source Han Sans CN,Source Han Sans SC,思源黑体,Noto Sans SC,Microsoft YaHei UI,Microsoft YaHei,PingFang SC,system-ui,sans-serif;letter-spacing:0}.page-heading h1{font-size:var(--type-title);font-weight:700;letter-spacing:1px;line-height:1.2}.page-heading .muted{font-size:var(--type-meta)}.section-heading h2,.chart-panel .section-heading h2{font-size:var(--type-section);font-weight:500;line-height:1.2}h1,h2,h3,h4,h5,h6{line-height:1.2}.section-heading p,.chart-panel .section-heading p,.overview-note{font-size:var(--type-meta)}.stat-top,.range-control,.range-caption,.chart-legend-row,.chart-panel .trend-legend{font-size:var(--type-body)}.stat-card strong{font-size:var(--type-data)}.balance-card.stat-card-action strong{font-size:var(--type-balance)}.transaction-info strong{font-size:var(--type-body)}.transaction-info small{font-size:var(--type-meta)}.transaction-amount{font-size:var(--type-body)}.stats-grid .stat-card:not(.balance-card) small{font-size:var(--type-meta);font-weight:400}.stats-grid .balance-card small,.chart-panel .section-heading p{font-size:var(--type-meta)}.chart-empty-state strong,.trend-empty-state strong{font-size:var(--type-body)}.chart-panel .chart-empty-state span,.chart-panel .trend-empty-state span,.chart-empty-state span,.trend-empty-state span{font-size:var(--type-meta)}.chart-panel .chart-empty-state,.chart-panel .trend-empty-state{min-height:112px}.date-divider,.search-field input{font-size:var(--type-body)}.transaction-count{font-size:var(--type-meta);font-weight:400}.primary-button,.secondary-button,.transaction-range-prefix{font-size:var(--type-body)}.chart-panel .chart-controls>.choice-picker-trigger,.chart-panel .trend-series-controls>.choice-picker-trigger,.transaction-extra-filters .scope-picker-trigger,.global-currency .currency-picker-trigger{font-size:var(--type-body)}.choice-picker-options>button,.scope-category-option>button:first-child,.category-parent-option>.category-parent-option-select{font-size:var(--type-body)}.filter-row .segment button,.calendar-days>button,.picker-month-grid>button,.picker-year-grid>button{font-size:var(--type-body)}@media(min-width:621px){.page-heading h1{font-size:var(--type-title)}}@media(max-width:620px){.transaction-extra-filters{grid-template-columns:minmax(0,1fr);gap:8px}.transaction-filter-main{gap:7px}.transaction-filter-summary{justify-self:stretch;justify-content:space-between;padding-top:8px;border-top:1px solid #e9eee8}.chart-panel .trend-y-label,.chart-panel .trend-x-label{font-size:var(--type-section)}.page-heading h1{font-size:var(--type-title)}.stat-card strong{font-size:var(--type-data)}.balance-card.stat-card-action strong{font-size:var(--type-balance)}.chart-panel .chart-empty-state strong,.chart-panel .trend-empty-state strong{font-size:var(--type-body)}.stats-grid .stat-card:not(.balance-card) small,.stats-grid .balance-card small,.chart-panel .section-heading p,.chart-panel .chart-empty-state span,.chart-panel .trend-empty-state span{font-size:var(--type-meta)}.stats-grid .stat-top,.chart-panel .range-caption{font-size:var(--type-body)}.overview-controls .segment,.chart-panel .chart-range-tabs.segment,.chart-panel .trend-series-controls .segment,.chart-panel .chart-controls>.segment,.transaction-extra-filters>.chart-range-tabs.segment,.transaction-filter-summary>.segment{min-height:36px;height:36px;padding:2px}.overview-controls .segment button,.chart-panel .chart-range-tabs.segment button,.chart-panel .trend-series-controls .segment button,.chart-panel .chart-controls>.segment button,.transaction-extra-filters>.chart-range-tabs.segment button,.transaction-filter-summary>.segment button{min-height:30px;height:30px;padding-inline:9px}}.overview-controls .segment button,.chart-panel .chart-range-tabs.segment button,.chart-panel .trend-series-controls .segment button,.chart-panel .chart-controls>.segment button,.filter-row .segment button,.transaction-extra-filters>.chart-range-tabs.segment button,.transaction-filter-summary>.segment button,.overview-controls>.date-picker-trigger,.overview-controls>.date-picker-trigger>span,.chart-panel .range-control .date-picker-trigger,.chart-panel .range-control .date-picker-trigger>span,.transaction-extra-filters .range-control .date-picker-trigger,.transaction-extra-filters .range-control .date-picker-trigger>span,.transaction-extra-filters .scope-picker-trigger,.transaction-extra-filters .scope-picker-trigger>span,.global-currency .currency-picker-trigger,.global-currency .currency-picker-trigger .currency-code-pill,.global-currency .currency-picker-trigger .currency-picker-name,.chart-panel .chart-controls select,.search-field input,.picker-search input,.range-control>label,.calendar-days>button,.picker-month-grid>button,.picker-year-grid>button,.choice-picker-options>button,.currency-option-name strong,.recent-currencies>button,.breadcrumb,.account-button,.account-text strong,.nav-label,.calendar-weekdays,.calendar-weekdays span,.category-count,.add-child,.add-grandchild,.text-link,.empty-state-actions button,.type-switch button,.data-format-option strong,.form-grid>label,.modal form>.form-label,.modal form>label:not(.form-grid label),.modal input:not([type=number]),.modal select,.modal .form-grid input,.modal .form-grid select,.form-grid .date-picker-trigger>span,.category-toolbar>span,.category-parent strong,.children-list>div,.grandchildren-list>div,.page-heading .primary-button{font-size:var(--type-body)}body{font-size:var(--type-body)}.nav-list button,.sidebar-bottom>button,.manager-switch button,.quick-action strong,.tag-row strong,.mobile-number-pad .pad-done,.data-management-card strong,.calendar-title-button,.stats-grid .stat-top>span:first-child{font-size:var(--type-body)}.page-heading .muted,.section-heading p,.chart-panel .section-heading p,.overview-note,.chart-detail,.confirm-copy,.brand small,.account-text small,.sync-status,.quick-action small,.empty-state p,.picker-heading small,.currency-option-name small,.picker-empty,.data-management-card small,.data-format-option small,.modal-heading p,.transaction-info small,.chart-empty-state span,.trend-empty-state span,.chart-panel .chart-empty-state span,.chart-panel .trend-empty-state span,.stats-grid .balance-card small,.stats-grid .stat-card:not(.balance-card) small,.transaction-count{font-size:var(--type-meta);font-weight:400}.overview-controls .segment button,.chart-panel .chart-range-tabs.segment button,.chart-panel .trend-series-controls .segment button,.chart-panel .chart-controls>.segment button,.filter-row .segment button,.transaction-extra-filters>.chart-range-tabs.segment button,.transaction-filter-summary>.segment button,.overview-controls>.date-picker-trigger,.chart-panel .range-control .date-picker-trigger,.transaction-extra-filters .range-control .date-picker-trigger,.transaction-extra-filters .scope-picker-trigger,.global-currency .currency-picker-trigger,.chart-panel .chart-controls select,.search-field input,.range-control>label{line-height:1.2}p,small,.muted,.transaction-info small,.overview-note,.chart-detail,.confirm-copy,.brand small,.account-text small,.sync-status,.quick-action small,.empty-state p,.picker-heading small,.currency-option-name small,.picker-empty,.data-management-card small,.data-format-option small,.modal-heading p,.chart-empty-state span,.trend-empty-state span,.category-count,.transaction-count{line-height:1.6}.page-heading .muted,.section-heading p,.chart-panel .section-heading p,.overview-note,.chart-detail,.confirm-copy,.brand small,.account-text small,.sync-status,.quick-action small,.empty-state p,.picker-heading small,.currency-option-name small,.picker-empty,.data-management-card small,.data-format-option small,.modal-heading p,.transaction-info small,.chart-empty-state span,.trend-empty-state span,.category-count,.transaction-count{color:var(--type-muted);font-size:var(--type-meta);font-weight:400}body{font-size:var(--type-body);line-height:1.6}.page-heading h1{font-size:var(--type-title);line-height:1.2}.section-heading h2,.chart-panel .section-heading h2,.modal .picker-heading strong{font-size:var(--type-section);line-height:1.2;font-weight:500}.modal-heading h2{font-size:var(--type-dialog);line-height:1.2;font-weight:500}.stats-grid .stat-card:not(.balance-card)>strong{font-size:var(--type-data);font-weight:700}.stats-grid .balance-card>strong,.balance-card.stat-card-action strong{font-size:var(--type-balance);font-weight:700}.nav-list button,.sidebar-bottom>button,.manager-switch button,.breadcrumb,.account-button,.sync-status,.page-heading .primary-button,.overview-controls .segment button,.chart-panel .chart-range-tabs.segment button,.chart-panel .trend-series-controls .segment button,.chart-panel .chart-controls>.segment button,.filter-row .segment button,.transaction-extra-filters>.chart-range-tabs.segment button,.transaction-filter-summary>.segment button,.chart-panel .range-control .date-picker-trigger,.transaction-extra-filters .range-control .date-picker-trigger,.transaction-extra-filters .scope-picker-trigger,.global-currency .currency-picker-trigger,.global-currency .currency-picker-trigger .currency-code-pill,.global-currency .currency-picker-trigger .currency-picker-name,.chart-panel .chart-controls select,.range-control,.range-caption,.transaction-range-prefix,.date-divider,.type-switch button,.category-toolbar .segment button,.category-toolbar>span,.category-count,.children-list>div,.grandchildren-list>div,.add-child,.add-grandchild,.text-link,.empty-state-actions button,.data-format-option strong,.recent-currencies>button,.currency-option-name strong,.currency-option-name small,.calendar-days>button,.picker-month-grid>button,.picker-year-grid>button,.calendar-title-button,.calendar-nav-title>strong,.calendar-weekdays,.calendar-weekdays span,.modal-actions .primary-button,.modal-actions .secondary-button{font-size:var(--type-compact)}.transaction-extra-filters>.transaction-filter-main,.transaction-extra-filters .transaction-filter-summary{align-items:center}.transaction-extra-filters .chart-range-tabs.segment,.transaction-extra-filters .scope-picker-trigger,.transaction-filter-summary .segment{font-size:var(--type-compact)}.search-field input,.transaction-info strong,.transaction-amount,.date-divider strong,.category-parent strong,.tag-row strong,.data-management-card strong,.quick-action strong,.empty-state h3,.chart-empty-state strong,.trend-empty-state strong,.stats-grid .stat-top,.stats-grid .stat-top>span:first-child,.choice-picker-options>button,.scope-category-option>button:first-child,.category-parent-option>.category-parent-option-select,.picker-trigger,.picker-heading strong,.modal input:not([type=number]),.modal select,.modal .form-grid input,.modal .form-grid select,.modal .choice-picker-trigger,.modal .date-picker-trigger,.modal .type-switch button,.modal .mobile-number-pad button,.primary-button,.secondary-button{font-size:var(--type-body)}.form-grid>label,.form-grid label,.modal form>.form-label,.modal form>label:not(.form-grid label){font-size:var(--type-compact);font-weight:500;line-height:1.4}.form-label>span,.form-grid label>span,.modal form>label>span{font-size:var(--type-meta);font-weight:400}.form-grid .date-picker-trigger>span,.modal .date-picker-trigger>span{font-size:var(--type-body)}.modal input:not([type=number])::placeholder,.modal .form-grid input::placeholder,.picker-search input,.search-field input::placeholder{font-size:var(--type-compact)}.modal .amount-field>span{font-size:var(--type-section)}.modal .amount-field input{font-size:var(--type-amount);line-height:1.2}.page-heading .muted,.section-heading p,.chart-panel .section-heading p,.overview-note,.chart-detail,.brand small,.account-text small,.quick-action small,.empty-state p,.picker-heading small,.picker-empty,.data-management-card small,.data-format-option small,.modal-heading p,.transaction-info small,.transaction-money small,.chart-empty-state span,.trend-empty-state span,.chart-panel .chart-empty-state span,.chart-panel .trend-empty-state span,.stats-grid .balance-card small,.stats-grid .stat-card:not(.balance-card) small,.transaction-count,.category-count,.form-message,.form-grid .field-hint,.calendar-weekdays,.calendar-weekdays span{font-size:var(--type-meta);font-weight:400;line-height:1.6}.chart-panel .trend-legend,.chart-panel .chart-legend>div,.chart-legend-row,.chart-legend-row strong,.chart-panel .donut small,.chart-panel .donut strong,.chart-panel .chart-detail{font-size:var(--type-compact)}.chart-panel .trend-y-label,.chart-panel .trend-x-label{font-size:var(--type-section)}@media(max-width:620px){.page-heading h1{font-size:var(--type-title)}.stats-grid .stat-card:not(.balance-card)>strong{font-size:var(--type-data)}.stats-grid .balance-card>strong,.balance-card.stat-card-action strong{font-size:var(--type-balance)}.modal-heading h2{font-size:var(--type-dialog)}.form-grid>label,.form-grid label,.modal form>.form-label,.modal form>label:not(.form-grid label){font-size:var(--type-compact)}.modal input:not([type=number]),.modal select,.modal .form-grid input,.modal .form-grid select,.form-grid .date-picker-trigger>span{font-size:var(--type-body)}.modal .amount-field input{font-size:var(--type-amount)}}.chart-panel .range-control .date-picker-trigger>span,.transaction-extra-filters .range-control .date-picker-trigger>span,.chart-panel .chart-controls>.choice-picker-trigger,.chart-panel .trend-series-controls>.choice-picker-trigger,.transaction-extra-filters .scope-picker-trigger>span{font-size:var(--type-compact)}:root{--filter-control-font-size: var(--type-compact);--filter-control-height: 36px;--filter-option-height: 28px}.overview-controls .segment,.chart-panel .chart-range-tabs.segment,.chart-panel .chart-controls>.segment,.chart-panel .trend-series-controls>.segment,.filter-row .segment,.transaction-extra-filters .transaction-filter-main .chart-range-tabs.segment,.transaction-extra-filters .transaction-filter-summary .segment,.category-toolbar .segment{box-sizing:border-box;height:var(--filter-control-height);min-height:var(--filter-control-height);padding:3px;font-family:inherit;font-size:var(--filter-control-font-size);font-weight:500;line-height:1.2}.overview-controls .segment>button,.chart-panel .chart-range-tabs.segment>button,.chart-panel .chart-controls>.segment>button,.chart-panel .trend-series-controls>.segment>button,.filter-row .segment>button,.transaction-extra-filters .transaction-filter-main .chart-range-tabs.segment>button,.transaction-extra-filters .transaction-filter-summary .segment>button,.category-toolbar .segment>button{box-sizing:border-box;height:var(--filter-option-height);min-height:var(--filter-option-height);padding-inline:10px;font-family:inherit;font-size:var(--filter-control-font-size);font-weight:500;line-height:1.2}.overview-controls>.date-picker-trigger,.chart-panel .range-control .date-picker-trigger,.chart-panel .chart-controls>.choice-picker-trigger,.chart-panel .trend-series-controls>.scope-picker-trigger,.transaction-extra-filters .range-control .date-picker-trigger,.transaction-extra-filters .scope-picker-trigger,.global-currency .currency-picker-trigger{box-sizing:border-box;height:var(--filter-control-height);min-height:var(--filter-control-height);font-family:inherit;font-size:var(--filter-control-font-size);font-weight:500;line-height:1.2}.global-currency .currency-picker-trigger .currency-code-pill,.global-currency .currency-picker-trigger .currency-picker-name{font-size:inherit;font-weight:inherit;line-height:inherit}.filter-row .search-field{box-sizing:border-box;height:var(--filter-control-height);min-height:var(--filter-control-height)}.filter-row .search-field input{font-family:inherit;font-size:var(--filter-control-font-size);font-weight:400;line-height:1.2}.range-control>label{font-family:inherit;font-size:var(--filter-control-font-size);font-weight:400;line-height:1.2}@media(max-width:620px){:root{--filter-option-height: 30px}}:root{--font-ui: "Inter", "Source Han Sans CN", "Source Han Sans SC", "思源黑体", "Noto Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;--type-meta: 12px;--type-compact: 14px;--type-body: 16px;--type-section: 20px;--type-data: 24px;--type-dialog: 24px;--type-amount: 28px;--type-title: 28px;--type-balance: 32px}:root,body,button,input,select,textarea{font-family:var(--font-ui)}body{font-size:var(--type-body);font-weight:400;line-height:1.6;letter-spacing:0}.page-heading h1{font-size:var(--type-title);font-weight:700;line-height:1.2;letter-spacing:.3px}.brand strong,.section-heading h2,.chart-panel .section-heading h2,.trend-section .section-heading h2,.picker-heading strong{font-size:var(--type-section);font-weight:500;line-height:1.2}.modal-heading h2{font-size:var(--type-dialog);font-weight:500;line-height:1.2}.nav-list button,.sidebar-bottom>button,.sidebar-tool,.account-button,.primary-button,.secondary-button,.text-link,.period-title,.stat-top,.section-heading p,.chart-panel .section-heading p,.trend-section .section-heading p,.quick-action strong,.transaction-info strong,.transaction-amount,.transaction-money>strong,.category-parent strong,.data-format-option strong,.confirm-copy,.import-summary,.import-summary strong,.type-switch button,.calendar-title-button,.calendar-nav-title>strong,.calendar-days>button,.picker-month-grid>button,.picker-year-grid>button,.choice-picker-options>button,.scope-category-option>button:first-child,.category-parent-option>.category-parent-option-select,.modal input:not([type=number]),.modal select,.modal .form-grid input,.modal .form-grid select,.modal .date-picker-trigger>span{font-size:var(--type-body)}.nav-list button,.sidebar-bottom>button,.sidebar-tool,.primary-button,.secondary-button,.text-link,.quick-action strong,.transaction-info strong,.transaction-amount,.transaction-money>strong,.category-parent strong,.tag-row strong,.data-format-option strong,.type-switch button,.choice-picker-options>button.selected,.scope-category-option>button.selected,.category-parent-option>.category-parent-option-select.selected{font-weight:500}.category-child-block>div:first-child,.grandchildren-list>div,.add-child,.add-grandchild,.chart-legend-row,.chart-panel .chart-legend>div,.chart-panel .trend-legend,.trend-legend,.calendar-weekdays,.calendar-weekdays>span,.form-grid>label,.form-grid label,.form-label,.modal form>label:not(.form-grid label),.form-grid .date-picker-trigger,.picker-empty,.chart-controls select,.range-control input{font-size:var(--type-compact)}.category-child-block>div:first-child,.grandchildren-list>div,.add-child,.add-grandchild,.chart-legend-row,.chart-panel .chart-legend>div,.chart-panel .trend-legend,.trend-legend,.form-grid>label,.form-grid label,.form-label,.modal form>label:not(.form-grid label),.form-grid .date-picker-trigger{font-weight:400}.eyebrow,.breadcrumb,.sync-status,.page-heading .muted,.section-heading p,.chart-panel .section-heading p,.trend-section .section-heading p,.period-title span,.stat-card small,.quick-action small,.overview-note,.range-caption,.range-control>label,.transaction-range-prefix,.transaction-count,.category-toolbar>span,.category-count,.transaction-info small,.transaction-money small,.chart-detail,.chart-detail span,.chart-empty-state span,.trend-empty-state span,.empty-state p,.picker-heading small,.currency-option-name small,.recent-currencies>span,.currency-options .picker-empty,.picker-search input,.picker-search input::placeholder,.modal input::placeholder,.modal input:not([type=number])::placeholder,.modal select option,.form-label>span,.form-grid label>span,.modal form>label>span,.auth-hint,.form-message,.form-grid .field-hint,.data-format-option small,.modal-heading p,.toast,.error-banner,.setup-banner,.import-errors,.calendar-weekdays,.category-parent-option-next,.scope-category-next{font-size:var(--type-meta);font-weight:400;line-height:1.6}.overview-controls .segment,.overview-controls .segment>button,.chart-panel .chart-range-tabs.segment,.chart-panel .chart-range-tabs.segment>button,.chart-panel .chart-controls>.segment,.chart-panel .chart-controls>.segment>button,.chart-panel .trend-series-controls>.segment,.chart-panel .trend-series-controls>.segment>button,.filter-row .segment,.filter-row .segment>button,.transaction-extra-filters .transaction-filter-main .chart-range-tabs.segment,.transaction-extra-filters .transaction-filter-main .chart-range-tabs.segment>button,.transaction-extra-filters .transaction-filter-summary .segment,.transaction-extra-filters .transaction-filter-summary .segment>button,.category-toolbar .segment,.category-toolbar .segment>button,.picker-trigger,.date-picker-trigger,.currency-picker-trigger,.choice-picker-trigger,.scope-picker-trigger,.chart-controls select,.filter-row .search-field input,.transaction-extra-filters .range-control input,.transaction-extra-filters .range-control>label{font-size:var(--filter-control-font-size);line-height:1.2}.overview-controls .segment>button,.chart-panel .chart-range-tabs.segment>button,.chart-panel .chart-controls>.segment>button,.chart-panel .trend-series-controls>.segment>button,.filter-row .segment>button,.transaction-extra-filters .transaction-filter-main .chart-range-tabs.segment>button,.transaction-extra-filters .transaction-filter-summary .segment>button,.category-toolbar .segment>button,.picker-trigger,.date-picker-trigger,.currency-picker-trigger,.choice-picker-trigger,.scope-picker-trigger{font-weight:500}.filter-row .search-field input,.transaction-extra-filters .range-control input,.transaction-extra-filters .range-control>label{font-weight:400}.filter-row .search-field input::placeholder,.picker-search input::placeholder{font-size:inherit;font-weight:400}.global-currency .currency-picker-trigger .currency-code-pill,.global-currency .currency-picker-trigger .currency-picker-name{font-size:inherit;font-weight:inherit}.stats-grid .stat-card:not(.balance-card)>strong{font-size:var(--type-data);font-weight:700;line-height:1.2}.balance-card.stat-card-action>strong{font-size:var(--type-balance);font-weight:700;line-height:1.2}.amount-field>span,.amount-field input{font-size:var(--type-amount);line-height:1.2}.amount-field input{font-weight:700}.chart-panel .trend-x-label,.chart-panel .trend-y-label{font-size:var(--type-section);font-weight:400}.chart-legend-row,.chart-legend-row strong,.chart-panel .chart-legend>div,.chart-panel .trend-legend,.trend-legend,.chart-panel .chart-detail{font-size:var(--type-compact)}.chart-panel .donut small{font-size:var(--type-compact)}.chart-panel .donut strong{font-size:var(--type-body);font-weight:500}.empty-state h3,.chart-empty-state strong,.trend-empty-state strong,.chart-empty{font-size:var(--type-body);font-weight:500;line-height:1.4}.empty-state p,.chart-empty-state span,.trend-empty-state span{font-size:var(--type-meta);font-weight:400;line-height:1.6}.empty-state-actions button,.empty-state button,.picker-actions button,.modal-actions button,.auth-links button{font-size:var(--type-compact);font-weight:500}.date-divider,.date-divider>span{font-size:var(--type-compact)}.date-divider{font-weight:500}.date-divider>span{font-weight:400}.toast,.error-banner,.setup-banner{font-size:var(--type-compact)}.modal .picker-heading strong,.picker-panel .picker-heading strong{font-size:var(--type-section);font-weight:500}.modal .picker-heading small,.picker-panel .picker-heading small{font-size:var(--type-meta);font-weight:400}.modal-heading p{font-size:var(--type-meta)}.modal form>label:not(.form-grid label),.form-grid>label,.form-grid label,.form-label{font-size:var(--type-compact);font-weight:500}.modal input:not([type=number]),.modal input:not([type=number])::placeholder,.modal select,.modal .form-grid input,.modal .form-grid select,.modal .date-picker-trigger,.modal .date-picker-trigger>span,.modal .picker-trigger,.modal .currency-picker-trigger,.modal .choice-picker-trigger,.modal .tag-picker-trigger{font-size:var(--filter-control-font-size)}.modal input:not([type=number])::placeholder{font-size:var(--type-compact)}.modal .amount-field input,.modal .amount-field input::placeholder{font-size:var(--type-amount);font-weight:700}.modal .choice-picker-options>button,.modal .scope-category-option>button:first-child,.modal .category-parent-option>.category-parent-option-select,.modal .currency-option-name strong,.modal .recent-currencies>button,.picker-panel .choice-picker-options>button,.picker-panel .scope-category-option>button:first-child,.picker-panel .category-parent-option>.category-parent-option-select,.picker-panel .currency-option-name strong,.picker-panel .recent-currencies>button{font-size:var(--type-body);font-weight:400}.picker-panel .picker-search input{font-size:var(--filter-control-font-size);font-weight:400}.picker-panel .recent-currencies>button{font-size:var(--type-compact)}.modal .type-switch button{font-size:var(--filter-control-font-size)}.modal .type-switch button,.modal .choice-picker-options>button.selected,.modal .scope-category-option>button.selected,.modal .category-parent-option>.category-parent-option-select.selected,.picker-panel .choice-picker-options>button.selected,.picker-panel .scope-category-option>button.selected,.picker-panel .category-parent-option>.category-parent-option-select.selected{font-weight:500}.currency-option-name strong{font-weight:400}.currency-code-pill{font-size:var(--type-compact);font-weight:500}.format-mark{font-size:var(--type-compact);font-weight:700}.overview-controls>.date-picker-trigger,.overview-controls>.date-picker-trigger>span{font-size:var(--filter-control-font-size)}.modal .picker-trigger,.modal .picker-trigger>span,.modal>form>.choice-picker-trigger,.modal>form>.choice-picker-trigger>span,.modal .date-picker-trigger>span,.modal .currency-picker-trigger .currency-code-pill,.modal .currency-picker-trigger .currency-picker-name,.modal .type-switch button{font-size:var(--filter-control-font-size)}.empty-state h3,.chart-empty-state strong,.trend-empty-state strong,.chart-panel .chart-empty-state strong,.chart-panel .trend-empty-state strong{font-size:var(--type-body);font-weight:500}.empty-state p,.chart-empty-state span,.trend-empty-state span,.chart-panel .chart-empty-state span,.chart-panel .trend-empty-state span{font-size:var(--type-meta);font-weight:400}.nav-list button,.sidebar-tool,.sidebar-bottom>button,.account-text strong,.global-currency>span{font-size:var(--type-compact);font-weight:500}.avatar{font-size:var(--type-compact);font-weight:500}.stat-top,.stat-top>span:first-child{font-size:var(--type-compact);font-weight:500}.stats-grid .stat-top>span:first-child,.balance-card.stat-card-action .stat-top{font-size:var(--type-compact);font-weight:500}.category-parent strong{font-size:var(--type-body);font-weight:400}.tag-row strong{font-weight:400}.calendar-title-button,.calendar-nav-title>strong{font-size:var(--type-body);font-weight:400}.choice-picker-options>button,.scope-category-option>button:first-child,.category-parent-option>.category-parent-option-select,.picker-panel .choice-picker-options>button,.picker-panel .scope-category-option>button:first-child,.picker-panel .category-parent-option>.category-parent-option-select{font-size:var(--type-body);font-weight:400}.choice-picker-options>button.selected,.scope-category-option>button.selected,.category-parent-option>.category-parent-option-select.selected,.picker-panel .choice-picker-options>button.selected,.picker-panel .scope-category-option>button.selected,.picker-panel .category-parent-option>.category-parent-option-select.selected{font-weight:400}.empty-state h3,.chart-empty-state strong,.trend-empty-state strong,.chart-panel .chart-empty-state strong,.chart-panel .trend-empty-state strong{font-size:var(--type-body);font-weight:400}@media(max-width:620px){.page-heading h1{font-size:var(--type-title)}.modal-heading h2{font-size:var(--type-dialog)}.stats-grid .stat-card:not(.balance-card)>strong{font-size:var(--type-data)}.balance-card.stat-card-action>strong{font-size:var(--type-balance)}.chart-panel .trend-x-label,.chart-panel .trend-y-label{font-size:var(--type-section)}}.chart-panel .range-control .date-picker-trigger,.transaction-extra-filters .range-control .date-picker-trigger{width:max-content;min-width:0;flex:0 0 auto}.chart-panel .range-control .date-picker-trigger>span,.transaction-extra-filters .range-control .date-picker-trigger>span{white-space:nowrap}@media(min-width:621px){.chart-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,max-content);align-content:start;column-gap:12px;row-gap:10px}.chart-panel>.section-heading,.chart-panel>.chart-content,.chart-panel>.chart-empty-state,.chart-panel>.trend-chart-wrap,.chart-panel>.trend-legend{grid-column:1 / -1}.chart-panel>.section-heading{grid-row:1}.chart-panel>.chart-time-controls{display:contents}.chart-panel>.chart-time-controls>.chart-range-tabs{grid-column:1;grid-row:2;align-self:start}.chart-panel>.chart-time-controls>.range-control{grid-column:2;grid-row:2;display:flex;flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end;gap:8px;min-width:0;margin:0}.chart-panel>.chart-time-controls>.range-control-multiple{grid-column:1;grid-row:3;justify-content:flex-start}.chart-panel>.chart-time-controls>.range-control>label{flex:0 0 auto;white-space:nowrap}.chart-panel>.chart-time-controls>.range-caption{grid-column:2;grid-row:3;justify-self:end;align-self:center;margin:0;white-space:nowrap}.chart-panel>.chart-controls,.chart-panel>.trend-series-controls{grid-column:1;grid-row:3;align-self:stretch;flex-wrap:wrap;min-width:0;margin:0}.chart-panel>.chart-content,.chart-panel>.chart-empty-state,.chart-panel>.trend-chart-wrap{grid-row:4}.chart-panel>.trend-legend{grid-column:1 / -1;grid-row:5;justify-self:center}.chart-panel:has(>.chart-time-controls>.range-control-multiple)>.chart-controls,.chart-panel:has(>.chart-time-controls>.range-control-multiple)>.trend-series-controls{grid-row:4}.chart-panel:has(>.chart-time-controls>.range-control-multiple)>.chart-content,.chart-panel:has(>.chart-time-controls>.range-control-multiple)>.chart-empty-state,.chart-panel:has(>.chart-time-controls>.range-control-multiple)>.trend-chart-wrap{grid-row:5}.chart-panel:has(>.chart-time-controls>.range-control-multiple)>.trend-legend{grid-row:6}.chart-panel>.chart-controls>.choice-picker-trigger,.chart-panel>.trend-series-controls>.scope-picker-trigger{box-sizing:border-box;flex:0 1 auto;width:max-content;max-width:min(280px,48%);min-width:0;height:auto;min-height:40px;padding-block:7px}.chart-panel>.chart-controls>.choice-picker-trigger>span,.chart-panel>.trend-series-controls>.scope-picker-trigger>span{min-width:0;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}}@media(min-width:621px){.stats-grid .stat-top>span:first-child{font-size:var(--type-body)}.chart-panel .chart-legend-row>span:nth-child(2),.chart-panel .donut-interactive>div>small:first-child{color:#66776b;font-family:inherit;font-size:var(--type-compact);font-weight:400;line-height:1.4}}
