:root{
  --edux-azul-territorio:#0B1F3A;
  --edux-azul-gestion:#1E5BD8;
  --edux-cian-inteligencia:#12B3C7;
  --edux-coral-futuro:#FF6B3D;
  --edux-niebla:#F4F7FB;
  --edux-borde:#E2E8F0;
  --edux-pizarra-500:#64748B;
  --edux-texto-2:#475569;
  --edux-cian-texto:#0A7C8C;
  --edux-coral-texto:#C2410C;
  --edux-exito:#16A34A;
  --edux-atencion:#FFB938;
  --edux-degradado:linear-gradient(45deg,#1E5BD8,#12B3C7);
  --edux-fuente-marca:'Plus Jakarta Sans','Segoe UI',Arial,sans-serif;
  --edux-fuente-interfaz:Inter,'Segoe UI',Arial,sans-serif;
  --edux-fuente-datos:'JetBrains Mono',Consolas,monospace;
  --edux-radio-sm:8px;
  --edux-radio-md:12px;
  --edux-radio-lg:16px;
  --edux-radio-xl:24px;
  --edux-sombra:0 18px 55px rgba(11,31,58,.09);
}

*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:var(--edux-fuente-interfaz);color:var(--edux-azul-territorio);background:#fff;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
a{color:var(--edux-azul-gestion)}
:focus-visible{outline:3px solid rgba(18,179,199,.45);outline-offset:3px}

.edux-skip{position:fixed;top:-80px;left:18px;z-index:9999;padding:10px 14px;border-radius:var(--edux-radio-sm);background:#fff;color:var(--edux-azul-territorio);box-shadow:var(--edux-sombra)}
.edux-skip:focus{top:18px}

/* LOGIN / ACCESO INSTITUCIONAL */
.edux-login-body{min-height:100vh;overflow-x:hidden}
.edux-login-page{min-height:100vh;display:grid;grid-template-columns:minmax(480px,1.04fr) minmax(440px,.96fr);background:#fff}
.edux-brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:54px 64px 48px;color:#fff;background-color:var(--edux-azul-territorio);background-image:radial-gradient(circle at 2px 2px,rgba(30,91,216,.32) 1.6px,transparent 1.8px);background-size:42px 42px}
.edux-brand-panel:after{content:"";position:absolute;width:520px;height:280px;right:-170px;bottom:-120px;border:1px solid rgba(18,179,199,.35);border-radius:50%;transform:rotate(-18deg);box-shadow:-80px -30px 0 -79px rgba(18,179,199,.95),-155px -40px 0 -154px rgba(255,107,61,.95)}
.edux-brand-top,.edux-brand-copy,.edux-brand-foot{position:relative;z-index:2}
.edux-brand-logo{display:block;width:190px;max-width:55%;height:auto}
.edux-brand-copy{max-width:660px;margin:54px 0 42px}
.edux-brand-copy h1{font-family:var(--edux-fuente-marca);font-size:clamp(37px,4.1vw,62px);line-height:1.04;letter-spacing:-2.2px;margin:0 0 22px;font-weight:800;color:#fff}
.edux-brand-copy h1 strong{color:var(--edux-cian-inteligencia);font-weight:800}
.edux-brand-copy>p{max-width:600px;margin:0 0 34px;color:#C8D5E6;font-size:17px;line-height:1.7}
.edux-feature-list{display:grid;gap:12px;max-width:610px}
.edux-feature{display:flex;align-items:center;gap:14px;min-height:58px;padding:12px 18px;border:1px solid rgba(120,162,211,.27);border-radius:var(--edux-radio-md);background:rgba(14,45,78,.55);backdrop-filter:blur(4px)}
.edux-feature img{width:24px;height:24px;filter:brightness(0) invert(1);opacity:.92}
.edux-feature strong{display:block;font-size:14px;color:#fff;font-weight:650}
.edux-feature small{display:block;margin-top:2px;color:#9FB4CC;font-size:11px}
.edux-brand-foot{font-size:11px;color:#9FB4CC;letter-spacing:.01em}
.edux-brand-foot strong{color:#fff}

.edux-access-panel{display:flex;align-items:center;justify-content:center;min-width:0;padding:42px 56px;background:#fff}
.edux-access-inner{width:min(100%,560px)}
.edux-access-mark{display:flex;align-items:center;gap:11px;padding:12px 14px;margin-bottom:34px;border:1px dashed #C8D4E4;border-radius:var(--edux-radio-md);background:#F8FAFC;color:var(--edux-texto-2);font-size:12px}
.edux-access-mark img{width:22px;height:22px}
.edux-access-mark strong{display:block;color:var(--edux-azul-territorio);font-size:12px}
.edux-login-heading{margin-bottom:28px}
.edux-login-heading .eyebrow{margin-bottom:8px;color:var(--edux-cian-texto);font-size:11px;font-weight:800;letter-spacing:1.35px;text-transform:uppercase}
.edux-login-heading h2{font-family:var(--edux-fuente-marca);margin:0 0 8px;color:var(--edux-azul-territorio);font-size:31px;line-height:1.16;letter-spacing:-.8px}
.edux-login-heading p{margin:0;color:var(--edux-texto-2);font-size:14px}
.edux-field{margin-bottom:18px}
.edux-field label{display:block;margin:0 0 8px;color:var(--edux-azul-territorio);font-size:12px;font-weight:700}
.edux-input-wrap{position:relative}
.edux-input-wrap .edux-field-icon{position:absolute;left:15px;top:50%;width:20px;height:20px;transform:translateY(-50%);opacity:.72;pointer-events:none}
.edux-input-wrap input{width:100%;height:52px;padding:11px 48px 11px 48px;border:1px solid #C7D3E3;border-radius:var(--edux-radio-md);background:#fff;color:var(--edux-azul-territorio);font-size:14px;transition:.15s}
.edux-input-wrap input::placeholder{color:#94A3B8}
.edux-input-wrap input:focus{outline:0;border-color:var(--edux-azul-gestion);box-shadow:0 0 0 3px rgba(30,91,216,.11)}
.edux-password-toggle{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:9px;background:transparent;display:grid;place-items:center;cursor:pointer}
.edux-password-toggle:hover{background:#F1F5F9}
.edux-password-toggle img{width:21px;height:21px;opacity:.78}
.edux-login-actions{display:flex;justify-content:flex-end;margin:-2px 0 18px}
.edux-link-button{border:0;background:transparent;padding:0;color:var(--edux-azul-gestion);font-size:12px;font-weight:700;cursor:pointer;text-decoration:none}
.edux-primary{width:100%;min-height:52px;border:1px solid var(--edux-azul-gestion);border-radius:var(--edux-radio-md);background:var(--edux-azul-gestion);color:#fff;font-weight:750;font-size:14px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 8px 20px rgba(30,91,216,.14);transition:.15s}
.edux-primary:hover{background:#174FC0;border-color:#174FC0;transform:translateY(-1px)}
.edux-primary img{width:18px;height:18px;filter:brightness(0) invert(1)}
.edux-divider{display:flex;align-items:center;gap:13px;margin:24px 0;color:#94A3B8;font-size:10px}.edux-divider:before,.edux-divider:after{content:"";height:1px;background:var(--edux-borde);flex:1}
.edux-secondary{width:100%;min-height:48px;border:1px solid #C7D3E3;border-radius:var(--edux-radio-md);background:#fff;color:var(--edux-azul-territorio);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;transition:.15s}
.edux-secondary:hover{background:#F8FAFC;border-color:#AFC1D8}
.edux-secondary img{width:19px;height:19px}
.edux-help-text{margin:22px 0 0;padding-top:19px;border-top:1px solid var(--edux-borde);text-align:center;color:var(--edux-pizarra-500);font-size:11px;line-height:1.65}
.edux-help-text a{font-weight:700;text-decoration:none}
.edux-meta{display:flex;justify-content:center;gap:8px;margin-top:17px;color:#94A3B8;font-size:10px}
.edux-meta span{display:inline-flex;align-items:center;gap:6px}.edux-meta span:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--edux-cian-inteligencia)}

.edux-login-body .alert{border-radius:var(--edux-radio-md);border:1px solid transparent;font-size:12px;margin-bottom:18px;padding:12px 14px}
.edux-login-body .alert-danger{background:#FFF1F2;border-color:#FECDD3;color:#9F1239}
.edux-login-body .alert-warning{background:#FFFBEB;border-color:#FDE68A;color:#92400E}
/* Compatibilidad visual para mensajes heredados de recuperación dentro del panel derecho */
.edux-access-panel>.edux-access-inner>.table,
.edux-access-panel>.edux-access-inner>.table-striped,
.edux-access-panel>.edux-access-inner>.container{max-width:100%;width:100%}
.edux-access-panel .table-striped{border:1px solid var(--edux-borde);border-radius:var(--edux-radio-lg);overflow:hidden;background:#fff}
.edux-access-panel .table-striped td,.edux-access-panel .table-striped th{border:0!important;padding:18px!important;background:#fff!important}
.edux-access-panel .container{padding:0!important;margin:0 0 18px!important}
.edux-access-panel .form-control{min-height:46px;border:1px solid #C7D3E3;border-radius:var(--edux-radio-md);box-shadow:none}
.edux-access-panel .btn-warning{border:1px solid var(--edux-azul-gestion);background:var(--edux-azul-gestion);color:#fff;border-radius:var(--edux-radio-md);font-weight:700}
.edux-access-panel img[src*="sos.png"],.edux-access-panel img[src*="email_ces.png"],.edux-access-panel img[src*="advertencia_oficial.png"],.edux-access-panel img[src*="emblema_oficial.jpg"]{display:none!important}

@media(max-width:980px){
  .edux-login-page{grid-template-columns:1fr}
  .edux-brand-panel{min-height:auto;padding:34px 28px 30px}
  .edux-brand-logo{width:150px}
  .edux-brand-copy{margin:38px 0 18px}
  .edux-brand-copy h1{font-size:38px;max-width:620px}
  .edux-brand-copy>p{font-size:15px;margin-bottom:22px}
  .edux-feature-list{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}
  .edux-feature{align-items:flex-start;min-height:86px}
  .edux-brand-foot{margin-top:20px}
  .edux-access-panel{padding:42px 28px 52px}
}
@media(max-width:700px){
  .edux-brand-panel{padding:26px 20px 24px}
  .edux-brand-copy{margin:28px 0 10px}
  .edux-brand-copy h1{font-size:31px;letter-spacing:-1px;margin-bottom:14px}
  .edux-brand-copy>p{font-size:13px;line-height:1.55}
  .edux-feature-list{display:none}
  .edux-brand-foot{display:none}
  .edux-access-panel{padding:30px 20px 38px;align-items:flex-start}
  .edux-access-mark{margin-bottom:26px}
  .edux-login-heading h2{font-size:27px}
}
@media(max-width:420px){
  .edux-brand-logo{width:126px}
  .edux-brand-copy h1{font-size:27px}
  .edux-brand-copy>p{margin:0}
  .edux-access-panel{padding-left:16px;padding-right:16px}
}
