/*
  MS+SUS (tema)
  - Este arquivo sobrescreve cores e pequenos detalhes de layout do template.
*/

:root {
  --ms-primary: #0f7a3b;
  --ms-primary-rgb: 15, 122, 59;
  --ms-secondary: #0a4d68;
  --ms-secondary-rgb: 10, 77, 104;
  --ms-bg: #f4f7fb;
  --ms-card-radius: 1rem;
}

html body {
  background-color: var(--ms-bg) !important;
}

/* Links */
a {
  color: var(--ms-secondary);
}
a:hover {
  color: #083b52;
}

/* Botões / badges principais */
.btn-primary,
.bg-primary,
.badge.bg-primary {
  background-color: var(--ms-primary) !important;
  border-color: var(--ms-primary) !important;
}

.btn-outline-primary {
  color: var(--ms-primary) !important;
  border-color: rgba(var(--ms-primary-rgb), .45) !important;
}
.btn-outline-primary:hover {
  background-color: var(--ms-primary) !important;
  border-color: var(--ms-primary) !important;
  color: #fff !important;
}

.text-primary {
  color: var(--ms-primary) !important;
}

.badge-light-primary,
.badge.rounded-pill.badge-light-primary {
  background: rgba(var(--ms-primary-rgb), .14) !important;
  color: var(--ms-primary) !important;
}

/* Menu */
.main-menu.menu-light .navigation > li.active > a {
  background: rgba(var(--ms-primary-rgb), .14) !important;
  color: var(--ms-primary) !important;
}
.main-menu.menu-light .navigation > li ul .active > a {
  color: var(--ms-primary) !important;
}

/* Navbar / sombras */
.header-navbar.navbar-shadow {
  box-shadow: 0 10px 22px rgba(34, 41, 47, .10) !important;
}

/* Cards */
.card {
  border-radius: var(--ms-card-radius) !important;
  box-shadow: 0 10px 22px rgba(34, 41, 47, .08) !important;
  border: 0 !important;
}
.card-header {
  background: linear-gradient(90deg, rgba(var(--ms-primary-rgb), .08), rgba(var(--ms-secondary-rgb), .05)) !important;
}

/* Inputs */
.form-control:focus,
.form-select:focus {
  border-color: rgba(var(--ms-primary-rgb), .55) !important;
  box-shadow: 0 0 0 .2rem rgba(var(--ms-primary-rgb), .12) !important;
}

/* Pequenos detalhes */
.table thead th {
  font-weight: 700;
}

/* Evita ícones feather quebrados em conteúdos carregados via AJAX */
[data-feather] {
  display: none !important;
}

/* MS+SUS - correção global de contraste em textos selecionados, alertas e badges leves.
   Evita o problema de fonte azul sobre fundo azul/claro em telas administrativas e módulos. */
