@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root,[data-theme=fresh]{--bg:#f4f8f3;--surface:#fff;--surface-2:#f8fbf8;--surface-float:#fcfffb;--primary:#2f7d5b;--primary-press:#256649;--primary-soft:#e6f4ea;--accent:#d79d45;--success:#2e8b57;--danger:#d95757;--warning:#d9912b;--info:#4d8fa8;--text:#20312a;--text-2:#5f7067;--text-3:#8b9a92;--border:#dce7de;--shadow:0 12px 36px rgba(47,91,65,.11);--shadow-sm:0 5px 16px rgba(47,91,65,.08);--hero:linear-gradient(145deg,#dff4e7 0%,#eff9f2 52%,#fff5df 100%);--chart-1:#2f7d5b;--chart-2:#73a580;--chart-3:#d79d45;--chart-4:#6e9fb2;--chart-5:#c97878;--nav:rgba(255,255,255,.92)}[data-theme=dark]{--bg:#0b1220;--surface:#111c2e;--surface-2:#17243a;--surface-float:#17243a;--primary:#5b8cff;--primary-press:#4776e6;--primary-soft:#1c3156;--accent:#20c7b7;--success:#35c78a;--danger:#ff647c;--warning:#f3b64c;--info:#5ab0ff;--text:#f5f7fb;--text-2:#aab6c8;--text-3:#718096;--border:#26354d;--shadow:0 14px 40px rgba(0,0,0,.3);--shadow-sm:0 6px 18px rgba(0,0,0,.22);--hero:linear-gradient(145deg,#142840 0%,#0f1b2c 55%,#211a3a 100%);--chart-1:#5b8cff;--chart-2:#9b7bff;--chart-3:#20c7b7;--chart-4:#f3b64c;--chart-5:#ff647c;--nav:rgba(11,18,32,.92)}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif}body{margin:0;min-width:320px;background:var(--bg)}button,input{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 52%,transparent);outline-offset:2px}.app-shell{width:100%;min-height:100dvh}.page{min-height:100dvh;padding-bottom:calc(82px + env(safe-area-inset-bottom));background:var(--bg)}.page--immersive{padding-bottom:0}.content-page{max-width:680px;margin:0 auto;padding:20px 16px 30px}.page-header{display:flex;justify-content:space-between;align-items:center;padding:10px 2px 20px}.page-header h1{margin:4px 0 0;font-size:27px;line-height:1.25;letter-spacing:-.6px}.eyebrow,.section-kicker{font-size:10px;font-weight:800;letter-spacing:1.7px;color:var(--primary)}.icon-button{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.bottom-nav{position:fixed;left:50%;bottom:0;z-index:30;transform:translate(-50%);width:100%;height:calc(68px + env(safe-area-inset-bottom));padding:6px max(12px,calc((100% - 640px)/2)) env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:var(--nav);border-top:1px solid var(--border);backdrop-filter:blur(18px)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text-3);text-decoration:none;font-size:11px;font-weight:600;min-height:54px}.nav-item.active{color:var(--primary)}.nav-item.active svg{filter:drop-shadow(0 3px 6px color-mix(in srgb,var(--primary) 25%,transparent))}.home-page{max-width:680px;margin:0 auto}.hero{position:relative;min-height:340px;padding:24px 18px 0;background:var(--hero);overflow:hidden;border-radius:0 0 34px 34px}.hero-top{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:flex-start}.hero-brand{display:flex;align-items:center;gap:6px;color:var(--primary);font-size:12px;font-weight:800;letter-spacing:.8px}.hero-top h1{margin:13px 0 3px;font-size:31px;letter-spacing:-1.2px}.hero-top p{margin:0;color:var(--text-2);font-size:15px}.icon-button.glass{background:color-mix(in srgb,var(--surface) 72%,transparent);backdrop-filter:blur(12px);position:relative}.icon-button.glass i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--danger);right:9px;top:8px;border:2px solid var(--surface)}.hero-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55}.orb-one{width:180px;height:180px;background:radial-gradient(circle,#fff7c8 0%,transparent 66%);right:-60px;top:-55px}.orb-two{width:120px;height:120px;background:radial-gradient(circle,color-mix(in srgb,var(--primary) 24%,transparent) 0%,transparent 70%);left:-40px;top:100px}.hero-landscape{height:98px;position:absolute;left:0;right:0;top:105px;opacity:.72}.hero-landscape span{position:absolute;bottom:2px;width:180px;height:64px;background:color-mix(in srgb,var(--primary) 25%,transparent);clip-path:polygon(0 100%,20% 58%,38% 76%,60% 30%,82% 72%,100% 50%,100% 100%)}.hero-landscape span:nth-child(1){left:-15px}.hero-landscape span:nth-child(2){left:110px;transform:scale(1.3);opacity:.45}.hero-landscape span:nth-child(3){right:-20px;transform:scale(.9);opacity:.7}.hero-landscape b{position:absolute;right:72px;bottom:2px;width:36px;height:44px;background:color-mix(in srgb,var(--surface) 90%,transparent);clip-path:polygon(0 28%,50% 0,100% 28%,100% 100%,0 100%)}.hero-landscape i{position:absolute;right:84px;bottom:3px;width:10px;height:22px;background:var(--accent)}.balance-card{position:relative;z-index:4;margin-top:80px;padding:19px;border-radius:24px;background:color-mix(in srgb,var(--surface) 91%,transparent);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);box-shadow:var(--shadow);backdrop-filter:blur(20px)}.balance-head{display:flex;justify-content:space-between;color:var(--text-2);font-weight:600;font-size:14px}.bare{padding:0;color:var(--text-2);display:grid;place-items:center}.bare svg{width:20px}.balance-value{display:block;margin:5px 0 10px;font-size:34px;line-height:1.2;letter-spacing:.2px;font-variant-numeric:tabular-nums}.balance-meta{display:flex;gap:12px;align-items:center;color:var(--text-2);font-size:13px}.balance-meta b{color:var(--text);font-size:14px;margin-left:3px}.balance-meta i{width:1px;height:14px;background:var(--border)}.balance-badge{position:absolute;right:18px;bottom:19px;display:grid;grid-template-columns:auto auto;gap:0 5px;align-items:center;color:var(--success)}.balance-badge svg{grid-row:1/3}.balance-badge span{font-size:10px;color:var(--text-3)}.balance-badge b{font-size:12px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:18px 16px 10px}.quick-grid button{min-width:0;padding:12px 4px 10px;border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center}.quick-icon{width:45px;height:45px;border-radius:15px;display:grid;place-items:center;margin-bottom:8px}.quick-icon svg{width:24px}.quick-icon.income{background:#e2f6e8;color:#25a65a}.quick-icon.expense{background:#fff0e4;color:#ed8140}.quick-icon.search{background:#e7f3ff;color:#368dde}.quick-icon.chart{background:#eee9ff;color:#7958df}[data-theme=dark] .quick-icon.income{background:#153f36;color:#4ce09e}[data-theme=dark] .quick-icon.expense{background:#492d31;color:#ff775f}[data-theme=dark] .quick-icon.search{background:#173a55;color:#5ab0ff}[data-theme=dark] .quick-icon.chart{background:#30275a;color:#aa8cff}.quick-grid b{font-size:14px;white-space:nowrap}.quick-grid small{font-size:9px;color:var(--text-3);margin-top:3px;white-space:nowrap}.ai-card{margin:7px 16px 18px;display:flex;align-items:center;gap:11px;padding:14px;border-radius:18px;background:linear-gradient(105deg,color-mix(in srgb,var(--primary) 13%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));box-shadow:var(--shadow-sm)}.ai-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--primary);color:#fff}.ai-card>div{flex:1;min-width:0}.ai-card b{font-size:14px}.ai-card p{margin:3px 0 0;font-size:11px;color:var(--text-2)}.ai-pill{display:flex;align-items:center;gap:3px;font-size:9px;color:var(--primary);background:var(--primary-soft);padding:5px 7px;border-radius:999px}.section-block{padding:0 16px 20px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px}.section-title h2,.card-head h2{margin:2px 0 0;font-size:20px}.section-title button{display:flex;align-items:center;color:var(--text-3);font-size:12px}.record-card{border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.record-row{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:13px 14px;min-height:72px}.record-row+.record-row{border-top:1px solid var(--border)}.record-icon{flex:0 0 auto;width:42px;height:42px;border-radius:14px;display:grid;place-items:center}.record-icon.expense{color:#e17637;background:#fff0e2}.record-icon.income{color:#21a857;background:#e4f6e9}[data-theme=dark] .record-icon.expense{background:#29364a;color:#ff9b55}[data-theme=dark] .record-icon.income{background:#1b3e38;color:#46d38d}.record-icon.large{width:58px;height:58px;border-radius:19px}.record-main{display:flex;flex:1;min-width:0;flex-direction:column}.record-main b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-main small{margin-top:4px;color:var(--text-3);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-row>strong{font-size:14px;font-variant-numeric:tabular-nums}.money-income{color:var(--success)!important}.money-expense{color:var(--danger)!important}.brand-footer{text-align:center;color:var(--text-3);font-size:10px;padding:2px 20px 16px}.search-box{height:48px;display:flex;align-items:center;gap:9px;padding:0 13px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm)}.search-box svg{width:19px;color:var(--text-3)}.search-box input{border:0;outline:0;background:none;flex:1;min-width:0;font-size:13px}.search-box button{height:36px;width:36px;display:grid;place-items:center;border-left:1px solid var(--border)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin:15px 0;padding:4px;background:color-mix(in srgb,var(--border) 50%,transparent);border-radius:14px}.segmented button{min-height:38px;color:var(--text-2);font-size:13px;font-weight:600;border-radius:11px}.segmented button.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.summary-strip{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0 0 20px;background:var(--border);border:1px solid var(--border);border-radius:18px;overflow:hidden}.summary-strip>div{display:flex;flex-direction:column;padding:14px;background:var(--surface)}.summary-strip span{font-size:11px;color:var(--text-2)}.summary-strip b{margin-top:4px;font-size:15px}.record-groups section{margin-bottom:18px}.date-head{display:flex;justify-content:space-between;align-items:center;padding:0 3px 9px}.date-head b{font-size:14px}.date-head span{font-size:10px;color:var(--text-3)}.fab{position:fixed;z-index:20;right:max(20px,calc((100% - 640px)/2));bottom:94px;width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:var(--primary);color:#fff;box-shadow:0 10px 25px color-mix(in srgb,var(--primary) 40%,transparent)}.empty-state{text-align:center;padding:48px 20px;color:var(--text-3)}.empty-state>span{width:62px;height:62px;display:grid;place-items:center;margin:auto;border-radius:22px;background:var(--surface)}.empty-state h3{color:var(--text);margin:14px 0 4px}.empty-state p{font-size:13px;margin:0}.entry-page,.detail-page{max-width:680px;margin:0 auto;min-height:100dvh;background:var(--bg);padding:0 16px}.entry-header,.sub-header{height:65px;display:grid;grid-template-columns:48px 1fr 70px;align-items:center}.entry-header h1,.sub-header h1{text-align:center;font-size:18px;margin:0}.entry-header>button:first-child,.sub-header>button:first-child{width:44px;height:44px;display:grid;place-items:center}.entry-header>button:last-child{text-align:right}.text-button{color:var(--primary);font-size:12px;font-weight:700}.entry-segment{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}.entry-segment button{height:42px;border-radius:12px;font-weight:700;color:var(--text-3)}.entry-segment button.active.expense{background:#fff0e7;color:#e06c32}.entry-segment button.active.income{background:#e4f6e9;color:#25854c}[data-theme=dark] .entry-segment button.active.expense{background:#472c30;color:#ff8169}[data-theme=dark] .entry-segment button.active.income{background:#173d34;color:#52d69a}.amount-entry{height:144px;display:flex;align-items:center;justify-content:center;position:relative}.amount-entry span{font-size:24px;margin:6px 7px 0 0;color:var(--text-2)}.amount-entry strong{font-size:48px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-1px}.amount-entry strong.placeholder{color:var(--text-3)}.amount-entry i{position:absolute;bottom:22px;width:56px;height:3px;background:var(--primary);border-radius:99px}.entry-fields{background:var(--surface);border-radius:20px;border:1px solid var(--border);padding:0 14px;box-shadow:var(--shadow-sm)}.entry-fields label{height:55px;display:flex;align-items:center;border-bottom:1px solid var(--border)}.entry-fields label span{width:72px;font-size:13px;color:var(--text-2)}.entry-fields label input{border:0;background:none;outline:0;flex:1;font-size:13px;text-align:right}.picker-row{width:100%;min-height:55px;display:flex;align-items:center;gap:9px;text-align:left}.picker-row+.picker-row{border-top:1px solid var(--border)}.picker-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft)}.picker-icon svg{width:17px}.picker-row>span:nth-child(2){color:var(--text-2);font-size:13px}.picker-row b{font-size:13px;margin-left:auto}.picker-row>svg{width:17px;color:var(--text-3)}.entry-tools{display:flex;gap:8px;padding:12px 0}.entry-tools button{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;height:38px;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text-2);font-size:11px}.entry-tools svg{width:16px}.keypad{position:relative;display:grid;grid-template-columns:repeat(3,1fr) 1.05fr;gap:7px;padding:8px 0 calc(12px + env(safe-area-inset-bottom))}.keypad button{height:54px;background:var(--surface);border:1px solid var(--border);border-radius:15px;font-size:20px;font-weight:600}.keypad .save-key{grid-column:4;grid-row:1/5;height:auto;color:#fff;font-size:15px}.keypad .save-key.expense{background:#e5753c}.keypad .save-key.income{background:var(--success)}.keypad .save-key:disabled{background:var(--border);color:var(--text-3)}.toast{position:fixed;left:50%;top:24px;transform:translate(-50%);display:flex;align-items:center;gap:7px;padding:12px 18px;background:var(--surface-float);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;font-size:13px;z-index:99}.toast.success svg{color:var(--success)}.detail-amount{text-align:center;padding:26px 0 22px}.detail-amount .record-icon{margin:auto}.detail-amount p{margin:11px 0 6px;color:var(--text-2);font-size:14px}.detail-amount strong{font-size:34px}.detail-amount small{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:10px;color:var(--text-3)}.detail-amount small svg{width:15px;color:var(--success)}.detail-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:20px;padding:8px 16px;margin-bottom:14px}.detail-card>div:not(.timeline){display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border);font-size:13px}.detail-card>div:last-child{border-bottom:0}.detail-card span{color:var(--text-2)}.detail-card h3{font-size:14px;margin:8px 0 12px}.timeline{display:flex;gap:12px;padding:0 0 11px}.timeline>i{width:10px;height:10px;border-radius:50%;background:var(--primary);margin-top:4px;box-shadow:0 0 0 5px var(--primary-soft)}.timeline div{display:flex;flex-direction:column}.timeline b{font-size:13px}.timeline span{font-size:11px;margin-top:4px}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px 0}.detail-actions button{height:45px;background:var(--surface);border:1px solid var(--border);border-radius:14px;font-weight:600}.danger-text{color:var(--danger)!important}.hero-metric,.account-total{padding:20px;border-radius:22px;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 64%,var(--accent)));color:#fff;margin-bottom:16px;box-shadow:0 14px 30px color-mix(in srgb,var(--primary) 25%,transparent)}.hero-metric>span,.account-total>span{font-size:12px;opacity:.78}.hero-metric>strong,.account-total>strong{display:block;font-size:29px;margin:5px 0 15px}.hero-metric>div{display:flex;justify-content:space-between;font-size:10px}.project-list{display:grid;gap:12px;margin-top:16px}.project-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:20px;padding:15px}.project-top{display:flex;align-items:center;gap:10px}.project-mark{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:#e6efff;color:#4776e6;font-weight:800}.project-mark.m1{background:#e8f5ea;color:#2e8b57}.project-mark.m2{background:#fff1df;color:#c47b22}.project-top>div{flex:1}.project-top h3{font-size:14px;margin:0 0 3px}.project-top p{font-size:10px;color:var(--text-3);margin:0}.status{font-size:9px;padding:5px 7px;border-radius:99px}.status.active{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.status.paused{color:var(--warning);background:color-mix(in srgb,var(--warning) 13%,transparent)}.project-money{display:grid;grid-template-columns:repeat(3,1fr);margin:14px 0 12px;padding-top:12px;border-top:1px solid var(--border)}.project-money div{display:flex;flex-direction:column}.project-money span{font-size:9px;color:var(--text-3)}.project-money b{font-size:12px;margin-top:3px}.progress{height:5px;border-radius:5px;background:var(--border);position:relative;margin-right:32px}.progress i{display:block;height:100%;border-radius:5px;background:var(--primary)}.progress span{position:absolute;right:-34px;top:-5px;font-size:9px;color:var(--text-3)}.period-button{height:40px;display:flex;align-items:center;gap:4px;padding:0 11px;background:var(--surface);border:1px solid var(--border);border-radius:12px;font-size:11px}.period-button svg{width:15px}.stats-overview{padding:20px;border-radius:23px;background:var(--hero);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.stats-overview>span{font-size:11px;color:var(--text-2)}.stats-overview>strong{display:block;font-size:29px;margin:6px 0}.stats-overview>p{display:flex;align-items:center;gap:4px;color:var(--success);font-size:10px;margin:0 0 17px}.stats-overview>p svg{width:14px}.stats-overview>div{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);padding-top:13px}.stats-overview>div span{display:flex;flex-direction:column;font-size:9px;color:var(--text-3)}.stats-overview>div b{font-size:12px;color:var(--text);margin-top:3px}.chart-card{padding:17px;margin-top:14px;border-radius:21px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.card-head{display:flex;justify-content:space-between;align-items:flex-start}.card-head h2{font-size:17px}.legend{display:flex;gap:9px;font-size:9px;color:var(--text-2)}.legend span{display:flex;align-items:center;gap:4px}.legend i{width:7px;height:7px;border-radius:2px}.income-dot,.bar-income{background:var(--primary)}.expense-dot,.bar-expense{background:var(--accent)}.bar-chart{height:160px;display:flex;justify-content:space-between;gap:8px;padding:25px 5px 0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,color-mix(in srgb,var(--border) 65%,transparent) 32px)}.bar-group{flex:1;display:flex;flex-direction:column;height:100%;align-items:center}.bars{flex:1;width:100%;display:flex;justify-content:center;align-items:flex-end;gap:3px}.bars i{width:min(12px,34%);border-radius:5px 5px 2px 2px}.bar-group>span{font-size:9px;color:var(--text-3);margin-top:7px}.donut-wrap{display:flex;align-items:center;gap:24px;padding:20px 3px 6px}.donut{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.donut>div{width:78px;height:78px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;flex-direction:column}.donut span{font-size:9px;color:var(--text-3)}.donut b{font-size:15px;margin-top:3px}.category-legend{flex:1}.category-legend div{display:grid;grid-template-columns:8px 1fr auto;gap:7px;align-items:center;padding:4px 0;font-size:10px}.category-legend i{width:8px;height:8px;border-radius:3px}.category-legend span{color:var(--text-2)}.rank-row{display:flex;align-items:center;gap:10px;padding:12px 0}.rank-row+.rank-row{border-top:1px solid var(--border)}.rank-row>span{width:22px;height:22px;border-radius:8px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:10px;font-weight:800}.rank-row>div{flex:1;display:flex;flex-direction:column;gap:6px}.rank-row b{font-size:11px}.rank-row i{display:block;height:4px;background:var(--primary);border-radius:4px;max-width:100%}.rank-row strong{font-size:11px}.profile-page{padding-top:0}.profile-hero{margin:0 -16px;padding:34px 18px 25px;display:flex;align-items:center;gap:12px;background:var(--hero);border-radius:0 0 30px 30px}.profile-avatar,.member-avatar{width:56px;height:56px;border-radius:19px;display:grid;place-items:center;background:linear-gradient(145deg,var(--primary),var(--accent));color:#fff;font-size:21px;font-weight:800}.profile-hero>div{flex:1}.profile-hero h1{font-size:20px;margin:0 0 5px}.profile-hero p{margin:0;color:var(--text-2);font-size:10px}.profile-hero button{width:42px;height:42px;border-radius:14px;background:color-mix(in srgb,var(--surface) 65%,transparent);display:grid;place-items:center}.profile-company{display:flex;align-items:center;gap:11px;margin:14px 0 20px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm)}.profile-company>span{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.profile-company>div{flex:1}.profile-company b{font-size:13px}.profile-company p{font-size:9px;color:var(--text-3);margin:4px 0 0}.profile-company>svg{color:var(--success);width:18px}.menu-group{margin-bottom:19px}.menu-group h2{font-size:12px;color:var(--text-2);margin:0 4px 8px}.menu-group>div{background:var(--surface);border:1px solid var(--border);border-radius:19px;padding:0 13px;box-shadow:var(--shadow-sm)}.menu-group button{width:100%;min-height:59px;display:flex;align-items:center;gap:10px}.menu-group button+button{border-top:1px solid var(--border)}.menu-group button>span{width:33px;height:33px;border-radius:11px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.menu-group button svg{width:18px}.menu-group b{font-size:13px}.menu-group small{margin-left:auto;color:var(--text-3);font-size:9px}.menu-group button>svg{color:var(--text-3);width:16px}.version{text-align:center;font-size:9px;line-height:1.8;color:var(--text-3);margin:26px 0}.sub-page{padding-top:0}.sub-header{margin-bottom:6px}.sub-header h1{font-size:18px}.sub-header>:last-child{justify-self:end}.account-total p{font-size:10px;opacity:.75;margin:0}.account-list,.category-list,.member-list{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:0 14px;box-shadow:var(--shadow-sm)}.account-list article,.member-list article,.category-list button{min-height:67px;width:100%;display:flex;align-items:center;gap:11px}.account-list article+article,.member-list article+article,.category-list button+button{border-top:1px solid var(--border)}.account-list article>span,.category-list button>span{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.account-list article>div,.category-list button>div,.member-list article>div{flex:1;display:flex;flex-direction:column}.account-list b,.category-list b,.member-list b{font-size:13px}.account-list small,.category-list small,.member-list small{font-size:9px;color:var(--text-3);margin-top:4px}.account-list strong{font-size:13px}.account-list>article>svg,.category-list>button>svg,.member-list>article>svg{width:16px;color:var(--text-3)}.reimbursement-summary{margin-top:4px}.reimburse-card{padding:16px;margin:12px 0;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-sm)}.reimburse-card>div{display:flex;justify-content:space-between}.reimburse-card small{color:var(--text-3);font-size:9px}.reimburse-card h3{font-size:14px;margin:13px 0 5px}.reimburse-card strong{font-size:24px}.reimburse-card p{color:var(--text-3);font-size:10px}.reimburse-card>button{height:40px;width:100%;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:700}.reimburse-card>button svg{width:15px}.security-note{display:flex;gap:10px;align-items:center;padding:14px;margin-bottom:14px;border-radius:17px;background:var(--primary-soft);color:var(--primary)}.security-note>svg{width:22px}.security-note div{display:flex;flex-direction:column}.security-note b{font-size:12px}.security-note p{font-size:9px;margin:3px 0 0;color:var(--text-2)}.member-avatar{width:40px;height:40px;border-radius:13px;font-size:14px}.member-avatar.a1{background:linear-gradient(145deg,#669ee8,#7865d8)}.member-avatar.a2{background:linear-gradient(145deg,#d49e4d,#e87965)}.role{font-size:9px;padding:5px 7px;border-radius:99px;background:var(--primary-soft);color:var(--primary)}.settings-card{padding:5px 14px;margin-bottom:14px;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-sm)}.settings-card h2{font-size:12px;margin:12px 1px 7px;color:var(--text-2)}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:5px 0 14px}.theme-options button{position:relative;height:86px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:15px}.theme-options button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.theme-options span{width:30px;height:30px;display:grid;place-items:center}.theme-options svg{width:19px}.theme-options b{font-size:10px}.theme-options button>svg{position:absolute;right:5px;top:5px;width:13px}.setting-toggle{min-height:59px;width:100%;display:flex;align-items:center;gap:9px;border-top:1px solid var(--border);text-align:left}.setting-toggle>div{flex:1;display:flex;flex-direction:column}.setting-toggle b{font-size:12px}.setting-toggle small{font-size:9px;color:var(--text-3);margin-top:3px}.setting-toggle>i{width:39px;height:23px;border-radius:99px;background:var(--border);padding:3px;transition:.2s}.setting-toggle>i u{display:block;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0003;transition:.2s}.setting-toggle>i.on{background:var(--primary)}.setting-toggle>i.on u{transform:translate(16px)}.bare,.section-title button,.avatar-mini,.search-box button,.entry-header>button:last-child,.profile-hero button{min-width:44px;min-height:44px}.period-button,.segmented button,.entry-segment button,.entry-tools button,.reimburse-card>button{height:44px}.entry-tools .attachment-picker{height:44px;display:flex;align-items:center;justify-content:center;gap:5px;flex:1;border-radius:12px;background:var(--surface);border:1px solid var(--border);font-size:11px;font-weight:700;cursor:pointer}.entry-tools .attachment-picker svg{width:16px}.entry-tools .attachment-picker input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.attachment-feedback{display:flex;align-items:center;justify-content:center;gap:5px;margin:0 18px 8px;color:var(--primary);font-size:10px;font-weight:700}.attachment-feedback svg{width:14px}.record-remark{position:relative;margin:0 0 10px;padding:12px 13px;background:var(--surface);border:1px solid var(--border);border-radius:16px}.record-remark label{display:block;font-size:12px;font-weight:700;color:var(--text-2)}.record-remark textarea{display:block;width:100%;min-height:58px;resize:vertical;margin-top:7px;padding:0 0 16px;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:13px;line-height:1.55}.record-remark small{position:absolute;right:13px;bottom:10px;color:var(--text-3);font-size:10px}.entry-more-tip{margin:-3px 4px 9px;color:var(--text-2);font-size:11px;text-align:center}.entry-more-tip svg{width:14px;vertical-align:-2px;color:var(--primary)}.login-page{min-height:100dvh;padding:34px 20px;display:flex;flex-direction:column;justify-content:center;gap:24px;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--primary) 16%,transparent),transparent 36%),var(--bg)}.login-aurora{display:flex;align-items:center;gap:13px;padding:12px}.login-aurora>span{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;color:#fff;font-weight:900;font-size:27px;background:linear-gradient(145deg,var(--primary),var(--accent));box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 30%,transparent)}.login-aurora p{margin:0;color:var(--primary);font-size:10px;font-weight:800;letter-spacing:.12em}.login-aurora h1{margin:3px 0;font-size:24px}.login-aurora small{font-size:10px;color:var(--text-3)}.login-card{padding:23px 18px 18px;border:1px solid var(--border);border-radius:25px;background:var(--surface);box-shadow:var(--shadow)}.login-card h2{margin:3px 0 4px;font-size:20px}.login-card>div>p{font-size:11px;color:var(--text-3);margin:0 0 19px}.login-card label{display:flex;flex-direction:column;gap:7px;margin:12px 0;font-size:11px;color:var(--text-2);font-weight:700}.login-card input{height:48px;padding:0 13px;border:1px solid var(--border);border-radius:14px;background:var(--bg);color:var(--text);font:inherit;font-size:14px;outline:none}.login-card input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.login-card>button{height:50px;width:100%;margin-top:10px;border-radius:15px;background:var(--primary);color:#fff;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:7px}.login-card>button:disabled{opacity:.55}.login-card>button svg{width:17px}.login-error{margin:3px 0;color:var(--danger);font-size:11px}.login-tip{display:block;margin-top:16px;text-align:center;line-height:1.65;color:var(--text-3);font-size:9px}.attachment-list>button{display:grid;grid-template-columns:30px 1fr 16px;column-gap:9px;align-items:center;width:100%;min-height:46px;margin-top:8px;text-align:left}.attachment-list>button>span{grid-row:span 2;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--primary-soft);color:var(--primary)}.attachment-list>button svg{width:15px}.attachment-list>button>b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-list>button small{font-size:9px;color:var(--text-3)}.attachment-list>button>svg{grid-column:3;grid-row:span 2;color:var(--text-3)}.entry-fields .select-field{display:flex;align-items:center;min-height:54px;gap:12px}.entry-fields .select-field>span{color:var(--text-2);font-size:12px;min-width:34px}.entry-fields .select-field select{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:right;appearance:auto}.entry-segment button:last-child.active{background:var(--primary-soft);color:var(--primary)}.setting-select{display:flex;align-items:center;gap:10px;min-height:67px;border-top:1px solid var(--border)}.setting-select>div{display:grid;gap:3px;flex:1}.setting-select b{font-size:13px}.setting-select small{color:var(--text-3);font-size:11px}.setting-select select{max-width:132px;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:right}.reimbursement-form>p{margin:-2px 0 10px;color:var(--text-3);font-size:11px;line-height:1.5}.reimbursement-candidates{display:grid;gap:7px;max-height:280px;overflow:auto}.reimbursement-candidates label{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--border);border-radius:12px;cursor:pointer}.reimbursement-candidates input{width:17px;height:17px;accent-color:var(--primary)}.reimbursement-candidates label>span{display:grid;gap:2px;flex:1;min-width:0}.reimbursement-candidates b{font-size:12px}.reimbursement-candidates small,.muted{color:var(--text-3);font-size:10px}.reimbursement-candidates strong{font-size:12px}.reimbursement-submit{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}.reimbursement-submit>span{margin-right:auto;color:var(--text-2);font-size:11px}.payment-account{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;color:var(--text-2);font-size:11px}.payment-account select{border:1px solid var(--border);border-radius:8px;padding:6px;background:var(--surface);color:var(--text);font:inherit;font-size:11px}.transfer-entry{width:100%;display:flex;align-items:center;gap:11px;margin:-5px 0 17px;padding:12px 13px;text-align:left;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:17px;background:linear-gradient(100deg,var(--primary-soft),var(--surface));box-shadow:var(--shadow-sm)}.transfer-entry>span{width:35px;height:35px;display:grid;place-items:center;border-radius:12px;background:var(--primary);color:#fff}.transfer-entry>span svg{width:18px}.transfer-entry>div{flex:1;display:flex;flex-direction:column}.transfer-entry b{font-size:12px}.transfer-entry small{margin-top:3px;color:var(--text-3);font-size:9px}.transfer-entry>svg{width:17px;color:var(--text-3)}.transfer-note{display:flex;align-items:center;gap:9px;margin:4px 18px 14px;padding:12px;border-radius:15px;background:var(--primary-soft);color:var(--primary)}.transfer-note>svg{width:19px}.transfer-note>div{display:flex;flex-direction:column}.transfer-note b{font-size:11px}.transfer-note small{margin-top:3px;color:var(--text-2);font-size:9px}.transfer-swap{height:22px;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--primary)}.transfer-swap span{height:1px;flex:1;background:var(--border)}.transfer-swap svg{width:16px}.transfer-warning{text-align:center;margin:6px 0 0;color:var(--danger);font-size:10px}.inline-form{margin:0 0 14px;padding:15px;background:var(--surface);border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:19px;box-shadow:var(--shadow-sm)}.inline-form h3{margin:0 0 10px;font-size:14px}.inline-form label{display:flex;align-items:center;gap:10px;min-height:43px;border-top:1px solid var(--border);font-size:11px;color:var(--text-2)}.inline-form input,.inline-form select{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text);font:inherit;text-align:right;font-size:12px}.inline-form>div{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin-top:12px}.inline-form>div button{height:38px;border:1px solid var(--border);border-radius:11px;color:var(--text-2);font-size:11px;font-weight:700}.inline-form>div .primary{border-color:var(--primary);background:var(--primary);color:#fff}.donut>div{overflow:hidden;text-align:center;line-height:1.15}.donut span,.donut b{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.donut b{font-variant-numeric:tabular-nums}.rank-row strong{flex:0 0 auto;min-width:92px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.export-panel{padding:12px 0 14px}.export-panel-title{display:flex;align-items:center;gap:9px}.export-panel-title>div{display:flex;flex:1;flex-direction:column}.export-panel-title b{font-size:12px}.export-panel-title small{margin-top:3px;font-size:9px;color:var(--text-3)}.export-panel-title>span:last-child{font-size:10px;font-weight:800;color:var(--primary)}.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.export-grid label{display:flex;flex-direction:column;gap:5px;font-size:9px;color:var(--text-3)}.export-grid input,.export-grid select{width:100%;height:34px;padding:0 7px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text);font:inherit;font-size:10px;outline:0}.export-grid input:focus,.export-grid select:focus{border-color:var(--primary)}.export-button{width:100%;height:39px;display:flex;justify-content:center;align-items:center;gap:5px;border-radius:11px;background:var(--primary);color:#fff;font-weight:700;font-size:11px}.export-button:disabled{opacity:.5}.export-button svg{width:15px}.export-error{display:block;margin-top:7px;text-align:center;color:var(--danger);font-size:10px}.inline-form input[type=color]{flex:0 0 44px;height:26px;padding:2px;border:0;background:transparent;cursor:pointer}.icon-picker{display:block!important;padding:10px 0;border-top:1px solid var(--border)}.icon-picker>span{display:block;margin-bottom:8px;font-size:10px;color:var(--text-2)}.icon-picker>div{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.icon-picker button{aspect-ratio:1;min-width:0;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;color:var(--icon-color);background:color-mix(in srgb,var(--icon-color) 10%,var(--surface))}.icon-picker button.active{border-color:var(--icon-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--icon-color) 28%,transparent)}.icon-picker svg{width:16px;height:16px}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:24px;background:#040c1894;backdrop-filter:blur(5px)}.modal-card{width:min(340px,100%);padding:23px 19px 18px;border-radius:23px;background:var(--surface);border:1px solid color-mix(in srgb,var(--danger) 32%,var(--border));box-shadow:0 25px 70px #00000052;text-align:center}.modal-danger-icon{width:45px;height:45px;margin:0 auto 11px;display:grid;place-items:center;border-radius:15px;background:color-mix(in srgb,var(--danger) 13%,transparent);color:var(--danger)}.modal-danger-icon svg{width:23px}.modal-card h3{margin:0;font-size:16px}.modal-card p{margin:9px auto 18px;max-width:265px;color:var(--text-2);font-size:11px;line-height:1.6}.modal-card>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:9px}.modal-card>div:last-child button{height:42px;border-radius:13px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:800}.modal-card>div:last-child .danger{background:var(--danger);color:#fff}.modal-card>div:last-child .danger:disabled{opacity:.6}.category-hint{display:flex;align-items:center;justify-content:center;gap:5px;margin:18px 0 4px;color:var(--text-3);font-size:10px;line-height:1.55;text-align:center}.category-hint svg{width:15px;color:var(--primary)}.logout-button{width:100%;height:44px;margin:4px 0 0;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--danger) 7%,var(--surface));color:var(--danger);font-size:12px;font-weight:800}.password-card{padding:22px 17px 18px;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-sm);text-align:center}.password-icon{width:45px;height:45px;margin:0 auto 10px;display:grid;place-items:center;border-radius:15px;background:var(--primary-soft);color:var(--primary)}.password-icon svg{width:22px}.password-card h2{margin:0;font-size:17px}.password-card>p{margin:7px 10px 17px;color:var(--text-3);font-size:10px;line-height:1.6}.password-card label{display:flex;flex-direction:column;gap:6px;margin:10px 0;text-align:left;color:var(--text-2);font-size:10px}.password-card input{height:43px;padding:0 11px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;outline:0}.password-card input:focus{border-color:var(--primary)}.password-card>button{width:100%;height:43px;margin-top:8px;border-radius:12px;background:var(--primary);color:#fff;font-size:12px;font-weight:800}.password-card>button:disabled{opacity:.55}.password-success{margin:10px 0 0!important;color:var(--success)!important}.edit-record-card label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--text-2)}.edit-record-card input{height:42px;padding:0 11px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);font:inherit}.edit-record-card>div,.void-confirm>div{display:flex;gap:8px;margin-top:12px}.edit-record-card>div button,.void-confirm>div button{flex:1;height:40px;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:700}.edit-record-card>div .primary{background:var(--primary);color:#fff}.void-confirm{margin:12px 0;padding:15px;border:1px solid color-mix(in srgb,var(--danger) 40%,var(--border));border-radius:17px;background:color-mix(in srgb,var(--danger) 7%,var(--surface))}.void-confirm b{font-size:13px}.void-confirm p{margin:7px 0 0;color:var(--text-2);font-size:10px;line-height:1.55}.void-confirm .danger-text{background:var(--danger);color:#fff}@media(min-width:700px){body{background:color-mix(in srgb,var(--bg) 84%,#b9cbbf)}.app-shell{width:430px;margin:0 auto;box-shadow:0 0 70px #0a1e1433}.bottom-nav{width:430px;padding-inline:12px}.home-page{width:430px}.fab{right:calc(50% - 190px)}.content-page{padding-inline:18px}.hero{padding-inline:20px}}@media(max-width:370px){.quick-grid{gap:6px;padding-inline:10px}.quick-grid button{padding-inline:2px}.balance-meta{gap:8px}.balance-badge{display:none}.donut-wrap{gap:13px}.donut{width:115px;height:115px}.donut>div{width:68px;height:68px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.ai-composer{margin:0 0 12px;padding:13px;border-radius:18px;background:linear-gradient(110deg,color-mix(in srgb,var(--primary) 13%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));box-shadow:var(--shadow-sm)}.ai-composer>div{display:flex;align-items:center;gap:9px;margin-bottom:10px}.ai-composer .ai-icon{width:34px;height:34px;border-radius:11px}.ai-composer b{display:block;font-size:12px}.ai-composer small{font-size:9px;color:var(--text-2)}.ai-composer label{display:flex;height:41px;overflow:hidden;border-radius:12px;border:1px solid var(--border);background:var(--surface)}.ai-composer input{min-width:0;flex:1;padding:0 10px;background:none;border:0;outline:0;font-size:12px}.ai-composer label button{padding:0 13px;background:var(--primary);color:#fff;font-size:11px;font-weight:700}.ai-composer label button:disabled{opacity:.55}.ai-composer p{display:flex;align-items:center;gap:4px;margin:9px 0 0;color:var(--success);font-size:10px}.ai-composer p svg{width:14px}
