.main-content {
    margin-top: 0.5rem;
}

/* ========================================================= */
/* Modo Escuro */
/* ========================================================= */

.app-breadcrumb,
.breadcrumb,
.page-breadcrumb,
.subheader {
    background-color: transparent !important;
}

.subheader-title {
    color: var(--bs-body-color, inherit) !important;
}

nav.bg-body[aria-label="breadcrumb"],
div[data-controller="menu-hub"] > .bg-body.border-bottom {
    background-color: transparent !important;
}

div[data-controller="menu-hub"] h1,
div[data-controller="menu-hub"] .text-dark {
    color: var(--bs-body-color, inherit) !important;
}

/* ========================================================= */
/* Sidebar Recolhida - Quadrados e Expansão Total NATIVA     */
/* ========================================================= */

.set-nav-minified #js-primary-nav:not(:hover) .nav-link-text,
.nav-function-minify #js-primary-nav:not(:hover) .nav-link-text {
    display: none !important;
}

.set-nav-minified #js-primary-nav:not(:hover) .nav-icon,
.nav-function-minify #js-primary-nav:not(:hover) .nav-icon,
.set-nav-minified #js-primary-nav:not(:hover) .nav-icon > *,
.nav-function-minify #js-primary-nav:not(:hover) .nav-icon > * {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
}

.set-nav-minified #js-primary-nav:not(:hover) li,
.nav-function-minify #js-primary-nav:not(:hover) li {
    display: flex !important;
    justify-content: flex-start !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.set-nav-minified #js-primary-nav:not(:hover) .nav-link,
.nav-function-minify #js-primary-nav:not(:hover) .nav-link {
    padding: 0 !important;
    gap: 0 !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    flex: 0 0 44px !important;
    margin: 4px 0 4px -18px !important;
    justify-content: center !important;
    align-items: center !important;
    border-radius: 10px !important;
    position: static !important;
}

.is-required {
  border-left: 3px solid #dc3545;
}


.flatpickr-input[readonly] {
  display: none !important;
}
.flatpickr-input.form-control.input {
  display: block !important;
}

/* Datatables: header e body centralizados */
table.dataTable thead > tr > th,
table.dataTable thead > tr > td {
  text-align: center !important;
}
table.dataTable thead > tr > th .dt-column-title,
table.dataTable thead > tr > td .dt-column-title {
  text-align: center;
}
table.dataTable thead > tr > th div.dt-column-header,
table.dataTable thead > tr > td div.dt-column-header {
  position: relative;
  justify-content: center;
}
table.dataTable thead > tr > th div.dt-column-header .dt-column-order,
table.dataTable thead > tr > td div.dt-column-header .dt-column-order {
  position: absolute;
  right: 0;
}
table.dataTable tbody > tr > td {
  text-align: center !important;
}
/* Override por coluna (Column align:) — precisa de !important + classe p/ vencer
   o center !important acima. dt-align-* vem do datatable_columns_config. */
table.dataTable tbody > tr > td.dt-align-start {
  text-align: left !important;
}
table.dataTable tbody > tr > td.dt-align-end {
  text-align: right !important;
}
table.dataTable tbody > tr > td.dt-align-center {
  text-align: center !important;
}