/* Shared admin presentation; leaves all financial actions and field names intact. */
:root{--admin-surface:#fff;--admin-canvas:#f5f7fb;--admin-ink:#172339;--admin-muted:#64748b;--admin-line:#e3e9f2;--admin-accent:#2563eb;--admin-soft:#eff5ff;--admin-hover:#f8faff}
[data-theme=dark]{--admin-surface:#142033;--admin-canvas:#0b1423;--admin-ink:#e6edf8;--admin-muted:#a5b4cc;--admin-line:#2a3a52;--admin-accent:#79a8ff;--admin-soft:#1c3458;--admin-hover:#192b43;color-scheme:dark}
.qs-app{background:var(--admin-canvas);color:var(--admin-ink);font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;line-height:1.6;font-size:14px}
.qs-app *{scrollbar-width:thin;scrollbar-color:#bdc9da transparent}
.qs-app [hidden]{display:none!important}
.qs-app :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #93b9ff;outline-offset:3px}
.qs-side{width:240px;background:var(--admin-surface);border-color:var(--admin-line)}
.qs-brand{height:76px;font-size:21px;letter-spacing:1px;padding:0 22px}
.qs-side .qs-logo{width:32px;height:32px}
.qs-nav-search{position:relative;margin:0 16px 14px;display:block}
.qs-nav-search svg{position:absolute;width:17px;height:17px;left:12px;top:11px;pointer-events:none;color:var(--admin-muted)}
.qs-app .qs-nav-search input{width:100%;height:39px;padding:0 12px 0 37px;border:1px solid var(--admin-line);border-radius:10px;background:var(--admin-canvas);color:var(--admin-ink);font-size:13px;box-sizing:border-box}
.qs-nav-empty{padding:15px 10px;color:var(--admin-muted);font-size:13px;text-align:center}
.qs-nav{padding:0 12px 16px}
.qs-group summary,.qs-leaf{padding:11px 13px;font-weight:550;border-radius:9px}
.qs-sub{padding:4px 0 8px 7px}
.qs-sub a{padding-top:9px;padding-bottom:9px}
.qs-app .qs-side a,.qs-group summary{color:var(--admin-muted)!important;-webkit-text-fill-color:var(--admin-muted)}
.qs-app .qs-side a.on{background:var(--admin-soft);color:var(--admin-accent)!important;-webkit-text-fill-color:var(--admin-accent)}
.qs-group summary:hover,.qs-leaf:hover,.qs-group[open]>summary{background:var(--admin-canvas)}
.qs-foot{border-color:var(--admin-line);color:var(--admin-muted);background:var(--admin-canvas)}
.qs-foot .qs-dot{background:#5b8def}
.qs-top{margin-left:240px;height:68px;position:sticky;top:0;z-index:35;border-color:var(--admin-line);background:var(--admin-surface);padding:0 28px;box-shadow:0 1px 4px #12294d03}
.qs-app button.qs-iconbtn{display:grid;place-items:center;width:36px;height:36px;background:var(--admin-canvas);color:var(--admin-muted);border:1px solid var(--admin-line);border-radius:10px;font-size:18px}
.qs-app button.qs-iconbtn:hover{background:var(--admin-soft);color:var(--admin-accent)}
.qs-crumb{font-weight:550;color:var(--admin-ink)}
.qs-user summary{gap:5px;min-height:38px;padding:0 4px;color:var(--admin-ink)}
.qs-drop{top:45px;background:var(--admin-surface);border-color:var(--admin-line);box-shadow:0 12px 32px #132d5117}
.qs-drop a{color:var(--admin-ink)!important}.qs-drop a:hover{background:var(--admin-soft)}
.qs-main{margin-left:240px;padding:28px 28px 44px;min-width:0}
.qs-dash-wrap{max-width:1800px;margin:0 auto;min-width:0}
.qs-dash-title{font-size:25px;letter-spacing:-.5px;line-height:1.4;color:var(--admin-ink)}
.qs-dash-subtitle,.qs-desc,.gl-sub,.ua-sub{color:var(--admin-muted)}
.qs-dash-subtitle{font-size:11px;letter-spacing:1.4px}
.qs-login-chip,.qs-bento-card__chip{background:var(--admin-surface);border:1px solid var(--admin-line);color:var(--admin-muted)}
.qs-login-chip strong{color:var(--admin-ink)}.qs-login-chip__label{color:var(--admin-muted)}
.qs-bento-card__chip{background:var(--admin-canvas)}
.qs-dash-hero,.gl-hero{margin-bottom:23px;gap:18px}
.qs-dash-filter{gap:14px;flex-wrap:wrap;background:var(--admin-surface);border-color:var(--admin-line);padding:16px 18px;border-radius:13px}
.qs-bento{gap:18px}
.qs-bento-card,.qs-kpi-primary,.qs-app .qs-card,.qs-app .card,.qs-app .gl-card,.qs-app .qs-form,.qs-app .form,.qs-room-game,.qs-room-batch{background:var(--admin-surface);border-color:var(--admin-line);box-shadow:0 2px 8px #172a4504}
.qs-bento-card{padding:20px}
.qs-bento-card__title,.qs-bento-card__head,.gl-card b,.qs-main h1,.qs-main h2,.qs-main h3,.qs-card b,.qs-main .card b{color:var(--admin-ink)}
.qs-bento-card__head{gap:12px}.qs-bento-card__chip{font-size:10px;white-space:nowrap;flex:none}
.qs-minikpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qs-minikpi{min-width:0}.qs-minikpi__value{font-size:23px;white-space:nowrap;overflow-wrap:normal}
.qs-bento-card.qs-span-3 .qs-game-overview{display:flex;flex-direction:column;gap:13px}
.qs-bento-card.qs-span-3 .qs-game-kpi{display:flex;align-items:center;justify-content:space-between;gap:12px}
.qs-bento-card.qs-span-3 .qs-game-kpi__value{font-size:23px;white-space:nowrap;margin:0}
.qs-minikpi__label,.qs-kpi-primary__label{color:var(--admin-muted)}
.qs-kpi-primary__value,.qs-minikpi__value,.gl-card b,.qs-main .card b{font-variant-numeric:tabular-nums;letter-spacing:-.6px;overflow-wrap:anywhere}
.qs-kpi-primary{min-height:145px;padding:22px}
.qs-main :is(.qs-tools,.tools,.ua-toolbar,.gl-pills,.gl-actions){gap:10px;flex-wrap:wrap}
.ua-toolbar form{flex-wrap:wrap;min-width:0}
.qs-main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font:inherit;font-size:14px;color:var(--admin-ink);background:var(--admin-surface);border:1px solid #d7dfeb;border-color:var(--admin-line);border-radius:9px;max-width:100%;min-height:38px;box-sizing:border-box}
.qs-main input[type=checkbox],.qs-main input[type=radio]{width:16px;height:16px;min-height:0;accent-color:#2563eb;flex:none}
.qs-main input[readonly]{background:var(--admin-canvas);color:var(--admin-muted)}
.qs-main textarea{min-height:104px;resize:vertical}
.qs-main label{line-height:1.6;color:var(--admin-muted)}
.qs-main :is(.qs-submit,.qs-btn,.qs-quickbtn,.btn,.qs-room-create){border-radius:9px;min-height:37px;font-size:13px;font-weight:550;line-height:1.4;text-align:center;letter-spacing:0;text-decoration:none;transition:background .15s,box-shadow .15s}
.qs-main :is(.qs-submit,.qs-btn,.btn){box-shadow:0 2px 4px #2563eb15}
.qs-main .qs-quickbtn{background:var(--admin-surface);border-color:var(--admin-line);color:var(--admin-muted)!important;-webkit-text-fill-color:var(--admin-muted)}
.qs-main .qs-quickbtn:hover{background:var(--admin-soft);border-color:#a9c5f7;color:var(--admin-accent)!important;-webkit-text-fill-color:var(--admin-accent)}
.qs-main .qs-quickbtn--active{background:var(--admin-soft);border-color:#aac7ff;color:var(--admin-accent)!important;-webkit-text-fill-color:var(--admin-accent)}
.qs-table-wrap{position:relative;overflow:auto;max-width:100%;max-height:76vh;border:1px solid var(--admin-line);border-radius:12px;background:var(--admin-surface);overscroll-behavior-x:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.qs-main .qs-table-wrap table{display:table!important;min-width:100%;width:100%;border-radius:0;overflow:visible;background:var(--admin-surface);border-collapse:separate;border-spacing:0;margin:0}
.qs-main .qs-table-wrap :is(th,td){padding:14px 16px;font-size:13px;line-height:1.55;border-bottom:1px solid var(--admin-line);white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--admin-ink)}
.qs-main .qs-table-wrap th{position:sticky;top:0;z-index:2;background:var(--admin-canvas);color:var(--admin-muted);font-weight:600}
.qs-main .qs-table-wrap tr:last-child td{border-bottom:0}
.qs-main .qs-table-wrap tr:hover td{background:var(--admin-hover)}
.qs-main .qs-table-wrap td{background:var(--admin-surface)}
.qs-table-wrap.qs-sticky-actions :is(td,th):last-child{position:sticky;right:0;box-shadow:-5px 0 10px #172a4505}
.qs-table-wrap.qs-sticky-actions th:last-child{z-index:3}
.qs-table-wrap td[colspan]{text-align:center;color:var(--admin-muted);padding:30px}
.qs-main .pager{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.qs-main .pager .pagination>li>a,.qs-main .pager .pagination>li>span{background:var(--admin-surface);border-color:var(--admin-line);color:var(--admin-muted)!important;-webkit-text-fill-color:var(--admin-muted)}
.qs-main .pager .pagination>li.active>span{background:#2563eb;color:#fff!important;-webkit-text-fill-color:#fff}
.qs-main .qs-note,.qs-main .tip{border-color:var(--admin-line);background:var(--admin-soft);color:var(--admin-ink)}
.qs-modal{z-index:80!important;backdrop-filter:blur(3px)}
.qs-app .qs-modal .qs-modal-card{max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);overflow:auto;background:var(--admin-surface);color:var(--admin-ink);border:1px solid var(--admin-line);box-shadow:0 24px 80px #15294630}
.qs-app .qs-modal-x{flex:none;min-height:34px;color:var(--admin-muted)!important;-webkit-text-fill-color:var(--admin-muted);background:var(--admin-canvas);border:1px solid var(--admin-line)}
.qs-app .ua-pop{max-width:760px}
.qs-app .ua-user span{color:var(--admin-muted)}
.qs-app .ua-query a{background:var(--admin-canvas);color:var(--admin-ink)}
body.qs-modal-open{overflow:hidden}
.qs-order-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:14px 0}
.qs-order-filter label{margin:0}.qs-order-filter input{display:block;min-width:210px;margin-top:5px}
.qs-order-filter .qs-btn{align-self:end}
[data-theme=dark] .qs-app .qs-side a.on{-webkit-text-fill-color:var(--admin-accent)}
[data-theme=dark] .qs-app .qs-group summary,[data-theme=dark] .qs-app .qs-brand,[data-theme=dark] .qs-app .qs-room-head label,[data-theme=dark] .qs-app .qs-room-name{color:var(--admin-ink)}
[data-theme=dark] .qs-app .qs-room-game,[data-theme=dark] .qs-app .qs-room-batch{background:var(--admin-surface);border-color:var(--admin-line)}
[data-theme=dark] .qs-app .qs-room-line:hover{background:var(--admin-hover)}
[data-theme=dark] .qs-app :is(.qs-type-card,.qs-user-card,.qs-agent-kpi,.qs-game-kpi){background:var(--admin-canvas);border-color:var(--admin-line);color:var(--admin-ink)}
@media(min-width:901px){body.qs-side-hide .qs-top,body.qs-side-hide .qs-main{margin-left:0}}
@media(min-width:901px) and (max-width:1450px){.qs-bento>.qs-bento-card.qs-span-3,.qs-bento>.qs-platform-hero.qs-span-3{grid-column:span 6}.qs-kpi-primary__value{font-size:29px}}
@media(max-width:1200px){.qs-main{padding:22px 20px}.qs-bento{gap:14px}.qs-bento-card{padding:17px}.qs-dash-filter__sep{display:none}}
@media(max-width:900px){.qs-side{top:60px;width:250px}.qs-top,.qs-main{margin-left:0}.qs-top{height:60px;padding:0 14px;z-index:60}.qs-mask{top:60px;z-index:45}.qs-side{z-index:50}.qs-main{padding:20px 14px 32px}.qs-dash-title{font-size:22px}.qs-dash-hero,.gl-hero{flex-wrap:wrap}.qs-dash-filter{padding:14px}.qs-dash-filter__group{flex-wrap:wrap;gap:8px}.qs-dash-filter__group .qs-dateinput{max-width:145px}.qs-modal{padding:72px 12px 16px!important}.qs-app .qs-modal .qs-modal-card{max-height:calc(100dvh - 90px);padding:18px}.qs-table-wrap{max-height:72vh}.qs-main .qs-table-wrap :is(th,td){padding:12px}.qs-login-chip{flex-wrap:wrap;white-space:normal}}
@media(prefers-reduced-motion:reduce){.qs-app *{scroll-behavior:auto;transition:none!important}}

/* Login shares the same visual language as the admin shell. */
.qs-login-page{margin:0;min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 8% 0%,#e6efff,transparent 54%),#f5f7fb;color:#172339;font:14px/1.6 Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
.qs-login-layout{width:min(1000px,calc(100% - 48px));display:grid;grid-template-columns:1fr 420px;gap:70px;align-items:center;padding:60px 0;box-sizing:border-box}
.qs-login-brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;color:#1d3760;margin-bottom:38px}
.qs-login-brand svg{width:38px;height:38px}
.qs-login-intro h1{font-size:38px;line-height:1.35;letter-spacing:-1px;margin:0 0 18px;max-width:390px}
.qs-login-intro p{color:#64748b;font-size:16px;margin:0 0 24px;max-width:365px}
.qs-login-points{display:flex;gap:10px;flex-wrap:wrap;color:#526782}.qs-login-points span{padding:7px 13px;border:1px solid #dce5f2;border-radius:8px;background:#ffffff80;font-size:12px}
.qs-login-card{padding:36px;border:1px solid #e3e9f2;border-radius:20px;background:#fff;box-shadow:0 18px 60px #1a365d0b;box-sizing:border-box;min-width:0}
.qs-login-card h2{font-size:24px;margin:0 0 5px;color:#172339}.qs-login-card .qs-login-sub{margin:0 0 28px;color:#64748b;font-size:13px}
.qs-login-card label{display:block;font-size:13px;font-weight:550;margin:18px 0 8px;color:#45566e}
.qs-login-card input{width:100%;height:46px;padding:0 13px;border:1px solid #d8e1ed;border-radius:9px;background:#fff;font:inherit;color:#172339;box-sizing:border-box;outline:none}
.qs-login-card input:focus{border-color:#5286eb;box-shadow:0 0 0 3px #e8f0ff}
.qs-login-card button{width:100%;height:46px;margin-top:26px;border:0;border-radius:9px;background:#2563eb;color:#fff;font-family:inherit;font-size:15px;font-weight:600;line-height:1.4;cursor:pointer;box-shadow:0 3px 8px #2563eb20}
.qs-login-card button:hover{background:#1d4ed8}.qs-login-card button:focus-visible{outline:3px solid #93b9ff;outline-offset:3px}
.qs-login-error{padding:10px 12px;background:#fff1f2;border:1px solid #ffe0e5;border-radius:8px;color:#be123c;font-size:13px}
.qs-login-card small{display:block;margin-top:22px;text-align:center;color:#94a3b8;font-size:12px}
@media(max-width:760px){.qs-login-layout{grid-template-columns:1fr;width:min(440px,calc(100% - 32px));gap:24px;padding:30px 0}.qs-login-brand{margin-bottom:18px;font-size:18px}.qs-login-intro h1{font-size:28px;margin:0 0 10px}.qs-login-intro p{font-size:14px;margin-bottom:0}.qs-login-points{display:none}.qs-login-card{padding:26px}.qs-login-card h2{font-size:22px}}
