/* ========================================
   MiniCodex Admin — Polish layer
   Se încarcă ULTIMUL. Adaugă viață peste design-ul de bază,
   folosind aceleași tokens (merge și pe dark, și pe light).
   ======================================== */

/* ---- Ambient glow pe fundal (nu mai e plat) ---- */
body {
  background:
    radial-gradient(1100px 620px at 90% -10%, rgba(20, 207, 188, .10), transparent 60%),
    radial-gradient(900px 640px at -6% 110%, rgba(92, 81, 162, .20), transparent 60%),
    var(--bg-body) !important;
  background-attachment: fixed;
}
[data-theme="light"] body {
  background:
    radial-gradient(1100px 620px at 90% -10%, rgba(20, 207, 188, .08), transparent 60%),
    radial-gradient(900px 640px at -6% 110%, rgba(92, 81, 162, .10), transparent 60%),
    var(--bg-body) !important;
}

/* ---- Sidebar ---- */
#sidebar {
  background:
    radial-gradient(420px 300px at 40% 0%, rgba(20, 207, 188, .06), transparent 70%),
    var(--bg-sidebar);
}
.sidebar-logo {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sidebar-logo::before {
  content: "";
  width: 28px; height: 28px; flex: none;
  border-radius: 9px;
  background: linear-gradient(135deg, var(--accent), var(--purple));
  box-shadow: 0 4px 14px -4px rgba(20, 207, 188, .6);
}
.nav-link {
  position: relative;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.nav-link:hover { transform: translateX(2px); }
.nav-link.active {
  background: linear-gradient(90deg, var(--accent-soft), transparent 90%);
  box-shadow: inset 3px 0 0 var(--accent);
}

/* ---- Topbar: linie de accent jos ---- */
#topbar { position: sticky; }
#topbar::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(20, 207, 188, .5) 35%, rgba(92, 81, 162, .45) 70%, transparent);
  pointer-events: none;
}

/* ---- Titlu de secțiune cu bloc-accent ---- */
.section-title {
  display: flex; align-items: center; gap: 12px;
  font-size: var(--fs-2xl);
}
.section-title::before {
  content: "";
  width: 8px; height: 26px; flex: none; border-radius: 4px;
  background: linear-gradient(180deg, var(--accent), var(--purple));
}

/* ---- Carduri: adâncime + sheen + hover ---- */
.card {
  position: relative;
  transition: transform .18s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.card::before {
  content: "";
  position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, .045), transparent 36%);
}
.card:hover {
  transform: translateY(-2px);
  border-color: var(--border-hover);
  box-shadow: var(--shadow-md);
}

/* ---- Stat cards: tentă colorată, cifre colorate, hover ---- */
.stat-card {
  position: relative;
  transition: transform .18s var(--ease), box-shadow .2s var(--ease);
}
.stat-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.stat-card[data-accent="teal"]   { background: linear-gradient(180deg, rgba(20,207,188,.08), transparent 62%), var(--bg-card); }
.stat-card[data-accent="purple"] { background: linear-gradient(180deg, rgba(92,81,162,.12), transparent 62%), var(--bg-card); }
.stat-card[data-accent="yellow"] { background: linear-gradient(180deg, rgba(255,232,48,.08), transparent 62%), var(--bg-card); }
.stat-card[data-accent="danger"] { background: linear-gradient(180deg, rgba(255,107,107,.08), transparent 62%), var(--bg-card); }
.stat-card[data-accent="info"]   { background: linear-gradient(180deg, rgba(107,163,255,.10), transparent 62%), var(--bg-card); }
.stat-card[data-accent="teal"]   .stat-value { color: var(--accent); }
.stat-card[data-accent="purple"] .stat-value { color: #a89be8; }
.stat-card[data-accent="yellow"] .stat-value { color: var(--yellow); }
.stat-card[data-accent="danger"] .stat-value { color: #ff8a8a; }
.stat-card[data-accent="info"]   .stat-value { color: var(--info); }
[data-theme="light"] .stat-card[data-accent="yellow"] .stat-value { color: #b88f00; }

/* ---- Butoane mai vii ---- */
.btn-primary {
  background: linear-gradient(180deg, var(--accent), var(--accent-hover));
  box-shadow: 0 2px 10px rgba(20, 207, 188, .20);
}
.btn-primary:hover { filter: saturate(1.08); box-shadow: 0 6px 20px rgba(20, 207, 188, .32); }
.btn { transition: all var(--dur) var(--ease), transform .12s var(--ease); }
.btn:active { transform: translateY(1px); }

/* ---- Sub-tabs activ (ex: Program săptămânal / Perioade blocate) ---- */
.sub-tabs .btn.is-active {
  background: var(--accent-soft);
  color: var(--accent);
  border-color: rgba(20, 207, 188, .3);
}

/* ---- Badge-uri puțin mai vizibile ---- */
.badge { font-weight: 700; }

/* ---- Empty state mai prietenos ---- */
.empty-state { padding: 72px 24px; }
.empty-state svg { opacity: .5; }

/* ---- Time pills (disponibilitate) ---- */
.time-pill { border: 1px solid var(--border); transition: all var(--dur) var(--ease); }
.time-pill:hover { border-color: rgba(20,207,188,.4); background: var(--accent-soft) !important; color: var(--accent); }

/* ---- Header de pagină puțin mai aerisit ---- */
.section-header { margin-bottom: 24px; }

/* respectă reduce-motion */
@media (prefers-reduced-motion: reduce) {
  .nav-link, .card, .stat-card, .btn, .time-pill { transition: none !important; }
  .nav-link:hover, .card:hover, .stat-card:hover { transform: none !important; }
}
