/*
    Estilos responsivos + visual das telas de login (login.xhtml e login-seguro.xhtml,
    que compartilham a mesma estrutura ui-grid/ui-grid-responsive do PrimeFaces).
    Mesma estrategia/breakpoint do cadastro.css (max-width: 640px, unico ponto de
    quebra). Nao mexe no sistema.css compartilhado.

    --corAssessoria: cada pagina define o valor (login.xhtml usa a cor dinamica da
    assessoria, login-seguro.xhtml usa o vermelho admin fixo) num <style> inline no
    <head>, igual o cadastro.css faz com a mesma variavel — precisa de EL pra pegar
    a cor em tempo de render. O valor abaixo e so fallback caso a pagina nao defina.
*/
:root {
    --corAssessoria: #49A2E7;
}

/* !important nas propriedades que colidem com classes do PrimeFaces (.ui-grid,
   .ui-grid-row, .ui-grid-col-N) presentes no mesmo elemento — mesma especificidade
   (uma classe), quem ganha é so a ordem de carregamento no <head>, entao sem
   !important o componentes.css do PrimeFaces pode vencer silenciosamente. */
.login-card {
    max-width: 800px;
    margin: 10% auto !important;
    background: #fff;
    border-radius: 16px;
    border: none !important;
    box-shadow: 0 1px 2px rgba(21, 26, 17, .06), 0 16px 40px -20px rgba(21, 26, 17, .28);
    text-align: center;
}

.login-row-principal {
    min-height: 280px !important;
}

.login-logo-img {
    margin-top: 15%;
    max-width: 300px;
    max-height: 180px;
}

.login-form-inner {
    margin: 10% auto 0;
    width: 90%;
    padding: 10px;
    border-left: 1px solid #e2e7db;
    box-sizing: border-box;
}

/* Inputs: reset do visual datado do tema Bootstrap do PrimeFaces (cinza, cantos
   retos), mesmo tratamento do cadastro.css, foco na cor da assessoria. */
.login-card input.ui-inputfield {
    border: 1.5px solid #e2e7db !important;
    border-radius: 9px !important;
    background: #f8faf6 !important;
    box-shadow: none !important;
    padding: .6rem .75rem !important;
    font-size: .9rem;
    color: #151a11;
    transition: border-color .15s ease, background-color .15s ease;
}
.login-card input.ui-inputfield:focus {
    border-color: var(--corAssessoria) !important;
    background: #fff !important;
    outline: none;
}
.login-card .ui-chkbox-box {
    border-radius: 5px !important;
}
.login-card .ui-chkbox-box.ui-state-active {
    background: var(--corAssessoria) !important;
    border-color: var(--corAssessoria) !important;
}

.login-btn-entrar.ui-button {
    min-width: 150px !important;
    height: 40px !important;
    background: #f2f4ef !important;
    border-color: #e2e7db !important;
    color: #151a11 !important;
    border-radius: 9px !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transition: filter .15s ease;
}
.login-btn-entrar.ui-button:hover {
    filter: brightness(.97);
}

.login-acoes-secundarias {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
}

.login-btn-registrar.ui-button {
    width: 220px !important;
    background: #eef7ee !important;
    border-color: #cfe8cf !important;
    color: #2e7d32 !important;
    border-radius: 9px !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transition: filter .15s ease;
}
.login-btn-registrar.ui-button:hover {
    filter: brightness(.97);
}

.login-bar-rodape {
    padding: 10px !important;
    min-height: 40px !important;
    text-align: left;
}

.login-col-logo-sisrun {
    text-align: right;
    margin-top: 7px !important;
}

@media (max-width: 640px) {
    .login-card {
        margin: 6% 4% !important;
    }
    .login-row-principal {
        min-height: 0 !important;
    }
    .login-bar-rodape {
        text-align: center;
    }
    .login-logo-img {
        margin-top: 6%;
        max-width: 200px;
        max-height: 120px;
    }
    .login-form-inner {
        margin-top: 4%;
        width: 100%;
        padding: 15px 20px;
        border-left: none;
    }
    .login-btn-registrar.ui-button {
        width: 100% !important;
    }
    .login-col-logo-sisrun {
        text-align: center;
        margin-top: 10px !important;
    }
}
