@charset "UTF-8";

/*
 * NCL Leve — camada visual global
 *
 * Esta folha altera somente a apresentação dos componentes existentes.
 * Layout, dimensões estruturais, posicionamento e comportamento permanecem
 * sob responsabilidade das folhas originais de cada página.
 */

:root {
    color-scheme: light;
    --ncl-leve-bg: #edf2f7;
    --ncl-leve-bg-glow: rgba(12, 172, 94, 0.07);
    --ncl-leve-shell: #f8fafc;
    --ncl-leve-surface: #ffffff;
    --ncl-leve-surface-raised: #f1f5f9;
    --ncl-leve-surface-hover: #e8eef5;
    --ncl-leve-input: #f8fafc;
    --ncl-leve-text: #172337;
    --ncl-leve-text-soft: #526078;
    --ncl-leve-muted: #718096;
    --ncl-leve-border: rgba(41, 58, 82, 0.14);
    --ncl-leve-border-strong: rgba(41, 58, 82, 0.24);
    --ncl-leve-divider: rgba(41, 58, 82, 0.1);
    --ncl-leve-accent: #0cac5e;
    --ncl-leve-accent-hover: #078c4b;
    --ncl-leve-accent-contrast: #ffffff;
    --ncl-leve-accent-soft: rgba(12, 172, 94, 0.1);
    --ncl-leve-info: #276ac5;
    --ncl-leve-info-soft: rgba(39, 106, 197, 0.1);
    --ncl-leve-warning: #9b6a00;
    --ncl-leve-warning-soft: rgba(207, 147, 18, 0.12);
    --ncl-leve-danger: #d9435c;
    --ncl-leve-danger-hover: #bd3149;
    --ncl-leve-danger-soft: rgba(217, 67, 92, 0.1);
    --ncl-leve-shadow-shell: 0 22px 55px rgba(34, 50, 73, 0.12);
    --ncl-leve-shadow-card: 0 8px 22px rgba(34, 50, 73, 0.07);
    --ncl-leve-shadow-float: 0 18px 42px rgba(34, 50, 73, 0.18);
    --ncl-leve-radius-sm: 8px;
    --ncl-leve-radius-md: 12px;
    --ncl-leve-radius-lg: 16px;
    --ncl-leve-font: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

html.dark-mode,
html[data-theme="dark"],
html[data-bs-theme="dark"],
body.dark-mode {
    color-scheme: dark;
    --ncl-leve-bg: #0b1424;
    --ncl-leve-bg-glow: rgba(45, 231, 123, 0.07);
    --ncl-leve-shell: #172337;
    --ncl-leve-surface: #223148;
    --ncl-leve-surface-raised: #2b3b54;
    --ncl-leve-surface-hover: #334661;
    --ncl-leve-input: #1b293e;
    --ncl-leve-text: #f5f7fb;
    --ncl-leve-text-soft: #b7c0ce;
    --ncl-leve-muted: #8492a7;
    --ncl-leve-border: rgba(177, 193, 216, 0.14);
    --ncl-leve-border-strong: rgba(177, 193, 216, 0.26);
    --ncl-leve-divider: rgba(177, 193, 216, 0.11);
    --ncl-leve-accent: #2de77b;
    --ncl-leve-accent-hover: #4cf08f;
    --ncl-leve-accent-contrast: #071b14;
    --ncl-leve-accent-soft: rgba(45, 231, 123, 0.12);
    --ncl-leve-info: #70adff;
    --ncl-leve-info-soft: rgba(112, 173, 255, 0.12);
    --ncl-leve-warning: #f4c75d;
    --ncl-leve-warning-soft: rgba(244, 199, 93, 0.12);
    --ncl-leve-danger: #ff7187;
    --ncl-leve-danger-hover: #ff8a9c;
    --ncl-leve-danger-soft: rgba(255, 113, 135, 0.12);
    --ncl-leve-shadow-shell: 0 28px 70px rgba(2, 8, 20, 0.34);
    --ncl-leve-shadow-card: 0 10px 24px rgba(2, 8, 20, 0.14);
    --ncl-leve-shadow-float: 0 22px 52px rgba(2, 8, 20, 0.42);
}

body.ncl-leve:not(.nclx-page) {
    background-color: var(--ncl-leve-bg) !important;
    background-image: radial-gradient(circle at 20% 0%, var(--ncl-leve-bg-glow), transparent 34rem) !important;
    color: var(--ncl-leve-text) !important;
    font-family: var(--ncl-leve-font) !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.ncl-leve:not(.nclx-page),
body.ncl-leve:not(.nclx-page) button,
body.ncl-leve:not(.nclx-page) input,
body.ncl-leve:not(.nclx-page) select,
body.ncl-leve:not(.nclx-page) textarea {
    font-family: var(--ncl-leve-font) !important;
}

body.ncl-leve:not(.nclx-page) :where(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 2px solid var(--ncl-leve-accent) !important;
    outline-offset: 3px !important;
}

body.ncl-leve:not(.nclx-page) ::selection {
    background: var(--ncl-leve-accent-soft);
    color: var(--ncl-leve-text);
}

/* Navegação existente: somente acabamento visual. */
body.ncl-leve:not(.nclx-page) > header,
body.ncl-leve:not(.nclx-page) .main-header,
body.ncl-leve:not(.nclx-page) .app-header,
body.ncl-leve:not(.nclx-page) .top-header,
body.ncl-leve:not(.nclx-page) .topbar,
body.ncl-leve:not(.nclx-page) .navbar,
body.ncl-leve:not(.nclx-page) .sidebar {
    background-color: var(--ncl-leve-shell) !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-border) !important;
    box-shadow: var(--ncl-leve-shadow-card) !important;
}

body.ncl-leve:not(.nclx-page) > header {
    border-bottom: 1px solid var(--ncl-leve-divider) !important;
}

body.ncl-leve:not(.nclx-page) > header,
body.ncl-leve.modern-layout:not(.nclx-page) > header {
    background: var(--ncl-leve-shell) !important;
    color: var(--ncl-leve-text) !important;
    border-bottom-color: var(--ncl-leve-divider) !important;
    box-shadow: var(--ncl-leve-shadow-card) !important;
}

body.ncl-leve:not(.nclx-page) > header nav > ul > li > a,
body.ncl-leve.modern-layout:not(.nclx-page) > header nav > ul > li > a {
    background: transparent !important;
    color: var(--ncl-leve-text-soft) !important;
    border-color: transparent !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve:not(.nclx-page) > header nav > ul > li > a:hover,
body.ncl-leve:not(.nclx-page) > header nav > ul > li > a:focus-visible,
body.ncl-leve:not(.nclx-page) > header nav > ul > li > a.active,
body.ncl-leve.modern-layout:not(.nclx-page) > header nav > ul > li > a:hover,
body.ncl-leve.modern-layout:not(.nclx-page) > header nav > ul > li > a:focus-visible,
body.ncl-leve.modern-layout:not(.nclx-page) > header nav > ul > li > a.active {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
    border-color: transparent !important;
    box-shadow: inset 0 -2px 0 var(--ncl-leve-accent) !important;
}

body.ncl-leve:not(.nclx-page) > header .dropdown-menu,
body.ncl-leve:not(.nclx-page) > header .nav-submenu,
body.ncl-leve.modern-layout:not(.nclx-page) > header .dropdown-menu,
body.ncl-leve.modern-layout:not(.nclx-page) > header .nav-submenu {
    background: var(--ncl-leve-surface) !important;
    border-color: var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: var(--ncl-leve-shadow-float) !important;
    backdrop-filter: none !important;
}

body.ncl-leve:not(.nclx-page) > header :where(.dropdown-menu, .nav-submenu) a,
body.ncl-leve.modern-layout:not(.nclx-page) > header :where(.dropdown-menu, .nav-submenu) a {
    background: transparent !important;
    color: var(--ncl-leve-text-soft) !important;
    border-color: transparent !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve:not(.nclx-page) > header :where(.dropdown-menu, .nav-submenu) a:hover,
body.ncl-leve:not(.nclx-page) > header :where(.dropdown-menu, .nav-submenu) a.active,
body.ncl-leve.modern-layout:not(.nclx-page) > header :where(.dropdown-menu, .nav-submenu) a:hover,
body.ncl-leve.modern-layout:not(.nclx-page) > header :where(.dropdown-menu, .nav-submenu) a.active {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
}

body.ncl-leve:not(.nclx-page) nav a,
body.ncl-leve:not(.nclx-page) .nav-link,
body.ncl-leve:not(.nclx-page) .sidebar a,
body.ncl-leve:not(.nclx-page) .menu-link {
    color: var(--ncl-leve-text-soft) !important;
    text-decoration-color: transparent !important;
}

body.ncl-leve:not(.nclx-page) nav a:hover,
body.ncl-leve:not(.nclx-page) nav a:focus-visible,
body.ncl-leve:not(.nclx-page) nav a.active,
body.ncl-leve:not(.nclx-page) .nav-link:hover,
body.ncl-leve:not(.nclx-page) .nav-link.active,
body.ncl-leve:not(.nclx-page) .sidebar a:hover,
body.ncl-leve:not(.nclx-page) .sidebar a.active,
body.ncl-leve:not(.nclx-page) .menu-link:hover,
body.ncl-leve:not(.nclx-page) .menu-link.active {
    color: var(--ncl-leve-accent) !important;
}

body.ncl-leve:not(.nclx-page) .dropdown-menu,
body.ncl-leve:not(.nclx-page) .context-menu,
body.ncl-leve:not(.nclx-page) [class*="context-menu"],
body.ncl-leve:not(.nclx-page) .autocomplete-suggestions,
body.ncl-leve:not(.nclx-page) .suggestions-container {
    background-color: var(--ncl-leve-surface) !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: var(--ncl-leve-shadow-float) !important;
}

body.ncl-leve:not(.nclx-page) .dropdown-item,
body.ncl-leve:not(.nclx-page) [class*="context-menu"] button,
body.ncl-leve:not(.nclx-page) .autocomplete-suggestions > *,
body.ncl-leve:not(.nclx-page) .suggestions-container > * {
    color: var(--ncl-leve-text-soft) !important;
}

body.ncl-leve:not(.nclx-page) .dropdown-item:hover,
body.ncl-leve:not(.nclx-page) .dropdown-item:focus,
body.ncl-leve:not(.nclx-page) [class*="context-menu"] button:hover,
body.ncl-leve:not(.nclx-page) .autocomplete-suggestions > *:hover,
body.ncl-leve:not(.nclx-page) .suggestions-container > *:hover {
    background-color: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
}

/* Superfícies: mantém tamanho, grade, alinhamento e ordem originais. */
body.ncl-leve:not(.nclx-page) :where(
    .card,
    .panel,
    .ux-panel,
    .pedido-panel,
    .giro-panel,
    .whatsapp-panel,
    .config-section,
    .config-block,
    .filter-section,
    .filters-section,
    .filtros-container,
    .filtros-card,
    .stats-section,
    .quick-stats,
    .summary-card,
    .overview-card,
    .result-card,
    .listagem-section,
    .content-section,
    .upload-area,
    .empty-state
) {
    background-color: var(--ncl-leve-surface) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: var(--ncl-leve-shadow-card) !important;
}

body.ncl-leve:not(.nclx-page) :where(
    .stat-item,
    .stat-card,
    .ux-stat-card,
    .metric-card,
    .kpi-card,
    .summary-item,
    .info-card,
    .import-feedback__stat
) {
    background-color: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: none !important;
}

body.ncl-leve:not(.nclx-page) :where(.card, .panel, .ux-panel, .pedido-panel, .giro-panel, .overview-card):hover {
    border-color: var(--ncl-leve-border-strong) !important;
}

body.ncl-leve:not(.nclx-page) :where(
    .card-header,
    .panel-header,
    .section-header,
    .giro-panel-header,
    .modal-header,
    .offcanvas-header
) {
    background-color: transparent !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-divider) !important;
}

body.ncl-leve:not(.nclx-page) :where(h1, h2, h3, h4, h5, h6, legend, .page-title, .section-title, .panel-title) {
    color: var(--ncl-leve-text) !important;
}

body.ncl-leve:not(.nclx-page) :where(p, label, .label, .form-label, .ux-field-label, .description, .subtitle) {
    color: var(--ncl-leve-text-soft);
}

body.ncl-leve:not(.nclx-page) :where(.text-muted, .muted, .small-muted, .form-help, .help-text, small) {
    color: var(--ncl-leve-muted) !important;
}

body.ncl-leve:not(.nclx-page) :where(.stat-number, .overview-card__value, .metric-value, .total-value, .summary-value) {
    color: var(--ncl-leve-text) !important;
}

body.ncl-leve:not(.nclx-page) a:not(.btn):not([class*="button"]) {
    color: var(--ncl-leve-accent);
}

/* Campos e seletores. */
body.ncl-leve:not(.nclx-page) input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
body.ncl-leve:not(.nclx-page) select,
body.ncl-leve:not(.nclx-page) textarea,
body.ncl-leve:not(.nclx-page) .form-control,
body.ncl-leve:not(.nclx-page) .form-select,
body.ncl-leve:not(.nclx-page) .ux-field-control,
body.ncl-leve:not(.nclx-page) .compact-input,
body.ncl-leve:not(.nclx-page) .compact-select,
body.ncl-leve:not(.nclx-page) [contenteditable="true"] {
    background-color: var(--ncl-leve-input) !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-border-strong) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve:not(.nclx-page) input::placeholder,
body.ncl-leve:not(.nclx-page) textarea::placeholder,
body.ncl-leve:not(.nclx-page) .form-control::placeholder {
    color: var(--ncl-leve-muted) !important;
    opacity: 1;
}

body.ncl-leve:not(.nclx-page) input:not([type="checkbox"]):not([type="radio"]):focus,
body.ncl-leve:not(.nclx-page) select:focus,
body.ncl-leve:not(.nclx-page) textarea:focus,
body.ncl-leve:not(.nclx-page) .form-control:focus,
body.ncl-leve:not(.nclx-page) .form-select:focus,
body.ncl-leve:not(.nclx-page) .ux-field-control:focus {
    border-color: var(--ncl-leve-accent) !important;
    box-shadow: 0 0 0 3px var(--ncl-leve-accent-soft) !important;
}

body.ncl-leve:not(.nclx-page) :where(input, select, textarea):disabled,
body.ncl-leve:not(.nclx-page) :where(input, select, textarea)[readonly] {
    background-color: var(--ncl-leve-surface-raised) !important;
    color: var(--ncl-leve-muted) !important;
}

body.ncl-leve:not(.nclx-page) :where(input, select, textarea).is-invalid,
body.ncl-leve:not(.nclx-page) :where(input, select, textarea)[aria-invalid="true"] {
    border-color: var(--ncl-leve-danger) !important;
    box-shadow: 0 0 0 3px var(--ncl-leve-danger-soft) !important;
}

body.ncl-leve:not(.nclx-page) input[type="checkbox"],
body.ncl-leve:not(.nclx-page) input[type="radio"] {
    accent-color: var(--ncl-leve-accent);
}

/* Botões: conserva dimensões e posição definidas pelas páginas. */
body.ncl-leve:not(.nclx-page) :where(button, .btn, [role="button"]) {
    border-color: var(--ncl-leve-border-strong);
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none;
    transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

body.ncl-leve:not(.nclx-page) :where(
    .btn,
    .btn-primary,
    .btn-success,
    .primary,
    .support-button,
    .action-primary,
    button[type="submit"]
) {
    background-color: var(--ncl-leve-accent) !important;
    background-image: none !important;
    border-color: var(--ncl-leve-accent) !important;
    color: var(--ncl-leve-accent-contrast) !important;
}

body.ncl-leve:not(.nclx-page) :where(
    .btn-primary,
    .btn-success,
    .primary,
    .support-button,
    .action-primary,
    button[type="submit"]
):hover:not(:disabled) {
    background-color: var(--ncl-leve-accent-hover) !important;
    border-color: var(--ncl-leve-accent-hover) !important;
    color: var(--ncl-leve-accent-contrast) !important;
    box-shadow: 0 7px 18px var(--ncl-leve-accent-soft) !important;
}

/* Adaptador para páginas escuras com regras legadas mais específicas. */
body.ncl-leve.dark-mode:not(.nclx-page) :where(
    .card,
    .panel,
    .ux-panel,
    .pedido-panel,
    .giro-panel,
    .whatsapp-panel,
    .config-section,
    .config-block,
    .filter-section,
    .filters-section,
    .filtros-container,
    .filtros-card,
    .stats-section,
    .quick-stats,
    .summary-card,
    .overview-card,
    .result-card,
    .listagem-section,
    .content-section,
    .empty-state
) {
    background-color: var(--ncl-leve-surface) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-border) !important;
}

body.ncl-leve.dark-mode:not(.nclx-page) :where(
    .stat-item,
    .stat-card,
    .ux-stat-card,
    .metric-card,
    .kpi-card,
    .summary-item,
    .info-card,
    .import-feedback__stat
) {
    background-color: var(--ncl-leve-surface-raised) !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-border) !important;
}

body.ncl-leve.home-index-page:not(.nclx-page) .btn,
body.ncl-leve.home-index-page:not(.nclx-page) a.btn {
    background-color: var(--ncl-leve-accent) !important;
    color: var(--ncl-leve-accent-contrast) !important;
}

body.ncl-leve.home-index-page:not(.nclx-page) .btn:hover,
body.ncl-leve.home-index-page:not(.nclx-page) a.btn:hover {
    background-color: var(--ncl-leve-accent-hover) !important;
    color: var(--ncl-leve-accent-contrast) !important;
    transform: none !important;
}

body.ncl-leve.dark-mode.home-index-page:not(.nclx-page) :where(.card, .quick-stats) {
    background-color: var(--ncl-leve-surface) !important;
    border-color: var(--ncl-leve-border) !important;
}

body.ncl-leve.dark-mode.home-index-page:not(.nclx-page) .stat-item {
    background-color: var(--ncl-leve-surface-raised) !important;
    border-color: var(--ncl-leve-border) !important;
}

body.ncl-leve.dark-mode.home-index-page:not(.nclx-page) :where(.stat-number, .stat-label) {
    color: var(--ncl-leve-text) !important;
}

body.ncl-leve:not(.nclx-page) :where(
    .btn-secondary,
    .btn-light,
    .btn-outline-secondary,
    .secondary,
    .action-secondary
) {
    background-color: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    border-color: var(--ncl-leve-border-strong) !important;
    color: var(--ncl-leve-text-soft) !important;
}

body.ncl-leve:not(.nclx-page) :where(
    .btn-secondary,
    .btn-light,
    .btn-outline-secondary,
    .secondary,
    .action-secondary
):hover:not(:disabled) {
    background-color: var(--ncl-leve-surface-hover) !important;
    color: var(--ncl-leve-text) !important;
}

body.ncl-leve:not(.nclx-page) :where(.btn-outline-primary, .btn-link) {
    background-color: transparent !important;
    border-color: var(--ncl-leve-accent) !important;
    color: var(--ncl-leve-accent) !important;
}

body.ncl-leve:not(.nclx-page) :where(.btn-outline-primary, .btn-link):hover:not(:disabled) {
    background-color: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
}

body.ncl-leve:not(.nclx-page) :where(.btn-danger, .btn-outline-danger, .danger, .action-danger) {
    background-color: var(--ncl-leve-danger) !important;
    background-image: none !important;
    border-color: var(--ncl-leve-danger) !important;
    color: #ffffff !important;
}

body.ncl-leve:not(.nclx-page) :where(.btn-danger, .btn-outline-danger, .danger, .action-danger):hover:not(:disabled) {
    background-color: var(--ncl-leve-danger-hover) !important;
    border-color: var(--ncl-leve-danger-hover) !important;
}

body.ncl-leve:not(.nclx-page) :where(.btn-warning, .warning, .action-warning) {
    background-color: var(--ncl-leve-warning) !important;
    background-image: none !important;
    border-color: var(--ncl-leve-warning) !important;
    color: #172337 !important;
}

body.ncl-leve:not(.nclx-page) :where(button, .btn, [role="button"]):disabled,
body.ncl-leve:not(.nclx-page) :where(button, .btn, [role="button"])[aria-disabled="true"] {
    box-shadow: none !important;
    opacity: 0.58;
}

/* Tabelas NCL e tabelas legadas. */
body.ncl-leve:not(.nclx-page) :where(
    .table-container,
    .table-responsive,
    .ux-table-shell,
    .ux-table-shell--vendas,
    .table-wrapper
) {
    background-color: var(--ncl-leve-surface) !important;
    border-color: var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: var(--ncl-leve-shadow-card) !important;
}

body.ncl-leve:not(.nclx-page) table {
    background-color: transparent !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-divider) !important;
}

