/* ============================================================
   ABRAJ RUNNERS - theme-neon.css
   Neon / Cyberpunk Theme  →  body.theme-neon
   Colors: Electric cyan, magenta, dark void background
   Fonts: Orbitron (headings), Roboto Condensed (body)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700;800;900&family=Roboto+Condensed:ital,wght@0,300;0,400;0,700;1,400&display=swap');

/* ── Root palette ─────────────────────────────────────────── */
body.theme-neon {
  --n-bg:           #0a0a1a;
  --n-surface:      #0d0d20;
  --n-card:         #0f0f25;
  --n-card-2:       #0c0c1e;
  --n-cyan:         #00f0ff;
  --n-magenta:      #ff00ff;
  --n-purple:       #8b00ff;
  --n-yellow:       #f0ff00;
  --n-cyan-dim:     rgba(0,240,255,.25);
  --n-magenta-dim:  rgba(255,0,255,.25);
  --n-cyan-glow:    rgba(0,240,255,.15);
  --n-magenta-glow: rgba(255,0,255,.12);
  --n-text:         #c8e0f0;
  --n-text-dim:     #5a7a8a;
  --n-border-c:     rgba(0,240,255,.3);
  --n-border-m:     rgba(255,0,255,.3);

  font-family: 'Roboto Condensed', sans-serif;
  background-color: var(--n-bg);
  color: var(--n-text);
  min-height: 100vh;
}

/* ── Cyber grid background ────────────────────────────────── */
body.theme-neon::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(0,240,255,.07) 0%, transparent 55%),
    radial-gradient(ellipse 60% 50% at 50% 110%, rgba(255,0,255,.06) 0%, transparent 55%),
    radial-gradient(ellipse 40% 30% at 100% 50%, rgba(139,0,255,.05) 0%, transparent 45%),
    linear-gradient(rgba(0,240,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,240,255,.04) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 100% 100%, 36px 36px, 36px 36px;
}

/* Scanline overlay */
body.theme-neon::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0,0,0,.04) 2px,
    rgba(0,0,0,.04) 4px
  );
}

body.theme-neon > * { position: relative; z-index: 1; }

/* ── Headings ─────────────────────────────────────────────── */
body.theme-neon h1,
body.theme-neon h2,
body.theme-neon h3,
body.theme-neon h4 {
  font-family: 'Orbitron', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--n-cyan);
  text-shadow:
    0 0 8px rgba(0,240,255,.7),
    0 0 24px rgba(0,240,255,.3);
}

/* ── Site Header ──────────────────────────────────────────── */
body.theme-neon .site-header {
  background: rgba(10,10,26,.92);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--n-border-c);
  box-shadow:
    0 0 40px rgba(0,240,255,.08),
    0 4px 20px rgba(0,0,0,.6);
}

body.theme-neon .site-header__title,
body.theme-neon .site-header .logo {
  font-family: 'Orbitron', sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  background: linear-gradient(90deg, var(--n-cyan), var(--n-magenta));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 0 8px rgba(0,240,255,.5));
}

body.theme-neon .site-header .tagline {
  color: rgba(200,224,240,.45);
  font-size: .78rem;
  font-family: 'Roboto Condensed', sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* ── Nav ──────────────────────────────────────────────────── */
body.theme-neon .site-header__nav a,
body.theme-neon .nav a,
body.theme-neon .nav-link {
  color: var(--n-text-dim);
  font-family: 'Orbitron', sans-serif;
  font-weight: 500;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  padding: 8px 14px;
  border-radius: 4px;
  border: 1px solid transparent;
  transition: all .2s ease;
}

body.theme-neon .site-header__nav a:hover,
body.theme-neon .nav a:hover,
body.theme-neon .nav-link:hover {
  color: var(--n-cyan);
  border-color: var(--n-cyan-dim);
  background: rgba(0,240,255,.06);
  box-shadow: 0 0 12px rgba(0,240,255,.15);
}

body.theme-neon .site-header__nav a.active,
body.theme-neon .nav a.active,
body.theme-neon .nav-link.active {
  color: var(--n-cyan);
  border-color: var(--n-border-c);
  background: rgba(0,240,255,.08);
  box-shadow:
    0 0 10px rgba(0,240,255,.2),
    inset 0 0 10px rgba(0,240,255,.05);
}

/* ── Stat Cards ───────────────────────────────────────────── */
body.theme-neon .stat-card {
  background: rgba(15,15,37,.7);
  backdrop-filter: blur(10px);
  border: 1px solid var(--n-border-c);
  border-radius: 8px;
  box-shadow:
    0 0 20px rgba(0,240,255,.1),
    inset 0 0 20px rgba(0,240,255,.03);
  position: relative;
  overflow: hidden;
}

body.theme-neon .stat-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--n-cyan), transparent);
  box-shadow: 0 0 8px var(--n-cyan);
}

