body.tela-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:hsl(var(--bg-side));padding:24px 16px}
.login{width:100%;max-width:360px}
.login-marca{display:flex;align-items:center;gap:10px;margin-bottom:32px}
.login-marca .av{width:32px;height:32px;border-radius:6px;background:hsl(var(--primary));color:#fff;display:flex;align-items:center;justify-content:center}
.login-marca b{display:block;font-size:14px;font-weight:600;line-height:1.2}
.login-marca small{font-size:12px;color:hsl(var(--muted))}
.login h1{font-size:20px;font-weight:600;letter-spacing:-.015em;margin:0}
.login .sub{margin:4px 0 24px}
.login form{display:flex;flex-direction:column}
.login label{font-size:13px;font-weight:500;color:hsl(var(--fg-2));margin:0 0 6px}
.login input{height:38px;border:1px solid hsl(var(--line));border-radius:var(--radius);padding:0 12px;font:inherit;font-size:14px;color:hsl(var(--fg));background:hsl(var(--bg));margin-bottom:16px;transition:border-color .12s,box-shadow .12s}
.login input:focus{outline:none;border-color:hsl(var(--primary)/.6);box-shadow:0 0 0 3px hsl(var(--primary)/.12)}
.login input[aria-invalid="true"]{border-color:hsl(var(--cr)/.6)}
.login .erro{min-height:20px;margin:-4px 0 12px;font-size:13px;color:hsl(var(--cr))}
.login .btn.pri{height:38px;justify-content:center;font-size:14px}
.login .btn.pri:disabled{opacity:.6}
.login .rodape{margin-top:28px;font-size:12px;color:hsl(var(--muted))}
.login code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:hsl(var(--line-2));padding:1px 5px;border-radius:4px;color:hsl(var(--fg-2))}