body.ncl-leve:not(.nclx-page) table :where(th, td) {
    border-color: var(--ncl-leve-divider) !important;
}

body.ncl-leve:not(.nclx-page) table thead th,
body.ncl-leve:not(.nclx-page) table > thead > tr > th {
    background-color: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-text-soft) !important;
    border-color: var(--ncl-leve-border) !important;
}

body.ncl-leve:not(.nclx-page) table tbody td,
body.ncl-leve:not(.nclx-page) table > tbody > tr > td {
    background-color: var(--ncl-leve-surface) !important;
    color: var(--ncl-leve-text) !important;
}

body.ncl-leve:not(.nclx-page) table.table-striped > tbody > tr:nth-of-type(odd) > *,
body.ncl-leve:not(.nclx-page) table tbody tr:nth-child(even) td {
    background-color: color-mix(in srgb, var(--ncl-leve-surface-raised) 48%, var(--ncl-leve-surface)) !important;
    color: var(--ncl-leve-text) !important;
}

body.ncl-leve:not(.nclx-page) table tbody tr:hover > td,
body.ncl-leve:not(.nclx-page) table.table-hover tbody tr:hover > * {
    background-color: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-text) !important;
}

body.ncl-leve:not(.nclx-page) table tfoot :where(th, td),
body.ncl-leve:not(.nclx-page) .total-row :where(th, td) {
    background-color: var(--ncl-leve-surface-raised) !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-border-strong) !important;
}

