/* ===== OPC 公司沙盘（工作室档案顶部）=====
   三档密度：创作/经营 = 横向行卡，后勤 = 紧凑条
   配色全部走主题变量，仅作用于 .settings-pane[data-pane="studio"] 内 */

.opc-sandbox{margin-bottom:16px}

/* 顶栏 */
.sbx-head{margin-bottom:12px}
.sbx-title{font-size:17px;font-weight:700;color:var(--ng-text-1);letter-spacing:.3px;
  display:flex;align-items:center;gap:8px}
.sbx-live{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--success);animation:sbxBlink 1.6s infinite}
.sbx-livetxt{font-size:11.5px;font-weight:400;color:var(--ng-text-3)}
.sbx-meta{font-size:12px;color:var(--ng-text-2);margin-top:5px;line-height:1.7}
.sbx-meta b{color:var(--ng-primary);font-weight:700}
.sbx-meta .sep{color:var(--ng-text-3);margin:0 6px;opacity:.55}

@keyframes sbxBlink{0%,100%{opacity:.25}50%{opacity:1}}

/* 分区标题 */
.sbx-zone{margin-bottom:10px}
.sbx-zt{font-size:10.5px;font-weight:700;color:var(--ng-text-3);letter-spacing:1.6px;
  text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.sbx-zt::after{content:"";flex:1;height:1px;background:var(--ng-border);opacity:.6}

/* 行卡网格：4 列，横向紧凑 */
.sbx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media (max-width:1080px){.sbx-grid{grid-template-columns:repeat(2,1fr)}}

.sbx-room{position:relative;display:flex;align-items:center;gap:9px;
  background:var(--ng-surface-2);border:1px solid var(--ng-border);border-radius:9px;
  padding:9px 10px;transition:border-color .16s ease,background .16s ease}
.sbx-room:hover{border-color:var(--ng-border-strong)}

.sbx-ico{flex:0 0 26px;width:26px;height:26px;border-radius:7px;
  display:flex;align-items:center;justify-content:center;font-size:13px;
  background:color-mix(in srgb,var(--ng-text-3) 12%,transparent);color:var(--ng-text-2)}
.sbx-body{min-width:0;flex:1}
.sbx-name{font-weight:600;font-size:12.5px;color:var(--ng-text-1);line-height:1.3}
.sbx-desc{font-size:11px;color:var(--ng-text-3);line-height:1.4;margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 右侧状态点 */
.sbx-dot{flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--ng-text-3);opacity:.35}

/* 你在这里：主色描边 + 图标点亮 */
.sbx-room.is-on{border-color:color-mix(in srgb,var(--ng-primary) 48%,transparent);
  background:color-mix(in srgb,var(--ng-primary) 6%,var(--ng-surface-2))}
.sbx-room.is-on .sbx-ico{background:color-mix(in srgb,var(--ng-primary) 18%,transparent);color:var(--ng-primary)}
.sbx-room.is-on .sbx-name{color:var(--ng-text-1)}
.sbx-room.is-on .sbx-desc{color:var(--ng-primary)}
.sbx-room.is-on .sbx-dot{background:var(--success);opacity:1;animation:sbxBlink 2s infinite}

/* AI 待命：中性 */
.sbx-room.is-wait .sbx-dot{background:var(--warning);opacity:.75}

/* 未启用：压暗 */
.sbx-room.is-idle{opacity:.5}
.sbx-room.is-idle:hover{opacity:.75}

/* 后勤紧凑条 */
.sbx-bar{display:flex;flex-wrap:wrap;gap:7px}
.sbx-chip{display:inline-flex;align-items:center;gap:6px;
  background:var(--ng-surface-2);border:1px solid var(--ng-border);border-radius:20px;
  padding:5px 11px;font-size:11.5px;color:var(--ng-text-2);opacity:.72}
.sbx-chip i{font-style:normal;font-size:12px;color:var(--ng-text-3)}
.sbx-chip em{font-style:normal;color:var(--ng-text-3);font-size:11px;
  padding-left:6px;margin-left:1px;border-left:1px solid var(--ng-border)}

/* 动作区 */
.sbx-act{display:flex;align-items:center;gap:9px;margin-top:14px;flex-wrap:wrap}
.sbx-btn{appearance:none;cursor:pointer;font-size:12.5px;font-weight:600;
  padding:7px 15px;border-radius:8px;line-height:1.4;
  background:var(--ng-surface-2);color:var(--ng-text-1);border:1px solid var(--ng-border);
  transition:border-color .16s ease,background .16s ease,transform .12s ease}
.sbx-btn:hover{border-color:var(--ng-border-strong);transform:translateY(-1px)}
.sbx-btn.primary{background:var(--ng-primary);border-color:var(--ng-primary);color:#fff}
.sbx-btn.primary:hover{filter:brightness(1.06)}
.sbx-btn:active{transform:translateY(0)}

/* 空态提示 */
.sbx-empty{font-size:11.5px;color:var(--ng-text-3)}

/* v9 修复：公司页右栏变窄后沙盘溢出 —— 自适应列 + 允许收缩 */
#ckSandMount .sbx-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;gap:8px}
#ckSandMount .sbx-room{min-width:0;overflow:hidden;cursor:pointer}
#ckSandMount .sbx-body{min-width:0;overflow:hidden}
#ckSandMount .sbx-name,#ckSandMount .sbx-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ckSandMount .sbx-room:hover{border-color:var(--ng-primary)}
@media (max-width:1400px){#ckSandMount .sbx-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))!important}}


/* ===== v17 light 主题对比度总修（实测29处不达标，逐条对症） ===== */
html[data-theme="light"] .opc-ck-next-btn{
  background:#4B4AC7;color:#fff!important;border:1px solid #4B4AC7;
  box-shadow:0 2px 10px rgba(75,74,199,.22)}
html[data-theme="light"] .opc-ck-next-btn:hover{background:#3E3DB4;border-color:#3E3DB4}
html[data-theme="light"] .opc-ck-next-btn.ghost,
html[data-theme="light"] .opc-ck-next-btn[data-act="later"]{
  background:transparent;color:#4A5468!important;border:1px solid rgba(20,19,43,.16);box-shadow:none}
/* 沙盘灰字统一加深（原 #7B858F 压白仅3.75:1） */
html[data-theme="light"] .sbx-livetxt,
html[data-theme="light"] .sbx-zt,
html[data-theme="light"] .sbx-desc,
html[data-theme="light"] .sbx-empty,
html[data-theme="light"] .sbx-sep,
html[data-theme="light"] .sbx-card i,
html[data-theme="light"] .sbx-card em,
html[data-theme="light"] .sbx-room em,
html[data-theme="light"] .sbx-room i{color:#5A6478!important}
/* 主按钮紫底加深，保证白字 4.5:1 */
html[data-theme="light"] .sbx-btn.primary{background:#5A4BD8!important;color:#fff!important;border-color:#5A4BD8!important}
html[data-theme="light"] .sbx-btn.primary:hover{background:#4B3DC4!important}
/* 数字/强调紫加深 */
html[data-theme="light"] .sbx-card b,
html[data-theme="light"] .sbx-num,
html[data-theme="light"] .sbx-room b{color:#5A4BD8!important}
/* 任何紫底容器内文字强制白，杜绝深字压紫（实测 2.49:1） */
html[data-theme="light"] .opc-ck-chip-on,
html[data-theme="light"] [class*="primary"] *,
html[data-theme="light"] .opc-ck-next-btn *{color:inherit!important}

/* ===== v17-b 剩余15处对比度收口（实测定位） ===== */
/* 1) 时间河「今天」标签：深字压紫仅2.49:1 -> 紫底白字胶囊 */
html[data-theme="light"] .opc-ck-now u,
html[data-theme="light"] .opc-ck-now b{
  color:#fff!important;background:#4B4AC7;padding:1px 7px;border-radius:7px;
  font-style:normal;text-decoration:none;letter-spacing:.02em}
/* 2) 沙盘统计条 b/i/em/.sep：#7B858F压白仅3.35~3.97 -> 加深 */
html[data-theme="light"] #ckSandMount i,
html[data-theme="light"] #ckSandMount em,
html[data-theme="light"] #ckSandMount .sep{color:#5A6478!important;font-style:normal}
html[data-theme="light"] #ckSandMount b{color:#3F35B8!important}
/* 3) 沙盘主按钮：白字压#7C6CF3仅3.97 -> 底色加深 */
html[data-theme="light"] .sbx-btn.primary{background:#5A4BD8!important;border-color:#5A4BD8!important;color:#fff!important}
html[data-theme="light"] .sbx-btn.primary:hover{background:#4B3FC4!important}


/* v21：后勤四间也带一句说明，和上面的房间卡一致 */
.sbx-chip { align-items:center;gap:8px;padding:7px 12px;border-radius:14px;opacity:.88 }
.sbx-chip-t { display:flex;flex-direction:column;line-height:1.25;min-width:0 }
.sbx-chip-t b { font-size:11.5px;font-weight:600;color:var(--ng-text-2) }
.sbx-chip-t em { font-style:normal;font-size:10.5px;color:var(--ng-text-3);
  border:0;padding:0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis }
.sbx-chip u { text-decoration:none;font-size:11px;color:var(--ng-text-3);
  padding-left:8px;margin-left:2px;border-left:1px solid var(--ng-border);flex:0 0 auto }
.sbx-chip:hover { opacity:1 }
