:root{--bg:#08100f;--panel:#101a18;--panel2:#15211e;--line:#263631;--green:#c9f31d;--green2:#7ea700;--text:#f3f7ef;--muted:#8ea098;--red:#ff5e66;--gold:#ffca50;--shadow:0 18px 60px #0007}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 75% 0,#18352a 0,transparent 30%),var(--bg);color:var(--text);font:14px/1.5 Inter,"Microsoft YaHei",sans-serif;min-height:100vh}.ambient{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 70%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#0b1412ee;border-right:1px solid var(--line);padding:26px 18px;display:flex;flex-direction:column;z-index:10;backdrop-filter:blur(18px)}.brand{display:flex;gap:12px;align-items:center;margin:0 7px 42px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--green);color:#111;font-weight:1000;box-shadow:0 0 28px #c9f31d44;transform:skew(-7deg)}.brand b{display:block;font-size:16px}.brand small{color:var(--green);font-size:9px;letter-spacing:2px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{position:relative;padding:13px 15px;border-radius:10px;color:var(--muted);font-size:15px;transition:.25s}.sidebar nav a:hover,.sidebar nav a.on{background:linear-gradient(90deg,#c9f31d20,transparent);color:var(--text);transform:translateX(3px)}.sidebar nav a.on:before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:3px;background:var(--green);border-radius:4px;box-shadow:0 0 12px var(--green)}.sidebar nav a i{float:right;font-style:normal;font-size:9px;padding:2px 6px;background:#ffffff10;border-radius:10px}.sidebar form{margin-top:auto}.logout{width:100%;padding:11px;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:9px;cursor:pointer}.main{margin-left:238px;min-height:100vh;padding:88px 38px 50px}.topbar{position:fixed;top:0;left:238px;right:0;height:64px;display:flex;align-items:center;justify-content:flex-end;gap:25px;padding:0 38px;background:#08100fc9;border-bottom:1px solid #ffffff09;backdrop-filter:blur(15px);z-index:9;color:var(--muted)}.signal{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 9px var(--green)}.user-chip{color:var(--text);font-weight:bold}.user-chip span{margin-left:8px;color:var(--green);font-size:10px;background:#c9f31d18;padding:4px 7px;border-radius:12px}.menu{display:none}.hero,.page-title{display:flex;justify-content:space-between;align-items:end;margin:0 0 28px}.hero{padding:36px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,#15251fdd,#101916aa),radial-gradient(circle at 85% 30%,#c9f31d33,transparent 25%);box-shadow:var(--shadow)}h1{font-size:34px;line-height:1.15;margin:6px 0 8px;letter-spacing:-1px}h2{font-size:25px}h3{font-size:17px;margin:0}.hero p,.page-title p,.auth-card>p,.redeem>p{color:var(--muted);margin:0}.eyebrow{color:var(--green);font-size:10px;letter-spacing:3px;font-weight:800}.primary,.ghost,.danger{border:0;border-radius:9px;padding:12px 18px;cursor:pointer;font-weight:800;transition:.2s;display:inline-block}.primary{background:var(--green);color:#111;box-shadow:0 7px 25px #c9f31d25}.primary:hover{transform:translateY(-2px);filter:brightness(1.08)}.ghost{background:#ffffff08;color:var(--text);border:1px solid var(--line)}.danger{background:#ff5e6617;color:var(--red);border:1px solid #ff5e6644}.small{padding:7px 11px;font-size:12px}.wide{width:100%}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.metrics article{position:relative;background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);padding:22px;border-radius:14px;overflow:hidden}.metrics article:after{content:"";position:absolute;width:70px;height:70px;background:var(--green);filter:blur(60px);right:-20px;top:-20px}.metrics i{float:right;width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#c9f31d14;color:var(--green);font-style:normal;font-weight:bold}.metrics small{display:block;color:var(--muted)}.metrics strong{display:block;font-size:26px;margin:12px 0 3px}.metrics span{font-size:11px;color:#65746f}.grid-2{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.panel{background:#0f1917dc;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 10px 35px #0003;margin-bottom:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-title a{color:var(--green);font-size:12px}.mini-list>div{display:grid;grid-template-columns:55px 1fr 1fr auto;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.mini-list>div:last-child{border:0}.mini-list small,.mini-list time{color:var(--muted)}.level{display:inline-flex;width:max-content;padding:4px 8px;background:#ffca5015;color:var(--gold);border:1px solid #ffca5030;border-radius:6px;font-size:11px}.level.full{background:#c9f31d15;color:var(--green);border-color:#c9f31d40}.notice{padding:13px 0;border-bottom:1px solid var(--line)}.notice p{color:var(--muted);margin:5px 0}.empty{padding:40px;text-align:center;color:var(--muted)}.auth{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;padding:8vw;gap:8vw}.auth-art h1{font-size:50px}.auth-art p{font-size:18px;color:var(--muted)}.coin-orbit{width:120px;height:120px;border:1px solid #c9f31d55;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 80px #c9f31d22;animation:float 4s ease-in-out infinite}.coin-orbit span{width:72px;height:72px;border-radius:50%;background:linear-gradient(145deg,var(--green),#789500);color:#142000;font-size:42px;font-weight:900;display:grid;place-items:center;box-shadow:inset 0 0 0 6px #ffffff22,0 10px 30px #0008}@keyframes float{50%{transform:translateY(-12px) rotate(6deg)}}.feature-row{display:flex;gap:12px;margin-top:28px}.feature-row b{padding:8px 12px;background:#ffffff08;border:1px solid var(--line);border-radius:20px;font-size:11px;color:var(--muted)}.auth-card{max-width:460px;width:100%;justify-self:end;background:#101a18e8;border:1px solid var(--line);padding:38px;border-radius:18px;box-shadow:var(--shadow);backdrop-filter:blur(20px)}label{display:block;color:#b9c4c0;font-size:12px;font-weight:600}input,select,textarea{width:100%;margin-top:7px;background:#09110f;border:1px solid #2b3d37;border-radius:8px;color:var(--text);padding:12px;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #c9f31d12}.auth-card form,.stack{display:grid;gap:16px;margin-top:25px}.switch{text-align:center;color:var(--muted);margin-top:20px}.switch a{color:var(--green)}.toast{position:fixed;right:25px;top:80px;background:#17251f;border:1px solid #c9f31d55;color:#eaff9a;padding:13px 20px;border-radius:10px;z-index:99;box-shadow:var(--shadow);animation:toast 5s forwards}.toast.bad{color:#ff9aa0;border-color:#ff5e6655}@keyframes toast{0%{transform:translateX(30px);opacity:0}10%,80%{transform:none;opacity:1}100%{opacity:0;visibility:hidden}}.scanner{display:grid;grid-template-columns:1fr 190px;gap:18px}.upload-zone{min-height:280px;border:1px dashed #50645c;border-radius:12px;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;transition:.2s}.upload-zone.drag{border-color:var(--green);background:#c9f31d08}.upload-icon{font-size:35px;color:var(--green)}.upload-zone p{color:var(--muted)}#preview{display:none;max-width:100%;max-height:460px;object-fit:contain}.scan-status{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#0a1210;border-radius:12px;padding:15px}.scan-status span{width:58px;height:58px;border-radius:50%;border:3px solid #263a33;border-top-color:var(--green);margin-bottom:15px}.scan-status.running span{animation:spin 1s linear infinite}.scan-status.done span{border-color:var(--green);position:relative}.scan-status.done span:after{content:'✓';color:var(--green);font-size:28px}.scan-status small{color:var(--muted);margin-top:7px}@keyframes spin{to{transform:rotate(360deg)}}.result-head,.machine-row{display:grid;grid-template-columns:70px 1fr 1fr 100px 40px;gap:12px;align-items:center}.result-head{font-size:10px;color:var(--muted);text-transform:uppercase;padding:0 10px}.machine-row{padding:8px 10px;border-bottom:1px solid var(--line)}.machine-row input{margin:0}.machine-row .remove{border:0;background:none;color:var(--red);cursor:pointer;font-size:18px}.summary{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.summary div{min-width:145px;background:#0a1210;padding:13px 16px;border-radius:9px}.summary small{display:block;color:var(--muted)}.summary strong{font-size:20px;color:var(--green)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-grid .submit{grid-column:1/-1}.batchbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.batchbar label{margin-right:auto}.table-panel{padding:0;overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th{text-align:left;color:var(--muted);font-size:10px;letter-spacing:1px;background:#0a1210;padding:13px 15px}td{padding:13px 15px;border-top:1px solid var(--line);white-space:nowrap}td small{display:block;color:var(--muted)}.table-input{min-width:150px;padding:8px;margin:0}td select{margin:0;padding:8px}.text-btn{border:0;background:none;color:var(--green);cursor:pointer;padding:3px 6px}.red,.text-btn.red{color:var(--red)}.green{color:var(--green)}.profile-card{text-align:center}.avatar{width:85px;height:85px;margin:auto;border-radius:24px;background:linear-gradient(145deg,var(--green),#6c8f00);display:grid;place-items:center;color:#10180d;font-size:35px;font-weight:900}.status-dot{color:var(--green);font-size:11px}.profile-card dl{text-align:left}.profile-card dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px}.profile-card dt{color:var(--muted)}.redeem input{text-transform:uppercase;font-family:monospace;letter-spacing:2px}.tabs{display:flex;gap:8px;margin-bottom:18px;overflow:auto}.tabs a{padding:10px 16px;border:1px solid var(--line);border-radius:8px;color:var(--muted);white-space:nowrap}.tabs a.on{background:var(--green);color:#111;border-color:var(--green);font-weight:bold}.inline-form form{display:flex;align-items:end;gap:15px}.inline-form label{max-width:200px}.status{padding:4px 8px;border-radius:12px;background:#ff5e6615;color:#ff8e94}.status.ok{background:#c9f31d15;color:var(--green)}code{color:#dffb70}.ann-list{margin-top:20px}.ann-list>div{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}
@media(max-width:1000px){.metrics{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.auth{grid-template-columns:1fr}.auth-art{display:none}.auth-card{justify-self:center}.scanner{grid-template-columns:1fr}.scan-status{min-height:120px}.form-grid{grid-template-columns:1fr}.form-grid .submit{grid-column:auto}}
@media(max-width:720px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.main{margin:0;padding:76px 14px 30px}.topbar{left:0;padding:0 15px}.menu{display:block;margin-right:auto;background:none;border:0;color:white;font-size:21px}.hero,.page-title{align-items:flex-start;gap:18px;flex-direction:column;padding:22px}.page-title{padding:0}.metrics{grid-template-columns:1fr 1fr;gap:9px}.metrics article{padding:15px}.metrics strong{font-size:20px}.panel{padding:15px}.summary{display:grid;grid-template-columns:1fr 1fr}.summary div{min-width:0}.result-head{display:none}.machine-row{grid-template-columns:38px 1fr 1fr 32px}.machine-row .machine-status{grid-column:2/4}.auth{padding:20px}.auth-card{padding:26px}.inline-form form{display:grid}.mini-list>div{grid-template-columns:45px 1fr auto}.mini-list small{display:none}h1{font-size:28px}}
/* 本地 Font Awesome 图标统一规范 */
.nav-icon{width:22px;text-align:center;margin-right:9px;color:currentColor}.primary i,.ghost i,.danger i,.logout i,.text-btn i{margin-right:6px}.signal-icon{font-size:7px;color:var(--green);filter:drop-shadow(0 0 5px var(--green));margin-right:5px}.metric-icon{font-family:"Font Awesome 6 Free"!important}.coin-orbit span i{font-size:31px}.upload-icon i{font-size:35px}.scan-status.done span:after{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900}.machine-row .remove i{font-size:14px}.panel-title a i{margin-left:4px}
/* 2026 浅色版视觉重构 */
:root{--bg:#f5f7fb;--card:#fff;--soft:#f7f8fc;--primary:#6558f5;--primary2:#8b7cf7;--mint:#18b889;--text:#202437;--muted:#7d8497;--line:#eaecf3;--red:#ee5968;--yellow:#eea31d;--shadow:0 12px 38px rgba(47,54,89,.08)}
*{box-sizing:border-box}body{background:var(--bg)!important;color:var(--text)!important;line-height:1.6}.ambient{display:none!important}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 0,rgba(117,101,247,.11),transparent 25%),radial-gradient(circle at 25% 90%,rgba(24,184,137,.07),transparent 24%)}
.sidebar{inset:18px auto 18px 18px!important;width:224px!important;padding:22px 14px!important;background:rgba(255,255,255,.95)!important;border:0!important;border-radius:22px!important;box-shadow:0 8px 36px rgba(47,54,89,.09)!important}.brand{margin:0 7px 28px!important}.brand-mark{border-radius:14px!important;background:linear-gradient(135deg,var(--primary),#9a7cf8)!important;color:#fff!important;box-shadow:0 8px 20px rgba(101,88,245,.25)!important;transform:none!important}.brand small{color:var(--muted)!important;letter-spacing:0!important}.sidebar nav{gap:7px!important}.sidebar nav a{display:flex!important;align-items:center;padding:12px 13px!important;border-radius:13px!important;color:#777f91!important;font-size:14px!important}.sidebar nav a:hover{background:#f5f4ff!important;color:var(--primary)!important;transform:translateX(2px)!important}.sidebar nav a.on{background:linear-gradient(135deg,#eceaff,#f7f6ff)!important;color:var(--primary)!important;font-weight:700}.sidebar nav a.on:before{display:none!important}.sidebar nav a i{float:none!important}.sidebar nav a>i:last-child:not(.nav-icon){margin-left:auto!important;background:#e9eaf0!important;color:#8d93a2!important}.logout{border:0!important;background:#f5f6fa!important;color:#858c9d!important;border-radius:12px!important}.main{margin-left:260px!important;padding:92px 32px 45px!important;max-width:1680px}.topbar{top:18px!important;left:260px!important;right:24px!important;height:56px!important;padding:0 18px!important;background:rgba(255,255,255,.9)!important;border:0!important;border-radius:16px!important;box-shadow:0 6px 25px rgba(47,54,89,.06)!important;color:var(--muted)!important}.user-chip{color:var(--text)!important}.user-chip span{color:var(--primary)!important;background:#efedff!important}.signal-icon{color:var(--mint)!important}.eyebrow{display:none!important}
h1{font-size:30px!important;line-height:1.25!important;margin:0 0 7px!important;color:var(--text);letter-spacing:-1px!important}.hero,.page-title{align-items:center!important;margin-bottom:24px!important}.hero{padding:29px 33px!important;border:0!important;border-radius:22px!important;background:linear-gradient(125deg,#7165f6,#9788fa)!important;color:#fff;box-shadow:0 14px 38px rgba(101,88,245,.2)!important}.hero h1{color:#fff!important}.hero p{color:#eeecff!important}.hero .primary{background:#fff!important;color:var(--primary)!important}.page-title p,.auth-card>p,.redeem>p{color:var(--muted)!important}.primary,.ghost,.danger{border:0!important;border-radius:12px!important;padding:11px 17px!important;display:inline-flex!important;align-items:center;justify-content:center}.primary{background:linear-gradient(135deg,var(--primary),var(--primary2))!important;color:#fff!important;box-shadow:0 8px 20px rgba(101,88,245,.18)!important}.ghost{background:#f3f4f8!important;color:#646b7c!important}.danger{background:#fff0f2!important;color:var(--red)!important}.small{padding:7px 11px!important}
.metrics{gap:15px!important}.metrics article{background:var(--card)!important;border:0!important;padding:21px!important;border-radius:18px!important;box-shadow:var(--shadow)!important}.metrics article:after{display:none!important}.metrics article>i{width:42px!important;height:42px!important;border-radius:14px!important;background:#efedff!important;color:var(--primary)!important}.metrics article:nth-child(2)>i{background:#e8faf5!important;color:var(--mint)!important}.metrics article:nth-child(3)>i{background:#fff6e5!important;color:var(--yellow)!important}.metrics article:nth-child(4)>i{background:#ebf3ff!important;color:#4b8bea!important}.metrics small,.metrics span{color:var(--muted)!important}.metrics strong{font-size:25px!important}.panel{background:#fff!important;border:0!important;border-radius:20px!important;padding:22px!important;box-shadow:var(--shadow)!important}.panel-title a{color:var(--primary)!important}.mini-list>div,.notice,.profile-card dl div,.ann-list>div{border-color:var(--line)!important}.mini-list small,.mini-list time,.notice p{color:var(--muted)!important}.level{border:0!important;background:#fff5df!important;color:#a87508!important;border-radius:8px!important}.level.full{background:#e8faf4!important;color:#0b9b70!important}.empty{color:#a0a6b5!important}
.auth{background:transparent!important}.auth-art h1{font-size:44px!important}.auth-art p{color:var(--muted)!important}.coin-orbit{border:0!important;border-radius:34px!important;background:#eeecff!important;box-shadow:0 18px 55px rgba(101,88,245,.14)!important}.coin-orbit span{border-radius:22px!important;background:linear-gradient(135deg,var(--primary),#9a7cf8)!important;color:#fff!important;box-shadow:0 10px 25px rgba(101,88,245,.25)!important}.feature-row b{background:#fff!important;border:0!important;color:#72798b!important;box-shadow:var(--shadow)!important}.auth-card{background:#fff!important;border:0!important;border-radius:24px!important;box-shadow:0 20px 65px rgba(44,53,92,.12)!important}.switch,.switch a{color:var(--muted)!important}.switch a{color:var(--primary)!important}label{color:#636a7b!important}input,select,textarea{background:#f7f8fc!important;border:1px solid transparent!important;border-radius:12px!important;color:var(--text)!important;padding:12px 13px!important}input:focus,select:focus,textarea:focus{background:#fff!important;border-color:#bbb5ff!important;box-shadow:0 0 0 4px rgba(101,88,245,.08)!important}.toast{background:#fff!important;border:0!important;color:#168966!important;border-radius:13px!important;box-shadow:0 12px 40px rgba(41,51,74,.14)!important}.toast.bad{color:var(--red)!important}
.scanner{grid-template-columns:minmax(0,1fr) 210px!important}.upload-zone{min-height:330px!important;border:2px dashed #dfe1ed!important;border-radius:18px!important;background:#fafbfe!important}.upload-zone.drag{border-color:var(--primary)!important;background:#f5f3ff!important}.upload-icon{width:66px;height:66px;margin:auto;display:grid;place-items:center;border-radius:22px;background:#eeecff;color:var(--primary)!important;font-size:28px!important}.upload-zone p,.scan-status small{color:var(--muted)!important}#preview{max-height:520px!important;border-radius:12px}.scan-status{background:linear-gradient(145deg,#f3f1ff,#faf9ff)!important;border-radius:18px!important}.scan-status span{border-color:#ddd9fc!important;border-top-color:var(--primary)!important}.scan-status.done span{border-color:#6fd5b4!important}.scan-status.done span:after{color:var(--mint)!important}.result-head,.machine-row{grid-template-columns:65px minmax(180px,1fr) minmax(120px,.65fr) 95px 36px!important}.result-head{color:var(--muted)!important;padding:0 12px 8px!important}.machine-row{padding:10px 12px!important;background:#fafbfe!important;border:0!important;border-radius:14px!important;margin:8px 0!important}.machine-row input,.machine-row select{background:#fff!important}.machine-row .remove{background:#fff0f2!important;color:var(--red)!important;width:34px;height:34px;border-radius:10px!important}.summary{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important}.summary div{background:#f4f2ff!important;border-radius:14px!important}.summary div:nth-child(2){background:#ecfaf5!important}.summary div:nth-child(3){background:#fff7e9!important}.summary small{color:var(--muted)!important}.summary strong{color:var(--primary)!important}
.batchbar{padding:4px!important}.table-panel{padding:14px!important}.table-wrap{border-radius:14px!important}table{border-collapse:separate!important;border-spacing:0!important}th{background:#f7f8fb!important;color:#898f9f!important;padding:13px 15px!important}td{border-color:var(--line)!important;padding:14px 15px!important}tbody tr:hover td{background:#fafaff}.text-btn{color:var(--primary)!important}.text-btn.red{color:var(--red)!important}.avatar{border-radius:26px!important;background:linear-gradient(135deg,var(--primary),#9b80fa)!important;color:#fff!important}.status-dot,.green{color:var(--mint)!important}.tabs{background:#fff!important;padding:7px!important;border-radius:15px!important;box-shadow:var(--shadow)!important}.tabs a{border:0!important;border-radius:10px!important}.tabs a.on{background:#efedff!important;color:var(--primary)!important}.status.ok{background:#e9faf4!important;color:var(--mint)!important}code{color:var(--primary)!important;background:#f1efff;padding:3px 7px;border-radius:7px}
@media(max-width:1050px){.scanner{grid-template-columns:1fr!important}}
@media(max-width:760px){.sidebar{left:0!important;top:0!important;bottom:0!important;border-radius:0!important}.main{margin:0!important;padding:84px 14px 28px!important}.topbar{left:14px!important;right:14px!important;top:12px!important}.hero,.page-title{align-items:flex-start!important}.metrics{gap:10px!important}.panel{padding:15px!important;border-radius:16px!important}.summary{grid-template-columns:1fr!important}.machine-row{grid-template-columns:38px 1fr 90px 34px!important}}
/* 多图凭证与账单 */
.preview-grid{display:none;width:100%;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;padding:14px}.preview-item{position:relative;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 5px 20px rgba(44,53,92,.09)}.preview-item img{display:block;width:100%;height:auto;min-height:180px;max-height:520px;object-fit:contain;background:#f2f4f8}.preview-item button{position:absolute;right:10px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(32,36,55,.76);color:#fff;cursor:pointer}.preview-item span{position:absolute;left:10px;top:10px;min-width:30px;height:30px;padding:0 9px;border-radius:15px;background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--primary);font-weight:800}.page-actions{display:flex;gap:10px}.voucher-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:18px}.voucher-grid figure{margin:0;background:#f7f8fb;border-radius:17px;overflow:hidden}.voucher-grid img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;background:#edf0f5}.voucher-grid figcaption{padding:12px 15px;color:var(--muted);text-align:center}.bill-layout{display:grid;grid-template-columns:minmax(0,900px) 280px;align-items:start;gap:20px}.bill-preview-wrap{overflow:auto;padding:3px}.bill-card{width:860px;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 18px 60px rgba(48,54,88,.13);color:#202437}.bill-brand{height:92px;display:flex;align-items:center;gap:13px;padding:20px 28px;background:linear-gradient(135deg,#6659f5,#8f7ef8);color:#fff}.bill-brand>span{width:48px;height:48px;border-radius:15px;background:#ffffff25;display:grid;place-items:center;font-size:21px}.bill-brand b{display:block;font-size:20px}.bill-brand small{display:block;color:#ebe9ff}.bill-brand em{margin-left:auto;font-style:normal;background:#ffffff20;padding:7px 12px;border-radius:12px}.bill-images{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px;background:#f4f5f9}.bill-images img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;background:#fff;border-radius:12px}.bill-images img:only-child{grid-column:1/-1}.bill-no-image{grid-column:1/-1;height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a0a6b5;background:#fff;border-radius:14px}.bill-no-image i{font-size:38px;margin-bottom:10px}.bill-total{text-align:center;padding:25px 20px 19px}.bill-total small{display:block;color:var(--muted)}.bill-total strong{display:block;color:var(--primary);font-size:40px;line-height:1.3;margin:4px}.bill-total span{color:var(--muted)}.bill-info{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin:0 25px;border-radius:16px;overflow:hidden}.bill-info>div{display:flex;justify-content:space-between;align-items:center;background:#fafbfe;padding:15px 17px}.bill-info>div span{color:var(--muted)}.bill-info .amount{grid-column:1/-1;background:#f0efff}.bill-info .amount b{color:var(--primary);font-size:24px}.bill-foot{display:flex;justify-content:space-between;padding:20px 27px;color:#9096a5;font-size:11px}.bill-tools{position:sticky;top:90px}.bill-tools p{color:var(--muted);margin:10px 0 20px}.bill-tools>*{margin-bottom:10px}.bill-tip{padding:11px;border-radius:11px;background:#f3f2ff;color:var(--primary);font-size:12px;text-align:center}
@media(max-width:1200px){.bill-layout{grid-template-columns:1fr}.bill-tools{position:static;max-width:860px}.voucher-grid{grid-template-columns:1fr}}
@media(max-width:760px){.preview-grid{grid-template-columns:1fr;padding:7px}.page-actions{width:100%;flex-wrap:wrap}.bill-card{width:760px}.voucher-grid{grid-template-columns:1fr}.voucher-grid img{max-height:none}}
/* 导航与权益信息优化 */
.sidebar{width:244px!important;padding:22px 16px!important}.main{margin-left:280px!important}.topbar{left:280px!important}.brand{gap:13px!important}.brand-mark{width:48px!important;height:48px!important;font-size:19px}.brand b{font-size:17px!important;line-height:1.35}.brand small{font-size:11px!important}.sidebar nav a{min-height:52px;padding:13px 15px!important;font-size:15px!important}.nav-icon{width:28px!important;height:28px;display:grid!important;place-items:center;font-size:17px!important;margin-right:11px!important;border-radius:9px;background:#f1f2f7;color:#858ca0}.sidebar nav a.on .nav-icon{background:#ddd9ff;color:var(--primary)}.side-rights{margin-top:auto;padding:13px 14px;background:#f5f3ff;border-radius:13px}.side-rights small{display:block;color:var(--muted)}.side-rights b{display:block;color:var(--primary);font-size:14px;margin-top:2px}.sidebar form{margin-top:9px!important}.top-rights{display:flex;gap:8px}.top-rights span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:11px;background:#f5f3ff;color:var(--primary);font-size:12px}.top-rights span+span{background:#ebfaf5;color:#109b72}.right-card{display:flex;align-items:center;gap:16px;background:#fff;padding:20px;border-radius:18px;box-shadow:var(--shadow)}.right-card>i{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#f0eeff;color:var(--primary);font-size:21px}.right-card.uses>i{background:#e9faf4;color:var(--mint)}.right-card small,.right-card span{display:block;color:var(--muted)}.right-card strong{display:block;font-size:22px;margin:2px 0}.rights-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:18px}.register-rule{margin-top:18px;padding:11px 13px;border-radius:12px;background:#f3f2ff;color:#7065d9;font-size:12px}.register-rule i{margin-right:6px}.profile-grid{display:grid;grid-template-columns:320px 1fr;gap:18px}.profile-main{display:flex;flex-direction:column;align-items:center}.profile-main dl{width:100%}.profile-right .rights-grid{grid-template-columns:1fr 1fr}.short{min-width:80px!important;width:80px!important}.settings-grid{display:grid;grid-template-columns:minmax(0,680px) 1fr;gap:18px}.security-note{text-align:center;padding:42px!important}.security-note>i{width:72px;height:72px;margin:auto;display:grid;place-items:center;border-radius:22px;background:#eaf9f4;color:var(--mint);font-size:29px}.security-note p,.form-hint{color:var(--muted)}
@media(max-width:1100px){.profile-grid,.settings-grid{grid-template-columns:1fr}.profile-right .rights-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.main{margin-left:0!important}.topbar{left:14px!important}.top-rights span:first-child{display:none}.rights-grid,.profile-right .rights-grid{grid-template-columns:1fr}.sidebar{width:260px!important}}
/* 手机端导航修复 */
.mobile-nav-overlay{display:none}
@media(max-width:900px){.sidebar{left:0!important;top:0!important;bottom:0!important;width:min(290px,84vw)!important;border-radius:0 22px 22px 0!important;transform:translateX(-110%)!important;transition:transform .26s ease!important;z-index:110!important}.sidebar.open{transform:translateX(0)!important}.menu{display:grid!important;place-items:center!important;flex:0 0 42px;width:42px;height:42px;margin-right:auto!important;border:0!important;border-radius:12px!important;background:#f1efff!important;color:var(--primary)!important;font-size:18px!important;cursor:pointer}.main{margin-left:0!important;padding:84px 14px 28px!important}.topbar{left:14px!important;right:14px!important;top:12px!important;padding:0 12px!important;z-index:90!important}.mobile-nav-overlay{position:fixed;inset:0;background:rgba(31,35,52,.35);backdrop-filter:blur(3px);z-index:100}.mobile-nav-overlay.show{display:block}.sidebar nav a{min-height:50px!important}.sidebar .brand{padding-right:42px}.nav-close{display:grid!important;place-items:center!important;position:absolute;right:16px;top:24px;width:36px;height:36px;border:0;border-radius:11px;background:#f2f3f7;color:#697084;font-size:17px;cursor:pointer}}
@media(min-width:901px){.nav-close{display:none!important}}
/* 品牌图片标志 */
.brand-mark{padding:0!important;overflow:hidden;background:transparent!important;box-shadow:0 8px 20px rgba(101,88,245,.20)!important}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.bill-brand>span{padding:0!important;overflow:hidden;background:transparent!important}.bill-brand>span img{display:block;width:100%;height:100%;object-fit:contain}

/* 侧栏账户权益区 */
.sidebar-account{margin-top:auto;display:grid;gap:10px}.sidebar-account .side-rights{margin-top:0;display:grid;grid-template-columns:42px minmax(0,1fr) 14px;align-items:center;gap:11px;padding:13px;background:linear-gradient(135deg,#f4f1ff,#eef8ff);border-radius:17px;box-shadow:0 10px 28px rgba(88,74,210,.10);transition:transform .22s ease,box-shadow .22s ease}.sidebar-account .side-rights:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(88,74,210,.16)}.side-rights-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#7462f6,#6554e8);color:#fff;font-size:17px;box-shadow:0 8px 18px rgba(101,84,232,.25)}.side-rights-copy{min-width:0}.side-rights-copy small,.side-rights-copy b,.side-rights-copy em{display:block}.side-rights-copy small{font-size:11px;color:#8b91a5;line-height:1.2}.side-rights-copy b{margin-top:3px;color:#4f42d8;font-size:15px;line-height:1.35}.side-rights-copy em{margin-top:2px;color:#989eb0;font-size:10px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-rights-arrow{color:#aaa9c7;font-size:11px}.sidebar-account form{margin-top:0!important}.sidebar-account .logout{display:flex;align-items:center;gap:11px;width:100%;padding:9px 12px;border:0;background:transparent;color:#858b9e;border-radius:13px;text-align:left;font-weight:600;transition:.2s}.sidebar-account .logout:hover{background:#fff3f4;color:#e25964}.logout-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#f2f3f7;color:#858b9e;transition:.2s}.logout:hover .logout-icon{background:#ffe5e7;color:#e25964}
/* 侧栏权益卡改为单行居中 */
.sidebar-account .side-rights{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-height:58px;padding:10px 12px!important;text-align:center}.side-rights-icon{flex:0 0 34px;width:34px;height:34px;border-radius:11px;font-size:14px}.side-rights-copy{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0}.side-rights-copy small,.side-rights-copy b{display:inline!important;margin:0!important;line-height:1.2;white-space:nowrap}.side-rights-copy small{font-size:12px}.side-rights-copy b{font-size:14px}.side-rights-copy em,.side-rights-arrow{display:none!important}
@media(max-width:900px){.sidebar-account .side-rights{min-height:56px}}

.announcement-modal{position:fixed;inset:0;background:#08100f99;display:grid;place-items:center;z-index:50;padding:20px}.announcement-box{width:min(560px,100%);background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.announcement-box h2{margin:10px 0 16px}.announcement-box #announcementContent{line-height:1.9;color:var(--muted);white-space:normal;margin-bottom:22px}.announcement-progress{color:var(--green);font-size:12px;font-weight:800}
.settings-grid{grid-template-columns:minmax(0,1fr)!important}.settings-grid>.panel{width:100%}

.settings-grid>.panel form.stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.settings-grid>.panel form.stack>h3,.settings-grid>.panel form.stack>.reminder-run-box,.settings-grid>.panel form.stack>button{grid-column:1/-1}.settings-grid>.panel form.stack>label{min-width:0}@media(max-width:760px){.settings-grid>.panel form.stack{grid-template-columns:1fr}}

.announcement-box h2{color:var(--text)!important;font-size:24px}.announcement-box #announcementContent{color:var(--text)!important;font-size:15px;min-height:36px}.announcement-progress{color:var(--primary)!important}
.announcement-modal{background:rgba(20,28,45,.48)!important}.announcement-box{background:#fff!important;border:0!important;color:#202638!important;box-shadow:0 24px 80px rgba(30,40,70,.22)!important}.announcement-box h2{color:#202638!important}.announcement-box #announcementContent{color:#626b7d!important}.announcement-progress{color:#6557e8!important}

.announcement-box{padding:0!important;overflow:hidden;width:min(700px,100%)!important;border-radius:24px!important}.announcement-head{display:flex;align-items:center;gap:12px;padding:24px 28px 8px;background:linear-gradient(135deg,#eeefff,#f8f7ff)}.announcement-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#635bdf,#8a73f4);color:#fff;font-size:22px;box-shadow:0 10px 22px #7568df33}.announcement-tag{padding:7px 12px;border-radius:9px;background:#e7e9ff;color:#5e5bd4;font-size:13px}.announcement-close{margin-left:auto;width:42px;height:42px;border:0;border-radius:13px;background:#e8eaf4;color:#7a8293;font-size:28px;line-height:1;cursor:pointer}.announcement-progress{padding:12px 28px 0}.announcement-box h2{padding:0 28px;margin:8px 0 8px!important;font-size:26px!important}.announcement-meta{padding:0 28px 20px;color:#8a91a2;font-size:13px;display:flex;gap:8px;align-items:center}.announcement-content-wrap{padding:25px 28px;border-top:1px solid #eceef5;border-bottom:1px solid #eceef5;background:#fff}.announcement-box #announcementContent{border-left:4px solid #7568ee;padding-left:18px;min-height:40px}.announcement-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 28px;color:#8a91a2;font-size:13px;background:#fafbfe}.announcement-foot .primary{white-space:nowrap}

.announcement-hidden{display:none!important}.announcement-list-item{cursor:pointer;transition:.2s}.announcement-list-item:hover{background:#fafbff}.announcement-list-item>div{display:flex;justify-content:space-between;gap:12px}.announcement-list-item time{color:#9299a8;font-size:12px;white-space:nowrap}.announcement-content-wrap{max-height:300px;overflow:auto}