/* Cursos (DOCS/08 F6): tarjetas, catálogo, ficha, página del curso, modo edición, selector de
   actividades y Consola → Cursos. Solo tokens (DOCS/06). */

/* --- Patrones de marca para cursos sin imagen --------------------------------------------------- */
.patron-0{background:radial-gradient(circle at 18% 22%,color-mix(in srgb,var(--patron-b) 55%,transparent),transparent 55%),linear-gradient(135deg,var(--patron-a),var(--patron-d))}
.patron-1{background:radial-gradient(circle at 80% 18%,color-mix(in srgb,var(--patron-c) 60%,transparent),transparent 55%),linear-gradient(160deg,var(--patron-d),var(--patron-a))}
.patron-2{background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--patron-b) 18%,transparent) 0 14px,transparent 14px 28px),linear-gradient(120deg,var(--patron-a),var(--patron-d))}
.patron-3{background:radial-gradient(circle at 50% 120%,color-mix(in srgb,var(--patron-b) 70%,transparent),transparent 60%),linear-gradient(180deg,var(--patron-d),var(--patron-a))}
.patron-4{background:conic-gradient(from 210deg at 70% 40%,color-mix(in srgb,var(--patron-c) 45%,transparent),color-mix(in srgb,var(--patron-b) 45%,transparent),transparent 70%),var(--patron-a)}
.patron-5{background:radial-gradient(circle at 20% 80%,color-mix(in srgb,var(--patron-c) 55%,transparent),transparent 50%),radial-gradient(circle at 85% 20%,color-mix(in srgb,var(--patron-b) 45%,transparent),transparent 45%),var(--patron-d)}
.patron-6{background:repeating-radial-gradient(circle at 75% 75%,color-mix(in srgb,var(--patron-b) 22%,transparent) 0 6px,transparent 6px 22px),linear-gradient(135deg,var(--patron-d),var(--patron-a))}
.patron-7{background:linear-gradient(115deg,var(--patron-a) 0 45%,color-mix(in srgb,var(--patron-c) 55%,var(--patron-a)) 45% 70%,var(--patron-d) 70%)}

/* --- Tarjetas de curso ------------------------------------------------------------------------------ */
.cursos-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.tarjeta-curso{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:var(--ui-panel);border:1px solid var(--ui-border);box-shadow:var(--aula-sombra);transition:transform var(--t-rapida) var(--ease),box-shadow var(--t-rapida)}
.tarjeta-curso:hover{transform:translateY(-3px)}
.tarjeta-curso--oculta{opacity:.78}
.tarjeta-curso__portada{position:relative;display:grid;place-items:center;aspect-ratio:16/9;overflow:hidden;color:var(--patron-tinta)}
.tarjeta-curso__portada img{width:100%;height:100%;object-fit:cover}
.tarjeta-curso__iniciales{font-family:var(--font-display);font-size:44px;font-weight:700;letter-spacing:.04em;opacity:.92}
.tarjeta-curso__favorito{position:absolute;top:10px;right:12px;font-size:20px;color:var(--aula-sol);text-shadow:0 1px 6px color-mix(in srgb,var(--marca-negro) 35%,transparent)}
.tarjeta-curso__cuerpo{display:grid;gap:8px;padding:14px 16px 16px}
.tarjeta-curso__categoria{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-muted)}
.tarjeta-curso__nombre{font-size:18px;line-height:1.25}
.tarjeta-curso__nombre a{color:var(--ui-text);text-decoration:none}
.tarjeta-curso__nombre a:hover{color:var(--ui-accent)}
.tarjeta-curso__meta{display:flex;flex-wrap:wrap;gap:6px}
.tarjeta-curso__acciones{display:flex;flex-wrap:wrap;gap:6px}

