/* =====================================================================
   Telas de acesso fora do sistema (recuperar e redefinir senha).
   Visual simples e centrado, no mesmo tom escuro do login.
   ===================================================================== */

.tela-acesso {
    min-height: 100vh;
    margin: 0;
    display: grid;
    place-items: center;
    padding: 26px;
    background:
        radial-gradient(circle at 18% 18%, rgba(0,212,255,.18), transparent 42%),
        radial-gradient(circle at 82% 82%, rgba(0,201,123,.14), transparent 45%),
        linear-gradient(135deg, #060b14, #0b1626);
    color: #e8eefc;
    font-family: "Segoe UI", system-ui, sans-serif;
}

.cartao-acesso {
    width: min(440px, 100%);
    background: #fff;
    color: #172033;
    border-radius: 22px;
    padding: 38px 34px;
    box-shadow: 0 24px 60px rgba(0,0,0,.4);
    text-align: center;
}

.cartao-acesso .marca { max-height: 74px; margin: 0 auto 18px; display: block; }

.cartao-acesso .marca-texto {
    width: 62px; height: 62px; margin: 0 auto 18px;
    border-radius: 18px;
    background: linear-gradient(135deg, #00d4ff, #00c97b);
    color: #07111f;
    display: grid; place-items: center;
    font-weight: 900; font-size: 20px;
}

.cartao-acesso h1 { font-size: 23px; margin: 0 0 8px; letter-spacing: -.02em; }
.cartao-acesso .ajuda { color: #64748b; font-size: 14px; margin: 0 0 24px; line-height: 1.55; }

.cartao-acesso .campo { text-align: left; margin-bottom: 16px; }
.cartao-acesso label { display: block; font-size: 12.5px; font-weight: 700; color: #475569; margin-bottom: 6px; }

.cartao-acesso input {
    width: 100%;
    padding: 13px 14px;
    border: 1.5px solid #d7dfea;
    border-radius: 12px;
    font-family: inherit;
    font-size: 15px;
    color: #172033;
    background: #f8fafc;
}

.cartao-acesso input:focus { outline: none; border-color: #0369a1; background: #fff; }

.botao-principal {
    width: 100%;
    padding: 14px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, #0f7b4f, #0a5738);
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    transition: filter .15s, transform .12s;
}

.botao-principal:hover { filter: brightness(1.08); transform: translateY(-1px); }
.botao-principal:disabled { opacity: .55; cursor: not-allowed; transform: none; }

.recado {
    text-align: left;
    border-radius: 13px;
    padding: 14px 16px;
    font-size: 13.5px;
    line-height: 1.55;
    margin-bottom: 20px;
}

.recado.ok { background: #e7f8ef; border: 1.5px solid #9fdcbb; color: #0a5738; }
.recado.erro { background: #fdecec; border: 1.5px solid #f3b6b6; color: #9b1c1c; }
.recado.destaque { background: #fff7e0; border: 1.5px solid #f5d382; color: #7a5600; }
.recado a { color: inherit; font-weight: 800; text-decoration: underline; }

.cartao-acesso .nota {
    margin-top: 18px;
    font-size: 12.5px;
    color: #64748b;
    line-height: 1.55;
    text-align: left;
    background: #f1f5f9;
    border-radius: 11px;
    padding: 12px 14px;
}

.cartao-acesso .rodape-acesso { margin-top: 22px; font-size: 13px; color: #64748b; }
.cartao-acesso .rodape-acesso a { color: #0369a1; font-weight: 700; text-decoration: none; }

.forca-senha { height: 6px; border-radius: 999px; background: #e2e8f0; overflow: hidden; margin-top: 9px; }
.forca-senha span { display: block; height: 100%; width: 0; border-radius: 999px; transition: width .25s, background .25s; }
.forca-texto { font-size: 12px; color: #64748b; margin-top: 6px; text-align: left; }

.regras-senha { text-align: left; font-size: 12.5px; color: #64748b; margin: 0 0 18px; padding-left: 18px; }
.regras-senha li { margin-bottom: 4px; }
