/* 多彩赛事管理台 —— 对齐指挥中心浅色运营台设计语言
   （白底圆角卡片 + #e4e9ef 细分隔 + 深色主按钮/白底次按钮，参考 supply-moment-admin / promotion-center） */
.gc-shell {
  display: grid;
  gap: 18px;
  max-width: 1440px;
  margin: 0 auto;
  color: #21303f;
}

/* 页头 */
.gc-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.gc-head > div {
  min-width: 0;
}

.gc-head-left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.gc-head p {
  margin: 0 0 6px;
  font-size: 10px;
  letter-spacing: 3px;
  color: #a18452;
}

.gc-head h2 {
  margin: 0;
  font-size: 26px;
  color: #172130;
}

.gc-muted {
  margin: 0;
  font-size: 13px;
  color: #738197;
  line-height: 1.6;
}

.gc-back {
  align-self: center;
}

.gc-dirty {
  align-self: center;
  padding: 5px 12px;
  border: 1px solid #f0dfc0;
  border-radius: 999px;
  background: #fff7e7;
  color: #a46c13;
  font-size: 12px;
  font-weight: 600;
}

/* 按钮体系（作用域内统一主次风格） */
.gc-shell button {
  min-height: 38px;
  padding: 8px 16px;
  border: 1px solid #dde5ef;
  border-radius: 9px;
  background: #fff;
  color: #26374b;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.gc-shell button:hover:not(:disabled) {
  background: #faf8f2;
  border-color: #b89450;
}

.gc-shell button:disabled {
  color: #99a5af;
  background: #edf0f3;
  cursor: not-allowed;
}

.gc-shell button.primary {
  border-color: #142431;
  background: #142431;
  color: #f2d799;
}

.gc-shell button.primary:hover:not(:disabled) {
  border-color: #263d4e;
  background: #263d4e;
}

.gc-shell button:focus-visible,
.gc-shell input:focus-visible,
.gc-shell select:focus-visible {
  outline: 2px solid #ba9659;
  outline-offset: 2px;
}

.gc-icon-btn {
  width: 34px;
  min-height: 34px !important;
  padding: 0 !important;
  display: grid;
  place-items: center;
  color: #99a5af;
}

.gc-icon-btn:hover:not(:disabled) {
  color: #ba3949;
  border-color: #eccdd2 !important;
  background: #fff8f8 !important;
}

/* 页签：指挥中心分段胶囊 */
.gc-tabs {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid #e4e9ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(31, 42, 55, .05);
  justify-self: start;
}

.gc-tabs button {
  min-height: 36px;
  padding: 7px 18px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #738197;
}

.gc-tabs button:hover:not(:disabled) {
  background: #f3f5f8;
  border-color: transparent;
  color: #26374b;
}

.gc-tabs button.is-active {
  background: #142431;
  color: #f2d799;
}

/* 玩法卡片 */
.gc-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
}

.gc-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  padding: 20px;
  border: 1px solid #e4e9ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(31, 42, 55, .05);
}

.gc-card.is-running {
  border-color: #b7d6c2;
}

.gc-card.is-disabled {
  opacity: .55;
}

.gc-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.gc-card-icon {
  display: grid;
  width: 48px;
  height: 48px;
  flex: none;
  place-items: center;
  border-radius: 12px;
  background: #f6f0e3;
  font-size: 26px;
}

.gc-card.is-disabled .gc-card-icon {
  background: #f2f5f9;
}

.gc-card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex-wrap: wrap;
}

.gc-card h3 {
  margin: 0;
  font-size: 17px;
  color: #172130;
}

.gc-card p {
  margin: 0;
  font-size: 13px;
  color: #738197;
  line-height: 1.6;
}

.gc-badge {
  flex: none;
  padding: 3px 10px;
  border: 1px solid #cde5d5;
  border-radius: 999px;
  background: #edf5ee;
  color: #2e7d4f;
  font-size: 11px;
  font-weight: 600;
}

.gc-badge.is-soon {
  border-color: #dde5ef;
  background: #f2f5f9;
  color: #738197;
}

.gc-card-metric {
  color: #947239 !important;
  font-weight: 600;
}

.gc-card-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: auto;
  padding-top: 6px;
}

.gc-section-title {
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: #8e9ba7;
}

/* 空状态 */
.gc-empty {
  padding: 22px;
  border: 1px dashed #d5dde6;
  border-radius: 12px;
  background: #f8fafb;
  color: #8e9ba7;
  font-size: 13px;
  line-height: 1.7;
  text-align: center;
}

/* 比赛联动条 */
.gc-match-link {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  align-items: baseline;
  padding: 16px 20px;
  border: 1px solid #e4e9ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(31, 42, 55, .05);
  font-size: 13px;
  color: #526073;
}

.gc-match-link > strong {
  color: #253143;
  font-size: 14px;
}

