/* Login único. Conserva el canvas y las animaciones del panel de escritorio. */
:root{--login-navy:#16324f;--login-teal:#155e75;--login-cyan:#087c99;--login-ink:#16324f;--login-muted:#526777;--login-line:#bfd4df}
.login-page-bg{padding:24px;background:radial-gradient(circle at 14% 15%,#d8eef6 0,transparent 40%),linear-gradient(145deg,#e9eef1,#f4f7f9 55%,#e4eef3);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.login-card-container{max-width:1120px;min-height:650px;grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);border:1px solid #cbd7df;border-radius:26px;box-shadow:0 22px 60px rgba(22,50,79,.18)}
.login-visual-panel{background:linear-gradient(135deg,#102a43,#16324f 58%,#155e75)}
.login-visual-panel::before{background:radial-gradient(circle at 25% 20%,rgba(103,232,249,.18),transparent 43%),radial-gradient(circle at 75% 65%,rgba(8,124,153,.28),transparent 50%),radial-gradient(circle at 50% 90%,rgba(196,181,253,.13),transparent 45%)}
.visual-top-content .welcome-text{font-family:inherit;font-size:clamp(34px,3.5vw,46px)!important;letter-spacing:-.025em!important}
.login-form-panel{padding:46px clamp(28px,4vw,58px);background:#f6f9fb}
.login-box-card{max-width:390px}
.login-avatar-circle{width:88px;height:88px;margin-bottom:17px;border:2px solid #fff;background:#fff;box-shadow:0 0 0 1px var(--login-line),0 9px 24px rgba(22,50,79,.12)}
.unified-mobile-brand,.unified-mobile-physics{display:none}
.unified-form-heading{text-align:center;margin-bottom:25px}
.unified-form-heading span{color:var(--login-cyan);font-size:11px;font-weight:850;letter-spacing:.12em}
.unified-form-heading h2{margin:5px 0 3px;color:var(--login-ink);font-size:25px;line-height:1.2;letter-spacing:-.02em}
.unified-form-heading p{margin:0;color:var(--login-muted);font-size:13px}
.unified-field-label{display:block;margin:0 0 7px;color:var(--login-ink);font-size:12px;font-weight:850;letter-spacing:.055em}
.input-pill-container{margin-bottom:16px}
.form-control-pill{min-height:52px;padding:0 50px 0 16px;border:1.5px solid var(--login-line);border-radius:14px;background:#fff;color:var(--login-ink);font-size:16px;font-weight:650;letter-spacing:normal}
.form-control-pill::placeholder{color:#70869a;font-weight:500;letter-spacing:normal}
.form-control-pill:focus{border-color:var(--login-cyan);box-shadow:0 0 0 3px rgba(8,124,153,.15)}
.pill-icon-right{right:17px;color:var(--login-cyan)}
.pill-icon-right svg{stroke:currentColor}
.input-pill-container:has(.unified-password-toggle) .form-control-pill{padding-right:108px}
.input-pill-container:has(.unified-password-toggle) .pill-icon-right{right:68px}
.unified-password-toggle{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:58px;height:42px;padding:0 4px;border:0;border-radius:10px;background:transparent;color:var(--login-cyan);font-size:12px;font-weight:800;cursor:pointer}
.unified-password-toggle:hover{background:#e6f6fa}
.unified-remember{display:flex;align-items:center;gap:9px;min-height:39px;margin:-3px 0 13px;color:var(--login-muted);font-size:13px;font-weight:650}
.unified-remember input{width:18px;height:18px;accent-color:var(--login-teal)}
.btn-pill-primary{min-height:51px;margin-top:0;border-radius:14px;background:linear-gradient(135deg,var(--login-teal),var(--login-cyan));font-size:14px;font-weight:850;letter-spacing:.045em;box-shadow:0 9px 20px rgba(8,124,153,.2)}
.btn-pill-primary:hover{background:linear-gradient(135deg,#124d61,#086b85);box-shadow:0 12px 24px rgba(8,124,153,.25)}
.unified-access-list{display:grid;gap:9px;margin-top:15px}
.unified-access-card{display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;min-height:58px;padding:7px 11px;border:1px solid #d5e3ea;border-radius:15px;background:#fff;color:var(--login-ink);font:inherit;text-align:left;text-decoration:none;box-shadow:0 5px 15px rgba(22,50,79,.06);cursor:pointer}
.unified-access-card:hover{border-color:#93d8e6;background:#f8fdff}
.unified-access-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #93d8e6;border-radius:12px;background:#e6f6fa;color:var(--login-cyan)}
.unified-access-icon svg{width:19px;height:19px}
.unified-access-card.help .unified-access-icon{border-color:#9bd8ba;background:#e5f7ee;color:#13734b}
.unified-access-card strong,.unified-access-card small{display:block}
.unified-access-card strong{font-size:14px;line-height:1.25}
.unified-access-card small{margin-top:2px;color:var(--login-muted);font-size:12px;line-height:1.3}
.unified-access-card b{color:#61869a;font-size:22px;font-weight:400}
.login-bottom-logo{width:88px;height:88px;margin:18px auto 0;border:2px solid #fff;border-radius:50%;background:#fff;object-fit:contain;box-shadow:0 0 0 1px var(--login-line),0 9px 24px rgba(22,50,79,.12)}
.unified-official-caption{margin:8px 0 0;color:var(--login-muted);font-size:11px;font-weight:700;text-align:center}
.forgot-modal{border-color:var(--login-line);color:var(--login-ink)}
.forgot-modal-head{background:linear-gradient(135deg,var(--login-navy),var(--login-teal));color:#fff}
.forgot-modal-subtitle{color:#dcecf6}
.forgot-input{border-color:var(--login-line);background:#f6f9fb;font-family:inherit}
.forgot-input:focus{border-color:var(--login-cyan);box-shadow:0 0 0 3px rgba(8,124,153,.15)}
.forgot-submit{background:linear-gradient(135deg,var(--login-teal),var(--login-cyan));font-family:inherit}
:is(.unified-access-card,.unified-password-toggle,.btn-pill-primary,.forgot-modal button,.form-control-pill):focus-visible{outline:3px solid #0891b2;outline-offset:3px}
@media(max-width:900px){
  .login-page-bg{display:block;padding:0;background:#e9eef1}
  .login-card-container{display:block;max-width:none;min-height:100dvh;border:0;border-radius:0;box-shadow:none;background:linear-gradient(155deg,#e5f1f5,#f4f7f9)}
  .login-visual-panel{display:none}
  .login-form-panel{display:block;min-height:100dvh;padding:max(32px,env(safe-area-inset-top)) 18px max(22px,env(safe-area-inset-bottom));background:transparent}
  .login-box-card{max-width:430px;margin:auto;padding-top:8px}
  .unified-mobile-brand{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:12px;min-height:82px;margin-bottom:17px;padding:10px 17px;border:1px solid rgba(255,255,255,.75);border-radius:22px;background:linear-gradient(135deg,var(--login-navy),var(--login-teal));box-shadow:0 12px 26px rgba(22,50,79,.16);color:#fff;text-align:center}
  .unified-mobile-logo{display:grid;justify-items:center;gap:2px}
  .unified-mobile-logo img{width:46px;height:46px;padding:5px;border-radius:50%;background:#fff;object-fit:contain}
  .unified-mobile-brand strong,.unified-mobile-brand small{display:block}
  .unified-mobile-brand strong{font-size:14px;letter-spacing:.07em}
  .unified-mobile-brand small{font-size:10px;letter-spacing:.065em}
  .unified-mobile-logo small{font-size:7px;font-weight:900}
  .login-avatar-circle{display:none}
  .unified-mobile-physics{display:grid;place-items:center;width:100px;height:100px;margin:0 auto 16px;border:3px solid #fff;border-radius:50%;background:#fff;box-shadow:0 12px 28px rgba(22,50,79,.15)}
  .unified-mobile-physics img{width:80px;height:80px;object-fit:contain}
  .login-bottom-logo{display:none}
  .login-box-card>form,.login-box-card>.unified-access-list{position:relative;z-index:1}
  .unified-form-heading{margin-bottom:20px}
  .unified-form-heading h2{font-size:22px}
  .login-bottom-logo{margin-top:17px}
}
@media(max-width:430px){
  .login-box-card{padding:6px 0 18px}
  .login-box-card>form,.login-box-card>.unified-access-list,.unified-form-heading,.login-error-alert-pill{padding-left:18px;padding-right:18px}
  .login-box-card>form{padding-top:17px;padding-bottom:18px;border:1px solid #fff;border-radius:24px 24px 0 0;background:#fff;box-shadow:0 18px 45px rgba(22,50,79,.12)}
  .login-box-card>.unified-access-list{margin-top:0;padding-top:0;padding-bottom:17px;border:1px solid #fff;border-top:0;border-radius:0 0 24px 24px;background:#fff;box-shadow:0 18px 45px rgba(22,50,79,.12)}
  .unified-mobile-physics{margin-bottom:13px}
  .unified-form-heading{margin-bottom:14px}
  .unified-official-caption{margin-top:8px}
}
@media(prefers-reduced-motion:reduce){.login-visual-panel::before{animation:none!important}}
