:root{font-family:system-ui,-apple-system,'PingFang SC',sans-serif;color:#242333;background:#f6f5fa;--purple:#7144c9}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:10px 16px;background:#eee8fa;color:var(--purple);font-weight:600}button.primary{background:var(--purple);color:white}button.danger{color:#b43e4c;background:#ffedf0}button:disabled{opacity:.5;cursor:wait}a{color:var(--purple)}aside{position:fixed;inset:0 auto 0 0;width:230px;background:white;padding:36px 20px;border-right:1px solid #e6e2ed}aside h1{font-size:25px;margin:0 0 8px}aside button{width:100%;text-align:left;margin:6px 0;background:transparent;color:#625c70}aside button.active{background:#eee8fa;color:var(--purple)}.subtitle,small,.muted{color:#898393;font-size:13px;line-height:1.7}nav{margin-top:36px}main{margin-left:230px;padding:34px 40px;max-width:1650px}header,.row{display:flex;justify-content:space-between;align-items:center;gap:16px}header{margin-bottom:24px}h2{font-size:30px;margin:12px 0}h3{margin-top:0}.card{background:white;border:1px solid #e7e3ed;border-radius:16px;padding:24px;margin:20px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}.metric{font-size:38px;font-weight:750;margin:12px 0}.notice{padding:14px 18px;background:#f0eafa;border-radius:10px;line-height:1.7;color:#695783;font-size:14px;margin:16px 0}.error{background:#fff0f2;color:#ad354b}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.pill{display:inline-block;padding:4px 9px;background:#eee8fa;color:var(--purple);border-radius:6px;font-size:12px}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:18px 12px;border-bottom:1px solid #eeeaf3}th{font-size:13px;color:#817a8e;background:#faf9fc}td .actions{margin:0}td small{display:block}.table-scroll{overflow:auto}.login{max-width:500px;margin:12vh auto;background:white;padding:40px;border-radius:20px;border:1px solid #e7e3ed}.login h1{font-size:32px}.login-code{font:700 36px monospace;letter-spacing:4px;color:var(--purple);padding:22px 0}input,select,textarea{width:100%;padding:12px;border:1px solid #ddd6e7;border-radius:8px;background:white;margin-top:6px}label{display:block;margin:16px 0;font-size:14px}textarea{min-height:100px;resize:vertical}dialog{width:560px;max-width:95vw;border:0;border-radius:18px;padding:28px;box-shadow:0 20px 80px #231a3333}dialog::backdrop{background:#21172f66}.form-error{color:#a43345}.empty{padding:50px;text-align:center;color:#8a8396}audio{width:100%;margin:15px 0}.avatar{height:64px;width:64px;object-fit:cover;border-radius:50%;background:#eee}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#242333;color:white;border-radius:9px;padding:12px 22px;display:none;z-index:20}.code{font-family:monospace;word-break:break-all}.review{padding:12px 0;border-top:1px solid #eee}.search{max-width:400px;margin:0 0 18px}.pair-guide{line-height:1.9}@media(max-width:850px){aside{position:static;width:100%;padding:20px}nav{display:flex;overflow:auto;margin:16px 0 0}aside button{min-width:110px}main{margin:0;padding:20px}header{flex-wrap:wrap}.login{margin:30px 16px}.metric{font-size:30px}}

.table-tools{position:sticky;bottom:0;background:#fff;padding:16px;display:flex;gap:12px;border-top:1px solid #eee}.table-tools input{max-width:480px;flex:1}aside{overflow-y:auto}nav button{margin:3px 0}td{max-width:320px;overflow-wrap:anywhere}
/* 客服电脑工作台：紧凑表格、稳定操作列 */
[hidden]{display:none!important}button{transition:transform .14s,background .18s}button:active{transform:scale(.97)}aside{width:200px;padding:24px 14px}main{margin-left:200px;padding:24px;max-width:none}header select{width:auto}.sc-console h2{font-size:24px}.sc-console .table-scroll{padding:0;border-radius:6px;margin:12px 0 0}.sc-console table{font-size:13px}.sc-console th,.sc-console td{padding:10px;border-right:1px solid #e8e5ef}.sc-console td{max-width:360px}.sc-console .sc-wrap{white-space:normal;min-width:180px}.sc-console td:last-child,.sc-console th:last-child{position:sticky;right:0;background:#fff;box-shadow:-3px 0 8px #00000008}.sc-frozen td:first-child,.sc-frozen th:first-child{position:sticky;left:0;background:#fff;z-index:1}.sc-console td .actions{flex-wrap:nowrap;gap:5px}.sc-console td button{padding:6px 9px;font-size:12px;white-space:nowrap}.sc-console tbody tr:hover td{background:#f8f5fe}.sc-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.sc-toolbar input{max-width:420px;margin:0}.sc-toolbar button{font-size:13px;padding:9px 12px}.sc-name{background:transparent;color:#242333;padding:0!important}.sc-filters{display:flex;flex-wrap:wrap;gap:12px;background:#fff;padding:12px;border:1px solid #e7e3ed;border-radius:6px}.sc-filters label{margin:0;min-width:125px;flex:1}.sc-filters select{padding:7px;font-size:13px}.sc-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px;background:#fff;border:1px solid #e7e3ed;font-size:13px}.sc-footer .actions{align-items:center;margin:0}.sc-footer label{margin:0;display:flex;align-items:center;gap:6px}.sc-footer select{width:auto;margin:0;padding:7px}.sc-group td{background:#eee8fa!important;color:#7144c9}.sc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.sc-fields label{margin:4px 0}.sc-form{max-width:1050px}.sc-check{display:flex;gap:8px;align-items:center}.sc-check input{width:auto;margin:0}.sc-columns{display:grid;grid-template-columns:1fr 1fr}.sc-columns label{margin:8px}.sc-form input[type=number]{min-width:0}.sc-console~.table-tools{display:none}.sc-console input,.sc-console select{font-size:14px}@media(min-width:1100px){dialog:has(.sc-fields){width:850px}.sc-form .sc-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){main{margin-left:0}aside{width:100%}.sc-fields{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){button{transition:none}}
.up-detail{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px}.up-history{position:static;width:auto;background:#f8f8fc;padding:16px;border-radius:12px}.up-history p{border-bottom:1px solid #e7e7ee;padding-bottom:14px}.up-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.up-summary strong{display:block;margin-top:8px}.up-context{display:grid;gap:8px;min-width:240px}.up-context button{text-align:left}dialog:has(.up-detail){width:min(1400px,94vw);max-width:94vw}button{transition:transform .12s ease,background-color .18s ease,box-shadow .18s ease}button:active{transform:scale(.97)}@media(max-width:800px){.up-detail{grid-template-columns:1fr}.up-summary{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){button{transition:none}}
fieldset{border:1px solid #dddfea;border-radius:12px;margin:16px 0;padding:16px;display:grid;gap:10px}fieldset .row{margin-bottom:4px}.studio-canvas{background:#f5f5fa;padding:12px;border-radius:12px}.studio-canvas fieldset{background:white;cursor:grab}.studio-bar{background:#7653d9;color:white;border-radius:6px;min-width:24px;padding:6px;box-sizing:border-box;margin:5px 0 12px}input[type=checkbox]{width:auto;min-height:20px;margin:5px}#studio-form .actions label{display:flex;align-items:center;gap:4px}#studio-form [type=submit]{margin-top:18px;width:100%}

.admin-theme-label{display:flex;align-items:center;gap:8px;font-size:13px;margin:0}.admin-theme-label select{width:auto;margin:0}
body[data-admin-theme="zhangjie"]{background:#eef3f6;color:#203542}body[data-admin-theme="zhangjie"] aside{background:linear-gradient(170deg,#253d4a,#34586a);color:#fff}body[data-admin-theme="zhangjie"] aside h1,body[data-admin-theme="zhangjie"] aside .subtitle,body[data-admin-theme="zhangjie"] aside .muted{color:#e6eff4}body[data-admin-theme="zhangjie"] aside nav button{color:#e6eff4}body[data-admin-theme="zhangjie"] button{background:#e5eef2;color:#345e73}body[data-admin-theme="zhangjie"] .primary,body[data-admin-theme="zhangjie"] aside nav button.active{background:#345e73;color:#fff}body[data-admin-theme="zhangjie"] .card{border-color:#d8e3e9;background:#fff}body[data-admin-theme="zhangjie"] .notice{background:#e5eef2;color:#345363}body[data-admin-theme="zhangjie"] .muted{color:#607582}
.admin-star-banner{position:relative;overflow:hidden;height:240px;border-radius:22px;background:#e0eaf0;margin-bottom:24px}.admin-star-banner img{position:absolute;right:0;top:0;width:50%;height:100%;object-fit:cover;object-position:center 36%}.admin-star-banner>div{position:relative;padding:36px;height:100%;box-sizing:border-box;background:linear-gradient(90deg,#e0eaf0 30%,#e0eaf0ed 44%,transparent 80%)}.admin-star-banner h2{margin:28px 0 12px;font-size:28px}.admin-star-banner small{letter-spacing:3px;font-size:10px}@media(max-width:600px){.admin-star-banner h2{font-size:22px;max-width:180px}.admin-star-banner>div{padding:24px}.admin-theme-label{flex-wrap:wrap}}

body[data-admin-theme="zhangjie"]{background-image:linear-gradient(120deg,rgba(237,244,248,.80),rgba(228,239,245,.55)),url("assets/zhangjie.jpg");background-size:cover;background-position:center 35%;background-attachment:fixed}body[data-admin-theme="zhangjie"] main{background:transparent}body[data-admin-theme="zhangjie"] .card,body[data-admin-theme="zhangjie"] main header{background:rgba(255,255,255,.95)}

.site-filing{padding:20px 24px;text-align:center;font-size:12px;color:#667085}.site-filing a{color:inherit}dialog input{max-width:100%;box-sizing:border-box}
/* Keep navigation readable under the management wallpaper theme. */
body[data-admin-theme="zhangjie"] aside nav button{background:transparent;color:#f2f7fa}
body[data-admin-theme="zhangjie"] aside nav button:hover{background:#ffffff1a;color:#fff}
body[data-admin-theme="zhangjie"] aside nav button.active{background:#345e73;color:#fff}
main header{flex-wrap:wrap;gap:12px;padding:12px;border-radius:12px}
main header>div:first-of-type{flex:1 1 230px;min-width:180px;line-height:1.5}
main header>.row{flex:1 1 560px;flex-wrap:wrap;justify-content:flex-start;gap:10px;min-width:0}
main header .row>span,main header button,main header .admin-theme-label{white-space:nowrap;flex-shrink:0}
main header select{margin-top:0;max-width:100%}

.number-login{max-width:520px;margin:7vh auto;padding:36px;background:#fff;border:1px solid #dae4e2;border-radius:24px;box-shadow:0 18px 60px #183e3220}.number-login h1{font-size:28px}.number-login label{display:block;margin:18px 0;font-weight:600}.number-login input{display:block;width:100%;margin-top:8px;min-height:48px}.code-input{display:flex;gap:10px;align-items:center}.code-input input{min-width:0;flex:1}.code-input button{flex-shrink:0;margin-top:8px}.number-login [type=submit]{width:100%;min-height:48px}.number-login details{margin-top:22px}.number-login .notice{font-size:14px}.player-shell{max-width:1100px;margin:auto;padding:24px}.player-shell nav{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.player-shell header{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.player-shell .profile-avatar{width:72px;height:72px;border-radius:20px;object-fit:cover}@media(max-width:600px){.number-login{margin:24px 12px;padding:24px}.player-shell{padding:16px}.code-input button{padding:12px}}

.identity-login{max-width:600px}.login-roles{display:grid;gap:14px;margin:28px 0}.login-role-card{display:flex;align-items:center;gap:18px;text-align:left;width:100%;padding:20px;background:#fff;border:1px solid #deddeb;border-radius:16px;color:#263249;transition:background .15s,border-color .15s}.login-role-card:hover{background:#f5f1ff;border-color:#8865d7}.login-role-card strong{display:block;font-size:20px;margin-bottom:6px}.login-role-card small{display:block;font-size:14px;color:#777d8d;line-height:1.5}.login-role-card>span:nth-child(2){flex:1}.login-role-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#f0e8fc;color:#6e45bc;font-weight:700;font-size:20px}.login-back{display:block;margin-bottom:24px;background:transparent;padding:0;color:#697388}.number-login select{display:block;width:100%;margin-top:8px;min-height:48px}.customer-balance{background:linear-gradient(120deg,#f2ebff,#eaf3ff)}.customer-shell .profile-avatar{width:64px;height:64px;object-fit:cover;border-radius:16px}@media(max-width:600px){.login-role-card{padding:16px;gap:12px}.login-role-card small{font-size:13px}}