body.theme-neon .stat-value {
  font-family: 'Orbitron', sans-serif;
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--n-cyan);
  text-shadow:
    0 0 10px rgba(0,240,255,.8),
    0 0 30px rgba(0,240,255,.4),
    0 0 60px rgba(0,240,255,.2);
  font-variant-numeric: tabular-nums;
  letter-spacing: .06em;
}

body.theme-neon .stat-label {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--n-text-dim);
}

/* ── Runner Cards ─────────────────────────────────────────── */
body.theme-neon .runner-card {
  background: rgba(15,15,37,.75);
  backdrop-filter: blur(12px);
  border: 1px solid var(--n-border-c);
  border-radius: 8px;
  box-shadow:
    0 0 16px rgba(0,240,255,.08),
    0 4px 20px rgba(0,0,0,.5);
  position: relative;
  overflow: hidden;
  transition: all .25s ease;
}

body.theme-neon .runner-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--n-magenta), var(--n-cyan), var(--n-magenta));
  box-shadow: 0 0 8px rgba(0,240,255,.5);
  opacity: .5;
  transition: opacity .25s ease;
}

/* Corner accents */
body.theme-neon .runner-card::after {
  content: '';
  position: absolute;
  bottom: 0; right: 0;
  width: 20px; height: 20px;
  border-right: 2px solid var(--n-magenta);
  border-bottom: 2px solid var(--n-magenta);
  border-radius: 0 0 4px 0;
  opacity: .4;
  transition: opacity .25s ease;
}

body.theme-neon .runner-card:hover {
  transform: translateY(-5px);
  border-color: var(--n-cyan);
  box-shadow:
    0 0 25px rgba(0,240,255,.25),
    0 0 50px rgba(0,240,255,.1),
    0 8px 28px rgba(0,0,0,.6);
}

body.theme-neon .runner-card:hover::before { opacity: 1; }
body.theme-neon .runner-card:hover::after  { opacity: .8; }

/* Avatar */
body.theme-neon .runner-card .avatar,
body.theme-neon .avatar {
  border: 2px solid var(--n-cyan);
  box-shadow:
    0 0 8px rgba(0,240,255,.6),
    0 0 20px rgba(0,240,255,.25),
    0 0 40px rgba(0,240,255,.1);
  transition: box-shadow .25s ease;
}

body.theme-neon .runner-card:hover .avatar {
  box-shadow:
    0 0 12px rgba(0,240,255,.9),
    0 0 28px rgba(0,240,255,.5),
    0 0 56px rgba(0,240,255,.2);
}

/* Name */
body.theme-neon .runner-card .name {
  font-family: 'Orbitron', sans-serif;
  font-weight: 700;
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--n-cyan);
  text-shadow: 0 0 8px rgba(0,240,255,.5);
}

/* KM total */
body.theme-neon .runner-card .km-total {
  color: var(--n-magenta);
  font-weight: 700;
  font-size: .85rem;
  text-shadow: 0 0 6px rgba(255,0,255,.5);
  font-family: 'Orbitron', sans-serif;
}

/* ── Streak ───────────────────────────────────────────────── */
body.theme-neon .streak {
  background: rgba(255,0,255,.08);
  border: 1px solid rgba(255,0,255,.35);
  border-radius: 4px;
  padding: 4px 12px;
  font-family: 'Orbitron', sans-serif;
  font-weight: 700;
  color: var(--n-magenta);
  font-size: .78rem;
  letter-spacing: .06em;
  text-shadow: 0 0 8px rgba(255,0,255,.6);
  box-shadow: 0 0 10px rgba(255,0,255,.12);
}

body.theme-neon .streak-fire {
  filter: drop-shadow(0 0 6px rgba(255,0,255,.9));
  animation: neonMagentaPulse .7s ease-in-out infinite alternate;
}

@keyframes neonMagentaPulse {
  from { filter: drop-shadow(0 0 4px rgba(255,0,255,.7));  opacity: .85; }
  to   { filter: drop-shadow(0 0 12px rgba(255,0,255,1.0)); opacity: 1;  }
}

