/* ═══════════════════════════════════════════════════════════════════════
   Aula de juegos — piel visual del ROL MAESTRO (Aristóteles Digital)
   Se carga DESPUÉS de main.css. TODO va scopeado a body.role-maestro para
   no afectar a los demás roles. No cambia lógica: solo la capa de render.
   Diseño: "Aula de juegos" (tablet, tema claro, mascota búho).
   ══════════════════════════════════════════════════════════════════════ */

/* ── Tokens de diseño (scopeados al rol) ───────────────────────────────── */
body.role-maestro{
  --aj-purple:#4F2D8F;      --aj-purple-txt:#3A2760;
  --aj-primary:#6B4FB0;     --aj-primary-sh:#4A3480;
  --aj-yellow:#FFC531;      --aj-yellow-sh:#C79310;
  --aj-orange:#FFB648;      --aj-orange-sh:#D89020;  --aj-orange-halo:#FFD9A8;  --aj-orange-txt:#5C3A00;
  /* Opción "Cero magenta": el antiguo rosa pasa a coral cálido (sin magenta) */
  --aj-pink:#F0855E;        --aj-pink-dark:#C24E28;
  /* verde/ámbar/terra también son TEXTO de estado → tonos AA (2026-07-05) */
  --aj-green:#197A3E;       --aj-green-sh:#0F5C2E;
  --aj-blue:#5B8DEF;        --aj-blue-dark:#2E5CB8;
  --aj-amber:#8F5E0F;       --aj-terra:#AC3F1D;
  --aj-sheet:#F6F3FC;       --aj-card:#FFFFFF;        --aj-card-sh:#E4DCF2;
  --aj-lav:#EDE7F8;         --aj-lav2:#E9E1F8;        --aj-lav3:#F0EAFB;
  --aj-text:#3A2760;        --aj-text2:#5A4A7A;       --aj-muted:#756397;  --aj-muted2:#6F5E91;
  --aj-hairline:#D9CFF0;
}

/* ── Marco: fondo morado + tipografía Fredoka ──────────────────────────── */
body.role-maestro{ background:var(--aj-purple); font-family:'Fredoka',sans-serif; }
body.role-maestro .ctn,
body.role-maestro .topnav,
body.role-maestro .sec-tabs{ font-family:'Fredoka',sans-serif; }

