/* Zona de membri — folosește tokenii din assets/css/app.css (culori, fonturi,
   .btn) și adaugă doar ce e specific acestei zone: login, dashboard, player. */

body.academie {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  /* Cardurile editoriale ale site-ului principal au colțuri aproape drepte
     (4px) — potrivit acolo, dar prea tăios pentru o zonă de produs (carduri
     de program, formulare). Aici, doar în Academie, rotunjim puțin mai mult. */
  --r: 14px;
  /* Paginile astea sunt scurte, fără derularea lungă a site-ului principal —
     păstrăm direct palierul luminos, cald, cu puțină adâncime, nu fundalul
     negru de pornire al paginii principale (acolo are sens doar fiindcă se
     deschide spre lumină pe măsură ce aluneci în jos). */
  background:
    radial-gradient(1100px 560px at 12% -12%, rgb(232 181 98 / 0.18), transparent 60%),
    var(--crem);
}
/* .btn (din app.css) are display:inline-flex cu aceeași specificitate ca
   [hidden], așa că fără asta un buton .btn marcat hidden tot rămânea vizibil. */
.academie [hidden] { display: none !important; }

.ac-bara {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.125rem clamp(1.25rem, 4vw, 2.5rem);
  background: rgb(252 249 242 / 0.6);
  backdrop-filter: blur(10px) saturate(1.1);
  -webkit-backdrop-filter: blur(10px) saturate(1.1);
  border-bottom: 1px solid var(--card-linie);
}
.ac-bara__nume { font-family: var(--display); font-size: 1.25rem; font-weight: 500; white-space: nowrap; }
.ac-bara__nume a {
  display: inline-flex; align-items: center; gap: 0.4rem;
  text-decoration: none; color: var(--text); transition: color 0.25s var(--usor);
}
.ac-bara__nume a:hover { color: var(--aur-premium, var(--accent)); }
.ac-bara__nume a svg { width: 15px; height: 15px; flex: none; color: var(--aur-premium, var(--accent)); }
.ac-bara__dreapta { display: flex; align-items: center; gap: 1.5rem; font-size: 0.9375rem; color: var(--text-bland); flex: none; }
.ac-bara__dreapta button { font: inherit; }
.ac-bara__dreapta a, .ac-bara__dreapta button {
  color: var(--text-bland); background: none; border: 0; cursor: pointer; text-decoration: none;
  white-space: nowrap;
  transition: color 0.25s var(--usor);
}
.ac-bara__dreapta a:hover, .ac-bara__dreapta button:hover { color: var(--text); }
.ac-buton-cont { padding: 0.5rem 1rem; font-size: 0.875rem; }
@media (max-width: 480px) {
  .ac-bara { padding: 0.85rem 1rem; gap: 0.5rem; }
  .ac-bara__nume { font-size: 1.0625rem; }
  .ac-bara__nume a svg { width: 13px; height: 13px; }
  .ac-bara__dreapta { gap: 0.6rem; font-size: 0.8125rem; }
  .ac-buton-cont { padding: 0.4rem 0.7rem; font-size: 0.8125rem; }
}
@media (max-width: 360px) {
  .ac-bara__nume { font-size: 0.9375rem; }
  .ac-bara__dreapta { font-size: 0.75rem; gap: 0.45rem; }
  .ac-buton-cont { padding: 0.35rem 0.55rem; font-size: 0.75rem; }
}
.ac-bara__dreapta a.btn, .ac-bara__dreapta a.btn--sec { text-decoration: none; }

.ac-cadru { flex: 1; padding: clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 4vw, 2.5rem); }
.ac-cadru--ingust { max-width: 440px; margin: auto; width: 100%; }
.ac-cadru--larg { max-width: 1080px; margin-inline: auto; width: 100%; }

/* --- Titlu + subtitlu de secțiune (catalogul Academiei) ---
   Trei trepte de culoare/greutate, ca ochiul să parcurgă singur ierarhia:
   titlu (cerneală, cel mai greu) → subtitlu (auriu, vocea de brand) →
   explicație (verde-cenușiu, cea mai discretă). */