::selection {
  background: #073b63 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
::-moz-selection {
  background: #073b63 !important;
  color: #ffffff !important;
}
.alert-info,
.alert.alert-info {
  color: #06435f !important;
  background-color: #e8f8fc !important;
  border-color: #b8edf6 !important;
}
.alert-info strong,
.alert-info b,
.alert-info a,
.alert.alert-info strong,
.alert.alert-info b,
.alert.alert-info a {
  color: #03364d !important;
}
.alert-primary,
.alert.alert-primary {
  color: #063a63 !important;
  background-color: #eaf4ff !important;
  border-color: #c8e2fb !important;
}
.badge-light-info,
.badge.rounded-pill.badge-light-info {
  color: #07506c !important;
  background-color: #dff7ff !important;
}
.badge-light-primary,
.badge.rounded-pill.badge-light-primary {
  color: #073b63 !important;
  background-color: #eaf4ff !important;
}
.text-info {
  color: #07506c !important;
}
.bg-info.text-info,
.bg-primary.text-primary,
.alert-info.text-info,
.alert-primary.text-primary {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* ========================================================================
   MS+SUS — tema Dia/Noite refinado (menu + contraste de módulos)
   Ajuste: 2026-05-25
   Objetivo: no tema claro, o menu volta ao padrão claro do sistema;
   no tema escuro, somente o que precisa escurece. As cores de indicadores,
   bordas superiores e badges são preservadas.
   ======================================================================== */
:root,
html.light-layout {
  --mssus-light-bg: #f4f7fb;
  --mssus-light-surface: #ffffff;
  --mssus-light-border: #e8edf7;
  --mssus-light-text: #4b5563;
  --mssus-light-title: #1f2937;
  --mssus-light-muted: #64748b;
}

html.dark-layout {
  --mssus-dark-bg: #111827;
  --mssus-dark-surface: #283046;
  --mssus-dark-surface-2: #1f2937;
  --mssus-dark-surface-3: #24304a;
  --mssus-dark-border: #3b4253;
  --mssus-dark-text: #d0d2d6;
  --mssus-dark-title: #f5f7fb;
  --mssus-dark-muted: #b4b7bd;
  color-scheme: dark;
}

html.light-layout body,
html.light-layout .app-content,
html.light-layout .content-wrapper,
html.light-layout .content-body {
  background-color: var(--mssus-light-bg) !important;
}

html.dark-layout body,
html.dark-layout .app-content,
html.dark-layout .content-wrapper,
html.dark-layout .content-body {
  background-color: var(--mssus-dark-bg) !important;
}

/* Barra superior principal: clara no tema dia, escura no tema noite. */
html.light-layout .header-navbar:not(.navbar-horizontal),
html.light-layout body .header-navbar:not(.navbar-horizontal).navbar-light {
  background: #ffffff !important;
  color: #5e5873 !important;
  border-color: rgba(15,23,42,.06) !important;
  box-shadow: 0 4px 20px rgba(15,23,42,.06) !important;
}
html.dark-layout .header-navbar:not(.navbar-horizontal),
html.dark-layout body .header-navbar:not(.navbar-horizontal).navbar-dark {
  background: #1f2937 !important;
  color: var(--mssus-dark-text) !important;
  border-color: var(--mssus-dark-border) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.28) !important;
}
html.dark-layout .header-navbar:not(.navbar-horizontal) .navbar-nav .nav-link,
html.dark-layout .header-navbar:not(.navbar-horizontal) .navbar-nav .nav-link svg,
html.dark-layout .header-navbar:not(.navbar-horizontal) .user-name,
html.dark-layout .header-navbar:not(.navbar-horizontal) .user-status {
  color: var(--mssus-dark-text) !important;
  stroke: var(--mssus-dark-text) !important;
}

/* Cartões e componentes próprios no modo noite. Sem tocar em bordas coloridas/top borders. */
html.dark-layout .card,
html.dark-layout .ms-card,
html.dark-layout .vat-card,
html.dark-layout .ms-kpi,
html.dark-layout .kpi-card,
html.dark-layout .mssus-card,
html.dark-layout .vat-kpi-card,
html.dark-layout .vat-compact-box,
html.dark-layout .vat-comp-detail-box,
html.dark-layout .rib-item,
html.dark-layout .est-item,
html.dark-layout .msmon-detail-box,
html.dark-layout .paps-cov-detail-box,
html.dark-layout .paps-cov-motivo-box,
html.dark-layout .b1-box,
html.dark-layout .b2-box,
html.dark-layout .b3-box,
html.dark-layout .b4-box,
html.dark-layout .b5-box,
html.dark-layout .b6-box,
html.dark-layout .c2-box,
html.dark-layout .c3-box,
html.dark-layout .c4-box,
html.dark-layout .c5-box,
html.dark-layout .c6-box,
html.dark-layout .c7-box,
html.dark-layout .m1-box,
html.dark-layout .r3-box,
html.dark-layout .r4-box,
html.dark-layout .r5-box,
html.dark-layout .r6-box,
html.dark-layout .c2-legend {
  background: var(--mssus-dark-surface) !important;
  color: var(--mssus-dark-text) !important;
  border-color: var(--mssus-dark-border) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.28) !important;
}
html.dark-layout .card-header,
html.dark-layout .vat-compact-head,
html.dark-layout .msmon-toolbar {
  background: var(--mssus-dark-surface-3) !important;
  color: var(--mssus-dark-title) !important;
  border-color: var(--mssus-dark-border) !important;
}
html.dark-layout .kpi-title,
html.dark-layout .kpi-sub,
html.dark-layout .vat-kpi-title,
html.dark-layout .vat-kpi-sub,
html.dark-layout .vat-note,
html.dark-layout .ms-kpi .t,
html.dark-layout .ms-kpi .s,
html.dark-layout .ind-label,
html.dark-layout .ms-sec-h .lbl,
html.dark-layout .ms-sec-h .text-muted,
html.dark-layout .msmon-summary,
html.dark-layout .msmon-muted,
html.dark-layout .c2-legend li {
  color: var(--mssus-dark-muted) !important;
}
html.dark-layout .kpi-value,
html.dark-layout .vat-kpi-value,
html.dark-layout .ms-kpi .v,
html.dark-layout .card-title,
html.dark-layout .content-header-title,
html.dark-layout .c2-legend h4,
html.dark-layout h1,
html.dark-layout h2,
html.dark-layout h3,
html.dark-layout h4,
html.dark-layout h5,
html.dark-layout h6 {
  color: var(--mssus-dark-title) !important;
}
html.dark-layout .text-muted {
  color: var(--mssus-dark-muted) !important;
}

