/* Aula 6310 · Paleta «Infancia con derechos» (la misma del curso en Moodle) */
:root{
  --primario:#177684; --primario-oscuro:#0F4F58; --primario-claro:#E3F2F4; --primario-medio:#A9D6DC;
  --acento:#E07A2F; --acento-oscuro:#8A4313; --acento-claro:#FDEEE2;
  --sol:#F2B632; --sol-oscuro:#6E4E00; --sol-claro:#FFF6DC;
  --ia:#6B5CA5; --ia-oscuro:#3D3270; --ia-claro:#EFECF8;
  --aula:#3F8A5A; --aula-oscuro:#23563A; --aula-claro:#E7F4EC;
  --alerta:#CC5E50; --alerta-oscuro:#8A3328; --alerta-claro:#FBE9E6;
  --tinta:#1F2A37; --gris:#4A5563; --fondo:#FDF8F2; --blanco:#fff;
  --borde:#E6DDD1; --borde-suave:#F0E9DF; --radio:14px;
  --titulo:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--tinta);
  font:17px/1.55 "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif}
a{color:var(--primario);font-weight:600}
.envoltura{max-width:560px;margin:0 auto;padding:16px}
.ancha{max-width:1100px}

/* Encabezado */
header.marca{background:var(--primario-oscuro);color:#fff;position:relative;overflow:hidden}
header.marca::before{content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;
  border-radius:50%;border:24px solid rgba(255,255,255,.07)}
header.marca::after{content:"";display:block;height:6px;
  background:linear-gradient(90deg,var(--primario) 0 25%,var(--acento) 25% 50%,var(--sol) 50% 75%,var(--aula) 75% 100%)}
header.marca .envoltura{padding:16px 16px 14px;position:relative}
.marca small{display:block;color:var(--primario-medio);font-size:11.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase}
.marca strong{font-family:var(--titulo);font-size:18px;line-height:1.3;display:block;margin-top:4px}

h1{font-family:var(--titulo);font-size:25px;line-height:1.25;margin:10px 0 12px;color:var(--primario-oscuro)}
h2{font-family:var(--titulo);font-size:20px;margin:24px 0 10px;color:var(--primario-oscuro)}
h3{font-size:17px;margin:18px 0 8px;color:var(--primario-oscuro)}
p{margin:0 0 12px}
.lema{color:var(--gris);font-size:16px}

.tarjeta{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--radio);
  padding:18px;margin:14px 0;box-shadow:0 2px 10px rgba(15,79,88,.05)}
.tarjeta.borde-ia{border-top:5px solid var(--ia)}
.tarjeta.borde-aula{border-top:5px solid var(--aula)}
.tarjeta.borde-primario{border-top:5px solid var(--primario)}
.certificado{border:2px dashed var(--acento);background:var(--acento-claro);text-align:center}
.certificado .nombre{font-family:var(--titulo);font-size:23px;font-weight:700;letter-spacing:.02em;
  margin:6px 0;word-break:break-word;color:var(--tinta)}
.certificado .doc{font-size:18px;font-weight:700;color:var(--acento-oscuro)}
.etiqueta-caja{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--acento-oscuro);margin-bottom:4px}

/* Formularios */
.etq{display:block;font-weight:700;margin:14px 0 6px}
.ayuda{display:block;color:var(--gris);font-size:14px;margin-top:4px}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=date],
input[type=time],select,textarea{
  width:100%;font-size:18px;padding:13px 14px;border:2px solid var(--borde);border-radius:12px;
  background:var(--blanco);color:var(--tinta);font-family:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primario)}
input.grande{font-size:26px;letter-spacing:.12em;text-align:center;font-weight:700}
.campo-error input,.campo-error select{border-color:var(--alerta)}
.msg-error{color:var(--alerta-oscuro);font-size:15px;font-weight:600;margin-top:4px;display:block}