body.ncl-leve:not(.nclx-page) :where(.sortable, .th-sort-btn, [aria-sort]) {
    color: var(--ncl-leve-text-soft) !important;
}

body.ncl-leve:not(.nclx-page) :where(.sortable:hover, .th-sort-btn:hover, [aria-sort="ascending"], [aria-sort="descending"]) {
    color: var(--ncl-leve-accent) !important;
}

/* Abas, paginação, indicadores e etiquetas. */
body.ncl-leve:not(.nclx-page) :where(.nav-tabs, .tabs, .tab-list, [role="tablist"]) {
    border-color: var(--ncl-leve-divider) !important;
}

body.ncl-leve:not(.nclx-page) :where(.nav-tabs .nav-link, .tab-button, [role="tab"]) {
    background-color: transparent !important;
    color: var(--ncl-leve-muted) !important;
    border-color: transparent !important;
    border-radius: var(--ncl-leve-radius-sm) var(--ncl-leve-radius-sm) 0 0 !important;
    box-shadow: none !important;
}

body.ncl-leve:not(.nclx-page) :where(.nav-tabs .nav-link.active, .tab-button.active, .tab-button.is-active, [role="tab"][aria-selected="true"]) {
    background-color: transparent !important;
    color: var(--ncl-leve-accent) !important;
    border-color: transparent transparent var(--ncl-leve-accent) !important;
    box-shadow: inset 0 -2px 0 var(--ncl-leve-accent) !important;
}