/* --- Categorías ----------------------------------------------------------------------------------------- */
.categorias-rejilla{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.categorias-rejilla--compacta{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));margin-bottom:12px}
.categoria-ficha{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:14px;border-radius:var(--r);background:var(--ui-panel-2);border:1px solid var(--ui-border);color:var(--ui-text);text-decoration:none;transition:border-color var(--t-rapida)}
.categoria-ficha:hover{border-color:var(--ui-accent)}
.categoria-ficha__icono{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--ui-accent-glow);color:var(--ui-accent)}
.categoria-ficha span:last-child{font-size:13px;color:var(--ui-muted)}

/* --- Catálogo y cabeceras --------------------------------------------------------------------------- */
.catalogo-cabecera{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.catalogo-cabecera h1{font-size:clamp(28px,4vw,40px)}
.catalogo-cabecera p{color:var(--ui-muted)}
.catalogo-cabecera__acciones{display:flex;flex-wrap:wrap;gap:8px}
.catalogo-filtros{margin-bottom:16px}
.catalogo-etiqueta{margin-bottom:12px}
.migas{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--ui-muted)}
.migas a{color:inherit}
.seccion-titulo{margin-bottom:12px}
.portada-hero .contenido-usuario{color:var(--ui-muted)}

/* --- Ficha del curso ------------------------------------------------------------------------------------ */
.ficha__cabecera{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:24px;align-items:center;margin-bottom:22px}
.ficha__portada{display:grid;place-items:center;aspect-ratio:16/10;border-radius:var(--r-lg);overflow:hidden;color:var(--patron-tinta);box-shadow:var(--aula-sombra)}
.ficha__portada img{width:100%;height:100%;object-fit:cover}
.ficha__texto{display:grid;gap:12px}
.ficha__texto h1{font-size:clamp(26px,4vw,40px)}
.ficha__datos{list-style:none;display:grid;gap:6px;color:var(--ui-muted)}
.ficha__datos li{display:flex;align-items:center;gap:8px}
.ficha__etiquetas{display:flex;flex-wrap:wrap;gap:6px}
.ficha__cuerpo{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;align-items:start}
.ficha__lateral{display:grid;gap:18px}
.ficha__subtitulo{margin:18px 0 8px;font-size:16px}
.ficha__temario{display:grid;gap:6px;padding-left:20px}
.ficha__campos{display:grid;gap:10px}
.ficha__campos dt{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-muted)}
.contactos{list-style:none;display:grid;gap:10px}
.contactos li{display:flex;align-items:center;gap:10px}
.contactos small{display:block;color:var(--ui-muted)}

/* --- Página del curso ----------------------------------------------------------------------------------- */
.curso-cabecera{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;min-height:220px;padding:28px;border-radius:var(--r-lg);overflow:hidden;color:var(--patron-tinta);box-shadow:var(--aula-sombra);isolation:isolate}
.curso-cabecera--imagen{color:var(--patron-tinta)}
.curso-cabecera__imagen{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.curso-cabecera--imagen::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,color-mix(in srgb,var(--patron-d) 88%,transparent),color-mix(in srgb,var(--patron-d) 30%,transparent))}
.curso-cabecera__texto{display:grid;gap:10px}
.curso-cabecera__texto h1{font-size:clamp(26px,4vw,42px);line-height:1.08}
.curso-cabecera .migas{color:inherit;opacity:.85}
.curso-cabecera__datos{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px;opacity:.92}
.curso-cabecera__datos span{display:inline-flex;align-items:center;gap:6px}
.curso-cabecera__anillo{position:relative;width:170px;height:170px;display:grid;place-items:center}
.escena--anillo{position:absolute;inset:0}
/* Sin WebGL queda el isotipo de respaldo: tenue, para que la cifra se lea encima */
.escena--anillo .escena__respaldo{opacity:.18}
.curso-cabecera__anillo figcaption{position:relative;display:grid;text-align:center;line-height:1.1;pointer-events:none}
.curso-cabecera__anillo figcaption strong{font-family:var(--font-display);font-size:28px}
.curso-cabecera__anillo figcaption span{font-size:12px;opacity:.85}
.curso-cabecera__edicion{position:absolute;top:16px;right:16px}

