@charset "UTF-8";

/*
 * NCL Leve — acabamento universal
 * Carregado por último em todas as páginas para neutralizar skins antigas.
 * Não altera IDs, ordem do DOM ou comportamento JavaScript.
 */

body.ncl-leve.ncl-leve:not(.nclx-page) {
    --bs-body-bg: var(--ncl-leve-bg);
    --bs-body-color: var(--ncl-leve-text);
    --bs-primary: var(--ncl-leve-accent);
    --bs-primary-rgb: 45, 231, 123;
    --bs-secondary-bg: var(--ncl-leve-surface-raised);
    --bs-border-color: var(--ncl-leve-border);
    --bs-link-color: var(--ncl-leve-accent);
    --bs-link-hover-color: var(--ncl-leve-accent-hover);
    background-color: var(--ncl-leve-bg) !important;
    color: var(--ncl-leve-text) !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(h1, h2, h3, h4, h5, h6, legend) {
    color: var(--ncl-leve-text) !important;
    text-shadow: none !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(p, small, .small, .text-muted, .small-muted, .subtitle, .description, .helper, .hint, .form-help) {
    color: var(--ncl-leve-muted) !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(main, footer, .modal, [role="dialog"])
    a:not(.btn):not(.nav-link) {
    color: var(--ncl-leve-accent) !important;
    text-decoration-color: color-mix(in srgb, var(--ncl-leve-accent) 42%, transparent) !important;
}

/* Cabeçalhos de conteúdo */
body.ncl-leve.ncl-leve:not(.nclx-page) :is(
    .page-header,
    .crud-page-header,
    .section-header,
    .panel-header,
    .ux-section-head,
    .modal-header,
    .modern-modal-header,
    .modal-panel__header,
    .cart-header
) {
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-divider) !important;
    box-shadow: none !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(.ux-section-kicker, .eyebrow, .kicker, [class*="__kicker"]) {
    color: var(--ncl-leve-muted) !important;
}

/* Cards, painéis e superfícies */
body.ncl-leve.ncl-leve:not(.nclx-page) :is(
    .card,
    .panel,
    .ux-panel,
    .crud-card,
    .pedido-panel,
    .giro-panel,
    .dx-panel,
    .dx-card,
    .catalog-panel,
    .whatsapp-panel,
    .config-block,
    .config-section,
    .listagem-section,
    .overview-card,
    .stat-item,
    .ux-stat-card,
    .table-container,
    .table-responsive,
    .tabs-container,
    .filters-card,
    .filter-card,
    .summary-card,
    .import-card,
    .import-section,
    .search-card,
    .content-card,
    .settings-card,
    .form-card,
    .info-card,
    .selection-card,
    .empty-state,
    .relatorios-empty-state
) {
    background: 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;
    backdrop-filter: none !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(
    .card-header,
    .card-footer,
    .panel-header,
    .panel-footer,
    .pedido-panel__header,
    .table-toolbar,
    .toolbar,
    .actions-bar,
    .filter-bar,
    .search-container,
    .selection-toolbar,
    .summary-row,
    .cart-summary-row
) {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-text-soft) !important;
    border-color: var(--ncl-leve-divider) !important;
    box-shadow: none !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(.overview-card__label, .summary-label, .cart-summary-label, .stat-label) {
    color: var(--ncl-leve-muted) !important;
}

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

/* Botões */
body.ncl-leve.ncl-leve:not(.nclx-page) :is(
    button,
    .btn,
    .dx-btn,
    .support-button,
    .catalog-admin-primary,
    .catalog-admin-secondary
) {
    background-image: none !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(
    .btn-primary,
    .btn-success,
    .dx-btn-primary,
    .primary,
    .catalog-admin-primary,
    button[type="submit"]:not(.btn-danger):not(.danger)
) {
    background: var(--ncl-leve-accent) !important;
    color: var(--ncl-leve-accent-contrast) !important;
    -webkit-text-fill-color: var(--ncl-leve-accent-contrast) !important;
    border-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(
    .btn-primary,
    .btn-success,
    .dx-btn-primary,
    .primary,
    .catalog-admin-primary,
    button[type="submit"]:not(.btn-danger):not(.danger)
):hover:not(:disabled) {
    background: var(--ncl-leve-accent-hover) !important;
    color: var(--ncl-leve-accent-contrast) !important;
    border-color: var(--ncl-leve-accent-hover) !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(
    .btn-secondary,
    .btn-outline-secondary,
    .btn-outline-primary,
    .btn-info,
    .catalog-admin-secondary,
    .dx-btn:not(.dx-btn-primary):not(.danger),
    .btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning)
) {
    background: var(--ncl-leve-surface-raised) !important;
    color: var(--ncl-leve-text-soft) !important;
    -webkit-text-fill-color: var(--ncl-leve-text-soft) !important;
    border-color: var(--ncl-leve-border) !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(
    .btn-secondary,
    .btn-outline-secondary,
    .btn-outline-primary,
    .btn-info,
    .catalog-admin-secondary,
    .btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning)
):hover:not(:disabled) {
    background: var(--ncl-leve-surface-hover) !important;
    color: var(--ncl-leve-text) !important;
    -webkit-text-fill-color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-border-strong) !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(.btn-danger, .btn-outline-danger, .danger, button[class*="delete"], button[class*="excluir"], .btn[class*="delete"], .btn[class*="excluir"]):not(.modal-close) {
    background: var(--ncl-leve-danger-soft) !important;
    color: var(--ncl-leve-danger) !important;
    -webkit-text-fill-color: var(--ncl-leve-danger) !important;
    border-color: color-mix(in srgb, var(--ncl-leve-danger) 55%, transparent) !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(.btn-warning, .warning) {
    background: var(--ncl-leve-warning-soft) !important;
    color: var(--ncl-leve-warning) !important;
    -webkit-text-fill-color: var(--ncl-leve-warning) !important;
    border-color: color-mix(in srgb, var(--ncl-leve-warning) 55%, transparent) !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(button, .btn, .dx-btn):disabled {
    opacity: 0.45 !important;
    cursor: not-allowed !important;
}

/* Campos */
body.ncl-leve.ncl-leve:not(.nclx-page) :is(label, .form-label, .ux-field-label, .label) {
    color: var(--ncl-leve-text-soft) !important;
    text-shadow: none !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    select,
    textarea,
    .form-control,
    .form-select,
    .compact-input,
    .compact-select,
    .ux-field-control,
    .support-field,
    .extras-field,
    .dx-field,
    .pedido-edit-input
) {
    background: var(--ncl-leve-input) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    -webkit-text-fill-color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

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

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

body.ncl-leve.ncl-leve:not(.nclx-page) :is(input[type="checkbox"], input[type="radio"], .form-check-input) {
    accent-color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-border-strong) !important;
    box-shadow: none !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(input[type="checkbox"], input[type="radio"], .form-check-input):checked {
    background-color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-accent) !important;
}

/* Tabelas — o mesmo padrão em todas as famílias */
body.ncl-leve.ncl-leve:not(.nclx-page) :is(.table-container, .table-responsive, .ux-table-shell) {
    border: 1px solid var(--ncl-leve-border) !important;
    background: var(--ncl-leve-surface) !important;
}

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

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

body.ncl-leve.ncl-leve:not(.nclx-page) table :is(tbody, tbody tr, tbody td) {
    background: var(--ncl-leve-surface) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-divider) !important;
    box-shadow: none !important;
}

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

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

body.ncl-leve.ncl-leve:not(.nclx-page) table tbody tr:is(.active, .selected, .selecionada, .is-selected) td {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-text) !important;
}

/* Abas */
body.ncl-leve.ncl-leve:not(.nclx-page) :is(.tabs-header, .nav-tabs, [role="tablist"]) {
    background: var(--ncl-leve-surface) !important;
    background-image: none !important;
    border-color: var(--ncl-leve-divider) !important;
    box-shadow: none !important;
}

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

body.ncl-leve.ncl-leve:not(.nclx-page) :is(.tab-btn, .tab-button, .nav-tabs .nav-link, [role="tab"]):hover {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-text) !important;
}

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

/* Modais, menus e conteúdos criados dinamicamente */
body.ncl-leve.ncl-leve:not(.nclx-page) :is(
    .modal-content,
    .modal-panel,
    .modern-modal-content,
    .dialog,
    .dialog-content,
    .offcanvas,
    .dropdown-menu,
    .context-menu,
    [class*="context-menu"],
    .suggestions-container,
    .autocomplete-suggestions
) {
    background: 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-float) !important;
    backdrop-filter: none !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(.modal-body, .modal-footer, .modern-modal-body, .modern-modal-footer) {
    background: var(--ncl-leve-surface) !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-divider) !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(.modal-overlay, .modern-modal-overlay, .modal-backdrop, .overlay) {
    background: rgba(5, 12, 24, 0.72) !important;
    backdrop-filter: blur(3px) !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(.dropdown-item, .suggestion-item, [class*="context-menu"] button) {
    background: transparent !important;
    color: var(--ncl-leve-text-soft) !important;
    border-color: transparent !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(.dropdown-item, .suggestion-item, [class*="context-menu"] button):hover {
    background: var(--ncl-leve-surface-hover) !important;
    color: var(--ncl-leve-text) !important;
}

/* Estados, badges e mensagens */
body.ncl-leve.ncl-leve:not(.nclx-page) :is(.badge, .status-badge, .info-badge, .ux-chip, .dx-badge, .dx-chip) {
    background: 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: 999px !important;
    box-shadow: none !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(.badge-success, .status-success, .success, [data-status="success"], [data-status="confirmado"]) {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
    border-color: color-mix(in srgb, var(--ncl-leve-accent) 45%, transparent) !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(.alert, .feedback, .notice, .message, .toast) {
    background: 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.ncl-leve:not(.nclx-page) :is(.alert-success, .feedback-success) {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
}

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

/* Acordeões, paginação e rodapé */
body.ncl-leve.ncl-leve:not(.nclx-page) :is(details, .accordion-item, .accordion, .collapse-panel) {
    background: var(--ncl-leve-surface) !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(summary, .accordion-button) {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-text-soft) !important;
    border-color: var(--ncl-leve-divider) !important;
    box-shadow: none !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(.page-btn, .page-link, [class*="paginacao"] button, [class*="pagination"] button) {
    background: var(--ncl-leve-surface-raised) !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: none !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) :is(.page-btn.active, .page-link.active, [class*="paginacao"] button.is-active, [class*="pagination"] button.active) {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve.ncl-leve:not(.nclx-page) footer {
    background: var(--ncl-leve-shell) !important;
    background-image: none !important;
    color: var(--ncl-leve-muted) !important;
    border-color: var(--ncl-leve-divider) !important;
    box-shadow: none !important;
}

/* Evita faixas azuis antigas em elementos decorativos. */
body.ncl-leve.ncl-leve:not(.nclx-page) :is(.card, .panel, .table-container, .page-header)::before,
body.ncl-leve.ncl-leve:not(.nclx-page) :is(.card, .panel, .table-container, .page-header)::after {
    background-image: none !important;
    box-shadow: none !important;
}
