/* P14 · telas de entrada (US1): entrar, escolher o ambiente, termos e criar a senha. */
@font-face { font-family: Inter; src: url(../fonts/inter/inter-Regular.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: Inter; src: url(../fonts/inter/inter-Medium.woff2) format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: Inter; src: url(../fonts/inter/inter-SemiBold.woff2) format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: Inter; src: url(../fonts/inter/inter-Bold.woff2) format("woff2"); font-weight: 700; font-display: swap; }
:root { --au-bg: #F6F6F4; --au-sf: #fff; --au-bd: #E4E4E0; --au-tx: #24262A; --au-mu: #6B6F76; --au-soft: #F0F0ED; --au-ob: #2C2A29;
        --au-ac: var(--fc-primary, #A9895D); --au-ac-dk: var(--fc-primary-dark, #7A5C33); --au-ac-lt: #F4EEE5; }
* { box-sizing: border-box; }
body.au { margin: 0; background: var(--au-bg); font-family: Inter, system-ui, sans-serif; color: var(--au-tx); font-size: 14px; line-height: 1.45; }
.au input, .au select, .au button, .au textarea { font-family: inherit; }
.au-lg { display: flex; flex-wrap: wrap; min-height: 100vh; }
.au-lp { flex: 1 1 420px; background: var(--au-ob); color: #fff; padding: 48px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.au-rp { flex: 1.3 1 520px; padding: 48px; display: flex; flex-direction: column; gap: 22px; justify-content: center; max-width: 760px; }
.au-logo { max-height: 46px; max-width: 220px; object-fit: contain; }
.au-logo-txt { letter-spacing: .3em; font-size: 22px; color: #D9C4A0; font-weight: 600; }
.au-card { background: #fff; color: var(--au-tx); border-radius: 14px; padding: 26px; max-width: 380px; width: 100%; margin-top: 36px; }
.au-card h2 { font-size: 18px; font-weight: 600; margin: 0 0 4px; }
.au-muted { color: var(--au-mu); }
.au-small { font-size: 12px; }
.au-fld { margin-bottom: 12px; }
.au-fld label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 5px; }
.au-f { width: 100%; min-height: 40px; border: 1px solid var(--au-bd); border-radius: 8px; padding: 8px 11px; font-size: 14px; background: #fff; color: var(--au-tx); }
.au-f:focus { outline: none; border-color: var(--au-ac); box-shadow: 0 0 0 3px rgba(169, 137, 93, .22); }
.au-senha { position: relative; }
.au-senha .au-f { padding-right: 40px; }
.au-olho { position: absolute; right: 4px; top: 4px; width: 32px; height: 32px; border: 0; background: none; color: var(--au-mu); border-radius: 6px; }
.au-olho:focus-visible { outline: 2px solid var(--au-ac); }
.au-obtn { width: 100%; min-height: 42px; border: none; border-radius: 8px; background: var(--au-ac); color: #fff; font-weight: 700; font-size: 14px; cursor: pointer; }
.au-obtn:hover { background: var(--au-ac-dk); }
.au-obtn:focus-visible { outline: 3px solid #D9C4A0; outline-offset: 2px; }
.au-obtn[disabled] { opacity: .6; cursor: default; }
.au-links { margin-top: 12px; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 12px; }
.au-links a { color: var(--au-ac-dk); text-decoration: none; white-space: nowrap; }
.au-links a:hover { text-decoration: underline; }
.au-msg { border-radius: 8px; padding: 9px 12px; font-size: 13px; margin-bottom: 12px; }
.au-msg.erro { background: #F6DED6; color: #8A3B22; }
.au-msg.ok { background: #E3F0E6; color: #2F6B40; }
.au-msg.info { background: #E4ECF4; color: #2E4A66; }
.au-tag { font-size: 11px; font-weight: 600; letter-spacing: .06em; color: var(--au-mu); text-transform: uppercase; }
.au-rp h1 { font-size: 24px; font-weight: 600; margin: 4px 0 0; letter-spacing: -.01em; }
.au-sub { font-size: 13px; color: var(--au-mu); margin-top: 4px; }
.au-env { display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid var(--au-bd); border-radius: 12px; padding: 16px 18px; width: 100%; text-align: left; cursor: pointer; font: inherit; color: inherit; }
.au-env:hover, .au-env:focus-visible { border-color: var(--au-ac); box-shadow: 0 0 0 3px rgba(169, 137, 93, .14); outline: none; }
.au-elog { width: 52px; height: 52px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; color: #fff; flex: none; overflow: hidden; background: var(--au-mu); }
.au-elog img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.au-env .au-go { margin-left: auto; min-height: 36px; padding: 0 14px; border-radius: 8px; border: 1px solid var(--au-bd); background: #fff; font-weight: 600; font-size: 13px; }
.au-env:first-of-type .au-go { background: var(--au-ac); color: #fff; border-color: var(--au-ac); }
.au-lista { display: flex; flex-direction: column; gap: 12px; }
.au-note { background: var(--au-ac-lt); border: 1px solid #E6D8C1; color: #5C4425; border-radius: 10px; padding: 11px 14px; font-size: 13px; }
.au-info { background: #E4ECF4; border: 1px solid #C6D3E0; color: #2E4A66; border-radius: 10px; padding: 11px 14px; font-size: 13px; }
.au-termos { background: #fff; border: 1px solid var(--au-bd); border-radius: 12px; padding: 16px 18px; max-height: 46vh; overflow: auto; white-space: pre-wrap; font-size: 13px; line-height: 1.55; }
.au-chk { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; cursor: pointer; }
.au-chk input { width: 16px; height: 16px; margin-top: 2px; accent-color: var(--au-ac); flex: none; }
.au-regras { list-style: none; padding: 0; margin: 4px 0 10px; font-size: 12px; color: var(--au-mu); display: grid; grid-template-columns: 1fr 1fr; gap: 2px 10px; }
.au-regras li.ok { color: #2F6B40; }
.au-regras li::before { content: "○ "; }
.au-regras li.ok::before { content: "● "; }
.au-pe { color: #BDB6AC; font-size: 12px; }
.au-tema { position: fixed; top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--au-bd); background: #fff; color: var(--au-mu); }
.au-escondido { display: none !important; }
@media (max-width: 760px) {
    .au-lp, .au-rp { padding: 28px 18px; }
    .au-card { margin-top: 18px; max-width: none; }
    .au-rp { max-width: none; }
}
@media (prefers-reduced-motion: no-preference) { .au-msg { animation: au-in .18s ease-out; } @keyframes au-in { from { opacity: 0; transform: translateY(-3px); } } }
/* recuperação de senha: passos, código de 6 dígitos */
.au-passos { list-style: none; display: flex; gap: 6px; padding: 0; margin: 0 0 16px; font-size: 11px; color: var(--au-mu); }
.au-passos li { flex: 1; display: flex; align-items: center; gap: 6px; padding-top: 8px; border-top: 3px solid var(--au-bd); }
.au-passos li span { width: 18px; height: 18px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--au-soft); font-size: 10px; font-weight: 600; }
.au-passos li.atual { border-top-color: var(--au-ac); color: var(--au-tx); font-weight: 600; }
.au-passos li.atual span { background: var(--au-ac); color: #fff; }
.au-passos li.feito { border-top-color: var(--au-ac-dk); }
.au-passos li.feito span { background: var(--au-ac-lt); color: var(--au-ac-dk); }
.au-otp { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin: 4px 0 16px; }
.au-otp-box { width: 44px; height: 50px; border: 1px solid var(--au-bd); border-radius: 8px; text-align: center; font-size: 22px; font-weight: 600; color: var(--au-tx); background: #fff; }
.au-otp-box:focus { outline: none; border-color: var(--au-ac); box-shadow: 0 0 0 3px rgba(169, 137, 93, .22); }
.au-otp-sep { color: var(--au-mu); }
.au-lnk { background: none; border: 0; padding: 0; color: var(--au-ac-dk); font: inherit; font-size: 12px; cursor: pointer; }
.au-lnk:disabled { color: var(--au-mu); cursor: default; }
.au-lnk:hover:not(:disabled) { text-decoration: underline; }
@media (max-width: 400px) { .au-otp-box { width: 38px; height: 46px; font-size: 20px; } }
@media (prefers-reduced-motion: no-preference) { .au-treme { animation: au-treme .4s; } @keyframes au-treme { 20%, 60% { transform: translateX(-5px); } 40%, 80% { transform: translateX(5px); } } }