.interruptor{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:var(--r-pill);border:1px solid var(--ui-vidrio-borde);background:var(--ui-vidrio);color:var(--ui-text);font-weight:600;cursor:pointer;backdrop-filter:blur(10px)}
.interruptor__pista{position:relative;width:38px;height:22px;border-radius:var(--r-pill);background:var(--ui-border);transition:background var(--t-rapida)}
.interruptor__pista::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--ui-panel);transition:transform var(--t-rapida) var(--ease)}
.interruptor[aria-pressed="true"] .interruptor__pista{background:var(--ui-accent)}
.interruptor[aria-pressed="true"] .interruptor__pista::after{transform:translateX(16px)}

.curso-pestanas{margin:16px 0}
.curso-pestanas a{display:inline-flex;align-items:center;gap:6px}
.curso-diseno{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}
.curso-indice-oculto .curso-diseno{grid-template-columns:minmax(0,1fr)}
.curso-indice-oculto .curso-indice{display:none}
.curso-indice{position:sticky;top:96px;max-height:calc(100dvh - 120px);overflow:auto;padding:16px;border-radius:var(--r-lg);background:var(--ui-panel);border:1px solid var(--ui-border);box-shadow:var(--aula-sombra)}
.curso-herramientas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.curso-contenido{display:grid;gap:14px}

.indice__titulo{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-muted);margin-bottom:10px}
.indice ol{list-style:none}
.indice__secciones{display:grid;gap:8px}
.indice__seccion > a{display:block;padding:6px 10px;border-radius:10px;font-weight:600;color:var(--ui-text);text-decoration:none}
.indice__seccion > a:hover{background:var(--ui-panel-2)}
.indice__seccion--actual > a{background:var(--ui-accent-glow);color:var(--ui-accent)}
.indice__seccion--bloqueada > a{color:var(--ui-muted)}
.indice__actividades{display:grid;gap:2px;padding:4px 0 4px 12px;border-left:1px solid var(--ui-border);margin-left:10px}
.indice__actividades a{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:8px;font-size:13.5px;color:var(--ui-muted);text-decoration:none}
.indice__actividades a:hover{color:var(--ui-text);background:var(--ui-panel-2)}
.indice__actividades .ico{width:14px;height:14px;flex:none}
.indice__oculta a{font-style:italic}
.indice__restringida a{opacity:.72}
.indice__actividades .indice__marca{margin-left:auto;flex:none;width:14px;height:14px;color:var(--estado-completo)}

