


.filtros-style .form-group {
    margin-bottom: 0;
}

.filtros-style label,
.filtros-style .form-label {
    margin-bottom: .25rem;
    font-weight: 600;
}

@media (max-height: 768px) {
    .filtros-style label,
    .filtros-style .form-label {
        margin-bottom: .15rem;
    }

    .filtros-style .form-control-sm,
    .filtros-style .form-select-sm {
        min-height: calc(1.5em + .5rem + 2px);
        padding-top: .2rem;
        padding-bottom: .2rem;
    }
}

@media (max-height: 720px) {
    .filtros-style .form-group {
        margin-bottom: .15rem;
    }

    .filtros-style label,
    .filtros-style .form-label {
        font-size: .82rem;
    }

    .filtros-style .form-control-sm,
    .filtros-style .form-select-sm {
        font-size: .82rem;
        padding-top: .15rem;
        padding-bottom: .15rem;
    }
}

.filtros-style .btn.btn-sm {
    padding: .15rem .4rem;
    font-size: .8rem;
    line-height: 1.2;
    margin-top: -6px;
}





/* Garante visibilidade das classes de validação Bootstrap dentro de modais */
.modal .form-control.is-invalid,
.form-control.is-invalid {
    border-color: #e74a3b !important;
    box-shadow: 0 0 0 0.2rem rgba(231, 74, 59, 0.25) !important;
}

.modal .form-control.is-valid,
.form-control.is-valid {
    border-color: #1cc88a !important;
    box-shadow: 0 0 0 0.2rem rgba(28, 200, 138, 0.25) !important;
}

/* Container principal */

.border-total {
    border: 1px solid rgb(215, 217, 224) !important;
    vertical-align: middle !important;
}

.border-down {
    border: 1px solid rgb(215, 217, 224) !important;
    border-bottom-color: currentColor !important;
    vertical-align: middle !important;
}

/* ===========================
   MENU SIDEBAR RESPONSIVO - MOBILE
   ========================== */
@media (max-width: 1080px) {

    /* Wrapper como flex-row: sidebar e conteúdo lado a lado */
    #wrapper {
        display: flex !important;
        flex-direction: row !important;
        width: 100% !important;
        min-height: 100vh !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
        overflow-x: hidden !important;
    }

    /* Sidebar: começa com largura 0, sem overflow — invisível */
    #accordionSidebar {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        height: auto !important;
        min-height: 100vh !important;
        width: 0 !important;
        min-width: 0 !important;
        z-index: 100 !important;
        overflow: hidden !important;
        flex-shrink: 0 !important;
        transition: width 0.3s ease, min-width 0.3s ease !important;
        padding-top: 0 !important;
    }

        /* Sidebar aberto: ganha largura e empurra o conteúdo */
        #accordionSidebar.sidebar-mobile-open {
            width: 200px !important;
            min-width: 200px !important;
            overflow-y: auto !important;
        }

        /* Links do sidebar */
        #accordionSidebar .nav-item .nav-link {
            padding: 0.4rem 0.75rem !important;
            width: 200px !important;
            display: flex !important;
            align-items: center !important;
            text-align: left !important;
            box-sizing: border-box !important;
            white-space: nowrap !important;
        }

            /* Ícone */
            #accordionSidebar .nav-item .nav-link i {
                font-size: 0.8rem !important;
                margin-right: 0.4rem !important;
                min-width: 16px !important;
                flex-shrink: 0 !important;
            }

            /* Texto sempre visível */
            #accordionSidebar .nav-item .nav-link span,
            #accordionSidebar .nav-item .nav-link .span-li {
                font-size: 0.75rem !important;
                display: inline !important;
                white-space: nowrap !important;
                overflow: hidden !important;
                text-overflow: ellipsis !important;
            }

        /* Cabeçalhos de grupo */
        #accordionSidebar .sidebar-heading {
            font-size: 0.6rem !important;
            padding: 0.4rem 0.75rem 0.15rem !important;
            text-align: left !important;
            white-space: nowrap !important;
        }

        /* Divisores */
        #accordionSidebar hr.sidebar-divider {
            margin: 0.25rem 0.75rem !important;
        }

        /* Logo */
        #accordionSidebar .sidebar-brand {
            padding: 0.5rem !important;
            height: auto !important;
            white-space: nowrap !important;
        }

            #accordionSidebar .sidebar-brand img {
                max-height: 60px !important;
            }

    /* Content-wrapper encolhe automaticamente ao lado do sidebar */
    #content-wrapper {
        flex: 1 1 0% !important;
        min-width: 0 !important;
        width: 0 !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        transition: width 0.3s ease !important;
        overflow-x: hidden !important;
    }

    /* Topbar estica com o content-wrapper */
    .topbar {
        width: 100% !important;
        margin-left: 0 !important;
    }

    /* Sem overlay — o sidebar empurra, não sobrepõe */
    #sidebarOverlay {
        display: none !important;
    }

    /* Botão hambúrguer visível */
    #sidebarToggleTop {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #333 !important;
        font-size: 1.2rem !important;
    }
}

