/* Tela 28 — somente login, sem afetar criação de senha ou MFA. */
.login-page{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:flex-start;padding:48px clamp(24px,8vw,150px);background:#03266a url('/assets/login-entardecer-desktop.webp') center top/cover no-repeat;color:#061b63;position:relative;isolation:isolate}
.login-page:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#001c5740,transparent 70%),linear-gradient(0deg,#01225f65,transparent 55%)}
.login-card{width:100%;max-width:460px;padding:32px 38px 28px;border:1px solid #ffffffed;border-radius:30px;background:linear-gradient(145deg,#f7faffbe,#b9d7ffc2 65%,#8dbdffb8);box-shadow:0 0 0 1px #a4e8ff70,0 3px 12px #5cddff80,0 24px 65px #001d7370,inset 0 0 25px #ffffff50;-webkit-backdrop-filter:blur(21px);backdrop-filter:blur(21px)}
.login-card .auth-logo{width:220px;max-width:72%;height:auto;max-height:115px;object-fit:contain;margin:0 auto 18px}
.login-card h1{text-align:center;font-size:30px;letter-spacing:-.8px;margin:0 0 4px}
.login-card .login-subtitle{text-align:center;color:#304c92;font-size:16px;line-height:1.45}
.login-card form{margin-top:24px}
.login-card label{display:block;font-size:16px;font-weight:650;margin:0 0 8px;color:#071d66}
.login-field{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 13px;margin-bottom:19px;border:1px solid #fffffff5;border-radius:11px;background:#f3f7ff6b;box-shadow:inset 0 0 0 1px #ffffff24}
.login-field>.icon{width:23px;height:23px;color:#082675}
.login-field input{width:100%;min-width:0;flex:1;border:0;border-radius:5px;padding:14px 0;margin:0;background:transparent;box-shadow:none;font-size:16px;color:#071d66;outline-offset:4px}
.login-field input::placeholder{color:#586eaa;opacity:1}
.login-field:focus-within{outline:3px solid #106cff;outline-offset:3px}.login-field input:focus-visible{outline:none}
.login-eye{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:10px;margin-right:-7px;background:none;border:0;border-radius:7px;color:#082675}
.login-eye svg{width:24px;height:24px}.login-eye .eye-slash{display:none}.login-eye[aria-pressed="true"] .eye-slash{display:block}
.login-card .login-submit{min-height:56px;border-radius:12px;background:linear-gradient(115deg,#087aff,#0050ec);font-size:20px;font-weight:700;gap:16px;box-shadow:0 6px 16px #005be522}
.login-card .login-submit .icon{width:26px;height:26px}
.login-card .auth-help{margin-top:20px;color:#071d66;font-size:14px!important;line-height:1.8;overflow-wrap:anywhere}.login-card .auth-help a{color:#0046c8;text-decoration:underline;text-underline-offset:3px}
.login-card .login-footer{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:23px;padding-top:20px;border-top:1px solid #ffffffbd;color:#29477f;font-size:12px;line-height:1.5}.login-card .login-footer .icon{width:20px;height:20px}
.login-card .test-notice{margin-top:15px;font-size:11px;text-align:center;background:#ffffff85}.login-card .alert{margin-top:15px;background:#fff5e9;color:#802b15;overflow-wrap:anywhere}
@media(min-width:1800px){.login-page{padding-left:15vw}}
@media(max-width:700px){.login-page{align-items:flex-start;justify-content:center;padding:clamp(190px,58vw,320px) 20px 28px;background-image:url('/assets/login-entardecer.webp');background-position:right top;background-size:auto max(100%,100svh);background-attachment:fixed}.login-page:before{background:linear-gradient(0deg,#00296a60,transparent 70%)}.login-card{max-width:440px;padding:25px 25px 23px;border-radius:26px}.login-card .auth-logo{width:195px;margin-bottom:15px}.login-card h1{font-size:28px}.login-card .login-subtitle{font-size:15px}.login-card form{margin-top:22px}}
@media(max-width:360px){.login-page{padding:165px 14px 22px}.login-card{padding:23px 18px}.login-card h1{font-size:26px}.login-card .auth-logo{width:175px}.login-card .login-footer{font-size:11px;gap:7px}}
@media(prefers-reduced-transparency:reduce){.login-card{background:#dce9fb}}
