/* Componentes compartidos de Camino, Practicar, Explorar y Comunidad. */
body.ag-area .ag-content .ag-screen{max-width:1180px!important}
body.ag-area .ag-screen-intro{margin:0 0 30px}
body.ag-area .ag-screen-intro>p{margin:0;color:#2f7666!important;font-size:11px!important;font-weight:700;letter-spacing:1.3px}
body.ag-area .ag-screen-intro h1{margin:8px 0!important;color:#123d34!important;font:700 42px/1.12 'Fraunces',serif!important}
body.ag-area .ag-screen-intro>span{display:block;max-width:650px;color:#69746f;font-size:17px;line-height:1.55}

body.ag-area .ag-route-overview{display:grid!important;grid-template-columns:1.1fr 1fr 1fr!important;gap:0!important;padding:0!important;margin:0 0 24px!important;background:#fffefa!important;border:1px solid #dfe4df!important;border-radius:18px!important;box-shadow:none!important}
body.ag-area .ag-route-overview>div{padding:21px 24px!important}
body.ag-area .ag-route-overview>div+div{border-left:1px solid #dfe4df!important;padding-left:24px!important}
body.ag-area .ag-route-overview small{font-size:10px!important;letter-spacing:1px;color:#69746f!important}
body.ag-area .ag-route-overview strong{margin:6px 0!important;font:700 25px 'Fraunces',serif!important;color:#123d34!important}
body.ag-area .ag-route-overview p{font-size:14px!important;line-height:1.45!important}
body.ag-area .ag-route-overview i{height:5px!important;margin-top:9px}

body.ag-area .ag-route-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 280px!important;gap:24px!important;margin-top:0!important}
body.ag-area .ag-route-timeline{display:flex!important;flex-direction:column!important;gap:14px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body.ag-area .ag-route-stage{display:grid!important;grid-template-columns:43px minmax(0,1fr) auto!important;gap:15px!important;align-items:start!important;padding:20px!important;background:#fffefa!important;border:1px solid #dfe4df!important;border-radius:16px!important;box-shadow:none!important}
body.ag-area .ag-route-stage:last-child{border:1px solid #dfe4df!important}
body.ag-area .ag-route-stage>b{width:40px!important;height:40px!important;background:#edf0ed!important;border:0!important;color:#7b8781!important}
body.ag-area .ag-route-stage.is-done>b{background:linear-gradient(135deg,#c68e3d,#a66a4e)!important;color:#fffefa!important}
body.ag-area .ag-route-stage.is-current{border:2px solid #c68e3d!important;box-shadow:0 12px 28px rgba(18,61,52,.10)!important}
body.ag-area .ag-route-stage.is-current>b{background:linear-gradient(135deg,#164d40,#2b725e)!important;color:#f2d27b!important}
/* Insignias más grandes y cuadradas para las tarjetas con botón (etapas y
   tarjetas de destino). Solo tamaño aquí: el color de las etapas lo deciden
   is-done/is-current/is-locked arriba; el degradado de abajo es únicamente
   para las tarjetas de destino, que no llevan esas clases de estado. */
body.ag-area .ag-route-stage--con-boton>b{width:44px!important;height:44px!important;border-radius:11px!important;font-size:17px!important}
body.ag-area .ag-route-stage--con-boton:not(.is-done):not(.is-current):not(.is-locked)>b{background:linear-gradient(135deg,#164d40,#2b725e)!important;color:#f2d27b!important}
body.ag-area .ag-route-stage h2{margin:4px 0 6px!important;font:700 24px/1.18 'Fraunces',serif!important;color:#123d34!important}
body.ag-area .ag-route-stage p{margin:0 0 10px!important;font-size:15px!important;line-height:1.5!important}
body.ag-area .ag-route-stage em{display:inline-block!important;margin:0!important;padding:6px 8px!important;background:#f3f1e9!important;border-radius:7px!important;color:#725a31!important;font-size:12px!important}
body.ag-area .ag-route-stage a,body.ag-area .ag-route-stage button{align-self:center!important;background:transparent!important;border:1px solid #d4dad5!important;color:#123d34!important}
body.ag-area .ag-route-stage.is-current button{background:#123d34!important;border-color:#123d34!important;color:#fff!important}
body.ag-area .ag-route-stage.is-locked{opacity:.72}
body.ag-area .ag-route-layout aside{background:linear-gradient(160deg,#e8efe9,#f7f3e9)!important;border:1px solid #dbe2dd!important;border-radius:17px!important;box-shadow:none!important}
body.ag-area .ag-route-layout aside h2{font-size:22px!important}
body.ag-area .ag-route-layout aside button{width:100%;background:transparent!important;border:1px solid #d4dad5!important;color:#123d34!important}

body.ag-area .ag-duration{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:14px!important;max-width:800px!important;margin-bottom:22px!important}
body.ag-area .ag-duration button{min-height:130px!important;background:#fffefa!important;border:1px solid #dfe4df!important;color:#123d34!important}
body.ag-area .ag-duration button.is-current{border:2px solid #123d34!important;box-shadow:0 12px 28px rgba(18,61,52,.10)!important}
body.ag-area .ag-duration b{font-size:38px!important}
body.ag-area .ag-session{max-width:800px!important;border-radius:20px!important;box-shadow:0 8px 22px rgba(18,61,52,.06)!important}
body.ag-area .ag-session h2{font:700 28px 'Fraunces',serif!important;color:#123d34!important}
body.ag-area .ag-session>a{background:#123d34!important;color:#fff!important}
body.ag-area .ag-skill-grid{max-width:800px!important;grid-template-columns:repeat(3,1fr)!important}

body.ag-area .ag-search{min-height:52px!important;padding:0 16px!important;border-radius:14px!important;box-shadow:0 8px 25px rgba(31,54,46,.05)!important}
body.ag-area .ag-filters{gap:7px!important;margin:16px 0 20px!important}
body.ag-area .ag-filters button{border-radius:9px!important;padding:8px 12px!important}
body.ag-area .ag-library-note{background:#dcebe4!important;border:0!important;border-radius:12px!important}
body.ag-area .ag-library-note>b{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#123d34;color:#fff!important;font-size:16px!important}
body.ag-area .ag-course-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
body.ag-area .ag-course-grid article{overflow:hidden!important;transition:transform .2s,box-shadow .2s}
body.ag-area .ag-course-grid article:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(18,61,52,.12)!important}
body.ag-area .ag-course-grid article>b{min-height:118px;margin:-22px -22px 17px!important;padding:16px!important;font-size:46px!important;line-height:1!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;align-items:flex-start!important}
body.ag-area .ag-course-grid article>b i{font:700 11px 'DM Sans',system-ui,sans-serif!important;font-style:normal!important;letter-spacing:1.6px!important;text-transform:uppercase!important;opacity:.85!important;margin-top:7px!important}

body.ag-area .ag-community-hero{display:grid!important;grid-template-columns:1fr 220px!important;border-radius:22px!important;padding:30px 32px!important;box-shadow:none!important}
body.ag-area .ag-community-hero h2{font:700 30px 'Fraunces',serif!important;color:#fff!important}
body.ag-area .ag-content .ag-screen .ag-community-hero h2{color:#fff!important}
body.ag-area .ag-community-hero div div{gap:10px!important}

body.ag-area .ag-screen-intro--with-action{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important}
body.ag-area .ag-content .ag-ghost-button{flex:none!important;border:1px solid #dfe4df!important;border-radius:9px!important;background:transparent!important;color:#123d34!important;padding:11px 16px!important;font-size:13px!important;font-weight:700!important;white-space:nowrap!important}

@media(max-width:800px){body.ag-area .ag-screen-intro--with-action{flex-direction:column!important}body.ag-area .ag-screen-intro h1{font-size:36px!important}body.ag-area .ag-route-overview{grid-template-columns:1fr!important}body.ag-area .ag-route-overview>div+div{border-left:0!important;border-top:1px solid #dfe4df!important;padding:16px 24px!important}body.ag-area .ag-route-layout{grid-template-columns:1fr!important}body.ag-area .ag-route-layout aside{order:-1}body.ag-area .ag-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){body.ag-area .ag-screen-intro{margin-bottom:22px}body.ag-area .ag-screen-intro h1{font-size:26px!important}body.ag-area .ag-screen-intro>span{font-size:16px}body.ag-area .ag-route-stage{grid-template-columns:36px minmax(0,1fr)!important;padding:19px!important}body.ag-area .ag-route-stage>a,body.ag-area .ag-route-stage>button{grid-column:2;justify-self:start}body.ag-area .ag-route-stage h2{font-size:22px!important}body.ag-area .ag-duration{gap:7px!important}body.ag-area .ag-duration button{min-height:110px!important;padding:14px 10px!important}body.ag-area .ag-duration b{font-size:29px!important}body.ag-area .ag-skill-grid{grid-template-columns:1fr!important}body.ag-area .ag-course-grid{gap:9px!important}body.ag-area .ag-course-grid article{padding:12px!important}body.ag-area .ag-course-grid article>b{min-height:88px!important;margin:-12px -12px 12px!important;font-size:32px!important;line-height:1!important;padding:12px!important}body.ag-area .ag-course-grid article>b i{font-size:10px!important;margin-top:5px!important}body.ag-area .ag-course-grid article p{display:none!important}body.ag-area .ag-community-hero{grid-template-columns:1fr!important;padding:23px!important}body.ag-area .ag-community-hero>b{display:none!important}}

/* Buscador de cabecera: mismo aspecto que el botón al que sustituye, pero navegable. */
body.ag-area .ag-top__search{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border:1px solid #dfe4df;border-radius:9px;background:#fffefa;color:#123d34!important;font-size:17px;text-decoration:none!important}
body.ag-area .ag-top__search:hover{background:#dcebe4}

/* Resultados de búsqueda. */
body.ag-area .ag-search__submit{flex:0 0 auto;border:0;border-radius:9px;background:#123d34;color:#fff;padding:10px 16px;font-size:14px;font-weight:700;cursor:pointer}
body.ag-area .ag-course-grid article>a{align-self:center;display:inline-flex;border:0;border-radius:9px;background:#123d34;color:#fff!important;padding:11px 14px;text-decoration:none!important;font-size:14px;font-weight:700}
body.search .ag-course-grid article:nth-child(3n+2)>b{background:linear-gradient(135deg,#5f3825,#a66a4e)!important}
body.search .ag-course-grid article:nth-child(3n+3)>b{background:linear-gradient(135deg,#866128,#c89849)!important}
body.ag-area .ag-result-list{list-style:none;margin:0 0 22px;padding:0;background:#fffefa;border:1px solid #dfe4df;border-radius:16px;overflow:hidden}
body.ag-area .ag-result-list li+li{border-top:1px solid #dfe4df}
body.ag-area .ag-result-list a{display:flex;align-items:center;gap:14px;padding:16px 18px;text-decoration:none!important;color:inherit}
body.ag-area .ag-result-list a:hover{background:#f4f7f4}
body.ag-area .ag-result-list__mark{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#dcebe4;color:#123d34;font-size:16px}
body.ag-area .ag-result-list__body{flex:1;min-width:0}
body.ag-area .ag-result-list__body strong{display:block;color:#123d34;font-size:16px;line-height:1.35}
body.ag-area .ag-result-list__body small{display:block;margin-top:3px;color:#69746f;font-size:13px}
body.ag-area .ag-result-list__go{flex:0 0 auto;color:#69746f;font-size:16px}
body.ag-area .ag-result-pagination{margin-bottom:26px}
body.ag-area .ag-result-pagination .page-numbers{display:inline-block;margin:0 5px 6px 0;padding:9px 13px;border:1px solid #dfe4df;border-radius:9px;background:#fffefa;color:#123d34!important;text-decoration:none!important;font-size:14px}
body.ag-area .ag-result-pagination .page-numbers.current{background:#123d34;border-color:#123d34;color:#fff!important;font-weight:700}
body.ag-area .ag-result-empty{padding:38px 26px;text-align:center;background:#fffefa;border:1px solid #dfe4df;border-radius:16px}
body.ag-area .ag-result-empty>b{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#dcebe4;color:#123d34;font-size:24px}
body.ag-area .ag-result-empty h2{margin:16px 0 8px!important;color:#123d34!important;font:700 26px 'Fraunces',serif!important}
body.ag-area .ag-result-empty p{margin:0 auto 18px;max-width:430px;color:#69746f!important}
body.ag-area .ag-result-empty a{display:inline-flex;border-radius:9px;background:#123d34;color:#fff!important;padding:11px 16px;text-decoration:none!important;font-size:14px;font-weight:700}
@media(max-width:600px){body.ag-area .ag-search__submit{padding:10px 12px}body.ag-area .ag-result-list a{padding:14px}}

/* Biblioteca filtrable: la tarjeta oculta no ocupa hueco en la retícula. */
body.ag-area .ag-course-grid article[hidden]{display:none!important}
/* Distintivo de curso ya comprado -- alumnos con cursos sueltos, sin nivel. */
body.ag-area .ag-course-owned{display:inline-block;margin:8px 0 0;padding:3px 10px;border-radius:20px;background:#dcebe4;color:#123d34!important;font-size:11px;font-weight:700;letter-spacing:.3px}
body.ag-area .ag-course-count{margin:0 0 14px!important;color:#69746f!important;font-size:14px;font-weight:700}
body.ag-area .ag-course-empty{padding:28px;margin:0!important;text-align:center;background:#fffefa;border:1px dashed #cbd7d0;border-radius:16px;color:#69746f!important}
body.ag-area .ag-filters button{transition:background .15s,color .15s}
body.ag-area .ag-filters button[aria-pressed="true"]{background:#123d34!important;color:#fff!important;border-color:#123d34!important}
/* El color de la portada lo da la categoría, no la posición: al filtrar no cambia. */
body.ag-area .ag-course-grid article[data-color]>b{background:linear-gradient(135deg,#164d40,#2b725e)!important}
body.ag-area .ag-course-grid article[data-color="palo"]>b{background:linear-gradient(135deg,#5f3825,#a66a4e)!important}
body.ag-area .ag-course-grid article[data-color="tecnica"]>b{background:linear-gradient(135deg,#866128,#c89849)!important}
body.ag-area .ag-course-grid article[data-color="repertorio"]>b{background:linear-gradient(135deg,#3d5a3a,#6f9560)!important}
body.ag-area .ag-course-grid article[data-color="cultura"]>b{background:linear-gradient(135deg,#5a2733,#95475b)!important}
body.ag-area .ag-course-grid article[data-color="herramientas"]>b{background:linear-gradient(135deg,#2b4657,#4c728c)!important}
/* Flamencowa lleva el verde de WhatsApp. El número se apoya abajo a la izquierda,
   así que el verde claro va arriba y el tono oscuro cae donde se lee el texto. */
body.ag-area .ag-course-grid article[data-color="flamencowa"]>b{background:linear-gradient(160deg,#25d366 0%,#128c7e 45%,#075e54 100%)!important;color:#fff!important}
body.ag-area .ag-course-grid article h2{margin-bottom:16px!important}
body.ag-area .ag-course-grid article>a{align-self:start}

/* Roseta de taracea en Hoy, en lugar de la nota musical.
   Misma pieza que la web madre, con la paleta subida de tono: el panel es
   verde oscuro y el oro original (#9d6a24) se apagaba encima. */
body.ag-area .ag-next-card__visual .ag-roseta{display:block;width:min(158px,70%);aspect-ratio:1;line-height:0}
body.ag-area .ag-next-card__visual .ag-roseta svg{display:block;width:100%;height:100%}
body.ag-area .ag-next-card__visual small{margin-top:14px}
/* En móvil el panel es una franja de 95px: la roseta cabe entera o no entra.
   Este colapso a una columna tenía que vivir en el mismo breakpoint que la
   altura auto de abajo: estaban en 600px y 800px por separado, así que entre
   601 y 800px la tarjeta seguía en 2 columnas pero el panel ya no tenía alto
   fijo y se estiraba entero — la franja verde ocupando toda la tarjeta que
   Pedro vio en el móvil el 28 de julio de 2026. */
@media(max-width:800px){body.ag-area .ag-next-card{grid-template-columns:1fr}body.ag-area .ag-next-card__visual{height:auto!important;min-height:95px;padding:14px 0;order:-1}body.ag-area .ag-next-card__visual .ag-roseta{width:58px}body.ag-area .ag-next-card__visual small{margin-top:8px}}

/* Nivel de suscripción en la cabecera de Hoy. El cintillo es de 9px, así que
   la etiqueta sube de tamaño para que se lea sin gritar. */
body.ag-area .ag-top p .ag-plan{display:inline-block;margin-left:8px;padding:4px 10px;border-radius:20px;background:#dcebe4;color:#123d34!important;font-size:11px;font-weight:700;letter-spacing:.6px;vertical-align:middle;text-decoration:none!important}
/* Fondo blanco + verde de WhatsApp (no el verde del sitio) a propósito --
   pedido por Pedro el 26 de agosto de 2026: con el verde bosque de antes
   (#075e54) costaba distinguirla de "Nivel Bordón" y de la propia marca de
   la web. El borde lleva el verde exacto del logo de WhatsApp (#25d366);
   el texto va un punto más oscuro para que se lea bien en tamaño pequeño. */
body.ag-area .ag-top p .ag-plan--wa{background:#fff;color:#128c53!important;border:1.5px solid #25d366}
@media(max-width:600px){body.ag-area .ag-top p{display:flex;flex-wrap:wrap;align-items:center;gap:6px}body.ag-area .ag-top p .ag-plan{margin-left:0}}
/* Pequeña nota bajo "Reserva tu clase" en Mi cuenta, señalando a Hoy --
   pedido por Pedro el 27 de agosto de 2026, cuando movió la gestión de
   fechas de Mi cuenta a una tarjeta propia en Hoy. */
body.ag-area .ag-cuenta-nota{margin:10px 0 0;color:var(--ag-muted);font-size:11px}

/* "Tus clases con Pedro" en Hoy -- lista + modal para añadir, pedido por
   Pedro el 27 de agosto de 2026: quería gestionarlo ahí mismo, no en Mi
   cuenta, y poder tener varias fechas a la vez (hay quien reserva dos
   clases seguidas). Mismo estilo de tarjeta que "Para no olvidar"
   (.ag-review-card), con su propia lista dentro. */
body.ag-area .ag-clases-lista{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
body.ag-area .ag-clases-lista li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;background:#f7f4ec;border-radius:11px;font-size:13px;font-weight:600;color:var(--ag-forest)}
/* Tachada en cuanto pasa la fecha -- no desaparece sola, así el alumno
   decide cuándo borrarla con la papelerita en vez de perderla de vista de
   golpe. */
body.ag-area .ag-clases-lista li.is-pasada{color:var(--ag-muted);text-decoration:line-through;background:#f1efe8}
body.ag-area .ag-clase-borrar{flex:none;border:0;background:none;font-size:15px;line-height:1;cursor:pointer;text-decoration:none!important;opacity:.55;transition:opacity .15s}
body.ag-area .ag-clase-borrar:hover{opacity:1}
body.ag-area .ag-clases-vacio{margin:0 0 14px;color:var(--ag-muted);font-size:13px}
body.ag-area .ag-clases-card .ag-ver-etapas-link{margin:0}

/* Arriba del todo, junto al buscador -- pedido por Pedro el 27 de agosto de
   2026 con una flecha dibujada a mano encima de una captura, señalando la
   esquina superior derecha de Hoy. Versión compacta de la misma tarjeta:
   más estrecha, con menos aire, pensada para el hueco junto al buscador,
   no para una columna entera. */
body.ag-area .ag-top__side{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
body.ag-area .ag-top__side .ag-clases-card{margin:0;width:250px;max-width:60vw;padding:15px 17px}
body.ag-area .ag-top__side .ag-clases-card .ag-review-card__heading{margin-bottom:8px}
body.ag-area .ag-top__side .ag-clases-card .ag-review-card__heading h2{font-size:15px}
body.ag-area .ag-top__side .ag-clases-lista{gap:5px;margin-bottom:8px}
body.ag-area .ag-top__side .ag-clases-lista li{padding:7px 10px;font-size:11px}
body.ag-area .ag-top__side .ag-clases-vacio{margin-bottom:8px;font-size:11px}
@media(max-width:700px){
	body.ag-area .ag-top{flex-wrap:wrap}
	body.ag-area .ag-top__side{flex-direction:row-reverse;align-items:flex-start;justify-content:flex-end;width:100%;margin-top:16px}
	body.ag-area .ag-top__side .ag-clases-card{flex:1;width:auto;max-width:none}
}

/* El formulario del modal "Apunta tu próxima clase" reutiliza el mismo
   patrón que el del asistente PepeGuitar (label + campo + botón), solo
   falta el estilo del propio input[type=date], que ningún otro modal usaba
   todavía. */
body.ag-area .ag-asistente-modal__card input[type=date]{width:100%;box-sizing:border-box;border:1px solid var(--ag-line);border-radius:12px;padding:11px 13px;font:inherit;font-size:14px;margin-bottom:16px}

/* Aviso de pantalla en construcción en Mi camino. Ámbar, no verde: tiene que
   distinguirse del contenido y leerse como advertencia, no como consejo. */
body.ag-area .ag-route-draft{display:flex;align-items:flex-start;gap:13px;padding:15px 18px;margin:0 0 22px;background:#f6efdd;border:1px solid #e2cf9f;border-radius:12px}
body.ag-area .ag-route-draft>b{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:8px;background:#8a6420;color:#fff;font-size:15px}
body.ag-area .ag-route-draft p{margin:0!important;color:#5f4a1f!important;font-size:14px!important;line-height:1.5!important}
body.ag-area .ag-route-draft strong{color:#4a3714}
/* Sin botón, la tercera columna de la etapa sobra. */
body.ag-area .ag-route-stage{grid-template-columns:43px minmax(0,1fr)!important}
/* Las tarjetas de "elige tu camino" sí llevan botón: recuperan la tercera
   columna que la regla de arriba quita por defecto. */
body.ag-area .ag-route-stage.ag-route-stage--con-boton{grid-template-columns:43px minmax(0,1fr) auto!important}
body.ag-area .ag-route-stage--con-boton a,body.ag-area .ag-route-stage--con-boton .ag-boton-bloqueado{white-space:nowrap;align-self:center}
body.ag-area .ag-boton-bloqueado{display:inline-block;padding:9px 14px;border:1px solid #dfe4df;border-radius:9px;color:#9aa39f;font-size:13px;font-weight:700}
/* Botón de "Cambiar de camino" en la cabecera de Tu destino: sin esto hereda
   el enlace rojo por defecto de Astra, que no pertenece al sistema. */
body.ag-area a.ag-cambiar-camino{display:inline-block;margin:4px 0 22px;padding:9px 16px;border:1px solid #123d34;border-radius:9px;color:#123d34!important;font-size:13px;font-weight:700;text-decoration:none!important}
body.ag-area a.ag-cambiar-camino:hover{background:#123d34;color:#fff!important}

/* Ajustes al "modo focus" (Presenter Mode) de LearnDash en las lecciones.
   No se toca el plugin: son overrides sobre sus propias clases, que
   sobreviven a sus actualizaciones. Colores de marca ya corregidos aparte,
   vía LearnDash_Settings_Theme_LD30 (color_primary/secondary/tertiary). */
/* El título de la lección queda pegado al borde superior sin aire. */
#ld-focus-content h1{margin-top:28px!important;padding-top:4px}
/* Los títulos de lección en la barra lateral se leen minúsculos. */
.ld-lesson-title{font-size:15px!important;line-height:1.4!important}
/* Revertido el 27 de julio: forzar display:none en la barra lateral rompía
   el botón de "quitar modo focus" — su JS (presenter-mode.js) reactiva la
   barra haciendo clic programado en #ld-focus-sidebar-toggle dentro de un
   intervalo de 20ms hasta detectar el cambio de clase; con display:none de
   por medio, el clic dejaba de surtir efecto y solo una recarga de página
   lo arreglaba. Solo se ajusta el ancho del contenido, sin tocar la
   visibilidad de la barra: eso lo sigue controlando LearnDash. */
.ld-focus.ld-focus-sidebar-collapsed .ld-focus-main{width:100%!important;max-width:100%!important}
/* La lección actual en la lista se resalta en un verde agua que no es de
   la paleta de la academia. */
.ld-lesson-item.ld-is-current-lesson{background:#f6efdd!important}
/* El icono de plegar y el de la cabecera del curso quedaban del mismo
   color que su fondo (verde sobre verde, o dorado sobre dorado) y
   desaparecían. Fuerzo un tono claro que siempre contraste. */
.ld-course-navigation-heading .ld-icon,.ld-focus-sidebar-trigger .ld-icon,.ld-focus-mode-course-heading-wrapper .ld-icon{color:#fffefa!important}
/* La caja del título del curso salía partida en dos colores (verde + dorado
   del botón de plegar). Un solo color, verde, como pide Pedro. */
body.ag-area .ld-course-navigation-heading #ld-focus-sidebar-toggle.ld-focus-sidebar-trigger{background:#123d34!important;background-image:none!important}

/* Interruptor de "modo foco total" del alumno, en Mi camino. */
body.ag-area details.ag-modo-aprendizaje{padding:12px 16px;margin-bottom:22px;background:#fffefa;border:1px solid #dfe4df;border-radius:12px}
body.ag-area details.ag-modo-aprendizaje summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-size:14px}
body.ag-area details.ag-modo-aprendizaje summary::-webkit-details-marker{display:none}
body.ag-area details.ag-modo-aprendizaje summary strong{color:#123d34}
body.ag-area details.ag-modo-aprendizaje summary::after{content:"▾";margin-left:2px;color:#69746f;font-size:11px;transition:transform .2s}
body.ag-area details.ag-modo-aprendizaje[open] summary::after{transform:rotate(180deg)}
body.ag-area details.ag-modo-aprendizaje .ag-modo-aprendizaje__texto{max-width:640px;margin:10px 0 0}
body.ag-area details.ag-modo-aprendizaje .ag-modo-aprendizaje__texto p{margin:0;font-size:13px;color:#69746f}
body.ag-area details.ag-modo-aprendizaje a.ag-toggle-switch{margin-top:12px}
body.ag-area a.ag-toggle-switch,body.ag-area button.ag-toggle-switch{display:inline-flex;align-items:center;gap:10px;flex:none;text-decoration:none!important;cursor:pointer}
body.ag-area button.ag-toggle-switch{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;-webkit-appearance:none;appearance:none;text-align:left}
body.ag-area button.ag-toggle-switch:disabled{cursor:wait;opacity:.6}
body.ag-area .ag-toggle-switch__track{position:relative;width:46px;height:26px;border-radius:13px;background:#d8ddd8;border:1px solid #c7cec7;transition:background .2s,border-color .2s;flex:none}
body.ag-area .ag-toggle-switch__thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .2s}
body.ag-area .ag-toggle-switch.is-on .ag-toggle-switch__track{background:#123d34;border-color:#123d34}
body.ag-area .ag-toggle-switch.is-on .ag-toggle-switch__thumb{left:22px}
body.ag-area .ag-toggle-switch__label{font-size:12px;font-weight:700;color:#123d34}
/* El texto de estado ("Activadas en este aparato") iba pegado al margen
   izquierdo, sin relación visual con la palabra "Notificaciones" que
   etiqueta al interruptor -- pedido por Pedro el 23 de agosto de 2026.
   56px = 46px del track + 10px del hueco, para que quede justo debajo. */
body.ag-area [data-ag-push-estado]{display:block;margin:8px 0 0 56px;color:#69746f;font-size:12px}

/* Modo Compás activo: fondo cálido en toda la web (pantallas ag- y lecciones LearnDash) para que se note sin dudarlo. Solo un color de fondo, sin JS ni recursos nuevos: coste de rendimiento nulo. */
body.ag-modo-compas-activo.ag-area .ag-shell{background:#e6cd94}
body.ag-modo-compas-activo.ld-in-focus-mode,body.ag-modo-compas-activo.ld-in-focus-mode .ld-focus-main{background:#e6cd94!important}

/* Aviso de "Modo Compás activo" en Hoy: el interruptor real vivía escondido en
   Mi camino. Solo se pinta si el modo está puesto (ag_aviso_modo_compas_html);
   al apagarlo desde aquí el bloque desaparece. Reutiliza el mismo .ag-toggle-switch. */
body.ag-area .ag-aviso-modo-compas{display:flex;align-items:center;gap:14px;margin:0 0 22px;padding:14px 18px;background:#fffefa;border:1px solid #d8c48f;border-radius:12px}
body.ag-area .ag-aviso-modo-compas__icono{flex:none;font-size:18px;color:#123d34;line-height:1}
body.ag-area .ag-aviso-modo-compas p{margin:0;flex:1;font-size:13px;line-height:1.45;color:#69746f}
body.ag-area .ag-aviso-modo-compas p strong{color:#123d34}
body.ag-area .ag-aviso-modo-compas .ag-toggle-switch{flex:none}
@media(max-width:600px){body.ag-area .ag-aviso-modo-compas{flex-wrap:wrap}body.ag-area .ag-aviso-modo-compas p{flex-basis:100%}}

/* Modal 3 del onboarding: "instala la app + activa notificaciones". Reutiliza
   .ag-asistente-modal (tarjeta) y los data-attributes de ag-pwa.js/ag-push.js;
   aquí solo el encaje visual de los dos bloques dentro de la tarjeta. */
body.ag-area #ag-instalar-app-modal .ag-instalar-app-modal__pwa{margin:0}
body.ag-area #ag-instalar-app-modal .ag-instalar-app-modal__pwa[hidden]{display:none}
body.ag-area #ag-instalar-app-modal .ag-instalar-pwa__boton{display:block;width:100%;margin:0;padding:13px 16px;font-size:14px}
body.ag-area #ag-instalar-app-modal .ag-instalar-pwa__ios{margin:0;max-width:none;color:#69746f;font-size:13px;line-height:1.5}
body.ag-area #ag-instalar-app-modal .ag-instalar-app-modal__push{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 0;padding:16px 0 0;border-top:1px solid #dfe4df}
body.ag-area #ag-instalar-app-modal .ag-instalar-app-modal__push [data-ag-push-estado]{flex-basis:100%;margin:0;color:#69746f;font-size:12px}
body.ag-area #ag-instalar-app-modal .ag-instalar-app-modal__nota{margin:14px 0 0;color:#8b958f;font-size:11px;line-height:1.5}

/* La marca de "página actual" en el menú lateral iba en un verde tan claro
   que costaba verla. Confirmado con el código fuente real: la clase
   current-menu-item SÍ llega correctamente al HTML, así que el problema no
   es de lógica ni de caché — es que el contraste anterior era demasiado
   sutil. Ahora es imposible no verlo: fondo verde bosque sólido, texto
   blanco, con la máxima especificidad para no depender de qué otra regla
   gane la carrera. */
html body.ag-area .ag-sidebar nav.ag-student-menu ul li.current-menu-item > a.menu-link,
html body.ag-area .ag-sidebar nav.ag-student-menu ul li.current_page_item > a.menu-link {
	background-color: #123d34 !important;
	color: #ffffff !important;
	font-weight: 700 !important;
}
html body.ag-area .ag-sidebar nav.ag-student-menu ul li.current-menu-item > a.menu-link .ag-menu-progress,
html body.ag-area .ag-sidebar nav.ag-student-menu ul li.current_page_item > a.menu-link .ag-menu-progress {
	background: #f2d27b;
	color: #123d34;
}

/* Enlace secundario para ver el camino completo de Cimientos desde la tarjeta de Hoy: no debe competir con el botón principal. */
body.ag-area .ag-ver-etapas-link{display:inline-block;margin-left:14px;color:#69746f!important;font-size:11px;font-weight:700;text-decoration:underline!important}
body.ag-area .ag-ver-etapas-link:hover{color:#123d34!important}
@media(max-width:600px){body.ag-area .ag-ver-etapas-link{display:block;margin:10px 0 0}}

/* Los botones de duracion en "Practica a tu ritmo" pasaron de <button> a <a>
   (28 julio 2026) para que el clic tambien navegue a ?ag_practica=N y guarde
   que pasos tocan segun la duracion elegida. El CSS original solo hablaba
   con <button>; esto le da a los <a> el mismo aspecto. */
body.ag-area .ag-time-options a{display:inline-block;border:0;background:#fff;color:#123d34!important;padding:7px 8px;font-size:9px;font-weight:700;text-decoration:none!important;cursor:pointer}
body.ag-area .ag-time-options a.is-active{background:var(--ag-forest);color:#fff!important}
body.ag-area .ag-practice-card li small a{color:inherit!important;text-decoration:underline!important;font-weight:700}
@media(min-width:900px){body.ag-area .ag-time-options a{font-size:13px;padding:9px 12px}}

/* Cerrar sesion: no existia en ningun sitio del area de alumno (confirmado
   el 28 de julio de 2026 con una peticion real -- ni barra de admin ni
   enlace, un alumno no podia salir de su cuenta). Va justo debajo de "Mi
   cuenta", discreto para no competir con la navegacion real. */
body.ag-area .ag-logout{display:flex;align-items:center;gap:8px;margin-top:8px;padding:0 8px;text-decoration:none!important;color:#8b958f;font-size:11px;font-weight:700}
body.ag-area .ag-logout:hover{color:#123d34}

/* El boton "Scroll to Top" de Astra vive abajo a la izquierda por defecto,
   justo donde ahora esta el pie de la barra lateral (Mi cuenta / Cerrar
   sesion) -- lo tapaba. Movido arriba a la derecha, pedido por Pedro el 28
   de julio de 2026. */
body.ag-area #ast-scroll-top{top:20px!important;right:20px!important;bottom:auto!important;left:auto!important}

/* Favoritos: el corazon y la lista los pinta el plugin "Favorite Content for
   LearnDash" (learndash-favorite-content) -- no se toca el plugin, solo se
   maquillan sus propias clases para que encajen en la paleta de la academia,
   igual que se hace con el modo focus de LearnDash más arriba. Pedido por
   Pedro el 28 de julio de 2026. */
body.ag-area .ldfc-favorite-button .js-favcon-favorite{display:inline-flex;align-items:center;gap:8px;border:1px solid #dfe4df;border-radius:9px;background:#fffefa;color:#123d34!important;padding:10px 14px;font-size:13px;font-weight:700;text-decoration:none!important}
body.ag-area .ldfc-favorite-button .js-favcon-favorite:hover{background:#dcebe4}
body.ag-area .ldfc-favorite-button .js-favcon-favorite.favcon-saved{background:#123d34;border-color:#123d34;color:#f2d27b!important}
body.ag-area .ag-favoritos-screen .ldfc-favorite-table{background:#fffefa;border:1px solid #dfe4df;border-radius:16px;overflow:hidden;margin-top:6px}
body.ag-area .ag-favoritos-screen .ldfc-favorite-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #dfe4df;color:#123d34;font-weight:700}
body.ag-area .ag-favoritos-screen .ldfc-favorite-search-input{border:1px solid #dfe4df;border-radius:9px;padding:8px 12px;font-size:13px}
body.ag-area .ag-favoritos-screen .ldfc-favorite{display:flex;align-items:center;gap:14px;padding:16px 18px;border-top:1px solid #dfe4df}
body.ag-area .ag-favoritos-screen .ldfc-favorite:first-child{border-top:0}
body.ag-area .ag-favoritos-screen .ldfc-favorite__title{display:block;color:#123d34;font-size:16px;font-weight:700}
body.ag-area .ag-favoritos-screen .ldfc-favorite__course{display:block;margin-top:3px;color:#69746f;font-size:13px}
body.ag-area .ag-favoritos-screen .ldfc-notice{padding:28px;text-align:center;background:#fffefa;border:1px dashed #cbd7d0;border-radius:16px;color:#69746f}
/* "Herramientas de estudio" plegada en Practicar -- pedido por Pedro el 23
   de agosto de 2026, para no obligar a hacer scroll infinito en móvil.
   Mismo <details> nativo que el diario, mismo estilo de flecha. Corregido
   el 24 de agosto de 2026: sin fondo ni borde propios no se leía como una
   tarjeta -- era solo un titular suelto flotando sobre las tres tarjetas
   de las herramientas, así que Pedro pasaba de largo sin pinchar. Ahora
   toda ella es una tarjeta más, igual que "Practica a tu ritmo".*/
.ag-herramientas-plegable{background:var(--ag-paper);border:1px solid var(--ag-line);border-radius:16px;padding:21px;margin-top:20px}
.ag-herramientas-plegable summary{cursor:pointer;list-style:none}
.ag-herramientas-plegable summary::-webkit-details-marker{display:none}
.ag-herramientas-plegable summary .ag-screen-subhead{margin:0}
.ag-herramientas-plegable summary h2:after{content:"▾";display:inline-block;margin-left:8px;font-size:15px;color:var(--ag-muted);transition:transform .15s}
.ag-herramientas-plegable[open] summary h2:after{transform:rotate(180deg)}
.ag-herramientas-plegable .ag-tools-grid{margin-top:16px;margin-bottom:0}
/* Diario de práctica (Practicar) -- pedido por Pedro el 22 de agosto de 2026. */
.ag-diario{background:var(--ag-paper);border:1px solid var(--ag-line);border-radius:16px;padding:24px 26px;margin-top:20px;max-width:1180px}
.ag-diario summary{cursor:pointer;list-style:none}
.ag-diario summary::-webkit-details-marker{display:none}
.ag-diario summary .ag-diario__heading{margin:0}
.ag-diario summary h2:after{content:"▾";display:inline-block;margin-left:8px;font-size:13px;color:var(--ag-muted);transition:transform .15s}
.ag-diario[open] summary h2:after{transform:rotate(180deg)}
.ag-diario__heading p{margin:0;color:var(--ag-green);font-size:10px;font-weight:700;letter-spacing:1px}
.ag-diario__heading h2{margin:5px 0 0;font:700 22px 'Fraunces',serif;color:var(--ag-forest)}
.ag-diario__form{margin-top:18px}
.ag-diario__form{display:flex;flex-direction:column;gap:16px}
.ag-diario__tiempo{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ag-forest)}
.ag-diario__tiempo input{width:80px;padding:6px 8px;border:1px solid var(--ag-line);border-radius:8px;font-size:13px}
.ag-diario__pomodoro{border:1px solid var(--ag-line);border-radius:12px;padding:14px 16px;margin:0}
.ag-diario__pomodoro legend{padding:0 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ag-muted)}
.ag-diario__pomodoro label{display:block;margin-bottom:10px;font-size:12px;color:var(--ag-muted);font-weight:600}
.ag-diario__pomodoro label input{display:block;margin-top:4px;width:100%;max-width:320px;padding:7px 9px;border:1px solid var(--ag-line);border-radius:8px;font-size:13px;box-sizing:border-box}
.ag-diario__pomodoro table{width:100%;border-collapse:collapse;margin-top:6px}
.ag-diario__pomodoro th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--ag-muted);padding:0 6px 6px}
.ag-diario__pomodoro td{padding:3px 6px 3px 0;vertical-align:middle}
.ag-diario__pomodoro td input{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid var(--ag-line);border-radius:7px;font-size:12px}
.ag-diario__pomodoro td:nth-child(2) input{width:64px}
.ag-diario__quitar{border:0;background:transparent;color:var(--ag-muted);font-size:16px;cursor:pointer;line-height:1;padding:4px}
.ag-diario__quitar:hover{color:#b3452f}
.ag-diario__anadir{margin-top:8px;border:1px dashed var(--ag-line);background:transparent;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700;color:var(--ag-forest);cursor:pointer}
.ag-diario__animo p{margin:0 0 8px;font-size:12px;color:var(--ag-muted);font-weight:600}
.ag-diario__caras{display:flex;gap:8px}
.ag-diario__caras button{width:40px;height:40px;border-radius:50%;border:1px solid var(--ag-line);background:var(--ag-paper);font-size:19px;cursor:pointer;display:grid;place-items:center}
.ag-diario__caras button.is-activo{border-color:var(--ag-gold);background:#fbf1d8}
.ag-diario__mejorar{display:block;font-size:12px;color:var(--ag-muted);font-weight:600}
.ag-diario__mejorar textarea{display:block;margin-top:4px;width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid var(--ag-line);border-radius:8px;font-size:13px;font-family:inherit;resize:vertical}
.ag-diario__estado{margin:0;font-size:12px;font-weight:700;color:#b3452f}
.ag-diario__estado.is-ok{color:var(--ag-green)}
.ag-diario__historico{margin-top:28px;border-top:1px solid var(--ag-line);padding-top:20px}
.ag-diario__historico h3{margin:0 0 12px;font:700 15px 'Fraunces',serif;color:var(--ag-forest)}
.ag-diario__vacio{margin:0;color:var(--ag-muted);font-size:13px}
.ag-diario__entrada{border:1px solid var(--ag-line);border-radius:10px;padding:12px 14px;margin-bottom:10px}
.ag-diario__entrada summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:10px;list-style:none;font-size:13px}
.ag-diario__entrada summary::-webkit-details-marker{display:none}
.ag-diario__entrada-fecha{font-weight:700;color:var(--ag-forest);text-transform:capitalize}
.ag-diario__entrada-resumen{color:var(--ag-muted);flex:1}
.ag-diario__entrada small{color:var(--ag-muted);font-size:11px}
.ag-diario__animo-marca{font-size:15px}
.ag-diario__pomodoro-detalle{margin-top:12px}
.ag-diario__pomodoro-detalle h4{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--ag-muted)}
.ag-diario__pomodoro-detalle table{width:100%;border-collapse:collapse;font-size:12px}
.ag-diario__pomodoro-detalle th{text-align:left;color:var(--ag-muted);font-weight:600;padding:2px 8px 2px 0}
.ag-diario__pomodoro-detalle td{padding:3px 8px 3px 0;border-top:1px solid var(--ag-line)}
.ag-diario__mejorar-texto{margin:10px 0 0;font-size:12px;color:var(--ag-muted)}
@media(max-width:600px){.ag-diario{padding:18px}.ag-diario__pomodoro{padding:12px}.ag-diario__pomodoro td:nth-child(3) input{min-width:110px}}
