/* ===========================================================
   TEMA OSCURO FUTURISTA — solo páginas públicas del Campus.
   Se activa con <body class="tema-oscuro">. Aditivo: NO toca estilo.css.
   Mismo lenguaje que la landing/portal (navy + glow verde + glass).
   =========================================================== */
body.tema-oscuro{
  --d-txt:#eaf1f8; --d-muted:#90a6bf; --d-muted2:#6e859e;
  --d-verde:#78B400; --d-verde-br:#9be021; --d-navy:#1B3A5C;
  --d-glass:rgba(255,255,255,.05); --d-glass2:rgba(255,255,255,.08);
  --d-bord:rgba(255,255,255,.10); --d-bord2:rgba(255,255,255,.16);
  background:
    radial-gradient(1000px 560px at 86% -6%, rgba(120,180,0,.16), transparent 60%),
    radial-gradient(900px 700px at -5% 105%, rgba(27,58,92,.55), transparent 55%),
    linear-gradient(165deg,#0a1726,#102a45) !important;
  background-attachment:fixed !important;
  color:var(--d-txt);
}
body.tema-oscuro .svg-icon{color:var(--d-verde-br)}

/* ---------- Header ---------- */
body.tema-oscuro .topbar{background:rgba(10,23,38,.62)!important;backdrop-filter:blur(14px);
  border-bottom:1px solid var(--d-bord)!important;box-shadow:none!important}
body.tema-oscuro .brand-logo{background:#fff;border-radius:10px;padding:5px 8px}
body.tema-oscuro .brand-text{color:var(--d-txt)!important}
body.tema-oscuro .brand-text strong{color:#fff}
body.tema-oscuro .brand-madre{color:var(--d-muted)!important}
body.tema-oscuro .nav-main a{color:var(--d-muted)!important}
body.tema-oscuro .nav-main a:hover{color:#fff!important}
body.tema-oscuro .nav-cta{color:#0a1726!important;
  background:linear-gradient(120deg,var(--d-verde-br),var(--d-verde))!important;border:none!important}
body.tema-oscuro .nav-avatar{background:linear-gradient(120deg,var(--d-verde-br),var(--d-verde))!important;color:#0a1726!important}
body.tema-oscuro .nav-menu{background:#0e2238!important;border:1px solid var(--d-bord)!important;color:var(--d-txt)}
body.tema-oscuro .nav-menu a{color:var(--d-muted)!important}
body.tema-oscuro .nav-menu a:hover{color:#fff!important}
body.tema-oscuro .nav-menu-name{color:#fff!important}
body.tema-oscuro .nav-menu-mail{color:var(--d-muted2)!important}

/* ---------- Botones ---------- */
body.tema-oscuro .btn-primary{color:#0a1726!important;
  background:linear-gradient(120deg,var(--d-verde-br),var(--d-verde))!important;
  box-shadow:0 12px 28px -10px rgba(120,180,0,.6)!important;border:none!important}
body.tema-oscuro .btn-ghost{color:var(--d-txt)!important;background:transparent!important;
  border:1px solid var(--d-bord2)!important}
body.tema-oscuro .btn-ghost:hover{border-color:var(--d-verde)!important;color:var(--d-verde-br)!important;
  background:rgba(120,180,0,.08)!important}

/* ---------- Hero ---------- */
body.tema-oscuro .hero{background:transparent!important}
body.tema-oscuro .hero-badge{color:var(--d-verde-br)!important;background:transparent!important;
  border:1px solid var(--d-bord2)!important}
body.tema-oscuro .hero h1{color:#fff!important}
body.tema-oscuro .hero h1 span{background:linear-gradient(120deg,var(--d-verde-br),var(--d-verde));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#fff}
body.tema-oscuro .hero-sub,body.tema-oscuro .hero-meta{color:var(--d-muted)!important}
body.tema-oscuro .hero-card{background:var(--d-glass)!important;border:1px solid var(--d-bord)!important;
  backdrop-filter:blur(16px);box-shadow:0 18px 50px -20px rgba(0,0,0,.6)!important}
body.tema-oscuro .hc-title{color:#fff!important}
body.tema-oscuro .hc-sub{color:var(--d-muted)!important}
body.tema-oscuro .hc-icon{background:rgba(120,180,0,.14)!important;color:var(--d-verde-br)!important}
body.tema-oscuro .hc-bar{background:rgba(255,255,255,.10)!important}
body.tema-oscuro .hc-fill{background:linear-gradient(90deg,var(--d-verde-br),var(--d-verde))!important}

/* ---------- Secciones ---------- */
body.tema-oscuro .seccion,body.tema-oscuro .seccion.alt,
body.tema-oscuro .marca-madre-sec{background:transparent!important}
body.tema-oscuro .seccion-titulo{color:#fff!important}
body.tema-oscuro .seccion-sub{color:var(--d-muted)!important}

/* ---------- Niveles ---------- */
body.tema-oscuro .nivel-card{background:var(--d-glass)!important;border:1px solid var(--d-bord)!important;
  backdrop-filter:blur(16px);box-shadow:0 18px 50px -22px rgba(0,0,0,.6)!important}
body.tema-oscuro .nivel-card:hover{background:var(--d-glass2)!important;border-color:var(--d-bord2)!important}
body.tema-oscuro .nivel-nombre{color:#fff!important}
body.tema-oscuro .nivel-desc{color:var(--d-muted)!important}
body.tema-oscuro .nivel-link{color:var(--d-verde-br)!important}
body.tema-oscuro .nivel-pronto{color:var(--d-muted2)!important}
body.tema-oscuro .nivel-icono{color:var(--d-verde-br)}
body.tema-oscuro .nivel-card.bloqueado{opacity:.6}
body.tema-oscuro .cat-titulo{color:#fff!important;border-bottom-color:var(--d-bord)!important}
body.tema-oscuro .nivel-precio{color:#fff!important}
body.tema-oscuro .nivel-precio.gratis{color:#a6e22e!important}

/* ---------- Features ---------- */
body.tema-oscuro .feature{background:var(--d-glass)!important;border:1px solid var(--d-bord)!important;
  backdrop-filter:blur(16px)}
body.tema-oscuro .feature h3{color:#fff!important}
body.tema-oscuro .feature p{color:var(--d-muted)!important}
body.tema-oscuro .feature-ic{background:rgba(120,180,0,.14)!important;color:var(--d-verde-br)!important}

/* ---------- Marca madre ---------- */
body.tema-oscuro .mm-logo-slot{background:#fff!important;border-radius:18px;padding:18px 24px;
  display:inline-block;box-shadow:0 16px 40px -14px rgba(0,0,0,.6)}

/* ---------- Footer ---------- */
body.tema-oscuro .footer{background:rgba(10,23,38,.5)!important;
  border-top:1px solid var(--d-bord)!important;color:var(--d-muted)!important}
body.tema-oscuro .footer strong{color:var(--d-txt)!important}
body.tema-oscuro .brand-mark{background:linear-gradient(120deg,var(--d-verde-br),var(--d-verde))!important;color:#0a1726!important}

/* ---------- Auth (login / registro) ---------- */
body.tema-oscuro .auth-card{background:var(--d-glass)!important;border:1px solid var(--d-bord)!important;
  backdrop-filter:blur(16px);box-shadow:0 18px 50px -20px rgba(0,0,0,.6)!important}
body.tema-oscuro .auth-logo img{background:#fff;border-radius:16px;padding:14px 18px}
body.tema-oscuro .auth-titulo{color:#fff!important}
body.tema-oscuro .auth-sub{color:var(--d-muted)!important}
body.tema-oscuro .auth-form label{color:var(--d-muted)!important}
body.tema-oscuro .auth-form input{background:rgba(255,255,255,.04)!important;
  border:1px solid var(--d-bord2)!important;color:#fff!important}
body.tema-oscuro .auth-form input::placeholder{color:var(--d-muted2)!important}
body.tema-oscuro .auth-form input:focus{border-color:var(--d-verde)!important;
  box-shadow:0 0 0 4px rgba(120,180,0,.12)!important}
body.tema-oscuro .auth-pie{color:var(--d-muted)!important}
body.tema-oscuro .auth-pie a{color:var(--d-verde-br)!important}
body.tema-oscuro .auth-error{background:rgba(255,107,80,.12)!important;color:#ff8a73!important;
  border:1px solid rgba(255,107,80,.3)!important}
