/* =========================================================
   Academia ETERNI · V32.2
   Estructura académica privada y coherente
   ========================================================= */
:root{
  --academy-surface:#fffdfa;
  --academy-soft:#f3ece7;
  --academy-purple:#42284a;
  --academy-purple-2:#64406d;
  --academy-gold:#bb945a;
  --academy-text:#332d35;
  --academy-muted:#756d78;
  --academy-border:rgba(66,40,74,.11);
  --academy-shadow:0 22px 60px rgba(52,31,59,.08);
}

/* Puerta de entrada privada */
.academy-gateway-page,.academy-legacy-route{min-height:100vh;background:radial-gradient(circle at 78% 15%,rgba(194,155,91,.15),transparent 27rem),linear-gradient(135deg,#f7f2ee,#efe7eb)}
.academy-gateway{min-height:100vh;display:grid;place-items:center;padding:30px}
.academy-gateway-card{width:min(620px,100%);padding:52px 42px;text-align:center;border:1px solid var(--academy-border);border-radius:34px;background:rgba(255,253,250,.82);box-shadow:0 30px 90px rgba(52,31,59,.13);backdrop-filter:blur(22px)}
.academy-gateway-logo{width:86px;height:86px;object-fit:contain;margin-bottom:18px}
.academy-gateway-card h1{margin:8px 0 12px;color:var(--academy-purple);font:600 clamp(38px,6vw,60px)/.96 "Cormorant Garamond",serif}
.academy-gateway-card p{max-width:470px;margin:0 auto;color:var(--academy-muted);line-height:1.7}
.academy-gateway-loader{display:block;width:32px;height:32px;margin:25px auto 0;border:3px solid rgba(66,40,74,.12);border-top-color:var(--academy-purple);border-radius:50%;animation:academy-spin .9s linear infinite}
.academy-gateway-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:25px}
@keyframes academy-spin{to{transform:rotate(360deg)}}

/* Inicio */
.academy-home{padding-bottom:70px}
.academy-home-hero{padding:54px 0 34px;background:linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,0))}
.academy-home-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:end}
.academy-home-hero h1{margin:8px 0 10px;color:var(--academy-purple);font:600 clamp(46px,7vw,74px)/.92 "Cormorant Garamond",serif}
.academy-home-hero p{max-width:690px;margin:0;color:var(--academy-muted);font-size:16px;line-height:1.7}
.academy-week-status{padding:22px;border:1px solid var(--academy-border);border-radius:24px;background:rgba(255,253,250,.78);box-shadow:var(--academy-shadow)}
.academy-week-status span,.academy-week-status strong,.academy-week-status small{display:block}
.academy-week-status span{color:var(--academy-gold);font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.academy-week-status strong{margin-top:7px;color:var(--academy-purple);font:600 30px/1 "Cormorant Garamond",serif}
.academy-week-status small{margin-top:8px;color:var(--academy-muted);line-height:1.5}

.academy-focus-section,.academy-journey-section,.academy-overview-section,.academy-account-shortcuts{padding:22px 0}
.academy-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:18px}
.academy-section-heading h2{margin:5px 0 0;color:var(--academy-purple);font:600 clamp(34px,5vw,48px)/.98 "Cormorant Garamond",serif}
.academy-section-heading>p{max-width:420px;margin:0;color:var(--academy-muted);font-size:12px;line-height:1.6;text-align:right}
.academy-focus-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.55fr);gap:20px;align-items:stretch}
.academy-next-step{padding:26px;border:1px solid var(--academy-border);border-radius:26px;background:var(--academy-surface);box-shadow:var(--academy-shadow)}
.academy-next-step h3{margin:8px 0;color:var(--academy-purple);font:600 30px/1.02 "Cormorant Garamond",serif}
.academy-next-step p{color:var(--academy-muted);line-height:1.6}
.academy-next-step a{display:inline-block;margin-top:9px;color:var(--academy-purple);font-size:12px;font-weight:800}
.academy-summary-grid .summary-card{min-height:142px}
.academy-overview-grid{align-items:start}
.academy-overview-grid>section{padding:25px;border:1px solid var(--academy-border);border-radius:26px;background:rgba(255,253,250,.74);box-shadow:var(--academy-shadow)}
.academy-overview-grid .compact-heading{margin-bottom:14px}
.academy-overview-grid .compact-heading h3{margin:0;color:var(--academy-purple);font:600 30px/1 "Cormorant Garamond",serif}
.academy-inline-link{display:inline-block;margin-top:16px;color:var(--academy-purple);font-size:11px;font-weight:800}
.academy-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.academy-tool-grid>a{display:flex;gap:12px;align-items:flex-start;padding:20px;border:1px solid var(--academy-border);border-radius:20px;background:rgba(255,253,250,.72);color:inherit;box-shadow:0 12px 32px rgba(52,31,59,.05);transition:transform .18s ease,box-shadow .18s ease}
.academy-tool-grid>a:hover{transform:translateY(-2px);box-shadow:var(--academy-shadow)}
.academy-tool-grid>a>span{color:var(--academy-gold);font-size:10px;font-weight:900}
.academy-tool-grid strong,.academy-tool-grid small{display:block}
.academy-tool-grid strong{color:var(--academy-purple)}
.academy-tool-grid small{margin-top:4px;color:var(--academy-muted);line-height:1.45}