/* --- Secciones ------------------------------------------------------------------------------------------- */
.seccion-curso{border-radius:var(--r-lg);background:var(--ui-panel);border:1px solid var(--ui-border);box-shadow:var(--aula-sombra);scroll-margin-top:96px}
.seccion-curso--oculta{border-style:dashed}
.seccion-curso--actual{border-color:var(--ui-accent);box-shadow:0 0 0 3px var(--ui-accent-ring),var(--aula-sombra)}
.seccion-curso--sub{background:var(--ui-panel-2);box-shadow:none}
.seccion-curso__cabecera{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px}
.seccion-curso__plegar{position:relative;width:30px;height:30px;flex:none;border-radius:50%;border:1px solid var(--ui-border);background:var(--ui-panel-2);color:var(--ui-text);cursor:pointer}
.seccion-curso__plegar::before{content:"";position:absolute;top:10px;left:10px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform var(--t-rapida) var(--ease)}
.seccion-curso--plegada > header .seccion-curso__plegar::before{transform:rotate(-45deg);top:9px;left:8px}
.seccion-curso__titulo{flex:1 1 200px;font-size:20px}
.seccion-curso--sub .seccion-curso__titulo{font-size:16px}
.seccion-curso__titulo[data-renombrar]{cursor:text;border-radius:8px}
.seccion-curso__titulo[data-renombrar]:hover{background:var(--ui-panel-2)}
.seccion-curso__chips{display:flex;flex-wrap:wrap;gap:6px}
.seccion-curso__cuerpo{display:grid;gap:12px;padding:0 16px 16px}
.seccion-curso--plegada > .seccion-curso__cuerpo{display:none}
.seccion-curso__fechas{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ui-muted)}
.seccion-curso__no-disponible{display:flex;align-items:center;gap:8px;color:var(--ui-muted)}
.seccion-curso__agregar,.curso-agregar-seccion{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border-radius:var(--r);border:2px dashed var(--ui-border);background:transparent;color:var(--ui-muted);font-weight:600;cursor:pointer;transition:border-color var(--t-rapida),color var(--t-rapida)}
.seccion-curso__agregar:hover,.curso-agregar-seccion:hover{border-color:var(--ui-accent);color:var(--ui-accent)}
.seccion-tarjeta{display:flex;justify-content:space-between;gap:12px;padding:18px;border-radius:var(--r-lg);background:var(--ui-panel);border:1px solid var(--ui-border);color:var(--ui-text);text-decoration:none}
.seccion-tarjeta span{color:var(--ui-muted);display:inline-flex;align-items:center;gap:6px}
.seccion-navegacion{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}

/* --- Actividades ---------------------------------------------------------------------------------------- */
.actividades{list-style:none;display:grid;gap:8px;min-height:8px;border-radius:var(--r)}
.lista--destino{outline:2px dashed var(--ui-accent);outline-offset:4px}
.actividad{--color-proposito:var(--proposito-otro);display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r);background:var(--ui-panel-2);border:1px solid var(--ui-border);border-left:4px solid var(--color-proposito)}
.actividad--subseccion{display:block;padding:0;border:0;background:transparent}
.actividad--oculta{opacity:.72}
.actividad--arrastrando{opacity:.45}
.actividad[draggable="true"]{cursor:grab}
.actividad__icono{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;background:color-mix(in srgb,var(--color-proposito) 16%,transparent);color:var(--color-proposito)}
.actividad__texto{flex:1;min-width:0;display:grid;gap:2px}
.actividad__tipo{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-muted)}
.actividad__nombre{font-weight:600;color:var(--ui-text);text-decoration:none;overflow-wrap:anywhere}
a.actividad__nombre:hover{color:var(--ui-accent)}
.actividad__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.proposito-evaluacion{--color-proposito:var(--proposito-evaluacion)}
.proposito-colaboracion{--color-proposito:var(--proposito-colaboracion)}
.proposito-comunicacion{--color-proposito:var(--proposito-comunicacion)}
.proposito-recurso{--color-proposito:var(--proposito-recurso)}
.proposito-contenido{--color-proposito:var(--proposito-contenido)}
.proposito-interactivo{--color-proposito:var(--proposito-interactivo)}
.sangria-1{margin-left:24px}.sangria-2{margin-left:48px}.sangria-3{margin-left:72px}.sangria-4{margin-left:96px}
.sangria-5,.sangria-6,.sangria-7,.sangria-8,.sangria-9,.sangria-10,.sangria-11,.sangria-12,.sangria-13,.sangria-14,.sangria-15,.sangria-16{margin-left:120px}
/* Recursos en la fila (F8): detalles del archivo, descripción, área de texto y carpeta en la página */
.actividad__detalles{font-size:12.5px;color:var(--ui-muted)}
.actividad__descripcion{margin-top:6px;font-size:14px;color:var(--ui-text)}
.actividad__descripcion > .contenido-usuario > :last-child{margin-bottom:0}
.actividad--texto{display:flex;align-items:flex-start;padding:4px 4px 4px 14px;background:transparent;border-color:transparent;border-left-color:color-mix(in srgb,var(--color-proposito) 45%,transparent)}
.actividad__contenido{flex:1;min-width:0}
.actividad__contenido > .contenido-usuario > :last-child{margin-bottom:0}
.carpeta-en-curso{margin-top:8px;padding:10px 12px;border-radius:var(--r-sm);background:var(--ui-panel);border:1px solid var(--ui-border)}
.carpeta-en-curso__acciones{justify-content:flex-start;margin-top:8px}