.gc-match-link b {
  color: #947239;
  font-variant-numeric: tabular-nums;
}

.gc-match-link p {
  flex-basis: 100%;
  margin: 0;
  color: #8e9ba7;
  font-size: 12px;
}

/* 赛前配置：卡片化分区 */
.gc-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(360px, 1fr);
  gap: 18px;
  align-items: start;
}

.gc-form {
  display: grid;
  gap: 16px;
  align-content: start;
  min-width: 0;
}

.gc-panel {
  display: grid;
  gap: 14px;
  align-content: start;
  min-width: 0;
  padding: 22px;
  border: 1px solid #e4e9ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(31, 42, 55, .05);
}

.gc-panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.gc-panel-title h3 {
  margin: 0;
  font-size: 15px;
  color: #172130;
}

.gc-panel-title > span {
  font-size: 12px;
  color: #8e9ba7;
}

.gc-switch {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  cursor: pointer;
}

.gc-switch input {
  width: 17px;
  height: 17px;
  flex: none;
  accent-color: #ac8749;
}

.gc-field {
  display: grid;
  gap: 6px;
  font-size: 13px;
  color: #647188;
}

.gc-field input,
.gc-shell select,
.gc-tier-row input,
.gc-cell-row input,
.gc-actor input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid #dce4ee;
  border-radius: 9px;
  background: #fff;
  color: #1d2939;
  font: inherit;
  font-size: 14px;
}

.gc-tiers, .gc-cells {
  display: grid;
  gap: 8px;
}

.gc-tier-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 84px 14px 34px;
  gap: 8px;
  align-items: center;
}

.gc-tier-row input[data-gc-tier="ratio"] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.gc-tier-sign {
  color: #8e9ba7;
  font-size: 13px;
}

.gc-cell-row {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr) 64px;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid #e8edf2;
  border-radius: 10px;
  background: #f8fafb;
}

.gc-cell-row.is-done {
  border-color: #cde5d5;
  background: #edf5ee;
}

.gc-cell-row .gc-cell-icon {
  text-align: center;
}

.gc-cell-state {
  font-size: 11px;
  color: #2e7d4f;
  text-align: right;
}

.gc-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.gc-feedback {
  margin: 0;
  padding: 10px 14px;
  border-radius: 9px;
  background: #edf5ee;
  color: #264930;
  font-size: 13px;
  line-height: 1.5;
}

.gc-feedback.gc-error {
  background: #fdf0f1;
  color: #ad3045;
}

/* 大屏预览 */
.gc-preview {
  position: sticky;
  top: 16px;
  overflow: hidden;
  border: 1px solid #e4e9ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(31, 42, 55, .05);
}

.gc-preview-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid #eef2f6;
  font-size: 14px;
  color: #172130;
}

.gc-preview-head span {
  font-size: 11px;
  color: #8e9ba7;
}

.gc-preview-frame {
  position: relative;
  overflow: hidden;
  background: #05060c;
}

.gc-preview-stage {
  width: 1280px;
  transform-origin: top left;
}