/* ── Medal Badges ─────────────────────────────────────────── */
body.theme-neon .medal-bronze {
  background: linear-gradient(135deg, #8b5e3c, #b87333);
  color: #fff;
  box-shadow: 0 0 10px rgba(184,115,51,.6);
  border: 1px solid rgba(184,115,51,.4);
}

body.theme-neon .medal-silver {
  background: transparent;
  color: #c0d0d8;
  border: 1px solid rgba(192,208,216,.5);
  box-shadow: 0 0 10px rgba(192,208,216,.3);
}

body.theme-neon .medal-gold {
  background: transparent;
  color: #FFD700;
  border: 1px solid rgba(255,215,0,.5);
  box-shadow: 0 0 14px rgba(255,215,0,.6), 0 0 28px rgba(255,215,0,.25);
  text-shadow: 0 0 6px rgba(255,215,0,.7);
  animation: neonGoldGlow 2s ease-in-out infinite;
}

@keyframes neonGoldGlow {
  0%, 100% { box-shadow: 0 0 14px rgba(255,215,0,.6), 0 0 28px rgba(255,215,0,.25); }
  50%       { box-shadow: 0 0 24px rgba(255,215,0,1.0), 0 0 48px rgba(255,215,0,.45); }
}

body.theme-neon .medal-platinum {
  background: transparent;
  color: var(--n-cyan);
  border: 1px solid var(--n-border-c);
  box-shadow: 0 0 12px rgba(0,240,255,.4);
  text-shadow: 0 0 6px rgba(0,240,255,.5);
}

body.theme-neon .medal-diamond {
  background: transparent;
  color: var(--n-magenta);
  border: 1px solid rgba(255,0,255,.5);
  box-shadow: 0 0 16px rgba(255,0,255,.7), 0 0 32px rgba(255,0,255,.3);
  text-shadow: 0 0 6px rgba(255,0,255,.8);
  animation: neonDiamondGlow 1.8s ease-in-out infinite;
}

@keyframes neonDiamondGlow {
  0%, 100% { box-shadow: 0 0 16px rgba(255,0,255,.7), 0 0 32px rgba(255,0,255,.3); }
  50%       { box-shadow: 0 0 28px rgba(255,0,255,1.0), 0 0 56px rgba(255,0,255,.5); }
}

/* ── Bench Zone ───────────────────────────────────────────── */
body.theme-neon .bench-zone {
  background: rgba(12,12,30,.8);
  backdrop-filter: blur(8px);
  border: 1px dashed rgba(139,0,255,.4);
  border-radius: 8px;
  box-shadow:
    0 0 20px rgba(139,0,255,.08),
    inset 0 0 20px rgba(139,0,255,.03);
}

body.theme-neon .bench-zone h2,
body.theme-neon .bench-zone h3 {
  color: rgba(139,0,255,.9);
  font-family: 'Orbitron', sans-serif;
  text-shadow: 0 0 10px rgba(139,0,255,.5);
}

body.theme-neon .bench-days {
  color: rgba(139,0,255,.8);
  font-family: 'Orbitron', sans-serif;
  font-weight: 700;
  text-shadow: 0 0 6px rgba(139,0,255,.5);
}

body.theme-neon .runner-card--benched,
body.theme-neon .bench-zone .runner-card {
  opacity: .5;
  border-color: rgba(139,0,255,.2);
  filter: grayscale(.6) blur(.3px);
  transform: scale(0.93);
  box-shadow: 0 0 10px rgba(139,0,255,.08);
}

body.theme-neon .runner-card--benched:hover,
body.theme-neon .bench-zone .runner-card:hover {
  opacity: .75;
  transform: scale(0.96);
  filter: grayscale(.3);
}

/* Bench speech bubble */
body.theme-neon .bench-bubble {
  background: rgba(12,12,30,.95);
  border: 1px solid rgba(139,0,255,.4);
  color: rgba(139,0,255,.9);
  border-radius: 6px;
  font-size: .75rem;
  font-family: 'Orbitron', sans-serif;
  letter-spacing: .05em;
  padding: 6px 12px;
  text-shadow: 0 0 6px rgba(139,0,255,.5);
  box-shadow: 0 0 10px rgba(139,0,255,.1);
}

/* ── Leaderboard ──────────────────────────────────────────── */
body.theme-neon .leaderboard {
  background: rgba(15,15,37,.8);
  backdrop-filter: blur(12px);
  border: 1px solid var(--n-border-c);
  border-radius: 8px;
  box-shadow: 0 0 24px rgba(0,240,255,.08);
  overflow: hidden;
}

body.theme-neon .leaderboard__tab,
body.theme-neon .leaderboard-tab {
  color: var(--n-text-dim);
  font-family: 'Orbitron', sans-serif;
  font-weight: 500;
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  padding: 8px 14px;
  border-radius: 4px;
  border: 1px solid transparent;
  background: transparent;
  transition: all .2s ease;
  cursor: pointer;
}

body.theme-neon .leaderboard__tab--active,
body.theme-neon .leaderboard-tab.active {
  background: rgba(0,240,255,.08);
  color: var(--n-cyan);
  border-color: var(--n-border-c);
  box-shadow: 0 0 12px rgba(0,240,255,.15);
}

body.theme-neon .leaderboard__table th,
body.theme-neon .leaderboard thead th {
  background: rgba(0,240,255,.04);
  color: var(--n-cyan);
  font-family: 'Orbitron', sans-serif;
  font-weight: 700;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  border-bottom: 1px solid var(--n-border-c);
  padding: 12px 16px;
  text-shadow: 0 0 6px rgba(0,240,255,.4);
}

body.theme-neon .leaderboard__table td,
body.theme-neon .leaderboard tbody td {
  color: var(--n-text);
  border-bottom: 1px solid rgba(0,240,255,.04);
  padding: 12px 16px;
  font-family: 'Roboto Condensed', sans-serif;
}

body.theme-neon .leaderboard tbody tr:hover td {
  background: rgba(0,240,255,.04);
  text-shadow: 0 0 4px rgba(0,240,255,.2);
}

body.theme-neon .leaderboard tbody tr:nth-child(1) td {
  color: #FFD700;
  background: rgba(255,215,0,.04);
  text-shadow: 0 0 6px rgba(255,215,0,.3);
}

body.theme-neon .leaderboard tbody tr:nth-child(2) td {
  background: rgba(0,240,255,.03);
}

body.theme-neon .leaderboard tbody tr:nth-child(3) td {
  color: #ff8c40;
  background: rgba(255,140,64,.03);
}

/* ── Today Status Banner ──────────────────────────────────── */
body.theme-neon .today-status__banner--active {
  background: rgba(0,240,255,.06);
  border: 1px solid var(--n-border-c);
  border-radius: 8px;
  color: var(--n-cyan);
  box-shadow:
    0 0 20px rgba(0,240,255,.12),
    inset 0 0 20px rgba(0,240,255,.03);
  text-shadow: 0 0 6px rgba(0,240,255,.4);
}

body.theme-neon .today-status__banner--idle {
  background: rgba(12,12,30,.7);
  border: 1px solid rgba(139,0,255,.2);
  border-radius: 8px;
  color: var(--n-text-dim);
}

/* ── Coming Soon Cards ────────────────────────────────────── */
body.theme-neon .coming-soon__card,
body.theme-neon .coming-soon .feature-card {
  background: rgba(15,15,37,.7);
  backdrop-filter: blur(8px);
  border: 1px solid var(--n-border-m);
  border-radius: 8px;
  box-shadow: 0 0 14px rgba(255,0,255,.07);
  position: relative;
  overflow: hidden;
}

body.theme-neon .coming-soon__card::after,
body.theme-neon .coming-soon .feature-card::after {
  background: rgba(255,0,255,.15);
  color: var(--n-magenta);
  font-family: 'Orbitron', sans-serif;
  font-size: .6rem;
  letter-spacing: .1em;
  text-shadow: 0 0 6px rgba(255,0,255,.5);
}

/* ── Music Section ────────────────────────────────────────── */
body.theme-neon .music-section {
  background: rgba(15,15,37,.8);
  border: 1px solid var(--n-border-m);
  border-radius: 8px;
  box-shadow: 0 0 20px rgba(255,0,255,.07);
}

body.theme-neon .music-player {
  background: rgba(10,10,26,.8);
  border-radius: 6px;
  border: 1px solid rgba(255,0,255,.15);
}

body.theme-neon .music-player .track-name {
  color: var(--n-magenta);
  font-family: 'Orbitron', sans-serif;
  font-weight: 600;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  text-shadow: 0 0 6px rgba(255,0,255,.5);
}

body.theme-neon .music-player .controls button {
  background: transparent;
  border: 1px solid var(--n-magenta);
  color: var(--n-magenta);
  border-radius: 50%;
  transition: all .2s ease;
  box-shadow: 0 0 8px rgba(255,0,255,.2);
}

body.theme-neon .music-player .controls button:hover {
  background: rgba(255,0,255,.15);
  box-shadow: 0 0 16px rgba(255,0,255,.5), 0 0 32px rgba(255,0,255,.2);
}

/* ── Buttons ──────────────────────────────────────────────── */
body.theme-neon .btn {
  font-family: 'Orbitron', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  border-radius: 4px;
  font-size: .78rem;
  transition: all .2s ease;
}

body.theme-neon .btn-primary {
  background: transparent;
  color: var(--n-cyan);
  border: 1px solid var(--n-cyan);
  box-shadow: 0 0 12px rgba(0,240,255,.2);
}

body.theme-neon .btn-primary:hover {
  background: rgba(0,240,255,.1);
  box-shadow:
    0 0 20px rgba(0,240,255,.5),
    0 0 40px rgba(0,240,255,.2),
    inset 0 0 10px rgba(0,240,255,.1);
  transform: translateY(-1px);
}

body.theme-neon .btn-success {
  background: transparent;
  color: var(--n-magenta);
  border: 1px solid var(--n-magenta);
  box-shadow: 0 0 12px rgba(255,0,255,.2);
}

body.theme-neon .btn-success:hover {
  background: rgba(255,0,255,.1);
  box-shadow: 0 0 20px rgba(255,0,255,.5), 0 0 40px rgba(255,0,255,.2);
  transform: translateY(-1px);
}

body.theme-neon .btn-danger {
  background: transparent;
  color: var(--n-purple);
  border: 1px solid rgba(139,0,255,.6);
  box-shadow: 0 0 12px rgba(139,0,255,.2);
  color: #bf40ff;
}

body.theme-neon .btn-danger:hover {
  background: rgba(139,0,255,.12);
  box-shadow: 0 0 20px rgba(139,0,255,.5);
  transform: translateY(-1px);
}

/* ── Theme Switcher ───────────────────────────────────────── */
body.theme-neon .theme-switcher button,
body.theme-neon .theme-switcher__panel button {
  background: rgba(15,15,37,.8);
  border: 1px solid rgba(0,240,255,.2);
  color: var(--n-text-dim);
  border-radius: 4px;
  font-family: 'Orbitron', sans-serif;
  font-size: .7rem;
  transition: all .2s ease;
}

body.theme-neon .theme-switcher button:hover,
body.theme-neon .theme-switcher__panel button:hover {
  border-color: var(--n-cyan);
  color: var(--n-cyan);
  box-shadow: 0 0 14px rgba(0,240,255,.25);
}

body.theme-neon .theme-switcher button.active,
body.theme-neon .theme-switcher button[data-theme="neon"] {
  background: rgba(0,240,255,.08);
  border-color: var(--n-cyan);
  color: var(--n-cyan);
  box-shadow: 0 0 18px rgba(0,240,255,.3);
}

/* ── Footer ───────────────────────────────────────────────── */
body.theme-neon .site-footer,
body.theme-neon .footer {
  color: var(--n-text-dim);
  border-top: 1px solid rgba(0,240,255,.07);
  font-family: 'Orbitron', sans-serif;
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .12em;
}

/* ── Admin Cards ──────────────────────────────────────────── */
body.theme-neon .admin-card {
  background: rgba(15,15,37,.8);
  backdrop-filter: blur(10px);
  border: 1px solid var(--n-border-c);
  border-radius: 8px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 16px rgba(0,240,255,.06);
}

body.theme-neon .admin-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--n-cyan), var(--n-magenta), var(--n-cyan), transparent);
  box-shadow: 0 0 6px var(--n-cyan);
}