body.ncl-leve:not(.nclx-page) :where(.pagination, .page-controls) {
    color: var(--ncl-leve-text-soft) !important;
}

body.ncl-leve:not(.nclx-page) :where(.page-link, .page-btn) {
    background-color: var(--ncl-leve-surface) !important;
    color: var(--ncl-leve-text-soft) !important;
    border-color: var(--ncl-leve-border) !important;
    box-shadow: none !important;
}

body.ncl-leve:not(.nclx-page) :where(.page-item.active .page-link, .page-link.active, .page-btn.active, .page-btn[aria-current="page"]) {
    background-color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-accent) !important;
    color: var(--ncl-leve-accent-contrast) !important;
}

body.ncl-leve:not(.nclx-page) :where(.badge, .status-badge, .info-badge, .ux-chip, .chip, .tag) {
    background-color: var(--ncl-leve-surface-raised) !important;
    color: var(--ncl-leve-text-soft) !important;
    border-color: var(--ncl-leve-border) !important;
    box-shadow: none !important;
}

body.ncl-leve:not(.nclx-page) :where(.badge-success, .bg-success, .status-success, .status-active, .is-success) {
    background-color: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve:not(.nclx-page) :where(.badge-danger, .bg-danger, .status-danger, .status-error, .is-danger) {
    background-color: var(--ncl-leve-danger-soft) !important;
    color: var(--ncl-leve-danger) !important;
    border-color: var(--ncl-leve-danger) !important;
}

body.ncl-leve:not(.nclx-page) :where(.badge-warning, .bg-warning, .status-warning, .is-warning) {
    background-color: var(--ncl-leve-warning-soft) !important;
    color: var(--ncl-leve-warning) !important;
    border-color: var(--ncl-leve-warning) !important;
}

body.ncl-leve:not(.nclx-page) :where(.badge-info, .bg-info, .status-info, .is-info) {
    background-color: var(--ncl-leve-info-soft) !important;
    color: var(--ncl-leve-info) !important;
    border-color: var(--ncl-leve-info) !important;
}

/* Diálogos e mensagens. */
body.ncl-leve:not(.nclx-page) :where(.modal-backdrop, .modal-overlay, .modern-modal-overlay, .overlay) {
    background-color: rgba(5, 12, 24, 0.68) !important;
    backdrop-filter: blur(3px);
}

body.ncl-leve:not(.nclx-page) :where(
    .modal-content,
    .modern-modal-content,
    .modal-panel,
    .dialog,
    .dialog-content,
    .confirm-dialog,
    .offcanvas
) {
    background-color: var(--ncl-leve-surface) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-lg) !important;
    box-shadow: var(--ncl-leve-shadow-float) !important;
}

