/* ============================================================
   科德大陆 · 符文试炼 —— 班级开号页样式（/admin.html）
   ⚠️ 本文件**只服务开号页**（运维页 + 我的班级页见 players.css，补通页见 skip.css）
   共用的提示 / 选项行 / 结果摘要 → admin-common.css

   加载顺序（硬约束）：
     vendor/bootstrap.min.css → theme.css → style.css → admin-common.css → admin.css

   复用策略
   ------------------------------------------------------------
     · 页面外壳 .app / .topbar / .brand / .panel / .actions / .chip
       → 来自 style.css
     · 提示 / 选项行 / 结果摘要 → 来自 admin-common.css
     · 深色等宽面板 #csv / .roster
       → 复用 theme.css 的 .code-surface
   ============================================================ */

/* ---------------- 双栏主体（左输入 / 右结果）----------------
   刻意用 CSS Grid 而非 Bootstrap 的 row / col：
   后者的负 margin 沟槽嵌进 .app（带 12px 内边距的 flex 列）会横向溢出

   ★2026-09-20：现在有**两行** —— 第 1 行是整宽的「管理身份」卡 ✓、第 2 行才是双栏 ✓
     ⚠️ `grid-template-rows` **必须写死** `max-content 1fr` ✗：
        不写的话两行都是 auto ⇒ 默认的 `align-content: stretch` 会把**身份卡那一行也拉高** ✗✗
        （症状：身份卡里空出一大片 ✓ —— 这个坑实测踩到过 ✓）
     ⚠️ 第 1 行**按内容高**：折叠时一行（~50px ✓）、未鉴权展开时按表单高 ✓ */
.admin {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: max-content 1fr;
  gap: 12px;
  min-height: 0;
}

/* 「管理身份」**横跨两栏** ✓
   （它由 `admin-api.js` 的 `mountAuthCard` 渲染 ✓ —— 页面只给一个挂载点 ✓，见 `Plan/5` §9.32 ✓）
   ⚠️ 用 `1 / -1` 而不是写死 `1 / 3` ✓：将来改列数也不会漏 ✓ */
.admin > [data-auth-mount] { grid-column: 1 / -1; }

@media (max-width: 900px) {
  /* 窄屏退回单列 ⇒ 行也回到 auto（三块依次堆叠 ✓，靠外层滚动 ✓）*/
  .admin {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    overflow-y: auto;
  }
}

/* ---------------- 名单输入框 ----------------
   外观（深色底 / 边框 / 圆角 / 等宽字体）来自 .code-surface */
#csv {
  flex: 1;
  min-height: 220px;
  resize: none;
  outline: none;
}
#csv:focus { border-color: var(--accent); }

/* ---------------- 账号名单预览 ----------------
   外观来自 .code-surface；等宽 + white-space:pre 以保留列对齐 */
.roster {
  flex: 1;
  min-height: 0;
  margin: 12px 0 0;
  overflow: auto;
  font-size: 12px;
  white-space: pre;
}

/* ⚠️ 原先这里有个 `.panel__title--gap`（同一张卡里"管理身份 + 班级名单"两组标题的间距 ✓）
   —— 2026-09-20 身份卡**独立成卡**之后，那张卡里只剩一个标题 ⇒ **规则已删** ✓
   （死样式不留 ✗：留着下次会有人以为它还在用 ✓）*/

/* ---------------- 需要老师处理的行（建号失败清单）---------------- */
.failed {
  margin-top: 12px;
  font-size: 12px;
  color: var(--danger);
  line-height: 1.8;
}
