/* ── Overview stats ── */
.stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 700px) { .stat-row { grid-template-columns: repeat(2, 1fr); gap: 14px; } }
.stat-label { font-family: 'IBM Plex Mono', monospace; font-size: 10.5px; text-transform: uppercase; letter-spacing: .5px; color: var(--faint); display: block; margin-bottom: 6px; }
.stat-value { font-family: 'Space Grotesk', sans-serif; font-size: 24px; font-weight: 600; color: var(--ink); letter-spacing: -.3px; }

/* ── Login / reset / verify pages ── */
body.auth-body {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: var(--void); padding: 24px;
}
.access-panel {
  width: 100%; max-width: 400px;
  background: var(--panel); border: 1px solid var(--seam); border-radius: var(--radius-lg);
  border-top: 2px solid var(--brand); overflow: hidden;
  box-shadow: 0 1px 0 rgba(255,255,255,.03) inset, 0 20px 40px -28px rgba(0,0,0,.6);
}
.access-strip {
  display: flex; align-items: center; gap: 8px;
  padding: 12px 24px; border-bottom: 1px solid var(--seam);
  font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: .5px;
  color: var(--faint); text-transform: uppercase;
}
.access-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--resolved); animation: pulse 1.8s ease-in-out infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.access-strip .sep { margin-left: auto; color: var(--seam); }

.access-body { padding: 30px 28px 26px; }
.login-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 26px; }
.login-brand img { height: 26px; }
.login-brand .wordmark { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 17px; color: var(--ink); }
.login-brand .wordmark em { font-style: normal; color: var(--brand); }
.login-brand .sub { font-family: 'IBM Plex Mono', monospace; font-size: 10.5px; color: var(--faint); letter-spacing: .3px; margin-top: 2px; }

.auth-error {
  display: none; background: rgba(255,93,93,.1); color: #ffb3b3;
  font-size: 12.5px; padding: 10px 12px; border-radius: 7px; margin-bottom: 14px; line-height: 1.5;
  border: 1px solid rgba(255,93,93,.25);
}
.auth-error.show { display: block; }
.auth-success {
  display: none; background: rgba(79,195,138,.1); color: #a8e6c8;
  font-size: 12.5px; padding: 10px 12px; border-radius: 7px; margin-bottom: 14px; line-height: 1.5;
  border: 1px solid rgba(79,195,138,.25);
}
.auth-success.show { display: block; }

.auth-note { text-align: center; color: var(--faint); font-size: 11.5px; margin-top: 20px; line-height: 1.6; }
.auth-note a { color: var(--brand); text-decoration: none; }
.auth-note a:hover { text-decoration: underline; }
.auth-switch { text-align: center; margin-top: 4px; }
.auth-switch button {
  background: none; border: none; color: var(--brand); font-size: 12.5px; cursor: pointer;
  font-family: inherit; text-decoration: underline;
}