/* Páginas académicas privadas */
.academy-private-page{min-height:calc(100vh - 76px);padding-bottom:78px}
.academy-private-hero{padding:48px 0 27px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0))}
.academy-private-hero h1{margin:7px 0 10px;color:var(--academy-purple);font:600 clamp(45px,7vw,68px)/.94 "Cormorant Garamond",serif}
.academy-private-hero p{max-width:700px;margin:0;color:var(--academy-muted);font-size:15px;line-height:1.7}
.academy-private-section{padding:12px 0 50px}
.academy-live-strip{margin-bottom:28px}
.academy-learning-grid{align-items:stretch}
.academy-learning-grid .media-card{height:100%}
.academy-empty-state{margin-top:20px;padding:48px 28px;border:1px dashed rgba(66,40,74,.18);border-radius:28px;background:rgba(255,253,250,.56)}
.academy-empty-state h2{margin:8px 0;color:var(--academy-purple);font:600 36px/1 "Cormorant Garamond",serif}
.academy-access-banner{margin-bottom:26px}
.academy-book-grid{align-items:stretch}
.academy-resource-list{display:grid;gap:12px}

/* El shell es la única navegación del área privada */
[data-app-shell-mount]{min-height:0!important}
.student-app [data-app-shell-mount]{display:block}

@media(max-width:980px){
  .academy-home-hero-grid,.academy-focus-grid{grid-template-columns:1fr}
  .academy-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .academy-section-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .academy-section-heading>p{text-align:left}
}
@media(max-width:620px){
  .academy-home-hero{padding-top:32px}
  .academy-home-hero h1{font-size:48px}
  .academy-tool-grid{grid-template-columns:1fr}
  .academy-gateway-card{padding:38px 24px;border-radius:26px}
  .academy-focus-section,.academy-journey-section,.academy-overview-section,.academy-account-shortcuts{padding:15px 0}
}
@media(prefers-reduced-motion:reduce){.academy-gateway-loader{animation:none}.academy-tool-grid>a{transition:none}}

/* =========================================================
   V32.1 · Pulido visual del panel
   ========================================================= */
.academy-home-hero{
  padding:38px 0 22px;
}
.academy-home-hero-grid{
  grid-template-columns:minmax(0,1fr) 320px;
  gap:28px;
}
.academy-home-hero h1{
  margin:6px 0 7px;
  font-size:clamp(44px,6vw,62px);
}
.academy-home-hero p{
  font-size:15px;
  line-height:1.55;
}
.academy-recent-status{
  padding:19px 21px;
}
.academy-recent-status strong{
  margin-top:8px;
  font-family:"Inter",sans-serif;
  font-size:17px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.02em;
}
.academy-recent-status small{
  font-size:11px;
}

