:root{font-family:Inter,"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#17243a;background:#f3f6fb;font-size:16px;--blue:#1767ed;--line:#dde5ef;--muted:#63738a}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,textarea,select{font:inherit}button,.button{border:1px solid var(--line);background:white;border-radius:9px;padding:11px 17px;cursor:pointer;color:#21314d;font-weight:600;text-decoration:none;display:inline-block}button:hover,.button:hover{border-color:#94b9f8;background:#f3f7ff}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover{background:#0d54cb;color:white}.danger{color:#b32636;border-color:#f1c7cd}.ghost{background:transparent}input,textarea,select{width:100%;border:1px solid #cbd6e4;border-radius:8px;padding:12px;background:#fff;color:#17243a;min-width:0}input:focus,textarea:focus,select:focus{outline:3px solid #dceaff;border-color:var(--blue)}label{display:block;font-size:.9rem;font-weight:600;line-height:1.5;margin:16px 0 20px}label input,label textarea,label select{display:block;margin-top:8px;font-weight:400}h1,h2,p{margin-top:0}h1{font-size:1.9rem;letter-spacing:-.04em;margin-bottom:0}h2{font-size:1.15rem;margin-bottom:15px}p{line-height:1.7}small{font-size:.8rem}.muted{color:var(--muted);font-size:.9rem}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:700;color:var(--muted);margin-bottom:10px}.badge{display:inline-block;background:#e8f0ff;color:#1558bd;border-radius:6px;font-size:.8rem;font-weight:600;padding:5px 9px;margin-bottom:20px}.brand-mark{background:var(--blue);color:white;width:58px;height:58px;border-radius:15px;display:grid;place-items:center;font-size:1.8rem;font-weight:700}.brand-mark.small{width:36px;height:36px;border-radius:10px;font-size:1.1rem}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;max-width:1120px;margin:auto;align-items:center;padding:60px;gap:90px}.login-brand{padding:40px 0}.login-brand .eyebrow{margin-top:28px;color:#2a568f}.login-brand h1{font-size:3.4rem;line-height:1.25;margin-bottom:25px}.login-brand>p{color:var(--muted)}.brand-bottom{margin-top:70px;border-top:1px solid var(--line);padding-top:20px;font-size:.85rem;color:var(--muted)}.login-card{background:#fff;padding:40px;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 70px #1e407c0a}.login-card h2{font-size:1.7rem}.login-card .primary{width:100%}.error{color:#b32636;font-size:.9rem;margin-top:12px}#shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}aside{background:#fff;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.logo{display:flex;gap:12px;align-items:center;font-size:1.05rem}.nav-label{font-size:.8rem;color:var(--muted);margin:42px 12px 14px}nav{display:grid;gap:6px}nav button{text-align:left;border:0;background:transparent;font-weight:500;padding:13px 15px}nav button.active{background:#e9f1ff;color:#155ad0;font-weight:700}.aside-foot{margin-top:auto;padding-top:30px;display:grid;gap:12px;font-size:.9rem}.workspace{padding:38px 42px;max-width:1550px;width:100%;margin:auto}header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:36px}.connection{display:grid;text-align:right;gap:8px;font-size:.9rem}.connection small{color:var(--muted)}.metrics{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:18px;margin-bottom:32px}.metrics article{padding:23px;background:white;border:1px solid var(--line);border-radius:12px}.metrics span{color:var(--muted);font-size:.9rem}.metrics strong{display:block;font-size:2rem;font-variant-numeric:tabular-nums;margin-top:13px;font-weight:650}.metrics article:last-child{background:#122c54;color:white;border-color:#122c54}.metrics article:last-child span{color:#bdcdeb}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:25px 0 18px}.toolbar h2,.toolbar p{margin-bottom:0}.toolbar p{margin-top:6px}.search{max-width:460px}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.book-card{background:white;border:1px solid var(--line);border-radius:12px;padding:23px;min-width:0}.book-card h3{margin:0 0 8px;font-size:1rem;overflow-wrap:anywhere}.book-card .amount{font-size:1.7rem;font-weight:650;display:block;margin:22px 0 15px;font-variant-numeric:tabular-nums}.book-card button{width:100%}.book-card .meta{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere;line-height:1.6}.empty{padding:50px 24px;text-align:center;color:var(--muted);border:1px dashed #c4d2e3;border-radius:12px;grid-column:1/-1;background:#ffffff80;line-height:1.8}.panel{background:#fff;border:1px solid var(--line);padding:26px;border-radius:12px;margin-bottom:20px;min-width:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.inline-form label{flex:1;min-width:180px;margin-bottom:0}.inline-form>input{flex:1;min-width:160px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.steps{padding-left:22px;color:#465a76;line-height:2.15;font-size:.95rem}code{font-family:Consolas,monospace;font-size:.9em;background:#edf2f8;padding:3px 5px;border-radius:4px;overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:.93rem;background:#f4f7fb;border:1px solid #e6edf5;padding:20px;border-radius:9px;max-height:550px;overflow:auto;font-family:Consolas,"Microsoft YaHei",monospace}.table-wrap{overflow-x:auto;margin-top:22px;border-radius:10px;border:1px solid var(--line);background:white}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;background:#edf2f8;color:#5b6c84;font-weight:500}td,th{padding:14px 16px;border-bottom:1px solid #e9eef5;vertical-align:top;overflow-wrap:anywhere}td button{font-size:.8rem;padding:6px 10px;margin:2px}.status{font-size:.8rem;background:#edf2f8;padding:4px 9px;border-radius:5px;white-space:nowrap}.status.sent,.status.completed{background:#e4f5ed;color:#176b46}.status.failed,.status.missed,.status.unknown{background:#fff0e5;color:#a24a0f}.job{background:#fff;border:1px solid var(--line);padding:23px;border-radius:12px;margin-bottom:14px}.job-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.job p{margin:12px 0;font-size:.9rem}.job details{font-size:.9rem;overflow:auto}.job summary{cursor:pointer;color:var(--blue);padding:10px 0}footer{border-top:1px solid var(--line);margin-top:50px;padding-top:20px;color:var(--muted);font-size:.8rem}#toast{position:fixed;z-index:1000;right:24px;top:24px;max-width:min(520px,90vw);white-space:pre-wrap;background:#18345d;color:white;padding:16px 22px;border-radius:10px;box-shadow:0 10px 30px #12274430}dialog{border:1px solid var(--line);border-radius:14px;padding:30px;width:min(500px,92vw);color:inherit}dialog::backdrop{background:#10254266}#modal-description{white-space:pre-wrap;color:var(--muted)}
@media(max-width:1000px){.workspace{padding:28px 24px}#shell{grid-template-columns:190px minmax(0,1fr)}aside{padding:25px 14px}.two-col{grid-template-columns:1fr}.login-wrap{padding:35px;gap:40px}.login-brand h1{font-size:2.7rem}}
@media(max-width:680px){.login-wrap{display:block;padding:24px}.login-brand{padding:12px 0 25px}.login-brand h1{font-size:2rem}.login-brand h1 br{display:none}.login-brand .brand-bottom,.login-brand>p:last-of-type{display:none}.login-card{padding:26px}#shell{display:block}aside{position:static;height:auto;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.nav-label{display:none}nav{display:flex;overflow-x:auto;margin-top:18px;gap:6px}nav button{white-space:nowrap;font-size:.9rem;padding:10px 13px}.aside-foot{margin:12px 0 0;padding:0;display:flex;align-items:center;justify-content:space-between}.aside-foot button{padding:7px 12px}.workspace{padding:25px 18px}header{align-items:start;margin-bottom:24px}h1{font-size:1.5rem}.connection{font-size:.8rem;max-width:45%}.metrics{grid-template-columns:1fr 1fr;gap:12px}.metrics article{padding:18px}.metrics article:last-child{grid-column:1/-1}.metrics strong{font-size:1.7rem}.panel{padding:20px}.toolbar{flex-wrap:wrap}.inline-form{display:grid;grid-template-columns:1fr;width:100%}.inline-form label{min-width:0}.inline-form button{margin-top:8px}.actions button{flex:1;white-space:nowrap}.book-grid{grid-template-columns:1fr}td,th{padding:12px}pre{padding:14px;font-size:.87rem}}
.summary-profit{display:block;font-size:2.5rem;font-weight:700;font-variant-numeric:tabular-nums;margin:28px 0}.positive{color:#13754b;font-weight:650}.negative{color:#b32636;font-weight:650}
.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat{border:1px solid;padding:18px;border-radius:12px;min-width:0}.stat span,.stat small{display:block}.stat span{font-weight:700}.stat small{color:#63738a;margin:5px 0 11px}.stat strong{font-size:1.7rem;font-variant-numeric:tabular-nums}.stat.blue{background:#eef7ff;border-color:#99cfff;color:#1767ed}.stat.green{background:#edfff7;border-color:#9ce9c9;color:#09935d}.stat.purple{background:#f7f0ff;border-color:#cfb0ff;color:#6c25db}.stat.cyan{background:#edfbff;border-color:#92def0;color:#1189ba}.stat.orange{background:#fff7ed;border-color:#ffd0a0;color:#ed690c}.today-profit-value.positive,.today-profit-value.negative{color:#ed690c}.range-bar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:15px 0 22px}.range-bar button.active{background:#1767ed;color:white;border-color:#1767ed}.range-bar input{width:auto}.summary-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.summary-side{background:transparent;border:0;padding:0;position:static;height:auto}.ledger-group{border:1px solid #9edcf3;border-radius:12px;padding:12px;margin-bottom:12px;background:#f8fdff}.ledger-group.pink{border-color:#ffb3d0;background:#fff9fc}.group-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:2px 7px 8px}.group-head b{font-size:.9rem}.ledger-group .table-wrap{margin-top:0}.mini{padding:7px;width:86px}.direction{padding:7px;width:112px;font-weight:700}.direction.expense{color:#d92d4d;border-color:#ff9db1;background:#fff2f5}.direction.income{color:#1767ed;border-color:#8fc0ff;background:#f0f7ff}.extra-panel{border-color:#bba6ff;background:#fbf9ff}.manual-form{display:grid;grid-template-columns:1.15fr .8fr .75fr .75fr 1.25fr 1fr auto;gap:10px;align-items:end}.manual-form label{margin:0}.manual-form button{margin-bottom:0}.composition p{display:flex;justify-content:space-between;border-bottom:1px solid #e8eef6;padding:11px 0;margin:0}.composition .sum{font-size:1.12rem;font-weight:700}.summary-side .table-wrap{margin-top:0}@media(max-width:1200px){.summary-cards{grid-template-columns:repeat(3,1fr)}.summary-layout{grid-template-columns:1fr}.manual-form{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.summary-cards{grid-template-columns:1fr 1fr}.manual-form{grid-template-columns:1fr 1fr}.group-head{align-items:flex-start;flex-direction:column}}
.stat.blue strong{color:#1767ed}.stat.green strong{color:#09935d}.stat.purple strong{color:#6c25db}.stat.cyan strong{color:#1189ba}.stat.orange strong{color:#ed690c}.stat.orange strong.positive,.stat.orange strong.negative{color:#ed690c}#page-summary .summary-cards{margin-top:4px}#page-summary .ledger-group td,#page-summary .ledger-group th{padding:11px 13px}
.group-head{width:100%;border:0;background:transparent;text-align:left;padding:4px 7px 10px}.group-head:hover{background:transparent;border:0}.stat.blue strong{color:#1767ed}.stat.green strong{color:#09935d}.stat.purple strong{color:#6c25db}.stat.orange strong{color:#ed690c}
.summary-cards{grid-template-columns:repeat(4,1fr)}
.stat.blue strong{color:#1767ed}.stat.green strong{color:#09935d}.stat.purple strong{color:#6c25db}.stat.orange strong{color:#ed690c}
button.group-head{width:100%;border:0;background:transparent;padding:4px 7px 10px;text-align:left}.group-head:hover{background:transparent;border:0}

/* 桌面程序始终保持完整后台布局；窗口不足时由双向滚动查看。 */
html,body{min-width:1280px;min-height:720px;overflow:auto}
#shell{display:grid!important;grid-template-columns:230px minmax(1050px,1fr)!important;min-width:1280px}
aside{position:sticky!important;top:0;height:100vh!important;padding:30px 20px!important;border-right:1px solid var(--line)!important;border-bottom:0!important}
nav{display:grid!important;overflow:visible!important;margin-top:0!important}
.nav-label{display:block!important}
.aside-foot{margin-top:auto!important;padding-top:30px!important;display:grid!important}
.workspace{min-width:1050px;padding:38px 42px!important}
#page-summary{min-width:1180px}
#page-summary .summary-layout{grid-template-columns:minmax(820px,1fr) 310px}
#page-summary .ledger-group table{min-width:930px;table-layout:fixed}
#page-summary .ledger-group th,#page-summary .ledger-group td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
#page-summary .ledger-group th:first-child,#page-summary .ledger-group td:first-child{width:220px}

.chat-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:12px;margin:8px 0 20px;background:#f7faff}
.chat-choice{display:flex;align-items:center;gap:11px;margin:0;padding:12px;border:1px solid #d8e3f0;border-radius:9px;background:#fff;cursor:pointer;min-width:0}
.chat-choice:hover{border-color:#8cb8fa;background:#f3f8ff}
.chat-choice:has(input:checked){border-color:var(--blue);background:#eaf2ff;box-shadow:0 0 0 1px var(--blue)}
.chat-choice input{width:18px;height:18px;min-width:18px;margin:0}
.chat-choice span{display:block;min-width:0}
.chat-choice strong,.chat-choice small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-choice small{margin-top:4px;color:var(--muted);font-weight:400}

/* 桃桃淡粉主题与群发内容卡片 */
:root{--blue:#e94f91;--line:#efd9e4;--muted:#806b77;background:#fff6fa}
body,.workspace{background:#fff6fa}
aside,.panel,.book-card,.metrics article,.job,.table-wrap{background:#fffafd}
nav button.active{background:#ffe1ee!important;color:#c62d70!important}
button:hover,.button:hover{border-color:#f19abd;background:#fff0f6}
.primary{background:#e94f91;border-color:#e94f91}.primary:hover{background:#d63c7e}
input:focus,textarea:focus,select:focus{outline-color:#ffe0ed;border-color:#e94f91}
.chat-picker{background:#fff!important}
.chat-choice input{accent-color:#e94f91}
.chat-choice:has(input:checked){background:#ffddeb!important;border-color:#f08ab5!important;color:#a91e5b;box-shadow:0 0 0 1px #e94f91!important}
.template-editor{padding:16px;border:1px solid #f2b5ce;background:#fff3f8;border-radius:12px;margin-bottom:16px}
.template-card{border:1px solid var(--line);background:#fff;border-radius:11px;margin-bottom:10px;overflow:hidden}
.template-card.selected{border-color:#e94f91;background:#fff0f6;box-shadow:0 0 0 2px #ffd5e7}
.template-card summary{display:flex;justify-content:space-between;align-items:center;padding:16px;cursor:pointer;color:#542b3d}
.template-card summary span:first-child{display:grid;gap:4px}.template-card summary small{color:var(--muted);font-weight:400}
.template-body{padding:0 16px 16px}.template-body pre{max-height:220px;background:#fffafd}
.selected-template{padding:13px 15px;border:1px solid #f08ab5;background:#ffe1ee;color:#ae255f;border-radius:9px;font-weight:700}
.toolbar.compact{margin-top:0;align-items:flex-start}
.date-ledger-panel{margin-bottom:22px}.date-ledger-panel .toolbar{margin:0 0 14px}.date-picker{width:220px;margin:0}.date-picker input{margin-top:5px}
.date-actions{display:flex;align-items:end;gap:10px}.date-person{font-size:1rem;margin:8px 12px 12px}.date-book{padding:0 12px 12px}.date-book>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer;list-style:none}.date-book>summary::-webkit-details-marker{display:none}.date-book[open]>summary{background:#ffe9f2;border-color:#efa1c1}.date-book>summary span{color:var(--muted)}.date-book .table-wrap{margin-top:8px}#ledger-editor{width:min(720px,92vw)}#ledger-editor .two-col label{margin-top:0}
.history-launcher{display:flex;align-items:end;gap:16px;margin-bottom:22px}.history-launcher>div{margin-right:auto}.history-launcher h2,.history-launcher p{margin-bottom:4px}

/* iOS / PWA 手机布局 */
.cute-sparkles{color:#ed5b98;font-size:1.25rem;letter-spacing:.35rem;animation:cuteFloat 2.8s ease-in-out infinite}
@keyframes cuteFloat{50%{transform:translateY(-4px) rotate(3deg)}}
@media(max-width:760px){
 html,body{min-width:0!important;min-height:100%;overflow-x:hidden;background:linear-gradient(180deg,#fff3f8 0,#fff9fc 42%,#fff0f6 100%)}
 body:before{content:'🍑';position:fixed;right:-12px;top:82px;font-size:62px;opacity:.09;transform:rotate(14deg);pointer-events:none;z-index:0}
 #shell{display:block!important;min-width:0!important;width:100%!important;padding-bottom:calc(78px + env(safe-area-inset-bottom))}
 aside{position:fixed!important;z-index:100;left:0;right:0;bottom:0;top:auto!important;height:auto!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important;border:0!important;border-top:1px solid #f1cada!important;background:#fffafdF2!important;backdrop-filter:blur(16px)}
 aside .logo,.nav-label,.aside-foot{display:none!important}
 nav{display:flex!important;gap:2px!important;overflow-x:auto!important;margin:0!important;scrollbar-width:none}
 nav::-webkit-scrollbar{display:none}
 nav button{flex:0 0 72px;text-align:center!important;padding:7px 3px!important;font-size:.69rem!important;border-radius:12px!important;white-space:nowrap;color:#7c7180}
 nav button:before{display:block;font-size:1.2rem;margin-bottom:2px}
 nav button[data-page=books]:before{content:'🏠'}nav button[data-page=summary]:before{content:'📒'}nav button[data-page=broadcast]:before{content:'💌'}nav button[data-page=targets]:before{content:'👥'}nav button[data-page=wechat]:before{content:'💬'}nav button[data-page=account]:before{content:'🍑'}nav button[data-page=users]:before{content:'✨'}nav button[data-page=settings]:before{content:'⚙️'}nav button[data-page=cloud]:before{content:'☁️'}nav button[data-page=audit]:before{content:'🧾'}
 nav button.active{background:#ffe0ed!important;color:#d33175!important;box-shadow:0 4px 12px #e9508a20}
 .workspace{min-width:0!important;max-width:none!important;width:100%!important;padding:calc(18px + env(safe-area-inset-top)) 14px 24px!important;margin:0!important}
 header{position:relative;margin-bottom:20px!important;align-items:center!important;padding:8px 4px}
 header h1{font-size:1.55rem!important}.connection{font-size:.72rem!important;max-width:44%;gap:3px!important}.cute-sparkles{position:absolute;left:150px;top:4px}
 .panel,.book-card,.metrics article,.stat{border-radius:18px!important;box-shadow:0 7px 24px #c94d7b0b}
 .metrics{grid-template-columns:1fr 1fr!important;gap:10px!important}.metrics article{padding:16px!important}.metrics article:last-child{grid-column:1/-1!important}.metrics strong{font-size:1.45rem!important}
 .summary-cards{grid-template-columns:1fr 1fr!important;gap:10px!important}.stat{padding:15px!important}.stat strong{font-size:1.28rem!important}.stat small{font-size:.72rem}
 .summary-layout,.two-col,.broadcast-columns{grid-template-columns:1fr!important}.summary-side{order:-1}.panel{padding:16px!important}.book-grid{grid-template-columns:1fr!important}
 .toolbar{align-items:flex-start!important;flex-wrap:wrap}.toolbar.compact{gap:10px}.range-bar{overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:5px}.range-bar>*{flex:none}
 .history-launcher{display:grid!important;grid-template-columns:1fr auto;align-items:end!important}.history-launcher>div{grid-column:1/-1}.history-launcher .date-picker{width:100%}.history-launcher .primary{white-space:nowrap}
 .date-actions{width:100%;overflow-x:auto;padding-bottom:3px}.date-actions button{white-space:nowrap}.date-ledger-panel .toolbar>div{width:100%}
 .date-book{padding:0 0 10px!important}.date-book>summary{padding:14px 12px!important;font-size:.86rem}.date-book>summary span{text-align:right}.date-person{margin-left:4px!important}
 .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.ledger-group table{min-width:820px!important}.date-book table{min-width:720px!important}
 .manual-form{grid-template-columns:1fr 1fr!important}.manual-form label{min-width:0}.manual-form button{grid-column:1/-1}
 .chat-picker{grid-template-columns:1fr!important;max-height:310px}.template-card summary{padding:14px!important}
 input,textarea,select{font-size:16px!important}button,.button{min-height:44px}.actions{gap:8px}.actions button{flex:1}
 dialog{max-height:88vh;overflow:auto;border-radius:22px;padding:22px!important}
 #toast{top:calc(12px + env(safe-area-inset-top));left:14px;right:14px;max-width:none;border-radius:14px;text-align:center}
 footer{padding-bottom:10px}.login-wrap{display:block!important;min-width:0;padding:calc(24px + env(safe-area-inset-top)) 18px!important}.login-brand{text-align:center}.login-brand h1{font-size:2rem!important}.login-card{padding:24px!important;border-radius:24px!important}
}
.login-links{display:flex;justify-content:space-between;gap:18px;margin:14px 0 0;font-size:.9rem}
.ledger-source{display:inline-flex;margin-left:8px;padding:3px 7px;border-radius:999px;font-size:.62rem!important;font-weight:800;vertical-align:middle}.ledger-source.telegram{color:#b52468;background:#ffe4f0}.ledger-source.wechat{color:#08744d;background:#dcf8e9}.ledger-owner{display:block;margin-top:5px;color:var(--muted);font-size:.68rem!important;font-weight:500}
.card-menu-trigger{position:absolute!important;right:10px!important;top:8px!important;z-index:4;width:32px!important;min-width:32px!important;min-height:28px!important;height:28px!important;padding:0!important;border:0!important;background:transparent!important;color:currentColor!important;opacity:.48;font-size:.8rem!important;box-shadow:none!important}.card-menu-trigger:hover{opacity:1;background:#ffffff75!important}.card-action-menu{position:fixed;z-index:10000;width:220px;padding:10px;border:1px solid color-mix(in srgb,var(--blue) 20%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--theme-panel) 95%,#fff);box-shadow:0 18px 50px #17243a2c;backdrop-filter:blur(18px)}.card-action-menu[hidden]{display:none}.card-action-menu strong{display:block;padding:7px 9px 9px;font-size:.82rem}.card-action-menu button{display:block;width:100%;min-height:38px;margin:3px 0;padding:8px 10px;text-align:left;font-size:.78rem}.card-action-menu button[data-card-action=clear]{color:#c52943;background:#fff4f6}

/* v73：商业交付视觉层级与首页四卡紧凑布局。 */
header{padding:18px 22px;border:1px solid color-mix(in srgb,var(--blue) 13%,var(--line));border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--theme-panel) 94%,#fff),color-mix(in srgb,var(--theme-soft) 35%,#fff));box-shadow:0 12px 36px #22385e10}
header .eyebrow{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--theme-soft) 65%,#fff);color:color-mix(in srgb,var(--blue) 82%,#24314c)}
header .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:#20b874;box-shadow:0 0 0 4px #20b8741f}
.connection{padding:9px 13px;border:1px solid color-mix(in srgb,var(--blue) 13%,var(--line));border-radius:14px;background:#ffffffa6;backdrop-filter:blur(12px)}
.metrics{gap:14px!important}
.metrics article{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--blue) 14%,var(--line))!important;box-shadow:0 12px 30px #24385c10!important}
.metrics article::after{position:absolute;right:15px;top:12px;font-size:1.15rem;opacity:.28;filter:saturate(.8)}
.metrics article:nth-child(1)::after{content:'◫'}.metrics article:nth-child(2)::after{content:'↗'}.metrics article:nth-child(3)::after{content:'◈'}.metrics article:nth-child(4)::after{content:'●'}
.metrics article span{font-weight:750;letter-spacing:.01em}
.metrics article strong{font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.metrics article small{font-size:.72rem;opacity:.78}
.toolbar.section-toolbar{border-bottom:1px solid color-mix(in srgb,var(--blue) 13%,var(--line));padding-bottom:13px}
.toolbar.section-toolbar h2{display:flex;align-items:center;gap:9px}
.toolbar.section-toolbar h2::before{content:"";width:4px;height:19px;border-radius:6px;background:linear-gradient(180deg,var(--blue),color-mix(in srgb,var(--blue) 25%,var(--theme-soft)))}
button,.button{font-weight:720;letter-spacing:.005em}
.primary{background:linear-gradient(135deg,var(--blue),color-mix(in srgb,var(--blue) 76%,#6b5de7))!important;box-shadow:0 7px 18px color-mix(in srgb,var(--blue) 22%,transparent)}
.panel{border-color:color-mix(in srgb,var(--blue) 12%,var(--line));box-shadow:0 10px 30px #273b6410}
.search input{background:#ffffffd9;box-shadow:inset 0 1px 0 #fff}
.book-source{box-shadow:0 2px 8px color-mix(in srgb,var(--blue) 12%,transparent)}
footer{margin-top:28px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--blue) 13%,var(--line));font-size:.72rem;letter-spacing:.015em}
@media(min-width:761px){
 .workspace{max-width:1840px!important;margin:0 auto}
 .metrics article{min-height:148px;padding:24px!important}
 .book-card{border-color:color-mix(in srgb,var(--blue) 12%,var(--line))!important;box-shadow:0 11px 30px #263b6810!important}
}
@media(max-width:760px){
 header{padding:13px 14px!important;border-radius:18px;margin-bottom:14px!important;box-shadow:0 8px 24px #22385e0d}
 header .eyebrow{padding:4px 8px;font-size:.62rem!important}
 header h1{font-size:1.35rem!important;margin-top:5px}
 .connection{padding:6px 8px;border-radius:11px;max-width:46%!important}
 .metrics{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-bottom:12px!important}
 .metrics article,.metrics article:last-child{grid-column:auto!important;min-height:86px!important;height:86px!important;padding:12px 13px!important;display:flex!important;flex-direction:column;justify-content:center;align-items:flex-start}
 .metrics article span{font-size:.76rem!important;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:85%}
 .metrics article strong{font-size:1.18rem!important;line-height:1.15;margin-top:8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .metrics article small{display:none!important}
 .metrics article::after{right:10px;top:9px;font-size:.9rem}
 .metrics .metric-selected{outline:2px solid #fff!important;box-shadow:0 0 0 3px var(--blue),0 8px 20px #17243a16!important}
 .fixed-wallet-visible{border-radius:17px!important;box-shadow:0 8px 25px #273b640d!important}
 .toolbar.section-toolbar{border-radius:15px 15px 0 0;padding:11px 4px 9px!important}
 .search{border-radius:14px}
 footer{text-align:center;padding-bottom:4px}
}
.book-grid>#book-detail{grid-column:1/-1;width:100%;margin:0}
.bulk-history-profit{display:grid;grid-template-columns:auto minmax(110px,160px) minmax(110px,160px) auto;gap:10px;align-items:end;padding:12px;margin:4px 0 16px;border:1px solid var(--line);border-radius:10px;background:#fffafd}.bulk-history-profit strong{align-self:center}.bulk-history-profit label{margin:0}.bulk-history-profit input{margin-top:4px;padding:8px}.bulk-history-profit button{white-space:nowrap}
@media(max-width:760px){.bulk-history-profit{grid-template-columns:1fr 1fr}.bulk-history-profit strong,.bulk-history-profit button{grid-column:1/-1}.bulk-history-profit button{width:100%;font-size:.8rem;padding:9px}}
.usdt-card{border-color:#b7ddce;background:#f7fffb}.usdt-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.usdt-head h2,.usdt-head p{margin-bottom:4px}.usdt-head strong{font-size:1.65rem;color:#087b59;white-space:nowrap}.usdt-advice{padding:12px 14px;margin:12px 0;border-radius:9px;background:#fff;border:1px solid #dcebe5}.usdt-card summary{cursor:pointer;color:#1767ed;font-weight:650}.usdt-alert-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;align-items:end}.usdt-alert-form .check,.usdt-alert-form button{margin:0}
.usdt-head strong.price-unavailable{font-size:1rem;color:#9a6a7c}
@media(max-width:700px){.usdt-head{align-items:flex-start}.usdt-head strong{font-size:1.15rem}.usdt-alert-form{grid-template-columns:1fr}.usdt-alert-form button{width:100%}}

/* v82: unified production button system. */
button,.button{min-height:42px;border-radius:11px;border-color:color-mix(in srgb,var(--blue) 13%,var(--line));background:linear-gradient(180deg,#fff,#fff9fc);box-shadow:0 2px 7px #3823370b;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;color:#25324a}
button:hover,.button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--blue) 42%,var(--line));background:#fff;box-shadow:0 7px 18px color-mix(in srgb,var(--blue) 13%,transparent)}
button:active,.button:active{transform:translateY(0);box-shadow:0 2px 7px #38233712}
button:focus-visible,.button:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 22%,transparent);outline-offset:2px}
button:disabled{transform:none;box-shadow:none;filter:saturate(.5);opacity:.5;cursor:not-allowed}
.primary{color:#fff!important;border-color:transparent!important;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 92%,#ff6f9e),color-mix(in srgb,var(--blue) 78%,#7559df))!important;box-shadow:0 7px 18px color-mix(in srgb,var(--blue) 24%,transparent)!important}
.primary:hover{filter:brightness(.98);box-shadow:0 10px 24px color-mix(in srgb,var(--blue) 31%,transparent)!important}
.danger{color:#bd2947;border-color:#f0bac7;background:linear-gradient(180deg,#fff,#fff5f7)}
.danger:hover{color:#a71e39;border-color:#e88da3;background:#fff0f4}
.actions{align-items:center}.actions>button,.actions>.button{display:inline-flex;align-items:center;justify-content:center}
.wechat-launch-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#fffafd,#fff4f8)}
.wechat-launch-card::after{content:'🍑';position:absolute;right:22px;top:20px;font-size:46px;opacity:.09;pointer-events:none}
.wechat-launch-card .badge{border-radius:999px;background:#ffe0ed;color:#bf2b68;padding:6px 11px}
.wechat-state{padding:13px 15px;border:1px solid #f1ccda;border-radius:12px;background:#fff7fa;color:#563647;font-weight:650}
.history-profit-summary{display:grid!important;grid-template-columns:minmax(150px,1.5fr) repeat(5,auto) auto;gap:16px;align-items:center}.history-profit-summary span{white-space:nowrap;font-size:.82rem}.history-profit-summary>b{font-variant-numeric:tabular-nums}
@media(max-width:760px){.history-profit-summary{grid-template-columns:1fr auto!important;gap:5px 10px}.history-profit-summary strong{grid-column:1/-1}.history-profit-summary span{font-size:.7rem}.history-profit-summary span:last-child{grid-column:1/-1;color:#1767ed}}

/* 云端手机端 1.6.4：历史流水、每日利润和群发分组折叠。 */
#manual-history-details>summary,.daily-all>summary,.broadcast-group-box>summary,.broadcast-group-card>summary{cursor:pointer;list-style:none}
#manual-history-details>summary::-webkit-details-marker,.daily-all>summary::-webkit-details-marker,.broadcast-group-box>summary::-webkit-details-marker,.broadcast-group-card>summary::-webkit-details-marker{display:none}
#manual-history-details>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;font-weight:800;font-size:1.08rem}
#manual-history-details>summary small{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.76rem}
#manual-history-details .when-open{display:none}#manual-history-details[open] .when-open{display:inline}#manual-history-details[open] .when-closed{display:none}
#manual-history-details[open]>summary b{transform:rotate(180deg)}
.daily-all>summary{margin:0 0 9px;color:#1767ed;font-weight:700;font-size:.82rem}
.daily-all[open]+.daily-recent{display:none}
.daily-all table,.daily-recent table{margin-top:5px}
.broadcast-group-box{border:1px solid var(--line);border-radius:10px;padding:12px;margin:14px 0}
.broadcast-group-box>summary{display:flex;justify-content:space-between;font-weight:750}.broadcast-group-box>summary small{color:var(--muted)}
.broadcast-group-card{border-top:1px solid var(--line);padding:10px 0}.broadcast-group-card:first-child{margin-top:10px}
.broadcast-group-card>summary{display:flex;justify-content:space-between;gap:10px}.broadcast-group-card>summary small{color:var(--muted)}
.broadcast-group-card p{overflow-wrap:anywhere;margin:9px 0}.broadcast-group-card button{padding:6px 10px;font-size:.78rem}
.group-save-row{display:flex;gap:8px;margin-top:10px}.group-save-row button{white-space:nowrap}
@media(max-width:760px){
 .compact-history{padding:13px!important}.compact-history #manual-list{margin-top:10px!important}
 #manual-history-details>summary{font-size:.98rem}
 .daily-profit-panel{padding:14px!important}.daily-profit-panel h2{margin-bottom:8px!important}
 #independent-daily th,#independent-daily td{padding:9px 10px!important;font-size:.78rem}
 .broadcast-group-box{padding:10px}.group-save-row{display:grid;grid-template-columns:1fr}.group-save-row button{width:100%}
}

/* 云端手机端 1.6.3：额外记账折叠面板。 */
#extra-entry-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;font-weight:800;font-size:1.15rem}
#extra-entry-details>summary::-webkit-details-marker{display:none}
#extra-entry-details>summary small{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.78rem;font-weight:600;white-space:nowrap}
#extra-entry-details>summary b{font-size:1.1rem;transition:transform .2s ease}
#extra-entry-details[open]>summary b{transform:rotate(180deg)}
#extra-entry-details .when-open{display:none}
#extra-entry-details[open] .when-open{display:inline}
#extra-entry-details[open] .when-closed{display:none}
#extra-entry-details .extra-entry-body{padding-top:14px}
@media(max-width:760px){
 #extra-entry-details>summary{font-size:1.02rem;padding:2px 0}
 #extra-entry-details>summary small{font-size:.7rem}
 #extra-entry-details .extra-entry-body{padding-top:8px}
}

/* 云端手机端 1.6.2：总账宽表横向滑动与紧凑明细。 */
@media(max-width:760px){
 #page-summary .panel{padding:14px!important;margin-bottom:12px!important;border-radius:15px}
 #page-summary h2{font-size:1.05rem;margin-bottom:10px}
 #page-summary .history-launcher{gap:8px!important;padding:14px!important}
 #page-summary .history-launcher p{font-size:.76rem;line-height:1.4;margin-bottom:2px}
 #page-summary .history-launcher label{font-size:.8rem;margin:5px 0 7px}
 #page-summary .history-launcher input{height:42px;padding:8px 11px;font-size:.88rem}
 #page-summary .history-launcher .primary{min-height:42px;padding:8px 12px;font-size:.86rem}

 #page-summary .ledger-group{padding:7px!important;margin-bottom:10px;border-radius:12px}
 #page-summary .group-head{gap:8px!important;padding:4px 3px 7px!important}
 #page-summary .group-head strong{font-size:.72rem!important;max-width:62%}
 #page-summary .group-head b{font-size:.7rem!important}
 #page-summary .ledger-group .table-wrap,
 #page-summary #manual-list.table-wrap{display:block;width:100%;max-width:100%;overflow-x:auto!important;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;margin-top:7px;border-radius:9px}
 #page-summary .ledger-group table{min-width:720px!important;width:720px!important;table-layout:fixed;font-size:.68rem!important}
 #page-summary .ledger-group th,#page-summary .ledger-group td{padding:7px 8px!important;height:38px;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;vertical-align:middle}
 #page-summary .ledger-group th:first-child,#page-summary .ledger-group td:first-child{width:150px!important}
 #page-summary .ledger-group input,#page-summary .ledger-group select{height:30px!important;padding:4px 6px!important;font-size:.68rem!important;border-radius:6px}
 #page-summary .ledger-group .mini{width:62px!important}
 #page-summary .ledger-group .direction{width:82px!important}
 #page-summary .ledger-group button{min-height:30px;padding:4px 7px!important;font-size:.68rem!important;white-space:nowrap}

 #page-summary #manual-list table{min-width:760px!important;width:760px!important;table-layout:auto!important;font-size:.68rem!important}
 #page-summary #manual-list th,#page-summary #manual-list td{padding:8px 9px!important;white-space:nowrap!important;overflow-wrap:normal!important;vertical-align:middle}
 #page-summary #manual-list th:first-child,#page-summary #manual-list td:first-child{min-width:132px}
#page-summary #manual-list button{padding:4px 7px!important;font-size:.68rem!important;white-space:nowrap}
.source-panel{margin-top:16px}.source-account{display:block;color:var(--muted);font-size:.76rem;margin-top:3px}.source-readonly{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:rgba(46,125,91,.08);color:var(--muted)}
}

/* 云端手机端 1.6.1：登录隔离、紧凑账本和完整总账布局。 */
@media(max-width:760px){
 #shell[hidden],#login[hidden]{display:none!important}
 #login:not([hidden]){display:flex!important;min-height:100dvh;flex-direction:column;justify-content:center;padding:calc(18px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom))!important}
 #login:not([hidden]) .login-brand{padding:0 0 18px!important}
 #login:not([hidden]) .login-brand .app-icon{width:72px;height:72px}
 #login:not([hidden]) .login-brand .eyebrow{margin:12px 0 8px}
 #login:not([hidden]) .login-brand h1{font-size:1.8rem!important;margin:0}
 #login:not([hidden]) .login-card{width:100%;padding:20px!important}
 #login:not([hidden]) .login-card .badge{margin-bottom:12px}
 #login:not([hidden]) .login-card h2{font-size:1.4rem;margin-bottom:8px}
 #login:not([hidden]) .login-card label{margin:12px 0 14px}

 #page-books .metrics{margin-bottom:14px!important}
 #page-books .toolbar{margin:12px 0 10px}
 #page-books .toolbar .muted{display:none}
 #page-books #refresh-books{min-height:38px;padding:7px 12px}
 #page-books .search{position:sticky;top:0;z-index:20;max-width:none;margin:0 -4px 12px;padding:8px 4px 10px;background:#fff6faf2;backdrop-filter:blur(12px)}
 #page-books .search input{height:44px;margin-top:5px;padding:9px 13px}
 #page-books .book-grid{gap:9px!important}
 #page-books .book-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:center;padding:13px 14px!important;border-radius:14px!important}
 #page-books .book-card h3{grid-column:1;margin:0;font-size:.98rem;line-height:1.35}
 #page-books .book-card .meta{grid-column:1;font-size:.72rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 #page-books .book-card .amount{grid-column:2;grid-row:1;margin:0;font-size:1.12rem;text-align:right}
 #page-books .book-card p{grid-column:2;grid-row:2;margin:0!important;font-size:.7rem;text-align:right;white-space:nowrap}
 #page-books .book-card button{grid-column:1/-1;min-height:36px;padding:6px 12px;margin-top:7px;font-size:.82rem}

 #page-summary{min-width:0!important;width:100%!important;overflow:hidden}
 #page-summary .summary-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 #page-summary .stat{min-width:0!important;padding:13px!important}
 #page-summary .stat span{font-size:.88rem}
 #page-summary .stat small{min-height:2.1em;line-height:1.25;margin:4px 0 7px}
 #page-summary .stat strong{font-size:1.08rem!important;overflow-wrap:anywhere}
 #page-summary .range-bar{width:100%;margin:12px 0 16px;padding:2px 0 7px;overflow-x:auto!important;display:flex!important;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch}
 #page-summary .range-bar strong,#page-summary .range-bar button,#page-summary .range-bar input,#page-summary .range-bar span{flex:0 0 auto}
 #page-summary .range-bar button{min-height:38px;padding:7px 13px}
 #page-summary .summary-layout{display:block!important;width:100%;min-width:0!important}
 #page-summary .summary-layout>div,#page-summary .summary-side{width:100%;min-width:0!important}
 #page-summary .summary-side{order:initial!important}
 #page-summary .history-launcher{grid-template-columns:1fr!important}
 #page-summary .history-launcher .primary{width:100%}
 #page-summary .ledger-group{max-width:100%;overflow:hidden;padding:9px!important}
 #page-summary .group-head{flex-direction:row!important;align-items:center!important;padding:6px 4px 9px!important}
 #page-summary .group-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}
 #page-summary .group-head b{flex:0 0 auto;font-size:.76rem;white-space:nowrap}
 #page-summary .table-wrap{width:100%;max-width:100%;overflow:auto}
 #page-summary .manual-form{grid-template-columns:1fr!important}
 #page-summary .manual-form button{grid-column:1!important}
}
:root{--app-bg:#fff0f7;--theme-panel:#fff8fb;--theme-soft:#ffd9e9}body,#shell,.workspace{background:var(--app-bg)!important}aside,.panel,.book-card,.job{background:var(--theme-panel)!important}nav button.active{background:var(--theme-soft)!important;color:var(--blue)!important}.primary{background:var(--blue)!important;border-color:var(--blue)!important}.badge{background:var(--theme-soft)!important;color:var(--blue)!important}.profile-avatar{border-radius:50%;object-fit:cover;background:#fff}.profile-avatar.preview{width:72px;height:72px;border:2px solid var(--blue)}.profile-preview-row{display:flex;align-items:center;gap:14px;margin:-5px 0 15px}.profile-preview-row button{font-size:.8rem}#profile-background:disabled{opacity:.4;cursor:not-allowed}
.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metrics article.balance-card{background:#122c54!important;color:#fff!important;border-color:#122c54!important}.metrics article.balance-card span{color:#bdcdeb!important}.metrics article.today-total-card{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}.metrics article.today-total-card span{color:#fff!important;opacity:.82}@media(max-width:680px){.metrics{grid-template-columns:1fr 1fr!important}.metrics article:last-child{grid-column:auto!important}}
.long-term-section{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.long-term-section>.toolbar{margin-top:0}.long-term-create summary,.long-term-book>summary{cursor:pointer;font-weight:700;list-style:none}.long-term-create summary::-webkit-details-marker,.long-term-book>summary::-webkit-details-marker{display:none}.long-term-book>summary{display:flex;justify-content:space-between;align-items:center;gap:16px}.long-term-book>summary span:first-child{display:grid;gap:5px}.long-term-book>summary small{color:var(--muted);font-weight:400}.long-term-balance{font-size:1.5rem;font-variant-numeric:tabular-nums}.long-term-body{padding-top:16px}.long-term-entry-form label{min-width:260px}@media(max-width:680px){.long-term-section{margin-top:18px}.long-term-book>summary{align-items:flex-start}.long-term-balance{font-size:1.15rem}.long-term-entry-form{display:grid!important;grid-template-columns:1fr!important}.long-term-entry-form label{min-width:0}.long-term-entry-form button{width:100%}}

.long-term-book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.long-term-book-grid .long-term-book{margin:0;padding:22px}.long-term-book-grid .long-term-book[open]{grid-column:1/-1}.long-term-book-grid .long-term-book:not([open])>summary{min-height:72px}
@media(max-width:680px){.long-term-book-grid{grid-template-columns:1fr;gap:12px}.long-term-book-grid .long-term-book{padding:16px}}

#page-books .metrics .balance-card,#page-books .metrics .today-total-card{cursor:pointer;transition:transform .15s,box-shadow .15s}#page-books .metrics .balance-card:hover,#page-books .metrics .today-total-card:hover{transform:translateY(-2px)}#page-books .metrics .metric-selected{outline:3px solid #fff;box-shadow:0 0 0 5px var(--blue),0 8px 24px #17243a22!important}
.profit-month-card,.profit-day-card{cursor:pointer;position:relative}.profit-month-card{background:linear-gradient(135deg,#fffafd,#fff2f7)!important;border-color:#efb9ce!important}.profit-day-card{background:linear-gradient(135deg,#f1fbff,#e8f8f4)!important;border-color:#9fd7cf!important}.profit-month-card small,.profit-day-card small{display:block;margin-top:9px;color:#87677a}.profit-day-card small{color:#497d76}.profit-month-card:hover,.profit-day-card:hover{transform:translateY(-3px)}.profit-tool-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.profit-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.profit-history-grid button{display:grid;text-align:left;gap:7px}.profit-history-grid button.active{border-color:#de7fa6;background:#fff0f6}.profit-history-grid strong{font-size:1.15rem}.fixed-wallet-box{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.fixed-wallet-box summary{cursor:pointer;font-weight:700}.fixed-wallet-box form{margin-top:12px}@media(max-width:680px){.profit-history-grid{grid-template-columns:1fr 1fr}.profit-tool-head{align-items:center}}
.profit-query-row,.profit-reset-row{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:16px}.profit-query-row label{width:min(320px,100%);margin:0}.profit-reset-row p{margin:0}.profit-query-row .danger,.profit-reset-row .danger{white-space:nowrap}@media(max-width:680px){.profit-query-row,.profit-reset-row{align-items:stretch;flex-direction:column}}
.profit-quick-actions{display:flex;gap:12px;flex-wrap:wrap;margin:4px 0 22px}.profit-quick-actions button{min-width:220px}.fixed-wallet-box[open]{background:#fff7fb;border:1px solid #efbfd2;border-radius:14px;padding:18px}.fixed-wallet-box[open] summary{color:#9d345f}@media(max-width:680px){.profit-quick-actions button{width:100%}}
.profit-tools-summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px}.profit-tools-summary::-webkit-details-marker{display:none}.profit-tools-summary span{display:grid;gap:6px}.profit-tools-summary strong{font-size:1.2rem}.profit-tools-summary small{color:var(--muted);font-weight:400}.profit-tools-summary b{font-size:1.4rem;transition:transform .2s}.profit-tools[open]>.profit-tools-summary b{transform:rotate(180deg)}.profit-tools-body{padding-top:24px;border-top:1px solid var(--line);margin-top:20px}
.fixed-wallet-visible{background:#fff7fb;border:1px solid #efbfd2;border-radius:18px;padding:22px 26px;margin:-12px 0 16px;box-shadow:0 7px 24px #c94d7b0b}.fixed-wallet-visible h2{color:#9d345f;margin-bottom:8px}.fixed-wallet-visible .inline-form{margin-top:0}.fixed-wallet-visible p{margin:4px 0 0}@media(max-width:680px){.fixed-wallet-visible{padding:18px;margin-top:-4px}}


@media(max-width:760px){#date-entry-list .date-book .table-wrap{display:block;width:100%;max-width:100%;overflow-x:scroll!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;touch-action:pan-x!important;overscroll-behavior-x:contain}#date-entry-list .date-book table{width:860px!important;min-width:860px!important;table-layout:auto}#date-entry-list .date-book th,#date-entry-list .date-book td{white-space:nowrap!important;overflow:visible!important}#date-entry-list .date-book th:last-child,#date-entry-list .date-book td:last-child{position:sticky;right:0;background:#fffafd;box-shadow:-5px 0 8px #17243a12;z-index:2}}


.older-backups{margin-top:10px;border-top:1px solid var(--line)}.older-backups>summary{cursor:pointer;list-style:none;padding:14px 16px;color:var(--blue);font-weight:700;background:var(--theme-soft,#f3f7ff)}.older-backups>summary::-webkit-details-marker{display:none}.older-backups>summary::after{content:'⌄';float:right}.older-backups[open]>summary::after{transform:rotate(180deg)}.older-backups table{border-top:1px solid var(--line)}


html.theme-ready body,html.theme-ready #shell,html.theme-ready .workspace,html.theme-ready aside,html.theme-ready .panel,html.theme-ready .book-card,html.theme-ready .job{transition:background-color .28s ease,border-color .28s ease,color .28s ease}

/* 统一自适应布局 v68：登录页与工作台共用尺寸体系，禁止整页横向溢出。 */
html,body{min-width:0!important;max-width:100%;overflow-x:hidden!important}
#shell{width:100%;min-width:0!important;grid-template-columns:clamp(190px,15vw,230px) minmax(0,1fr)!important}
.workspace{width:100%;min-width:0!important;max-width:100%;padding:clamp(20px,3vw,42px)!important;overflow-x:hidden}
.page,#page-summary{width:100%;min-width:0!important;max-width:100%}
.metrics,.summary-cards,.book-grid,.long-term-book-grid{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))!important}
.book-card,.panel,.stat,.metrics article{min-width:0;max-width:100%}
.book-card h3,.book-card .meta{overflow-wrap:anywhere}
.table-wrap{display:block;width:100%;max-width:100%;overflow-x:auto}
.books-toggle{display:block;width:min(420px,100%);margin:16px auto 4px}
.books-toggle[hidden]{display:none}
.login-wrap{width:100%;max-width:1180px;min-width:0!important;margin:0 auto;padding:clamp(22px,5vw,72px)!important;background:var(--app-bg)}
.login-brand,.login-card{min-width:0;max-width:100%}
#target-form .check{align-self:end;margin-bottom:10px;white-space:nowrap}
@media(max-width:1050px) and (min-width:761px){#shell{grid-template-columns:190px minmax(0,1fr)!important}.workspace{padding:24px!important}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.two-col,.broadcast-columns{grid-template-columns:1fr!important}}

/* v69：下半页和长期账本也必须收在可视区域内。 */
body,#shell,.workspace,.page,.long-term-section,#book-detail{max-width:100%!important;overflow-x:clip!important}
#shell>*,.workspace>*,.page>*,.long-term-section>*,.long-term-book-grid>*{min-width:0!important}
.long-term-section{width:100%;contain:inline-size}
.long-term-book-grid{width:100%!important;max-width:100%!important;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))!important;gap:14px!important}
.long-term-book{width:auto!important;max-width:100%!important;overflow:hidden}
.long-term-book>summary{min-width:0!important;max-width:100%;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important}
.long-term-book>summary span:first-child{min-width:0;overflow:hidden}
.long-term-book>summary span:first-child>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.long-term-balance{max-width:45vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#book-detail .table-wrap,#book-detail pre,#entry-edit{max-width:100%;overflow-x:auto}
footer{max-width:100%;overflow-wrap:anywhere}
@media(max-width:760px){.long-term-book-grid{grid-template-columns:minmax(0,1fr)!important}.long-term-balance{max-width:42vw}.long-term-create,.long-term-book{width:100%!important}}

/* v71：桌面账本卡片各数据行严格对齐。 */
@media(min-width:761px){
 #books-list .book-card{display:grid!important;grid-template-rows:3.1em 5.2em auto auto auto;align-content:start}
 #books-list .book-card h3{height:3.1em;margin:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
 #books-list .book-card .meta{height:5.2em;margin:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}
 #books-list .book-card .amount{align-self:end;margin:0 0 10px;line-height:1.1}
 #books-list .book-card p{margin:0 0 14px!important;align-self:start}
 #books-list .book-card button{align-self:end;width:100%}
}

/* v72：移动端可折叠分区与统一精致外观。 */
.mobile-section-toggle{display:none}
#page-settings .panel,#page-account .panel{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--blue) 16%,var(--line));box-shadow:0 12px 34px #273b6412}
#page-settings .panel::before,#page-account .panel::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--blue),var(--theme-soft),transparent)}
#page-settings .panel h2,#page-account .panel h2{margin-bottom:7px;letter-spacing:.01em}
#page-settings form,#page-account form{margin-top:18px}
#page-settings label,#page-account label{font-weight:700;color:#31405c}
#page-settings input,#page-settings select,#page-account input,#page-account select{background:#fff;border-color:color-mix(in srgb,var(--blue) 16%,#d8e1ed)}
#page-settings .actions,#page-account .actions{margin-top:14px}
#page-settings .button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(min-width:761px){#page-settings .two-col,#page-account .two-col{align-items:start;gap:22px}#page-settings .panel,#page-account .panel{padding:26px!important}}
@media(max-width:760px){
 .mobile-section-toggle{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px!important;padding:7px 13px!important;background:color-mix(in srgb,var(--theme-soft) 68%,#fff);color:var(--blue);border-color:color-mix(in srgb,var(--blue) 24%,var(--line));font-size:.78rem!important}
 .mobile-section-toggle::before{content:'⌃';margin-right:6px;font-size:.85rem;transition:transform .2s}
 .mobile-section-toggle.collapsed::before{content:'⌄'}
 .mobile-section-collapsed{display:none!important}
 #page-books .section-toolbar{padding:12px 2px 8px;margin:4px 0 8px!important;align-items:center!important}
 #page-books .section-toolbar h2{font-size:1.12rem;margin-bottom:3px}
 #page-books .section-toolbar .actions{margin:0;display:flex;flex-wrap:nowrap}
 #page-books .section-toolbar .actions button{min-height:38px!important;padding:7px 11px!important;font-size:.76rem!important}
 #page-books .book-grid{gap:12px!important}
 #page-books .book-card{padding:16px!important;border:1px solid color-mix(in srgb,var(--blue) 13%,var(--line))!important;box-shadow:0 9px 28px #203b6710!important;background:linear-gradient(145deg,var(--theme-panel),color-mix(in srgb,var(--theme-panel) 90%,var(--theme-soft)))!important}
 #page-books .book-card h3{font-size:1rem!important;letter-spacing:.005em}
 #page-books .book-card .amount{font-size:1.2rem!important;font-weight:850}
 #page-books .book-card button{border-color:color-mix(in srgb,var(--blue) 20%,var(--line));background:#ffffffd9}
 .long-term-section{margin-top:20px!important;padding-top:14px!important}
 .long-term-book-grid{gap:10px!important}
 .long-term-book-grid .long-term-book{padding:15px 16px!important;border:1px solid color-mix(in srgb,var(--blue) 12%,var(--line));box-shadow:0 8px 24px #203b670d!important}
 .long-term-book-grid .long-term-book:not([open])>summary{min-height:58px!important}
 #page-settings .two-col,#page-account .two-col{gap:13px!important}
 #page-settings .panel,#page-account .panel{padding:19px!important;border-radius:20px!important}
 #page-settings .panel h2,#page-account .panel h2{font-size:1.13rem}
 #page-settings .panel p,#page-account .panel p{line-height:1.6}
 #page-settings button,#page-settings .button,#page-account button{width:100%}
 #page-settings .actions,#page-account .actions{display:grid;grid-template-columns:1fr;gap:9px}
 aside{box-shadow:0 -8px 28px #203b6712}
 nav button{position:relative;transition:background .2s,color .2s,transform .2s!important}
 nav button.active::after{content:"";position:absolute;left:24%;right:24%;bottom:3px;height:3px;border-radius:4px;background:var(--blue)}
}

/* 云端界面动效 v30：轻量、触控安全，并跟随用户的减少动画设置。 */
.workspace{position:relative;isolation:isolate}
.workspace::before,.workspace::after{content:"";position:fixed;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(2px);opacity:.32;will-change:transform}
.workspace::before{width:340px;height:340px;right:-95px;top:12%;background:radial-gradient(circle,var(--theme-soft) 0,transparent 69%);animation:ambientDriftA 14s ease-in-out infinite alternate}
.workspace::after{width:290px;height:290px;left:15%;bottom:-90px;background:radial-gradient(circle,color-mix(in srgb,var(--blue) 22%,transparent) 0,transparent 70%);animation:ambientDriftB 17s ease-in-out infinite alternate}
.page:not([hidden]){animation:pageArrive .38s cubic-bezier(.22,.75,.25,1) both}
.metrics article,.summary-cards .stat,.book-card,.panel,.job,.ledger-group,.long-term-book{animation:cardArrive .42s cubic-bezier(.22,.75,.25,1) both}
.metrics article:nth-child(2),.summary-cards .stat:nth-child(2),.book-card:nth-child(2){animation-delay:.035s}
.metrics article:nth-child(3),.summary-cards .stat:nth-child(3),.book-card:nth-child(3){animation-delay:.07s}
.metrics article:nth-child(4),.summary-cards .stat:nth-child(4),.book-card:nth-child(4){animation-delay:.105s}
button,.button,.book-card,.panel,.job,.stat,.metrics article{transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease,background-color .25s ease}
button:active,.button:active{transform:scale(.975)}
nav button.active{animation:activeNavGlow 3.2s ease-in-out infinite}
.cute-sparkles{filter:drop-shadow(0 2px 7px color-mix(in srgb,var(--blue) 38%,transparent));animation:cuteFloat 2.8s ease-in-out infinite,sparkleGlow 2.2s ease-in-out infinite}
#toast:not([hidden]){animation:toastArrive .28s cubic-bezier(.22,.75,.25,1) both}
dialog[open]{animation:dialogArrive .25s cubic-bezier(.22,.75,.25,1) both}
@media(hover:hover) and (pointer:fine){
 .book-card:hover,.panel:hover,.job:hover,.stat:hover,.metrics article:hover{transform:translateY(-3px);box-shadow:0 13px 32px #263b6817}
 .ledger-group:hover,.long-term-book:hover{transform:translateY(-2px);box-shadow:0 10px 25px #263b6812}
}
@keyframes pageArrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes cardArrive{from{opacity:0;transform:translateY(9px) scale(.992)}to{opacity:1;transform:none}}
@keyframes ambientDriftA{to{transform:translate(-45px,48px) scale(1.12)}}
@keyframes ambientDriftB{to{transform:translate(55px,-35px) scale(.92)}}
@keyframes sparkleGlow{50%{opacity:.72;filter:drop-shadow(0 3px 12px color-mix(in srgb,var(--blue) 58%,transparent))}}
@keyframes activeNavGlow{50%{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 18%,transparent),0 5px 16px color-mix(in srgb,var(--blue) 10%,transparent)}}
@keyframes toastArrive{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes dialogArrive{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:760px){
 .workspace::before,.workspace::after{opacity:.18;animation-duration:20s}
 .metrics article,.summary-cards .stat,.book-card,.panel,.job,.ledger-group,.long-term-book{animation-duration:.3s}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
 .workspace::before,.workspace::after{display:none}
}

/* 云端界面动效 v31：以一次性淡化取代持续动画，降低手机渲染负担。 */
.workspace::before,.workspace::after{display:none!important;animation:none!important}
.metrics article,.summary-cards .stat,.book-card,.panel,.job,.ledger-group,.long-term-book{animation:none!important}
nav button.active{animation:none!important;box-shadow:inset 3px 0 0 color-mix(in srgb,var(--blue) 65%,transparent)}
.cute-sparkles{animation:none!important;filter:none!important}
.page:not([hidden]){animation:none!important}
.page{opacity:1;will-change:auto}
.page.page-fade-in{animation:pageSoftFade .18s ease-out both!important}
@keyframes pageSoftFade{from{opacity:.55}to{opacity:1}}
@media(max-width:760px){
 .book-card,.panel,.job,.stat,.metrics article,.ledger-group,.long-term-book{transition:border-color .16s ease,background-color .2s ease!important}
}
@media(prefers-reduced-motion:reduce){.page,.page.page-fade-in{animation:none!important;transition:none!important;opacity:1!important}}
.detail-head-actions{margin-top:0;justify-content:flex-end}
@media(max-width:680px){#book-detail>.toolbar{align-items:center;flex-wrap:wrap}.detail-head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.detail-head-actions button:only-child{grid-column:2}}
.ledger-heading{display:block;padding:2px 4px 12px;color:#17243a}
.ledger-legend{display:block;margin:0 4px 10px;padding:8px 10px;border-radius:7px;background:#ffffff80;color:#657287;font:600 .72rem/1.5 Inter,"Microsoft YaHei",sans-serif;white-space:normal}.ledger-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:3px}.consumed-dot{background:#b96876}.partial-dot{background:#dc8b24}.active-dot{background:#15926b}.deduction-dot{background:#c42d45}
.ledger-line{display:block;padding:5px 9px;border-left:3px solid transparent;margin:0;white-space:normal;line-height:1.5;overflow-wrap:anywhere}
.ledger-line small{display:inline-block;margin-left:9px;color:#7b8798}
.ledger-date{display:block;margin:9px 0 3px;padding:5px 9px;color:#66758c;background:#edf2f8;border-radius:6px;font:700 .73rem/1.35 Inter,"Microsoft YaHei",sans-serif;letter-spacing:.03em}.ledger-legend+.ledger-date{margin-top:2px}
.ledger-active{color:#087b59;border-left-color:#66c9a8}.ledger-consumed{color:#9a5963;border-left-color:#d89aa4;text-decoration:line-through;text-decoration-thickness:1px;background:#fff3f5}.ledger-partial{color:#a25a0a;border-left-color:#e8a64e;background:#fff9ed}.ledger-deduction{color:#b32636;border-left-color:#d7475c;background:#fff1f3}
.ledger-empty{display:block;padding:20px 10px;color:var(--muted)}
@media(max-width:680px){.ledger-line{padding:5px 7px}.ledger-line small{display:inline;margin-left:6px}.ledger-legend{font-size:.66rem}.ledger-date{margin-top:7px;padding:4px 7px}}
#current-summary-layout[hidden],#history-page[hidden],#history-launcher[hidden]{display:none!important}
.archived-entry{background:#f7f4f8;color:#6f7887}.merged-note{display:inline-block;max-width:150px;color:#8a6573;font-size:.72rem;line-height:1.35}
.manual-form:has(#manual-entry-date){grid-template-columns:1fr 1.15fr .8fr .75fr .75fr 1.15fr auto}
.wechat-state{font-size:1.05rem;font-weight:700;padding:14px;border-radius:12px;background:var(--theme-soft)}#page-wechat textarea{resize:vertical;min-height:150px}#page-wechat code{display:inline-block;padding:4px 8px;margin:3px;border-radius:7px;background:var(--theme-soft)}.wechat-enable-tip{padding:16px;margin:10px 0 16px;border:1px solid var(--theme-soft);border-radius:14px;background:var(--theme-soft)}.wechat-enable-tip p{margin:9px 0 0;line-height:1.7}
@media(max-width:1200px){.manual-form:has(#manual-entry-date){grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.manual-form:has(#manual-entry-date){grid-template-columns:1fr 1fr}}

/* Make WeChat ledgers visually distinct from Telegram ledgers. */
#page-books .book-card-wechat{background:linear-gradient(145deg,#f2fff8,#e1f7eb)!important;border-color:#85cda5!important;box-shadow:0 8px 26px #168a5420}
#page-books .book-card-wechat h3,#page-books .book-card-wechat .amount{color:#126b43}
#page-books .book-card-wechat .meta,#page-books .book-card-wechat .muted{color:#47765f}
#page-books .book-card-wechat button{background:#179b5f;border-color:#179b5f;color:#fff}
#page-books .book-card-wechat button:hover{background:#117c4a;border-color:#117c4a}
.book-source{display:inline-block;vertical-align:2px;margin-left:6px;padding:2px 7px;border-radius:999px;font-size:.62rem;line-height:1.35;font-weight:800;letter-spacing:.04em;background:#f4e7f3;color:#9a477c}
.book-card-wechat .book-source{background:#ccefdc;color:#126b43}

/* Startup screen lives here because the production CSP blocks inline styles. */
#startup{position:fixed!important;z-index:9999!important;inset:0!important;display:grid!important;place-items:center!important;background:linear-gradient(145deg,#f8fbff,#eef7ff 55%,#f2fbf7)!important;transition:opacity .32s ease,visibility .32s ease}
#startup.is-ready{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
#startup .startup-card{display:grid!important;justify-items:center!important;gap:11px!important;padding:22px 28px!important;color:#435b78!important;font:600 13px/1.5 Inter,"Microsoft YaHei",sans-serif!important}
#startup .startup-card img{width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important;display:block!important;object-fit:cover!important;border-radius:14px!important;box-shadow:0 8px 22px #3b76b526!important;transform-origin:50% 70%;animation:startupMascot 1.2s ease-in-out infinite!important}
#startup .startup-dots{display:flex!important;gap:6px!important}
#startup .startup-dots i{display:block!important;width:6px!important;height:6px!important;border-radius:50%!important;background:#79a8e7!important;animation:startupPulse .9s ease-in-out infinite!important}
#startup .startup-dots i:nth-child(2){animation-delay:.14s!important}
#startup .startup-dots i:nth-child(3){animation-delay:.28s!important}
@keyframes startupMascot{0%,100%{transform:translateY(2px) rotate(-3deg) scale(.94);filter:drop-shadow(0 3px 4px #ef8fa02e)}50%{transform:translateY(-9px) rotate(3deg) scale(1.07);filter:drop-shadow(0 11px 9px #ef8fa060)}}
@keyframes startupPulse{0%,100%{opacity:.25;transform:translateY(0) scale(.78)}50%{opacity:1;transform:translateY(-4px) scale(1.15)}}
@media(max-width:680px){#startup .startup-card{padding:18px 22px!important}#startup .startup-card img{width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;border-radius:13px!important}}
@media(prefers-reduced-motion:reduce){#startup{transition:opacity .32s ease,visibility .32s ease}#startup .startup-card img{animation-duration:1.2s!important}#startup .startup-dots i{animation-duration:.9s!important}}

/* Mobile profit cards: controls need their own vertical space. */
@media(max-width:680px){
 #page-books .metrics article.profit-month-card,
 #page-books .metrics article.profit-day-card{grid-column:1/-1!important;width:100%!important;height:auto!important;min-height:154px!important;padding:16px!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;overflow:visible!important}
 #page-books .profit-card-head{width:100%;align-items:center!important}
 #page-books .profit-card-head>span{max-width:none!important;overflow:visible!important}
 #page-books .profit-mode-select{flex:0 0 auto;width:auto!important;min-width:76px!important;height:36px;padding:6px 26px 6px 11px}
 #page-books .profit-month-card>strong,#page-books .profit-day-card>strong{margin:13px 0 0!important;font-size:1.35rem!important;overflow:visible!important}
 #page-books .profit-card-actions{width:100%;margin-top:14px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #page-books .profit-day-card .profit-card-actions{grid-template-columns:1fr}
 #page-books .profit-card-actions button{width:100%;min-width:0;min-height:38px!important;margin:0!important}
}

.rate-editor{display:flex;flex-direction:column;gap:4px;min-width:150px}.rate-editor small{color:#76677b;font-size:12px;white-space:nowrap}.rate-editor .mini{width:100%;background:#fff}
.fixed-bill-button{position:absolute;right:38px;top:22px;padding:7px 12px;border:1px solid #d8a8bd;border-radius:999px;background:#fff;color:#b82467;font-size:12px;font-weight:700;box-shadow:0 5px 14px rgba(184,36,103,.1);z-index:2}.fixed-bill-button:hover{transform:translateY(-1px);background:#fff1f7}.fixed-bill-button.is-fixed{color:#087b59;border-color:#9fd7cf;background:#edfbf6}.summary-cards .stat{position:relative}.summary-cards .fixed-bill-button{right:18px;top:18px}@media(max-width:680px){.fixed-bill-button{right:14px;top:14px;padding:6px 10px}.summary-cards .fixed-bill-button{right:12px;top:12px}}
.profit-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.profit-mode-select{width:auto;min-width:72px;padding:6px 26px 6px 10px;border-radius:999px;background:#ffffffbd;font-size:12px;font-weight:700;color:#38536f}.profit-card-actions{display:flex;gap:8px;margin-top:18px}.profit-card-actions button{min-height:34px;padding:7px 12px;border-radius:10px;font-size:12px}.profit-card-actions [data-profit-fix].is-fixed{color:#087b59!important;border-color:#9fd7cf!important;background:#edfbf6!important}.summary-cards .stat strong{margin-top:18px}.summary-cards .profit-card-actions{margin-top:16px}@media(max-width:680px){.profit-card-head{align-items:flex-start}.profit-card-actions{flex-wrap:wrap}.profit-card-actions button{flex:1}.profit-mode-select{min-width:68px}}
.shift-profit-card{background:#fff!important;border-color:#d8e2ee!important;min-width:0!important;cursor:pointer}.shift-profit-card.night{background:#fff!important;border-color:#d8e2ee!important}.shift-profit-card small{display:block;margin-top:8px;color:#71839a}.shift-profit-card:hover{transform:translateY(-2px)}#page-books .metrics{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}#page-books .metrics article,#page-books .metrics article:last-child{grid-column:auto!important;min-width:0!important;padding:14px!important}#page-books .metrics strong{font-size:clamp(1.2rem,1.7vw,1.65rem)!important}#page-books .profit-card-actions{gap:5px;margin-top:12px}#page-books .profit-card-actions button{padding:6px 8px;font-size:11px}#page-books .profit-mode-select{min-width:64px;padding:6px 22px 6px 8px}#shift-snapshot-dialog{width:min(430px,calc(100vw - 32px))!important;max-width:430px!important;height:auto!important;min-height:0!important;max-height:calc(100vh - 32px)!important;margin:auto!important;padding:22px!important;background:#fff!important;color:#17243a!important;border:1px solid #d8e2ee!important;border-radius:14px!important;box-shadow:0 24px 70px #14274438!important}#shift-snapshot-dialog::backdrop{background:#15233b4d!important}#shift-snapshot-dialog form{display:block!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important}#shift-snapshot-dialog label{margin:14px 0}#shift-snapshot-dialog .actions{justify-content:flex-end}@media(max-width:760px){#page-books .metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}#page-books .metrics article{padding:13px!important}}@media(max-width:520px){#page-books .metrics{grid-template-columns:1fr 1fr!important}.shift-profit-card{width:auto!important;grid-column:auto!important}}

#page-books .metrics article.today-total-card{background:#eef5ff!important;color:#203958!important;border-color:#bfd5ee!important}#page-books .metrics article.today-total-card span{color:#617896!important;opacity:1!important}#page-books .metrics article.today-total-card strong{color:#244f82!important}

#page-books .metrics article{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important}#page-books .metrics article>.profit-card-head,#page-books .metrics article>span:first-child{height:34px!important;min-height:34px!important;margin:0!important}#page-books .metrics article>span:first-child{display:flex!important;align-items:flex-start!important;padding-top:3px}#page-books .profit-card-head{align-items:flex-start!important}#page-books .metrics article>strong,#page-books .profit-month-card>strong{margin:8px 0 0!important;line-height:1.15!important}#page-books .profit-card-actions{margin-top:auto!important;padding-top:10px}#page-books .shift-profit-card small{margin-top:10px!important}

#page-summary .summary-cards .stat{display:grid!important;align-content:start!important}#page-summary .summary-cards .stat.blue,#page-summary .summary-cards .stat.green{grid-template-rows:22px 34px auto!important}#page-summary .summary-cards .stat.purple,#page-summary .summary-cards .stat.orange{grid-template-rows:56px auto 1fr!important}#page-summary .summary-cards .stat>span:first-child,#page-summary .summary-cards .profit-card-head{margin:0!important;align-self:start!important}#page-summary .summary-cards .stat>small{margin:3px 0 0!important;align-self:start!important}#page-summary .summary-cards .stat>strong{margin:0!important;line-height:1.15!important;align-self:start!important}#page-summary .summary-cards .profit-card-head{height:56px!important;align-items:flex-start!important}#page-summary .summary-cards .profit-card-actions{align-self:end!important;margin-top:16px!important}

/* Mobile layout hotfix v99: override the legacy desktop-only !important rules. */
@media(max-width:760px){
 html,body{width:100%;min-width:0!important;overflow-x:hidden!important}
 #shell{display:block!important;width:100%!important;min-width:0!important}
 aside{position:static!important;top:auto!important;width:100%!important;height:auto!important;padding:14px 14px 10px!important;border-right:0!important;border-bottom:1px solid var(--line)!important}
 .nav-label{display:none!important}
 nav{display:flex!important;width:100%;margin-top:12px!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 nav::-webkit-scrollbar{display:none}
 nav button{flex:0 0 auto!important;white-space:nowrap!important;padding:9px 12px!important;font-size:.82rem!important}
 .aside-foot{display:flex!important;margin:9px 0 0!important;padding:0!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
 .workspace{width:100%!important;min-width:0!important;max-width:100%!important;padding:14px 12px calc(18px + env(safe-area-inset-bottom))!important;overflow-x:hidden!important}
 header{width:100%;min-width:0}
 .page{width:100%!important;min-width:0!important;max-width:100%!important}
 .two-col,.broadcast-columns{grid-template-columns:minmax(0,1fr)!important}
}
