/*
 * Tema escuro incremental do app e da tela de login.
 *
 * O escopo no atributo do body impede qualquer efeito no tema claro, nas
 * paginas publicas, nos relatorios de impressao e nos emails. As regras desta
 * primeira etapa cobrem apenas o shell e superficies estruturais comuns.
 */
body[data-mo-theme="dark"] {
  color-scheme: dark;

  --mo-color-bg-page: #121820;
  --mo-color-bg-surface: #1b2430;
  --mo-color-bg-surface-subtle: #222d3a;
  --mo-color-bg-row-striped: #202b37;
  --mo-color-bg-row-hover: #293746;
  --mo-color-bg-control: #17202b;
  --mo-color-bg-disabled: #202a35;
  --mo-color-bg-sidebar: #0f151c;
  --mo-color-topbar-text: rgba(231, 237, 243, 0.92);
  --mo-color-topbar-text-hover: #ffffff;
  --mo-color-sidebar-text: #aebbc8;
  --mo-color-sidebar-icon: #93a4b5;
  --mo-color-sidebar-text-active: #ffffff;
  --mo-color-text-primary: #e7edf3;
  --mo-color-text-secondary: #c1ccd6;
  --mo-color-text-label: #aebbc8;
  --mo-color-text-muted: #8c9aaa;
  --mo-color-text-on-strong: #ffffff;
  --mo-color-border: #344150;
  --mo-color-border-subtle: #2a3542;
  --mo-color-border-control: #465568;
  --mo-color-border-table-heading: rgba(174, 187, 200, 0.12);
  --mo-color-border-table-cell: rgba(174, 187, 200, 0.09);
  --mo-color-border-section: rgba(174, 187, 200, 0.18);
  --mo-color-border-shell: rgba(174, 187, 200, 0.16);
  --mo-color-focus: #6bc7ec;
  --mo-color-bg-shell-hover: rgba(255, 255, 255, 0.08);
  --mo-shadow-card: rgba(0, 0, 0, 0.35) 0 0 12px;
  --mo-shadow-card-body: rgba(0, 0, 0, 0.22) 0 8px 24px;
  --mo-shadow-surface-raised: rgba(0, 0, 0, 0.35) 0 0 12px, rgba(0, 0, 0, 0.22) 0 8px 24px;
  --mo-shadow-topbar: 0 4px 8px -3px rgba(0, 0, 0, 0.65);
  --mo-shadow-dropdown: 0 10px 26px rgba(0, 0, 0, 0.4);

  background: var(--mo-color-bg-page);
  color: var(--mo-color-text-secondary);
}

html[data-mo-theme-resolved="dark"] {
  background: #121820;
}

.mo-login-logo-dark {
  display: none;
}

body[data-mo-theme="dark"] .mo-login-logo-light {
  display: none;
}

body[data-mo-theme="dark"] .mo-login-logo-dark {
  display: inline-block;
}

body[data-mo-theme="dark"] .login-register,
body[data-mo-theme="dark"] .login-background {
  background: var(--mo-color-bg-page);
}

body[data-mo-theme="dark"] .custom-login-box {
  border: 1px solid var(--mo-color-border-subtle);
  background: var(--mo-color-bg-surface);
  box-shadow: var(--mo-shadow-surface-raised) !important;
}

body[data-mo-theme="dark"] .custom-login-box label,
body[data-mo-theme="dark"] .custom-login-box .text-secondary,
body[data-mo-theme="dark"] .custom-login-box .login-password-reset-hint {
  color: var(--mo-color-text-secondary) !important;
}

body[data-mo-theme="dark"] .custom-login-box .login-password-reset-hint {
  border-left-color: var(--mo-color-focus);
  background: var(--mo-color-bg-surface-subtle);
}

/* Superficies publicas que reutilizam a preferencia salva pelo app. */
body[data-mo-theme="dark"] .device-auth-card,
body[data-mo-theme="dark"].mo-public-renewal-page .login-box,
body[data-mo-theme="dark"].mo-public-renewal-page .card-body {
  border-color: var(--mo-color-border-subtle);
  background: var(--mo-color-bg-surface);
  color: var(--mo-color-text-secondary);
  box-shadow: var(--mo-shadow-surface-raised) !important;
}

