:root{color-scheme:light;--ink:#192f2a;--muted:#7c8682;--green:#236c52;--line:#e5e9e5;--bg:#f5f6f2;--gold:#a87835}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:0}button:disabled{cursor:default;opacity:.45}button{transition:background .15s}button:not(:disabled):hover{filter:brightness(.96)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:650;letter-spacing:-1px}h2{font-size:18px;font-weight:650}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--muted);font-weight:600}.primary,.secondary{border-radius:7px;padding:13px 20px;min-height:44px;font-weight:600}.primary{background:var(--green);color:white}.secondary{background:white;border:1px solid #dbe2dc;color:var(--ink)}.compact{padding:8px 13px;min-height:34px}.text-button{background:none;color:var(--green);padding:8px}.brand-mark{background:#c8af7a;color:#172e29;font-size:32px;display:grid;place-items:center;width:64px;height:64px;border-radius:14px;font-family:serif;font-weight:bold}.brand-mark.small{width:42px;height:42px;font-size:27px;border-radius:9px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{padding:12vh 12%;background:#17372e;color:#f2eee1;position:relative;overflow:hidden}.login-brand:after{content:"升";font-size:490px;position:absolute;bottom:-100px;right:-65px;opacity:.035;font-family:serif;pointer-events:none}.login-brand .eyebrow{color:#a6b9ad;margin:42px 0 20px}.login-brand h1{font-size:48px;line-height:1.5;font-family:serif;font-weight:500;letter-spacing:3px}.login-brand p{color:#bac9bf;margin-top:25px}.login-note{border-left:1px solid #637d6c;padding-left:20px;line-height:2;color:#b3c6b8;margin-top:70px}.login-card{align-self:center;margin:60px auto;padding:40px;width:min(440px,100%)}.login-card h2{font-size:28px;margin:14px 0}.login-card label{margin-top:40px}.login-card .primary{width:100%;margin-top:24px;display:flex;justify-content:space-between}.login-card small{display:block;text-align:center;color:#9baba2;margin-top:38px;font-size:12px}label{display:block;font-size:13px;font-weight:550;margin-top:22px}label .muted{font-size:11px;font-weight:400;margin-left:6px}input,select{width:100%;padding:12px 13px;border:1px solid #dce2da;border-radius:6px;color:var(--ink);background:white;margin-top:9px;min-height:44px}input::placeholder{color:#a1aaa4}input:focus,select:focus{border-color:#477a5e;outline:2px solid #dce9df}input[name=code]{font-family:monospace;text-transform:uppercase}.workspace{display:flex;min-height:100vh}aside{position:fixed;inset:0 auto 0 0;width:228px;background:#19382f;color:#d4e2d9;padding:36px 22px}.brand{display:flex;gap:13px;align-items:center;color:#f4f3e9;text-decoration:none;font-size:18px;letter-spacing:2px}.brand small{display:block;font-size:10px;letter-spacing:1px;font-weight:400;color:#9ab09f;margin-top:5px}.nav-label{font-size:10px;color:#8fa899;letter-spacing:2px;margin:60px 14px 16px}.nav-item{width:100%;border-radius:7px;padding:15px 16px;text-align:left;display:flex;gap:12px;align-items:center}.nav-item.selected{background:#2d4d40;color:#f3eee0}.nav-item span:first-of-type{flex:1}.nav-dot,.live-dot{display:inline-block;background:#9fba87;width:6px;height:6px;border-radius:100%}.sidebar-bottom{position:absolute;left:30px;bottom:32px;color:#9eb6a5;font-size:11px;line-height:2.5}.sidebar-bottom p{margin-top:18px;color:#c7d5c7}.sidebar-bottom small{font-size:9px;letter-spacing:2px}main{margin-left:228px;min-width:0;flex:1}header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 44px;background:#fafbf8}.breadcrumb{font-size:12px;color:#8c958d}.breadcrumb span{margin:0 14px;color:#c4ccc3}.admin-user{display:flex;gap:12px;align-items:center;font-size:12px}.avatar{width:30px;height:30px;border-radius:100%;display:grid;place-items:center;background:#e3e9de;color:#5a6d56;font-size:11px}.admin-user .text-button{margin-left:12px;color:#8a9389;font-size:11px}.page{padding:42px 44px;max-width:1640px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-heading .eyebrow{margin-bottom:12px}.page-heading p{font-size:13px;margin-top:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 30px}.stats article{padding:24px;background:#fff;border:1px solid var(--line);border-radius:9px}.stats article>span{color:#79847a;font-size:12px}.stats strong{display:block;font-size:32px;font-weight:550;letter-spacing:-1px;margin:18px 0 10px;font-variant-numeric:tabular-nums}.stats small{font-size:10px;color:#98a194}.stats article:last-child strong{color:var(--gold)}.table-panel{border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.table-heading{padding:26px;display:flex;justify-content:space-between;align-items:center;gap:20px}.table-heading h2{font-size:16px}.table-heading h2 span{color:#7f927e;background:#edf2e9;font-size:11px;border-radius:4px;padding:3px 7px;margin-left:8px}.table-heading p{font-size:11px;color:#8b9588;margin-top:10px}.search{position:relative;min-width:240px}.search input{margin:0;font-size:12px;padding-right:42px;background:#f8faf6;min-height:38px}.search button{position:absolute;right:6px;top:3px;background:none;color:#83917d;font-size:23px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}thead{background:#f7f9f4;color:#8b9688;font-size:11px;font-weight:400;text-align:left}th{font-weight:450;padding:15px 20px;border-top:1px solid #eef1eb;border-bottom:1px solid #eef1eb}td{padding:22px 20px;border-bottom:1px solid #edf0e9;line-height:1.7}th:first-child,td:first-child{padding-left:26px}td strong{display:block;font-family:monospace;font-size:13px;font-weight:600;letter-spacing:.5px}td small{display:block;color:#909a8b;font-size:11px;margin-top:3px}td .amount{color:var(--gold);font-size:14px;font-weight:600}.tag{display:inline-flex;padding:3px 9px;border-radius:4px;font-size:10px;background:#f1f0e8;color:#7d765e}.tag.universal{background:#e9f0f6;color:#607f97}.status{font-size:11px;color:#507f59}.status:before{content:"";display:inline-block;width:5px;height:5px;border-radius:100%;background:currentColor;margin-right:6px}.status.disabled{color:#939b8f}.status.used{color:#a28b5f}.right{text-align:right}.row-action{background:none;color:var(--green);padding:6px;font-size:11px}.row-action.secondary-action{color:#8d9588;margin-left:8px}.table-footer{padding:18px 26px;display:flex;justify-content:space-between;align-items:center;color:#90998c;font-size:11px}.table-footer button+button{margin-left:8px}.rules-note{display:flex;align-items:flex-start;gap:12px;margin-top:24px;color:#889483;font-size:11px;line-height:1.9}.rules-note>span{font-size:17px}.rules-note b{display:block;font-weight:550;color:#6a7e62;margin-bottom:3px}.empty{text-align:center;padding:65px 24px}.empty>span{font-size:45px;color:#9dab91}.empty h3{font-weight:500;margin-top:15px}.empty p{color:#939e8a;margin:12px 0 24px}.banner{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px 18px;background:#fbf1db;color:#94763e;border-radius:7px;font-size:12px}.banner button{color:#94763e}dialog{border:1px solid var(--line);border-radius:12px;padding:30px;width:min(540px,calc(100% - 32px));max-height:90vh;overflow:auto;color:var(--ink);box-shadow:0 24px 100px #142c2830}dialog::backdrop{background:#162d2566;backdrop-filter:blur(3px)}dialog.wide{width:min(960px,calc(100% - 32px))}.dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:26px}.dialog-heading h2{font-size:23px;margin-top:9px}.dialog-heading p{font-size:12px;margin-top:10px}.close{background:none;font-size:28px;color:#9da597;padding:0 4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field-note{font-size:11px;color:#8e9985;line-height:1.8;margin-top:10px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.dialog-actions span{margin-right:auto;font-size:12px}.error{font-size:12px;color:#b4473e;min-height:16px;margin-top:16px}#toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);max-width:90%;padding:14px 24px;background:#233e31;color:#fff;border-radius:8px;z-index:5;font-size:13px;box-shadow:0 8px 24px #19382f25}#platform-form>p{font-size:12px;line-height:1.9}@media(min-width:1500px){.page{padding-top:52px}.stats article{padding:28px}.stats strong{font-size:38px}}@media(max-width:1100px){aside{width:190px;padding:30px 18px}.brand{font-size:16px;letter-spacing:1px}main{margin-left:190px}.page{padding:30px 24px}header{padding:0 24px}.stats{gap:10px}.stats article{padding:18px}.stats small{font-size:9px}.table-heading{align-items:flex-start}.search{min-width:210px}}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-brand{padding:35px;min-height:300px}.login-brand .eyebrow{margin-top:24px}.login-brand h1{font-size:32px}.login-note{display:none}.login-card{margin:20px auto}aside{display:none}main{margin-left:0}header{height:65px;padding:0 18px}.breadcrumb{font-size:11px}.admin-user{gap:8px}.admin-user .text-button{margin-left:0}.page{padding:28px 16px}.page-heading{align-items:flex-start;gap:14px}h1{font-size:27px}.page-heading p{max-width:190px;font-size:11px;line-height:1.8}.page-heading .primary{padding:12px;font-size:12px;margin-top:22px;white-space:nowrap}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats strong{font-size:30px}.table-heading{flex-direction:column;padding:20px}.search{width:100%}.banner{align-items:flex-start;line-height:1.8}.banner button{padding:0;white-space:nowrap}.form-grid{grid-template-columns:1fr}.form-grid label+label{margin-top:0}dialog{padding:24px}.table-footer{padding:16px}.login-card h2{font-size:25px}}
/* 后台框架与业务模块共享布局；移动端保留系统切换入口。 */
.nav-item{background:transparent;color:#c6d9cb;text-decoration:none;margin-bottom:6px}.nav-item:hover{background:#284a3d}.nav-label{margin-top:34px}#mobile-navigation{display:none}.module-notice{margin:32px 44px;display:flex;gap:24px;align-items:center}.filter-bar{padding:0 26px 24px;display:flex;align-items:end;gap:16px;flex-wrap:wrap}.filter-bar label{margin:0;min-width:150px}.filter-bar select{margin-top:6px}.filter-bar>button{margin-left:auto;margin-bottom:4px}.settings-card{padding:28px;border:1px solid var(--line);border-radius:9px;background:white;max-width:720px}.settings-card input[readonly]{background:#f5f6f2;color:#687a70}.settings-page .page-heading p{max-width:none}#history-dialog .table-scroll{max-height:48vh}#history-dialog>label{max-width:240px}#history-dialog .field-note{color:#8b6734}.dialog-actions{flex-wrap:wrap}#toast{z-index:20}
@media(max-width:760px){#mobile-navigation{display:flex;gap:8px;padding:16px 24px 0;overflow-x:auto}#mobile-navigation .nav-label{display:none}#mobile-navigation .nav-item{width:auto;white-space:nowrap;color:var(--green);border:1px solid var(--line);background:white;margin:0}#mobile-navigation .selected{background:#e4eee6}.page{padding-left:24px;padding-right:24px}.filter-bar{padding:0 24px 24px;gap:12px}.filter-bar label{min-width:130px;flex:1}.filter-bar>button{margin-left:0}.settings-card{padding:24px}.module-notice{margin:24px}.table-footer{padding:24px}.table-heading{padding:24px}.settings-page .page-heading{flex-wrap:wrap}.admin-user{white-space:nowrap}.breadcrumb{max-width:45%;line-height:1.8}}
