/* =====================================================================
   Telas de autenticação (login, esqueceu senha, redefinir senha, etc.)
   Estilo minimalista alinhado à marca Axion: claro, preto/cinza/branco.
   ===================================================================== */

/* Fundo: foto plena */
.login-page {
    position: relative;
    background: #eef1f5 url(/img/bg_login.jpg) center center / cover no-repeat fixed !important;
}

/* Card branco clean, sombra suave */
.login-card {
    position: relative;
    z-index: 1;
    border: 1px solid #ebedf1;
    border-radius: 14px;
    box-shadow: 0 12px 44px rgba(23, 33, 54, .10);
    background: #fff;
}

.login-logo { max-height: 44px; width: auto; }

.login-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: #1a1d24;
    margin-bottom: .15rem;
}

.login-subtitle {
    font-size: .875rem;
    color: #9aa1ad;
    margin-bottom: 1.6rem;
}

/* Ícone de destaque das telas de confirmação (envelope, etc.) */
.auth-icon {
    font-size: 46px;
    color: #1a1d24;
    line-height: 1;
}
.auth-icon.auth-icon-success { color: #28a745; }

/* Botão primário das telas de auth: grafite/preto sólido (cor do logo) */
.login-card .btn-login {
    background: #1a1d24;
    border: none;
    color: #fff;
    font-weight: 600;
    letter-spacing: .02em;
    padding: .7rem 1rem;
    border-radius: 9px;
    transition: background .15s ease, transform .15s ease;
}
.login-card .btn-login:hover:not(:disabled),
.login-card .btn-login:focus {
    background: #000;
    color: #fff;
    transform: translateY(-1px);
}
.login-card .btn-login:disabled { opacity: .55; }

.login-footer { opacity: .5; max-height: 22px; }
.login-footer-img { max-height: 22px; width: auto; }

/* ---------------------------------------------------------------------
   Floating label nas telas de auth: o tema (.do-float, via app.js) só
   sobe o label em focus/keyup. O autofill do navegador preenche o input
   sem disparar esses eventos, então o label fica sobreposto ao valor.
   Replicamos aqui o MESMO estado "flutuado" do tema
   (top:-8px; font-size:10px; font-weight:400; opacity:.5 — ver
   scss/forms/_input-material.scss) para dois casos, escopados ao card de
   login para não afetar o restante do app:
     1. :-webkit-autofill  -> Chrome/Edge preencheram o campo
     2. :not(:placeholder-shown) -> o campo tem conteúdo (exige
        placeholder=" " nos inputs; com placeholder vazio o estado normal
        de campo em branco continua mostrando o label no lugar).
   --------------------------------------------------------------------- */
.login-card .form-type-material .form-control:not(:placeholder-shown) ~ label {
    top: -8px !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    opacity: .5;
}
/* Regra separada: navegadores que não conhecem :-webkit-autofill descartam
   apenas esta, sem invalidar a regra de :not(:placeholder-shown) acima. */
.login-card .form-type-material .form-control:-webkit-autofill ~ label {
    top: -8px !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    opacity: .5;
}
