/*
 * Tema escuro autoritativo do M-Notas.
 *
 * Este arquivo deve ser carregado depois dos estilos base. Os seletores mais
 * específicos neutralizam cores claras fixadas nas views sem alterar o tema
 * claro nem exigir correções isoladas em cada tela.
 */

[data-bs-theme='dark'] {
    color-scheme: dark;

    --dark-canvas: #0d1117;
    --dark-sidebar: #0a0e14;
    --dark-surface: #161b22;
    --dark-surface-raised: #1c2128;
    --dark-surface-muted: #21262d;
    --dark-surface-hover: #292f38;
    --dark-border: #30363d;
    --dark-border-strong: #484f58;
    --dark-text: #f0f6fc;
    --dark-text-secondary: #b1bac4;
    --dark-text-muted: #8b949e;
    --dark-focus: rgba(var(--color-primary-rgb, 88, 166, 255), 0.3);
    --dark-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    --dark-shadow-raised: 0 16px 40px rgba(0, 0, 0, 0.42);

    --bs-body-bg: var(--dark-canvas);
    --bs-body-color: var(--dark-text);
    --bs-emphasis-color: #ffffff;
    --bs-secondary-color: var(--dark-text-secondary);
    --bs-tertiary-color: var(--dark-text-muted);
    --bs-secondary-bg: var(--dark-surface);
    --bs-tertiary-bg: var(--dark-surface-raised);
    --bs-border-color: var(--dark-border);
    --bs-border-color-translucent: rgba(240, 246, 252, 0.12);
    --bs-link-color: #79c0ff;
    --bs-link-hover-color: #a5d6ff;
    --bs-heading-color: var(--dark-text);
    --bs-form-control-bg: var(--dark-surface);
    --bs-form-control-disabled-bg: var(--dark-surface-muted);

    --app-table-head-bg: var(--dark-surface-raised);
    --app-table-border: var(--dark-border);
    --app-table-row-hover: var(--dark-surface-hover);
    --app-shadow-card: 0 1px 0 rgba(240, 246, 252, 0.04), var(--dark-shadow);
    --app-shadow-card-hover: var(--dark-shadow-raised);
}

html[data-bs-theme='dark'],
[data-bs-theme='dark'] body {
    background: var(--dark-canvas) !important;
    color: var(--dark-text) !important;
}

[data-bs-theme='dark'] body::selection {
    color: #ffffff;
    background: rgba(var(--color-primary-rgb, 88, 166, 255), 0.55);
}

[data-bs-theme='dark'] .main-content,
[data-bs-theme='dark'] .admin-content,
[data-bs-theme='dark'] .content-wrapper,
[data-bs-theme='dark'] .dashboard-home {
    background: var(--dark-canvas) !important;
    color: var(--dark-text) !important;
}

/* Texto e separadores */
[data-bs-theme='dark'] .main-content h1,
[data-bs-theme='dark'] .main-content h2,
[data-bs-theme='dark'] .main-content h3,
[data-bs-theme='dark'] .main-content h4,
[data-bs-theme='dark'] .main-content h5,
[data-bs-theme='dark'] .main-content h6,
[data-bs-theme='dark'] .main-content .h1,
[data-bs-theme='dark'] .main-content .h2,
[data-bs-theme='dark'] .main-content .h3,
[data-bs-theme='dark'] .main-content .h4,
[data-bs-theme='dark'] .main-content .h5,
[data-bs-theme='dark'] .main-content .h6,
[data-bs-theme='dark'] .main-content .text-body,
[data-bs-theme='dark'] .main-content .text-dark {
    color: var(--dark-text) !important;
}

[data-bs-theme='dark'] .main-content .text-muted,
[data-bs-theme='dark'] .main-content .text-secondary,
[data-bs-theme='dark'] .main-content small.text-muted {
    color: var(--dark-text-secondary) !important;
}

[data-bs-theme='dark'] .main-content .app-module-header {
    color: var(--dark-text) !important;
    background: transparent !important;
    border-color: var(--dark-border) !important;
    box-shadow: none !important;
}

[data-bs-theme='dark'] .main-content .app-module-header__title {
    color: var(--dark-text) !important;
}

[data-bs-theme='dark'] .main-content .app-module-header__description {
    color: var(--dark-text-secondary) !important;
}

[data-bs-theme='dark'] .main-content hr,
[data-bs-theme='dark'] .main-content .border,
[data-bs-theme='dark'] .main-content .border-top,
[data-bs-theme='dark'] .main-content .border-end,
[data-bs-theme='dark'] .main-content .border-bottom,
[data-bs-theme='dark'] .main-content .border-start {
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .main-content code:not([class*='language-']),
[data-bs-theme='dark'] .main-content pre {
    color: #d2a8ff;
    background: var(--dark-sidebar) !important;
    border-color: var(--dark-border) !important;
}

/* Sidebar e navegação principal */
[data-bs-theme='dark'] .sidebar,
[data-bs-theme='dark'] .sidebar-inner {
    background: var(--dark-sidebar) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text-secondary) !important;
}

[data-bs-theme='dark'] .sidebar-theme-panel {
    background: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    box-shadow: none !important;
}

