/**
 * Tema do shell (Bootstrap 5) — cores herdadas do tema anterior
 */
:root {
    --app-primary: #1779ba;
    --app-dark: #0a0a0a;
    --app-panel: #2c3840;
    --app-success: #3adb76;
    --app-warning: #ffae00;
    --app-alert: #cc4b37;
    --app-bg: #ffffff;
    --app-secondary: #767676;
}

html,
body {
    background: #fff;
    background-color: #fff;
}

.layout-content,
.layout-content #id_div_conteudo {
    background: #fff;
}

/* Títulos de página compactos */
h3, .h3,
h3.ini {
    font-size: 1.375rem;
    line-height: 1.3;
}

@media screen and (min-width: 40em) {
    h3, .h3,
    h3.ini {
        font-size: 1.375rem;
    }
}

:root {
    /* densidade parecida com o BS3 (14px) e cor primária do tema */
    --bs-body-font-size: 0.875rem;
    --bs-primary: #1779ba;
    --bs-primary-rgb: 23, 121, 186;
    --bs-link-color: #1779ba;
    --bs-link-color-rgb: 23, 121, 186;
    --bs-link-hover-color: #14679e;
    --bs-link-hover-color-rgb: 20, 103, 158;
}

.btn-primary {
    --bs-btn-bg: var(--app-primary);
    --bs-btn-border-color: var(--app-primary);
    --bs-btn-hover-bg: #14679e;
    --bs-btn-hover-border-color: #14679e;
    --bs-btn-active-bg: #125c8d;
    --bs-btn-active-border-color: #125c8d;
    --bs-btn-disabled-bg: var(--app-primary);
    --bs-btn-disabled-border-color: var(--app-primary);
}

.btn-danger {
    --bs-btn-bg: var(--app-alert);
    --bs-btn-border-color: var(--app-alert);
    --bs-btn-hover-bg: #a83b2a;
    --bs-btn-hover-border-color: #a83b2a;
    --bs-btn-active-bg: #a83b2a;
    --bs-btn-active-border-color: #a83b2a;
}

.topMenu1 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background: #fff;
    border: 1px solid #e6e6e6;
}

.topMenu1 > [class*="col-"] {
    float: none;
    display: flex;
    align-items: center;
    min-height: 2.5rem;
}

.topMenu1 .topMenu1-logout {
    flex: 0 0 auto;
    width: auto !important;
    max-width: none;
    justify-content: flex-end;
    padding: 0.35rem 0.75rem;
}

.topMenu1 #logout-main {
    float: none;
    margin: 0;
}

/* Logout compacto (ícone) */
.topMenu1 #logout-main .btn {
    margin: 0;
    padding: 0.4em 0.65em;
    font-size: 0.75rem;
    line-height: 1;
    display: inline-block;
    width: auto;
    min-height: 0;
    text-align: center;
}

.topMenu1 #logout-main .btn .fa {
    margin: 0;
    font-size: 0.85rem;
}

/* Sidebar capped; content takes all remaining viewport width */
.layout-main {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.layout-sidebar,
.layout-sidebar.col-md-3,
.layout-sidebar.col-md-2 {
    flex: 0 0 auto;
    width: auto !important;
    max-width: 260px;
    min-width: 180px;
    box-sizing: border-box;
}

.layout-sidebar.layout-sidebar--narrow {
    max-width: 200px;
}

.layout-content,
.layout-content.col-md-9,
.layout-content.col-md-10 {
    flex: 1 1 0%;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    box-sizing: border-box;
}

.layout-content #id_div_conteudo {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

/* Pages that wrap content in #container / .container must still fill the column */
.layout-content #id_div_conteudo > #container,
.layout-content #id_div_conteudo > .container,
.layout-content #id_div_conteudo .container,
.layout-content #id_div_conteudo #container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

/* Footer below the flex row, full width */
.footer {
    display: block;
    width: 100%;
    clear: both;
    float: none;
    flex: none;
    margin-top: 1rem;
}

.footer .container-fluid,
.footer .container {
    width: 100% !important;
    max-width: none !important;
    text-align: center;
}

.layout-sidebar #sidebar,
.layout-sidebar .sidebar-offcanvas {
    width: 100%;
    max-width: 100%;
}

/* Outer shell always full bleed */

@media screen and (max-width: 639px) {
    .layout-main {
        flex-wrap: wrap;
    }
    .layout-sidebar {
        max-width: 100%;
        width: 100% !important;
        min-width: 0;
        flex: 1 1 100%;
    }
    .layout-content {
        width: 100% !important;
        flex: 1 1 100%;
    }
}

#sidebar .nav a {
    color: #0a0a0a;
}