body.theme-neon .admin-card h3 {
  color: var(--n-cyan);
  font-family: 'Orbitron', sans-serif;
  text-transform: uppercase;
  letter-spacing: .1em;
  text-shadow: 0 0 8px rgba(0,240,255,.5);
}

/* ── Forms ────────────────────────────────────────────────── */
body.theme-neon .form-group label {
  color: var(--n-text-dim);
  font-family: 'Orbitron', sans-serif;
  font-weight: 700;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .12em;
}

body.theme-neon .form-group input,
body.theme-neon .form-group select,
body.theme-neon .form-group textarea {
  background: rgba(0,0,0,.4);
  border: 1px solid rgba(0,240,255,.2);
  border-radius: 4px;
  color: var(--n-text);
  font-family: 'Roboto Condensed', sans-serif;
}

body.theme-neon .form-group input:focus,
body.theme-neon .form-group select:focus,
body.theme-neon .form-group textarea:focus {
  border-color: var(--n-cyan);
  background: rgba(0,240,255,.04);
  box-shadow:
    0 0 0 2px rgba(0,240,255,.15),
    0 0 12px rgba(0,240,255,.2);
  outline: none;
}

body.theme-neon .form-group input::placeholder,
body.theme-neon .form-group textarea::placeholder {
  color: rgba(90,122,138,.4);
}

