
.portal-loading strong[data-v-198e95ab]{max-width:calc(100vw - 40px);text-align:center}

.robot-coin-range[data-v-ef510de0]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.robot-coin-hint[data-v-ef510de0]{display:block;max-width:100%;overflow-x:auto;white-space:nowrap}
.shared-image-viewer {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 4.5rem 1.25rem 1.5rem;
  color: #fff;
  background: rgba(2, 8, 18, 0.92);
  backdrop-filter: blur(0.5rem);
}

.shared-image-viewer-stage {
  width: 100%;
  height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
}

.shared-image-viewer-canvas {
  display: grid;
  min-width: 100%;
  min-height: 100%;
  place-items: center;
}

.shared-image-viewer-stage img {
  display: block;
  max-width: min(92vw, 100%);
  max-height: calc(100vh - 8rem);
  object-fit: contain;
  transition: width 120ms ease, height 120ms ease;
  user-select: none;
}

.shared-image-viewer-toolbar {
  position: fixed;
  z-index: 1;
  top: 1rem;
  left: 50%;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 0.875rem;
  background: rgba(10, 22, 39, 0.94);
  box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.35);
  transform: translateX(-50%);
}

.shared-image-viewer button {
  display: grid;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.625rem;
  color: #fff;
  background: #152b48;
  font: inherit;
  font-size: 0.875rem;
  cursor: pointer;
}

.shared-image-viewer button:hover {
  background: #245284;
}

.shared-image-viewer output {
  min-width: 4.25rem;
  color: #dcecff;
  font-size: 0.875rem;
  text-align: center;
}

.shared-image-viewer-close {
  position: fixed;
  z-index: 2;
  top: 1rem;
  right: 1rem;
  font-size: 1.375rem !important;
}

@media (max-width: 640px) {
  .shared-image-viewer {
    padding: 4.25rem 0.75rem 1rem;
  }

  .shared-image-viewer-stage img {
    max-width: 96vw;
    max-height: calc(100vh - 7rem);
  }

  .shared-image-viewer-toolbar {
    left: 0.75rem;
    transform: none;
  }
}
:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#eaf0ff;background:#07101f;font-synthesis:none;--bg:#07101f;--panel:#101c31;--panel2:#13223b;--line:#243755;--muted:#8fa2be;--primary:#69e5c2;--blue:#6e8cff;--danger:#ff7f8d}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 80% 0,#14284a 0,transparent 34%),var(--bg)}button,input{font:inherit}button{cursor:pointer;white-space:nowrap}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}.eyebrow{margin:0;color:var(--primary);font-size:0.75rem;font-weight:800;letter-spacing:.18em}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:800}.brand img{width:39px;height:39px}.brand span{display:flex;flex-direction:column}.brand small{margin-top:3px;color:var(--muted);font-size:0.75rem;font-weight:500}.brand-large{font-size:1.1875rem}.brand-large img{width:46px;height:46px}.login-view{position:relative;min-height:100vh;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(6px);opacity:.28}.orb-a{width:420px;height:420px;top:-210px;left:-120px;background:#38d7b3}.orb-b{width:520px;height:520px;right:-250px;bottom:-280px;background:#4d6fff}.login-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);gap:80px;align-items:center;width:min(1120px,calc(100% - 64px));min-height:100vh;margin:auto;padding:60px 0}.login-copy h1{margin:32px 0 20px;font-size:clamp(2.6875rem,5vw,4.375rem);line-height:1.12;letter-spacing:-.045em}.login-copy>p:not(.eyebrow){max-width:620px;color:#aebed5;font-size:1.0625rem;line-height:1.8}.login-copy>.eyebrow{margin-top:90px}.login-features{display:flex;flex-wrap:wrap;gap:22px;margin-top:38px;color:#cad5e8;font-size:0.8125rem}.login-features span{display:flex;align-items:center;gap:8px}.login-features i,.online i,.session-note i{width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 13px var(--primary)}.login-card{padding:42px;border:1px solid rgba(135,163,207,.22);border-radius:26px;background:rgba(14,27,49,.87);box-shadow:0 28px 90px rgba(0,0,0,.35);backdrop-filter:blur(16px)}.login-card h2{margin:10px 0 8px;font-size:1.875rem}.muted,.login-card>p{color:var(--muted);line-height:1.6}.mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:30px;font-weight:800}.mobile-brand img{width:34px}form label{display:block;margin:20px 0 8px;color:#c9d4e7;font-size:0.75rem;font-weight:700}.input-wrap{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:11px;background:#0a1528;transition:.2s}.input-wrap:focus-within,input:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.12);outline:none}.input-wrap>span{color:#6f83a5}.input-wrap input{min-width:0;flex:1;padding:13px 0;border:0;outline:0;color:#fff;background:transparent}.text-button{border:0;color:#91a9c9;background:transparent;font-size:0.75rem}.captcha-line{display:grid;grid-template-columns:minmax(0,1fr) 122px;gap:10px}.captcha{position:relative;overflow:hidden;min-height:48px;padding:0;border:1px solid var(--line);border-radius:11px;background:#fff}.captcha img{display:block;width:100%;height:48px;object-fit:contain}.captcha small{position:absolute;right:4px;bottom:3px;padding:1px 4px;border-radius:4px;color:#fff;background:rgba(4,13,28,.7);font-size:0.75rem}.form-error{min-height:20px;margin:9px 0 0;color:#ff9ba6;font-size:0.75rem}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 18px;border:0;border-radius:10px;font-weight:800}.primary{color:#071321;background:linear-gradient(135deg,var(--primary),#75a9ff);box-shadow:0 9px 24px rgba(64,197,190,.16)}.secondary{border:1px solid var(--line);color:#dbe5f6;background:#14233c}.login-submit{width:100%;min-height:50px;margin-top:8px}.session-note{display:flex;align-items:center;justify-content:center;gap:9px;margin:22px 0 0!important;font-size:0.75rem}.app{min-height:100vh}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;display:flex;flex-direction:column;width:250px;padding:26px 18px;border-right:1px solid var(--line);background:#0a1527}.side-head{display:flex;align-items:center;justify-content:space-between;padding:0 8px}.icon-button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:9px;color:#aec0da;background:transparent}.icon-button:hover{background:#172740}.side-head>.icon-button{display:none}.sidebar nav{margin-top:38px}.sidebar nav>p{margin:22px 12px 8px;color:#647895;font-size:0.75rem;font-weight:800;letter-spacing:.15em}.nav{display:flex;align-items:center;gap:13px;width:100%;padding:12px 14px;border:0;border-radius:10px;color:#97aac5;background:transparent;text-align:left}.nav>span{display:grid;place-items:center;width:21px;color:#7390ba;font-size:1.125rem}.nav:hover,.nav.active{color:#f4f7ff;background:#152640}.nav.active{box-shadow:inset 3px 0 var(--primary)}.side-user{display:grid;grid-template-columns:38px minmax(0,1fr) 34px;gap:10px;align-items:center;margin-top:auto;padding:16px 8px 0;border-top:1px solid var(--line)}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#08251f;background:var(--primary);font-weight:900}.side-user strong,.side-user span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user strong{font-size:0.75rem}.side-user span{margin-top:3px;color:var(--muted);font-size:0.75rem}.workspace{min-height:100vh;margin-left:250px;padding:34px clamp(24px,4vw,58px) 60px}.topbar{display:flex;align-items:center;gap:20px;margin-bottom:34px}.topbar h1{margin:5px 0 0;font-size:1.8125rem}.online{display:flex;align-items:center;gap:9px;margin-left:auto;color:#aebed4;font-size:0.75rem}.menu-button{display:none}.view{max-width:1440px}.panel{border:1px solid var(--line);border-radius:18px;background:linear-gradient(150deg,rgba(19,34,59,.96),rgba(13,25,45,.96));box-shadow:0 17px 44px rgba(0,0,0,.13)}.welcome{display:flex;align-items:center;justify-content:space-between;min-height:185px;padding:35px 42px;overflow:hidden}.welcome h2{margin:8px 0;font-size:2.0625rem}.welcome>div>p:last-child{margin:0;color:var(--muted)}.cube{display:grid;place-items:center;width:105px;height:105px;border:1px solid #36547b;border-radius:28px;color:#071523;background:linear-gradient(135deg,var(--primary),var(--blue));font-size:3rem;font-weight:900;transform:rotate(8deg);box-shadow:22px 24px 60px rgba(30,112,161,.27)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}.stat{padding:23px}.stat span,.stat small{display:block;color:var(--muted);font-size:0.75rem}.stat strong{display:block;overflow:hidden;margin:13px 0 8px;color:#f3f7ff;font-size:1.375rem;text-overflow:ellipsis;white-space:nowrap}.quick-panel{margin-top:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 27px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:1.1875rem}.panel-head p{margin:7px 0 0;color:var(--muted);font-size:0.75rem}.pill{padding:7px 10px;border:1px solid #31534d;border-radius:999px;color:var(--primary);background:#102d2b;font-size:0.75rem}.quick-domains{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:22px 27px}.domain-chip{min-width:0;padding:16px;border:1px solid var(--line);border-radius:13px;background:#0c182b}.domain-chip span{display:block;margin-bottom:7px;color:#6f86a8;font-size:0.75rem;text-transform:uppercase}.domain-chip a,.domain-chip strong{display:block;overflow:hidden;color:#dfeaff;font-size:0.75rem;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.domain-list{display:grid;gap:10px;padding:24px}.domain-row{display:grid;grid-template-columns:120px minmax(0,1fr) 90px;gap:18px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:#0c182a}.domain-kind{color:#9bb0ce;font-size:0.75rem;font-weight:800;text-transform:uppercase}.domain-address{overflow:hidden;color:#e8efff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}.domain-state{justify-self:end;padding:6px 9px;border-radius:999px;color:#66e8c0;background:#10352f;font-size:0.75rem}.domain-state.backup{color:#9cafcb;background:#1b2a40}.table-wrap{overflow-x:auto;padding:5px 24px 18px}table{width:100%;border-collapse:collapse;font-size:0.75rem}th,td{padding:15px 12px;border-bottom:1px solid #20334e;text-align:left;white-space:nowrap}th{color:#7187a8;font-size:0.75rem;letter-spacing:.07em}td{color:#c9d6e9}td.detail-cell{max-width:320px;overflow:hidden;text-overflow:ellipsis}.success{color:#6de7bf}.failure{color:#ff8e99}.empty{padding:55px;color:var(--muted);text-align:center}.pages{display:flex;justify-content:flex-end;gap:8px;padding:0 27px 24px}.pages button{min-width:35px;height:34px;border:1px solid var(--line);border-radius:8px;color:#b8c7dc;background:#0d192c}.pages button.active{border-color:var(--primary);color:#062017;background:var(--primary)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.setting{padding:30px}.setting-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;color:#081925;background:linear-gradient(135deg,var(--primary),#83a4ff);font-weight:900}.setting h2{margin:18px 0 8px}.setting>p{min-height:42px;margin:0;color:var(--muted);font-size:0.75rem;line-height:1.7}.setting>form>input{width:100%;height:48px;padding:0 14px;border:1px solid var(--line);border-radius:11px;color:#fff;background:#0a1528}.setting .primary{margin-top:8px}.toasts{position:fixed;z-index:50;top:20px;right:20px;display:grid;gap:10px;width:min(360px,calc(100% - 32px))}.toast{display:grid;grid-template-columns:4px 1fr 24px;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#14223a;box-shadow:0 18px 50px rgba(0,0,0,.4)}.toast>i{border-radius:9px;background:var(--primary)}.toast.error>i{background:var(--danger)}.toast strong,.toast span{display:block}.toast strong{font-size:0.75rem}.toast span{margin-top:4px;color:#aabbd3;font-size:0.75rem;line-height:1.5}.toast button{border:0;color:#8fa3c0;background:transparent}.side-mask{display:none}
.sidebar nav{flex:1;min-height:0;overflow-y:auto;padding-right:4px}.sidebar nav::-webkit-scrollbar{width:4px}.sidebar nav::-webkit-scrollbar-thumb{border-radius:5px;background:#29405f}.module-panel{overflow:hidden}.setting-form{padding:27px}.loading-block{padding:60px;color:var(--muted);text-align:center}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-field{display:flex;flex-direction:column;min-width:0;margin:0!important}.form-field.wide{grid-column:1/-1}.field-label{margin:0 0 8px;color:#91a5c3;font-size:0.75rem;font-weight:800}.form-field>input,.form-field>textarea,.compact-select{width:100%;border:1px solid var(--line);border-radius:10px;color:#eef4ff;background:#0a1528;outline:none;transition:.18s}.form-field>input{height:46px;padding:0 13px}.form-field>textarea{min-height:104px;padding:12px 13px;resize:vertical;line-height:1.65}.form-field>textarea.json-input{min-height:175px;color:#bfe8dd;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:0.75rem;tab-size:2}.form-field>input:focus,.form-field>textarea:focus,.compact-select:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.12)}.switch-field{justify-content:flex-end;min-height:70px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:#0c182b}.switch-field .field-label{margin-bottom:10px}.switch-control{display:flex;align-items:center;gap:9px;white-space:nowrap;flex-wrap:nowrap}
.switch-control>i,.mini-switch>i{flex-shrink:0}
.switch-control>b,.switch-control>span,.mini-switch>span,.benefit-switch b,.reward-switch b{white-space:nowrap}
.switch-control small,.reward-switch small{white-space:normal}.switch-control input,.mini-switch input{position:absolute;opacity:0;pointer-events:none}.switch-control i,.mini-switch i{position:relative;width:36px;height:20px;border-radius:20px;background:#30425d;transition:.18s}.switch-control i:after,.mini-switch i:after{position:absolute;content:"";width:14px;height:14px;top:3px;left:3px;border-radius:50%;background:#aebbd0;transition:.18s}.switch-control input:checked+i,.mini-switch input:checked+i{background:#2d8d76}.switch-control input:checked+i:after,.mini-switch input:checked+i:after{left:19px;background:#79f1cf}.switch-control b{color:#a9bad1;font-size:0.75rem}.form-footer{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:24px;padding-top:21px;border-top:1px solid var(--line)}.form-footer .form-error{flex:1;margin:0}.module-tabs{display:flex;gap:8px;overflow-x:auto;padding:18px 27px;border-bottom:1px solid var(--line)}.module-tabs button{flex:0 0 auto;min-height:36px;padding:0 15px;border:1px solid transparent;border-radius:9px;color:#91a5c2;background:#0c192c}.module-tabs button.active{border-color:#365a70;color:#7dedca;background:#12302f}.compact-select{width:auto;min-width:220px;height:40px;padding:0 34px 0 12px}.split-layout{display:grid;grid-template-columns:minmax(420px,.88fr) minmax(520px,1.12fr);gap:18px;align-items:start}.room-list-panel,.editor-panel{overflow:hidden}.room-list{display:grid;gap:9px;max-height:calc(100vh - 190px);overflow-y:auto;padding:18px}.room-row{display:grid;grid-template-columns:minmax(150px,1fr) 65px 65px 65px 65px;gap:8px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:12px;background:#0b1729;transition:.18s}.room-row:hover,.room-row.active{border-color:#3a5c73;background:#102138}.room-main{min-width:0;padding:0 8px;border:0;color:#fff;background:transparent;text-align:left}.room-main strong,.room-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-main strong{margin:4px 0;font-size:0.75rem}.room-main small{color:#7186a5;font-size:0.75rem}.room-code{color:var(--primary);font:700 0.75rem ui-monospace,SFMono-Regular,Consolas,monospace}.mini-switch{display:flex!important;flex-direction:row;white-space:nowrap;align-items:center;gap:4px;margin:0!important;color:#8297b5;font-size:0.75rem}.mini-switch i{display:block;width:30px;height:17px}.mini-switch i:after{width:11px;height:11px}.mini-switch input:checked+i:after{left:16px}.room-number{display:block!important;margin:0!important;color:#7185a4;font-size:0.75rem;text-align:center}.room-number span{display:block;margin-bottom:4px}.room-number input{width:100%;height:30px;padding:0 4px;border:1px solid var(--line);border-radius:7px;color:#dce7f8;background:#101e33;text-align:center}.room-editor{padding:24px}.editor-empty{min-height:360px;display:grid;place-items:center}.apply-all{display:flex!important;align-items:center;gap:9px;margin:0 auto 0 0!important;color:#a7b8ce;font-size:0.75rem}.apply-all input{accent-color:#65dfbd}.content-list{display:grid;gap:10px;padding:20px 24px}.content-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:12px;background:#0c182a}.content-row.compact{padding:12px}.content-state{padding:6px 8px;border-radius:999px;color:#93a4bc;background:#203047;font-size:0.75rem;text-align:center}.content-state.on{color:#6fe6c2;background:#11382f}.content-copy{min-width:0}.content-copy strong,.content-copy p,.content-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-copy strong{font-size:0.75rem}.content-copy p{margin:5px 0;color:#9bacc3;font-size:0.75rem}.content-copy small{color:#687e9d;font-size:0.75rem}.row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.row-actions button{min-height:31px;padding:0 10px;border:1px solid var(--line);border-radius:7px;color:#c2d1e5;background:#15243b;font-size:0.75rem}.row-actions button.danger{color:#ff9ca6}.dialog{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:24px;background:rgba(2,8,18,.76);backdrop-filter:blur(6px)}.dialog-card{width:min(720px,100%);max-height:calc(100vh - 48px);overflow-y:auto;border:1px solid var(--line);border-radius:20px;background:#101d32;box-shadow:0 30px 100px rgba(0,0,0,.55)}.dialog-head,.inline-editor-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 25px;border-bottom:1px solid var(--line)}.dialog-head h2,.inline-editor-head h3{margin:6px 0 0}.dialog-card .dynamic-form{padding:25px}.sub-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 27px;border-bottom:1px solid var(--line)}.sub-toolbar strong,.sub-toolbar span{display:block}.sub-toolbar span{margin-top:5px;color:var(--muted);font-size:0.75rem}.inline-editor{margin:0 24px 24px;border:1px solid #2a4262;border-radius:14px;background:#0b1729}.inline-editor-head p{margin:5px 0 0;color:var(--muted);font-size:0.75rem}.inline-editor-head>div:last-child{display:flex;align-items:center;gap:8px}.inline-editor .dynamic-form{padding:22px}.nested-form{border-top:1px solid var(--line)}.empty.small{padding:25px}
@media(max-width:1180px){.split-layout{grid-template-columns:1fr}.room-list{max-height:none}.editor-panel{min-height:400px}}
@media(max-width:1050px){.login-shell{grid-template-columns:1fr 390px;gap:38px}.login-copy h1{font-size:2.875rem}.stats{grid-template-columns:repeat(2,1fr)}.quick-domains{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}}
@media(max-width:780px){.login-shell{display:block;width:min(100% - 28px,480px);padding:26px 0}.login-copy{display:none}.login-card{margin-top:3vh;padding:30px 24px}.mobile-brand{display:flex}.sidebar{transform:translateX(-100%);transition:.22s}.sidebar.open{transform:translateX(0)}.side-head>.icon-button{display:grid}.side-mask{position:fixed;z-index:15;inset:0;background:rgba(0,0,0,.55)}.side-mask.open{display:block}.workspace{margin-left:0;padding:24px 16px 45px}.menu-button{display:grid}.topbar{margin-bottom:24px}.online{font-size:0}.online i{width:9px;height:9px}.welcome{min-height:160px;padding:27px}.welcome h2{font-size:1.625rem}.cube{width:72px;height:72px;border-radius:20px;font-size:2.125rem}.stats{grid-template-columns:1fr 1fr}.quick-domains{grid-template-columns:1fr}.domain-row{grid-template-columns:85px minmax(0,1fr) 62px;gap:10px}.settings-grid{grid-template-columns:1fr}.panel-head{align-items:flex-start;padding:21px}.table-wrap{padding-inline:10px}}
@media(max-width:480px){.login-card{border-radius:20px}.login-card h2{font-size:1.5625rem}.captcha-line{grid-template-columns:minmax(0,1fr) 105px}.topbar h1{font-size:1.5rem}.welcome{display:block}.cube{display:none}.stats{grid-template-columns:1fr}.quick-panel .secondary{display:none}.panel-head p{line-height:1.6}.domain-row{grid-template-columns:1fr auto}.domain-kind{grid-column:1}.domain-address{grid-column:1/-1;grid-row:2}.domain-state{grid-column:2;grid-row:1}.setting{padding:23px}.toasts{top:12px;right:12px;width:calc(100% - 24px)}}
@media(max-width:780px){.form-grid{grid-template-columns:1fr}.form-field.wide{grid-column:auto}.setting-form,.room-editor,.dialog-card .dynamic-form{padding:20px}.module-tabs{padding:14px 18px}.panel-head{gap:14px;flex-wrap:wrap}.panel-head .compact-select{width:100%;min-width:0}.room-list{padding:12px}.room-row{grid-template-columns:minmax(135px,1fr) 54px 54px;grid-template-areas:"main open sleep" "main online sort"}.room-main{grid-area:main}.room-row>.mini-switch:first-of-type{grid-area:open}.room-row>.mini-switch:nth-of-type(2){grid-area:sleep}.room-number:nth-of-type(3){grid-area:online}.room-number:nth-of-type(4){grid-area:sort}.content-list{padding:14px}.content-row{grid-template-columns:50px minmax(0,1fr);gap:12px}.content-row .row-actions{grid-column:1/-1;justify-content:flex-start;padding-top:4px}.sub-toolbar{padding:18px;flex-wrap:wrap}.inline-editor{margin:0 14px 18px}.inline-editor-head{padding:18px}.form-footer{align-items:stretch;flex-direction:column}.form-footer .primary{width:100%}.apply-all{width:100%}.dialog{padding:12px}.dialog-card{max-height:calc(100vh - 24px);border-radius:16px}}
@media(max-width:480px){.module-tabs{padding-inline:14px}.module-tabs button{padding-inline:12px}.room-list-panel .panel-head .primary,#content-view .panel-head .primary{width:100%}.room-row{grid-template-columns:minmax(112px,1fr) 48px 48px;padding:9px 7px}.room-main{padding:0 5px}.room-number input{height:28px}.content-state{padding-inline:5px}.row-actions button{flex:1 1 auto}.sub-toolbar .primary{width:100%}.inline-editor{margin-inline:8px}.dialog-head{padding:18px}.editor-empty{min-height:220px}}
.image-upload{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:center;min-height:112px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#0a1528}.image-upload-preview{position:relative;display:grid;place-items:center;width:112px;height:84px;overflow:hidden;border:1px dashed #36506f;border-radius:9px;background:#101f35}.image-upload-preview img{display:block;width:100%;height:100%;object-fit:contain}.image-upload-empty{padding:12px;color:#7287a6;font-size:0.75rem;line-height:1.5;text-align:center}.image-upload-actions{display:flex;align-items:center;gap:10px}.image-upload-actions .secondary{min-height:38px;padding-inline:14px;font-size:0.75rem}.image-upload-actions .uploading{opacity:.6;pointer-events:none}.image-clear{padding:9px}.image-upload-note{grid-column:2;margin:-25px 0 0;color:#7185a4;font-size:0.75rem;line-height:1.5}.room-list{gap:12px;padding:21px}.room-row{grid-template-columns:minmax(190px,1fr) 72px 72px 72px 72px;gap:10px;padding:14px 13px}.room-main{padding:2px 10px}.room-main strong{margin:6px 0;font-size:0.9375rem;line-height:1.35}.room-main small{font-size:0.75rem;line-height:1.4}.room-code{font-size:0.75rem}.mini-switch{gap:6px;font-size:0.75rem}.mini-switch i{width:34px;height:19px}.mini-switch i:after{width:13px;height:13px}.mini-switch input:checked+i:after{left:18px}.room-number{font-size:0.75rem}.room-number span{margin-bottom:6px}.room-number input{height:35px;padding-inline:6px;font-size:0.8125rem}.room-editor{padding:26px}.room-config-sections{display:grid;gap:18px;margin-top:18px}.room-section{overflow:hidden;border:1px solid #29415f;border-radius:15px;background:#0b1729}.room-section-head{padding:18px 20px;border-bottom:1px solid #29415f;background:#102039}.room-section-head h3{margin:0;color:#edf4ff;font-size:1rem}.room-section-head p{margin:6px 0 0;color:#8297b5;font-size:0.75rem;line-height:1.5}.room-section>.form-grid,.room-section>.room-config-grid{padding:20px}.room-config-grid,.room-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.room-config-grid>.room-value-grid{grid-column:1/-1}.room-config-group{grid-column:1/-1;overflow:hidden;border:1px solid #253b57;border-radius:12px;background:#0d1b30}.room-config-group>h5{margin:0;padding:12px 15px;border-bottom:1px solid #253b57;color:#9eb4d2;background:#12233c;font-size:0.75rem}.room-config-group>.room-config-grid,.room-config-group>.room-value-grid{padding:14px}.room-config-group.nested{grid-column:auto}.room-config-field{display:flex;flex-direction:column;min-width:0;gap:8px;padding:12px;border:1px solid #223752;border-radius:10px;background:#0a1628}.room-config-field>span:first-child{color:#91a6c5;font-size:0.75rem;font-weight:700;line-height:1.45}.room-config-field>input{width:100%;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:8px;color:#eff5ff;background:#101f34;font-size:0.875rem;outline:none}.room-config-field>input:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.12)}.room-config-field.boolean{justify-content:space-between;min-height:82px}.room-config-field .switch-control{min-height:40px}.room-basic-grid .form-field>textarea{min-height:88px}
@media(max-width:1540px){.split-layout{grid-template-columns:1fr}.room-list{max-height:none}.editor-panel{min-height:400px}}
@media(max-width:780px){.image-upload{grid-template-columns:86px minmax(0,1fr);min-height:100px}.image-upload-preview{width:86px;height:72px}.image-upload-note{grid-column:2;margin:-18px 0 0}.room-editor{padding:16px}.room-section>.form-grid,.room-section>.room-config-grid{padding:14px}.room-config-grid,.room-value-grid{grid-template-columns:1fr}.room-config-group.nested{grid-column:1/-1}.room-row{grid-template-columns:minmax(150px,1fr) 62px 62px;gap:10px;padding:13px 10px}.room-main strong{font-size:0.875rem}.room-main small{font-size:0.75rem}.room-number input{height:34px;font-size:0.8125rem}}
@media(max-width:480px){.image-upload{grid-template-columns:1fr}.image-upload-preview{width:100%;height:132px}.image-upload-note{grid-column:1;margin:0}.image-upload-actions{justify-content:space-between}.room-row{grid-template-columns:minmax(132px,1fr) 54px 54px;padding:12px 8px}.room-main{padding-inline:6px}.room-main strong{font-size:0.875rem}.room-main small{font-size:0.75rem}.room-code,.mini-switch,.room-number{font-size:0.75rem}.room-section-head{padding:16px}.room-config-field{padding:10px}}
.player-panel{overflow:hidden}.player-head{min-height:92px}.player-summary{display:flex;align-items:baseline;gap:7px;padding:10px 15px;border:1px solid #2b4666;border-radius:12px;background:#0a172a}.player-summary strong{color:var(--primary);font-size:1.5rem}.player-summary span{color:#8196b4;font-size:0.75rem}.player-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 25px;border-bottom:1px solid var(--line);background:#0b1729}.player-tabs{display:flex;flex:0 0 auto;gap:7px}.player-tabs button{height:40px;padding:0 14px;border:1px solid transparent;border-radius:9px;color:#8fa4c2;background:transparent}.player-tabs button.active{border-color:#34586e;color:#7aebcb;background:#12302f}.player-search{display:grid;flex:1;grid-template-columns:minmax(230px,1.5fr) minmax(190px,1.15fr) repeat(3,110px) auto;gap:8px;max-width:1100px}.player-search input,.player-search select{min-width:0;height:40px;padding:0 13px;border:1px solid var(--line);border-radius:10px;color:#edf4ff;background:#0a1528;outline:none}.player-search input:focus,.player-search select:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.12)}.player-search .secondary{min-height:40px}.player-list{display:grid;gap:11px;padding:20px 24px}.player-row{display:grid;grid-template-columns:minmax(230px,1.5fr) 100px 80px minmax(180px,1fr) 74px minmax(190px,auto);gap:18px;align-items:center;padding:17px 18px;border:1px solid var(--line);border-radius:14px;background:#0b1729;transition:.18s}.player-row:hover{border-color:#315371;background:#0e1c31}.player-identity{display:flex;align-items:center;min-width:0;gap:13px}.player-avatar{display:grid;flex:0 0 auto;place-items:center;width:46px;height:46px;border-radius:14px;color:#071f1b;background:linear-gradient(135deg,#77ebc9,#65a5ff);font-size:1.125rem;font-weight:900}.player-avatar.has-image{overflow:hidden;color:transparent;background:#0a1528}.player-avatar.has-image img{display:block;width:100%;height:100%;object-fit:cover}.player-identity>div{min-width:0}.player-identity strong,.player-identity span,.player-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-identity strong{color:#edf4ff;font-size:0.875rem}.player-identity span{margin-top:5px;color:#8298b8;font:0.75rem ui-monospace,SFMono-Regular,Consolas,monospace}.player-identity small{margin-top:5px;color:#657d9e;font-size:0.75rem}.player-metric span,.player-login span{display:block;margin-bottom:6px;color:#687f9f;font-size:0.75rem;text-transform:uppercase}.player-metric strong{color:#dbe7f7;font-size:0.875rem}.player-login strong,.player-login small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-login strong{color:#cbd8eb;font-size:0.75rem}.player-login small{margin-top:5px;color:#6f86a6;font-size:0.75rem}.player-status{justify-self:start;padding:7px 10px;border-radius:999px;font-size:0.75rem}.player-status.normal{color:#6de7bf;background:#11382f}.player-status.pending{color:#ffd17e;background:#3b2e16}.player-status.blocked{color:#ff939e;background:#3e1d29}.player-status.muted{color:#aebfd8;background:#203047}.player-actions{display:flex;justify-content:flex-end;gap:7px}.player-actions button{min-height:33px;padding:0 10px;border:1px solid #2c4463;border-radius:8px;color:#bed0e8;background:#14243b;font-size:0.75rem}.player-actions button:hover{border-color:#4e759a}.player-actions button.danger{color:#ff9ca6}.player-pages{padding-top:2px}
@media(max-width:1500px){.player-row{grid-template-columns:minmax(220px,1.5fr) 90px 70px 72px minmax(180px,auto)}.player-login{display:none}}
@media(max-width:780px){.player-toolbar{align-items:stretch;flex-direction:column;padding:16px}.player-tabs{overflow-x:auto}.player-tabs button{flex:0 0 auto}.player-search{width:100%}.player-list{padding:14px}.player-row{grid-template-columns:minmax(0,1fr) auto auto;gap:13px;padding:15px}.player-identity{grid-column:1/-1}.player-metric{padding-top:4px}.player-login{display:none}.player-status{justify-self:end}.player-actions{grid-column:1/-1;justify-content:stretch;padding-top:4px;border-top:1px solid var(--line)}.player-actions button{flex:1}.player-pages{padding-inline:16px}}
@media(max-width:480px){.player-head .player-summary{width:100%;justify-content:center}.player-tabs{margin-inline:-2px}.player-search{flex-direction:column}.player-search .secondary{width:100%}.player-list{padding:10px}.player-row{grid-template-columns:1fr auto}.player-metric:nth-of-type(2){display:none}.player-status{grid-column:2}.player-actions{grid-column:1/-1}}

/* 玩家详情、上下分与客服 */
.modal-open{overflow:hidden}.player-dialog-card{width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}.player-detail-summary{display:flex;align-items:center;gap:14px;margin:18px 0;padding:17px;border:1px solid var(--line);border-radius:14px;background:#0b1729}.player-detail-summary>div{display:grid;min-width:0;gap:5px}.player-detail-summary>div strong{color:#edf4ff}.player-detail-summary small{overflow:hidden;color:#7890b0;text-overflow:ellipsis;white-space:nowrap}.player-detail-summary>b{display:grid;margin-left:auto;color:#77e7c7;font-size:1.5rem;text-align:right}.player-detail-summary em{color:#7086a5;font-size:0.75rem;font-style:normal;font-weight:500}.player-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.detail-card{display:grid;align-content:start;gap:11px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#0b1729}.detail-card h3{margin:0;color:#edf4ff;font-size:0.9375rem}.detail-card>p{min-height:34px;margin:0;color:#7288a7;font-size:0.75rem;line-height:1.6}.detail-card label{display:grid;gap:6px;color:#8398b6;font-size:0.75rem}.detail-card input,.detail-card select,.inline-fields select{width:100%;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:9px;color:#e8f1ff;background:#101f34;outline:0}.detail-card input:focus,.detail-card select:focus{border-color:#5f94e8}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-switches{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-switches label{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#101f34}.detail-switches input{width:auto;height:auto;accent-color:var(--primary)}.detail-card .primary{width:100%;margin-top:2px}.player-detail-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:#748aaa;font-size:0.75rem}.coin-summary{display:flex;gap:9px}.coin-summary span{display:grid;min-width:110px;gap:4px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;color:#7188a8;background:#0b1729;font-size:0.75rem}.coin-summary strong{color:#dfeafa;font-size:1rem}.record-filter{display:grid;grid-template-columns:minmax(220px,1fr) 150px 150px auto;gap:9px;padding:16px 24px;border-bottom:1px solid var(--line)}.record-filter input,.record-filter select{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:9px;color:#dfe9f8;background:#0a1528;outline:0}.record-filter input:focus,.record-filter select:focus{border-color:#5f94e8}.record-filter select:disabled{opacity:.45}.record-list{display:grid;gap:10px;padding:19px 24px}.record-row{display:grid;grid-template-columns:minmax(210px,1.2fr) 105px minmax(190px,1fr) 78px minmax(130px,auto);gap:16px;align-items:center;padding:15px 16px;border:1px solid var(--line);border-radius:13px;background:#0b1729}.record-row.log{grid-template-columns:minmax(210px,1.2fr) 110px minmax(190px,1fr) minmax(180px,auto)}.record-main{display:flex;align-items:center;min-width:0;gap:11px}.record-main>div{min-width:0}.record-main strong,.record-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-main strong{color:#eaf2ff;font-size:0.8125rem}.record-main small{margin-top:5px;color:#6f86a6;font-size:0.75rem}.record-kind{display:grid;flex:0 0 auto;width:42px;height:42px;place-items:center;border-radius:12px;font-size:0.75rem;font-weight:800}.record-kind.up{color:#70e5bd;background:#12382f}.record-kind.down{color:#ff9ca6;background:#3a202b}.record-value span,.record-note span,.record-note small{display:block}.record-value span{margin-bottom:5px;color:#6f85a5;font-size:0.75rem}.record-value strong{color:#dce8f7;font-size:0.9375rem}.record-note{min-width:0}.record-note span,.record-note small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-note span{color:#aebfd5;font-size:0.75rem}.record-note small{margin-top:5px;color:#667d9c;font-size:0.75rem}.record-state{justify-self:start;padding:7px 9px;border-radius:999px;font-size:0.75rem}.state-1{color:#ffd17e;background:#392d18}.state-2{color:#70e5bd;background:#12382f}.state-3{color:#ff9ca6;background:#3a202b}.record-actions{display:flex;justify-content:flex-end;gap:7px}.record-actions button{height:32px;padding:0 10px;border:1px solid #315071;border-radius:8px;color:#bcd1e8;background:#14243b;font-size:0.75rem}.record-actions .danger{color:#ff9ca6}.record-actions>span{color:#7f95b2;font-size:0.75rem}.record-balance{display:flex;align-items:center;justify-content:flex-end;gap:9px;color:#778da9;font-size:0.75rem}.record-balance strong{color:#75e1c1}.record-balance b{font-weight:400}.service-console{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:680px;overflow:hidden}.service-contacts{border-right:1px solid var(--line);background:#091425}.service-title{display:flex;align-items:center;justify-content:space-between;padding:22px 20px 14px}.service-title h2{margin:0;color:#edf4ff;font-size:1.125rem}.service-title p{margin:5px 0 0;color:#6e84a4;font-size:0.75rem}.service-title>span{display:grid;min-width:30px;height:30px;padding:0 8px;place-items:center;border-radius:999px;color:#071b18;background:#75e6c5;font-size:0.75rem;font-weight:900}.service-search{display:flex;gap:7px;padding:0 14px 14px}.service-search input{min-width:0;flex:1;height:38px;padding:0 11px;border:1px solid var(--line);border-radius:9px;color:#e4edf9;background:#101f34;outline:0}.service-search button{padding:0 11px;border:1px solid #315071;border-radius:9px;color:#b7cce5;background:#14243b}.service-contact-list{display:grid;max-height:600px;overflow:auto}.service-contact{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px 16px;border:0;border-top:1px solid #1c304b;color:inherit;background:transparent;text-align:left}.service-contact:hover,.service-contact.active{background:#11223a}.service-contact>span{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#08201b;background:linear-gradient(135deg,#76e7c5,#65a8ff);font-weight:900}.service-contact>div{min-width:0}.service-contact strong,.service-contact small,.service-contact em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-contact strong{color:#e2ebf8;font-size:0.75rem}.service-contact small{margin-top:4px;color:#7187a7;font-size:0.75rem}.service-contact em{margin-top:4px;color:#59708f;font-size:0.75rem;font-style:normal}.service-contact>b{display:grid;min-width:22px;height:22px;padding:0 5px;place-items:center;border-radius:999px;color:#fff;background:#ef6574;font-size:0.75rem}.service-conversation{min-width:0;background:#0b1729}.service-chat-empty{display:grid;height:100%;place-content:center;justify-items:center;color:#6d83a2;text-align:center}.service-chat-empty>span{display:grid;width:64px;height:64px;place-items:center;border:1px solid #2e4b6b;border-radius:20px;color:#77e5c5;background:#11253a;font-size:1.5625rem}.service-chat-empty h3{margin:16px 0 6px;color:#c7d4e5}.service-chat-empty p{margin:0;font-size:0.75rem}.service-chat{display:grid;height:680px;grid-template-rows:auto minmax(0,1fr) auto}.service-chat-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line);background:#0d1a2e}.service-chat-head strong,.service-chat-head span{display:block}.service-chat-head strong{color:#edf4ff}.service-chat-head span{margin-top:5px;color:#7186a5;font-size:0.75rem}.service-messages{display:flex;flex-direction:column;gap:12px;overflow:auto;padding:22px}.service-message{display:grid;align-self:flex-start;max-width:72%;gap:5px}.service-message.mine{align-self:flex-end;justify-items:end}.service-message>div{padding:10px 13px;border:1px solid #29435f;border-radius:4px 14px 14px;color:#cbd9ea;background:#13263e;font-size:0.75rem;line-height:1.6;white-space:pre-wrap}.service-message.mine>div{border-color:#286857;border-radius:14px 4px 14px 14px;color:#d9fff3;background:#17473d}.service-message.revoked>div{color:#7389a7;font-style:italic}.service-message small{color:#607795;font-size:0.75rem}.service-message small button{padding:0;border:0;color:#80a5cb;background:transparent;font-size:0.75rem}.service-send{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 18px;border-top:1px solid var(--line);background:#0d1a2e}.service-send textarea{min-height:58px;resize:none;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:#e6eef9;background:#0a1528;outline:0}.service-send textarea:focus{border-color:#5f94e8}.service-send .primary{align-self:stretch}.empty.compact{padding:30px 12px}
@media(max-width:1100px){.player-detail-grid{grid-template-columns:1fr 1fr}.detail-card:last-child{grid-column:1/-1}.record-row{grid-template-columns:minmax(190px,1fr) 90px minmax(150px,1fr) 72px}.record-actions{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px}.record-row.log{grid-template-columns:minmax(190px,1fr) 100px minmax(150px,1fr) minmax(150px,auto)}}
@media(max-width:780px){.player-dialog{padding:0}.player-dialog-card{width:100vw;max-height:100vh;border-radius:0}.player-detail-grid{grid-template-columns:1fr}.detail-card:last-child{grid-column:auto}.player-detail-footer{align-items:stretch;flex-direction:column}.coin-summary{width:100%}.coin-summary span{flex:1}.record-filter{grid-template-columns:1fr 1fr;padding:14px}.record-filter input{grid-column:1/-1}.record-filter .secondary{grid-column:1/-1}.record-list{padding:12px}.record-row,.record-row.log{grid-template-columns:minmax(0,1fr) auto;gap:11px}.record-main{grid-column:1/-1}.record-note{grid-column:1/-1}.record-state{grid-column:2;grid-row:2}.record-actions,.record-balance{grid-column:1/-1}.service-console{grid-template-columns:1fr;min-height:auto}.service-contacts{border-right:0;border-bottom:1px solid var(--line)}.service-contact-list{max-height:270px}.service-conversation{min-height:520px}.service-chat{height:560px}}
@media(max-width:480px){.player-detail-summary{align-items:flex-start;flex-wrap:wrap}.player-detail-summary>b{width:100%;margin:0;text-align:left}.inline-fields,.detail-switches{grid-template-columns:1fr}.record-filter{grid-template-columns:1fr}.record-filter input,.record-filter .secondary{grid-column:auto}.service-send{grid-template-columns:1fr}.service-message{max-width:88%}}

/* 玩家入口IP黑名单 */
.sidebar nav{flex:1;min-height:0;overflow-y:auto;padding-right:3px}.sidebar nav>p{margin:16px 12px 6px}.sidebar nav .nav{padding-block:10px}.sidebar nav::-webkit-scrollbar{width:4px}.sidebar nav::-webkit-scrollbar-thumb{border-radius:4px;background:#273d5a}
.blacklist-panel{overflow:hidden}.blacklist-summary{display:flex;align-items:baseline;gap:7px;padding:10px 15px;border:1px solid #2b4666;border-radius:12px;background:#0a172a}.blacklist-summary strong{color:var(--primary);font-size:1.5rem}.blacklist-summary span{color:#8196b4;font-size:0.75rem}.blacklist-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:21px 24px;border-bottom:1px solid var(--line);background:#0b1729}.blacklist-toolbar form{display:grid;gap:8px}.blacklist-toolbar label{margin:0;color:#c5d2e5;font-size:0.75rem}.blacklist-toolbar form>div{display:flex;gap:8px}.blacklist-toolbar input{min-width:0;flex:1;height:42px;padding:0 13px;border:1px solid var(--line);border-radius:10px;color:#edf4ff;background:#091426;outline:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.blacklist-toolbar input:focus{border-color:#5f94e8}.blacklist-toolbar small{color:#6d83a2;font-size:0.75rem}.blacklist-clear{min-height:42px;padding:0 14px;border:1px solid #5b3040;border-radius:10px;color:#ff9ca6;background:#2b1823;font-weight:700}.blacklist-list{display:grid;gap:10px;padding:20px 24px}.blacklist-row{display:grid;grid-template-columns:48px minmax(0,1fr) 150px auto;gap:14px;align-items:center;padding:15px 16px;border:1px solid var(--line);border-radius:13px;background:#0b1729}.blacklist-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;color:#ff9ca6;background:#3a202b;font:800 0.75rem ui-monospace,SFMono-Regular,Consolas,monospace}.blacklist-address{min-width:0}.blacklist-address strong,.blacklist-address small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blacklist-address strong{color:#edf4ff;font:700 0.8125rem ui-monospace,SFMono-Regular,Consolas,monospace}.blacklist-address small{margin-top:5px;color:#758baa;font-size:0.75rem}.blacklist-row time{color:#748aa8;font-size:0.75rem}.blacklist-delete{height:34px;padding:0 11px;border:1px solid #533041;border-radius:8px;color:#ff9ca6;background:#281923;font-size:0.75rem}.blacklist-pages{padding-top:0}

/* 结构化福利设置 */
.module-tabs{scrollbar-width:none}.module-tabs::-webkit-scrollbar{display:none}
.benefit-editor{display:grid;gap:18px}.benefit-section{overflow:hidden;border:1px solid #29415f;border-radius:16px;background:#0a1729}.benefit-section-head{padding:21px 23px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#10233a,#0c1a2e)}.benefit-section-head span{color:var(--primary);font-size:0.75rem;font-weight:900;letter-spacing:.16em}.benefit-section-head h3{margin:6px 0 5px;color:#edf4ff;font-size:1.125rem}.benefit-section-head p{margin:0;color:#748aa8;font-size:0.75rem;line-height:1.6}.benefit-switch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;padding:18px 20px}.benefit-switch,.benefit-number{display:flex!important;align-items:center;justify-content:space-between;gap:15px;min-height:78px;margin:0!important;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#0d1c30}.benefit-switch>span,.benefit-number>span{min-width:0}.benefit-switch b,.benefit-switch small,.benefit-number b,.benefit-number small{display:block}.benefit-switch b,.benefit-number b{color:#dce7f7;font-size:0.75rem}.benefit-switch small,.benefit-number small{margin-top:5px;color:#687f9f;font-size:0.75rem;line-height:1.45}.benefit-switch input{position:absolute;opacity:0;pointer-events:none}.benefit-switch i{position:relative;flex:0 0 auto;width:40px;height:22px;border-radius:999px;background:#30425d;transition:.18s}.benefit-switch i:after{position:absolute;content:"";top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#aebbd0;transition:.18s}.benefit-switch input:checked+i{background:#2d8d76}.benefit-switch input:checked+i:after{left:21px;background:#79f1cf}.benefit-number input{width:92px;height:40px;padding:0 9px;border:1px solid var(--line);border-radius:9px;color:#e8f1ff;background:#091426;text-align:right;outline:0}.benefit-copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 20px 18px}.benefit-copy-grid label{display:grid;gap:8px;margin:0;color:#93a7c2;font-size:0.75rem}.benefit-copy-grid textarea{width:100%;resize:vertical;padding:11px 12px;border:1px solid var(--line);border-radius:10px;color:#e3edf9;background:#091426;outline:0}.benefit-copy-grid textarea:focus,.benefit-number input:focus,.benefit-rule-row input:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.1)}.benefit-rule-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 20px 20px}.benefit-rule-card{margin:0 20px 18px;border:1px solid var(--line);border-radius:13px;background:#0c1a2d}.benefit-rule-pair .benefit-rule-card{margin:0}.benefit-rule-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid var(--line)}.benefit-rule-card header h4{margin:0;color:#e1eaf7;font-size:0.75rem}.benefit-rule-card header p{margin:5px 0 0;color:#667d9c;font-size:0.75rem}.benefit-rule-card header>span{flex:0 0 auto;padding:5px 8px;border-radius:999px;color:#74e4c2;background:#12362f;font-size:0.75rem}.benefit-rule-card header>span.over{color:#ff9ca6;background:#3a202b}.benefit-add-rule{min-height:34px;padding-inline:12px;font-size:0.75rem}.benefit-rule-list{display:grid;gap:8px;padding:12px}.benefit-rule-row{display:grid;grid-template-columns:30px minmax(100px,1fr) minmax(100px,1fr) 30px;gap:8px;align-items:end;padding:10px;border:1px solid #203652;border-radius:10px;background:#091526}.benefit-rule-row:not(:has(.benefit-rule-remove)){grid-template-columns:30px minmax(100px,1fr) minmax(100px,1fr)}.benefit-rule-index{display:grid;width:28px;height:38px;place-items:center;border-radius:8px;color:#70e5c3;background:#12372f;font-size:0.75rem;font-weight:900}.benefit-rule-row label{display:grid;gap:6px;margin:0;color:#7187a6;font-size:0.75rem}.benefit-rule-row input{width:100%;height:38px;padding:0 9px;border:1px solid var(--line);border-radius:8px;color:#e7effb;background:#0d1c30;outline:0}.benefit-rule-remove{display:grid;width:30px;height:38px;place-items:center;border:1px solid #523044;border-radius:8px;color:#ff9ca6;background:#281923;font-size:1.0625rem}

@media(max-width:1180px){.benefit-switch-grid{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.blacklist-toolbar{grid-template-columns:1fr}.benefit-rule-pair{grid-template-columns:1fr}}
@media(max-width:780px){.blacklist-head .blacklist-summary{width:100%;justify-content:center}.blacklist-toolbar,.blacklist-list{padding:14px}.blacklist-row{grid-template-columns:44px minmax(0,1fr) auto}.blacklist-row time{grid-column:2}.blacklist-delete{grid-column:3;grid-row:1/3}.benefit-switch-grid,.benefit-copy-grid{grid-template-columns:1fr;padding:14px}.benefit-rule-card{margin:0 14px 14px}.benefit-rule-pair{padding:0 14px 14px}.benefit-rule-pair .benefit-rule-card{margin:0}.benefit-section-head{padding:18px}.benefit-rule-row{grid-template-columns:28px 1fr 1fr 30px}}
@media(max-width:480px){.blacklist-toolbar form>div{display:grid;grid-template-columns:1fr 1fr}.blacklist-toolbar input{grid-column:1/-1}.blacklist-add .primary{grid-column:1/-1}.blacklist-row{grid-template-columns:40px minmax(0,1fr)}.blacklist-row time{grid-column:2}.blacklist-delete{grid-column:1/-1;grid-row:auto;width:100%}.benefit-switch-grid{padding:10px}.benefit-switch,.benefit-number{min-height:72px;padding:12px}.benefit-rule-card{margin-inline:10px}.benefit-rule-pair{padding-inline:10px}.benefit-rule-card>header{align-items:flex-start;flex-direction:column}.benefit-add-rule{width:100%}.benefit-rule-row,.benefit-rule-row:not(:has(.benefit-rule-remove)){grid-template-columns:28px minmax(0,1fr) 30px;align-items:center}.benefit-rule-row:has(.benefit-rule-remove) label{grid-column:2/3}.benefit-rule-row .benefit-rule-remove{grid-column:3;grid-row:1}.benefit-rule-index{grid-row:1/3}.benefit-rule-row:not(:has(.benefit-rule-remove)) label{grid-column:2/4}}

/* 二维码图片只在浏览器中识别，数据库保存识别后的文本 */
.qr-upload .image-upload-preview{grid-row:1/4;width:112px;height:112px;background:#fff}.qr-upload .image-upload-preview img{padding:6px}.qr-upload .image-upload-note{margin:0}.qr-content-preview{grid-column:2;display:block;max-height:54px;overflow:auto;padding:8px 10px;border:1px solid #263e5d;border-radius:8px;color:#8da4c3;background:#071223;font:0.75rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;white-space:pre-wrap}.qr-content-preview[hidden]{display:none}
@media(max-width:780px){.qr-upload .image-upload-preview{width:86px;height:86px}}
@media(max-width:480px){.qr-upload .image-upload-preview{grid-row:auto;width:100%;height:180px}.qr-content-preview{grid-column:1}}

/* 数字分页直接跳转 */
.pages{--page-control-height:34px;align-items:center;flex-wrap:wrap}.view>.panel>.pages{padding-top:16px}.pages .page-jump{display:flex;align-items:center;gap:7px;margin:0}.pages .page-jump input{width:64px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:8px;color:#e7effb;background:#091426;font-size:0.75rem;text-align:center;outline:0}.pages .page-jump input:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.12)}.pages .page-jump button{min-width:46px;padding:0 9px}.pages .page-jump button:hover{border-color:var(--primary);color:#062017;background:var(--primary)}
.pages .page-size{display:flex;align-items:center;gap:12px;margin:0 auto 0 0;color:#8196b3;font-size:0.75rem;font-weight:700;white-space:nowrap}.pages .page-size .page-total{color:#8da2bf}.pages .page-size select{width:108px;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:8px;color:#dce8f7;background:#091426;outline:0}.pages .page-size select:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.12)}
.pages>button,.pages .page-jump input,.pages .page-jump button,.pages .page-size select{height:var(--page-control-height);min-height:var(--page-control-height)}
:is(.pages>button,.pages .page-jump button){display:inline-flex;align-items:center;justify-content:center}
@media(max-width:480px){.pages{justify-content:center;padding-inline:12px}.pages .page-size{width:100%;justify-content:center;margin-right:0}}

/* 公共聊天室 */
.user-group-chat{display:grid;grid-template-rows:auto auto minmax(360px,1fr) auto;min-height:calc(100vh - 160px);overflow:hidden}.user-group-chat>.panel-head .danger{border-color:#5b3040;color:#ff9ca6;background:#2b1823}.user-chat-older{justify-self:center;margin:13px 0 0;padding:6px 13px;border:1px solid #2b4666;border-radius:999px;color:#91a9c9;background:#0a1729;font-size:0.75rem}.user-chat-older:hover{border-color:#477093;color:#c4d7ed}.user-chat-messages{display:flex;flex-direction:column;gap:16px;min-height:360px;max-height:calc(100vh - 355px);overflow-y:auto;padding:24px 28px;scrollbar-color:#29405f transparent;scrollbar-width:thin}.user-chat-message{display:grid;grid-template-columns:42px minmax(0,680px);align-self:flex-start;gap:11px;max-width:82%}.user-chat-message.mine{grid-template-columns:minmax(0,680px) 42px;align-self:flex-end}.user-chat-message>span{display:grid;width:42px;height:42px;place-items:center;overflow:hidden;border-radius:13px;color:#08201b;background:linear-gradient(135deg,#76e7c5,#65a8ff);font-size:0.875rem;font-weight:900}.user-chat-message>span img{display:block;width:100%;height:100%;object-fit:cover}.user-chat-message.mine>span{grid-column:2;background:linear-gradient(135deg,#7a9bff,#73e4c1)}.user-chat-message>div{min-width:0}.user-chat-message header{display:flex;align-items:baseline;gap:10px;margin:0 4px 6px}.user-chat-message header strong{color:#dce8f8;font-size:0.75rem}.user-chat-message header small{overflow:hidden;color:#647c9c;font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}.user-chat-message.mine header{justify-content:flex-end}.user-chat-message p{margin:0;padding:11px 14px;border:1px solid #29435f;border-radius:4px 15px 15px;color:#d3dfef;background:#13263e;font-size:0.75rem;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.user-chat-message.mine p{border-color:#286857;border-radius:15px 4px 15px 15px;color:#dcfff5;background:#17473d}.user-chat-send{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 20px;border-top:1px solid var(--line);background:#0d1a2e}.user-chat-send textarea{min-height:64px;padding:11px 13px;resize:none;border:1px solid var(--line);border-radius:11px;color:#e6eef9;background:#091426;outline:0;line-height:1.55}.user-chat-send textarea:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.1)}.user-chat-send .primary{align-self:stretch;min-width:112px}
@media(max-width:780px){.user-group-chat{min-height:calc(100vh - 118px)}.user-chat-messages{max-height:none;padding:20px 16px}.user-chat-message{max-width:92%}.user-chat-send{padding:14px}}
@media(max-width:480px){.user-group-chat>.panel-head .danger{width:100%}.user-chat-message,.user-chat-message.mine{grid-template-columns:34px minmax(0,1fr);gap:8px;max-width:100%;width:100%}.user-chat-message.mine{grid-template-columns:minmax(0,1fr) 34px}.user-chat-message>span{width:34px;height:34px;border-radius:10px;font-size:0.75rem}.user-chat-message header{display:grid;gap:3px}.user-chat-message.mine header{justify-content:stretch;text-align:right}.user-chat-message p{padding:10px 12px}.user-chat-send{grid-template-columns:1fr}.user-chat-send .primary{min-height:44px}.user-chat-messages{min-height:320px}}

/* 历史按钮隐藏时仍固定四个网格区域，避免消息和发送表单发生自动移位。 */
.user-group-chat>.panel-head{grid-row:1}.user-group-chat>.user-chat-older{grid-row:2}.user-group-chat>.user-chat-messages{grid-row:3}.user-group-chat>.user-chat-send{grid-row:4}

/* 实时运营概览与玩家在线状态 */
.operation-overview{margin-top:16px;overflow:hidden}.operation-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.operation-stat{min-width:0;padding:22px 24px;background:#0d1a2e}.operation-stat span,.operation-stat small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-stat span{color:#7188a8;font-size:0.75rem;font-weight:700;letter-spacing:.04em}.operation-stat strong{display:block;margin:10px 0 7px;color:#edf5ff;font-size:1.5625rem}.operation-stat small{color:#7185a2;font-size:0.75rem}.operation-stat.online-stat strong{color:var(--primary)}.operation-stat.attention strong{color:#ffd17e}.player-identity strong{display:flex!important;align-items:center;gap:7px}.player-presence{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;color:#71849e;font-size:0.75rem;font-style:normal;font-weight:600}.player-presence i{width:6px;height:6px;border-radius:50%;background:#52647d}.player-presence.is-online{color:#70e7c1}.player-presence.is-online i{background:#70e7c1;box-shadow:0 0 9px rgba(112,231,193,.7)}
@media(max-width:1050px){.operation-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.operation-overview .panel-head .secondary{width:100%}.operation-stats{grid-template-columns:1fr 1fr}.operation-stat{padding:18px 15px}.operation-stat strong{font-size:1.3125rem}.operation-stat small{white-space:normal;line-height:1.5}}

/* 运营日报 */
.report-panel{overflow:hidden}.report-actions{display:flex;gap:9px}.report-actions select{height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;color:#dbe7f7;background:#0b1729;outline:0}.report-totals{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line)}.report-totals>div{padding:18px 20px;background:#0d1a2e}.report-totals span,.report-totals strong{display:block}.report-totals span{color:#7187a5;font-size:0.75rem}.report-totals strong{margin-top:8px;color:#e6effc;font-size:1.125rem}.report-totals>div:first-child strong{color:#71e4bf}.report-totals>div:nth-child(2) strong{color:#ff9ca6}.report-table-wrap{overflow:auto;padding:15px 22px 22px}.report-table th,.report-table td{text-align:right}.report-table th:first-child,.report-table td:first-child{text-align:left}.report-table td strong{color:#dce8f7}.report-table td span,.report-up{color:#72e4bf}.report-down{color:#ff9ca6}
@media(max-width:1100px){.report-totals{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.report-actions{width:100%}.report-actions select,.report-actions button{flex:1}.report-table-wrap{padding:10px}.report-table thead{display:none}.report-table,.report-table tbody,.report-table tr,.report-table td{display:block;width:100%}.report-table tr{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:10px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line)}.report-table td,.report-table td:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:0;background:#0c182b;text-align:right}.report-table td::before{content:attr(data-label);color:#6e84a4;font-size:0.75rem}.report-table td:first-child{grid-column:1/-1;background:#102038}.report-table td:first-child::before{display:none}}
@media(max-width:480px){.report-actions{display:grid;grid-template-columns:1fr}.report-actions select,.report-actions button{width:100%}.report-totals{grid-template-columns:1fr 1fr}.report-totals>div{padding:15px}.report-table tr{grid-template-columns:1fr}.report-table td:first-child{grid-column:auto}}

/* 游戏记录与新增游戏报表指标 */
.report-totals>div:nth-child(3) strong{color:#71e4bf}.report-totals #report-total-platform-gain.loss{color:#ff9ca6}.report-table{min-width:1120px}
.game-record-panel{overflow:hidden}.game-record-summary{display:flex;align-items:baseline;gap:7px;padding:10px 15px;border:1px solid #2b4666;border-radius:12px;background:#0a172a}.game-record-summary strong{color:var(--primary);font-size:1.5rem}.game-record-summary span{color:#8196b4;font-size:0.75rem}.game-record-tabs{padding:16px 22px 0}.game-record-filter{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(120px,1fr));gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);background:#0b1729}.game-record-filter[hidden]{display:none}.game-record-filter label{display:grid;gap:7px;margin:0}.game-record-filter label>span{color:#8297b5;font-size:0.75rem;font-weight:700}.game-record-filter input,.game-record-filter select{width:100%;height:44px;min-width:0;padding:0 12px;border:1px solid var(--line);border-radius:10px;color:#e5edf9;background:#091426;outline:none}.game-record-filter input:focus,.game-record-filter select:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.1)}.game-record-filter .secondary{align-self:end;height:44px}.draw-filter{grid-template-columns:minmax(220px,2fr) minmax(140px,1fr) auto}.game-record-list{display:grid;gap:14px;padding:22px}.game-record-row{overflow:hidden;border:1px solid #29415f;border-radius:15px;background:#0a1729;box-shadow:0 10px 30px rgba(1,8,20,.14)}.game-record-row>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#10243a,#0d1b30)}.game-record-row>header span,.game-record-row>header strong{display:block}.game-record-row>header span{margin-bottom:5px;color:#6f86a5;font-size:0.75rem}.game-record-row>header strong{color:#e7effb;font-size:0.9375rem}.game-record-state{padding:6px 10px;border-radius:999px;color:#ffd17e;background:#3a3020;font-size:0.75rem}.game-record-state.state-1{color:#73e4c2;background:#12372f}.game-record-state.state-2{color:#ff9ca6;background:#3a202b}.game-record-player{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 18px}.game-record-player>span{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;color:#092019;background:linear-gradient(135deg,#72e5c3,#65a6ff);font-size:1rem;font-weight:900}.game-record-player strong,.game-record-player small{display:block}.game-record-player strong{color:#dfe9f7;font-size:0.8125rem}.game-record-player small{margin-top:5px;color:#7187a7;font-size:0.75rem}.game-record-player time{color:#7085a4;font-size:0.75rem}.game-record-bet{margin:0 18px;padding:13px 15px;border:1px solid #263e5c;border-radius:11px;color:#cbd9e9;background:#0d1c30;font-size:0.75rem;line-height:1.75;overflow-wrap:anywhere}.game-record-result{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px}.game-record-result>span{color:#879cba;font-size:0.75rem;text-align:right}.game-record-balls{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.game-record-balls i{display:grid;width:29px;height:29px;place-items:center;border:1px solid #386188;border-radius:50%;color:#e8f4ff;background:#173450;font-size:0.75rem;font-style:normal;font-weight:800}.game-record-balls>span{color:#7187a5;font-size:0.75rem}.game-record-row>footer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.game-record-row>footer>span{padding:13px 18px;color:#7085a4;background:#0d1b2e;font-size:0.75rem}.game-record-row>footer strong{display:block;margin-top:6px;color:#e0eaf8;font-size:0.875rem}.game-record-row>footer strong.gain{color:#73e4c2}.game-record-row>footer strong.loss{color:#ff9ca6}.game-draw-row{display:grid;grid-template-columns:minmax(185px,.8fr) minmax(260px,1.4fr) minmax(180px,1fr);gap:20px;align-items:center;padding:17px 19px;border:1px solid #29415f;border-radius:14px;background:#0a1729}.game-draw-row>div:first-child span,.game-draw-row>div:first-child strong,.game-draw-row>div:first-child small{display:block}.game-draw-row>div:first-child span{color:#6f86a5;font-size:0.75rem}.game-draw-row>div:first-child strong{margin:5px 0;color:#e7effb;font-size:0.875rem}.game-draw-row>div:first-child small{color:#7186a4;font-size:0.75rem}.game-draw-row>p{margin:0;color:#9cb0ca;font-size:0.75rem;line-height:1.6}.game-record-pages{padding-top:0}
@media(max-width:1050px){.game-record-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.game-filter-keyword{grid-column:span 2}.game-record-row>footer{grid-template-columns:1fr 1fr}.game-draw-row{grid-template-columns:1fr 1.5fr}.game-draw-row>p{grid-column:1/-1}}
@media(max-width:780px){.report-table{min-width:0}.game-record-summary{width:100%;justify-content:center}.game-record-filter{grid-template-columns:1fr 1fr;padding:15px}.game-filter-keyword{grid-column:1/-1}.game-record-filter .secondary{grid-column:1/-1}.draw-filter{grid-template-columns:1fr 1fr}.game-record-list{padding:14px}.game-record-player{grid-template-columns:40px minmax(0,1fr)}.game-record-player>span{width:40px;height:40px}.game-record-player time{grid-column:2}.game-record-result{align-items:flex-start;flex-direction:column}.game-record-result>span{text-align:left}.game-draw-row{grid-template-columns:1fr}.game-draw-row>p{grid-column:auto}}
@media(max-width:480px){.game-record-tabs{padding:12px 12px 0}.game-record-filter,.draw-filter{grid-template-columns:1fr;padding:12px}.game-filter-keyword,.game-record-filter .secondary{grid-column:auto}.game-record-list{gap:10px;padding:10px}.game-record-row>header{align-items:flex-start;padding:14px}.game-record-player{padding:14px}.game-record-player small{line-height:1.55}.game-record-bet{margin:0 12px;padding:11px;font-size:0.75rem}.game-record-result{padding:12px 14px}.game-record-row>footer{grid-template-columns:1fr 1fr}.game-record-row>footer>span{padding:11px 13px}.game-record-balls i{width:27px;height:27px}.game-draw-row{gap:12px;padding:15px}.game-draw-row .game-record-balls{gap:5px}}

/* 奖励列加入后保留日报桌面端可读宽度。 */
.report-table{min-width:1320px}

/* 回水与代理返点正式工作台 */
.reward-editor{display:grid;gap:18px}.reward-section{overflow:hidden;border:1px solid #29415f;border-radius:16px;background:#091527}.reward-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 23px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#10243b,#0c192d)}.reward-section-head span{color:var(--primary);font-size:0.75rem;font-weight:900;letter-spacing:.16em}.reward-section-head h3{margin:6px 0 5px;color:#edf4ff;font-size:1.125rem}.reward-section-head p{margin:0;color:#748aa8;font-size:0.75rem;line-height:1.6}.reward-setting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:20px}.reward-setting-grid label,.reward-filter label,.reward-rule-row label,.reward-coin-edit label{display:grid;gap:7px;margin:0;color:#7e94b2;font-size:0.75rem;font-weight:700}.reward-setting-grid label>span,.reward-filter label>span{font-size:0.75rem}.reward-setting-grid input,.reward-setting-grid select,.reward-setting-grid textarea,.reward-filter input,.reward-filter select,.reward-rule-row input,.reward-coin-edit input{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;color:#e8f1ff;background:#091426;outline:0}.reward-setting-grid input,.reward-setting-grid select,.reward-filter input,.reward-filter select{height:42px;padding:0 11px}.reward-setting-grid textarea{min-height:92px;padding:11px;resize:vertical;line-height:1.6}.reward-setting-grid input:focus,.reward-setting-grid select:focus,.reward-setting-grid textarea:focus,.reward-filter input:focus,.reward-filter select:focus,.reward-rule-row input:focus,.reward-coin-edit input:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.1)}.reward-wide{grid-column:1/-1}.reward-switch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;padding:0 20px 20px}.reward-switch{display:flex!important;align-items:center;justify-content:space-between;gap:16px;min-height:78px;margin:0!important;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#0d1c30}.reward-switch span,.reward-switch b,.reward-switch small{display:block}.reward-switch b{color:#dce7f7;font-size:0.75rem}.reward-switch small{margin-top:5px;color:#687f9f;font-size:0.75rem;line-height:1.45}.reward-switch input{position:absolute;opacity:0;pointer-events:none}.reward-switch i{position:relative;flex:0 0 auto;width:40px;height:22px;border-radius:999px;background:#30425d;transition:.18s}.reward-switch i:after{position:absolute;content:"";top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#aebbd0;transition:.18s}.reward-switch input:checked+i{background:#2d8d76}.reward-switch input:checked+i:after{left:21px;background:#79f1cf}.reward-rule-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 20px 20px}.reward-rule-card{margin:0 20px 20px;border:1px solid var(--line);border-radius:13px;background:#0c1a2d}.reward-rule-columns .reward-rule-card{margin:0}.reward-rule-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid var(--line)}.reward-rule-card h4{margin:0;color:#e1eaf7;font-size:0.75rem}.reward-rule-card header p{margin:5px 0 0;color:#667d9c;font-size:0.75rem}.reward-rule-card .secondary{min-height:34px;padding-inline:12px;font-size:0.75rem}.reward-rule-list{display:grid;gap:8px;padding:12px}.reward-rule-row{display:grid;grid-template-columns:30px repeat(3,minmax(100px,1fr)) 30px;gap:8px;align-items:end;padding:10px;border:1px solid #203652;border-radius:10px;background:#091526}.reward-rule-row:not(:has([data-reward-key="fixed"])){grid-template-columns:30px repeat(2,minmax(100px,1fr)) 30px}.reward-rule-index{display:grid;width:28px;height:38px;place-items:center;border-radius:8px;color:#70e5c3;background:#12372f;font-size:0.75rem;font-weight:900}.reward-rule-row input{height:38px;padding:0 9px}.reward-rule-remove{display:grid;width:30px;height:38px;place-items:center;border:1px solid #523044;border-radius:8px;color:#ff9ca6;background:#281923;font-size:1.0625rem}.reward-filter{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(190px,1.5fr) auto auto;gap:10px;align-items:end;padding:18px 20px;border-bottom:1px solid var(--line);background:#0b1729}.agent-reward-filter{grid-template-columns:minmax(190px,.7fr) minmax(240px,1.4fr) auto auto}.reward-filter button{height:42px}.reward-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.reward-summary>div{padding:17px 20px;background:#0d1a2e}.reward-summary span,.reward-summary strong{display:block}.reward-summary span{color:#7187a5;font-size:0.75rem}.reward-summary strong{margin-top:7px;color:#e7effb;font-size:1.125rem}.reward-summary>div:nth-child(2) strong{color:var(--primary)}.reward-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:14px 20px;border-bottom:1px solid var(--line)}.reward-actions>label{display:flex;align-items:center;gap:7px;margin:0 auto 0 0;color:#8ca0bc;font-size:0.75rem}.reward-actions input{accent-color:var(--primary)}.reward-actions button{min-height:38px;font-size:0.75rem}.reward-list{display:grid;gap:9px;padding:14px 20px}.reward-row{display:grid;grid-template-columns:32px minmax(160px,.8fr) minmax(300px,1.7fr) minmax(180px,.7fr);gap:13px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0c192c}.reward-check{display:grid!important;margin:0!important}.reward-check input{position:absolute;opacity:0}.reward-check i{display:grid;width:22px;height:22px;place-items:center;border:1px solid #39516f;border-radius:7px;background:#091426}.reward-check input:checked+i{border-color:#65dbba;background:#1c826b}.reward-check input:checked+i:after{content:"✓";color:#fff;font-size:0.75rem}.reward-person strong,.reward-person span,.reward-person em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reward-person strong{color:#e0eaf8;font-size:0.75rem}.reward-person strong small{margin-left:5px;color:#69e2bf;font-size:0.75rem}.reward-person span{margin-top:5px;color:#7389a7;font-size:0.75rem}.reward-person em{margin-top:5px;color:#617895;font-size:0.75rem;font-style:normal}.reward-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.reward-metrics span{padding:8px 9px;border-radius:8px;color:#7187a5;background:#101f34;font-size:0.75rem}.reward-metrics b{display:block;margin-top:4px;color:#dce7f6;font-size:0.75rem}.reward-metrics b.gain{color:#72e4bf}.reward-metrics b.loss{color:#ff9ca6}.reward-coin-edit{display:grid;grid-template-columns:minmax(90px,1fr) auto;gap:7px;align-items:end}.reward-coin-edit input{height:36px;padding:0 9px}.reward-coin-edit button,.reward-history button,.reward-detail-head button{height:36px;padding:0 11px;border:1px solid #315275;border-radius:8px;color:#a9c6e4;background:#10233a;font-size:0.75rem}.reward-pages{padding-top:0}.reward-history{display:grid;gap:9px;padding:16px 20px}.reward-history>article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:#0c192c}.reward-history article>div:last-child{display:flex;align-items:center;gap:15px}.reward-history span,.reward-history strong,.reward-history small{display:block}.reward-history span{color:#6f86a5;font-size:0.75rem}.reward-history strong{margin:5px 0;color:#e1ebf8;font-size:0.75rem}.reward-history small{color:#617895;font-size:0.75rem}.reward-history article>div:last-child>strong{min-width:90px;color:var(--primary);font-size:1.0625rem;text-align:right}.reward-detail-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--line);background:#102038}.reward-detail-head strong{color:#dce8f7;font-size:0.75rem}.reward-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;background:var(--line)}.reward-detail-list>span{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:13px 18px;background:#0c192c}.reward-detail-list b{overflow:hidden;color:#d6e2f1;font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}.reward-detail-list em{color:#7288a6;font-size:0.75rem;font-style:normal}.reward-detail-list strong{color:#73e4c2;font-size:0.75rem}
@media(max-width:1180px){.reward-setting-grid{grid-template-columns:1fr 1fr}.reward-filter{grid-template-columns:1fr 1fr 1fr}.reward-keyword{grid-column:span 2}.agent-reward-filter{grid-template-columns:1fr 2fr auto auto}.reward-row{grid-template-columns:32px minmax(150px,.8fr) minmax(240px,1.4fr)}.reward-coin-edit{grid-column:2/-1}.reward-rule-columns{grid-template-columns:1fr}}
@media(max-width:780px){.setting-form:has(.reward-editor){padding:14px}.reward-section-head{align-items:flex-start;flex-direction:column}.reward-section-head>button{width:100%}.reward-setting-grid,.reward-switch-grid{grid-template-columns:1fr 1fr;padding:14px}.reward-rule-card{margin:0 14px 14px}.reward-rule-columns{padding:0 14px 14px}.reward-filter,.agent-reward-filter{grid-template-columns:1fr 1fr;padding:14px}.reward-keyword{grid-column:1/-1}.reward-filter button{width:100%}.reward-summary>div{padding:14px}.reward-list{padding:12px}.reward-row{grid-template-columns:28px minmax(0,1fr)}.reward-metrics,.reward-coin-edit{grid-column:2}.reward-history{padding:12px}.reward-detail-list{grid-template-columns:1fr}}
@media(max-width:480px){.setting-form:has(.reward-editor){padding:9px}.reward-setting-grid,.reward-switch-grid,.reward-filter,.agent-reward-filter{grid-template-columns:1fr;padding:10px}.reward-wide,.reward-keyword{grid-column:auto}.reward-rule-card{margin-inline:10px}.reward-rule-columns{padding-inline:10px}.reward-rule-card>header{align-items:flex-start;flex-direction:column}.reward-rule-card .secondary{width:100%}.reward-rule-row,.reward-rule-row:not(:has([data-reward-key="fixed"])){grid-template-columns:28px minmax(0,1fr) 30px;align-items:center}.reward-rule-row label{grid-column:2}.reward-rule-row .reward-rule-index{grid-row:1/4}.reward-rule-row .reward-rule-remove{grid-column:3;grid-row:1}.reward-summary{grid-template-columns:1fr}.reward-actions{display:grid;grid-template-columns:1fr 1fr;padding:12px}.reward-actions>label{grid-column:1/-1}.reward-actions .primary{grid-column:1/-1}.reward-row{padding:11px}.reward-metrics{grid-template-columns:1fr 1fr}.reward-coin-edit{grid-template-columns:1fr}.reward-history>article{align-items:flex-start;flex-direction:column}.reward-history article>div:last-child{width:100%;justify-content:space-between}.reward-history article>div:last-child>strong{min-width:0}.reward-detail-list>span{grid-template-columns:1fr auto}.reward-detail-list em{grid-column:1}.reward-detail-list strong{grid-column:2;grid-row:1/3}}

/* 新回水体系：全局自动设置与多房间方案分开管理。 */
.backwater-editor{--backwater-tabs-stack:86px}
.backwater-workspace-tabs{position:sticky;z-index:32;top:var(--user-editor-sticky-top);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;border:1px solid #315273;border-radius:16px;background:rgba(8,20,37,.96);box-shadow:0 12px 30px rgba(0,0,0,.2);backdrop-filter:blur(16px)}
.backwater-workspace-tabs button{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;min-width:0;min-height:58px;padding:8px 12px;border:1px solid transparent;border-radius:11px;color:#7d92ae;background:transparent;text-align:left;cursor:pointer;transition:border-color .18s,background .18s,color .18s,transform .18s}
.backwater-workspace-tabs button:hover{border-color:#2a4666;color:#c6d5e8;background:#102038}
.backwater-workspace-tabs button:focus-visible{outline:2px solid #69dfbf;outline-offset:2px}
.backwater-workspace-tabs button.active{border-color:#347765;color:#e9f7f3;background:linear-gradient(135deg,#153a35,#10283a);box-shadow:inset 0 0 0 1px rgba(109,229,195,.08)}
.backwater-workspace-tabs button>i{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;color:#7890ad;background:#172940;font-size:0.75rem;font-style:normal;font-weight:900}
.backwater-workspace-tabs button.active>i{color:#082019;background:#6fe2c1}
.backwater-workspace-tabs button>span,.backwater-workspace-tabs button b,.backwater-workspace-tabs button small{display:block;min-width:0}
.backwater-workspace-tabs button b{overflow:hidden;color:inherit;font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}
.backwater-workspace-tabs button small{overflow:hidden;margin-top:5px;color:#667d9b;font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}
.backwater-workspace-tabs button.active small{color:#85abac}
.backwater-workspace-pane{display:grid;gap:18px;min-width:0;scroll-margin-top:calc(var(--user-editor-sticky-top) + var(--backwater-tabs-stack))}
.backwater-workspace-pane[hidden]{display:none!important}
.backwater-schedule-head.sticky-editor-head{top:calc(var(--user-editor-sticky-top) + var(--backwater-tabs-stack))}
.backwater-schedule-head{overflow:visible;border:1px solid #315273;border-radius:15px}
.backwater-schedule-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.backwater-schedule-switch{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:8px 10px;border:1px solid #2c4664;border-radius:10px;background:#0b192c;cursor:pointer}
.backwater-schedule-switch input,.backwater-room-option input{position:absolute;opacity:0;pointer-events:none}
.backwater-schedule-switch i{position:relative;flex:0 0 auto;width:38px;height:21px;border-radius:999px;background:#30425d;transition:.18s}
.backwater-schedule-switch i:after{position:absolute;content:"";top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#aebbd0;transition:.18s}
.backwater-schedule-switch input:checked+i{background:#2d8d76}
.backwater-schedule-switch input:checked+i:after{left:20px;background:#79f1cf}
.backwater-schedule-switch b{color:#d8e5f4;font-size:0.75rem;white-space:nowrap}
.backwater-schedule-hour{display:flex!important;align-items:center;gap:8px;margin:0!important;color:#7f95b3;font-size:0.75rem;white-space:nowrap}
.backwater-schedule-hour select,.backwater-history-controls select{height:38px;padding:0 30px 0 10px;border:1px solid #2d4968;border-radius:9px;color:#e7effb;background:#091426;outline:0}
.backwater-schedule-controls .primary{min-width:70px;min-height:40px;white-space:nowrap}
.backwater-plan-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;padding:18px}
.backwater-plan-empty{grid-column:1/-1}
.backwater-plan-card{display:flex;min-width:0;flex-direction:column;padding:22px;border:1px solid #29415f;border-radius:14px;background:#0b182a;box-shadow:0 12px 28px rgba(0,0,0,.14)}
.backwater-plan-card.open{border-color:#29415f;background:#0b182a}
.backwater-plan-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.backwater-plan-card>header>div{min-width:0}
.backwater-plan-card h4{margin:9px 0 0;overflow:hidden;color:#edf5ff;font-size:1.1875rem;text-overflow:ellipsis;white-space:nowrap}
.backwater-plan-card>header>small{flex:0 0 auto;color:#667e9d;font-size:0.75rem}
.backwater-plan-card-open{display:inline-flex!important;align-items:center;gap:8px;margin:0!important;color:#a9bad1;font-size:.75rem;font-weight:800;cursor:pointer}
.backwater-plan-card-open input{position:absolute;opacity:0;pointer-events:none}
.backwater-plan-card-open i{position:relative;width:40px;height:23px;border-radius:999px;background:#30425d;transition:.18s}
.backwater-plan-card-open i:after{position:absolute;content:"";top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#aebbd0;transition:.18s}
.backwater-plan-card-open input:checked+i{background:#258570}
.backwater-plan-card-open input:checked+i:after{left:20px;background:#79f1cf}
.backwater-plan-card-open:has(input:disabled){cursor:wait;opacity:.6}
.backwater-plan-metrics{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:9px;margin-top:18px}
.backwater-plan-metrics>span{min-width:0;padding:12px 13px;border-radius:9px;background:#101f34}
.backwater-plan-metrics small,.backwater-plan-metrics strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.backwater-plan-metrics small{color:#6e85a4;font-size:0.75rem}
.backwater-plan-metrics strong{margin-top:7px;color:#dbe6f5;font-size:0.9375rem}
.backwater-plan-rooms,.backwater-plan-condition{margin:16px 0 0;color:#8da2bd;font-size:0.75rem;line-height:1.7;overflow-wrap:anywhere}
.backwater-plan-condition{margin-top:7px;color:#6e85a4}
.backwater-plan-card>footer{display:flex;justify-content:flex-end;gap:9px;margin-top:auto;padding-top:19px}
.backwater-plan-card>footer button{min-height:39px;padding-inline:15px;font-size:0.75rem}
.backwater-plan-card>footer .danger{border-color:#633448;color:#ff9dad;background:#2b1923}
.backwater-filter{grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr) auto}
#backwater-date{font-size:0.875rem;font-weight:700}
.backwater-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.backwater-summary>div:first-child strong{overflow:hidden;color:#77e5c3;font-size:0.9375rem;text-overflow:ellipsis;white-space:nowrap}
.backwater-plan-copy{display:block;min-width:0}
.game-draw-scope-copy{display:block;min-width:0}
.backwater-history-head{align-items:flex-end}
.backwater-history-controls{display:flex;align-items:flex-end;gap:8px}
.backwater-history-controls label{display:grid;gap:6px;margin:0;color:#748aa8;font-size:0.75rem}
.backwater-history-controls select{min-width:190px}
.backwater-history-controls button{min-height:38px}
.backwater-history-row>div:first-child{min-width:0}
.backwater-history-row>div:first-child small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.backwater-plan-dialog{z-index:340}
.backwater-plan-dialog-card{width:min(1040px,100%);max-height:calc(100vh - 36px);overflow-y:auto}
.backwater-plan-dialog-card>.editor-save-head h2{max-width:min(560px,55vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.backwater-plan-body{display:grid;gap:16px;padding:20px}
.backwater-plan-body>.form-error{margin:0}
.backwater-plan-body>.form-error:empty{display:none}
.backwater-plan-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.backwater-plan-fields.pcdd-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.backwater-plan-fields label{display:grid;gap:7px;margin:0;color:#8196b3;font-size:0.75rem;font-weight:700}
.backwater-plan-fields label>span{font-size:0.75rem}
.backwater-plan-fields input,.backwater-plan-fields select{width:100%;min-width:0;height:42px;padding:0 11px;border:1px solid #29415f;border-radius:9px;color:#e8f1ff;background:#091426;outline:0}
.backwater-plan-fields input{font-size:0.875rem;font-weight:700}
.backwater-plan-fields input:focus,.backwater-plan-fields select:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.1)}
.backwater-plan-ratio-field{grid-column:1/-1}
.backwater-plan-dialog .reward-rule-row label{font-size:0.75rem}
.backwater-plan-dialog .reward-rule-row input{font-size:0.8125rem}
.backwater-plan-dialog .reward-rule-index{font-size:0.75rem}
.backwater-plan-block{overflow:hidden;border:1px solid #29415f;border-radius:13px;background:#0b182a}
.backwater-plan-block>header,.backwater-room-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #29415f;background:#0e1d31}
.backwater-plan-block h3{margin:0;color:#e3edf9;font-size:0.8125rem}
.backwater-plan-block header p{margin:5px 0 0;color:#6c83a2;font-size:0.75rem;line-height:1.5}
.backwater-plan-block>header button,.backwater-room-group>header button{min-height:34px;padding-inline:11px;font-size:0.75rem}
#backwater-plan-room-groups{display:grid;gap:10px;padding:12px}
.backwater-room-group{overflow:hidden;border:1px solid #263e5b;border-radius:11px;background:#091527}
.backwater-room-group>header strong,.backwater-room-group>header small{display:block}
.backwater-room-group>header strong{color:#dce7f6;font-size:0.75rem}
.backwater-room-group>header small{margin-top:4px;color:#6d84a3;font-size:0.75rem}
.backwater-room-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px}
.backwater-room-option{display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:9px;align-items:center;min-width:0;margin:0!important;padding:10px;border:1px solid #263e5b;border-radius:10px;background:#0d1b2e;cursor:pointer}
.backwater-room-option>i{display:grid;width:21px;height:21px;place-items:center;border:1px solid #39516f;border-radius:7px;background:#091426}
.backwater-room-option input:checked+i{border-color:#65dbba;background:#1c826b}
.backwater-room-option input:checked+i:after{content:"✓";color:#fff;font-size:0.75rem}
.backwater-room-option>span{min-width:0}
.backwater-room-option strong,.backwater-room-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.backwater-room-option strong{color:#dce7f6;font-size:0.75rem}
.backwater-room-option small{margin-top:5px;color:#6f86a5;font-size:0.75rem}
.backwater-room-option.occupied{border-color:#4c3546;background:#201722;cursor:not-allowed}
.backwater-room-option.occupied>i{border-color:#594052;background:#261923}
.backwater-room-option.occupied strong{color:#9e8d9d}
.backwater-room-option.occupied small{color:#ef8fa1}
.backwater-detail-list em{line-height:1.55}

@media(max-width:1180px){
  .backwater-filter{grid-template-columns:1fr 1fr 1.4fr auto auto}
  .backwater-plan-fields{grid-template-columns:1fr 1fr}
  .backwater-room-options{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  .backwater-editor{--backwater-tabs-stack:75px}
  .backwater-workspace-tabs{gap:6px;padding:6px;border-radius:13px}
  .backwater-workspace-tabs button{grid-template-columns:27px minmax(0,1fr);gap:7px;min-height:50px;padding:6px 8px;border-radius:9px}
  .backwater-workspace-tabs button>i{width:27px;height:27px;border-radius:8px}
  .backwater-workspace-tabs button b{font-size:0.75rem}
  .backwater-workspace-tabs button small{display:none}
  .backwater-schedule-head{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 14px}
  .backwater-schedule-head>div:first-child span,.backwater-schedule-head>div:first-child p{display:none}
  .backwater-schedule-head h3{margin:0;font-size:0.875rem}
  .backwater-schedule-controls{display:grid;grid-template-columns:auto minmax(105px,1fr) auto;width:100%;gap:7px}
  .backwater-schedule-switch{padding:7px 8px}
  .backwater-schedule-hour{display:grid!important;grid-template-columns:auto minmax(70px,1fr);gap:5px}
  .backwater-schedule-hour select{width:100%;min-width:0}
  .backwater-schedule-controls .primary{width:auto;min-width:62px;min-height:38px;padding-inline:10px}
  .backwater-plan-list{grid-template-columns:1fr 1fr;padding:14px}
  .backwater-filter{grid-template-columns:1fr 1fr}
  .backwater-filter .reward-keyword{grid-column:1/-1}
  .backwater-summary{grid-template-columns:1fr 1fr}
  .backwater-history-head{align-items:stretch}
  .backwater-history-controls{width:100%}
  .backwater-history-controls label{min-width:0;flex:1}
  .backwater-history-controls select{width:100%;min-width:0}
  .backwater-plan-dialog{padding:8px}
  .backwater-plan-dialog-card{max-height:calc(100vh - 16px)}
  .backwater-plan-body{padding:14px}
  .backwater-plan-dialog-card>.editor-save-head h2{max-width:45vw}
}

/* 左侧功能按业务域分组，用安静的渐变细线分隔，不引入可点击的伪菜单项。 */
.sidebar nav>.nav-divider{display:block;width:calc(100% - 24px);height:1px;margin:9px 12px;background:linear-gradient(90deg,transparent,#2a405e 16%,#2a405e 84%,transparent)}
@media(max-width:560px){
  .backwater-plan-list{grid-template-columns:1fr;padding:10px}
  .backwater-plan-fields,.backwater-plan-fields.pcdd-fields{grid-template-columns:1fr}
  .backwater-room-options{grid-template-columns:1fr}
  .backwater-plan-block>header{align-items:flex-start;flex-direction:column}
  .backwater-plan-block>header button{width:100%}
}
@media(max-width:480px){
  .backwater-editor{--backwater-tabs-stack:69px}
  .backwater-workspace-tabs button{display:block;min-height:46px;padding:7px 4px;text-align:center}
  .backwater-workspace-tabs button>i{display:none}
  .backwater-workspace-tabs button b{font-size:0.75rem}
  .backwater-schedule-head{padding:10px}
  .backwater-schedule-controls{grid-template-columns:auto minmax(88px,1fr) 58px;gap:5px}
  .backwater-schedule-switch{gap:5px;padding-inline:6px}
  .backwater-schedule-switch b{font-size:0.75rem}
  .backwater-schedule-switch i{width:34px;height:20px}
  .backwater-schedule-switch i:after{width:14px;height:14px}
  .backwater-schedule-switch input:checked+i:after{left:17px}
  .backwater-schedule-hour>span{display:none}
  .backwater-schedule-hour{grid-template-columns:1fr}
  .backwater-schedule-controls .primary{min-width:58px;padding-inline:7px;font-size:0.75rem}
  .backwater-plan-card{padding:16px}
  .backwater-plan-metrics{grid-template-columns:1.2fr .7fr .7fr}
  .backwater-filter{grid-template-columns:1fr;padding:10px}
  .backwater-filter .reward-keyword{grid-column:auto}
  .backwater-summary{grid-template-columns:1fr 1fr}
  .backwater-summary>div{padding:11px}
  .backwater-summary strong{font-size:0.875rem}
  .backwater-history-controls{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .backwater-plan-dialog{padding:4px}
  .backwater-plan-dialog-card{max-height:calc(100vh - 8px);border-radius:14px}
  .backwater-plan-dialog-card>.editor-save-head{border-radius:13px 13px 0 0}
  .backwater-plan-dialog-card>.editor-save-head h2{max-width:34vw;font-size:0.875rem}
  .backwater-plan-body{gap:12px;padding:10px}
  #backwater-plan-room-groups{padding:9px}
  .backwater-room-group>header{padding:11px}
  .backwater-room-options{padding:8px}
  .backwater-detail-list>span{grid-template-columns:minmax(0,1fr) auto}
}

/* 人工开奖、机器人和聊天室红包管理 */
.draw-control-box{display:grid;grid-column:1/-1;grid-template-columns:minmax(200px,1.1fr) minmax(260px,1.5fr) auto auto;gap:11px;align-items:end;padding:16px;border:1px solid #2b4667;border-radius:14px;background:linear-gradient(135deg,#102239,#0b182b)}.draw-control-box>div span,.draw-control-box>div strong,.draw-control-box>div small{display:block}.draw-control-box>div span{color:#7289a8;font-size:0.75rem}.draw-control-box>div strong{margin:5px 0 4px;color:#ecf4ff;font-size:0.9375rem}.draw-control-box>div small{color:#6fe0be;font-size:0.75rem}.draw-control-box button{height:44px;white-space:nowrap}.game-draw-row.invalid{border-color:#734153;background:#24151f}.game-draw-row.invalid>div:first-child small,.game-draw-row.invalid>p{color:#ff9dab}
.management-layout{display:grid;grid-template-columns:minmax(390px,.78fr) minmax(560px,1.22fr);gap:18px}.management-editor{align-self:start;overflow:hidden;position:sticky;top:20px}.management-form{padding:21px}.management-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.management-form .form-field{display:grid;gap:7px;margin:0}.management-form .form-field.wide{grid-column:1/-1}.management-form .field-label{color:#8498b5;font-size:0.75rem;font-weight:700}.management-form input,.management-form select,.management-form textarea{width:100%;min-width:0;border:1px solid #2a4261;border-radius:10px;color:#e7effa;background:#091426;outline:0}.management-form input,.management-form select{height:43px;padding:0 11px}.management-form textarea{padding:11px;resize:vertical;line-height:1.6}.management-form input:focus,.management-form select:focus,.management-form textarea:focus{border-color:#6094e8;box-shadow:0 0 0 3px rgba(95,148,232,.1)}.management-form>button{width:100%;margin-top:17px}.switch-field{display:flex!important;align-items:center;justify-content:space-between;min-height:63px;padding:10px 12px;border:1px solid #273e5c;border-radius:11px;background:#0d1b2f}.switch-control{display:flex;align-items:center;gap:8px;color:#93a7c1;font-size:0.75rem}.switch-control input{position:absolute;width:1px!important;height:1px!important;opacity:0}.switch-control i{position:relative;width:39px;height:22px;border-radius:999px;background:#30425c}.switch-control i:after{position:absolute;content:"";top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#aab8cc;transition:.18s}.switch-control input:checked+i{background:#258570}.switch-control input:checked+i:after{left:20px;background:#77ecc9}.management-list-panel{overflow:hidden}.management-list{display:grid;gap:11px;padding:17px}.management-row{display:grid;gap:14px;padding:16px;border:1px solid #29415e;border-radius:14px;background:#0b182a}.management-identity{display:grid;grid-template-columns:45px minmax(0,1fr);gap:11px;align-items:center}.management-avatar{display:grid;width:45px;height:45px;place-items:center;overflow:hidden;border-radius:13px;color:#0b211c;background:linear-gradient(135deg,#72e5c3,#63a7ff);font-size:0.9375rem;font-weight:900}.management-avatar img{width:100%;height:100%;object-fit:cover}.management-identity strong,.management-identity small{display:block}.management-identity strong{color:#e6eef9;font-size:0.8125rem}.management-identity small{margin-top:5px;color:#748aa8;font-size:0.75rem}.management-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.management-metrics span{min-width:0;padding:9px 10px;border-radius:9px;color:#7187a6;background:#102038;font-size:0.75rem}.management-metrics b{display:block;overflow:hidden;margin-top:5px;color:#dce7f6;font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}.management-actions{display:flex;justify-content:flex-end;gap:7px}.management-actions button{height:35px;padding:0 12px;border:1px solid #315274;border-radius:9px;color:#a9c6e3;background:#10233a;font-size:0.75rem}.management-actions button.publish{border-color:#286b5d;color:#77e8c7;background:#12352f}.management-actions button.danger{border-color:#633448;color:#ff9dad;background:#2b1923}.red-packet-identity{display:grid;grid-template-columns:45px minmax(0,1fr);gap:11px;align-items:start}.red-packet-identity>span{display:grid;width:45px;height:45px;place-items:center;border-radius:13px;color:#fff2cc;background:linear-gradient(145deg,#e75262,#bb283c);font-size:1.0625rem;font-weight:900}.red-packet-identity strong,.red-packet-identity small{display:block}.red-packet-identity strong{color:#e9f1fc;font-size:0.8125rem}.red-packet-identity small{margin-top:5px;color:#8296b1;font-size:0.75rem}.red-packet-identity p{margin:7px 0 0;color:#677f9e;font-size:0.75rem;line-height:1.5}.claims-dialog-card{width:min(1040px,calc(100% - 28px));max-height:min(760px,calc(100vh - 40px));overflow:auto}.claims-list{display:grid;gap:8px;padding:18px}.claims-list article{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid #263e5b;border-radius:12px;background:#0b182a}.claims-list .management-avatar{width:42px;height:42px}.claims-list strong,.claims-list small{display:block}.claims-list strong{color:#e1eaf7;font-size:0.75rem}.claims-list small{margin-top:4px;color:#7288a5;font-size:0.75rem}.claims-list b{color:#72e5c2;font-size:0.875rem}.claims-list time{color:#7186a4;font-size:0.75rem}.chat-structured{min-width:min(390px,55vw);padding:14px 16px;border:1px solid #2b4b6d;border-radius:14px;background:#10243c}.chat-structured span,.chat-structured strong,.chat-structured small{display:block}.chat-structured span{color:#6db6ee;font-size:0.75rem;font-weight:900;letter-spacing:.12em}.chat-structured strong{margin:7px 0;color:#edf5ff;font-size:0.8125rem}.chat-structured p{margin:0!important;padding:0!important;color:#a9bed6!important;background:none!important;box-shadow:none!important;font-size:0.75rem!important}.chat-structured small{margin-top:8px;color:#718ba8;font-size:0.75rem}.chat-structured.red-card{border-color:#663b4b;background:linear-gradient(145deg,#3a1d2b,#241521)}.chat-structured.red-card span{color:#ff9cac}.chat-structured.red-card small{color:#c38c9a}
@media(max-width:1180px){.management-layout{grid-template-columns:1fr}.management-editor{position:static}.management-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.draw-control-box{grid-template-columns:1fr 1fr}.draw-control-box>div,.draw-control-box>label{grid-column:1/-1}.management-form{padding:15px}.management-list{padding:12px}.chat-structured{min-width:min(330px,66vw)}}
@media(max-width:480px){.draw-control-box{grid-template-columns:1fr;padding:12px}.draw-control-box>div,.draw-control-box>label{grid-column:auto}.draw-control-box button{width:100%}.management-form .form-grid{grid-template-columns:1fr}.management-form .form-field.wide{grid-column:auto}.management-list{padding:9px}.management-row{padding:12px}.management-metrics{grid-template-columns:1fr 1fr}.management-actions{display:grid;grid-template-columns:1fr 1fr}.management-actions button{width:100%}.red-packet-identity{grid-template-columns:39px minmax(0,1fr)}.red-packet-identity>span{width:39px;height:39px}.claims-list{padding:11px}.claims-list article{grid-template-columns:38px minmax(0,1fr) auto}.claims-list .management-avatar{width:38px;height:38px}.claims-list time{grid-column:2}.chat-structured{min-width:min(260px,72vw)}}

/* 聊天室、客服自动回复和收款设置统一使用结构化表单，不向运营人员暴露JSON。 */
.structured-setting-stack{display:grid;gap:16px}.structured-setting{grid-column:1/-1;overflow:hidden;border:1px solid #29415f;border-radius:15px;background:#0a1729}.structured-setting-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#10243b,#0c192d)}.structured-setting-head h3{margin:0;color:#edf4ff;font-size:1rem}.structured-setting-head p{margin:6px 0 0;color:#758ba8;font-size:0.75rem;line-height:1.6}.structured-setting>.form-grid{padding:18px 20px}.structured-setting input,.structured-setting select,.structured-setting textarea,.collection-row input,.collection-row textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;color:#e8f1ff;background:#091426;outline:0}.structured-setting input,.structured-setting select,.collection-row input{height:42px;padding:0 11px}.structured-setting textarea,.collection-row textarea{padding:10px 11px;resize:vertical;line-height:1.55}.structured-setting input:focus,.structured-setting select:focus,.structured-setting textarea:focus,.collection-row input:focus,.collection-row textarea:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.1)}.structured-text-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 20px}.structured-text-grid label,.standalone-field,.collection-row label{display:grid;gap:7px;margin:0;color:#8da1bc;font-size:0.75rem;font-weight:700}.structured-text-grid small{color:#667d9c;font-size:0.75rem;font-weight:400;line-height:1.55}.forecast-setting{margin:0 20px 20px;padding:16px;border:1px solid #294663;border-radius:12px;background:#0d1d31}.forecast-setting>strong{color:#dce7f6;font-size:0.75rem}.forecast-setting>p{margin:6px 0 13px;color:#7188a7;font-size:0.75rem}.forecast-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.forecast-options label{display:flex;align-items:center;gap:8px;margin:0;padding:10px;border:1px solid #263f5c;border-radius:9px;color:#a9bdd4;background:#102038;font-size:0.75rem}.forecast-options input{width:auto;height:auto;accent-color:var(--primary)}.standalone-field{margin:17px 20px;padding:15px;border:1px solid #29425f;border-radius:11px;background:#0d1b2f}.pair-setting-list,.collection-list{display:grid;gap:10px;padding:0 20px 20px}.pair-setting-row{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr) 34px;gap:10px;align-items:center;padding:12px;border:1px solid #263f5c;border-radius:11px;background:#0d1b2f}.pair-setting-row label{display:grid;gap:6px;margin:0;color:#8297b4;font-size:0.75rem}.pair-setting-index{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;color:#75e7c5;background:#12372f;font-size:0.75rem;font-weight:900}.pair-setting-remove,.collection-row-remove{min-height:36px;border:1px solid #603448;border-radius:8px;color:#ff9ca6;background:#2a1923}.collection-code-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 20px}.collection-code-grid>div{min-width:0;padding:14px;border:1px solid #29425f;border-radius:12px;background:#0d1b2f}.collection-code-grid>div>strong{display:block;margin-bottom:11px;color:#dce7f6;font-size:0.75rem}.collection-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 72px;gap:10px;align-items:end;padding:13px;border:1px solid #263f5c;border-radius:11px;background:#0d1b2f}.collection-row.other{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(230px,1.1fr) 72px}.collection-row .wide{grid-column:1/-2}.collection-qr{display:grid;gap:7px;min-width:0}.collection-qr>span{color:#8da1bc;font-size:0.75rem;font-weight:700}.collection-row-remove{height:42px}.structured-setting .image-upload{margin:0}.structured-setting .image-upload-preview{min-height:120px}.structured-setting .qr-content-preview{max-height:72px;overflow:auto;overflow-wrap:anywhere}.setting-form:has(.structured-setting-stack)>.form-footer{margin-top:18px}
@media(max-width:980px){.forecast-options{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-row,.collection-row.other{grid-template-columns:1fr 1fr}.collection-row .wide{grid-column:1/-1}.collection-row-remove{grid-column:2;justify-self:end;width:100px}.collection-qr{grid-column:1/-1}}
@media(max-width:780px){.structured-text-grid,.collection-code-grid{grid-template-columns:1fr;padding:14px}.structured-setting-head{align-items:flex-start;flex-direction:column;padding:16px}.structured-setting-head>button{width:100%}.structured-setting>.form-grid{padding:14px}.standalone-field{margin:14px}.pair-setting-list,.collection-list{padding:0 14px 14px}.pair-setting-row{grid-template-columns:28px minmax(0,1fr) 34px}.pair-setting-row label{grid-column:2}.pair-setting-row .pair-setting-index{grid-row:1/3}.pair-setting-row .pair-setting-remove{grid-column:3;grid-row:1}.forecast-setting{margin:0 14px 14px}}

/* 布尔设置统一采用“开关 + 功能名称”，状态由开关本身表达。 */
.setting-form .switch-field{min-height:52px}
.setting-form .switch-field .switch-control{justify-content:flex-start}
.benefit-switch,.reward-switch{justify-content:flex-start}
.benefit-switch>b{min-width:max-content;flex:1}
.reward-switch>span{min-width:min-content;flex:1}
.content-list-switch{grid-template-columns:38px auto}
@media(max-width:480px){.forecast-options{grid-template-columns:1fr}.pair-setting-row{padding:10px}.collection-row,.collection-row.other{grid-template-columns:1fr;padding:10px}.collection-row .wide,.collection-qr,.collection-row-remove{grid-column:auto}.collection-row-remove{justify-self:stretch;width:100%}.structured-setting .image-upload-actions{align-items:stretch;flex-direction:column}.structured-setting .image-upload-actions>*{width:100%}}

/* 基础外观设置使用明确的皮肤下拉框与原生颜色选择器。 */
.form-field>select{width:100%;height:46px;padding:0 13px;border:1px solid var(--line);border-radius:10px;color:#eef4ff;background:#0a1528;outline:none;transition:.18s}.form-field>select:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.12)}.form-field>input[type="color"]{padding:5px;cursor:pointer}.form-field>input[type="color"]::-webkit-color-swatch-wrapper{padding:0}.form-field>input[type="color"]::-webkit-color-swatch{border:0;border-radius:7px}
.field-affix{display:flex;align-items:center;min-height:46px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#0a1528}.field-affix:focus-within{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.12)}.field-affix>input{flex:1;min-width:90px;height:44px;padding:0 13px;border:0;color:#eef4ff;background:transparent;outline:0}.field-affix>b{flex:0 0 auto;padding:0 13px;color:#91a5c3;font-size:0.75rem;font-weight:700;white-space:nowrap}.field-note{display:block;margin-top:9px;color:#ff929d;font-size:0.75rem;line-height:1.65}.switch-field .field-note{margin-top:10px}

.portal-loading{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 25%,#17375a,#07101f 62%)}.portal-loading>div{display:grid;justify-items:center;gap:13px}.portal-loading img{width:54px;height:54px}.portal-loading i{display:block;width:92px;height:3px;overflow:hidden;border-radius:99px;background:#1e3855}.portal-loading i:after{display:block;width:38%;height:100%;border-radius:inherit;content:"";background:var(--primary);animation:portal-loading 1s ease-in-out infinite alternate}.portal-loading strong{color:#dce8f8;font-size:0.75rem;letter-spacing:.06em}@keyframes portal-loading{to{transform:translateX(150%)}}

/* 客服会话作为全局抽屉常驻，打开和关闭都不销毁当前工作页面。 */
.service-launcher{position:fixed;z-index:54;right:28px;bottom:28px;display:flex;align-items:center;gap:9px;min-height:48px;padding:0 18px;border:1px solid #3b6c72;border-radius:999px;color:#071b18;background:linear-gradient(135deg,var(--primary),#84a7ff);box-shadow:0 16px 45px rgba(0,0,0,.36);font-weight:900}.service-launcher b,.user-mobile-footbar b{display:grid;min-width:21px;height:21px;padding:0 5px;place-items:center;border-radius:999px;color:#fff;background:#ed6172;font-size:0.75rem}.service-layer{position:fixed;z-index:70;inset:0}.service-layer-mask{position:absolute;z-index:0;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(2,8,18,.58);backdrop-filter:blur(3px)}.service-drawer{position:absolute;z-index:1;top:0;right:0;width:min(920px,calc(100% - 56px));height:100%;overflow:hidden;border-left:1px solid var(--line);background:#0a1527;box-shadow:-24px 0 70px rgba(0,0,0,.42)}.service-drawer-head{display:flex;align-items:center;justify-content:space-between;height:68px;padding:0 20px 0 24px;border-bottom:1px solid var(--line);background:#101d31}.service-drawer-head strong,.service-drawer-head span{display:block}.service-drawer-head strong{color:#f0f5ff;font-size:1rem}.service-drawer-head span{margin-top:5px;color:#8195b1;font-size:0.75rem}.service-drawer .service-console{height:calc(100% - 68px);min-height:0;border:0;border-radius:0;box-shadow:none}.service-drawer .service-contact-list{max-height:none;height:calc(100vh - 174px)}.service-drawer .service-conversation{min-height:0}.service-drawer .service-chat-empty,.service-drawer .service-chat{height:calc(100vh - 68px)}.user-mobile-footbar{display:none}

@media(max-width:780px){.workspace{padding-bottom:82px}.service-launcher{display:none}.user-mobile-footbar{position:fixed;z-index:80;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;height:62px;border-top:1px solid #2a405f;background:rgba(9,20,37,.97);box-shadow:0 -10px 35px rgba(0,0,0,.28);backdrop-filter:blur(15px)}.user-mobile-footbar button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;border:0;color:#8398b6;background:transparent;font-size:0.75rem;font-weight:800}.user-mobile-footbar button>span{font-size:1.0625rem}.user-mobile-footbar button.active{color:var(--primary);background:#10283a}.user-mobile-footbar b{position:absolute;top:6px;left:calc(50% + 34px)}.service-layer{bottom:62px}.service-layer-mask{display:none}.service-drawer{width:100%;height:100%;border-left:0}.service-drawer-head{height:60px;padding:0 14px 0 17px}.service-drawer-head span{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-drawer .service-console{height:calc(100% - 60px);overflow-y:auto}.service-drawer .service-contact-list{height:auto;max-height:230px}.service-drawer .service-conversation{min-height:430px}.service-drawer .service-chat-empty{height:430px}.service-drawer .service-chat{height:520px}.service-drawer .service-send{grid-template-columns:minmax(0,1fr) auto}.service-drawer .service-send .primary{min-width:70px}}

@media(max-width:480px){.service-drawer .service-send{grid-template-columns:1fr}.service-drawer .service-chat{height:570px}}

/* 管理控制台实时工作区 */
@media(min-width:781px){.workspace{padding-right:124px}}
.side-user{gap:10px}.side-user>div:nth-child(2){min-width:0;flex:1}.logout-button{display:flex;flex:0 0 auto;align-items:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid #3a506f;border-radius:9px;color:#9eb2cc;background:#132138;font-size:0.75rem;font-weight:800}.logout-button:hover{border-color:#775164;color:#ffadb7;background:#281a27}.logout-button span{font-size:0.875rem}.realtime-launcher{position:fixed;z-index:54;right:24px;bottom:24px;display:grid;gap:8px;padding:8px;border:1px solid #2d4867;border-radius:18px;background:rgba(9,20,37,.94);box-shadow:0 18px 50px rgba(0,0,0,.4);backdrop-filter:blur(16px)}.realtime-launcher button{position:relative;display:grid;width:72px;min-height:58px;place-items:center;gap:3px;padding:7px 5px;border:1px solid transparent;border-radius:12px;color:#8399b7;background:transparent}.realtime-launcher button:hover,.realtime-launcher button.active{border-color:#3f6d78;color:#82e9ca;background:#12302f}.realtime-launcher button>span{font-size:1.125rem}.realtime-launcher em{font-size:0.75rem;font-style:normal;font-weight:800}.realtime-launcher b,.realtime-tabs b{position:absolute;top:3px;right:4px;display:grid;min-width:20px;height:20px;padding:0 5px;place-items:center;border-radius:999px;color:#fff;background:#ed6172;font-size:0.75rem}.realtime-drawer{width:min(980px,calc(100% - 56px))}.realtime-tabs{display:grid;height:58px;grid-template-columns:repeat(4,1fr);gap:1px;padding:7px 10px;border-bottom:1px solid var(--line);background:#0b1729}.realtime-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;color:#788eac;background:transparent;font-size:0.75rem;font-weight:800}.realtime-tabs button>span{font-size:1rem}.realtime-tabs button:hover,.realtime-tabs button.active{border-color:#315274;color:#d9e8f8;background:#14263e}.realtime-panel[hidden]{display:none!important}.realtime-drawer>.realtime-panel{height:calc(100% - 126px);min-height:0;border:0;border-radius:0;box-shadow:none}.realtime-drawer .service-console{height:calc(100% - 126px)}.realtime-drawer .service-contact-list{height:calc(100vh - 232px)}.realtime-drawer .service-chat-empty,.realtime-drawer .service-chat{height:calc(100vh - 126px)}.realtime-list-panel{display:grid;grid-template-rows:auto minmax(0,1fr);background:#0a1527}.realtime-list-panel>header{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line);background:#0e1b30}.realtime-list-panel>header strong,.realtime-list-panel>header span{display:block}.realtime-list-panel>header strong{color:#edf4ff;font-size:1rem}.realtime-list-panel>header span{margin-top:5px;color:#748aa8;font-size:0.75rem}.realtime-list-panel>header>b{display:grid;min-width:34px;height:34px;padding:0 9px;place-items:center;border-radius:999px;color:#08201b;background:#77e6c5;font-size:0.75rem}.realtime-record-list,.realtime-bet-list{align-content:start;overflow:auto;padding:18px 20px}.realtime-record-list .record-row{grid-template-columns:minmax(190px,1.15fr) 95px minmax(170px,1fr) 72px minmax(120px,auto)}.realtime-bet-list{display:grid;gap:10px}.realtime-bet-row{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(180px,.9fr) minmax(220px,1.3fr) 70px;gap:15px;align-items:center;padding:15px 16px;border:1px solid var(--line);border-radius:13px;background:#0b1729}.realtime-bet-player{display:flex;min-width:0;align-items:center;gap:11px}.realtime-bet-player>span{display:grid;flex:0 0 auto;width:42px;height:42px;place-items:center;border-radius:13px;color:#08201b;background:linear-gradient(135deg,#76e7c5,#65a8ff);font-weight:900}.realtime-bet-player>div,.realtime-bet-room{min-width:0}.realtime-bet-player strong,.realtime-bet-player small,.realtime-bet-room strong,.realtime-bet-room small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.realtime-bet-player strong,.realtime-bet-room strong{color:#dfebfa;font-size:0.75rem}.realtime-bet-player small,.realtime-bet-room small{margin-top:5px;color:#6d84a4;font-size:0.75rem}.realtime-bet-row>p{margin:0;color:#aebfd4;font-size:0.75rem;line-height:1.6}.realtime-bet-row>b{display:grid;justify-items:end;color:#77e5c4;font-size:1.125rem}.realtime-bet-row>b small{margin-top:3px;color:#6e84a3;font-size:0.75rem}.realtime-chat{height:100%;min-height:0;border:0;border-radius:0}.realtime-chat.user-group-chat{min-height:0}.realtime-chat .user-chat-messages{max-height:none;min-height:0}.realtime-chat>.panel-head p{margin:5px 0 0;color:#7086a5;font-size:0.75rem}

@media(max-width:780px){.workspace{padding-bottom:72px}.realtime-launcher{display:none}.user-mobile-footbar{grid-template-columns:repeat(5,1fr);height:64px}.user-mobile-footbar button{display:grid;align-content:center;gap:2px;padding:4px 1px;font-size:0.75rem}.user-mobile-footbar button>span{font-size:1rem}.user-mobile-footbar b{top:4px;left:calc(50% + 10px)}.realtime-layer{bottom:64px}.realtime-drawer{width:100%;height:100%}.realtime-tabs{display:none}.realtime-drawer>.realtime-panel,.realtime-drawer .service-console{height:calc(100% - 60px)}.realtime-drawer .service-contact-list{height:auto;max-height:210px}.realtime-drawer .service-chat-empty{height:390px}.realtime-drawer .service-chat{height:500px}.realtime-list-panel>header{padding:15px}.realtime-record-list,.realtime-bet-list{padding:12px}.realtime-record-list .record-row,.realtime-bet-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.realtime-record-list .record-main,.realtime-record-list .record-note{grid-column:1/-1}.realtime-record-list .record-state{grid-column:2;grid-row:2}.realtime-record-list .record-actions{grid-column:1/-1}.realtime-bet-player,.realtime-bet-row>p{grid-column:1/-1}.realtime-bet-room{grid-column:1}.realtime-bet-row>b{grid-column:2;grid-row:2}.realtime-chat .panel-head{padding:14px}.realtime-chat .user-chat-messages{padding:15px 12px}.realtime-chat .user-chat-send{padding:12px}.side-user .logout-button{min-width:92px;justify-content:center}}

/* 首页把两个当前入口放在主要数据之前，并为复制和登录归属地提供紧凑布局。 */
.stats{grid-template-columns:repeat(3,1fr)}.quick-domains{grid-template-columns:repeat(2,1fr)}.domain-chip-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.domain-chip-main a{min-width:0}.domain-copy{height:32px;padding:0 12px;border:1px solid #36577b;border-radius:8px;color:#bcd4ed;background:#10243b;font-size:0.75rem;font-weight:800}.domain-copy:hover{border-color:#69e5c2;color:#69e5c2}.last-login-detail{display:grid!important;gap:4px}.last-login-detail span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.last-login-detail span:last-child{color:#6f86a8}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.quick-domains{grid-template-columns:1fr}}
@media(max-width:480px){.stats{grid-template-columns:1fr}.domain-chip-main{grid-template-columns:minmax(0,1fr) 54px}.domain-copy{padding:0 8px}}

/* 本轮实时工作区交互：紧凑退出、客服摘要、上下分分区、下注筛选和群聊房间切换。 */
.logout-button{min-width:52px;justify-content:center;white-space:nowrap}.player-actions{flex-wrap:wrap;justify-content:flex-start}.player-actions .player-enter-action{border-color:#3f9f86;color:#09251e;background:linear-gradient(135deg,#73e5c3,#65c7ae);font-weight:900}.player-actions .player-enter-action:hover{border-color:#8af2d4;color:#061a15;background:linear-gradient(135deg,#8cf0d3,#76d8bd)}.player-actions .player-enter-action:disabled{opacity:.42;cursor:not-allowed}.player-actions .player-service-action{border-color:#5578bd;color:#c9d9ff;background:#1b2e54}.service-search input{width:100%}.service-contact-list{align-content:start;grid-auto-rows:minmax(74px,auto)}.service-contact{min-height:74px}.service-contact em{color:#8da2bf}.pending-coin-sections{display:grid;align-content:start;gap:16px;overflow:auto;padding:16px 18px}.pending-coin-sections>section{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#0b1729}.pending-coin-sections>section>header{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid var(--line);background:#102039}.pending-coin-sections>section>header strong{color:#e5eefb;font-size:0.8125rem}.pending-coin-sections>section>header b{display:grid;min-width:28px;height:28px;padding:0 8px;place-items:center;border-radius:999px;color:#0a1d18;background:#74e4c2;font-size:0.75rem}.pending-coin-sections .realtime-record-list{overflow:visible;padding:12px}.user-chat-actions{display:flex;align-items:center;gap:9px}.user-chat-actions select{min-width:220px;height:38px;padding:0 11px;border:1px solid #315071;border-radius:9px;color:#dce8f8;background:#102039;outline:0}.user-chat-actions select:focus{border-color:#69d9bd}.realtime-list-panel#realtime-bet-panel{grid-template-rows:auto auto minmax(0,1fr)}.realtime-bet-filter{display:flex;align-items:end;gap:10px;padding:12px 20px;border-bottom:1px solid var(--line);background:#0b1729}.realtime-bet-filter label{display:grid;gap:5px;color:#7188a8;font-size:0.75rem}.realtime-bet-filter select{min-width:180px;height:36px;padding:0 10px;border:1px solid #2d4969;border-radius:8px;color:#dce8f7;background:#101f34}.realtime-bet-filter select:disabled{opacity:.5}.realtime-bet-filter>span{margin-left:auto;color:#8096b5;font-size:0.75rem}.realtime-bet-filter>span b{color:#74e4c2}.user-log-detail{display:grid;gap:6px;min-width:180px}.user-log-detail>strong{color:#dce8f8;font-size:0.75rem;line-height:1.55}.user-log-detail>span{display:flex;gap:7px;color:#879db9;font-size:0.75rem;line-height:1.5}.user-log-detail>span b{flex:0 0 auto;color:#6fe0c0}

@media(max-width:780px){.side-user .logout-button{min-width:52px;padding:0 9px}.player-actions{grid-column:1/-1}.pending-coin-sections{padding:10px}.pending-coin-sections .realtime-record-list{padding:8px}.user-chat-actions{width:100%}.user-chat-actions select{min-width:0;flex:1}.realtime-bet-filter{align-items:stretch;flex-wrap:wrap;padding:11px 12px}.realtime-bet-filter label{flex:1 1 130px}.realtime-bet-filter select{width:100%;min-width:0}.realtime-bet-filter>span{width:100%;margin-left:0}.service-contact{min-height:78px}}

/* 所有页面共用的实时开奖底栏，展开层始终向上显示，不遮挡右侧实时业务入口。 */
.workspace{padding-bottom:140px}.live-draw-bar{position:fixed;z-index:53;right:124px;bottom:20px;left:calc(250px + clamp(24px,4vw,58px));display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:66px;overflow:visible;border:1px solid #34516f;border-radius:16px;background:rgba(9,20,37,.97);box-shadow:0 18px 55px rgba(0,0,0,.4);backdrop-filter:blur(18px)}.live-draw-current{min-width:0}.live-draw-waiting{display:flex;align-items:center;min-height:64px;padding:0 20px;color:#8299b7;font-size:0.75rem}.live-draw-more{display:flex;min-width:72px;align-items:center;justify-content:center;gap:6px;border:0;border-left:1px solid #29425f;border-radius:0 15px 15px 0;color:#82e9ca;background:#10283a;font-size:0.75rem;font-weight:900}.live-draw-more span{font-size:0.875rem;transition:transform .18s}.live-draw-more[aria-expanded="true"] span{transform:rotate(180deg)}.live-draw-expanded{position:absolute;right:0;bottom:calc(100% + 10px);left:0;max-height:calc(100dvh - 40px);overflow:hidden;border:1px solid #34516f;border-radius:16px;background:#0a1527;box-shadow:0 -22px 70px rgba(0,0,0,.5)}.live-draw-expanded>header{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #263e59;background:#101f34}.live-draw-expanded>header strong,.live-draw-expanded>header span{display:block}.live-draw-expanded>header strong{color:#edf4ff;font-size:0.875rem}.live-draw-expanded>header span{margin-top:4px;color:#7188a8;font-size:0.75rem}.live-draw-expanded>header button{height:30px;padding:0 11px;border:1px solid #34516f;border-radius:8px;color:#a9bdd5;background:#14253d;font-size:0.75rem}.live-draw-list{display:grid;max-height:min(550px,calc(100vh - 190px));overflow-y:auto}.live-draw-list .live-draw-row{border-top:1px solid #1e334d}.live-draw-list .live-draw-row:first-child{border-top:0}.live-draw-row{display:grid;grid-template-columns:minmax(135px,.75fr) minmax(220px,1.45fr) minmax(92px,.52fr) minmax(82px,.42fr);gap:14px;align-items:center;min-height:64px;padding:9px 18px}.live-draw-game,.live-draw-result,.live-draw-next,.live-draw-time{min-width:0}.live-draw-game{display:flex;align-items:center;gap:10px}.live-draw-game>i{display:block;flex:0 0 auto;width:9px;height:9px;border-radius:99px;background:#69e5c2;box-shadow:0 0 12px rgba(105,229,194,.7)}.live-draw-game strong,.live-draw-game small,.live-draw-result small,.live-draw-next span,.live-draw-next strong,.live-draw-time span,.live-draw-time strong{display:block}.live-draw-game strong{overflow:hidden;color:#eaf2ff;font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}.live-draw-game small{margin-top:4px;color:#6f86a5;font-size:0.75rem}.live-draw-result{display:grid;gap:4px}.live-draw-balls{display:flex;min-width:0;gap:4px;overflow:hidden}.live-draw-balls i{display:grid;flex:0 0 auto;width:22px;height:22px;place-items:center;border-radius:7px;color:#071b18;background:linear-gradient(135deg,#77e7c6,#73aaff);font-size:0.75rem;font-style:normal;font-weight:900}.live-draw-balls span{color:#7890ae;font-size:0.75rem}.live-draw-result small{overflow:hidden;color:#7188a8;font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}.live-draw-result.invalid small{color:#ff98a3}.live-draw-next span,.live-draw-time span{color:#6d84a4;font-size:0.75rem}.live-draw-next strong,.live-draw-time strong{margin-top:4px;color:#dfeafa;font-size:0.75rem}.live-draw-time strong{color:#76e5c5;font-variant-numeric:tabular-nums}.live-draw-row.is-empty .live-draw-time strong{color:#8397b2}

/* 电脑端实时业务使用一个入口和全屏横向四列，四项业务可以同时处理。 */
.realtime-launcher #desktop-realtime-signal{top:7px;right:8px;width:10px;min-width:10px;height:10px;padding:0;border:2px solid #0c192b;background:#f26d7d;box-shadow:0 0 11px rgba(242,109,125,.8)}.realtime-grid{min-height:0}.realtime-drawer .realtime-grid>.realtime-panel{min-height:0;overflow:hidden;box-shadow:none}
@media(min-width:781px){.realtime-layer{inset:0}.realtime-layer-mask{display:none}.realtime-drawer{inset:0;width:100%;height:100%;border:0;box-shadow:none}.realtime-tabs{display:none}.realtime-grid{display:grid;height:calc(100% - 68px);grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:8px;padding:8px;background:#07101f}.realtime-drawer .realtime-grid>.realtime-panel{display:grid!important;height:auto!important;grid-row:1;border:1px solid #29415e;border-radius:12px}.realtime-grid>#realtime-chat-panel{grid-column:1}.realtime-grid>#realtime-service-panel{grid-column:2}.realtime-grid>#realtime-bet-panel{grid-column:3}.realtime-grid>#realtime-coin-panel{grid-column:4}.realtime-drawer .realtime-grid>.service-console{height:auto;grid-template-columns:1fr;grid-template-rows:minmax(235px,.42fr) minmax(0,.58fr)}.realtime-drawer .service-contacts{display:grid;min-height:0;grid-template-rows:auto auto minmax(0,1fr);border-right:0;border-bottom:1px solid var(--line)}.realtime-drawer .service-contact-list{height:auto;max-height:none}.realtime-drawer .service-conversation,.realtime-drawer .service-chat-empty,.realtime-drawer .service-chat{height:100%;min-height:0}.realtime-drawer .service-chat{grid-template-rows:auto minmax(0,1fr) auto}.realtime-drawer .service-title{padding:11px 12px 8px}.realtime-drawer .service-title h2{font-size:0.875rem}.realtime-drawer .service-search{padding:0 9px 9px}.realtime-drawer .service-contact{min-height:58px;padding:8px 9px}.realtime-drawer .service-contact>span{width:34px;height:34px}.realtime-drawer .service-messages{padding:10px}.realtime-drawer .service-send{grid-template-columns:minmax(0,1fr) 60px;gap:6px;padding:7px 8px}.realtime-drawer .service-send textarea{min-height:38px}.realtime-drawer .service-send .primary{min-width:0;padding:0 7px}.realtime-drawer .realtime-list-panel>header{padding:11px 12px}.realtime-drawer .pending-coin-sections{gap:8px;padding:8px}.realtime-drawer .pending-coin-sections>section>header{padding:8px 10px}.realtime-drawer .pending-coin-sections .realtime-record-list{padding:6px}.realtime-drawer .realtime-record-list .record-row{grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:8px}.realtime-drawer .realtime-record-list .record-main,.realtime-drawer .realtime-record-list .record-note,.realtime-drawer .realtime-record-list .record-actions{grid-column:1/-1}.realtime-drawer .realtime-record-list .record-state{grid-column:2;grid-row:2}.realtime-drawer .realtime-chat,.realtime-drawer .realtime-chat.user-group-chat{height:100%;min-height:0;grid-template-rows:auto auto minmax(0,1fr) auto}.realtime-drawer .realtime-chat .panel-head{align-items:stretch;flex-direction:column;padding:10px 11px}.realtime-drawer .realtime-chat .user-chat-actions{width:100%}.realtime-drawer .realtime-chat .user-chat-actions select{min-width:0;flex:1}.realtime-drawer .realtime-chat .user-chat-older{margin:6px 0 0}.realtime-drawer .realtime-chat .user-chat-messages{min-height:0;padding:10px 9px}.realtime-drawer .realtime-chat .user-chat-message,.realtime-drawer .realtime-chat .user-chat-message.mine{max-width:100%}.realtime-drawer .realtime-chat .user-chat-send{grid-template-columns:1fr;padding:7px 8px}.realtime-drawer .realtime-chat .user-chat-send textarea{min-height:38px}.realtime-drawer .realtime-chat .user-chat-send .primary{min-height:36px}.realtime-drawer .realtime-bet-filter{align-items:stretch;flex-wrap:wrap;padding:7px 9px}.realtime-drawer .realtime-bet-filter label{flex:1 1 92px}.realtime-drawer .realtime-bet-filter select{width:100%;min-width:0;height:32px}.realtime-drawer .realtime-bet-filter>span{width:100%;margin-left:0}.realtime-drawer .realtime-bet-list{padding:7px}.realtime-drawer .realtime-bet-row{grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:8px}.realtime-drawer .realtime-bet-player,.realtime-drawer .realtime-bet-row>p{grid-column:1/-1}.realtime-drawer .realtime-bet-room{grid-column:1}.realtime-drawer .realtime-bet-row>b{grid-column:2;grid-row:2}.realtime-drawer .realtime-bet-player>span{width:34px;height:34px}}

/* 手机端顶部固定，开奖栏位于footbar上方；实时业务仍按单个面板切换。 */
@media(max-width:780px){.workspace{padding-bottom:155px}.topbar{position:sticky;z-index:14;top:0;margin:-24px -16px 24px;padding:14px 16px 12px;border-bottom:1px solid rgba(43,66,95,.8);background:rgba(7,16,31,.94);box-shadow:0 10px 28px rgba(0,0,0,.2);backdrop-filter:blur(16px)}.topbar h1{font-size:1.4375rem}.live-draw-bar{right:0;bottom:64px;left:0;min-height:62px;border-right:0;border-left:0;border-radius:14px 14px 0 0}.live-draw-current{overflow:hidden}.live-draw-more{min-width:52px;border-radius:0 13px 0 0;font-size:0.75rem}.live-draw-expanded{bottom:100%;max-height:calc(100vh - 142px);border-right:0;border-left:0;border-radius:14px 14px 0 0}.live-draw-list{max-height:calc(100vh - 208px)}.live-draw-row{grid-template-columns:minmax(78px,.8fr) minmax(70px,1fr) minmax(54px,.58fr) minmax(48px,.56fr);gap:6px;min-height:60px;padding:7px 8px}.live-draw-game{gap:5px}.live-draw-game>i{width:6px;height:6px}.live-draw-game strong{font-size:0.75rem}.live-draw-game small,.live-draw-next span,.live-draw-time span{font-size:0.75rem}.live-draw-next strong,.live-draw-time strong{font-size:0.75rem}.live-draw-result{gap:3px}.live-draw-balls{gap:2px}.live-draw-balls i{width:16px;height:18px;border-radius:5px;font-size:0.75rem}.live-draw-result small{font-size:0.75rem}.live-draw-current .live-draw-result small{display:none}.live-draw-expanded .live-draw-row{grid-template-columns:minmax(105px,.8fr) minmax(110px,1.35fr) 70px 64px;padding:9px 12px}.realtime-grid{height:calc(100% - 60px)}.realtime-drawer .realtime-grid>.realtime-panel{height:100%!important}.realtime-drawer .realtime-grid>.service-console{overflow-y:auto}.realtime-drawer .realtime-grid>.realtime-list-panel{grid-template-rows:auto minmax(0,1fr)}.realtime-drawer .realtime-grid>#realtime-bet-panel{grid-template-rows:auto auto minmax(0,1fr)}}
@media(max-width:380px){.live-draw-row{grid-template-columns:minmax(72px,.8fr) minmax(56px,1fr) 48px 45px;gap:4px;padding-inline:6px}.live-draw-game small{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-draw-balls i{width:14px}.live-draw-more{min-width:48px}}

/* 手机开奖栏用紧凑文本完整展示所有号码，避免十位号码在窄屏被裁掉。 */
.live-draw-mobile-numbers{display:none}
.live-draw-mobile-period{display:none}
@media(max-width:780px){.live-draw-balls{display:none}.live-draw-mobile-numbers{display:block;color:#c9d8eb;font-size:0.75rem;line-height:1.35;overflow-wrap:anywhere}}

/* 手机展开列表四列在320px以上视口内完整收纳，不产生横向滚动条。 */
@media(max-width:780px){.live-draw-list{overflow-x:hidden}.live-draw-expanded .live-draw-row{grid-template-columns:minmax(82px,.8fr) minmax(78px,1.2fr) 60px 55px;gap:4px;padding:8px}}

/* 免密进入使用控制台自身弹层，不调用浏览器原生确认框。 */
.impersonate-dialog{z-index:110}.impersonate-dialog-card{width:min(430px,100%);padding:34px 32px;text-align:center}.impersonate-icon{display:grid;width:58px;height:58px;margin:0 auto 18px;place-items:center;border:1px solid #397064;border-radius:18px;color:#79e8c7;background:#12382f;font-size:1.5625rem;font-weight:900}.impersonate-dialog-card h2{margin:7px 0 10px;color:#eef5ff;font-size:1.375rem}.impersonate-dialog-card>p:not(.eyebrow){margin:0;color:#8fa3be;font-size:0.75rem;line-height:1.75}.impersonate-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}.impersonate-actions button{min-height:44px}
.user-confirm-dialog{z-index:360}.user-confirm-dialog-card{width:min(440px,100%);padding:34px 32px;text-align:center}.user-confirm-icon{display:grid;width:58px;height:58px;margin:0 auto 18px;place-items:center;border:1px solid #3b6683;border-radius:18px;color:#83dff0;background:#102f43;font-size:1.5625rem;font-weight:900}.user-confirm-dialog-card h2{margin:7px 0 10px;color:#eef5ff;font-size:1.375rem}.user-confirm-dialog-card>#user-confirm-message{margin:0;color:#9db0c9;font-size:0.8125rem;line-height:1.8;white-space:pre-line}.user-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}.user-confirm-actions button{min-height:44px}

/* 上下分上下两区始终各占一半，数量保留在面板内并使用红色圆形标记。 */
.pending-coin-sections{grid-template-rows:repeat(2,minmax(0,1fr));align-content:stretch;overflow:hidden}.pending-coin-sections>section{display:grid;min-height:0;grid-template-rows:auto minmax(0,1fr)}.pending-coin-sections .realtime-record-list{min-height:0;overflow:auto}.realtime-drawer #realtime-coin-panel>header>b,.realtime-drawer .pending-coin-sections>section>header>b{color:#fff;background:#ed6172;box-shadow:0 0 14px rgba(237,97,114,.28)}#realtime-coin-panel b[hidden],.user-mobile-footbar b[hidden],#desktop-realtime-signal[hidden]{display:none!important}

/* 开奖栏始终高于实时业务，并提高电脑与手机上的核心信息字号。 */
.live-draw-bar{z-index:90;min-height:72px}.live-draw-row{min-height:70px}.live-draw-game strong{font-size:0.8125rem}.live-draw-game small,.live-draw-result small{font-size:0.75rem}.live-draw-next span,.live-draw-time span{font-size:0.75rem}.live-draw-next strong,.live-draw-time strong{font-size:0.8125rem}.live-draw-balls i{width:25px;height:25px;font-size:0.75rem}

/* 电脑实时业务按群聊、客服、下注、上下分横向排布，客服保持联系人与对话左右结构。 */
@media(min-width:781px){.realtime-layer{inset:0 0 112px}.realtime-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.55fr) minmax(0,1fr) minmax(0,.68fr)}.realtime-drawer .realtime-grid>.service-console{grid-template-columns:minmax(145px,.42fr) minmax(0,.58fr);grid-template-rows:minmax(0,1fr)}.realtime-drawer .service-contacts{border-right:1px solid var(--line);border-bottom:0}.realtime-drawer .service-conversation{min-width:0}.realtime-drawer .service-contact-list{min-height:0}.realtime-drawer .pending-coin-sections{grid-template-rows:repeat(2,minmax(0,1fr))}}

/* 手机实时业务为固定开奖栏预留位置，展开开奖列表时仍允许覆盖其他内容。 */
@media(max-width:780px){.workspace{padding-bottom:175px}.live-draw-bar{min-height:72px}.live-draw-row{grid-template-columns:minmax(86px,.9fr) minmax(78px,1.05fr) minmax(58px,.58fr) minmax(55px,.58fr);gap:5px;min-height:70px;padding:7px 8px}.live-draw-game strong{font-size:0.75rem}.live-draw-game small,.live-draw-next span,.live-draw-time span{font-size:0.75rem}.live-draw-next strong,.live-draw-time strong{font-size:0.75rem}.live-draw-mobile-numbers{font-size:0.75rem;line-height:1.45}.live-draw-expanded .live-draw-row{grid-template-columns:minmax(100px,.8fr) minmax(100px,1.2fr) 66px 62px;gap:6px;padding:9px 10px}.realtime-layer{inset:0 0 136px}.impersonate-dialog{inset:0}.impersonate-dialog-card{padding:29px 22px}}

/* 手机默认开奖栏改为三列两行，放大文字并避免下一期期号被压成多行。 */
@media(max-width:780px){.workspace{padding-bottom:190px}.live-draw-bar{min-height:84px}.live-draw-current .live-draw-row{grid-template-columns:88px minmax(0,1fr) 82px;grid-template-rows:1fr 1fr;gap:3px 8px;min-height:82px;padding:8px 7px}.live-draw-current .live-draw-game{grid-column:1;grid-row:1/3}.live-draw-current .live-draw-result{grid-column:2;grid-row:1/3}.live-draw-current .live-draw-next{grid-column:3;grid-row:1}.live-draw-current .live-draw-time{grid-column:3;grid-row:2}.live-draw-game strong{font-size:0.75rem}.live-draw-game small{font-size:0.75rem;line-height:1.35;white-space:normal}.live-draw-next span,.live-draw-time span{font-size:0.75rem}.live-draw-next strong,.live-draw-time strong{margin-top:2px;font-size:0.75rem;line-height:1.25}.live-draw-mobile-numbers{font-size:0.75rem;line-height:1.5}.live-draw-more{min-width:50px;font-size:0.75rem}.live-draw-expanded .live-draw-row{grid-template-columns:minmax(88px,.8fr) minmax(84px,1.15fr) 64px 60px;grid-template-rows:auto;gap:5px;padding:9px 8px}.realtime-layer{inset:0 0 148px}}
@media(max-width:780px){.live-draw-current .live-draw-desktop-period{display:none}.live-draw-current .live-draw-mobile-period{display:block;white-space:nowrap}.live-draw-current .live-draw-next .live-draw-mobile-period{font-size:0.75rem;letter-spacing:-.15px}}
@media(max-width:350px){.live-draw-current .live-draw-row{grid-template-columns:78px minmax(0,1fr) 72px;gap:3px 5px;padding-inline:5px}.live-draw-game strong{font-size:0.75rem}.live-draw-next strong,.live-draw-time strong{font-size:0.75rem}.live-draw-mobile-numbers{font-size:0.75rem}.live-draw-more{min-width:46px}.live-draw-expanded .live-draw-row{grid-template-columns:minmax(76px,.8fr) minmax(72px,1.1fr) 56px 52px;gap:3px;padding-inline:6px}}

/* 设置图片按完整画面铺满预览区域，避免裁剪后与实际保存内容不一致。 */
.image-upload-preview img{object-fit:fill}

/* 实时业务的消息与记录各自在面板内部滚动，保留当前位置且不带动整页。 */
.realtime-drawer .realtime-chat,.realtime-drawer .service-contacts,.realtime-drawer .service-conversation,.realtime-drawer .service-chat,.realtime-drawer .realtime-list-panel,.realtime-drawer .pending-coin-sections,.realtime-drawer .pending-coin-sections>section{min-height:0}
.realtime-drawer .user-chat-messages,.realtime-drawer .service-contact-list,.realtime-drawer .service-messages,.realtime-drawer .realtime-bet-list,.realtime-drawer .pending-coin-sections .realtime-record-list{min-height:0;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:#45617e #0a1527;scrollbar-width:thin}
.realtime-drawer .user-chat-messages{overflow-x:hidden!important}
.realtime-drawer .user-chat-messages::-webkit-scrollbar,.realtime-drawer .service-contact-list::-webkit-scrollbar,.realtime-drawer .service-messages::-webkit-scrollbar,.realtime-drawer .realtime-bet-list::-webkit-scrollbar,.realtime-drawer .pending-coin-sections .realtime-record-list::-webkit-scrollbar{width:8px}
.realtime-drawer .user-chat-messages::-webkit-scrollbar-track,.realtime-drawer .service-contact-list::-webkit-scrollbar-track,.realtime-drawer .service-messages::-webkit-scrollbar-track,.realtime-drawer .realtime-bet-list::-webkit-scrollbar-track,.realtime-drawer .pending-coin-sections .realtime-record-list::-webkit-scrollbar-track{background:#0a1527}
.realtime-drawer .user-chat-messages::-webkit-scrollbar-thumb,.realtime-drawer .service-contact-list::-webkit-scrollbar-thumb,.realtime-drawer .service-messages::-webkit-scrollbar-thumb,.realtime-drawer .realtime-bet-list::-webkit-scrollbar-thumb,.realtime-drawer .pending-coin-sections .realtime-record-list::-webkit-scrollbar-thumb{border:2px solid #0a1527;border-radius:999px;background:#45617e}

/* 两套期号只在对应屏幕展示，防止下一期期号同时显示两遍。 */
.live-draw-game .live-draw-mobile-period,.live-draw-next .live-draw-mobile-period{display:none}

/* 电脑端开奖内容保持一行，并让开奖栏与实时业务入口上下边缘和高度完全一致。 */
@media(min-width:781px){.live-draw-bar{height:72px;min-height:72px}.realtime-launcher{bottom:20px;height:72px;padding:0}.realtime-launcher button{height:70px;min-height:70px}.live-draw-current .live-draw-row{height:70px;min-height:70px;grid-template-columns:auto minmax(170px,1fr) auto auto;gap:14px;overflow:hidden;white-space:nowrap}.live-draw-current .live-draw-game>div,.live-draw-current .live-draw-result,.live-draw-current .live-draw-next,.live-draw-current .live-draw-time{display:flex;min-width:0;align-items:center;gap:7px}.live-draw-current .live-draw-game small,.live-draw-current .live-draw-result small,.live-draw-current .live-draw-next strong,.live-draw-current .live-draw-time strong{margin:0}.live-draw-current .live-draw-result{overflow:hidden}.live-draw-current .live-draw-result small{flex:0 1 auto}.live-draw-current .live-draw-next,.live-draw-current .live-draw-time{flex-wrap:nowrap}}

/* 手机默认栏使用短期号，完整展开列表仍只使用桌面期号。 */
@media(max-width:780px){.live-draw-current .live-draw-game .live-draw-mobile-period,.live-draw-current .live-draw-next .live-draw-mobile-period{display:block}}

/* 游戏房间设置使用独立列表与详情页，并通过拖动直接调整玩家端显示顺序。 */
.room-list-head{align-items:center}.room-list-actions{display:flex;align-items:center;gap:12px}.room-merge-switch{display:flex!important;align-items:center;gap:11px;margin:0!important;padding:9px 12px;border:1px solid #2b4260;border-radius:11px;background:#0b182a;cursor:pointer}.room-merge-switch input{position:absolute;opacity:0;pointer-events:none}.room-merge-switch>i{position:relative;flex:0 0 auto;width:39px;height:22px;border-radius:999px;background:#30425d;transition:.18s}.room-merge-switch>i:after{position:absolute;content:"";top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#aebbd0;transition:.18s}.room-merge-switch input:checked+i{background:#2d8d76}.room-merge-switch input:checked+i:after{left:20px;background:#79f1cf}.room-merge-switch span,.room-merge-switch strong,.room-merge-switch small{display:block}.room-merge-switch strong{color:#dfe9f7;font-size:0.75rem}.room-merge-switch small{margin-top:3px;color:#7187a6;font-size:0.75rem;font-weight:500}.room-list{max-height:none;overflow:visible}.room-row{grid-template-columns:40px minmax(220px,1fr) 72px 72px minmax(112px,.45fr) 104px;gap:12px;padding:14px}.room-drag-handle{display:grid;align-self:stretch;place-items:center;min-height:48px;padding:0;border:1px solid #2d4766;border-radius:9px;color:#7890b1;background:#101f35;font-size:1.125rem;letter-spacing:-5px;touch-action:none;cursor:grab}.room-drag-handle:active{cursor:grabbing}.room-drag-handle:focus-visible{border-color:var(--primary);outline:2px solid rgba(105,229,194,.2)}.room-row.dragging,.room-game-group.dragging{z-index:2;border-color:var(--primary);opacity:.76;box-shadow:0 14px 34px rgba(0,0,0,.32)}.room-main{display:block;padding:2px 5px}.room-number{min-width:0}.room-settings-button{height:38px;border:1px solid #365777;border-radius:9px;color:#b8d2ec;background:#11243b;font-size:0.75rem;font-weight:800}.room-settings-button:hover{border-color:#69d9ba;color:#75e7c6;background:#12332f}.room-game-group{overflow:hidden;border:1px solid #29415f;border-radius:15px;background:#0a1628}.room-game-head{display:flex;align-items:center;gap:13px;padding:13px 15px;border-bottom:1px solid #29415f;background:linear-gradient(135deg,#11243c,#0e1c30)}.room-game-head .room-drag-handle{align-self:center;width:38px;min-height:38px}.room-game-head strong,.room-game-head small{display:block}.room-game-head strong{color:#edf4ff;font-size:0.875rem}.room-game-head small{margin-top:4px;color:#7288a7;font-size:0.75rem}.room-game-rooms{display:grid;gap:10px;padding:12px}.room-game-rooms .room-row{border-color:#223955;background:#0c192b}.room-detail-panel{overflow:hidden}.room-detail-head{justify-content:flex-start}.room-detail-head>div{min-width:0}.room-detail-head h2,.room-detail-head p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-message-section{margin-top:18px}.room-message-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-message-grid textarea{min-height:105px}

@media(max-width:900px){.room-list-head{align-items:stretch;flex-direction:column}.room-list-actions{width:100%;justify-content:space-between}.room-merge-switch{flex:1}.room-row{grid-template-columns:38px minmax(160px,1fr) 62px 62px minmax(100px,.45fr) 94px;gap:8px}.room-main strong{font-size:0.8125rem}.room-main small{font-size:0.75rem}}
@media(max-width:700px){.room-list-actions{align-items:stretch;flex-direction:column}.room-list-actions .primary{width:100%}.room-row{grid-template-columns:36px minmax(0,1fr) 55px 55px;grid-template-areas:"drag main open business" "drag online settings settings";gap:10px;padding:12px}.room-drag-handle{grid-area:drag}.room-main{grid-area:main}.room-row>.mini-switch:first-of-type{grid-area:open}.room-row>.business-switch{grid-area:business}.room-row>.room-number{grid-area:online}.room-settings-button{grid-area:settings}.room-number{display:flex!important;align-items:center;gap:8px;text-align:left}.room-number span{flex:0 0 auto;margin:0}.room-number input{min-width:0}.room-message-grid{grid-template-columns:1fr}.room-detail-head{align-items:stretch;flex-direction:column}.room-detail-head .secondary{width:100%}}
@media(max-width:430px){.room-list{padding:9px}.room-game-rooms{padding:8px}.room-row{grid-template-columns:31px minmax(0,1fr) 49px 49px;gap:7px;padding:9px 7px}.room-drag-handle{font-size:0.9375rem}.room-main{padding:0}.room-main small{font-size:0.75rem}.mini-switch{font-size:0.75rem}.room-settings-button{height:34px}.room-merge-switch{align-items:flex-start}.room-merge-switch small{line-height:1.45}}

/* 可自主上传的图片按实际区域完整拉伸回显，二维码继续保持原始比例。 */
.image-upload:not(.qr-upload) .image-upload-preview img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important;object-position:center!important}

/* 房间排序期间固定拖动状态；详情页操作栏在电脑和手机上始终可见。 */
body.room-sorting{cursor:grabbing;user-select:none}
body.room-sorting .room-drag-handle{cursor:grabbing}
.room-detail-panel{overflow:visible}
.room-detail-head{position:sticky;z-index:35;top:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;justify-content:stretch;padding-block:15px;background:rgba(16,31,52,.96);box-shadow:0 10px 28px rgba(0,0,0,.24);backdrop-filter:blur(16px)}
.room-detail-head>div{min-width:0}
.room-detail-head>#room-editor-save{min-width:82px;justify-self:end}

/* 实时业务与实时开奖使用紧凑的同高底栏，展开后由统一列表接替底部当前项。 */
.workspace{padding-bottom:126px}
.live-draw-bar{z-index:90;height:58px;min-height:58px}
.live-draw-waiting{min-height:56px}
.live-draw-row,.live-draw-current .live-draw-row,.live-draw-expanded .live-draw-row{height:56px;min-height:56px;grid-template-columns:auto minmax(170px,1fr) auto auto;grid-template-rows:1fr;gap:12px;padding:6px 14px;overflow:hidden;white-space:nowrap}
.live-draw-game>div,.live-draw-result,.live-draw-next,.live-draw-time{display:flex;min-width:0;align-items:center;gap:6px}
.live-draw-game small,.live-draw-next strong,.live-draw-time strong{margin:0}
.live-draw-result{overflow:hidden}
.live-draw-balls{display:flex!important;min-width:0;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.live-draw-balls::-webkit-scrollbar{display:none}
.live-draw-balls i{width:22px;height:22px;border:1px solid rgba(255,255,255,.08);border-radius:7px;font-size:0.75rem;box-shadow:inset 0 0 0 1px rgba(7,27,24,.08)}
.live-draw-balls i.live-draw-summary-ball{color:#e7f1ff;background:#1a3150;border-color:#365a7d;box-shadow:none}
.live-draw-mobile-numbers,.live-draw-result>small{display:none!important}
.live-draw-mobile-label{display:none!important}
.live-draw-more{min-width:62px;font-size:0.75rem}
.realtime-launcher{height:58px;padding:0}
.realtime-launcher button{height:56px;min-height:56px}
.realtime-launcher em{font-size:0.75rem;font-weight:900;letter-spacing:.02em}
.live-draw-expanded{z-index:2;bottom:0;max-height:calc(100dvh - 40px)}
.live-draw-bar.expanded>.live-draw-current,.live-draw-bar.expanded>.live-draw-more{visibility:hidden;pointer-events:none}
.live-draw-expanded>header{position:sticky;z-index:2;top:0}

@media(min-width:781px){
  .live-draw-bar{height:58px;min-height:58px}
  .realtime-launcher{bottom:20px;height:58px}
  .realtime-launcher button{height:56px;min-height:56px}
  .realtime-layer{inset:0 0 98px}
  .live-draw-current .live-draw-row{height:56px;min-height:56px;grid-template-columns:auto minmax(170px,1fr) auto auto;gap:12px}
}

@media(max-width:780px){
  .workspace{padding-bottom:140px}
  .room-detail-head{top:70px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px}
  .room-detail-head .secondary{width:auto;min-width:0;min-height:38px;padding:0 10px;font-size:0.75rem}
  .room-detail-head>div p{display:none}
  .room-detail-head h2{margin:0;font-size:0.875rem}
  .room-detail-head>#room-editor-save{min-width:62px;min-height:38px;padding:0 12px}
  .live-draw-bar{right:0;bottom:64px;left:0;height:62px;min-height:62px}
  .live-draw-waiting{min-height:60px}
  .live-draw-row,.live-draw-current .live-draw-row,.live-draw-expanded .live-draw-row{height:60px;min-height:60px;grid-template-columns:108px minmax(94px,1fr) 54px 50px;grid-template-rows:1fr;gap:3px;padding:5px 4px}
  .live-draw-current .live-draw-game,.live-draw-current .live-draw-result,.live-draw-current .live-draw-next,.live-draw-current .live-draw-time{grid-column:auto;grid-row:auto}
  .live-draw-game{gap:4px}
  .live-draw-game>i{width:6px;height:6px}
  .live-draw-game strong{font-size:0.75rem}
  .live-draw-game small,.live-draw-next span,.live-draw-time span{font-size:0.75rem}
  .live-draw-next strong,.live-draw-time strong{font-size:0.75rem}
  .live-draw-balls{gap:2px}
  .live-draw-balls i{width:14px;height:20px;border-radius:5px;font-size:0.75rem}
  .live-draw-more{min-width:44px;font-size:0.75rem}
  .live-draw-desktop-label{display:none!important}
  .live-draw-mobile-label{display:block!important}
  .live-draw-row .live-draw-desktop-period{display:none}
  .live-draw-row .live-draw-mobile-period{display:block;white-space:nowrap}
  .live-draw-expanded{bottom:0;max-height:calc(100vh - 112px);border-right:0;border-left:0;border-radius:14px 14px 0 0}
  .live-draw-list{max-height:calc(100vh - 176px)}
  .realtime-layer{inset:0 0 126px}
}

/* 电脑端由整个左侧栏负责纵向滚动，确保菜单和底部账号操作都能完整访问。 */
@media(min-width:781px){
  .sidebar{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#29405f transparent}
  .sidebar nav{flex:none;overflow:visible}
  .sidebar::-webkit-scrollbar{width:5px}
  .sidebar::-webkit-scrollbar-thumb{border-radius:5px;background:#29405f}
}

@media(max-width:350px){
  .live-draw-row,.live-draw-current .live-draw-row,.live-draw-expanded .live-draw-row{grid-template-columns:92px minmax(84px,1fr) 48px 44px;gap:2px;padding-inline:3px}
  .live-draw-balls i{width:13px;font-size:0.75rem}
  .live-draw-more{min-width:40px}
}

/* 底部账号操作并排显示，修改密码只在弹窗中完成。 */
.side-user{grid-template-columns:38px minmax(0,1fr);align-items:center}
.side-user-copy{min-width:0}
.side-account-actions{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1fr) 72px;gap:8px;margin-top:4px}
.side-account-button{display:flex;min-width:0;min-height:36px;align-items:center;justify-content:center;padding:0 10px;border:1px solid #2c4564;border-radius:9px;color:#b6c9df;background:#101f35;font-size:0.75rem;font-weight:800;white-space:nowrap}
.side-account-button:hover{border-color:#4a7096;color:#edf5ff;background:#172b46}
.side-account-button.password-button{border-color:#34675e;color:#7ce5c7;background:#102d2a}
.side-account-button.logout-button{min-width:0;color:#aebed3;background:#101b2e}
.password-dialog{z-index:340}
.password-dialog-card{width:min(480px,100%);overflow:hidden}
.password-dialog-form{padding:8px 28px 28px}
.password-dialog-form>label{font-size:0.75rem}
.password-eye{display:grid;width:2.625rem;min-width:2.625rem;height:2.625rem;padding:0;place-items:center;border:0;color:#91a9c9;background:transparent}
.password-eye svg{width:1.375rem;height:1.375rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.password-eye .eye-slash{opacity:0}
.password-eye.visible .eye-slash{opacity:1}
.password-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.password-dialog-actions button{min-height:44px}

/* 展开奖期使用固定六列，预约操作与其对应游戏始终纵向对齐。 */
.live-draw-expanded{display:grid;grid-template-rows:auto auto minmax(0,1fr)}
.live-draw-expanded>header strong{font-size:1.125rem}
.live-draw-expanded>header span{font-size:0.75rem}
.live-draw-expanded>header button{font-size:0.75rem}
.live-draw-table-head,.live-draw-table-row{display:grid;grid-template-columns:minmax(118px,.8fr) minmax(116px,.72fr) minmax(230px,1.55fr) minmax(116px,.72fr) minmax(90px,.55fr) minmax(180px,1fr);gap:12px;align-items:center}
.live-draw-table-head{padding:11px 18px;border-bottom:1px solid #29415e;color:#7890af;background:#0d1a2e;font-size:0.75rem;font-weight:900;letter-spacing:.08em}
.live-draw-table-row{min-height:62px;padding:10px 18px;border-bottom:1px solid #1e334d;background:#0a1628}
.live-draw-table-row:last-child{border-bottom:0}
.live-draw-table-row:hover{background:#102039}
.live-draw-table-name{display:flex;min-width:0;align-items:center;gap:9px}
.live-draw-table-name>i{display:block;flex:0 0 auto;width:9px;height:9px;border-radius:99px;background:#69e5c2;box-shadow:0 0 12px rgba(105,229,194,.7)}
.live-draw-table-name strong{overflow:hidden;color:#edf4ff;font-size:0.875rem;text-overflow:ellipsis;white-space:nowrap}
.live-draw-table-period,.live-draw-table-next,.live-draw-table-countdown{overflow:hidden;color:#cbd9eb;font-size:0.8125rem;text-overflow:ellipsis;white-space:nowrap}
.live-draw-table-countdown{color:#77e6c5;font-size:0.875rem;font-variant-numeric:tabular-nums}
.live-draw-table-result{min-width:0;overflow:hidden}
.live-draw-table-result .live-draw-balls{gap:5px}
.live-draw-table-result .live-draw-balls i{width:24px;height:24px;font-size:0.75rem}
.live-draw-table-invalid{color:#ff9ca7;font-size:0.75rem;font-weight:800}
.live-draw-table-period-mobile{display:none}
.live-draw-table-row.is-empty .live-draw-table-countdown{color:#8ba0ba}
.live-draw-table-reservation{display:flex;min-width:0;align-items:center;gap:5px;flex-wrap:nowrap}.live-draw-table-reservation button{min-height:30px;padding:0 8px;border:1px solid #356080;border-radius:8px;color:#a9d5f7;background:#122943;font-size:0.75rem;font-weight:800;white-space:nowrap}.live-draw-table-reservation button.danger{border-color:#704052;color:#ff9cab;background:#301924}.live-draw-table-reservation small{min-width:0;overflow:hidden;color:#75e3c1;font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}

/* 拖动时突出当前条目并弱化其他条目，让排序位置变化更醒目。 */
.room-row,.room-game-group{position:relative}
body.room-sorting{cursor:grabbing;user-select:none}
body[data-room-sorting="room"] .room-game-group{overflow:visible}
body[data-room-sorting="room"] .room-row:not(.dragging),body[data-room-sorting="game"] .room-game-group:not(.dragging){opacity:.42;filter:saturate(.55);transform:scale(.992)}
.room-row.dragging,.room-game-group.dragging{z-index:12;border-color:#71e8c7;opacity:1;transform:scale(1.018);background:linear-gradient(135deg,#163b3a,#142b48);box-shadow:0 0 0 3px rgba(105,229,194,.24),0 22px 54px rgba(0,0,0,.52);animation:room-sort-glow .72s ease-in-out infinite alternate}
.room-row.dragging::after,.room-game-group.dragging::after{position:absolute;z-index:4;content:"正在排序";top:8px;right:8px;padding:5px 8px;border-radius:999px;color:#071c18;background:#76e7c5;font-size:0.75rem;font-weight:900;letter-spacing:.08em;pointer-events:none;box-shadow:0 6px 16px rgba(61,198,164,.3)}
.room-row.dragging .room-drag-handle,.room-game-group.dragging .room-drag-handle{border-color:#92f2d7;color:#071c18;background:#75e6c4;box-shadow:0 0 0 4px rgba(105,229,194,.16)}
@keyframes room-sort-glow{from{box-shadow:0 0 0 2px rgba(105,229,194,.18),0 18px 42px rgba(0,0,0,.42)}to{box-shadow:0 0 0 5px rgba(105,229,194,.34),0 26px 64px rgba(0,0,0,.58)}}

@media(max-width:780px){
  /* 移动端导航抽屉高于实时业务和开奖栏，弹窗仍可覆盖导航。 */
  .sidebar{z-index:300}
  .side-mask{z-index:290}
  .side-account-actions{grid-template-columns:minmax(0,1fr) 72px}
  .password-dialog-form{padding:6px 20px 22px}
  .live-draw-table-head,.live-draw-table-row{grid-template-columns:72px 68px minmax(96px,1fr) 68px 54px minmax(148px,.9fr);gap:4px}
  .live-draw-table-head{padding:9px 6px;font-size:0.75rem;letter-spacing:0}
  .live-draw-table-row{min-height:58px;padding:8px 6px}
  .live-draw-table-name{gap:5px}
  .live-draw-table-name>i{width:6px;height:6px}
  .live-draw-table-name strong{font-size:0.75rem}
  .live-draw-table-period,.live-draw-table-next{font-size:0.75rem;text-align:left}
  .live-draw-table-countdown{font-size:0.75rem}
  .live-draw-table-period-desktop{display:none}
  .live-draw-table-period-mobile{display:inline}
  .live-draw-table-result .live-draw-balls{gap:3px}
  .live-draw-table-result .live-draw-balls i{width:20px;height:22px;border-radius:6px;font-size:0.75rem}
  .live-draw-table-invalid{font-size:0.75rem}
  .room-row.dragging,.room-game-group.dragging{transform:scale(1.01)}
}

@media(max-width:350px){
  .live-draw-table-head,.live-draw-table-row{grid-template-columns:64px 59px minmax(83px,1fr) 59px 48px minmax(138px,.9fr);gap:3px;padding-inline:4px}
  .live-draw-table-head{font-size:0.75rem}
  .live-draw-table-name strong,.live-draw-table-period,.live-draw-table-next{font-size:0.75rem}
  .live-draw-table-countdown{font-size:0.75rem}
}

/* 电脑端按最长的“极速飞艇”内容控制开奖栏宽度，不再横向占满整个工作区。 */
@media(min-width:781px){
  .live-draw-bar{right:auto;left:calc(250px + clamp(24px,4vw,58px));width:min(960px,calc(100vw - 374px - clamp(24px,4vw,58px)))}
  .live-draw-bar{width:min(1180px,calc(100vw - 374px - clamp(24px,4vw,58px)))}
  /* 表头和各行共用内容列宽，结果吸收余量；空间不足时整个展开层横向滚动。 */
  .live-draw-expanded{grid-template-columns:max-content max-content minmax(max-content,1fr) max-content max-content max-content;grid-template-rows:auto auto auto;column-gap:8px;align-content:start;overflow:auto}
  .live-draw-expanded>header{grid-column:1/-1}
  .live-draw-expanded>header button{position:sticky;right:18px;flex:0 0 auto}
  .live-draw-table-head,.live-draw-list,.live-draw-table-row{grid-column:1/-1;grid-template-columns:subgrid}
  .live-draw-table-head,.live-draw-table-row{column-gap:8px;padding-right:12px;padding-left:12px}
  .live-draw-list{min-width:0;max-height:none;overflow:visible;row-gap:0}
  .live-draw-table-result{min-width:max-content;overflow:visible}
  .live-draw-table-result .live-draw-balls{width:max-content;min-width:max-content;overflow:visible}
  .live-draw-table-reservation{min-width:max-content}
  .live-draw-table-name strong,.live-draw-table-period,.live-draw-table-next,.live-draw-table-countdown{overflow:visible;text-overflow:clip}
  .live-draw-table-period,.live-draw-table-next{font-size:0.75rem}
  .live-draw-current .live-draw-balls,.live-draw-table-result .live-draw-balls{gap:5px}
  .live-draw-current .live-draw-balls i,.live-draw-table-result .live-draw-balls i{flex:0 0 28px;width:28px;height:28px;border-radius:8px;font-size:0.75rem}
}

/* 新期号进入页面时，让默认栏与展开列表中的对应游戏同步闪烁。 */
.live-draw-row.is-new-draw,.live-draw-table-row.is-new-draw{position:relative;isolation:isolate}
.live-draw-row.is-new-draw::after,.live-draw-table-row.is-new-draw::after{position:absolute;z-index:3;content:"";inset:2px;border:1px solid transparent;border-radius:10px;background:rgba(80,238,195,0);pointer-events:none;animation:live-draw-new-result 700ms ease-in-out 6}
.live-draw-row.is-new-draw .live-draw-game>i,.live-draw-table-row.is-new-draw .live-draw-table-name>i{animation:live-draw-new-dot 700ms ease-in-out 6}
@keyframes live-draw-new-result{0%,100%{border-color:rgba(111,244,207,0);background:rgba(80,238,195,0);box-shadow:inset 0 0 0 rgba(87,235,195,0)}50%{border-color:rgba(126,255,219,.9);background:rgba(61,211,171,.2);box-shadow:inset 0 0 28px rgba(87,235,195,.2)}}
@keyframes live-draw-new-dot{0%,100%{transform:scale(1);box-shadow:0 0 10px rgba(105,229,194,.55)}50%{transform:scale(1.75);box-shadow:0 0 20px rgba(126,255,219,1)}}

/* 手机默认栏分为信息和开奖结果两行，完整显示期号、号码及倒计时。 */
@media(max-width:780px){
  .workspace{padding-bottom:178px}
  .live-draw-bar{right:8px;bottom:68px;left:8px;width:auto;height:90px;min-height:90px;border:1px solid #29435f;border-radius:14px;box-shadow:0 -10px 30px rgba(0,0,0,.3)}
  .live-draw-current .live-draw-row{height:88px;min-height:88px;grid-template-columns:minmax(108px,1fr) 76px 58px;grid-template-rows:38px 34px;grid-template-areas:"game next time" "result result result";gap:4px 5px;padding:6px}
  .live-draw-current .live-draw-game{grid-area:game;min-width:0}
  .live-draw-current .live-draw-game>div{display:grid;min-width:0;align-content:center;gap:1px}
  .live-draw-current .live-draw-result{grid-area:result;display:flex;min-width:0;align-items:center;overflow:hidden}
  .live-draw-current .live-draw-next{grid-area:next}
  .live-draw-current .live-draw-time{grid-area:time}
  .live-draw-current .live-draw-next,.live-draw-current .live-draw-time{display:grid;min-width:0;align-content:center;gap:1px}
  .live-draw-current .live-draw-game strong{font-size:0.75rem;line-height:1.15}
  .live-draw-current .live-draw-game small{overflow:visible;font-size:0.75rem;line-height:1.25;text-overflow:clip;white-space:nowrap}
  .live-draw-current .live-draw-next span,.live-draw-current .live-draw-time span{font-size:0.75rem;line-height:1.1}
  .live-draw-current .live-draw-next strong,.live-draw-current .live-draw-time strong{overflow:visible;margin:0;font-size:0.75rem;line-height:1.15;text-overflow:clip;white-space:nowrap}
  .live-draw-current .live-draw-balls{width:100%;gap:2px;overflow:hidden}
  .live-draw-current .live-draw-balls i{flex:0 0 18px;width:18px;height:24px;border-radius:6px;font-size:0.75rem}
  .live-draw-more{min-width:44px;border-radius:0 13px 13px 0;font-size:0.75rem}
  .live-draw-expanded{bottom:0;max-height:calc(100vh - 112px);border-radius:14px}
  .live-draw-list{max-height:calc(100vh - 180px)}
  .live-draw-table-head{grid-template-columns:62px minmax(0,1fr) minmax(0,1fr) 52px;gap:4px;padding:9px 5px;font-size:0.75rem}
  .live-draw-table-head>span:nth-child(3),.live-draw-table-head>span:nth-child(6){display:none}
  .live-draw-table-row{min-height:124px;grid-template-columns:62px minmax(0,1fr) minmax(0,1fr) 52px;grid-template-rows:28px 34px auto;grid-template-areas:"name period next countdown" "result result result result" "reservation reservation reservation reservation";gap:4px;padding:8px 5px}
  .live-draw-table-name{grid-area:name}
  .live-draw-table-period{grid-area:period}
  .live-draw-table-result{grid-area:result}
  .live-draw-table-next{grid-area:next}
  .live-draw-table-countdown{grid-area:countdown}
  .live-draw-table-reservation{grid-area:reservation;padding-top:4px}
  .live-draw-table-reservation small{width:auto;flex:1}
  .live-draw-table-name strong{overflow:visible;font-size:0.75rem;text-overflow:clip}
  .live-draw-table-period,.live-draw-table-next,.live-draw-table-countdown{overflow:visible;font-size:0.75rem;letter-spacing:-.2px;text-overflow:clip;white-space:nowrap}
  .live-draw-table-countdown{font-size:0.75rem}
  .live-draw-table-result .live-draw-balls{gap:2px;overflow:hidden}
  .live-draw-table-result .live-draw-balls i{flex:0 0 18px;width:18px;height:22px;font-size:0.75rem}
  .realtime-layer{inset:0 0 166px}
}

/* 窄屏继续保留完整期号，并压缩号码方块而不是省略关键信息。 */
@media(max-width:350px){
  .live-draw-current .live-draw-row{grid-template-columns:minmax(90px,1fr) 76px 46px;gap:4px;padding-inline:5px}
  .live-draw-current .live-draw-game small{font-size:0.75rem;letter-spacing:-.2px}
  .live-draw-current .live-draw-next strong,.live-draw-current .live-draw-time strong{font-size:0.75rem;letter-spacing:-.25px}
  .live-draw-current .live-draw-balls i{flex-basis:16px;width:16px;font-size:0.75rem}
  .live-draw-table-head{grid-template-columns:56px minmax(0,1fr) minmax(0,1fr) 48px;gap:3px;padding-inline:4px}
  .live-draw-table-row{grid-template-columns:56px minmax(0,1fr) minmax(0,1fr) 48px;gap:3px;padding-inline:4px}
  .live-draw-table-name strong,.live-draw-table-period,.live-draw-table-next{font-size:0.75rem;letter-spacing:-.3px}
  .live-draw-table-countdown{font-size:0.75rem;letter-spacing:-.3px}
  .live-draw-table-result .live-draw-balls i{flex-basis:16px;width:16px;font-size:0.75rem}
}
/* 专属APP生成：桌面双栏展示，手机按操作顺序纵向排列。 */
.app-build-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);gap:18px;align-items:start}.app-build-editor{overflow:hidden}.app-build-badge{padding:7px 12px;border-radius:999px;color:#315fbc;background:#edf3ff;font-size:0.75rem;font-weight:800}.app-build-form{display:grid;gap:22px;margin-top:24px}.app-name-field,.app-icon-field{display:grid;gap:9px}.app-name-field>span,.app-icon-field>span{color:#32435f;font-size:0.875rem;font-weight:800}.app-name-field input{width:100%;height:52px;padding:0 16px;border:1px solid #d9e1ef;border-radius:14px;outline:0;color:#263b59;background:#fbfcff;font-size:0.9375rem;transition:.2s}.app-name-field input:focus{border-color:#738bf3;background:#fff;box-shadow:0 0 0 4px rgba(104,126,235,.11)}.app-name-field small,.app-icon-copy small{color:#8d99ad;font-size:0.75rem}.app-icon-picker{display:flex;align-items:center;gap:17px;padding:15px;border:1px dashed #cbd7ec;border-radius:18px;cursor:pointer;background:linear-gradient(135deg,#fbfcff,#f5f8ff);transition:.2s}.app-icon-picker:hover{border-color:#738bf3;background:#f6f8ff}.app-icon-picker:has(input:disabled){cursor:not-allowed;opacity:.62}.app-icon-preview{display:grid;width:92px;height:92px;flex:0 0 92px;place-items:center;overflow:hidden;border:1px solid #d8e1ef;border-radius:21px;color:#7184aa;background:#fff;box-shadow:0 10px 22px rgba(61,83,130,.1)}.app-icon-preview b{font-size:1.6875rem;font-weight:400}.app-icon-preview small{font-size:0.75rem}.app-icon-preview img{width:100%;height:100%;object-fit:fill}.app-icon-copy{display:grid;gap:7px}.app-icon-copy strong{color:#314867;font-size:0.9375rem}.app-icon-field>p{min-height:18px;margin:0;color:#72809a;font-size:0.75rem}.app-build-submit{width:100%;min-height:51px}.app-build-side{display:grid;gap:18px}.app-status-card,.app-published-card{min-height:220px}.app-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.app-card-title>span{color:#354764;font-size:0.9375rem;font-weight:850}.app-card-title>b{padding:5px 9px;border-radius:999px;color:#647391;background:#f0f3f8;font-size:0.75rem}.app-status-visual{position:relative;display:grid;justify-items:center;gap:7px;margin-top:20px;padding:20px 12px;text-align:center}.app-status-visual>i{display:grid;width:52px;height:52px;margin-bottom:5px;place-items:center;border:7px solid #dce5f5;border-top-color:#6b83ec;border-radius:50%}.app-status-visual>i:after{content:'✓';color:#667ee8;font-size:1.0625rem;font-style:normal;font-weight:900}.app-status-visual.queued>i,.app-status-visual.building>i{animation:app-build-spin 1s linear infinite}.app-status-visual.queued>i:after,.app-status-visual.building>i:after{content:''}.app-status-visual.cooldown>i:after{content:'◷'}.app-status-visual strong{color:#2d4261;font-size:1rem}.app-status-visual p{margin:0;color:#7d8aa0;font-size:0.75rem;line-height:1.6}.app-status-visual small{min-height:17px;color:#596fca;font-size:0.75rem;font-weight:800;font-variant-numeric:tabular-nums}.app-status-card>.secondary{width:100%;margin-top:4px}.app-published-empty{display:grid;justify-items:center;gap:10px;padding:34px 10px;color:#8a96aa;text-align:center}.app-published-empty>span{display:grid;width:52px;height:52px;place-items:center;border-radius:17px;color:#7488b5;background:#f0f4fb;font-size:1.375rem}.app-published-empty p{margin:0;font-size:0.75rem}.app-published-head{display:flex;align-items:center;gap:12px;margin-top:21px}.app-published-icon{display:grid;width:52px;height:52px;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(145deg,#758cf1,#536cdc);font-size:0.75rem;font-weight:900;box-shadow:0 9px 18px rgba(83,108,220,.22)}.app-published-head>div{display:grid;gap:4px}.app-published-head strong{color:#2f4260;font-size:0.9375rem}.app-published-head small{color:#8a96aa;font-size:0.75rem}.app-published-files{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:17px 0}.app-published-files>span{display:grid;gap:4px;padding:11px;border:1px solid #e1e7f1;border-radius:12px;background:#fafbfe}.app-published-files b{color:#485a77;font-size:0.75rem}.app-published-files small{color:#8995a9;font-size:0.75rem}.app-download-link{display:flex;align-items:center;justify-content:center;min-height:42px;text-decoration:none}@keyframes app-build-spin{to{transform:rotate(360deg)}}
.app-published-head>div{min-width:0}
@media(max-width:980px){.app-build-layout{grid-template-columns:1fr}.app-build-side{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.app-build-layout{gap:13px}.app-build-side{grid-template-columns:1fr;gap:13px}.app-icon-picker{gap:12px;padding:12px}.app-icon-preview{width:78px;height:78px;flex-basis:78px;border-radius:18px}.app-status-card,.app-published-card{min-height:0}.app-status-visual{padding-block:15px}.app-build-badge{display:none}}
.app-build-badge{color:var(--primary);background:#12302f}.app-name-field>span,.app-icon-field>span,.app-card-title>span,.app-status-visual strong,.app-published-head strong{color:#e4ebf8}.app-name-field input{border-color:var(--line);color:#fff;background:#0a1528}.app-name-field input:focus{border-color:#5f94e8;background:#0a1528;box-shadow:0 0 0 3px rgba(95,148,232,.12)}.app-name-field small,.app-icon-copy small,.app-status-visual p,.app-published-head small,.app-published-files small{color:var(--muted)}.app-icon-picker{border-color:#304865;background:linear-gradient(135deg,#0b1729,#101f36)}.app-icon-picker:hover{border-color:#5f94e8;background:#102039}.app-icon-preview{border-color:var(--line);color:#8da2c1;background:#0a1528;box-shadow:0 10px 22px rgba(0,0,0,.18)}.app-icon-copy strong{color:#dbe5f6}.app-icon-field>p{color:#91a5c2}.app-card-title>b{color:#9fb1ca;background:#1b2b43}.app-status-visual>i{border-color:#263a57;border-top-color:var(--primary)}.app-status-visual>i:after,.app-status-visual small{color:var(--primary)}.app-published-empty{color:var(--muted)}.app-published-empty>span{color:#91a8ca;background:#172941}.app-published-icon{color:#071321;background:linear-gradient(145deg,var(--primary),#75a9ff)}.app-published-files>span{border-color:var(--line);background:#0b1729}.app-published-files b{color:#cbd7ea}

/* 根域名管理和APP域名选择统一使用直接可识别的根域名。 */
.domain-head-actions{display:flex;align-items:center;gap:11px}.domain-head-actions .primary{min-height:38px}.domain-row{grid-template-columns:100px minmax(0,1fr) auto auto}.domain-row-actions{display:flex;align-items:center;gap:8px}.domain-delete{min-height:32px;padding:0 12px;color:#ff9ba6}.domain-delete:disabled{cursor:not-allowed;color:#72839d}.app-domain-field{display:grid;gap:9px}.app-domain-field>span{color:#e4ebf8;font-size:0.875rem;font-weight:800}.app-domain-field select{width:100%;height:52px;padding:0 16px;border:1px solid var(--line);border-radius:14px;outline:0;color:#fff;background:#0a1528;font-size:0.9375rem;transition:.2s}.app-domain-field select:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.12)}.app-domain-field small{color:var(--muted);font-size:0.75rem}
@media(max-width:680px){.panel-head:has(.domain-head-actions){align-items:flex-start;flex-direction:column}.domain-head-actions{width:100%;justify-content:space-between}.domain-row{grid-template-columns:minmax(0,1fr) auto}.domain-kind{grid-column:1}.domain-state{grid-column:2}.domain-address{grid-column:1/-1;grid-row:2}.domain-row-actions{grid-column:1/-1;grid-row:3}.domain-row-actions .domain-copy,.domain-row-actions .domain-delete{flex:1}.app-domain-field select{height:49px}}

/* APP生成页面统一使用与其他管理页面一致的内容留白。 */
.app-build-editor{padding-bottom:30px}.app-build-form{margin-top:0;padding:28px 30px 0}.app-status-card,.app-published-card{padding:24px 26px}
@media(max-width:680px){.app-build-editor{padding-bottom:22px}.app-build-form{gap:18px;padding:22px 20px 0}.app-status-card,.app-published-card{padding:20px}}

/* 首页账户摘要固定放在顶部并压缩高度，三项信息仍然保持完整可读。 */
.overview-account-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}
.overview-account-stats .stat{min-height:76px;padding:11px 15px}
.overview-account-stats .stat>span,.overview-account-stats .stat>small{font-size:0.75rem}
.overview-account-stats .stat>strong{margin:5px 0 3px;font-size:1.0625rem}
.overview-account-stats .last-login-detail{grid-template-columns:auto minmax(0,1fr);gap:8px}

/* 当前入口在电脑端一次展示三张卡片，二维码内容使用完整HTTPS网址。 */
.quick-domains{grid-template-columns:repeat(3,minmax(0,1fr))}
.domain-chip{display:grid;align-content:start}
.domain-chip-qr{display:grid;justify-items:center;gap:7px;margin-top:15px;padding-top:14px;border-top:1px solid #213550}
.domain-chip-qr img{display:block;width:112px;height:112px;padding:6px;border-radius:12px;background:#fff}
.domain-chip-qr small{color:#7389a7;font-size:0.75rem}
.domain-app-empty{display:grid;min-height:155px;place-content:center;gap:7px;border:1px dashed #31506f;border-radius:11px;color:#72e3c3;text-align:center;text-decoration:none;background:#0a1729}
.domain-app-empty strong{color:#dce8f8;font-size:0.875rem}
.domain-app-empty small{color:#7f94b0;font-size:0.75rem}
a.domain-app-empty:hover{border-color:#69e5c2;background:#0e2131}

@media(max-width:1050px){.quick-domains{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.quick-domains{grid-template-columns:1fr}.overview-account-stats{grid-template-columns:1fr 1fr;gap:8px}.overview-account-stats .stat:last-child{grid-column:1/-1}.overview-account-stats .stat{min-height:66px;padding:9px 12px}.overview-account-stats .stat>strong{font-size:0.9375rem}.domain-chip-qr img{width:124px;height:124px}}

/* 配置与资料编辑统一使用右上角粘性保存区；业务即时动作继续留在各自操作位置。 */
:root{--user-editor-sticky-top:10px;--control-bg:#091426;--control-text:#e8f1ff;--control-border:#2a4261}
.module-panel:has(.form-save-bar),.module-panel:has(.sticky-editor-head),.management-editor:has(>.editor-save-head),.room-list-panel:has(>.sticky-editor-head),.reward-section:has(>.sticky-editor-head){overflow:visible}
.form-save-bar{position:sticky;z-index:31;top:var(--user-editor-sticky-top);display:flex;width:max-content;max-width:100%;align-items:center;justify-content:flex-end;gap:10px;min-height:52px;margin:0 0 20px auto;padding:5px;border:1px solid rgba(62,91,126,.88);border-radius:13px;background:rgba(12,27,47,.94);box-shadow:0 11px 30px rgba(0,0,0,.26);backdrop-filter:blur(16px)}
.form-save-bar .form-error{min-width:0;max-width:min(420px,calc(100vw - 160px));min-height:0;margin:0;padding-left:8px;overflow-wrap:anywhere;white-space:normal}
.form-save-bar .form-error:empty{display:none}
.form-save-bar .primary{min-width:86px;min-height:40px;padding-inline:16px}
.form-save-message .form-error{margin:0 0 14px}
.form-save-message .form-error:empty{display:none}
.sticky-editor-head,.editor-save-head{position:sticky;z-index:31;top:var(--user-editor-sticky-top);background:rgba(16,31,52,.96);box-shadow:0 10px 28px rgba(0,0,0,.24);backdrop-filter:blur(16px)}
.editor-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.editor-head-actions .primary{min-width:80px}
.dialog-card>.editor-save-head{z-index:4;top:0;border-radius:19px 19px 0 0}
.detail-save-head{position:sticky;z-index:3;top:8px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-6px -6px 2px;padding:6px;border-radius:10px;background:rgba(11,23,41,.96);box-shadow:0 6px 18px rgba(0,0,0,.18);backdrop-filter:blur(12px)}
.detail-card .detail-save-head .primary{width:auto;min-width:0;min-height:36px;margin:0;padding-inline:11px;font-size:0.75rem;white-space:nowrap}
.password-dialog-card{overflow-y:auto}
.password-dialog-actions:has(>:only-child){grid-template-columns:1fr}

/* 公告编辑的开关只保留滑块与当前动作文字，不再使用大号字段卡片。 */
#content-form .switch-field.compact-switch{grid-column:1/-1;justify-content:flex-start;min-height:34px;padding:0;border:0;background:transparent}
#content-form .compact-switch .switch-control{justify-content:flex-start;min-height:32px}
#content-form .compact-switch .switch-control i{width:40px;height:22px}
#content-form .compact-switch .switch-control i:after{width:16px;height:16px}
#content-form .compact-switch .switch-control input:checked+i:after{left:21px}
#content-form .compact-switch .switch-control b{color:#d6e2f2;font-size:0.75rem}
#content-form .image-upload:not(.qr-upload){grid-template-columns:minmax(160px,280px)}

@media(max-width:780px){
  :root{--user-editor-sticky-top:calc(68px + env(safe-area-inset-top,0px))}
  .form-save-bar{min-height:48px;margin-bottom:15px;padding:4px}
  .form-save-bar .primary{min-height:38px;padding-inline:13px}
  .dialog-card>.editor-save-head{top:0}
  .reward-section-head.sticky-editor-head{align-items:center;flex-direction:row;padding:12px 14px}
  .reward-section-head.sticky-editor-head>div>span,.reward-section-head.sticky-editor-head>div>p{display:none}
  .reward-section-head.sticky-editor-head h3{margin:0;font-size:0.875rem}
  .reward-section-head.sticky-editor-head>button{width:auto;min-width:72px;min-height:38px}
}
@media(max-width:700px){
  .room-list-head.sticky-editor-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px}
  .room-list-head.sticky-editor-head>div:first-child p{display:none}
  .room-list-head.sticky-editor-head h2{font-size:0.875rem}
  .room-list-head.sticky-editor-head .room-list-actions{width:auto;align-items:center;flex-direction:row;gap:7px}
  .room-list-head.sticky-editor-head .room-merge-switch{flex:0 1 auto;gap:7px;padding:7px 8px}
  .room-list-head.sticky-editor-head .room-merge-switch small{display:none}
  .room-list-head.sticky-editor-head .room-merge-switch strong{font-size:0.75rem;white-space:nowrap}
  .room-list-head.sticky-editor-head .room-list-actions .primary{width:auto;min-width:62px;min-height:38px;padding-inline:11px}
}
@media(max-width:480px){
  .management-editor>.editor-save-head{align-items:stretch;flex-direction:column;gap:10px;padding:14px}
  .management-editor>.editor-save-head p{display:none}
  .management-editor>.editor-save-head .editor-head-actions{width:100%}
  .management-editor>.editor-save-head .editor-head-actions button{min-height:38px;flex:1;padding-inline:9px;font-size:0.75rem}
  .dialog-card>.editor-save-head{align-items:center;flex-wrap:nowrap;padding:14px 15px}
  .dialog-card>.editor-save-head .eyebrow{font-size:0.75rem}
  .dialog-card>.editor-save-head h2{font-size:1.0625rem}
  .dialog-card>.editor-save-head .editor-head-actions{flex:0 0 auto}
  .dialog-card>.editor-save-head .primary{min-width:64px;min-height:38px;padding-inline:12px}
  .room-list-head.sticky-editor-head .room-merge-switch{padding-inline:6px}
  .room-list-head.sticky-editor-head .room-merge-switch>i{width:34px;height:20px}
  .room-list-head.sticky-editor-head .room-merge-switch>i:after{width:14px;height:14px}
  .room-list-head.sticky-editor-head .room-merge-switch input:checked+i:after{left:17px}
  .room-list-head.sticky-editor-head .room-merge-switch strong{font-size:0.75rem}
  .form-save-bar .form-error{font-size:0.75rem}
  #content-form .image-upload:not(.qr-upload){grid-template-columns:1fr}
}

/* 上下分处理使用控制台自己的面板，不调用浏览器原生输入框。 */
.coin-review-dialog{z-index:112}
.coin-review-dialog-card{width:min(470px,100%);padding:32px;overflow:hidden}
.coin-review-icon{display:grid;width:58px;height:58px;margin:0 auto 18px;place-items:center;border:1px solid #397064;border-radius:18px;color:#79e8c7;background:#12382f;font-size:1.5625rem;font-weight:900}
.coin-review-dialog-card>p,.coin-review-dialog-card>h2{text-align:center}
.coin-review-dialog-card>h2{margin:7px 0 9px;color:#eef5ff;font-size:1.375rem}
.coin-review-dialog-card>#coin-review-message{margin:0 0 22px;color:#8fa3be;font-size:0.75rem;line-height:1.75}
.coin-review-dialog-card>label{display:grid;gap:8px;color:#9bb0ca;font-size:0.75rem;font-weight:800}
.coin-review-dialog-card textarea{width:100%;min-height:108px;padding:12px 13px;resize:vertical;border:1px solid var(--line);border-radius:11px;color:#edf4ff;background:#0a1528;outline:0;line-height:1.65}
.coin-review-dialog-card textarea:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.12)}
.coin-review-dialog-card .form-error{min-height:18px;margin:8px 0 0}
.coin-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}
.coin-review-actions button{min-height:44px}
.coin-review-actions .primary.danger{color:#fff;background:#d85768}
@media(max-width:780px){.coin-review-dialog{inset:0}.coin-review-dialog-card{padding:28px 21px}}

/* 公告设置使用紧凑开关；列表状态可以直接切换，不再重复显示“是/否”。 */
#content-form .form-grid{gap:14px 18px}
#content-form .switch-field{min-height:42px;flex-direction:row;align-items:center;justify-content:space-between;padding:8px 2px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
#content-form .switch-field .field-label{margin:0;color:#c4d1e3;font-size:0.75rem}
#content-form .switch-control{justify-content:flex-end}
.content-row{grid-template-columns:minmax(0,1fr) auto auto}
.content-switches{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}
.content-list-switch{display:grid;flex:0 0 auto;grid-template-columns:38px max-content;gap:7px;align-items:center;margin:0;color:#8ea2bd;font-size:0.75rem;font-weight:800;white-space:nowrap;cursor:pointer}
.content-list-switch input{position:absolute;opacity:0;pointer-events:none}
.content-list-switch i{position:relative;width:38px;height:22px;border-radius:999px;background:#30425d;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);transition:.18s}
.content-list-switch i:after{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;content:"";background:#aebbd0;box-shadow:0 2px 5px rgba(0,0,0,.25);transition:.18s}
.content-list-switch input:checked+i{background:#21866e}
.content-list-switch input:checked+i:after{left:19px;background:#82f1d1}
.content-list-switch:has(input:focus-visible) i{outline:2px solid #6aa8f2;outline-offset:2px}
.content-list-switch:has(input:disabled){cursor:wait;opacity:.55}

/* 所有可编辑图片统一为“点击图片上传、右上角红色×清除”。 */
.image-upload{position:relative;display:grid;min-height:0;grid-template-columns:minmax(160px,280px) minmax(0,1fr);gap:13px 16px;align-items:center;padding:0;border:0;background:transparent}
.media-picker-stage{position:relative;width:min(280px,100%)}
.image-upload-preview{display:grid;width:100%;height:auto;aspect-ratio:16/9;place-items:center;overflow:hidden;border:1px dashed #3a5878;border-radius:13px;background:#0d1c31;cursor:pointer;transition:.18s}
.image-upload-preview:hover{border-color:#68dfbd;background:#10243a;box-shadow:0 0 0 3px rgba(104,223,189,.08)}
.image-upload-preview:has(input:focus-visible){outline:2px solid #6aa8f2;outline-offset:2px}
.image-upload-preview img,.image-upload:not(.qr-upload) .image-upload-preview img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#091426}
.image-upload-empty{display:grid;gap:5px;padding:14px;color:#8da2c0;text-align:center}
.image-upload-empty b{color:#72e5c3;font-size:1.5rem;font-weight:400;line-height:1}
.image-upload-empty small{font-size:0.75rem;font-weight:800}
.image-upload-picker.uploading{cursor:wait;opacity:.62}
.media-picker-input{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;opacity:0;clip-path:inset(50%)}
.media-picker-clear{position:absolute;z-index:4;top:8px;right:-6px;display:grid;width:27px;height:27px;padding:0;place-items:center;border:2px solid #101d32;border-radius:50%;color:#fff;background:#e35162;box-shadow:0 5px 13px rgba(0,0,0,.34);font-size:1.125rem;font-weight:900;line-height:1;cursor:pointer}
.media-picker-clear:hover{background:#f06474;transform:scale(1.05)}
.media-picker-clear:disabled{cursor:wait;opacity:.55}
.media-picker-clear[hidden]{display:none}
.image-upload-note{grid-column:2;margin:0;color:#7185a4;font-size:0.75rem;line-height:1.65}
.qr-upload .media-picker-stage{width:min(190px,100%)}
.qr-upload .image-upload-preview{width:100%;height:auto;aspect-ratio:1;background:#fff}
.qr-upload .image-upload-preview img{padding:7px;object-fit:contain!important;background:#fff}
.qr-upload .image-upload-note{grid-column:2;margin:0}
.qr-upload .qr-content-preview{grid-column:2}
.structured-setting .image-upload-preview{min-height:0}
.app-icon-picker-shell{position:relative}
.app-icon-preview-shell{position:relative;display:grid;width:92px;height:92px;flex:0 0 92px}
.app-icon-preview-shell .app-icon-preview{width:100%;height:100%;margin:0!important;flex:none}
.app-icon-copy{margin:0!important;cursor:pointer}
.app-icon-preview-shell:has(.media-picker-input:focus-visible) .app-icon-preview{outline:2px solid #6aa8f2;outline-offset:2px}
.app-icon-picker.uploading{cursor:wait;opacity:.62}
.app-icon-picker-shell .media-picker-clear{top:8px;right:8px;border-color:#102039}
@media(max-width:680px){.app-icon-preview-shell{width:78px;height:78px;flex-basis:78px}}
#content-dialog{z-index:330}
html:has(#content-dialog:not([hidden])),body:has(#content-dialog:not([hidden])){overflow:hidden}

@media(max-width:780px){
  .content-row{grid-template-columns:1fr}
  .content-switches,.content-row .row-actions{justify-content:flex-start}
  .image-upload{grid-template-columns:minmax(130px,220px) minmax(0,1fr)}
  .media-picker-stage{width:min(220px,100%)}
  .image-upload-preview{width:100%;height:auto}
  .image-upload-note,.qr-upload .image-upload-note,.qr-upload .qr-content-preview{grid-column:2;margin:0}
}
@media(max-width:480px){
  #content-form .switch-field{padding-inline:0}
  .content-switches{flex-wrap:wrap}
  .image-upload{grid-template-columns:1fr}
  .media-picker-stage,.qr-upload .media-picker-stage{width:100%}
  .image-upload-preview,.qr-upload .image-upload-preview{width:100%;height:auto}
  .image-upload-note,.qr-upload .image-upload-note,.qr-upload .qr-content-preview{grid-column:1}
}

.player-detail-grid.single{grid-template-columns:minmax(0,540px);justify-content:center}
.player-coin-mode{display:grid;grid-template-columns:1fr 1fr;gap:9px}.player-coin-mode button{min-height:42px;border:1px solid #2e4968;border-radius:9px;color:#91a5c0;background:#101f34;font-weight:800}.player-coin-mode button:hover{border-color:#55799d;color:#dce9f8}.player-coin-mode button.active[data-player-coin-mode="true"]{border-color:#55cbaa;color:#09251e;background:linear-gradient(135deg,#72e4c2,#64c8ae);box-shadow:0 0 0 3px rgba(108,225,193,.12)}.player-coin-mode button.active[data-player-coin-mode="false"]{border-color:#e16a79;color:#fff;background:linear-gradient(135deg,#d95d70,#bd4b61);box-shadow:0 0 0 3px rgba(225,95,115,.12)}
.fixed-choice{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fixed-choice button{min-height:42px;padding:8px 12px;border:1px solid #2e4968;border-radius:9px;color:#91a5c0;background:#101f34;font-weight:700;line-height:1.45}.fixed-choice button:hover{border-color:#55799d;color:#dce9f8}.fixed-choice button.active{border-color:#55cbaa;color:#09251e;background:linear-gradient(135deg,#72e4c2,#64c8ae);box-shadow:0 0 0 3px rgba(108,225,193,.12)}
#agent-reward-operation-form .fixed-choice button{font-size:1rem;font-weight:800}
#agent-calculation-operation-form .agent-reward-filter{grid-template-columns:minmax(420px,1fr) auto}
#agent-calculation-operation-form .fixed-choice button{font-size:0.9375rem;font-weight:800}

.player-dialog-card.coin-only:has(.player-report-card){width:min(1780px,calc(100vw - 48px))}.player-report-card{display:grid;grid-template-rows:auto auto minmax(0,1fr);width:100%;max-height:min(880px,calc(100vh - 48px));overflow:hidden}.player-report-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-right:42px}.player-report-head p{min-height:0;margin:0 0 6px;color:var(--primary);font-size:0.75rem;font-weight:900;letter-spacing:.14em}.player-report-head h3{margin:0!important;padding:0!important;font-size:1.25rem!important}.player-report-head span{display:block;margin-top:6px;color:#7890af;font-size:0.75rem}.player-report-card .report-actions{flex:0 0 auto}.player-report-card .report-column-menu{right:0}.player-report-totals{max-height:190px;overflow:auto;border:1px solid var(--line);border-radius:12px}.player-report-table-wrap{min-height:0;padding:0;overflow:auto;border:1px solid var(--line);border-radius:12px}.player-report-table{min-width:3800px}.player-report-table th,.player-report-table td{font-size:0.75rem}.player-more-menu{width:150px}
.player-report-card .report-column-menu label{display:flex!important;align-items:center;justify-content:flex-start;gap:10px;min-height:40px;margin:0;padding:9px 11px;text-align:left}.player-report-card .report-column-menu input[type="checkbox"]{position:static;width:17px!important;min-width:17px;height:17px!important;min-height:17px;margin:0;flex:0 0 17px;opacity:1;pointer-events:auto}.player-report-card .report-column-menu span{display:block;min-width:0;flex:1;overflow:visible;color:#b9cbe0;font-size:0.75rem;line-height:1.35;text-align:left;text-overflow:clip;white-space:normal}
@media(max-width:780px){#agent-calculation-operation-form .agent-reward-filter{grid-template-columns:1fr}.player-dialog-card.coin-only:has(.player-report-card){width:100vw}.player-report-card{max-height:100vh;border-radius:0}.player-report-head{align-items:flex-start;flex-direction:column;padding-right:38px}.player-report-head .report-actions{width:100%}.player-report-card .report-column-menu{position:fixed}.player-report-table-wrap{overflow:auto}.player-report-table{display:table!important;width:max-content!important;min-width:3800px!important}.player-report-table thead{display:table-header-group!important}.player-report-table tbody{display:table-row-group!important}.player-report-table tr{display:table-row!important}.player-report-table th,.player-report-table td,.player-report-table td:first-child{display:table-cell!important;min-width:150px!important}.player-report-table td::before{display:none!important}}
#agent-reward-operation-form .reward-rule-row input{font-size:0.875rem;font-weight:700}
#agent-reward-operation-form .agent-auto-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px 20px 0}
#agent-reward-operation-form .agent-auto-grid .reward-switch{min-height:78px}
#agent-reward-operation-form .agent-auto-time{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px;margin:0;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#0d1c30}
#agent-reward-operation-form .agent-auto-time[hidden]{display:none}
#agent-reward-operation-form .agent-auto-grid:has(>.agent-auto-time[hidden]){grid-template-columns:1fr}
#agent-reward-operation-form .agent-auto-time>span{color:#dce7f7;font-size:0.75rem;font-weight:700}
#agent-reward-operation-form .agent-auto-time input{width:min(260px,55%);height:42px;padding:0 11px;border:1px solid var(--line);border-radius:9px;color:#e8f1ff;background:#091426;font-size:0.8125rem;font-weight:700;outline:0}
#agent-reward-operation-form .agent-description-grid{padding-top:12px;padding-bottom:0}
#agent-reward-operation-form .agent-mode-rules{display:grid;gap:0}
#agent-reward-operation-form .agent-mode-grid{grid-template-columns:1fr;padding-top:12px;padding-bottom:0}
#agent-rule-columns{grid-template-columns:1fr;padding-top:12px}
@media(max-width:780px){#agent-reward-operation-form .agent-auto-grid{grid-template-columns:1fr;padding:14px 14px 0}#agent-reward-operation-form .agent-description-grid,#agent-reward-operation-form .agent-mode-grid{padding-right:14px;padding-left:14px}#agent-rule-columns{padding-right:14px;padding-left:14px}}
.player-dialog-card.coin-only{width:min(720px,calc(100vw - 48px));border:0;background:transparent;box-shadow:none;overflow:visible}.player-dialog-card.coin-only>.dialog-head{display:none}.player-dialog-card.coin-only #player-dialog-body{padding:0}.player-dialog-card.coin-only .detail-card{position:relative;padding:22px}.player-coin-close{position:absolute;z-index:1;top:10px;right:10px}.player-dialog-card.coin-only .detail-card h3{padding-right:42px}
.player-slide-choice{display:flex!important;align-items:center;gap:15px;min-height:72px!important;margin:2px 0!important;padding:12px 15px;border:1px solid #294663;border-radius:11px;background:#101f34;cursor:pointer}.player-slide-choice input{position:absolute;opacity:0;pointer-events:none}.player-slide-choice>i{position:relative;flex:0 0 auto;width:52px;height:28px;border-radius:99px;background:#34465f;transition:.2s}.player-slide-choice>i:after{position:absolute;content:"";top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#b7c4d5;transition:.2s}.player-slide-choice input:checked+i{background:#2b9d7e}.player-slide-choice input:checked+i:after{left:28px;background:#eafff8}.player-slide-choice>span{display:grid;gap:3px}.player-slide-choice b{color:#dce7f6;font-size:0.875rem}.player-slide-choice small{color:#758ba8;font-size:0.75rem}.player-slide-choice.danger input:checked+i{background:#c64f63}.player-slide-choice.danger input:checked+i:after{background:#fff0f2}.player-slide-choice.danger input:checked~span b{color:#ff8f9d}
.player-registration-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px}.player-registration-controls label{display:flex;align-items:center;gap:7px;min-height:40px;margin:0;padding:0 9px;border:1px solid #294663;border-radius:10px;color:#a8bad1;background:#0c192c;cursor:pointer}.player-registration-controls label>span{font-size:0.75rem;font-weight:800;white-space:nowrap}.player-registration-controls input{position:absolute;opacity:0;pointer-events:none}.player-registration-controls i{position:relative;flex:0 0 auto;width:34px;height:20px;border-radius:99px;background:#35465f;transition:.2s}.player-registration-controls i:after{position:absolute;content:"";top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#b6c3d4;transition:.2s}.player-registration-controls input:checked+i{background:#299b7c}.player-registration-controls input:checked+i:after{left:17px;background:#edfff9}.player-registration-controls label:has(input:checked){border-color:#397b6b;color:#7ae7c6;background:#102d2b}.player-registration-controls label.danger:has(input:checked){border-color:#8b3f4e;color:#ff8f9d;background:#321a24}.player-registration-controls label.danger input:checked+i{background:#c64f63}.player-registration-controls label.danger input:checked+i:after{background:#fff0f2}.player-registration-controls label:has(input:disabled){opacity:.5;cursor:wait}
.player-panel{overflow:visible}.player-row{position:relative}.player-actions .player-reset-action{border-color:#886626;color:#ffd27a;background:#342a18}.player-actions .player-reset-action:hover{border-color:#b98b34;color:#ffe0a2;background:#42351e}.player-row-slide{display:flex;align-items:center;gap:7px;min-height:33px;margin:0;padding:0 9px;border:1px solid #2c4463;border-radius:8px;color:#aebfd5;background:#14243b;cursor:pointer}.player-row-slide>span{font-size:0.75rem;white-space:nowrap}.player-row-slide input{position:absolute;opacity:0;pointer-events:none}.player-row-slide i{position:relative;width:31px;height:18px;border-radius:99px;background:#3a4a61;transition:.2s}.player-row-slide i:after{position:absolute;content:"";top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#b4c1d2;transition:.2s}.player-row-slide input:checked+i{background:#299b7c}.player-row-slide input:checked+i:after{left:16px;background:#edfff9}.player-row-slide:has(input:checked){border-color:#397b6b;color:#7ae7c6;background:#102d2b}.player-row-slide.danger input:checked+i{background:#c64f63}.player-row-slide.danger input:checked+i:after{background:#fff0f2}.player-row-slide.danger:has(input:checked){border-color:#8b3f4e;color:#ff8f9d;background:#321a24}.player-row-slide:has(input:disabled){opacity:.55;cursor:wait}
.player-more{position:relative}.player-more-toggle[aria-expanded="true"]{border-color:#5b85ab;color:#e6f1ff;background:#1b304c}.player-more-menu{position:absolute;z-index:20;top:calc(100% + 7px);right:0;display:grid;width:142px;gap:5px;padding:7px;border:1px solid #365676;border-radius:10px;background:#0c192c;box-shadow:0 18px 46px rgba(0,0,0,.46)}.player-actions .player-more-menu button{width:100%;justify-content:flex-start;text-align:left}.player-actions .player-more-menu .player-enter-action{color:#89ead0;background:#12352f}.player-actions .player-more-menu .player-reset-action{color:#ffd27a;background:#342a18}
.player-row{grid-template-columns:minmax(180px,1.1fr) 75px minmax(130px,.8fr) minmax(90px,.5fr) 150px minmax(320px,1.5fr);gap:12px}.player-state-switches{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:7px}.player-state-switches:after{position:absolute;top:3px;right:-8px;bottom:3px;width:1px;background:#29415e;content:""}.player-row>.player-actions{margin-left:6px}.player-actions{flex-wrap:nowrap}.player-agent-parent{min-width:0}.player-agent-parent span,.player-agent-parent strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-agent-parent span{margin-bottom:6px;color:#687f9f;font-size:0.75rem}.player-agent-parent strong{color:#c7d5e7;font:600 0.75rem ui-monospace,SFMono-Regular,Consolas,monospace}.player-downline-card{position:relative;max-height:min(720px,calc(100vh - 48px));overflow:auto}.player-downline-list{display:grid;gap:8px}.player-downline-list article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 12px;border:1px solid #263e5b;border-radius:10px;background:#101f34}.player-downline-list .player-avatar{width:42px;height:42px;border-radius:11px;font-size:0.9375rem}.player-downline-list article>div{min-width:0}.player-downline-list strong,.player-downline-list span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-downline-list strong{color:#e3edf9;font-size:0.75rem}.player-downline-list span{margin-top:4px;color:#7890af;font:0.75rem ui-monospace,SFMono-Regular,Consolas,monospace}.player-downline-list article>b{color:#75e3c2;font-size:0.75rem}
.player-dialog-card.coin-only:has(.player-downline-card){width:min(1500px,calc(100vw - 48px))}.player-downline-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:100%;max-height:min(820px,calc(100vh - 48px));overflow:hidden}.player-downline-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-right:42px}.player-downline-head>div:first-child{min-width:0}.player-downline-head h3{margin:0 0 7px;font-size:1.125rem!important}.player-downline-head p{margin:0;color:#8298b6;font-size:0.75rem}.player-downline-head-actions{display:flex;flex:0 0 auto;gap:8px}.player-downline-head button{min-height:40px;padding:0 15px;border:1px solid #365473;border-radius:9px;color:#c4d5e8;background:#152840;font-size:0.75rem;font-weight:800;white-space:nowrap}.player-downline-head button.primary{border-color:#59d2b4;color:#09251f;background:linear-gradient(135deg,#70e2c1,#6ca9f5)}.player-downline-head button:disabled{opacity:.5;cursor:not-allowed}.player-downline-list{min-height:0;overflow:auto}.player-downline-data-table{min-width:1200px}.player-downline-data-table th:last-child,.player-downline-data-table td:last-child{min-width:330px}.player-downline-candidate-table{min-width:1080px}.player-downline-candidate-table th:first-child,.player-downline-candidate-table td:first-child{width:64px;text-align:center!important}.player-downline-select-all{display:flex;align-items:center;gap:9px;width:max-content;margin:0;padding:8px 11px;border:1px solid #294663;border-radius:9px;color:#b8cade;background:#101f34;font-size:0.75rem;font-weight:800;cursor:pointer}.player-downline-select-all input,.player-downline-check input{width:18px;height:18px;margin:0;accent-color:#61d9b8;cursor:pointer}.player-downline-pages{padding-top:0}.table-state.danger{color:#ff9aa8;background:#3a1d28}
@media(max-width:780px){.player-dialog-card.coin-only:has(.player-downline-card){width:100vw}.player-downline-card{max-height:100vh;border-radius:0}.player-downline-head{align-items:flex-start;flex-direction:column;padding-right:38px}.player-downline-head-actions{width:100%}.player-downline-head-actions button{flex:1}.player-downline-data-table,.player-downline-candidate-table{min-width:0}.player-downline-check{justify-content:flex-end!important}}
.player-row.pending-player-row{grid-template-columns:minmax(220px,1.3fr) minmax(170px,.85fr) minmax(90px,.5fr) auto}.pending-player-row>.player-actions{margin-left:0;justify-content:flex-end}.pending-player-row>.player-actions button{min-width:76px;white-space:nowrap}
.player-search.pending-mode{grid-template-columns:minmax(230px,1.35fr) minmax(190px,1fr) auto auto;max-width:1040px}.player-review-bulk{display:flex;gap:8px}.player-review-bulk button{min-height:40px;padding:0 13px;border-radius:10px;font-size:0.75rem;font-weight:800;white-space:nowrap}.player-review-bulk .approve{border:1px solid #3d9d83;color:#09241e;background:linear-gradient(135deg,#72e4c2,#63c9ad)}.player-review-bulk .reject{border:1px solid #9a4656;color:#ff9ca8;background:#351b25}.player-review-bulk button:disabled{opacity:.55;cursor:wait}
.record-filter{grid-template-columns:minmax(220px,1fr) minmax(310px,1.25fr) 130px minmax(310px,1.25fr) 145px auto}.record-filter>input,.record-filter>select{height:42px}.record-time-range{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-width:0;height:42px;padding:0 7px 0 10px;border:1px solid var(--line);border-radius:9px;color:#89a0bd;background:#0a1528}.record-time-range>span{padding-right:7px;color:#b9c9dc;font-size:0.75rem;font-weight:800;white-space:nowrap}.record-time-range>b{padding:0 5px;color:#7188a7;font-size:0.75rem;font-weight:500}.record-time-range input{grid-column:auto;min-width:0;height:38px;padding:0 4px;border:0;border-radius:0;color:#dfe9f8;background:transparent;font-size:0.75rem;color-scheme:dark;outline:0}.record-time-range:focus-within{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.1)}
.player-dialog-card.coin-only:has(.player-points-card){width:min(1180px,calc(100vw - 48px))}.player-points-card{position:relative;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(780px,calc(100vh - 48px));overflow:hidden}.player-points-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-right:42px}.player-points-head h3{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.0625rem!important}.player-points-head label{display:flex;flex:0 0 auto;align-items:center;gap:9px;margin:0;color:#8ba0bd;font-size:0.8125rem}.player-points-head select{min-width:190px;height:42px;padding:0 12px;border:1px solid #2d4968;border-radius:9px;color:#dce8f7;background:#101f34;font-size:0.8125rem;outline:0}.player-points-head select:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.12)}.player-points-list{display:grid;min-height:0;gap:10px;overflow:auto;padding-right:3px}.player-points-row{display:grid;grid-template-columns:minmax(240px,1.2fr) 120px minmax(190px,1fr) minmax(210px,auto);gap:18px;align-items:center;padding:16px 18px;border:1px solid #263e5b;border-radius:13px;background:#0d1b2f}.player-points-row .record-main strong{font-size:0.875rem}.player-points-row .record-main small{margin-top:6px;font-size:0.75rem}.player-points-row .record-kind{width:48px;height:48px;font-size:0.875rem}.player-points-row .record-value span{font-size:0.75rem}.player-points-row .record-value strong{font-size:1.0625rem}.player-points-row .record-note span{font-size:0.8125rem}.player-points-row .record-note small{font-size:0.75rem}.player-points-row .record-balance{font-size:0.875rem}.player-points-row .points-up{color:#71e5c3;font-weight:800}.player-points-row .points-down{color:#ff8f9d;font-weight:800}.player-points-empty{display:grid;min-height:140px;place-items:center;color:#8095b2;font-size:0.8125rem}.player-points-pages{padding-top:4px}
.player-points-head h3{font-size:0.9375rem!important}.player-points-head label{font-size:0.75rem}.player-points-head select{min-width:170px;height:38px;padding:0 11px;font-size:inherit}
@media(max-width:1500px){.record-filter{grid-template-columns:minmax(220px,1fr) minmax(310px,1.3fr) 130px}.record-filter>.record-time-range:nth-of-type(2){grid-column:1/2}}
@media(max-width:1500px){.player-row{grid-template-columns:minmax(170px,1.1fr) 75px minmax(90px,.45fr) 150px minmax(320px,1.55fr);gap:10px}.player-row.pending-player-row{grid-template-columns:minmax(220px,1.2fr) minmax(90px,.5fr) auto}.player-login{display:none}}
@media(max-width:1280px){.player-row{grid-template-columns:minmax(180px,1fr) 80px 90px 150px}.player-row>.player-actions{grid-column:1/-1;margin-left:0;justify-content:flex-end;padding-top:10px;border-top:1px solid var(--line)}.player-row.pending-player-row{grid-template-columns:minmax(180px,1fr) 90px auto}.pending-player-row>.player-actions{grid-column:auto;padding-top:0;border-top:0}.player-state-switches:after{display:none}}
@media(max-width:900px){.player-points-row{grid-template-columns:minmax(0,1fr) auto}.player-points-row .record-main,.player-points-row .record-note,.player-points-row .record-balance{grid-column:1/-1}.player-points-row .record-balance{justify-content:flex-start}}
@media(max-width:780px){.player-row{grid-template-columns:minmax(0,1fr) auto auto}.player-agent-parent{grid-column:1/-1}.player-state-switches{grid-column:1/-1}.player-actions{grid-column:1/-1;flex-wrap:wrap}.player-row.pending-player-row{grid-template-columns:minmax(0,1fr)}.pending-player-row>.player-actions{grid-column:1/-1;justify-content:flex-start;padding-top:10px;border-top:1px solid var(--line)}.player-search.pending-mode{grid-template-columns:minmax(0,1fr)}.player-review-bulk{display:grid;grid-template-columns:1fr 1fr}.record-filter{grid-template-columns:1fr 1fr}.record-filter>input,.record-time-range{grid-column:1/-1}.record-filter>.record-time-range:nth-of-type(2){grid-column:1/-1}.record-filter .secondary{grid-column:1/-1}}

.side-user .avatar{overflow:hidden}.side-user .avatar img{display:block;width:100%;height:100%;object-fit:cover}.service-info-grid{grid-template-columns:minmax(0,1fr)}.service-avatar-field .image-upload{grid-template-columns:112px minmax(0,1fr)}.service-avatar-field .media-picker-stage{width:112px}.service-avatar-field .image-upload-preview{width:112px;aspect-ratio:1}.service-avatar-field .image-upload-preview img{object-fit:cover!important}.service-avatar-field .image-upload-empty small{font-size:0.75rem}

.realtime-title-actions{display:flex;align-items:center;gap:9px}.realtime-title-actions>b,.service-title .realtime-title-actions>b{display:grid;min-width:28px;height:28px;padding:0 8px;place-items:center;border-radius:999px;color:#08201b;background:#74e4c2;font-size:0.75rem}.realtime-sound-toggle{display:flex!important;align-items:center;gap:7px;min-height:32px;margin:0!important;padding:0 9px;border:1px solid #2e4968;border-radius:9px;color:#8fa5c0;background:#101f34;cursor:pointer}.realtime-sound-toggle>span{font-size:0.75rem;font-weight:800;white-space:nowrap}.realtime-sound-toggle input{position:absolute;opacity:0;pointer-events:none}.realtime-sound-toggle>i{position:relative;width:30px;height:18px;border-radius:99px;background:#3a4a61;transition:.18s}.realtime-sound-toggle>i:after{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;content:"";background:#b4c1d2;transition:.18s}.realtime-sound-toggle input:checked+i{background:#299b7c}.realtime-sound-toggle input:checked+i:after{left:15px;background:#edfff9}.realtime-sound-toggle:has(input:checked){border-color:#397b6b;color:#7ae7c6;background:#102d2b}.realtime-sound-toggle:has(input:focus-visible){outline:2px solid #6aa8f2;outline-offset:2px}
.realtime-setting-button{min-height:32px;padding-inline:10px;white-space:nowrap}.service-auto-reply-dialog{z-index:95}.service-auto-reply-card{width:min(860px,100%)}#down_limit-view{gap:18px}.down-limit-collect-panel{margin-top:18px}
@media(max-width:520px){.service-title{align-items:flex-start}.service-title .realtime-title-actions{align-items:flex-end;flex-direction:column}.service-auto-reply-card .pair-setting-row{grid-template-columns:28px minmax(0,1fr) 34px}}

/* 总统计报表固定展示30天数据，列选择只影响宽表，不影响顶部18项汇总。 */
.report-actions{align-items:center}.report-column-picker{position:relative}.report-column-toggle[aria-expanded="true"]{border-color:#5f94e8;color:#e5effc;background:#162a45}.report-column-menu{position:absolute;z-index:40;top:calc(100% + 8px);right:0;display:grid;width:520px;max-width:calc(100vw - 48px);grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:10px;border:1px solid #365676;border-radius:12px;background:#0c192c;box-shadow:0 20px 48px rgba(0,0,0,.5)}.report-column-menu[hidden]{display:none}.report-column-menu label{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 9px;border-radius:8px;color:#aebfd4;background:#101f34;cursor:pointer}.report-column-menu label:hover{color:#e4edf9;background:#152945}.report-column-menu input{accent-color:#66d9b8}.report-column-menu span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.75rem}.report-totals{grid-template-columns:repeat(6,minmax(0,1fr))}.report-totals>div{min-width:0}.report-totals>div:first-child strong,.report-totals strong{color:#e6effc}.report-totals strong.report-up{color:#71e4bf}.report-totals strong.report-down{color:#ff9ca6}.report-table-wrap{scrollbar-color:#355878 #0a1425}.report-table{width:max-content;min-width:3100px;table-layout:auto}.report-table th,.report-table td{min-width:150px;white-space:nowrap}.report-table th:first-child,.report-table td:first-child{min-width:120px}.report-table .report-column-hidden{display:none}
@media(max-width:1100px){.report-totals{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.report-actions{width:auto}.report-actions button{width:auto;flex:none}.report-column-menu{position:fixed;top:72px;right:18px;left:18px;width:auto;max-height:calc(100vh - 96px);overflow:auto}.report-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.report-table-wrap{padding:10px}.report-table{display:table;width:max-content;min-width:3100px}.report-table thead{display:table-header-group}.report-table tbody{display:table-row-group;width:auto}.report-table tr{display:table-row;width:auto;margin:0;border:0;border-radius:0;background:transparent}.report-table th,.report-table td,.report-table td:first-child{display:table-cell;width:auto;padding:13px 15px;border-bottom:1px solid var(--line);text-align:right}.report-table th:first-child,.report-table td:first-child{text-align:left}.report-table td::before{display:none}.report-table .report-column-hidden{display:none}}
@media(max-width:480px){.report-column-menu{grid-template-columns:1fr}.report-totals{grid-template-columns:1fr 1fr}.report-actions{display:flex;flex-wrap:nowrap}.report-actions button{width:auto}}

/* 玩家下注历史在桌面端使用一行筛选，关键词较宽，其余固定项紧凑排列。 */
#game-record-filter{grid-template-columns:minmax(145px,1.2fr) minmax(95px,.72fr) minmax(100px,.76fr) minmax(95px,.7fr) minmax(100px,.74fr) minmax(105px,.78fr) minmax(120px,.88fr) minmax(120px,.88fr) auto;gap:10px}
@media(max-width:1100px){#game-record-filter{grid-template-columns:repeat(4,minmax(0,1fr))}#game-record-filter .game-filter-keyword{grid-column:span 2}}
@media(max-width:780px){#game-record-filter{grid-template-columns:1fr 1fr}#game-record-filter .game-filter-keyword{grid-column:1/-1}#game-record-filter .secondary{grid-column:1/-1}}
@media(max-width:480px){#game-record-filter{grid-template-columns:1fr}#game-record-filter .game-filter-keyword,#game-record-filter .secondary{grid-column:auto}}

/* User端玩家头像始终使用接口头像，不再显示昵称首字占位。 */
.game-record-player>span,.service-contact>span,.realtime-bet-player>span{overflow:hidden}.game-record-player>span img,.service-contact>span img,.realtime-bet-player>span img{display:block;width:100%;height:100%;object-fit:cover}

/* 下注记录把玩家、下注、开奖结果和时间压缩到同一关键数据行。 */
.game-record-main{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(260px,1.25fr) minmax(230px,1fr) 170px;gap:18px;align-items:center;padding:16px 18px}.game-record-main .game-record-player{grid-template-columns:44px minmax(0,1fr);padding:0}.game-record-main .game-record-bet{margin:0}.game-record-main .game-record-result{display:grid;gap:8px;padding:0}.game-record-main .game-record-result>span{text-align:left}.game-record-times{display:grid;gap:10px;justify-items:end}.game-record-times>span{display:grid;gap:4px}.game-record-times small{color:#7187a5;font-size:0.75rem}.game-record-time{color:#a9bdd6;font-size:0.8125rem;font-weight:800;line-height:1.4;text-align:right;font-variant-numeric:tabular-nums}.game-record-state.state-3{color:#ffd17e;background:#3a3020}.game-record-state-actions{display:flex;align-items:center;gap:7px}.game-record-state-actions button{min-height:31px;padding:0 10px;border:1px solid #365473;border-radius:8px;color:#b8cbe0;background:#152840;font-size:0.75rem;font-weight:800}.game-record-state-actions button.danger{border-color:#744052;color:#ff9aa8;background:#301924}.game-exception-dialog-card{width:min(520px,calc(100vw - 36px))}.game-exception-dialog-card>p:not(.eyebrow):not(.form-error){color:#8297b4;font-size:0.75rem;line-height:1.7}.game-exception-dialog-card label{display:grid;gap:8px;margin-top:18px;color:#9cb0ca;font-size:0.75rem;font-weight:800}.game-exception-dialog-card input{width:100%;height:44px;padding:0 12px;border:1px solid #2e4968;border-radius:9px;color:#e6effa;background:#0b1729;outline:0}.game-exception-dialog-card input:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.12)}
@media(max-width:1200px){.game-record-main{grid-template-columns:minmax(210px,.8fr) minmax(240px,1.2fr) minmax(210px,1fr)}.game-record-times{grid-column:1/-1;grid-template-columns:1fr 1fr;justify-items:start}.game-record-time{text-align:left}}
@media(max-width:780px){.game-record-main{grid-template-columns:1fr 1fr;gap:14px;padding:14px}.game-record-main .game-record-player,.game-record-main .game-record-bet{grid-column:1/-1}.game-record-time{grid-column:auto;align-self:center}.game-record-state-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:480px){.game-record-main{grid-template-columns:1fr}.game-record-main .game-record-result,.game-record-time{grid-column:auto}.game-record-time{text-align:left}.game-record-state-actions{justify-content:flex-start}.game-record-row>header{display:grid}}

/* User运营数据统一为PC表格，窄屏自动转换为卡片。 */
.user-data-table-wrap,.game-record-table-wrap{width:100%;overflow-x:auto;border:1px solid #29415f;border-radius:13px;background:#0a1729}.user-data-table,.game-record-table{width:100%;min-width:1120px;border-collapse:collapse}.user-data-table th,.game-record-table th{padding:12px 14px;color:#7890af;background:#13243d;font-size:0.75rem;text-align:left;white-space:nowrap}.user-data-table td,.game-record-table td{padding:13px 14px;border-top:1px solid #263e5b;color:#cbd9e9;font-size:0.75rem;vertical-align:middle}.user-data-table tbody tr:hover,.game-record-table tbody tr:hover{background:#0e1d31}.user-data-table td strong,.game-record-table td strong{color:#e8f0fb}.user-data-table td small,.game-record-table td small{display:block;margin-top:5px;color:#7288a7}.game-record-table{min-width:1780px}.game-record-table th:nth-last-child(-n+5),.game-record-table td:nth-last-child(-n+5){text-align:right}.game-record-key{min-width:240px}.game-record-key strong,.game-record-key small{display:block}.game-record-key strong{font-size:0.8125rem}.game-record-table-player{display:grid;min-width:210px;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center}.game-record-table-player>span{display:block;width:40px;height:40px;overflow:hidden;border-radius:11px}.game-record-table-player>span img{width:100%;height:100%;object-fit:cover}.game-record-table-time{color:#d5e2f2;font-size:0.8125rem;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}.game-record-table-bet{min-width:230px;line-height:1.7}.game-record-table-result{min-width:225px}.game-record-table-result small{white-space:nowrap}.game-record-number{font-size:0.8125rem!important;font-weight:800;white-space:nowrap}.game-record-number.gain{color:#71e4bf}.game-record-number.loss{color:#ff8f9d}.game-record-exception-actions{display:flex;gap:6px;white-space:nowrap}.game-record-exception-actions button{min-height:30px;padding:0 9px;border:1px solid #365473;border-radius:8px;color:#b8cbe0;background:#152840;font-size:0.75rem;font-weight:800}.game-record-exception-actions button.danger{border-color:#744052;color:#ff9aa8;background:#301924}.game-record-cards{display:none}
@media(max-width:780px){.game-record-table-wrap{display:none}.game-record-cards{display:grid;gap:10px}.user-data-table-wrap{overflow:visible;border:0;background:transparent}.user-data-table{display:block;min-width:0}.user-data-table thead{display:none}.user-data-table tbody{display:grid;gap:10px}.user-data-table tr{display:grid;overflow:visible;border:1px solid #29415f;border-radius:13px;background:#0a1729}.user-data-table td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border-top:1px solid #223852;text-align:right}.user-data-table td:first-child{border-top:0}.user-data-table td::before{flex:0 0 auto;color:#7187a5;font-size:0.75rem;content:attr(data-label);text-align:left}.user-data-table td[data-primary]{display:block;text-align:left}.user-data-table td[data-primary]::before{display:none}.user-data-table td[data-actions]{justify-content:flex-start;flex-wrap:wrap;text-align:left}.user-data-table td[data-actions]::before{width:100%}}
.data-number{color:#e7f0fc!important;font-size:0.8125rem!important;font-weight:800;white-space:nowrap}.data-number.gain{color:#71e4bf!important}.data-number.loss{color:#ff8f9d!important}.data-key-time{color:#d7e4f3;font-size:0.8125rem;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}.table-state{display:inline-flex;padding:6px 9px;border-radius:99px;color:#a8bad1;background:#25364d;font-size:0.75rem;font-weight:800}.table-state.success{color:#74e4c2;background:#12372f}.user-data-table button{min-height:32px;padding:0 10px;border:1px solid #365473;border-radius:8px;color:#b8cbe0;background:#152840;font-size:0.75rem;font-weight:800}.user-data-table button.danger{border-color:#744052;color:#ff9aa8;background:#301924}.player-data-table{min-width:1450px}.player-data-table th:last-child,.player-data-table td:last-child{min-width:540px}.player-data-table .player-state-switches:after{display:none}.player-data-table .player-agent-parent strong{max-width:170px}.player-data-table .player-actions{justify-content:flex-start}.coin-data-table{min-width:1280px}.robot-data-table,.red-packet-data-table{min-width:1280px}.reward-data-table{min-width:1200px}.reward-history-table{min-width:980px}.player-points-data-table{min-width:980px}.player-downline-data-table,.reward-detail-table,.claims-data-table,.domain-data-table,.blacklist-data-table{min-width:720px}.game-draw-table{min-width:1050px}.game-draw-table th,.game-draw-table td{text-align:left!important}.logs-data-table{min-width:980px}.management-list>.user-data-table-wrap,.reward-list>.user-data-table-wrap,.reward-history>.user-data-table-wrap,.domain-list>.user-data-table-wrap,.blacklist-list>.user-data-table-wrap,.record-list>.user-data-table-wrap{width:100%}.player-points-list>.user-data-table-wrap,.player-downline-list>.user-data-table-wrap{width:100%}
@media(max-width:780px){.data-key-time{font-size:0.75rem}.player-data-table .player-actions,.management-actions,.game-record-exception-actions{flex-wrap:wrap}.player-data-table td:last-child{min-width:0}.report-table-wrap{overflow:visible}.report-table{display:block!important;width:100%!important;min-width:0!important}.report-table thead{display:none!important}.report-table tbody{display:grid!important;gap:10px;width:100%!important}.report-table tr{display:grid!important;overflow:hidden;margin:0!important;border:1px solid #29415f!important;border-radius:13px!important;background:#0a1729!important}.report-table td,.report-table td:first-child{position:static!important;display:flex!important;width:auto!important;min-width:0!important;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px!important;border:0!important;border-top:1px solid #223852!important;background:transparent!important;text-align:right!important}.report-table td:first-child{display:block!important;border-top:0!important;text-align:left!important}.report-table td::before{display:block!important;content:attr(data-label);color:#7187a5;font-size:0.75rem}.report-table td:first-child::before{display:none!important}}
@media(max-width:780px){.user-data-table{width:100%;min-width:0!important}.user-data-table tbody,.user-data-table tr,.user-data-table td{width:100%;min-width:0;box-sizing:border-box}.user-data-table td>*{min-width:0}.user-data-table td small{max-width:68vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-data-table td[data-actions]>*{max-width:100%}}
/* 1440屏幕需扣除纵向滚动条占用；更窄的桌面窗口再使用整页横向滚动。 */
@media(min-width:781px){.app{min-width:1424px}}
@media(min-width:781px){
  .user-data-table th,.user-data-table td,.game-record-table th,.game-record-table td,.report-table th,.report-table td{text-align:left!important}
  .player-data-table{min-width:1200px;table-layout:fixed}.player-data-table th:nth-child(1){width:20%}.player-data-table th:nth-child(2){width:7%}.player-data-table th:nth-child(3){width:15%}.player-data-table th:nth-child(4){width:9%}.player-data-table th:nth-child(5){width:16%}.player-data-table th:nth-child(6){width:33%}.player-data-table th:last-child,.player-data-table td:last-child{min-width:0}.player-data-table .player-actions{gap:6px}.player-data-table .player-agent-parent strong{max-width:100%}
  .player-data-table :is(th,td):nth-child(2),.player-data-table :is(th,td):nth-child(3),.player-data-table :is(th,td):nth-child(5),.player-data-table :is(th,td):nth-child(6),
  .coin-data-table :is(th,td):nth-child(2),.coin-data-table :is(th,td):nth-child(3),.coin-data-table :is(th,td):nth-child(4),.coin-data-table :is(th,td):nth-child(5),.coin-data-table :is(th,td):nth-child(6),
  .blacklist-data-table :is(th,td):nth-child(3),.blacklist-data-table :is(th,td):nth-child(4),
  .robot-data-table :is(th,td):nth-child(1),.robot-data-table :is(th,td):nth-child(n+4),.red-packet-data-table :is(th,td):nth-child(n+2),
  .reward-data-table :is(th,td):nth-child(1),.reward-data-table :is(th,td):nth-child(n+4),.reward-history-table :is(th,td):nth-child(1),.reward-history-table :is(th,td):nth-child(n+4),.agent-history-table :is(th,td),
  .player-points-data-table :is(th,td):nth-child(2),.player-points-data-table :is(th,td):nth-child(3),.player-points-data-table :is(th,td):nth-child(4),.player-points-data-table :is(th,td):nth-child(5),.player-points-data-table :is(th,td):nth-child(7),
  .player-downline-data-table :is(th,td):nth-child(2),.reward-detail-table :is(th,td):nth-child(n+3),.agent-detail-table :is(th,td):nth-child(n+2),.claims-data-table :is(th,td):nth-child(n+2),
  .domain-data-table :is(th,td):nth-child(n+2),.game-draw-table :is(th,td):nth-child(n+2),
  .logs-data-table :is(th,td):nth-child(1),
  .game-record-table :is(th,td):nth-child(3),.game-record-table :is(th,td):nth-child(4),.game-record-table :is(th,td):nth-child(6),.game-record-table :is(th,td):nth-child(n+7),
  .report-table th,.report-table td{text-align:center!important}
  /* 不再根据单元格内部内容猜测对齐；需要居中的列由 th/td 共用 table-align-center。 */
  .user-data-table:not(.coin-data-table) td[data-actions]>div{justify-content:center}
  .player-data-table .player-state-switches{justify-content:center}
  .reward-data-table .reward-check{justify-items:center}
  .coin-data-table .record-actions{justify-content:flex-start}
}
.coin-data-table td:nth-child(2) .record-kind{margin-inline:auto}.coin-data-table td:first-child small{margin-top:7px;color:#8ea6c6;font-size:0.75rem;font-weight:600;line-height:1.35}
@media(min-width:781px){
  .workspace{padding-right:32px!important;padding-left:24px!important}.view{max-width:none!important}
  .live-draw-bar{right:32px;left:274px}
  #player-list,#coin-list,#blacklist-list,#game-record-list,#robot-list,#red-packet-list,#domain-list,#backwater-list,#backwater-history,#agent-reward-list,#agent-reward-history{padding-right:14px;padding-left:14px}
  .report-table-wrap{padding-right:14px;padding-left:14px}
  .user-data-table{min-width:1080px}.player-data-table,.coin-data-table{min-width:1100px}.coin-data-table{table-layout:fixed}.coin-data-table th:nth-child(1){width:18%}.coin-data-table th:nth-child(2){width:8%}.coin-data-table th:nth-child(3){width:10%}.coin-data-table th:nth-child(4){width:10%}.coin-data-table th:nth-child(5){width:16%}.coin-data-table th:nth-child(6){width:9%}.coin-data-table th:nth-child(7){width:29%}.coin-data-table td:last-child{overflow:hidden;text-overflow:ellipsis}
  .robot-data-table{min-width:1100px}.red-packet-data-table,.reward-data-table{min-width:1120px}
}
@media(min-width:781px){
  .user-data-table th,.game-record-table th,.report-table th{font-size:0.75rem}
  .user-data-table td,.game-record-table td,.report-table td{font-size:0.8125rem}
  .user-data-table td small,.game-record-table td small,.user-data-table td .player-identity span,.user-data-table td .management-identity small{font-size:0.75rem;line-height:1.4}
  .user-data-table td .table-state,.user-data-table td .record-state,.game-record-table td .game-record-state,.user-data-table td button,.game-record-table td button{font-size:0.75rem}
  .game-record-table:not(.game-draw-table) :is(th,td){padding-right:10px;padding-left:10px}.game-record-table:not(.game-draw-table) :is(.game-record-key,.game-record-table-player,.game-record-table-bet,.game-record-table-result){min-width:0}.game-record-key strong,.game-draw-table td:first-child strong,.game-record-table-player.text-only strong,.game-record-table-player.text-only small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-record-key small,.game-record-table-player.text-only small{margin-top:6px;color:#8ca5c6;font-size:0.75rem;font-weight:600}.game-record-table-bet{overflow-wrap:anywhere;white-space:normal}.game-record-table-result{overflow:hidden}.game-record-table:not(.game-draw-table) td:nth-child(9) .game-record-balls,.game-record-table .game-record-state-actions{justify-content:center}
  .game-draw-table td:nth-child(3) .game-record-balls{justify-content:center}
}
/* 玩家下注历史：固定信息列只占必要宽度，内容列吸收宽屏剩余空间。 */
@media(min-width:781px){
  .game-record-table:not(.game-draw-table){width:100%;min-width:1530px;table-layout:fixed}
  .game-record-table:not(.game-draw-table) :is(th,td):nth-child(1){width:200px}
  .game-record-table:not(.game-draw-table) :is(th,td):nth-child(2){width:230px;text-align:left!important}
  .game-record-table:not(.game-draw-table) :is(th,td):nth-child(3){width:auto;min-width:220px;text-align:left!important}
  .game-record-table:not(.game-draw-table) :is(th,td):nth-child(4){width:100px;text-align:center!important}
  .game-record-table:not(.game-draw-table) :is(th,td):nth-child(n+5):nth-child(-n+8){width:90px;text-align:center!important}
  .game-record-table:not(.game-draw-table) :is(th,td):nth-child(9){width:260px;text-align:center!important}
  .game-record-table:not(.game-draw-table) :is(th,td):nth-child(10){width:160px;text-align:center!important}
  .game-record-table .game-record-times{grid-column:auto;grid-template-columns:1fr;justify-items:center;gap:5px}
  .game-record-table-player.text-only{display:block;min-width:0}
  .game-record-table-player.text-only>div{min-width:0}
  .game-record-table-player.text-only strong,.game-record-table-player.text-only small{display:block;max-width:100%;overflow:hidden;text-overflow:clip;white-space:nowrap}
}
.robot-list-panel{width:100%}.robot-filter{display:grid;grid-template-columns:minmax(220px,1fr) 180px 240px 100px;gap:10px;padding:18px 27px;border-bottom:1px solid var(--line);background:#0b1729}.robot-filter input,.robot-filter select{min-width:0;height:42px;padding:0 13px;border:1px solid var(--line);border-radius:10px;color:#edf4ff;background:#091426;outline:none}.robot-filter input:focus,.robot-filter select:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.12)}.robot-filter .secondary{min-height:42px}.robot-bulk-actions{display:flex;grid-column:1/-1;align-items:center;justify-content:flex-end;gap:8px}.robot-bulk-actions span{margin-right:auto;color:#8298b7;font-size:0.75rem}.robot-bulk-actions button{min-height:36px;padding:0 12px;border:1px solid #315274;border-radius:9px;color:#b8cbe0;background:#10233a;font-size:0.75rem;font-weight:800}.robot-bulk-actions button.danger{border-color:#633448;color:#ff9dad;background:#2b1923}.robot-bulk-actions button:disabled{cursor:not-allowed;opacity:.45}.robot-dialog-card{position:static;width:min(900px,100%);max-height:calc(100vh - 48px);overflow-y:auto}.robot-dialog-card .management-form{padding:24px 25px 27px}.robot-dialog-card .dialog-head p{margin:7px 0 0;color:var(--muted);font-size:0.75rem}.robot-dialog-card .editor-head-actions{flex:0 0 auto}
.robot-dialog-card{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.robot-dialog-card .management-form{min-height:0;overflow-y:auto}
.robot-head-actions{display:flex;align-items:center;gap:9px}
.robot-create-actions{gap:9px!important}.robot-create-open,.robot-create-count{display:flex!important;align-items:center;gap:7px;margin:0!important;color:#94a9c4;font-size:0.75rem;font-weight:800}.robot-create-open input{position:absolute;opacity:0;pointer-events:none}.robot-create-open i{position:relative;width:38px;height:22px;border-radius:999px;background:#30425d}.robot-create-open i:after{position:absolute;content:"";top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#aebbd0;transition:.18s}.robot-create-open input:checked+i{background:#258570}.robot-create-open input:checked+i:after{left:19px;background:#79f1cf}.robot-create-count input{width:64px;height:38px;padding:0 8px;border:1px solid var(--control-border);border-radius:9px;color:var(--control-text);background:var(--control-bg);outline:0;text-align:center}.robot-create-actions .primary{min-width:96px}
.robot-open-switch{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;margin:0!important;color:#a9bad1;font-size:0.75rem;font-weight:800}.robot-open-switch input{position:absolute;opacity:0;pointer-events:none}.robot-open-switch i{position:relative;width:38px;height:22px;border-radius:999px;background:#30425d;transition:.18s}.robot-open-switch i:after{position:absolute;content:"";top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#aebbd0;transition:.18s}.robot-open-switch input:checked+i{background:#258570}.robot-open-switch input:checked+i:after{left:19px;background:#79f1cf}
.table-state.resting{color:#ffd17e;background:#3a3020}.table-check{width:17px;height:17px;accent-color:var(--primary)}
.robot-plan-field{gap:10px!important}.robot-plan-mode-switch{display:grid;width:min(360px,100%);grid-template-columns:1fr 1fr;gap:7px;padding:5px;border:1px solid #29425f;border-radius:12px;background:#091426}.robot-plan-mode-switch label{display:block;margin:0!important;cursor:pointer}.robot-plan-mode-switch input{position:absolute;opacity:0;pointer-events:none}.robot-plan-mode-switch span{display:grid;min-height:38px;place-items:center;border-radius:8px;color:#8fa4c0;font-size:0.75rem;font-weight:850;transition:.18s}.robot-plan-mode-switch input:checked+span{color:#08231d;background:linear-gradient(135deg,#72e3c2,#6ca9f4);box-shadow:0 7px 18px rgba(91,176,193,.2)}.robot-plan-mode-switch label:has(input:focus-visible){outline:2px solid #6aa8f2;outline-offset:2px;border-radius:8px}.robot-plan-panel,.robot-manual-plan{padding:14px;border:1px solid #29425f;border-radius:12px;background:#0b192c}.robot-plan-panel{display:grid;gap:11px}.robot-plan-input,.robot-random-range>label,.robot-manual-plan{margin:0!important}.robot-plan-input,.robot-random-range>label{display:grid!important;gap:7px;color:#8399b8;font-size:0.75rem;font-weight:750}.robot-plan-input select,.robot-random-range input{width:100%;height:42px;padding:0 12px;border:1px solid #2b4564;border-radius:9px;color:#e8f1ff;background:#091426;outline:0}.robot-plan-input select:focus,.robot-random-range input:focus,.robot-manual-plan textarea:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.12)}.robot-random-range{display:grid;grid-template-columns:1fr 1fr;gap:11px}.robot-manual-plan{display:grid!important;gap:8px;color:#8fa4c0;font-size:0.75rem;font-weight:800}.robot-manual-plan textarea{width:100%;min-height:126px;padding:11px 12px;resize:vertical;border:1px solid #2b4564;border-radius:9px;color:#dce9f8;background:#091426;outline:0;font:500 0.8125rem/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}.robot-manual-plan small{color:#7188a7;font-size:0.75rem;font-weight:500;line-height:1.6}.robot-plan-panel[hidden],.robot-plan-input[hidden],.robot-random-range[hidden],.robot-manual-plan[hidden]{display:none!important}
.robot-work-field{gap:9px!important}.robot-work-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.robot-work-head .field-label{margin:0}.robot-work-head .secondary{min-height:34px;padding:0 12px;font-size:0.75rem}.robot-work-periods{display:grid;gap:8px}.robot-work-period{display:grid;grid-template-columns:76px minmax(120px,1fr) auto minmax(120px,1fr) 34px;gap:9px;align-items:end;padding:10px;border:1px solid #273e5c;border-radius:10px;background:#0d1b2f}.robot-work-period>span{align-self:center;color:#dce7f6;font-size:0.75rem;font-weight:800}.robot-work-period>label{display:grid!important;gap:5px;margin:0!important}.robot-work-period small,.robot-work-field>small{color:#7188a7;font-size:0.75rem}.robot-work-period input{height:38px!important}.robot-work-period>i{align-self:center;color:#7188a7;font-size:0.75rem;font-style:normal}.robot-work-remove{width:34px;height:38px;border:1px solid #633448;border-radius:8px;color:#ff9dad;background:#2b1923;font-size:1.0625rem}.robot-work-remove:disabled{cursor:not-allowed;opacity:.35}
@media(max-width:780px){.robot-filter{grid-template-columns:1fr;padding:14px}.robot-filter .secondary{width:100%}.robot-bulk-actions{grid-column:auto;flex-wrap:wrap;justify-content:stretch}.robot-bulk-actions span{width:100%;margin:0}.robot-bulk-actions button{flex:1}.robot-dialog-card{max-height:calc(100vh - 24px)}.robot-dialog-card .management-form{padding:18px}.robot-dialog-card .form-grid{grid-template-columns:1fr}.robot-dialog-card .form-field.wide{grid-column:auto}}
@media(max-width:780px){.robot-head-actions{width:100%}.robot-head-actions>button{flex:1}}
@media(max-width:560px){.robot-work-period{grid-template-columns:1fr auto 1fr 34px}.robot-work-period>span{grid-column:1/-1}.robot-work-period>i{grid-column:2}.robot-work-period>label:first-of-type{grid-column:1}.robot-work-period>label:last-of-type{grid-column:3}.robot-work-remove{grid-column:4}}
@media(max-width:560px){.robot-random-range{grid-template-columns:1fr}}
@media(max-width:700px){.robot-dialog-card .dialog-head{align-items:flex-start;flex-direction:column}.robot-create-actions{width:100%;flex-wrap:wrap}.robot-create-actions .icon-button{margin-left:auto}}

/* 群聊禁言与侧栏统一运营身份。 */
.user-chat-panel-head{display:grid!important;gap:8px}.user-chat-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.user-chat-title-row>h2{flex:0 0 auto;margin:0}.user-chat-management{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}.user-chat-panel-head>p{margin:0!important}.user-chat-panel-head .user-chat-actions{width:100%}.user-chat-panel-head .user-chat-actions select{min-width:0;flex:1}.user-chat-panel-head .user-chat-actions .danger{flex:0 0 auto}.user-chat-management .user-chat-mute{height:34px;gap:6px;padding:0 8px;font-size:0.75rem}.user-chat-management .user-chat-mute i{width:30px;height:18px}.user-chat-management .user-chat-mute i:after{width:12px;height:12px}.user-chat-management .user-chat-mute input:checked+i:after{left:15px}.user-chat-management :is(.user-chat-forecast-picker,.user-chat-shield-picker)>.secondary{min-height:34px;padding:0 8px;font-size:0.75rem}
.user-chat-mute{display:flex!important;align-items:center;gap:8px;height:38px;margin:0!important;padding:0 11px;border:1px solid #315071;border-radius:9px;color:#dce8f8;background:#102039;font-size:0.75rem;cursor:pointer}.user-chat-mute[hidden]{display:none!important}.user-chat-mute input{position:absolute;opacity:0;pointer-events:none}.user-chat-mute i{position:relative;width:34px;height:19px;border-radius:20px;background:#30425d;transition:.18s}.user-chat-mute i:after{position:absolute;content:"";top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:#aebbd0;transition:.18s}.user-chat-mute input:checked+i{background:#2d8d76}.user-chat-mute input:checked+i:after{left:18px;background:#79f1cf}.user-chat-mute:has(input:disabled){opacity:.6;cursor:wait}
.user-chat-forecast-picker{position:relative}.user-chat-forecast-picker>.secondary{min-height:38px;padding:0 12px;white-space:nowrap}.user-chat-forecast-picker>.secondary[aria-expanded="true"]{border-color:#4b7d78;color:#7be7c7;background:#12302f}.user-chat-forecast-menu{position:absolute;z-index:80;top:calc(100% + 8px);right:auto;left:0;width:230px;padding:10px;border:1px solid #355676;border-radius:12px;background:#0b182b;box-shadow:0 18px 50px rgba(0,0,0,.48)}.user-chat-forecast-menu>div{display:grid;gap:6px}.user-chat-forecast-menu>div>label{display:flex;align-items:center;gap:9px;margin:0!important;padding:8px 9px;border-radius:8px;color:#d5e1f0;background:#101f34;cursor:pointer}.user-chat-forecast-menu strong{font-size:0.75rem}.user-chat-forecast-menu p{margin:8px;color:#8095b2;font-size:0.75rem;text-align:center}.user-chat-forecast-menu>.primary{position:static!important;display:flex!important;width:100%!important;min-width:0!important;min-height:36px;margin:9px 0 0!important}.user-chat-forecast-switch input{position:absolute;opacity:0;pointer-events:none}.user-chat-forecast-switch i{position:relative;display:block;width:34px;height:19px;border-radius:20px;background:#30425d;transition:.18s}.user-chat-forecast-switch i:after{position:absolute;content:"";top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:#aebbd0;transition:.18s}.user-chat-forecast-switch input:checked+i{background:#2d8d76}.user-chat-forecast-switch input:checked+i:after{left:18px;background:#79f1cf}
.user-chat-shield-picker{position:relative}.user-chat-shield-picker>.secondary{min-height:38px;padding:0 12px;white-space:nowrap}.user-chat-shield-picker>.secondary[aria-expanded="true"]{border-color:#4b7d78;color:#7be7c7;background:#12302f}.user-chat-shield-menu{position:absolute;z-index:80;top:calc(100% + 8px);right:auto;left:0;width:300px;padding:12px;border:1px solid #355676;border-radius:12px;background:#0b182b;box-shadow:0 18px 50px rgba(0,0,0,.48)}.user-chat-shield-menu>label{display:block;margin:0 0 8px!important;color:#8fa5c0;font-size:0.75rem}.user-chat-shield-menu textarea{display:block;width:100%;padding:10px 11px;resize:vertical;border:1px solid #2c4564;border-radius:9px;color:#e5edf8;background:#081426;outline:0;line-height:1.55}.user-chat-shield-menu textarea:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.1)}.user-chat-shield-menu>.primary{position:static!important;display:flex!important;width:100%!important;min-width:0!important;min-height:36px;margin:9px 0 0!important}
@media(min-width:781px){.realtime-drawer .realtime-grid>#realtime-chat-panel{position:relative;z-index:120;overflow:visible}.realtime-drawer #realtime-chat-panel>.realtime-chat.user-group-chat,.realtime-drawer #realtime-chat-panel .user-chat-panel-head{overflow:visible}.realtime-drawer :is(.user-chat-forecast-menu,.user-chat-shield-menu){z-index:1000}}
@media(min-width:781px){.realtime-drawer .realtime-grid>#realtime-chat-panel{z-index:auto;min-width:0;max-width:100%}.realtime-drawer #realtime-chat-panel>.realtime-chat.user-group-chat{width:100%;min-width:0;max-width:100%}.realtime-drawer #realtime-chat-panel .user-chat-title-row,.realtime-drawer #realtime-chat-panel .user-chat-management{min-width:0;max-width:100%}.realtime-drawer #realtime-chat-panel .user-chat-management{flex-wrap:wrap}.realtime-drawer :is(.user-chat-forecast-menu,.user-chat-shield-menu){z-index:1000}}
.user-chat-send{grid-template-columns:minmax(0,1fr)}.user-chat-send-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:10px}.user-chat-send-actions:has(.user-chat-red-packet[hidden]){grid-template-columns:1fr}.user-chat-send-actions>button{width:100%;min-width:0;min-height:44px}.user-chat-red-packet{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #7b3e4d;border-radius:10px;color:#ffd8c5;background:linear-gradient(135deg,#7b2538,#ba3e45);font-weight:800}.user-chat-red-packet:hover{border-color:#ff8893;background:linear-gradient(135deg,#8d2b3e,#cc4850)}.user-chat-red-packet>span{font-size:1.0625rem}.user-chat-red-packet>b{font-size:0.75rem}#user-chat-red-packet-records{white-space:nowrap}
.red-packet-dialog{z-index:300}.red-packet-dialog-card{width:min(1480px,calc(100vw - 48px));max-height:calc(100vh - 40px);overflow:auto}.red-packet-dialog-card>.dialog-head{position:sticky;z-index:8;top:0;background:#101d32}.red-packet-dialog-content{padding:18px}.red-packet-dialog-content .red-packet-layout>article:not([hidden]){grid-column:1/-1}.red-packet-dialog-content .management-editor{position:static}.red-packet-dialog-content .management-list-panel{min-width:0}#red-packet-claims-dialog{z-index:330}
.red-packet-real-head{display:flex!important;align-items:center;gap:10px;min-height:42px;margin:0!important;padding:0 11px;border:1px solid #315071;border-radius:10px;color:#a9bdd5;background:#0d1b2f;font-size:0.75rem;white-space:nowrap}.red-packet-real-head>.switch-control{gap:7px}.red-packet-turnover-settings{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:13px;padding:13px;border:1px solid #294663;border-radius:12px;background:#0c1a2e}.red-packet-turnover-settings>label{display:grid;gap:7px;margin:0!important}.red-packet-turnover-settings>.switch-field{min-height:70px}.red-packet-player-field>small{color:#7188a7;font-size:0.75rem;line-height:1.6}.red-packet-player-picker{display:grid;gap:10px;overflow:hidden;border:1px solid #294663;border-radius:12px;background:#091628}.red-packet-player-picker-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-bottom:1px solid #29415f;background:#102039}.red-packet-player-picker-head strong,.red-packet-player-picker-head span{display:block}.red-packet-player-picker-head strong{color:#edf4ff;font-size:0.8125rem}.red-packet-player-picker-head span{margin-top:4px;color:#758ca9;font-size:0.75rem}.red-packet-player-picker-head button{min-height:36px;padding:0 13px;border:1px solid #365473;border-radius:9px;color:#bed0e5;background:#152840;font-size:0.75rem;font-weight:800}.red-packet-player-picker-head button.primary{color:#08231d;background:linear-gradient(135deg,#71e3c1,#6aa7f4)}.red-packet-player-picker-actions{display:flex;gap:8px}.red-packet-player-picker-actions button:disabled{opacity:.45;cursor:not-allowed}.red-packet-player-picker>.user-data-table-wrap{margin:0 10px}.red-packet-player-table{min-width:760px}.red-packet-player-candidate-table{min-width:900px}.red-packet-player-coin{width:130px!important;height:38px!important}.red-packet-player-select-all{display:flex;align-items:center;gap:8px;width:max-content;margin:0 10px!important;padding:8px 10px;border:1px solid #294663;border-radius:9px;color:#b7cade;background:#101f34;font-size:0.75rem;cursor:pointer}.red-packet-player-select-all input{width:17px!important;height:17px!important;accent-color:#64dcbc}.red-packet-player-pages{padding:2px 10px 10px}.user-confirm-dialog.has-rich-summary .user-confirm-dialog-card{width:min(620px,calc(100vw - 32px));text-align:left}.user-confirm-dialog.has-rich-summary .user-confirm-icon,.user-confirm-dialog.has-rich-summary .eyebrow{display:none}.user-confirm-dialog.has-rich-summary .user-confirm-dialog-card h2{text-align:center}.user-confirm-dialog.has-rich-summary #user-confirm-message{white-space:normal}.red-packet-confirm-summary{display:grid;gap:12px}.red-packet-confirm-warning{padding:11px 13px;border:1px solid #874251;border-radius:10px;color:#ff9eaa;background:#341b25;font-size:0.8125rem;font-weight:900;text-align:center}.red-packet-confirm-title{padding:12px 13px;border:1px solid #294663;border-radius:10px;background:#0d1b2f}.red-packet-confirm-title strong,.red-packet-confirm-title span{display:block}.red-packet-confirm-title strong{color:#edf5ff;font-size:0.875rem}.red-packet-confirm-title span{margin-top:5px;color:#7e94b1;font-size:0.75rem}.red-packet-confirm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.red-packet-confirm-grid>div,.red-packet-confirm-condition{padding:10px 11px;border:1px solid #29405d;border-radius:9px;background:#0c192c}.red-packet-confirm-grid span,.red-packet-confirm-condition span{display:block;color:#7188a6;font-size:0.75rem}.red-packet-confirm-grid b,.red-packet-confirm-condition b{display:block;margin-top:5px;color:#dce8f7;font-size:0.75rem}.red-packet-confirm-grid .coin b{color:#71e4bf;font-size:1.125rem}.red-packet-confirm-grid .count b{color:#80b7ff}.red-packet-confirm-grid .real.is-real{border-color:#7b4050;background:#2d1922}.red-packet-confirm-grid .real.is-real b{color:#ff9eaa}.red-packet-confirm-condition{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center}.red-packet-confirm-condition b{margin:0;color:#75e4c2}.red-packet-confirm-condition small{color:#8096b2;font-size:0.75rem}
@media(max-width:780px){.red-packet-real-head{width:100%;justify-content:space-between}.red-packet-turnover-settings{grid-template-columns:1fr}.red-packet-player-picker-head{align-items:flex-start;flex-direction:column}.red-packet-player-picker-actions{width:100%}.red-packet-player-picker-actions button{flex:1}.red-packet-confirm-grid{grid-template-columns:1fr 1fr}.red-packet-confirm-condition{grid-template-columns:1fr;gap:5px}.red-packet-confirm-condition b{margin-top:0}}
@media(max-width:780px){.red-packet-dialog-card{width:100%;max-height:calc(100vh - 24px)}.red-packet-dialog-content{padding:10px}.user-chat-send-actions{gap:8px}.user-chat-send-actions>button{min-height:42px}#user-chat-red-packet-records{flex:1 1 auto}}
.side-user{grid-template-columns:38px minmax(0,1fr) 30px}.side-profile-button{display:grid;width:30px;height:30px;place-items:center;border:1px solid #2b4565;border-radius:8px;color:#8fa8c7;background:#101f35;font-size:0.8125rem}.side-profile-button:hover{border-color:#4a7796;color:#79e6c5;background:#12302f}.side-account-actions{grid-column:1/-1}.side-user-copy strong{color:#eef4ff;font-size:0.75rem}.side-user-copy span{margin-top:4px;color:#7f95b2;font-size:0.75rem}
.profile-dialog{z-index:350}.profile-dialog-card{width:min(560px,100%);overflow:hidden}.profile-dialog-form{display:grid;gap:17px;padding:24px 27px 27px}.profile-avatar-field{gap:8px}.profile-avatar-field .image-upload{grid-template-columns:112px minmax(0,1fr)}.profile-avatar-field .media-picker-stage,.profile-avatar-field .image-upload-preview{width:112px}.profile-avatar-field .image-upload-preview{aspect-ratio:1}.profile-avatar-field .image-upload-preview img{object-fit:cover!important}.profile-dialog-actions{display:grid;grid-template-columns:1fr}.profile-dialog-actions button{min-height:44px}
@media(max-width:780px){.user-chat-title-row{align-items:flex-start;flex-wrap:wrap}.user-chat-management{justify-content:flex-start;flex-wrap:wrap}.user-chat-actions{flex-wrap:wrap}.user-chat-mute{flex:0 0 auto}.user-chat-forecast-menu,.user-chat-shield-menu{right:auto;left:0}.profile-dialog-form{padding:20px}.profile-avatar-field .image-upload{grid-template-columns:1fr}}

/* 房间列表按完整控件宽度排列；窄屏按名称、开关和操作分行。 */
#room-list .room-row>.mini-switch>i{
  flex-shrink:0;
  overflow:hidden;
}
@media(min-width:701px){
  .room-row{grid-template-columns:40px minmax(220px,1fr) max-content max-content minmax(220px,.55fr) 104px;column-gap:16px;align-items:center}
  .room-row>.room-drag-handle{align-self:center;height:48px;min-height:48px}
  .room-row>.mini-switch{min-height:38px;flex-direction:row;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
  .room-row>.room-number{display:flex!important;min-width:0;align-items:center;gap:10px;text-align:left}
  .room-row>.room-number span{flex:0 0 auto;margin:0;white-space:nowrap}
  .room-row>.room-number input{min-width:0;flex:1}
  .room-row>.room-settings-button{align-self:center}
}
#room-list .room-row>.mini-switch{min-width:max-content;flex-direction:row;justify-content:flex-start;gap:8px;white-space:nowrap}
@media(max-width:900px){
  .room-row{grid-template-columns:31px minmax(0,1fr) minmax(0,1fr);grid-template-areas:"drag main main" "drag open business" "drag online settings";gap:12px 16px}
  .room-row>.room-drag-handle{grid-area:drag}
  .room-row>.room-main{grid-area:main}
  .room-row>.mini-switch:first-of-type{grid-area:open}
  .room-row>.business-switch{grid-area:business}
  .room-row>.room-number{grid-area:online}
  .room-row>.room-settings-button{grid-area:settings}
}

/* 主页面表格在数据较少时也撑满可用屏幕高度，弹窗和手机卡片不受影响。 */
@media(min-width:781px){
  .view>.panel :is(.user-data-table-wrap,.game-record-table-wrap,.report-table-wrap){
    min-height:420px;
    min-height:max(420px,calc(100dvh - 430px));
  }
}

/* 基础设置每项独占一行，避免无关配置并排堆叠。 */
#base-setting-form>.form-grid{grid-template-columns:1fr}

/* 上下分设置按联动关系分组，限制方式与对应阈值保持在同一区块。 */
#down-limit-operation-form>.form-grid{gap:16px}
.form-field-group{grid-column:1/-1;overflow:hidden;border:1px solid #29415f;border-radius:14px;background:#0b182b}
.form-field-group>header{padding:15px 18px;border-bottom:1px solid #29415f;background:#102039}
.form-field-group>header strong,.form-field-group>header small{display:block}
.form-field-group>header strong{color:#eaf2ff;font-size:.875rem}
.form-field-group>header small{margin-top:5px;color:#7f94af;font-size:.75rem;line-height:1.5}
.form-field-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}
@media(max-width:780px){.form-field-group-grid{grid-template-columns:1fr;padding:13px}.form-field-group-grid>.form-field.wide{grid-column:auto}}

.form-field-group[data-field-group="rules"] .form-field-group-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.game-exception-dialog-card{padding:24px}
.game-exception-number-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:9px}
.game-exception-dialog-card .game-exception-number-grid input{min-width:0;text-align:center}
@media(max-width:980px){.form-field-group[data-field-group="rules"] .form-field-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.form-field-group[data-field-group="rules"] .form-field-group-grid{grid-template-columns:1fr}.game-exception-dialog-card{padding:18px}}

/* 桌面端把页面主标题收进首张业务卡片；移动端保留带侧栏入口的粘性顶栏。 */
@media(min-width:781px){.workspace>.topbar{display:none}}
#overview-view>.operation-overview{margin-top:0}
#overview-view>.overview-account-stats{margin:16px 0 0}
@media(max-width:780px){
  #overview-view>.operation-overview>.panel-head h2,
  #players-view>.player-panel>.panel-head h2,
  #blacklist-view>.blacklist-panel>.panel-head h2,
  #coins-view>.module-panel>.panel-head h2,
  #reports-view>.report-panel>.panel-head h2,
  #games-view>.game-record-panel>.panel-head h2,
  #robots-view>.robot-list-panel>.panel-head h2,
  #base-view>.module-panel>.panel-head h2,
  #rooms-view>#room-list-panel>.panel-head h2,
  #content-view>.module-panel>.panel-head h2,
  #content-view>.module-panel>.content-sticky-head>.panel-head h2,
  #domains-view>.panel>.panel-head h2,
  #application-view .app-build-editor>.panel-head h2,
  #logs-view>.panel>.panel-head h2{display:none}
  #down_limit-view>.module-panel:first-child>.panel-head,
  #benefit-view>.module-panel>.panel-head{display:none}
}

/* 页面标题统一为白色主标题在上、绿色副标题在下。 */
.topbar h1{margin:0;font-size:1.8125rem}.topbar .eyebrow{margin-top:7px}

.panel-head>div>p:first-child{margin-top:0}.panel-head.action-only{justify-content:flex-end}

/* 代理下线弹窗沿用玩家管理的搜索布局，操作按钮保持常规宽度。 */
.player-downline-card{grid-template-rows:auto auto minmax(0,1fr) auto}
.detail-card .player-downline-add{width:auto!important;min-width:96px;flex:0 0 auto}
.player-downline-search.player-search{width:100%;max-width:none;grid-template-columns:minmax(230px,1.5fr) minmax(190px,1.15fr) repeat(3,110px) auto;padding:12px;border:1px solid #29415f;border-radius:12px;background:#0b192c}
.player-downline-table-check-all{display:inline-flex;align-items:center;gap:8px;color:#9bb0cb;font-size:0.75rem;font-weight:800;white-space:nowrap;cursor:pointer}
.player-downline-table-check-all input{width:18px;height:18px;margin:0;accent-color:#61d9b8;cursor:pointer}
.red-packet-turnover-settings[hidden]{display:none!important}
.red-packet-real-head{min-width:210px;min-height:56px;padding-inline:15px;gap:16px;border-radius:12px}
.red-packet-real-copy{display:grid;gap:4px}.red-packet-real-copy strong{color:#dce8f7;font-size:0.75rem}.red-packet-real-copy small{color:#8ca1bc;font-size:0.75rem;line-height:1.35;white-space:nowrap}
.player-downline-candidate-table :is(th,td):first-child{width:64px;min-width:64px;padding-inline:0!important;text-align:center!important;vertical-align:middle}
.player-downline-table-check-all{width:100%;justify-content:center}
.player-downline-candidate-table td:first-child input{display:block;margin-inline:auto}
:is(.robot-data-table,.reward-data-table,.red-packet-player-candidate-table,.player-downline-candidate-table) :is(th,td):first-child{width:64px;min-width:64px;padding-inline:0!important;text-align:center!important;vertical-align:middle!important}
:is(.robot-data-table,.reward-data-table,.red-packet-player-candidate-table,.player-downline-candidate-table) :is(th,td):first-child :is(input[type="checkbox"],label){margin-inline:auto;justify-self:center}
.reward-data-table td:first-child .reward-check{width:100%;place-items:center}
.player-downline-data-table th:last-child,.player-downline-data-table td:last-child{width:120px;min-width:120px!important;text-align:center!important}
.player-downline-data-table td:last-child .player-actions{justify-content:center}
.player-downline-data-table{min-width:900px;table-layout:fixed}
.player-downline-data-table th:nth-child(1){width:30%}
.player-downline-data-table th:nth-child(2){width:14%}
.player-downline-data-table th:nth-child(3){width:28%}
.player-downline-data-table th:nth-child(4){width:16%;text-align:center!important}
.player-downline-data-table td:nth-child(4){text-align:center!important}
.player-downline-data-table td:nth-child(4) .table-state{width:max-content;min-width:0;margin-inline:auto;padding-inline:14px}
.red-packet-turnover-settings{display:block!important;padding:14px 16px}
.red-packet-turnover-row{display:flex;align-items:center;gap:20px;width:100%}
.red-packet-turnover-choice{display:inline-flex!important;align-items:center;gap:8px;margin:0!important;color:#c8d6e8;font-size:0.75rem;font-weight:800;white-space:nowrap;cursor:pointer}
.red-packet-turnover-choice input{width:18px!important;height:18px!important;margin:0;accent-color:#61d9b8;cursor:pointer}
.red-packet-turnover-row>#red-packet-turnover{flex:1 1 260px;width:auto;min-width:180px}
.player-downline-candidate-table{min-width:1080px;table-layout:fixed}
.player-downline-candidate-table :is(th,td):nth-child(1){width:64px}
.player-downline-candidate-table :is(th,td):nth-child(2){width:34%;text-align:left!important}
.player-downline-candidate-table :is(th,td):nth-child(3){width:13%;text-align:center!important}
.player-downline-candidate-table :is(th,td):nth-child(4){width:23%;text-align:center!important}
.player-downline-candidate-table :is(th,td):nth-child(5){width:18%;text-align:center!important}
.player-downline-candidate-table :is(th,td):nth-child(6){width:12%;text-align:center!important}
.player-downline-candidate-table td:nth-child(5) .player-agent-parent strong{text-align:center}
.player-downline-candidate-table td:nth-child(6) .table-state{width:max-content;min-width:0;margin-inline:auto;padding-inline:14px}
.red-packet-player-table{min-width:900px;table-layout:fixed}
.red-packet-player-table :is(th,td):nth-child(1){width:40%;text-align:left!important}
.red-packet-player-table :is(th,td):nth-child(2){width:15%;text-align:center!important}
.red-packet-player-table :is(th,td):nth-child(3){width:22%;text-align:center!important}
.red-packet-player-table :is(th,td):nth-child(4){width:12%;text-align:center!important}
.red-packet-player-table :is(th,td):nth-child(5){width:11%;text-align:center!important}
.red-packet-player-table .red-packet-player-coin{display:block;margin-inline:auto}
.red-packet-player-table td:nth-child(4) .table-state{width:max-content;min-width:0;margin-inline:auto;padding-inline:14px}
@media(max-width:780px){
  .player-downline-search.player-search{grid-template-columns:1fr 1fr}
  .player-downline-search.player-search>input{grid-column:1/-1}
  .player-downline-search.player-search>.secondary{grid-column:1/-1}
  .red-packet-turnover-row{align-items:stretch;flex-wrap:wrap;gap:12px 18px}
  .red-packet-turnover-row>#red-packet-turnover{flex-basis:100%;width:100%}
}

/* 实时业务四列中收窄群聊、扩大客服；群聊内容不得参与网格列宽计算。 */
@media(min-width:781px){
  .realtime-grid{grid-template-columns:minmax(360px,.8fr) minmax(470px,1.45fr) minmax(310px,1fr) minmax(240px,.72fr);overflow-x:auto;overflow-y:hidden;scrollbar-color:#45617e #07101f;scrollbar-width:thin}
  .realtime-grid::-webkit-scrollbar{height:9px}
  .realtime-grid::-webkit-scrollbar-track{background:#07101f}
  .realtime-grid::-webkit-scrollbar-thumb{border:2px solid #07101f;border-radius:999px;background:#45617e}
  .realtime-drawer .realtime-grid>#realtime-chat-panel{width:auto;min-width:360px;max-width:none;contain:none}
  .realtime-drawer .realtime-grid>#realtime-service-panel{min-width:470px}
  .realtime-drawer .realtime-grid>#realtime-bet-panel{min-width:310px}
  .realtime-drawer .realtime-grid>#realtime-coin-panel{min-width:240px}
  .realtime-drawer #realtime-chat-panel>.realtime-chat.user-group-chat{inline-size:auto;width:100%!important;min-width:0;max-width:none;contain:none}
  .realtime-drawer #realtime-chat-panel :is(.user-chat-panel-head,.user-chat-title-row,.user-chat-management,.user-chat-actions,.user-chat-messages,.user-chat-send,.user-chat-send-actions){width:100%;min-width:0;max-width:none}
  .realtime-drawer #realtime-chat-panel .user-chat-title-row,.realtime-drawer #realtime-chat-panel .user-chat-management,.realtime-drawer #realtime-chat-panel .user-chat-actions{flex-wrap:nowrap}
  .realtime-drawer #realtime-chat-panel .user-chat-actions select{flex:1 1 auto;width:auto;min-width:180px}
  .realtime-drawer #realtime-chat-panel .user-chat-actions button{flex:0 0 auto;min-width:0;padding-inline:9px;font-size:0.75rem}
}
@media(min-width:1440px){.realtime-grid{overflow-x:hidden}}

/* 回水子功能已拆到左侧菜单，不再为页面内切换条预留吸顶空间。 */
.backwater-editor{--backwater-tabs-stack:0px}
.backwater-schedule-head.sticky-editor-head{top:var(--user-editor-sticky-top)}

/* 下注、结算上下两行，结算时间只作轻微色差区分。 */
.game-record-times time.settled{opacity:.86}
.game-record-row>.game-record-times{grid-template-columns:1fr;justify-items:start;padding:12px 18px;gap:6px}
.game-record-row>.game-record-times>span{display:flex;align-items:baseline;gap:8px}
.game-record-row>.game-record-times small{margin:0}

/* 开奖记录按游戏期次展示，整期操作沿用现有管理按钮和状态标签配色。 */
.draw-filter{grid-template-columns:minmax(220px,1.6fr) minmax(160px,1fr) minmax(160px,1fr) auto}
.game-draw-filter-note{grid-column:1/-1;margin:0;color:#7289a8;font-size:0.75rem;line-height:1.6}
/* 各列按内容保留宽度，空间不足由表格容器横向滚动。 */
.game-draw-table-wrap{min-width:0;max-width:100%}
.game-draw-table{width:100%;min-width:1120px;table-layout:auto}
.game-draw-period-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
.game-draw-period-actions button{min-height:32px;padding:0 10px;border:1px solid #365473;border-radius:8px;color:#b8cbe0;background:#152840;font-size:0.75rem;font-weight:800}
.game-draw-period-actions button.danger{border-color:#744052;color:#ff9aa8;background:#301924}
.game-draw-row>div:nth-child(2){display:grid;gap:9px;justify-items:start}
.game-draw-totals{display:grid;min-width:0;gap:4px;text-align:left}
.game-draw-total-line{display:grid;min-width:0;gap:4px;padding:5px 6px;border-radius:6px;background:rgba(17,36,58,.62)}
.game-draw-total-line.aggregate{border:1px solid #36597a;background:rgba(30,52,80,.82)}
.game-draw-total-line>small{display:block;min-width:0;overflow:hidden;color:#7892b2;font-size:.6875rem;font-weight:700;text-overflow:clip;white-space:nowrap}
.game-draw-total-line>em{display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;font-style:normal}
.game-draw-total-line>em>span{display:grid;min-width:0;gap:1px}
.game-draw-total-line i{display:block;color:#617a9a;font-size:.625rem;font-style:normal;line-height:1.2}
.game-draw-total-line strong{display:block;min-width:0;max-width:100%;overflow:hidden;color:#e7effa;font-size:.75rem;font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap}
.game-draw-total-line strong.gain{color:#72e4c1}.game-draw-total-line strong.loss{color:#ff919f}
.game-draw-row>p small{display:block;margin-top:7px;color:#6f86a5;font-size:0.75rem}
.game-draw-table tbody tr{background:transparent}
.game-draw-row:is(.state-0,.state-1,.state-2,.state-3){border-color:#29415f;background:#0a1729}
.game-record-state.state-0{color:#ffd17e;background:#3a3020}
.game-record-state.state-2{color:#aebfd5;background:#2c3a4d}
.game-record-state.state-3{color:#ffc47b;background:#4a2d19}
@media(min-width:781px){
  .game-draw-table :is(th,td){padding-right:8px;padding-left:8px}
  .game-draw-table .game-draw-total-line{min-width:max-content}
  .game-draw-table .game-draw-total-line>em{grid-template-columns:repeat(3,minmax(max-content,1fr))}
  .game-draw-table :is(th,td):nth-child(1){width:96px}
  .game-draw-table :is(th,td):nth-child(2){width:124px}
  .game-draw-table :is(th,td):nth-child(3){width:80px}
  .game-draw-table :is(th,td):nth-child(4),.game-draw-table :is(th,td):nth-child(6){width:auto}
  .game-draw-table :is(th,td):nth-child(5){width:108px}
  .game-draw-table :is(th,td):nth-child(7){width:80px}
  .game-draw-table :is(th,td):nth-child(8){width:140px}
  .game-draw-table :is(th,td):nth-child(9){width:112px}
  .game-draw-table td:nth-child(4) .game-record-balls{justify-content:center;flex-wrap:nowrap;gap:4px}
  .game-draw-table td:nth-child(4) .game-record-balls.game-draw-balls-10{flex-wrap:wrap}
  .game-draw-period-actions{justify-content:center;flex-wrap:wrap;white-space:normal}
}

/* 开奖业务弹层高于实时业务和实时开奖条，确认层、图片查看器与轻提示仍可覆盖它。 */
.game-exception-dialog{z-index:340}

/* “假人”是独立业务标记，选中态使用蓝色并与封禁红色明确区分。 */
.player-row-slide.liar input:checked+i{background:#5f94e8}
.player-row-slide.liar input:checked+i:after{background:#edf4ff}
.player-row-slide.liar:has(input:checked){border-color:#456f9f;color:#9bc7ff;background:#10233a}

@media(max-width:1050px){.draw-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.draw-filter>.secondary{grid-column:auto}}
@media(max-width:780px){.draw-filter{grid-template-columns:1fr 1fr}.draw-filter>.secondary{grid-column:1/-1}.game-draw-period-actions{flex-wrap:wrap}.game-draw-totals{min-width:0;width:100%}.game-draw-total-line{gap:5px}.game-draw-total-line>em{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.draw-filter{grid-template-columns:1fr}.draw-filter>.secondary{grid-column:auto}}

/* 客服与公共群聊图片沿用原消息布局，只限制媒体尺寸并补齐发送按钮排列。 */
.service-send-actions{display:grid;min-width:126px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.service-send-actions>button{width:100%;min-width:0;padding-inline:9px}
.service-message>div:has(>.service-message-image){padding:6px;white-space:normal}
.service-message-image,.user-chat-message-image{display:block;width:auto;max-width:min(100%,320px);max-height:320px;object-fit:contain;border-radius:10px}
.service-message-image{background:#091426}
.service-message{grid-template-columns:2.25rem minmax(0,1fr);max-width:82%;column-gap:0.625rem;align-items:end}
.service-message.mine{grid-template-columns:minmax(0,1fr) 2.25rem}
.service-message-avatar{display:grid;width:2.25rem;height:2.25rem;grid-column:1;grid-row:1;place-items:center;align-self:end;overflow:hidden;border-radius:0.6875rem;background:#13263e}
.service-message-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.service-message>section{display:grid;min-width:0;grid-column:2;grid-row:1;gap:0.3125rem;justify-items:start}
.service-message.mine>.service-message-avatar{grid-column:2}
.service-message.mine>section{grid-column:1;justify-items:end}
.service-message-bubble{max-width:100%;padding:0.625rem 0.8125rem;border:1px solid #29435f;border-radius:0.25rem 0.875rem 0.875rem;color:#cbd9ea;background:#13263e;font-size:0.75rem;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}
.service-message.mine .service-message-bubble{border-color:#286857;border-radius:0.875rem 0.25rem 0.875rem 0.875rem;color:#d9fff3;background:#17473d}
.service-message.revoked .service-message-bubble{color:#7389a7;font-style:italic}
.service-message-bubble:has(>.service-message-image){padding:0.375rem;white-space:normal}
.service-contact em{overflow:visible;white-space:normal}
.service-contact em>span,.service-contact em>time{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.service-contact em>time{margin-top:0.1875rem;color:#4f6685;font:inherit}
.user-chat-message-image{border:1px solid #29435f;background:#0a1527}
.user-chat-message.mine .user-chat-message-image{justify-self:end;border-color:#286857}
.user-chat-send-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.user-chat-send-actions:has(.user-chat-red-packet[hidden]){grid-template-columns:repeat(2,minmax(0,1fr))}
.user-chat-image-button{border-color:#315071;color:#c5d7ea;background:#14243b;font-weight:800}
.realtime-drawer .service-send{grid-template-columns:minmax(0,1fr) 126px}
@media(max-width:480px){.service-send-actions{width:100%}.service-message-image,.user-chat-message-image{max-height:260px}}

/* Reward history detail renders one full-width table inside the legacy grid. */
.reward-detail-list>.user-data-table-wrap{grid-column:1/-1}

/* 回水历史房间范围完整换行展示，玩家明细在独立弹窗内滚动。 */
.backwater-room-scope-full{min-width:0;line-height:1.65;white-space:normal!important;overflow-wrap:anywhere}
.backwater-history-dialog-card{display:grid;width:min(1180px,calc(100vw - 48px));max-height:calc(100vh - 48px);grid-template-rows:auto minmax(0,1fr);overflow:hidden}
.backwater-history-dialog-body{min-height:160px;overflow:auto;padding:16px}
.backwater-history-dialog-body .reward-detail-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}
@media(max-width:780px){.backwater-history-dialog-card{width:100%;max-height:calc(100vh - 24px)}.backwater-history-dialog-body{padding:10px}.backwater-room-scope-full{min-width:0}}

/* 计算表表头的全选框与本页行选择状态保持一致。 */
.backwater-check-all{width:100%;place-items:center}
.reward-check input:indeterminate+i{border-color:#65dbba;background:#1c826b}
.reward-check input:indeterminate+i:after{content:"−";color:#fff;font-size:0.75rem}

/* 全局轻提示始终高于业务弹窗、确认层和图片查看器。 */
.toasts{z-index:2147483647}

/* 验证码只在图片完整解码后显示，刷新与失败期间使用稳定占位。 */
.captcha .captcha-status{position:absolute;inset:0;display:grid;place-items:center;padding:0 7px;color:#91a9c9;background:#10213a;font-size:0.8125rem;font-weight:700;line-height:1.25;text-align:center}

/* 玩家主表在桌面宽度内固定分栏，长身份字段自行循环展示。 */
.player-data-table-wrap{overflow-x:auto}
.player-data-table{width:100%;min-width:0;table-layout:fixed}
.player-data-table:not(.pending-player-data-table) :is(th,td):nth-child(1),
.player-data-table:not(.pending-player-data-table) :is(th,td):nth-child(3),
.player-data-table:not(.pending-player-data-table) :is(th,td):nth-child(4){width:auto;min-width:0}
.player-data-table:not(.pending-player-data-table) :is(th,td):nth-child(2){width:100px;min-width:0}
.player-data-table:not(.pending-player-data-table) :is(th,td):nth-child(5){width:200px;min-width:0}
.player-data-table:not(.pending-player-data-table) :is(th,td):nth-child(6){width:410px;min-width:0}
.player-data-table .player-identity>div,
.player-data-table .player-agent-parent,
.player-data-table .player-login{min-width:0;max-width:100%;overflow:hidden}
.player-data-table .player-login{display:block}
.player-data-table .player-identity :is(strong,span),
.player-data-table .player-agent-parent strong,
.player-data-table .player-login :is(strong,small){width:auto;max-width:100%;overflow:hidden;text-overflow:clip;white-space:nowrap}
.player-data-table:not(.pending-player-data-table) .player-actions>:is(button,label,.player-more){flex:0 0 auto;white-space:nowrap}
.user-data-table td>[data-overflow-copy],.user-data-table td[data-primary]>strong{display:block;min-width:0;max-width:100%}
@media(max-width:780px){
  .player-data-table{min-width:0}
  .player-data-table :is(th,td):nth-child(n){width:100%;min-width:0}
  .player-data-table .player-identity>div{max-width:calc(100vw - 104px)}
  .player-data-table .player-agent-parent,
  .player-data-table .player-login{flex:1 1 auto;max-width:calc(100vw - 132px);text-align:left}
}

/* 待审核只有四项信息：按实际内容分配列宽，表头与内容使用同一对齐方式。 */
@media(min-width:781px){
  .pending-player-data-table{width:100%;min-width:0;table-layout:fixed}
  .pending-player-data-table :is(th,td):nth-child(1){width:32%;min-width:0;text-align:left!important}
  .pending-player-data-table :is(th,td):nth-child(2){width:24%;min-width:0;text-align:left!important}
  .pending-player-data-table :is(th,td):nth-child(3){width:18%;min-width:0;text-align:left!important}
  .pending-player-data-table :is(th,td):nth-child(4){width:26%;min-width:0;text-align:center!important}
  .pending-player-data-table td:nth-child(4) .player-actions{justify-content:center}
}

/* 红包领取明细仅四列：领取者吸收剩余宽度，长身份在单元格内循环展示。 */
.claims-data-table{width:100%;min-width:0;table-layout:fixed}
.claims-data-table .management-identity>div{min-width:0}
.claims-data-table .management-identity :is(strong,small){display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:clip;white-space:nowrap}
@media(min-width:781px){
  .claims-data-table :is(th,td):nth-child(1){width:auto;min-width:0}
  .claims-data-table :is(th,td):nth-child(2){width:100px;min-width:0}
  .claims-data-table :is(th,td):nth-child(3){width:140px;min-width:0}
  .claims-data-table :is(th,td):nth-child(4){width:170px;min-width:0}
}

/* 表格列用语义类声明对齐，表头与内容共享同一契约，避免动态列位置变化后 nth-child 失配。 */
@media(min-width:781px){
  :is(th,td).table-align-center{text-align:center!important}
  :is(th,td).table-align-end{text-align:right!important}
  td.table-align-center[data-actions]>div{justify-content:center}
}

/* 聊天头像与同一条消息的顶部信息对齐；运营消息固定在一个网格行内。 */
.service-message{align-items:start}
.service-message-avatar{align-self:start}
.user-chat-messages>.user-chat-message{flex:0 0 auto}
.user-chat-message{align-items:start}
.user-chat-message.mine>span{grid-row:1;grid-column:2;align-self:start}
.user-chat-message.mine>div{grid-row:1;grid-column:1;align-self:start}
.realtime-drawer .realtime-chat .user-chat-message,.realtime-drawer .realtime-chat .user-chat-message.mine{width:100%;min-height:42px;padding-inline:2px;box-sizing:border-box}
button.is-busy{position:relative;color:transparent!important;pointer-events:none}
button.is-busy>*{visibility:hidden!important}
button.is-busy:after{position:absolute;top:50%;left:50%;width:1em;height:1em;border:2px solid currentColor;border-color:#dcecff #dcecff transparent transparent;border-radius:50%;content:"";animation:shared-button-spin .7s linear infinite;transform:translate(-50%,-50%)}
@keyframes shared-button-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.user-chat-message.operator>span{border:2px solid #5f9ddd;box-shadow:0 0 0 2px rgba(95,157,221,.14)}
.user-chat-message:not(.operator)>div>p{border-color:#2d6f5d;color:#dcfff5;background:#17473d}
.user-chat-message.operator>div>p{border-color:#47759e;color:#d9ecff;background:#1b3855}
.user-chat-message.operator header strong{display:inline-flex;min-width:0;align-items:center;gap:5px}
.user-chat-message.operator header strong:after{display:inline-flex;height:18px;flex:0 0 auto;align-items:center;padding:0 6px;border-radius:999px;color:#b9ddff;background:#244c72;content:"管理员";font-size:0.75rem;font-weight:800;line-height:1}
/* 游戏房间正文沿用群聊气泡，仅 @昵称 使用提示色。 */
.user-chat-message .room-chat-text .room-chat-mention{display:inline;color:#7de7c8;font-weight:900;letter-spacing:0}

/* 页面级标题与操作按钮滚动时固定在工作区顶部。 */
.view>.panel>.panel-head{position:sticky;z-index:34;top:0;background:#101d32}
#base-view>.module-panel,
#down_limit-view>.module-panel,
#content-view>.module-panel,
#benefit-view>.module-panel,
#robots-view>.robot-list-panel{overflow:visible}
.content-sticky-head{position:sticky;z-index:34;top:var(--user-editor-sticky-top);background:#101d32;box-shadow:0 10px 28px rgba(0,0,0,.24);backdrop-filter:blur(16px)}
.content-sticky-head>.panel-head,.content-sticky-head>.module-tabs{background:transparent}

/* 客服模块保持可读的最小宽度；联系人摘要固定单行，避免长压测数据覆盖相邻条目。 */
.realtime-drawer .service-search,.realtime-drawer .service-search input{width:100%;min-width:0}
.realtime-drawer .service-contact-list{grid-auto-rows:minmax(78px,auto)}
.realtime-drawer .service-contact>div{min-width:0;overflow:hidden}
.realtime-drawer .service-contact :is(strong,small,em,em>span,em>time){display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:clip;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.realtime-drawer .service-contact>div>em{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
.realtime-drawer .service-contact em>time{margin-top:0}
.realtime-drawer .service-chat-head,.realtime-drawer .service-chat-head>div{min-width:0}
.realtime-drawer .service-chat-head>div{max-width:100%}
.realtime-drawer .service-chat-head :is(strong,span){overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
@media(min-width:781px){
  .realtime-grid{grid-template-columns:minmax(360px,.8fr) minmax(680px,1.45fr) minmax(310px,1fr) minmax(240px,.72fr);overflow-x:auto}
  .realtime-drawer .realtime-grid>#realtime-service-panel{min-width:680px;grid-template-columns:minmax(300px,.44fr) minmax(360px,.56fr)}
  .realtime-drawer .service-title{min-width:0}
  .realtime-drawer .service-title .realtime-title-actions{width:100%;min-width:0;flex-wrap:nowrap;gap:6px}
  .realtime-drawer .service-title :is(.realtime-setting-button,.realtime-sound-toggle),.realtime-drawer .service-title .realtime-title-actions>b{min-width:0;flex:0 0 auto;justify-content:center}
  .realtime-drawer .service-contact{width:100%;min-width:0;min-height:78px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;box-sizing:border-box}
  .realtime-drawer .service-contact>b{align-self:center}
}

/* 房间配置字段数量远高于普通设置页：全部平铺并使用紧凑表格式布局。 */
.room-editor{padding:0 14px 14px}
#room-editor-panel>.room-detail-head{z-index:35;top:0}
.room-editor .room-config-sections{display:grid;gap:10px;margin-top:10px}
.room-editor>.room-section{margin-top:10px}
.room-editor .room-config-sections>.room-section{margin:0}
.room-editor .room-section{border-radius:10px}
.room-editor .room-section-head{padding:9px 12px}
.room-editor .room-section-head h3{font-size:.875rem}
.room-editor .room-section-head p{margin-top:3px;line-height:1.35}
.room-editor .room-section>.form-grid,.room-editor .room-section>.room-config-grid{padding:11px}
.room-editor .room-basic-grid{grid-template-columns:minmax(0,1fr) 130px;gap:10px}
.room-editor .room-basic-field-remark,.room-editor .room-basic-field-icon{grid-column:1/-1}
.room-editor .room-basic-field>input{height:38px;padding-inline:10px}
.room-editor .room-basic-field-remark>textarea{min-height:136px;padding:8px 10px;line-height:1.45}
.room-editor .room-basic-field-icon{display:grid;grid-template-columns:minmax(120px,1fr) 96px;gap:10px;align-items:center}
.room-editor .room-basic-field-icon>.field-label{margin:0}
.room-editor .room-basic-field-icon>.image-upload{display:block;justify-self:end}
.room-editor .room-basic-field-icon .media-picker-stage{width:96px}
.room-editor .room-basic-field-icon .image-upload-preview{width:96px;aspect-ratio:16/9;border-radius:8px}
.room-editor .room-basic-field-icon .image-upload-empty{gap:2px;padding:5px}
.room-editor .room-basic-field-icon .image-upload-empty b{font-size:1.125rem}
.room-editor .room-basic-field-icon .image-upload-empty small{display:none}
.room-editor .room-basic-field-icon .media-picker-clear{top:3px;right:-5px;width:22px;height:22px;font-size:.875rem}
.room-editor .room-section>.room-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.room-editor .room-config-grid,.room-editor .room-value-grid{gap:8px}
.room-editor .room-pcdd-number-limits{grid-column:1/-1;grid-template-columns:inherit}
.room-editor .room-config-group{grid-column:auto;border-radius:9px}
.room-editor .room-config-group.room-config-depth-1{grid-column:span 2}
.room-editor .room-config-group.room-config-group-large,.room-editor .room-config-group.room-config-primitive-array-group,.room-editor .room-config-group.room-config-object-array-group{grid-column:1/-1}
.room-editor .room-config-group>h5{padding:8px 10px;font-size:.75rem;line-height:1.3}
.room-editor .room-config-group>h5.room-config-group-head{display:flex;align-items:center;justify-content:flex-start;gap:10px}
.room-editor .room-config-group-head>span{min-width:0}
.room-editor .room-config-header-switch{display:flex;align-items:center;gap:10px;cursor:pointer;white-space:nowrap}
.room-editor .room-config-header-switch>i{flex:0 0 auto}
.room-editor .room-config-group>.room-config-grid,.room-editor .room-config-group>.room-value-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px}
.room-editor .room-config-group-large>.room-config-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.room-editor .room-config-group.room-config-depth-2>.room-config-grid,.room-editor .room-config-group.room-config-depth-3>.room-config-grid,.room-editor .room-config-group.room-config-depth-4>.room-config-grid{grid-template-columns:1fr}
.room-editor .room-config-grid>.room-value-grid{grid-column:1/-1}
.room-editor .room-array-primitive{grid-template-columns:repeat(auto-fit,minmax(116px,1fr))!important}
.room-editor .room-array-object{grid-template-columns:repeat(auto-fit,minmax(178px,1fr))!important}
.room-editor .room-config-field{display:grid;grid-template-columns:max-content minmax(68px,96px);justify-content:space-between;gap:8px;align-items:center;min-height:44px;padding:6px 8px;border-radius:7px}
.room-editor .room-config-field>span:first-child,.room-editor .room-config-field .switch-control>span{min-width:max-content;color:#9aacca;font-size:.75rem;line-height:1.3;white-space:nowrap;overflow-wrap:normal}
.room-editor .room-config-field>input{width:100%;height:32px;padding:0 7px;border-radius:6px;font-size:.8125rem}
.room-editor .room-config-field.boolean{display:flex;min-height:44px;padding:6px 8px}
.room-editor .room-config-field .switch-control{width:100%;min-height:32px;justify-content:flex-start;gap:10px}
.room-editor .room-config-field .switch-control>span{flex:1}
.room-editor .room-config-field .switch-control>i{flex:0 0 auto}
.room-editor .room-array-primitive .room-config-field{grid-template-columns:minmax(0,1fr) 54px;padding-inline:7px}
.room-editor .room-pcdd-odds-row{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.room-editor .room-pcdd-nums-group{grid-column:1/-1}
.room-editor .room-pcdd-nums-group .room-array-primitive{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}
.room-editor .room-pcdd-nums-group .room-config-field{grid-template-columns:max-content minmax(84px,1fr);gap:8px}
.room-editor .room-pcdd-nums-group .room-config-field>span:first-child{white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
.room-editor .room-message-section{margin-top:10px}
.room-editor .room-message-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.room-editor .room-message-grid textarea{min-height:78px;padding:8px 10px;line-height:1.4}
.room-editor>.form-footer{min-height:20px;margin-top:7px;padding:0;border:0}

@media(min-width:1100px){
  .room-editor .room-basic-grid{grid-template-columns:minmax(260px,1fr) 130px}
  .room-editor .room-section>.room-config-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .room-editor .room-section.room-section-open>.room-config-grid{grid-template-columns:repeat(auto-fill,minmax(190px,220px));justify-content:start}
  .room-editor .room-pcdd-odds-row-1{grid-template-columns:repeat(4,minmax(0,1fr))}
  .room-editor .room-pcdd-odds-row-2{grid-template-columns:repeat(5,minmax(0,1fr))}
  .room-editor .room-message-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:780px){
  .room-editor{padding:0 10px 12px}
  #room-editor-panel>.room-detail-head{top:var(--user-editor-sticky-top)}
  .room-editor .room-section>.room-config-grid{grid-template-columns:1fr}
  .room-editor .room-config-group.room-config-depth-1{grid-column:1/-1}
  .room-editor .room-config-group>.room-config-grid,.room-editor .room-config-group>.room-value-grid{grid-template-columns:1fr}
  .room-editor .room-array-primitive{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .room-editor .room-array-object{grid-template-columns:1fr!important}
  .room-editor .room-message-grid{grid-template-columns:1fr}
}

@media(max-width:430px){
  .room-editor .room-basic-grid{grid-template-columns:minmax(0,1fr) 104px;gap:8px}
  .room-editor .room-basic-field-icon{grid-template-columns:minmax(0,1fr) 82px}
  .room-editor .room-basic-field-icon .media-picker-stage,.room-editor .room-basic-field-icon .image-upload-preview{width:82px}
  .room-editor .room-section>.form-grid,.room-editor .room-section>.room-config-grid{padding:8px}
  .room-editor .room-config-field{grid-template-columns:minmax(0,1fr) 66px;padding-inline:7px}
  .room-editor .room-array-primitive .room-config-field{grid-template-columns:minmax(0,1fr) 48px;gap:5px;padding-inline:6px}
}

/* 首页拼图与游戏图片配置：顺序就是玩家端显示位置，同时保持基础设置的信息密度。 */
.home-game-settings-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.home-game-settings-head>div{min-width:0}
.home-game-settings-head>.home-game-tile-add{flex:0 0 auto;min-height:36px;padding-inline:14px}
.home-game-display-switches{display:grid;grid-template-columns:1fr;gap:12px;padding:16px 16px 0}
.home-game-visibility-switch{min-height:52px}
.home-game-tile-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}
.home-game-tile-row{min-width:0;overflow:hidden;border:1px solid #29415f;border-radius:12px;background:#0c192c}
.home-game-tile-row>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid #263d59;background:#102039}
.home-game-tile-row>header strong,.home-game-tile-row>header small{display:block}
.home-game-tile-row>header strong{color:#e8f1ff;font-size:.8125rem}
.home-game-tile-row>header small{margin-top:3px;color:#7188a7;font-size:.75rem}
.home-game-tile-actions{display:flex;flex:0 0 auto;gap:6px}
.home-game-tile-actions button{min-height:30px;padding:0 9px;font-size:.75rem}
.home-game-tile-actions button:disabled{cursor:not-allowed;opacity:.38}
.home-game-tile-game,.home-game-tile-title,.home-game-tile-image{display:grid;gap:7px;margin:0;padding:12px;color:#8da2bf;font-size:.75rem;font-weight:800}
.home-game-tile-game,.home-game-tile-title{padding-bottom:0}
.home-game-tile-game select,.home-game-tile-title input{width:100%;height:40px;padding:0 11px;border:1px solid var(--control-border);border-radius:9px;color:var(--control-text);background:var(--control-bg);outline:0}
.home-game-tile-game select{padding-right:34px}
.home-game-tile-game select:focus,.home-game-tile-title input:focus{border-color:#5f94e8;box-shadow:0 0 0 3px rgba(95,148,232,.1)}
.home-game-tile-image>div>.image-upload{grid-template-columns:minmax(130px,210px) minmax(0,1fr)}
.home-game-tile-image .image-upload-preview{min-height:96px}
.home-game-tile-empty{margin:16px;padding:25px;border:1px dashed #304a68;border-radius:11px;color:#7188a7;background:#0a1628;text-align:center;font-size:.8125rem}
.app-icon-size-hint{color:#72a9e8!important;font-weight:700;line-height:1.5}

/* 房间图是竖版容器，预览保持 380:506，推荐尺寸在右侧展示。 */
.room-editor .room-basic-field-icon{grid-template-columns:minmax(76px,auto) minmax(0,1fr)}
.room-editor .room-basic-field-icon>.image-upload{display:grid;width:100%;grid-template-columns:72px minmax(0,1fr);gap:10px;justify-self:stretch}
.room-editor .room-basic-field-icon .media-picker-stage,.room-editor .room-basic-field-icon .image-upload-preview{width:72px}
.room-editor .room-basic-field-icon .image-upload-preview{aspect-ratio:380/506}
.room-editor .room-basic-field-icon .image-upload-note{grid-column:2;margin:0}

@media(max-width:900px){
  .home-game-tile-list{grid-template-columns:1fr}
}
@media(max-width:600px){
  .home-game-settings-head{align-items:flex-start;flex-direction:column}
  .home-game-settings-head>.home-game-tile-add{width:100%}
  .home-game-display-switches{grid-template-columns:1fr;padding:13px 13px 0}
  .home-game-tile-list{padding:13px}
  .home-game-tile-row>header{align-items:flex-start;flex-direction:column}
  .home-game-tile-actions{width:100%}
  .home-game-tile-actions button{flex:1}
  .home-game-tile-image>div>.image-upload{grid-template-columns:1fr}
  .home-game-tile-image .image-upload-note{grid-column:1}
}
@media(max-width:430px){
  .room-editor .room-basic-field-icon{grid-template-columns:1fr}
  .room-editor .room-basic-field-icon>.image-upload{grid-template-columns:64px minmax(0,1fr)}
  .room-editor .room-basic-field-icon .media-picker-stage,.room-editor .room-basic-field-icon .image-upload-preview{width:64px}
}

/* 普通业务表按容器固定布局：按钮、日期和数值列只占所需宽度，文本列吸收剩余空间。 */
:is(
  .logs-data-table,
  .blacklist-data-table,
  .domain-data-table,
  .coin-data-table,
  .robot-data-table,
  .red-packet-data-table,
  .red-packet-player-table,
  .red-packet-player-candidate-table,
  .reward-data-table,
  .reward-history-table,
  .reward-detail-table,
  .player-points-data-table,
  .player-downline-data-table,
  .player-downline-candidate-table
){width:100%;min-width:0;table-layout:fixed}
.red-packet-data-table .red-packet-identity>div,
:is(.robot-data-table,.red-packet-player-table,.red-packet-player-candidate-table) :is(.management-identity,.player-identity)>div,
:is(.red-packet-player-candidate-table,.player-downline-data-table,.player-downline-candidate-table) .player-login{min-width:0;max-width:100%;overflow:hidden}
.red-packet-data-table .red-packet-identity :is(strong,small,p){display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:clip;white-space:nowrap}

@media(min-width:781px){
  :is(
    .logs-data-table,
    .blacklist-data-table,
    .domain-data-table,
    .coin-data-table,
    .robot-data-table,
    .red-packet-data-table,
    .red-packet-player-table,
    .red-packet-player-candidate-table,
    .reward-data-table,
    .reward-history-table,
    .reward-detail-table,
    .player-points-data-table,
    .player-downline-data-table,
    .player-downline-candidate-table
  ) th{min-width:0;overflow:hidden;white-space:normal}
  :is(
    .logs-data-table,
    .blacklist-data-table,
    .domain-data-table,
    .coin-data-table,
    .robot-data-table,
    .red-packet-data-table,
    .red-packet-player-table,
    .red-packet-player-candidate-table,
    .reward-data-table,
    .reward-history-table,
    .reward-detail-table,
    .player-points-data-table,
    .player-downline-data-table,
    .player-downline-candidate-table
  ) td:not([data-actions]){min-width:0;overflow:hidden}
  :is(
    .domain-data-table,
    .coin-data-table,
    .robot-data-table,
    .red-packet-data-table,
    .reward-data-table,
    .reward-history-table,
    .player-downline-data-table
  ) td[data-actions]>:is(.domain-row-actions,.record-actions,.management-actions,.reward-coin-edit,.player-actions){max-width:100%;flex-wrap:wrap}
  :is(.logs-data-table,.blacklist-data-table,.coin-data-table,.reward-data-table,.reward-history-table,.player-points-data-table) .data-key-time{display:block;max-width:100%;overflow:hidden}

  .logs-data-table :is(th,td):nth-child(1){width:180px}
  .logs-data-table :is(th,td):nth-child(2){width:180px}
  .logs-data-table :is(th,td):nth-child(4){width:220px}

  .blacklist-data-table :is(th,td):nth-child(3){width:180px}
  .blacklist-data-table :is(th,td):nth-child(4){width:140px}

  .domain-data-table :is(th,td):nth-child(2),
  .domain-data-table :is(th,td):nth-child(3){width:100px}
  .domain-data-table :is(th,td):nth-child(4){width:180px}

  .coin-data-table :is(th,td):nth-child(2){width:80px}
  .coin-data-table :is(th,td):nth-child(3){width:115px}
  .coin-data-table :is(th,td):nth-child(4){width:105px}
  .coin-data-table :is(th,td):nth-child(5){width:180px}
  .coin-data-table :is(th,td):nth-child(6){width:95px}
  .coin-data-table :is(th,td):nth-child(7){width:240px}

  .robot-data-table :is(th,td):nth-child(1){width:52px;min-width:0!important}
  .robot-data-table :is(th,td):nth-child(4){width:110px}
  .robot-data-table :is(th,td):nth-child(7){width:120px}
  .robot-data-table :is(th,td):nth-child(8){width:100px}
  .robot-data-table :is(th,td):nth-child(9){width:120px}
  .robot-data-table :is(th,td):nth-child(10){width:140px}

  .red-packet-data-table :is(th,td):nth-child(2){width:120px}
  .red-packet-data-table :is(th,td):nth-child(3){width:140px}
  .red-packet-data-table :is(th,td):nth-child(4){width:100px}
  .red-packet-data-table :is(th,td):nth-child(5){width:150px}
  .red-packet-data-table :is(th,td):nth-child(6){width:160px}
  .red-packet-data-table :is(th,td):nth-child(7){width:260px}

  .red-packet-player-table :is(th,td):nth-child(2){width:110px}
  .red-packet-player-table :is(th,td):nth-child(3){width:160px}
  .red-packet-player-table :is(th,td):nth-child(4){width:95px}
  .red-packet-player-table :is(th,td):nth-child(5){width:100px}
  .red-packet-player-candidate-table :is(th,td):nth-child(1){width:52px;min-width:0!important}
  .red-packet-player-candidate-table :is(th,td):nth-child(3){width:120px}
  .red-packet-player-candidate-table :is(th,td):nth-child(5){width:110px}

  #agent-reward-list .reward-data-table :is(th,td):nth-child(1),
  #backwater-list .reward-data-table :is(th,td):nth-child(1){width:52px;min-width:0!important}
  #agent-reward-list .reward-data-table :is(th,td):nth-child(3){width:210px}
  #agent-reward-list .reward-data-table :is(th,td):nth-child(4),
  #agent-reward-list .reward-data-table :is(th,td):nth-child(5),
  #agent-reward-list .reward-data-table :is(th,td):nth-child(6){width:115px}
  #agent-reward-list .reward-data-table :is(th,td):nth-child(7){width:210px}
  #backwater-list .reward-data-table :is(th,td):nth-child(4),
  #backwater-list .reward-data-table :is(th,td):nth-child(5),
  #backwater-list .reward-data-table :is(th,td):nth-child(6){width:105px}
  #backwater-list .reward-data-table :is(th,td):nth-child(7){width:80px}
  #backwater-list .reward-data-table :is(th,td):nth-child(8){width:210px}

  #agent-reward-history .reward-history-table :is(th,td):nth-child(2){width:300px}
  #agent-reward-history .reward-history-table :is(th,td):nth-child(3){width:90px}
  #agent-reward-history .reward-history-table :is(th,td):nth-child(4){width:130px}
  #agent-reward-history .reward-history-table :is(th,td):nth-child(5){width:180px}
  #agent-reward-history .reward-history-table :is(th,td):nth-child(6){width:120px}
  #backwater-history .reward-history-table :is(th,td):nth-child(1){width:140px}
  #backwater-history .reward-history-table :is(th,td):nth-child(4){width:90px}
  #backwater-history .reward-history-table :is(th,td):nth-child(5){width:130px}
  #backwater-history .reward-history-table :is(th,td):nth-child(6){width:180px}
  #backwater-history .reward-history-table :is(th,td):nth-child(7){width:120px}

  .agent-detail-table :is(th,td):nth-child(2),
  .agent-detail-table :is(th,td):nth-child(3),
  .backwater-detail-list .reward-detail-table :is(th,td):nth-child(3),
  .backwater-detail-list .reward-detail-table :is(th,td):nth-child(4){width:160px}

  .player-points-data-table :is(th,td):nth-child(2){width:120px}
  .player-points-data-table :is(th,td):nth-child(3),
  .player-points-data-table :is(th,td):nth-child(4),
  .player-points-data-table :is(th,td):nth-child(5){width:115px}
  .player-points-data-table :is(th,td):nth-child(7){width:180px}

  .player-downline-data-table :is(th,td):nth-child(2){width:115px}
  .player-downline-data-table :is(th,td):nth-child(3){width:260px}
  .player-downline-data-table :is(th,td):nth-child(4){width:100px}
  .player-downline-data-table :is(th,td):nth-child(5){width:110px;min-width:0!important}
  .player-downline-candidate-table :is(th,td):nth-child(1){width:52px;min-width:0!important}
  .player-downline-candidate-table :is(th,td):nth-child(3){width:115px}
  .player-downline-candidate-table :is(th,td):nth-child(4){width:260px}
  .player-downline-candidate-table :is(th,td):nth-child(6){width:100px}
}

/* 纯数据字段在自身宽度内循环展示；点击后由统一增强层复制完整内容。 */
.overflow-copy-field{
  min-width:0!important;
  max-width:100%;
  overflow:hidden!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}
.overflow-copy-field.is-overflowing:not(.is-passive){
  cursor:copy;
  outline-offset:3px;
  touch-action:manipulation;
}
.overflow-copy-field.is-overflowing:not(.is-passive):focus-visible{outline:2px solid #69e5c2}
.overflow-copy-track{display:flex!important;width:max-content;min-width:100%;overflow:visible!important;align-items:inherit;margin:0!important;color:inherit!important;font:inherit!important;letter-spacing:inherit;text-overflow:clip!important;text-transform:none}
.overflow-copy-content{display:block!important;flex:0 0 auto;min-width:max-content;overflow:visible!important;margin:0!important;color:inherit!important;font:inherit!important;letter-spacing:inherit;text-overflow:clip!important;text-transform:none;white-space:pre}
.overflow-copy-duplicate{display:none!important;margin-left:32px!important}
.overflow-copy-duplicate::before{content:attr(data-overflow-copy-text);white-space:pre}
.overflow-copy-field.is-overflowing .overflow-copy-track{
  animation:overflow-copy-marquee var(--overflow-copy-duration,10s) linear infinite;
  will-change:transform;
}
.overflow-copy-field.is-overflowing .overflow-copy-duplicate{display:block!important}
@keyframes overflow-copy-marquee{to{transform:translateX(calc(-1 * var(--overflow-copy-distance,100px)))}}
.overflow-copy-tooltip{
  position:fixed;
  z-index:400;
  display:grid;
  gap:8px;
  width:max-content;
  min-width:min(220px,calc(100vw - 24px));
  max-width:min(520px,calc(100vw - 24px));
  max-height:calc(100vh - 24px);
  overflow:auto;
  padding:13px 15px;
  border:1px solid #3a5b78;
  border-radius:12px;
  color:#dbe8f8;
  background:rgba(9,22,39,.98);
  box-shadow:0 18px 55px rgba(0,0,0,.46);
  backdrop-filter:blur(16px);
}
.overflow-copy-tooltip-title{color:#69e5c2;font-size:.6875rem;font-weight:900;letter-spacing:.04em}
.overflow-copy-tooltip.is-error .overflow-copy-tooltip-title{color:#ff8e99}
.overflow-copy-tooltip-detail{overflow-wrap:anywhere;font-size:.75rem;line-height:1.65;white-space:pre-wrap;user-select:text}
.overflow-copy-tooltip textarea.overflow-copy-tooltip-detail{width:100%;min-height:68px;padding:8px;border:1px solid #50708f;border-radius:8px;color:inherit;background:#071321;resize:vertical;outline:none}
.overflow-copy-fallback{position:fixed;left:-10000px;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
.player-identity-name{display:block;min-width:0;overflow:hidden;color:inherit;font-size:inherit;font-weight:inherit}
.user-log-detail>span>.user-log-detail-value{min-width:0;flex:1}
@media(max-width:600px){
  .overflow-copy-tooltip{max-width:calc(100vw - 24px);padding:12px 13px}
}
@media(prefers-reduced-motion:reduce){
  .overflow-copy-field.is-overflowing .overflow-copy-track{animation:none;transform:none}
  .overflow-copy-field.is-overflowing .overflow-copy-duplicate{display:none!important}
}

/* 弹窗只使用底部开奖栏上方的空间，长表单在卡片内滚动。 */
:root{--dialog-edge:24px;--dialog-bottom-space:0px}
html:has(#app-view:not([hidden])){--dialog-bottom-space:78px}
.dialog{padding:var(--dialog-edge);padding-bottom:calc(var(--dialog-edge) + var(--dialog-bottom-space));grid-template-rows:minmax(0,1fr)}
.dialog>.dialog-card{min-height:0;max-height:min(100%,calc(100dvh - var(--dialog-bottom-space) - 2 * var(--dialog-edge)))}
.dialog>.dialog-card:not(.robot-dialog-card):not(.backwater-history-dialog-card){overflow-y:auto}
.backwater-history-dialog-body{min-height:0}
/* 玩家报表由弹窗统一纵向滚动，避免内层网格把数据区挤没。 */
.player-report-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;max-height:none;overflow:visible}
.player-report-head>div:first-child{min-width:0;max-width:100%;overflow-wrap:anywhere}
.player-report-table-wrap{overflow:auto}
@media(max-width:780px){
  :root{--dialog-edge:12px}
  html:has(#app-view:not([hidden])){--dialog-bottom-space:158px}
  .player-dialog-card.coin-only:has(.player-report-card){width:100%}
  .robot-dialog-card .dialog-head>div:first-child{padding-right:40px}
  .robot-dialog-card .robot-create-actions .icon-button{position:absolute;top:12px;right:12px;flex:none;width:32px;min-width:32px;padding:0}
}
/* The existing stylesheet is the canonical dark theme. These overrides add the
   default light theme without changing any dark-theme layout or component rules. */
.user-theme-toggle {
  position: fixed;
  z-index: 55;
  top: 16px;
  right: 20px;
  display: inline-flex;
  width: 88px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid #304967;
  border-radius: 999px;
  color: #dce8f7;
  background: rgba(10, 21, 39, .92);
  box-shadow: 0 9px 28px rgba(0, 0, 0, .25);
  backdrop-filter: blur(14px);
}
.user-theme-toggle:hover { border-color: #5f94e8; background: #132640; }
.user-theme-toggle:focus-visible { outline: 3px solid rgba(95, 148, 232, .3); outline-offset: 2px; }
.user-theme-toggle>span { font-size: 1rem; line-height: 1; }
.user-theme-toggle>b { font-size: .75rem; }
.toasts { top: 68px; }

html[data-theme="light"] {
  color-scheme: light;
  color: #334b68;
  background: #f3f6fb;
  --bg: #f3f6fb;
  --panel: #ffffff;
  --panel2: #f7f9fc;
  --line: #d8e1ed;
  --muted: #596b82;
  --primary: #16836d;
  --blue: #526fd9;
  --danger: #d6455c;
  --text-strong: #1f2f46;
  --text-primary: #334b68;
  --text-secondary: #4b6079;
  --text-muted: #596b82;
  --text-subtle: #64748b;
  --surface: #ffffff;
  --surface-soft: #f6f8fb;
  --surface-muted: #eef3f8;
  --control-bg: #ffffff;
  --control-text: #334b68;
  --control-border: #c7d3e2;
  --scroll-track: #eef2f7;
  --scroll-thumb: #8799ae;
  --switch-off: #8192a7;
  --switch-knob: #ffffff;
  --danger-text: #b93850;
  --danger-bg: #fff2f4;
  --danger-border: #e6b4be;
  --disabled-text: #596b82;
  --disabled-bg: #edf1f6;
  --disabled-border: #d3dce7;
  --focus: #3672b8;
  --warning-text: #8a5a0a;
}
html[data-theme="light"] body {
  color: var(--text-primary);
  background: radial-gradient(circle at 80% 0, #e2edff 0, transparent 34%), #f3f6fb;
}
html[data-theme="light"] .user-theme-toggle {
  border-color: #d1dbe8;
  color: #334863;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 24px rgba(38, 62, 96, .13);
}
html[data-theme="light"] .user-theme-toggle:hover { border-color: #6f91ca; background: #f7faff; }

html[data-theme="light"] :is(h1, h2, h3, h4, h5, h6) { color: var(--text-strong); }
html[data-theme="light"] :is(button, input, textarea, select) { color: var(--text-primary); }
html[data-theme="light"] :is(input, textarea)::placeholder { color: var(--text-subtle); opacity: 1; }
html[data-theme="light"] :is(input, textarea, select) { caret-color: #426fc0; }
html[data-theme="light"] :is(.muted, .empty, .loading-block, .field-note) { color: var(--muted); }
html[data-theme="light"] :is(.eyebrow, .success, .gain) { color: #167760; }
html[data-theme="light"] :is(.failure, .loss, .form-error) { color: #c63f55; }

/* Login and application frame. */
html[data-theme="light"] .portal-loading {
  color: #24344d;
  background: radial-gradient(circle at 50% 25%, #e4efff, #f5f8fc 62%);
}
html[data-theme="light"] .portal-loading i { background: #dbe5f1; }
html[data-theme="light"] .login-card {
  border-color: #d8e1ed;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 28px 80px rgba(50, 76, 112, .16);
}
html[data-theme="light"] :is(.brand, .mobile-brand) { color: #1d2c43; }
html[data-theme="light"] :is(.brand small, .login-card>p, .login-copy>p:not(.eyebrow)) { color: var(--text-muted); }
html[data-theme="light"] .login-features { color: #4c607b; }
html[data-theme="light"] .sidebar {
  border-color: #d8e1ed;
  background: #ffffff;
  box-shadow: 9px 0 30px rgba(44, 67, 97, .05);
}
html[data-theme="light"] .sidebar nav>p { color: var(--text-subtle); }
html[data-theme="light"] .nav { color: #435a77; font-weight: 700; }
html[data-theme="light"] .nav>span { color: #526f95; }
html[data-theme="light"] :is(.nav:hover, .nav.active) { color: #24476e; background: #eaf2ff; }
html[data-theme="light"] .side-user { border-color: #d8e1ed; }
html[data-theme="light"] .side-user strong { color: #22334d; }
html[data-theme="light"] .side-user span { color: var(--text-muted); }
html[data-theme="light"] .side-account-button {
  border-color: #d1dce9;
  color: #536b88;
  background: #f7f9fc;
}
html[data-theme="light"] .side-account-button:enabled:hover { border-color: #8da5c2; color: #29486c; background: #edf3fb; }
html[data-theme="light"] .side-account-button.logout-button { border-color: #efc7ce; color: #bd4356; background: #fff5f6; }
html[data-theme="light"] .side-profile-button { border-color: #d1dce9; color: #526d8f; background: #f5f8fc; }
html[data-theme="light"] .side-profile-button:enabled:hover { border-color: #7898be; color: #264d78; background: #edf4fc; }
html[data-theme="light"] .sidebar nav>.nav-divider { background: linear-gradient(90deg, transparent, #dbe3ed 16%, #dbe3ed 84%, transparent); }
html[data-theme="light"] :is(.sidebar nav::-webkit-scrollbar-thumb, .sidebar::-webkit-scrollbar-thumb) { background: #bdc9d8; }

/* General surfaces, sticky heads, forms and buttons. */
html[data-theme="light"] .panel {
  border-color: var(--line);
  background: #ffffff;
  box-shadow: 0 15px 38px rgba(42, 68, 103, .08);
}
html[data-theme="light"] :is(.view>.panel>.panel-head, .content-sticky-head, .sticky-editor-head, .editor-save-head, .room-detail-head) {
  border-color: var(--line);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 24px rgba(44, 68, 99, .08);
}
html[data-theme="light"] :is(.panel-head p, .sub-toolbar span, .inline-editor-head p, .room-section-head p) { color: var(--text-muted); }
html[data-theme="light"] .secondary {
  border-color: #d1dbe8;
  color: #435a77;
  background: #f5f8fc;
}
html[data-theme="light"] .secondary:enabled:hover { border-color: #819cbe; color: #284d77; background: #edf3fb; }
html[data-theme="light"] .icon-button { color: #59718e; }
html[data-theme="light"] .icon-button:enabled:hover { color: #284b74; background: #eaf1f9; }
html[data-theme="light"] .pill { border-color: #a9d7ca; color: #14745e; background: #eaf8f3; }
html[data-theme="light"] body :where(
  .input-wrap,
  .form-field>input,
  .form-field>textarea,
  .form-field>select,
  .compact-select,
  .setting>form>input,
  .field-affix,
  .management-form input,
  .management-form select,
  .management-form textarea,
  .structured-setting input,
  .structured-setting select,
  .structured-setting textarea,
  .collection-row input,
  .collection-row textarea
) {
  border-color: #cfd9e7;
  color: #263a56;
  background: #ffffff;
}
html[data-theme="light"] :is(.input-wrap input, .field-affix>input) { color: #263a56; background: transparent; }
html[data-theme="light"] body :where(
  .input-wrap:focus-within,
  .form-field>input:focus,
  .form-field>textarea:focus,
  .form-field>select:focus,
  .compact-select:focus,
  .field-affix:focus-within
) { border-color: #7195ce; box-shadow: 0 0 0 3px rgba(73, 116, 183, .12); }
html[data-theme="light"] :is(form label, .field-label, .management-form .field-label) { color: #51657f; }
html[data-theme="light"] .form-field>textarea.json-input { color: #275e56; }
html[data-theme="light"] :is(.switch-field, .form-field-group) { border-color: var(--line); background: #f8fafc; }
html[data-theme="light"] .form-field-group>header { border-color: var(--line); background: #f1f5fa; }
html[data-theme="light"] :is(.switch-control b, .benefit-switch b, .benefit-number b, .reward-switch b) { color: #405570; }
html[data-theme="light"] :is(.switch-control i, .mini-switch i, .benefit-switch i, .reward-switch i, .room-merge-switch>i, .player-slide-choice>i, .player-registration-controls i, .player-row-slide i, .robot-create-open i, .robot-open-switch i, .user-chat-mute i, .user-chat-forecast-switch i, .realtime-sound-toggle>i) { background: #c7d1dd; }
html[data-theme="light"] :is(.switch-control i:after, .mini-switch i:after, .benefit-switch i:after, .reward-switch i:after, .room-merge-switch>i:after, .player-slide-choice>i:after, .player-registration-controls i:after, .player-row-slide i:after, .robot-create-open i:after, .robot-open-switch i:after, .user-chat-mute i:after, .user-chat-forecast-switch i:after, .realtime-sound-toggle>i:after) { background: #ffffff; box-shadow: 0 1px 3px rgba(37, 55, 78, .2); }
html[data-theme="light"] .toast { border-color: #d5dfeb; color: #263a55; background: #ffffff; box-shadow: 0 16px 42px rgba(44, 66, 96, .18); }
html[data-theme="light"] .toast span { color: var(--text-muted); }
html[data-theme="light"] .toast button { color: var(--text-secondary); }
html[data-theme="light"] .dialog { background: rgba(30, 43, 61, .42); }
html[data-theme="light"] .dialog-card { border-color: #d8e1ed; color: #24344d; background: #ffffff; box-shadow: 0 28px 80px rgba(30, 46, 68, .24); }
html[data-theme="light"] .inline-editor { border-color: #d3ddea; background: #f8fafc; }
html[data-theme="light"] .image-upload { border-color: #d2dce8; background: #f7f9fc; }
html[data-theme="light"] .image-upload-preview {
  border-color: #b9c9db;
  color: #58708e;
  background: #eef3f8;
}
html[data-theme="light"] .image-upload-preview:hover { border-color: #76a994; background: #e9f6f2; }
html[data-theme="light"] .image-upload-preview img,
html[data-theme="light"] .image-upload:not(.qr-upload) .image-upload-preview img { background: #ffffff; }
html[data-theme="light"] .image-upload-empty { color: var(--text-muted); }
html[data-theme="light"] .image-upload-note { color: var(--text-muted); }
html[data-theme="light"] .qr-content-preview { border-color: #cbd7e4; color: #526b87; background: #ffffff; }
html[data-theme="light"] .media-picker-clear { border-color: #ffffff; }

/* Lists, cards, tables and pagination. */
html[data-theme="light"] body :where(
  .domain-chip,
  .domain-row,
  .content-row,
  .room-row,
  .player-row,
  .player-detail-summary,
  .detail-card,
  .coin-summary span,
  .record-row,
  .blacklist-row,
  .benefit-section,
  .benefit-rule-card,
  .reward-section,
  .reward-rule-card,
  .reward-row,
  .reward-history>article,
  .backwater-plan-card,
  .backwater-plan-block,
  .backwater-room-group,
  .management-row,
  .claims-list article,
  .structured-setting,
  .forecast-setting,
  .standalone-field,
  .pair-setting-row,
  .collection-code-grid>div,
  .collection-row,
  .player-downline-list article,
  .player-points-row,
  .robot-plan-panel,
  .robot-manual-plan,
  .robot-work-period,
  .red-packet-player-picker,
  .red-packet-confirm-grid>div,
  .red-packet-confirm-condition
) {
  border-color: var(--line);
  color: #293d58;
  background: #f8fafc;
}
html[data-theme="light"] :is(.room-row:hover, .room-row.active, .player-row:hover) { border-color: #9fb3cb; background: #f0f5fb; }
html[data-theme="light"] .player-registration-controls label {
  border-color: #d2dce8;
  color: #526984;
  background: #f7f9fc;
}
html[data-theme="light"] .player-registration-controls label:has(input:checked) {
  border-color: #8cc4b5;
  color: #14715d;
  background: #e7f6f1;
}
html[data-theme="light"] .player-registration-controls label.danger:has(input:checked) {
  border-color: #e3aab4;
  color: #b83d52;
  background: #fff0f2;
}
html[data-theme="light"] :is(
  .player-toolbar,
  .blacklist-toolbar,
  .room-section-head,
  .benefit-section-head,
  .reward-section-head,
  .reward-filter,
  .reward-detail-head,
  .backwater-plan-block>header,
  .backwater-room-group>header,
  .structured-setting-head,
  .form-field-group>header,
  .player-downline-head,
  .player-points-head,
  .red-packet-player-picker-head,
  .red-packet-real-head
) { border-color: var(--line); background: #f2f6fa; }
html[data-theme="light"] :is(.room-section, .room-config-group, .room-game-group) { border-color: var(--line); background: #ffffff; }
html[data-theme="light"] :is(.room-config-group>h5, .room-game-head) { border-color: var(--line); color: var(--text-strong); background: #eef3f8; }
html[data-theme="light"] .room-config-field { border-color: #dce4ee; background: #f8fafc; }
html[data-theme="light"] :is(.room-editor .field-label, .room-config-field>span:first-child, .room-config-field .switch-control>span) { color: var(--text-primary); }
html[data-theme="light"] :is(.room-main small, .room-number) { color: var(--text-muted); }
html[data-theme="light"] :is(.room-main, .room-config-field>input, .room-number input) { color: #263a56; }
html[data-theme="light"] :is(.room-config-field>input, .room-number input) { border-color: #ccd8e6; background: #ffffff; }
html[data-theme="light"] .room-config-field:has(input:disabled) { cursor: not-allowed; opacity: 1; background: var(--disabled-bg); }
html[data-theme="light"] .room-config-field:has(input:disabled)>span:first-child,
html[data-theme="light"] .room-config-field:has(input:disabled) .switch-control>span { color: var(--disabled-text); }
html[data-theme="light"] .room-config-field .switch-control input:disabled+i { background: var(--switch-off); }
html[data-theme="light"] .room-game-rooms .room-row { border-color: #dde5ee; background: #f9fbfd; }
html[data-theme="light"] .room-merge-switch { border-color: #d4deea; background: #f7f9fc; }
html[data-theme="light"] .room-merge-switch strong { color: #304864; }
html[data-theme="light"] .room-merge-switch small { color: var(--text-muted); }
html[data-theme="light"] .room-drag-handle { border-color: #cbd7e5; color: #526a86; background: #f1f5fa; }
html[data-theme="light"] .room-settings-button { border-color: #b9cbe0; color: #3d638d; background: #eef5fc; }
html[data-theme="light"] .room-settings-button:enabled:hover { border-color: #72a994; color: #176d5a; background: #e9f7f2; }
html[data-theme="light"] :is(.module-tabs button, .player-tabs button) { color: #5f728b; background: #f2f5f9; }
html[data-theme="light"] :is(.module-tabs button.active, .player-tabs button.active) { border-color: #8cc4b5; color: #13715d; background: #e7f6f1; }
html[data-theme="light"] .content-state { color: #65768d; background: #e9eef5; }
html[data-theme="light"] .content-state.on { color: #14725d; background: #def3ec; }
html[data-theme="light"] .row-actions button { border-color: #ccd7e4; color: #4a627f; background: #f5f8fb; }
html[data-theme="light"] :is(.domain-chip span, .domain-kind, th) { color: var(--text-muted); }
html[data-theme="light"] :is(.domain-chip a, .domain-chip strong, .domain-address, td) { color: #2f4562; }
html[data-theme="light"] :is(.pages button, .pages .page-jump input, .pages .page-size select) { border-color: #ccd7e4; color: #4d6481; background: #ffffff; }
html[data-theme="light"] :is(.pages button.active, .pages .page-jump button:enabled:hover) { border-color: #267e6a; color: #ffffff; background: #267e6a; }
html[data-theme="light"] :is(.user-data-table-wrap, .game-record-table-wrap) { border-color: #d7e0eb; background: #ffffff; }
html[data-theme="light"] :is(.user-data-table th, .game-record-table th) { color: #526984; background: #edf2f7; }
html[data-theme="light"] :is(.user-data-table td, .game-record-table td) { border-color: #e1e7ef; color: #344b68; }
html[data-theme="light"] :is(.user-data-table tbody tr:hover, .game-record-table tbody tr:hover) { background: #f6f9fc; }
html[data-theme="light"] :is(.user-data-table td strong, .game-record-table td strong) { color: #253b57; }
html[data-theme="light"] :is(.user-data-table td small, .game-record-table td small, .data-key-time) { color: var(--text-muted); }

/* Reusable status colors retain their meaning in the light palette. */
html[data-theme="light"] :is(.domain-state, .player-status.normal, .record-kind.up, .state-2, .table-state.success, .table-state.resting) { color: #14735d; background: #e4f6f0; }
html[data-theme="light"] :is(.player-status.pending, .state-1) { color: #8a6213; background: #fff5d9; }
html[data-theme="light"] :is(.player-status.blocked, .record-kind.down, .state-3, .table-state.danger) { color: #bd3f53; background: #fff0f2; }
html[data-theme="light"] .player-status.muted { color: #627389; background: #e9eef4; }
html[data-theme="light"] :is(.blacklist-clear, .blacklist-delete, .benefit-rule-remove, .reward-rule-remove, .pair-setting-remove, .collection-row-remove, .management-actions button.danger, .game-record-exception-actions button.danger, .game-record-state-actions button.danger) { border-color: #efc3cb; color: #bd3d53; background: #fff3f5; }
html[data-theme="light"] :is(.record-actions button, .player-actions button, .management-actions button, .reward-coin-edit button, .reward-history button, .reward-detail-head button, .game-record-exception-actions button, .game-record-state-actions button, .domain-copy) { border-color: #c7d5e4; color: #436383; background: #f2f6fa; }

/* Player, finance, benefit and reward editors. */
html[data-theme="light"] :is(.player-summary, .blacklist-summary, .game-record-summary) { border-color: #cbd8e7; background: #f5f8fc; }
html[data-theme="light"] :is(.player-search input, .player-search select, .detail-card input, .detail-card select, .inline-fields select, .record-filter input, .record-filter select, .blacklist-toolbar input, .benefit-number input, .benefit-copy-grid textarea, .benefit-rule-row input, .reward-setting-grid input, .reward-setting-grid select, .reward-setting-grid textarea, .reward-filter input, .reward-filter select, .reward-rule-row input, .reward-coin-edit input, .backwater-schedule-hour select, .backwater-history-controls select, .backwater-plan-fields input, .backwater-plan-fields select, .game-record-filter input, .game-record-filter select, .game-exception-dialog-card input, .robot-filter input, .robot-filter select, .robot-plan-input select, .robot-random-range input, .robot-manual-plan textarea) {
  border-color: #ccd8e6;
  color: #293d58;
  background: #ffffff;
}
html[data-theme="light"] .detail-switches label { border-color: #d7e0eb; color: #4a607b; background: #f7f9fc; }
html[data-theme="light"] :is(.record-time-range, .realtime-sound-toggle, .user-chat-mute) { border-color: #d2dce8; color: #526984; background: #f7f9fc; }
html[data-theme="light"] .record-time-range input { color: #344a65; color-scheme: light; }
html[data-theme="light"] .record-time-range>span { color: #4f6682; }
html[data-theme="light"] .record-time-range>b { color: var(--text-muted); }
html[data-theme="light"] .coin-summary strong { color: #2b415e; }
html[data-theme="light"] .operation-stats { background: var(--line); }
html[data-theme="light"] .operation-stat { background: #ffffff; }
html[data-theme="light"] :is(.operation-stat span, .operation-stat small, .stat span, .stat small) { color: var(--text-muted); }
html[data-theme="light"] :is(.operation-stat strong, .stat strong) { color: #233853; }
html[data-theme="light"] .operation-stat.online-stat strong { color: #147b63; }
html[data-theme="light"] .operation-stat.attention strong { color: #b97916; }
html[data-theme="light"] :is(.benefit-switch, .benefit-number, .reward-switch, .reward-rule-row, .benefit-rule-row) { border-color: #d7e0eb; background: #f8fafc; }
html[data-theme="light"] :is(.reward-summary, .reward-detail-list, .report-totals) { background: var(--line); }
html[data-theme="light"] :is(.reward-summary>div, .reward-detail-list>span, .report-totals>div) { background: #ffffff; }
html[data-theme="light"] :is(.reward-summary span, .reward-metrics span, .report-totals span) { color: var(--text-muted); }
html[data-theme="light"] :is(.reward-summary strong, .reward-metrics b, .report-totals strong) { color: #2b415e; }
html[data-theme="light"] .reward-metrics span { background: #eef3f8; }
html[data-theme="light"] .reward-check i { border-color: #bfcddd; background: #ffffff; }
html[data-theme="light"] .backwater-workspace-tabs { border-color: #c8d6e5; background: rgba(255, 255, 255, .96); box-shadow: 0 10px 24px rgba(44, 68, 99, .08); }
html[data-theme="light"] .backwater-workspace-tabs button { color: #60748e; }
html[data-theme="light"] .backwater-workspace-tabs button:enabled:hover { border-color: #aebfd2; color: #345371; background: #f1f5fa; }
html[data-theme="light"] .backwater-workspace-tabs button.active { border-color: #84b9ab; color: #176b59; background: #e9f7f2; }
html[data-theme="light"] .backwater-workspace-tabs button>i { color: #607994; background: #e9eff6; }
html[data-theme="light"] .backwater-plan-metrics>span { background: #edf2f7; }
html[data-theme="light"] :is(.backwater-plan-metrics strong, .backwater-plan-card h4, .backwater-plan-block h3, .backwater-room-option strong) { color: #2a405c; }
html[data-theme="light"] :is(.backwater-plan-rooms, .backwater-plan-condition, .backwater-room-option small) { color: var(--text-muted); }
html[data-theme="light"] .backwater-room-option { border-color: #d7e0eb; background: #f8fafc; }
html[data-theme="light"] .backwater-room-option>i { border-color: #bbcadd; background: #ffffff; }

/* Reports and game history. */
html[data-theme="light"] :is(.report-actions select, .game-record-filter input, .game-record-filter select) { border-color: #cbd7e5; color: #334a67; background: #ffffff; }
html[data-theme="light"] .game-record-filter { border-color: var(--line); background: #f5f8fb; }
html[data-theme="light"] .report-table tr { border-color: var(--line); background: var(--line); }
html[data-theme="light"] :is(.report-table td, .report-table td:first-child) { color: #344b67; background: #ffffff; }
html[data-theme="light"] .report-table td strong { color: #263b56; }
html[data-theme="light"] :is(.game-record-row, .game-draw-row) { border-color: var(--line); background: #ffffff; }
html[data-theme="light"] .game-draw-row:is(.state-0, .state-1, .state-2, .state-3) { border-color: var(--line); color: inherit; background: #ffffff; }
html[data-theme="light"] :is(.game-record-row>header, .game-record-row>footer) { border-color: var(--line); background: #f3f6fa; }
html[data-theme="light"] .game-record-bet { border-color: #d7e1ec; color: #324a67; background: #f8fafc; }
html[data-theme="light"] .game-record-balls i { border-color: #c5d3e3; color: #31516f; background: #edf3f9; }
html[data-theme="light"] :is(.draw-control-box, .game-draw-table tbody tr) { border-color: #d1dce9; background: #f7f9fc; }
html[data-theme="light"] .game-draw-table tbody tr:is(.state-0, .state-1, .state-2, .state-3) { color: inherit; background: #f7f9fc; }
html[data-theme="light"] .game-draw-row.invalid { border-color: #efc2ca; background: #fff3f4; }
html[data-theme="light"] .game-draw-total-line { background: #edf3f9; }
html[data-theme="light"] .game-draw-total-line.aggregate { border-color: #c5d5e6; background: #f8fbff; }
html[data-theme="light"] .game-draw-total-line>small { color: #526b88; }
html[data-theme="light"] .game-draw-total-line i { color: var(--text-muted); }
html[data-theme="light"] .game-draw-total-line strong { color: #263e5b; }

/* Communication and realtime business surfaces. */
html[data-theme="light"] :is(.service-drawer, .realtime-list-panel) { border-color: #d6e0eb; background: #ffffff; }
html[data-theme="light"] :is(.service-drawer-head, .service-chat-head, .service-send, .realtime-list-panel>header, .pending-coin-sections>section>header, .realtime-bet-filter, .realtime-tabs) { border-color: #d7e0eb; background: #f2f6fa; }
html[data-theme="light"] .realtime-grid { background: #edf2f7; }
html[data-theme="light"] .service-contacts { border-color: #d7e0eb; background: #f8fafc; }
html[data-theme="light"] .service-conversation { background: #ffffff; }
html[data-theme="light"] :is(.service-search input, .service-send textarea, .user-chat-send textarea, .user-chat-actions select, .realtime-bet-filter select, .user-chat-shield-menu textarea) { border-color: #cad7e5; color: #2c425e; background: #ffffff; }
html[data-theme="light"] .service-search button { border-color: #c4d3e3; color: #436583; background: #f3f7fb; }
html[data-theme="light"] .service-contact { border-color: #e0e6ee; color: #2d425d; }
html[data-theme="light"] :is(.service-contact:hover, .service-contact.active) { background: #eaf2fb; }
html[data-theme="light"] :is(.service-contact strong, .service-chat-head strong, .realtime-list-panel>header strong) { color: #253b57; }
html[data-theme="light"] :is(.service-contact small, .service-contact em, .service-chat-head span, .realtime-list-panel>header span) { color: var(--text-muted); }
html[data-theme="light"] .service-chat-empty { color: var(--text-muted); }
html[data-theme="light"] .service-chat-empty>span { border-color: #bad0df; color: #287b6a; background: #e9f6f2; }
html[data-theme="light"] .service-message-bubble,
html[data-theme="light"] .service-message>div { border-color: #c7d8e8; color: #304b68; background: #edf5fc; }
html[data-theme="light"] .service-message.mine .service-message-bubble,
html[data-theme="light"] .service-message.mine>div { border-color: #91c6b7; color: #145d4f; background: #e4f6ef; }
html[data-theme="light"] .user-chat-send { border-color: #d7e0eb; background: #f4f7fa; }
html[data-theme="light"] .user-chat-older { border-color: #c4d3e3; color: #55708e; background: #ffffff; }
html[data-theme="light"] .user-group-chat>.panel-head .danger { border-color: #efc3cb; color: #bd3d53; background: #fff3f5; }
html[data-theme="light"] .user-chat-message:not(.operator)>div>p { border-color: #9bcab9; color: #174f43; background: #e4f6ef; }
html[data-theme="light"] .user-chat-message.operator>div>p { border-color: #a6c8e8; color: #294f75; background: #e6f2fd; }
html[data-theme="light"] .user-chat-message.mine>div>p { border-color: #3d7fd1; color: #ffffff; background: #3276c8; }
html[data-theme="light"] .user-chat-message header strong { color: #2a405c; }
html[data-theme="light"] .user-chat-message header small { color: var(--text-muted); }
html[data-theme="light"] .user-chat-message.operator header strong:after { color: #2c6595; background: #dceeff; }
html[data-theme="light"] .pending-coin-sections>section { border-color: #d6e0eb; background: #ffffff; }
html[data-theme="light"] .realtime-bet-row { border-color: #d7e0eb; background: #f8fafc; }
html[data-theme="light"] .realtime-launcher { border-color: #cbd7e4; background: rgba(255, 255, 255, .95); box-shadow: 0 14px 38px rgba(41, 62, 89, .16); }
html[data-theme="light"] .realtime-launcher button { color: var(--text-secondary); }
html[data-theme="light"] :is(.realtime-launcher button:enabled:hover, .realtime-launcher button.active) { border-color: #94c8b9; color: #17705d; background: #e7f6f1; }
html[data-theme="light"] .realtime-tabs button { color: #5e738d; }
html[data-theme="light"] :is(.realtime-tabs button:enabled:hover, .realtime-tabs button.active) { border-color: #adc1d6; color: #294e73; background: #e5eef8; }
html[data-theme="light"] :is(.user-chat-forecast-menu, .user-chat-shield-menu, .player-more-menu, .report-column-menu) { border-color: #cdd8e5; color: #2c425d; background: #ffffff; box-shadow: 0 18px 45px rgba(43, 65, 94, .18); }
html[data-theme="light"] :is(.user-chat-forecast-menu>div>label, .report-column-menu label) { border-color: #e0e6ed; color: #4c627d; background: #f8fafc; }
html[data-theme="light"] .report-column-menu label:hover { background: #edf3f9; }
html[data-theme="light"] :is(.realtime-grid::-webkit-scrollbar-track, .realtime-drawer .user-chat-messages::-webkit-scrollbar-track, .realtime-drawer .service-contact-list::-webkit-scrollbar-track, .realtime-drawer .service-messages::-webkit-scrollbar-track, .realtime-drawer .realtime-bet-list::-webkit-scrollbar-track, .realtime-drawer .pending-coin-sections .realtime-record-list::-webkit-scrollbar-track) { background: #edf2f7; }
html[data-theme="light"] :is(.realtime-grid::-webkit-scrollbar-thumb, .realtime-drawer .user-chat-messages::-webkit-scrollbar-thumb, .realtime-drawer .service-contact-list::-webkit-scrollbar-thumb, .realtime-drawer .service-messages::-webkit-scrollbar-thumb, .realtime-drawer .realtime-bet-list::-webkit-scrollbar-thumb, .realtime-drawer .pending-coin-sections .realtime-record-list::-webkit-scrollbar-thumb) { border-color: #edf2f7; background: #aebdce; }

/* Live draw, mobile navigation and application builder. */
html[data-theme="light"] .live-draw-bar { border-color: #c4d2e1; background: rgba(255, 255, 255, .97); box-shadow: 0 14px 42px rgba(42, 63, 91, .16); }
html[data-theme="light"] .live-draw-more { border-color: #d4dee9; color: #216b5b; background: #edf7f4; }
html[data-theme="light"] .live-draw-expanded { border-color: #c4d2e1; background: #ffffff; box-shadow: 0 -18px 55px rgba(45, 65, 91, .18); }
html[data-theme="light"] :is(.live-draw-expanded>header, .live-draw-table-head) { border-color: #d5dfe9; background: #eef3f8; }
html[data-theme="light"] :is(.live-draw-table-row, .live-draw-row) { border-color: #e0e6ee; background: #ffffff; }
html[data-theme="light"] .live-draw-table-row:hover { background: #f5f8fb; }
html[data-theme="light"] .live-draw-expanded>header button { border-color: #c5d3e1; color: #4b6582; background: #ffffff; }
html[data-theme="light"] .live-draw-balls i.live-draw-summary-ball { border-color: #abc0d5; color: #315270; background: #e6eef7; }
html[data-theme="light"] .user-mobile-footbar { border-color: #ccd7e3; background: rgba(255, 255, 255, .98); box-shadow: 0 -9px 28px rgba(42, 62, 88, .12); }
html[data-theme="light"] .user-mobile-footbar button { color: var(--text-secondary); }
html[data-theme="light"] .user-mobile-footbar button.active { color: #147560; background: #e8f6f2; }
html[data-theme="light"] .topbar { border-color: rgba(205, 217, 230, .9); background: rgba(247, 249, 252, .96); box-shadow: 0 9px 25px rgba(42, 62, 88, .09); }
html[data-theme="light"] .app-build-badge { color: #176f5d; background: #e6f6f1; }
html[data-theme="light"] :is(.app-name-field>span, .app-icon-field>span, .app-card-title>span, .app-status-visual strong, .app-published-head strong, .app-domain-field>span) { color: #304660; }
html[data-theme="light"] :is(.app-name-field input, .app-domain-field select) { border-color: #d3dce8; color: #293d58; background: #ffffff; }
html[data-theme="light"] .app-icon-picker { border-color: #cad6e4; background: linear-gradient(135deg, #fbfcfe, #f3f7fb); }
html[data-theme="light"] .app-icon-picker:hover { border-color: #7999c5; background: #f2f6fb; }
html[data-theme="light"] .app-icon-preview { border-color: #d6dfea; color: #7184a0; background: #ffffff; box-shadow: 0 9px 21px rgba(61, 83, 115, .1); }
html[data-theme="light"] .app-icon-copy strong { color: #314963; }
html[data-theme="light"] .app-icon-copy small { color: var(--text-muted); }
html[data-theme="light"] .app-card-title>b { color: #62738a; background: #edf1f6; }
html[data-theme="light"] .app-published-empty>span { color: #6a81a0; background: #edf2f8; }
html[data-theme="light"] .app-published-files>span { border-color: #dde4ed; background: #f8fafc; }
html[data-theme="light"] .app-published-files b { color: #405570; }
html[data-theme="light"] .domain-chip-qr { border-color: #d9e2ec; }
html[data-theme="light"] .domain-chip-qr small { color: var(--text-muted); }
html[data-theme="light"] .domain-app-empty {
  border-color: #c5d5e5;
  color: #14735e;
  background: #f1f6fb;
}
html[data-theme="light"] .domain-app-empty strong { color: #314963; }
html[data-theme="light"] .domain-app-empty small { color: var(--text-muted); }
html[data-theme="light"] a.domain-app-empty:hover { border-color: #84bcae; background: #e9f7f2; }

/* Robot list controls use the same light toolbar treatment as other data pages. */
html[data-theme="light"] .robot-filter { border-color: var(--line); background: #f5f8fb; }
html[data-theme="light"] .robot-bulk-actions span { color: var(--text-muted); }
html[data-theme="light"] .robot-bulk-actions button {
  border-color: #c7d5e4;
  color: #436383;
  background: #ffffff;
}
html[data-theme="light"] .robot-bulk-actions button.danger {
  border-color: #efc3cb;
  color: #bd3d53;
  background: #fff3f5;
}

html[data-theme="light"] .realtime-drawer .realtime-grid>.realtime-panel { border-color: #c8d5e4; }

/* Red packet-specific cards remain visually distinct in both themes. */
html[data-theme="light"] :is(.red-packet-dialog-card>.dialog-head, .red-packet-real-head, .red-packet-turnover-settings, .red-packet-player-picker-head) { border-color: #edd6d9; background: #fff7f7; }
html[data-theme="light"] .user-chat-red-packet { border-color: #eab7c0; color: #b5364c; background: #fff0f2; }
html[data-theme="light"] .user-chat-red-packet:hover { border-color: #d98998; background: #ffe7eb; }
html[data-theme="light"] .chat-structured:not(.red-card) { border-color: #c3d5e7; color: #2d4866; background: #edf5fc; }
html[data-theme="light"] .chat-structured:not(.red-card) p { color: #536d89!important; }

/* Light-theme contrast pass. Keep every page on the same readable text,
   control and status palette instead of leaking dark-theme child colors. */
html[data-theme="light"] body :where(
  .portal-loading strong,
  .service-drawer-head strong,
  .pending-coin-sections>section>header strong,
  .realtime-bet-player strong,
  .realtime-bet-room strong,
  .record-main strong,
  .record-value strong,
  .live-draw-game strong,
  .live-draw-expanded>header strong,
  .live-draw-table-name strong,
  .room-game-head strong,
  .blacklist-address strong,
  .claims-list strong,
  .management-identity strong,
  .management-metrics b,
  .player-identity strong,
  .player-metric strong,
  .player-login strong,
  .player-agent-parent strong,
  .player-detail-summary>div strong,
  .player-downline-list strong,
  .content-copy strong,
  .form-field-group>header strong,
  .structured-setting-head h3,
  .forecast-setting>strong,
  .collection-code-grid>div>strong,
  .benefit-rule-card header h4,
  .reward-rule-card h4,
  .reward-person strong,
  .reward-history strong,
  .reward-detail-head strong,
  .reward-detail-list b,
  .backwater-schedule-switch b,
  .red-packet-identity strong,
  .red-packet-player-picker-head strong,
  .red-packet-confirm-title strong,
  .red-packet-confirm-grid b,
  .red-packet-confirm-condition b,
  .red-packet-real-copy strong,
  .game-record-row>header strong,
  .game-record-player strong,
  .game-draw-row>div:first-child strong,
  .game-record-key strong,
  .user-log-detail>strong
) { color: var(--text-strong); }
html[data-theme="light"] .pending-coin-sections>section>header strong,
html[data-theme="light"] .game-draw-row>div:first-child strong { color: var(--text-strong); }

html[data-theme="light"] body :where(
  .service-drawer-head span,
  .realtime-list-panel>header span,
  .realtime-bet-player small,
  .realtime-bet-room small,
  .realtime-bet-row>p,
  .realtime-bet-row>b small,
  .record-main small,
  .record-value span,
  .record-note span,
  .record-note small,
  .live-draw-game small,
  .live-draw-result small,
  .live-draw-next span,
  .live-draw-time span,
  .live-draw-expanded>header span,
  .live-draw-table-head,
  .live-draw-table-reservation small,
  .room-game-head small,
  .room-merge-switch small,
  .blacklist-toolbar label,
  .blacklist-toolbar small,
  .blacklist-address small,
  .blacklist-row time,
  .claims-list small,
  .claims-list time,
  .management-identity small,
  .management-metrics span,
  .player-identity span,
  .player-identity small,
  .player-metric span,
  .player-login span,
  .player-login small,
  .player-agent-parent span,
  .player-detail-summary small,
  .player-detail-summary em,
  .player-detail-footer,
  .player-downline-list span,
  .player-points-empty,
  .content-copy p,
  .content-copy small,
  .structured-setting-head p,
  .structured-text-grid label,
  .structured-text-grid small,
  .forecast-setting>p,
  .forecast-options label,
  .standalone-field,
  .collection-row label,
  .collection-qr>span,
  .pair-setting-row label,
  .form-field-group>header small,
  .benefit-switch small,
  .benefit-number small,
  .benefit-rule-card header p,
  .benefit-rule-row label,
  .reward-switch small,
  .reward-rule-card header p,
  .reward-setting-grid label,
  .reward-filter label,
  .reward-rule-row label,
  .reward-person span,
  .reward-person em,
  .reward-history span,
  .reward-history small,
  .reward-detail-list em,
  .backwater-plan-card>header>small,
  .backwater-plan-metrics small,
  .backwater-history-controls label,
  .backwater-plan-fields label,
  .backwater-plan-block header p,
  .backwater-room-group>header small,
  .red-packet-identity small,
  .red-packet-identity p,
  .robot-plan-input,
  .robot-random-range>label,
  .robot-manual-plan,
  .robot-manual-plan small,
  .robot-work-period small,
  .robot-work-field>small,
  .red-packet-player-field>small,
  .red-packet-player-picker-head span,
  .red-packet-confirm-title span,
  .red-packet-confirm-grid span,
  .red-packet-confirm-condition span,
  .red-packet-confirm-condition small,
  .red-packet-real-copy small,
  .red-packet-turnover-choice,
  .game-record-filter label>span,
  .game-record-row>header span,
  .game-record-player small,
  .game-record-player time,
  .game-record-result>span,
  .game-record-balls>span,
  .game-record-row>footer>span,
  .game-draw-row>div:first-child span,
  .game-draw-row>div:first-child small,
  .game-draw-row>p,
  .game-record-key small,
  .game-record-table-time,
  .player-report-head span,
  .player-report-card .report-column-menu span,
  .game-draw-filter-note,
  .game-draw-row>p small,
  .game-record-times small,
  .game-record-time,
  .user-log-detail>span
) { color: var(--text-muted); }
html[data-theme="light"] :is(.game-draw-row>div:first-child span, .game-draw-row>div:first-child small) { color: var(--text-muted); }
html[data-theme="light"] .player-report-card .report-column-menu span { color: var(--text-muted); }

html[data-theme="light"] body :where(
  .field-label,
  .management-form .field-label,
  .benefit-copy-grid label,
  .reward-actions>label,
  .player-points-head label,
  .realtime-bet-filter label,
  .realtime-bet-filter>span,
  .apply-all,
  .content-list-switch,
  .robot-create-open,
  .robot-create-count,
  .robot-open-switch,
  .backwater-plan-card-open
) { color: var(--text-secondary); }
html[data-theme="light"] .game-record-row>footer strong:not(.gain):not(.loss) { color: var(--text-strong); }
html[data-theme="light"] .game-record-row>footer>span { background: var(--surface-soft); }
html[data-theme="light"] .user-confirm-dialog-card>#user-confirm-message { color: var(--text-secondary); }
html[data-theme="light"] .user-confirm-icon { border-color: #b9ccdf; color: #237665; background: #e9f6f2; }
html[data-theme="light"] :is(.red-packet-player-select-all, .red-packet-real-head) { border-color: var(--control-border); color: var(--text-secondary); background: var(--surface-soft); }

html[data-theme="light"] :is(
  .live-draw-next strong,
  .live-draw-table-period,
  .live-draw-table-next,
  .data-key-time
) { color: #315f91; }
html[data-theme="light"] :is(.live-draw-time strong, .live-draw-table-countdown) { color: #176f5d; }
html[data-theme="light"] :is(.live-draw-waiting, .live-draw-balls span, .live-draw-row.is-empty .live-draw-time strong, .live-draw-table-row.is-empty .live-draw-table-countdown) { color: var(--text-muted); }
html[data-theme="light"] .live-draw-table-invalid { color: var(--danger-text); }
html[data-theme="light"] .live-draw-table-name>i { background: #22a889; box-shadow: 0 0 0 3px rgba(34, 168, 137, .13); }
html[data-theme="light"] :is(.red-packet-confirm-grid .coin b, .red-packet-confirm-condition b) { color: #14735d; }
html[data-theme="light"] .red-packet-confirm-grid .count b { color: #315f91; }
html[data-theme="light"] .red-packet-confirm-grid .real.is-real { border-color: #e4aab4; background: #fff0f3; }
html[data-theme="light"] .red-packet-confirm-grid .real.is-real b { color: var(--danger-text); }

html[data-theme="light"] .data-number { color: var(--text-strong)!important; }
html[data-theme="light"] .data-number.gain { color: #14735d!important; }
html[data-theme="light"] .data-number.loss { color: var(--danger-text)!important; }
html[data-theme="light"] :is(.player-presence, .record-actions>span, .page-total) { color: var(--text-muted); }
html[data-theme="light"] .player-presence.is-online { color: #14735d; }

html[data-theme="light"] #content-form .switch-field .field-label,
html[data-theme="light"] #content-form .compact-switch .switch-control b,
html[data-theme="light"] #agent-reward-operation-form .agent-auto-time>span { color: var(--text-primary); }
html[data-theme="light"] :is(.player-slide-choice b, .robot-work-period>span) { color: var(--text-primary); }
html[data-theme="light"] #agent-reward-operation-form .agent-auto-time,
html[data-theme="light"] :is(.forecast-options label, .player-slide-choice, .robot-plan-mode-switch, .robot-plan-panel, .robot-manual-plan, .backwater-schedule-switch) {
  border-color: var(--control-border);
  background: var(--surface-soft);
}
html[data-theme="light"] #agent-reward-operation-form .agent-auto-time input,
html[data-theme="light"] :is(.robot-plan-input select, .robot-random-range input, .robot-manual-plan textarea) {
  border-color: var(--control-border);
  color: var(--text-primary);
  background: var(--surface);
}

html[data-theme="light"] :is(
  .player-actions button,
  .record-actions button,
  .user-data-table button,
  .game-record-state-actions button,
  .game-draw-period-actions button,
  .live-draw-table-reservation button,
  .red-packet-player-picker-head button,
  .player-downline-head button,
  .player-more-toggle,
  .report-column-toggle,
  .user-chat-image-button
) {
  border-color: var(--control-border);
  color: #3f5d7d;
  background: var(--surface-soft);
}
html[data-theme="light"] :is(
  .player-actions button:enabled:hover,
  .record-actions button:enabled:hover,
  .user-data-table button:enabled:hover,
  .game-record-state-actions button:enabled:hover,
  .game-draw-period-actions button:enabled:hover,
  .live-draw-table-reservation button:enabled:hover,
  .player-downline-head button:enabled:hover
) { border-color: #819bb8; color: #234a70; background: #eaf1f8; }
html[data-theme="light"] :is(
  .player-actions button.danger,
  .record-actions .danger,
  .user-data-table button.danger,
  .game-record-state-actions button.danger,
  .game-draw-period-actions button.danger,
  .live-draw-table-reservation button.danger,
  .player-review-bulk .reject
) { border-color: #e5aeb8; color: var(--danger-text); background: #fff0f3; }
html[data-theme="light"] .player-actions .player-reset-action { border-color: #ddc08d; color: var(--warning-text); background: #fff8e8; }
html[data-theme="light"] .player-actions .player-service-action { border-color: #adc4e4; color: #315f91; background: #edf4fd; }
html[data-theme="light"] .player-actions .player-enter-action,
html[data-theme="light"] .player-review-bulk .approve { border-color: #8dc8b8; color: #145e4f; background: #e7f6f1; }
html[data-theme="light"] :is(
  .player-more-toggle[aria-expanded="true"],
  .report-column-toggle[aria-expanded="true"],
  .user-chat-forecast-picker>.secondary[aria-expanded="true"],
  .user-chat-shield-picker>.secondary[aria-expanded="true"]
) { border-color: #83a3c7; color: #294f77; background: #e8f0f9; }
html[data-theme="light"] :is(.player-coin-mode button, .fixed-choice button) {
  border-color: var(--control-border);
  color: var(--text-secondary);
  background: var(--surface);
}
html[data-theme="light"] :is(.player-coin-mode button, .fixed-choice button):hover { border-color: #819bb8; color: #294f77; }
html[data-theme="light"] :is(.player-coin-mode button.active[data-player-coin-mode="true"], .fixed-choice button.active) { border-color: #70b7a4; color: #ffffff; background: #20806a; }
html[data-theme="light"] .player-coin-mode button.active[data-player-coin-mode="false"] { border-color: #c85a6d; color: #ffffff; background: #c94f65; }
html[data-theme="light"] .robot-plan-mode-switch span { color: var(--text-secondary); }
html[data-theme="light"] .robot-plan-mode-switch input:checked+span { color: #ffffff; background: #267e6a; box-shadow: 0 6px 16px rgba(38, 126, 106, .17); }
html[data-theme="light"] button.primary {
  border-color: transparent;
  color: #ffffff;
  background: linear-gradient(135deg, #14745f, #356bb8);
  box-shadow: 0 8px 20px rgba(38, 91, 133, .18);
}
html[data-theme="light"] button.primary:enabled:hover { filter: brightness(.96); }

html[data-theme="light"] :is(
  .switch-control,
  .mini-switch,
  .content-list-switch,
  .benefit-switch,
  .reward-switch,
  .room-merge-switch,
  .player-slide-choice,
  .player-registration-controls label,
  .player-row-slide,
  .robot-create-open,
  .robot-open-switch,
  .user-chat-mute,
  .user-chat-forecast-switch,
  .realtime-sound-toggle,
  .backwater-schedule-switch,
  .backwater-plan-card-open
) input+i {
  background: var(--switch-off);
  box-shadow: inset 0 0 0 1px rgba(60, 79, 104, .12);
}
html[data-theme="light"] :is(
  .switch-control,
  .mini-switch,
  .content-list-switch,
  .benefit-switch,
  .reward-switch,
  .room-merge-switch,
  .player-slide-choice,
  .player-registration-controls label,
  .player-row-slide,
  .robot-create-open,
  .robot-open-switch,
  .user-chat-mute,
  .user-chat-forecast-switch,
  .realtime-sound-toggle,
  .backwater-schedule-switch,
  .backwater-plan-card-open
) input+i::after { background: var(--switch-knob); box-shadow: 0 1px 4px rgba(38, 55, 78, .25); }
html[data-theme="light"] :is(
  .switch-control,
  .mini-switch,
  .content-list-switch,
  .benefit-switch,
  .reward-switch,
  .room-merge-switch,
  .player-slide-choice,
  .player-registration-controls label,
  .player-row-slide,
  .robot-create-open,
  .robot-open-switch,
  .user-chat-mute,
  .user-chat-forecast-switch,
  .realtime-sound-toggle,
  .backwater-schedule-switch,
  .backwater-plan-card-open
) input:checked+i { background: #27836f; }
html[data-theme="light"] :is(
  .switch-control,
  .mini-switch,
  .content-list-switch,
  .benefit-switch,
  .reward-switch,
  .room-merge-switch,
  .player-slide-choice,
  .player-registration-controls label,
  .player-row-slide,
  .robot-create-open,
  .robot-open-switch,
  .user-chat-mute,
  .user-chat-forecast-switch,
  .realtime-sound-toggle,
  .backwater-schedule-switch,
  .backwater-plan-card-open
) input:checked+i::after { background: #ffffff; }

html[data-theme="light"] .player-row-slide {
  border-color: var(--control-border);
  color: var(--text-secondary);
  background: var(--surface-soft);
}
html[data-theme="light"] :is(.player-row-slide, .realtime-sound-toggle):has(input:checked) { border-color: #8fc4b6; color: #176451; background: #e8f6f1; }
html[data-theme="light"] :is(.player-row-slide.danger, .player-slide-choice.danger, .player-registration-controls label.danger) input:checked+i { background: #c65064; }
html[data-theme="light"] .player-row-slide.danger:has(input:checked) { border-color: #e3abb5; color: var(--danger-text); background: #fff0f3; }
html[data-theme="light"] .player-slide-choice.danger:has(input:checked) { border-color: #e3abb5; background: #fff0f3; }
html[data-theme="light"] .player-row-slide.liar input:checked+i { background: #4f78bd; }
html[data-theme="light"] .player-row-slide.liar:has(input:checked) { border-color: #aac1e4; color: #315b94; background: #edf3fc; }
html[data-theme="light"] :is(.realtime-sound-toggle, .user-chat-mute, .backwater-schedule-switch) { border-color: var(--control-border); color: var(--text-secondary); background: var(--surface-soft); }

html[data-theme="light"] #side-avatar { color: #ffffff; }
html[data-theme="light"] .pages .page-total,
html[data-theme="light"] .robot-work-period>i,
html[data-theme="light"] .detail-card>p,
html[data-theme="light"] .player-downline-head p { color: var(--text-muted); }
html[data-theme="light"] .mini-switch>span { color: var(--text-secondary); }
html[data-theme="light"] .room-code { color: #14745f; }
html[data-theme="light"] .player-downline-search {
  border-color: var(--line);
  background: var(--surface-soft);
}

/* Shared interaction states stay legible without fading the whole control. */
html[data-theme="light"] :is(
  .robot-work-remove,
  .blacklist-clear,
  .blacklist-delete,
  .benefit-rule-remove,
  .reward-rule-remove,
  .pair-setting-remove,
  .collection-row-remove,
  .media-picker-clear,
  .domain-delete
) {
  border-color: var(--danger-border);
  color: var(--danger-text);
  background: var(--danger-bg);
}
html[data-theme="light"] :is(
  .robot-work-remove,
  .blacklist-clear,
  .blacklist-delete,
  .benefit-rule-remove,
  .reward-rule-remove,
  .pair-setting-remove,
  .collection-row-remove,
  .media-picker-clear,
  .domain-delete,
  button.danger
):enabled:hover {
  border-color: #cf7f90;
  color: #a62d43;
  background: #ffe6ec;
}
html[data-theme="light"] body button:disabled,
html[data-theme="light"] body :is(input, select, textarea):disabled:not([type="checkbox"]):not([type="radio"]) {
  /* Disabled colors take precedence over each action's normal semantic palette. */
  border-color: var(--disabled-border)!important;
  color: var(--disabled-text)!important;
  -webkit-text-fill-color: var(--disabled-text);
  background: var(--disabled-bg)!important;
  opacity: 1;
  box-shadow: none;
  filter: none;
  cursor: not-allowed;
}
html[data-theme="light"] body button.is-busy {
  color: transparent!important;
  -webkit-text-fill-color: transparent;
  cursor: wait;
}
html[data-theme="light"] :is(
  .backwater-plan-card-open,
  .content-list-switch,
  .player-registration-controls label,
  .player-row-slide,
  .user-chat-mute,
  .app-icon-picker
):has(input:disabled) {
  color: var(--disabled-text);
  opacity: 1;
}
html[data-theme="light"] body input[type="checkbox"]:disabled+i {
  background: #a4b1c1;
  box-shadow: inset 0 0 0 1px #8e9daf;
}
html[data-theme="light"] body input[type="checkbox"]:disabled:checked+i { background: #738f89; }
html[data-theme="light"] body input[type="checkbox"]:disabled+i::after { background: #f7f9fc; }
html[data-theme="light"] body :is(button, a, input, select, textarea):focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}
html[data-theme="light"] :is(
  .switch-control,
  .mini-switch,
  .content-list-switch,
  .benefit-switch,
  .reward-switch,
  .room-merge-switch,
  .player-slide-choice,
  .player-registration-controls label,
  .player-row-slide,
  .robot-create-open,
  .robot-open-switch,
  .user-chat-mute,
  .user-chat-forecast-switch,
  .realtime-sound-toggle,
  .backwater-schedule-switch,
  .backwater-plan-card-open
) input:focus-visible+i {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
}

html[data-theme="light"],
html[data-theme="light"] * { scrollbar-color: var(--scroll-thumb) var(--scroll-track); }
html[data-theme="light"] :is(
  .sidebar,
  .sidebar nav,
  .report-table-wrap,
  .realtime-grid,
  .user-chat-messages,
  .realtime-drawer .service-contact-list,
  .realtime-drawer .service-messages,
  .realtime-drawer .realtime-bet-list,
  .realtime-drawer .pending-coin-sections .realtime-record-list
) { scrollbar-color: var(--scroll-thumb) var(--scroll-track); }
html[data-theme="light"] ::-webkit-scrollbar-track,
html[data-theme="light"] ::-webkit-scrollbar-corner { background: var(--scroll-track); }
html[data-theme="light"] ::-webkit-scrollbar-thumb { border-radius: 999px; background: var(--scroll-thumb); }
html[data-theme="light"] ::-webkit-scrollbar-thumb:hover { background: #71849a; }
html[data-theme="light"] .captcha .captcha-status { color: var(--text-secondary); background: var(--surface-muted); }
html[data-theme="light"] button.is-busy::after { border-color: #52708f #52708f transparent transparent; }

@media (max-width: 780px) {
  .user-theme-toggle { top: 10px; right: 12px; width: 78px; min-height: 36px; padding-inline: 9px; }
  .toasts { top: 56px; }
  html[data-theme="light"] :is(.user-data-table tr, .report-table tr) { border-color: #d7e0eb!important; background: #ffffff!important; }
  html[data-theme="light"] :is(.user-data-table td, .report-table td, .report-table td:first-child) { border-color: #e0e6ee!important; color: #344b67!important; background: transparent!important; }
  html[data-theme="light"] :is(.user-data-table td::before, .report-table td::before) { color: var(--text-muted)!important; }
}

@media (prefers-reduced-motion: no-preference) {
  body,
  .sidebar,
  .panel,
  .dialog-card,
  .service-drawer,
  .live-draw-bar,
  .user-mobile-footbar { transition: color .16s ease, background-color .16s ease, border-color .16s ease; }
}

html[data-theme="light"] .home-game-tile-row{border-color:var(--line);background:#fff}
html[data-theme="light"] .home-game-tile-row>header{border-color:var(--line);background:#f1f5fa}
html[data-theme="light"] .home-game-tile-row>header strong{color:var(--text-strong)}
html[data-theme="light"] .home-game-tile-row>header small,
html[data-theme="light"] .home-game-tile-game,
html[data-theme="light"] .home-game-tile-title,
html[data-theme="light"] .home-game-tile-image{color:var(--text-muted)}
html[data-theme="light"] .home-game-tile-empty{border-color:#c5d2e1;color:var(--text-muted);background:#f8fafc}
html[data-theme="light"] .app-icon-size-hint{color:#315f91!important}
/*$vite$:1*/