body.ncl-leve:not(.nclx-page) :where(.modal-footer, .offcanvas-footer) {
    border-color: var(--ncl-leve-divider) !important;
}

body.ncl-leve:not(.nclx-page) :where(.alert, .notice, .message, .feedback, .toast) {
    background-color: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-text-soft) !important;
    border-color: var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: var(--ncl-leve-shadow-card) !important;
}

body.ncl-leve:not(.nclx-page) :where(.alert-success, .notice-success, .message-success, .feedback-success) {
    background-color: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve:not(.nclx-page) :where(.alert-danger, .alert-error, .notice-error, .message-error, .feedback-error) {
    background-color: var(--ncl-leve-danger-soft) !important;
    color: var(--ncl-leve-danger) !important;
    border-color: var(--ncl-leve-danger) !important;
}

body.ncl-leve:not(.nclx-page) :where(.alert-warning, .notice-warning, .message-warning) {
    background-color: var(--ncl-leve-warning-soft) !important;
    color: var(--ncl-leve-warning) !important;
    border-color: var(--ncl-leve-warning) !important;
}

body.ncl-leve:not(.nclx-page) :where(.progress, progress) {
    background-color: var(--ncl-leve-surface-raised) !important;
    border-color: var(--ncl-leve-border) !important;
}

body.ncl-leve:not(.nclx-page) :where(.progress-bar, progress::-webkit-progress-value) {
    background-color: var(--ncl-leve-accent) !important;
    background-image: none !important;
}

body.ncl-leve:not(.nclx-page) hr {
    border-color: var(--ncl-leve-divider) !important;
    opacity: 1;
}

body.ncl-leve:not(.nclx-page) .theme-toggle {
    background-color: var(--ncl-leve-surface-raised) !important;
    color: var(--ncl-leve-text-soft) !important;
    border-color: var(--ncl-leve-border) !important;
    box-shadow: none !important;
}

body.ncl-leve:not(.nclx-page) .theme-toggle:hover {
    background-color: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve:not(.nclx-page) ::-webkit-scrollbar-thumb {
    background-color: var(--ncl-leve-border-strong);
    border-radius: 999px;
}

body.ncl-leve:not(.nclx-page) ::-webkit-scrollbar-track {
    background-color: var(--ncl-leve-surface-raised);
}

@media (prefers-reduced-motion: reduce) {
    body.ncl-leve:not(.nclx-page) *,
    body.ncl-leve:not(.nclx-page) *::before,
    body.ncl-leve:not(.nclx-page) *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media print {
    body.ncl-leve:not(.nclx-page) {
        background: #ffffff !important;
        color: #000000 !important;
    }

    body.ncl-leve:not(.nclx-page) :where(.card, .panel, .ux-panel, .table-container, .ux-table-shell) {
        background: #ffffff !important;
        color: #000000 !important;
        border-color: #d1d5db !important;
        box-shadow: none !important;
    }

    body.ncl-leve:not(.nclx-page) table :where(th, td) {
        background: #ffffff !important;
        color: #000000 !important;
        border-color: #d1d5db !important;
    }
}
