:root{--adm-radius-s: 4px;--adm-radius-m: 8px;--adm-radius-l: 12px;--adm-font-size-1: 9px;--adm-font-size-2: 10px;--adm-font-size-3: 11px;--adm-font-size-4: 12px;--adm-font-size-5: 13px;--adm-font-size-6: 14px;--adm-font-size-7: 15px;--adm-font-size-8: 16px;--adm-font-size-9: 17px;--adm-font-size-10: 18px;--adm-color-primary: #1677ff;--adm-color-success: #00b578;--adm-color-warning: #ff8f1f;--adm-color-danger: #ff3141;--adm-color-yellow: #ff9f18;--adm-color-orange: #ff6430;--adm-color-wathet: #e7f1ff;--adm-color-text: #333333;--adm-color-text-secondary: #666666;--adm-color-weak: #999999;--adm-color-light: #cccccc;--adm-color-border: #eeeeee;--adm-color-background: #ffffff;--adm-color-highlight: var(--adm-color-danger);--adm-color-white: #ffffff;--adm-color-box: #f5f5f5;--adm-color-text-light-solid: var(--adm-color-white);--adm-color-text-dark-solid: #000000;--adm-color-fill-content: var(--adm-color-box);--adm-font-size-main: var(--adm-font-size-5);--adm-font-family: -apple-system, blinkmacsystemfont, "Helvetica Neue", helvetica, segoe ui, arial, roboto, "PingFang SC", "miui", "Hiragino Sans GB", "Microsoft Yahei", sans-serif;--adm-border-color: var(--adm-color-border)}html[data-prefers-color-scheme=dark]{--adm-color-primary: #3086ff;--adm-color-success: #34b368;--adm-color-warning: #ffa930;--adm-color-danger: #ff4a58;--adm-color-yellow: #ffa930;--adm-color-orange: #e65a2b;--adm-color-wathet: #0d2543;--adm-color-text: #e6e6e6;--adm-color-text-secondary: #b3b3b3;--adm-color-weak: #808080;--adm-color-light: #4d4d4d;--adm-color-border: #2b2b2b;--adm-color-box: #0a0a0a;--adm-color-background: #1a1a1a;--adm-color-background-body: var(--adm-color-background);--adm-border-color: var(--adm-color-border)}:root{-webkit-tap-highlight-color:rgba(0,0,0,0)}html{background-color:var(--adm-color-background-body)}body{color:var(--adm-color-text);font-size:var(--adm-font-size-main);font-family:var(--adm-font-family)}a,button{cursor:pointer}a{color:var(--adm-color-primary);transition:opacity ease-in-out .2s}a:active{opacity:.8}.adm-plain-anchor{color:unset;transition:none}.adm-plain-anchor:active{opacity:unset}body.adm-overflow-hidden{overflow:hidden!important}div.adm-px-tester{--size: 1;height:calc(var(--size) / 2 * 2px);width:0;position:fixed;left:-100vw;top:-100vh;-webkit-user-select:none;user-select:none;pointer-events:none}.adm-popup{--z-index: var(--adm-popup-z-index, 1000);position:fixed;z-index:var(--z-index)}.adm-popup-body{position:fixed;background-color:var(--adm-color-background);z-index:calc(var(--z-index) + 10)}.adm-popup-body .adm-popup-close-icon{position:absolute;z-index:100}.adm-popup-body-position-bottom{width:100%;bottom:0;left:0}.adm-popup-body-position-bottom .adm-popup-close-icon{right:8px;top:8px}.adm-popup-body-position-top{width:100%;top:0;left:0}.adm-popup-body-position-top .adm-popup-close-icon{right:8px;bottom:8px}.adm-popup-body-position-left{height:100%;top:0;left:0}.adm-popup-body-position-left .adm-popup-close-icon{right:8px;top:8px}.adm-popup-body-position-right{height:100%;top:0;right:0}.adm-popup-body-position-right .adm-popup-close-icon{left:8px;top:8px}.adm-popup-close-icon{cursor:pointer;padding:4px;font-size:18px;line-height:1;color:var(--adm-color-weak)}.adm-mask{--z-index: var(--adm-mask-z-index, 1000);position:fixed;top:0;left:0;z-index:var(--z-index);display:block;width:100%;height:100%}.adm-mask-aria-button{position:absolute;top:0;left:0;z-index:0;width:100%;height:100%;pointer-events:none}.adm-mask-content{z-index:1}.adm-safe-area{--multiple: var(--adm-safe-area-multiple, 1);display:block;width:100%}.adm-safe-area-position-top{padding-top:calc(env(safe-area-inset-top) * var(--multiple))}.adm-safe-area-position-bottom{padding-bottom:calc(env(safe-area-inset-bottom) * var(--multiple))}.adm-picker{--header-button-font-size: var(--adm-font-size-7);--title-font-size: var(--adm-font-size-7);--item-font-size: var(--adm-font-size-8);--item-height: 34px;width:100%;height:300px;overflow:hidden;position:relative;display:flex;flex-direction:column;---item-font-size: var(--item-font-size);---item-height: var(--item-height)}.adm-picker .adm-picker-view.adm-picker-view{--item-font-size: var(---item-font-size);--item-height: var(---item-height)}.adm-picker-header{flex-shrink:0;border-bottom:solid 1px var(--adm-color-border);display:flex;justify-content:space-between;align-items:center;padding:4px}.adm-picker-header-button{font-size:var(--header-button-font-size);display:inline-block;padding:8px}.adm-picker-header-button-disabled,.adm-picker-header-button-disabled:active{opacity:.4;cursor:not-allowed}.adm-picker-header-title{padding:4px;font-size:var(--title-font-size);color:var(--adm-color-text);text-align:center;flex:1}.adm-picker-body{flex:1;width:100%;height:100%}.adm-picker-body>.adm-picker-view{--height: 100%}.adm-picker-popup .adm-popup-body{border-top-left-radius:8px;border-top-right-radius:8px}.adm-spin-loading{--color: var(--adm-color-weak);--size: 32px;width:var(--size);height:var(--size)}.adm-spin-loading-svg{width:100%;height:100%;animation:adm-spin-loading-rotate .8s infinite linear}.adm-spin-loading-svg>.adm-spin-loading-fill{stroke:var(--color)}@keyframes adm-spin-loading-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.adm-picker-view{--height: 240px;--item-height: 34px;--item-font-size: var(--adm-font-size-8);height:var(--height);width:100%;display:flex;position:relative;overflow:hidden;background:var(--adm-color-background)}.adm-picker-view-column{height:100%;flex:1;-webkit-user-select:none;user-select:none;touch-action:none;position:relative;z-index:0}.adm-picker-view-column-wheel{width:100%;cursor:-webkit-grab;cursor:grab;position:absolute;top:calc(50% - var(--item-height) / 2);left:0}.adm-picker-view-column-wheel:before{content:" ";display:block;position:absolute;width:100%;height:100vh;top:-100vh}.adm-picker-view-column-wheel:after{content:" ";display:block;position:absolute;width:100%;height:100vh;bottom:-100vh}.adm-picker-view-column-item{font-size:var(--item-font-size);padding:0 6px;height:var(--item-height);display:flex;justify-content:center;align-items:center}.adm-picker-view-column-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-picker-view-column-accessible{width:100%;height:100%;pointer-events:none;opacity:0;display:flex;flex-direction:column;position:relative;top:calc(var(--item-height) * -1);z-index:0;padding-bottom:1px}.adm-picker-view-column-accessible>*{flex:1;text-overflow:ellipsis}.adm-picker-view-column-accessible-current{position:absolute;width:100%;height:100%}.adm-picker-view-column-accessible-button{width:100%;height:100%}.adm-picker-view-mask{position:absolute;z-index:10000;left:0;top:0;width:100%;height:100%;display:flex;flex-direction:column;pointer-events:none}.adm-picker-view-mask-top,.adm-picker-view-mask-bottom{flex:auto}.adm-picker-view-mask-middle{height:var(--item-height);box-sizing:border-box;flex:none;border-top:solid 1px var(--adm-color-border);border-bottom:solid 1px var(--adm-color-border)}.adm-picker-view-mask-top{background:var(--adm-color-background);-webkit-mask:linear-gradient(0deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.8) 50%,#000000 100%);mask:linear-gradient(0deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.8) 50%,#000000 100%)}.adm-picker-view-mask-bottom{background:var(--adm-color-background);-webkit-mask:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.8) 50%,#000000 100%);mask:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.8) 50%,#000000 100%)}.adm-picker-view-loading-content{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.adm-picker-view-item-height-measure{position:relative;left:0;top:0;height:var(--item-height);width:0;pointer-events:none}@font-face{font-family:HarmonyOS Sans;src:url(/fonts/harmonyos-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:HarmonyOS Sans;src:url(/fonts/harmonyos-medium.woff2) format("woff2");font-weight:500 600;font-style:normal;font-display:swap}@font-face{font-family:HarmonyOS Sans;src:url(/fonts/harmonyos-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{font-family:HarmonyOS Sans,PingFang SC,Microsoft YaHei,sans-serif;color:#3c4a44;background:#f4f6f5;font-synthesis:none;--green: #5e9b86;--green-dark: #4d8672;--green-soft: #eef5f1;--green-tint: #f3f6f4;--muted: #8d9993;--muted-light: #a8b2ad;--border: #eef1ef;--border-strong: #e3e8e5;--danger: #d37a6e;--accent: #d37a6e;--danger-soft: #fbf1ee;--warn: #b08a55;--warn-soft: #fbf6ec;--ink: #3c4a44;--radius-sm: 8px;--radius-md: 11px;--radius-lg: 14px;--radius-xl: 20px;--adm-color-primary: #5e9b86;--adm-font-family: "HarmonyOS Sans", "PingFang SC", "Microsoft YaHei", sans-serif}body{font-family:HarmonyOS Sans,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;transition:.18s;border:0;background:none;color:inherit}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible{outline:3px solid #83c9b8;outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}input,select{min-width:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:11px 12px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #5e9b8618}.muted{color:var(--muted);font-size:12px}.error{background:var(--danger-soft);color:var(--danger);padding:13px 15px;border-radius:var(--radius-sm);font-size:12px;line-height:1.7}.error.blocked{margin-bottom:20px}.over{color:var(--danger)}.app-shell{display:flex;min-height:100vh}.sidebar{width:236px;flex-shrink:0;background:#fff;border-right:1px solid var(--border);padding:36px 23px 22px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;padding:0 8px}.brand-mark{height:43px;width:43px;display:grid;place-items:center;background:var(--green);color:#fff;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) 4px}.brand strong{font-size:21px;letter-spacing:1px}.brand strong span{font-size:8px;letter-spacing:2px;display:block;color:#98a79f;margin-top:4px}.book-switch{display:flex;align-items:center;gap:11px;background:#f6f8f6;border:1px solid #eaf0ec;border-radius:var(--radius-md);padding:13px 11px;margin-top:42px}.book-avatar{background:#e4eee6;color:#6c886c;width:34px;height:34px;border-radius:var(--radius-sm);display:grid;place-items:center;font-size:14px}.book-switch strong{display:block;font-size:13px}.book-switch small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.status-dot{background:#6dad91;width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.book-switch .status-dot{margin-left:auto}.nav-caption{font-size:10px;letter-spacing:2px;color:#a0aaa4;margin:34px 14px 13px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar nav button{display:flex;align-items:center;gap:13px;text-align:left;padding:14px 16px;border-radius:var(--radius-sm);font-size:13px;color:#76847c}.sidebar nav button.active{background:var(--green-soft);color:var(--green-dark);font-weight:600}.sidebar nav button:hover{background:var(--green-tint)}.nav-dot{width:5px;height:5px;border-radius:50%;background:var(--green);margin-left:auto}.nav-badge{margin-left:auto;background:var(--warn-soft);color:var(--warn);font-size:10px;padding:2px 7px;border-radius:999px}.sidebar-bottom{margin-top:auto;padding-top:35px}.little-note{padding:22px 17px;background:#faf9f4;border-radius:var(--radius-md)}.little-note>span{color:#bca569;font-size:22px}.little-note h4{font-size:12px;font-weight:500;margin:12px 0 8px}.little-note p{font-size:11px;line-height:1.9;color:#9a9b8a}.local-badge{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:22px;color:#98a49a;font-size:10px}.workspace{margin-left:236px;flex:1;min-width:0}.topbar{height:76px;border-bottom:1px solid var(--border);background:#ffffffb8;display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:11px}.breadcrumb{color:#9aa39e}.breadcrumb span{margin:0 14px;color:#ced4d0}.breadcrumb strong{color:#58695f;font-weight:500}.topbar-note{color:#94a197;display:flex;align-items:center;gap:9px}main{max-width:1430px;margin:auto;padding:34px 42px 22px}.page-title,.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.page-heading{margin-bottom:27px}.page-heading h1{font-size:25px;font-weight:650;letter-spacing:1px;margin-top:8px}.page-heading p{font-size:12px;color:#94a098;margin-top:9px}.page-title h1{position:relative;font-size:26px;font-weight:700;letter-spacing:0;padding-bottom:8px}.page-title h1:after{content:"";position:absolute;left:0;bottom:0;width:32px;height:3px;border-radius:2px;background:var(--accent)}h1{font-size:25px;font-weight:650;letter-spacing:1px}.sidebar-add{margin-top:18px;width:100%}.heading-actions{display:flex;gap:14px;align-items:center}.section-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:33px 0 24px}.section-intro h2{font-size:20px;font-weight:550}.section-intro p{font-size:12px;color:#94a098;margin-top:11px;line-height:1.8}.main-footer{margin-top:31px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#b3bcb5}.primary{background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--radius-sm);font-size:13px;box-shadow:0 4px 10px #5e9b8618;white-space:nowrap}.primary:hover{background:var(--green-dark)}.soft-button{background:#edf5ef;color:#25785e;padding:10px 15px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px}.soft-button:hover{background:#dfeee4}.text-button{display:inline-flex;gap:5px;align-items:center;font-size:11px;color:#85998c;padding:5px}.text-button:hover{color:var(--green)}.icon-button{display:inline-flex;align-items:center;justify-content:center;padding:7px;border-radius:6px;color:#8a9990}.icon-button:hover{background:var(--green-soft);color:var(--green-dark)}.icon-button.delete:hover{color:var(--danger);background:var(--danger-soft)}.segmented{display:flex;background:var(--green-tint);padding:4px;border-radius:var(--radius-md);margin-bottom:24px}.segmented button{flex:1;padding:10px;border-radius:7px;font-size:13px;color:#8a988b}.segmented button.active{background:#fff;color:var(--green);box-shadow:0 2px 7px #1637250b;font-weight:600}.segmented.small{margin-bottom:0;padding:3px}.segmented.small button{padding:6px 14px;font-size:11px;flex:none}.fab{position:fixed;right:30px;bottom:30px;z-index:30;width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px #5e9b8633}.fab:hover{background:var(--green-dark);transform:translateY(-2px)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.budget-gauge{width:min(100%,320px);margin:0 auto 20px;position:relative;color:var(--green)}.budget-gauge svg{display:block;width:100%}.budget-gauge>div{position:absolute;top:48%;right:12px;bottom:10px;left:12px;text-align:center;display:flex;flex-direction:column;gap:8px}.budget-gauge strong{font-size:clamp(19px,4vw,28px);overflow-wrap:anywhere}.budget-gauge span{font-size:12px;color:var(--muted)}.budget-gauge.over{color:var(--danger)}.budget-gauge.warn{color:var(--warn)}.home-hero{text-align:center;padding:26px 18px 18px;margin-bottom:14px}.home-hero>span{display:block;font-size:13px;color:var(--muted)}.home-hero>strong{display:block;margin:10px 0 18px;font-size:36px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.home-hero-split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);padding-top:14px}.home-hero-split>div{display:flex;flex-direction:column;gap:6px}.home-hero-split>div+div{border-left:1px solid var(--border)}.home-hero-split span{font-size:12px;color:var(--muted)}.home-hero-split b{font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}.home-net{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid var(--border);font-size:13px;color:var(--muted)}.home-net strong{font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums}.home-recent-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;text-align:left}.home-recent-main strong{font-size:14px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-recent-main small{font-size:11px;color:var(--muted-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-empty{padding:8px 0 4px}.ledger-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ledger-filters select{width:100%;min-width:0;padding:9px 8px;font-size:13px;background:var(--green-tint);border-color:transparent}.ledger-range{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.ledger-range label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.ledger-range input{width:100%;min-width:0}.home-accounts,.home-recent{margin-bottom:14px}.home-account-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:13px;width:100%;text-align:left}.home-account-row:last-child{border:0}.home-account-row strong{flex:1;min-width:0;overflow-wrap:anywhere}.home-account-row>span:last-child{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stats-grid.ledger-summary{background:#fff;border-radius:16px;gap:0;box-shadow:0 8px 24px #1b2a2210;overflow:hidden}.ledger-summary .stat-card{background:transparent;border:0;border-radius:0;color:var(--ink)}.ledger-summary .stat-card.featured{background:transparent;border:0;color:var(--ink)}.ledger-summary .stat-card.featured>span,.ledger-summary .stat-card.featured p{color:var(--muted)}.ledger-summary .stat-card:first-child>div:not(.card-orbit){font-size:34px;color:var(--accent)}.ledger-summary .stat-card>span,.ledger-summary .stat-card p{color:var(--muted)}.ledger-summary .card-orbit{display:none}.panel{background:#fff;border:0;border-radius:16px;padding:18px 16px;box-shadow:0 8px 24px #1b2a2210}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.panel-heading>.heading-buttons,.panel-heading>.soft-button{flex-shrink:0}.panel-heading .soft-button{white-space:nowrap}.panel-heading>div:first-child{min-width:0}.panel-heading h3{font-size:14px;font-weight:600}.panel-heading h3>span{color:#b0bab2;font-size:8px;letter-spacing:1.4px;font-weight:400;margin-left:10px}.heading-buttons{display:flex;align-items:center;gap:8px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-bottom:25px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 25px;position:relative;overflow:hidden}.stat-card>span{font-size:12px;display:flex;align-items:center;justify-content:space-between;color:#86968c}.stat-card>div:not(.card-orbit){font-size:31px;font-weight:550;margin:18px 0 13px;position:relative;z-index:1;overflow-wrap:anywhere}.stat-card small{font-size:17px;margin-right:7px;font-weight:400}.stat-card p{font-size:10px;color:var(--muted-light)}.stat-card.featured{background:var(--green);color:#fff;border-color:var(--green)}.stat-card.featured>span,.stat-card.featured p{color:#bddece}.card-orbit{position:absolute;width:150px;height:150px;border:25px solid #ffffff06;border-radius:50%;right:-40px;bottom:-58px}.welcome{background:linear-gradient(110deg,#eef4ec,#f1f5ee 70%,#e7f0e6);border:1px solid #e8eee5;border-radius:var(--radius-lg);min-height:157px;padding:30px 31px;margin-bottom:24px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:8px;letter-spacing:2.4px;color:#87a48d;font-weight:600}.welcome h2{font-size:23px;letter-spacing:1px;font-weight:550;margin:12px 0 10px}.welcome h2 span{color:#75a687}.welcome p{font-size:11px;color:#8b9b8c}.welcome-art{position:absolute;right:55px;top:20px;width:190px;height:130px;display:flex;align-items:center;justify-content:center;color:#7ea58b}.art-orbit{position:absolute;width:118px;height:118px;border:1px dashed #b6cdb9;border-radius:50%}.art-coin{position:absolute;font-size:11px;color:#9db8a1}.coin-one{top:6px;left:22px}.coin-two{bottom:12px;right:20px}.art-leaf{position:absolute;top:40px;right:32px;font-size:13px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(265px,1fr);gap:24px;align-items:start}.right-stack{display:flex;flex-direction:column;gap:19px}.asset-summary{display:flex;align-items:center;padding:20px;background:var(--green-tint);border-radius:var(--radius-md);gap:13px;border:1px solid #e8ede5}.asset-summary .category-icon{background:#e3ebe0;color:#75916c}.asset-summary>div>span{display:block;font-size:10px;color:#8b9a87}.asset-summary strong{display:block;font-size:17px;font-weight:550;margin-top:6px}.asset-summary>small{margin-left:auto;font-size:9px;color:#97a391}.month-inline{display:flex;align-items:center;justify-content:center;gap:14px;margin:4px 0 16px;flex-wrap:wrap}.quick-panel{margin-top:24px}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.quick-item{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.quick-item>span{font-size:11px;color:var(--muted)}.quick-item>strong{font-size:20px;font-weight:550;overflow-wrap:anywhere}.mini-track{width:100%;height:6px;background:var(--green-tint);border-radius:999px;overflow:hidden}.mini-fill{display:block;height:100%;background:var(--green);border-radius:999px}.mini-fill.warn{background:#d5a94e}.mini-fill.over{background:var(--danger)}.donut{width:196px;height:196px;border-radius:50%;margin:18px auto 28px;display:grid;place-items:center}.donut>div{background:#fff;width:132px;height:132px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.donut span{font-size:12px;color:#9aa79e}.donut strong{font-size:20px;font-weight:650;font-variant-numeric:tabular-nums}.legend{display:grid;gap:4px;margin-top:21px}.legend>div,.legend-row{display:flex;align-items:center;gap:9px;font-size:11px;width:100%;text-align:left;padding:7px 6px;border-radius:var(--radius-sm)}.legend-row:hover{background:#fafcfa}.legend-row.active{background:var(--green-soft)}.legend small{color:#b1b9b3;font-size:10px}.legend strong{margin-left:auto;font-size:11px;font-weight:500}.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block}.dot.income{background:var(--green)}.dot.expense{background:var(--accent)}.chart-empty{text-align:center;font-size:10px;color:#a2ada6;padding:5px 0 10px}.stat-hero{display:grid;grid-template-columns:210px 1fr;gap:20px;align-items:center;margin-bottom:20px}.stat-board{padding:8px 8px 16px}.stat-kind-tabs{display:flex;justify-content:space-around;border-bottom:1px solid var(--border)}.stat-kind-tabs button{position:relative;flex:1;padding:14px 8px 16px;font-size:15px;color:#98a39c}.stat-kind-tabs button.active{color:var(--accent);font-weight:600}.stat-kind-tabs button.active:after{content:"";position:absolute;left:50%;bottom:8px;width:5px;height:5px;border-radius:50%;background:var(--accent);transform:translate(-50%)}.stat-rows{display:flex;flex-direction:column}.stat-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 8px;border-bottom:1px solid var(--border)}.stat-row:last-child{border-bottom:0}button.stat-row:hover{background:#fafcfa}.stat-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.stat-row-name{font-size:14px;color:var(--ink)}.stat-row-name b{font-weight:650;margin-left:4px}.stat-row .mini-track{height:4px}.stat-row-money{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.stat-row-money strong{font-size:15px;font-weight:650;color:var(--accent);font-variant-numeric:tabular-nums}.stat-row-money.income strong{color:var(--green)}.stat-row-money small{font-size:11px;color:var(--muted-light)}.stat-row>svg{color:#c5cdc8;flex-shrink:0}.stat-board-note{margin:14px 8px 0;font-size:11px}.back-button{margin-right:2px}.page-title.drilled{justify-content:flex-start;gap:6px}.drill-panel{margin-top:20px}.drill-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border);font-size:12px}.drill-row:last-child{border:0}.drill-row>span:first-child{color:var(--muted);width:52px;flex-shrink:0}.drill-row strong:first-of-type{flex:1;font-weight:500}.drill-row>strong:last-child{font-weight:550;white-space:nowrap}.bar-chart{display:flex;align-items:flex-end;gap:3px;height:190px;padding:8px 0;overflow-x:auto}.bar-chart.months{gap:8px}.bar-column{flex:1;min-width:9px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:5px}.bar-chart.months .bar-column{min-width:30px}.bar-column small{text-align:center;font-size:9px;color:var(--muted-light);height:12px}.bars{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:2px}.bar{width:50%;max-width:13px;border-radius:3px 3px 0 0;min-height:1px}.bar.income{background:var(--green)}.bar.expense{background:var(--accent)}.chart-legend{display:flex;gap:18px;font-size:11px;color:var(--muted);margin:12px 0}.chart-legend>span{display:flex;align-items:center;gap:6px}.line-chart{width:100%;height:200px;margin-top:8px}.axis-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted-light);margin-top:6px}.mini-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:18px}.mini-table th,.mini-table td{text-align:left;padding:9px 6px;border-bottom:1px solid var(--border)}.mini-table th{font-size:10px;color:var(--muted);font-weight:500}.mini-table td:not(:first-child){text-align:right}.mini-table td:first-child{color:var(--muted)}.day-heading{display:flex;justify-content:space-between;align-items:center;color:#94a197;background:#f9faf8;font-size:10px;margin:14px -3px 4px;padding:8px 10px;border-radius:5px}.day-heading small{margin-left:8px;color:#b3bcb6;font-size:9px}.transaction{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #f2f4f1}.transaction:last-child{border:0}.category-icon{height:39px;width:39px;border-radius:var(--radius-md);background:#f3f3e9;color:#a49263;display:grid;place-items:center;flex-shrink:0}.category-icon.income{background:var(--green-soft);color:var(--green-dark)}.category-icon.transfer{background:#edf2f8;color:#7290b0}.transaction-info{flex:1;min-width:0}.transaction-info strong{font-size:12px;font-weight:500}.transaction-info p{font-size:10px;color:#a0aaa3;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.transaction-amount{font-size:14px;font-weight:550;white-space:nowrap}.transaction-amount.income{color:var(--green)}.transaction-amount.transfer{color:#7d91ab}.row-actions{display:flex;gap:1px;align-items:center}.recurring-tag{display:inline-flex;align-items:center;gap:3px;background:var(--green-soft);color:var(--green-dark);font-size:9px;padding:2px 6px;border-radius:5px;flex-shrink:0}.empty{text-align:center;padding:59px 10px 64px}.empty-icon{background:#f2f6ef;color:#9daf97;height:69px;width:69px;border-radius:24px;display:grid;place-items:center;margin:0 auto 20px}.empty h3{font-size:14px;font-weight:500}.empty p{font-size:11px;color:#9ca79e;margin:10px 0 19px}.filter-bar{display:flex;align-items:center;gap:13px;margin-bottom:20px;flex-wrap:wrap}.query-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:16px 0}.query-controls label{display:grid;gap:5px;font-size:12px;color:var(--muted)}.query-controls input,.query-controls select{min-width:120px}.search{display:flex;align-items:center;gap:8px;border:1px solid #e2e9e3;border-radius:var(--radius-sm);padding-left:10px;color:#9aa69d;flex:1;min-width:170px}.search input{border:0;box-shadow:none;flex:1;width:100%;font-size:12px}.query-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.query-stat{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px}.query-stat span{font-size:11px;color:var(--muted)}.query-stat strong{display:block;font-size:17px;font-weight:550;margin-top:8px}.query-summary{margin:12px 0;color:var(--muted);font-size:13px}.alert-banner{display:flex;align-items:center;gap:15px;background:var(--warn-soft);border:1px solid #f1e4c7;color:var(--warn);border-radius:var(--radius-md);padding:18px 20px;margin-bottom:20px}.alert-banner strong{font-size:13px}.alert-banner p{font-size:11px;margin-top:6px;color:#a2916f}.budget-total{margin-bottom:20px}.budget-numbers{display:flex;gap:30px;flex-wrap:wrap;margin:4px 0 16px}.budget-numbers span{font-size:11px;color:var(--muted)}.budget-numbers strong{display:block;font-size:19px;font-weight:550;color:var(--ink);margin-top:6px}.track{position:relative;height:11px;background:var(--green-tint);border-radius:999px;overflow:hidden}.track>span{display:block;height:100%;background:var(--green);border-radius:999px;transition:width .3s}.track.warn>span{background:#d5a94e}.track.over>span{background:var(--danger)}.track .marker{position:absolute;top:0;bottom:0;width:2px;background:#fffc}.budget-summary{display:grid;gap:14px}.budget-summary .budget-numbers,.budget-summary .muted{margin:0}.budget-numbers strong.over{color:var(--danger)}.budget-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 16px;padding-top:18px;border-top:1px solid var(--border)}.budget-detail-head h4{font-size:13px;font-weight:600}.budget-list{display:grid;gap:18px}.budget-row-head{display:flex;align-items:center;gap:12px;margin-bottom:9px}.budget-row-head strong{font-size:13px;font-weight:550}.budget-row-head .muted{margin-left:auto}.badge{font-size:10px;padding:3px 8px;border-radius:999px;background:var(--green-soft);color:var(--green-dark)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.over{background:var(--danger-soft);color:var(--danger)}.suggest-box{margin-top:22px;padding:17px;background:#fbfbf7;border:1px solid #f0efe4;border-radius:var(--radius-md)}.suggest-box strong{font-size:12px;color:#8c8a6b}.suggest-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chip{background:#fff;border:1px solid var(--border-strong);border-radius:999px;padding:7px 13px;font-size:11px;color:#6f8376}.chip:hover{border-color:var(--green);color:var(--green)}.budget-hint{display:flex;align-items:center;gap:13px;margin-top:20px;color:var(--muted);font-size:12px;background:var(--green-tint)}.budget-hint svg{color:var(--green);flex-shrink:0}.budget-form label,.rule-form label{display:block;font-size:12px;color:#6f8376;margin:17px 0}.budget-form label>input,.budget-form label>select,.rule-form label>input,.rule-form label>select{width:100%;margin-top:8px;font-size:13px}.recurring-banner{justify-content:flex-start}.recurring-banner .primary{margin-left:auto}.rule-row{display:flex;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid var(--border)}.rule-row:last-child{border:0}.rule-row.inactive{opacity:.55}.rule-info{flex:1;min-width:0}.rule-info strong{font-size:12px;font-weight:500}.rule-info p{font-size:10px;color:#a0aaa3;margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rule-next{text-align:right;min-width:84px}.rule-next small{display:block;font-size:9px;color:var(--muted-light)}.rule-next span{font-size:12px}.preview-list{max-height:320px;overflow:auto;margin-top:14px}.preview-row{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--border);font-size:12px}.preview-row>span:first-child{color:var(--muted);width:84px;flex-shrink:0}.preview-row strong:first-of-type{flex:1;font-weight:500}.account-grid,.data-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.account-card{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,auto) auto;align-items:center;gap:16px;padding:18px 22px}.account-card h3{font-size:14px;margin-bottom:6px;overflow-wrap:anywhere}.account-info{min-width:0;overflow-wrap:anywhere}.account-card>strong{font-size:21px;font-weight:600;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.account-actions{display:flex;align-items:center;gap:8px}.account-card.selected{border-color:var(--green)}.account-card.account-row{grid-template-columns:auto minmax(0,1fr) auto;width:100%;text-align:left;cursor:pointer}.account-total{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.account-total span{color:var(--muted);font-size:12px}.account-total strong{font-size:28px;font-weight:600;flex:1;min-width:0}.account-detail{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.account-detail strong{font-size:28px;font-weight:600}.list-row,.compare-entry{display:flex;align-items:center;gap:12px;width:100%;text-align:left}.compare-entry{margin-bottom:8px}.wish-row{display:flex;align-items:center;gap:8px;padding:12px 16px}.panel .wish-row{padding:12px 0;border-bottom:1px solid var(--border)}.panel .wish-row:last-child{border-bottom:0;padding-bottom:0}.wish-row .muted{flex-shrink:0}.wish-side{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;margin-left:auto}.unit-price{font-size:13px;font-weight:650;color:var(--green);white-space:nowrap}.unit-price.plain{color:var(--ink)}.unit-hint{font-size:10px;color:var(--muted);white-space:nowrap}.wish-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-align:left;padding:0}.offer-row{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);font-size:12px;flex-wrap:wrap}.offer-row:last-child{border:0}.offer-row.lowest{background:var(--green-soft);margin:0 -12px;padding:14px 12px;border-radius:8px;border:0}.offer-price{margin-left:auto;text-align:right}.offer-price small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.offer-main{min-width:0;flex:1 1 auto}.offer-row .row-actions{flex-basis:100%;justify-content:flex-end;margin-top:6px}.offer-note{font-size:10px;color:#b08a5a;margin-top:3px}.offer-row .offer-price strong{font-size:15px;font-variant-numeric:tabular-nums}.offer-tag{display:inline-block;margin-top:5px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:600;white-space:nowrap}.offer-tag.best{background:var(--green);color:#fff}.offer-tag.dearer{background:#fbeee9;color:#b5654f}.product-compare-page .compare-subtitle{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.6}.product-compare-page .page-title{gap:16px;align-items:flex-start}.product-compare-page .page-title>.text-button{flex-shrink:0}.product-compare-page .compare-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:24px}.product-compare-page .compare-toolbar .search{flex:1;min-width:0;width:auto;margin:0;background:#fff;border:1px solid var(--border-strong);border-radius:12px;padding:4px 14px}.product-compare-page .compare-toolbar .search input{width:100%;padding:11px 0}.product-compare-page .compare-toolbar>button{flex-shrink:0}.product-compare-page .panel{padding:24px;border-radius:16px}.product-compare-page .panel-heading{gap:16px;flex-wrap:wrap;margin-bottom:20px}.product-compare-page .panel-heading>div:first-child{min-width:0}.product-compare-page .panel-heading h3{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.product-compare-page .panel-heading .muted{margin-top:8px;line-height:1.7}.product-compare-page .compare-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:3px 7px;border-radius:7px;background:var(--green-soft);color:var(--green-dark);font-size:11px;font-weight:600;flex-shrink:0}.product-compare-page .panel .wish-row{padding:18px 0;gap:20px;align-items:center}.product-compare-page .panel .wish-row:last-child{padding-bottom:4px}.product-compare-page .wish-main{align-self:stretch;border-radius:8px;padding:4px;margin:-4px;transition:background .18s}.product-compare-page .wish-main:hover{background:var(--green-tint)}.product-compare-page .category-icon{width:42px;height:42px;border-radius:12px;background:var(--green-soft);color:var(--green-dark);flex-shrink:0}.product-compare-page .transaction-info{min-width:0}.product-compare-page .transaction-info strong{display:block;font-size:14px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.product-compare-page .transaction-info p{margin-top:6px;font-size:11px;white-space:normal;overflow-wrap:anywhere;line-height:1.7}.product-compare-page .compare-brand{display:block;margin-top:4px;font-size:11px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.product-compare-page .wish-side{gap:5px;max-width:50%;min-width:0}.product-compare-page .unit-price{font-size:16px;white-space:normal;overflow-wrap:anywhere;text-align:right;font-variant-numeric:tabular-nums}.product-compare-page .unit-hint{white-space:normal;text-align:right;line-height:1.5}.product-compare-page .compare-detail-heading{padding-bottom:22px;border-bottom:1px solid var(--border-strong);align-items:center}.product-compare-page .compare-detail-heading h3{font-size:22px;line-height:1.5}.product-compare-page .compare-eyebrow{display:block;margin-bottom:8px;font-size:10px;letter-spacing:2px;color:var(--green-dark)}.product-compare-page .offer-row{margin:12px 0 0;padding:20px;gap:18px;border:1px solid var(--border-strong);border-radius:12px;background:#fff}.product-compare-page .offer-row.lowest{margin:12px 0 0;padding:20px;border:1px solid #cfe2d8;background:var(--green-soft)}.product-compare-page .offer-main{flex:1 1 180px}.product-compare-page .compare-offer-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.product-compare-page .compare-offer-title strong{font-size:14px;overflow-wrap:anywhere;min-width:0}.product-compare-page .compare-source{padding:3px 7px;border-radius:5px;background:var(--green-tint);color:#66766e;font-size:10px;white-space:nowrap}.product-compare-page .compare-source.quote{color:var(--green-dark);background:#e2eee7}.product-compare-page .offer-main .muted{margin-top:10px;line-height:1.8;overflow-wrap:anywhere}.product-compare-page .offer-note{margin-top:8px;line-height:1.7;font-size:11px;overflow-wrap:anywhere}.product-compare-page .offer-price{max-width:100%;min-width:0}.product-compare-page .offer-row .offer-price strong{font-size:21px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.product-compare-page .offer-row.lowest .offer-price strong{color:var(--green-dark)}.product-compare-page .offer-price small{font-size:11px;margin-top:6px}.product-compare-page .offer-tag{margin-top:9px;padding:4px 9px}.product-compare-page .offer-row .row-actions{padding-top:14px;border-top:1px solid var(--border-strong);gap:14px;flex-wrap:wrap;margin-top:0}.product-compare-page .offer-row .row-actions .soft-button{margin-right:auto}.product-compare-page .empty{background:var(--green-tint);border:1px dashed var(--border-strong);border-radius:12px}.compare-quote-form .compare-form-tip{padding:12px 14px;border-radius:10px;background:var(--green-soft);color:var(--green-dark);font-size:12px;line-height:1.8;margin-bottom:18px}.compare-quote-form .form-grid{gap:14px}.compare-quote-form>.form-grid:last-child{border-top:1px solid var(--border-strong);margin-top:12px;padding-top:12px}@media(max-width:600px){.product-compare-page .panel{padding:18px 16px}.product-compare-page .compare-toolbar{gap:8px;margin-bottom:18px}.product-compare-page .compare-toolbar>button{padding:11px 12px}.product-compare-page .panel .wish-row{gap:12px;flex-wrap:wrap}.product-compare-page .wish-row .wish-main{flex-basis:65%}.product-compare-page .wish-side{flex-basis:100%;max-width:100%;align-items:flex-start;padding-left:54px;margin-top:4px}.product-compare-page .unit-price,.product-compare-page .unit-hint{text-align:left}.product-compare-page .offer-row,.product-compare-page .offer-row.lowest{padding:16px;gap:14px}.product-compare-page .offer-main{flex-basis:100%}.product-compare-page .offer-price{margin-left:0;text-align:left}.product-compare-page .offer-row .offer-price strong,.product-compare-page .compare-detail-heading h3{font-size:20px}.product-compare-page .heading-buttons{flex-wrap:wrap}}.product-compare-page{min-width:0;max-width:100%}.product-compare-page .compare-table-scroll{width:100%;overflow-x:auto;border:1px solid var(--border-strong);border-radius:12px}.product-compare-page .compare-table-scroll:focus-visible{outline:2px solid var(--green);outline-offset:3px}.product-compare-page .compare-table{width:100%;min-width:720px;border-collapse:collapse;font-size:12px;line-height:1.6;text-align:left}.product-compare-page .compare-detail .compare-table{min-width:980px}.product-compare-page .compare-table th,.product-compare-page .compare-table td{padding:15px 16px;border-bottom:1px solid var(--border);vertical-align:middle;max-width:260px;overflow-wrap:anywhere}.product-compare-page .compare-table thead th{background:var(--green-tint);color:#66766e;font-size:11px;font-weight:600;white-space:nowrap}.product-compare-page .compare-table tbody th{font-weight:600;min-width:130px}.product-compare-page .compare-table tbody tr:last-child>*{border-bottom:0}.product-compare-page .compare-table tbody tr:hover{background:#f8faf9}.product-compare-page .compare-table tbody tr.lowest{background:var(--green-soft)}.product-compare-page .compare-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.product-compare-page .compare-table .table-price{font-size:15px;white-space:nowrap}.product-compare-page .compare-table .lowest .table-price{color:var(--green-dark)}.product-compare-page .compare-table .unit-price{font-size:14px;white-space:nowrap;text-align:right}.product-compare-page .compare-table .table-secondary,.product-compare-page .compare-table .unit-hint{display:block;margin-top:5px;color:var(--muted);font-size:11px;text-align:inherit}.product-compare-page .compare-table .table-date{white-space:nowrap}.product-compare-page .compare-table .table-product{text-align:left;font-weight:600;white-space:normal;overflow-wrap:anywhere;padding:4px 0}.product-compare-page .compare-table .row-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:12px;white-space:nowrap;margin:0}.product-compare-page .compare-table .offer-tag{margin:0;white-space:nowrap}.product-compare-page .compact-caption{display:flex;justify-content:space-between;padding:0 46px 10px 12px;color:var(--muted);font-size:11px}.product-compare-page .compact-offer{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.6fr) 28px;align-items:start;gap:12px;padding:16px 12px;border-bottom:1px solid var(--border)}.product-compare-page .compact-offer:last-child{border-bottom:0}.product-compare-page .compact-offer.lowest{background:var(--green-soft);border-radius:10px}.product-compare-page .compact-info{min-width:0;text-align:left;overflow-wrap:anywhere}.product-compare-page .compact-info>strong{font-size:14px;line-height:1.6}.product-compare-page .compact-info p,.product-compare-page .compact-info small{display:block;margin-top:4px;font-size:11px;color:var(--muted);line-height:1.7}.product-compare-page .compact-info .offer-note{color:var(--warn)}.product-compare-page .compact-price{min-width:0;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.product-compare-page .compact-price>strong{display:block;font-size:16px;line-height:1.6;white-space:normal;text-align:right}.product-compare-page .lowest .compact-price>strong{color:var(--green-dark)}.product-compare-page .compact-price small,.product-compare-page .compact-price .unit-hint{display:block;margin-top:4px;font-size:11px;color:var(--muted);text-align:right}.product-compare-page .compact-price .offer-tag{margin-top:6px;padding:2px 7px}.product-compare-page .compact-actions{position:relative;align-self:start}.product-compare-page .compact-actions summary{display:flex;align-items:center;justify-content:center;width:28px;height:30px;border-radius:6px;cursor:pointer;list-style:none;font-size:20px;color:var(--muted)}.product-compare-page .compact-actions summary::-webkit-details-marker{display:none}.product-compare-page .compact-actions summary:hover,.product-compare-page .compact-actions[open] summary{background:var(--green-soft);color:var(--green-dark)}.product-compare-page .compact-actions summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}.product-compare-page .compact-action-menu{position:absolute;right:0;top:34px;z-index:10;min-width:150px;display:grid;gap:4px;padding:8px;background:#fff;border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 8px 24px #30483b18}.product-compare-page .compact-action-menu button{width:100%;min-height:36px;justify-content:flex-start;padding:8px 10px;text-align:left}.product-compare-page .compact-product{padding:14px 0;border-bottom:1px solid var(--border)}.product-compare-page .compact-product:last-child{border-bottom:0}.product-compare-page .compact-product-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.55fr) 12px;width:100%;align-items:center;gap:12px;padding:4px;border-radius:8px}.product-compare-page .compact-product-link:hover{background:var(--green-tint)}.product-compare-page .compact-chevron{color:var(--muted);font-size:22px}.product-compare-page .compact-product-extra{display:flex;justify-content:flex-end;padding-right:28px;margin-top:4px}.product-compare-page .compact-wish{display:flex;align-items:center;gap:8px}.product-compare-page .compact-wish .compact-product-link{flex:1;min-width:0}@media(max-width:600px){.product-compare-page .compact-offer{gap:8px;padding:14px 8px;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) 28px}.product-compare-page .compact-price>strong{font-size:14px}.product-compare-page .compact-product-link{gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) 10px}.product-compare-page .compact-caption{padding-right:44px}}.settings-menu{padding:8px 10px}.settings-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 8px;border-bottom:1px solid var(--border)}.settings-item:last-child{border:0}.settings-item p{font-size:11px;color:var(--muted);margin-top:4px}.settings-item>svg:last-child{margin-left:auto;color:#b9c0ba;flex-shrink:0}.product-toggle{margin:8px 0 4px}.product-toggle-bar,.product-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.product-details{margin-top:8px}.product-item{border:1px solid var(--border);border-radius:var(--radius-md);padding:10px;margin:8px 0}.entry-dialog .product-details label{margin:8px 0}.error .form-actions{margin-top:12px}.privacy-banner{display:flex;align-items:center;gap:17px;padding:25px;background:var(--green-soft);color:#528469;border-radius:var(--radius-md);margin-bottom:24px}.privacy-banner h3{font-size:14px;margin-bottom:9px}.privacy-banner p{font-size:12px;line-height:1.8;color:#809a86}.data-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:16px;align-items:center}.data-card>.category-icon{grid-row:1 / 3}.data-card h3{font-size:14px}.data-card p{grid-column:2;font-size:12px;color:#718477;line-height:1.8;margin-top:6px}.data-card>button{grid-column:3;grid-row:1 / 3}.data-footnote{font-size:11px;color:#a4aea7;text-align:center;margin-top:30px;line-height:1.9}.pref-panel{display:grid;gap:26px}.pref-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--border)}.pref-row:last-child{border:0;padding-bottom:0}.pref-row h3{font-size:14px;display:flex;align-items:center;gap:8px;font-weight:550}.pref-row p{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.8;max-width:460px}.pref-control{display:flex;align-items:center;gap:14px;flex-shrink:0}.pref-control input[type=range]{width:180px;padding:0;border:0;accent-color:var(--green)}.pref-control strong{font-size:15px;min-width:46px;text-align:right}.pref-value{font-size:19px;font-weight:550;white-space:nowrap}.dict-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.dict-tabs button{padding:6px 10px;border-radius:var(--radius-sm);background:var(--green-tint);font-size:11px;color:#6f8376}.dict-tabs button.active{background:var(--green-soft);color:var(--green-dark);font-weight:600}.dict-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}.dict-row.archived{opacity:.55}.dict-row strong{flex:1;font-weight:500}.category-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:180px;overflow:auto;margin:10px 0}.category-picker button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 3px;border-radius:10px;font-size:11px;overflow-wrap:anywhere}.category-picker button[aria-pressed=true]{background:var(--green-soft);color:var(--green-dark);box-shadow:inset 0 0 0 1px var(--green)}.category-picker .category-icon{background:var(--green-soft);color:var(--green)}.account-picker{max-height:none;overflow:visible;margin-bottom:4px}.field-label{font-size:12px;color:#6f8376;margin:12px 0 0}.entry-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 12px;border-bottom:1px solid var(--border);margin-bottom:12px}.entry-account{display:flex;align-items:center;gap:11px;min-width:0}.account-avatar{width:40px;height:40px;border-radius:12px;flex-shrink:0}.account-avatar.brand-wechat{background:#e8f6ec;color:#09bb07}.account-avatar.brand-alipay{background:#e8f1fd;color:#1677ff}.account-avatar.brand-bank{background:#fdeeea;color:#d4623f}.account-avatar.brand-cash{background:#fdf4e4;color:#c08a2e}.account-avatar.brand-default{background:var(--green-soft);color:var(--green)}.entry-account-field{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.entry-account-name{display:inline-flex;align-items:center;gap:4px;max-width:170px;padding:0;border:0;background:none;font-size:15px;font-weight:600;color:var(--ink)}.entry-account-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-caret{flex-shrink:0;color:#9aa69f;transition:color .18s}.entry-account-name:hover .picker-caret{color:var(--green)}.entry-account-field small{font-size:11px;font-weight:400;color:var(--muted)}.entry-dialog .entry-amount{display:flex;align-items:center;gap:4px;margin:0;font-size:24px;font-weight:650;color:var(--accent);white-space:nowrap}.entry-amount.income{color:var(--green)}.entry-dialog .entry-head .entry-amount input{width:120px;margin:0;border:0;box-shadow:none;background:transparent;padding:0;text-align:right;font-size:24px;font-weight:650;color:inherit;font-variant-numeric:tabular-nums}.entry-amount input:focus{border:0;box-shadow:none}.entry-note{width:100%;border:0;border-radius:0;border-bottom:1px solid var(--border);padding:12px 2px;background:transparent;box-shadow:none}.entry-note:focus{border-color:var(--green);box-shadow:none}.entry-target{display:flex;align-items:center;gap:10px;margin:4px 0 12px;padding:10px 12px;background:var(--green-tint);border-radius:var(--radius-md);font-size:12px;color:#6f8376}.entry-target>span{flex:1;min-width:0}.entry-select{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;font-size:12px;font-weight:550;color:var(--ink);transition:.18s}.entry-select.full{display:flex;width:100%;margin-top:8px;justify-content:space-between;font-size:13px;font-weight:500}.entry-select:hover{border-color:var(--green)}.entry-select:hover .picker-caret{color:var(--green)}.entry-tools{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--border);color:#7d8d84;font-size:12px}.entry-tools>span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px}.entry-dialog .entry-date{position:relative;display:inline-flex;align-items:center;gap:5px;margin:0;padding:6px 8px;color:var(--ink);font-weight:550}.entry-dialog .entry-tools .entry-date input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;margin:0;border:0;padding:0;cursor:pointer}.picker-option{display:inline-flex;align-items:center;gap:9px}.entry-dialog .adm-picker-header{font-size:14px}.entry-dialog .adm-picker-body{--item-height: 46px;--item-font-size: 16px }.entry-dialog .adm-picker-header-button{padding:0 4px;font-size:13px}.entry-dialog{position:relative}.entry-dialog .adm-popup,.entry-dialog .adm-popup-body,.entry-dialog .adm-mask{position:absolute}.entry-dialog .adm-popup{top:0;right:0;bottom:0;left:0}.entry-dialog{border:1px solid #e0e8e2;border-radius:var(--radius-xl);padding:22px 26px 16px;width:min(480px,calc(100vw - 28px));max-height:min(90dvh,calc(100dvh - 24px));overflow:hidden;margin:auto;color:#33473b;box-shadow:0 25px 100px #1b382c30}.entry-dialog[open]{display:flex;flex-direction:column}.entry-dialog.wide-dialog{width:min(640px,calc(100vw - 28px))}.entry-dialog::backdrop{background:#203b3455;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.entry-dialog>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-shrink:0}.entry-dialog>:not(header){min-height:0;overflow:auto}.entry-dialog>.entry-form{overflow:hidden;flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.entry-dialog h2{font-size:20px;font-weight:550;margin-top:7px}.entry-dialog label{display:block;font-size:12px;color:#6f8376;margin:12px 0}.entry-dialog label>input,.entry-dialog label>select{width:100%;margin-top:8px;font-size:13px}.entry-dialog .muted{margin-top:8px;line-height:1.8;display:block}.entry-dialog .segmented{margin-bottom:12px}.entry-form-body{min-height:0;overflow:auto;flex:1 1 auto;max-height:min(58dvh,calc(100dvh - 220px))}.entry-form-footer{flex-shrink:0;padding-top:8px;background:#fff}.entry-form-footer .wide{margin-top:8px}.entry-form-footer .error{margin-bottom:8px}.drill-panel{margin-top:19px}.preview-list{max-height:320px;overflow:auto;margin:14px 0}.preview-row{display:grid;grid-template-columns:92px minmax(0,1fr) 90px auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px}.preview-row:last-child{border:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.amount-input>div{display:flex;align-items:center;gap:12px;border-bottom:1px solid #dce5dc;padding:6px 0}.amount-input input{width:100%;font-size:32px;border:0;box-shadow:none!important;padding:4px;background:transparent}.wide{width:100%;margin-top:12px}.confirm-dialog h2{font-size:18px;font-weight:600;margin-top:0}.confirm-dialog p{font-size:12px;color:var(--muted);line-height:1.9;margin-top:14px}.confirm-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:100;background:#4d6358;color:#fff;box-shadow:0 8px 30px #15302325;padding:12px 15px;border-radius:var(--radius-md);display:flex;align-items:center;gap:10px;font-size:12px;max-width:calc(100vw - 30px);width:max-content}.toast .icon-button{color:#cfe3d8}.inner-tabs{display:flex;gap:5px;margin:4px 0 20px;border-bottom:1px solid var(--border);overflow-x:auto}.inner-tabs button{padding:12px 18px;font-size:12px;color:#91a095;border-bottom:2px solid transparent;white-space:nowrap}.inner-tabs button.active{color:var(--accent);border-color:var(--accent);font-weight:600}.month-switch{background:transparent;border:0;border-radius:0;display:flex;align-items:center;justify-content:center;padding:0;gap:22px}.month-label{position:relative;display:grid;place-items:center;min-width:108px}.month-label strong{font-size:16px;font-weight:650;letter-spacing:0}.month-label input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;border:0;padding:0;cursor:pointer}.month-switch .icon-button{color:#b0b6b2}.clickable{cursor:pointer}.clickable:hover{background:#fafcfa}.dict-select{position:relative}.dict-select>input{width:100%}.dict-menu{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 4px);margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius-sm);max-height:220px;overflow:auto;box-shadow:0 8px 24px #1b382c18}.dict-menu button{width:100%;text-align:left;padding:8px 10px;border-radius:6px;font-size:12px;color:var(--ink)}.dict-menu button:hover,.dict-create{background:var(--green-soft);color:var(--green-dark)}.mobile-nav{display:none}@media(max-width:850px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:60px;padding:0 25px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #eef0ee;z-index:20;padding:6px 0 calc(8px + env(safe-area-inset-bottom));align-items:stretch}.mobile-nav button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#b7beb9;font-size:10px;line-height:1;padding:4px 0}.mobile-nav button.active{color:var(--accent)}.mobile-nav .add-entry{flex:1 1 0;width:auto;height:auto;min-width:0;min-height:0;margin:0;border-radius:0;background:none;color:#b7beb9;box-shadow:none;padding:4px 0;aspect-ratio:auto}.mobile-nav .add-entry:hover{background:none;color:var(--ink)}.toast{bottom:96px}main{padding-bottom:110px}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(235px,1fr)}.fab{bottom:86px;right:20px;width:52px;height:52px}.stat-hero{grid-template-columns:1fr}}@media(max-width:620px){.topbar{padding:0 17px}.topbar-note{font-size:9px}main{padding:24px 17px 110px}.page-title,.page-heading{align-items:flex-start;flex-wrap:wrap;gap:12px}.page-heading{flex-direction:column;gap:19px;margin-bottom:20px}.heading-actions{width:100%;justify-content:space-between}.welcome{padding:23px 19px;min-height:149px;margin-bottom:18px}.welcome h2{font-size:18px;max-width:235px;line-height:1.5}.welcome p{font-size:10px;max-width:210px;line-height:1.8}.welcome-art{right:-55px;opacity:.35}.stats-grid{gap:9px;margin-bottom:14px}.stats-grid.ledger-summary{grid-template-columns:repeat(3,minmax(0,1fr));padding:4px 0}.ledger-summary .stat-card:first-child>div:not(.card-orbit){font-size:20px;margin:6px 0;color:var(--accent)}.ledger-summary .stat-card>div:not(.card-orbit){font-size:16px;margin:6px 0}.ledger-summary .stat-card{padding:12px 8px}.month-inline{margin:8px 0 12px}.home-account-row{padding:8px 0}.home-accounts{margin-bottom:10px}.panel-heading{margin-bottom:12px}.compare-entry{padding:12px 15px}.ledger-summary .stat-card p{display:none}.stat-card{padding:16px 10px;border-radius:var(--radius-md)}.stat-card>span{font-size:10px}.stat-card>div:not(.card-orbit){font-size:19px;margin:16px 0 8px}.stat-card small{font-size:11px}.stat-card p{font-size:8px;line-height:1.6}.dashboard-grid{display:flex;flex-direction:column;gap:18px}.dashboard-grid>.panel,.right-stack{width:100%}.panel{padding:19px 15px}.transaction{gap:9px}.transaction .category-icon{width:34px;height:34px;border-radius:var(--radius-md)}.main-footer{flex-direction:column;gap:5px;margin-top:23px}.section-intro{margin-top:16px;align-items:flex-start;flex-direction:column}.section-intro h2{font-size:17px}.account-grid,.data-grid{grid-template-columns:minmax(0,1fr);gap:10px}.account-card{grid-template-columns:auto minmax(0,1fr);gap:12px}.account-card>strong{grid-column:2;font-size:20px}.account-actions{grid-column:2;justify-content:flex-end}.data-card{grid-template-columns:auto minmax(0,1fr);padding:18px 15px}.data-card>button{grid-column:2;grid-row:auto;justify-self:start;margin-top:12px}.preview-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow-wrap:anywhere}.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.privacy-banner{padding:20px 16px;gap:12px;flex-wrap:wrap}.recurring-banner .primary{margin-left:0;width:100%}.entry-dialog{padding:20px 18px 14px;border-radius:17px}.page-title{margin-bottom:8px}.page-title h1{font-size:22px}.home-account-row .category-icon{width:32px;height:32px}.form-grid{gap:9px}.quick-grid{grid-template-columns:1fr;gap:16px}.budget-numbers{gap:18px}.budget-row-head{flex-wrap:wrap;gap:8px}.dict-row{flex-wrap:wrap;row-gap:0}.dict-row strong{flex-basis:100%}.dict-row .text-button{padding:4px 6px}.budget-row-head .muted{margin-left:0;width:100%}.rule-row{flex-wrap:wrap}.rule-info{flex-basis:100%}.rule-next{text-align:left}.drill-row{flex-wrap:wrap;gap:8px}.query-stats{grid-template-columns:1fr;gap:9px}.stat-hero{grid-template-columns:1fr;gap:6px}.pref-row{flex-direction:column;align-items:flex-start;gap:14px}.pref-control input[type=range]{width:100%}.pref-value{font-size:17px}.inner-tabs button{padding:11px 13px;font-size:11px}.bar-chart{height:150px}.query-controls{display:grid;grid-template-columns:1fr 1fr}.query-controls input,.query-controls select{min-width:0;width:100%}.fab{bottom:82px;right:16px;width:50px;height:50px}}@media(max-width:360px){main{padding:14px 12px 100px}.page-title{margin-bottom:4px}.page-title h1{font-size:20px}.month-inline{margin:4px 0 8px}.stats-grid{margin-bottom:8px}.stats-grid.ledger-summary{padding:2px 0}.ledger-summary .stat-card:first-child>div:not(.card-orbit){font-size:17px;margin:4px 0}.ledger-summary .stat-card{padding:10px 4px}.home-accounts{margin-bottom:8px}.home-account-row{padding:5px 0;gap:8px;font-size:12px}.home-account-row .category-icon{width:28px;height:28px}.panel{padding:12px}.panel-heading{margin-bottom:8px}.compare-entry{padding:10px 12px}.entry-form-body{max-height:min(52dvh,calc(100dvh - 200px))}}