[data-bs-theme='dark'] .sidebar .logo-container,
[data-bs-theme='dark'] .admin-sidebar .sidebar-logo-slot {
    background-color: transparent !important;
    box-shadow: none !important;
}

[data-bs-theme='dark'] .sidebar-modules-nav .sidebar-section-title,
[data-bs-theme='dark'] .sidebar-theme-heading {
    color: var(--dark-text-secondary) !important;
}

[data-bs-theme='dark'] .sidebar-modules-nav .sidebar-section-sub,
[data-bs-theme='dark'] .sidebar-modules-nav .sidebar-section-chevron,
[data-bs-theme='dark'] .sidebar-version .text-muted {
    color: var(--dark-text-muted) !important;
}

[data-bs-theme='dark'] .sidebar .nav-link {
    color: var(--dark-text-secondary) !important;
    border: 1px solid transparent;
}

[data-bs-theme='dark'] .sidebar .nav-link i {
    color: var(--dark-text-muted) !important;
}

[data-bs-theme='dark'] .sidebar .nav-link:hover,
[data-bs-theme='dark'] .sidebar-modules-nav .sidebar-section-toggle:hover {
    color: var(--dark-text) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .sidebar .nav-link:hover i {
    color: var(--dark-text) !important;
}

[data-bs-theme='dark'] .sidebar .nav-link.active {
    color: #ffffff !important;
    background: var(--dark-surface-muted) !important;
    border-color: var(--dark-border-strong) !important;
    box-shadow: inset 3px 0 0 var(--color-primary, #58a6ff) !important;
}

[data-bs-theme='dark'] .sidebar .nav-link.active i {
    color: var(--color-primary, #58a6ff) !important;
}

[data-bs-theme='dark'] .sidebar-theme-switch .btn,
[data-bs-theme='dark'] .sidebar-toolbar .btn,
[data-bs-theme='dark'] .sidebar-collapse-toggle {
    color: var(--dark-text-secondary) !important;
    background: var(--dark-sidebar) !important;
    border-color: var(--dark-border-strong) !important;
}

[data-bs-theme='dark'] .sidebar-theme-switch .btn:hover,
[data-bs-theme='dark'] .sidebar-theme-switch .btn.active,
[data-bs-theme='dark'] .sidebar-toolbar .btn:hover,
[data-bs-theme='dark'] .sidebar-collapse-toggle:hover {
    color: #ffffff !important;
    background: var(--dark-surface-hover) !important;
    border-color: var(--dark-text-muted) !important;
}

[data-bs-theme='dark'] .bottom-nav-mobile {
    color: var(--dark-text-secondary) !important;
    background: rgba(13, 17, 23, 0.96) !important;
    border-color: var(--dark-border) !important;
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.35) !important;
    backdrop-filter: blur(14px);
}

/* Superfícies */
[data-bs-theme='dark'] .main-content .card,
[data-bs-theme='dark'] .main-content .modal-content,
[data-bs-theme='dark'] .main-content .offcanvas,
[data-bs-theme='dark'] .main-content .accordion-item,
[data-bs-theme='dark'] .main-content .list-group-item,
[data-bs-theme='dark'] .main-content .toast,
[data-bs-theme='dark'] .main-content .popover {
    color: var(--dark-text) !important;
    background: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    box-shadow: var(--dark-shadow);
}

[data-bs-theme='dark'] .main-content .card-header,
[data-bs-theme='dark'] .main-content .card-footer,
[data-bs-theme='dark'] .main-content .modal-header,
[data-bs-theme='dark'] .main-content .modal-footer,
[data-bs-theme='dark'] .main-content .offcanvas-header,
[data-bs-theme='dark'] .main-content .accordion-header,
[data-bs-theme='dark'] .main-content .bg-white,
[data-bs-theme='dark'] .main-content .bg-light,
[data-bs-theme='dark'] .main-content .bg-light-subtle,
[data-bs-theme='dark'] .main-content [style*='background: #fff'],
[data-bs-theme='dark'] .main-content [style*='background:#fff'],
[data-bs-theme='dark'] .main-content [style*='background-color: #fff'],
[data-bs-theme='dark'] .main-content [style*='background-color:#fff'],
[data-bs-theme='dark'] .main-content [style*='background: white'],
[data-bs-theme='dark'] .main-content [style*='background-color: white'] {
    color: var(--dark-text) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .main-content [style*='background: #f8f9fa'],
[data-bs-theme='dark'] .main-content [style*='background:#f8f9fa'],
[data-bs-theme='dark'] .main-content [style*='background-color: #f8f9fa'],
[data-bs-theme='dark'] .main-content [style*='background-color:#f8f9fa'] {
    color: var(--dark-text) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .main-content .card-header .card-title,
[data-bs-theme='dark'] .main-content .card-footer,
[data-bs-theme='dark'] .main-content .modal-title,
[data-bs-theme='dark'] .main-content .offcanvas-title {
    color: var(--dark-text) !important;
}

[data-bs-theme='dark'] .main-content .shadow,
[data-bs-theme='dark'] .main-content .shadow-sm,
[data-bs-theme='dark'] .main-content .shadow-lg {
    box-shadow: var(--dark-shadow) !important;
}

/* Formulários */
[data-bs-theme='dark'] .main-content .form-control,
[data-bs-theme='dark'] .main-content .form-select,
[data-bs-theme='dark'] .main-content .input-group-text,
[data-bs-theme='dark'] .main-content .form-control-plaintext,
[data-bs-theme='dark'] .main-content .select-with-filter,
[data-bs-theme='dark'] .main-content .select-filter-input {
    color: var(--dark-text) !important;
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border-strong) !important;
}

[data-bs-theme='dark'] .main-content .form-control::placeholder,
[data-bs-theme='dark'] .main-content textarea::placeholder,
[data-bs-theme='dark'] .main-content .select-filter-input::placeholder {
    color: var(--dark-text-muted) !important;
    opacity: 1;
}

[data-bs-theme='dark'] .main-content .form-control:focus,
[data-bs-theme='dark'] .main-content .form-select:focus,
[data-bs-theme='dark'] .main-content .form-check-input:focus,
[data-bs-theme='dark'] .main-content .select-with-filter:focus,
[data-bs-theme='dark'] .main-content .select-filter-input:focus {
    color: #ffffff !important;
    background-color: var(--dark-surface-raised) !important;
    border-color: var(--color-primary, #58a6ff) !important;
    box-shadow: 0 0 0 0.2rem var(--dark-focus) !important;
}

[data-bs-theme='dark'] .main-content .form-control:disabled,
[data-bs-theme='dark'] .main-content .form-select:disabled,
[data-bs-theme='dark'] .main-content .form-control[readonly],
[data-bs-theme='dark'] .main-content .form-control.bg-light {
    color: var(--dark-text-secondary) !important;
    background-color: var(--dark-surface-muted) !important;
    border-color: var(--dark-border) !important;
    opacity: 1;
}

[data-bs-theme='dark'] .main-content .form-check-input {
    background-color: var(--dark-surface-raised);
    border-color: var(--dark-border-strong);
}

[data-bs-theme='dark'] .main-content .form-check-input:checked {
    background-color: var(--color-primary, #0d6efd);
    border-color: var(--color-primary, #0d6efd);
}

[data-bs-theme='dark'] .main-content .form-label,
[data-bs-theme='dark'] .main-content .form-check-label {
    color: var(--dark-text-secondary);
}

[data-bs-theme='dark'] .main-content option {
    color: var(--dark-text);
    background: var(--dark-surface);
}

/* Tabelas e listagens */
[data-bs-theme='dark'] .main-content .table-responsive,
[data-bs-theme='dark'] .main-content .app-table-responsive {
    background: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .main-content .table {
    --bs-table-bg: var(--dark-surface);
    --bs-table-color: var(--dark-text);
    --bs-table-striped-bg: var(--dark-surface-raised);
    --bs-table-striped-color: var(--dark-text);
    --bs-table-hover-bg: var(--dark-surface-hover);
    --bs-table-hover-color: #ffffff;
    --bs-table-border-color: var(--dark-border);
    color: var(--dark-text) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .main-content .table > :not(caption) > * > * {
    color: var(--dark-text) !important;
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    box-shadow: none;
}

[data-bs-theme='dark'] .main-content .table thead th,
[data-bs-theme='dark'] .main-content .table thead td,
[data-bs-theme='dark'] .main-content .table-light > :not(caption) > * > *,
[data-bs-theme='dark'] .main-content .table [style*='linear-gradient'] {
    color: var(--dark-text-secondary) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border-strong) !important;
}

[data-bs-theme='dark'] .main-content .table-striped > tbody > tr:nth-of-type(odd) > * {
    color: var(--dark-text) !important;
    background: var(--dark-surface-raised) !important;
}

[data-bs-theme='dark'] .main-content .table-hover > tbody > tr:hover > *,
[data-bs-theme='dark'] .main-content .table tbody > tr:hover > * {
    color: #ffffff !important;
    background: var(--dark-surface-hover) !important;
}

[data-bs-theme='dark'] .main-content .table tbody td strong,
[data-bs-theme='dark'] .main-content .table tbody td .fw-bold:not(.badge),
[data-bs-theme='dark'] .main-content .table tbody td .fw-semibold:not(.badge),
[data-bs-theme='dark'] .main-content .table tbody td a:not(.btn):not(.dropdown-item) {
    color: var(--dark-text) !important;
}

[data-bs-theme='dark'] .main-content .table tbody td .text-muted,
[data-bs-theme='dark'] .main-content .table tbody td .text-secondary {
    color: var(--dark-text-secondary) !important;
}

[data-bs-theme='dark'] .main-content .sticky-actions,
[data-bs-theme='dark'] .main-content .col-acoes,
[data-bs-theme='dark'] .main-content td[style*='position: sticky'],
[data-bs-theme='dark'] .main-content th[style*='position: sticky'] {
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border) !important;
}

/* Menus, abas e paginação */
[data-bs-theme='dark'] .dropdown-menu,
[data-bs-theme='dark'] .main-content .dropdown-menu,
[data-bs-theme='dark'] .main-content .select-filter-dropdown {
    color: var(--dark-text) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border-strong) !important;
    box-shadow: var(--dark-shadow-raised) !important;
}

[data-bs-theme='dark'] .dropdown-item,
[data-bs-theme='dark'] .main-content .dropdown-item,
[data-bs-theme='dark'] .main-content .select-filter-option {
    color: var(--dark-text-secondary) !important;
    background: transparent !important;
}

[data-bs-theme='dark'] .dropdown-item:hover,
[data-bs-theme='dark'] .dropdown-item:focus,
[data-bs-theme='dark'] .dropdown-item.active,
[data-bs-theme='dark'] .main-content .select-filter-option:hover,
[data-bs-theme='dark'] .main-content .select-filter-option:focus,
[data-bs-theme='dark'] .main-content .select-filter-option.active,
[data-bs-theme='dark'] .main-content .select-filter-option.selected {
    color: #ffffff !important;
    background: var(--dark-surface-hover) !important;
}

[data-bs-theme='dark'] .main-content .select-filter-option.disabled,
[data-bs-theme='dark'] .main-content .select-filter-no-results {
    color: var(--dark-text-muted) !important;
    background: var(--dark-surface) !important;
}

[data-bs-theme='dark'] .main-content .select-filter-toggle {
    color: var(--dark-text-muted) !important;
}

[data-bs-theme='dark'] .main-content .select-filter-toggle:hover,
[data-bs-theme='dark'] .main-content .select-filter-toggle.active {
    color: #ffffff !important;
    background: var(--dark-surface-hover) !important;
}

[data-bs-theme='dark'] .dropdown-divider {
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .main-content .nav-tabs {
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .main-content .nav-tabs .nav-link {
    color: var(--dark-text-secondary) !important;
    background: transparent !important;
    border-color: transparent !important;
}

[data-bs-theme='dark'] .main-content .nav-tabs .nav-link:hover {
    color: #ffffff !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .main-content .nav-tabs .nav-link.active {
    color: #ffffff !important;
    background: var(--dark-surface) !important;
    border-color: var(--dark-border) var(--dark-border) var(--dark-surface) !important;
    box-shadow: inset 0 2px 0 var(--color-primary, #58a6ff);
}

[data-bs-theme='dark'] .main-content .page-link {
    color: var(--dark-text-secondary) !important;
    background: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .main-content .page-link:hover,
[data-bs-theme='dark'] .main-content .page-item.active .page-link {
    color: #ffffff !important;
    background: var(--dark-surface-hover) !important;
    border-color: var(--dark-border-strong) !important;
}

[data-bs-theme='dark'] .main-content .page-item.disabled .page-link {
    color: var(--dark-text-muted) !important;
    background: var(--dark-sidebar) !important;
}

/* Accordions */
[data-bs-theme='dark'] .main-content .accordion-button {
    color: var(--dark-text) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border) !important;
    box-shadow: none !important;
}

[data-bs-theme='dark'] .main-content .accordion-button:not(.collapsed) {
    color: #ffffff !important;
    background: var(--dark-surface-muted) !important;
    box-shadow: inset 3px 0 0 var(--color-primary, #58a6ff) !important;
}

[data-bs-theme='dark'] .main-content .accordion-button::after {
    filter: invert(1) grayscale(1);
}

/* Botões */
[data-bs-theme='dark'] .main-content .btn-outline-secondary,
[data-bs-theme='dark'] .main-content .btn-outline-dark,
[data-bs-theme='dark'] .main-content .btn-light {
    color: var(--dark-text-secondary) !important;
    background: transparent !important;
    border-color: var(--dark-border-strong) !important;
}

[data-bs-theme='dark'] .main-content .btn-outline-secondary:hover,
[data-bs-theme='dark'] .main-content .btn-outline-dark:hover,
[data-bs-theme='dark'] .main-content .btn-light:hover,
[data-bs-theme='dark'] .main-content .btn-outline-secondary.show {
    color: #ffffff !important;
    background: var(--dark-surface-hover) !important;
    border-color: var(--dark-text-muted) !important;
}

[data-bs-theme='dark'] .main-content .btn-close {
    filter: invert(1) grayscale(1) brightness(1.8);
}

/* Badges e alertas: mantém significado sem perder contraste. */
[data-bs-theme='dark'] .main-content .badge.bg-light,
[data-bs-theme='dark'] .main-content .badge.bg-dark-soft,
[data-bs-theme='dark'] .main-content .badge.bg-neutral {
    color: var(--dark-text) !important;
    background: var(--dark-surface-hover) !important;
    border-color: var(--dark-border-strong) !important;
}

[data-bs-theme='dark'] .main-content .bg-warning.text-dark,
[data-bs-theme='dark'] .main-content .badge.bg-warning.text-dark,
[data-bs-theme='dark'] .main-content .alert-warning .text-dark {
    color: #1f2328 !important;
}

[data-bs-theme='dark'] .main-content .alert {
    border-width: 1px;
    box-shadow: none;
}

[data-bs-theme='dark'] .main-content .alert-info {
    color: #a5d6ff;
    background: rgba(31, 111, 235, 0.14);
    border-color: rgba(88, 166, 255, 0.38);
}

[data-bs-theme='dark'] .main-content .alert-success {
    color: #7ee787;
    background: rgba(35, 134, 54, 0.14);
    border-color: rgba(63, 185, 80, 0.38);
}

[data-bs-theme='dark'] .main-content .alert-warning {
    color: #e3b341;
    background: rgba(158, 106, 3, 0.16);
    border-color: rgba(210, 153, 34, 0.42);
}

[data-bs-theme='dark'] .main-content .alert-danger {
    color: #ffb3ba;
    background: rgba(218, 54, 51, 0.14);
    border-color: rgba(248, 81, 73, 0.4);
}

/* Dashboard */
[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-status-tile,
[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-kpi-tile,
[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-chart-card,
[data-bs-theme='dark'] .main-content .dashboard-home .card-produtos,
[data-bs-theme='dark'] .main-content .dashboard-home .card-clientes,
[data-bs-theme='dark'] .main-content .dashboard-home .card-notas-total,
[data-bs-theme='dark'] .main-content .dashboard-home .card-imposto-classes,
[data-bs-theme='dark'] .main-content .dashboard-home .card-valor-total,
[data-bs-theme='dark'] .main-content .dashboard-home .card-nfe,
[data-bs-theme='dark'] .main-content .dashboard-home .card-nfce,
[data-bs-theme='dark'] .main-content .dashboard-home .card-ticket-medio {
    color: var(--dark-text) !important;
    background: var(--dark-surface) !important;
    border: 1px solid var(--dark-border) !important;
    box-shadow: var(--dark-shadow) !important;
}

[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-status-tile:hover,
[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-kpi-tile:hover,
[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-chart-card:hover {
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border-strong) !important;
    box-shadow: var(--dark-shadow-raised) !important;
}

[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-status-footer,
[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-kpi-footer,
[data-bs-theme='dark'] .main-content .dashboard-home .card-footer {
    color: var(--dark-text-secondary) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-status-title,
[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-status-sub,
[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-status-foot-inner,
[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-kpi-tile .card-title,
[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-kpi-tile .card-text,
[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-kpi-tile small,
[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-kpi-tile a {
    color: var(--dark-text) !important;
}

[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-status-hero-icon,
[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-kpi-tile i {
    color: var(--color-primary, #58a6ff) !important;
}

[data-bs-theme='dark'] .main-content .dashboard-home .dashboard-model-tag {
    color: var(--dark-text-secondary) !important;
    background: var(--dark-surface-hover) !important;
    border-color: var(--dark-border-strong) !important;
}

/* Emissão de nota e telas com painéis locais */
[data-bs-theme='dark'] .main-content .emissao-resumo-itens-wrap,
[data-bs-theme='dark'] .main-content #logContainer,
[data-bs-theme='dark'] .main-content #modalDetalhesBody,
[data-bs-theme='dark'] .main-content .xml-container {
    color: var(--dark-text) !important;
    background: var(--dark-sidebar) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .main-content .emissao-resumo-itens-table,
[data-bs-theme='dark'] .main-content .emissao-resumo-itens-table tbody td {
    color: var(--dark-text-secondary) !important;
}

[data-bs-theme='dark'] .main-content .emissao-resumo-itens-table thead th {
    color: var(--dark-text-secondary) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .main-content .tipo-cliente-card {
    color: var(--dark-text-secondary) !important;
    background: var(--dark-surface) !important;
    border-color: var(--dark-border-strong) !important;
}

[data-bs-theme='dark'] .main-content .btn-check:checked + .tipo-cliente-card {
    color: #ffffff !important;
    background: var(--dark-surface-hover) !important;
    border-color: var(--color-primary, #58a6ff) !important;
    box-shadow: 0 0 0 0.2rem var(--dark-focus) !important;
}

/* Modais podem ser renderizados diretamente sob o body. */
[data-bs-theme='dark'] body > .modal .modal-content,
[data-bs-theme='dark'] body > .offcanvas {
    color: var(--dark-text) !important;
    background: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    box-shadow: var(--dark-shadow-raised) !important;
}

[data-bs-theme='dark'] body > .modal .modal-header,
[data-bs-theme='dark'] body > .modal .modal-footer,
[data-bs-theme='dark'] body > .offcanvas .offcanvas-header {
    color: var(--dark-text) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] body > .modal .modal-body,
[data-bs-theme='dark'] body > .offcanvas .offcanvas-body {
    color: var(--dark-text) !important;
    background: var(--dark-surface) !important;
}

[data-bs-theme='dark'] body > .modal .btn-close,
[data-bs-theme='dark'] body > .offcanvas .btn-close {
    filter: invert(1) grayscale(1) brightness(1.8);
}

/* Seletor de tenant possui estilos locais com !important. */
[data-bs-theme='dark'] #tenant-switcher-component .tenant-switcher-menu {
    color: var(--dark-text) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border-strong) !important;
    box-shadow: var(--dark-shadow-raised) !important;
}

[data-bs-theme='dark'] #tenant-switcher-component .tenant-switcher-menu .sticky-top,
[data-bs-theme='dark'] #tenant-switcher-component .tenant-switcher-menu .bg-white,
[data-bs-theme='dark'] #tenant-switcher-component .tenant-switcher-menu .bg-light,
[data-bs-theme='dark'] #tenant-switcher-component .tenant-switcher-menu .input-group-text,
[data-bs-theme='dark'] #tenant-switcher-component .tenant-switcher-menu .form-control {
    color: var(--dark-text) !important;
    background: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] #tenant-switcher-component .dropdown-item {
    color: var(--dark-text-secondary) !important;
    background: transparent !important;
}

[data-bs-theme='dark'] #tenant-switcher-component .dropdown-item:hover:not(.active) {
    color: #ffffff !important;
    background: var(--dark-surface-hover) !important;
}

[data-bs-theme='dark'] #tenant-switcher-component .dropdown-item.active {
    color: #ffffff !important;
    background: var(--dark-surface-hover) !important;
    border-left-color: var(--color-primary, #58a6ff) !important;
}

[data-bs-theme='dark'] #tenant-switcher-component .dropdown-item.active .text-muted,
[data-bs-theme='dark'] #tenant-switcher-component .dropdown-item.active .text-white-50,
[data-bs-theme='dark'] #tenant-switcher-component .dropdown-header {
    color: var(--dark-text-muted) !important;
}

[data-bs-theme='dark'] .btn-header-tenant,
[data-bs-theme='dark'] .btn-header-tenant:hover {
    color: var(--dark-text) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border-strong) !important;
    box-shadow: none !important;
}

[data-bs-theme='dark'] .btn-header-tenant .tenant-context-copy strong {
    color: var(--dark-text) !important;
}

[data-bs-theme='dark'] .btn-header-tenant .tenant-context-copy small {
    color: var(--dark-text-muted) !important;
}

/* Layout administrativo */
[data-bs-theme='dark'] .admin-main {
    color: var(--dark-text) !important;
    background: var(--dark-canvas) !important;
}

[data-bs-theme='dark'] .admin-topbar {
    color: var(--dark-text) !important;
    background: rgba(22, 27, 34, 0.94) !important;
    border-color: var(--dark-border) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28) !important;
}

[data-bs-theme='dark'] .admin-topbar .admin-topbar-title,
[data-bs-theme='dark'] .admin-topbar .btn-link {
    color: var(--dark-text) !important;
}

[data-bs-theme='dark'] .admin-topbar .btn-outline-secondary,
[data-bs-theme='dark'] .admin-topbar .bg-white {
    color: var(--dark-text-secondary) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border-strong) !important;
}

[data-bs-theme='dark'] .admin-topbar .btn-outline-secondary:hover,
[data-bs-theme='dark'] .admin-topbar .btn-link:hover {
    color: #ffffff !important;
    background: var(--dark-surface-hover) !important;
    border-color: var(--dark-text-muted) !important;
}

[data-bs-theme='dark'] .admin-sidebar {
    color: var(--dark-text-secondary) !important;
    background:
        radial-gradient(circle at 20% 0%, rgba(var(--color-primary-rgb, 88, 166, 255), 0.16), transparent 32%),
        linear-gradient(180deg, #0b1118 0%, #0a0e14 100%) !important;
    border-right-color: var(--dark-border) !important;
    box-shadow: 10px 0 30px rgba(0, 0, 0, 0.38) !important;
}

[data-bs-theme='dark'] .admin-sidebar .sidebar-header {
    background: rgba(255, 255, 255, 0.035) !important;
    border-bottom-color: rgba(240, 246, 252, 0.1) !important;
}

[data-bs-theme='dark'] .admin-sidebar .sidebar-scroll::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.03) !important;
}

[data-bs-theme='dark'] .admin-sidebar .sidebar-scroll::-webkit-scrollbar-thumb {
    background: rgba(240, 246, 252, 0.18) !important;
}

[data-bs-theme='dark'] .admin-sidebar .nav-category {
    color: #d6e2f0 !important;
}

[data-bs-theme='dark'] .admin-sidebar .nav-item .nav-link {
    color: #dbe4ef !important;
    background: transparent !important;
    border-left-color: transparent !important;
}

[data-bs-theme='dark'] .admin-sidebar .nav-item .nav-link i {
    color: #9fb0c7 !important;
}

[data-bs-theme='dark'] .admin-sidebar .nav-item .nav-link:hover,
[data-bs-theme='dark'] .admin-sidebar .nav-item .nav-link:focus {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-left-color: rgba(255, 255, 255, 0.24) !important;
}

[data-bs-theme='dark'] .admin-sidebar .nav-item .nav-link:hover i,
[data-bs-theme='dark'] .admin-sidebar .nav-item .nav-link:focus i {
    color: #ffffff !important;
}

[data-bs-theme='dark'] .admin-sidebar .nav-item .nav-link.active {
    color: #ffffff !important;
    background: linear-gradient(90deg, rgba(var(--color-primary-rgb, 88, 166, 255), 0.28), rgba(255, 255, 255, 0.055)) !important;
    border-left-color: var(--color-primary-lighter, #a5d6ff) !important;
    box-shadow:
        inset 0 0 0 1px rgba(var(--color-primary-rgb, 88, 166, 255), 0.22),
        0 10px 22px rgba(0, 0, 0, 0.18) !important;
}

[data-bs-theme='dark'] .admin-sidebar .nav-item .nav-link.active i {
    color: var(--color-primary-lighter, #a5d6ff) !important;
    filter: drop-shadow(0 0 8px rgba(var(--color-primary-rgb, 88, 166, 255), 0.5)) !important;
}

[data-bs-theme='dark'] .admin-sidebar .nav-item .nav-link.text-danger {
    color: #fca5a5 !important;
}

[data-bs-theme='dark'] .admin-sidebar .nav-item .nav-link.text-danger i {
    color: #fca5a5 !important;
}

[data-bs-theme='dark'] body.sidebar-collapsed .admin-sidebar .nav-item .nav-link.active {
    border-left-color: transparent !important;
    box-shadow:
        inset 0 0 0 1px rgba(var(--color-primary-rgb, 88, 166, 255), 0.32),
        0 10px 22px rgba(0, 0, 0, 0.22) !important;
}

[data-bs-theme='dark'] .admin-content {
    color: var(--dark-text) !important;
    background: var(--dark-canvas) !important;
}

[data-bs-theme='dark'] .admin-footer {
    color: var(--dark-text-muted) !important;
    background: var(--dark-sidebar) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .admin-content h1,
[data-bs-theme='dark'] .admin-content h2,
[data-bs-theme='dark'] .admin-content h3,
[data-bs-theme='dark'] .admin-content h4,
[data-bs-theme='dark'] .admin-content h5,
[data-bs-theme='dark'] .admin-content h6,
[data-bs-theme='dark'] .admin-content .text-dark,
[data-bs-theme='dark'] .admin-content .text-body {
    color: var(--dark-text) !important;
}

[data-bs-theme='dark'] .admin-content .text-muted,
[data-bs-theme='dark'] .admin-content .text-secondary {
    color: var(--dark-text-secondary) !important;
}

[data-bs-theme='dark'] .admin-content .card,
[data-bs-theme='dark'] .admin-content .modal-content,
[data-bs-theme='dark'] .admin-content .offcanvas,
[data-bs-theme='dark'] .admin-content .list-group-item {
    color: var(--dark-text) !important;
    background: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    box-shadow: var(--dark-shadow) !important;
}

[data-bs-theme='dark'] .admin-content .card-header,
[data-bs-theme='dark'] .admin-content .card-footer,
[data-bs-theme='dark'] .admin-content .bg-white,
[data-bs-theme='dark'] .admin-content .bg-light,
[data-bs-theme='dark'] .admin-content .bg-light-subtle {
    color: var(--dark-text) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .admin-content .form-control,
[data-bs-theme='dark'] .admin-content .form-select,
[data-bs-theme='dark'] .admin-content .input-group-text {
    color: var(--dark-text) !important;
    background: var(--dark-surface) !important;
    border-color: var(--dark-border-strong) !important;
}

[data-bs-theme='dark'] .admin-content .form-control:focus,
[data-bs-theme='dark'] .admin-content .form-select:focus {
    color: #ffffff !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--color-primary, #58a6ff) !important;
    box-shadow: 0 0 0 0.2rem var(--dark-focus) !important;
}

[data-bs-theme='dark'] .admin-content .table-responsive {
    background: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    box-shadow: var(--dark-shadow) !important;
}

[data-bs-theme='dark'] .admin-content .table {
    --bs-table-bg: var(--dark-surface);
    --bs-table-color: var(--dark-text);
    --bs-table-striped-bg: var(--dark-surface-raised);
    --bs-table-striped-color: var(--dark-text);
    --bs-table-hover-bg: var(--dark-surface-hover);
    --bs-table-hover-color: #ffffff;
    --bs-table-border-color: var(--dark-border);
    color: var(--dark-text) !important;
}

[data-bs-theme='dark'] .admin-content .table > :not(caption) > * > *,
[data-bs-theme='dark'] .admin-content .table tbody td,
[data-bs-theme='dark'] .admin-content .table th:last-child,
[data-bs-theme='dark'] .admin-content .table td:last-child {
    color: var(--dark-text) !important;
    background: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
}

[data-bs-theme='dark'] .admin-content .table thead th,
[data-bs-theme='dark'] .admin-content .table thead th:last-child,
[data-bs-theme='dark'] .admin-content .table-light > :not(caption) > * > * {
    color: var(--dark-text-secondary) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border-strong) !important;
}

[data-bs-theme='dark'] .admin-content .table-hover tbody tr:hover td,
[data-bs-theme='dark'] .admin-content .table-hover tbody tr:hover td:last-child {
    color: #ffffff !important;
    background: var(--dark-surface-hover) !important;
}

[data-bs-theme='dark'] .admin-content .alert-secondary {
    color: var(--dark-text-secondary) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border) !important;
}

/* Autenticação e recuperação de acesso */
[data-bs-theme='dark'] .login-main-container,
[data-bs-theme='dark'] .form-pane,
[data-bs-theme='dark'] .reset-wrapper,
[data-bs-theme='dark'] .container-fluid:has(.reset-wrapper) {
    color: var(--dark-text) !important;
    background: var(--dark-canvas) !important;
}

[data-bs-theme='dark'] .banner-pane {
    background: linear-gradient(145deg, #0a0e14 0%, #172033 100%) !important;
}

[data-bs-theme='dark'] .login-card,
[data-bs-theme='dark'] .reset-card {
    color: var(--dark-text) !important;
    background: var(--dark-surface) !important;
    border: 1px solid var(--dark-border) !important;
    box-shadow: var(--dark-shadow-raised) !important;
}

[data-bs-theme='dark'] .login-card h1,
[data-bs-theme='dark'] .login-card h2,
[data-bs-theme='dark'] .login-card h3,
[data-bs-theme='dark'] .login-card h4,
[data-bs-theme='dark'] .login-card h5,
[data-bs-theme='dark'] .reset-card h1,
[data-bs-theme='dark'] .reset-card h2,
[data-bs-theme='dark'] .reset-card h3,
[data-bs-theme='dark'] .reset-card h4,
[data-bs-theme='dark'] .reset-card h5,
[data-bs-theme='dark'] .login-card .text-dark,
[data-bs-theme='dark'] .reset-card .text-dark {
    color: var(--dark-text) !important;
}

[data-bs-theme='dark'] .login-card .text-muted,
[data-bs-theme='dark'] .reset-card .text-muted,
[data-bs-theme='dark'] .login-card .input-icon,
[data-bs-theme='dark'] .reset-card .input-icon,
[data-bs-theme='dark'] .login-card .password-toggle,
[data-bs-theme='dark'] .reset-card .password-toggle {
    color: var(--dark-text-secondary) !important;
}

[data-bs-theme='dark'] .login-card .form-control,
[data-bs-theme='dark'] .reset-card .form-control {
    color: var(--dark-text) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--dark-border-strong) !important;
}

[data-bs-theme='dark'] .login-card .form-control:focus,
[data-bs-theme='dark'] .reset-card .form-control:focus {
    color: #ffffff !important;
    background: var(--dark-surface-muted) !important;
    border-color: var(--color-primary, #58a6ff) !important;
    box-shadow: 0 0 0 0.2rem var(--dark-focus) !important;
}

[data-bs-theme='dark'] .login-card .form-floating > label,
[data-bs-theme='dark'] .reset-card .form-floating > label {
    color: var(--dark-text-muted) !important;
}

[data-bs-theme='dark'] .login-card .form-floating > label::after,
[data-bs-theme='dark'] .reset-card .form-floating > label::after {
    background: var(--dark-surface-raised) !important;
}

[data-bs-theme='dark'] .login-card .form-control:-webkit-autofill,
[data-bs-theme='dark'] .reset-card .form-control:-webkit-autofill {
    -webkit-text-fill-color: var(--dark-text) !important;
    -webkit-box-shadow: 0 0 0 1000px var(--dark-surface-raised) inset !important;
    caret-color: var(--dark-text);
}

[data-bs-theme='dark'] .login-card .info-box {
    color: var(--dark-text-secondary) !important;
    background: var(--dark-surface-raised) !important;
    border-color: var(--color-primary, #58a6ff) !important;
}

[data-bs-theme='dark'] .reset-card .password-requirements {
    color: #e3b341 !important;
    background: rgba(158, 106, 3, 0.16) !important;
    border-color: #d29922 !important;
}

[data-bs-theme='dark'] .login-card .alert-danger,
[data-bs-theme='dark'] .reset-card .alert-danger {
    color: #ffb3ba !important;
    background: rgba(218, 54, 51, 0.14) !important;
    border-color: rgba(248, 81, 73, 0.4) !important;
}

[data-bs-theme='dark'] .login-card .alert-success,
[data-bs-theme='dark'] .reset-card .alert-success {
    color: #7ee787 !important;
    background: rgba(35, 134, 54, 0.14) !important;
    border-color: rgba(63, 185, 80, 0.38) !important;
}

/* SweetAlert e componentes que ficam fora de .main-content */
[data-bs-theme='dark'] .swal2-popup,
[data-bs-theme='dark'] .swal2-modal,
[data-bs-theme='dark'] .swal2-validation-message {
    color: var(--dark-text) !important;
    background: var(--dark-surface) !important;
    border: 1px solid var(--dark-border) !important;
}

[data-bs-theme='dark'] .swal2-title,
[data-bs-theme='dark'] .swal2-html-container {
    color: var(--dark-text) !important;
}

/* Scrollbars discretas e visíveis. */
[data-bs-theme='dark'] * {
    scrollbar-color: var(--dark-border-strong) var(--dark-sidebar);
}

[data-bs-theme='dark'] *::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

[data-bs-theme='dark'] *::-webkit-scrollbar-track {
    background: var(--dark-sidebar);
}

[data-bs-theme='dark'] *::-webkit-scrollbar-thumb {
    background: var(--dark-border-strong);
    border: 2px solid var(--dark-sidebar);
    border-radius: 999px;
}

[data-bs-theme='dark'] *::-webkit-scrollbar-thumb:hover {
    background: var(--dark-text-muted);
}

@media (prefers-reduced-motion: reduce) {
    [data-bs-theme='dark'] *,
    [data-bs-theme='dark'] *::before,
    [data-bs-theme='dark'] *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