/* Header (topnav real) re-vestido en morado, conservando su chrome funcional */
body.role-maestro .topnav{
  background:var(--aj-purple);
  border-bottom:none;
  box-shadow:0 4px 20px rgba(46,26,82,.35);
  height:auto; min-height:64px; padding:12px 24px;
}
body.role-maestro .topnav .logo-icon{
  background:var(--aj-yellow); border-radius:16px;
  box-shadow:0 4px 0 var(--aj-yellow-sh);
}
body.role-maestro .topnav .logo-sub{ color:#C9B6F2; }

/* Nav de píldoras (reutiliza .sec-tabs / selectSection, solo re-estilado) */
body.role-maestro .sec-tabs{ gap:8px; }
body.role-maestro .sec-tab{
  border:none; border-bottom:none; border-radius:999px;
  background:rgba(255,255,255,.12); color:#DCD2F5;
  font-size:15px; font-weight:600; line-height:1; padding:10px 18px;
  transition:transform .12s, box-shadow .12s, background .12s, color .12s;
}
body.role-maestro .sec-tab:hover{ color:#fff; transform:translateY(-1px); }
body.role-maestro .sec-tab.on{
  background:var(--aj-yellow); color:var(--aj-purple-txt);
  box-shadow:0 3px 0 var(--aj-yellow-sh); font-weight:600;
}
body.role-maestro .sec-tab.on:active{ transform:translateY(2px); box-shadow:0 1px 0 var(--aj-yellow-sh); }

/* Hoja de contenido: los .pg del maestro sobre el morado */
body.role-maestro .ctn{
  background:var(--aj-sheet);
  border-radius:28px 28px 0 0;
  max-width:1440px; padding:24px clamp(24px,3vw,48px) 40px;
  color:var(--aj-text);
  min-height:calc(100vh - 90px);
}

/* ── Primitivas: tarjetas, sombras duras, botones, chips ───────────────── */
body.role-maestro .aj-card{
  background:var(--aj-card); border-radius:20px; padding:18px 20px;
  box-shadow:0 4px 0 var(--aj-card-sh);
}
/* Sombra dura genérica: cada elemento define --sh; :active hunde el botón */
body.role-maestro .aj-hard{
  box-shadow:0 4px 0 var(--sh,var(--aj-card-sh));
  transition:transform .12s ease, box-shadow .12s ease;
}
body.role-maestro .aj-hard:active{ transform:translateY(3px); box-shadow:0 1px 0 var(--sh,var(--aj-card-sh)); }

body.role-maestro .aj-btn{
  border:none; font-family:'Fredoka',sans-serif; font-weight:600;
  border-radius:999px; cursor:pointer; line-height:1.1;
  padding:11px 20px; font-size:15px;
  transition:transform .12s ease, box-shadow .12s ease;
}
body.role-maestro .aj-btn:active{ transform:translateY(3px); }
body.role-maestro .aj-btn--primary{ background:var(--aj-primary); color:#fff; box-shadow:0 4px 0 var(--aj-primary-sh); }
body.role-maestro .aj-btn--primary:active{ box-shadow:0 1px 0 var(--aj-primary-sh); }
body.role-maestro .aj-btn--yellow{ background:var(--aj-yellow); color:var(--aj-orange-txt); box-shadow:0 3px 0 var(--aj-yellow-sh); }
body.role-maestro .aj-btn--yellow:active{ box-shadow:0 1px 0 var(--aj-yellow-sh); }
body.role-maestro .aj-btn--orange{ background:var(--aj-orange); color:var(--aj-orange-txt); box-shadow:0 4px 0 var(--aj-orange-sh); }
body.role-maestro .aj-btn--orange:active{ box-shadow:0 1px 0 var(--aj-orange-sh); }
body.role-maestro .aj-btn--ghost{ background:var(--aj-card); color:var(--aj-primary); border:3px solid var(--aj-hairline); padding:8px 18px; }
body.role-maestro .aj-btn--ghost:active{ transform:translateY(2px); }
body.role-maestro .aj-btn--big{ font-size:18px; padding:14px 32px; }
body.role-maestro .aj-btn--create{ background:linear-gradient(135deg,var(--aj-orange),var(--aj-pink)); color:#fff; box-shadow:0 5px 0 var(--aj-orange-sh); }
body.role-maestro .aj-btn--create:active{ box-shadow:0 1px 0 var(--aj-orange-sh); }

body.role-maestro .aj-chip{
  display:inline-block; border-radius:999px; padding:6px 14px;
  font-size:13px; font-weight:600; background:var(--aj-lav2); color:var(--aj-primary);
}

/* Encabezado de pantalla (título + subtítulo + acción a la derecha) */
body.role-maestro .aj-head{ display:flex; align-items:center; gap:14px; margin-bottom:16px; }
body.role-maestro .aj-head .aj-h-title{ font-weight:600; font-size:22px; color:var(--aj-text); line-height:1.15; }
body.role-maestro .aj-head .aj-h-sub{ font-size:13px; color:var(--aj-muted); font-weight:500; margin-top:2px; }
body.role-maestro .aj-head .aj-h-actions{ margin-left:auto; display:flex; gap:8px; align-items:center; }

/* Aviso (modo demo / sin sesión) con la piel nueva */
body.role-maestro .aj-note{
  background:#FFF6E8; border:3px solid var(--aj-orange-halo); border-radius:16px;
  padding:14px 18px; color:#8a6d2f; font-size:14px; font-weight:500;
}

/* Tiles pastel para iconos 50×50 */
body.role-maestro .aj-tile{
  width:50px; height:50px; border-radius:16px; display:grid; place-items:center;
  font-size:25px; flex-shrink:0;
}

/* ── HOY (misiones del día) ────────────────────────────────────────────── */
body.role-maestro .aj-hoy{ display:grid; grid-template-columns:1.5fr 1fr; gap:20px; align-items:start; }
body.role-maestro .aj-missions{ display:flex; flex-direction:column; gap:12px; }
body.role-maestro .aj-mission{
  background:var(--aj-card); border-radius:20px; padding:15px 20px; display:flex; align-items:center; gap:16px;
  box-shadow:0 4px 0 var(--aj-card-sh);
}
body.role-maestro .aj-mission.is-clickable{ cursor:pointer; transition:transform .12s ease; }
body.role-maestro .aj-mission.is-clickable:hover{ transform:translateY(-2px); }
body.role-maestro .aj-mission.is-done{ opacity:.6; }
body.role-maestro .aj-mission.is-done .aj-m-title{ text-decoration:line-through; }
body.role-maestro .aj-mission.is-main{ border:3px solid var(--aj-orange); box-shadow:0 4px 0 var(--aj-orange-halo); }
body.role-maestro .aj-m-title{ font-weight:600; font-size:16.5px; color:var(--aj-text); }
body.role-maestro .aj-m-sub{ font-size:13px; color:var(--aj-muted); }
body.role-maestro .aj-m-reward{ font-weight:600; font-size:15px; color:var(--aj-primary); white-space:nowrap; }
body.role-maestro .aj-m-reward.is-done{ color:var(--aj-green); }
body.role-maestro .aj-mission-new{
  border:3px dashed #C9B6F2; background:var(--aj-lav3); border-radius:20px; padding:14px;
  font-family:'Fredoka',sans-serif; font-weight:600; font-size:15.5px; color:var(--aj-primary); cursor:pointer;
  transition:transform .12s ease;
}
body.role-maestro .aj-mission-new:hover{ transform:translateY(-2px); }

body.role-maestro .aj-side{ display:flex; flex-direction:column; gap:16px; }
body.role-maestro .aj-bar{ height:16px; background:var(--aj-lav); border-radius:999px; overflow:hidden; flex:1; }
body.role-maestro .aj-bar > i{ display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#8A63E8,#FFC531); }
body.role-maestro .aj-ministats{ display:flex; gap:8px; margin-top:12px; }
body.role-maestro .aj-ministat{ flex:1; border-radius:14px; padding:10px; text-align:center; }
body.role-maestro .aj-ministat b{ display:block; font-size:21px; font-weight:600; }
body.role-maestro .aj-ministat span{ font-size:11px; font-weight:600; }
body.role-maestro .aj-council{
  background:var(--aj-purple-txt); border-radius:20px; padding:18px 20px; color:#fff;
  position:relative; overflow:hidden;
}
body.role-maestro .aj-council .aj-owl-bg{ position:absolute; right:-20px; bottom:-20px; font-size:110px; opacity:.15; pointer-events:none; }
body.role-maestro .aj-council h4{ font-weight:600; font-size:17px; margin-bottom:8px; color:var(--aj-yellow); }
body.role-maestro .aj-council p{ font-size:14px; line-height:1.55; color:#DCD2F5; }

/* ── MI EQUIPO ─────────────────────────────────────────────────────────── */
body.role-maestro .aj-team-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); gap:12px; }
body.role-maestro .aj-kid{
  background:var(--aj-card); border-radius:20px; padding:16px; box-shadow:0 4px 0 var(--aj-card-sh);
  text-align:center; cursor:pointer; transition:transform .12s ease;
}
body.role-maestro .aj-kid:hover{ transform:translateY(-2px); }
body.role-maestro .aj-kid-av{ width:56px; height:56px; border-radius:50%; display:grid; place-items:center; font-size:28px; margin:0 auto 8px; }
body.role-maestro .aj-kid-name{ font-weight:600; font-size:14.5px; color:var(--aj-text); line-height:1.2; }
body.role-maestro .aj-kid-stars{ margin:8px 0 6px; font-size:15px; letter-spacing:1px; min-height:18px; }
body.role-maestro .aj-kid-tag{ display:inline-block; font-size:11px; font-weight:600; padding:3px 10px; border-radius:999px; }

/* ── MEDALLAS (evaluación) ─────────────────────────────────────────────── */
body.role-maestro .aj-crit{
  background:var(--aj-card); border-radius:20px; padding:16px 20px; box-shadow:0 4px 0 var(--aj-card-sh);
  display:flex; align-items:center; gap:18px; margin-bottom:12px;
}
body.role-maestro .aj-crit-name{ width:220px; flex-shrink:0; }
body.role-maestro .aj-crit-name b{ font-weight:600; font-size:15px; color:var(--aj-text); line-height:1.25; display:block; }
body.role-maestro .aj-crit-name span{ font-size:12px; color:var(--aj-muted); font-weight:500; }
body.role-maestro .aj-medals{ flex:1; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
body.role-maestro .aj-medal{
  border:3px solid var(--aj-lav); background:var(--aj-card); border-radius:14px; padding:10px 8px; cursor:pointer;
  font-family:'Fredoka',sans-serif; text-align:center; transition:transform .12s ease, box-shadow .12s ease;
  min-height:44px;
}
body.role-maestro .aj-medal .aj-medal-ico{ font-size:20px; }
body.role-maestro .aj-medal .aj-medal-lbl{ font-size:11.5px; font-weight:600; color:var(--aj-muted2); line-height:1.2; margin-top:3px; }
body.role-maestro .aj-medal[aria-pressed="true"]{
  border-color:var(--aj-orange); background:#FFF6E8; box-shadow:0 3px 0 var(--aj-orange-halo);
}
body.role-maestro .aj-medal[aria-pressed="true"] .aj-medal-lbl{ color:var(--aj-text); }
body.role-maestro .aj-chest-row{ display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:2px dashed var(--aj-lav); }
body.role-maestro .aj-chest-row:last-child{ border-bottom:none; }
body.role-maestro .aj-chest-row .aj-chest-txt{ flex:1; font-size:14px; color:var(--aj-text2); font-weight:500; }
body.role-maestro .aj-progress{ display:flex; align-items:center; gap:10px; margin-bottom:9px; }
body.role-maestro .aj-progress .aj-p-name{ font-size:13px; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--aj-text2); font-weight:500; }
body.role-maestro .aj-progress .aj-p-track{ width:110px; height:12px; background:var(--aj-lav); border-radius:999px; overflow:hidden; }
body.role-maestro .aj-progress .aj-p-track > i{ display:block; height:100%; border-radius:999px; }
body.role-maestro .aj-progress .aj-p-val{ font-size:13px; width:38px; text-align:right; font-weight:600; }

/* ── APOYOS (BAP) ──────────────────────────────────────────────────────── */
body.role-maestro .aj-apoyos-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
body.role-maestro .aj-apoyo{ background:var(--aj-card); border-radius:20px; padding:18px 20px; box-shadow:0 4px 0 var(--sh,var(--aj-card-sh)); }
body.role-maestro .aj-apoyo-top{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
body.role-maestro .aj-apoyo-av{ width:50px; height:50px; border-radius:50%; display:grid; place-items:center; font-size:25px; flex-shrink:0; }
body.role-maestro .aj-apoyo-name{ font-weight:600; font-size:16px; color:var(--aj-text); }
body.role-maestro .aj-apoyo-barrera{ display:inline-block; font-size:11.5px; font-weight:600; padding:3px 10px; border-radius:999px; margin-top:2px; }
body.role-maestro .aj-apoyo-est{ margin-left:auto; font-size:12px; font-weight:600; align-self:flex-start; }
body.role-maestro .aj-apoyo-body{ font-size:13.5px; color:var(--aj-text2); line-height:1.5; background:var(--aj-sheet); border-radius:14px; padding:10px 14px; }
body.role-maestro .aj-apoyo-actions{ display:flex; gap:8px; margin-top:10px; }
body.role-maestro .aj-apoyo-actions .aj-btn{ font-size:12.5px; padding:6px 14px; }

/* Grid dos columnas genérico (Medallas cofre/avance) */
body.role-maestro .aj-2col{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }

/* ── Accesibilidad: foco visible ───────────────────────────────────────── */
body.role-maestro .aj-btn:focus-visible,
body.role-maestro .aj-medal:focus-visible,
body.role-maestro .sec-tab:focus-visible,
body.role-maestro .aj-kid:focus-visible,
body.role-maestro .aj-mission.is-clickable:focus-visible{
  outline:3px solid var(--aj-orange); outline-offset:2px;
}

/* ═══════════════════════════════════════════════════════════════════════
   INTEGRACIÓN DE OVERLAYS (Planear · Compartir · demás v8) al look maestro
   Los overlays .v8-* cubren toda la pantalla y usan variables de tema.
   Redefiniéndolas bajo body.role-maestro adoptan la paleta "Aula de juegos"
   SIN tocar planeacion-wizard.js ni el markup de Comunidad.
   ══════════════════════════════════════════════════════════════════════ */

/* Tokens consolidados 2026-07-05: los overlays heredan de :root (main.css).
   El caso especial del wizard (#v8-planeacion, que inyecta su propio tema con
   variables id-scoped) lo cubre aula-sistema.css → body.app-aula #v8-planeacion. */
body.role-maestro .v8-overlay{ font-family:'Fredoka',sans-serif; }
/* Tipografía y detalles compartidos de los overlays del maestro */
body.role-maestro .v8-ctn{ font-family:'Fredoka',sans-serif; }
body.role-maestro .v8-overlay h1,
body.role-maestro .v8-overlay h2,
body.role-maestro .v8-overlay h3,
body.role-maestro .v8-overlay h4{ font-family:'Fredoka',sans-serif; color:var(--aj-text); }
/* Botón cerrar como píldora con sombra dura.
   Se incluye la variante con #id para vencer la regla propia del wizard
   (#v8-planeacion .v8-close, que lleva id + !important). */
body.role-maestro .v8-close,
body.role-maestro #v8-planeacion .v8-close,
body.role-maestro #v8-comunidad .v8-close{
  background:var(--aj-primary)!important; color:#fff!important;
  border:none!important; border-radius:999px!important;
  box-shadow:0 4px 0 var(--aj-primary-sh)!important;
  font-family:'Fredoka',sans-serif!important; font-weight:600; padding:9px 18px!important;
}
body.role-maestro .v8-close:hover,
body.role-maestro #v8-planeacion .v8-close:hover{ color:#fff!important; border-color:transparent!important; }
/* Pasos del wizard: redondeo y aire de píldora (el color ya viene de las vars) */
body.role-maestro #v8-planeacion .pw-step{ border-radius:999px; }
body.role-maestro #v8-planeacion .pw-card,
body.role-maestro #v8-planeacion .card{ border-radius:18px; }

/* ── PRESENTAR (iframe modo-clase) ─────────────────────────────────────────
   OJO: modo-clase.html devuelve 404 en este repo → el iframe se ve como un
   recuadro oscuro roto. Mientras exista/cargue, el fondo de respaldo queda
   en tono lavanda (no negro) para que no desentone. */
body.role-maestro #pg-maestro-presentar{ background:var(--aj-sheet); }
body.role-maestro #pg-maestro-presentar iframe{ background:var(--aj-sheet)!important; }

/* ═══════════════════════════════════════════════════════════════════════
   SIN POP-UPS — overlays integrados como páginas del sistema (solo maestro)
   Cuando se abre un .v8-overlay, la app pone body.v8-open. Para el maestro:
   ocultamos la página .ctn y sacamos el overlay del modo "fixed" para que
   fluya bajo el header (que sigue visible y usable), como una página más.
   Fuera del rol maestro, los overlays siguen comportándose como antes.
   ══════════════════════════════════════════════════════════════════════ */
body.role-maestro.v8-open .ctn{ display:none; }
body.role-maestro .v8-overlay.active{
  position:static; inset:auto; z-index:auto;
  background:var(--aj-sheet);
  border-radius:28px 28px 0 0;
  max-width:1440px; margin:0 auto;
  min-height:calc(100vh - 90px);
  overflow:visible;
}
/* El botón de cerrar del overlay pasa a ser un "volver" flotante coherente */
body.role-maestro .v8-overlay.active .v8-close{ top:12px; }
/* El contenido interno del overlay aprovecha más ancho (antes topaba en 1100) */
body.role-maestro .v8-overlay.active .v8-ctn{ max-width:1280px; }

/* ═══════════════════════════════════════════════════════════════════════
   MODO OSCURO — variante "Aula de juegos" (html[data-theme="dark"] + maestro)
   El maestro arranca en claro (ver setupMaestroNav en index.html); esto se
   activa al alternar a oscuro. Solo se redefinen tokens → los componentes
   (que ya usan var(--aj-*)) se adaptan solos.
   ══════════════════════════════════════════════════════════════════════ */
html[data-theme="dark"] body.role-maestro{
  --aj-purple:#191031;
  /* --aj-purple-txt se mantiene oscuro: es texto sobre superficies amarillas/claras */
  --aj-primary:#8A63E8;  --aj-primary-sh:#3A2A66;
  --aj-yellow:#FFC531;   --aj-yellow-sh:#A9821F;
  --aj-orange:#FFB648;   --aj-orange-sh:#A9701A;  --aj-orange-halo:#5A431F;  --aj-orange-txt:#2A1B00;
  --aj-pink:#F0855E;     --aj-pink-dark:#F0A085;
  --aj-green:#3ED97F;    --aj-green-sh:#1E7A45;
  --aj-blue:#7BA9F5;     --aj-blue-dark:#A9C6FA;
  --aj-amber:#F0B450;    --aj-terra:#F0855E;
  --aj-sheet:#211836;    --aj-card:#2C2248;       --aj-card-sh:#140C26;
  --aj-lav:#3A2E58;      --aj-lav2:#3F3162;       --aj-lav3:#332750;
  --aj-text:#F1ECFA;     --aj-text2:#CFC3E8;      --aj-muted:#A093C2;  --aj-muted2:#8E7FB2;
  --aj-hairline:#4A3D68;
}
html[data-theme="dark"] body.role-maestro{ background:var(--aj-purple); }
html[data-theme="dark"] body.role-maestro .topnav{ background:#150D28; box-shadow:0 4px 20px rgba(0,0,0,.5); }
html[data-theme="dark"] body.role-maestro .ctn{ background:var(--aj-sheet); }
html[data-theme="dark"] body.role-maestro .sec-tab{ background:rgba(255,255,255,.08); color:#CFC3E8; }
/* Consejo búho: superficie oscura propia con borde sutil (evita blend con la hoja) */
html[data-theme="dark"] body.role-maestro .aj-council{ background:#140C26; border:1px solid #3A2E58; }
/* Superficies/halo que estaban hardcodeadas en claro */
html[data-theme="dark"] body.role-maestro .aj-medal[aria-pressed="true"]{ background:#3A2C18; border-color:var(--aj-orange); }
html[data-theme="dark"] body.role-maestro .aj-medal[aria-pressed="true"] .aj-medal-lbl{ color:var(--aj-text); }
html[data-theme="dark"] body.role-maestro .aj-note{ background:#2C2248; border-color:#5A431F; color:#E9D9B0; }
html[data-theme="dark"] body.role-maestro .aj-mission.is-main{ box-shadow:0 4px 0 #5A431F; }
html[data-theme="dark"] body.role-maestro .aj-mission-new{ border-color:#4A3D68; }
/* Input de búsqueda (grupo) trae background inline claro; lo forzamos oscuro */
html[data-theme="dark"] body.role-maestro #mgr-q{ background:#2C2248!important; color:var(--aj-text)!important; border-color:var(--aj-lav)!important; }
/* Pasada AA de contraste en oscuro (2026-07-07): --aj-primary (#8A63E8) como TEXTO
   sobre superficies oscuras no llega a 4.5:1 → variante clara solo donde es texto
   (como fondo de .aj-btn--primary con texto blanco se queda como está). */
html[data-theme="dark"] body.role-maestro .aj-chip,
html[data-theme="dark"] body.role-maestro .aj-btn--ghost,
html[data-theme="dark"] body.role-maestro .aj-mission-new,
html[data-theme="dark"] body.role-maestro .aj-m-reward{ color:#B49DF5; }
/* KPI del dashboard con color:var(--aj-primary) inline → hace falta !important */
html[data-theme="dark"] body.role-maestro #mh-kpi-vigentes{ color:#B49DF5!important; }
html[data-theme="dark"] body.role-maestro .aj-medal .aj-medal-lbl{ color:#9D90C0; }
/* Ministats del dashboard: el fondo pastel claro viene inline → superficie oscura
   (los <b> usan var(--aj-green/amber/terra), que en oscuro ya son claros) */
html[data-theme="dark"] body.role-maestro .aj-ministat{ background:var(--aj-lav3)!important; }
html[data-theme="dark"] body.role-maestro .aj-ministat span{ color:var(--aj-muted)!important; }
/* Overlays (Planear/Compartir/…) en oscuro: mismas variables de tema en oscuro */
/* (Variante oscura de overlays consolidada en main.css [data-theme="dark"];
   el wizard oscuro lo cubre aula-sistema.css → body.app-aula #v8-planeacion.) */

/* Pantallas anchas: Apoyos aprovecha 3 columnas */
@media (min-width:1180px){
  body.role-maestro .aj-apoyos-grid{ grid-template-columns:repeat(3,1fr); }
}

/* Responsivo tablet estrecha / móvil: columnas colapsan */
@media (max-width:820px){
  body.role-maestro .aj-hoy,
  body.role-maestro .aj-2col,
  body.role-maestro .aj-apoyos-grid{ grid-template-columns:1fr; }
  body.role-maestro .aj-team-grid{ grid-template-columns:repeat(2,1fr); }
  body.role-maestro .aj-crit{ flex-direction:column; align-items:stretch; }
  body.role-maestro .aj-crit-name{ width:auto; }
}
