/* CAMOD: identidade visual do sistema. */
#layout-menu .app-brand.demo { height: auto; min-height: 76px; padding: 12px 16px; }
#layout-menu .app-brand-link { flex: 0 0 80%; min-width: 0; }
#layout-menu .app-brand-logo.camod-logo { width: 100%; height: auto; }
#layout-menu .app-brand-logo.camod-logo img { max-height: none; }
@media (min-width: 1200px) {
  .layout-menu-collapsed:not(.layout-menu-hover) #layout-menu .app-brand-link { flex: 0 0 30px; }
}
#layout-menu .app-brand .layout-menu-toggle i { color: #f58245; }
#layout-menu .camod-menu-diamond { position: relative; width: 30px; height: 30px; }
#layout-menu .camod-menu-diamond::before {
  content: ''; position: absolute; left: 50%; top: 50%; width: 19px; height: 19px;
  margin: 0; border: 2px solid currentColor; border-radius: 5px; transform: translate(-50%, -50%) rotate(45deg);
}
html:not(.layout-menu-collapsed) #layout-menu .camod-menu-diamond::after {
  content: ''; position: absolute; left: 50%; top: 50%;
  width: 6px; height: 6px; border-radius: 50%; background: currentColor;
  transform: translate(-50%, -50%);
}
.camod-fin-table { table-layout: fixed; width: 100%; }
.camod-fin-table .fin-col-record { width: 36%; }
.camod-fin-table .fin-col-dates { width: 21%; }
.camod-fin-table .fin-col-value { width: 18%; }
.camod-fin-table .fin-col-status { width: 13%; }
.camod-fin-table .fin-col-actions { width: 12%; }
.camod-fin-table td { padding-top: 22px; padding-bottom: 22px; vertical-align: top; overflow-wrap: anywhere; }
.fin-record-title { display: block; color: var(--camod-ink); font-weight: 500; line-height: 1.6; }
.fin-value strong { font-size: 16px; white-space: nowrap; }
.fin-value-in { color: #009c56; }
.fin-value-out { color: #e13243; }
.fin-action-buttons { display: flex; gap: 6px; justify-content: flex-end; flex-wrap: wrap; }
.fin-action-buttons .btn { width: 32px; height: 32px; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.fin-action-buttons form { margin: 0; }
.fin-mobile-label { display: none; }
@media (max-width: 991.98px) {
  .camod-fin-table, .camod-fin-table tbody { display: block; }
  .camod-fin-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
  .camod-fin-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 20px; border-bottom: 1px solid #e4ebe8; }
  .camod-fin-table tbody td { display: block; width: auto; padding: 0; border: 0; }
  .camod-fin-table .fin-record, .camod-fin-table .fin-dates { grid-column: 1 / -1; }
  .camod-fin-table .fin-record { grid-row: 1; }
  .camod-fin-table .fin-dates { grid-row: 2; display: flex; gap: 8px 24px; flex-wrap: wrap; align-items: flex-start; }
  .camod-fin-table .fin-dates > .mt-2 { margin-top: 0 !important; }
  .camod-fin-table .fin-dates > small { flex-basis: 100%; order: 1; }
  .camod-fin-table .fin-value { grid-column: 1; grid-row: 3 / 5; }
  .camod-fin-table .fin-status { grid-column: 2; grid-row: 3; text-align: right; }
  .camod-fin-table .fin-actions { grid-column: 2; grid-row: 4; }
  .fin-mobile-label { display: block; margin-bottom: 4px; }
  .camod-fin-table .fin-empty { display: block; }
}

.camod-fin-status {
  padding: .5em .75em;
  border: 1px solid transparent;
}
.camod-fin-status-em_aberto { color: #fff; background: #1675d1; border-color: #1675d1; }
.camod-fin-status-pago { color: #fff; background: #008c4f; border-color: #008c4f; }
.camod-fin-status-vencido { color: #fff; background: #df3043; border-color: #df3043; }
.camod-fin-status-cancelado { color: #fff; background: #727b88; border-color: #727b88; }

.alert.alert-success {
  color: #378466;
  background-color: #e9f5ee;
  border: 1px solid #d5eadf;
  border-left: 3px solid #7bb69b;
  border-radius: 8px;
  box-shadow: none;
}

.camod-table-responsive {
  height: auto !important;
  max-height: none !important;
  overflow-x: auto;
  overflow-y: hidden;
}

:root {
  --camod-ink: #263b40;
  --camod-muted: #65787c;
  --camod-teal: #257c88;
}

body {
  background: #f5f8f7;
  color: var(--camod-ink);
}

.bg-menu-theme {
  background-color: #fff !important;
  box-shadow: 1px 0 0 #e5edeb !important;
}

.bg-menu-theme .menu-link {
  color: #526b70;
}

.bg-menu-theme .menu-item.open > .menu-link,
.bg-menu-theme .menu-item > .menu-link:hover {
  background-color: #e9f5f3 !important;
  color: #246e78 !important;
}

.bg-navbar-theme {
  background-color: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 1px 0 #e5edeb !important;
}

.camod-home { padding-top: 28px !important; padding-bottom: 36px !important; }
.camod-home h1, .camod-home h2, .camod-home h3 { color: var(--camod-ink); }
.camod-home .text-muted { color: var(--camod-muted) !important; }

.camod-welcome {
  position: relative;
  overflow: hidden;
  border: 1px solid #dfebe6;
  border-radius: 20px;
  background: radial-gradient(ellipse at 92% 10%, #f7e8ed 0, transparent 55%),
    linear-gradient(115deg, #e1f2ec 0%, #f8faf5 48%, #f2edf8 100%);
  box-shadow: 0 8px 28px rgba(44, 78, 72, .04);
}

.camod-welcome::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, #65bcc6, #a6d9cc, #e3b48a, #f29884);
}

.camod-eyebrow {
  display: inline-block;
  color: #286d74;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}

.camod-welcome h1 { font-size: clamp(25px, 2.6vw, 36px); letter-spacing: -.8px; }
.camod-welcome p { max-width: 530px; line-height: 1.7; }
.camod-welcome-brand img { width: 200px; opacity: .8; }
.camod-section-heading h2 { font-size: 19px; }

.camod-tone-teal { --accent: #247987; --soft: #e8f5f5; }
.camod-tone-coral { --accent: #b54e3d; --soft: #fff0eb; }
.camod-tone-lavender { --accent: #7760a3; --soft: #f2edf9; }
.camod-tone-sand { --accent: #89612e; --soft: #faf2e5; }
.camod-tone-green { --accent: #3d7762; --soft: #eaf5ef; }
.camod-tone-rose { --accent: #a04e73; --soft: #fbeef4; }

.camod-shortcut {
  border: 1px solid var(--accent);
  background: var(--accent);
  color: #fff !important;
  border-radius: 16px;
  box-shadow: 0 5px 18px rgba(41, 66, 60, .04);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.camod-shortcut .card-body { display: flex; flex-direction: column; align-items: flex-start; }
.camod-shortcut-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin-bottom: 20px;
  border-radius: 14px;
  color: var(--accent);
  background: var(--soft);
}
.camod-shortcut .camod-shortcut-icon {
  color: #fff;
  background: rgba(255, 255, 255, .16);
}
.camod-home .camod-shortcut h3 { color: #fff; font-size: 18px; }
.camod-home .camod-shortcut .text-muted { color: #fff !important; }
.camod-shortcut p { line-height: 1.6; margin-bottom: 0 !important; }
.camod-shortcut:hover {
  transform: translateY(-3px);
  border-color: var(--accent);
  box-shadow: 0 12px 25px rgba(41, 66, 60, .09);
  outline: none;
}
.camod-shortcut:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

@media (max-width: 767.98px) {
  .camod-welcome-brand img { width: 145px; }
  .camod-home { padding-top: 20px !important; }
  body { font-size: 16px; line-height: 1.6; }
  small, .small { font-size: 14px; }
  .form-label { font-size: 13px; margin-bottom: 8px; }
  .form-control, .form-select { font-size: 16px; min-height: 46px; padding-top: 10px; padding-bottom: 10px; }
  textarea.form-control { line-height: 1.6; }
  .btn, .btn-sm { font-size: 15px; min-height: 44px; }
  .btn.btn-icon, .btn-sm.btn-icon,
  .fin-action-buttons .btn { width: 44px; height: 44px; min-width: 44px; }
  .btn .bx, .fin-action-buttons .bx { font-size: 21px; }
  .badge { font-size: 12px; line-height: 1.4; }
  .table { font-size: 15px; }
  .table th { font-size: 12px; }
  .table td { padding-top: 16px; padding-bottom: 16px; }
  .camod-fin-table tbody td { padding: 0; }
  .fin-record-title { font-size: 17px; }
  .fin-value strong { font-size: 19px; }
  .fin-action-buttons { gap: 8px; }
  .camod-fin-status { font-size: 12px; }
  .menu .menu-link { font-size: 16px; min-height: 46px; }
  .menu .menu-icon { font-size: 22px; }
  .menu .menu-sub .menu-link { font-size: 15px; }
  .dropdown-item { font-size: 16px; min-height: 44px; }
  .breadcrumb { font-size: 14px; row-gap: 6px; }
  .card-header.h5, .card-header .h5, .accordion-button { font-size: 19px; }
  .camod-home .camod-shortcut h3 { font-size: 20px; }
  .camod-eyebrow { font-size: 12px; }
  .pagination .page-link { min-width: 44px; min-height: 44px; font-size: 16px; }
  .select2-container .select2-selection--single { min-height: 46px; font-size: 16px; }
  .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 44px; }
  .select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }
  .select2-container .select2-search__field { font-size: 16px; min-height: 44px; }
  .select2-results__option { font-size: 16px; padding: 10px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .camod-shortcut { transition: none; }
  .camod-shortcut:hover { transform: none; }
}

/* Fundos discretos distinguem entradas e saídas no desktop e no mobile. */
.camod-fin-table .fin-row-entrada { --bs-table-bg: #f2f9f5; --bs-table-hover-bg: #e8f3ec; background-color: #f2f9f5; }
.camod-fin-table .fin-row-saida { --bs-table-bg: #fff4f3; --bs-table-hover-bg: #fbe9e7; background-color: #fff4f3; }
.camod-fin-table .fin-row-entrada > td,
.camod-fin-table .fin-row-saida > td { background-color: var(--bs-table-bg); }

/* Resumo financeiro com valores e contagem de lançamentos. */
.fin-tone-success { --fin-accent: #07965c; --fin-tint: #e0f6ec; }
.fin-tone-danger { --fin-accent: #e44855; --fin-tint: #ffebed; }
.fin-tone-info { --fin-accent: #1671ee; --fin-tint: #e8f1ff; }
.fin-tone-primary { --fin-accent: #3374bd; --fin-tint: #eaf3ff; }
.fin-tone-warning { --fin-accent: #bd7509; --fin-tint: #fff4dc; }
.fin-tone-neutral { --fin-accent: #526176; --fin-tint: #f0f3f7; }
.fin-indicator .card-body { padding: 18px; }
.fin-indicator-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; height: 44px; border-radius: 12px; color: var(--fin-accent); background: var(--fin-tint); }
.fin-indicator-icon .bx { font-size: 26px; }
.fin-indicator-label { font-size: 14px; line-height: 1.4; margin: 0 0 6px; font-weight: 500; }
.fin-indicator-value { font-size: clamp(20px, 1.6vw, 25px); font-weight: 600; color: var(--fin-accent); line-height: 1.25; overflow-wrap: anywhere; }
.fin-pending-item { padding: 18px; border-radius: 12px; background: var(--fin-tint); color: var(--fin-accent); height: 100%; }
.fin-pending-count { display: block; font-size: 30px; line-height: 1.2; margin-bottom: 6px; }
@media (max-width: 767.98px) {
  .fin-indicator-label { font-size: 16px; }
  .fin-indicator-value { font-size: 25px; }
}

/* Filtros compactos sem reduzir os alvos de toque. */
.fin-filters .card-header { padding: 14px 18px 10px; margin-bottom: 0; }
.fin-filters .card-body { padding: 0 18px 14px; }
.fin-filters .form-label { margin-bottom: 4px; }
.fin-filters .btn { padding-left: 12px; padding-right: 12px; }

/* Home CAMOD — cores da marca e formas curvas da referência visual. */
body:has(.camod-home) { background: #f5f6f4; }
.camod-home .camod-welcome {
  border: 0; border-radius: 18px;
  background: linear-gradient(110deg, #20afbd 0%, #167681 34%, #ff8263 100%);
  box-shadow: 0 10px 24px rgba(30, 104, 111, .13);
}
.camod-home .camod-welcome::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 70% 160% at 55% 150%, rgba(9,70,76,.14) 0 55%, transparent 55.3%),
    radial-gradient(ellipse 40% 200% at 100% 95%, rgba(175,76,41,.16) 0 65%, transparent 65.3%);
}
.camod-home .camod-welcome::after { height: 3px; background: linear-gradient(90deg,#46c1cc,#fff36b,#ff8263); }
.camod-home .camod-welcome .card-body { position: relative; z-index: 1; }
.camod-home .camod-welcome h1 { color: #fff; }
.camod-home .camod-welcome .text-muted { color: #fff !important; }
.camod-home .camod-eyebrow { color: #d3f7f7; }
.camod-home .camod-welcome-brand img { filter: brightness(0) invert(1); opacity: 1; }
.camod-home .camod-tone-graphite { --accent: #344e52; --card-start: #526d70; }
.camod-home .camod-tone-teal { --accent: #167681; --card-start: #1aaabb; }
.camod-home .camod-tone-coral { --accent: #d95f43; --card-start: #ff8263; }
.camod-home .camod-tone-gold { --accent: #d1ad2d; --card-start: #ffe154; }
.camod-home .camod-tone-turquoise { --accent: #36aebb; --card-start: #66cbd5; }
.camod-home .camod-tone-sand { --accent: #8c6038; --card-start: #b98e69; }
.camod-home .camod-tone-rose { --accent: #a7435f; --card-start: #e77882; }
.camod-home .camod-shortcut {
  position: relative; isolation: isolate; border: 0; border-radius: 17px;
  background: linear-gradient(125deg,var(--card-start),var(--accent));
  box-shadow: 0 9px 20px rgba(37,80,86,.13);
}
.camod-home .camod-shortcut::before {
  content: ''; position: absolute; z-index: -1; right: -36%; top: -8%;
  width: 76%; height: 160%; border-radius: 50%; background: rgba(62,44,25,.13);
  transform: rotate(28deg); pointer-events: none;
}
.camod-home .camod-shortcut .card-body { position: relative; min-height: 150px; padding: 18px 62px 18px 22px !important; }
.camod-home .camod-shortcut-icon { width: 42px; height: 42px; border-radius: 12px; background: rgba(255,255,255,.2); margin-bottom: 10px; }
.camod-home .camod-shortcut h3 { margin-bottom: 6px !important; font-weight: 600; }
.camod-home .camod-shortcut p { line-height: 1.4; }
.camod-shortcut-arrow {
  position: absolute; right: 20px; top: 50%; display: inline-flex;
  width: 34px; height: 34px; justify-content: center; align-items: center;
  border-radius: 50%; background: rgba(53,40,22,.22); color: #fff; font-size: 27px;
}
.camod-home .camod-shortcut:hover { transform: translateY(-3px); box-shadow: 0 13px 25px rgba(37,80,86,.2); }
.camod-home .camod-shortcut:focus-visible { outline: 3px solid #167681; outline-offset: 4px; }
.camod-brand-palette {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 17px 22px; border: 1px solid #d9e6e8; border-radius: 18px;
  background: #edf3f4; color: #285568; box-shadow: 0 6px 18px rgba(37,80,86,.04);
}
.camod-brand-palette > strong { font-size: 14px; line-height: 1.3; padding-right: 25px; border-right: 1px solid #c9dce2; }
.camod-brand-palette > div { display: flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 500; }
.camod-brand-palette small { display: block; font-size: 12px; font-weight: 400; }
.camod-color-swatch { width: 30px; height: 30px; flex-shrink: 0; border-radius: 9px; background: var(--swatch); }
@media (max-width: 767.98px) {
  .camod-home .camod-shortcut .card-body { min-height: 150px; }
  .camod-brand-palette { flex-wrap: wrap; justify-content: flex-start; gap: 18px; }
  .camod-brand-palette > strong { flex-basis: 100%; border: 0; padding: 0; }
  .camod-brand-palette > div { flex: 1 1 42%; }
}
@media (prefers-reduced-motion: reduce) {
  .camod-home .camod-shortcut { transition: none; }
  .camod-home .camod-shortcut:hover { transform: none; }
}

/* No celular, as listagens seguem o formato em linhas do Financeiro. */
@media (max-width: 767.98px) {
  .camod-stacked-wrapper { overflow: visible; min-width: 0; }
  .camod-stacked-table { display: block; table-layout: fixed; width: 100%; margin-bottom: 0; }
  .camod-stacked-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
  .camod-stacked-table tbody { display: block; width: 100%; }
  .camod-stacked-table tbody tr {
    display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px;
    padding: 20px; border-bottom: 1px solid #e4ebe8;
  }
  .camod-stacked-table tbody td {
    display: block; width: auto !important; min-width: 0 !important; max-width: none !important;
    padding: 0; border: 0; white-space: normal !important; overflow-wrap: anywhere;
    text-align: left !important; box-shadow: none; background: transparent;
  }
  .camod-stacked-table td::before {
    content: attr(data-label); display: block; color: #8b9ba7;
    font-size: 13px; font-weight: 400; margin-bottom: 4px;
  }
  .camod-stacked-table td[data-label="ID"] { font-size: 13px; color: #8b9ba7; }
  .camod-stacked-table td[data-label="ID"]::before { display: inline; margin-right: 5px; }
  .camod-stacked-table td .text-nowrap { white-space: normal !important; overflow-wrap: anywhere; }
  .camod-stacked-table td[data-label="Ações"] { text-align: right !important; }
  .camod-stacked-table td[data-label="Ações"]::before { display: none; }
  .camod-stacked-table td[data-label="Ações"] > .d-inline-flex { display: flex !important; justify-content: flex-end; flex-wrap: wrap; }
  .camod-stacked-table td form { margin: 0; }
  .camod-stacked-table .badge { white-space: normal; }
  .camod-stacked-table td[colspan]::before { display: none; }
}

/* Modo escuro do painel: mantém as cores da marca nos atalhos. */
html.dark-style { --camod-ink: #d8deea; --bs-body-color: #c1cce0; --bs-body-bg: #1c222f; --bs-border-color: #3a465b; }
.dark-style body, .dark-style body:has(.camod-home), .dark-style .content-wrapper { background: #1c222f; color: #c1cce0; }
.dark-style .card, .dark-style .modal-content, .dark-style .dropdown-menu, .dark-style .accordion-item,
.dark-style .list-group-item, .dark-style .bg-menu-theme, .dark-style .bg-navbar-theme { background-color: #283144 !important; color: #c1cce0; }
.dark-style .bg-footer-theme { background: #1c222f !important; color: #a1b0cb; }
.dark-style h1, .dark-style h2, .dark-style h3, .dark-style h4, .dark-style h5, .dark-style h6,
.dark-style .form-label, .dark-style .col-form-label, .dark-style legend, .dark-style .card-header,
.dark-style .table th, .dark-style .text-heading, .dark-style .text-dark { color: #d8deea !important; }
.dark-style .text-muted, .dark-style .form-text, .dark-style .breadcrumb-item, .dark-style .breadcrumb-item.active { color: #a1b0cb !important; }
.dark-style .breadcrumb a, .dark-style .footer-link, .dark-style .menu-link, .dark-style .dropdown-item,
.dark-style .navbar .nav-link, .dark-style .accordion-button { color: #c1cce0; }
.dark-style .dropdown-item:hover, .dark-style .dropdown-item:focus, .dark-style .menu-link:hover,
.dark-style .accordion-button, .dark-style .page-link, .dark-style .bg-light, .dark-style .bg-white { background-color: #303c51 !important; color: #d8deea; }
.dark-style .dropdown-item.active, .dark-style .page-item.active .page-link { background-color: #365fa3 !important; color: #fff; }
.dark-style .form-control, .dark-style .form-select, .dark-style .input-group-text, .dark-style .form-check-input {
  background-color: #222b3c; border-color: #48556c; color: #d8deea;
}
.dark-style .form-control::placeholder { color: #94a3bd; opacity: 1; }
.dark-style .form-control:disabled, .dark-style .form-control[readonly], .dark-style .form-select:disabled { background-color: #323d50; color: #aab8ce; }
.dark-style .form-check-input:checked { background-color: #5a8dee; border-color: #5a8dee; }
.dark-style .table { color: #c1cce0; --bs-table-bg: transparent; --bs-table-color: #c1cce0; --bs-table-hover-bg: #303c51; --bs-table-hover-color: #d8deea; --bs-table-striped-bg: #303c51; }
.dark-style .table > :not(caption) > * > *, .dark-style .border, .dark-style .card-header, .dark-style .card-footer,
.dark-style .dropdown-divider, .dark-style .accordion-item, .dark-style hr, .dark-style .camod-stacked-table tbody tr { border-color: #3a465b !important; }
.dark-style .camod-fin-table .fin-row-entrada { --bs-table-bg: #223e38; --bs-table-hover-bg: #294b42; background: #223e38; }
.dark-style .camod-fin-table .fin-row-saida { --bs-table-bg: #442f3a; --bs-table-hover-bg: #533744; background: #442f3a; }
.dark-style .fin-value-in { color: #50dd9c; }
.dark-style .fin-value-out { color: #ff8490; }
.dark-style .fin-indicator, .dark-style .fin-pending-item { --fin-accent: #a8c9ff !important; --fin-tint: #303e56 !important; }
.dark-style .fin-indicator-value { color: #a8c9ff; }
.dark-style .alert.alert-success { color: #91d8b6; background: #223e38; border-color: #3e6e5b; }
.dark-style .alert-danger { color: #ffabb3; background: #482f3b; border-color: #78505c; }
.dark-style .select2-container--default .select2-selection, .dark-style .select2-dropdown,
.dark-style .select2-search__field { background: #222b3c; border-color: #48556c; color: #d8deea; }
.dark-style .select2-container--default .select2-selection__rendered { color: #d8deea; }
.dark-style .select2-container--default .select2-results__option[aria-selected=true] { background: #3a465b; }
.dark-style .camod-home .camod-shortcut h3, .dark-style .camod-home .camod-shortcut .text-muted,
.dark-style .camod-home .camod-welcome h1, .dark-style .camod-home .camod-welcome .text-muted { color: #fff !important; }

.dark-style .fin-tone-success, .dark-style .fin-summary-pago { --fin-accent: #50dd9c !important; --fin-tint: #223e38 !important; }
.dark-style .fin-tone-danger, .dark-style .fin-summary-vencido { --fin-accent: #ff8490 !important; --fin-tint: #442f3a !important; }
.dark-style .fin-summary-cancelado { --fin-accent: #b8c2d2 !important; --fin-tint: #343e50 !important; }
.dark-style .fin-indicator-value { color: var(--fin-accent); }

/* Refinamento de contraste e hierarquia do modo escuro. */
.dark-style body, .dark-style body:has(.camod-home), .dark-style .content-wrapper { background: #171e29; color: #c7d0df; }
.dark-style .card { background-color: #242e3e !important; box-shadow: 0 4px 18px rgba(0,0,0,.14); }
.dark-style #layout-menu, .dark-style #layout-navbar { background-color: #202938 !important; }
.dark-style #layout-menu { border-right: 1px solid #354154; }
.dark-style #layout-navbar { border-bottom: 1px solid #354154; box-shadow: none; }
.dark-style .bg-footer-theme { background: #171e29 !important; }
.dark-style #layout-menu .app-brand-logo img { filter: brightness(0) invert(1); opacity: .94; }
.dark-style .bg-menu-theme .menu-inner-shadow { background: linear-gradient(#202938 40%, transparent); }
.dark-style .bg-menu-theme .menu-link { color: #bdc8d9; }
.dark-style .bg-menu-theme .menu-item.open > .menu-link,
.dark-style .bg-menu-theme .menu-item.active > .menu-link,
.dark-style .bg-menu-theme .menu-link:hover { background: #303e51 !important; color: #fff !important; border-radius: 7px; }
.dark-style .table { --bs-table-color: #c7d0df; --bs-table-hover-bg: #2b384b; --bs-table-hover-color: #f0f4fa; color: #c7d0df; }
.dark-style .table thead { background: #202a39; }
.dark-style .table th { color: #aebed3 !important; letter-spacing: .055em; }
.dark-style .table td, .dark-style .table th { border-color: #354154 !important; }
.dark-style .table .alunos-sort:hover, .dark-style .table th[aria-sort] .alunos-sort,
.dark-style .table .camod-sort-link:hover, .dark-style .table th[aria-sort] .camod-sort-link { color: #70d5db; }
.dark-style .alunos-sort:focus-visible, .dark-style .camod-sort-link:focus-visible { outline-color: #70d5db; }
.dark-style .text-muted, .dark-style .form-text, .dark-style .camod-stacked-table td::before { color: #a1aec2 !important; }
.dark-style .form-label { color: #b7c5d9 !important; }
.dark-style .form-control, .dark-style .form-select { background-color: #1c2533; border-color: #44536b; }
.dark-style .form-control:focus, .dark-style .form-select:focus { border-color: #73a4ff; box-shadow: 0 0 0 .2rem rgba(115,164,255,.16); }
.dark-style .form-select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='12'%3E%3Cpath fill='none' stroke='%23bdc8d9' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 3 6 6 6-6'/%3E%3C/svg%3E"); }
.dark-style .bg-label-primary, .dark-style .btn-label-primary { background: #2b4266 !important; color: #a5c6ff !important; }
.dark-style .bg-label-info, .dark-style .btn-label-info { background: #1e4754 !important; color: #79e0ea !important; }
.dark-style .bg-label-success, .dark-style .btn-label-success { background: #214a3e !important; color: #80e1b3 !important; }
.dark-style .bg-label-danger, .dark-style .btn-label-danger { background: #53333e !important; color: #ff9eab !important; }
.dark-style .bg-label-warning, .dark-style .btn-label-warning { background: #51432b !important; color: #f4cf83 !important; }
.dark-style .bg-label-secondary, .dark-style .btn-label-secondary { background: #354154 !important; color: #c1cde0 !important; }
.dark-style .btn-label-primary:hover, .dark-style .btn-label-info:hover { filter: brightness(1.2); }
.dark-style .btn-label-danger:hover { background: #70404c !important; }
.dark-style .btn-label-secondary:hover { background: #46566e !important; }
.dark-style .btn-primary { background-color: #427bd5; border-color: #427bd5; box-shadow: 0 2px 5px rgba(0,0,0,.18); }
.dark-style .btn-primary:hover { background-color: #538ee8; border-color: #538ee8; }
.dark-style .page-link { background-color: #303e51 !important; color: #cbd7e9; }
.dark-style .page-item.active .page-link { background-color: #427bd5 !important; color: #fff; }
.dark-style .page-item.disabled .page-link { background-color: #283345 !important; color: #8493ab; }
.dark-style .breadcrumb-item + .breadcrumb-item::before { color: #8e9bb0; }
.dark-style .camod-fin-table .fin-row-entrada { --bs-table-hover-color: #eefaf5; }
.dark-style .camod-fin-table .fin-row-saida { --bs-table-hover-color: #fff1f3; }
.dark-style a:not(.btn):not(.menu-link):not(.dropdown-item):not(.page-link):focus-visible,
.dark-style button:focus-visible { outline: 2px solid #73a4ff; outline-offset: 3px; }
@media (max-width: 767.98px) {
  .dark-style .camod-stacked-table tbody tr { border-bottom-color: #3d4c62 !important; }
}

/* Submenus e divisórias no modo escuro. */
html.dark-style #layout-menu .menu-inner > .menu-item.open,
html.dark-style #layout-menu .menu-inner > .menu-item.active,
html.dark-style #layout-menu .menu-sub { background-color: #263244 !important; }
html.dark-style #layout-menu .menu-sub .menu-link { background-color: transparent !important; color: #c7d3e5 !important; }
html.dark-style #layout-menu .menu-sub .menu-link:hover,
html.dark-style #layout-menu .menu-sub .menu-link:focus-visible,
html.dark-style #layout-menu .menu-sub .menu-item.active > .menu-link { background-color: #35455b !important; color: #fff !important; }
html.dark-style #layout-menu .menu-sub .menu-link::before { background-color: #9bacc3 !important; }
html.dark-style #layout-menu .menu-sub .menu-item.active > .menu-link::before { background-color: #f58245 !important; }
html.dark-style #layout-menu { border-right: 1px solid #f58245 !important; box-shadow: none !important; }
html.dark-style #layout-navbar { border-bottom: 1px solid #f58245 !important; box-shadow: none !important; }
