:root{
  --bg:#05070d; --bg2:#080c16; --panel:#0b111d; --panel2:#0e1624;
  --line:rgba(94,196,255,.14); --line2:rgba(94,196,255,.28);
  --text:#e8f1ff; --muted:#7f8ca6; --cyan:#35e0ff; --blue:#4d8dff;
  --gold:#ffc857; --green:#5ad1a0; --red:#ff6b6b;
  --shadow:0 24px 70px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:
  radial-gradient(1200px 600px at 70% -10%,rgba(53,224,255,.08),transparent 60%),
  radial-gradient(900px 500px at 10% 110%,rgba(77,141,255,.08),transparent 60%),
  var(--bg);
  color:var(--text);font-family:"Microsoft YaHei","PingFang SC",system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:
  linear-gradient(rgba(80,170,255,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(80,170,255,.035) 1px,transparent 1px);
  background-size:44px 44px;mask-image:radial-gradient(circle at 50% 30%,#000 30%,transparent 85%)}
button,input,select{font:inherit}
button{cursor:pointer}
.app{display:flex;min-height:100vh}
.sidebar{width:224px;flex:0 0 224px;padding:22px 16px;background:linear-gradient(180deg,rgba(9,15,26,.96),rgba(5,8,14,.96));border-right:1px solid var(--line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:10}
.brand{display:flex;align-items:center;gap:10px;padding:4px 6px 22px}
.brand-mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:17px;color:#031018;background:linear-gradient(135deg,var(--cyan),#7af0ff 50%,var(--blue));box-shadow:0 0 24px rgba(53,224,255,.45)}
.brand-name{font-size:15px;font-weight:700;letter-spacing:.5px}
.brand-sub{font-size:11px;color:var(--muted);margin-top:2px}
.nav{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.nav-item{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid transparent;background:transparent;color:#93a1b8;border-radius:11px;text-align:left;transition:.2s}
.nav-item svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.nav-item:hover{color:#dff6ff;background:rgba(53,224,255,.06)}
.nav-item.active{color:#eaffff;background:linear-gradient(90deg,rgba(53,224,255,.16),rgba(53,224,255,.04));border-color:rgba(53,224,255,.32);box-shadow:inset 3px 0 0 var(--cyan),0 0 22px rgba(53,224,255,.08)}
.sidebar-foot{margin-top:auto;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}
.ws-label{font-size:10px;color:var(--muted);letter-spacing:1px}
.ws-name{font-size:12px;font-weight:600;margin-top:5px}
.ws-hint{font-size:10px;color:var(--muted);margin-top:5px}
.main{flex:1;min-width:0;padding:18px 22px 30px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:2px 2px 16px}
.page-title{font-size:23px;font-weight:800;letter-spacing:.5px}
.page-sub{font-size:11px;color:var(--muted);margin-top:4px}
.top-actions{display:flex;align-items:center;gap:10px}
.live-pill{display:flex;align-items:center;gap:6px;font-size:11px;color:#bdf7ff;border:1px solid rgba(53,224,255,.25);background:rgba(53,224,255,.08);padding:6px 10px;border-radius:999px}
.live-pill i{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.35;transform:scale(.8)}}
.avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:13px;font-weight:800;background:linear-gradient(135deg,#17324f,#0b1a2d);border:1px solid var(--line2);color:var(--cyan)}
.btn{border:1px solid rgba(53,224,255,.35);background:linear-gradient(135deg,rgba(53,224,255,.22),rgba(77,141,255,.18));color:#dffbff;padding:9px 14px;border-radius:10px;font-size:12px;font-weight:600;transition:.2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(53,224,255,.18)}
.btn.ghost{background:rgba(255,255,255,.03);border-color:var(--line2);color:#a8c0d8}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.page{display:none;animation:fade .35s ease}
.page.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}
.kpi{padding:15px 17px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(14,22,36,.9),rgba(9,14,24,.9));position:relative;overflow:hidden}
.kpi::after{content:"";position:absolute;right:-30px;top:-40px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(53,224,255,.14),transparent 70%)}
.kpi-label{font-size:11px;color:var(--muted)}
.kpi-value{font-size:28px;font-weight:800;margin-top:7px;letter-spacing:.5px;color:#f2fbff;text-shadow:0 0 22px rgba(53,224,255,.2)}
.kpi-foot{font-size:10px;color:var(--muted);margin-top:6px}
.kpi-foot.up{color:var(--green)}
.panel{border:1px solid var(--line);border-radius:16px;background:linear-gradient(165deg,rgba(13,20,33,.92),rgba(8,12,20,.94));box-shadow:var(--shadow);padding:16px}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px}
.panel-head.compact{align-items:center;margin-bottom:12px}
.panel-title{font-size:15px;font-weight:700}
.panel-sub{font-size:10px;color:var(--muted);margin-top:4px}
.tag{font-size:10px;color:var(--cyan);border:1px solid rgba(53,224,255,.25);background:rgba(53,224,255,.07);padding:3px 8px;border-radius:999px}
.seg{display:flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.25)}
.seg button{border:0;background:transparent;color:var(--muted);font-size:11px;padding:6px 11px;border-radius:7px}
.seg button.active{background:rgba(53,224,255,.16);color:#dffbff;box-shadow:0 0 14px rgba(53,224,255,.12)}
.seg.mini{padding:2px}
.seg.mini button{font-size:10px;padding:4px 8px}
.demo-mark{display:inline-block;width:5px;height:5px;margin-left:5px;vertical-align:2px;transform:rotate(45deg);background:rgba(255,200,87,.55);box-shadow:0 0 6px rgba(255,200,87,.28)}
.data-table .money.cum{color:#ffe2a1}
.last-sync{color:var(--green)}
.last-sync::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 7px var(--green);margin-right:4px;vertical-align:1px}
.data-table td,.data-table th{font-size:11px}
@media (min-width:1500px){.data-table td,.data-table th{font-size:12px}}
.dash-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(290px,.8fr);gap:14px}
.map-panel{padding:16px 16px 8px;display:flex;flex-direction:column;min-height:600px}
.map-wrap{position:relative;flex:1;min-height:520px}
.map-glow{position:absolute;inset:6% 12%;background:radial-gradient(ellipse at 50% 46%,rgba(53,224,255,.12),transparent 65%);filter:blur(18px);pointer-events:none}
.map{position:absolute;inset:0}
.map-legend{display:flex;align-items:center;gap:8px;justify-content:flex-end;padding:2px 8px 8px;font-size:10px;color:var(--muted)}
.map-legend i{width:96px;height:5px;border-radius:5px;background:linear-gradient(90deg,#0b2036,#0f4c68,#1d8ba8,#35e0ff,#ffc857)}
.map-legend em{font-style:normal;color:#c7d7e8;margin-left:8px}
.side-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.rank-panel{flex:1}
.rank-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.rank-list li{display:grid;grid-template-columns:22px 1fr auto;gap:9px;align-items:center;font-size:12px}
.rank-no{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:10px;color:var(--muted);background:rgba(255,255,255,.04)}
.rank-list li:nth-child(1) .rank-no{color:#1b1300;background:linear-gradient(135deg,#ffe08a,#ffc857);font-weight:800}
.rank-list li:nth-child(2) .rank-no{color:#dffbff;background:rgba(53,224,255,.2)}
.rank-list li:nth-child(3) .rank-no{color:#dffbff;background:rgba(77,141,255,.2)}
.rank-name{display:flex;flex-direction:column;gap:4px;min-width:0}
.rank-name b{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-bar{height:3px;border-radius:3px;background:linear-gradient(90deg,var(--cyan),rgba(53,224,255,.1));opacity:.7}
.rank-val{font-size:11px;color:var(--gold);font-weight:600;white-space:nowrap}
.bottom-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:14px;margin-top:14px}
.trend-chart{height:210px}
.live-dot{font-size:9px;letter-spacing:1px;color:var(--cyan);border:1px solid rgba(53,224,255,.3);padding:3px 7px;border-radius:5px}
.live-meta{display:flex;align-items:center;gap:8px}
.live-meta #liveSummary{font-size:10px;color:var(--muted);white-space:nowrap}
.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.feed li{display:flex;gap:9px;align-items:flex-start;font-size:11px;color:#b9c8da;border-bottom:1px dashed rgba(255,255,255,.05);padding-bottom:9px}
.feed li:last-child{border:0;padding:0}
.feed .dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan);margin-top:4px;flex:0 0 auto}
.feed b{color:#fff;font-weight:600}
.feed em{font-style:normal;color:var(--gold)}
.feed time{margin-left:auto;color:var(--muted);font-size:10px;white-space:nowrap}
.filterbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.filterbar select{background:#0b111d;color:#dbe9f7;border:1px solid var(--line2);border-radius:9px;padding:8px 11px;font-size:12px;outline:none}
.summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.summary-card{border:1px solid var(--line);border-radius:12px;background:rgba(13,20,33,.85);padding:13px 15px}
.summary-card span{font-size:10px;color:var(--muted)}
.summary-card b{display:block;font-size:20px;margin-top:5px}
.table-panel{padding:16px}
.data-table{width:100%;border-collapse:collapse;font-size:12px}
.data-table th{text-align:left;color:var(--muted);font-weight:500;font-size:10px;letter-spacing:.5px;padding:10px 11px;border-bottom:1px solid var(--line);white-space:nowrap}
.data-table td{padding:11px;border-bottom:1px solid rgba(255,255,255,.04);color:#c8d6e6;white-space:nowrap}
.data-table tr:hover td{background:rgba(53,224,255,.035)}
.data-table .money{color:var(--gold);font-weight:700}
.data-table .game-name{color:#eaf7ff;font-weight:600}
.data-table .op{display:flex;gap:7px}
.mini-btn{border:1px solid rgba(53,224,255,.28);background:rgba(53,224,255,.08);color:#c9f6ff;font-size:10px;padding:5px 9px;border-radius:7px}
.mini-btn:hover{background:rgba(53,224,255,.16)}
.mini-btn.plain{border-color:var(--line);background:rgba(255,255,255,.03);color:#a9bacd}
.table-foot{padding-top:12px;font-size:10px;color:var(--muted);text-align:right}
.accounts-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.6fr);gap:14px;align-items:start}
.brand-editor .brand-preview{margin-top:16px;display:flex;flex-direction:column;gap:12px}
.bp-left,.bp-right{border:1px dashed rgba(255,122,69,.65);border-radius:12px;padding:18px;display:flex;align-items:center;gap:12px;position:relative;background:rgba(255,122,69,.04)}
.bp-left::after,.bp-right::after{content:"主后台可改";position:absolute;top:-9px;left:12px;font-size:9px;color:#ffb18f;background:#160d09;padding:1px 6px;border-radius:4px}
.bp-left .logo,.bp-right .logo{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;font-weight:800;background:linear-gradient(135deg,#ffb648,#ff7a45);color:#1b0a00}
.bp-left .name,.bp-right .name{font-size:14px;font-weight:700}
.bp-left .sub,.bp-right .sub{font-size:10px;color:var(--muted);margin-top:3px}
.hint-box{margin-top:14px;font-size:10px;line-height:1.7;color:var(--muted);border-left:2px solid rgba(53,224,255,.4);padding-left:10px}
.account-brand{display:flex;align-items:center;gap:9px}
.account-brand .logo{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-weight:800;font-size:12px;color:#04131a;background:linear-gradient(135deg,var(--cyan),var(--blue))}
.status{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--green)}
.status i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
.login-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:10px}
.toolbar-label{font-size:11px;color:var(--muted)}
.login-toolbar select{background:#0b111d;color:#dbe9f7;border:1px solid var(--line2);border-radius:9px;padding:8px 11px;font-size:12px}
.check{display:flex;align-items:center;gap:6px;font-size:11px;color:#b8c8da}
.check input{accent-color:var(--cyan)}
.login-wrap{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#060a12;box-shadow:var(--shadow)}
.login-shell{min-height:660px;display:grid;grid-template-columns:1.15fr .85fr;position:relative;background:
  radial-gradient(800px 500px at 20% 40%,rgba(36,110,160,.18),transparent 60%),
  linear-gradient(135deg,#07101d,#050810 65%)}
.login-left{padding:70px 8% 40px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.lg-orbs i{position:absolute;border-radius:50%;filter:blur(2px);opacity:.6}
.lg-orbs i:nth-child(1){width:160px;height:160px;left:-40px;top:10%;background:radial-gradient(circle,rgba(53,224,255,.22),transparent 70%)}
.lg-orbs i:nth-child(2){width:220px;height:220px;left:30%;bottom:-80px;background:radial-gradient(circle,rgba(77,141,255,.18),transparent 70%)}
.lg-orbs i:nth-child(3){width:90px;height:90px;right:8%;top:18%;background:radial-gradient(circle,rgba(255,200,87,.12),transparent 70%)}
.login-brand-block{position:relative;z-index:1;width:fit-content;padding:14px 18px;border-radius:14px}
.login-logo{width:62px;height:62px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#203a5c,#0d1828);border:1px solid rgba(53,224,255,.35);box-shadow:0 0 40px rgba(53,224,255,.18);color:var(--cyan);font-weight:800;font-size:22px;overflow:hidden}
.login-logo img{width:100%;height:100%;object-fit:cover}
.login-logo.small{width:40px;height:40px;border-radius:10px;font-size:15px;box-shadow:none}
.login-company{font-size:26px;font-weight:800;letter-spacing:1px;margin-top:12px;color:#f1fbff}
.login-card .login-company{font-size:18px;margin-top:7px;color:#162033;text-align:center}
.login-subtitle{font-size:11px;color:#7ea6bd;letter-spacing:2px;margin-top:5px}
.login-card .login-subtitle{color:#8a9aad;text-align:center;letter-spacing:1px}
.login-features{list-style:none;margin:46px 0 0;padding:0;display:flex;flex-direction:column;gap:13px;position:relative;z-index:1}
.login-features li{font-size:12px;color:#9fdfe8;padding-left:16px;position:relative}
.login-features li::before{content:"";position:absolute;left:0;top:5px;width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
.login-contact{margin-top:40px;width:fit-content;font-size:11px;color:#9fb6c8;border:1px solid rgba(255,255,255,.14);padding:8px 14px;border-radius:8px;position:relative;z-index:1}
.login-right{display:flex;align-items:center;justify-content:center;padding:36px 9%}
.login-card{width:100%;max-width:350px;background:#f4f6fa;border-radius:20px;padding:30px 28px 24px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.login-card-brand{position:relative;display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:12px}
.login-card .login-logo.small{background:#fff;border:1px solid #d9e0ea}
.login-tabs{display:flex;justify-content:center;margin:18px 0 16px;border-bottom:1px solid #e4e9f0}
.login-tabs span{font-size:11px;color:#2b6ee6;font-weight:700;padding:0 6px 9px;border-bottom:2px solid #2b6ee6}
.form-item{margin-bottom:12px}
.form-item label{display:block;font-size:10px;color:#7d8ba0;margin-bottom:5px}
.form-item input{width:100%;border:1px solid #e0e6ee;background:#fff;border-radius:8px;padding:9px 11px;font-size:12px;color:#1a2433;outline:none}
.form-item input:focus{border-color:#2b6ee6;box-shadow:0 0 0 3px rgba(43,110,230,.1)}
.pwd-wrap{position:relative}
.pwd-wrap input{padding-right:44px}
.eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:10px;color:#7d8ba0}
.login-row{display:flex;justify-content:space-between;align-items:center;margin:10px 0 16px;font-size:10px;color:#7d8ba0}
.login-row a{color:#2b6ee6;text-decoration:none}
.login-submit{width:100%;border:0;border-radius:9px;background:linear-gradient(135deg,#1f4f9e,#2b6ee6);color:#fff;font-size:13px;font-weight:700;padding:11px;box-shadow:0 10px 24px rgba(43,110,230,.25)}
.login-submit:hover{filter:brightness(1.08)}
.login-foot{text-align:center;font-size:10px;color:#9aa6b8;margin-top:14px}
.editable{position:relative}
.show-edit .editable{outline:2px dashed #ff7a45;outline-offset:7px}
.show-edit .editable::after{content:attr(data-tag);position:absolute;top:-19px;left:0;font-size:9px;color:#ffb18f;background:#1a0d08;border:1px solid rgba(255,122,69,.5);padding:1px 6px;border-radius:4px;white-space:nowrap}
.modal-backdrop{position:fixed;inset:0;background:rgba(2,6,12,.72);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal-backdrop.open{display:flex}
.modal{width:min(540px,100%);max-height:86vh;overflow:auto;border:1px solid var(--line2);border-radius:18px;background:linear-gradient(165deg,#0d1522,#080c14);box-shadow:0 40px 120px rgba(0,0,0,.6);padding:20px}
.modal h3{margin:0 0 4px;font-size:17px}
.modal .modal-sub{font-size:10px;color:var(--muted);margin-bottom:16px}
.modal .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.modal .field{display:flex;flex-direction:column;gap:5px}
.modal .field.full{grid-column:1/-1}
.modal label{font-size:10px;color:var(--muted)}
.modal input,.modal select{background:#0a111d;border:1px solid var(--line2);border-radius:8px;padding:9px 10px;color:#dceaf7;font-size:12px;outline:none}
.modal input:focus,.modal select:focus{border-color:var(--cyan)}
.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.logo-upload{display:flex;align-items:center;gap:12px}
.logo-upload .preview{width:46px;height:46px;border-radius:10px;border:1px dashed var(--line2);display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.02);font-weight:800;color:var(--cyan)}
.logo-upload .preview img{width:100%;height:100%;object-fit:cover}
.logo-upload input[type=file]{font-size:10px;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px;max-height:120px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:8px}
.chips label{display:flex;align-items:center;gap:4px;font-size:10px;color:#b8c8da;background:rgba(255,255,255,.03);padding:4px 6px;border-radius:5px}
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:rgba(9,20,32,.95);border:1px solid rgba(53,224,255,.35);color:#dffbff;padding:10px 18px;border-radius:10px;font-size:12px;box-shadow:0 20px 60px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:.25s;z-index:120}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:1200px){
  .dash-grid{grid-template-columns:1fr}
  .side-col{flex-direction:row}
  .rank-panel{flex:1}
  .bottom-grid{grid-template-columns:1fr}
  .accounts-grid{grid-template-columns:1fr}
  .kpi-row{grid-template-columns:repeat(2,1fr)}
  .kpi-row.five{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  .sidebar{display:none}
  .main{padding:14px}
  .login-shell{grid-template-columns:1fr;min-height:auto}
  .login-left{padding:40px 8%}
  .login-right{padding:30px 8% 40px}
  .summary-row{grid-template-columns:repeat(2,1fr)}
}

/* ===== 正式后台新增样式 ===== */
.login-screen{position:fixed;inset:0;z-index:200;background:radial-gradient(ellipse at 20% 20%,#0a1626,#05080f 60%);overflow:auto;padding:22px;display:none}
.login-screen.open{display:block}
.login-screen .login-wrap{max-width:1180px;margin:0 auto}
.login-screen:not(.preview) .login-wrap{min-height:calc(100vh - 44px);display:flex;align-items:center}
.login-screen .login-shell{width:100%}
.login-preview-bar{display:none;max-width:1180px;margin:0 auto 12px;justify-content:space-between;align-items:center;gap:12px}
.login-screen.preview .login-preview-bar{display:flex}
.login-preview-left{display:flex;align-items:center;gap:10px}
.login-preview-left select{background:#0b111d;color:#dbe9f7;border:1px solid var(--line2);border-radius:9px;padding:8px 11px;font-size:12px}
.panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.searchbox{background:#0b111d;color:#dbe9f7;border:1px solid var(--line2);border-radius:9px;padding:8px 11px;font-size:12px;outline:none;min-width:200px}
.searchbox:focus{border-color:rgba(53,224,255,.45)}
.pager{display:flex;justify-content:flex-end;align-items:center;gap:6px;padding-top:12px;flex-wrap:wrap}
.pager button,.pager span{font-size:11px;color:#a9bacd;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:7px;padding:5px 9px}
.pager button.active{color:#eaffff;border-color:rgba(53,224,255,.45);background:rgba(53,224,255,.12)}
.pager button:disabled{opacity:.4;cursor:not-allowed}
/* 大屏：五列 KPI + 游戏搜索 */
.kpi-row.five{grid-template-columns:repeat(5,1fr)}
.game-search{position:relative}
.game-search .searchbox{min-width:280px}
.search-drop{position:absolute;left:0;top:calc(100% + 6px);width:100%;min-width:280px;max-height:300px;overflow:auto;background:rgba(9,18,30,.98);border:1px solid rgba(53,224,255,.28);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.55);padding:4px;display:none;z-index:60}
.search-drop.open{display:block}
.search-drop button{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;background:none;border:0;color:#dffbff;font-size:12px;text-align:left;padding:8px 10px;border-radius:7px;cursor:pointer}
.search-drop button:hover{background:rgba(53,224,255,.1)}
.search-drop button b{font-weight:600}
.search-drop button span{font-size:10px;color:var(--muted)}
.search-empty{padding:10px;font-size:11px;color:var(--muted)}
.filter-hint{font-size:11px;color:var(--muted)}
.filter-hint b{color:#35e0ff}
button[hidden]{display:none}
.rt-tag{font-style:normal;font-size:9px;color:#35e0ff;border:1px solid rgba(53,224,255,.35);border-radius:4px;padding:0 4px;margin-left:4px;vertical-align:1px}
.detail-daily{margin-top:10px;max-height:300px;overflow:auto;border:1px solid rgba(255,255,255,.06);border-radius:10px}
.detail-daily .data-table{width:100%;margin:0}
.detail-daily thead th{position:sticky;top:0;background:rgba(9,18,30,.98);z-index:1}
.logout-btn{margin-top:10px;width:100%;border:1px solid var(--line);background:rgba(255,255,255,.02);color:#8fa3ba;border-radius:8px;padding:7px;font-size:10px}
.logout-btn:hover{color:#ffb0b0;border-color:rgba(255,110,110,.35)}
.brand-mark img,.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.brand-editor-form{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.brand-editor-form .field{display:flex;flex-direction:column;gap:5px}
.brand-editor-form label{font-size:10px;color:var(--muted)}
.brand-editor-form input{background:#0a111d;border:1px solid var(--line2);border-radius:8px;padding:9px 10px;color:#dceaf7;font-size:12px;outline:none}
.brand-editor-form input:focus{border-color:var(--cyan)}
.brand-editor-form input[type=file]{padding:7px;color:#9fb3c8}
.bp-left .logo img,.bp-right .logo img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.mini-btn.danger{border-color:rgba(255,110,110,.35);background:rgba(255,110,110,.08);color:#ffbcbc}
.mini-btn.danger:hover{background:rgba(255,110,110,.16)}
.logout-btn{display:none}
body.authed .logout-btn{display:block}
.chips.binding{max-height:220px}
.chips.binding label{width:calc(50% - 3px)}
.modal .readonly-note{font-size:10px;color:#8a9aad;margin-top:4px}
body:not(.authed) .app{display:none}
.brand-logo-mini{width:22px;height:22px;border-radius:6px;object-fit:cover;display:inline-block}
.brand-letter{width:22px;height:22px;border-radius:6px;display:inline-grid;place-items:center;font-size:11px;font-weight:800;color:#031018;background:linear-gradient(135deg,#35e0ff,#7af0ff)}
