:root{--primario:#0e1b36;--primario-oscuro:#060f22;--on-primario:#fff;--acento:#1ab1e4;--on-acento:#0e1b36;--acento-texto:#0b7c9e;--exito:#2e7d32;--advertencia:#9a5b00;--error:#b3261e;--on-estado:#fff;--exito-fondo:#e6f2e7;--advertencia-fondo:#fff3e0;--error-fondo:#fbe9e7;--fondo:#f5f7fa;--superficie:#fff;--superficie-elevada:#fff;--texto:#1b1f24;--texto-secundario:#5b6470;--borde:#d6dce3;--borde-fuerte:#8a96a3;--font-sans:-apple-system,BlinkMacSystemFont,'SF Pro Text','SF Pro Display','Helvetica Neue',Helvetica,Arial,sans-serif}
body{margin:0;font-family:var(--font-sans);color:var(--texto);font-size:16px;line-height:24px}
a{color:var(--acento-texto)}a:hover{color:var(--primario)}
.pantalla{background:var(--fondo);box-sizing:border-box;display:flex;flex-direction:column}
.cab{background:var(--superficie);border-bottom:1px solid var(--borde);padding:8px 16px;box-sizing:border-box}
.cab-int{max-width:1152px;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:48px}
.cab .nav{justify-content:center;gap:16px;flex-wrap:wrap;flex-grow:0}
.nav a[aria-current]{color:var(--primario);font-weight:600}
.cab-acc{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.cab-menu{display:none}
.cab-menu summary{list-style:none;cursor:pointer;padding:8px 12px;border:1px solid var(--borde-fuerte);border-radius:8px;font-size:14px}
@media (max-width:767px){.cab{position:relative}.cab-int{grid-template-columns:auto auto}.cab>.cab-int>.nav{display:none}.cab-menu{display:block;justify-self:end}.cab-menu[open] .nav{display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:100%;background:var(--superficie);border-bottom:1px solid var(--borde);padding:8px 16px 16px;z-index:5}.cab-menu[open] .nav a{padding:12px 0;border-bottom:1px solid var(--borde)}.cab-acc{grid-column:1/-1;justify-content:stretch}.cab-acc .btn{flex:1}}
.marca{font-weight:700;font-size:18px;color:var(--primario);text-decoration:none}
.nav{display:flex;gap:24px;flex-grow:1}
.nav a{color:var(--texto);text-decoration:none;font-size:14px;white-space:nowrap}
.cab .btn,.app-cab .btn{white-space:nowrap}
.idioma{display:inline-flex;border:1px solid var(--borde);border-radius:999px;padding:2px}
.idioma span{padding:4px 12px;border-radius:999px;font-size:14px;font-weight:600}
.idioma .on{background:var(--acento);color:var(--on-acento)}
.cont{width:100%;max-width:1152px;margin:0 auto;padding:48px 16px;box-sizing:border-box;display:flex;flex-direction:column;gap:32px}
.t1{font-size:32px;line-height:40px;font-weight:700;margin:0}
.t2{font-size:24px;line-height:32px;font-weight:600;margin:0}
.t3{font-size:18px;line-height:26px;font-weight:600;margin:0}
.sec{color:var(--texto-secundario);font-size:14px;line-height:20px;margin:0}
p{margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:12px 16px;border-radius:8px;border:1px solid transparent;font:inherit;line-height:24px;cursor:pointer;text-decoration:none;box-sizing:border-box}
.btn-p{background:var(--primario);color:var(--on-primario)}
.btn-p:hover{background:var(--primario-oscuro);color:var(--on-primario)}
.btn-s:hover{background:var(--fondo);color:var(--primario)}
.btn-t:hover{background:var(--fondo);color:var(--primario)}
.btn:focus-visible{outline:2px solid var(--acento-texto);outline-offset:2px}
.btn-s{background:var(--superficie);color:var(--primario);border-color:var(--borde-fuerte)}
.btn-t{background:transparent;color:var(--acento-texto);padding-left:4px;padding-right:4px}
.btn[disabled],.btn.off{opacity:.45;cursor:not-allowed}
.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:8px;padding:16px;box-shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.1);box-sizing:border-box}
.campo{display:flex;flex-direction:column;gap:8px}
.campo label{font-weight:600}
.campo input,.campo select{height:48px}
.campo input,.campo select,.campo textarea{font:inherit;line-height:22px;padding:12px;border:1px solid var(--borde);border-radius:8px;background:var(--superficie);color:var(--texto);box-sizing:border-box;width:100%}
.campo .ayuda{color:var(--texto-secundario);font-size:14px;line-height:20px}
.campo.err input{border-color:var(--error)}.campo.err .ayuda{color:var(--error)}
.etq{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:12px;line-height:16px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap}
.e-exito{background:var(--exito-fondo);color:var(--exito)}
.e-adv{background:var(--advertencia-fondo);color:var(--advertencia)}
.e-error{background:var(--error-fondo);color:var(--error)}
.e-curso{background:var(--superficie);color:var(--primario);border-color:var(--primario)}
.e-neutro{background:var(--superficie);color:var(--texto-secundario);border-color:var(--borde)}
.e-cerrado{background:var(--superficie);color:var(--texto-secundario);border-color:var(--texto-secundario)}
.banner{display:flex;gap:12px;padding:12px 16px;border-radius:8px;border:1px solid}
.b-error{background:var(--error-fondo);color:var(--error);border-color:var(--error)}
.b-adv{background:var(--advertencia-fondo);color:var(--advertencia);border-color:var(--advertencia)}
.b-exito{background:var(--exito-fondo);color:var(--exito);border-color:var(--exito)}
.b-info{background:var(--superficie);color:var(--texto);border-color:var(--borde-fuerte)}
table{border-collapse:collapse;width:100%;font-size:14px;line-height:20px}
th{text-align:left;font-size:12px;line-height:16px;letter-spacing:.04em;text-transform:uppercase;color:var(--texto-secundario);padding:12px;border-bottom:1px solid var(--borde-fuerte)}
td{padding:12px;border-bottom:1px solid var(--borde);vertical-align:top}
.fila{display:flex;gap:16px;align-items:center}
.col{display:flex;flex-direction:column;gap:16px}
.pie{border-top:1px solid var(--borde);padding:24px max(16px, calc((100% - 1120px) / 2));color:var(--texto-secundario);font-size:14px;display:flex;gap:24px;margin-top:auto}
.tel{width:390px;height:844px;background:#e9edf0;box-sizing:border-box;display:flex;flex-direction:column;font-size:15px;line-height:22px}
.tel-cab{background:var(--primario);color:var(--on-primario);padding:16px;display:flex;flex-direction:column;gap:2px}
.tel-cuerpo{flex-grow:1;padding:16px;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.bot{align-self:flex-start;max-width:85%;background:var(--superficie);border:1px solid var(--borde);border-radius:12px 12px 12px 4px;padding:12px}
.yo{align-self:flex-end;max-width:85%;background:var(--primario);color:var(--on-primario);border-radius:12px 12px 4px 12px;padding:12px}
.ops{align-self:flex-start;max-width:85%;background:var(--superficie);border:1px solid var(--borde);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:4px}
.ops button{font:inherit;text-align:left;padding:10px 12px;border:1px solid var(--borde-fuerte);border-radius:8px;background:var(--superficie);color:var(--primario);cursor:pointer}
.tel-pie{background:var(--superficie);border-top:1px solid var(--borde);padding:12px 16px;display:flex;gap:8px;align-items:center}
.tel-pie div{flex-grow:1;border:1px solid var(--borde);border-radius:999px;padding:8px 14px;color:var(--texto-secundario);font-size:14px}
.app{background:var(--fondo);box-sizing:border-box;display:flex;flex-direction:column}
.app-cab{background:var(--superficie);border-bottom:1px solid var(--borde);height:64px;display:flex;align-items:center;gap:24px;padding:0 80px;box-sizing:border-box}
.app-cab .nav a{color:var(--texto)}
.campana{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--texto);text-decoration:none;flex-shrink:0}
.campana:hover{background:var(--fondo);color:var(--primario)}
.campana .punto{position:absolute;top:9px;right:10px;width:8px;height:8px;border-radius:50%;background:var(--acento);border:2px solid var(--superficie)}
.movil-cab .campana{width:36px;height:36px}
.usuario{display:flex;align-items:center;gap:8px;font-size:14px}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--primario);color:var(--on-primario);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px}
.pasos{display:flex;gap:0;list-style:none;margin:0;padding:0}
.pasos li{flex:1;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:18px;color:var(--texto-secundario);position:relative}
.pasos li .nodo{width:20px;height:20px;border-radius:50%;border:2px solid var(--borde);box-sizing:border-box;background:var(--superficie)}
.pasos li .linea{position:absolute;top:9px;left:20px;right:0;height:2px;background:var(--borde)}
.pasos li.ok .nodo{background:var(--exito);border-color:var(--exito)}
.pasos li.ok .linea{background:var(--exito)}
.pasos li.ok b{color:var(--exito)}
.pasos li.cur .nodo{border:3px solid var(--primario)}
.pasos li.cur b{color:var(--primario)}
.pasos li.bloq b{color:var(--error)}
.pasos li:last-child .linea{display:none}
.movil{width:390px;min-height:844px;background:var(--fondo);box-sizing:border-box;display:flex;flex-direction:column}
.movil-cab{background:var(--superficie);border-bottom:1px solid var(--borde);padding:12px 16px;display:flex;align-items:center;justify-content:space-between}
.movil-cuerpo{padding:16px;display:flex;flex-direction:column;gap:16px;flex-grow:1}
.movil-pie{position:sticky;bottom:0;background:var(--superficie);border-top:1px solid var(--borde);padding:12px 16px}
.movil .btn{width:100%}
.opcion{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--borde);border-radius:8px;background:var(--superficie)}
.opcion.sel{border-color:var(--primario);box-shadow:0 0 0 1px var(--primario)}
.preg{display:flex;flex-direction:column;gap:12px}
.preg label{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--borde);border-radius:8px;background:var(--superficie)}
.preg label.sel{border-color:var(--primario);box-shadow:0 0 0 1px var(--primario)}
.nivel{font-size:48px;line-height:56px;font-weight:700}
.qr{width:120px;height:120px;background:repeating-conic-gradient(var(--texto) 0 25%,var(--superficie) 0 50%) 0 0/16px 16px;border-radius:4px;flex-shrink:0}
.cupo{padding:12px;border:1px solid var(--borde);border-radius:8px;background:var(--superficie);font-size:14px;text-align:center}
.cupo.sel{border-color:var(--primario);box-shadow:0 0 0 1px var(--primario);font-weight:600}
.cupo.no{opacity:.45;text-decoration:line-through}