/* Item ativo do menu — barra suave à esquerda, sem fundo */
#sidebar .nav > li > a.btn-link,
#sidebar .nav > li > a {
    position: relative;
    display: block !important;
    text-align: left !important;
    padding: 0.65rem 0.5rem 0.65rem 0.65rem !important;
    line-height: 1.35 !important;
}

#sidebar .nav > li.is-active > a,
#sidebar .nav > li > a.is-active {
    color: var(--app-primary);
    background: transparent;
    font-weight: 600;
}

#sidebar .nav > li.is-active > a::before,
#sidebar .nav > li > a.is-active::before {
    content: "";
    position: absolute;
    top: 18%;
    left: 0;
    bottom: 18%;
    width: 3px;
    background: var(--app-primary);
    border-radius: 0 2px 2px 0;
}

.layout-page {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

/*
 * Botões — NÃO altera inputs (styles.css: height 30px).
 * Linha do form alinha pela base → lupa fica na altura do input.
 * Lupa = quadrado 30×30. Demais botões = largura auto, sem margin extra.
 */

/* Alinha colunas pela base (label+input vs só botão/lupa) */
#id_div_conteudo .classForm .row,
#id_div_conteudo #formContainer .row,
.layout-content .classForm .row,
.layout-content #formContainer .row,
.classForm .row,
#formContainer .row {
    align-items: flex-end;
}

/* Label spacer vazio — some (alinhamento vem do flex-end) */
#id_div_conteudo .classForm label:empty,
.layout-content .classForm label:empty,
.classForm label:empty {
    display: none !important;
}

/* .buscar / lupa: altura = input 30px (styles.css) */

#id_div_conteudo .classForm .btn.buscar,
#id_div_conteudo #formContainer .btn.buscar {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    width: auto !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box !important;
    vertical-align: bottom;
}

/* LUPA (ícone search): quadrado 30×30 + ícone menor */
#id_div_conteudo .buscar:has(.fa-search),
#id_div_conteudo .buscar:has(.glyphicon-search),
#id_div_conteudo #formContainer .buscar:has(.fa-search),
.layout-content .buscar:has(.fa-search),
.layout-content .buscar:has(.glyphicon-search),
.classForm .buscar:has(.fa-search),
.classForm .buscar:has(.glyphicon-search),
#formContainer .buscar:has(.fa-search),
#formContainer .buscar:has(.glyphicon-search) {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    padding: 0 !important;
}

#id_div_conteudo .buscar:has(.fa-search) .fa,
#id_div_conteudo .buscar:has(.glyphicon-search) .glyphicon,
.classForm .buscar .fa-search,
.classForm .buscar .glyphicon-search,
#formContainer .buscar .fa-search,
#formContainer .buscar .glyphicon-search {
    font-size: 12px !important;
    line-height: 1 !important;
    margin: 0 !important;
}

/* Botão + (incluir procedimento) — mesma altura */
#id_div_conteudo #btnIncluiProc,
#formContainer #btnIncluiProc,
.classForm #btnIncluiProc {
    margin: 0 !important;
    height: 30px !important;
    min-height: 30px !important;
    width: 30px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box !important;
}

/* Grupo de ações ao lado do input (info / Carência / Alterar Dados) */
#id_div_conteudo .classForm .form-actions-inline,
.layout-content .classForm .form-actions-inline,
.classForm .form-actions-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    min-height: 30px;
}

.classForm .form-actions-inline .btn,
.classForm .form-actions-inline #infoBenef {
    margin: 0 !important;
}

/* Alterar Dados — uma linha, mesma altura */
#id_div_conteudo .classForm #infoBenef,
.layout-content .classForm #infoBenef,
.classForm #infoBenef,
#infoBenef.btn {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    white-space: nowrap !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box !important;
    vertical-align: bottom;
}

/* Info (i) no grupo: quadrado 30×30 */
.classForm .form-actions-inline #btnGuiasSol {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    padding: 0 !important;
}

/* Alertas de procedimentos / carência — mesma largura */
#id_div_conteudo #resposta,
#id_div_conteudo #respostaCar,
.layout-content #resposta,
.layout-content #respostaCar {
    width: 100%;
    clear: both;
}

#id_div_conteudo #resposta > [class*="col-"],
#id_div_conteudo #respostaCar > [class*="col-"],
.layout-content #resposta > [class*="col-"],
.layout-content #respostaCar > [class*="col-"] {
    width: 100% !important;
    max-width: 100%;
    float: none;
}

.badge-com-notif {
    background-color: var(--app-alert);
    color: #fff;
}

.badge-sem-notif {
    background-color: var(--app-secondary);
    color: #fff;
}