.ac-titlu-principal { margin: 0.5rem 0 0.375rem; }
.ac-titlu-curs {
  text-align: center; max-width: 42rem; margin: 0.5rem auto 1.75rem;
  font-size: clamp(1.75rem, 1.35rem + 2vw, 2.625rem); line-height: 1.18;
  font-weight: 600; color: var(--aur-premium, var(--accent)); filter: none;
}
.ac-subtitlu {
  font-family: var(--display); font-weight: 500; color: var(--aur-premium, var(--accent));
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem); line-height: 1.2;
  margin: 0 0 1.375rem;
}
.ac-explicatie { max-width: 65ch; }
.ac-explicatie + .ac-explicatie { margin-top: 1rem; }

/* Fiecare secțiune a catalogului (Programe, Resurse gratuite) e despărțită
   printr-o linie subțire — separă vizual blocurile, nu doar prin spațiu gol. */
.ac-sectiune-cap { margin-top: 3.25rem; padding-top: 2.25rem; border-top: 1px solid var(--linie); }
.ac-sectiune-cap h2 {
  font-family: var(--display); font-weight: 500; font-style: normal;
  font-size: clamp(1.5rem, 1.3rem + 0.7vw, 1.875rem);
  color: var(--aur-premium, var(--accent)); margin-bottom: 0.625rem;
}

/* --- Login --- */
.ac-login {
  background: var(--card);
  border: 1px solid var(--card-linie);
  border-radius: var(--r);
  padding: clamp(1.75rem, 2.5vw, 2.75rem);
  box-shadow: 0 1px 0 rgb(255 255 255 / 0.5) inset, 0 30px 70px -40px rgb(111 74 15 / 0.35);
}
.ac-login h1 { font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem); margin-bottom: 0.5rem; }
.ac-login p.ac-sub { color: var(--text-bland); margin-bottom: 2rem; }
.ac-camp { display: block; margin-bottom: 1.25rem; }
.ac-camp span { display: block; font-size: 0.875rem; color: var(--text-bland); margin-bottom: 0.4rem; }
.ac-camp input {
  width: 100%; padding: 0.875rem 1rem; border-radius: var(--r, 4px);
  border: 1px solid var(--card-linie); background: var(--card); color: var(--text);
  font: inherit; font-size: 1rem;
}
.ac-camp input:focus-visible { outline: 2px solid var(--accent); }
.ac-eroare { color: #a23b2e; font-size: 0.9375rem; margin-bottom: 1rem; min-height: 1.3em; }
.ac-login button[type="submit"] { width: 100%; justify-content: center; margin-top: 0.5rem; }

/* CTA-urile principale din Academie (Intră, Creează cont, Cumpără acum,
   Marchează ca finalizată) rămân cele mai grele vizual din pagină. */
.academie .btn--mare { padding: 1.1875rem 2rem; font-size: 1.0625rem; }
.academie .btn:disabled { opacity: 0.4; cursor: default; pointer-events: none; }

/* --- Dashboard: carduri de program --- */
.ac-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 1.75rem;
  margin-top: 1.5rem;
}
.ac-card {
  background: var(--card); border: 1px solid var(--card-linie); border-radius: var(--r);
  overflow: hidden; display: flex; flex-direction: column; position: relative;
  box-shadow: 0 20px 45px -30px rgb(111 74 15 / 0.25);
  transition: border-color 0.4s var(--usor), transform 0.4s var(--usor), box-shadow 0.4s var(--usor);
}
.ac-card:hover { border-color: var(--accent); transform: translateY(-3px); box-shadow: 0 26px 60px -34px rgb(138 95 22 / 0.35); }
.ac-card__cover-zona { position: relative; }
.ac-card__cover { aspect-ratio: 16/9; background: var(--sky-2); object-fit: contain; object-position: center; width: 100%; display: block; }
.ac-card__body { padding: 1.375rem; display: flex; flex-direction: column; gap: 0.75rem; flex: 1; }
.ac-card__titlu { font-family: var(--display); font-size: 1.3125rem; line-height: 1.2; }
.ac-card__sub { color: var(--text-bland); font-size: 0.9375rem; line-height: 1.5; flex: 1; }
.ac-bara-progres { height: 6px; border-radius: 99px; background: var(--card-linie); overflow: hidden; }
.ac-bara-progres > i { display: block; height: 100%; background: var(--accent); border-radius: inherit; }
.ac-card__procent { font-size: 0.8125rem; color: var(--text-bland); }
.ac-gol { color: var(--text-bland); padding: 2rem 0; }

/* Etichetă de stare — diferențiază clar ce e gratuit, ce costă și ce ai
   deja deblocat, oriunde apare (card de catalog, card propriu, rând de
   resursă). O singură componentă, trei sensuri, aceleași culori peste tot. */