body[data-mo-theme="dark"] .device-auth-logo,
body[data-mo-theme="dark"] .device-auth-header h1,
body[data-mo-theme="dark"] .device-auth-security h2,
body[data-mo-theme="dark"] .device-auth-email strong,
body[data-mo-theme="dark"] .device-auth-code-wrap label,
body[data-mo-theme="dark"] .device-auth-login-link,
body[data-mo-theme="dark"] .device-auth-modal-header h2,
body[data-mo-theme="dark"] .device-auth-modal-message-title {
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .device-auth-header p,
body[data-mo-theme="dark"] .device-auth-security p,
body[data-mo-theme="dark"] .device-auth-email small,
body[data-mo-theme="dark"] .device-auth-tips div,
body[data-mo-theme="dark"] .device-auth-modal-header p {
  color: var(--mo-color-text-label);
}

body[data-mo-theme="dark"] .device-auth-security,
body[data-mo-theme="dark"] .device-auth-security-icon,
body[data-mo-theme="dark"] .device-auth-email,
body[data-mo-theme="dark"] .device-auth-modal-message,
body[data-mo-theme="dark"] .login-access-message,
body[data-mo-theme="dark"] .login-access-support-link {
  border-color: var(--mo-color-border);
  background: var(--mo-color-bg-surface-subtle);
  color: var(--mo-color-text-secondary);
}

body[data-mo-theme="dark"] .device-auth-tips,
body[data-mo-theme="dark"] .device-auth-footer,
body[data-mo-theme="dark"] .device-auth-modal-actions,
body[data-mo-theme="dark"] .login-access-actions {
  border-color: var(--mo-color-border);
}

body[data-mo-theme="dark"] .device-auth-security-icon,
body[data-mo-theme="dark"] .device-auth-email i,
body[data-mo-theme="dark"] .device-auth-tips i,
body[data-mo-theme="dark"] .login-access-message-title,
body[data-mo-theme="dark"] .login-access-error-text,
body[data-mo-theme="dark"] .login-access-support-text,
body[data-mo-theme="dark"] .login-access-support-text i,
body[data-mo-theme="dark"] .login-access-support-link {
  color: var(--mo-color-text-secondary);
}

body[data-mo-theme="dark"].mo-public-renewal-page #row-pref,
body[data-mo-theme="dark"].mo-public-renewal-page #div-qrcode {
  color: var(--mo-color-text-secondary);
}

body[data-mo-theme="dark"] .page-wrapper {
  background: var(--mo-color-bg-page);
}

body[data-mo-theme="dark"] .page-titles {
  background: var(--mo-color-bg-page);
  color: var(--mo-color-text-secondary);
}

body[data-mo-theme="dark"] .breadcrumb-item,
body[data-mo-theme="dark"] .breadcrumb-item a {
  color: var(--mo-color-text-label);
}