.menu-acciones{position:relative;flex:none}
.menu-acciones > summary{list-style:none;cursor:pointer}
.menu-acciones > summary::-webkit-details-marker{display:none}
.menu-acciones__panel{position:absolute;right:0;top:calc(100% + 6px);z-index:30;display:grid;min-width:230px;padding:6px;border-radius:var(--r);background:var(--ui-panel);border:1px solid var(--ui-border);box-shadow:var(--ui-shadow)}
.menu-acciones__panel a,.menu-acciones__panel button{display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--ui-text);font:inherit;font-size:14px;text-align:left;text-decoration:none;cursor:pointer}
.menu-acciones__panel a:hover,.menu-acciones__panel button:hover{background:var(--ui-panel-2)}
.menu-acciones__panel button:disabled{opacity:.45;cursor:not-allowed}
.menu-acciones__peligro{color:var(--ui-red)!important}
[aria-busy="true"]{cursor:progress;opacity:.7}

/* --- Página de una actividad ------------------------------------------------------------------------------ */
.actividad-cabecera{--color-proposito:var(--proposito-otro);display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:22px;border-radius:var(--r-lg);background:linear-gradient(120deg,color-mix(in srgb,var(--color-proposito) 14%,var(--ui-panel)),var(--ui-panel));border:1px solid var(--ui-border);margin-bottom:16px}
.actividad-cabecera__icono{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:color-mix(in srgb,var(--color-proposito) 18%,transparent);color:var(--color-proposito)}
.actividad-cabecera__icono .ico{width:28px;height:28px}
.actividad-cabecera__texto{flex:1;display:grid;gap:6px}
.actividad-cabecera__texto h1{font-size:clamp(24px,3.4vw,34px)}
.actividad-cuerpo{min-height:120px}
.navegacion-lineal{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.navegacion-lineal__enlace{display:grid;gap:2px;max-width:48%;padding:12px 16px;border-radius:var(--r);background:var(--ui-panel);border:1px solid var(--ui-border);color:var(--ui-text);text-decoration:none}
.navegacion-lineal__enlace span{font-size:12px;color:var(--ui-muted)}
.navegacion-lineal__enlace--siguiente{margin-left:auto;text-align:right}

/* --- Selector de actividades -------------------------------------------------------------------------------- */
.selector-actividades{width:min(860px,calc(100vw - 32px))}
.selector-actividades__cabecera{display:flex;align-items:center;justify-content:space-between;gap:12px}
.selector-actividades__buscar{margin:6px 0 4px}
.selector-actividades__buscar .filtros__busqueda{max-width:none}
.selector-actividades__lista{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;max-height:52dvh;overflow:auto;padding:2px}
.opcion-actividad{--color-proposito:var(--proposito-otro);position:relative;display:grid;gap:6px;padding:12px;border-radius:var(--r);background:var(--ui-panel-2);border:1px solid var(--ui-border)}
.opcion-actividad[hidden]{display:none}
.opcion-actividad__agregar{display:grid;justify-items:center;gap:6px;text-align:center;color:var(--ui-text);text-decoration:none}
.opcion-actividad__agregar:hover strong{color:var(--ui-accent)}
.opcion-actividad__icono{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--color-proposito) 18%,transparent);color:var(--color-proposito)}
.opcion-actividad__proposito{font-size:12px;color:var(--ui-muted)}
.opcion-actividad__estrella{position:absolute;top:6px;right:8px;border:0;background:transparent;color:var(--aula-sol);font-size:18px;cursor:pointer}
.opcion-actividad__ayuda summary{font-size:12.5px;color:var(--ui-muted);cursor:pointer}
.opcion-actividad__ayuda p{font-size:13px;margin-top:4px}
.selector-actividades__vacio{color:var(--ui-muted)}

