:root{color-scheme:light}html,body{margin:0;min-height:100%;background:#fff}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(460px,56%) minmax(360px,44%);background:#fff;color:#101828}.login-acceso{display:flex;align-items:center;justify-content:center;padding:46px 34px;overflow:auto}.login-contenido{width:min(100%,430px);margin:auto}.login-marca{display:flex;align-items:baseline;gap:7px;margin-bottom:30px;color:#111827;font-size:13px;font-weight:800;letter-spacing:.09em;text-decoration:none}.login-marca__simbolo{font-size:20px;letter-spacing:-.08em}.login-logo-sitio{display:block;max-width:190px;max-height:68px;object-fit:contain;object-position:left center}.login-contenido h1{max-width:410px;margin:0 0 9px;color:#101828;font-size:34px;line-height:1.16;letter-spacing:-.035em}.login-subtitulo{margin:0 0 27px;color:#667085;font-size:15px;line-height:1.5}.login-form{display:grid;gap:16px}.login-field{display:grid;gap:7px}.login-field label,.auth-shield label{color:#344054;font-size:13px;font-weight:700}.login-field small{color:#667085;font-size:12px}.login-field input,.auth-shield input{box-sizing:border-box;width:100%;height:46px;padding:0 13px;border:1px solid #d0d5dd;border-radius:10px;outline:0;background:#fff;color:#101828;font:inherit;box-shadow:0 1px 2px rgba(16,24,40,.03);transition:border-color .2s,box-shadow .2s}.login-field input:focus,.auth-shield input:focus{border-color:#6366f1;box-shadow:0 0 0 4px rgba(99,102,241,.12)}.login-label-linea{display:flex;justify-content:space-between;gap:14px}.login-label-linea a{color:#4f46e5;font-size:12px;font-weight:700;text-decoration:none}.password-control{position:relative}.password-control input{padding-right:68px}.password-control button{position:absolute;top:6px;right:6px;height:34px;padding:0 10px;border:0;border-radius:7px;background:#f2f4f7;color:#475467;font-size:12px;font-weight:700;cursor:pointer}.login-button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:47px;padding:11px 18px;border:1px solid #4338ca;border-radius:11px;background:linear-gradient(135deg,#4f46e5,#3730a3);color:#fff;font-size:14px;font-weight:800;text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 7px 18px rgba(79,70,229,.2);transition:transform .2s,box-shadow .2s}.login-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(79,70,229,.28)}.login-button--enlace{margin-top:20px}.login-message{padding:12px 14px;margin:0 0 18px;border-radius:10px;font-size:13px;line-height:1.45}.login-message.error{color:#b42318;background:#fef3f2;border:1px solid #fecdca}.login-message.success{color:#067647;background:#ecfdf3;border:1px solid #abefc6}.login-separador{display:flex;align-items:center;gap:12px;margin:20px 0;color:#98a2b3;font-size:12px}.login-separador::before,.login-separador::after{content:"";height:1px;flex:1;background:#eaecf0}.login-google{height:46px;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid #d0d5dd;border-radius:11px;background:#fff;color:#101828;text-decoration:none;font-size:14px;font-weight:700;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:border-color .2s,box-shadow .2s}.login-google:hover{border-color:#98a2b3;box-shadow:0 5px 16px rgba(16,24,40,.1)}.login-google-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);color:#fff;font-size:13px;font-weight:900}.login-links{display:flex;justify-content:center;gap:18px;margin-top:21px}.login-links--doble{justify-content:space-between}.login-links a,.login-ayuda-destacada a{color:#4f46e5;font-size:13px;font-weight:700;text-decoration:none}.login-links a:hover,.login-ayuda-destacada a:hover{text-decoration:underline}.login-aviso,.login-ayuda{margin:20px 10px 0;color:#98a2b3;font-size:11px;line-height:1.55;text-align:center}.login-aviso a{color:#4f46e5;font-weight:700;text-decoration:none}.login-ayuda{color:#667085;font-size:12px}.login-ayuda-destacada{margin:14px 0 0;text-align:center}.auth-shield{display:grid;grid-template-columns:1fr 110px;gap:8px 14px;padding:13px 14px;border:1px solid #c7d2fe;border-radius:12px;background:linear-gradient(135deg,#f5f3ff,#eef2ff)}.auth-shield__cabecera{display:flex;align-items:center;gap:9px;grid-column:1/-1}.auth-shield__cabecera>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#4f46e5;color:#fff;font-size:18px}.auth-shield__cabecera div{display:grid}.auth-shield__cabecera strong{color:#3730a3;font-size:12px}.auth-shield__cabecera small{color:#667085;font-size:10px}.auth-shield label{align-self:center}.auth-shield input{height:40px;text-align:center;font-weight:800}.auth-trampa{position:fixed!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.auth-estado{display:grid;place-items:center;width:64px;height:64px;margin:0 0 22px;border-radius:22px;font-size:30px;font-weight:900}.auth-estado--exito{background:#dcfae6;color:#067647}.auth-estado--error{background:#fee4e2;color:#b42318}.login-carrusel{position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(145deg,#dbeafe,#eef2ff);border-radius:22px 0 0 22px}.login-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease}.login-slide.is-active{opacity:1;visibility:visible}.login-slide img{width:100%;height:100%;object-fit:cover;display:block}.login-slide::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.48))}.login-slide figcaption{position:absolute;z-index:2;left:48px;right:48px;bottom:72px;color:#fff;display:grid;gap:8px;text-shadow:0 2px 12px rgba(0,0,0,.35)}.login-slide figcaption strong{font-size:30px;line-height:1.1}.login-slide figcaption span{font-size:15px;line-height:1.5}.login-puntos{position:absolute;z-index:4;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.login-puntos button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.55);cursor:pointer;transition:width .25s,background .25s}.login-puntos button.is-active{width:28px;background:#fff}.login-carrusel--vacio::after{content:"EcuadorOk";position:absolute;inset:0;display:grid;place-items:center;color:#475467;font-size:42px;font-weight:800;letter-spacing:-.04em}@media(max-width:860px){.login-page{grid-template-columns:1fr}.login-acceso{min-height:100vh;padding:34px 24px}.login-carrusel{display:none}.login-contenido{max-width:430px}.login-marca{margin-bottom:28px}.login-contenido h1{font-size:30px}}@media(max-width:480px){.login-acceso{align-items:flex-start;padding:36px 18px}.login-contenido h1{font-size:28px}.login-links--doble{align-items:center;flex-direction:column;gap:10px}.auth-shield{grid-template-columns:1fr}.auth-shield label,.auth-shield input{grid-column:1}.login-aviso{margin-inline:0}}
/* v152 · Cabecera pública visible en Login y Configurar contraseña */
.login-site-header{position:sticky;top:0;z-index:6400;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;min-height:68px;padding:8px max(22px,calc((100vw - 1420px)/2));border-bottom:1px solid rgba(255,255,255,.18);background:linear-gradient(110deg,var(--login-cabecera-primario,#4f46e5),color-mix(in srgb,var(--login-cabecera-secundario,#f59e0b) 52%,var(--login-cabecera-primario,#4f46e5)));color:#fff;box-shadow:0 8px 22px rgba(15,23,42,.12)}
.login-site-header__marca{display:flex;align-items:center;min-width:0;color:#fff;text-decoration:none}.login-site-header__marca img{display:block;width:auto;max-width:168px;height:48px;object-fit:contain}.login-site-header__marca strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:22px}.login-site-header nav{display:flex;align-items:center;gap:8px}.login-site-header nav a,.login-site-header__actual{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border-radius:10px;color:#fff;font-size:13px;font-weight:800;text-decoration:none;box-sizing:border-box}.login-site-header nav a:hover{background:rgba(255,255,255,.14)}.login-site-header__actual{border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.1)}
.login-page--con-cabecera,.login-page--con-cabecera .login-carrusel{min-height:calc(100vh - 68px)}
@media(max-width:680px){.login-site-header{min-height:60px;padding:6px 14px}.login-site-header__marca img{max-width:132px;height:42px}.login-site-header nav{gap:4px}.login-site-header nav a,.login-site-header__actual{min-height:36px;padding:0 9px;font-size:12px}.login-page--con-cabecera,.login-page--con-cabecera .login-carrusel{min-height:calc(100vh - 60px)}}
@media(max-width:430px){.login-site-header nav a:not(:first-child),.login-site-header__actual{display:none}}
/* Ajustes de altura/duplicación para las dos pantallas que ya tienen cabecera. */
.login-page--con-cabecera .login-marca{display:none}
@media(max-width:860px) and (min-width:681px){.login-page--con-cabecera .login-acceso{min-height:calc(100vh - 68px)}}
@media(max-width:680px){.login-page--con-cabecera .login-acceso{min-height:calc(100vh - 60px)}}
/* v153 · La cabecera de Login/Configurar contraseña usa exactamente el estilo de la portada. */
.cabecera-publica-aislada.inicio-header{z-index:6400}
.cabecera-temporizadores-slot,.cabecera-temporizadores-slot .inicio-temporizadores{display:flex;align-items:center;gap:6px}
.login-page--con-cabecera,.login-page--con-cabecera .login-carrusel{min-height:calc(100vh - 72px)}
@media(max-width:720px){.login-page--con-cabecera,.login-page--con-cabecera .login-carrusel,.login-page--con-cabecera .login-acceso{min-height:calc(100vh - 72px)}}
/* v154 · Login/Configurar contraseña conservan colores y pie de la experiencia pública. */
.cabecera-publica-aislada.inicio-header{background:var(--sitio-primario);border-bottom:0;color:#fff;box-shadow:0 7px 22px rgba(15,23,42,.14)}
.cabecera-publica-aislada.inicio-header .inicio-marca,.cabecera-publica-aislada.inicio-header nav>a{color:#fff}
.cabecera-publica-aislada.inicio-header nav>a:hover{background:rgba(255,255,255,.12)}
.cabecera-publica-aislada.inicio-header .inicio-cuenta{background:rgba(0,0,0,.18);color:#fff}
.cabecera-publica-aislada.inicio-header .inicio-cuenta:hover{background:rgba(0,0,0,.28)}
.login-page--con-cabecera.login-page--con-pie,.login-page--con-cabecera.login-page--con-pie .login-carrusel{min-height:calc(100vh - 72px - 62px)}
body.tema-publico-oscuro{background:#050507;color:#f8fafc}
body.tema-publico-oscuro .login-page{background:#050507;color:#f8fafc}
body.tema-publico-oscuro .login-acceso{background:#0b0b10}
body.tema-publico-oscuro .login-contenido h1,body.tema-publico-oscuro .login-field label,body.tema-publico-oscuro .auth-shield label{color:#f8fafc}
body.tema-publico-oscuro .login-subtitulo,body.tema-publico-oscuro .login-field small,body.tema-publico-oscuro .login-ayuda{color:#a7b0bf}
body.tema-publico-oscuro .login-field input,body.tema-publico-oscuro .auth-shield input{border-color:#343440;background:#18181f;color:#f8fafc}
body.tema-publico-oscuro .password-control button{background:#25252e;color:#e2e8f0}
body.tema-publico-oscuro .login-google{border-color:#343440;background:#18181f;color:#f8fafc}
body.tema-publico-oscuro .login-separador{color:#94a3b8}
body.tema-publico-oscuro .login-separador::before,body.tema-publico-oscuro .login-separador::after{background:#343440}
body.tema-publico-oscuro .auth-shield{border-color:#37305d;background:linear-gradient(135deg,#171428,#111827)}
body.tema-publico-oscuro .auth-shield__cabecera strong{color:#c4b5fd}
body.tema-publico-oscuro .auth-shield__cabecera small{color:#a7b0bf}
@media(max-width:720px){.login-page--con-cabecera.login-page--con-pie,.login-page--con-cabecera.login-page--con-pie .login-carrusel,.login-page--con-cabecera.login-page--con-pie .login-acceso{min-height:calc(100vh - 72px - 104px)}}
/* v157 · Requisitos de contraseña visibles y validados también en cliente. */
.login-password-requisitos{display:block;line-height:1.45;transition:color .15s ease}
.login-password-requisitos.is-valid{color:#067647!important;font-weight:700}
.login-password-requisitos.is-invalid{color:#b42318!important}
body.tema-publico-oscuro .login-password-requisitos.is-valid{color:#6ee7b7!important}
body.tema-publico-oscuro .login-password-requisitos.is-invalid{color:#fca5a5!important}