body[data-mo-theme="dark"] .breadcrumb-item.active {
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .breadcrumb-item + .breadcrumb-item::before {
  color: var(--mo-color-text-muted);
}

body[data-mo-theme="dark"] .topbar,
body[data-mo-theme="dark"] .topbar .navbar-header,
body[data-mo-theme="dark"] .topbar .navbar-collapse {
  background: var(--mo-color-bg-surface);
}

body[data-mo-theme="dark"] .left-sidebar,
body[data-mo-theme="dark"] .sidebar-nav {
  background: var(--mo-color-bg-sidebar);
}

body[data-mo-theme="dark"] .sidebar-nav ul li.nav-small-cap {
  color: var(--mo-color-text-muted);
}

body[data-mo-theme="dark"] .sidebar-nav ul li a.active,
body[data-mo-theme="dark"] .sidebar-nav ul li a:hover,
body[data-mo-theme="dark"] .sidebar-nav ul li a:focus,
body[data-mo-theme="dark"] .sidebar-nav ul li a.active i,
body[data-mo-theme="dark"] .sidebar-nav ul li a:hover i,
body[data-mo-theme="dark"] .sidebar-nav ul li a:focus i {
  color: var(--mo-color-sidebar-text-active);
}

body[data-mo-theme="dark"] .logo-text,
body[data-mo-theme="dark"] .logo-text-sm,
body[data-mo-theme="dark"] h1,
body[data-mo-theme="dark"] h2,
body[data-mo-theme="dark"] h3,
body[data-mo-theme="dark"] h4,
body[data-mo-theme="dark"] h5,
body[data-mo-theme="dark"] h6,
body[data-mo-theme="dark"] .card .card-title,
body[data-mo-theme="dark"] .card .card-title-dashboard,
body[data-mo-theme="dark"] .card .card-value {
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .mo-shell-logo-light {
  display: none !important;
}

body[data-mo-theme="dark"] .mo-shell-logo-dark {
  display: inline-block !important;
}

body[data-mo-theme="dark"] .mo-appearance-option {
  border-color: rgba(174, 187, 200, 0.11) !important;
  background: var(--mo-color-bg-surface-subtle);
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

body[data-mo-theme="dark"] .mo-appearance-option.is-selected {
  border-color: rgba(32, 174, 227, 0.72) !important;
  background: rgba(32, 174, 227, 0.08);
  box-shadow: 0 0 0 1px rgba(32, 174, 227, 0.12);
}

body[data-mo-theme="dark"] .dashboard-card-decorative-icon {
  color: var(--mo-color-text-label) !important;
  opacity: 0.26 !important;
}

body[data-mo-theme="dark"] .text-muted,
body[data-mo-theme="dark"] .card .card-subtitle {
  color: var(--mo-color-text-muted) !important;
}

body[data-mo-theme="dark"] #os-secao-dados .body-color,
body[data-mo-theme="dark"] #venda-secao-dados .body-color,
body[data-mo-theme="dark"] #compra-secao-dados .body-color {
  color: var(--mo-color-text-secondary) !important;
}

body[data-mo-theme="dark"] .card:not(.card-inverse),
body[data-mo-theme="dark"] .card-body,
body[data-mo-theme="dark"] .card-header,
body[data-mo-theme="dark"] .card-footer {
  border-color: var(--mo-color-border);
  background-color: var(--mo-color-bg-surface);
  color: var(--mo-color-text-secondary);
}

body[data-mo-theme="dark"] .card-box-shadow .card {
  box-shadow: var(--mo-shadow-card);
}

body[data-mo-theme="dark"] .card-body {
  box-shadow: var(--mo-shadow-card-body);
}

body[data-mo-theme="dark"] .dropdown-menu,
body[data-mo-theme="dark"] .topbar-popover,
body[data-mo-theme="dark"] .topbar-plan-card {
  border-color: var(--mo-color-border-control);
  background: var(--mo-color-bg-surface);
  color: var(--mo-color-text-secondary);
  box-shadow: var(--mo-shadow-dropdown);
}

/* Popovers superiores: elimina o realce branco legado sem afetar menus internos. */
body[data-mo-theme="dark"] #dropdown_search.dropdown-menu,
body[data-mo-theme="dark"] #dropdown_plano.topbar-popover,
body[data-mo-theme="dark"] #dropdown_notificacoes.topbar-popover,
body[data-mo-theme="dark"] #dropdown_login.topbar-popover {
  border-color: var(--mo-color-border-section);
  background: var(--mo-color-bg-surface);
  box-shadow: var(--mo-shadow-dropdown);
}

body[data-mo-theme="dark"] #dropdown_search > .border-bottom {
  border-color: var(--mo-color-border-section) !important;
}

body[data-mo-theme="dark"] #dropdown_search .input-group-text,
body[data-mo-theme="dark"] #dropdown_search #cmdkInput,
body[data-mo-theme="dark"] #dropdown_search #cmdkClear {
  border-color: var(--mo-color-border-control);
  background: var(--mo-color-bg-control) !important;
  color: var(--mo-color-text-secondary);
}

body[data-mo-theme="dark"] #dropdown_search #cmdkInput::placeholder {
  color: var(--mo-color-text-muted);
}

body[data-mo-theme="dark"] #cmdkResults,
body[data-mo-theme="dark"] #cmdkResults .list-group-item {
  background: var(--mo-color-bg-surface);
  color: var(--mo-color-text-secondary);
}

body[data-mo-theme="dark"] #cmdkResults .list-group-item + .list-group-item {
  border-top: 1px solid var(--mo-color-border-table-cell);
}

body[data-mo-theme="dark"] #cmdkResults .cmdk-title {
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] #cmdkResults .cmdk-desc {
  color: var(--mo-color-text-muted);
}

body[data-mo-theme="dark"] #cmdkResults .cmdk-badge {
  border-color: var(--mo-color-border-section);
  background: var(--mo-color-bg-surface-subtle);
  color: var(--mo-color-text-label);
}