/* Tabelas no modo noite. */
html.dark-layout .table:not(.table-dark) thead th,
html.dark-layout table.dataTable thead th,
html.dark-layout .vat-compact-table thead th,
html.dark-layout .msmon-table thead th,
html.dark-layout .paps-table thead th {
  background: var(--mssus-dark-surface-3) !important;
  color: var(--mssus-dark-title) !important;
  border-color: var(--mssus-dark-border) !important;
}
html.dark-layout .table:not(.table-dark) tbody td,
html.dark-layout .table:not(.table-dark) tbody th,
html.dark-layout table.dataTable td,
html.dark-layout table.dataTable th,
html.dark-layout .vat-compact-table tbody td,
html.dark-layout .msmon-table tbody td,
html.dark-layout .paps-table tbody td {
  background: transparent !important;
  color: var(--mssus-dark-text) !important;
  border-color: var(--mssus-dark-border) !important;
}
html.dark-layout .table-hover tbody tr:hover,
html.dark-layout table.dataTable tbody tr:hover,
html.dark-layout .vat-compact-table tbody tr:hover td {
  background: rgba(255,255,255,.04) !important;
}
html.dark-layout .vat-row-cnes td { background: rgba(125,211,252,.08) !important; }
html.dark-layout .vat-row-ine td { background: rgba(255,255,255,.03) !important; }
html.dark-layout .vat-row-item td { background: transparent !important; }
html.dark-layout .vat-row-extra td { background: rgba(255,255,255,.035) !important; }