.academy-journey-section{
  padding:12px 0 18px;
}
.academy-summary-grid .summary-card{
  min-height:118px;
  padding:19px 20px;
}
.academy-summary-grid .summary-card strong{
  margin:10px 0 5px;
  font-family:"Inter",sans-serif;
  font-size:34px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
}
.academy-summary-grid .summary-card span{
  color:#665d69;
  font-size:11px;
  font-weight:600;
}
.academy-summary-grid .summary-card small{
  font-size:10px;
}

.academy-focus-section{
  padding:16px 0 20px;
}
.academy-section-heading-compact{
  margin-bottom:14px;
}
.academy-focus-grid{
  grid-template-columns:minmax(0,1.7fr) minmax(245px,.48fr);
}
.academy-focus-grid .continue-learning-card{
  min-height:365px;
}
.academy-focus-grid .continue-learning-copy{
  max-width:540px;
  padding:39px 42px;
}
.academy-focus-grid .continue-learning-copy h2{
  font-size:50px;
}
.academy-focus-grid .continue-learning-copy p{
  max-width:480px;
  margin-bottom:18px;
  line-height:1.5;
}
.academy-focus-grid .lesson-progress-line{
  margin-bottom:19px;
}
.academy-next-step{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:25px;
  color:#382e3c;
  background:
    radial-gradient(circle at 88% 8%,rgba(190,149,88,.12),transparent 36%),
    #fffdfa;
}
.academy-next-step .panel-kicker{
  color:#a67d43;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
}
.academy-next-step h3{
  color:#43284b;
}
.academy-next-step p{
  margin:0;
  color:#6d6470;
}
.academy-side-progress{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin-top:16px;
}
.academy-side-progress strong{
  color:#43284b;
  font-family:"Inter",sans-serif;
  font-size:39px;
  font-weight:750;
  letter-spacing:-.05em;
}
.academy-side-progress span{
  color:#817584;
  font-size:10px;
  font-weight:700;
}
.academy-side-program{
  margin-top:18px;
  padding-top:15px;
  border-top:1px solid rgba(66,40,74,.10);
}
.academy-side-program span,
.academy-side-program strong{
  display:block;
}
.academy-side-program span{
  color:#9b8f9d;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.10em;
}
.academy-side-program strong{
  margin-top:5px;
  color:#4b3d50;
  font-size:11px;
  line-height:1.45;
}

@media(max-width:980px){
  .academy-home-hero-grid{
    grid-template-columns:1fr;
  }
  .academy-focus-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .academy-home-hero{
    padding-top:26px;
  }
  .academy-summary-grid .summary-card{
    min-height:108px;
  }
  .academy-summary-grid .summary-card strong{
    font-size:30px;
  }
  .academy-focus-grid .continue-learning-card{
    min-height:430px;
  }
  .academy-focus-grid .continue-learning-copy{
    padding:29px 23px;
  }
  .academy-focus-grid .continue-learning-copy h2{
    font-size:42px;
  }
}

/* =========================================================
   V32.2 · Coherencia final de Inicio
   ========================================================= */
.student-app{
  scroll-padding-top:calc(var(--app-topbar-height) + 18px);
}

.ixchel-dashboard-section{
  scroll-margin-top:calc(var(--app-topbar-height) + 18px);
  padding:12px 0 18px;
}
.ixchel-dashboard-card{
  min-height:132px;
  padding:22px 26px;
}
.ixchel-dashboard-content{
  min-width:0;
}
.ixchel-dashboard-card h2{
  margin:3px 0 5px;
  font-size:30px;
}
.ixchel-dashboard-card p{
  max-width:760px;
  font-size:12px;
  line-height:1.5;
}
.ixchel-dashboard-card small{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.56);
  font-size:9px;
  font-weight:700;
}

