/* Tela de acesso: estilos isolados do restante do sistema. */
#login{min-height:100dvh;padding:32px 20px;background:radial-gradient(ellipse at 50% 5%,rgba(31,98,171,.12),transparent 60%)}
#login .card{max-width:432px;padding:36px;background:#0d172a;border:1px solid #22314a;border-radius:20px;text-align:left;box-shadow:0 24px 80px rgba(0,0,0,.25)}
#login .login-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}
#login img{width:104px;height:auto;margin:0;display:block}
#login .login-area{font:500 11px var(--font-body);color:#a8bad4;border:1px solid #2a3c58;border-radius:6px;padding:6px 9px;white-space:nowrap;letter-spacing:.02em}
#login h1{font-family:var(--font-body);font-size:26px;font-weight:600;letter-spacing:-.035em;line-height:1.25;text-transform:none;margin:0 0 9px;color:#f1f5fc}
#login h1 .grad{background:none;color:inherit;-webkit-text-fill-color:currentColor}
#login p.login-subtitle{font-size:14px;line-height:1.6;color:#9faec4;margin:0 0 28px;max-width:310px}
#login form{display:grid;gap:20px}
#login label{font-size:13px;line-height:1.4;font-weight:500;letter-spacing:0;text-transform:none;color:#c7d2e3;margin-bottom:8px}
#login input,#login select{height:48px;padding:0 14px;border:1px solid #304059;border-radius:9px;background:#091222;color:#edf3fc;font-size:15px;box-shadow:none}
#login input::placeholder{color:#73849e}
#login input:focus,#login select:focus{border-color:#5b9bff;box-shadow:0 0 0 3px rgba(62,132,242,.15)}
#login .msg-erro{margin:0;padding:10px 12px;min-height:0;border-radius:8px;background:#361c29;color:#ffb4be;font-size:13px;line-height:1.5}
#login .msg-erro:empty{display:none}
#login .btn.primary{height:48px;margin:3px 0 0;border:1px solid #3988f9;border-radius:9px;background:#2878ee;color:#fff;box-shadow:0 4px 12px rgba(12,70,153,.15);font-size:14px;font-weight:600;padding:0 16px;justify-content:center;gap:10px}
#login .btn.primary:hover{background:#3687fa;filter:none;box-shadow:none}
#login .btn.primary:focus-visible,#login a:focus-visible{outline:2px solid #91bcff;outline-offset:4px}
#login .login-links{display:flex;justify-content:space-between;gap:16px;margin-top:22px;padding-top:22px;border-top:1px solid #22314a}
#login .login-links a{font-size:12px;line-height:1.6;color:#aec4e3;text-decoration:none}
#login .login-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
#login p.login-footer{font-size:11px;line-height:1.5;letter-spacing:.02em;text-align:center;color:#8191aa;margin:28px 0 0}
@media(max-width:480px){#login{padding:24px 16px}#login .card{padding:28px 24px;border-radius:16px}#login h1{font-size:25px}#login .login-brand{margin-bottom:28px}#login .login-links{gap:12px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){#login *{transition:none!important;animation:none!important}}

#login .login-step-label{display:inline-block;margin:0 0 18px;padding:5px 9px;border-radius:6px;background:rgba(62,132,242,.12);color:#a6caff;font-size:12px}#login .login-mfa-help{font-size:12px;line-height:1.6;margin:12px 0 0;color:#9faec4}#login #l-back{justify-content:center;min-height:44px;white-space:normal;font-size:13px}#login #l-back:focus-visible{outline:2px solid #91bcff;outline-offset:4px}