/* Formulários no modo noite. */
html.dark-layout .form-control,
html.dark-layout .form-select,
html.dark-layout .input-group-text,
html.dark-layout .select2-container--default .select2-selection--single,
html.dark-layout .select2-container--default .select2-selection--multiple {
  background-color: var(--mssus-dark-surface-2) !important;
  color: var(--mssus-dark-text) !important;
  border-color: var(--mssus-dark-border) !important;
}
html.dark-layout .form-control::placeholder { color: #8f98aa !important; }
html.dark-layout select option { background: var(--mssus-dark-surface-2); color: var(--mssus-dark-text); }

/* Etiquetas/chips neutros no modo noite. As classes de classificação coloridas ficam preservadas. */
html.dark-layout .vat-tag,
html.dark-layout .vat-extra-chip,
html.dark-layout .c2-pill:not([class*="--orange"]):not([class*="--yellow"]):not([class*="--green"]):not([class*="--blue"]),
html.dark-layout .b1-pill,
html.dark-layout .b2-pill,
html.dark-layout .b3-pill,
html.dark-layout .b4-pill,
html.dark-layout .b5-pill,
html.dark-layout .b6-pill {
  background: var(--mssus-dark-surface-2) !important;
  color: var(--mssus-dark-text) !important;
  border-color: var(--mssus-dark-border) !important;
}
html.dark-layout .ms-chip-primary {
  background: rgba(15,122,59,.24) !important;
  color: #4ade80 !important;
}
html.dark-layout .ms-chip-secondary {
  background: rgba(10,77,104,.34) !important;
  color: #7dd3fc !important;
}

/* Botão dia/noite. */
.nav-link-style { cursor: pointer; border-radius: 999px; }
html.light-layout .nav-link-style:hover { background: rgba(0,174,239,.10) !important; }
html.dark-layout .nav-link-style:hover { background: rgba(255,255,255,.08) !important; }

/* ========================================================================
   MS+SUS — refinamento tema noite: tabelas expansíveis e paginação
   Ajuste: 2026-05-25
   Corrige o filete claro em detalhes abertos, paginação, barras de progresso
   e pequenos blocos internos que ainda herdavam fundo branco no modo noturno.
   ======================================================================== */
html.dark-layout .table:not(.table-dark) tbody tr,
html.dark-layout table.dataTable tbody tr,
html.dark-layout .msmon-table tbody tr,
html.dark-layout .paps-table tbody tr,
html.dark-layout .vat-compact-table tbody tr {
  background-color: var(--mssus-dark-surface) !important;
  color: var(--mssus-dark-text) !important;
}
html.dark-layout .table:not(.table-dark) tbody tr > td,
html.dark-layout .table:not(.table-dark) tbody tr > th,
html.dark-layout table.dataTable tbody tr > td,
html.dark-layout table.dataTable tbody tr > th,
html.dark-layout .msmon-table tbody tr > td,
html.dark-layout .paps-table tbody tr > td,
html.dark-layout .vat-compact-table tbody tr > td {
  background-color: transparent !important;
  color: var(--mssus-dark-text) !important;
  border-color: rgba(255,255,255,.075) !important;
}
html.dark-layout .table-hover tbody tr:hover,
html.dark-layout .table-hover tbody tr:hover > td,
html.dark-layout table.dataTable tbody tr:hover,
html.dark-layout table.dataTable tbody tr:hover > td,
html.dark-layout .msmon-click:hover,
html.dark-layout .msmon-click:hover > td,
html.dark-layout .paps-cov-link:hover,
html.dark-layout .paps-cov-link:hover > td,
html.dark-layout .vat-compact-table tbody tr:hover,
html.dark-layout .vat-compact-table tbody tr:hover > td {
  background-color: rgba(255,255,255,.045) !important;
  color: #f8fafc !important;
}

/* Linhas de detalhe abertas: elimina o traço/faixa branca visto entre a linha principal e os cards internos. */
html.dark-layout tr.msmon-details,
html.dark-layout tr.msmon-details.open,
html.dark-layout .msmon-details,
html.dark-layout .msmon-details.open,
html.dark-layout tr.paps-cov-detail,
html.dark-layout tr.paps-cov-detail.open,
html.dark-layout .paps-cov-detail,
html.dark-layout .paps-cov-detail.open,
html.dark-layout tr.vat-row-extra,
html.dark-layout .vat-row-extra {
  background-color: var(--mssus-dark-surface-2) !important;
  color: var(--mssus-dark-text) !important;
}
html.dark-layout tr.msmon-details > td,
html.dark-layout tr.msmon-details.open > td,
html.dark-layout tr.paps-cov-detail > td,
html.dark-layout tr.paps-cov-detail.open > td,
html.dark-layout tr.vat-row-extra > td,
html.dark-layout .vat-row-extra > td {
  background-color: var(--mssus-dark-surface-2) !important;
  color: var(--mssus-dark-text) !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}
html.dark-layout .msmon-detail-grid,
html.dark-layout .paps-cov-detail-table-wrap {
  background: transparent !important;
}
html.dark-layout .msmon-detail-box,
html.dark-layout .paps-cov-detail-box,
html.dark-layout .vat-comp-detail-box {
  background: var(--mssus-dark-surface) !important;
  color: var(--mssus-dark-text) !important;
  border-color: rgba(255,255,255,.10) !important;
}
html.dark-layout .msmon-detail-box strong,
html.dark-layout .paps-cov-motivo-title,
html.dark-layout .paps-cov-mini-kpi span,
html.dark-layout .vat-comp-detail-box strong {
  color: var(--mssus-dark-muted) !important;
}

/* Componentes internos da Cobertura ACS e monitoramentos que ainda vinham claros. */
html.dark-layout .paps-cov-detail-head,
html.dark-layout .paps-cov-motivos,
html.dark-layout .paps-cov-motivos > summary,
html.dark-layout .paps-cov-motivos[open] > summary,
html.dark-layout .paps-cov-motivos-body,
html.dark-layout .paps-cov-motivo-box,
html.dark-layout .paps-cov-mini-kpi,
html.dark-layout .msmon-empty {
  background: var(--mssus-dark-surface-3) !important;
  color: var(--mssus-dark-text) !important;
  border-color: rgba(255,255,255,.10) !important;
}
html.dark-layout .paps-cov-mini-kpi strong,
html.dark-layout .paps-cov-motivo-item,
html.dark-layout .paps-cov-motivo-item span {
  color: var(--mssus-dark-title) !important;
}
html.dark-layout .paps-cov-summary-badge {
  background: rgba(125,211,252,.16) !important;
  color: #7dd3fc !important;
  border: 1px solid rgba(125,211,252,.22) !important;
}
html.dark-layout .msmon-pill,
html.dark-layout .paps-badge,
html.dark-layout .paps-cov-estrutura {
  background: var(--mssus-dark-surface-2) !important;
  color: var(--mssus-dark-text) !important;
  border-color: rgba(255,255,255,.10) !important;
}
html.dark-layout .paps-muted,
html.dark-layout .paps-sub,
html.dark-layout .paps-kpi-label,
html.dark-layout .paps-muted-2,
html.dark-layout .paps-field label {
  color: var(--mssus-dark-muted) !important;
}
html.dark-layout .paps-kpi-value,
html.dark-layout .paps-kpi-value-sm {
  color: var(--mssus-dark-title) !important;
}

/* Tabelas nominais internas. */
html.dark-layout .paps-cov-nominal,
html.dark-layout .paps-cov-nominal thead th,
html.dark-layout .paps-cov-nominal tbody td,
html.dark-layout .table-bordered,
html.dark-layout .table-bordered th,
html.dark-layout .table-bordered td {
  border-color: rgba(255,255,255,.10) !important;
}
html.dark-layout .paps-cov-nominal thead th {
  background: var(--mssus-dark-surface-2) !important;
  color: var(--mssus-dark-title) !important;
}
html.dark-layout .paps-cov-nominal tbody tr,
html.dark-layout .paps-cov-nominal tbody td {
  background: var(--mssus-dark-surface) !important;
  color: var(--mssus-dark-text) !important;
}

/* Paginação DataTables/bootstrap e paginação própria dos monitoramentos. */
html.dark-layout .pagination .page-link,
html.dark-layout .page-item .page-link,
html.dark-layout .dataTables_paginate .paginate_button .page-link,
html.dark-layout .msmon-pager .btn,
html.dark-layout .btn.btn-outline-secondary,
html.dark-layout .btn.btn-light.border {
  background-color: var(--mssus-dark-surface-2) !important;
  color: var(--mssus-dark-text) !important;
  border-color: rgba(255,255,255,.14) !important;
  box-shadow: none !important;
}
html.dark-layout .pagination .page-link:hover,
html.dark-layout .page-item .page-link:hover,
html.dark-layout .dataTables_paginate .paginate_button .page-link:hover,
html.dark-layout .msmon-pager .btn:hover,
html.dark-layout .btn.btn-outline-secondary:hover,
html.dark-layout .btn.btn-light.border:hover {
  background-color: rgba(125,211,252,.13) !important;
  color: #f8fafc !important;
  border-color: rgba(125,211,252,.30) !important;
}
html.dark-layout .page-item.active .page-link,
html.dark-layout .pagination .active > .page-link,
html.dark-layout .dataTables_paginate .paginate_button.active .page-link {
  background-color: var(--ms-primary) !important;
  border-color: var(--ms-primary) !important;
  color: #ffffff !important;
}
html.dark-layout .page-item.disabled .page-link,
html.dark-layout .pagination .disabled > .page-link,
html.dark-layout .dataTables_paginate .paginate_button.disabled .page-link,
html.dark-layout .msmon-pager .btn:disabled,
html.dark-layout .msmon-pager .btn.disabled {
  background-color: #1b2536 !important;
  color: #8b95a7 !important;
  border-color: rgba(255,255,255,.08) !important;
  opacity: 1 !important;
}
html.dark-layout .dataTables_info,
html.dark-layout .dataTables_length,
html.dark-layout .dataTables_filter,
html.dark-layout .msmon-summary {
  color: var(--mssus-dark-muted) !important;
}

/* Barras de progresso: mantém a cor do preenchimento e tira o trilho branco forte. */
html.dark-layout .progress,
html.dark-layout .msmon-progress,
html.dark-layout .paps-cov-bar,
html.dark-layout .dashp-bar {
  background: #111827 !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
html.dark-layout .progress-bar,
html.dark-layout .msmon-progress span,
html.dark-layout .paps-cov-bar span,
html.dark-layout .dashp-bar-fill {
  box-shadow: none !important;
}

/* Evita faixas claras em wrappers responsivos e áreas colapsadas. */
html.dark-layout .table-responsive,
html.dark-layout .collapse,
html.dark-layout .collapsing,
html.dark-layout .accordion-body,
html.dark-layout .accordion-item,
html.dark-layout .accordion-collapse {
  background: transparent !important;
  color: var(--mssus-dark-text) !important;
}
html.dark-layout .accordion-button {
  background: var(--mssus-dark-surface-3) !important;
  color: var(--mssus-dark-title) !important;
  border-color: rgba(255,255,255,.10) !important;
}

/* ========================================================================
   MS+SUS — refinamento tema noite: legenda e aviso LGPD
   Ajuste: 2026-05-25
   Corrige blocos globais de legenda/alerta claro e aviso LGPD que ficavam
   brancos no tema noturno. Não altera o tema claro nem as cores dos badges.
   ======================================================================== */
html.dark-layout .alert.alert-light,
html.dark-layout .alert-light,
html.dark-layout .alert.alert-light.border,
html.dark-layout .alert-light.border {
  background-color: var(--mssus-dark-surface-3) !important;
  color: var(--mssus-dark-text) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: none !important;
}
html.dark-layout .alert.alert-light strong,
html.dark-layout .alert-light strong,
html.dark-layout .alert.alert-light b,
html.dark-layout .alert-light b {
  color: var(--mssus-dark-title) !important;
}
html.dark-layout .alert.alert-light a,
html.dark-layout .alert-light a {
  color: #7dd3fc !important;
}
html.dark-layout .alert.alert-light small,
html.dark-layout .alert-light small,
html.dark-layout .alert.alert-light .text-muted,
html.dark-layout .alert-light .text-muted {
  color: var(--mssus-dark-muted) !important;
}

/* Avisos LGPD e barras de ferramentas das listas nominais. */
html.dark-layout .mssus-lgpd-note {
  background: rgba(15,23,42,.92) !important;
  color: var(--mssus-dark-text) !important;
  border-left-color: #7dd3fc !important;
  border-top: 1px solid rgba(125,211,252,.14) !important;
  border-right: 1px solid rgba(125,211,252,.14) !important;
  border-bottom: 1px solid rgba(125,211,252,.14) !important;
  box-shadow: none !important;
}
html.dark-layout .mssus-lgpd-note strong,
html.dark-layout .mssus-lgpd-note b {
  color: #f8fafc !important;
}
html.dark-layout .mssus-list-toolbar {
  background: linear-gradient(135deg, rgba(14,165,233,.10), rgba(34,197,94,.08)) !important;
  border-color: rgba(125,211,252,.18) !important;
  color: var(--mssus-dark-text) !important;
}
html.dark-layout .mssus-list-toolbar .mssus-list-title {
  color: var(--mssus-dark-title) !important;
}
html.dark-layout .mssus-list-toolbar .mssus-list-subtitle {
  color: var(--mssus-dark-muted) !important;
}
html.dark-layout .mssus-pagination-modern {
  background: var(--mssus-dark-surface-2) !important;
  border-color: rgba(255,255,255,.12) !important;
  color: var(--mssus-dark-text) !important;
  box-shadow: none !important;
}
html.dark-layout .mssus-pagination-modern .mssus-page-summary,
html.dark-layout .mssus-pagination-modern .mssus-ellipsis {
  color: var(--mssus-dark-muted) !important;
}

/* ========================================================================
   MS+SUS - menu vertical e mobile
   Ajuste: 2026-07-04
   Mantem o shell principal no menu vertical do template e melhora o overlay
   em telas menores.
   ======================================================================== */
.main-menu .navbar-header .navbar-brand .brand-logo img {
  max-width: 32px;
  max-height: 32px;
  object-fit: contain;
}

.main-menu .navigation-main .menu-title,
.main-menu .navigation-main .menu-item {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  line-height: 1.18;
}

.main-menu .navigation-main .badge {
  flex-shrink: 0;
}

.main-menu .navigation-main li > a {
  min-height: 38px;
  font-size: .92rem;
  font-weight: 500;
  letter-spacing: 0;
}

.vertical-layout.vertical-menu-modern .header-navbar .menu-toggle {
  display: inline-flex;
  align-items: center;
}

body.vertical-layout.vertical-menu-modern {
  --mssus-sidebar-width: 260px;
  --mssus-sidebar-collapsed-width: 80px;
  --mssus-topbar-height: 70px;
  --mssus-shell-gutter: 1.75rem;
  --mssus-menu-item-radius: .72rem;
}

body.vertical-layout.vertical-menu-modern .main-menu.menu-fixed {
  top: 0;
  height: 100vh;
  z-index: 1040;
  background: #ffffff;
  border-right: 1px solid rgba(15,23,42,.06);
  box-shadow: 10px 0 28px rgba(15,23,42,.06);
}

body.vertical-layout.vertical-menu-modern.menu-collapsed .main-menu.menu-fixed.expanded {
  z-index: 1050;
}

body.vertical-layout.vertical-menu-modern .main-menu .navbar-header {
  height: var(--mssus-topbar-height);
  border-bottom: 1px solid rgba(15,23,42,.06);
}

body.vertical-layout.vertical-menu-modern .main-menu .navbar-header .navbar-brand {
  margin-top: 0;
  min-height: var(--mssus-topbar-height);
}

body.vertical-layout.vertical-menu-modern .main-menu .main-menu-content {
  height: calc(100vh - var(--mssus-topbar-height)) !important;
}

body.vertical-layout.vertical-menu-modern .main-menu .navbar-header .brand-text {
  font-size: 1.22rem;
  letter-spacing: 0;
}

body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li > a,
body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li ul li > a {
  position: relative;
  border-radius: var(--mssus-menu-item-radius);
  color: #405169;
  padding-top: .58rem;
  padding-bottom: .58rem;
  transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li > a {
  margin: .1rem .85rem;
}

body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li ul li > a {
  margin: .04rem .72rem;
  font-size: .86rem;
  color: #53647c;
}

body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li > a svg,
body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li > a i {
  color: #667085;
  stroke: #667085;
  width: 18px;
  height: 18px;
  margin-right: .9rem;
}

body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation .menu-content > li > a svg,
body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation .menu-content > li > a i {
  width: 10px;
  height: 10px;
  margin-right: .95rem;
}

body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li:not(.active):not(.sidebar-group-active) > a:hover,
body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li.open:not(.sidebar-group-active) > a,
body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li ul li > a:hover {
  background: linear-gradient(90deg, rgba(var(--ms-primary-rgb), .08), rgba(var(--ms-secondary-rgb), .055));
  color: var(--ms-secondary) !important;
  transform: translateX(2px);
  box-shadow: inset 3px 0 0 rgba(var(--ms-primary-rgb), .35);
}

body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li.active > a,
body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li.sidebar-group-active > a,
body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li ul .active > a {
  background: linear-gradient(90deg, rgba(var(--ms-primary-rgb), .16), rgba(var(--ms-secondary-rgb), .10)) !important;
  color: #063f2a !important;
  box-shadow: inset 4px 0 0 var(--ms-primary), 0 8px 18px rgba(15,122,59,.10) !important;
}

body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li.active > a svg,
body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li.sidebar-group-active > a svg,
body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li ul .active > a svg,
body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li.active > a i,
body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li.sidebar-group-active > a i,
body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li ul .active > a i {
  color: var(--ms-primary) !important;
  stroke: var(--ms-primary) !important;
}

body.vertical-layout.vertical-menu-modern .header-navbar.navbar-fixed,
body.vertical-layout.vertical-menu-modern .header-navbar.fixed-top,
body.vertical-layout.vertical-menu-modern .header-navbar.floating-nav {
  position: fixed;
  top: 0;
  left: calc(var(--mssus-sidebar-width) + var(--mssus-shell-gutter));
  min-height: var(--mssus-topbar-height);
  width: calc(100% - var(--mssus-sidebar-width) - var(--mssus-shell-gutter));
  margin: 0;
  border-radius: 0 0 var(--ms-card-radius) var(--ms-card-radius);
  box-shadow: 0 1px 0 rgba(15,23,42,.06) !important;
  border-bottom: 1px solid rgba(15,23,42,.06);
  overflow: visible;
  z-index: 1045;
}

body.vertical-layout.vertical-menu-modern .header-navbar .dropdown-menu {
  z-index: 1060;
}

body.vertical-layout.vertical-menu-modern.menu-collapsed .header-navbar.navbar-fixed,
body.vertical-layout.vertical-menu-modern.menu-collapsed .header-navbar.fixed-top,
body.vertical-layout.vertical-menu-modern.menu-collapsed .header-navbar.floating-nav {
  left: calc(var(--mssus-sidebar-collapsed-width) + var(--mssus-shell-gutter));
  width: calc(100% - var(--mssus-sidebar-collapsed-width) - var(--mssus-shell-gutter));
}

body.vertical-layout.vertical-menu-modern .header-navbar .navbar-container {
  min-height: var(--mssus-topbar-height);
  padding-top: 0;
  padding-bottom: 0;
}

body.vertical-layout.vertical-menu-modern .header-navbar-shadow {
  display: none !important;
}

html body.vertical-layout.vertical-menu-modern .content.app-content {
  padding-top: calc(var(--mssus-topbar-height) + 1.25rem) !important;
}

body.vertical-layout.vertical-menu-modern .content-wrapper {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}

html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-fixed {
  background: var(--mssus-dark-surface);
  border-right-color: rgba(255,255,255,.08);
  box-shadow: 10px 0 28px rgba(0,0,0,.18);
}

html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation,
html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light {
  background: var(--mssus-dark-surface) !important;
}

html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li > a,
html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li ul li > a {
  color: #cbd5e1;
}

html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li > a svg,
html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li > a i {
  color: #94a3b8;
  stroke: #94a3b8;
}

html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li:not(.active):not(.sidebar-group-active) > a:hover,
html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li.open:not(.sidebar-group-active) > a,
html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li ul li > a:hover {
  background: linear-gradient(90deg, rgba(125,211,252,.13), rgba(15,122,59,.11));
  color: #e0f2fe !important;
  box-shadow: inset 3px 0 0 rgba(125,211,252,.48);
}

html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li.active > a,
html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li.sidebar-group-active > a,
html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li ul .active > a {
  background: linear-gradient(90deg, rgba(125,211,252,.18), rgba(15,122,59,.16)) !important;
  color: #f8fafc !important;
  box-shadow: inset 4px 0 0 #7dd3fc, 0 10px 22px rgba(0,0,0,.22) !important;
}

html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li.active > a svg,
html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li.sidebar-group-active > a svg,
html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li ul .active > a svg,
html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li.active > a i,
html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li.sidebar-group-active > a i,
html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu.menu-light .navigation > li ul .active > a i {
  color: #7dd3fc !important;
  stroke: #7dd3fc !important;
}

html.dark-layout body.vertical-layout.vertical-menu-modern .main-menu .navbar-header,
html.dark-layout body.vertical-layout.vertical-menu-modern .header-navbar.navbar-fixed,
html.dark-layout body.vertical-layout.vertical-menu-modern .header-navbar.fixed-top,
html.dark-layout body.vertical-layout.vertical-menu-modern .header-navbar.floating-nav {
  border-bottom-color: rgba(255,255,255,.08);
}

section[id$="-nominal"] [class*="-detail-row"] .row > [class*="col-"],
section[id$="-nominal"] [class*="-detail-row"] [class*="-box"],
section[id$="-nominal"] [class*="-detail-row"] [class*="-kv"],
section[id$="-nominal"] [class*="-detail-row"] [class*="-desc"],
section[id$="-nominal"] [class*="-detail-row"] [class*="-sub"] {
  min-width: 0;
  max-width: 100%;
}

section[id$="-nominal"] [class*="-detail-row"] [class*="-box"] {
  overflow: hidden;
}

section[id$="-nominal"] [class*="-detail-row"] [class*="-kv"],
section[id$="-nominal"] [class*="-detail-row"] [class*="-kv"] > div,
section[id$="-nominal"] [class*="-detail-row"] [class*="-v"],
section[id$="-nominal"] [class*="-detail-row"] [class*="-desc"],
section[id$="-nominal"] [class*="-detail-row"] [class*="-title"],
section[id$="-nominal"] [class*="-detail-row"] [class*="-sub"] {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 1199.98px) {
  body.vertical-layout.vertical-menu-modern {
    --mssus-shell-gutter: 0;
  }

  body.vertical-layout.vertical-menu-modern .header-navbar.navbar-fixed,
  body.vertical-layout.vertical-menu-modern .header-navbar.fixed-top,
  body.vertical-layout.vertical-menu-modern .header-navbar.floating-nav,
  body.vertical-layout.vertical-menu-modern.menu-collapsed .header-navbar.navbar-fixed,
  body.vertical-layout.vertical-menu-modern.menu-collapsed .header-navbar.fixed-top,
  body.vertical-layout.vertical-menu-modern.menu-collapsed .header-navbar.floating-nav {
    left: 0;
    width: 100%;
  }

  html body.vertical-layout.vertical-menu-modern .content.app-content {
    padding-top: calc(var(--mssus-topbar-height) + 1rem) !important;
  }

  body.vertical-layout.vertical-menu-modern .content-wrapper {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .vertical-overlay-menu .main-menu {
    z-index: 1031;
  }

  .vertical-overlay-menu.menu-open .sidenav-overlay {
    display: block;
    opacity: 1;
  }

  .header-navbar .navbar-container {
    padding-left: .75rem;
    padding-right: .75rem;
  }
}

@media (max-width: 575.98px) {
  .header-navbar .navbar-container .nav .nav-item .nav-link {
    padding-left: .45rem;
    padding-right: .45rem;
  }

  .main-menu .navbar-header .brand-text {
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