.academy-overview-section{
  padding:18px 0 16px;
}
.academy-overview-grid{
  gap:16px;
}
.academy-overview-grid>section{
  min-height:0;
  padding:21px;
}
.academy-overview-grid .compact-heading h3{
  font-size:27px;
}
.academy-inline-link{
  margin-top:12px;
}

/* Programas enriquecidos */
.academy-program-preview-card{
  display:grid;
  grid-template-columns:66px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  padding:12px;
  border:1px solid rgba(66,40,74,.10);
  border-radius:17px;
  background:#fff;
}
.academy-program-preview-card + .academy-program-preview-card{
  margin-top:9px;
}
.academy-program-preview-card>img{
  width:66px;
  height:58px;
  object-fit:cover;
  border-radius:12px;
  background:#f1eae3;
}
.academy-program-preview-copy{
  min-width:0;
}
.academy-content-type{
  display:block;
  color:var(--academy-gold);
  font-size:8px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.academy-program-preview-copy h4{
  margin:3px 0 7px;
  overflow:hidden;
  color:var(--academy-purple);
  font:700 13px/1.25 "Inter",sans-serif;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.academy-mini-progress{
  display:flex;
  align-items:center;
  gap:9px;
}
.academy-mini-progress>div{
  width:min(145px,45%);
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:#ece5e7;
}
.academy-mini-progress>div>span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#b8965d,#d4b675);
}
.academy-mini-progress small{
  color:#7c717e;
  font-size:9px;
}
.academy-program-preview-card>a{
  padding:8px 10px;
  border-radius:10px;
  color:var(--academy-purple);
  background:rgba(66,40,74,.06);
  font-size:9px;
  font-weight:800;
}

/* Biblioteca múltiple */
.academy-library-preview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.academy-library-preview-card{
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:112px;
  padding:11px;
  border:1px solid rgba(66,40,74,.10);
  border-radius:17px;
  background:#fff;
  color:inherit;
  transition:transform .18s ease,box-shadow .18s ease;
}
.academy-library-preview-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(52,31,59,.08);
}
.academy-library-cover{
  display:grid;
  place-items:center;
  width:68px;
  height:90px;
  padding:5px;
  border-radius:12px;
  background:#f6efe5;
}
.academy-library-cover img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.academy-library-preview-copy{
  min-width:0;
}
.academy-library-preview-copy small{
  display:block;
  color:var(--academy-gold);
  font-size:8px;
  font-weight:900;
  letter-spacing:.10em;
}
.academy-library-preview-copy strong{
  display:block;
  margin-top:5px;
  color:var(--academy-purple);
  font:600 20px/1 "Cormorant Garamond",serif;
}
.academy-library-preview-copy em{
  display:block;
  margin-top:9px;
  color:#6c5d70;
  font:normal 800 9px "Inter",sans-serif;
}
.academy-library-count{
  margin:10px 2px 0;
  color:#7b707d;
  font-size:9px;
}