/* ── Data Table ───────────────────────────────────────────── */
body.theme-neon .data-table {
  background: rgba(15,15,37,.8);
  border: 1px solid var(--n-border-c);
  border-radius: 8px;
  overflow: hidden;
}

body.theme-neon .data-table th {
  background: rgba(0,240,255,.04);
  color: var(--n-cyan);
  font-family: 'Orbitron', sans-serif;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  border-bottom: 1px solid var(--n-border-c);
  text-shadow: 0 0 6px rgba(0,240,255,.3);
}

body.theme-neon .data-table td {
  color: var(--n-text);
  border-bottom: 1px solid rgba(0,240,255,.04);
}

body.theme-neon .data-table tr:hover td {
  background: rgba(0,240,255,.03);
}

/* ── Alerts ───────────────────────────────────────────────── */
body.theme-neon .alert-success {
  background: rgba(0,240,255,.08);
  color: var(--n-cyan);
  border: 1px solid var(--n-border-c);
  border-radius: 6px;
  box-shadow: 0 0 16px rgba(0,240,255,.15);
  text-shadow: 0 0 6px rgba(0,240,255,.4);
  backdrop-filter: blur(8px);
}

body.theme-neon .alert-error {
  background: rgba(255,0,255,.08);
  color: var(--n-magenta);
  border: 1px solid var(--n-border-m);
  border-radius: 6px;
  box-shadow: 0 0 16px rgba(255,0,255,.15);
  backdrop-filter: blur(8px);
}