@media (min-width: 1081px) {
    #sidebarToggleTop {
        display: none !important;
    }

    #sidebarOverlay {
        display: none !important;
    }
}

label {
    margin-bottom: 0rem;
}

.container-fluid {
    background-color: #fff;
    border-radius: 6px;
    padding: 0px;
    margin-top: -22px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.simulacao-page {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    padding-top: 0.3rem !important;
}

.simulacao-page .form-row {
    align-items: flex-end;
}

    .container-fluid mt-3 {
        padding: 3px;
    }

/* Título */
h4 {
    font-weight: 600;
    color: #333;
}

/* Filtros */
.btn-li-filtro {
    margin-left: 43px;
}

.d-flex input,
.d-flex select {
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
}

.btn-warning {
    background-color: #f4c300;
    color: #000;
    font-weight: 600;
    border-radius: 4px;
}

.btn-secondary {
    background-color: #e0e0e0;
    color: #333;
    font-weight: 500;
}

.btn-dark {
    background-color: #333;
    color: #fff;
    font-weight: 600;
    border-radius: 4px;
}

/* Tabela */
.table {
    font-size: 14px;
}

    .table thead th {
        background-color: #f8f8f8;
        color: #333;
        font-weight: 600;
        border-bottom: 1px solid #ddd;
    }

    .table tbody tr:nth-child(even) {
        background-color: #f9f9f9;
    }

    .table tbody td {
        padding: 8px 12px;
    }

/* Ícones */
.fa-edit {
    color: #333;
    cursor: pointer;
}

/* Paginação */
.pagination .page-link {
    color: #000;
    border-radius: 4px;
    margin: 0 2px;
    border: 1px solid #ddd;
}

.pagination .active .page-link {
    background-color: #f4c300;
    color: #000;
    border-color: #f4c300;
}

.pagination .disabled .page-link {
    color: #999;
    pointer-events: none;
    background-color: #f1f1f1;
}

/* Texto informativo */
.text-muted {
    font-size: 13px;
    color: #666;
}


html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

/*body {
  margin-bottom: 60px;
}*/
table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > th:first-child:before {
    top: 15px !important;
    left: 4px;
    height: 14px;
    width: 14px;
    display: block;
    position: absolute;
    color: #212529 !important;
    border: 2px solid #f6c23e !important;
    border-radius: 14px;
    box-shadow: 0 0 3px #444;
    box-sizing: content-box;
    text-align: center;
    text-indent: 0 !important;
    font-family: "Courier New", Courier, monospace;
    line-height: 14px;
    content: "+";
    background-color: #f6c23e !important;
    font-weight: bolder;
    font-size: 21px;
}

table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before {
    content: "-";
    background-color: #f6c23e !important;
}


/* Container geral */
.datepicker {
    width: auto;
    min-width: 260px; /* largura mínima para caber 7 colunas */
    max-width: 280px; /* ainda compacto */
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 4px;
    font-family: 'Segoe UI', Arial, sans-serif;
    z-index: 1040;
}

    /* Ajusta tabela para ocupar toda largura */
    .datepicker table {
        width: 100%;
        table-layout: fixed; /* distribui colunas igualmente */
    }

    .datepicker td, .datepicker th {
        white-space: nowrap; /* evita quebra */
    }

    /* Cabeçalho (mês/ano) */
    .datepicker .datepicker-switch {
        font-size: 14px;
        padding: 4px 0;
        text-align: center;
        font-weight: bold;
    }

    /* Botões de navegação */
    .datepicker .prev,
    .datepicker .next {
        font-size: 14px;
        padding: 4px;
        cursor: pointer;
    }

    /* Dias normais */
    .datepicker table tr td.day {
        height: 28px;
        line-height: 28px;
        font-size: 13px;
        text-align: center;
        border-radius: 4px;
        transition: background-color 0.2s ease;
    }

        .datepicker table tr td.day:hover {
            background-color: #ffe680 !important;
            color: #000 !important;
        }

    /* Dia selecionado */
    .datepicker table tr td.active,
    .datepicker table tr td.active:hover {
        background-color: #f4c300 !important;
        color: #000 !important;
        font-weight: bold;
        border-radius: 4px;
        background-image: none !important;
    }

    /* Hoje */
    .datepicker table tr td.today {
        border: 1px solid #f4c300;
        border-radius: 4px;
    }

    /* Fora do mês atual */
    .datepicker table tr td.old,
    .datepicker table tr td.new {
        color: #bbb;
    }

    /* Meses e anos */
    .datepicker table tr td span {
        display: inline-block;
        width: 30%;
        height: 36px;
        line-height: 36px;
        font-size: 12px;
        border-radius: 4px;
        margin: 3px auto;
        transition: background-color 0.2s ease;
    }

        .datepicker table tr td span:hover {
            background-color: #ffe680 !important;
            color: #000 !important;
        }

        .datepicker table tr td span.active {
            background-color: #f4c300 !important;
            color: #000 !important;
            font-weight: bold;
            background-image: none !important;
        }

/* =========================
   MEDIA QUERIES PARA MOBILE
   ========================= */
@media (max-width: 480px) {
    .datepicker {
        min-width: 220px;
        max-width: 240px;
        padding: 3px;
    }

        .datepicker .datepicker-switch {
            font-size: 13px;
            padding: 3px 0;
        }

        .datepicker .prev,
        .datepicker .next {
            font-size: 13px;
            padding: 3px;
        }

        .datepicker table tr td.day {
            height: 24px;
            line-height: 24px;
            font-size: 12px;
        }

        .datepicker table tr td span {
            height: 32px;
            line-height: 32px;
            font-size: 11px;
        }
}

/* Se em algum lugar você tem pointer-events:none; num container, remova/ou sobrescreva aqui */
.meu-container-externo-com-overlay {
    pointer-events: auto;
}

/* Título */
h4 {
    font-weight: 600;
    color: #333;
}

/* Filtros */
.btn-li-filtro {
    margin-left: 43px;
}

.d-flex input,
.d-flex select {
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
}

.btn-warning {
    background-color: #f4c300;
    color: #000;
    font-weight: 600;
    border-radius: 4px;
}

.btn-secondary {
    background-color: #e0e0e0;
    color: #333;
    font-weight: 500;
}

.btn-dark {
    background-color: #333;
    color: #fff;
    font-weight: 600;
    border-radius: 4px;
}

/* Tabela */
.table {
    font-size: 14px;
}

    .table thead th {
        background-color: #f8f8f8;
        color: #333;
        font-weight: 600;
        border-bottom: 1px solid #ddd;
    }

    .table tbody tr:nth-child(even) {
        background-color: #f9f9f9;
    }

    .table tbody td {
        padding: 8px 12px;
    }

/* Ícones */
.fa-edit {
    color: #333;
    cursor: pointer;
}

/* Paginação */
.pagination .page-link {
    color: #000;
    border-radius: 4px;
    margin: 0 2px;
    border: 1px solid #ddd;
}

.pagination .active .page-link {
    background-color: #f4c300;
    color: #000;
    border-color: #f4c300;
}

.pagination .disabled .page-link {
    color: #999;
    pointer-events: none;
    background-color: #f1f1f1;
}

/* Texto informativo */
.text-muted {
    font-size: 13px;
    color: #666;
}

html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

/*body {
    margin-bottom: 60px;
}*/

table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > th:first-child:before {
    top: 15px !important;
    left: 4px;
    height: 14px;
    width: 14px;
    display: block;
    position: absolute;
    color: #212529 !important;
    border: 2px solid #f6c23e !important;
    border-radius: 14px;
    box-shadow: 0 0 3px #444;
    box-sizing: content-box;
    text-align: center;
    text-indent: 0 !important;
    font-family: "Courier New", Courier, monospace;
    line-height: 14px;
    content: "+";
    background-color: #f6c23e !important;
    font-weight: bolder;
    font-size: 21px;
}

table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before {
    content: "-";
    background-color: #f6c23e !important;
}


.blur-screen {
    filter: blur(4px);
    transition: filter 0.3s ease;
}



/*.radio-sim-nao {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}*/

/*.radio-sim-nao__option {
    display: flex;
    align-items: center;
    width: 50%;
}*/

.css-radio-input-sim {
    margin-left: -22px !important;
}

.css-radio-input-nao {
    margin-left: -15px !important;
}

.css-radio-label-sim {
    margin-top: 1px !important;
    margin-left: -5px !important;
}

.css-radio-label-nao {
    margin-top: 1px !important;
}