/* --- Formularios de curso -------------------------------------------------------------------------------- */
.formulario-curso .rejilla-2{align-items:start}
.formulario-curso__campo--ancho{grid-column:1/-1}

/* --- Consola → Cursos ------------------------------------------------------------------------------------- */
/* En el móvil la tabla de cursos se desplaza dentro de su envoltura en vez de partir cada nombre */
@media (max-width:760px){.tabla-cursos{min-width:580px}}
.gestion-cursos{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}
.gestion-cursos > .bloque,.gestion-cursos__detalle > .bloque{grid-column:auto}
.gestion-cursos__arbol{position:sticky;top:96px;max-height:calc(100dvh - 120px);overflow:auto}
.gestion-cursos__buscar .filtros__busqueda{min-width:0}
.gestion-cursos__cabecera{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.gestion-cursos__subtitulo{font-size:15px;margin:14px 0 8px}
.arbol-categorias{list-style:none;display:grid;gap:2px}
.arbol-categorias__nodo{display:flex;align-items:center;gap:6px;min-width:0;padding:2px 4px;border-radius:10px}
.arbol-categorias__nodo a{flex:1;display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:8px;color:var(--ui-text);text-decoration:none;min-width:0}
.arbol-categorias__nodo a span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arbol-categorias__nodo>.chip{flex:none}
.arbol-categorias__nodo a:hover{background:var(--ui-panel-2)}
.arbol-categorias__nodo--activo a{background:var(--ui-accent-glow);color:var(--ui-accent);font-weight:600}
.arbol-categorias__nodo--oculto a{color:var(--ui-muted);font-style:italic}
.arbol-categorias__total{font-size:12px;color:var(--ui-muted)}
.arbol-categorias__acciones{display:flex;flex:none;gap:2px}
.arbol-categorias__acciones button{display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--ui-muted);cursor:pointer}
.arbol-categorias__acciones button:hover{background:var(--ui-panel-2);color:var(--ui-text)}
.nivel-1{padding-left:18px}.nivel-2{padding-left:36px}.nivel-3{padding-left:54px}.nivel-4,.nivel-5,.nivel-6,.nivel-7,.nivel-8{padding-left:72px}
.fila--arrastrando{opacity:.4}
tr[data-curso][draggable="true"],li[data-categoria][draggable="true"]{cursor:grab}
.lista-cursos{list-style:none;display:grid;gap:8px}
.solicitud__motivo{margin-top:6px;font-size:14px;color:var(--ui-text)}
.solicitud__rechazo > summary{list-style:none}

/* --- Aula: bloque «Mis cursos» ---------------------------------------------------------------------------- */
.aula-cursos{list-style:none;display:grid;gap:10px}
.aula-curso{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--r);background:var(--ui-panel-2);border:1px solid var(--ui-border);color:var(--ui-text);text-decoration:none;transition:border-color var(--t-rapida)}
.aula-curso:hover{border-color:var(--ui-accent)}
.aula-curso__portada{display:grid;place-items:center;width:64px;height:44px;flex:none;border-radius:10px;overflow:hidden;color:var(--patron-tinta);font-family:var(--font-display);font-weight:700}
.aula-curso__portada img{width:100%;height:100%;object-fit:cover}
.aula-curso__texto{flex:1;display:grid;min-width:0}
.aula-curso__texto strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aula-curso__texto small{color:var(--ui-muted)}
.aula-curso__progreso{width:100%;height:6px;margin-top:6px}

