:root{--marino: #1f3864;--marino-claro: #2d4d84;--marino-tenue: #eef1f7;--dorado: #c9a227;--dorado-tenue: #fdf6e0;--blanco: #ffffff;--tinta: #1c1f26;--gris: #5b6472;--borde: #dde2ea;--alerta: #b3261e;--alerta-tenue: #fdecea;--aviso-tenue: #fff8e1;--aviso-borde: #e6c34a;--dua-compromiso: #2e7d32;--dua-representacion: #ad1457;--dua-accion: #0277bd}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--tinta);background:var(--marino-tenue);line-height:1.55}.barra{background:var(--marino);color:var(--blanco);padding:.9rem 1.5rem;display:flex;align-items:center;gap:1rem}.logo-hueco{width:40px;height:40px;border:1.5px dashed rgba(255,255,255,.45);border-radius:6px;display:grid;place-items:center;font-size:.6rem;color:#fff9;flex:none}.barra h1{font-size:1.15rem;margin:0;font-weight:600;letter-spacing:.02em}.barra h1 span{color:var(--dorado)}.barra .subtitulo{font-size:.8rem;color:#ffffffb3;margin:0}.contenido{max-width:900px;margin:1.5rem auto 4rem;padding:0 1.25rem}.sesion{margin-left:auto;display:flex;align-items:center;gap:.75rem;font-size:.82rem}.sesion .quien{color:#ffffffe6}.sesion .enlace{color:#ffffffbf;padding:0}.sesion .enlace:hover{color:var(--blanco)}.licencia{padding:.2rem .55rem;border-radius:999px;font-size:.75rem;white-space:nowrap}.licencia.prueba{background:var(--dorado-tenue);color:#7a5c00}.licencia.prueba.urgente{background:var(--dorado);color:#3a2c00;font-weight:600}.licencia.activa{background:#ffffff29;color:var(--blanco)}.licencia.agotada{background:var(--alerta-tenue);color:#7d1a15}.licencia.agotada a{color:#7d1a15;font-weight:600}.acceso{max-width:26rem;margin:0 auto}.acceso .acciones{display:block}.acceso .acciones .principal{width:100%}.acceso+*{margin-top:1rem}.modulos{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.modulo{background:var(--blanco);color:var(--gris);border:1px solid var(--borde);font-size:.85rem;padding:.45rem .9rem}.modulo.activo{background:var(--marino);color:var(--blanco);border-color:var(--marino)}.pasos{display:flex;gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none;flex-wrap:wrap}.paso{flex:1 1 150px;min-width:0;padding:.5rem .75rem;border-radius:6px;background:var(--blanco);border:1px solid var(--borde);font-size:.82rem;color:var(--gris);display:flex;align-items:baseline;gap:.4rem;overflow-wrap:anywhere}.paso.activo{border-color:var(--marino);color:var(--marino);font-weight:600}.paso.hecho{border-left:4px solid var(--dorado)}.paso .numero{font-weight:700;flex:none}.tarjeta{background:var(--blanco);border:1px solid var(--borde);border-radius:8px;padding:1.25rem;margin-bottom:1rem}h2{font-size:1.05rem;margin:0 0 .35rem;color:var(--marino)}.ayuda{font-size:.85rem;color:var(--gris);margin:0 0 1rem}label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.3rem}input[type=text],input[type=number],select,textarea{width:100%;padding:.55rem .7rem;border:1px solid var(--borde);border-radius:6px;font:inherit;color:inherit;background:var(--blanco)}input:focus,select:focus,textarea:focus{outline:2px solid var(--marino-claro);outline-offset:1px}textarea{resize:vertical;min-height:4.5rem}.fila.asignatura{margin-bottom:1.25rem;max-width:34rem}.fila{display:flex;gap:1rem;flex-wrap:wrap}.fila>*{flex:1 1 180px}button{font:inherit;border-radius:6px;padding:.55rem 1.1rem;border:1px solid transparent;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.principal{background:var(--marino);color:var(--blanco)}.principal:hover:not(:disabled){background:var(--marino-claro)}.secundario{background:var(--blanco);color:var(--marino);border-color:var(--marino)}.secundario:hover:not(:disabled){background:var(--marino-tenue)}.enlace{background:none;border:none;color:var(--marino);text-decoration:underline;padding:.2rem 0}.acciones{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.candidata{border:1px solid var(--borde);border-radius:8px;padding:.9rem 1rem;margin-bottom:.7rem;background:var(--blanco);cursor:pointer;text-align:left;width:100%;display:block}.candidata:hover{border-color:var(--marino)}.candidata.elegida{border-color:var(--marino);box-shadow:inset 3px 0 0 var(--dorado)}.codigo{font-weight:700;color:var(--marino);font-family:ui-monospace,monospace}.etiqueta{display:inline-block;font-size:.72rem;padding:.1rem .5rem;border-radius:999px;margin-left:.4rem;vertical-align:middle}.etiqueta.insercion{background:var(--dorado-tenue);color:#7a5c00;border:1px solid var(--dorado)}.etiqueta.ambigua{background:var(--alerta-tenue);color:var(--alerta);border:1px solid #f0b4ae}.etiqueta.competencia{background:var(--marino-tenue);color:var(--marino);border:1px solid var(--borde)}.porque{font-size:.78rem;color:var(--gris);margin-top:.4rem}.porque b{color:var(--tinta)}.error,.aviso{border-radius:6px;padding:.8rem 1rem;margin-bottom:1rem;font-size:.88rem}.error{background:var(--alerta-tenue);border:1px solid #f0b4ae;color:#7d1a15}.aviso{background:var(--aviso-tenue);border:1px solid var(--aviso-borde);color:#6b5200}.espera{text-align:center;padding:2.5rem 1rem}.rueda{width:42px;height:42px;margin:0 auto 1rem;border:4px solid var(--marino-tenue);border-top-color:var(--dorado);border-radius:50%;animation:girar 1s linear infinite}@keyframes girar{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.rueda{animation-duration:3s}}.barra-progreso{height:6px;background:var(--marino-tenue);border-radius:999px;overflow:hidden;margin:1rem auto 0;max-width:320px}.barra-progreso>div{height:100%;background:var(--dorado);transition:width .6s linear}.curricular{background:var(--marino-tenue);border-left:4px solid var(--marino);padding:.75rem 1rem;border-radius:0 6px 6px 0;margin-bottom:.75rem;font-size:.9rem}.curricular .rotulo{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--marino);font-weight:700;display:block;margin-bottom:.2rem}.candado{font-size:.75rem;color:var(--gris);font-style:italic}.fase{border:1px solid var(--borde);border-radius:8px;padding:.9rem 1rem;margin-bottom:.8rem}.fase-cabecera{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem;flex-wrap:wrap}.fase-nombre{font-weight:700}.minutos{font-size:.8rem;color:var(--gris)}.insignia{font-size:.72rem;padding:.15rem .6rem;border-radius:999px;color:var(--blanco);font-weight:600}.insignia.compromiso{background:var(--dua-compromiso)}.insignia.representacion{background:var(--dua-representacion)}.insignia.accion_expresion{background:var(--dua-accion)}.pie{font-size:.78rem;color:var(--gris);margin-top:2rem;text-align:center}
