/* 全局变量 */
:root {
    --bg:#f6f7fb;
    --card:#fff;
    --text:#111827;
    --muted:#6b7280;
    --border:#eef0f5;
    --blue:#3b82f6;
    --purple:#8b5cf6;
    --green:#10b981;
    --red:#ef4444;
    --shadow:0 12px 36px rgba(15,23,42,.08);
}

/* 基础样式 */
body, html {
    margin:0;
    padding:0;
    background:var(--bg);
    color:var(--text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;
}
a { text-decoration:none; color:inherit; }
button,input,select { font-family:inherit; }

/* App 容器 */
.app-shell {
    max-width:980px;
    margin:0 auto;
    padding:18px 16px 96px;
}

/* 头部 */
.app-header{
    display:flex; justify-content:space-between; align-items:center; margin-bottom:18px;
}
.header-left{ display:flex; align-items:center; gap:12px; }
.header-icon{ font-size:28px; }
.page-title{ font-size:22px; font-weight:800; }
.page-subtitle{ font-size:13px; color:var(--muted); margin-top:3px; }

/* 净资产卡片 */
.net-card{
    background:linear-gradient(135deg,#3b82f6,#8b5cf6);
    color:#fff; border-radius:28px;
    padding:26px; box-shadow:0 18px 50px rgba(59,130,246,.25);
    margin-bottom:14px;
}
.net-label{opacity:.88; font-size:14px; margin-bottom:10px;}
.net-value{font-size:36px; font-weight:900; margin-bottom:14px;}
.net-meta{display:flex; flex-wrap:wrap; gap:12px; font-size:13px; opacity:.92;}

/* 收入支出卡片 */
.income-expense-row {
    display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:18px;
}
.mini-card { padding:18px; background:var(--card); border-radius:22px; box-shadow:var(--shadow);}
.mini-card span{ display:block; color:var(--muted); font-size:13px; margin-bottom:8px; }
.mini-card strong{ font-size:20px; }
.income-card{ border-left:5px solid var(--green); }
.expense-card{ border-left:5px solid var(--red); }

/* 账户卡片 */
.account-group-title{ color:var(--muted); font-weight:700; margin-bottom:10px;}
.account-scroll{ display:flex; gap:12px; overflow-x:auto; padding-bottom:4px; }
.account-scroll::-webkit-scrollbar{ display:none; }
.account-card{
    display:block; min-width:190px;
    background:var(--card); border:1px solid var(--border);
    border-radius:22px; padding:18px; box-shadow:0 8px 22px rgba(15,23,42,.06);
}
.account-badge{
    width:40px; height:40px; display:flex; align-items:center; justify-content:center;
    border-radius:14px; color:white; font-weight:800;
    background:linear-gradient(135deg,var(--blue),var(--purple));
    margin-bottom:14px;
}
.account-name{ font-size:15px; font-weight:700; margin-bottom:10px; }
.account-balance{ font-size:22px; font-weight:900; }

/* 流水列表 */
.list-card{ overflow:hidden; }
.detail-row, .transaction-row {
    display:flex; align-items:center; justify-content:space-between;
    gap:12px; padding:15px 0; border-bottom:1px solid var(--border);
}
.detail-row:last-child, .transaction-row:last-child{ border-bottom:none; }
.detail-title{ font-size:15px; font-weight:700; }
.detail-subtitle{ margin-top:4px; color:var(--muted); font-size:12px; }
.detail-money{ font-size:15px; font-weight:900; white-space:nowrap; }
.text-green{ color:var(--green); }
.text-red{ color:var(--red); }

/* 图表 */
#trendChart{ width:100%; height:280px; }

/* 按钮 */
.primary-btn, .small-primary-btn{
    border:none; color:white; font-weight:800;
    border-radius:14px; padding:10px 16px;
    background:linear-gradient(135deg,var(--blue),var(--purple));
}

/* 移动端悬浮按钮 */
.mobile-fab{
    position:fixed; right:18px; bottom:88px;
    width:58px; height:58px; border-radius:50%;
    border:none; color:white; font-size:34px; line-height:58px;
    background:linear-gradient(135deg,var(--blue),var(--purple));
    box-shadow:0 16px 36px rgba(59,130,246,.35);
    z-index:9991;
}

/* 移动端底部导航栏 */
.mobile-tabbar{
    position:fixed; left:0; right:0; bottom:0; height:72px;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(16px);
    border-top:1px solid var(--border);
    display:flex; justify-content:space-around; z-index:9990;
}
.mobile-tabbar a{
    flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
    color:var(--muted); font-size:12px; gap:3px;
}
.mobile-tabbar a span{ font-size:22px; }
.mobile-tabbar a.active{ color:var(--blue); font-weight:800; }

/* 移动端弹出记账面板 */
.entry-sheet-mask{
    position:fixed; inset:0; background:rgba(15,23,42,.38); display:flex;
    align-items:flex-end; z-index:10001;
}
.entry-sheet{
    width:100%; background:#fff; border-radius:28px 28px 0 0;
    padding:10px 16px 18px; max-height:92vh; overflow-y:auto;
}
.entry-sheet-handle{
    width:46px; height:5px; background:#d1d5db; border-radius:999px; margin:0 auto 14px;
}
.entry-tabs{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; background:#f3f4f6; border-radius:16px; padding:5px; margin-bottom:14px; }
.entry-tab{ border:none; background:transparent; border-radius:12px; padding:10px 0; font-weight:800; color:var(--muted); }
.entry-tab.active{ background:#fff; color:var(--blue); box-shadow:0 4px 12px rgba(15,23,42,.08); }
.entry-subcategories{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.entry-subcategory{ border:none; background:#f3f4f6; color:#374151; border-radius:999px; padding:9px 14px; font-weight:700; }
.entry-subcategory.active{ color:white; background:linear-gradient(135deg,var(--blue),var(--purple)); }

/* 计算器 */
.calc-display-row{ display:flex; justify-content:space-between; align-items:center; padding:14px 4px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin-bottom:12px; }
.calc-display-row span{ color:var(--muted); font-weight:700; }
.calc-display-row strong{ font-size:30px; font-weight:900; }
.mobile-calc-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.mobile-calc-grid button{ height:50px; border:none; border-radius:16px; font-size:20px; font-weight:800; background:#f3f4f6; color:#111827; }
.mobile-calc-grid .calc-ok{ color:white; background:var(--theme-dynamic)!important; font-size:16px; }
/* 修复补充：通用面板、表单、弹层、流水行 */
.section-block{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:18px;margin-bottom:16px;box-shadow:var(--shadow)}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-title-row h2{font-size:18px;margin:0}.muted{color:var(--muted);font-size:13px}.empty-card{padding:18px;color:var(--muted);background:#f9fafb;border-radius:16px}.back-link{font-weight:900;color:var(--theme-dynamic)}
.form-stack{display:flex;flex-direction:column;gap:12px}.form-stack input,.form-stack select{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:14px;background:#fff;padding:13px 14px;font-size:15px;outline:none}.form-stack input:focus,.form-stack select:focus{border-color:var(--theme-dynamic);box-shadow:0 0 0 3px var(--theme-dynamic-soft)}
.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;background:#f3f4f6;border-radius:16px;padding:5px}.tab-btn{border:none;background:transparent;border-radius:12px;padding:10px 0;font-weight:800;color:var(--muted)}.tab-btn.active{background:#fff;color:var(--theme-dynamic)!important;box-shadow:0 4px 12px rgba(15,23,42,.08)}.tab-content{display:none}.tab-content.active{display:block}
.sheet-mask{position:fixed;inset:0;background:rgba(15,23,42,.38);align-items:flex-end;justify-content:center;z-index:10002}.sheet-panel{width:min(520px,100%);background:#fff;border-radius:28px 28px 0 0;padding:18px;box-shadow:0 -18px 48px rgba(15,23,42,.18)}.sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.sheet-header button{border:none;background:#f3f4f6;border-radius:12px;width:36px;height:36px;font-size:20px}
.inline-balance-form{min-width:120px}.inline-balance-input{width:120px;border:none;background:transparent;font-weight:900;text-align:right;font-size:15px}.btn-sm{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:8px 10px;background:#f3f4f6;color:#374151;font-weight:800;font-size:12px;white-space:nowrap}.btn-sm.red{color:#ef4444;background:#fef2f2}.text-blue{color:var(--blue)}.row-actions{display:flex;align-items:center;gap:10px}.logout-btn{display:block;text-align:center;padding:14px;border-radius:16px;background:#fee2e2;color:#dc2626;font-weight:900}.detail-main{flex:1}
.entry-form{display:none;gap:10px;flex-direction:column;margin-bottom:12px}.entry-form.active{display:flex}.entry-form input,.entry-form select{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:14px;background:#fff;padding:12px 14px;font-size:15px}.primary-btn:disabled,.small-primary-btn:disabled{opacity:.5}.income-card strong{color:var(--green)}.expense-card strong{color:var(--red)}
.auth-body,.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--theme-dynamic-soft),#f8fafc 30%,#f6f7fb)!important}.auth-wrapper{width:min(420px,92vw)}.auth-card{background:#fff;border-radius:28px;padding:28px;box-shadow:var(--shadow);width:min(420px,92vw);box-sizing:border-box}.auth-card form{display:flex;flex-direction:column;gap:12px}.auth-card input{border:1px solid var(--border);border-radius:14px;padding:13px 14px}.auth-card button{border:none;color:#fff;font-weight:900;border-radius:14px;padding:13px;background:var(--theme-dynamic)!important}.auth-logo{font-size:28px;font-weight:900}.auth-subtitle,.auth-link{display:block;color:var(--muted);margin:12px 0}.alert{background:#fef2f2;color:#dc2626;padding:10px 12px;border-radius:14px;margin:10px 0}
@media (max-width:640px){.app-shell{padding:14px 12px 92px}.income-expense-row{grid-template-columns:1fr 1fr}.net-value{font-size:30px}.section-block{padding:15px;border-radius:20px}.row-actions{flex-direction:column;align-items:flex-end;gap:6px}}

/* ===== Banle.me 资产负债表 V2：桌面/移动双形态 + 动态主题 ===== */
:root{
    --theme-dynamic:#10b981;
    --theme-dynamic-soft:rgba(16,185,129,.08);
    --theme-rgb:16,185,129;
    
    /* 5阶主题色体系 */
    --theme-s1-color:#10b981;
    --theme-s1-soft:rgba(16,185,129,.12);
    --theme-s1-gradient:rgba(16,185,129,.18);
    
    --theme-s2-color:#84fab0;
    --theme-s2-soft:rgba(132,250,176,.16);
    --theme-s2-gradient:rgba(132,250,176,.22);
    
    --theme-s3-color:#f59e0b;
    --theme-s3-soft:rgba(245,158,11,.12);
    --theme-s3-gradient:rgba(245,158,11,.18);
    
    --theme-s4-color:#f97316;
    --theme-s4-soft:rgba(249,115,22,.14);
    --theme-s4-gradient:rgba(249,115,22,.20);
    
    --theme-s5-color:#ef4444;
    --theme-s5-soft:rgba(239,68,68,.14);
    --theme-s5-gradient:rgba(239,68,68,.20);
    
    --debt-gradient-1:rgba(16,185,129,.08);
    --debt-gradient-2:rgba(132,250,176,.10);
    --debt-gradient-3:rgba(245,158,11,.10);
    --debt-gradient-4:rgba(249,115,22,.12);
    --debt-gradient-5:rgba(239,68,68,.12);
}
.app-shell{
    max-width:1320px;
    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    gap:22px;
    padding:22px;
}
.app-main{min-width:0;animation:pageIn .48s cubic-bezier(.2,.8,.2,1)}
@keyframes pageIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.mode-changing .app-main,.mode-changing .mobile-balance-home,.mode-changing .desktop-dashboard-hero{animation:adaptiveSwitch .5s cubic-bezier(.2,.8,.2,1)}
@keyframes adaptiveSwitch{0%{opacity:.2;transform:translateY(18px) scale(.98);filter:blur(4px)}100%{opacity:1;transform:none;filter:blur(0)}}
.desktop-sidebar{
    position:sticky;top:22px;height:calc(100vh - 44px);box-sizing:border-box;
    background:rgba(255,255,255,.78);backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.7);border-radius:30px;padding:18px;
    box-shadow:0 24px 60px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:18px;
}
.brand-card{display:flex;gap:12px;align-items:center;padding:12px;border-radius:20px;background:linear-gradient(135deg,var(--theme-dynamic-soft),#fff)}
.brand-mark{width:46px;height:46px;border-radius:16px;background:var(--theme-dynamic);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:900;box-shadow:0 12px 28px var(--theme-dynamic-soft)}
.brand-card strong{display:block;font-size:18px}.brand-card small{display:block;color:var(--muted);margin-top:2px}
.desktop-nav{display:flex;flex-direction:column;gap:8px}.desktop-nav a{padding:13px 14px;border-radius:16px;color:#374151;font-weight:800}.desktop-nav a:hover{background:var(--theme-dynamic-soft);color:var(--theme-dynamic)}
.desktop-flow-card{margin-top:auto;border-radius:22px;padding:16px;background:#111827;color:#fff;overflow:hidden;position:relative}.desktop-flow-card p{margin:8px 0 0;color:rgba(255,255,255,.68);font-size:13px;line-height:1.6}.flow-dot{position:absolute;right:-20px;top:-20px;width:92px;height:92px;border-radius:50%;background:var(--theme-dynamic);opacity:.45;animation:pulseDot 2.4s ease-in-out infinite}@keyframes pulseDot{50%{transform:scale(1.18);opacity:.25}}
.app-header{background:rgba(255,255,255,.7);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.72);border-radius:24px;padding:14px 16px;box-shadow:0 12px 36px rgba(15,23,42,.06)}
.back-link,.desktop-nav a:hover{color:var(--theme-dynamic)}
.small-primary-btn,.primary-btn,.mobile-calc-grid .calc-ok,.entry-subcategory.active{background:var(--theme-dynamic)!important;}
.net-card{background:var(--theme-dynamic)!important;box-shadow:0 18px 50px var(--theme-dynamic-soft)}
.desktop-dashboard-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:16px;margin-bottom:16px}.desktop-hero-left{border-radius:30px;padding:28px;background:linear-gradient(135deg,#fff,var(--theme-dynamic-soft));box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.72)}.hero-kicker{color:var(--theme-dynamic);font-weight:900}.desktop-hero-left h1{font-size:38px;line-height:1.16;margin:14px 0 10px}.desktop-hero-left p{color:#4b5563;line-height:1.8;margin:0 0 20px}.desktop-flow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.desktop-flow-steps div{background:#fff;border:1px solid var(--border);border-radius:18px;padding:12px;text-align:center}.desktop-flow-steps b{width:30px;height:30px;border-radius:50%;background:var(--theme-dynamic-soft);color:var(--theme-dynamic);display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px}.desktop-flow-steps span{display:block;font-weight:800;color:#374151;font-size:13px}.desktop-net-card{margin:0;display:flex;flex-direction:column;justify-content:center}.dashboard-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.income-card{border-left-color:#10b981}.expense-card{border-left-color:#ef4444}.kline-card{background:linear-gradient(180deg,#fff,var(--theme-dynamic-soft))}
.mobile-balance-home{display:none}
.mobile-fab{display:flex!important;align-items:center;justify-content:center;line-height:1;padding:0;font-size:32px;background:var(--theme-dynamic)!important;box-shadow:0 16px 36px var(--theme-dynamic-soft)}
.mobile-tabbar{display:none}
.balance-card-main,.asset-box,.health-card{transition:transform .25s ease,box-shadow .25s ease}.balance-card-main:hover,.asset-box:hover{transform:translateY(-2px)}

@media (max-width:760px){
    body{background:linear-gradient(180deg,var(--theme-dynamic-soft),#f8fafc 26%,#f6f7fb)}
    .balance-tabs{height:49px;background:#fff;display:grid;grid-template-columns:repeat(4,1fr);align-items:end;padding:0 10px;box-shadow:0 2px 10px rgba(15,23,42,.04);position:sticky;top:0;z-index:20}.balance-tabs button{border:0;background:transparent;height:49px;font-size:15px;color:#4b5563;position:relative}.balance-tabs button.active{font-weight:900;color:#111827}.balance-tabs button.active:after{content:"";position:absolute;left:25%;right:25%;bottom:0;height:3px;border-radius:99px;background:#111827}
    .balance-card-main{position:relative;margin:18px 14px 16px;padding:26px 16px 18px;border-radius:20px;background:rgba(255,255,255,.94);border:2px solid rgba(250,204,170,.75);box-shadow:0 12px 38px rgba(249,115,22,.12);overflow:visible}.balance-card-main:before{content:"";position:absolute;left:0;right:0;top:-18px;height:68px;background:linear-gradient(180deg,rgba(248,113,113,.6),rgba(255,255,255,0));z-index:-1}.balance-step{position:absolute;top:-1px;left:50%;transform:translateX(-50%);min-width:118px;text-align:center;padding:8px 18px 9px;border-radius:0 0 20px 20px;background:#fff3df;border:2px solid #f6d3ad;border-top:0;color:#9a3412;font-weight:900;letter-spacing:.08em}.balance-title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-top:6px}.balance-title-row h1{font-size:26px;line-height:1.1;margin:0 0 6px;font-weight:900}.balance-title-row h1 span{display:inline-flex;width:18px;height:18px;border-radius:50%;align-items:center;justify-content:center;background:#d1d5db;color:#fff;font-size:12px;vertical-align:middle}.balance-title-row p{margin:0;color:#6b7280}.balance-title-row a{color:#4b5563;font-size:14px;white-space:nowrap;margin-top:4px}.asset-debt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.asset-box{min-height:126px;border-radius:14px;padding:13px 14px;box-sizing:border-box;border:1px solid #f1f5f9}.asset-box span{display:block;font-size:15px;margin-bottom:18px}.asset-box b{display:block;font-size:17px;margin-bottom:5px}.asset-box small{display:block;color:#6b7280}.asset-box strong{display:block;margin-top:18px;font-size:24px}.asset-box-left{background:linear-gradient(135deg,#fff1f2,#fff);color:#b91c1c}.asset-box-left b,.asset-box-left small{color:#111827}.asset-box-right{background:linear-gradient(135deg,#eff6ff,#fff);color:#1d4ed8}.asset-box-right b,.asset-box-right small{color:#111827}.health-card{margin-top:18px;display:flex;gap:12px;padding:18px 14px;background:#fff;border-radius:16px;box-shadow:0 8px 28px rgba(15,23,42,.06);border:1px solid #f1f5f9}.health-avatar{font-size:25px;padding-top:3px}.health-card h2{font-size:21px;margin:0 0 8px}.health-card p{font-size:16px;color:#4b5563;line-height:1.55;margin:0}.ratio-bar{height:8px;border-radius:99px;background:#fee2e2;margin:16px 2px 8px;overflow:hidden}.ratio-bar div{height:100%;border-radius:99px;background:var(--theme-dynamic)}.ratio-text{display:flex;justify-content:space-between;color:#6b7280;font-size:12px;margin-bottom:14px}.credit-action{height:68px;border-radius:5px;background:#f43f5e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;box-shadow:0 12px 24px rgba(244,63,94,.2)}
    .section-block{margin:14px;border-radius:20px}.chart-section{padding-top:18px}#trendChart{height:260px}.account-card{min-width:165px}.page-title{font-size:20px}.entry-sheet{animation:sheetUp .28s ease-out}@keyframes sheetUp{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
}

@media (min-width:761px){
    .mobile-fab,.entry-sheet-mask{display:none!important}.mobile-tabbar{display:none!important}.section-block{border-radius:28px}.account-card:hover,.transaction-row:hover{transform:translateY(-1px);transition:.22s ease}.transaction-row{border-radius:16px;padding-left:10px;padding-right:10px}.transaction-row:hover{background:#f9fafb}.chart-section #trendChart{height:320px}
}

/* ===== 2026-05-15 优化：去除无效流程动画、账户条形列表、K线切换、分类增强 ===== */
.app-main,.mobile-balance-home,.desktop-dashboard-hero{animation:none!important;transition:none!important}
.mode-changing .app-main,.mode-changing .mobile-balance-home,.mode-changing .desktop-dashboard-hero{animation:none!important}
.desktop-flow-card,.desktop-flow-steps,.balance-tabs{display:none!important}
.clean-desktop-hero .desktop-hero-left p{margin-bottom:0}.clean-balance-card{margin-top:18px}.clean-balance-card:before{background:linear-gradient(180deg,var(--theme-dynamic-soft),rgba(255,255,255,0))}.balance-step{letter-spacing:0!important;min-width:132px!important}.mobile-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.mobile-action-grid a{height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--theme-dynamic),#f97316)}.mobile-action-grid a:last-child{background:#111827}.compact-health-card h2{font-size:18px}.compact-health-card p{font-size:14px}.chart-title-row{align-items:flex-start}.chart-switcher{display:flex;gap:7px;background:#f3f4f6;border-radius:14px;padding:5px}.chart-switcher button{border:0;background:transparent;border-radius:10px;padding:8px 12px;color:#6b7280;font-weight:900}.chart-switcher button.active{background:#fff;color:var(--theme-dynamic);box-shadow:0 4px 12px rgba(15,23,42,.08)}
.account-row-list{display:flex;flex-direction:column;gap:10px}.account-line{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:13px 14px;box-shadow:0 8px 20px rgba(15,23,42,.045)}.account-line-icon{width:42px;height:42px;flex:0 0 42px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:var(--theme-dynamic-soft);color:var(--theme-dynamic);font-weight:900}.account-line-main{flex:1;min-width:0}.account-line-main strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-line-main span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.account-line-money{font-weight:900;white-space:nowrap}.account-line-view{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.account-manage-line{display:block;padding:0;overflow:hidden}.account-manage-line .account-line-view{padding:14px}.account-line-actions{display:none;align-items:center;justify-content:flex-end;gap:8px;padding:0 14px 14px;border-top:1px solid var(--border);padding-top:12px;background:#fafafa}.accounts-manager.is-editing .account-line-actions{display:flex}.accounts-manager.is-editing .account-manage-line{border-color:var(--theme-dynamic);box-shadow:0 8px 26px var(--theme-dynamic-soft)}.add-account-form{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;align-items:center}.manual-category-grid{margin:10px 0 12px;padding-top:2px}.manual-category-grid input{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:14px;background:#fff;padding:12px 13px;font-size:14px}.entry-category-area[style*="none"]{display:none!important}
.mobile-fab{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1!important;padding:0!important;font-size:31px!important;font-weight:400!important}
@media (max-width:760px){.balance-card-main{margin-top:18px!important}.balance-title-row h1{font-size:24px!important}.section-title-row.chart-title-row{display:block}.chart-switcher{margin-top:10px;width:max-content}.account-line{border-radius:16px}.add-account-form{display:flex;flex-direction:column}.manual-category-grid{grid-template-columns:1fr}.entry-subcategories{max-height:94px;overflow-y:auto;padding-bottom:2px}.mobile-calc-grid button{height:48px}.app-shell{padding-top:0!important}.chart-section #trendChart,#trendChart{height:300px!important}}
@media (min-width:761px){.mobile-balance-home{display:none!important}.account-manager-list{display:grid;grid-template-columns:1fr 1fr}.compact-account-list{display:grid;grid-template-columns:1fr 1fr}.mobile-fab,.entry-sheet-mask{display:none!important}.add-account-form button{height:46px}.chart-section #trendChart{height:380px!important}}

/* ===== 2026-05-15 V4：移动资产负债表入口、隐藏移动记账页、统一弹窗与账户页 ===== */
.mobile-fab{display:none!important}
.entry-sheet-mask[style*="flex"]{display:flex!important}
.app-main,.mobile-balance-home,.desktop-dashboard-hero{animation:none!important;transition:none!important}
.no-step-card{padding-top:20px!important;border-color:rgba(255,255,255,.88)!important;box-shadow:0 16px 44px rgba(15,23,42,.08)!important}
.no-step-card:before,.balance-step{display:none!important}
.net-summary-pill{margin-top:14px;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,var(--theme-dynamic-soft),#fff);border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.net-summary-pill span{color:var(--muted);font-weight:800}.net-summary-pill strong{font-size:22px;font-weight:900;color:var(--theme-dynamic)}
.mobile-action-grid button{height:50px;border:0;border-radius:15px;display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--theme-dynamic),#f97316);font-size:16px}.mobile-action-grid button:last-child{background:#111827}
.unified-card,.chart-section,.recent-transactions-section{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.78);box-shadow:0 14px 38px rgba(15,23,42,.06)}
.account-category-list{display:flex;flex-direction:column;gap:16px}.account-category-title{font-size:13px;font-weight:900;color:var(--muted);padding:0 2px 8px}.account-category-group{display:flex;flex-direction:column;gap:9px}.mobile-account-summary{display:none}.mobile-account-summary-card{margin:14px 14px 0;border-radius:22px;padding:18px;background:linear-gradient(135deg,var(--theme-dynamic),#f97316);color:#fff;box-shadow:0 16px 38px var(--theme-dynamic-soft)}.mobile-account-summary-card span{display:block;opacity:.88;font-size:13px}.mobile-account-summary-card strong{display:block;font-size:30px;margin:8px 0 12px}.mobile-account-summary-card div{display:flex;gap:10px;flex-wrap:wrap}.mobile-account-summary-card em{font-style:normal;font-size:12px;background:rgba(255,255,255,.18);border-radius:999px;padding:6px 10px}
.bottom-add-account-wrap{position:sticky;bottom:84px;z-index:30;margin:12px 0 0}.bottom-add-account-btn{width:100%;border:0;border-radius:18px;height:54px;color:#fff;font-size:17px;font-weight:900;background:linear-gradient(135deg,var(--theme-dynamic),#f97316);box-shadow:0 14px 34px var(--theme-dynamic-soft)}
.app-form-modal-mask,.app-modal-mask{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:10050;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}.app-form-modal-mask{display:flex}.app-form-modal{width:min(440px,100%);background:#fff;border-radius:26px;padding:18px;box-shadow:0 24px 70px rgba(15,23,42,.22)}.modal-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-title-row h2{margin:0;font-size:20px}.modal-title-row button{width:38px;height:38px;border:0;border-radius:14px;background:#f3f4f6;font-size:24px;color:#6b7280}.add-account-form-modal{gap:12px}.add-account-form-modal .primary-btn{height:48px}
.app-modal-mask{display:none}.app-modal-mask.show{display:flex}.app-modal{width:min(360px,92vw);background:#fff;border-radius:26px;padding:24px;text-align:center;box-shadow:0 24px 70px rgba(15,23,42,.25)}.app-modal-icon{width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:#fef2f2;color:#ef4444;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:24px}.app-modal h3{margin:0 0 8px;font-size:20px}.app-modal p{margin:0 0 18px;color:#4b5563;line-height:1.6}.app-modal button{width:100%;height:46px;border:0;border-radius:15px;color:#fff;font-weight:900;background:linear-gradient(135deg,var(--theme-dynamic),#f97316)}
.account-detail-card{margin:0 0 16px;border-radius:28px;overflow:hidden}.page-account_detail .account-detail-card{margin-left:0;margin-right:0}.page-account_detail .section-block{overflow:hidden}.desktop-nav a.active{background:var(--theme-dynamic-soft);color:var(--theme-dynamic)}
@media (max-width:760px){
    .mobile-account-summary{display:block}.page-accounts .section-block{margin-top:12px}.page-transactions .tabs,.page-transactions #incomeTab,.page-transactions #transferTab,.page-transactions #repayTab{display:none!important}.page-transactions .section-block:first-of-type{display:none!important}.mobile-tabbar{height:70px}.mobile-tabbar a{font-size:12px}.mobile-tabbar a span{font-size:21px}.mobile-balance-home{display:block!important}.balance-card-main{margin:14px!important;border-radius:24px!important;padding:20px 16px 18px!important}.balance-title-row{margin-top:0!important}.asset-box strong{font-size:21px!important}.health-card{padding:15px 13px!important}.chart-section{margin-top:12px}.desktop-only-section{display:none!important}.recent-transactions-section{margin-bottom:14px}.account-line{box-shadow:0 8px 22px rgba(15,23,42,.04)}.account-manage-line .account-line-view{padding:13px}.account-line-actions{flex-wrap:wrap;justify-content:flex-start}.account-line-actions .inline-balance-form{width:100%}.inline-balance-input{width:100%;text-align:left;background:#fff;border:1px solid var(--border);border-radius:12px;padding:10px 12px;box-sizing:border-box}.bottom-add-account-wrap{margin:0 14px 12px}.account-detail-card{margin:14px!important;border-radius:24px!important;padding:20px!important}.page-account_detail .section-block{margin:14px!important}.entry-sheet{border-radius:26px 26px 0 0}.entry-tabs{grid-template-columns:repeat(4,1fr)}
}
@media (min-width:761px){
    .bottom-add-account-wrap{max-width:360px;margin-left:auto}.mobile-tabbar{display:none!important}.entry-sheet-mask[style*="flex"]{display:flex!important}.account-manager-list{display:flex!important}.account-category-group{background:#fff;border:1px solid var(--border);border-radius:20px;padding:12px}.app-form-modal-mask[style*="flex"]{display:flex!important}.mobile-account-summary{display:none!important}
}

/* V5 category and copy cleanup */
.entry-category-area{margin-top:4px;}
.entry-subcategory{white-space:nowrap;}
.manual-category-grid[style*="block"]{display:block!important;}
.simple-status-card{padding:12px 14px!important;align-items:center;}
.simple-status-card h2{font-size:16px!important;margin:0!important;}
.asset-box{min-height:104px;}
.asset-box span{margin-bottom:10px!important;}
.asset-box strong{margin-top:12px!important;}
.desktop-hero-left h1{margin-bottom:0;}
.section-title-row .muted:empty{display:none;}

/* V6: unified product tone; no two-color gradients, only theme-color transparency */
body,.auth-body,.auth-page{background:linear-gradient(180deg,var(--theme-dynamic-soft),#f8fafc 30%,#f6f7fb)!important;}
.brand-card,.desktop-hero-left,.kline-card,.balance-card-main:before,.asset-box-left,.asset-box-right,.net-summary-pill{background:var(--theme-dynamic-soft)!important;}
.small-primary-btn,.primary-btn,.mobile-calc-grid .calc-ok,.entry-subcategory.active,.net-card,.mobile-account-summary-card,.bottom-add-account-btn,.app-modal button,.auth-card button,.mobile-action-grid button{background:var(--theme-dynamic)!important;color:#fff!important;}
.mobile-action-grid button:last-child{background:#111827!important;}
.balance-card-main{border-color:var(--theme-dynamic-soft)!important;box-shadow:0 12px 38px var(--theme-dynamic-soft)!important;}
.asset-box{background:rgba(255,255,255,.82)!important;color:#111827!important;}
.asset-box span,.asset-box strong{color:var(--theme-dynamic)!important;}
.bottom-add-account-wrap{position:static!important;bottom:auto!important;z-index:auto!important;margin:18px 14px 92px!important;}
@media (min-width: 769px){.bottom-add-account-wrap{margin:18px 0 0!important;max-width:none!important;}.bottom-add-account-btn{max-width:420px;}}
.credit-fields-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.credit-fields-inline input{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:14px;padding:12px;background:#fff;}
.profile-user-line{display:flex;align-items:center;gap:14px;margin:14px 0 16px}.profile-avatar{width:54px;height:54px;border-radius:20px;background:var(--theme-dynamic);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900}.profile-user-line strong{display:block;font-size:18px}.profile-user-line span{display:block;color:var(--muted);margin-top:4px}.profile-stat-grid,.admin-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-stat-grid div,.admin-stat-grid div{border:1px solid var(--border);border-radius:18px;padding:14px;background:rgba(255,255,255,.78)}.profile-stat-grid span,.admin-stat-grid span{display:block;color:var(--muted);font-size:12px}.profile-stat-grid b,.admin-stat-grid b{display:block;margin-top:8px;font-size:20px;color:var(--theme-dynamic)}.inline-form{display:flex;gap:10px;margin-top:10px;align-items:center}.inline-form input,.inline-form select{flex:1;min-width:0;border:1px solid var(--border);border-radius:14px;padding:12px;background:#fff}.category-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.category-editor-card{border:1px solid var(--border);border-radius:20px;padding:14px;background:#fff}.category-editor-card h3{margin:0 0 12px}.category-chip-list{display:flex;gap:8px;flex-wrap:wrap}.category-chip{display:inline-flex;gap:8px;align-items:center;padding:8px 10px;border-radius:999px;background:var(--theme-dynamic-soft);color:var(--theme-dynamic);font-weight:800}.category-chip a{color:inherit}.flat-list{box-shadow:none}.reminder-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border-bottom:1px solid var(--border);color:#111827}.reminder-line:last-child{border-bottom:0}.reminder-line strong,.reminder-line b{display:block}.reminder-line span,.reminder-line em{display:block;color:var(--muted);font-size:12px;font-style:normal;margin-top:4px}.reminder-line.is-warning{background:rgba(239,68,68,.08);border-radius:16px}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:separate;border-spacing:0 8px}.admin-table th{font-size:12px;text-align:left;color:var(--muted);padding:8px}.admin-table td{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px}.admin-table td:first-child{border-left:1px solid var(--border);border-radius:14px 0 0 14px}.admin-table td:last-child{border-right:1px solid var(--border);border-radius:0 14px 14px 0}.member-badge{display:inline-block;padding:7px 10px;border-radius:999px;background:var(--theme-dynamic-soft);color:var(--theme-dynamic);font-weight:800}.admin-table select{border:1px solid var(--border);border-radius:10px;padding:8px;background:#fff}
@media (max-width: 768px){.credit-fields-inline,.profile-stat-grid,.admin-stat-grid,.category-editor-grid{grid-template-columns:1fr}.inline-form{flex-direction:column;align-items:stretch}.page-profile .section-block,.page-admin .section-block{margin:14px!important}.app-header .page-subtitle{display:none}.app-header{padding:10px 14px}.bottom-add-account-wrap{margin:18px 14px 92px!important}.admin-table{min-width:720px}}


/* V7: 移动端计算器两层结构 */
.entry-step{display:none;}
.entry-step.active{display:block;}
.entry-step-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 12px;}
.entry-step-title strong{font-size:17px;color:#111827;}
.entry-step-title span{font-size:13px;color:var(--theme-dynamic);font-weight:900;background:var(--theme-dynamic-soft);padding:7px 10px;border-radius:999px;}
.entry-back-btn{width:38px;height:38px;border:none;border-radius:14px;background:#f3f4f6;color:#111827;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;}
.two-step-entry .entry-form{margin-bottom:12px;}
.refund-toggle{display:flex!important;align-items:center;gap:10px;border:1px solid var(--border);border-radius:16px;background:var(--theme-dynamic-soft);padding:12px 14px;font-weight:900;color:#111827;}
.refund-toggle input{width:18px!important;height:18px;accent-color:var(--theme-dynamic);}
.refund-toggle span{color:#111827;}
.amount-display-row{margin-top:8px;border-radius:18px;border:1px solid var(--border);padding:14px;background:#f9fafb;}
.entry-submit-full{width:100%;border:none;margin-top:14px;padding:14px;border-radius:18px;font-size:16px;font-weight:900;}
.two-step-entry .manual-category-grid{margin-top:10px;margin-bottom:2px;}
.two-step-entry .manual-category-grid input{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:16px;padding:13px 14px;font-size:15px;}
.two-step-entry .entry-subcategories{max-height:210px;overflow-y:auto;padding:2px 0 4px;margin-bottom:0;}

/* V9 unified product polish */
.brand-card,.desktop-hero-left,.kline-card,.balance-card-main:before,.asset-box-left,.asset-box-right,.net-summary-pill,.mobile-account-summary-card,.bottom-add-account-btn{background:var(--theme-dynamic-soft)!important;background-image:none!important;}
.small-primary-btn,.primary-btn,.mobile-calc-grid .calc-ok,.entry-subcategory.active,.net-card,.app-modal button,.auth-card button,.mobile-action-grid button{background:var(--theme-dynamic)!important;background-image:none!important;color:#fff!important;}
.mobile-account-summary-card{color:#111827!important;border:1px solid var(--theme-dynamic-soft)!important;box-shadow:0 12px 30px var(--theme-dynamic-soft)!important;}
.balance-card-main{margin-top:0!important;border-radius:0 0 28px 28px!important;border-top:0!important;background:#fff!important;}
.page-dashboard .app-main{background:linear-gradient(180deg,var(--theme-dynamic-soft) 0,rgba(255,255,255,0) 220px)!important;}
@media (max-width:760px){.mobile-balance-home{padding-top:0!important;background:var(--theme-dynamic-soft)!important;}.mobile-balance-home .balance-card-main{margin:0 0 16px!important;padding-top:24px!important}.page-dashboard .section-block{margin-left:14px!important;margin-right:14px!important}.balance-card-main:before{display:none!important}.asset-box{background:rgba(255,255,255,.74)!important}.health-card{background:rgba(255,255,255,.74)!important}.health-card p{font-size:13px;line-height:1.45;margin-top:4px}.mobile-account-summary-card{background:#fff!important}.bottom-add-account-wrap{position:static!important;margin:18px 14px 92px!important}.bottom-add-account-btn{background:var(--theme-dynamic)!important;color:#fff!important}.profile-stat-row{display:grid!important;grid-template-columns:repeat(3,1fr)!important}.profile-stat-row b{font-size:18px!important}.profile-stat-row div{padding:12px 8px!important;text-align:center}.profile-stat-row span{font-size:11px!important}.settings-list a{min-height:52px}.account-reminder-block{margin-top:12px!important}}
@media (min-width:761px){.page-dashboard .app-main{background:transparent!important}.settings-card{max-width:780px}.profile-stat-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
.profile-head-row{align-items:center}.compact-profile-line{margin:0!important}.gear-btn{width:42px;height:42px;border-radius:16px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:#fff;color:#111827;font-size:20px;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.settings-user-card{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--border);border-radius:20px;background:#fff;margin:12px 0}.settings-user-card strong{display:block}.settings-user-card span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.settings-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:#fff}.settings-list a{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;color:#111827;border-bottom:1px solid var(--border);font-weight:800}.settings-list a:last-child{border-bottom:0}.settings-list span{color:var(--muted);font-weight:700}.logout-line{display:flex;align-items:center;justify-content:center;height:52px;color:#ef4444;font-weight:900}.advice-pill{padding:12px 14px;border-radius:16px;margin-bottom:10px;font-size:13px;font-weight:800}.advice-ok{background:rgba(16,185,129,.10);color:#047857}.advice-warning{background:rgba(245,158,11,.12);color:#b45309}.advice-danger{background:rgba(239,68,68,.10);color:#b91c1c}.reminder-line.is-danger{background:rgba(239,68,68,.10);border-radius:16px}.reminder-line.is-warning{background:rgba(245,158,11,.12);border-radius:16px}.reminder-line.is-ok{background:rgba(16,185,129,.08);border-radius:16px}.reminder-line.is-normal{background:#fff}.chart-section h2{font-size:19px}.desktop-sidebar .desktop-nav a[href*="admin"]{margin-top:14px}.app-main{animation:none!important;transition:none!important}.mobile-balance-home{animation:none!important;transition:none!important}.desktop-dashboard-hero{animation:none!important;transition:none!important}

/* V10 polish */
body{background:linear-gradient(180deg,var(--theme-dynamic-soft) 0,#f6f8fb 220px,#f6f8fb 100%)!important;}
.page-dashboard .app-main{padding-top:0!important;}
.mobile-balance-home{margin-top:calc(-1 * env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:var(--theme-dynamic-soft);}
.mobile-tabbar a span{display:none!important}.mobile-tabbar a{gap:0!important}.mobile-tabbar b{font-size:13px!important}
.book-current-line{display:flex;align-items:center;justify-content:space-between;padding:14px 0;font-size:15px}.book-current-line span{color:var(--theme-dynamic)}
.row-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.full-link-btn{display:flex!important;justify-content:center;margin-top:12px}.switch-line{display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;background:var(--theme-dynamic-soft)}
.entry-sheet{width:min(560px,94vw)!important;max-height:88vh!important}.entry-step-two{min-height:520px}.entry-category-area{min-height:350px}.entry-subcategories{grid-template-columns:repeat(3,1fr)!important;gap:10px}.entry-subcategory{min-height:48px}.manual-category-grid{margin-top:14px!important;padding-top:0!important}.manual-category-grid input{width:100%;box-sizing:border-box}
.app-modal-actions{display:flex;gap:10px;justify-content:center}.app-modal-actions button{border:0;border-radius:14px;padding:11px 18px;font-weight:700}.app-modal-actions #appModalCancel{background:#f3f4f6;color:#374151}.app-modal-actions #appModalOk{background:var(--theme-dynamic);color:#fff}
.admin-table select{border:1px solid rgba(148,163,184,.35);border-radius:10px;padding:6px 8px;background:#fff}.admin-table .btn-sm{margin-right:6px}
@media(max-width:760px){.bottom-add-account-wrap{position:static!important;margin:14px 16px 90px!important}.bottom-add-account-btn{width:100%}.app-header{display:none!important}.app-main{padding-top:0!important}.section-block{margin-left:14px!important;margin-right:14px!important}.entry-subcategories{grid-template-columns:repeat(3,1fr)!important}.entry-sheet{border-radius:24px 24px 0 0!important;width:100%!important;max-height:90vh!important}.entry-step-two{min-height:58vh}}

/* V11 transaction detail, unified cards and full-screen background */
html,body{min-height:100%;}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,var(--theme-dynamic-soft) 0,#f6f8fb 240px,#f6f8fb 100%);pointer-events:none;}
.app-shell,.app-main{min-height:100vh;background:transparent!important;}
@media(max-width:760px){body{background:transparent!important}.app-main{padding-bottom:86px}.page-dashboard .mobile-balance-home{background:transparent!important}.mobile-balance-home{background:transparent!important}}
.asset-debt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.asset-box{min-height:112px!important;height:auto!important;box-sizing:border-box;display:flex!important;flex-direction:column;justify-content:center}.asset-box span,.asset-box b,.asset-box strong{display:block}.net-summary-pill{min-height:58px;box-sizing:border-box}.balance-card-main{box-shadow:0 16px 40px rgba(15,23,42,.08)!important}
.transaction-row{text-decoration:none;color:inherit}.transaction-row:hover{transform:translateY(-1px)}.txn-date-line{font-size:11px;color:#9ca3af}.detail-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-btn{border:0;text-decoration:none;border-radius:16px;padding:11px 14px;font-weight:900;display:inline-flex;align-items:center;justify-content:center}.card-btn.ghost{background:#fff;color:#111827;border:1px solid var(--border)}.card-btn.danger{background:rgba(239,68,68,.1);color:#dc2626}.time-card{border-radius:22px;padding:14px 16px;margin-bottom:14px;border:1px solid var(--border);background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.05)}.time-card span{display:block;color:var(--muted);font-size:12px}.time-card strong{display:block;margin-top:4px;color:#111827}.time-card.mid{opacity:.82}.time-card.old{opacity:.62}.detail-form label{font-size:13px;font-weight:900;color:#374151;margin-top:4px}.card-choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-card-row{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-card{border:1px solid var(--border);background:#fff;border-radius:16px;min-height:46px;padding:10px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;color:#111827;box-sizing:border-box}.choice-card input{display:none}.choice-card:has(input:checked),.choice-card.active{background:var(--theme-dynamic)!important;color:#fff!important;border-color:transparent}.choice-card.plain{cursor:pointer}.choice-card.plain.active{background:var(--theme-dynamic)!important;color:#fff!important}.amount-input-card{font-size:28px!important;text-align:right;font-weight:900;color:var(--theme-dynamic)!important;background:var(--theme-dynamic-soft)!important;border-color:transparent!important}.simple-calc-sheet{width:min(520px,94vw);background:#fff;border-radius:28px;padding:18px;box-shadow:0 24px 80px rgba(15,23,42,.22)}
.mobile-tabbar{left:50%!important;transform:translateX(-50%);bottom:12px!important;width:min(360px,calc(100vw - 28px))!important;border:1px solid rgba(148,163,184,.22);border-radius:24px!important;padding:6px!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(18px);box-shadow:0 18px 50px rgba(15,23,42,.12);display:grid!important;grid-template-columns:repeat(3,1fr);gap:6px}.mobile-tabbar a{height:44px!important;border-radius:18px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#6b7280!important;text-decoration:none!important;font-weight:900!important}.mobile-tabbar a.active{background:var(--theme-dynamic)!important;color:#fff!important;box-shadow:0 10px 24px var(--theme-dynamic-soft)}.mobile-tabbar a b{font-size:13px!important}.mobile-tabbar a span{display:none!important}
.file-card-picker{border:1px dashed rgba(148,163,184,.65);background:#fff;border-radius:22px;min-height:118px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;cursor:pointer;box-shadow:0 10px 24px rgba(15,23,42,.04)}.file-card-picker input{display:none}.file-card-picker span{font-weight:900;color:#111827}.file-card-picker b{font-size:12px;color:var(--muted)}.import-card-form{margin-top:14px}
.entry-option-cards{margin-bottom:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.entry-option-cards .choice-card{border:none;min-height:40px;background:var(--theme-dynamic-soft);color:var(--theme-dynamic)}.entry-second-extra{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}.entry-second-extra input{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:16px;padding:13px 14px;font-size:15px}.entry-sheet,.simple-calc-sheet{background:#fff}.entry-step-two{min-height:58vh}.entry-category-area{min-height:280px}.app-modal-actions button{min-width:86px;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}.app-modal-actions #appModalCancel{background:#f3f4f6!important;color:#374151!important}.app-modal-actions #appModalOk{background:var(--theme-dynamic)!important;color:#fff!important}
@media(max-width:760px){.category-card-row{grid-template-columns:repeat(3,minmax(0,1fr))}.card-choice-row{gap:9px}.transaction-detail-page{margin-top:14px!important}.simple-calc-sheet{width:100%;border-radius:24px 24px 0 0}.entry-sheet-mask{align-items:flex-end!important}.asset-debt-grid{gap:10px}.asset-box{min-height:104px!important}.balance-card-main{border-radius:0 0 24px 24px!important}}


/* ===== V12: iOS 液态玻璃、PC隐藏移动导航、首页卡片设置、今日收支指数条 ===== */
:root{--glass-bg:rgba(255,255,255,.66);--glass-border:rgba(255,255,255,.72);--glass-shadow:0 18px 50px rgba(15,23,42,.10)}
html,body{min-height:100%;background:radial-gradient(circle at 18% -8%,var(--theme-dynamic-soft),transparent 34%),linear-gradient(180deg,#f7f8fb 0%,#eef3f7 100%) fixed!important;}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 80% 8%,var(--theme-dynamic-soft),transparent 32%),radial-gradient(circle at 35% 100%,rgba(255,255,255,.9),transparent 45%);pointer-events:none}.app-shell{background:transparent!important}.app-main{min-height:100vh}.section-block,.mini-card,.account-line,.mobile-balance-home .balance-card-main,.unified-card,.kline-card,.recent-transactions-section,.profile-hero,.settings-card,.app-form-modal,.app-modal,.entry-sheet,.net-summary-pill,.asset-box,.health-card{background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--glass-shadow)!important;backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4)}
.net-card,.desktop-net-card,.mobile-account-summary-card{background:linear-gradient(135deg,var(--theme-dynamic),rgba(255,255,255,.26))!important;border:1px solid rgba(255,255,255,.42);backdrop-filter:blur(20px) saturate(1.35);-webkit-backdrop-filter:blur(20px) saturate(1.35)}
.primary-btn,.small-primary-btn,.mobile-action-grid button,.bottom-add-account-btn{background:var(--theme-dynamic)!important;box-shadow:0 12px 30px var(--theme-dynamic-soft)!important}.text-blue,.back-link{color:var(--theme-dynamic)!important}.income-card,.expense-card{border-left-color:var(--theme-dynamic)!important}
@media (min-width:761px){.mobile-tabbar{display:none!important}.app-shell{padding-bottom:28px!important}.entry-sheet-mask{display:none!important}}
@media (max-width:760px){.desktop-sidebar,.app-header{display:none!important}.app-shell{padding:0 12px 74px!important;max-width:none}.mobile-tabbar{height:58px!important;left:10px!important;right:10px!important;bottom:10px!important;border-radius:22px!important;border:1px solid var(--glass-border)!important;background:rgba(255,255,255,.72)!important;box-shadow:0 12px 36px rgba(15,23,42,.12)!important;padding:5px!important;gap:5px;box-sizing:border-box}.mobile-tabbar a{height:48px!important;border-radius:17px!important;font-size:13px!important}.mobile-tabbar a.active{background:var(--theme-dynamic-soft)!important;color:var(--theme-dynamic)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}.mobile-balance-home{padding-top:12px}.mobile-balance-home .balance-card-main{margin:0 0 12px!important;border-radius:24px!important;padding:16px!important;box-sizing:border-box}.balance-title-row{margin-bottom:14px!important}.balance-title-row h1{font-size:19px!important}.balance-title-row p{font-size:12px!important}.asset-debt-grid{gap:10px!important}.asset-box{min-height:96px!important;padding:14px!important;border-radius:19px!important}.asset-box strong{font-size:18px!important}.net-summary-pill{margin-top:10px!important;padding:12px 14px!important}.health-card{padding:12px!important}.ratio-bar{margin-top:12px!important}.chart-section,#trendChart{min-height:0}.bottom-add-account-wrap{position:static!important;margin:14px 0 0!important}.row-actions{display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center!important;justify-content:flex-end!important}.btn-sm{display:inline-flex!important;align-items:center;justify-content:center;min-width:72px}}
.today-market-strip{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;overflow:hidden;border-radius:18px;padding:12px;margin:4px 0 12px;background:rgba(255,255,255,.46);border:1px solid rgba(255,255,255,.66)}.today-market-strip div{position:relative;z-index:2}.today-market-strip span{display:block;font-size:11px;color:var(--muted);font-weight:800}.today-market-strip b{display:block;margin-top:4px;font-size:14px;font-weight:950}.today-market-strip i{position:absolute;left:0;bottom:0;height:3px;background:var(--theme-dynamic);border-radius:999px;transition:.25s ease}.chart-section .section-title-row{margin-bottom:8px}.chart-switcher{background:rgba(255,255,255,.48)!important;border:1px solid rgba(255,255,255,.62)}.chart-switcher button.active{color:var(--theme-dynamic)!important;background:rgba(255,255,255,.72)!important}.row-actions{display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center!important}.app-modal button,.app-modal-actions button{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}.setting-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:rgba(255,255,255,.56);border:1px solid var(--glass-border);box-shadow:0 8px 24px rgba(15,23,42,.06);cursor:pointer}.setting-card input{width:20px;height:20px;accent-color:var(--theme-dynamic)}.setting-card span{display:flex;flex-direction:column;gap:4px}.setting-card b{font-size:15px}.setting-card em{font-style:normal;color:var(--muted);font-size:12px}.setting-card.disabled{opacity:.8}.liquid-card{background:var(--glass-bg)!important}


/* ===== V13: 推送微应用、V11移动尺寸修复、统一卡片下拉 ===== */
@media (min-width:761px){
    .mobile-tabbar{display:none!important;visibility:hidden!important;pointer-events:none!important}
}
@media (max-width:760px){
    .mobile-balance-home{padding-top:0!important;margin:0!important;background:transparent!important;}
    .mobile-balance-home .balance-card-main{margin:14px!important;border-radius:24px!important;padding:20px 16px 18px!important;box-sizing:border-box!important;width:auto!important;min-height:auto!important;}
    .mobile-tabbar{left:50%!important;right:auto!important;transform:translateX(-50%)!important;bottom:12px!important;width:min(360px,calc(100vw - 28px))!important;height:58px!important;border-radius:24px!important;padding:6px!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;}
    .mobile-tabbar a{height:44px!important;border-radius:18px!important;}
}
.entry-form select.native-hidden-select{display:none!important}
.entry-select-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;border:1px solid var(--glass-border, var(--border));background:rgba(255,255,255,.68);border-radius:18px;padding:12px 14px;box-shadow:0 8px 24px rgba(15,23,42,.05);font-weight:900;color:#111827;cursor:pointer;min-height:48px;box-sizing:border-box}.entry-select-card span{display:block;color:var(--muted);font-size:12px;font-weight:800}.entry-select-card b{display:block;margin-top:2px;font-size:15px}.entry-select-card i{font-style:normal;color:var(--theme-dynamic);font-weight:950}.entry-select-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 10px}.entry-select-option{border:1px solid var(--glass-border, var(--border));background:rgba(255,255,255,.72);border-radius:16px;min-height:44px;padding:9px;text-align:center;font-weight:900;color:#111827}.entry-select-option.active{background:var(--theme-dynamic)!important;color:#fff!important;border-color:transparent}
.push-micro-card .muted{display:block;margin-top:2px}.push-rule-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--glass-border, var(--border));border-radius:18px;background:rgba(255,255,255,.72);padding:13px 14px;font-size:14px;line-height:1.5;resize:vertical;outline:none}.push-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.push-grid label span{display:block;color:var(--muted);font-size:12px;font-weight:900;margin:0 0 6px}.push-grid input,.push-grid select{width:100%;box-sizing:border-box;border:1px solid var(--glass-border, var(--border));border-radius:16px;background:rgba(255,255,255,.72);padding:12px 14px;font-size:15px}.push-type-row{grid-template-columns:repeat(2,minmax(0,1fr))}.push-preview{border:1px solid var(--glass-border, var(--border));background:rgba(255,255,255,.52);border-radius:18px;padding:12px}.push-preview span{display:block;color:var(--muted);font-size:12px;font-weight:900;margin-bottom:6px}.push-preview pre{white-space:pre-wrap;word-break:break-word;margin:0;font-family:inherit;font-size:13px;color:#374151}.push-toggle-card{margin:0!important}.setting-card input[type=checkbox],.choice-card input[type=checkbox]{accent-color:var(--theme-dynamic)}@media(max-width:760px){.push-grid{grid-template-columns:1fr}.entry-select-options{grid-template-columns:1fr 1fr}.push-micro-card{margin-left:14px!important;margin-right:14px!important}}


/* ===== V14: 下拉账户选择、统一卡片宽度、全站使用个人页背景 ===== */
html,body{
    min-height:100%;
    background:
        radial-gradient(circle at 20% -10%, var(--theme-dynamic-soft), transparent 34%),
        radial-gradient(circle at 85% 8%, rgba(255,255,255,.88), transparent 30%),
        linear-gradient(180deg,#f7f9fb 0%,#eef3f7 100%) fixed!important;
}
body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-2;
    background:
        radial-gradient(circle at 78% 0%, var(--theme-dynamic-soft), transparent 32%),
        radial-gradient(circle at 36% 100%, rgba(255,255,255,.92), transparent 48%);
    pointer-events:none;
}
.app-shell,.app-main{background:transparent!important;}

/* 记账账户选择恢复为下拉，但保持液态玻璃统一风格 */
.entry-form select,
.detail-form select,
.inline-form select,
.push-grid select,
.auth-card select,
form select{
    width:100%;
    box-sizing:border-box;
    appearance:auto;
    -webkit-appearance:auto;
    border:1px solid var(--glass-border, var(--border));
    border-radius:18px;
    background:rgba(255,255,255,.72);
    color:#111827;
    padding:13px 14px;
    min-height:50px;
    font-size:15px;
    font-weight:800;
    outline:none;
    box-shadow:0 8px 24px rgba(15,23,42,.05);
    backdrop-filter:blur(18px) saturate(1.25);
    -webkit-backdrop-filter:blur(18px) saturate(1.25);
}
.entry-form.active{display:flex!important;flex-direction:column;gap:10px;margin-bottom:12px;}
.entry-form:not(.active){display:none!important;}
.entry-form select.native-hidden-select{display:block!important;}
.entry-select-card,.entry-select-options{display:none!important;}

/* 全部视图卡片宽度与新增账户按钮统一：均跟随 app-shell 内边距 */
@media (max-width:760px){
    .app-shell{padding-left:12px!important;padding-right:12px!important;}
    .section-block,
    .page-dashboard .section-block,
    .page-profile .section-block,
    .page-admin .section-block,
    .profile-hero,
    .settings-card,
    .unified-card,
    .recent-transactions-section,
    .kline-card,
    .transaction-detail-page,
    .account-detail-card,
    .mobile-account-summary-card,
    .account-category-group,
    .push-micro-card{
        width:100%!important;
        max-width:none!important;
        margin-left:0!important;
        margin-right:0!important;
        box-sizing:border-box!important;
    }
    .mobile-balance-home{width:100%!important;margin:0!important;padding:0!important;background:transparent!important;box-sizing:border-box!important;}
    .mobile-balance-home .balance-card-main{
        width:100%!important;
        margin:14px 0 12px!important;
        border-radius:24px!important;
        padding:20px 16px 18px!important;
        box-sizing:border-box!important;
    }
    .bottom-add-account-wrap{
        width:100%!important;
        max-width:none!important;
        margin:14px 0 90px!important;
        box-sizing:border-box!important;
    }
    .bottom-add-account-btn{width:100%!important;max-width:none!important;}
    .account-category-group{padding:12px!important;}
    .mobile-account-summary-card{margin-top:14px!important;margin-bottom:12px!important;}
}

@media (min-width:761px){
    .bottom-add-account-wrap{width:100%;max-width:none!important;margin-left:0!important;margin-right:0!important;}
    .bottom-add-account-btn{width:100%;max-width:none!important;}
}

/* ===== V15: 入账按钮、统一卡片宽度、全屏背景、非原生账户选择、日夜模式 ===== */
html,body{min-height:100%;}
body{
    background:linear-gradient(180deg,var(--theme-dynamic-soft) 0%,rgba(255,255,255,.96) 46%,#ffffff 100%) fixed!important;
    overflow-x:hidden;
}
body::before{
    content:"";position:fixed;inset:0;z-index:-10;pointer-events:none;
    background:radial-gradient(circle at 18% -10%,var(--theme-dynamic-soft),transparent 32%),radial-gradient(circle at 88% 12%,rgba(255,255,255,.82),transparent 32%),linear-gradient(180deg,rgba(15,23,42,.04),rgba(255,255,255,0));
}
html.dark-mode body{background:linear-gradient(180deg,rgba(15,23,42,.96) 0%,rgba(17,24,39,.92) 46%,#020617 100%) fixed!important;color:#e5e7eb;}
html.dark-mode body::before{background:radial-gradient(circle at 20% -8%,rgba(16,185,129,.18),transparent 34%),radial-gradient(circle at 90% 10%,rgba(255,255,255,.08),transparent 32%)}
html.dark-mode .section-block,html.dark-mode .unified-card,html.dark-mode .balance-card-main,html.dark-mode .mobile-account-summary-card,html.dark-mode .app-form-modal,html.dark-mode .entry-sheet{background:rgba(15,23,42,.62)!important;border-color:rgba(255,255,255,.13)!important;color:#f9fafb!important;}
html.dark-mode input,html.dark-mode select,html.dark-mode textarea{background:rgba(15,23,42,.68)!important;color:#f9fafb!important;border-color:rgba(255,255,255,.14)!important;}
html.dark-mode .detail-subtitle,html.dark-mode .muted,html.dark-mode span{ }
.app-shell,.app-main,.section-block,.mobile-balance-home{background:transparent!important;overflow:visible!important;}
.app-shell{position:relative;z-index:1;}

.card-choice-row.entry-option-cards{display:flex!important;align-items:center;gap:8px;grid-template-columns:none!important;flex-wrap:nowrap!important;margin-bottom:12px;}
.entry-option-cards .choice-card{flex:1 1 0;min-width:0;height:40px;padding:0 8px;white-space:nowrap;font-size:13px;border-radius:16px;justify-content:center;text-align:center;}
.entry-option-cards .choice-card.active{background:var(--theme-dynamic)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 10px 24px var(--theme-dynamic-soft)!important;}

/* 非原生账户选择：保留原 select 提交值，视觉改为统一小卡片 */
.entry-form select.app-native-select-hidden{display:none!important;}
.entry-custom-select{position:relative;width:100%;margin-bottom:0;}
.entry-select-trigger{width:100%;height:50px;border:1px solid var(--glass-border,var(--border));border-radius:18px;background:rgba(255,255,255,.66);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 8px 24px rgba(15,23,42,.05);display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-weight:900;color:#111827;}
.entry-select-trigger i{font-style:normal;color:var(--theme-dynamic);font-weight:950;}
.entry-select-menu{display:none;position:absolute;left:0;right:0;top:56px;z-index:50;max-height:220px;overflow:auto;padding:8px;border-radius:20px;background:rgba(255,255,255,.92);border:1px solid var(--glass-border,var(--border));box-shadow:0 20px 48px rgba(15,23,42,.16);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);}
.entry-select-menu.show{display:grid;gap:8px;}
.entry-select-item{min-height:42px;border:0;border-radius:14px;background:rgba(248,250,252,.95);font-weight:900;color:#111827;text-align:left;padding:0 12px;}
.entry-select-item:hover{background:var(--theme-dynamic-soft);color:var(--theme-dynamic);}

.profile-tool-actions{display:flex;align-items:center;gap:8px;}
.theme-toggle-btn,.gear-btn{width:40px;height:40px;border-radius:16px;border:1px solid var(--glass-border,var(--border));background:rgba(255,255,255,.66);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#111827;font-weight:950;box-shadow:0 8px 22px rgba(15,23,42,.06);}
.account-head-actions{display:flex;align-items:center;gap:8px;}
.small-primary-btn.ghost{background:rgba(255,255,255,.58)!important;color:var(--theme-dynamic)!important;border:1px solid var(--glass-border,var(--border))!important;}

@media (max-width:760px){
    .app-shell{padding-left:12px!important;padding-right:12px!important;padding-bottom:84px!important;}
    .section-block,.unified-card,.chart-section,.recent-transactions-section,.profile-hero,.settings-card,.mobile-account-summary-card,.account-category-group,.account-detail-card,.transaction-detail-page,.push-micro-card,.bottom-add-account-wrap{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;}
    .mobile-balance-home{width:100%!important;margin:0!important;padding:0!important;box-sizing:border-box!important;}
    .mobile-balance-home .balance-card-main{width:100%!important;max-width:none!important;margin:14px 0 12px!important;box-sizing:border-box!important;}
    .balance-card-main,.mobile-balance-home .balance-card-main{border-radius:24px!important;padding:20px 16px 18px!important;}
    .mobile-tabbar{position:fixed!important;left:50%!important;right:auto!important;bottom:12px!important;transform:translateX(-50%)!important;width:min(360px,calc(100vw - 28px))!important;height:58px!important;border-radius:24px!important;padding:6px!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;z-index:80!important;}
    .mobile-tabbar a{height:44px!important;border-radius:18px!important;}
    #trendChart{touch-action:pan-y!important;}
}
@media (min-width:761px){
    .mobile-tabbar{display:none!important;}
    #trendChart{user-select:none;}
}

/* ===== V16: 夜间模式、账户类别下拉、无账户与不入账摘要、详情分类间距 ===== */
html.dark-mode{
    --bg:#07111f;
    --card:rgba(15,23,42,.78);
    --text:#f8fafc;
    --muted:#94a3b8;
    --border:rgba(148,163,184,.20);
    --glass-bg:rgba(15,23,42,.72);
    --glass-border:rgba(255,255,255,.14);
    --glass-shadow:0 18px 48px rgba(0,0,0,.34);
}
html.dark-mode body{
    color:#f8fafc!important;
    background:linear-gradient(180deg,#07111f 0%,#0f172a 52%,#020617 100%) fixed!important;
}
html.dark-mode body::before{
    background:
        radial-gradient(circle at 18% -8%,rgba(34,197,94,.20),transparent 34%),
        radial-gradient(circle at 88% 6%,rgba(59,130,246,.16),transparent 32%),
        linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0));
}
html.dark-mode .section-block,
html.dark-mode .mini-card,
html.dark-mode .account-line,
html.dark-mode .account-category-group,
html.dark-mode .mobile-balance-home .balance-card-main,
html.dark-mode .balance-card-main,
html.dark-mode .unified-card,
html.dark-mode .kline-card,
html.dark-mode .recent-transactions-section,
html.dark-mode .profile-hero,
html.dark-mode .settings-card,
html.dark-mode .settings-user-card,
html.dark-mode .settings-list,
html.dark-mode .app-form-modal,
html.dark-mode .app-modal,
html.dark-mode .entry-sheet,
html.dark-mode .simple-calc-sheet,
html.dark-mode .net-summary-pill,
html.dark-mode .asset-box,
html.dark-mode .health-card,
html.dark-mode .time-card,
html.dark-mode .transaction-detail-page,
html.dark-mode .push-micro-card,
html.dark-mode .mobile-account-summary-card{
    background:rgba(15,23,42,.72)!important;
    border-color:rgba(255,255,255,.14)!important;
    color:#f8fafc!important;
    box-shadow:0 18px 48px rgba(0,0,0,.32)!important;
}
html.dark-mode .asset-box,
html.dark-mode .health-card,
html.dark-mode .net-summary-pill{background:rgba(30,41,59,.72)!important;}
html.dark-mode .settings-list a,
html.dark-mode .detail-title,
html.dark-mode .account-line-main strong,
html.dark-mode .page-title,
html.dark-mode .balance-title-row h1,
html.dark-mode .profile-hero strong,
html.dark-mode .profile-stat-row b{color:#f8fafc!important;}
html.dark-mode .detail-subtitle,
html.dark-mode .muted,
html.dark-mode .page-subtitle,
html.dark-mode .settings-list span,
html.dark-mode .asset-box span,
html.dark-mode .asset-box b,
html.dark-mode .health-card p{color:#a7b3c6!important;}
html.dark-mode input,
html.dark-mode select,
html.dark-mode textarea,
html.dark-mode .manual-category-grid input,
html.dark-mode .form-stack input,
html.dark-mode .form-stack select{
    background:rgba(2,6,23,.62)!important;
    color:#f8fafc!important;
    border-color:rgba(255,255,255,.16)!important;
}
html.dark-mode input::placeholder,html.dark-mode textarea::placeholder{color:#64748b!important;}
html.dark-mode .theme-toggle-btn,
html.dark-mode .gear-btn,
html.dark-mode .small-primary-btn.ghost,
html.dark-mode .btn-sm,
html.dark-mode .card-btn.ghost{
    background:rgba(30,41,59,.78)!important;
    color:#e5e7eb!important;
    border-color:rgba(255,255,255,.14)!important;
}
html.dark-mode .mobile-tabbar,
html.dark-mode .entry-select-trigger,
html.dark-mode .entry-select-menu{
    background:rgba(15,23,42,.82)!important;
    border-color:rgba(255,255,255,.15)!important;
    color:#f8fafc!important;
}
html.dark-mode .entry-select-trigger{color:#f8fafc!important;}
html.dark-mode .entry-select-item{background:rgba(30,41,59,.82)!important;color:#f8fafc!important;}
html.dark-mode .entry-select-item small{color:#94a3b8!important;}
html.dark-mode .entry-select-item:hover{background:rgba(34,197,94,.16)!important;color:#86efac!important;}
html.dark-mode .choice-card,
html.dark-mode .entry-subcategory,
html.dark-mode .mobile-calc-grid button{
    background:rgba(30,41,59,.82)!important;
    color:#f8fafc!important;
    border-color:rgba(255,255,255,.14)!important;
}
html.dark-mode .choice-card.active,
html.dark-mode .entry-subcategory.active,
html.dark-mode .entry-option-cards .choice-card.active{background:var(--theme-dynamic)!important;color:#fff!important;}
html.dark-mode .empty-card{background:rgba(30,41,59,.72)!important;color:#94a3b8!important;}
html.dark-mode .account-line-actions{background:rgba(2,6,23,.28)!important;border-color:rgba(255,255,255,.10)!important;}
html.dark-mode .income-card strong{color:#86efac!important;}html.dark-mode .expense-card strong{color:#fca5a5!important;}

.entry-select-item{display:flex!important;align-items:center;justify-content:space-between;gap:10px;}
.entry-select-item b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.entry-select-item small{font-size:11px;color:var(--muted);font-weight:800;background:var(--theme-dynamic-soft);border-radius:999px;padding:4px 8px;white-space:nowrap;}
.entry-select-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.unposted-mini-card{margin-top:10px;border-radius:18px;padding:12px 14px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.68);display:flex;align-items:center;gap:10px;justify-content:space-between;backdrop-filter:blur(18px);}
.unposted-mini-card span{font-size:12px;color:var(--muted);font-weight:900;}.unposted-mini-card strong{font-size:14px;font-weight:950;}.unposted-mini-card em{font-style:normal;font-weight:950;font-size:14px;}
html.dark-mode .unposted-mini-card{background:rgba(30,41,59,.72);border-color:rgba(255,255,255,.14);}

.transaction-detail-page .category-card-row{margin-bottom:14px!important;}
.transaction-detail-page input[name="custom_category"]{margin-top:4px;margin-bottom:16px;min-height:48px;border-radius:18px!important;padding:14px 15px!important;}
.transaction-detail-page .option-card-row{margin-top:8px!important;}


/* ===== V17: 分类设置二级页面与账户页底部按钮清理 ===== */
.page-title-card .section-title-row{grid-template-columns:1fr auto 1fr;display:grid;align-items:center;gap:10px;}
.page-title-card h2{text-align:center;margin:0;font-size:18px;}
.category-setting-list{margin-top:10px;margin-bottom:16px;gap:10px;}
.category-add-form{margin-top:14px;gap:10px;}
.category-add-form input{min-height:46px;}
@media(max-width:760px){.page-profile_categories .section-block{margin-left:0!important;margin-right:0!important}.category-add-form{display:grid!important;grid-template-columns:1fr 86px!important;align-items:center!important}.category-chip{min-height:34px;display:inline-flex;align-items:center}.category-chip a{margin-left:8px;}}

/* V18: 首页备注预览 + 日历收支卡片 */
.remark-preview{display:inline-flex;align-items:center;margin-left:6px;max-width:6em;font-size:12px;font-weight:800;color:var(--muted);opacity:.88;vertical-align:middle;position:relative;overflow:hidden;white-space:nowrap}
.remark-preview::after{content:"";position:absolute;right:0;top:0;width:1.6em;height:100%;background:linear-gradient(90deg,rgba(255,255,255,0),var(--glass-bg));pointer-events:none}
html.dark-mode .remark-preview::after{background:linear-gradient(90deg,rgba(17,24,39,0),var(--glass-bg))}
.calendar-income-card{overflow:hidden}
.calendar-income-card .section-title-row{align-items:flex-start}
.section-subtitle{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:800}
.calendar-total-mini{font-size:15px;font-weight:950;padding:8px 12px;border-radius:999px;background:var(--theme-dynamic-soft);white-space:nowrap}
.calendar-week-head{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:14px 0 8px;color:var(--muted);font-size:11px;font-weight:900;text-align:center}
.calendar-income-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calendar-day-cell{min-height:54px;border-radius:16px;border:1px solid var(--glass-border);background:rgba(255,255,255,.56);display:flex;flex-direction:column;justify-content:space-between;padding:8px 7px;color:var(--text);box-sizing:border-box;text-decoration:none;transition:transform .15s ease,background .15s ease}
.calendar-day-cell:hover{transform:translateY(-1px)}
.calendar-day-cell b{font-size:12px;line-height:1;color:var(--muted)}
.calendar-day-cell span{font-size:11px;font-weight:950;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-day-cell em{width:5px;height:5px;border-radius:50%;background:rgba(148,163,184,.35);align-self:flex-end}
.calendar-day-cell.is-empty{background:transparent!important;border-color:transparent!important;box-shadow:none!important;pointer-events:none}
.calendar-day-cell.is-plus{background:rgba(16,185,129,.10);border-color:rgba(16,185,129,.18)}
.calendar-day-cell.is-plus span{color:#059669}
.calendar-day-cell.is-minus{background:rgba(239,68,68,.09);border-color:rgba(239,68,68,.16)}
.calendar-day-cell.is-minus span{color:#dc2626}
.calendar-day-cell.is-today{box-shadow:inset 0 0 0 2px var(--theme-dynamic)!important}
.calendar-legend{display:flex;gap:12px;margin-top:12px;color:var(--muted);font-size:12px;font-weight:850;flex-wrap:wrap}
.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.calendar-legend span::before{content:"";width:8px;height:8px;border-radius:50%;display:inline-block}.income-dot::before{background:#10b981}.expense-dot::before{background:#ef4444}
html.dark-mode .calendar-day-cell{background:rgba(15,23,42,.62);border-color:rgba(255,255,255,.10)}
html.dark-mode .calendar-day-cell.is-plus{background:rgba(16,185,129,.16)}
html.dark-mode .calendar-day-cell.is-minus{background:rgba(239,68,68,.15)}
@media(max-width:760px){.calendar-income-card{margin-top:12px}.calendar-day-cell{min-height:46px;border-radius:13px;padding:7px 5px}.calendar-day-cell b{font-size:11px}.calendar-day-cell span{font-size:10px}.calendar-income-grid,.calendar-week-head{gap:5px}.calendar-total-mini{font-size:13px;padding:7px 10px}}


/* ===== V19: 分时默认、顶部空白修复、统一主题色、分类设置美化、去返回 ===== */
html,body{margin:0!important;padding:0!important;min-height:100%!important;}
body{background:linear-gradient(180deg,var(--theme-dynamic-soft) 0%,rgba(255,255,255,.96) 48%,#fff 100%) fixed!important;}
body::before{top:0!important;}
.app-shell{padding-top:0!important;margin-top:0!important;}
.app-main{padding-top:0!important;margin-top:0!important;}
.app-header{margin-top:0!important;padding-top:14px!important;}
@media(max-width:760px){.app-header{display:none!important}.app-shell{padding-top:0!important}.mobile-balance-home .balance-card-main{margin-top:0!important}}
.primary-btn,.small-primary-btn,.mobile-action-grid button,.mobile-calc-grid .calc-ok,.entry-tab.active,.entry-subcategory.active,.tab-btn.active,.auth-card button,.app-modal button,.bottom-add-account-btn{background:var(--theme-dynamic)!important;color:#fff!important;box-shadow:0 10px 26px var(--theme-dynamic-soft)!important;}
.entry-tab,.tab-btn{color:var(--muted)!important;}
.entry-tabs,.tabs{background:rgba(255,255,255,.55)!important;border:1px solid var(--glass-border,var(--border))!important;}
.chart-switcher{overflow-x:auto;max-width:100%;scrollbar-width:none}.chart-switcher::-webkit-scrollbar{display:none}.chart-switcher button{white-space:nowrap}.chart-switcher button.active{color:var(--theme-dynamic)!important;}
.app-modal-icon{display:none!important}.app-modal{padding-top:22px!important}.app-modal h3{margin-top:0!important}.app-modal-actions{display:flex;gap:10px}.app-modal-actions button{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}.app-modal-actions button[style*="none"]{display:none!important}
.page-profile_categories .page-title-card{background:transparent!important;box-shadow:none!important;border:0!important;padding:4px 2px 0!important;margin-bottom:10px!important}.page-profile_categories .page-title-card h2{font-size:22px!important;font-weight:950!important;text-align:left!important}.page-profile_categories .page-title-card .section-title-row{display:block!important}.page-profile_categories .category-setting-card{padding:18px!important;border-radius:28px!important}.category-setting-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.category-setting-head h2{margin:0!important;font-size:18px!important}.category-count-pill{font-size:12px;color:var(--theme-dynamic);background:var(--theme-dynamic-soft);border-radius:999px;padding:6px 10px;font-weight:950;white-space:nowrap}.category-chip-list{display:flex;flex-wrap:wrap;gap:10px}.category-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--glass-border,var(--border));background:rgba(255,255,255,.58);border-radius:999px;padding:9px 10px 9px 13px;font-weight:900;color:var(--text);box-shadow:0 8px 20px rgba(15,23,42,.04)}.category-chip a{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(239,68,68,.10);color:#ef4444;font-weight:950}.category-add-form{display:grid!important;grid-template-columns:1fr 82px!important;gap:10px!important;margin-top:16px!important}.category-add-form input{border-radius:18px!important;background:rgba(255,255,255,.62)!important}.category-add-form button{height:48px!important;border-radius:18px!important}
html.dark-mode .entry-tabs,html.dark-mode .tabs{background:rgba(15,23,42,.55)!important}html.dark-mode .category-chip{background:rgba(30,41,59,.72)!important;border-color:rgba(255,255,255,.14)!important;color:#f8fafc!important}html.dark-mode .category-add-form input{background:rgba(2,6,23,.62)!important}.no-return-link{display:none!important}
/* V19 patch: no global top gap */
.app-header{padding-top:0!important;}
.desktop-sidebar{top:0!important;}
@media(min-width:761px){.app-main{padding-top:0!important;}.desktop-dashboard-hero{margin-top:0!important;}}

/* ===== V20: PC顶部背景留白回归 + 深色模式可读性优化 ===== */
/* PC 顶部留白放在整屏背景之上，不再额外制造白色/透明盒子 */
@media (min-width:761px){
    .app-shell{
        padding-top:12px!important;
        margin-top:0!important;
    }
    .app-main{
        padding-top:0!important;
        margin-top:0!important;
    }
    .desktop-sidebar{
        top:12px!important;
        height:calc(100vh - 24px)!important;
    }
    .app-header{
        padding-top:0!important;
        margin-top:0!important;
    }
}
@media (max-width:760px){
    .app-shell{padding-top:0!important;}
    .mobile-balance-home{padding-top:0!important;}
}

/* 深色模式：统一为 iOS 深色玻璃质感，避免白色卡片残留 */
html.dark-mode{
    --bg:#050b14;
    --card:rgba(15,23,42,.78);
    --text:#f8fafc;
    --muted:#9ca9bd;
    --border:rgba(148,163,184,.20);
    --glass-bg:rgba(15,23,42,.76);
    --glass-border:rgba(255,255,255,.13);
    --glass-shadow:0 20px 52px rgba(0,0,0,.38);
}
html.dark-mode body{
    background:linear-gradient(180deg,#08111f 0%,#0f172a 45%,#020617 100%) fixed!important;
    color:#f8fafc!important;
}
html.dark-mode body::before{
    background:
        radial-gradient(circle at 18% -8%,rgba(34,197,94,.20),transparent 35%),
        radial-gradient(circle at 88% 4%,rgba(56,189,248,.11),transparent 30%),
        linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,0));
}
html.dark-mode .desktop-sidebar,
html.dark-mode .brand-card,
html.dark-mode .desktop-flow-card,
html.dark-mode .section-block,
html.dark-mode .mini-card,
html.dark-mode .account-line,
html.dark-mode .account-category-group,
html.dark-mode .mobile-balance-home .balance-card-main,
html.dark-mode .balance-card-main,
html.dark-mode .unified-card,
html.dark-mode .kline-card,
html.dark-mode .recent-transactions-section,
html.dark-mode .profile-hero,
html.dark-mode .settings-card,
html.dark-mode .settings-user-card,
html.dark-mode .settings-list,
html.dark-mode .setting-card,
html.dark-mode .app-form-modal,
html.dark-mode .app-modal,
html.dark-mode .entry-sheet,
html.dark-mode .simple-calc-sheet,
html.dark-mode .net-summary-pill,
html.dark-mode .asset-box,
html.dark-mode .health-card,
html.dark-mode .time-card,
html.dark-mode .transaction-detail-page,
html.dark-mode .push-micro-card,
html.dark-mode .mobile-account-summary-card,
html.dark-mode .calendar-income-card,
html.dark-mode .today-market-strip,
html.dark-mode .chart-switcher,
html.dark-mode .entry-tabs,
html.dark-mode .tabs{
    background:rgba(15,23,42,.76)!important;
    border-color:rgba(255,255,255,.13)!important;
    color:#f8fafc!important;
    box-shadow:0 20px 52px rgba(0,0,0,.36)!important;
}
html.dark-mode .brand-card,
html.dark-mode .setting-card,
html.dark-mode .calendar-day-cell,
html.dark-mode .category-chip,
html.dark-mode .unposted-mini-card,
html.dark-mode .push-preview{
    background:rgba(30,41,59,.68)!important;
    border-color:rgba(255,255,255,.12)!important;
    color:#f8fafc!important;
}
html.dark-mode .asset-box-left{
    background:linear-gradient(135deg,rgba(127,29,29,.40),rgba(15,23,42,.72))!important;
    color:#fecaca!important;
}
html.dark-mode .asset-box-right{
    background:linear-gradient(135deg,rgba(30,64,175,.36),rgba(15,23,42,.72))!important;
    color:#bfdbfe!important;
}
html.dark-mode .asset-box-left b,
html.dark-mode .asset-box-left small,
html.dark-mode .asset-box-right b,
html.dark-mode .asset-box-right small,
html.dark-mode .asset-box strong,
html.dark-mode .balance-title-row h1,
html.dark-mode .detail-title,
html.dark-mode .account-line-main strong,
html.dark-mode .profile-hero strong,
html.dark-mode .settings-list a,
html.dark-mode .page-title,
html.dark-mode .section-title-row h2,
html.dark-mode .entry-step-title strong,
html.dark-mode .category-setting-head h2,
html.dark-mode .brand-card strong{
    color:#f8fafc!important;
}
html.dark-mode .asset-box span,
html.dark-mode .asset-box small,
html.dark-mode .detail-subtitle,
html.dark-mode .muted,
html.dark-mode .page-subtitle,
html.dark-mode .settings-list span,
html.dark-mode .health-card p,
html.dark-mode .brand-card small,
html.dark-mode .today-market-strip span,
html.dark-mode .calendar-day-cell b{
    color:#9ca9bd!important;
}
html.dark-mode input,
html.dark-mode select,
html.dark-mode textarea,
html.dark-mode .manual-category-grid input,
html.dark-mode .form-stack input,
html.dark-mode .form-stack select,
html.dark-mode .entry-second-extra input,
html.dark-mode .category-add-form input{
    background:rgba(2,6,23,.64)!important;
    border-color:rgba(255,255,255,.14)!important;
    color:#f8fafc!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
html.dark-mode input::placeholder,
html.dark-mode textarea::placeholder{color:#64748b!important;}
html.dark-mode .entry-select-trigger,
html.dark-mode .entry-select-menu,
html.dark-mode .entry-select-card,
html.dark-mode .entry-select-option{
    background:rgba(15,23,42,.88)!important;
    border-color:rgba(255,255,255,.14)!important;
    color:#f8fafc!important;
}
html.dark-mode .entry-select-item{
    background:rgba(30,41,59,.86)!important;
    color:#f8fafc!important;
}
html.dark-mode .entry-select-item small{
    background:rgba(255,255,255,.08)!important;
    color:#cbd5e1!important;
}
html.dark-mode .entry-select-item:hover{
    background:rgba(34,197,94,.16)!important;
    color:#86efac!important;
}
html.dark-mode .choice-card,
html.dark-mode .entry-subcategory,
html.dark-mode .mobile-calc-grid button,
html.dark-mode .btn-sm,
html.dark-mode .theme-toggle-btn,
html.dark-mode .gear-btn,
html.dark-mode .small-primary-btn.ghost,
html.dark-mode .card-btn.ghost{
    background:rgba(30,41,59,.82)!important;
    color:#f8fafc!important;
    border-color:rgba(255,255,255,.14)!important;
}
html.dark-mode .entry-option-cards .choice-card:not(.active){
    background:rgba(30,41,59,.78)!important;
    color:#cbd5e1!important;
}
html.dark-mode .choice-card.active,
html.dark-mode .entry-subcategory.active,
html.dark-mode .entry-option-cards .choice-card.active,
html.dark-mode .entry-tab.active,
html.dark-mode .tab-btn.active{
    background:var(--theme-dynamic)!important;
    color:#ffffff!important;
    border-color:transparent!important;
}
/* 计算器金额展示区：深色玻璃 + 数字使用主题色 */
html.dark-mode .calc-display-row,
html.dark-mode .amount-display-row{
    background:rgba(2,6,23,.72)!important;
    border:1px solid rgba(255,255,255,.13)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 28px rgba(0,0,0,.22)!important;
    color:#f8fafc!important;
}
html.dark-mode .calc-display-row span,
html.dark-mode .amount-display-row span{color:#94a3b8!important;}
html.dark-mode .calc-display-row strong,
html.dark-mode .amount-display-row strong,
html.dark-mode #mobileCalcDisplay,
html.dark-mode #simpleCalcDisplay{
    color:var(--theme-dynamic)!important;
    text-shadow:0 0 22px var(--theme-dynamic-soft);
}
html.dark-mode .mobile-calc-grid button[data-calc="+"],
html.dark-mode .mobile-calc-grid button[data-calc="-"],
html.dark-mode .mobile-calc-grid button[data-calc="back"],
html.dark-mode .mobile-calc-grid button[data-calc="clear"]{
    color:var(--theme-dynamic)!important;
}
html.dark-mode .mobile-tabbar{
    background:rgba(15,23,42,.82)!important;
    border-color:rgba(255,255,255,.14)!important;
    box-shadow:0 16px 36px rgba(0,0,0,.36)!important;
}
html.dark-mode .mobile-tabbar a{color:#94a3b8!important;}
html.dark-mode .mobile-tabbar a.active{
    background:rgba(255,255,255,.08)!important;
    color:#f8fafc!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)!important;
}

/* ===== V21: 全局布局重整、纯本地图表、响应优化 ===== */
:root{
    --page-bg-top: color-mix(in srgb, var(--theme-dynamic) 18%, #ffffff);
    --page-bg-mid: #f7fafc;
    --page-bg-bottom: #ffffff;
    --glass-bg: rgba(255,255,255,.76);
    --glass-border: rgba(255,255,255,.72);
    --glass-shadow: 0 18px 52px rgba(15,23,42,.08);
    --chart-grid: rgba(148,163,184,.22);
}
html,body{min-height:100%;}
body{
    background:linear-gradient(180deg,var(--page-bg-top) 0%,var(--page-bg-mid) 34%,var(--page-bg-bottom) 100%) fixed!important;
    color:var(--text);
    overflow-x:hidden;
}
body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-2;
    pointer-events:none;
    background:
        radial-gradient(circle at 18% -10%, color-mix(in srgb, var(--theme-dynamic) 26%, transparent) 0%, transparent 34%),
        radial-gradient(circle at 90% 8%, rgba(255,255,255,.70) 0%, transparent 30%);
}
.app-shell{
    max-width:1180px;
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:18px;
    margin:0 auto;
    padding:18px 18px 104px!important;
    box-sizing:border-box;
}
.app-main{min-width:0;}
.desktop-sidebar{
    position:sticky;
    top:18px;
    align-self:start;
    border-radius:30px;
    padding:14px;
    background:rgba(255,255,255,.62);
    border:1px solid rgba(255,255,255,.82);
    box-shadow:var(--glass-shadow);
    backdrop-filter:blur(24px) saturate(1.25);
    -webkit-backdrop-filter:blur(24px) saturate(1.25);
}
.brand-card,.desktop-nav a,.section-block,.mini-card,.balance-card-main,.account-line,.settings-card,.settings-list,.settings-user-card,.profile-hero,.app-form-modal,.app-modal,.entry-sheet,.calendar-day-cell,.auth-card{
    backdrop-filter:blur(22px) saturate(1.18);
    -webkit-backdrop-filter:blur(22px) saturate(1.18);
}
.section-block,.mini-card,.balance-card-main,.account-line,.settings-card,.settings-list,.settings-user-card,.profile-hero,.app-form-modal,.app-modal,.entry-sheet,.auth-card{
    background:var(--glass-bg)!important;
    border:1px solid var(--glass-border)!important;
    box-shadow:var(--glass-shadow)!important;
}
.section-block{padding:18px;border-radius:26px;margin-bottom:16px;}
.income-expense-row{gap:14px;margin-bottom:16px;}
.mini-card{border-radius:24px;}
.desktop-dashboard-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:16px;align-items:stretch;margin-bottom:16px;}
.desktop-hero-left,.desktop-net-card{border-radius:30px!important;box-shadow:var(--glass-shadow)!important;border:1px solid var(--glass-border)!important;}
.desktop-hero-left{padding:24px!important;background:rgba(255,255,255,.68)!important;}
.desktop-net-card{margin:0!important;background:var(--theme-dynamic)!important;}
.chart-title-row{align-items:center;gap:12px;}
.chart-title-row h2{letter-spacing:-.02em;}
.chart-switcher{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;max-width:100%;}
.chart-switcher::-webkit-scrollbar{display:none;}
.chart-switcher button{white-space:nowrap;transition:background .16s ease,color .16s ease,transform .16s ease;}
.chart-switcher button.active{transform:translateY(-1px);}
.local-chart{width:100%;height:360px;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.56);}
.local-chart canvas{display:block;width:100%;height:100%;}
.chart-range-row{display:flex;align-items:center;gap:12px;margin-top:10px;padding:0 4px;color:var(--muted);font-size:12px;font-weight:800;}
.chart-range-row input{flex:1;accent-color:var(--theme-dynamic);}
.today-market-strip{
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    overflow:hidden;
    border-radius:18px;
    padding:10px 12px 12px;
    margin:10px 0 12px;
    background:rgba(255,255,255,.54);
    border:1px solid rgba(255,255,255,.70);
}
.today-market-strip div{position:relative;z-index:1;min-width:0;}
.today-market-strip span{display:block;color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap;}
.today-market-strip b{display:block;margin-top:3px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.today-market-strip i{position:absolute;left:0;bottom:0;height:3px;border-radius:999px;background:var(--theme-dynamic);transition:width .18s ease;}
.calendar-income-card,.recent-transactions-section{border-radius:26px;}
.transaction-row{border-radius:18px;margin:4px 0;padding:13px 12px!important;border-bottom:0!important;background:rgba(255,255,255,.42);transition:transform .16s ease,background .16s ease;}
.transaction-row:hover{transform:translateY(-1px);background:rgba(255,255,255,.68);}
.account-row-list{gap:10px;}
.account-line{border-radius:20px;}
.form-stack input,.form-stack select,.entry-form input,.entry-form select,.manual-category-grid input,input,select,textarea{
    background:rgba(255,255,255,.68)!important;
    border:1px solid rgba(255,255,255,.78)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}
button,.primary-btn,.small-primary-btn,.btn-sm,.card-btn,.entry-tab,.entry-subcategory,.choice-card{transition:transform .14s ease,opacity .14s ease,background .14s ease;}
button:active,.primary-btn:active,.small-primary-btn:active,.btn-sm:active,.card-btn:active,.entry-subcategory:active,.choice-card:active{transform:scale(.98);}

/* 移动端统一布局 */
@media (max-width:760px){
    .app-shell{display:block;width:100%;max-width:480px;}
    .desktop-sidebar,.app-header{display:none!important;}
    .mobile-balance-home,.section-block,.income-expense-row,.mobile-account-summary,.profile-hero,.settings-card,.settings-list{width:100%;box-sizing:border-box;margin-left:0!important;margin-right:0!important;}
    .balance-card-main{width:100%!important;margin:0 0 14px!important;border-radius:28px!important;padding:20px 16px!important;}
    .asset-debt-grid{gap:10px!important;}
    .asset-box{border-radius:20px!important;min-height:104px!important;padding:14px 12px!important;}
    .net-summary-pill{border-radius:18px!important;}
    .income-expense-row{grid-template-columns:1fr 1fr;gap:10px;}
    .mini-card{padding:14px;border-radius:20px;}
    .section-block{padding:15px;border-radius:24px;}
    .desktop-dashboard-hero{display:none!important;}
    .chart-title-row{display:block;}
    .chart-switcher{margin-top:10px;padding-bottom:2px;}
    .chart-switcher button{padding:8px 11px;}
    .today-market-strip{padding:9px 10px 11px;gap:6px;}
    .today-market-strip b{font-size:12px;}
    .today-market-strip span{font-size:10px;}
    .local-chart{height:280px;border-radius:20px;}
    .desktop-chart-range{display:none!important;}
    .mobile-tabbar{left:50%!important;right:auto!important;bottom:14px!important;transform:translateX(-50%);width:min(330px,calc(100vw - 32px))!important;height:56px!important;border-radius:22px!important;padding:6px!important;background:rgba(255,255,255,.72)!important;border:1px solid rgba(255,255,255,.82)!important;box-shadow:0 18px 44px rgba(15,23,42,.14)!important;backdrop-filter:blur(22px) saturate(1.18);-webkit-backdrop-filter:blur(22px) saturate(1.18);}
    .mobile-tabbar a{border-radius:16px!important;font-size:13px!important;}
    .mobile-tabbar a.active{background:var(--theme-dynamic)!important;color:#fff!important;box-shadow:0 8px 22px var(--theme-dynamic-soft)!important;}
    .entry-sheet{width:100%;box-sizing:border-box;border-radius:28px 28px 0 0!important;}
    .entry-tabs,.tabs{background:rgba(255,255,255,.42)!important;}
}
@media (min-width:761px){
    .app-shell{padding-top:20px!important;}
    .mobile-tabbar,.mobile-balance-home{display:none!important;}
    .desktop-chart-range{display:flex!important;}
}

/* 深色模式同步 */
html.dark-mode{
    --page-bg-top:#0f172a;
    --page-bg-mid:#111827;
    --page-bg-bottom:#020617;
    --glass-bg:rgba(15,23,42,.72);
    --glass-border:rgba(255,255,255,.11);
    --glass-shadow:0 18px 52px rgba(0,0,0,.28);
    --chart-grid:rgba(148,163,184,.14);
}
html.dark-mode body{background:linear-gradient(180deg,var(--page-bg-top) 0%,var(--page-bg-mid) 42%,var(--page-bg-bottom) 100%) fixed!important;color:#e5e7eb!important;}
html.dark-mode body::before{background:radial-gradient(circle at 18% -10%, color-mix(in srgb, var(--theme-dynamic) 20%, transparent), transparent 34%),radial-gradient(circle at 92% 8%, rgba(255,255,255,.08), transparent 28%);}
html.dark-mode .desktop-sidebar,html.dark-mode .desktop-hero-left,html.dark-mode .local-chart,html.dark-mode .today-market-strip,html.dark-mode .transaction-row,html.dark-mode .mobile-tabbar{background:rgba(15,23,42,.66)!important;border-color:rgba(255,255,255,.11)!important;}
html.dark-mode .section-block,html.dark-mode .mini-card,html.dark-mode .balance-card-main,html.dark-mode .account-line,html.dark-mode .settings-card,html.dark-mode .settings-list,html.dark-mode .settings-user-card,html.dark-mode .profile-hero,html.dark-mode .app-form-modal,html.dark-mode .app-modal,html.dark-mode .entry-sheet,html.dark-mode .auth-card{background:var(--glass-bg)!important;border-color:var(--glass-border)!important;}
html.dark-mode input,html.dark-mode select,html.dark-mode textarea,html.dark-mode .entry-form input,html.dark-mode .entry-form select,html.dark-mode .form-stack input,html.dark-mode .form-stack select,html.dark-mode .manual-category-grid input{background:rgba(2,6,23,.48)!important;border-color:rgba(255,255,255,.12)!important;color:#f8fafc!important;}
html.dark-mode .today-market-strip span,html.dark-mode .chart-range-row,html.dark-mode .detail-subtitle,html.dark-mode .muted{color:#94a3b8!important;}
html.dark-mode .mobile-tabbar a.active{background:var(--theme-dynamic)!important;color:#fff!important;}


/* V22: 精简布局与深色统计卡片优化 */
.app-header{display:none!important;}
@media (min-width:761px){
  .app-main{padding-top:12px!important;}
}
#periodSummaryBar{display:none!important;}
.today-market-strip{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important;}
.today-market-strip>div{min-height:58px;border-radius:18px;padding:11px 12px;background:rgba(255,255,255,.48);border:1px solid var(--glass-border);box-sizing:border-box;}
html.dark-mode .today-market-strip>div{background:rgba(15,23,42,.72)!important;border-color:rgba(255,255,255,.12)!important;}
html.dark-mode .profile-stat-grid div,
html.dark-mode .profile-stat-row div,
html.dark-mode .admin-stat-grid div{
  background:rgba(15,23,42,.76)!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 24px rgba(0,0,0,.22)!important;
}
html.dark-mode .profile-stat-grid span,
html.dark-mode .profile-stat-row span,
html.dark-mode .admin-stat-grid span{color:#a7b3c6!important;}
html.dark-mode .profile-stat-grid b,
html.dark-mode .profile-stat-row b,
html.dark-mode .admin-stat-grid b{color:var(--theme-dynamic)!important;text-shadow:0 0 18px var(--theme-dynamic-soft);}
.profile-stat-grid div,.profile-stat-row div,.admin-stat-grid div{transition:none!important;animation:none!important;}
.section-block,.mini-card,.account-line,.unified-card,.balance-card-main,.entry-sheet,.app-modal{animation:none!important;}
@media (max-width:760px){
  .today-market-strip{gap:8px!important;}
  .today-market-strip>div{min-height:54px;padding:10px!important;border-radius:16px!important;}
  .today-market-strip span{font-size:11px!important;}
  .today-market-strip b{font-size:14px!important;}
}


/* ===== V23: 账本管理、导入进度、个人页精简 ===== */
.profile-hero .compact-profile-line span{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:800;}
.book-manage-create-card .section-title-row{margin-bottom:12px;}
.book-create-form,.book-currency-form{grid-template-columns:1fr 110px auto;gap:10px;margin-top:10px;}
.book-currency-form{grid-template-columns:1fr auto;}
.book-manage-list{gap:10px;display:flex;flex-direction:column;background:transparent;border:0;}
.book-row{border-radius:18px;background:rgba(255,255,255,.62);border:1px solid var(--glass-border,var(--border));box-shadow:0 8px 24px rgba(15,23,42,.045);padding:12px 12px!important;}
.book-row-main{min-width:0;}
.book-row-actions{flex-wrap:nowrap!important;gap:8px!important;}
.btn-sm.switch,.current-book-btn{background:var(--theme-dynamic-soft)!important;color:var(--theme-dynamic)!important;border:1px solid rgba(255,255,255,.55)!important;min-width:72px;height:36px;border-radius:12px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box;}
.btn-sm.red{min-width:72px;height:36px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;}
.import-export-page .settings-list{margin-bottom:12px;}
.file-card-picker{position:relative;display:flex;flex-direction:column;gap:6px;border:1px dashed var(--glass-border,var(--border));border-radius:22px;padding:18px;background:rgba(255,255,255,.62);box-shadow:0 10px 26px rgba(15,23,42,.05);cursor:pointer;overflow:hidden;}
.file-card-picker input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.file-card-picker span{font-size:12px;font-weight:900;color:var(--muted);}
.file-card-picker b{font-size:16px;color:#111827;word-break:break-all;}
.file-card-picker em{font-style:normal;font-size:12px;color:var(--muted);line-height:1.45;}
.upload-progress{border-radius:18px;padding:12px;background:rgba(255,255,255,.58);border:1px solid var(--glass-border,var(--border));}
.upload-progress-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:900;color:var(--muted);}
.upload-progress i{display:block;height:8px;border-radius:999px;background:rgba(148,163,184,.22);overflow:hidden;}
.upload-progress i em{display:block;height:100%;border-radius:999px;background:var(--theme-dynamic);transition:width .18s ease;}
html.dark-mode .book-row,html.dark-mode .file-card-picker,html.dark-mode .upload-progress{background:rgba(15,23,42,.72)!important;border-color:rgba(148,163,184,.22)!important;}
html.dark-mode .file-card-picker b{color:#e5e7eb!important;}
html.dark-mode .current-book-btn,html.dark-mode .btn-sm.switch{background:rgba(255,255,255,.08)!important;color:var(--theme-dynamic)!important;border-color:rgba(255,255,255,.12)!important;}
@media(max-width:760px){.book-create-form,.book-currency-form{display:flex!important;flex-direction:column!important}.book-row{align-items:flex-start!important;gap:10px!important}.book-row-actions{width:100%;justify-content:flex-end!important}.book-row-main{width:100%;}.btn-sm.switch,.current-book-btn,.btn-sm.red{flex:1;min-width:0}.profile-hero{margin-top:12px!important}}

/* ===== V24: import wizard / statistics / budget / member / invoice polish ===== */
.compact-note{margin:6px 0 14px;color:var(--muted);line-height:1.65;font-size:13px}.wizard-step-card{border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.68);backdrop-filter:blur(18px);border-radius:22px;padding:16px;box-shadow:0 10px 28px rgba(15,23,42,.055);display:flex;flex-direction:column;gap:12px}.wizard-step-card>b{font-size:16px}.merge-line{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(148,163,184,.18)}.merge-line:last-child{border-bottom:0}.merge-line span{font-weight:900;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glass-select,.merge-line input{width:100%;box-sizing:border-box;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:rgba(255,255,255,.72);padding:12px 13px;color:var(--text);font-weight:800;outline:none}.preview-table{display:flex;flex-direction:column;gap:8px}.preview-table div{display:grid;grid-template-columns:100px 1fr auto;gap:8px;padding:10px;border-radius:14px;background:rgba(255,255,255,.62)}.preview-table span,.preview-table em{color:var(--muted);font-style:normal;font-size:12px}.preview-table b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bi-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bi-card{min-height:110px;border-radius:22px;padding:16px;background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 28px rgba(15,23,42,.06);display:flex;flex-direction:column;justify-content:space-between}.bi-card span{color:var(--muted);font-size:13px;font-weight:800}.bi-card strong{font-size:26px;color:var(--theme-dynamic);line-height:1.1}.bi-card em{font-style:normal;color:var(--muted);font-size:12px}.category-chip-grid{display:flex;flex-wrap:wrap;gap:9px}.category-chip,.chip-toggle{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(148,163,184,.22);padding:10px 13px;font-weight:900}.category-chip input,.chip-toggle input{accent-color:var(--theme-dynamic)}.budget-progress{height:12px;border-radius:999px;background:rgba(148,163,184,.16);overflow:hidden;margin:12px 0}.budget-progress i{display:block;height:100%;border-radius:999px;background:var(--theme-dynamic);box-shadow:0 0 18px var(--theme-dynamic-soft)}.budget-home-card{cursor:pointer}.budget-home-card:hover{transform:translateY(-1px)}.member-card .net-value.small{font-size:34px;color:var(--theme-dynamic);margin:8px 0}.member-mini-panel .profile-stat-grid b{color:var(--theme-dynamic)}.file-card-picker input[type=file]{display:none}.level-page{max-width:860px;margin-left:auto;margin-right:auto}.settings-list a{gap:12px}.page-statistics .app-main,.page-budget .app-main,.page-member .app-main,.page-invoices .app-main,.page-import_preview .app-main{max-width:980px;width:100%}
@media(max-width:760px){.bi-card-grid{grid-template-columns:1fr 1fr}.bi-card{min-height:96px;border-radius:20px}.bi-card strong{font-size:21px}.merge-line{grid-template-columns:1fr;gap:8px}.preview-table div{grid-template-columns:1fr auto}.preview-table span{grid-column:1/-1}.level-page{margin:0}.category-chip-grid{max-height:none}.page-statistics .mobile-tabbar a,.page-budget .mobile-tabbar a{font-size:12px}.wizard-step-card{padding:14px;border-radius:20px}}
:root[data-theme="dark"] .wizard-step-card,:root[data-theme="dark"] .bi-card,:root[data-theme="dark"] .category-chip,:root[data-theme="dark"] .chip-toggle,:root[data-theme="dark"] .preview-table div,:root[data-theme="dark"] .glass-select,:root[data-theme="dark"] .merge-line input{background:rgba(17,24,39,.72)!important;border-color:rgba(255,255,255,.08)!important;color:#f8fafc!important}

/* ===== V25: unified dropdowns / statistics nav / budget / invoice / credit polishing ===== */
.mobile-tabbar{grid-template-columns:repeat(3,1fr)!important;gap:8px!important;padding:8px!important;box-sizing:border-box;}
.mobile-tabbar.has-stat{grid-template-columns:repeat(4,1fr)!important;}
.mobile-tabbar a{min-width:0!important;}
.mobile-tabbar a b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;}
.glass-select.app-select, .form-stack select, select.glass-select{
  appearance:none;-webkit-appearance:none;
  width:100%;min-height:48px;border-radius:18px!important;
  padding:0 42px 0 14px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.54)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20'%3E%3Cpath fill='%236b7280' d='M5.8 7.6 10 11.8l4.2-4.2 1.1 1.1-5.3 5.3-5.3-5.3z'/%3E%3C/svg%3E") no-repeat right 14px center!important;
  border:1px solid var(--glass-border,rgba(148,163,184,.22))!important;
  color:var(--text)!important;font-weight:900;box-shadow:0 8px 22px rgba(15,23,42,.045),inset 0 1px 0 rgba(255,255,255,.45)!important;
}
.select-card-field{display:flex;flex-direction:column;gap:7px;width:100%;}
.select-card-field>span{font-size:12px;color:var(--muted);font-weight:900;padding-left:4px;}
.selected-token-list{display:flex;flex-wrap:wrap;gap:9px;}
.selected-token{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;background:var(--theme-dynamic-soft);border:1px solid var(--glass-border);color:var(--theme-dynamic);font-weight:900;}
.selected-token input{display:none}.selected-token i{font-style:normal;opacity:.72}.full-choice{width:100%;justify-content:flex-start;box-sizing:border-box;}
.stat-hero-card .section-title-row{margin-bottom:14px}.stat-bi-grid .bi-card{min-height:118px}.stat-bi-grid .bi-card strong{letter-spacing:-.03em;}
.budget-row-form{display:grid;grid-template-columns:160px 1fr 180px auto;gap:10px;align-items:end}.budget-item-list{display:flex;flex-direction:column;gap:10px}.budget-item-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:20px;background:rgba(255,255,255,.62);border:1px solid var(--glass-border);box-shadow:0 8px 24px rgba(15,23,42,.045)}.budget-item-main{flex:1;min-width:0}.budget-item-main b{display:block;font-size:15px}.budget-item-main span{display:block;font-size:12px;color:var(--muted);margin:3px 0 8px}.budget-item-main i{display:block;height:8px;border-radius:99px;background:rgba(148,163,184,.18);overflow:hidden}.budget-item-main i em{display:block;height:100%;background:var(--theme-dynamic);border-radius:99px}.budget-item-side{display:flex;align-items:center;gap:8px}.budget-item-side strong{color:var(--theme-dynamic)}
.invoice-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.invoice-row-card{display:flex;align-items:center;gap:12px;padding:13px;border-radius:20px;background:rgba(255,255,255,.58);border:1px solid var(--glass-border);margin-bottom:9px}.invoice-icon{width:38px;height:38px;border-radius:14px;background:var(--theme-dynamic-soft);color:var(--theme-dynamic);display:flex;align-items:center;justify-content:center;font-weight:1000}.invoice-row-main{flex:1;min-width:0}.invoice-row-main b,.invoice-row-main span,.invoice-row-main em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-row-main span,.invoice-row-main em{font-size:12px;color:var(--muted);font-style:normal;margin-top:3px}.invoice-row-card strong{color:var(--theme-dynamic);white-space:nowrap}
.credit-bill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.credit-bill-grid div{padding:14px;border-radius:20px;background:rgba(255,255,255,.58);border:1px solid var(--glass-border)}.credit-bill-grid span{display:block;font-size:12px;color:var(--muted);font-weight:900}.credit-bill-grid b{display:block;margin-top:6px;font-size:20px;color:var(--theme-dynamic)}.expand-card{border-radius:20px;background:rgba(255,255,255,.58);border:1px solid var(--glass-border);padding:12px;margin-top:10px}.expand-card summary{cursor:pointer;font-weight:1000;list-style:none}.expand-card summary::-webkit-details-marker{display:none}.inner-edit-form{margin-top:12px}.credit-day-card-group{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.installment-list{display:flex;flex-direction:column;gap:9px;margin-top:10px}.installment-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:18px;background:rgba(255,255,255,.54);border:1px solid var(--glass-border);color:inherit;text-decoration:none}.installment-card span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.pay-success-card{margin-top:12px;padding:12px;border-radius:20px;background:var(--theme-dynamic-soft);border:1px solid var(--glass-border)}
.auth-body{min-height:100vh;background:linear-gradient(180deg,var(--theme-dynamic-soft),#fff)!important;display:flex;align-items:center;justify-content:center}.auth-wrapper{width:min(420px,calc(100% - 28px));}.login-card{padding:28px!important;border-radius:30px!important}.auth-logo{text-align:center;font-size:30px;font-weight:1000;color:var(--theme-dynamic);letter-spacing:-.04em}.auth-subtitle{text-align:center;color:var(--muted);font-weight:900;margin:8px 0 20px}.auth-link{display:block;text-align:center;margin-top:16px;color:var(--theme-dynamic);font-weight:900}
.auth-switch-tabs{display:flex;background:rgba(15,23,42,.04);border-radius:16px;padding:6px;margin-bottom:18px;box-shadow:inset 0 2px 6px rgba(0,0,0,.04);}
.auth-tab-item{flex:1;padding:12px 0;text-align:center;border-radius:12px;border:none;background:transparent;color:var(--muted);font-weight:800;font-size:14px;transition:all .25s ease;cursor:pointer;}
.auth-tab-item.active{background:#fff;color:var(--theme-dynamic);box-shadow:0 4px 12px rgba(16,185,129,.15);transform:translateY(-1px);}
.auth-code-row{display:flex;gap:10px;}
.auth-code-field{flex:1;}
.auth-code-btn{width:120px;border:none;border-radius:14px;background:var(--theme-dynamic);color:#fff;font-weight:800;font-size:13px;cursor:pointer;transition:opacity .2s;}
.auth-code-btn:disabled{opacity:.5;cursor:not-allowed;}
@media(max-width:760px){.budget-row-form{display:flex;flex-direction:column}.budget-item-row{align-items:flex-start;flex-direction:column}.budget-item-side{width:100%;justify-content:space-between}.invoice-edit-grid{grid-template-columns:1fr}.credit-bill-grid{grid-template-columns:1fr 1fr}.credit-bill-grid div:last-child{grid-column:1/-1}.credit-day-card-group{grid-template-columns:1fr}.mobile-tabbar{left:14px!important;right:14px!important;width:auto!important;}.mobile-tabbar.has-stat a b{font-size:12px;}}
html.dark-mode .glass-select.app-select,html.dark-mode .form-stack select,html.dark-mode select.glass-select{background:rgba(15,23,42,.78)!important;color:#f8fafc!important;border-color:rgba(255,255,255,.12)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important}html.dark-mode .budget-item-row,html.dark-mode .invoice-row-card,html.dark-mode .credit-bill-grid div,html.dark-mode .expand-card,html.dark-mode .installment-card{background:rgba(15,23,42,.74)!important;border-color:rgba(255,255,255,.12)!important}html.dark-mode .auth-body{background:linear-gradient(180deg,rgba(15,23,42,1),rgba(2,6,23,1))!important}.mobile-tabbar.has-stat a{padding-left:6px!important;padding-right:6px!important}
.pretty-category-card .category-add-form{display:grid;grid-template-columns:1fr 120px;gap:10px;margin:12px 0}.category-row-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.category-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;border-radius:18px;background:rgba(255,255,255,.58);border:1px solid var(--glass-border)}.category-row span{font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.pretty-category-card .category-add-form{display:flex;flex-direction:column}}html.dark-mode .category-row{background:rgba(15,23,42,.74)!important;border-color:rgba(255,255,255,.12)!important}

/* ===== V26: OCR 安全降级 + 全站卡片布局统一修复 ===== */
:root{
  --v26-page-max: 980px;
  --v26-mobile-max: 480px;
}
.app-main{
  width:100%;
  max-width:var(--v26-page-max);
  margin:0 auto;
  box-sizing:border-box;
}
.page-dashboard .app-main{max-width:1040px;}
.section-block,
.unified-card,
.settings-card,
.profile-hero,
.account-category-group,
.transaction-detail-page,
.import-preview-card,
.wizard-step-card,
.stat-hero-card,
.budget-home-card,
.invoice-upload-card,
.member-card,
.credit-account-page,
.push-micro-card{
  width:100%;
  box-sizing:border-box;
  overflow:hidden;
}
.section-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.section-title-row h2{margin:0;line-height:1.15;}
.section-title-row span,.section-subtitle{color:var(--muted);font-size:12px;font-weight:800;}
.form-stack{display:flex;flex-direction:column;gap:12px;}
.form-stack input,
.form-stack textarea,
.form-stack select,
.invoice-edit-grid input,
.inner-edit-form input,
.inner-edit-form textarea,
.inner-edit-form select{
  min-height:48px;
  border-radius:18px!important;
  padding:0 14px;
  box-sizing:border-box;
  font-size:15px;
  outline:none;
}
.form-stack textarea,.inner-edit-form textarea{padding-top:12px;min-height:92px;resize:vertical;}
.primary-btn,.small-primary-btn,.btn-sm,.card-btn{
  border:0;
  text-decoration:none;
  cursor:pointer;
  box-sizing:border-box;
}
.primary-btn{min-height:48px;border-radius:18px;font-weight:1000;background:var(--theme-dynamic);color:#fff;display:flex;align-items:center;justify-content:center;}
.small-primary-btn,.btn-sm{min-height:38px;border-radius:14px;padding:0 14px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;background:var(--theme-dynamic-soft);color:var(--theme-dynamic);}
.btn-sm.red{background:rgba(239,68,68,.10)!important;color:#ef4444!important;}
.file-card-picker{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:18px;
  border-radius:24px;
  background:rgba(255,255,255,.58);
  border:1px solid var(--glass-border);
  box-shadow:0 10px 26px rgba(15,23,42,.04);
  cursor:pointer;
  box-sizing:border-box;
}
.file-card-picker span{font-size:16px;font-weight:1000;color:var(--text);}
.file-card-picker b{font-size:13px;color:var(--theme-dynamic);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.file-card-picker em{font-style:normal;color:var(--muted);font-size:12px;line-height:1.45;}
.invoice-edit-grid{align-items:stretch;}
.invoice-list-card{display:flex;flex-direction:column;gap:10px;}
.invoice-row-card{width:100%;box-sizing:border-box;}
.account-category-list,.account-manager-list,.budget-item-list,.category-row-list,.settings-list{width:100%;box-sizing:border-box;}
.app-form-modal-mask,.app-modal-mask{box-sizing:border-box;}
.app-form-modal,.app-modal{max-height:calc(100vh - 36px);overflow:auto;}
html.dark-mode .file-card-picker{background:rgba(15,23,42,.74)!important;border-color:rgba(255,255,255,.12)!important;}
html.dark-mode .file-card-picker span{color:#f8fafc!important;}

@media(min-width:761px){
  .app-shell{grid-template-columns:220px minmax(0,1fr);align-items:start;}
  .page-dashboard .app-main,.page-accounts .app-main,.page-account_detail .app-main,.page-profile .app-main,.page-invoices .app-main,.page-budget .app-main,.page-statistics .app-main,.page-settings_import .app-main,.page-import_preview .app-main,.page-profile_categories .app-main,.page-book_manage .app-main,.page-trash .app-main{padding-left:0!important;padding-right:0!important;}
  .section-block,.unified-card,.profile-hero,.settings-card,.transaction-detail-page{margin-left:0!important;margin-right:0!important;}
  .two-col-grid,.invoice-edit-grid{grid-template-columns:1fr 1fr;}
}

@media(max-width:760px){
  .app-shell{max-width:var(--v26-mobile-max)!important;margin:0 auto!important;padding-left:14px!important;padding-right:14px!important;}
  .app-main{max-width:none!important;width:100%!important;}
  .section-block,.unified-card,.profile-hero,.settings-card,.settings-list,.account-category-group,.transaction-detail-page,.invoice-upload-card,.wizard-step-card,.stat-hero-card,.member-card{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
  .section-block{padding:15px!important;border-radius:24px!important;}
  .section-title-row{align-items:flex-start;}
  .section-title-row h2{font-size:19px;}
  .invoice-edit-grid{grid-template-columns:1fr!important;gap:10px!important;}
  .invoice-row-card{align-items:flex-start;}
  .invoice-row-card strong{margin-left:auto;}
  .credit-bill-grid{grid-template-columns:1fr 1fr!important;}
  .credit-bill-grid div{min-width:0;}
  .credit-day-card-group{grid-template-columns:1fr!important;}
  .budget-row-form{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
  .bi-card-grid{grid-template-columns:1fr 1fr!important;}
  .app-form-modal-mask,.app-modal-mask{padding:14px!important;align-items:flex-end!important;}
  .app-form-modal,.app-modal{width:100%!important;border-radius:28px 28px 0 0!important;}
}

/* ===== V27: 分类折叠、发票夹详情、移动端导航修复 ===== */
.category-accordion{padding:0!important;overflow:hidden!important;}
.category-accordion-head,.invoice-fold-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;list-style:none;}
.category-accordion-head::-webkit-details-marker,.invoice-fold-head::-webkit-details-marker{display:none;}
.category-accordion-head h2,.invoice-fold-head h2{margin:0;font-size:18px;}
.category-accordion-head span,.invoice-fold-head span{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:800;}
.category-accordion-head em,.invoice-fold-head em{font-style:normal;min-width:54px;height:34px;border-radius:13px;background:var(--theme-dynamic-soft);color:var(--theme-dynamic);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:1000;}
.category-accordion[open] .category-accordion-head em,.invoice-fold-card[open] .invoice-fold-head em{background:var(--theme-dynamic);color:#fff;}
.category-accordion .category-add-form,.category-accordion .category-card-grid{margin:0 18px 16px;}
.category-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.category-chip-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 10px 13px;border-radius:17px;background:rgba(255,255,255,.58);border:1px solid var(--glass-border);box-sizing:border-box;}
.category-chip-row span{font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.category-chip-row .btn-sm.red{min-width:52px!important;width:52px!important;height:32px!important;min-height:32px!important;border-radius:12px!important;padding:0!important;font-size:12px;}
.category-add-form{display:grid!important;grid-template-columns:minmax(0,1fr) 86px!important;gap:10px!important;align-items:center;}
.category-add-form .primary-btn{min-height:46px!important;border-radius:16px!important;}
.invoice-hero-card{overflow:hidden;}
.invoice-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:8px;}
.invoice-stat-grid div{border-radius:18px;padding:13px;background:rgba(255,255,255,.58);border:1px solid var(--glass-border);box-sizing:border-box;}
.invoice-stat-grid span{display:block;color:var(--muted);font-size:12px;font-weight:900;}
.invoice-stat-grid b{display:block;margin-top:6px;color:var(--theme-dynamic);font-size:18px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.invoice-fold-card{padding:0!important;overflow:hidden!important;}
.invoice-fold-card form{padding:0 18px 18px;}
.invoice-extra-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.invoice-upload-form textarea,.invoice-detail-form-card textarea{border-radius:18px;border:1px solid var(--glass-border);background:rgba(255,255,255,.56);padding:12px 14px;box-sizing:border-box;min-height:86px;outline:none;color:var(--text);}
.invoice-row-link{color:inherit;text-decoration:none;transition:none!important;}
.invoice-row-card{min-height:72px;}
.invoice-row-main b{font-size:15px;}
.invoice-row-card strong{font-size:16px;}
.invoice-detail-page,.invoice-detail-form-card{overflow:hidden;}
.invoice-preview-box{border-radius:24px;background:rgba(255,255,255,.50);border:1px solid var(--glass-border);min-height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.invoice-preview-box img{display:block;max-width:100%;max-height:420px;object-fit:contain;border-radius:18px;}
.invoice-pdf-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;}
.invoice-pdf-preview b{font-size:20px;color:var(--theme-dynamic);}
.invoice-pdf-preview span{font-size:12px;color:var(--muted);word-break:break-all;}
.invoice-raw-text{min-height:130px!important;font-size:13px;line-height:1.55;color:var(--muted)!important;}
html.dark-mode .category-chip-row,html.dark-mode .invoice-stat-grid div,html.dark-mode .invoice-preview-box,html.dark-mode .invoice-upload-form textarea,html.dark-mode .invoice-detail-form-card textarea{background:rgba(15,23,42,.74)!important;border-color:rgba(255,255,255,.12)!important;color:#f8fafc!important;}
html.dark-mode .category-accordion-head,html.dark-mode .invoice-fold-head{background:rgba(15,23,42,.22);}
@media(max-width:760px){
  .category-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .category-chip-row{padding:9px 8px 9px 11px!important;border-radius:15px!important;}
  .category-chip-row span{font-size:13px!important;}
  .category-chip-row .btn-sm.red{min-width:48px!important;width:48px!important;height:30px!important;min-height:30px!important;font-size:12px!important;}
  .category-add-form{grid-template-columns:minmax(0,1fr) 72px!important;}
  .category-accordion-head,.invoice-fold-head{padding:15px!important;}
  .category-accordion .category-add-form,.category-accordion .category-card-grid{margin:0 15px 15px!important;}
  .invoice-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .invoice-stat-grid div{padding:11px!important;border-radius:16px!important;}
  .invoice-stat-grid b{font-size:16px!important;}
  .invoice-extra-grid{grid-template-columns:1fr!important;}
  .invoice-fold-card form{padding:0 15px 15px!important;}
  .invoice-preview-box{min-height:160px;border-radius:20px;}
  .invoice-preview-box img{max-height:330px;}
  .invoice-row-card{align-items:center!important;padding:12px!important;border-radius:18px!important;}
  .invoice-row-card strong{font-size:15px!important;}
  .app-shell{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;}
  .mobile-tabbar{position:fixed!important;left:50%!important;right:auto!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;transform:translateX(-50%)!important;width:min(360px,calc(100vw - 28px))!important;max-width:calc(100vw - 28px)!important;height:58px!important;border-radius:23px!important;padding:6px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;z-index:999!important;box-sizing:border-box!important;}
  .mobile-tabbar.has-stat{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:min(390px,calc(100vw - 20px))!important;max-width:calc(100vw - 20px)!important;}
  .mobile-tabbar a{min-width:0!important;height:44px!important;border-radius:17px!important;padding:0 4px!important;box-sizing:border-box!important;}
  .mobile-tabbar a b{font-size:12px!important;line-height:1!important;}
}
@media(min-width:761px){.mobile-tabbar{display:none!important;}}

/* V28 polish: consistent liquid glass layout, unified cards, member/invoice/budget/stat refinements */
:root{--page-max:720px;--glass-bg:rgba(255,255,255,.72);--glass-border:rgba(255,255,255,.55);--soft-shadow:0 18px 50px rgba(22,34,58,.10)}
html,body{min-height:100%;}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(var(--theme-rgb,16,185,129),.20) 0%,rgba(var(--theme-rgb,16,185,129),.07) 30%,#fff 82%);pointer-events:none}.app-shell,.mobile-shell,main{background:transparent!important}.section-block,.unified-card,.net-card{width:min(calc(100vw - 28px),var(--page-max));margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}.unified-card,.net-card,.app-form-modal,.entry-sheet{background:var(--glass-bg)!important;border:1px solid rgba(255,255,255,.62)!important;box-shadow:var(--soft-shadow)!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-radius:24px!important}.section-title-row{align-items:center;gap:12px}.section-title-row h2{letter-spacing:-.02em}.button-row,.invoice-detail-actions,.inline-toggle-row{display:flex;gap:10px;align-items:center}.button-row>*{flex:1}.btn-sm,.small-primary-btn,.primary-btn{border-radius:16px!important;min-height:38px;display:inline-flex;align-items:center;justify-content:center;text-align:center}.entry-custom-select.app-unified-select{width:100%;margin-top:8px}.app-native-select-hidden{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;overflow:hidden!important}.entry-select-trigger{width:100%;min-height:48px;border:1px solid rgba(255,255,255,.66);border-radius:16px;background:rgba(255,255,255,.58);display:flex;justify-content:space-between;align-items:center;padding:0 14px;color:var(--text-color,#111);font-weight:700}.entry-select-menu{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:60;background:rgba(255,255,255,.94);border:1px solid rgba(0,0,0,.06);border-radius:18px;box-shadow:0 18px 45px rgba(0,0,0,.14);padding:8px;display:none;max-height:280px;overflow:auto}.entry-select-menu.show{display:grid;gap:6px}.entry-select-item{border:0;border-radius:14px;background:rgba(var(--theme-rgb,16,185,129),.08);padding:11px 12px;text-align:left;color:var(--text-color,#111);display:flex;justify-content:space-between;gap:10px;align-items:center}.entry-select-item small{opacity:.62}.member-mini-link{text-decoration:none;color:inherit;display:block}.member-plan-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.member-plan-tab{border:1px solid rgba(255,255,255,.65);border-radius:18px;background:rgba(255,255,255,.48);padding:14px 8px;font-weight:800;color:var(--text-color,#111);display:flex;flex-direction:column;gap:4px;align-items:center}.member-plan-tab.active{background:rgba(var(--theme-rgb,16,185,129),.18);border-color:rgba(var(--theme-rgb,16,185,129),.38);color:rgb(var(--theme-rgb,16,185,129))}.member-plan-desc{margin-top:12px;border-radius:18px;padding:14px;background:rgba(var(--theme-rgb,16,185,129),.09)}.member-plan-desc p{margin:6px 0 10px;line-height:1.6;color:var(--muted-color,#667085)}.member-plan-desc div,.invoice-limit-line,.budget-line{display:flex;justify-content:space-between;gap:8px;color:var(--muted-color,#667085);font-size:13px}.budget-meter,.budget-progress{height:12px;border-radius:999px;background:rgba(0,0,0,.07);overflow:hidden;margin:14px 0}.budget-meter span,.budget-progress i{display:block;height:100%;border-radius:999px;background:rgb(var(--theme-rgb,16,185,129))}.budget-merged-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.budget-merged-row div{border-radius:18px;background:rgba(255,255,255,.42);padding:12px}.budget-merged-row span,.profile-stat-grid span{font-size:12px;color:var(--muted-color,#667085)}.budget-merged-row b{display:block;margin-top:5px}.budget-item-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:18px;background:rgba(255,255,255,.46);margin-bottom:10px}.budget-item-main i{display:block;height:8px;background:rgba(0,0,0,.07);border-radius:999px;overflow:hidden;margin-top:8px}.budget-item-main i em{display:block;height:100%;background:rgb(var(--theme-rgb,16,185,129));border-radius:999px}.budget-item-title{display:flex;align-items:center;gap:8px}.budget-item-title em{font-style:normal;font-size:12px;color:var(--muted-color,#667085)}.budget-item-side{display:flex;gap:8px;align-items:center}.drag-handle{cursor:grab;opacity:.45;font-weight:900}.bi-feature-card{border-radius:24px;padding:22px;background:rgba(var(--theme-rgb,16,185,129),.16);border:1px solid rgba(var(--theme-rgb,16,185,129),.24);margin-bottom:12px}.bi-feature-card span,.bi-card span{color:var(--muted-color,#667085);font-size:13px}.bi-feature-card strong{display:block;font-size:34px;letter-spacing:-.04em;margin:8px 0}.edit-count-line{margin-bottom:10px}.invoice-stat-grid.tidy-invoice-stats{grid-template-columns:repeat(4,1fr);gap:8px}.invoice-stat-grid.tidy-invoice-stats div{padding:12px 8px;border-radius:16px;background:rgba(255,255,255,.44);text-align:center}.invoice-fold-head{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer}.invoice-fold-head::-webkit-details-marker{display:none}.invoice-preview-box{border-radius:22px;background:rgba(0,0,0,.035);min-height:260px;display:flex;align-items:center;justify-content:center;overflow:hidden}.invoice-preview-box img{width:100%;max-height:70vh;object-fit:contain;display:block}.source-file-line{margin-top:12px;display:flex;justify-content:space-between;align-items:center;color:var(--muted-color,#667085)}.invoice-row-card{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:18px;background:rgba(255,255,255,.48);text-decoration:none;color:inherit;margin-bottom:10px}.invoice-icon{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(var(--theme-rgb,16,185,129),.12);color:rgb(var(--theme-rgb,16,185,129));font-weight:900}.category-card-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-chip-row{display:flex!important;align-items:center;justify-content:space-between;gap:6px;padding:10px 10px!important;border-radius:16px;background:rgba(255,255,255,.46)}.category-chip-row .btn-sm{min-height:30px;padding:0 10px;font-size:12px}.hidden-adjust-form{display:none}.mobile-tabbar{position:fixed!important;left:50%!important;right:auto!important;bottom:calc(env(safe-area-inset-bottom) + 10px)!important;transform:translateX(-50%)!important;width:min(92vw,430px)!important;box-sizing:border-box;z-index:1000}.mobile-tabbar.has-stat{grid-template-columns:repeat(4,1fr)}
@media (min-width: 769px){.mobile-tabbar{display:none!important}.section-block,.unified-card,.net-card{width:min(calc(100vw - 48px),980px)}.pc-layout .section-block,.pc-layout .unified-card,.pc-layout .net-card{max-width:980px}.invoice-edit-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width: 520px){.section-block,.unified-card,.net-card{width:calc(100vw - 28px)!important}.invoice-stat-grid.tidy-invoice-stats,.budget-merged-row{grid-template-columns:repeat(2,1fr)}.member-plan-tabs{grid-template-columns:repeat(3,1fr);gap:8px}.budget-item-row{grid-template-columns:auto 1fr}.budget-item-side{grid-column:2;justify-content:space-between}.invoice-row-card{grid-template-columns:38px 1fr}.invoice-row-card strong{grid-column:2;text-align:left}.category-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-chip-row{font-size:13px}.entry-sheet{width:min(94vw,440px)!important}}
html.dark-mode body:before{background:linear-gradient(180deg,rgba(var(--theme-rgb,16,185,129),.28) 0%,#12151c 56%,#0f1117 100%)}html.dark-mode .unified-card,html.dark-mode .net-card,html.dark-mode .app-form-modal,html.dark-mode .entry-sheet{background:rgba(24,27,36,.72)!important;border-color:rgba(255,255,255,.10)!important;color:#f5f7fb!important;box-shadow:0 18px 50px rgba(0,0,0,.35)!important}html.dark-mode .entry-select-trigger,html.dark-mode .member-plan-tab,html.dark-mode .budget-merged-row div,html.dark-mode .budget-item-row,html.dark-mode .invoice-stat-grid.tidy-invoice-stats div,html.dark-mode .invoice-row-card,html.dark-mode .category-chip-row{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.10)!important;color:#f5f7fb!important}html.dark-mode .entry-select-menu{background:rgba(24,27,36,.96);border-color:rgba(255,255,255,.10)}html.dark-mode .entry-select-item{background:rgba(255,255,255,.07);color:#f5f7fb}html.dark-mode input,html.dark-mode textarea,html.dark-mode select{background:rgba(255,255,255,.07)!important;color:#f5f7fb!important;border-color:rgba(255,255,255,.12)!important}html.dark-mode .section-subtitle,html.dark-mode .detail-subtitle,html.dark-mode .profile-stat-grid span,html.dark-mode .budget-line,html.dark-mode .invoice-limit-line{color:#aeb6c8!important}
.home-budget-category-list{margin-top:12px;display:grid;gap:8px}.home-budget-row{display:grid;grid-template-columns:78px 1fr 44px;gap:8px;align-items:center;font-size:13px}.home-budget-row i{height:7px;border-radius:99px;background:rgba(0,0,0,.08);overflow:hidden}.home-budget-row i em{display:block;height:100%;border-radius:99px;background:rgb(var(--theme-rgb,16,185,129))}.home-budget-row b{text-align:right;color:rgb(var(--theme-rgb,16,185,129))}
.account-manage-line{display:grid!important;grid-template-columns:auto 1fr;align-items:center}.account-line-view{min-width:0}.account-line-actions{grid-column:2}.account-drag-handle{padding:0 6px;color:rgb(var(--theme-rgb,16,185,129))}.account-category-group .dragging{opacity:.55}


/* V29 polish */
.entry-sheet-mask,.simple-calc-mask,.app-form-modal-mask{z-index:9999!important;}
.entry-sheet,.simple-calc-sheet,.app-form-modal{position:relative;z-index:10000!important;}
.entry-sheet,.simple-calc-sheet{margin-left:auto!important;margin-right:auto!important;transform:none!important;left:auto!important;}
.home-budget-list{display:grid;gap:10px}.home-budget-strip{border-radius:18px;padding:12px;background:rgba(255,255,255,.48);border:1px solid var(--glass-border,rgba(255,255,255,.55))}.home-budget-strip.total-budget{background:rgba(var(--theme-rgb,16,185,129),.12)}.home-budget-title,.home-budget-meta,.budget-progress-text{display:flex;justify-content:space-between;gap:10px;align-items:center}.home-budget-title b{font-size:14px}.home-budget-title span{font-weight:900;color:rgb(var(--theme-rgb,16,185,129))}.home-budget-meta,.budget-progress-text{font-size:12px;color:var(--muted-color,#667085)}
.sort-modal{width:min(520px,94vw)}.sort-arrow-form,.sort-arrow-list{display:grid;gap:10px}.sort-type-title{font-weight:950;color:var(--muted-color,#667085);padding:6px 2px}.sort-arrow-row{display:grid;grid-template-columns:1fr auto 38px 38px;gap:8px;align-items:center;border-radius:16px;padding:10px;background:rgba(255,255,255,.52);border:1px solid var(--glass-border,rgba(255,255,255,.6))}.sort-arrow-row span{font-weight:900;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sort-arrow-row em{font-style:normal;color:var(--muted-color,#667085);font-size:12px}.sort-arrow-row button{border:0;border-radius:13px;background:rgba(var(--theme-rgb,16,185,129),.12);color:rgb(var(--theme-rgb,16,185,129));font-weight:1000;height:38px}.account-drag-handle,.drag-handle{display:none!important}
.budget-top-progress{display:grid;gap:10px}.budget-top-progress .budget-progress{margin:0}.polished-budget-row{grid-template-columns:1fr auto!important}.budget-item-side .btn-sm.red{min-width:50px}.budget-toggle-row{display:grid!important;grid-template-columns:1fr 1fr!important}.budget-line{flex-wrap:wrap}.budget-line span{white-space:nowrap}.budget-item-main{min-width:0}.budget-item-title{justify-content:space-between}.budget-item-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-delete-x{width:28px!important;height:28px!important;min-height:28px!important;border-radius:50%!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;background:rgba(239,68,68,.12)!important;color:#ef4444!important;font-weight:1000!important}.category-chip-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stat-hero-card,.stat-setting-card,.bi-card{color:var(--text-color,#111827)}.stat-setting-card .invoice-fold-head{margin-bottom:12px}.bi-card{background:rgba(255,255,255,.48)!important;border:1px solid var(--glass-border,rgba(255,255,255,.55))!important}.bi-card strong{display:block;margin:6px 0;font-size:22px}.bi-card em,.bi-feature-card em{font-style:normal;color:var(--muted-color,#667085)}
.member-top-two-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.member-top-two-row div{border-radius:18px;padding:14px;background:rgba(255,255,255,.46)}.member-top-two-row span,.attachment-progress-row span{font-size:12px;color:var(--muted-color,#667085)}.member-top-two-row b{display:block;margin-top:5px;font-size:22px}.attachment-progress-row{margin-top:10px;border-radius:18px;padding:12px;background:rgba(255,255,255,.42)}.attachment-progress-row>div{display:flex;justify-content:space-between}.attachment-progress-row i{display:block;height:8px;border-radius:999px;background:rgba(0,0,0,.07);overflow:hidden;margin-top:8px}.attachment-progress-row i em{display:block;height:100%;background:rgb(var(--theme-rgb,16,185,129))}.member-duration-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.member-duration-row .choice-card{min-height:38px;font-size:12px;padding:8px 4px}.member-buy-form[style*="none"]{display:none!important}
.invoice-action-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:12px}.invoice-action-tabs .btn-sm.active{background:rgb(var(--theme-rgb,16,185,129))!important;color:#fff!important}.invoice-panel-card{margin-top:10px}.invoice-row-card{grid-template-columns:42px minmax(0,1fr) auto!important}.invoice-row-main{min-width:0}.invoice-row-main b,.invoice-row-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.invoice-row-card strong{white-space:nowrap;font-size:15px;margin-left:8px}.invoice-hero-card .section-title-row{align-items:flex-start}.invoice-stat-grid.tidy-invoice-stats div b{font-size:16px}.invoice-wide-preview{aspect-ratio:1.62/1;min-height:0!important;max-height:360px;cursor:zoom-in;background:rgba(255,255,255,.5)}.invoice-wide-preview img{width:100%;height:100%;object-fit:contain}.invoice-wide-preview object{width:100%;height:100%;border:0}.invoice-preview-large{width:min(920px,96vw);height:min(82vh,720px)}.invoice-preview-large img,.invoice-preview-large object{width:100%;height:calc(100% - 56px);object-fit:contain;border:0}.invoice-detail-page .section-title-row{align-items:flex-start}.source-file-line{justify-content:flex-start;gap:12px}.invoice-detail-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.invoice-detail-actions .btn-sm{width:100%}
html.dark-mode .bi-card,html.dark-mode .stat-setting-card,html.dark-mode .home-budget-strip,html.dark-mode .budget-item-row,html.dark-mode .member-top-two-row div,html.dark-mode .attachment-progress-row,html.dark-mode .invoice-row-card,html.dark-mode .sort-arrow-row,html.dark-mode .category-chip-row{background:rgba(18,24,38,.72)!important;border-color:rgba(255,255,255,.10)!important;color:#eef2ff!important}html.dark-mode .bi-feature-card{background:rgba(var(--theme-rgb,16,185,129),.18)!important;border-color:rgba(var(--theme-rgb,16,185,129),.24)!important}html.dark-mode .invoice-wide-preview{background:rgba(15,23,42,.72)!important}html.dark-mode .sort-arrow-row button{background:rgba(var(--theme-rgb,16,185,129),.18)!important}
@media(max-width:760px){.member-duration-row{grid-template-columns:repeat(5,1fr);gap:6px}.invoice-stat-grid.tidy-invoice-stats{grid-template-columns:repeat(2,1fr)!important}.invoice-action-tabs{grid-template-columns:1fr 1fr}.invoice-action-tabs a{grid-column:1/3}.sort-arrow-row{grid-template-columns:1fr 34px 34px}.sort-arrow-row em{display:none}.budget-item-row{grid-template-columns:1fr!important}.budget-item-side{justify-content:space-between}.entry-sheet,.simple-calc-sheet{width:min(100%,520px)!important;box-sizing:border-box}.category-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.account-manage-line{grid-template-columns:1fr!important}.account-line-actions{grid-column:1!important}.account-head-actions{display:flex;gap:8px;align-items:center}.invoice-edit-grid input,.invoice-edit-grid textarea,.form-stack input,.form-stack textarea{min-width:0;box-sizing:border-box}.app-unified-select{position:relative;z-index:3}.app-unified-select:has(.entry-select-menu.show){z-index:10001!important}.entry-select-menu{z-index:10002!important}.entry-select-trigger{box-sizing:border-box}.simple-calc-mask{align-items:center!important;justify-content:center!important}.simple-calc-sheet{max-width:min(520px,94vw)!important}

/* ===== V30 polish: budget/member/invoice/account/detail consistency ===== */
.budget-home-card .home-budget-strip.total-budget{
  background:linear-gradient(180deg,var(--theme-dynamic-soft),rgba(255,255,255,.42))!important;
  border-color:rgba(16,185,129,.18)!important;
  box-shadow:0 10px 28px rgba(15,23,42,.045)!important;
}
.budget-home-card .home-budget-strip.total-budget .budget-progress{background:rgba(148,163,184,.18)!important;}
.budget-home-card .home-budget-strip.total-budget .budget-progress i{background:var(--theme-dynamic)!important;opacity:.86!important;}
.account-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;}
.account-head-actions .small-primary-btn{height:36px;min-width:58px;border-radius:14px!important;padding:0 14px!important;display:inline-flex;align-items:center;justify-content:center;box-shadow:none!important;background:var(--theme-dynamic-soft)!important;color:var(--theme-dynamic)!important;border:1px solid rgba(148,163,184,.18)!important;}
.account-head-actions .small-primary-btn:not(.ghost){background:var(--theme-dynamic)!important;color:#fff!important;border-color:transparent!important;}
.page-account_detail .account-detail-card{background:linear-gradient(145deg,var(--theme-dynamic),rgba(17,24,39,.92))!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 18px 48px var(--theme-dynamic-soft)!important;}
.page-account_detail .account-detail-card .net-value{font-size:28px!important;line-height:1.15!important;}
.page-account_detail .account-detail-card .net-meta{gap:8px!important;}
.page-account_detail .account-detail-card .net-meta span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 10px;}
.page-account_detail .transaction-row{border:1px solid var(--glass-border)!important;background:rgba(255,255,255,.58)!important;border-radius:20px!important;margin-bottom:10px!important;padding:14px!important;box-shadow:0 8px 24px rgba(15,23,42,.035)!important;}
.page-account_detail .list-card{display:flex!important;flex-direction:column!important;gap:0!important;overflow:visible!important;}
.page-account_detail .detail-title{font-size:15px!important;}
.page-account_detail .detail-subtitle{line-height:1.5!important;max-width:100%!important;}
.page-statistics .app-unified-select,.page-statistics .entry-select-menu{z-index:10080!important;}
.app-form-modal-mask,.entry-sheet-mask,.invoice-preview-modal{z-index:10070!important;}
.entry-select-menu.show{z-index:10090!important;}
.member-plan-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;}
.member-plan-tab{border:1px solid var(--glass-border)!important;background:rgba(255,255,255,.58)!important;border-radius:22px!important;padding:16px 12px!important;text-align:left!important;color:var(--text)!important;box-shadow:0 10px 26px rgba(15,23,42,.045)!important;min-height:88px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;}
.member-plan-tab.active{border-color:var(--theme-dynamic)!important;background:var(--theme-dynamic-soft)!important;color:var(--theme-dynamic)!important;}
.member-plan-tab small{display:block;margin-top:8px;color:var(--muted);font-size:12px;font-weight:900;}
.member-plan-desc{border-radius:22px!important;background:rgba(255,255,255,.58)!important;border:1px solid var(--glass-border)!important;padding:16px!important;margin:12px 0!important;}
.member-plan-desc b{font-size:22px;color:var(--theme-dynamic);}
.member-plan-desc p{margin:8px 0 12px;color:var(--text);line-height:1.55;}
.member-plan-desc div{display:flex;gap:8px;flex-wrap:wrap;}
.member-plan-desc span{background:var(--theme-dynamic-soft);color:var(--theme-dynamic);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;}
.member-duration-row{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;}
.member-duration-row .choice-card{min-height:42px!important;padding:10px 8px!important;text-align:center!important;justify-content:center!important;border-radius:16px!important;}
.member-duration-row .choice-card.active,.member-duration-row .choice-card:has(input:checked){border-color:var(--theme-dynamic)!important;background:var(--theme-dynamic-soft)!important;color:var(--theme-dynamic)!important;}
.member-duration-row .choice-card input{display:none!important;}
.member-pay-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--glass-border);background:rgba(255,255,255,.60);border-radius:22px;padding:14px 16px;margin-bottom:12px;}
.member-pay-preview span{font-size:12px;color:var(--muted);font-weight:900;}
.member-pay-preview strong{font-size:24px;color:var(--theme-dynamic);white-space:nowrap;}
.member-pay-preview em{font-style:normal;color:var(--muted);font-size:12px;}
.book-manage-create-card .inline-form{background:rgba(255,255,255,.52);border:1px solid var(--glass-border);border-radius:20px;padding:12px;box-sizing:border-box;margin-top:10px;}
.book-manage-list{display:flex!important;flex-direction:column!important;gap:10px!important;overflow:visible!important;}
.book-row{border:1px solid var(--glass-border)!important;background:rgba(255,255,255,.58)!important;border-radius:20px!important;padding:14px!important;margin:0!important;}
.book-row-actions .btn-sm{height:34px;min-width:54px;display:inline-flex;align-items:center;justify-content:center;}
.invoice-hero-card .section-title-row,.invoice-detail-page .section-title-row{align-items:flex-start!important;gap:14px!important;}
.invoice-stat-grid{gap:12px!important;margin-top:14px!important;}
.invoice-stat-grid div{padding:15px!important;border-radius:20px!important;}
.invoice-stat-grid span{margin-bottom:8px!important;}
.invoice-fold-head{padding:17px 18px!important;}
.invoice-fold-head h2{line-height:1.25!important;}
.invoice-fold-head span{line-height:1.45!important;margin-top:6px!important;}
.invoice-row-card{gap:14px!important;padding:14px 15px!important;}
.invoice-row-card strong{font-size:15px!important;}
.invoice-preview-first .section-title-row .btn-sm{margin-left:auto!important;height:36px;display:inline-flex;align-items:center;}
.invoice-preview-box{aspect-ratio:1.78/1!important;min-height:0!important;width:100%!important;border-radius:24px!important;position:relative!important;}
.invoice-preview-box object{width:100%!important;height:100%!important;border:0!important;border-radius:18px!important;}
.invoice-preview-box img{width:100%!important;height:100%!important;object-fit:contain!important;}
.invoice-pdf-preview{height:100%!important;width:100%!important;box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:24px!important;}
.source-file-line{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;margin:12px 4px 0!important;color:var(--muted)!important;font-size:12px!important;}
.source-file-line span:first-child{order:2;margin-left:auto;}
.source-file-line span:last-child{order:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.budget-toggle-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important;}
.budget-toggle-row .choice-card{min-height:46px!important;border-radius:16px!important;justify-content:center!important;text-align:center!important;background:rgba(255,255,255,.56)!important;border:1px solid var(--glass-border)!important;}
.budget-toggle-row .choice-card:has(input:checked){background:var(--theme-dynamic-soft)!important;color:var(--theme-dynamic)!important;border-color:var(--theme-dynamic)!important;}
.budget-action-row{display:grid!important;grid-template-columns:1fr auto auto!important;gap:10px!important;align-items:center!important;}
.budget-edit-trigger{width:100%;border:0;background:transparent;padding:0;margin:0;text-align:left;color:inherit;cursor:pointer;}
.polished-budget-row{align-items:center!important;}
.polished-budget-row .budget-line{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-top:9px!important;}
.polished-budget-row .budget-line span{font-size:12px!important;color:var(--muted)!important;white-space:nowrap;}
.polished-budget-row .budget-item-side{flex:0 0 auto!important;}
.category-add-form{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;align-items:center!important;margin:0 18px 14px!important;}
.category-add-form input{height:42px!important;}
.category-add-form .primary-btn{height:42px!important;min-width:70px!important;padding:0 14px!important;border-radius:14px!important;}
.category-card-grid{padding:0 18px 18px!important;}
.category-chip-row{min-height:42px!important;border-radius:16px!important;padding:8px 8px 8px 13px!important;}
.category-delete-x{width:26px!important;height:26px!important;border-radius:10px!important;font-size:16px!important;line-height:26px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
html.dark-mode .member-plan-tab,html.dark-mode .member-plan-desc,html.dark-mode .member-pay-preview,html.dark-mode .book-row,html.dark-mode .book-manage-create-card .inline-form,html.dark-mode .page-account_detail .transaction-row,html.dark-mode .budget-toggle-row .choice-card{background:rgba(15,23,42,.74)!important;border-color:rgba(255,255,255,.12)!important;}
html.dark-mode .member-plan-desc p{color:#e5e7eb!important;}
html.dark-mode .invoice-preview-box,html.dark-mode .invoice-pdf-preview{background:rgba(15,23,42,.74)!important;border-color:rgba(255,255,255,.12)!important;}
@media(max-width:760px){
  .member-plan-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
  .member-plan-tab{min-height:76px!important;padding:12px 9px!important;border-radius:18px!important;font-size:13px!important;}
  .member-duration-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .member-pay-preview{display:grid!important;grid-template-columns:1fr auto!important;}
  .member-pay-preview em{grid-column:1/-1;}
  .book-manage-create-card .inline-form{display:grid!important;grid-template-columns:1fr!important;}
  .book-row{align-items:flex-start!important;flex-direction:column!important;}
  .book-row-actions{width:100%;display:flex!important;justify-content:flex-end!important;flex-direction:row!important;}
  .invoice-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .invoice-preview-box{aspect-ratio:1.65/1!important;}
  .budget-action-row{grid-template-columns:1fr 1fr 1fr!important;}
  .polished-budget-row{flex-direction:column!important;align-items:stretch!important;}
  .polished-budget-row .budget-line{grid-template-columns:1fr!important;gap:4px!important;}
  .category-add-form{grid-template-columns:1fr auto!important;margin:0 14px 12px!important;}
}
/* V30 adjustment: account header buttons use identical visual language */
.account-head-actions .small-primary-btn,
.account-head-actions .small-primary-btn:not(.ghost){background:rgba(255,255,255,.58)!important;color:var(--theme-dynamic)!important;border:1px solid var(--glass-border)!important;box-shadow:0 8px 22px rgba(15,23,42,.035)!important;}
.account-head-actions .small-primary-btn:hover{background:var(--theme-dynamic-soft)!important;border-color:var(--theme-dynamic)!important;}


/* ===== V31: chart color, top-layer operations, credit/account polish ===== */
:root{--z-operation:200000;--z-dropdown:200100;--z-modal:200050;--income-red:#ef4444;--expense-green:#10b981;}
/* K线和收支柱状使用中国股票语义：收入/上行为红，支出/下行为绿 */
.income-dot::before{background:var(--income-red)!important}.expense-dot::before{background:var(--expense-green)!important}.income-card strong,.text-income{color:var(--income-red)!important}.expense-card strong,.text-expense{color:var(--expense-green)!important}
/* 预算超过80%统一预警红色 */
.budget-rate-text.danger,.home-budget-title .danger,.budget-item-side .danger{color:#ef4444!important}.budget-rate-text.danger::after{content:""}.budget-progress i{background:var(--theme-dynamic)!important}.budget-item-row:has(.budget-rate-text.danger) .budget-progress i,.home-budget-strip:has(.budget-rate-text.danger) .budget-progress i{background:#ef4444!important}
/* 账户页面还款提醒和账户相关卡片统一主题色 */
.account-reminder-block,.credit-app-panel,.page-account_detail .section-block,.page-account_detail .unified-card{background:rgba(255,255,255,.72)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--shadow)!important}.advice-pill{background:var(--theme-dynamic-soft)!important;color:var(--theme-dynamic)!important;border:1px solid rgba(var(--theme-rgb,16,185,129),.16)!important}.reminder-line{background:rgba(255,255,255,.56)!important;border-color:var(--glass-border)!important}.reminder-line b{color:var(--theme-dynamic)!important}.credit-bill-grid div{background:var(--theme-dynamic-soft)!important;border-color:rgba(var(--theme-rgb,16,185,129),.18)!important}.credit-bill-grid b{color:var(--theme-dynamic)!important}
/* 账户详情宽度对齐顶部卡片，消除偏右 */
.page-account_detail .app-main{box-sizing:border-box}.page-account_detail .section-block,.page-account_detail .account-detail-card{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box}.page-account_detail .transaction-row,.page-account_detail .account-line{width:100%;box-sizing:border-box}.inner-expand-card{padding:0!important;overflow:hidden;background:rgba(255,255,255,.50)!important;border-radius:22px!important}.inner-expand-card summary{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:52px!important;padding:0 14px!important;background:rgba(255,255,255,.38)!important;border-radius:20px!important}.inner-expand-card summary span{font-weight:1000}.inner-expand-card summary em{font-style:normal;font-size:12px;color:var(--theme-dynamic);background:var(--theme-dynamic-soft);padding:7px 10px;border-radius:999px}.inner-expand-card[open] summary{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.expand-card-body{padding:14px!important;border-top:1px solid var(--glass-border)!important}
/* Banle 默认账户标识 */
.btn-sm.disabled{pointer-events:none;opacity:.72;background:rgba(148,163,184,.14)!important;color:var(--muted)!important}.account-category-group:last-child .account-manage-line:has(.account-line-main strong:first-child){ }
/* 所有操作弹窗采用记账计算器同款大框架、居中、顶部白线，不使用右上角X */
.app-form-modal-mask,.app-modal-mask,.entry-sheet-mask,.simple-calc-mask{z-index:var(--z-modal)!important;position:fixed!important;inset:0!important;align-items:center!important;justify-content:center!important;padding:18px!important;box-sizing:border-box!important;background:rgba(2,6,23,.42)!important;backdrop-filter:blur(12px)!important}.entry-sheet-mask{z-index:var(--z-operation)!important}.entry-sheet,.simple-calc-sheet,.app-form-modal,.app-modal{position:relative!important;width:min(520px,calc(100vw - 28px))!important;max-height:min(86vh,760px)!important;overflow:auto!important;border-radius:30px!important;padding:22px!important;box-sizing:border-box!important;background:rgba(255,255,255,.86)!important;border:1px solid rgba(255,255,255,.68)!important;box-shadow:0 28px 90px rgba(15,23,42,.28)!important}.entry-sheet::before,.simple-calc-sheet::before,.app-form-modal::before,.app-modal::before,.modal-sheet-handle{content:"";display:block;width:46px;height:4px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 1px 6px rgba(15,23,42,.16);margin:0 auto 16px}.modal-title-row button,.modal-close,.app-modal-icon{display:none!important}.modal-title-row{justify-content:center!important;text-align:center!important;margin-bottom:14px!important}.modal-title-row h2{font-size:18px!important}.sort-modal{max-width:560px!important}.sort-arrow-list{max-height:54vh!important;overflow:auto!important;padding-right:2px!important}.sort-arrow-row{background:rgba(255,255,255,.56)!important;border:1px solid var(--glass-border)!important;border-radius:18px!important;padding:10px!important;box-sizing:border-box!important}.sort-arrow-row button{width:38px!important;height:38px!important;border-radius:14px!important;background:var(--theme-dynamic-soft)!important;color:var(--theme-dynamic)!important}
/* 下拉框最高层展示，避免被导航条/卡片遮挡。展开时用居中浮层聚焦当前操作 */
.app-native-select-hidden{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}.entry-custom-select{position:relative!important;width:100%!important}.entry-select-trigger{width:100%!important;min-height:48px!important;border-radius:16px!important;border:1px solid var(--glass-border)!important;background:rgba(255,255,255,.62)!important;color:inherit!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 14px!important;box-sizing:border-box!important;font-weight:900!important}.entry-select-menu{position:fixed!important;z-index:var(--z-dropdown)!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(520px,calc(100vw - 28px))!important;max-height:min(70vh,620px)!important;overflow:auto!important;background:rgba(255,255,255,.94)!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:28px!important;box-shadow:0 28px 90px rgba(15,23,42,.32)!important;padding:14px!important;backdrop-filter:blur(16px)!important}.entry-select-menu:not(.show){display:none!important}.entry-select-menu.show{display:grid!important;gap:8px!important}.entry-select-menu.show::before{content:"";width:46px;height:4px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 1px 6px rgba(15,23,42,.12);margin:0 auto 10px;display:block}.entry-select-item{min-height:48px!important;border-radius:16px!important;background:rgba(255,255,255,.56)!important;border:1px solid var(--glass-border)!important;color:inherit!important;text-align:left!important;padding:10px 12px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}.entry-select-item b{font-size:14px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-select-item small{font-size:12px!important;color:var(--muted)!important;white-space:nowrap}.entry-select-item.is-selected::after{content:"✓";width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--theme-dynamic-soft);color:var(--theme-dynamic);font-weight:1000;flex:0 0 auto}
/* 分类设置展开按钮视觉统一 */
.category-fold-head,.invoice-fold-head{min-height:56px!important}.category-fold-head .btn-sm,.invoice-fold-head .btn-sm{min-width:78px!important;height:38px!important;border-radius:14px!important}.category-card-grid .category-chip-row{min-height:42px!important}.category-delete-x{width:26px!important;height:26px!important;min-width:26px!important;font-size:16px!important;line-height:1!important}
/* 预算多选/排序/设置布局优化 */
.budget-toggle-row .choice-card{cursor:pointer}.budget-toggle-row .choice-card input{margin-right:6px}.budget-item-row{background:rgba(255,255,255,.56)!important;border:1px solid var(--glass-border)!important}.budget-item-side strong{min-width:48px;text-align:right}.budget-action-row .btn-sm,.budget-action-row .primary-btn{height:46px!important;border-radius:16px!important}.budget-edit-modal .entry-select-menu,.stat-setting-card .entry-select-menu{z-index:var(--z-dropdown)!important}
/* 统计页夜间模式统一 */
html.dark-mode .stat-hero-card,html.dark-mode .stat-setting-card,html.dark-mode .bi-card,html.dark-mode .bi-feature-card{background:rgba(15,23,42,.74)!important;border-color:rgba(255,255,255,.12)!important;color:#f8fafc!important}html.dark-mode .bi-card em,html.dark-mode .bi-feature-card em{color:#aeb6c8!important}
/* 移动端底部导航不得遮挡弹窗 */
.mobile-tabbar{z-index:1000!important}.app-form-modal-mask,.app-modal-mask,.entry-sheet-mask,.entry-select-menu{z-index:200000!important}
/* 速度优化：减少全局动画和重绘 */
*{scroll-behavior:auto!important}.app-main,.section-block,.unified-card,.net-card,.transaction-row,.account-line{transition:none!important;animation:none!important}.local-chart canvas{image-rendering:auto}
@media(max-width:760px){.app-shell{padding-bottom:86px!important}.app-form-modal,.app-modal,.entry-sheet,.simple-calc-sheet{width:min(94vw,520px)!important;max-height:84vh!important}.entry-sheet-mask{align-items:center!important}.account-head-actions{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important}.account-head-actions .small-primary-btn{min-width:0!important;padding:0 8px!important}.page-account_detail .section-block,.page-account_detail .account-detail-card{margin:12px 0!important}.credit-bill-grid{grid-template-columns:1fr!important}.entry-select-menu{top:46%!important}.sort-arrow-row{grid-template-columns:1fr 38px 38px!important}.sort-arrow-row em{display:none!important}}
html.dark-mode .app-form-modal,html.dark-mode .app-modal,html.dark-mode .entry-sheet,html.dark-mode .simple-calc-sheet,html.dark-mode .entry-select-menu{background:rgba(15,23,42,.92)!important;border-color:rgba(255,255,255,.12)!important;color:#f8fafc!important}html.dark-mode .entry-select-trigger,html.dark-mode .entry-select-item,html.dark-mode .inner-expand-card,html.dark-mode .inner-expand-card summary,html.dark-mode .reminder-line,html.dark-mode .credit-bill-grid div,html.dark-mode .sort-arrow-row,html.dark-mode .budget-item-row{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.12)!important;color:#f8fafc!important}html.dark-mode .expand-card-body{border-color:rgba(255,255,255,.12)!important}html.dark-mode .app-form-modal-mask,html.dark-mode .app-modal-mask,html.dark-mode .entry-sheet-mask{background:rgba(2,6,23,.62)!important}

/* V32 performance + unified overlays + storage/invoice/member polish */
:root{--z-modal:200000;--z-operation:210000;--glass-bg:rgba(255,255,255,.72);--glass-border:rgba(255,255,255,.62)}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,var(--theme-dynamic-soft) 0%,rgba(255,255,255,.78) 34%,#f8fafc 100%)!important;pointer-events:none}
@media(min-width:761px){.app-shell{padding-top:12px!important}}
.small-primary-btn,.primary-btn,.invoice-actions-theme .small-primary-btn{background:var(--theme-dynamic)!important;background-color:var(--theme-dynamic)!important;color:#fff!important;box-shadow:0 10px 22px var(--theme-dynamic-soft)!important;border:0!important}.small-primary-btn.ghost,.btn-sm{background:var(--theme-dynamic-soft)!important;color:var(--theme-dynamic)!important;border:1px solid rgba(var(--theme-rgb,16,185,129),.18)!important}.small-primary-btn,.btn-sm{border-radius:14px!important;min-height:36px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;text-decoration:none;box-sizing:border-box}.account-head-actions .small-primary-btn{height:38px!important;min-width:58px!important}.account-head-actions{align-items:center!important}
.app-form-modal-mask,.app-modal-mask,.entry-sheet-mask,.simple-calc-mask{z-index:var(--z-modal)!important;position:fixed!important;inset:0!important;display:none;align-items:center!important;justify-content:center!important;padding:18px!important;box-sizing:border-box;background:rgba(2,6,23,.40)!important;backdrop-filter:blur(14px)!important}.app-form-modal-mask[style*="flex"],.app-modal-mask[style*="flex"],.entry-sheet-mask[style*="flex"],.simple-calc-mask[style*="flex"]{display:flex!important}.entry-sheet-mask,.simple-calc-mask{z-index:var(--z-operation)!important}.entry-sheet,.simple-calc-sheet,.app-form-modal,.app-modal{position:relative!important;z-index:calc(var(--z-operation) + 1)!important;width:min(520px,calc(100vw - 28px))!important;max-height:min(86vh,760px)!important;overflow:auto!important;border-radius:30px!important;padding:22px!important;box-sizing:border-box!important;background:rgba(255,255,255,.86)!important;border:1px solid var(--glass-border)!important;box-shadow:0 28px 90px rgba(15,23,42,.28)!important}.entry-sheet::before,.simple-calc-sheet::before,.app-form-modal::before,.app-modal::before{content:"";display:block;width:46px;height:4px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 1px 6px rgba(15,23,42,.16);margin:0 auto 16px}.modal-sheet-handle{display:none!important}.modal-title-row button,.modal-close,.app-modal-icon{display:none!important}.modal-title-row{justify-content:center!important;text-align:center!important;margin-bottom:14px!important}.modal-title-row h2{font-size:18px!important;margin:0!important}
.entry-select-menu,.custom-select-panel,.dropdown-menu{z-index:220000!important;position:fixed!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(460px,calc(100vw - 32px))!important;max-height:min(50vh,360px)!important;overflow:auto!important;border-radius:24px!important;background:rgba(255,255,255,.94)!important;border:1px solid var(--glass-border)!important;box-shadow:0 26px 84px rgba(15,23,42,.28)!important;padding:10px!important}.budget-row-form .entry-select-menu,.budget-edit-modal .entry-select-menu{max-height:min(42vh,300px)!important;width:min(420px,calc(100vw - 34px))!important}.multi-select{min-height:86px!important}
.invoice-upload-modal{max-width:620px!important}.invoice-hero-card .section-title-row{margin-bottom:12px}.invoice-stat-grid.tidy-invoice-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}.invoice-stat-grid.tidy-invoice-stats div{padding:14px 8px!important;border-radius:18px!important;background:rgba(var(--theme-rgb,16,185,129),.08)!important;text-align:center!important}.invoice-stat-grid.tidy-invoice-stats span{display:block;color:var(--muted-color,#667085);font-size:12px;margin-bottom:6px}.invoice-stat-grid.tidy-invoice-stats b{font-size:18px}.invoice-limit-line{margin-top:12px;align-items:center}.invoice-action-tabs{display:flex!important;gap:10px!important;margin-top:14px!important}.invoice-action-tabs>*{flex:1;min-width:0!important}.invoice-panel-card{animation:none!important}.invoice-row-card{grid-template-columns:42px minmax(0,1fr) auto!important}.invoice-row-main{min-width:0!important}.invoice-row-main b,.invoice-row-main span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-row-card strong{white-space:nowrap;margin-left:8px}.invoice-preview-info{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.invoice-preview-info div{border-radius:16px;background:rgba(var(--theme-rgb,16,185,129),.08);padding:12px}.invoice-preview-info span{display:block;font-size:12px;color:var(--muted-color,#667085);margin-bottom:5px}.invoice-preview-info b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-wide-preview{aspect-ratio:1.7/1;min-height:0!important;max-height:360px!important}.invoice-wide-preview object,.invoice-preview-large object{width:100%;height:100%;min-height:320px}.invoice-pdf-preview{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:28px;box-sizing:border-box}.invoice-detail-page .section-title-row{align-items:flex-start}.invoice-detail-page .section-title-row>a{margin-left:auto;white-space:nowrap}.invoice-file-picker{border:1px dashed rgba(var(--theme-rgb,16,185,129),.38)!important;background:rgba(var(--theme-rgb,16,185,129),.06)!important;color:var(--theme-dynamic)!important}.invoice-mail-register{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border,#e5e7eb)}
.member-top-two-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.member-top-two-row div,.attachment-progress-row{background:rgba(var(--theme-rgb,16,185,129),.08)!important;border-radius:18px!important;padding:14px!important}.member-plan-tabs{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important}.member-plan-tab{min-height:74px!important}.member-pay-preview{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:18px;padding:14px;background:rgba(var(--theme-rgb,16,185,129),.08)}.member-duration-row{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:8px!important}.member-duration-row .choice-card{padding:10px 6px!important;text-align:center!important;justify-content:center!important}.member-duration-row .choice-card.active,.choice-card:has(input:checked){border-color:rgba(var(--theme-rgb,16,185,129),.48)!important;background:rgba(var(--theme-rgb,16,185,129),.12)!important;color:var(--theme-dynamic)!important}
.sort-type-row{margin:8px 0!important;border-color:rgba(var(--theme-rgb,16,185,129),.24)!important;background:rgba(var(--theme-rgb,16,185,129),.10)!important}.sort-type-title{margin-top:10px}.sort-arrow-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto 38px 38px!important;gap:8px;align-items:center}.sort-arrow-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sort-arrow-row em{font-style:normal;color:var(--muted-color,#667085);font-size:12px}.sort-arrow-row button{border:0!important}
.budget-action-row{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important}.budget-toggle-row{display:flex!important;gap:8px!important;flex-wrap:wrap}.budget-toggle-row .choice-card{flex:1;min-width:120px;justify-content:center}.polished-budget-row{align-items:stretch!important}.budget-item-main{border:0;background:transparent;text-align:left;width:100%;padding:0}.budget-item-side{align-self:center}.budget-rate-text.danger,.budget-item-row:has(.budget-rate-text.danger) .budget-progress i{color:#ef4444!important}.budget-item-row:has(.budget-rate-text.danger) .budget-progress i{background:#ef4444!important}
.admin-storage-card input{min-width:0}.admin-table .glass-select{min-width:96px}.mobile-tabbar{bottom:calc(env(safe-area-inset-bottom) + 10px)!important}.page-dashboard .app-shell,.page-accounts .app-shell,.page-profile .app-shell{padding-top:12px!important}
html.dark-mode body::before{background:linear-gradient(180deg,rgba(var(--theme-rgb,16,185,129),.30) 0%,#151923 45%,#0f1117 100%)!important}html.dark-mode .unified-card,html.dark-mode .app-form-modal,html.dark-mode .entry-sheet,html.dark-mode .simple-calc-sheet{background:rgba(22,26,36,.78)!important;border-color:rgba(255,255,255,.11)!important;color:#f8fafc!important}html.dark-mode .invoice-stat-grid.tidy-invoice-stats div,html.dark-mode .invoice-preview-info div,html.dark-mode .member-top-two-row div,html.dark-mode .attachment-progress-row,html.dark-mode .member-pay-preview,html.dark-mode .budget-item-row,html.dark-mode .sort-arrow-row,html.dark-mode .invoice-row-card{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.12)!important;color:#f8fafc!important}html.dark-mode .entry-select-menu,html.dark-mode .custom-select-panel,html.dark-mode .dropdown-menu{background:rgba(15,23,42,.96)!important;border-color:rgba(255,255,255,.12)!important;color:#f8fafc!important}html.dark-mode input,html.dark-mode textarea,html.dark-mode select{background:rgba(255,255,255,.07)!important;color:#f8fafc!important;border-color:rgba(255,255,255,.12)!important}
@media(max-width:760px){.invoice-stat-grid.tidy-invoice-stats{grid-template-columns:repeat(2,1fr)!important}.invoice-action-tabs{grid-template-columns:repeat(2,1fr);flex-wrap:wrap}.invoice-action-tabs>*{flex:1 0 calc(50% - 6px)}.invoice-preview-info{grid-template-columns:1fr!important}.invoice-wide-preview{aspect-ratio:1.55/1!important;max-height:260px!important}.member-duration-row{grid-template-columns:repeat(3,1fr)!important}.sort-arrow-row{grid-template-columns:minmax(0,1fr) 38px 38px!important}.sort-arrow-row em{display:none}.app-shell{padding-bottom:92px!important}.entry-select-menu{max-height:48vh!important}.budget-row-form .entry-select-menu{max-height:40vh!important}}


/* V33 - manual Banle account guard, calculator/category polish, bottom spacing */
@media(max-width:760px){
  .app-shell{padding-bottom:calc(72px + env(safe-area-inset-bottom))!important;}
  .app-main>.section-block:last-child,.app-main>.unified-card:last-child{margin-bottom:14px!important;}
  .mobile-tabbar{bottom:calc(env(safe-area-inset-bottom) + 8px)!important;}
}
.entry-sheet,.simple-calc-sheet{margin:auto!important;}
.entry-sheet>.entry-sheet-handle,.simple-calc-sheet>.entry-sheet-handle{display:none!important;}
.entry-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin-bottom:10px!important;}
.entry-tab{min-width:0!important;padding:10px 4px!important;font-size:14px!important;}
.entry-category-area{margin-bottom:8px!important;}
.entry-subcategories{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-template-rows:repeat(2,auto)!important;
  grid-auto-columns:max-content!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  max-height:96px!important;
  padding:2px 2px 8px!important;
  margin-bottom:8px!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.entry-subcategories::-webkit-scrollbar{display:none;}
.entry-subcategory{white-space:nowrap!important;min-width:76px!important;height:36px!important;border-radius:999px!important;}
.manual-category-grid{margin-top:10px!important;padding-top:4px!important;}
.entry-second-extra{gap:8px!important;margin-top:6px!important;}
.entry-second-extra input{height:44px!important;}
.entry-option-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.entry-option-cards .choice-card{height:38px!important;padding:0 8px!important;font-size:13px!important;white-space:nowrap;}

/* Transaction detail - clearer controls */
.transaction-detail-page{max-width:720px;margin-left:auto!important;margin-right:auto!important;}
.transaction-detail-page .detail-form{background:rgba(255,255,255,.68);border:1px solid var(--glass-border);border-radius:24px;padding:16px;box-shadow:var(--shadow-soft,0 12px 32px rgba(15,23,42,.08));}
.transaction-detail-page .detail-form>label{font-size:13px;font-weight:900;color:var(--muted);margin:4px 0 -2px;}
.transaction-detail-page .detail-form input,
.transaction-detail-page .detail-form textarea,
.transaction-detail-page .detail-form select,
.transaction-detail-page .amount-input-card{background:rgba(255,255,255,.82)!important;border:1px solid rgba(var(--theme-rgb,16,185,129),.22)!important;border-radius:16px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.65)!important;}
.transaction-detail-page .detail-type-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;}
.transaction-detail-page .detail-type-grid .choice-card{height:42px!important;padding:0 8px!important;justify-content:center!important;font-size:14px!important;}
.transaction-detail-page .detail-category-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
.transaction-detail-page .option-card-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.transaction-detail-page .option-card-row .choice-card{height:40px!important;padding:0 8px!important;font-size:13px!important;}

/* Account/detail cards aligned */
.page-account_detail .account-detail-card,.page-account_detail .section-block{width:min(100% - 28px,720px)!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;}
.page-account_detail .list-card{background:transparent!important;border:0!important;padding:0!important;}
.page-account_detail .transaction-row{background:rgba(255,255,255,.72)!important;border:1px solid var(--glass-border)!important;border-radius:18px!important;margin-bottom:10px!important;padding:12px!important;}

/* Sort modal type rows */
.sort-type-row{border:1px solid rgba(var(--theme-rgb,16,185,129),.22)!important;background:rgba(var(--theme-rgb,16,185,129),.08)!important;}
.sort-type-row span:before{content:'大类 · ';color:var(--theme-dynamic);font-weight:900;}
.sort-arrow-list{display:grid!important;gap:8px!important;margin:8px 0 14px!important;}

/* Dashboard action button respects repayment state */
.mobile-action-grid button{border:0;}

html.dark-mode .transaction-detail-page .detail-form,
html.dark-mode .transaction-detail-page .detail-form input,
html.dark-mode .transaction-detail-page .detail-form textarea,
html.dark-mode .transaction-detail-page .detail-form select,
html.dark-mode .transaction-detail-page .amount-input-card,
html.dark-mode .page-account_detail .transaction-row{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.13)!important;color:#f8fafc!important;}
html.dark-mode .entry-subcategory{background:rgba(255,255,255,.08)!important;color:#f8fafc!important;border-color:rgba(255,255,255,.12)!important;}
html.dark-mode .entry-subcategory.active{background:rgba(var(--theme-rgb,16,185,129),.22)!important;color:var(--theme-dynamic)!important;}

/* Make bottom whitespace tighter on long pages */
body{padding-bottom:0!important;}
.app-main{padding-bottom:8px!important;}

/* ===== V34 fixed deposit, cost page, bottom-sheet modal, dropdown placement, dark refinement ===== */
:root{--dark-bg:#0f1115;--dark-card:rgba(24,26,32,.82);--dark-card-2:rgba(30,33,40,.88);--dark-border:rgba(255,255,255,.10);}
html.dark-mode{--page-bg-top:color-mix(in srgb,var(--theme-dynamic) 24%,#0f1115);--page-bg-mid:#15171d;--page-bg-bottom:#0f1115;--glass-bg:rgba(24,26,32,.82);--glass-border:rgba(255,255,255,.10);--text:#f5f7fb;--muted:#a8b0bd;}
html.dark-mode body{background:linear-gradient(180deg,var(--page-bg-top) 0%,var(--page-bg-mid) 42%,var(--page-bg-bottom) 100%) fixed!important;color:#f5f7fb!important;}
html.dark-mode body::before{background:radial-gradient(circle at 18% -10%, color-mix(in srgb,var(--theme-dynamic) 24%,transparent), transparent 32%),linear-gradient(180deg,rgba(255,255,255,.02),transparent 55%)!important;}
html.dark-mode .section-block,html.dark-mode .unified-card,html.dark-mode .mini-card,html.dark-mode .balance-card-main,html.dark-mode .account-line,html.dark-mode .settings-card,html.dark-mode .settings-list,html.dark-mode .profile-hero,html.dark-mode .app-form-modal,html.dark-mode .app-modal,html.dark-mode .entry-sheet,html.dark-mode .simple-calc-sheet,html.dark-mode .auth-card,html.dark-mode .cost-item-row,html.dark-mode .credit-bill-grid div{background:var(--dark-card)!important;border-color:var(--dark-border)!important;color:#f5f7fb!important;box-shadow:0 18px 48px rgba(0,0,0,.24)!important;}
html.dark-mode .account-line-icon,html.dark-mode .invoice-icon{background:rgba(255,255,255,.08)!important;color:var(--theme-dynamic)!important;}
html.dark-mode input,html.dark-mode textarea,html.dark-mode select,html.dark-mode .entry-select-trigger{background:rgba(255,255,255,.07)!important;color:#f8fafc!important;border-color:rgba(255,255,255,.14)!important;}
html.dark-mode .entry-select-item,html.dark-mode .entry-subcategory,html.dark-mode .choice-card,html.dark-mode .setting-card{background:rgba(255,255,255,.07)!important;color:#f8fafc!important;border-color:rgba(255,255,255,.12)!important;}
html.dark-mode .entry-subcategory.active,html.dark-mode .entry-tab.active,html.dark-mode .choice-card.active{background:color-mix(in srgb,var(--theme-dynamic) 22%,rgba(255,255,255,.06))!important;color:var(--theme-dynamic)!important;}

@media(max-width:760px){
  .sheet-modal-mask,.app-form-modal-mask,.app-modal-mask,.entry-sheet-mask,.simple-calc-mask{align-items:flex-end!important;justify-content:center!important;padding:0!important;background:rgba(2,6,23,.36)!important;}
  .sheet-modal,.app-form-modal,.entry-sheet,.simple-calc-sheet,.app-modal{width:100%!important;max-width:480px!important;border-radius:28px 28px 0 0!important;margin:0!important;max-height:88vh!important;padding:20px 16px calc(18px + env(safe-area-inset-bottom))!important;}
}
.entry-sheet::before,.simple-calc-sheet::before,.app-form-modal::before,.app-modal::before{content:"";display:block;width:44px;height:4px;border-radius:999px;background:rgba(255,255,255,.86);margin:0 auto 14px;box-shadow:0 1px 5px rgba(15,23,42,.16)}
.modal-sheet-handle,.entry-sheet-handle,.simple-calc-sheet>.entry-sheet-handle{display:none!important;}

.entry-custom-select,.app-unified-select{position:relative!important;}
.entry-select-menu{position:absolute!important;left:0!important;right:auto!important;top:calc(100% + 8px)!important;transform:none!important;width:100%!important;min-width:220px!important;max-height:min(44vh,320px)!important;overflow:auto!important;z-index:230000!important;border-radius:20px!important;padding:8px!important;background:rgba(255,255,255,.96)!important;border:1px solid var(--glass-border)!important;box-shadow:0 24px 70px rgba(15,23,42,.23)!important;}
.entry-custom-select.as-sheet .entry-select-menu{position:fixed!important;left:50%!important;top:auto!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;width:min(420px,calc(100vw - 28px))!important;max-height:42vh!important;}
html.dark-mode .entry-select-menu{background:rgba(28,30,36,.96)!important;border-color:rgba(255,255,255,.12)!important;}

.credit-limit-pill{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:10px;padding:12px 14px;border-radius:16px;background:var(--theme-dynamic-soft);border:1px solid rgba(255,255,255,.55)}
.credit-limit-pill span,.credit-limit-pill em{color:var(--muted);font-style:normal;font-size:12px;font-weight:800}.credit-limit-pill strong{color:var(--theme-dynamic);font-size:18px}.fixed-reminder-card .reminder-line,.fixed-line{display:flex!important;align-items:center;justify-content:space-between;gap:12px}.button-row.compact{display:flex;gap:8px;align-items:center}.cost-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cost-summary-grid div{border-radius:18px;padding:14px;background:var(--theme-dynamic-soft);border:1px solid var(--glass-border)}.cost-summary-grid span{display:block;color:var(--muted);font-size:12px;font-weight:900}.cost-summary-grid b{display:block;margin-top:6px;color:var(--theme-dynamic);font-size:20px}.cost-item-row{text-align:left;width:100%;border:0}.cost-item-row .account-line-main em{display:block;color:var(--muted);font-size:12px;font-style:normal;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cost-item-row .account-line-money{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.cost-item-row .account-line-money small{color:var(--muted);font-weight:800}
.fixed-deposit-fields{display:grid;gap:10px;border-radius:18px;background:rgba(148,163,184,.08);border:1px solid var(--glass-border);padding:12px}.page-costs .section-block{max-width:860px;margin-left:auto;margin-right:auto}
@media(max-width:760px){.cost-summary-grid{grid-template-columns:1fr 1fr}.cost-summary-grid div:last-child{grid-column:span 2}.fixed-reminder-card .reminder-line{align-items:flex-start;flex-direction:column}.app-shell{padding-bottom:calc(68px + env(safe-area-inset-bottom))!important}.app-main>.section-block:last-child,.app-main>.unified-card:last-child{margin-bottom:8px!important}}
@media(max-width:760px){.mobile-tabbar.has-stat{width:min(420px,calc(100vw - 20px))!important;}.mobile-tabbar.has-stat a{min-width:0;padding:0 6px!important;}}

/* V35 UI/business polish */
.credit-limit-pill em{display:none!important;}
.account-head-actions .small-primary-btn{height:34px!important;border-radius:14px!important;padding:0 14px!important;font-size:13px!important;font-weight:800!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:rgba(var(--theme-rgb,16,185,129),.12)!important;color:var(--theme-dynamic)!important;border:1px solid rgba(var(--theme-rgb,16,185,129),.22)!important;box-shadow:none!important;}
.account-head-actions .small-primary-btn.ghost{background:rgba(var(--theme-rgb,16,185,129),.08)!important;color:var(--theme-dynamic)!important;}
.conditional-fields{margin-top:10px;padding:12px;border-radius:20px;background:rgba(var(--theme-rgb,16,185,129),.06);border:1px solid rgba(var(--theme-rgb,16,185,129),.12)}
.shared-credit-card{margin-top:10px!important}.shared-credit-fields{margin-top:10px;display:grid;gap:10px}.shared-toggle-card{justify-content:flex-start!important;gap:8px!important}
/* plain calculator mode: only number display and keypad */
.simple-calculator-mode{z-index:270000!important;}
.simple-calculator-mode .entry-sheet{z-index:270001!important;}
.simple-calculator-mode .entry-tabs,
.simple-calculator-mode .entry-step-title,
.simple-calculator-mode .entry-option-cards,
.simple-calculator-mode .entry-form,
.simple-calculator-mode .entry-step-two{display:none!important;}
.simple-calculator-mode .entry-step-one{display:block!important;}
.simple-calculator-mode .amount-display-row{margin-top:0!important;}
.simple-calculator-mode #entryNextBtn::after{content:"确定";font-size:0;}
.simple-calculator-mode #entryNextBtn{font-size:0!important;}
.simple-calculator-mode #entryNextBtn:before{content:"确定";font-size:16px!important;}
/* unified top-layer components */
.app-form-modal-mask,.app-modal-mask,.entry-sheet-mask,.simple-calc-mask{z-index:250000!important;}
.app-form-modal,.app-modal,.entry-sheet,.simple-calc-sheet{z-index:250001!important;}
.entry-select-menu,.custom-select-panel,.dropdown-menu{z-index:260000!important;}
@media(max-width:760px){
  .mobile-tabbar{width:min(430px,calc(100vw - 18px))!important;left:50%!important;transform:translateX(-50%)!important;}
  .mobile-tabbar a{min-width:0!important;flex:1 1 0!important;padding:0 4px!important;}
  .cost-actions-row,.account-head-actions{justify-content:flex-end!important;padding-right:2px!important;}
  .page-costs .cost-actions-row{padding-left:22px!important;}
  .app-form-modal-mask,.app-modal-mask,.entry-sheet-mask,.simple-calc-mask{align-items:flex-end!important;}
}
html.dark-mode .conditional-fields{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.10)!important;}

/* ===== V36：定存账户只走转账 + 表单细节统一 ===== */
.readonly-field,
input[readonly]:not(.hidden-balance-calc),
.transaction-detail-page .amount-input-card {
  cursor: pointer;
  background: rgba(var(--theme-rgb,16,185,129),.075)!important;
  border: 1px solid rgba(var(--theme-rgb,16,185,129),.24)!important;
  color: var(--text-color,#111827)!important;
  font-weight: 900!important;
}
.form-stack input:not([type="hidden"]),
.form-stack textarea,
.form-stack select,
.entry-form input,
.entry-form select,
.select-card-field input,
.select-card-field select {
  min-height: 48px;
  border-radius: 17px!important;
  background: rgba(255,255,255,.72)!important;
  border: 1px solid rgba(15,23,42,.08)!important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.56), 0 8px 22px rgba(15,23,42,.035)!important;
}
.form-stack input:not([readonly]):focus,
.form-stack textarea:focus,
.form-stack select:focus,
.entry-form input:focus,
.entry-form select:focus {
  border-color: rgba(var(--theme-rgb,16,185,129),.42)!important;
  box-shadow: 0 0 0 4px rgba(var(--theme-rgb,16,185,129),.12), inset 0 1px 0 rgba(255,255,255,.58)!important;
}
.transaction-detail-page .detail-form {
  gap: 11px!important;
}
.transaction-detail-page .detail-form>label {
  margin-top: 6px!important;
}
.transaction-detail-page .detail-save-btn,
.transaction-detail-page .detail-delete-bottom {
  width: 100%!important;
  min-height: 48px!important;
  box-sizing: border-box!important;
  margin-top: 8px!important;
}
.transaction-detail-page .detail-delete-bottom {
  background: rgba(239,68,68,.11)!important;
  color: #ef4444!important;
  border: 1px solid rgba(239,68,68,.22)!important;
  box-shadow: none!important;
}
.transaction-detail-page .detail-type-grid {
  grid-template-columns: repeat(4,minmax(0,1fr))!important;
}
.transaction-detail-page .detail-type-grid .choice-card {
  min-width: 0!important;
  height: 40px!important;
  padding: 0 6px!important;
  font-size: 13px!important;
}
.transaction-detail-page .detail-category-row,
.entry-subcategories {
  row-gap: 8px!important;
}
.entry-category-area { margin-bottom: 8px!important; }
.entry-second-extra { margin-top: 8px!important; }
.entry-second-extra input { margin-top: 0!important; }
html.dark-mode input[readonly]:not(.hidden-balance-calc),
html.dark-mode .readonly-field,
html.dark-mode .transaction-detail-page .amount-input-card {
  background: rgba(var(--theme-rgb,16,185,129),.14)!important;
  border-color: rgba(var(--theme-rgb,16,185,129),.34)!important;
  color: var(--theme-dynamic)!important;
}
html.dark-mode .form-stack input:not([type="hidden"]),
html.dark-mode .form-stack textarea,
html.dark-mode .form-stack select,
html.dark-mode .entry-form input,
html.dark-mode .entry-form select,
html.dark-mode .select-card-field input,
html.dark-mode .select-card-field select {
  background: rgba(255,255,255,.075)!important;
  border-color: rgba(255,255,255,.13)!important;
  color: #f8fafc!important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 28px rgba(0,0,0,.18)!important;
}
html.dark-mode .transaction-detail-page .detail-delete-bottom {
  background: rgba(239,68,68,.14)!important;
  color: #fca5a5!important;
  border-color: rgba(239,68,68,.25)!important;
}
@media (max-width: 640px){
  .transaction-detail-page .detail-type-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .transaction-detail-page .detail-type-grid .choice-card{font-size:12px!important;padding:0 4px!important;}
}


/* ===== V37 modal/nav/account/cost/stat polish ===== */
:root{--modal-z:360000;--dropdown-z:370000;}
.app-form-modal-mask,.app-modal-mask,.entry-sheet-mask,.simple-calc-mask,.sheet-modal-mask{z-index:var(--modal-z)!important;position:fixed!important;inset:0!important;}
.app-form-modal,.app-modal,.entry-sheet,.simple-calc-sheet,.sheet-modal{z-index:calc(var(--modal-z) + 1)!important;position:relative!important;}
.entry-select-menu,.custom-select-panel,.dropdown-menu{z-index:var(--dropdown-z)!important;}
.app-form-modal::before,.app-modal::before,.entry-sheet::before,.simple-calc-sheet::before{content:""!important;display:block!important;width:44px!important;height:4px!important;border-radius:999px!important;background:rgba(255,255,255,.9)!important;margin:0 auto 14px!important;box-shadow:none!important;}
.modal-sheet-handle,.entry-sheet-handle,.simple-calc-sheet>.entry-sheet-handle,.sheet-modal .modal-sheet-handle{display:none!important;}
.modal-title-row button[id^="close"],.modal-title-row .close,.app-form-modal .close-btn{display:none!important;}
@media(max-width:760px){
  .app-form-modal-mask,.app-modal-mask,.entry-sheet-mask,.simple-calc-mask,.sheet-modal-mask{align-items:flex-end!important;justify-content:center!important;padding:0!important;}
  .app-form-modal,.app-modal,.entry-sheet,.simple-calc-sheet,.sheet-modal{width:100%!important;max-width:520px!important;border-radius:28px 28px 0 0!important;margin:0!important;padding:18px 16px calc(18px + env(safe-area-inset-bottom))!important;max-height:88vh!important;overflow:auto!important;}
}
/* mobile nav: shrink instead of pushing items out */
@media(max-width:760px){
  .mobile-tabbar{display:grid!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;bottom:12px!important;width:min(430px,calc(100vw - 18px))!important;height:58px!important;border-radius:24px!important;padding:6px!important;gap:5px!important;box-sizing:border-box!important;z-index:80!important;}
  .mobile-tabbar.has-count-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .mobile-tabbar.has-count-4{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .mobile-tabbar.has-count-5{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
  .mobile-tabbar a{min-width:0!important;width:auto!important;padding:0 2px!important;overflow:hidden!important;white-space:nowrap!important;font-size:12px!important;border-radius:18px!important;}
  .mobile-tabbar a b{display:block;overflow:hidden;text-overflow:ellipsis;}
}
/* cost top pin button + action alignment */
.cost-top-row{align-items:center!important;}
.top-pin-form{margin:0!important;display:flex!important;align-items:center!important;}
.top-pin-form .small-primary-btn.active,.stat-head-actions .btn-sm.active{background:var(--theme-dynamic)!important;color:#fff!important;border-color:transparent!important;}
.stat-head-actions{display:flex;align-items:center;gap:8px;}
.stat-head-actions .inline-form{margin:0;display:flex;}
.page-costs .account-head-actions{padding-right:12px!important;}
@media(max-width:760px){.page-costs .account-head-actions{padding-right:18px!important;}.page-costs .section-title-row .account-head-actions{transform:translateX(6px);}}
/* dark mode: closer to invoice folder, neutral dark and readable */
html.dark-mode{--page-bg-top:color-mix(in srgb,var(--theme-dynamic) 16%,#111318);--page-bg-mid:#15171d;--page-bg-bottom:#0f1117;--glass-bg:rgba(24,27,36,.76);--glass-border:rgba(255,255,255,.11);--text:#f7f8fb;--muted:#aeb6c8;--dark-card:rgba(24,27,36,.76);--dark-card-2:rgba(31,35,46,.82);--dark-border:rgba(255,255,255,.11);}
html.dark-mode body{background:linear-gradient(180deg,var(--page-bg-top) 0%,var(--page-bg-mid) 40%,var(--page-bg-bottom) 100%) fixed!important;color:#f7f8fb!important;}
html.dark-mode .section-block,html.dark-mode .unified-card,html.dark-mode .account-line,html.dark-mode .cost-item-row,html.dark-mode .bi-card,html.dark-mode .bi-feature-card,html.dark-mode .stat-setting-card,html.dark-mode .settings-card,html.dark-mode .profile-hero,html.dark-mode .app-form-modal,html.dark-mode .entry-sheet,html.dark-mode .simple-calc-sheet,html.dark-mode .inner-expand-card,html.dark-mode .credit-bill-grid div,html.dark-mode .reminder-line{background:rgba(24,27,36,.78)!important;border-color:rgba(255,255,255,.11)!important;color:#f7f8fb!important;box-shadow:0 18px 48px rgba(0,0,0,.26)!important;}
html.dark-mode .cost-summary-grid div,html.dark-mode .invoice-stat-grid.tidy-invoice-stats div,html.dark-mode .invoice-preview-info div{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.11)!important;color:#f7f8fb!important;}
html.dark-mode .cost-summary-grid b,html.dark-mode .profile-stat-grid b,html.dark-mode .bi-feature-card strong{color:var(--theme-dynamic)!important;}
html.dark-mode input,html.dark-mode textarea,html.dark-mode select,html.dark-mode .entry-select-trigger,.readonly-field{background:rgba(255,255,255,.075)!important;color:#f7f8fb!important;border-color:rgba(255,255,255,.13)!important;}
/* account add/edit: conditional fields inline, not isolated blocks */
.add-account-form-modal .conditional-fields,.page-account_edit .conditional-fields{background:transparent!important;border:0!important;padding:0!important;margin-top:0!important;box-shadow:none!important;display:grid;gap:10px;}
.credit-account-fields .credit-day-card-group{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}
.credit-account-fields .credit-day-card-group input[name="credit_limit"]{grid-column:1 / -1;}
.shared-credit-fields{gap:14px!important;margin-top:14px!important;}
.shared-credit-fields .entry-custom-select{margin-bottom:6px!important;}
.shared-credit-fields input[name="shared_credit_limit"]{margin-top:4px!important;}
.shared-credit-card summary{min-height:46px!important;border-radius:17px!important;padding:0 14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;}
.shared-credit-card[open]{padding-bottom:12px!important;}
.fixed-deposit-fields .fixed-term-combo,.fixed-deposit-fields .credit-day-card-group{display:grid!important;grid-template-columns:minmax(0,1fr) 96px!important;gap:12px!important;align-items:center!important;}
.fixed-deposit-fields input[name="yield_rate"]{margin-bottom:2px!important;}
.fixed-deposit-fields .select-card-field{margin-top:2px!important;}
/* account type/category sort modal details */
.sort-type-row{background:rgba(var(--theme-rgb,16,185,129),.10)!important;border-color:rgba(var(--theme-rgb,16,185,129),.20)!important;}
.sort-type-title{font-size:12px;font-weight:950;color:var(--muted);padding:8px 4px 3px;}
/* dropdowns: anchor below trigger; only sheet when marked */
.entry-custom-select{position:relative!important;}
.entry-select-menu{position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:auto!important;bottom:auto!important;width:100%!important;min-width:220px!important;max-height:min(42vh,320px)!important;overflow:auto!important;}
.entry-custom-select.as-sheet .entry-select-menu{position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;width:min(420px,calc(100vw - 28px))!important;max-height:42vh!important;}
/* unified app date input */
.app-date-input{cursor:pointer!important;caret-color:transparent!important;}
.app-date-modal .date-picker-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:12px 0;}
.app-date-modal select{width:100%;min-height:48px;border-radius:17px;border:1px solid var(--glass-border);background:rgba(255,255,255,.72);padding:0 12px;font-weight:900;color:var(--text);}
html.dark-mode .app-date-modal select{background:rgba(255,255,255,.075)!important;color:#f7f8fb!important;border-color:rgba(255,255,255,.13)!important;}

/* ===== V43 global UI audit from stable V37 baseline: safe top layers, layout, dark mode, no freeze ===== */
:root{
  --z-nav: 1000;
  --z-modal-v43: 900000;
  --z-dropdown-v43: 910000;
  --v43-card: rgba(255,255,255,.74);
  --v43-border: rgba(255,255,255,.62);
  --v43-text: #111827;
  --v43-muted: #667085;
}
html,body{min-height:100%;background:transparent!important;}
body{margin:0!important;overflow-x:hidden!important;color:var(--v43-text);}
body::before{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:-2!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,var(--theme-dynamic-soft) 0%,#f7f9fc 42%,#f7f9fc 100%)!important;
}
body::after{content:none!important;display:none!important;}
.app-shell,.app-main{background:transparent!important;}

/* top layer - no JS loops, only CSS stacking */
.app-form-modal-mask,.app-modal-mask,.entry-sheet-mask,.simple-calc-mask,.sheet-modal-mask,.invoice-preview-modal{
  z-index:var(--z-modal-v43)!important;
  position:fixed!important;
  inset:0!important;
  background:rgba(2,6,23,.42)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.app-form-modal,.app-modal,.entry-sheet,.simple-calc-sheet,.sheet-modal{
  z-index:calc(var(--z-modal-v43) + 1)!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid var(--v43-border)!important;
  box-shadow:0 26px 80px rgba(15,23,42,.22)!important;
}
.entry-select-menu,.custom-select-panel,.dropdown-menu{
  z-index:var(--z-dropdown-v43)!important;
}
.mobile-tabbar{z-index:var(--z-nav)!important;}

/* one handle only */
.modal-sheet-handle,.entry-sheet-handle,.simple-calc-sheet>.entry-sheet-handle,.sheet-modal .modal-sheet-handle{display:none!important;}
.app-form-modal::before,.app-modal::before,.entry-sheet::before,.simple-calc-sheet::before,.sheet-modal::before{
  content:""!important;
  display:block!important;
  width:44px!important;height:4px!important;border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  margin:0 auto 14px!important;
  box-shadow:0 1px 4px rgba(0,0,0,.08)!important;
}

/* Modal sheet behavior on mobile, centered on desktop */
@media(max-width:760px){
  .app-form-modal-mask,.app-modal-mask,.entry-sheet-mask,.simple-calc-mask,.sheet-modal-mask{align-items:flex-end!important;justify-content:center!important;padding:0!important;}
  .app-form-modal,.app-modal,.entry-sheet,.simple-calc-sheet,.sheet-modal{
    width:100%!important;max-width:520px!important;margin:0!important;
    border-radius:28px 28px 0 0!important;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom))!important;
    max-height:88vh!important;overflow:auto!important;box-sizing:border-box!important;
  }
}

/* ===== V73: align PHP web theme with UniApp and stabilize desktop cards ===== */
body{
  background:#f6f9fc!important;
}
body::before{
  background:
    linear-gradient(180deg,rgba(var(--theme-rgb,16,185,129),.13) 0,rgba(var(--theme-rgb,16,185,129),.055) 210px,rgba(246,249,252,0) 360px),
    radial-gradient(circle at 82% 6%,rgba(var(--theme-rgb,16,185,129),.14),transparent 30%)!important;
}
.section-block,
.unified-card,
.mini-card,
.calendar-income-card,
.recent-transactions-section,
.chart-section,
.desktop-dashboard-hero .desktop-hero-left,
.desktop-net-card,
.bi-card,
.wizard-step-card,
.account-line,
.settings-card,
.settings-list,
.profile-hero{
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(226,232,240,.76)!important;
  box-shadow:0 14px 36px rgba(15,23,42,.07)!important;
}
.primary-btn,
.small-primary-btn,
.auth-card button,
.mobile-action-grid a,
.mobile-action-grid button,
.bottom-add-account-btn,
.app-modal button,
.app-modal-actions button,
.credit-action{
  background:var(--theme-dynamic)!important;
  background-image:none!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(var(--theme-rgb,16,185,129),.18)!important;
}
.mobile-action-grid a:last-child,
.mobile-action-grid button:last-child{
  background:#111827!important;
  box-shadow:0 12px 28px rgba(15,23,42,.16)!important;
}
.mobile-account-summary-card,
.balance-card-main,
.asset-box,
.health-card,
.net-summary-pill{
  background:rgba(255,255,255,.82)!important;
  border-color:rgba(226,232,240,.72)!important;
}
.asset-box-left,
.asset-box-right,
.kline-card,
.desktop-hero-left{
  background-image:none!important;
}
.app-modal-icon{
  background:rgba(var(--theme-rgb,16,185,129),.10)!important;
  color:var(--theme-dynamic)!important;
}
@media(min-width:761px){
  .client-pc .app-shell{
    display:grid!important;
    grid-template-columns:240px minmax(0,1fr)!important;
    gap:18px!important;
    align-items:start!important;
  }
  .client-pc .app-main,
  .page-dashboard .app-main{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:14px!important;
    width:100%!important;
    max-width:1040px!important;
    min-width:0!important;
    padding-top:12px!important;
  }
  .page-dashboard .app-main > .section-block,
  .page-dashboard .app-main > .unified-card,
  .page-dashboard .app-main > .income-expense-row,
  .page-dashboard .app-main > .calendar-income-card,
  .page-dashboard .app-main > .recent-transactions-section,
  .page-dashboard .app-main > .chart-section,
  .page-dashboard .app-main > .desktop-dashboard-hero{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
  .desktop-dashboard-hero{
    grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)!important;
    align-items:stretch!important;
    gap:14px!important;
  }
  .desktop-net-card{
    height:auto!important;
    min-height:100%!important;
  }
  .income-expense-row,
  .dashboard-summary-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .bi-card-grid,
  .stat-bi-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
  }
}
@media(max-width:760px){
  .bi-card-grid,
  .stat-bi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
html.dark-mode body{
  background:#0f172a!important;
}
html.dark-mode .section-block,
html.dark-mode .unified-card,
html.dark-mode .mini-card,
html.dark-mode .calendar-income-card,
html.dark-mode .recent-transactions-section,
html.dark-mode .chart-section,
html.dark-mode .desktop-dashboard-hero .desktop-hero-left,
html.dark-mode .desktop-net-card,
html.dark-mode .bi-card,
html.dark-mode .wizard-step-card,
html.dark-mode .account-line,
html.dark-mode .settings-card,
html.dark-mode .settings-list,
html.dark-mode .profile-hero{
  background:rgba(15,23,42,.72)!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.22)!important;
}

/* Dropdown: anchored by default, bottom sheet only when JS marks as-sheet. Never floats in the middle by default. */
.entry-custom-select,.app-unified-select{position:relative!important;isolation:isolate!important;}
.entry-select-menu{
  position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:auto!important;bottom:auto!important;transform:none!important;
  width:100%!important;min-width:220px!important;max-height:min(42vh,320px)!important;overflow:auto!important;
  border-radius:20px!important;padding:8px!important;background:rgba(255,255,255,.97)!important;border:1px solid var(--v43-border)!important;
  box-shadow:0 24px 70px rgba(15,23,42,.20)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
}
.entry-select-menu.show::before{display:none!important;content:none!important;}
.entry-custom-select.as-sheet .entry-select-menu{
  position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:calc(74px + env(safe-area-inset-bottom))!important;
  transform:translateX(-50%)!important;width:min(420px,calc(100vw - 28px))!important;max-height:42vh!important;border-radius:24px!important;
}
.entry-custom-select.as-sheet .entry-select-menu.show::before{content:""!important;display:block!important;width:44px;height:4px;border-radius:999px;background:rgba(255,255,255,.9);margin:0 auto 10px;}
.entry-select-item{min-height:46px!important;}

/* Input/read-only text contrast: editable and readonly are visually distinct */
.form-stack input:not([type="hidden"]),.form-stack textarea,.entry-form input,.entry-form textarea,.select-card-field input,.invoice-edit-grid input,.invoice-edit-grid textarea,
.transaction-detail-page input,.transaction-detail-page textarea{
  background:rgba(255,255,255,.78)!important;border:1px solid rgba(15,23,42,.10)!important;border-radius:17px!important;color:#111827!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55)!important;box-sizing:border-box!important;
}
input[readonly],.readonly-field,.amount-input-card,.calc-input{
  cursor:pointer!important;background:rgba(var(--theme-rgb,16,185,129),.075)!important;border-color:rgba(var(--theme-rgb,16,185,129),.24)!important;
  color:var(--theme-dynamic)!important;font-weight:900!important;caret-color:transparent!important;
}

/* fixed deposit / numeric combo layout */
.fixed-term-combo,.fixed-deposit-fields .fixed-term-combo,.fixed-deposit-fields .credit-day-card-group,.credit-day-card-group:has(input[name="fixed_term_value"]){
  display:grid!important;grid-template-columns:minmax(0,1fr) 96px!important;gap:12px!important;align-items:center!important;width:100%!important;
}
.fixed-term-combo input,.fixed-term-combo .entry-custom-select,.fixed-term-combo select{min-width:0!important;margin:0!important;}

/* card actions alignment */
.cost-item-row.account-line,.account-line.cost-item-row{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;text-align:left!important;}
.cost-item-row .account-line-main{min-width:0!important;}
.cost-item-row .account-line-money{align-items:flex-end!important;justify-self:end!important;text-align:right!important;min-width:92px!important;}
.account-line-actions,.budget-item-side,.button-row,.account-head-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;}

/* nested card cleanup */
.budget-home-card .home-budget-strip.total-budget,.home-budget-strip.total-budget,.budget-top-progress,.budget-item-row{
  background:transparent!important;box-shadow:none!important;
}
.budget-home-card .home-budget-strip.total-budget{border:0!important;padding:8px 0!important;}
.home-budget-strip,.budget-item-row{border-color:rgba(var(--theme-rgb,16,185,129),.14)!important;}
.budget-progress{background:rgba(148,163,184,.18)!important;overflow:hidden!important;border-radius:999px!important;}
.budget-progress i{background:var(--theme-dynamic)!important;min-width:2px!important;border-radius:999px!important;}
.budget-rate-text.danger,.home-budget-title .danger,.budget-item-side .danger{color:#ef4444!important;}
.budget-item-row:has(.budget-rate-text.danger) .budget-progress i,.home-budget-strip:has(.budget-rate-text.danger) .budget-progress i{background:#ef4444!important;}

/* dark mode uniformity except homepage main asset card */
html.dark-mode{--v43-card:rgba(25,28,36,.82);--v43-border:rgba(255,255,255,.11);--v43-text:#f7f8fb;--v43-muted:#aeb6c8;}
html.dark-mode body::before{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-dynamic) 16%,#111318) 0%,#15171d 44%,#0f1117 100%)!important;}
html.dark-mode .section-block,html.dark-mode .unified-card,html.dark-mode .mini-card,html.dark-mode .settings-card,html.dark-mode .settings-list,html.dark-mode .profile-hero,html.dark-mode .account-line,html.dark-mode .transaction-row,html.dark-mode .cost-item-row,html.dark-mode .bi-card,html.dark-mode .bi-feature-card,html.dark-mode .stat-setting-card,html.dark-mode .invoice-row-card,html.dark-mode .budget-item-row,html.dark-mode .home-budget-strip,html.dark-mode .app-form-modal,html.dark-mode .app-modal,html.dark-mode .entry-sheet,html.dark-mode .simple-calc-sheet,html.dark-mode .entry-select-menu,html.dark-mode .inner-expand-card,html.dark-mode .credit-bill-grid div,html.dark-mode .reminder-line{
  background:var(--v43-card)!important;border-color:var(--v43-border)!important;color:var(--v43-text)!important;box-shadow:0 18px 48px rgba(0,0,0,.24)!important;
}
html.dark-mode .mobile-balance-home .balance-card-main{background:linear-gradient(180deg,var(--theme-dynamic-soft),rgba(25,28,36,.86))!important;border-color:rgba(var(--theme-rgb,16,185,129),.24)!important;}
html.dark-mode .form-stack input:not([type="hidden"]),html.dark-mode .form-stack textarea,html.dark-mode .entry-form input,html.dark-mode .entry-form textarea,html.dark-mode .select-card-field input,html.dark-mode .invoice-edit-grid input,html.dark-mode .invoice-edit-grid textarea,html.dark-mode .transaction-detail-page input,html.dark-mode .transaction-detail-page textarea,html.dark-mode .entry-select-trigger,html.dark-mode .entry-select-item{
  background:rgba(255,255,255,.075)!important;color:#f7f8fb!important;border-color:rgba(255,255,255,.13)!important;
}
html.dark-mode input[readonly],html.dark-mode .readonly-field,html.dark-mode .amount-input-card,html.dark-mode .calc-input{background:rgba(var(--theme-rgb,16,185,129),.16)!important;border-color:rgba(var(--theme-rgb,16,185,129),.28)!important;color:var(--theme-dynamic)!important;}
html.dark-mode .budget-progress{background:rgba(255,255,255,.12)!important;}
html.dark-mode .budget-progress i{box-shadow:0 0 0 1px rgba(255,255,255,.05) inset,0 0 14px rgba(var(--theme-rgb,16,185,129),.24)!important;}
html.dark-mode .budget-item-row:has(.budget-rate-text.danger) .budget-progress i,html.dark-mode .home-budget-strip:has(.budget-rate-text.danger) .budget-progress i{background:#ef4444!important;box-shadow:0 0 12px rgba(239,68,68,.28)!important;}

/* operation performance: do not animate globally */
*,*::before,*::after{scroll-behavior:auto!important;}
.app-main,.section-block,.unified-card,.account-line,.transaction-row,.entry-select-menu,.app-form-modal,.entry-sheet{transition:none!important;animation:none!important;}

/* ===== V44 account actions, safe top-layer modal, iOS switches ===== */
:root{--modal-top-z:920000;}
.app-form-modal-mask,.app-modal-mask,.entry-sheet-mask,.simple-calc-mask,.sheet-modal-mask,.invoice-preview-modal{z-index:var(--modal-top-z)!important;}
.app-form-modal-mask.is-top-layer,.app-modal-mask.show,.entry-sheet-mask[style*="flex"],.simple-calc-mask[style*="flex"],.sheet-modal-mask[style*="flex"]{z-index:var(--modal-top-z)!important;}
.app-form-modal,.app-modal,.entry-sheet,.simple-calc-sheet,.sheet-modal{z-index:calc(var(--modal-top-z) + 1)!important;position:relative;}
.entry-select-menu.show{z-index:calc(var(--modal-top-z) + 2)!important;}
.mobile-tabbar{z-index:3000!important;}

.account-head-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;}
.account-head-actions .small-primary-btn{min-width:68px;border:1px solid rgba(var(--theme-rgb,16,185,129),.18)!important;background:rgba(var(--theme-rgb,16,185,129),.10)!important;color:rgb(var(--theme-rgb,16,185,129))!important;box-shadow:none!important;}
.accounts-manager .account-line-actions{display:none!important;}
.accounts-manager.is-adjusting .account-line-actions{display:flex!important;}
.account-adjust-panel{background:transparent!important;border-top:1px solid rgba(15,23,42,.06)!important;padding:12px 14px 14px!important;}
.inline-adjust-label{display:grid;gap:7px;width:100%;}
.inline-adjust-label span{font-size:12px;color:var(--muted-color,#667085);font-weight:800;}
.inline-balance-input{min-height:46px!important;border:1px solid rgba(var(--theme-rgb,16,185,129),.20)!important;background:rgba(var(--theme-rgb,16,185,129),.06)!important;border-radius:16px!important;font-weight:900!important;}
.accounts-manager.is-adjusting .account-manage-line{border-color:rgba(var(--theme-rgb,16,185,129),.32)!important;}

.account-detail-action-row{display:grid!important;grid-template-columns:3fr 1fr!important;gap:10px!important;background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;margin-top:-4px!important;margin-bottom:14px!important;}
.account-detail-action-row .primary-btn{height:48px!important;border-radius:18px!important;}
.account-detail-action-row .danger,.primary-btn.danger{background:rgba(239,68,68,.12)!important;color:#ef4444!important;border:1px solid rgba(239,68,68,.18)!important;box-shadow:none!important;}
.account-detail-action-row .muted{background:rgba(148,163,184,.12)!important;color:#64748b!important;border:1px solid rgba(148,163,184,.18)!important;}
.page-account_detail .account-detail-card,.page-account_detail .section-block{width:min(calc(100vw - 28px),var(--page-max))!important;margin-left:auto!important;margin-right:auto!important;}
.invoice-detail-actions{margin-top:16px!important;padding-top:12px!important;border-top:1px solid rgba(15,23,42,.06)!important;}

.switch-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;}
.switch-card input[type="checkbox"]{position:absolute!important;opacity:0!important;pointer-events:none!important;}
.ios-switch{width:52px;height:30px;border-radius:999px;background:#d1d5db;position:relative;display:inline-flex;flex:0 0 52px;transition:.18s ease;box-shadow:inset 0 1px 2px rgba(0,0,0,.08);}
.ios-switch:after{content:"";width:26px;height:26px;border-radius:50%;background:#fff;position:absolute;left:2px;top:2px;transition:.18s ease;box-shadow:0 2px 8px rgba(0,0,0,.18);}
.switch-card input:checked + .ios-switch,.ios-switch.is-on{background:rgb(var(--theme-rgb,16,185,129));}
.switch-card input:checked + .ios-switch:after,.ios-switch.is-on:after{transform:translateX(22px);}

/* Mobile dashboard top breathing room and main card border alignment */
@media(max-width:760px){
  .page-dashboard .app-shell{padding-top:12px!important;}
  .page-dashboard .mobile-balance-home{padding-top:0!important;background:transparent!important;}
  .page-dashboard .mobile-balance-home .balance-card-main{margin:0 auto 14px!important;width:min(calc(100vw - 28px),var(--page-max))!important;border-radius:24px!important;border:1px solid rgba(255,255,255,.62)!important;box-shadow:var(--soft-shadow)!important;}
  .page-dashboard .section-block,.page-dashboard .unified-card{margin-top:12px!important;}
  .account-detail-action-row{width:min(calc(100vw - 28px),var(--page-max))!important;margin-left:auto!important;margin-right:auto!important;}
  .app-form-modal-mask,.sheet-modal-mask,.entry-sheet-mask,.simple-calc-mask{align-items:flex-end!important;padding:0!important;}
  .app-form-modal,.sheet-modal,.entry-sheet,.simple-calc-sheet{width:100%!important;max-width:none!important;border-radius:26px 26px 0 0!important;margin:0!important;max-height:88vh!important;overflow:auto!important;}
  .app-form-modal-mask .modal-title-row button{display:none!important;}
  .account-head-actions{gap:7px!important;}
}

html.dark-mode .account-head-actions .small-primary-btn{background:rgba(var(--theme-rgb,16,185,129),.16)!important;color:rgb(var(--theme-rgb,16,185,129))!important;border-color:rgba(var(--theme-rgb,16,185,129),.26)!important;}
html.dark-mode .inline-balance-input{background:rgba(var(--theme-rgb,16,185,129),.10)!important;border-color:rgba(var(--theme-rgb,16,185,129),.24)!important;}
html.dark-mode .account-adjust-panel,html.dark-mode .invoice-detail-actions{border-color:rgba(255,255,255,.08)!important;}
html.dark-mode .ios-switch{background:#334155;}

/* ===== V45 home-card ordering + modal top-layer + balance-card match ===== */
:root{--banle-modal-z:2147000000;}
.page-dashboard .app-main{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
.page-dashboard .mobile-balance-home{order:1!important;}
.page-dashboard .desktop-dashboard-hero{order:1!important;}
.page-dashboard .fixed-reminder-card{order:8!important;}
.home-card-config-list{display:flex;flex-direction:column;gap:10px;}
.sortable-home-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;}
.home-card-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.home-card-actions .btn-sm{width:34px;height:30px;padding:0;border-radius:11px;background:rgba(148,163,184,.14);}
.mini-switch-wrap{display:inline-flex;align-items:center;}
.mini-switch-wrap input{display:none;}
.switch-card>input{display:none;}

.app-form-modal-mask,.app-modal-mask,.entry-sheet-mask,.simple-calc-mask,.sheet-modal-mask,.invoice-preview-modal,
#addAccountModal,#sortAccountModal,#costModal,#costSortModal{
  z-index:var(--banle-modal-z)!important;position:fixed!important;inset:0!important;
}
.app-form-modal,.app-modal,.entry-sheet,.simple-calc-sheet,.sheet-modal{
  z-index:calc(var(--banle-modal-z) + 1)!important;position:relative!important;
}
.entry-select-menu.show,.entry-custom-select.as-sheet .entry-select-menu{
  z-index:calc(var(--banle-modal-z) + 2)!important;
}
.mobile-tabbar{z-index:3000!important;}
body.modal-open{overflow:hidden!important;}

/* make homepage top asset-liability card visually match account net card */
@media(max-width:760px){
  .page-dashboard .app-main{padding-top:14px!important;}
  .page-dashboard .mobile-balance-home{width:min(calc(100vw - 28px),var(--page-max))!important;margin:0 auto 14px!important;padding:0!important;background:transparent!important;box-sizing:border-box!important;}
  .page-dashboard .balance-card-main.balance-card-v45{
    width:100%!important;margin:0!important;box-sizing:border-box!important;
    padding:26px 26px 22px!important;border-radius:28px!important;
    background:linear-gradient(135deg,rgba(var(--theme-rgb,16,185,129),.95),rgba(var(--theme-rgb,16,185,129),.25))!important;
    border:1px solid rgba(var(--theme-rgb,16,185,129),.32)!important;
    box-shadow:0 18px 50px rgba(var(--theme-rgb,16,185,129),.18)!important;
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  }
  .balance-card-v45 .balance-title-row-v45{align-items:flex-start!important;margin:0 0 22px!important;}
  .balance-card-v45 .balance-title-row-v45 a{font-weight:800;color:rgba(15,23,42,.72)!important;background:rgba(255,255,255,.24);border-radius:999px;padding:8px 12px;}
  .balance-kicker{display:block;color:#08111f;font-size:17px;font-weight:800;margin-bottom:18px;}
  .balance-net-amount{display:block;color:#071527;font-size:42px;line-height:1;font-weight:950;letter-spacing:-.04em;}
  .balance-pill-row-v45{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px;}
  .balance-pill-row-v45 span{display:inline-flex;align-items:center;height:38px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.24);color:#0f172a;font-size:14px;font-weight:800;}
  .v45-unposted{margin:0 0 14px!important;background:rgba(255,255,255,.22)!important;border:1px solid rgba(255,255,255,.24)!important;}
  .v45-action-grid{margin-top:2px;}
  .v45-action-grid button{background:rgba(15,23,42,.86)!important;box-shadow:none!important;}
  .v45-action-grid button:first-child{background:#fff!important;color:rgb(var(--theme-rgb,16,185,129))!important;}
}
@media(min-width:761px){.page-dashboard .app-main{padding-top:12px!important;}}

html.dark-mode .balance-card-v45{background:linear-gradient(135deg,rgba(var(--theme-rgb,16,185,129),.72),rgba(25,28,36,.88))!important;border-color:rgba(var(--theme-rgb,16,185,129),.30)!important;}
html.dark-mode .balance-kicker,html.dark-mode .balance-net-amount{color:#f8fafc!important;}
html.dark-mode .balance-card-v45 .balance-title-row-v45 a,html.dark-mode .balance-pill-row-v45 span{color:#f8fafc!important;background:rgba(255,255,255,.11)!important;}


/* ===== V46: rollback mobile asset-liability card and dashboard top to V44 style ===== */
@media(max-width:760px){
  .page-dashboard .app-shell{padding-top:12px!important;}
  .page-dashboard .app-main{padding-top:0!important;}
  .page-dashboard .mobile-balance-home{
    display:block!important;
    order:1!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    box-sizing:border-box!important;
  }
  .page-dashboard .mobile-balance-home .balance-card-main{
    width:min(calc(100vw - 28px),var(--page-max))!important;
    max-width:none!important;
    margin:0 auto 14px!important;
    padding:20px 16px 18px!important;
    border-radius:24px!important;
    border:1px solid rgba(255,255,255,.62)!important;
    box-shadow:var(--soft-shadow)!important;
    background:var(--glass-bg)!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .page-dashboard .balance-title-row{margin-top:0!important;margin-bottom:14px!important;align-items:flex-start!important;}
  .page-dashboard .balance-title-row h1{font-size:19px!important;line-height:1.15!important;margin:0 0 6px!important;}
  .page-dashboard .balance-title-row p{font-size:12px!important;margin:0!important;color:var(--muted)!important;}
  .page-dashboard .balance-title-row a{font-size:14px!important;color:var(--muted)!important;background:transparent!important;padding:0!important;border-radius:0!important;}
  .page-dashboard .asset-debt-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:12px!important;}
  .page-dashboard .asset-box{min-height:96px!important;padding:14px!important;border-radius:19px!important;}
  .page-dashboard .asset-box span{font-size:15px!important;margin-bottom:12px!important;}
  .page-dashboard .asset-box b{font-size:16px!important;margin-bottom:5px!important;}
  .page-dashboard .asset-box strong{font-size:18px!important;margin-top:12px!important;}
  .page-dashboard .net-summary-pill{margin-top:10px!important;padding:12px 14px!important;border-radius:18px!important;}
  .page-dashboard .credit-limit-pill,.page-dashboard .unposted-mini-card{margin-top:10px!important;border-radius:18px!important;}
  .page-dashboard .health-card{padding:12px!important;margin-top:12px!important;border-radius:18px!important;}
  .page-dashboard .health-card h2{font-size:16px!important;margin-bottom:4px!important;}
  .page-dashboard .health-card p{font-size:13px!important;line-height:1.45!important;margin:0!important;}
  .page-dashboard .ratio-bar{margin-top:12px!important;}
  .page-dashboard .mobile-action-grid{margin-top:14px!important;}
}
html.dark-mode .page-dashboard .mobile-balance-home .balance-card-main{
  background:linear-gradient(180deg,var(--theme-dynamic-soft),rgba(25,28,36,.86))!important;
  border-color:rgba(var(--theme-rgb,16,185,129),.24)!important;
}

/* V47: 避免主题色/柔色叠加在 mobile-account-summary 边缘形成深色线条 */
.mobile-account-summary-card{
    border:0!important;
    outline:1px solid rgba(255,255,255,.34);
    background:linear-gradient(135deg,var(--theme-dynamic) 0%,rgba(255,255,255,.34) 118%)!important;
    box-shadow:0 14px 34px rgba(15,23,42,.08)!important;
}
html.dark-mode .mobile-account-summary-card{
    outline:1px solid rgba(255,255,255,.12);
    box-shadow:0 14px 34px rgba(0,0,0,.26)!important;
}


/* ===== V48: account modals must sit above mobile tabbar ===== */
:root{--banle-modal-z:2147483000;}
#addAccountModal.app-form-modal-mask,#sortAccountModal.app-form-modal-mask{
  position:fixed!important;
  inset:0!important;
  z-index:var(--banle-modal-z)!important;
  isolation:isolate!important;
  transform:none!important;
  align-items:flex-end!important;
  justify-content:center!important;
  padding:0!important;
}
#addAccountModal.is-top-layer,#sortAccountModal.is-top-layer{
  display:flex!important;
}
#addAccountModal .app-form-modal,#sortAccountModal .app-form-modal{
  position:relative!important;
  z-index:calc(var(--banle-modal-z) + 1)!important;
}
body.modal-open .mobile-tabbar{
  display:none!important;
  pointer-events:none!important;
}
@media(max-width:760px){
  #addAccountModal .app-form-modal,#sortAccountModal .app-form-modal{
    width:100%!important;
    max-width:none!important;
    max-height:88vh!important;
    margin:0!important;
    border-radius:26px 26px 0 0!important;
    overflow:auto!important;
  }
}
@media(min-width:761px){
  #addAccountModal.app-form-modal-mask,#sortAccountModal.app-form-modal-mask{
    align-items:center!important;
    padding:18px!important;
  }
  #addAccountModal .app-form-modal,#sortAccountModal .app-form-modal{
    width:min(560px,calc(100vw - 36px))!important;
    border-radius:30px!important;
  }
}


/* ===== V49: cost page sheet modals must sit above mobile tabbar ===== */
:root{--banle-modal-z:2147483000;}
#costModal.app-form-modal-mask,#costSortModal.app-form-modal-mask{
  position:fixed!important;
  inset:0!important;
  z-index:var(--banle-modal-z)!important;
  isolation:isolate!important;
  transform:none!important;
  align-items:flex-end!important;
  justify-content:center!important;
  padding:0!important;
}
#costModal.is-top-layer,#costSortModal.is-top-layer{
  display:flex!important;
}
#costModal .app-form-modal,#costSortModal .app-form-modal,
#costModal .sheet-modal,#costSortModal .sheet-modal{
  position:relative!important;
  z-index:calc(var(--banle-modal-z) + 1)!important;
}
@media(max-width:760px){
  #costModal .app-form-modal,#costSortModal .app-form-modal,
  #costModal .sheet-modal,#costSortModal .sheet-modal{
    width:100%!important;
    max-width:none!important;
    max-height:88vh!important;
    margin:0!important;
    border-radius:26px 26px 0 0!important;
    overflow:auto!important;
  }
}
@media(min-width:761px){
  #costModal.app-form-modal-mask,#costSortModal.app-form-modal-mask{
    align-items:center!important;
    padding:18px!important;
  }
  #costModal .app-form-modal,#costSortModal .app-form-modal,
  #costModal .sheet-modal,#costSortModal .sheet-modal{
    width:min(560px,calc(100vw - 36px))!important;
    border-radius:30px!important;
  }
}


/* ===== V50: account action transparent + calculator absolute top layer ===== */
.page-account_detail .account-detail-action-row.section-block{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html.dark-mode .page-account_detail .account-detail-action-row.section-block{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.entry-sheet-mask.simple-calculator-mode,
.entry-sheet-mask.simple-calculator-mode.is-top-layer{
  position:fixed!important;
  inset:0!important;
  z-index:2147483600!important;
  isolation:isolate!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
}
.entry-sheet-mask.simple-calculator-mode .entry-sheet{
  z-index:2147483601!important;
  position:relative!important;
}
@media(max-width:760px){
  .entry-sheet-mask.simple-calculator-mode{
    align-items:flex-end!important;
    padding:0!important;
  }
  .entry-sheet-mask.simple-calculator-mode .entry-sheet{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    border-radius:26px 26px 0 0!important;
    max-height:88vh!important;
  }
}


/* ===== V51: plain calculator size aligned with bookkeeping calculator ===== */
:root{--banle-calc-top-z:2147483600;}
.entry-sheet-mask.simple-calculator-mode,
.entry-sheet-mask.simple-calculator-mode.is-top-layer{
  position:fixed!important;
  inset:0!important;
  z-index:var(--banle-calc-top-z)!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  background:rgba(2,6,23,.42)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.entry-sheet-mask.simple-calculator-mode .entry-sheet{
  position:relative!important;
  z-index:calc(var(--banle-calc-top-z) + 1)!important;
  width:100%!important;
  max-width:520px!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:28px 28px 0 0!important;
  padding:18px 16px calc(18px + env(safe-area-inset-bottom))!important;
  max-height:88vh!important;
  overflow:auto!important;
  transform:none!important;
}
@media(max-width:760px){
  .entry-sheet-mask.simple-calculator-mode,
  .entry-sheet-mask.simple-calculator-mode.is-top-layer{
    align-items:flex-end!important;
    justify-content:center!important;
    padding:0!important;
  }
  .entry-sheet-mask.simple-calculator-mode .entry-sheet{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    border-radius:26px 26px 0 0!important;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom))!important;
  }
}
@media(min-width:761px){
  .entry-sheet-mask.simple-calculator-mode .entry-sheet{
    width:min(520px,calc(100vw - 36px))!important;
    max-width:520px!important;
  }
}
.entry-sheet-mask.simple-calculator-mode .entry-sheet::before{
  content:""!important;
  display:block!important;
  width:44px!important;
  height:4px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  margin:0 auto 14px!important;
  box-shadow:0 1px 4px rgba(0,0,0,.08)!important;
}
.entry-sheet-mask.simple-calculator-mode .entry-sheet-handle{display:none!important;}


/* ===== V53: statistics edit sort modal must sit above mobile tabbar ===== */
#statSortModal.app-form-modal-mask{
  position:fixed!important;
  inset:0!important;
  z-index:var(--banle-modal-z,2147483000)!important;
  isolation:isolate!important;
  transform:none!important;
  align-items:flex-end!important;
  justify-content:center!important;
  padding:0!important;
}
#statSortModal.is-top-layer{display:flex!important;}
#statSortModal .app-form-modal,#statSortModal .sort-modal{
  position:relative!important;
  z-index:calc(var(--banle-modal-z,2147483000) + 1)!important;
}
@media(max-width:760px){
  #statSortModal .app-form-modal,#statSortModal .sort-modal{
    width:100%!important;
    max-width:none!important;
    max-height:88vh!important;
    margin:0!important;
    border-radius:26px 26px 0 0!important;
    overflow:auto!important;
  }
}
@media(min-width:761px){
  #statSortModal.app-form-modal-mask{
    align-items:center!important;
    padding:18px!important;
  }
  #statSortModal .app-form-modal,#statSortModal .sort-modal{
    width:min(560px,calc(100vw - 36px))!important;
    border-radius:30px!important;
  }
}


/* ===== V55: sort button layout + rollback dashboard card to V53/V46 baseline safely ===== */
/* 排序弹窗的“应用排序/保存排序”按钮与新增账户弹窗保存按钮保持一致 */
.app-form-modal.sort-modal > .primary-btn,
.app-form-modal.sort-modal .sort-arrow-form > .primary-btn,
#statSortModal #applyStatSort{
  width:100%!important;
  min-height:48px!important;
  border-radius:18px!important;
  margin-top:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-weight:1000!important;
  box-sizing:border-box!important;
}

/* 回滚首页资产负债表卡片为 V53/V46 视觉，同时只清理外层方形主题色，不改内部卡片结构 */
@media(max-width:760px){
  .page-dashboard .app-shell{padding-top:12px!important;}
  .page-dashboard .app-main{padding-top:0!important;}
  .page-dashboard .mobile-balance-home{
    display:block!important;
    order:1!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    background-image:none!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    isolation:auto!important;
    box-sizing:border-box!important;
  }
  .page-dashboard .mobile-balance-home::before,
  .page-dashboard .mobile-balance-home::after{
    content:none!important;
    display:none!important;
    background:none!important;
    box-shadow:none!important;
    border:0!important;
  }
  .page-dashboard .mobile-balance-home .balance-card-main{
    width:min(calc(100vw - 28px),var(--page-max))!important;
    max-width:none!important;
    margin:0 auto 14px!important;
    padding:20px 16px 18px!important;
    border-radius:24px!important;
    border:1px solid rgba(255,255,255,.62)!important;
    box-shadow:var(--soft-shadow)!important;
    background:var(--glass-bg)!important;
    background-image:none!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .page-dashboard .mobile-balance-home .balance-card-main::before,
  .page-dashboard .mobile-balance-home .balance-card-main::after{
    content:none!important;
    display:none!important;
  }
  .page-dashboard .balance-title-row{margin-top:0!important;margin-bottom:14px!important;align-items:flex-start!important;}
  .page-dashboard .balance-title-row h1{font-size:19px!important;line-height:1.15!important;margin:0 0 6px!important;}
  .page-dashboard .balance-title-row p{font-size:12px!important;margin:0!important;color:var(--muted)!important;}
  .page-dashboard .balance-title-row a{font-size:14px!important;color:var(--muted)!important;background:transparent!important;padding:0!important;border-radius:0!important;}
  .page-dashboard .asset-debt-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:12px!important;}
  .page-dashboard .asset-box{min-height:96px!important;padding:14px!important;border-radius:19px!important;}
  .page-dashboard .asset-box span{font-size:15px!important;margin-bottom:12px!important;}
  .page-dashboard .asset-box b{font-size:16px!important;margin-bottom:5px!important;}
  .page-dashboard .asset-box strong{font-size:18px!important;margin-top:12px!important;}
  .page-dashboard .net-summary-pill{margin-top:10px!important;padding:12px 14px!important;border-radius:18px!important;}
  .page-dashboard .credit-limit-pill,.page-dashboard .unposted-mini-card{margin-top:10px!important;border-radius:18px!important;}
  .page-dashboard .health-card{padding:12px!important;margin-top:12px!important;border-radius:18px!important;}
  .page-dashboard .health-card h2{font-size:16px!important;margin-bottom:4px!important;}
  .page-dashboard .health-card p{font-size:13px!important;line-height:1.45!important;margin:0!important;}
  .page-dashboard .ratio-bar{margin-top:12px!important;}
  .page-dashboard .mobile-action-grid{margin-top:14px!important;}
}
html.dark-mode .page-dashboard .mobile-balance-home .balance-card-main{
  background:linear-gradient(180deg,var(--theme-dynamic-soft),rgba(25,28,36,.86))!important;
  background-image:linear-gradient(180deg,var(--theme-dynamic-soft),rgba(25,28,36,.86))!important;
  border-color:rgba(var(--theme-rgb,16,185,129),.24)!important;
}

/* V56 account sort modal: collapsed category sorting panels */
.account-sort-modal .account-sort-form{gap:12px!important;}
.account-sort-modal .sort-expand-card{border:1px solid var(--glass-border,rgba(255,255,255,.62))!important;border-radius:20px!important;background:rgba(255,255,255,.52)!important;overflow:hidden!important;}
.account-sort-modal .sort-expand-card summary{list-style:none;cursor:pointer;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:14px 14px!important;border-radius:20px!important;background:rgba(255,255,255,.44)!important;}
.account-sort-modal .sort-expand-card summary::-webkit-details-marker{display:none;}
.account-sort-modal .sort-expand-card summary strong{font-size:15px!important;font-weight:950!important;color:var(--text-color,#111827)!important;}
.account-sort-modal .sort-expand-card summary span{font-size:12px!important;color:var(--muted-color,#667085)!important;white-space:nowrap;}
.account-sort-modal .sort-expand-card summary:after{content:'展开';font-size:12px;font-weight:900;color:var(--theme-dynamic);background:var(--theme-dynamic-soft);border-radius:999px;padding:6px 10px;}
.account-sort-modal .sort-expand-card[open] summary:after{content:'收起';}
.account-sort-modal .sort-expand-card .sort-arrow-list{margin:0!important;padding:0 12px 12px!important;max-height:46vh!important;overflow:auto!important;}
.account-sort-modal .sort-type-order-list .sort-type-row{margin:0!important;}
.account-sort-modal .sort-account-order-list .sort-arrow-row,.account-sort-modal .sort-type-order-list .sort-arrow-row{grid-template-columns:minmax(0,1fr) auto 38px 38px!important;}
.account-sort-modal .sort-type-title{display:none!important;}
.account-sort-modal .primary-btn{margin-top:2px!important;}
html.dark-mode .account-sort-modal .sort-expand-card{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.12)!important;}
html.dark-mode .account-sort-modal .sort-expand-card summary{background:rgba(255,255,255,.05)!important;}
html.dark-mode .account-sort-modal .sort-expand-card summary strong{color:#f8fafc!important;}
@media(max-width:760px){
  .account-sort-modal .sort-expand-card summary{padding:13px 12px!important;}
  .account-sort-modal .sort-expand-card summary span{display:none!important;}
  .account-sort-modal .sort-expand-card .sort-arrow-list{max-height:42vh!important;}
  .account-sort-modal .sort-account-order-list .sort-arrow-row,.account-sort-modal .sort-type-order-list .sort-arrow-row{grid-template-columns:minmax(0,1fr) 38px 38px!important;}
}

/* ===== V58: mobile-balance-home corner square layer fix =====
问题代码定位：
1) 旧样式曾给 .page-dashboard .app-main / .mobile-balance-home 添加主题色柔色背景；
2) 全局 glass 规则给 .mobile-balance-home .balance-card-main 添加半透明背景 + backdrop-filter；
3) V55 回滚样式中 .balance-card-main 为 overflow:visible，圆角区域会把底层主题色矩形/浏览器 backdrop-filter 合成层露出来。
本段只针对首页主卡片收口，不改其他卡片结构。
*/
@media(max-width:760px){
  .page-dashboard .app-main,
  .page-dashboard .app-shell,
  .page-dashboard .mobile-balance-home{
    background:transparent!important;
    background-image:none!important;
  }
  .page-dashboard .mobile-balance-home{
    position:relative!important;
    z-index:1!important;
    overflow:visible!important;
    isolation:isolate!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .page-dashboard .mobile-balance-home::before,
  .page-dashboard .mobile-balance-home::after,
  .page-dashboard .mobile-balance-home .balance-card-main::before,
  .page-dashboard .mobile-balance-home .balance-card-main::after{
    content:none!important;
    display:none!important;
    opacity:0!important;
    background:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
  }
  .page-dashboard .mobile-balance-home .balance-card-main{
    position:relative!important;
    z-index:1!important;
    overflow:hidden!important;
    contain:paint!important;
    isolation:isolate!important;
    background:rgba(255,255,255,.72)!important;
    background-image:none!important;
    background-clip:padding-box!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:0 12px 34px rgba(15,23,42,.08)!important;
  }
  .page-dashboard .mobile-balance-home .balance-card-main > *{
    position:relative;
    z-index:2;
  }
}
html.dark-mode .page-dashboard .mobile-balance-home .balance-card-main{
  background:rgba(25,28,36,.88)!important;
  background-image:none!important;
  border-color:rgba(255,255,255,.12)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* ===== V59: dashboard card gap align with accounts page =====
   首页多个大卡片之间原本同时叠加了 margin-top 与 margin-bottom，
   实际间隙会比账户页大。这里只收敛 dashboard 下一级卡片间距，
   让首页卡片节奏与 accounts 页面一致。
*/
@media(max-width:760px){
  .page-dashboard .app-main{
    row-gap:0!important;
  }
  .page-dashboard .app-main > .mobile-balance-home{
    margin-bottom:12px!important;
  }
  .page-dashboard .app-main > .section-block,
  .page-dashboard .app-main > .unified-card,
  .page-dashboard .app-main > .income-expense-row,
  .page-dashboard .app-main > .calendar-income-card,
  .page-dashboard .app-main > .budget-home-card,
  .page-dashboard .app-main > .cost-home-card,
  .page-dashboard .app-main > .recent-transactions-section,
  .page-dashboard .app-main > .chart-section{
    margin-top:0!important;
    margin-bottom:12px!important;
  }
  .page-dashboard .app-main > .section-block:last-child,
  .page-dashboard .app-main > .unified-card:last-child,
  .page-dashboard .app-main > .recent-transactions-section:last-child{
    margin-bottom:14px!important;
  }
  .page-dashboard .section-title-row{
    margin-bottom:10px!important;
  }
}
@media(min-width:761px){
  .page-dashboard .desktop-dashboard-hero,
  .page-dashboard .app-main > .section-block,
  .page-dashboard .app-main > .unified-card,
  .page-dashboard .app-main > .income-expense-row{
    margin-bottom:14px!important;
  }
}

/* ===== V60 auth layout fix: 登录 / 注册页响应式重构 ===== */
.banle-auth-page,
body.auth-body.banle-auth-page,
body.auth-page.banle-auth-page{
    min-height:100vh!important;
    width:100%;
    margin:0!important;
    padding:24px!important;
    box-sizing:border-box;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow-x:hidden;
    background:
        radial-gradient(circle at 14% 12%, rgba(var(--theme-rgb,16,185,129),.20), transparent 30%),
        radial-gradient(circle at 86% 20%, rgba(59,130,246,.18), transparent 34%),
        linear-gradient(180deg,#f8fafc,#eef2f7)!important;
}
.auth-shell{
    width:min(1040px,100%);
    min-height:620px;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.82fr);
    gap:18px;
    align-items:stretch;
}
.auth-hero-panel,
.banle-auth-page .auth-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.72)!important;
    background:rgba(255,255,255,.78)!important;
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
    box-shadow:0 24px 70px rgba(15,23,42,.14)!important;
}
.auth-hero-panel{
    border-radius:36px;
    padding:34px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-width:0;
}
.auth-hero-panel::after{
    content:"";
    position:absolute;
    right:-120px;
    bottom:-120px;
    width:330px;
    height:330px;
    border-radius:50%;
    background:rgba(var(--theme-rgb,16,185,129),.18);
    pointer-events:none;
}
.auth-brand-row,
.auth-mobile-brand{
    display:flex;
    align-items:center;
    gap:12px;
    position:relative;
    z-index:1;
}
.auth-brand-mark{
    width:46px;
    height:46px;
    border-radius:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--theme-dynamic,#10b981);
    color:#fff;
    font-weight:1000;
    box-shadow:0 12px 28px rgba(var(--theme-rgb,16,185,129),.24);
}
.auth-brand-row strong,
.auth-mobile-brand strong{display:block;font-size:18px;letter-spacing:-.03em;}
.auth-brand-row small,
.auth-mobile-brand small{display:block;margin-top:2px;color:var(--muted,#6b7280);font-weight:800;font-size:12px;}
.auth-hero-copy{position:relative;z-index:1;max-width:520px;}
.auth-kicker{margin:0 0 12px;color:var(--theme-dynamic,#10b981);font-size:12px;font-weight:1000;letter-spacing:.16em;text-transform:uppercase;}
.auth-hero-copy h1{margin:0;font-size:46px;line-height:1.06;letter-spacing:-.065em;color:#0f172a;}
.auth-hero-copy p:last-child{margin:18px 0 0;color:#667085;font-size:16px;line-height:1.8;font-weight:700;}
.auth-metric-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.auth-metric-grid div{padding:16px;border-radius:22px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.78);box-shadow:0 10px 28px rgba(15,23,42,.06);min-width:0;}
.auth-metric-grid span{display:block;color:#667085;font-size:12px;font-weight:900;margin-bottom:8px;}
.auth-metric-grid b{display:block;font-size:19px;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.banle-auth-page .auth-card{
    width:100%!important;
    max-width:none!important;
    min-height:620px;
    border-radius:36px!important;
    padding:38px!important;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.auth-mobile-brand{display:none;margin-bottom:26px;}
.banle-auth-page .auth-logo{
    text-align:left!important;
    font-size:34px!important;
    line-height:1.12;
    color:#0f172a!important;
    letter-spacing:-.055em;
    margin:0;
}
.banle-auth-page .auth-subtitle{
    text-align:left!important;
    margin:10px 0 24px!important;
    color:#667085!important;
    font-weight:800!important;
}
.auth-form{gap:14px!important;}
.auth-field{display:flex;flex-direction:column;gap:8px;margin:0;}
.auth-field span{font-size:13px;font-weight:900;color:#475467;}
.banle-auth-page .auth-card input{
    width:100%;
    min-height:50px;
    border-radius:16px!important;
    border:1px solid rgba(15,23,42,.10)!important;
    background:rgba(255,255,255,.88)!important;
    box-sizing:border-box;
    font-size:15px;
    outline:none;
}
.banle-auth-page .auth-card input:focus{
    border-color:rgba(var(--theme-rgb,16,185,129),.55)!important;
    box-shadow:0 0 0 4px rgba(var(--theme-rgb,16,185,129),.12)!important;
}
.banle-auth-page .auth-submit{
    width:100%;
    min-height:52px;
    margin-top:4px;
    border-radius:16px!important;
    font-size:16px;
    cursor:pointer;
}
.banle-auth-page .auth-link{
    margin:20px 0 0!important;
    text-align:center!important;
    color:var(--theme-dynamic,#10b981)!important;
    font-weight:1000!important;
}
.banle-auth-page .alert{margin:0 0 16px!important;}

@media (max-width:900px){
    .banle-auth-page,
    body.auth-body.banle-auth-page,
    body.auth-page.banle-auth-page{padding:16px!important;align-items:flex-start!important;}
    .auth-shell{min-height:auto;display:block;width:100%;}
    .auth-hero-panel{display:none;}
    .banle-auth-page .auth-card{min-height:calc(100vh - 32px);border-radius:30px!important;padding:28px!important;justify-content:center;}
    .auth-mobile-brand{display:flex;}
    .banle-auth-page .auth-logo{font-size:30px!important;text-align:left!important;}
}
@media (max-width:420px){
    .banle-auth-page,
    body.auth-body.banle-auth-page,
    body.auth-page.banle-auth-page{padding:10px!important;}
    .banle-auth-page .auth-card{min-height:calc(100vh - 20px);border-radius:26px!important;padding:22px!important;}
    .auth-brand-mark{width:42px;height:42px;border-radius:16px;}
    .banle-auth-page .auth-logo{font-size:28px!important;}
    .banle-auth-page .auth-subtitle{margin-bottom:20px!important;}
}
html.dark-mode .banle-auth-page,
html.dark-mode body.auth-body.banle-auth-page,
html.dark-mode body.auth-page.banle-auth-page{
    background:radial-gradient(circle at 10% 10%, rgba(var(--theme-rgb,16,185,129),.18), transparent 32%), linear-gradient(180deg,#0f172a,#020617)!important;
}
html.dark-mode .auth-hero-panel,
html.dark-mode .banle-auth-page .auth-card,
html.dark-mode .auth-metric-grid div{
    background:rgba(15,23,42,.78)!important;
    border-color:rgba(255,255,255,.12)!important;
    color:#f8fafc!important;
}
html.dark-mode .auth-hero-copy h1,
html.dark-mode .banle-auth-page .auth-logo{color:#f8fafc!important;}
html.dark-mode .auth-hero-copy p:last-child,
html.dark-mode .banle-auth-page .auth-subtitle,
html.dark-mode .auth-field span,
html.dark-mode .auth-brand-row small,
html.dark-mode .auth-mobile-brand small,
html.dark-mode .auth-metric-grid span{color:#cbd5e1!important;}
html.dark-mode .banle-auth-page .auth-card input{background:rgba(2,6,23,.62)!important;color:#f8fafc!important;border-color:rgba(255,255,255,.12)!important;}

/* ===== V61 credit detail/installment polish ===== */
.credit-detail-v2{overflow:visible}.credit-detail-head{align-items:flex-start}.credit-detail-actions{min-width:190px}.credit-bill-grid-v2 div em{display:block;margin-top:5px;font-style:normal;font-size:11px;color:var(--muted)}.compact-title-row{margin-top:8px}.compact-title-row h2{font-size:18px}.installment-open-btn{min-width:116px}.installment-list-v2{gap:12px}.installment-card-v2{display:block;text-decoration:none;color:inherit}.installment-card-v2 summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}.installment-card-v2 summary::-webkit-details-marker{display:none}.installment-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.installment-meta-grid div{border-radius:16px;background:rgba(255,255,255,.44);padding:10px}.installment-meta-grid span{display:block;font-size:12px;color:var(--muted);font-weight:800}.installment-meta-grid b{display:block;margin-top:5px;font-size:14px}.installment-actions-row{display:flex;gap:8px;margin-top:12px}.installment-actions-row .btn-sm{flex:1}.btn-sm.danger{background:rgba(239,68,68,.12)!important;color:#ef4444!important;border:1px solid rgba(239,68,68,.18)}.installment-schedule-onecol{display:flex;flex-direction:column;gap:8px;margin-top:12px}.schedule-head{font-weight:1000;color:var(--theme-dynamic);font-size:13px}.schedule-row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;border-radius:14px;background:rgba(255,255,255,.46);padding:10px 12px;border:1px solid rgba(255,255,255,.42)}.schedule-row span{font-size:13px;font-weight:900}.schedule-row b{font-size:13px}.schedule-row em{grid-column:1 / -1;font-style:normal;font-size:12px;color:var(--muted)}.installment-modal-mask{z-index:2147483200!important}.installment-modal{width:min(560px,100%)!important;z-index:2147483201!important}.installment-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.installment-trial-box{border-radius:18px;background:rgba(var(--theme-rgb,16,185,129),.08);padding:12px;border:1px solid rgba(var(--theme-rgb,16,185,129),.13);max-height:280px;overflow:auto}.credit-edit-push-panel{margin-top:14px}.credit-edit-push-panel .push-preview pre{white-space:pre-wrap;word-break:break-word}
html.dark-mode .installment-meta-grid div,html.dark-mode .schedule-row{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.10)!important;color:#f5f7fb!important}
@media(max-width:760px){.credit-detail-head{display:block}.credit-detail-actions{margin-top:12px;width:100%;display:grid;grid-template-columns:1fr 1fr}.credit-bill-grid,.credit-bill-grid-v2{grid-template-columns:1fr!important}.compact-title-row{display:block}.installment-open-btn{width:100%;margin-top:10px}.installment-meta-grid{grid-template-columns:1fr 1fr}.installment-form-grid{grid-template-columns:1fr}.schedule-row{grid-template-columns:1fr}.schedule-row b{text-align:left}.installment-modal{max-height:calc(100vh - 18px)!important}}

/* V62 应收/应付账户 */
.arap-account-panel{display:grid;gap:14px;}
.arap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.arap-grid>div{border:1px solid var(--glass-border);background:rgba(255,255,255,.58);border-radius:20px;padding:14px;display:grid;gap:6px;}
.arap-grid span{font-size:12px;color:var(--text-muted);font-weight:800;}
.arap-grid b{font-size:20px;color:var(--theme-dynamic);}
.arap-grid em{font-style:normal;font-size:12px;color:var(--text-muted);}
.arap-account-panel.is-payable .arap-grid>div:first-child b{color:#ef4444;}
.arap-tip-card{border:1px dashed rgba(var(--theme-rgb,16,185,129),.28);background:var(--theme-dynamic-soft);color:var(--text-main);border-radius:18px;padding:12px 14px;font-size:13px;line-height:1.6;}
html.dark-mode .arap-grid>div{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12);}
html.dark-mode .arap-tip-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#e5e7eb;}
@media(max-width:760px){.arap-grid{grid-template-columns:1fr;}.arap-grid b{font-size:18px;}}


/* ===== V67 installment realtime trial + 4/5 modal height ===== */
.installment-modal-mask{align-items:center!important;justify-content:center!important;padding:0!important;}
.installment-modal{max-height:80vh!important;height:auto!important;overflow:auto!important;box-sizing:border-box!important;}
.installment-modal .installment-form{padding-bottom:2px;}
@media(max-width:760px){
  .installment-modal-mask{align-items:flex-end!important;justify-content:center!important;padding:0!important;}
  .installment-modal{width:100%!important;max-width:none!important;max-height:80vh!important;border-radius:26px 26px 0 0!important;margin:0!important;overflow:auto!important;}
}

/* ===== V68 budget modal, repayment default, credit detail actions ===== */
#budgetEditModal.app-form-modal-mask{z-index:2147483300!important;align-items:center!important;justify-content:center!important;padding:0!important;}
#budgetEditModal .budget-edit-modal{z-index:2147483301!important;max-height:80vh!important;height:auto!important;overflow:auto!important;box-sizing:border-box!important;}
.credit-account-actions-v68{grid-template-columns:1fr 1fr 2fr!important;align-items:center!important;}
.credit-account-actions-v68 .primary-btn{width:100%!important;min-width:0!important;text-align:center!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.credit-account-actions-v68 .account-detail-repay-btn{background:var(--theme-dynamic)!important;color:#fff!important;border:0!important;box-shadow:0 12px 28px rgba(var(--theme-rgb,16,185,129),.24)!important;}
.credit-detail-head .credit-detail-actions{display:none!important;}
@media(max-width:760px){
  #budgetEditModal.app-form-modal-mask{align-items:flex-end!important;justify-content:center!important;padding:0!important;}
  #budgetEditModal .budget-edit-modal{width:100%!important;max-width:none!important;max-height:80vh!important;border-radius:26px 26px 0 0!important;margin:0!important;padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;}
  body.modal-open .mobile-tabbar{display:none!important;}
  .credit-account-actions-v68{grid-template-columns:1fr 1fr 2fr!important;gap:10px!important;}
}

/* ===== V69: calendar card performance optimization ===== */
.calendar-income-card{
  contain:layout paint style;
}
@supports (content-visibility:auto){
  .calendar-income-card{
    content-visibility:auto;
    contain-intrinsic-size:360px;
  }
}
.calendar-income-card .calendar-day-cell{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
  transition:none!important;
  will-change:auto!important;
}
.calendar-income-card .calendar-day-cell:hover{transform:none!important;}
@media(max-width:760px){
  .calendar-income-card .calendar-day-cell{
    border-radius:12px!important;
    min-height:42px!important;
    padding:6px 4px!important;
  }
}


/* ===== V70: invoice upload modal and settings logout polish ===== */
.settings-logout-button{
  width:min(calc(100vw - 28px),var(--page-max,980px));
  margin:0 auto 18px!important;
  min-height:52px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  text-decoration:none;
  font-weight:1000;
  color:#ef4444!important;
  background:rgba(239,68,68,.10);
  border:1px solid rgba(239,68,68,.16);
  box-shadow:0 14px 34px rgba(239,68,68,.08);
}
html.dark-mode .settings-logout-button{
  background:rgba(239,68,68,.14);
  border-color:rgba(248,113,113,.20);
  color:#fca5a5!important;
}
#invoiceUploadModal.app-form-modal-mask{
  z-index:var(--banle-modal-z,2147483000)!important;
  position:fixed!important;
  inset:0!important;
  isolation:isolate!important;
  transform:none!important;
  align-items:flex-end!important;
  justify-content:center!important;
  padding:0!important;
}
#invoiceUploadModal.is-top-layer{display:flex!important;}
#invoiceUploadModal .invoice-upload-modal{
  position:relative!important;
  z-index:calc(var(--banle-modal-z,2147483000) + 1)!important;
  box-sizing:border-box!important;
}
@media(max-width:760px){
  #invoiceUploadModal .invoice-upload-modal{
    width:100%!important;
    max-width:none!important;
    max-height:80vh!important;
    margin:0!important;
    border-radius:26px 26px 0 0!important;
    overflow:auto!important;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom))!important;
  }
  .settings-logout-button{
    width:min(calc(100vw - 28px),var(--page-max,480px));
    height:54px;
    margin-top:2px!important;
    margin-bottom:calc(18px + env(safe-area-inset-bottom))!important;
  }
}
@media(min-width:761px){
  #invoiceUploadModal.app-form-modal-mask{align-items:center!important;padding:18px!important;}
  #invoiceUploadModal .invoice-upload-modal{width:min(620px,calc(100vw - 36px))!important;border-radius:30px!important;max-height:min(760px,calc(100vh - 36px))!important;overflow:auto!important;}
}


/* ===== V71: logout button spacing and first-paint mobile optimization ===== */
.settings-logout-button{
  width:auto!important;
  max-width:780px!important;
  margin-left:14px!important;
  margin-right:14px!important;
  box-sizing:border-box!important;
}
@media(min-width:761px){
  .settings-logout-button{margin-left:0!important;margin-right:0!important;}
  .settings-card + .settings-logout-button{width:min(100%,780px)!important;}
}
@media(max-width:760px){
  .page-profile_settings .settings-logout-button,
  .settings-logout-button{
    width:auto!important;
    max-width:none!important;
    margin-left:14px!important;
    margin-right:14px!important;
    margin-bottom:calc(20px + env(safe-area-inset-bottom))!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .section-block,.unified-card,.account-line,.transaction-row,.budget-item-row,.invoice-row-card,.cost-item-row,.calendar-income-card .calendar-day-cell{
    content-visibility:auto;
    contain-intrinsic-size:1px 120px;
  }
  .section-block:first-of-type,.mobile-balance-home,.entry-sheet,.app-form-modal,.app-modal{
    content-visibility:visible;
    contain-intrinsic-size:auto;
  }
}

/* ===== V72: settings logout width + dashboard first-card top gap ===== */
.page-profile_settings .settings-logout-button{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
@media(max-width:760px){
  .client-mobile .page-profile_settings .settings-logout-button,
  .page-profile_settings .settings-logout-button{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    margin-top:0!important;
    margin-bottom:calc(20px + env(safe-area-inset-bottom))!important;
  }
  .client-mobile .page-dashboard,
  .page-dashboard.app-shell{
    padding-top:0!important;
  }
  .client-mobile .page-dashboard .app-main,
  .page-dashboard .app-main{
    padding-top:14px!important;
  }
  .client-mobile .page-dashboard .mobile-balance-home,
  .page-dashboard .mobile-balance-home{
    margin-top:0!important;
  }
  .client-mobile .page-dashboard .mobile-balance-home .balance-card-main,
  .page-dashboard .mobile-balance-home .balance-card-main{
    margin-top:0!important;
  }
}

/* ===== V74: final PHP web visual/layout overrides ===== */
body{background:#f6f9fc!important;}
body::before{background:linear-gradient(180deg,rgba(var(--theme-rgb,16,185,129),.13) 0,rgba(var(--theme-rgb,16,185,129),.055) 210px,rgba(246,249,252,0) 360px),radial-gradient(circle at 82% 6%,rgba(var(--theme-rgb,16,185,129),.14),transparent 30%)!important;}
.primary-btn,.small-primary-btn,.auth-card button,.mobile-action-grid a,.mobile-action-grid button,.bottom-add-account-btn,.app-modal button,.app-modal-actions button,.credit-action{background:var(--theme-dynamic)!important;background-image:none!important;color:#fff!important;box-shadow:0 12px 28px rgba(var(--theme-rgb,16,185,129),.18)!important;}
.mobile-action-grid a:last-child,.mobile-action-grid button:last-child{background:#111827!important;box-shadow:0 12px 28px rgba(15,23,42,.16)!important;}
@media(min-width:761px){
  .client-pc .app-shell{display:grid!important;grid-template-columns:240px minmax(0,1fr)!important;gap:18px!important;align-items:start!important;}
  .client-pc .app-main,.page-dashboard .app-main{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:14px!important;width:100%!important;max-width:1040px!important;min-width:0!important;padding-top:12px!important;}
  .page-dashboard .app-main>.section-block,.page-dashboard .app-main>.unified-card,.page-dashboard .app-main>.income-expense-row,.page-dashboard .app-main>.calendar-income-card,.page-dashboard .app-main>.recent-transactions-section,.page-dashboard .app-main>.chart-section,.page-dashboard .app-main>.desktop-dashboard-hero{width:100%!important;max-width:100%!important;margin:0!important;box-sizing:border-box!important;}
  .desktop-dashboard-hero{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)!important;align-items:stretch!important;gap:14px!important;}
  .income-expense-row,.dashboard-summary-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  .bi-card-grid,.stat-bi-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;}
}