/* --- Pantallas medianas y pequeñas ------------------------------------------------------------------------- */
@media (max-width:1100px){
  .curso-diseno{grid-template-columns:minmax(0,1fr)}
  .curso-indice{position:static;max-height:none}
  .gestion-cursos{grid-template-columns:minmax(0,1fr)}
  .gestion-cursos__arbol{position:static;max-height:none}
}
@media (max-width:760px){
  .curso-cabecera{grid-template-columns:minmax(0,1fr);padding:22px 18px 18px}
  .curso-cabecera__anillo{width:120px;height:120px;justify-self:end;margin-top:-8px}
  .curso-cabecera__anillo figcaption strong{font-size:22px}
  .curso-cabecera__edicion{position:static;justify-self:start}
  .ficha__cabecera,.ficha__cuerpo{grid-template-columns:minmax(0,1fr)}
  .actividad{flex-wrap:wrap}
  .sangria-1,.sangria-2,.sangria-3,.sangria-4,.sangria-5,.sangria-6,.sangria-7,.sangria-8,.sangria-9,.sangria-10,.sangria-11,.sangria-12,.sangria-13,.sangria-14,.sangria-15,.sangria-16{margin-left:12px}
  .navegacion-lineal__enlace{max-width:none;flex:1}
  .menu-acciones__panel{position:fixed;left:12px;right:12px;top:auto;bottom:76px;min-width:0}
}
@media (prefers-reduced-motion:reduce){
  .tarjeta-curso,.tarjeta-curso:hover{transition:none;transform:none}
}

/* «Mis cursos»: cabecera con la constelación (escena decorativa; la lista tiene los mismos enlaces) */
.mis-cursos-cabecera{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,440px);align-items:center;gap:22px;margin-bottom:18px}
.mis-cursos-cabecera h1{font-size:clamp(28px,4vw,40px)}
.mis-cursos-cabecera p{color:var(--ui-muted)}
.mis-cursos-cabecera__accion{margin-top:14px}
.cielo-cursos{position:relative;height:230px;border-radius:var(--r-lg);overflow:hidden;background:radial-gradient(closest-side,var(--aula-mancha-1),transparent) center/80% 90% no-repeat,var(--ui-panel);border:1px solid var(--ui-border);box-shadow:var(--aula-sombra)}
.escena--constelacion{position:absolute;inset:0}
.escena--apuntando{cursor:pointer}
.cielo-cursos__leyenda{position:absolute;left:12px;bottom:10px;display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;list-style:none;font-size:12px;font-weight:600;color:var(--ui-muted)}
.cielo-cursos__leyenda li{display:inline-flex;align-items:center;gap:6px}
.cielo-cursos__leyenda li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--escena-primario)}
.cielo-cursos__leyenda .leyenda--proximo::before{background:var(--escena-carga)}
.cielo-cursos__leyenda .leyenda--pasado::before{background:var(--escena-secundario);opacity:.7}
.tarjeta-curso--resaltada{transform:translateY(-3px);box-shadow:0 0 0 2px var(--ui-accent),var(--aula-sombra)}
@media (max-width:760px){
  .mis-cursos-cabecera{grid-template-columns:1fr}
  .cielo-cursos{height:180px}
}
@media (prefers-reduced-motion:reduce){
  .tarjeta-curso--resaltada{transform:none}
}