/* ── Running Track ────────────────────────────────────────── */
body.theme-neon .running-track {
  background: linear-gradient(90deg,
    var(--n-bg) 0%,
    rgba(15,15,37,.9) 20%,
    rgba(0,240,255,.05) 50%,
    rgba(15,15,37,.9) 80%,
    var(--n-bg) 100%);
  border-top: 1px solid var(--n-border-c);
  border-bottom: 1px solid var(--n-border-m);
  box-shadow:
    0 0 20px rgba(0,240,255,.08),
    0 -2px 10px rgba(0,240,255,.05),
    0 2px 10px rgba(255,0,255,.05);
}

/* ── Stats Bar ────────────────────────────────────────────── */
body.theme-neon .stats-bar {
  background: rgba(15,15,37,.75);
  backdrop-filter: blur(12px);
  border: 1px solid var(--n-border-c);
  border-radius: 8px;
  box-shadow:
    0 0 24px rgba(0,240,255,.08),
    inset 0 0 24px rgba(0,240,255,.03);
  position: relative;
  overflow: hidden;
}

body.theme-neon .stats-bar::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--n-cyan), var(--n-magenta), var(--n-cyan), transparent);
  box-shadow: 0 0 6px var(--n-cyan);
}

/* ── Modal ────────────────────────────────────────────────── */
body.theme-neon .modal-content {
  background: rgba(12,12,28,.95);
  backdrop-filter: blur(20px);
  border: 1px solid var(--n-border-c);
  border-radius: 8px;
  box-shadow:
    0 0 40px rgba(0,240,255,.15),
    0 0 80px rgba(0,240,255,.06),
    0 24px 60px rgba(0,0,0,.8);
}

body.theme-neon .modal-header h2 {
  color: var(--n-cyan);
  font-family: 'Orbitron', sans-serif;
  text-transform: uppercase;
  letter-spacing: .1em;
  text-shadow: 0 0 10px rgba(0,240,255,.6);
}

body.theme-neon .modal-close {
  background: rgba(255,255,255,.04);
  color: var(--n-text-dim);
  border: 1px solid rgba(0,240,255,.15);
}

body.theme-neon .modal-close:hover {
  background: rgba(255,0,255,.1);
  color: var(--n-magenta);
  border-color: rgba(255,0,255,.3);
  box-shadow: 0 0 10px rgba(255,0,255,.3);
}