/* Botones */
.boton{display:block;width:100%;text-align:center;font-size:19px;font-weight:700;font-family:inherit;
  padding:15px 18px;margin:16px 0 0;border:0;border-radius:30px;cursor:pointer;
  background:var(--primario);color:#fff;text-decoration:none;box-shadow:0 3px 0 var(--primario-oscuro)}
.boton:active{transform:translateY(2px);box-shadow:none}
.boton.oro{background:var(--acento);color:#fff;box-shadow:0 3px 0 var(--acento-oscuro)}
.boton.ia{background:var(--ia);box-shadow:0 3px 0 var(--ia-oscuro)}
.boton.aula{background:var(--aula);box-shadow:0 3px 0 var(--aula-oscuro)}
.boton.claro{background:var(--blanco);color:var(--primario);border:2px solid var(--primario);box-shadow:none}
.boton.peligro{background:var(--alerta);box-shadow:0 3px 0 var(--alerta-oscuro)}
.boton.peque{display:inline-block;width:auto;font-size:15px;padding:8px 14px;margin:4px 4px 4px 0;box-shadow:none}
.botones-dos{display:grid;grid-template-columns:1fr;gap:0 10px}
@media(min-width:480px){.botones-dos{grid-template-columns:1fr 1fr}}

.check{display:flex;gap:12px;align-items:flex-start;margin:16px 0;font-size:15px}
.check input{width:24px;height:24px;flex:0 0 24px;margin-top:2px;accent-color:var(--primario)}

/* Avisos */
.aviso{border-radius:12px;padding:12px 14px;margin:12px 0;font-size:16px;border-left:5px solid}
.aviso.ok{background:var(--aula-claro);color:var(--aula-oscuro);border-color:var(--aula)}
.aviso.info{background:var(--primario-claro);color:var(--primario-oscuro);border-color:var(--primario)}
.aviso.error{background:var(--alerta-claro);color:var(--alerta-oscuro);border-color:var(--alerta)}
.aviso.sol{background:var(--sol-claro);color:var(--sol-oscuro);border-color:var(--sol)}

dl.datos{margin:0}
dl.datos div{padding:10px 0;border-bottom:1px solid var(--borde-suave)}
dl.datos div:last-child{border-bottom:0}
dl.datos dt{font-size:14px;color:var(--gris)}
dl.datos dd{margin:2px 0 0;font-weight:600;word-break:break-word}
.falta{color:var(--alerta)}

.pildora{display:inline-block;font-size:13px;font-weight:700;padding:3px 10px;border-radius:99px;
  background:var(--primario-claro);color:var(--primario-oscuro);vertical-align:middle}
.pildora.oro{background:var(--sol-claro);color:var(--sol-oscuro)}
.pildora.ok{background:var(--aula-claro);color:var(--aula-oscuro)}
.pildora.mal{background:var(--alerta-claro);color:var(--alerta-oscuro)}
.pildora.ia{background:var(--ia-claro);color:var(--ia-oscuro)}

/* Acceso al aula (violeta = herramientas digitales) */
.credencial{background:var(--ia-claro);border-radius:12px;padding:12px 14px;margin:10px 0}
.credencial small{display:block;color:var(--ia-oscuro);font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.credencial strong{display:block;font-family:Consolas,"Courier New",monospace;font-size:24px;
  letter-spacing:.03em;word-break:break-all;color:var(--tinta);margin:2px 0 6px}
.copiar{display:block;width:100%;padding:11px;font-size:16px;font-weight:700;font-family:inherit;
  background:var(--blanco);color:var(--ia-oscuro);border:2px solid var(--ia);border-radius:30px;cursor:pointer}
.copiar.ok{background:var(--aula);color:#fff;border-color:var(--aula)}
ol.pasos{margin:8px 0 0;padding-left:22px}
ol.pasos li{margin-bottom:8px}

/* Asistencia */
.progreso{display:flex;gap:6px;margin:10px 0 6px}
.progreso span{flex:1;height:12px;border-radius:6px;background:var(--borde)}
.progreso span.si{background:var(--aula)}
.progreso span.meta{outline:2px dashed var(--acento);outline-offset:2px}
.sesiones{list-style:none;padding:0;margin:0}
.sesiones li{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--borde-suave);font-size:15px}
.sesiones li:last-child{border-bottom:0}
.sesiones .ic{width:30px;height:30px;border-radius:50%;flex:0 0 30px;display:flex;align-items:center;
  justify-content:center;font-weight:800;background:var(--primario-claro);color:var(--primario-oscuro)}
.sesiones .ic.si{background:var(--aula);color:#fff}
.sesiones .ic.no{background:var(--alerta-claro);color:var(--alerta-oscuro)}
.sesiones li.hoy{background:var(--sol-claro);border-radius:10px;padding-left:8px}
.gran-check{width:96px;height:96px;border-radius:50%;background:var(--aula);color:#fff;font-size:56px;
  display:flex;align-items:center;justify-content:center;margin:10px auto}
.centro{text-align:center}
.pie{color:var(--gris);font-size:13px;text-align:center;padding:24px 16px 40px}
.pie b{color:var(--primario-oscuro)}

/* Panel */
nav.admin{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 6px}
nav.admin a{padding:8px 12px;border-radius:10px;background:var(--blanco);border:1px solid var(--borde);
  text-decoration:none;color:var(--tinta);font-size:15px;font-weight:600}
nav.admin a:hover{border-color:var(--primario)}
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.cifra{background:var(--blanco);border:1px solid var(--borde);border-top:4px solid var(--primario);
  border-radius:0 0 12px 12px;padding:12px;text-decoration:none;color:inherit}
.cifra.acento{border-top-color:var(--acento)}
.cifra.ia{border-top-color:var(--ia)}
.cifra b{display:block;font-size:28px;font-family:var(--titulo);color:var(--primario-oscuro)}
.cifra span{color:var(--gris);font-size:14px}
.tabla{width:100%;overflow-x:auto}
table{width:100%;border-collapse:collapse;background:var(--blanco);font-size:15px}
th,td{padding:9px 10px;border-bottom:1px solid var(--borde-suave);text-align:left;vertical-align:top}
th{background:var(--primario);color:#fff;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em}
tr.hoy td{background:var(--sol-claro)}
.antes{color:var(--alerta-oscuro);text-decoration:line-through}
.despues{color:var(--aula-oscuro);font-weight:700}
.en-linea{display:inline}
.rejilla{display:grid;gap:0 14px;grid-template-columns:1fr}
@media(min-width:720px){.rejilla.dos{grid-template-columns:1fr 1fr}}
code{font-family:Consolas,"Courier New",monospace}
code.codigo{font-size:28px;font-weight:800;letter-spacing:.15em;background:var(--sol-claro);color:var(--sol-oscuro);padding:4px 12px;border-radius:10px}
.paso-admin{display:flex;gap:12px;align-items:flex-start}
.paso-admin .num{flex:0 0 34px;height:34px;border-radius:50%;background:var(--primario);color:#fff;
  font-weight:800;display:flex;align-items:center;justify-content:center}
