/* HYPER RED — admin sign-in panel */

.admin-signin-panel {
  max-width: 380px;
  margin-left: auto;
}

.admin-signin-panel .field { margin-bottom: var(--sp-3); }

.admin-signed-in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: 12px 14px;
  background: rgba(227, 35, 43, 0.08);
  border: 1px solid var(--border-red);
  border-radius: var(--radius-md);
}

/* This element is shown/hidden via the `hidden` attribute (admin.js sets
   signedInPanel.hidden = !admin). The browser's own [hidden] { display:
   none } default rule loses to the `display: flex` above regardless of
   specificity, because author styles always beat the UA stylesheet — so
   without this, the panel stayed visible (empty) even while "hidden".
   Same risk applies to any other element toggled via .hidden here. */
.admin-signed-in[hidden] {
  display: none;
}

.admin-signed-in-label {
  font-size: 12.5px;
  color: var(--text-secondary);
}

.admin-signed-in-label strong {
  color: var(--hr-red-bright);
  font-family: var(--font-display);
}


.admin-signed-in-main {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.admin-test-date {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.admin-test-date > label {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.admin-test-date-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.admin-test-date input[type="date"] {
  min-height: 34px;
  padding: 6px 9px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg-2);
  color: var(--text-primary);
  color-scheme: dark;
}

.admin-test-date small {
  max-width: 430px;
  color: var(--text-faint);
  font-size: 11px;
  line-height: 1.4;
}

@media (max-width: 600px) {
  .admin-signed-in {
    align-items: stretch;
    flex-direction: column;
  }
}

/* ===== Dedicated Race Command ===== */
.admin-command { display:grid; gap:var(--sp-5); }
.admin-command[hidden] { display:none; }
.admin-command-hero { overflow:hidden; position:relative; }
.admin-command-test-date { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:18px; }
.admin-command-test-date label { font:700 10px var(--font-display); letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.admin-command-test-date input { min-height:36px; padding:0 9px; background:var(--bg-2); border:1px solid var(--border-subtle); border-radius:var(--radius-sm); color:var(--text-primary); color-scheme:dark; }
.admin-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--sp-3); }
.admin-stat-card { min-height:122px; display:flex; flex-direction:column; justify-content:space-between; }
.admin-stat-card > span { font:700 10px var(--font-display); text-transform:uppercase; letter-spacing:.1em; color:var(--text-muted); }
.admin-stat-card > strong { font:800 48px var(--font-display); color:var(--text-primary); }
.admin-stat-wide { grid-column:span 1; }
.admin-mini-stats { display:flex; flex-wrap:wrap; gap:7px; }
.admin-mini-stats span { display:flex; flex-direction:column; min-width:58px; padding:7px 8px; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); color:var(--text-muted); font-size:10px; }
.admin-mini-stats strong { font:800 18px var(--font-display); color:var(--hr-red-bright); }
.admin-command-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-4); }
.admin-session-stats { display:grid; gap:7px; }
.admin-session-stats > div { display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--border-subtle); color:var(--text-muted); font:600 12px var(--font-mono); }
.admin-session-stats strong { color:var(--text-primary); }
.admin-recent-row, .admin-history-row { display:grid; grid-template-columns:minmax(110px,1fr) minmax(140px,2fr) auto; gap:10px; align-items:center; padding:9px 0; border-bottom:1px solid var(--border-subtle); font-size:12px; }
.admin-recent-row span, .admin-history-row span { color:var(--text-muted); }
.admin-recent-row time, .admin-history-row time { color:var(--text-faint); font:10px var(--font-mono); }
.admin-empty { padding:16px 0; color:var(--text-muted); font-size:12px; }
.admin-command-toolbar { display:grid; grid-template-columns:minmax(180px,1.6fr) repeat(3,minmax(120px,.8fr)) auto; gap:8px; margin-bottom:12px; }
.admin-command-toolbar input, .admin-command-toolbar select { min-height:40px; padding:0 10px; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); background:var(--bg-2); color:var(--text-primary); }
.admin-roster-rows { display:grid; gap:5px; }
.admin-roster-row { display:grid; grid-template-columns:minmax(140px,1.2fr) 150px minmax(180px,1.4fr) auto; gap:10px; align-items:center; padding:10px; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); background:var(--bg-2); }
.admin-driver, .admin-slot { display:flex; flex-direction:column; gap:2px; }
.admin-driver span, .admin-slot span { color:var(--text-muted); font-size:11px; }
.admin-slot strong { font:700 12px var(--font-mono); }
.admin-contact { display:flex; flex-direction:column; gap:3px; min-width:0; }
.admin-contact button { border:0; background:transparent; color:var(--text-secondary); text-align:left; padding:0; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-contact button:hover { color:var(--hr-red-bright); }
.admin-row-actions { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.admin-inline-edit { grid-column:1/-1; display:grid; grid-template-columns:1fr repeat(3,130px) 1fr 130px auto; gap:7px; }
.admin-inline-edit input, .admin-inline-edit select { min-height:38px; padding:0 8px; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); background:var(--bg-1); color:var(--text-primary); }
.admin-danger-zone { border-color:rgba(255,90,95,.34); background:linear-gradient(145deg,rgba(255,90,95,.055),var(--bg-1) 55%); }
.admin-danger-zone p { color:var(--text-muted); margin-bottom:14px; font-size:12px; }
