/*
 * waylog 车本全局样式 — 后台页段落
 * 职责：styles.css 内嵌的 admin-* 规则段（供 admin.html 引用本文件组时生效）。与根目录独立文件 admin.css 无关、无重叠。
 * 拆分自原 styles.css 第 6245-6505 行：规则内容零改动，仅按行切分；级联顺序 = 本文件在 index.html 中的链接顺序。
 * EV 暗色主题适配：admin 卡片用 --radius-card 大圆角、指标值走 --text-gradient 渐变裁字（配方6）、发丝线/控件井语言（配方1/3）。
 */
.admin-body {
  background: var(--canvas);
}

.admin-shell {
  width: min(1080px, calc(100% - 32px));
  min-height: 100vh;
  margin: 0 auto;
  padding: max(22px, env(safe-area-inset-top)) 0 max(28px, env(safe-area-inset-bottom));
  display: grid;
  align-content: start;
  gap: var(--space-xl);
}

.admin-topbar,
.admin-auth-panel,
.admin-status-card,
.admin-panel,
.admin-metric {
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: var(--soft-edge);
}

.admin-topbar {
  min-height: 112px;
  padding: var(--space-xl);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xl);
}

.admin-topbar span,
.admin-metric span,
.admin-status-card span,
.admin-tenant-main span,
.admin-tenant-stats span,
.admin-tenant-token span,
.admin-token-plan span,
.admin-config-list dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 850;
}

.admin-topbar h1 {
  margin: 2px 0 0;
  font-family: "Avenir Next Condensed", "DIN Condensed", "PingFang SC", sans-serif;
  font-size: 2.65rem;
  line-height: 0.95;
}

.admin-home-link {
  min-height: var(--control-height);
  border-radius: var(--control-radius);
  padding: 0 var(--space-lg);
  color: var(--ink);
  background: var(--surface-control);
  box-shadow: inset 0 0 0 1px var(--hairline-strong);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: var(--type-control);
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}

.admin-auth-panel,
.admin-panel {
  padding: var(--space-xl);
  display: grid;
  gap: var(--space-lg);
}

.admin-auth-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-md);
  align-items: stretch;
}

.admin-auth-form .secondary-action {
  width: auto;
  min-height: var(--control-field-height);
  white-space: nowrap;
}

.admin-hint {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.admin-dashboard {
  display: grid;
  gap: var(--space-xl);
}

.admin-status-card {
  min-height: 92px;
  padding: var(--space-xl);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xl);
}

.admin-status-card > div:first-child {
  display: grid;
  gap: 4px;
}

.admin-status-card strong,
.admin-metric strong {
  font-family: "Avenir Next Condensed", "DIN Condensed", "PingFang SC", sans-serif;
  font-size: 1.85rem;
  line-height: 1;
  letter-spacing: -0.01em;
  background: var(--text-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.admin-status-card small,
.admin-metric small,
.admin-tenant-main small {
  color: var(--muted);
  line-height: 1.35;
}

.admin-status-actions {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.admin-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.admin-metric {
  min-height: 128px;
  padding: var(--space-xl);
  display: grid;
  align-content: space-between;
  gap: var(--space-lg);
}

.admin-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
}

.admin-config-list {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-sm);
}

.admin-config-list div {
  min-width: 0;
  min-height: 68px;
  border-radius: var(--control-radius);
  padding: var(--space-md);
  display: grid;
  align-content: center;
  gap: 4px;
  background: var(--surface-control);
}

.admin-config-list dd {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--ink);
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-tenant-list {
  display: grid;
  gap: var(--space-sm);
}

.admin-tenant {
  min-width: 0;
  border-radius: var(--control-radius);
  padding: var(--space-md);
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) minmax(260px, 1.8fr) minmax(140px, 0.8fr);
  gap: var(--space-md);
  align-items: center;
  background: var(--surface-control);
}

.admin-tenant-main,
.admin-tenant-token {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.admin-tenant-main strong,
.admin-tenant-token strong,
.admin-token-plan strong {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: 1rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-tenant-stats,
.admin-token-plan {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-sm);
}

.admin-tenant-stats div,
.admin-token-plan div {
  min-width: 0;
  border-radius: var(--control-radius);
  padding: var(--space-sm);
  display: grid;
  gap: 2px;
  background: color-mix(in oklch, var(--surface), var(--canvas) 46%);
}

.admin-tenant-stats strong {
  font-family: "Avenir Next Condensed", "DIN Condensed", "PingFang SC", sans-serif;
  font-size: 1.35rem;
  line-height: 1;
}

.admin-token-plan {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-token-plan p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.admin-empty {
  border-radius: var(--control-radius);
  padding: var(--space-xl);
  color: var(--muted);
  background: var(--surface-control);
  text-align: center;
}