/* --- Finalización y restricciones en la fila y la cabecera (F9) ------------------------------------------ */
.actividad--hecha{border-left-color:var(--estado-completo)}
.actividad--restringida{background:transparent;border-style:dashed}
.actividad--restringida .actividad__icono{filter:grayscale(1);opacity:.6}
.actividad--restringida .actividad__nombre{color:var(--ui-muted)}
.finalizacion{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px}
.finalizacion__marcar{margin:0}
.finalizacion__boton{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 12px;border-radius:var(--r-pill);border:1.5px solid var(--ui-border);background:var(--ui-panel);color:var(--ui-text);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background var(--t-rapida),border-color var(--t-rapida),color var(--t-rapida)}
.finalizacion__boton .ico{width:16px;height:16px;opacity:.35}
.finalizacion__boton:hover{border-color:var(--ui-accent);color:var(--ui-accent)}
.finalizacion__boton:focus-visible{outline:3px solid var(--ui-accent-ring);outline-offset:2px}
.finalizacion__boton--hecho{background:var(--ui-accent-glow);border-color:var(--estado-completo);color:var(--ui-accent)}
.finalizacion__boton--hecho .ico{opacity:1}
.finalizacion__boton[aria-busy="true"]{opacity:.6;cursor:progress}
.finalizacion__chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.finalizacion__chips .chip{text-transform:none;letter-spacing:0;font-size:12px}
.finalizacion__chips--neutras .chip{background:transparent;border:1px dashed var(--ui-border)}
.finalizacion__fecha{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:12.5px;color:var(--ui-muted)}
.finalizacion__fecha .ico{width:14px;height:14px}
.actividad-cabecera .finalizacion{margin-top:10px}
.restriccion{margin-top:8px;padding:8px 12px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--ui-warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--ui-warn) 35%,transparent);font-size:13.5px;color:var(--ui-text)}
.restriccion--editor{background:var(--ui-panel);border-color:var(--ui-border);color:var(--ui-muted)}
.restriccion__titulo{display:flex;align-items:center;gap:6px;margin:0 0 2px;font-weight:700}
.restriccion__titulo .ico{width:15px;height:15px;color:var(--ui-warn)}
.restriccion--editor .restriccion__titulo .ico{color:var(--ui-muted)}
.restriccion__frase{margin:0}
.restriccion__lista{margin:2px 0 0;padding-left:20px;list-style:disc}
.restriccion__lista .restriccion__lista{list-style:circle}
.restriccion__lista li{margin:2px 0}
.restriccion__union{display:block;font-weight:600}
.restringida{max-width:720px}
.restringida .restriccion{margin:14px 0 18px;font-size:15px}

/* Bloques «Estado de finalización» y «Auto-finalización» (F9.5; F15 los convierte en bloques) */
.bloques-curso{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;margin-bottom:16px}
.bloque-finalizacion{padding:14px 16px;border-radius:var(--r);background:var(--ui-panel);border:1px solid var(--ui-border)}
.bloque-finalizacion h2{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:15px}
.bloque-finalizacion p{margin:0 0 8px;font-size:13.5px;color:var(--ui-muted)}
.bloque-finalizacion ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:4px 16px;font-size:13.5px}
.bloque-finalizacion li{display:flex;align-items:center;gap:6px}
.bloque-finalizacion li .ico{width:15px;height:15px;flex:none;color:var(--estado-pendiente)}
.bloque-finalizacion li.cumplido .ico{color:var(--estado-completo)}
.bloque-finalizacion form{margin-top:8px}

/* Celebración (escena bajo demanda sobre la página, sin capturar clics) y su aviso */
.escena--celebracion{position:fixed;inset:0;z-index:60;pointer-events:none}
.aviso-curso-completado{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 18px;border-radius:var(--r);background:var(--ui-accent-glow);border:1px solid var(--ui-accent);color:var(--ui-text)}
.aviso-curso-completado .ico{width:26px;height:26px;flex:none;color:var(--ui-accent)}
.aviso-curso-completado strong{display:block;font-size:16px}
.aviso-curso-completado p{margin:2px 0 0;color:var(--ui-muted)}

/* Bloque «Resultados de la actividad» del libro (DOCS/08 F10.13) en la página de la actividad */
.resultados-actividad{margin-top:16px}
.resultados-actividad__titulo{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:16px}
.resultados-actividad__columnas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.resultados-actividad h3{margin:0 0 8px;font-size:13.5px;color:var(--ui-muted)}
.resultados-actividad__lista{margin:0;padding-left:20px}
.resultados-actividad__lista li{padding:4px 0}
.resultados-actividad__lista li span{margin-right:8px}
.resultados-actividad__lista strong{font-variant-numeric:tabular-nums}