body[data-mo-theme="dark"] #cmdkResults .list-group-item:hover,
body[data-mo-theme="dark"] #cmdkResults .list-group-item:focus,
body[data-mo-theme="dark"] #cmdkResults .is-active {
  background: var(--mo-color-bg-row-hover);
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .dropdown-item,
body[data-mo-theme="dark"] .topbar-popover-title,
body[data-mo-theme="dark"] .topbar-popover-heading,
body[data-mo-theme="dark"] .topbar-popover-body,
body[data-mo-theme="dark"] .topbar-info-value,
body[data-mo-theme="dark"] .topbar-plan-name,
body[data-mo-theme="dark"] .topbar-notification-title {
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .dropdown-item:hover,
body[data-mo-theme="dark"] .dropdown-item:focus,
body[data-mo-theme="dark"] .topbar-notification-item:hover {
  background: var(--mo-color-bg-surface-subtle);
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .topbar-popover-header,
body[data-mo-theme="dark"] .topbar-popover-footer {
  border-color: var(--mo-color-border);
  background: var(--mo-color-bg-surface-subtle);
}

body[data-mo-theme="dark"] .topbar-popover-subtitle,
body[data-mo-theme="dark"] .topbar-info-label,
body[data-mo-theme="dark"] .topbar-plan-meta-item,
body[data-mo-theme="dark"] .topbar-notification-desc {
  color: var(--mo-color-text-label);
}

body[data-mo-theme="dark"] .topbar-popover-title-icon,
body[data-mo-theme="dark"] .topbar-info-icon,
body[data-mo-theme="dark"] .topbar-notification-icon {
  color: var(--mo-color-text-primary);
  background: rgba(231, 237, 243, 0.08);
}

body[data-mo-theme="dark"] .topbar-info-row + .topbar-info-row,
body[data-mo-theme="dark"] .topbar-plan-card + .topbar-plan-card,
body[data-mo-theme="dark"] .topbar-notification-item + .topbar-notification-item {
  border-color: var(--mo-color-border-section);
}

body[data-mo-theme="dark"] .preloader {
  background: var(--mo-color-bg-page);
}

/* Botoes, badges e alertas comuns. Cores semanticas permanecem inalteradas. */
body[data-mo-theme="dark"] .btn-secondary,
body[data-mo-theme="dark"] .btn-light,
body[data-mo-theme="dark"] .btn-outline-secondary,
body[data-mo-theme="dark"] .btn-outline-dark {
  border-color: var(--mo-color-border-control);
  background: var(--mo-color-bg-surface-subtle);
  color: var(--mo-color-text-primary) !important;
  box-shadow: none;
}

body[data-mo-theme="dark"] .btn-secondary:hover,
body[data-mo-theme="dark"] .btn-secondary:focus,
body[data-mo-theme="dark"] .btn-light:hover,
body[data-mo-theme="dark"] .btn-light:focus,
body[data-mo-theme="dark"] .btn-outline-secondary:hover,
body[data-mo-theme="dark"] .btn-outline-secondary:focus,
body[data-mo-theme="dark"] .btn-outline-dark:hover,
body[data-mo-theme="dark"] .btn-outline-dark:focus {
  border-color: var(--mo-color-text-muted);
  background: var(--mo-color-bg-row-hover);
  color: var(--mo-color-text-on-strong) !important;
}

body[data-mo-theme="dark"] .btn:focus-visible,
body[data-mo-theme="dark"] .form-control:focus,
body[data-mo-theme="dark"] .form-select:focus,
body[data-mo-theme="dark"] .form-check-input:focus,
body[data-mo-theme="dark"] .page-link:focus {
  border-color: var(--mo-color-focus);
  box-shadow: 0 0 0 0.2rem rgba(107, 199, 236, 0.22);
}

body[data-mo-theme="dark"] .btn:disabled,
body[data-mo-theme="dark"] .btn.disabled {
  opacity: 0.55;
}

body[data-mo-theme="dark"] .badge.bg-light,
body[data-mo-theme="dark"] .badge.bg-secondary,
body[data-mo-theme="dark"] .badge-light,
body[data-mo-theme="dark"] .badge-secondary {
  background: var(--mo-color-bg-row-hover) !important;
  color: var(--mo-color-text-primary) !important;
}

body[data-mo-theme="dark"] .alert {
  border-color: var(--mo-color-border-control);
}

body[data-mo-theme="dark"] .alert-light,
body[data-mo-theme="dark"] .alert-secondary {
  background: var(--mo-color-bg-surface-subtle);
  color: var(--mo-color-text-primary);
}

/* Formularios e estados de validacao. */
body[data-mo-theme="dark"] .form-control,
body[data-mo-theme="dark"] .form-select,
body[data-mo-theme="dark"] .custom-select,
body[data-mo-theme="dark"] .input-group-text {
  border-color: var(--mo-color-border-control);
  background-color: var(--mo-color-bg-control);
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .form-control.bg-white,
body[data-mo-theme="dark"] .form-select.bg-white,
body[data-mo-theme="dark"] .input-group-text.bg-white,
body[data-mo-theme="dark"] .modal .input-group-text.bg-white,
body[data-mo-theme="dark"] .modal .mo-modal-field-icon {
  background-color: var(--mo-color-bg-control) !important;
  border-color: var(--mo-color-border-control) !important;
  color: var(--mo-color-text-label) !important;
}

body[data-mo-theme="dark"] .modal .input-group-text i,
body[data-mo-theme="dark"] .modal .mo-modal-field-icon i {
  color: inherit !important;
}

body[data-mo-theme="dark"] .fin-finalizar-info-toggle.active {
  border-color: rgba(125, 189, 173, 0.72);
  background: var(--mo-color-bg-surface-subtle);
  color: #9adcc8;
}

body[data-mo-theme="dark"] .form-control::placeholder {
  color: var(--mo-color-text-muted);
  opacity: 1;
}

body[data-mo-theme="dark"] .mo-list-toolbar .input-group-append .btn-themecolor-dark {
  border-color: var(--mo-color-border-control);
  background: var(--mo-color-bg-surface-subtle);
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .mo-list-toolbar .input-group-append .btn-themecolor-dark:hover,
body[data-mo-theme="dark"] .mo-list-toolbar .input-group-append .btn-themecolor-dark:focus {
  border-color: var(--mo-color-focus);
  background: var(--mo-color-bg-row-hover);
}

body[data-mo-theme="dark"] .mo-list-toolbar > .row > div > .btn-themecolor-dark,
body[data-mo-theme="dark"] .mo-list-toolbar > .row > div > .btn-group > .btn-themecolor-dark,
body[data-mo-theme="dark"] .mo-list-toolbar #btn_avancada.btn-themecolor-dark {
  border-color: var(--mo-color-border-section);
  background: transparent;
  color: var(--mo-color-text-primary);
  opacity: 1;
}

body[data-mo-theme="dark"] .mo-list-toolbar > .row > div > .btn-themecolor-dark:hover,
body[data-mo-theme="dark"] .mo-list-toolbar > .row > div > .btn-themecolor-dark:focus,
body[data-mo-theme="dark"] .mo-list-toolbar > .row > div > .btn-group > .btn-themecolor-dark:hover,
body[data-mo-theme="dark"] .mo-list-toolbar > .row > div > .btn-group > .btn-themecolor-dark:focus,
body[data-mo-theme="dark"] .mo-list-toolbar > .row > div > .btn-group > .btn-themecolor-dark.dropdown-toggle.show,
body[data-mo-theme="dark"] .mo-list-toolbar #btn_avancada.btn-themecolor-dark:hover,
body[data-mo-theme="dark"] .mo-list-toolbar #btn_avancada.btn-themecolor-dark:focus {
  border-color: var(--mo-color-border-control);
  background: var(--mo-color-bg-surface-subtle);
  color: var(--mo-color-text-primary);
  opacity: 1;
}

body[data-mo-theme="dark"] .form-control:disabled,
body[data-mo-theme="dark"] .form-control[readonly],
body[data-mo-theme="dark"] .form-select:disabled {
  border-color: var(--mo-color-border);
  background-color: var(--mo-color-bg-disabled);
  color: var(--mo-color-text-muted);
}

body[data-mo-theme="dark"] .form-select option {
  background: var(--mo-color-bg-control);
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .form-check-input {
  border-color: var(--mo-color-border-control);
  background-color: var(--mo-color-bg-control);
}

body[data-mo-theme="dark"] .form-check-input:checked {
  border-color: var(--mo-color-action-primary);
  background-color: var(--mo-color-action-primary);
}

body[data-mo-theme="dark"] .invalid-feedback,
body[data-mo-theme="dark"] .text-danger {
  color: #ff8793 !important;
}

body[data-mo-theme="dark"] .is-invalid,
body[data-mo-theme="dark"] .form-control.is-invalid,
body[data-mo-theme="dark"] .form-select.is-invalid {
  border-color: #ff8793;
}

/* Tabelas e paginacao basicas; adaptadores DataTables permanecem na Fase 6. */
body[data-mo-theme="dark"] .table {
  --bs-table-color: var(--mo-color-text-secondary);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--mo-color-border-table-cell);
  --bs-table-striped-color: var(--mo-color-text-secondary);
  --bs-table-striped-bg: var(--mo-color-bg-row-striped);
  --bs-table-hover-color: var(--mo-color-text-primary);
  --bs-table-hover-bg: var(--mo-color-bg-row-hover);

  border-color: var(--mo-color-border-table-cell);
  color: var(--mo-color-text-secondary);
}

body[data-mo-theme="dark"] .table > :not(caption) > * > *,
body[data-mo-theme="dark"] .table td,
body[data-mo-theme="dark"] .table th {
  border-color: var(--mo-color-border-table-cell);
  color: inherit;
}

/* A customTb antiga aplica #f3f1f1 tambem em cada linha. */
body[data-mo-theme="dark"] table.customTb {
  border-color: var(--mo-color-border-table-cell) !important;
}

body[data-mo-theme="dark"] table.customTb > thead > tr {
  border-color: var(--mo-color-border-table-heading) !important;
}

body[data-mo-theme="dark"] table.customTb > tbody > tr {
  border-color: var(--mo-color-border-table-cell) !important;
}

body[data-mo-theme="dark"] table.customTb > thead > tr > th {
  border-color: var(--mo-color-border-table-heading) !important;
  background: var(--mo-color-bg-surface-subtle);
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] table.customTb > tbody > tr > td {
  border-color: var(--mo-color-border-table-cell) !important;
}

/*
 * O template antigo declara a borda da customTb com uma cor clara fixa.
 * Mantemos a estrutura original e neutralizamos apenas essa borda no tema
 * escuro, usando divisorias mais discretas para cabecalho e corpo.
 */
body[data-mo-theme="dark"] .table-responsive.m-t-10 > table.customTb {
  border-color: var(--mo-color-border-table-cell) !important;
}

body[data-mo-theme="dark"] .table-responsive.m-t-10 {
  background: var(--mo-color-bg-surface-subtle);
}

body[data-mo-theme="dark"] .table-responsive.m-t-10 > table.customTb > tbody {
  background: var(--mo-color-bg-surface);
}

body[data-mo-theme="dark"] .table-responsive.m-t-10 > table.customTb > thead > tr > th {
  border-color: var(--mo-color-border-table-heading) !important;
}

body[data-mo-theme="dark"] .table-responsive.m-t-10 > table.customTb > thead > tr {
  border-color: var(--mo-color-border-table-heading) !important;
}

body[data-mo-theme="dark"] .table-responsive.m-t-10 > table.customTb > tbody > tr {
  border-color: var(--mo-color-border-table-cell) !important;
}

body[data-mo-theme="dark"] .table-responsive.m-t-10 > table.customTb > tbody > tr > td {
  border-color: var(--mo-color-border-table-cell) !important;
}

body[data-mo-theme="dark"] .table-responsive.m-t-10 > .customTb thead tr:first-child > :first-child {
  border-top-left-radius: var(--mo-radius-lg);
}

body[data-mo-theme="dark"] .table-responsive.m-t-10 > .customTb thead tr:first-child > :last-child {
  border-top-right-radius: var(--mo-radius-lg);
}

body[data-mo-theme="dark"] .table-responsive.m-t-10 > .customTb tbody tr:last-child > :first-child {
  border-bottom-left-radius: var(--mo-radius-lg);
}

body[data-mo-theme="dark"] .table-responsive.m-t-10 > .customTb tbody tr:last-child > :last-child {
  border-bottom-right-radius: var(--mo-radius-lg);
}

body[data-mo-theme="dark"] .table-light,
body[data-mo-theme="dark"] .table-secondary {
  --bs-table-color: var(--mo-color-text-primary);
  --bs-table-bg: var(--mo-color-bg-surface-subtle);
  --bs-table-border-color: var(--mo-color-border-table-cell);
}

/* Componentes compartilhados pelas telas de OS, Venda e Compra. */
body[data-mo-theme="dark"] .registro-dados-gerais-status {
  border-color: var(--mo-color-border-section);
  background: var(--mo-color-bg-surface-subtle);
}

body[data-mo-theme="dark"] .registro-dados-gerais-status-label {
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .registro-dados-gerais-status-label i {
  color: var(--mo-color-text-label);
}

body[data-mo-theme="dark"] .registro-identificacao-icone-campo,
body[data-mo-theme="dark"] .registro-identificacao-icone-campo.bg-white {
  border-color: var(--mo-color-border-control);
  background: var(--mo-color-bg-surface-subtle) !important;
  color: var(--mo-color-text-label);
}

body[data-mo-theme="dark"] .registro-totalizador-bloco {
  background: var(--mo-color-bg-surface-subtle);
  box-shadow: var(--mo-shadow-card-body);
}

body[data-mo-theme="dark"] .registro-totalizador-grid label {
  color: var(--mo-color-text-label);
}

body[data-mo-theme="dark"] .registro-totalizador-grid .form-control,
body[data-mo-theme="dark"] .registro-totalizador-leitura .form-control {
  border-color: var(--mo-color-border-control);
  background: var(--mo-color-bg-control);
  color: var(--mo-color-text-secondary);
}

body[data-mo-theme="dark"] .registro-totalizador-nota {
  background: var(--mo-color-bg-control);
  color: var(--mo-color-text-label);
}

body[data-mo-theme="dark"] .page-link,
body[data-mo-theme="dark"] .pagination > li > a,
body[data-mo-theme="dark"] .pagination > li > span {
  border-color: var(--mo-color-border-control);
  background: var(--mo-color-bg-surface);
  color: var(--mo-color-text-secondary);
}

body[data-mo-theme="dark"] .page-link:hover,
body[data-mo-theme="dark"] .pagination > li > a:hover,
body[data-mo-theme="dark"] .pagination > li > span:hover {
  background: var(--mo-color-bg-row-hover);
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .page-item.disabled .page-link {
  background: var(--mo-color-bg-disabled);
  color: var(--mo-color-text-muted);
}

body[data-mo-theme="dark"] .page-item.active .page-link {
  border-color: var(--mo-color-action-primary);
  background: var(--mo-color-action-primary);
  color: var(--mo-color-text-on-strong);
}

/* Modais e feedback flutuante basicos. Plugins possuem adaptadores proprios. */
body[data-mo-theme="dark"] .modal-content,
body[data-mo-theme="dark"] .popover,
body[data-mo-theme="dark"] .toast {
  border-color: var(--mo-color-border-control);
  background: var(--mo-color-bg-surface);
  color: var(--mo-color-text-secondary);
  box-shadow: var(--mo-shadow-surface-raised);
}

body[data-mo-theme="dark"] .modal-header,
body[data-mo-theme="dark"] .modal-footer,
body[data-mo-theme="dark"] .toast-header,
body[data-mo-theme="dark"] .popover-header {
  border-color: var(--mo-color-border);
  background: var(--mo-color-bg-surface-subtle);
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .popover-body,
body[data-mo-theme="dark"] .toast-body,
body[data-mo-theme="dark"] .modal-body {
  color: var(--mo-color-text-secondary);
}

body[data-mo-theme="dark"] .btn-close,
body[data-mo-theme="dark"] .close {
  filter: invert(1) grayscale(100%) brightness(180%);
}

body[data-mo-theme="dark"] .tooltip-inner {
  background: #05080c;
  color: var(--mo-color-text-on-strong);
}

/* Listagens operacionais e resumos rapidos. */
body[data-mo-theme="dark"] .registro-lista-resumo-card,
body[data-mo-theme="dark"] .registro-lista-periodo-selecionado,
body[data-mo-theme="dark"] .registro-lista-info-btn,
body[data-mo-theme="dark"] .registro-lista-status-link:not(.active),
body[data-mo-theme="dark"] .resumo-registro-referencia {
  border-color: var(--mo-color-border);
  background: var(--mo-color-bg-surface);
  color: var(--mo-color-text-secondary);
  box-shadow: var(--mo-shadow-card);
}

body[data-mo-theme="dark"] .registro-lista-resumo-label,
body[data-mo-theme="dark"] .registro-lista-periodo-selecionado i,
body[data-mo-theme="dark"] .registro-lista-info-btn,
body[data-mo-theme="dark"] .resumo-registro-subtitulo,
body[data-mo-theme="dark"] .resumo-registro-campo-label,
body[data-mo-theme="dark"] .resumo-registro-item-meta-label,
body[data-mo-theme="dark"] .resumo-registro-itens-cabecalho,
body[data-mo-theme="dark"] .resumo-registro-empty {
  color: var(--mo-color-text-label) !important;
}

body[data-mo-theme="dark"] .registro-lista-resumo-valor,
body[data-mo-theme="dark"] .registro-lista-status-link:not(.active),
body[data-mo-theme="dark"] .registro-lista-info-menu h6,
body[data-mo-theme="dark"] .modal-resumo-rapido .modal-title,
body[data-mo-theme="dark"] .modal-resumo-rapido .modal-title i,
body[data-mo-theme="dark"] .modal-resumo-rapido-nome,
body[data-mo-theme="dark"] .modal-resumo-rapido-valor,
body[data-mo-theme="dark"] .resumo-registro-hero h5,
body[data-mo-theme="dark"] .resumo-registro-section-title,
body[data-mo-theme="dark"] .resumo-registro-campo-valor,
body[data-mo-theme="dark"] .resumo-registro-item-desc,
body[data-mo-theme="dark"] .resumo-registro-item-meta-valor,
body[data-mo-theme="dark"] .resumo-registro-referencia-info {
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .registro-lista-status-link:not(.active):hover,
body[data-mo-theme="dark"] .registro-lista-status-link:not(.active):focus,
body[data-mo-theme="dark"] .registro-lista-info-btn:hover,
body[data-mo-theme="dark"] .registro-lista-info-btn:focus {
  background: var(--mo-color-bg-row-hover);
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .registro-lista-info-menu,
body[data-mo-theme="dark"] .resumo-registro-hero,
body[data-mo-theme="dark"] .resumo-registro-campo,
body[data-mo-theme="dark"] .resumo-registro-itens.com-itens,
body[data-mo-theme="dark"] .resumo-registro-itens-cabecalho,
body[data-mo-theme="dark"] .resumo-registro-empty {
  border-color: var(--mo-color-border);
  background: var(--mo-color-bg-surface-subtle);
  color: var(--mo-color-text-secondary);
}

body[data-mo-theme="dark"] .registro-lista-info-menu p {
  color: var(--mo-color-text-secondary);
}

body[data-mo-theme="dark"] .resumo-registro-item {
  border-color: var(--mo-color-border-table-cell);
}

body[data-mo-theme="dark"] .resumo-registro-item-tipo {
  background: var(--mo-color-bg-row-hover);
  color: var(--mo-color-text-secondary);
}

/* Navegacao mensal propria da Agenda, fora dos botoes do FullCalendar. */
body[data-mo-theme="dark"] .mo-agenda-navigation .btn-default {
  border-color: var(--mo-color-border-control);
  background: var(--mo-color-bg-surface-subtle);
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .mo-agenda-navigation .btn-default:hover,
body[data-mo-theme="dark"] .mo-agenda-navigation .btn-default:focus {
  border-color: var(--mo-color-focus);
  background: var(--mo-color-bg-row-hover);
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .mo-agenda-navigation .text-secondary {
  color: var(--mo-color-text-label) !important;
}

/* Indicador das areas de OS, Venda e Compra. */
body[data-mo-theme="dark"] .registro-area-os {
  border-color: var(--mo-color-border-control);
  color: var(--mo-color-text-label);
}

body[data-mo-theme="dark"] .registro-area-os strong {
  color: var(--mo-color-text-secondary);
}

body[data-mo-theme="dark"] .registro-area-os-icone {
  border-color: var(--mo-color-border-control);
  background: var(--mo-color-bg-surface-subtle);
  color: var(--mo-color-text-label);
}

body[data-mo-theme="dark"] .registro-area-os-ativa,
body[data-mo-theme="dark"] .registro-area-os-link:hover,
body[data-mo-theme="dark"] .registro-area-os-link:focus {
  border-color: var(--mo-color-action-primary);
  color: var(--mo-color-text-primary);
}

body[data-mo-theme="dark"] .registro-area-os-ativa .registro-area-os-icone,
body[data-mo-theme="dark"] .registro-area-os-link:hover .registro-area-os-icone,
body[data-mo-theme="dark"] .registro-area-os-link:focus .registro-area-os-icone {
  border-color: var(--mo-color-action-primary);
  background: var(--mo-color-bg-row-hover);
  color: var(--mo-color-focus);
}

body[data-mo-theme="dark"] .registro-area-os-ativa strong,
body[data-mo-theme="dark"] .registro-area-os-link:hover strong,
body[data-mo-theme="dark"] .registro-area-os-link:focus strong {
  color: var(--mo-color-text-primary);
}
