/* Telas de acesso (login e "esqueci minha senha") */
:root { --ad-red: #c8203f; --ad-red-dark: #a11830; --ad-ink: #1c2030; --ad-muted: #6b7280; }
body { font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif; color: var(--ad-ink); background: #f7f8fb; min-height: 100vh; }

.auth-wrap { max-width: 400px; margin: 0 auto; padding: 3rem 1rem; }
.auth-logo { display: block; margin: 0 auto 1.75rem; width: min(70vw, 280px); height: auto; }
.auth-card { background: #fff; border-radius: 16px; box-shadow: 0 8px 30px rgba(28,32,48,.06); padding: 1.75rem; }
.auth-card h1 { font-size: 1.5rem; font-weight: 700; letter-spacing: -.02em; text-align: center; margin: 0 0 1.5rem; }
.auth-card .alert { border: 0; border-radius: 12px; }

/* rótulos e campos com ícone */
.auth-card .form-label { display: block; font-size: .82rem; font-weight: 600; color: #374151; margin-bottom: .4rem; }
.campo { border-radius: 12px; transition: box-shadow .15s; }
.campo .input-group-text, .campo .form-control, .campo .btn-ver { border-color: #dfe2e8; background: #f9fafc; }
.campo .input-group-text { color: #9aa1ae; border-right: 0; border-radius: 12px 0 0 12px; padding-left: 1rem; }
.campo .form-control { border-left: 0; font-size: 1rem; color: var(--ad-ink); }
.campo .form-control::placeholder { color: #b6bcc8; }
.campo .form-control:focus { box-shadow: none; background: #fff; }
.campo .btn-ver { border-left: 0; color: #9aa1ae; border-radius: 0 12px 12px 0; }
.campo .btn-ver:hover { color: var(--ad-ink); }
.campo:focus-within { box-shadow: 0 0 0 .22rem rgba(200,32,63,.13); }
.campo:focus-within .input-group-text, .campo:focus-within .form-control, .campo:focus-within .btn-ver { border-color: var(--ad-red); background: #fff; }
.campo:focus-within .input-group-text { color: var(--ad-red); }

.btn-entrar { background: var(--ad-red); color: #fff; border: 0; border-radius: 12px; font-weight: 600; padding: .8rem 1rem; box-shadow: 0 8px 18px rgba(200,32,63,.22); }
.btn-entrar:hover, .btn-entrar:focus { background: var(--ad-red-dark); color: #fff; }
.auth-link { color: var(--ad-muted); font-size: .9rem; text-decoration: none; }
.auth-link:hover { color: var(--ad-red); }

/* "Manter conectado" */
.manter { font-size: .92rem; color: #374151; }
.manter .form-check-input { cursor: pointer; border-color: #c9ced8; }
.manter .form-check-input:checked { background-color: var(--ad-red); border-color: var(--ad-red); }
.manter .form-check-input:focus { border-color: var(--ad-red); box-shadow: 0 0 0 .22rem rgba(200,32,63,.13); }
.manter .form-check-label { cursor: pointer; }