/* css/views/admins.css — 视图私有样式,owner: admins 视图(W-SS-3)。
 * 只许本视图写;全部选择器前缀 .v-admins;颜色/间距用 var(--*)。
 * 共享类(.btn* .table* .modal* .field .input .select .badge* .state*)冻结,
 * 只重新着色不改名(DESIGN.md §0.10)——本文件不重定义它们。 */

/* 行内操作按钮组(镜像 .v-keys-actions)。 */
.v-admins-actions {
  display: flex;
  gap: var(--space-2);
  justify-content: flex-end;
  flex-wrap: wrap;
  white-space: nowrap;
}

/* env 名册只读底座的占位文案。 */
.v-admins-readonly {
  font-size: 13px;
}

/* 角色单元:等宽的稳定 wire 值。 */
.v-admins-role {
  font-family: var(--font-mono);
  font-size: 13px;
}

/* modal 内可滚动表单,避免长表单把操作条挤出视口。 */
.v-admins-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-height: 60vh;
  overflow-y: auto;
  padding-right: var(--space-1);
}

/* 表单级错误(后端消息 + trace_id;空时不占位)。 */
.v-admins-form-error {
  font-size: 13px;
  line-height: 1.5;
  color: var(--color-danger);
}
.v-admins-form-error:empty { display: none; }

/* 令牌揭示框:crimson tint 底 + 左缘信号条(破坏性/一次性提示;未激活不占位)。 */
.v-admins-token-warn {
  font-size: 13px;
  line-height: 1.5;
  color: var(--color-danger);
  background: var(--color-danger-tint);
  border-left: 3px solid var(--color-danger);
  border-radius: var(--radius-control);
  padding: var(--space-2) var(--space-3);
}
.v-admins-token-warn:not(.is-on) { display: none; }

/* 令牌行:只读 mono 字段 + 复制钮。 */
.v-admins-token-row {
  display: flex;
  gap: var(--space-2);
  align-items: center;
  margin: var(--space-3) 0;
}
.v-admins-token {
  flex: 1 1 auto;
  font-family: var(--font-mono);
  font-size: 13px;
}

/* 名册计数行(复用 .muted 着色,仅留间距钩子)。 */
.v-admins-count {
  margin-top: var(--space-3);
  font-size: 12px;
}

/* ---- 白画布 + 版头(§9g,2026-07-14,P2 轻改):主动作上区块版头,页头槽退役 ---- */
.v-admins-canvas {
  background: var(--color-surface);
  border-radius: 24px;
  padding: var(--space-6);
  margin-bottom: var(--space-6);
}
.v-admins-canvas .section { margin-bottom: 0; }
.v-admins-sub { font-size: 12px; font-weight: 400; color: var(--color-text-muted); margin-left: var(--space-2); }
.v-admins-sec-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin-bottom: var(--space-3);
}
.v-admins-sec-head .section-title { margin-bottom: 0; }
.v-admins-canvas .table th,
.v-admins-canvas .table td { white-space: nowrap; } /* 基础排版:不竖排 */
/* 画布内老 .card 面板转灰卡(§9g 第二层) */
.v-admins-canvas .card {
  background: var(--color-card);
  border: none;
  box-shadow: none;
  border-radius: 18px;
}

/* ---- 2026-07-14 用户规格(对齐员工页):工具栏 / 空态 / 来源标签 ---- */
.v-admins-hidden { display: none; }
.v-admins-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin-bottom: var(--space-3);
}
.v-admins-toolbar .filters { margin-bottom: 0; }
.v-admins-q { min-width: 220px; }
/* 空态:紧凑、垂直居中(对拍模型映射) */
.v-admins-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  padding: var(--space-6) var(--space-4);
  text-align: center;
}
.v-admins-empty-text {
  margin: 0;
  max-width: 46em;
  font-size: 13px;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
/* 来源标签:DB=橙「可管理」(文字级橙,淡橙底)/ env=灰「只读」 */
.v-admins-src {
  display: inline-flex;
  padding: 1px var(--space-2);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}
.v-admins-src-db { background: rgba(249, 115, 22, 0.14); color: var(--color-accent); }
.v-admins-src-env { background: var(--color-card); color: var(--color-text-muted); }

/* 名称列头像(2026-07-14):32px 圆;DB=浅橙底橙字首字,env=浅灰底灰盾牌 */
.v-admins-name { display: inline-flex; align-items: center; gap: var(--space-2); }
.v-admins-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  flex: none;
  font-size: 14px;
  font-weight: 600;
}
.v-admins-avatar-db { background: rgba(249, 115, 22, 0.14); color: var(--color-accent); }
.v-admins-avatar-env { background: var(--color-card); color: var(--color-text-muted); }