.gc-mystery-live{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:16px}
.gc-shell .gc-field[hidden]{display:none}
.gc-mystery-card{padding:18px;border:1px solid #dfe5ed;border-radius:12px;background:#fafbfc;margin-bottom:14px}
.gc-mystery-card h3{margin:0 0 12px;color:#233142;font-size:16px}
.gc-mystery-card p{color:#617087;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.gc-preview-pages{display:flex;gap:12px;align-items:center;justify-content:center;padding:12px;font-size:13px;color:#68768a}
.gc-fullscreen-dialog{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#020810;overflow:hidden}
.gc-fullscreen-stage{width:100%;height:100%}
.gc-fullscreen-close{position:absolute;right:20px;top:14px;z-index:30;background:#112331;color:#f0d292;border:1px solid #b39864;border-radius:8px;padding:10px 16px;cursor:pointer}
.gc-fullscreen-stage>.bgl-viewport,.gc-fullscreen-stage>.hr-viewport{height:100%}

.gc-preview-stage .game-stage {
  min-height: 0;
}

/* 现场控制 */
.gc-live-picker {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.gc-live-picker button {
  border-radius: 999px;
}

.gc-live-picker button.is-active,
.gc-live-picker button.is-active:hover:not(:disabled) {
  border-color: #142431;
  background: #142431;
  color: #f2d799;
}

.gc-actor {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 13px;
  color: #738197;
}

.gc-actor input {
  width: 220px;
  flex: none;
}

.gc-live-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.gc-live-cell {
  display: flex;
  min-height: 112px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 16px 10px;
  border-radius: 14px;
  background: #f8fafb;
}

.gc-live-cell i {
  font-style: normal;
  font-size: 28px;
}

.gc-live-cell b {
  font-size: 15px;
  line-height: 1.35;
  text-align: center;
}

.gc-live-cell small {
  font-size: 11px;
  font-weight: 400;
  color: #8e9ba7;
}

.gc-live-cell.is-done,
.gc-live-cell.is-done:hover:not(:disabled) {
  border-color: #9cc8ac;
  background: #edf5ee;
}

.gc-live-cell.is-done small {
  color: #2e7d4f;
}

.gc-live-pool {
  display: grid;
  gap: 18px;
}

.gc-live-pool-now {
  display: flex;
  align-items: baseline;
  gap: 14px;
}

.gc-live-pool-now small {
  font-size: 13px;
  color: #738197;
}

.gc-live-pool-now strong {
  font-size: 40px;
  color: #947239;
  font-variant-numeric: tabular-nums;
}

.gc-live-award, .gc-live-boost {
  display: grid;
  gap: 10px;
}

.gc-live-award > strong, .gc-live-boost > strong {
  font-size: 14px;
  color: #253143;
}

.gc-live-award-row, .gc-live-boost-row {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.gc-live-award-row select {
  width: auto;
  min-width: 260px;
  flex: 1;
}

.gc-live-boost-row button {
  min-width: 96px;
  font-variant-numeric: tabular-nums;
}

/* 大屏展示卡 */
.gc-tv-head {
  display: grid;
  gap: 4px;
}

.gc-tv-head strong {
  font-size: 15px;
  color: #172130;
}

.gc-tv-head span {
  font-size: 12px;
  color: #8e9ba7;
}

.gc-devices {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.gc-device {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid #dde5ef;
  border-radius: 999px;
  background: #fff;
  font-size: 13px;
  cursor: pointer;
}

.gc-device input {
  accent-color: #ac8749;
}

.gc-device:has(input:checked) {
  border-color: #b89450;
  background: #faf8f2;
}

.gc-device.is-blocked {
  opacity: .5;
  cursor: not-allowed;
}

.gc-device small {
  color: #8e9ba7;
}

.gc-tv-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* 玩法记录 */
.gc-records {
  overflow: hidden;
  border: 1px solid #e4e9ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(31, 42, 55, .05);
}

.gc-record {
  display: grid;
  grid-template-columns: 84px 110px 96px minmax(0, 1fr) 80px;
  gap: 14px;
  align-items: baseline;
  padding: 12px 20px;
  border-bottom: 1px solid #eef2f6;
  font-size: 13px;
}

.gc-record:last-child {
  border-bottom: 0;
}

.gc-record time {
  color: #8e9ba7;
  font-variant-numeric: tabular-nums;
}

.gc-record-game {
  color: #253143;
  font-weight: 600;
}

.gc-record-kind {
  justify-self: start;
  padding: 2px 8px;
  border-radius: 6px;
  background: #f6f0e3;
  color: #947239;
  font-size: 11px;
  font-weight: 600;
}

.gc-record-label {
  color: #455565;
  overflow-wrap: anywhere;
}

.gc-record-actor {
  color: #8e9ba7;
  text-align: right;
}

/* 响应式 */
@media (max-width: 1100px) {
  .gc-layout { grid-template-columns: minmax(0, 1fr); }
  .gc-preview { position: static; }
}

@media (max-width: 700px) {
  .gc-head h2 { font-size: 22px; }
  .gc-panel, .gc-card { padding: 16px; border-radius: 12px; }
  .gc-live-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .gc-live-cell { min-height: 96px; }
  .gc-record { grid-template-columns: 70px minmax(0, 1fr) 64px; }
  .gc-record-kind, .gc-record-actor { display: none; }
}

/* 计时控制台入口徽章（位于深色计时台上，保持金色描边） */
.cc-games-entry {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(255, 214, 120, 0.4);
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 13px;
  color: inherit;
  text-decoration: none;
  background: rgba(255, 214, 120, 0.08);
}

.cc-games-entry b {
  color: #ffd968;
}

.cc-games-entry[hidden] {
  display: none;
}

.cc-timer-stage > .cc-games-entry {
  position: absolute;
  top: 44px;
  right: 16px;
  z-index: 5;
}

#cc-games-page .gc-announcement-panel textarea{min-height:70px;border:1px solid #d8e2ee;border-radius:12px;padding:12px;box-sizing:border-box;font:inherit;resize:vertical}

.gc-pool-adjust-row { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.gc-pool-adjust-row input { flex:1 1 180px; min-width:0; width:auto; }
.gc-pool-adjust-row button { min-height:44px; }
.gc-pool-adjust-field { margin-bottom:-4px; }
.gc-pool-adjust-row input[aria-invalid="true"] { border-color:#b42318; }
@media(max-width:480px) { .gc-pool-adjust-row input { flex-basis:100%; } .gc-pool-adjust-row button { flex:1; } }

.gc-treasure-config{display:grid;grid-template-columns:1.2fr 1.3fr .8fr;gap:12px;align-items:center;border-bottom:1px solid #e6ebef;padding:8px 0}.gc-treasure-config .gc-field{min-width:0}.gc-treasure-config input,.gc-treasure-config select{width:100%}@media(max-width:700px){.gc-treasure-config{grid-template-columns:1fr}.gc-treasure-config .gc-field{margin:0}}
.gc-treasure-modes{display:flex;gap:4px}.gc-treasure-modes label{position:relative;flex:1}.gc-treasure-modes input{position:absolute;opacity:0;width:1px!important}.gc-treasure-modes span{display:flex;align-items:center;justify-content:center;padding:12px 5px;border:1px solid #dce3ec;border-radius:6px;font-size:12px;cursor:pointer;white-space:nowrap}.gc-treasure-modes input:checked+span{background:#f7f0df;border-color:#be9a58;color:#8d692c}.gc-treasure-modes input:focus-visible+span{outline:2px solid #ad8440}

#cc-games-page .gc-treasure-value{position:relative;display:block}
#cc-games-page .gc-treasure-value input{padding-right:42px}
#cc-games-page [data-gc-treasure-value-unit]{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#748196;pointer-events:none}

#cc-games-page [data-gc-activity="content"]{width:100%;min-width:0;min-height:130px;box-sizing:border-box;padding:12px;border:1px solid #d8e2ee;border-radius:12px;background:#fff;color:#203143;font:inherit;line-height:1.6;resize:vertical}

#cc-games-page .gc-task-remove{color:#a34b48;border-color:#e4c6c4;background:#fff7f6;align-self:end}

.gc-wheel-summary{display:flex;gap:30px;padding:20px 0;border-block:1px solid #e1e6ec;margin:20px 0;color:#667987}.gc-wheel-summary b{font-size:30px;color:#243747;font-weight:500;margin-inline:8px}.gc-wheel-draw{min-height:50px;min-width:220px;margin-bottom:15px}.gc-wheel-last{padding:20px;border-left:2px solid #c4a05d;background:#fbf8f0}.gc-wheel-last h3{font-size:27px;margin:15px 0;color:#9b7438}.gc-wheel-last p{margin:0}.gc-wheel-table-wrap{overflow-x:auto;margin:20px 0}.gc-wheel-table{width:100%;min-width:660px;border-collapse:collapse;font-size:13px}.gc-wheel-table th,.gc-wheel-table td{padding:10px;border-bottom:1px solid #dfe5eb;text-align:left}.gc-wheel-table input,.gc-wheel-table select{width:100%;min-height:44px;min-width:70px}.gc-wheel-table td:first-child{min-width:150px}.gc-wheel-table input[type=number]{max-width:105px}@media(max-width:480px){.gc-wheel-summary{gap:15px;flex-wrap:wrap}.gc-wheel-draw{width:100%;min-width:0}}

/* Manager-configured quick adjustments reuse the manual pool workflow. */
.gc-quick-add{margin:18px 0 22px}
.gc-quick-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gc-quick-heading strong{font-size:15px}
.gc-shell .gc-quick-heading button{min-height:44px}
.gc-quick-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.gc-shell .gc-quick-buttons button{min-height:48px;min-width:120px;flex:1;font-size:16px;font-weight:650;font-variant-numeric:tabular-nums;color:#83632d;background:#fbf8f1;border-color:#ddcaa3;touch-action:manipulation}
.gc-shell .gc-quick-buttons button:active:not(:disabled){background:#ede1c8}
.gc-quick-editor-row{display:grid;grid-template-columns:85px minmax(0,1fr) 80px;gap:12px;align-items:center;margin:12px 0}
.gc-quick-editor-row input{min-width:0;width:100%}
.gc-shell .gc-quick-editor-row button{min-height:44px}
@media(max-width:600px){.gc-quick-buttons{display:grid;grid-template-columns:1fr 1fr}.gc-shell .gc-quick-buttons button{min-width:0}.gc-quick-editor-row{grid-template-columns:58px minmax(0,1fr) 64px;gap:8px}}
@media(max-width:600px){.gc-shell .gc-quick-buttons button{padding-inline:8px;font-size:15px}}

/* Extend the new order-supply label's touch area without changing other switches. */
.gc-auto-supply .gc-switch { min-height: 44px; }

/* History filters reuse existing fields and buttons. */
.gc-record-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:20px 0}
.gc-record-filters .gc-field{min-width:160px;margin:0}
.gc-record-filters button,.gc-record-pagination button{min-height:44px}
.gc-record-pagination{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}
@media(max-width:600px){.gc-record-filters .gc-field{flex:1;min-width:130px}.gc-record-filters button{flex:1}}