/* Herramientas con jerarquía visual */
.academy-account-shortcuts{
  padding:18px 0 25px;
}
.academy-tool-grid-v32-2>a{
  position:relative;
  align-items:center;
  min-height:106px;
  padding:17px;
  overflow:hidden;
  border-width:1px;
}
.academy-tool-grid-v32-2>a::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  border-radius:20px 0 0 20px;
  background:#5d4468;
  opacity:.95;
}
.academy-tool-grid-v32-2>a:nth-child(1){
  background:linear-gradient(180deg, rgba(114,87,134,.14), rgba(255,253,250,.96));
  border-color:rgba(114,87,134,.22);
}
.academy-tool-grid-v32-2>a:nth-child(2){
  background:linear-gradient(180deg, rgba(211,187,142,.18), rgba(255,253,248,.98));
  border-color:rgba(184,149,89,.24);
}
.academy-tool-grid-v32-2>a:nth-child(3){
  background:linear-gradient(180deg, rgba(142,174,157,.16), rgba(252,255,252,.98));
  border-color:rgba(83,122,101,.22);
}
.academy-tool-grid-v32-2>a:nth-child(4){
  background:linear-gradient(180deg, rgba(191,164,184,.16), rgba(255,252,254,.98));
  border-color:rgba(124,96,118,.22);
}
.academy-tool-grid-v32-2>a:nth-child(1)::before{background:#5f476c}
.academy-tool-grid-v32-2>a:nth-child(2)::before{background:#ba9558}
.academy-tool-grid-v32-2>a:nth-child(3)::before{background:#5d7e6b}
.academy-tool-grid-v32-2>a:nth-child(4)::before{background:#8c6b84}
.academy-tool-grid-v32-2 .academy-tool-icon{
  position:relative;
  z-index:1;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  color:var(--academy-purple);
  background:rgba(66,40,74,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
  font-size:16px;
}
.academy-tool-grid-v32-2>a:nth-child(2) .academy-tool-icon{
  color:#876331;
  background:rgba(190,149,88,.16);
}
.academy-tool-grid-v32-2>a:nth-child(3) .academy-tool-icon{
  color:#496d58;
  background:rgba(73,109,88,.14);
}
.academy-tool-grid-v32-2>a:nth-child(4) .academy-tool-icon{
  color:#6d5972;
  background:rgba(109,89,114,.14);
}
.academy-tool-grid-v32-2 strong{
  font-size:13px;
}
.academy-tool-grid-v32-2 small{
  font-size:9px;
}
.academy-tool-grid-v32-2 b{
  display:block;
  margin-top:7px;
  color:#6d6070;
  font-size:8px;
  font-weight:800;
}

@media(max-width:1180px){
  .academy-library-preview-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .ixchel-dashboard-card{
    grid-template-columns:auto 1fr;
  }
  .ixchel-dashboard-card .btn{
    grid-column:1/-1;
    width:100%;
  }
  .academy-program-preview-card{
    grid-template-columns:58px minmax(0,1fr);
  }
  .academy-program-preview-card>img{
    width:58px;
    height:54px;
  }
  .academy-program-preview-card>a{
    grid-column:2;
    width:max-content;
  }
}
@media(max-width:520px){
  .academy-library-preview-grid{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   V33.1 · Puerta privada definitiva de Academia ETERNI
   ========================================================= */
.academy-gateway-card-v33-1{
  position:relative;
  overflow:hidden;
}
.academy-gateway-card-v33-1::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:linear-gradient(90deg,#684270,#ba9558,#6f8b78,#8c6b84);
}
.academy-gateway-card-v33-1 .academy-gateway-logo{
  width:96px;
  height:72px;
}
.academy-gateway-route{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin:20px auto 0;
  color:#7b6f7d;
  font-size:9px;
  font-weight:800;
  letter-spacing:.04em;
}
.academy-gateway-route i{
  color:#b8945d;
  font-style:normal;
}
.academy-gateway-private-note{
  display:block;
  margin-top:20px;
  color:#9a8f9c;
  font-size:8px;
}

/* V35 · Acceso a Mi cuaderno */
.academy-notebook-shortcut{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:16px;padding:18px;border:1px solid rgba(81,53,89,.12);border-radius:19px;background:linear-gradient(135deg,rgba(103,75,112,.10),rgba(255,255,255,.88));color:inherit}
.academy-notebook-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#60436a;color:#fff;font-size:18px}
.academy-notebook-shortcut h2{margin:3px 0;color:#472f4f;font:600 26px/1 "Cormorant Garamond",serif}
.academy-notebook-shortcut p{margin:5px 0 0;color:#817582;font-size:9px}
.academy-notebook-shortcut>strong{color:#5c3c64;font-size:8px}
@media(max-width:620px){.academy-notebook-shortcut{grid-template-columns:42px 1fr}.academy-notebook-shortcut>strong{grid-column:2}}
