/* hidden 修复：.btn 设置了 display:inline-flex，会盖掉 UA 的 [hidden] 规则，
   导致未登录时「安全退出」等按钮仍然可见（与 flow.css 同步修复） */
[hidden] { display: none !important; }

/* 门禁待定态（FOUC 对称修复，与 flow.css 同款）：
   review.js/admin.js 在会话检查完成前给 html 加 gate-pending，
   避免已登录用户先闪出登录卡 */
html.gate-pending .admin-login-card { visibility: hidden; }

.admin-login-card {
  width: min(100%, 520px);
  margin: 56px auto;
}

.admin-login-form {
  display: grid;
  gap: 14px;
}

.admin-login-form label {
  color: var(--ink-700);
  font-weight: 700;
}

.admin-login-form .input {
  width: 100%;
  min-height: 46px;
  padding: 9px 12px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  font: inherit;
}

.admin-login-form .btn {
  min-height: 44px;
}

.admin-message {
  min-height: 22px;
  color: var(--risk-very-high);
}

.admin-session-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.admin-kpi {
  grid-column: span 4;
}

.admin-kpi .card-body {
  min-height: 120px;
}

.admin-kpi-value {
  margin-top: 8px;
  color: var(--ink-900);
  font-size: 30px;
  font-weight: 700;
}

@media (max-width: 768px) {
  .admin-login-card { margin: 24px auto; }
  .admin-kpi { grid-column: span 12; }
  .admin-session-row { align-items: flex-start; flex-direction: column; }
}

/* 审核页收紧。只作用于 #review-panel，管理页共用的会话行保持原样。 */
#review-panel { min-width: 0; }
#review-panel .card,
#review-panel .table-wrap { min-width: 0; max-width: 100%; }
#review-panel .admin-session-row { justify-content: flex-start; }
#review-panel .review-session {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
#review-panel #review-session-label { color: var(--ink-700); font-weight: 700; }
#review-panel #review-action-message { margin-left: auto; min-width: 0; overflow-wrap: anywhere; }
#review-panel .review-ai-head { flex-wrap: wrap; }
#review-panel .review-ai-state {
  flex: 1 1 180px;
  min-width: 0;
  color: var(--ink-500);
  font-size: 13px;
  font-weight: 600;
  overflow-wrap: anywhere;
}
#review-panel .review-ai-table { table-layout: fixed; }
#review-panel .review-ai-table .col-id { width: 220px; }
#review-panel .review-ai-table .col-status { width: 188px; }
#review-panel .review-ai-table .col-time { width: 168px; }
#review-panel .review-ai-table td { vertical-align: middle; }
#review-panel .review-ai-table th:nth-child(1),
#review-panel .review-ai-table td:nth-child(1),
#review-panel .review-ai-table th:nth-child(2),
#review-panel .review-ai-table td:nth-child(2),
#review-panel .review-ai-table th:nth-child(4),
#review-panel .review-ai-table td:nth-child(4) {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#review-panel .review-id { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; }
#review-panel .review-reason { margin: 0; max-width: 100%; }
#review-panel .review-reason summary { cursor: pointer; overflow-wrap: anywhere; }
#review-panel .review-reason > div {
  margin-top: 8px;
  color: var(--ink-700);
  line-height: 1.55;
  overflow-wrap: anywhere;
}
#review-panel .review-block { border-top: 1px solid var(--line); }
#review-panel .review-subhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 20px 8px;
}
#review-panel .review-subhead .card-title { font-size: 14px; }
#review-panel .review-pager { padding-top: 12px; padding-bottom: 12px; }
@media (max-width: 768px) {
  #review-panel .review-ai-table .col-id,
  #review-panel .review-ai-table .col-status,
  #review-panel .review-ai-table .col-time { width: auto; }
  #review-panel .review-ai-table th,
  #review-panel .review-ai-table td {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
  #review-panel .review-subhead { padding: 12px 16px 8px; }
}
