/* Elaborado por IA, sujeito a validação. Paleta e fonte locais do produto. */
@font-face{font-family:Lato;src:url('/comum/fontes/Lato-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url('/comum/fontes/Lato-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--login-outline:#8C8C8C;--login-ms-text:#5E5E5E;--login-ms-dark:#2F2F2F;--login-shadow:0 24px 72px #23356318;--login-tint:#23356308;--login-line:#1A699018}
[data-theme=dark]{--login-shadow:0 24px 72px #00000040;--login-tint:#7DBDED08;--login-line:#7DBDED12}
.pagina-login{min-height:100vh;min-height:100dvh;height:auto;display:flex;flex-direction:column;background:radial-gradient(ellipse at 25% 35%,var(--login-line),transparent 60%),var(--bg);line-height:1.5}
.login-preferencias{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:24px 32px}
.login-preferencias label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}
.login-preferencias button,.login-preferencias select{min-height:44px;font-size:13px}
.login-centro{flex:1;display:grid;place-items:center;padding:16px 24px 32px}
.login-painel{width:100%;max-width:480px;padding:42px 44px 34px;background:var(--panel);border:1px solid var(--login-line);border-radius:20px;box-shadow:var(--login-shadow);text-align:center}
#login-logo{display:block;max-width:100%;width:260px;height:auto;margin:0 auto 28px}
.login-chamada{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--link);margin-bottom:10px}
#login-titulo{font-size:30px;font-weight:700;line-height:1.25;margin-bottom:12px}
.login-intro{color:var(--muted);font-size:15px;max-width:300px;margin:0 auto 28px}
.login-microsoft{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 12px;border:1px solid var(--login-outline);border-radius:0;background:var(--white);color:var(--login-ms-text);font:600 15px 'Segoe UI',sans-serif;text-decoration:none}
.login-microsoft img{flex:none}
[data-theme=dark] .login-microsoft{background:var(--login-ms-dark);border-color:var(--white);color:var(--white)}
.login-microsoft:hover{box-shadow:0 0 0 2px var(--login-line)}
.login-continuar{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;margin-bottom:12px;border:1px solid var(--steel);border-radius:var(--radius-control);background:var(--steel);color:var(--white);font-weight:700;font-size:15px;text-decoration:none}
.login-continuar[hidden]{display:none}
.login-continuar:hover{box-shadow:0 0 0 2px var(--login-line)}
.login-ajuda{margin-top:12px;font-size:13px;color:var(--muted)}
.login-acesso{border-top:1px solid var(--login-line);margin-top:28px;padding-top:22px;font-size:12px;color:var(--muted)}
.login-situacao{background:var(--login-tint);border:1px solid var(--field-border);border-radius:var(--radius-control);padding:14px;margin-bottom:20px;font-size:14px;text-align:left}
.login-usuario-senha{margin-top:24px;text-align:left}
.login-usuario-senha h2{font-size:16px}
.login-usuario-senha p{font-size:13px;color:var(--muted);margin-top:8px}
.login-rodape{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;padding:18px 24px 26px;font-size:12px;color:var(--muted)}
.login-rodape nav{display:flex;align-items:center;gap:8px}
.login-rodape button{border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:400;min-height:44px;padding:8px 4px;text-decoration:underline;text-underline-offset:3px}
.login-familia{white-space:nowrap}
.login-pular{position:absolute;top:-200px;left:20px;background:var(--panel);padding:12px;z-index:1}
.login-pular:focus{top:12px}
.pagina-login :is(a,button,select):focus{outline:3px solid var(--focus);outline-offset:4px}
#login-documento{max-width:min(520px,calc(100vw - 32px));padding:28px;border:1px solid var(--field-border);border-radius:var(--radius);background:var(--panel);color:var(--text)}
#login-documento p{margin:20px 0;line-height:1.6}
#login-documento::backdrop{background:var(--backdrop)}
@media(max-width:540px){.login-preferencias{padding:16px;gap:12px}.login-preferencias label{gap:6px}.login-centro{padding:12px 16px 24px}.login-painel{padding:28px 24px}.login-rodape{gap:4px 16px;padding:8px 16px 16px}.login-familia{width:100%;text-align:center}#login-titulo{font-size:27px}}
/* T-0069: os campos seguem a largura disponível, incluindo celular. */
.login-usuario-senha form { display: grid; gap: 10px; text-align: left; }
.login-usuario-senha form[hidden] { display: none; }
.login-usuario-senha label { display: grid; gap: 4px; }
.login-usuario-senha input:not([type=checkbox]) { width: 100%; box-sizing: border-box; min-width: 0; padding: 8px; }
.login-usuario-senha label:has([type=checkbox]) { display: block; }