.ac-stare {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.01em;
  padding: 0.3rem 0.7rem; border-radius: 99px; border: 1px solid transparent;
  white-space: nowrap;
}
.ac-stare--libera { background: rgb(111 138 109 / 0.14); color: #3d6b45; border-color: rgb(111 138 109 / 0.3); }
.ac-stare--plata { background: rgb(232 181 98 / 0.16); color: var(--aur-premium, var(--accent)); border-color: rgb(232 181 98 / 0.4); }
.ac-stare--blocata { background: rgb(20 32 26 / 0.05); color: var(--text-sters); border-color: var(--card-linie); }
.ac-stare--finalizat { background: rgb(111 138 109 / 0.16); color: #3d6b45; }
.ac-stare--progres { background: rgb(232 181 98 / 0.16); color: var(--aur-premium, var(--accent)); }
.ac-stare--neinceput { background: rgb(20 32 26 / 0.05); color: var(--text-sters); }
.ac-stare svg { width: 11px; height: 11px; }
.ac-card__eticheta { position: absolute; top: 0.75rem; left: 0.75rem; box-shadow: 0 6px 16px -6px rgb(20 32 26 / 0.35); }

/* --- Resurse gratuite (catalog public + listă membru) --- */
.ac-resursa-rand {
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
  padding: 1rem 1.125rem; margin-bottom: 0.75rem;
  background: var(--card); border: 1px solid var(--card-linie); border-radius: var(--r);
  transition: border-color 0.3s var(--usor), transform 0.3s var(--usor);
}
.ac-resursa-rand:hover { border-color: var(--accent); transform: translateY(-2px); }
.ac-resursa-rand__ico {
  flex: none; width: 2.5rem; height: 2.5rem; border-radius: 50%;
  background: rgb(232 181 98 / 0.14); color: var(--aur-premium, var(--accent));
  display: grid; place-items: center;
}
.ac-resursa-rand__ico svg { width: 19px; height: 19px; }
.ac-resursa-rand__body { flex: 1 1 14rem; min-width: 0; }
.ac-resursa-rand__titlu { font-weight: 600; }
.ac-resursa-rand__desc { color: var(--text-bland); font-size: 0.9375rem; margin-top: 0.15rem; }
.ac-resursa-rand .btn--sec { flex: none; margin-left: auto; padding: 0.5rem 1rem; font-size: 0.8125rem; }
.ac-galerie-rand { width: 100%; display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.25rem; }
.ac-galerie-rand__poza { width: 5.5rem; height: 5.5rem; object-fit: cover; border-radius: 10px; display: block; transition: transform 0.25s var(--usor); }
.ac-galerie-rand__poza:hover { transform: scale(1.05); }

.ac-lectii a.blocata { color: var(--text-sters); }
.ac-lacat { opacity: 0.75; display: inline-flex; }
.ac-lacat svg { width: 14px; height: 14px; }
.ac-blocare {
  background: var(--card); border: 1px solid var(--card-linie); border-radius: var(--r);
  padding: 2.25rem 1.5rem; text-align: center; margin-bottom: 1.25rem;
  box-shadow: 0 0 0 1px rgb(232 181 98 / 0.25), 0 26px 60px -34px rgb(138 95 22 / 0.4);
}
.ac-blocare__ico {
  width: 3rem; height: 3rem; margin: 0 auto 1rem; border-radius: 50%;
  background: rgb(232 181 98 / 0.14); color: var(--aur-premium, var(--accent));
  display: grid; place-items: center;
}
.ac-blocare__ico svg { width: 22px; height: 22px; }
.ac-blocare p { margin-bottom: 1.25rem; color: var(--text-bland); }
.ac-blocare .canale-ac { display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; }

/* --- Player de curs (layout tip Kajabi: player + listă în același cadru,
   acțiuni + materiale dedesubt, pe două coloane care urmează proporția
   cadrului) --- */
.ac-curs { display: grid; grid-template-columns: minmax(0, 1fr) 320px; column-gap: 1.75rem; row-gap: 1.75rem; }
.ac-curs-frame {
  grid-column: 1 / -1; min-width: 0;
  display: grid; grid-template-columns: minmax(0, 1fr) 320px; column-gap: 1.75rem; align-items: start;
  background: linear-gradient(165deg, var(--sky-1), var(--sky-0));
  border-radius: calc(var(--r) + 8px);
  padding: 1.5rem;
  box-shadow: 0 30px 70px -30px rgb(8 14 12 / 0.55);
  /* bulă de temă întunecată: reutilizează exact tokenii de dark-mode ai
     site-ului, ca playerul să arate premium fără culori inventate. */
  --text: #f4efe4; --text-bland: #c3cdc0; --text-sters: #8d9a8c;
  --linie: rgb(244 239 228 / 0.14); --card: rgb(244 239 228 / 0.07); --card-linie: rgb(244 239 228 / 0.12);
  --accent: #e8b562;
  color: var(--text);
}
.ac-curs-actiuni { grid-column: 1; min-width: 0; }
.ac-curs-descarcari { grid-column: 2; min-width: 0; }

.ac-sidebar {
  border-left: 1px solid var(--linie); padding-left: 1.5rem; margin-left: 0.25rem;
  display: flex; flex-direction: column; min-height: 0; min-width: 0;
}
.ac-sidebar__cap { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; padding-bottom: 0.85rem; margin-bottom: 0.6rem; border-bottom: 1px solid var(--linie); }
.ac-sidebar__cap strong { font-family: var(--display); font-size: 1.1875rem; }
.ac-sidebar__cap span { font-size: 0.8125rem; color: var(--text-sters); flex: none; }
.ac-sidebar-scroll { overflow-y: auto; max-height: min(calc(100svh - 14rem), 27rem); }
.ac-modul-eticheta { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-sters); margin: 0.85rem 0 0.4rem; }
.ac-modul-eticheta:first-child { margin-top: 0; }
.ac-lectii { list-style: none; margin: 0 0 0.5rem; padding: 0; display: flex; flex-direction: column; gap: 0.3rem; }
.ac-lectii a {
  display: flex; align-items: center; gap: 0.65rem; text-decoration: none; color: var(--text-bland);
  padding: 0.5rem; border-radius: 10px; font-size: 0.9375rem;
  border: 1px solid transparent; transition: background 0.2s var(--usor), border-color 0.2s var(--usor);
}
.ac-lectii a:hover { background: var(--card); }
.ac-lectii a.activa { background: var(--card); color: var(--text); font-weight: 600; border-color: var(--accent); }
.ac-lectii__thumb {
  flex: none; width: 4.25rem; height: 2.625rem; border-radius: 6px; object-fit: cover; background: var(--sky-2);
  display: grid; place-items: center; color: var(--text-sters);
}
.ac-lectii__thumb svg { width: 16px; height: 16px; }
.ac-lectii__titlu { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-tick { width: 16px; height: 16px; flex: none; border-radius: 50%; border: 1.5px solid var(--card-linie); }
.ac-tick.bifat { background: var(--accent); border-color: var(--accent); }
.ac-sidebar-comuta { display: none; }

.ac-principal { padding-right: 0; min-width: 0; }
.ac-scena { position: relative; aspect-ratio: 16/9; width: 100%; border-radius: var(--r); overflow: hidden; background: linear-gradient(160deg, var(--sky-2), var(--sky-1)); }
.ac-player-video { width: 100%; height: 100%; }
.ac-player-video iframe { width: 100%; height: 100%; border: 0; display: block; }
.ac-copertă-video { position: absolute; inset: 0; display: grid; place-items: center; }
.ac-copertă-video img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.ac-copertă-video__substituent { color: var(--text-sters); }
.ac-copertă-video__substituent svg { width: 34px; height: 34px; }
.ac-curand { position: absolute; left: 0.85rem; bottom: 0.85rem; background: rgb(8 14 12 / 0.65); color: #f4efe4; font-size: 0.75rem; padding: 0.35rem 0.75rem; border-radius: 999px; }
.ac-player-colt {
  position: absolute; left: 0.85rem; bottom: 0.85rem; z-index: 2;
  display: flex; align-items: center; gap: 0.65rem;
}
.ac-buton-play {
  width: 3rem; height: 3rem; border-radius: 50%; flex: none; cursor: pointer;
  background: #0c1512; border: 1.5px solid var(--accent); color: var(--accent);
  display: grid; place-items: center;
  box-shadow: 0 14px 32px -12px rgb(0 0 0 / 0.75), 0 0 0 1px rgb(0 0 0 / 0.35);
  transition: transform 0.25s var(--usor), background 0.25s var(--usor), box-shadow 0.25s var(--usor);
}
.ac-buton-play:hover { transform: scale(1.08); background: var(--accent); color: #1a1206; box-shadow: 0 16px 36px -10px rgb(0 0 0 / 0.8), 0 0 0 1px var(--accent); }
.ac-buton-play svg { width: 18px; height: 18px; margin-left: 2px; }
.ac-durata-clip { background: #0c1512; border: 1px solid rgb(244 239 228 / 0.18); color: #f4efe4; font-size: 0.8125rem; font-variant-numeric: tabular-nums; padding: 0.35rem 0.7rem; border-radius: 999px; }
.ac-whatsapp-lectie {
  position: absolute; left: 0.85rem; top: 0.85rem; z-index: 2;
  display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem;
  background: #0c1512; border: 1.5px solid var(--accent);
  color: var(--accent); text-decoration: none; white-space: nowrap;
  padding: 0.4rem 0.65rem; border-radius: 0.5rem;
  box-shadow: 0 14px 32px -12px rgb(0 0 0 / 0.75), 0 0 0 1px rgb(0 0 0 / 0.35);
  transition: transform 0.25s var(--usor), background 0.25s var(--usor), box-shadow 0.25s var(--usor);
}
.ac-whatsapp-lectie:hover { transform: scale(1.04); background: #141f1a; box-shadow: 0 16px 36px -10px rgb(0 0 0 / 0.8), 0 0 0 1px var(--accent); }
.ac-whatsapp-lectie__rand { display: inline-flex; align-items: center; gap: 0.3rem; font-weight: 700; font-size: 0.6875rem; letter-spacing: 0.01em; }
.ac-whatsapp-lectie__rand svg { width: 13px; height: 13px; flex: none; }
.ac-whatsapp-lectie__lacat { display: inline-flex; opacity: 0.8; }
.ac-whatsapp-lectie__lacat svg { width: 11px; height: 11px; }
.ac-whatsapp-lectie__ico { color: #25d366; }

.ac-marcheaza-mare { display: flex; width: 100%; justify-content: center; margin: 1.5rem 0 1.5rem; }
.ac-marcheaza-mare.facuta { background: var(--card); color: var(--text-bland); border: 1px solid var(--card-linie); box-shadow: none; }

.ac-navigare-lectii { display: flex; align-items: stretch; justify-content: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.ac-nav-card {
  display: flex; align-items: center; gap: 0.85rem; width: 18rem; max-width: 100%;
  background: var(--card); border: 1px solid var(--card-linie); border-radius: var(--r);
  padding: 0.65rem 0.85rem; cursor: pointer; text-align: left; color: var(--text);
  transition: border-color 0.25s var(--usor), transform 0.25s var(--usor);
}
.ac-nav-card:hover:not(:disabled) { border-color: var(--accent); transform: translateY(-2px); }
.ac-nav-card:disabled { opacity: 0.3; cursor: default; }
.ac-nav-card__info { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.ac-nav-card__eticheta { font-size: 0.8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--accent); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ac-nav-card__titlu { font-weight: 600; font-size: 0.9375rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-nav-card__thumb { width: 3rem; height: 3rem; border-radius: 8px; object-fit: cover; flex: none; background: var(--sky-2); }
.ac-nav-card__sageata { flex: none; display: inline-flex; color: var(--text-sters); opacity: 0.6; }
.ac-nav-card__sageata svg { width: 14px; height: 14px; }
.ac-program-finalizat { color: var(--text-bland); font-size: 0.9375rem; display: flex; align-items: center; gap: 0.6rem; }
.ac-program-finalizat a { color: var(--accent); }

.ac-lectie-scurta { color: var(--text-bland); font-size: 1.0625rem; margin: 0.75rem 0 1rem; }
.ac-lectie-detaliata { color: var(--text-bland); line-height: 1.65; white-space: pre-line; margin-bottom: 1.5rem; }
.ac-lectie-blocata { display: flex; align-items: center; gap: 0.6rem; color: var(--text-sters); font-size: 0.9375rem; margin-bottom: 1.5rem; }
.ac-lectie-blocata a { color: var(--accent); }

.ac-player-audio { background: var(--card); border: 1px solid var(--card-linie); border-radius: var(--r); padding: 1.25rem; margin-bottom: 1.25rem; }
.ac-audio-rand { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
.ac-audio-rand button {
  background: var(--card-linie); border: 0; color: var(--text); width: 38px; height: 38px;
  border-radius: 50%; cursor: pointer; display: grid; place-items: center; flex: none;
  transition: background 0.25s var(--usor), color 0.25s var(--usor);
}
.ac-audio-rand button:hover { background: var(--accent); color: #1a1206; }
.ac-audio-rand button.activ { background: var(--accent); color: #1a1206; }
.ac-audio-rand button svg { width: 15px; height: 15px; }
.ac-audio-rand select { background: var(--card); color: var(--text); border: 1px solid var(--card-linie); border-radius: 6px; padding: 0.3rem 0.5rem; }
.ac-audio-bara { flex: 1; min-width: 140px; }
.ac-audio-timp { font-size: 0.8125rem; color: var(--text-bland); font-variant-numeric: tabular-nums; }

.ac-curs-descarcari h3 { font-family: var(--display); font-size: 1.1875rem; margin-bottom: 0.85rem; color: var(--aur-premium, var(--accent)); }
.ac-materiale-lectie { display: flex; flex-direction: column; gap: 0.6rem; }
.ac-materiale-lectie a { justify-content: flex-start; }

@media (max-width: 860px) {
  .ac-curs { grid-template-columns: 1fr; row-gap: 1.25rem; }
  .ac-curs-frame { grid-template-columns: 1fr; padding: 1rem; }
  .ac-curs-actiuni, .ac-curs-descarcari { grid-column: 1; }
  .ac-sidebar { border-left: 0; border-top: 1px solid var(--linie); padding-left: 0; margin-left: 0; padding-top: 1rem; margin-top: 1.25rem; }
  .ac-sidebar-scroll { max-height: 12rem; }
  .ac-sidebar.ac-sidebar--extinsa .ac-sidebar-scroll { max-height: none; }
  .ac-sidebar-comuta { display: block; width: 100%; margin-top: 0.6rem; }
  .ac-navigare-lectii { flex-wrap: nowrap; gap: 0.5rem; }
  .ac-nav-card { width: 0; flex: 1 1 0; padding: 0.5rem 0.6rem; gap: 0.5rem; }
  .ac-nav-card__thumb { width: 2.25rem; height: 2.25rem; }
  .ac-nav-card__sageata svg { width: 12px; height: 12px; }
  .ac-nav-card__eticheta { font-size: 0.625rem; letter-spacing: 0.02em; }
  .ac-nav-card__titlu { font-size: 0.8125rem; }
}

/* --- Admin --- */
.ac-admin-sectiune {
  margin-bottom: 2rem;
  background: var(--card); border: 1px solid var(--card-linie); border-radius: var(--r);
  padding: clamp(1.25rem, 2.5vw, 2rem);
  box-shadow: 0 20px 45px -32px rgb(111 74 15 / 0.2);
}
.ac-admin-sectiune h2 { font-family: var(--display); font-size: 1.375rem; margin-bottom: 1rem; color: var(--aur-premium, var(--accent)); font-weight: 400; }
.ac-tabel { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.ac-tabel th, .ac-tabel td { text-align: left; padding: 0.6rem 0.5rem; border-bottom: 1px solid var(--linie); }
.ac-form-inline { display: flex; gap: 0.6rem; flex-wrap: wrap; align-items: end; margin-bottom: 1rem; }
.ac-form-inline input, .ac-form-inline select { padding: 0.6rem 0.75rem; border-radius: 6px; border: 1px solid var(--card-linie); background: var(--card); color: var(--text); font: inherit; }
.ac-chip { display: inline-flex; align-items: center; gap: 0.3rem; background: var(--card-linie); border-radius: 99px; padding: 0.2rem 0.6rem; font-size: 0.8125rem; margin: 0.15rem; }
.ac-chip button { background: none; border: 0; color: inherit; cursor: pointer; font-size: 0.9375rem; line-height: 1; }

/* --- Utilizatori Academie (sistem centralizat) --- */
.ac-stats-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); gap: 0.75rem; margin-bottom: 1.25rem; }
.ac-stat-card { border: 1px solid var(--card-linie); border-radius: var(--r); padding: 0.75rem 0.9rem; background: rgb(252 249 242 / 0.5); display: flex; flex-direction: column; gap: 0.2rem; }
.ac-stat-card strong { font-family: var(--display); font-size: 1.375rem; color: var(--aur-premium, var(--accent)); font-weight: 400; }
.ac-stat-card span { font-size: 0.75rem; color: var(--text-bland); }
.ac-filtre-utilizatori { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; margin-bottom: 1rem; }
.ac-filtre-utilizatori input[type="search"], .ac-filtre-utilizatori select { padding: 0.5rem 0.7rem; border-radius: 6px; border: 1px solid var(--card-linie); background: var(--card); color: var(--text); font: inherit; }
.ac-filtre-utilizatori label { display: flex; align-items: center; gap: 0.35rem; font-size: 0.8125rem; color: var(--text-bland); white-space: nowrap; }
.ac-profil-bloc { padding: 0.9rem 0; border-bottom: 1px solid var(--card-linie); }
.ac-profil-bloc:last-child { border-bottom: 0; }
.ac-profil-bloc h4 { font-family: var(--display); font-weight: 400; font-size: 1rem; color: var(--aur-premium, var(--accent)); margin-bottom: 0.5rem; }
.ac-profil-bloc textarea { font: inherit; padding: 0.5rem 0.7rem; border-radius: 6px; border: 1px solid var(--card-linie); background: var(--card); color: var(--text); }
.ac-profil-bloc input[type="text"], .ac-profil-bloc input:not([type]) { padding: 0.5rem 0.7rem; border-radius: 6px; border: 1px solid var(--card-linie); background: var(--card); color: var(--text); font: inherit; width: 100%; max-width: 20rem; }
.ac-program-card-admin { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; padding: 0.6rem 0; border-top: 1px dashed var(--card-linie); font-size: 0.875rem; }
.ac-program-card-admin:first-of-type { border-top: 0; }
.ac-program-card-admin > strong { min-width: 10rem; }
.ac-badge { display: inline-flex; padding: 0.15rem 0.55rem; border-radius: 99px; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.02em; }
.ac-badge--activ { background: rgb(111 163 90 / 0.18); color: #4d7a3c; }
.ac-badge--inactiv { background: rgb(181 69 47 / 0.14); color: #b5452f; }
.ac-plati-istoric { flex-basis: 100%; display: flex; flex-direction: column; gap: 0.2rem; margin-top: 0.4rem; padding: 0.5rem 0.75rem; background: var(--card); border-radius: 6px; }
.ac-plata-rand { display: flex; gap: 0.75rem; flex-wrap: wrap; font-size: 0.78125rem; color: var(--text-bland); }
.ac-progres-bara { position: relative; height: 1.5rem; border-radius: 99px; background: var(--card); overflow: hidden; margin: 0.75rem 0; border: 1px solid var(--card-linie); }
.ac-progres-bara__umplere { height: 100%; background: var(--accent); width: 0%; transition: width 0.2s ease; }
.ac-progres-bara__text { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 600; color: var(--text); }
/* Modul — antet pliabil (acordeon), ca un program cu multe lecții să nu
   devină o listă nesfârșită: implicit, doar modulele scurte (≤4 lecții)
   pornesc deschise. */
.ac-modul-admin { border: 1px solid var(--card-linie); border-radius: var(--r); padding: 0; margin-bottom: 1rem; background: rgb(252 249 242 / 0.5); overflow: hidden; }
.ac-modul-admin__cap {
  display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap;
  padding: 0.85rem 1rem; cursor: pointer; user-select: none;
}
.ac-modul-admin__cap:hover { background: rgb(232 181 98 / 0.08); }
.ac-modul-admin__cap:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.ac-modul-admin__chevron {
  flex: none; display: inline-flex; color: var(--aur-premium, var(--accent));
  transform: rotate(90deg); transition: transform 0.25s var(--usor, ease);
}
.ac-modul-admin__chevron svg { width: 13px; height: 13px; }
.ac-modul-admin--inchis .ac-modul-admin__chevron { transform: rotate(0deg); }
.ac-modul-admin__cap strong { font-size: 1.0625rem; }
.ac-modul-admin__numar {
  font-size: 0.75rem; color: var(--text-sters); background: var(--card-linie);
  border-radius: 99px; padding: 0.15rem 0.6rem; flex: none;
}
.ac-modul-admin__actiuni { display: flex; align-items: center; gap: 0.35rem; margin-left: auto; flex-wrap: wrap; }
.ac-modul-admin__corp { padding: 0 1rem 1rem; border-top: 1px solid var(--card-linie); }
.ac-modul-admin__corp > .ac-lectie-admin:first-child { margin-top: 0.85rem; }

/* Lecție — un bloc complet și pliabil: închis arată doar titlul și, discret,
   ce tipuri de materiale are; deschis arată tot (titlu editabil, video/audio/
   PDF, descriere, materiale suplimentare), ca o singură chakră să fie
   administrată dintr-un singur loc, fără pagini separate. */
.ac-lectie-admin {
  border: 1px solid var(--card-linie); border-radius: 10px;
  margin-bottom: 0.65rem; background: rgb(255 253 246 / 0.65); overflow: hidden;
}
.ac-lectie-admin__cap {
  display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap;
  padding: 0.65rem 0.85rem; cursor: pointer; user-select: none;
}
.ac-lectie-admin__cap:hover { background: rgb(232 181 98 / 0.08); }
.ac-lectie-admin__cap:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.ac-lectie-admin__chevron {
  flex: none; display: inline-flex; color: var(--aur-premium, var(--accent));
  transform: rotate(90deg); transition: transform 0.25s var(--usor, ease);
}
.ac-lectie-admin__chevron svg { width: 12px; height: 12px; }
.ac-lectie-admin--inchis .ac-lectie-admin__chevron { transform: rotate(0deg); }
.ac-lectie-admin__nr {
  flex: none; width: 1.625rem; height: 1.625rem; display: inline-flex; align-items: center;
  justify-content: center; border-radius: 50%; background: var(--card-linie);
  font-size: 0.75rem; font-weight: 700; color: var(--text-bland);
}
.ac-lectie-admin__titlu-text { font-weight: 600; }
.ac-lectie-admin__titlu { flex: 1 1 13rem; min-width: 0; font-weight: 600; padding: 0.45rem 0.65rem; border-radius: 6px; border: 1px solid var(--card-linie); background: var(--card); color: var(--text); font: inherit; }
.ac-lectie-admin__indicii { display: flex; align-items: center; gap: 0.3rem; color: var(--text-sters); }
.ac-lectie-admin__indicii svg { width: 13px; height: 13px; }
.ac-lectie-admin__actiuni { display: flex; align-items: center; gap: 0.35rem; flex-wrap: wrap; font-size: 0.8125rem; margin-left: auto; }
.ac-lectie-admin__corp { padding: 0 0.85rem 0.85rem; }
.ac-lectie-admin__campuri { display: flex; gap: 0.6rem; flex-wrap: wrap; margin-top: 0.6rem; }
.ac-lectie-admin__campuri label { flex: 1 1 10.5rem; display: flex; flex-direction: column; gap: 0.3rem; font-size: 0.75rem; color: var(--text-sters); }
.ac-lectie-admin__campuri input { padding: 0.45rem 0.6rem; border-radius: 6px; border: 1px solid var(--card-linie); background: var(--card); color: var(--text); font: inherit; font-size: 0.875rem; }
.ac-lectie-admin__descriere {
  display: block; width: 100%; margin-top: 0.6rem; padding: 0.45rem 0.6rem; border-radius: 6px;
  border: 1px solid var(--card-linie); background: var(--card); color: var(--text); font: inherit; font-size: 0.875rem; resize: vertical;
}
.ac-lectie-admin__incarcare {
  margin-top: 0.6rem; padding-top: 0.55rem; border-top: 1px dashed var(--card-linie);
  display: flex; gap: 0.75rem; flex-wrap: wrap; align-items: center; font-size: 0.8125rem; color: var(--text-bland);
}
.ac-lectie-admin__imagine-mica { width: 2.5rem; height: 2.5rem; object-fit: cover; border-radius: 6px; flex: none; }

/* Materiale suplimentare — listă liberă de titlu+link, pe lângă PDF-ul unic */
.ac-materiale-admin { margin-top: 0.65rem; padding-top: 0.6rem; border-top: 1px dashed var(--card-linie); }
.ac-materiale-admin__eticheta { font-size: 0.75rem; color: var(--text-sters); display: block; margin-bottom: 0.4rem; }
.ac-materiale-admin__rand { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.4rem; align-items: center; }
.ac-materiale-admin__rand input { flex: 1 1 10rem; padding: 0.4rem 0.55rem; border-radius: 6px; border: 1px solid var(--card-linie); background: var(--card); color: var(--text); font: inherit; font-size: 0.8125rem; }

@media (max-width: 560px) {
  .ac-lectie-admin__actiuni { margin-left: 0; }
  .ac-modul-admin__actiuni { margin-left: 0; width: 100%; }
}
