@charset "UTF-8";

/*
 * NCL Leve — Catálogo e Comunicação
 *
 * Adaptador visual para Catálogo, WhatsApp, Gmail, Outlook, Atendimento e
 * FindPhoto. Usa os tokens de ncl_leve_global.css e não altera comportamento.
 */

body.ncl-leve {
    background-color: var(--ncl-leve-bg) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
}

body.ncl-leve :where(h1, h2, h3, h4, h5, h6, strong) {
    color: var(--ncl-leve-text) !important;
}

body.ncl-leve :where(p, label, small, .text-muted, .support-muted, .findphoto-muted) {
    color: var(--ncl-leve-text-soft) !important;
}

/* Cabeçalhos públicos, barras de aplicativo e navegação. */
body.ncl-leve :where(
    .catalog-topnav,
    .support-topbar,
    .mail-page-header,
    .findphoto-header,
    .findphoto-titlebar
) {
    background: var(--ncl-leve-shell) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-divider) !important;
    box-shadow: var(--ncl-leve-shadow-card) !important;
}

body.ncl-leve :where(
    .catalog-nav-brand,
    .catalog-nav-links a,
    .catalog-cart-link,
    .catalog-soft-link,
    .findphoto-nav a,
    .tab-button
) {
    background: transparent !important;
    background-image: none !important;
    color: var(--ncl-leve-text-soft) !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body.ncl-leve :where(
    .catalog-nav-links a:hover,
    .catalog-nav-links a:focus-visible,
    .catalog-nav-links a.is-active,
    .catalog-soft-link:hover,
    .findphoto-nav a:hover,
    .findphoto-nav a.active,
    .tab-button:hover,
    .tab-button.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 :where(.catalog-brand-mark, .catalog-profile-avatar) {
    background: var(--ncl-leve-accent-soft) !important;
    background-image: none !important;
    color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-accent) !important;
    box-shadow: none !important;
}

body.ncl-leve :where(
    .catalog-layout,
    .catalog-config-shell,
    .catalog-images-shell,
    .support-shell,
    .mail-shell,
    .findphoto-shell
) {
    color: var(--ncl-leve-text) !important;
}

body.ncl-leve :where(
    .catalog-title,
    .catalog-config-header h1,
    .catalog-images-hero h1,
    .support-topbar h1,
    .mail-page-header h1,
    .findphoto-titlebar h1
) {
    color: var(--ncl-leve-text) !important;
    font-weight: 760 !important;
    letter-spacing: -0.035em !important;
}

body.ncl-leve :where(
    .catalog-kicker,
    .findphoto-eyebrow,
    .support-section-title
) {
    color: var(--ncl-leve-accent) !important;
    font-weight: 760 !important;
    letter-spacing: 0.085em !important;
    text-transform: uppercase !important;
}

/* Superfícies compartilhadas. */
body.ncl-leve :where(
    .catalog-panel,
    .catalog-choice-panel,
    .catalog-main,
    .catalog-message-card,
    .catalog-contact,
    .catalog-feature,
    .catalog-config-section,
    .catalog-images-panel,
    .catalog-info-panel,
    .catalog-admin-panel,
    .catalog-admin-upload,
    .catalog-push-panel,
    .catalog-danger-zone,
    .support-panel,
    .support-summary-card,
    .support-auth-card,
    .panel,
    .results-box,
    .queue-box,
    .findphoto-panel,
    .findphoto-output,
    .whatsapp-panel,
    .modal-panel
) {
    background: var(--ncl-leve-surface) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border: 1px solid var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: var(--ncl-leve-shadow-card) !important;
}

body.ncl-leve :where(
    .catalog-message-card,
    .catalog-feature,
    .catalog-images-panel,
    .support-panel,
    .support-summary-card,
    .panel,
    .findphoto-panel,
    .whatsapp-panel
):hover {
    border-color: var(--ncl-leve-border-strong) !important;
    box-shadow: var(--ncl-leve-shadow-card) !important;
}

body.ncl-leve :where(
    .catalog-toolbar,
    .catalog-factory-head,
    .catalog-step-head,
    .catalog-config-header,
    .catalog-config-section-head,
    .catalog-images-hero,
    .catalog-images-gallery-head,
    .catalog-admin-header,
    .cart-header,
    .support-detail-header,
    .section-header,
    .panel-header,
    .findphoto-panel-head
) {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-divider) !important;
    box-shadow: none !important;
}

/* Hero e conteúdo institucional do catálogo. */
body.ncl-leve :where(.catalog-hero, .catalog-home-about) {
    background: var(--ncl-leve-shell) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border: 1px solid var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-lg) !important;
    box-shadow: var(--ncl-leve-shadow-card) !important;
}

body.ncl-leve .catalog-hero::before,
body.ncl-leve .catalog-hero::after,
body.ncl-leve .catalog-hero-card::before,
body.ncl-leve .catalog-panel::before {
    background: none !important;
    background-image: none !important;
}

body.ncl-leve .catalog-hero-card,
body.ncl-leve .catalog-about-image {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    border-color: var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-lg) !important;
    box-shadow: none !important;
}

body.ncl-leve :where(.catalog-hero-content p, .catalog-about-main p, .catalog-message-note) {
    color: var(--ncl-leve-text-soft) !important;
}

/* Abas, escolhas, busca e filtros do catálogo. */
body.ncl-leve :where(.catalog-tabs, .catalog-settings-tabs, .catalog-config-tabs, .findphoto-tabs, .tab-nav) {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    border: 1px solid var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

body.ncl-leve :where(
    .catalog-tab,
    .catalog-settings-tabs button,
    .catalog-config-tabs button,
    .findphoto-tabs button,
    .tab-button
) {
    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;
}

body.ncl-leve :where(
    .catalog-tab:hover,
    .catalog-tab.is-active,
    .catalog-settings-tabs button:hover,
    .catalog-settings-tabs button.is-active,
    .catalog-config-tabs button:hover,
    .catalog-config-tabs button.is-active,
    .findphoto-tabs button:hover,
    .findphoto-tabs button.active,
    .tab-button:hover,
    .tab-button.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 .catalog-tab.is-order-locked {
    background: var(--ncl-leve-danger-soft) !important;
    color: var(--ncl-leve-danger) !important;
}

body.ncl-leve :where(
    .catalog-search,
    .catalog-images-filters,
    .catalog-factory-permissions-search,
    .filters-inline,
    .outlook-search-form,
    .search-files-form,
    .tools-form,
    .person-action-form,
    .findphoto-path-row
) {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-divider) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: none !important;
}

/* Campos, selects, checkboxes e composição. */
body.ncl-leve :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    select,
    textarea,
    .form-control,
    .form-select,
    .catalog-search input,
    .catalog-admin-form input,
    .catalog-admin-form select,
    .catalog-config-fields input,
    .catalog-config-fields select,
    .catalog-config-fields textarea,
    .catalog-images-filters input,
    .catalog-images-filters select,
    .support-field input,
    .support-field select,
    .support-field textarea,
    .findphoto-input
) {
    background: var(--ncl-leve-input) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border: 1px solid var(--ncl-leve-border-strong) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

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

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

body.ncl-leve :where(input[type="checkbox"], input[type="radio"]) {
    accent-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve :where(input, select, textarea):disabled {
    background: var(--ncl-leve-surface-raised) !important;
    color: var(--ncl-leve-muted) !important;
    opacity: 0.72 !important;
}

/* Cards de produto e galeria. */
body.ncl-leve .products-grid {
    gap: 1rem !important;
}

body.ncl-leve .product-card,
body.ncl-leve .catalog-image-card,
body.ncl-leve .catalog-admin-product,
body.ncl-leve .catalog-config-image-entry,
body.ncl-leve .catalog-factory-permission,
body.ncl-leve .catalog-access-code {
    background: var(--ncl-leve-surface) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border: 1px solid var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: var(--ncl-leve-shadow-card) !important;
}

body.ncl-leve .product-card:hover,
body.ncl-leve .catalog-image-card:not(.is-missing):hover,
body.ncl-leve .catalog-admin-product:hover,
body.ncl-leve .catalog-factory-permission:hover {
    border-color: var(--ncl-leve-accent) !important;
    box-shadow: var(--ncl-leve-shadow-card) !important;
    transform: translateY(-2px) !important;
}

body.ncl-leve :where(.product-media, .catalog-image-card-media, .product-placeholder) {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-muted) !important;
    border-color: var(--ncl-leve-divider) !important;
}

body.ncl-leve :where(.product-content, .catalog-image-card-body) {
    background: var(--ncl-leve-surface) !important;
    color: var(--ncl-leve-text) !important;
}

body.ncl-leve :where(.product-reference, .product-description, .catalog-image-card-body small) {
    color: var(--ncl-leve-muted) !important;
}

body.ncl-leve :where(.product-name, .product-price, .catalog-image-card-body strong) {
    color: var(--ncl-leve-text) !important;
}

body.ncl-leve :where(.product-badge, .catalog-image-selected-mark, .catalog-images-selected) {
    background: var(--ncl-leve-accent) !important;
    background-image: none !important;
    color: var(--ncl-leve-accent-contrast) !important;
    border-color: var(--ncl-leve-accent) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}

body.ncl-leve .product-stock {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    border: 1px solid currentColor !important;
    border-radius: 999px !important;
}

body.ncl-leve .product-stock--ok {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
}

body.ncl-leve .product-stock--low,
body.ncl-leve .product-stock--order,
body.ncl-leve .product-order-step {
    background: var(--ncl-leve-warning-soft) !important;
    color: var(--ncl-leve-warning) !important;
}

body.ncl-leve .product-stock--empty,
body.ncl-leve .product-order-locked,
body.ncl-leve .catalog-image-card.is-missing {
    background: var(--ncl-leve-danger-soft) !important;
    color: var(--ncl-leve-danger) !important;
    border-color: var(--ncl-leve-danger) !important;
}

body.ncl-leve .product-thumbs button {
    background: var(--ncl-leve-surface-raised) !important;
    border-color: var(--ncl-leve-border) !important;
    box-shadow: none !important;
}

body.ncl-leve .product-thumbs button:hover {
    border-color: var(--ncl-leve-accent) !important;
}

/* Botões e ações, incluindo cores antigas inline. */
body.ncl-leve :where(
    .catalog-admin-primary,
    .catalog-whatsapp,
    .catalog-load-more-button,
    .product-action,
    .support-button.primary,
    .support-button.success,
    .findphoto-btn-primary,
    .button-link.primary,
    button.btn-primary,
    a.btn-primary
) {
    background: var(--ncl-leve-accent) !important;
    background-image: none !important;
    color: var(--ncl-leve-accent-contrast) !important;
    border-color: var(--ncl-leve-accent) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve :where(
    .catalog-admin-primary,
    .catalog-whatsapp,
    .catalog-load-more-button,
    .product-action,
    .support-button.primary,
    .support-button.success,
    .findphoto-btn-primary,
    button.btn-primary,
    a.btn-primary
):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;
    transform: translateY(-1px) !important;
}

body.ncl-leve :where(
    .catalog-admin-secondary,
    .catalog-back-button,
    .catalog-profile-button,
    .catalog-cart-button,
    .support-button.ghost,
    .findphoto-btn,
    .findphoto-icon-btn,
    .button-link,
    button.btn-secondary,
    a.btn-secondary,
    button.btn-outline-secondary,
    a.btn-outline-secondary
) {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-text-soft) !important;
    border-color: var(--ncl-leve-border-strong) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve :where(
    .catalog-admin-secondary,
    .catalog-back-button,
    .catalog-profile-button,
    .catalog-cart-button,
    .support-button.ghost,
    .findphoto-btn,
    .findphoto-icon-btn,
    .button-link,
    button.btn-secondary,
    a.btn-secondary,
    button.btn-outline-secondary,
    a.btn-outline-secondary
):hover:not(:disabled) {
    background: var(--ncl-leve-surface-hover) !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-border-strong) !important;
}

body.ncl-leve :where(button.btn-outline-primary, a.btn-outline-primary, button.btn-outline-success) {
    background: transparent !important;
    color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-accent) !important;
}

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

body.ncl-leve :where(
    .catalog-danger-button,
    .catalog-logout-button,
    .button-link.danger,
    .support-button.warn,
    button.btn-outline-danger,
    button.btn-danger,
    a.btn-danger
) {
    background: var(--ncl-leve-danger) !important;
    background-image: none !important;
    color: #ffffff !important;
    border-color: var(--ncl-leve-danger) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve :where(
    .catalog-danger-button,
    .catalog-logout-button,
    .button-link.danger,
    .support-button.warn,
    button.btn-outline-danger,
    button.btn-danger,
    a.btn-danger
):hover:not(:disabled) {
    background: var(--ncl-leve-danger-hover) !important;
    border-color: var(--ncl-leve-danger-hover) !important;
}

body.ncl-leve :where(button, .btn, [role="button"]):disabled,
body.ncl-leve :where(.product-action.is-disabled, [aria-disabled="true"]) {
    box-shadow: none !important;
    opacity: 0.55 !important;
    transform: none !important;
}

/* Carrinho e modais do catálogo. */
body.ncl-leve :where(
    .cart-modal,
    .photo-modal,
    .catalog-admin-modal,
    .catalog-images-category-modal,
    .modal-backdrop-custom
) {
    background: rgba(7, 16, 31, 0.74) !important;
    background-image: none !important;
    backdrop-filter: none !important;
}

body.ncl-leve :where(
    .cart-dialog,
    .photo-modal-dialog,
    .catalog-admin-dialog,
    .catalog-images-category-card,
    .modal-panel
) {
    background: var(--ncl-leve-surface) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border: 1px solid var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-lg) !important;
    box-shadow: var(--ncl-leve-shadow-float) !important;
}

body.ncl-leve :where(.cart-close, .photo-modal-close, .catalog-admin-close) {
    background: var(--ncl-leve-surface-raised) !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 :where(.cart-close, .photo-modal-close, .catalog-admin-close):hover {
    background: var(--ncl-leve-danger-soft) !important;
    color: var(--ncl-leve-danger) !important;
    border-color: var(--ncl-leve-danger) !important;
}

body.ncl-leve .cart-item {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border: 1px solid var(--ncl-leve-divider) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve .cart-item-actions button {
    background: var(--ncl-leve-surface) !important;
    color: var(--ncl-leve-text-soft) !important;
    border-color: var(--ncl-leve-border-strong) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve .cart-item-actions button:hover {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve :where(.cart-item-note, .cart-empty, .photo-modal-caption span) {
    color: var(--ncl-leve-muted) !important;
}

body.ncl-leve .cart-item-note--blocked {
    color: var(--ncl-leve-danger) !important;
}

body.ncl-leve :where(.cart-item-note--order, .cart-item-note--step) {
    color: var(--ncl-leve-warning) !important;
}

/* Configurações, upload, permissões e galeria. */
body.ncl-leve :where(.catalog-config-savebar, .catalog-images-selectionbar) {
    background: var(--ncl-leve-shell) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-border) !important;
    box-shadow: var(--ncl-leve-shadow-float) !important;
    backdrop-filter: none !important;
}

body.ncl-leve :where(.catalog-images-dropzone, .drop-zone) {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-text-soft) !important;
    border: 1px dashed var(--ncl-leve-border-strong) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: none !important;
}

body.ncl-leve :where(.catalog-images-dropzone:hover, .catalog-images-dropzone.is-dragging, .drop-zone.drag-over) {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve :where(.catalog-upload-progress, progress) {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    border-color: var(--ncl-leve-divider) !important;
}

body.ncl-leve .catalog-upload-progress span {
    background: var(--ncl-leve-accent) !important;
    background-image: none !important;
}

body.ncl-leve .catalog-factory-permission.is-disabled,
body.ncl-leve .catalog-access-code.is-used {
    background: var(--ncl-leve-surface-raised) !important;
    color: var(--ncl-leve-muted) !important;
    opacity: 0.72 !important;
}

body.ncl-leve .catalog-factory-permission-toggle span {
    background: var(--ncl-leve-border-strong) !important;
    background-image: none !important;
}

body.ncl-leve .catalog-factory-permission-toggle input:checked + span {
    background: var(--ncl-leve-accent) !important;
}

body.ncl-leve :where(.catalog-images-context-menu, .context-menu, .suggestions-panel) {
    background: var(--ncl-leve-surface) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border: 1px solid var(--ncl-leve-border-strong) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: var(--ncl-leve-shadow-float) !important;
}

body.ncl-leve :where(.catalog-images-context-menu button, .context-menu button, .suggestion-item) {
    background: transparent !important;
    color: var(--ncl-leve-text-soft) !important;
    border-color: transparent !important;
}

body.ncl-leve :where(.catalog-images-context-menu button:hover, .context-menu button:hover, .suggestion-item:hover) {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
}

body.ncl-leve .catalog-images-context-menu button.is-danger {
    color: var(--ncl-leve-danger) !important;
}

/* Paginação, carregamento e mensagens do catálogo. */
body.ncl-leve .catalog-products-pagination {
    background: var(--ncl-leve-surface) !important;
    background-image: none !important;
    color: var(--ncl-leve-text-soft) !important;
    border: 1px solid var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: none !important;
}

body.ncl-leve :where(
    .catalog-loading,
    .catalog-empty,
    .catalog-images-empty,
    .catalog-admin-empty,
    .support-empty,
    .empty-state,
    .findphoto-empty,
    .findphoto-empty-cell
) {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-muted) !important;
    border-color: var(--ncl-leve-divider) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: none !important;
}

body.ncl-leve :where(.catalog-load-error, .catalog-admin-feedback.is-error, .support-feedback.is-error) {
    background: var(--ncl-leve-danger-soft) !important;
    background-image: none !important;
    color: var(--ncl-leve-danger) !important;
    border-color: var(--ncl-leve-danger) !important;
    box-shadow: none !important;
}

body.ncl-leve :where(.catalog-admin-feedback.is-success, .support-feedback.is-success, .findphoto-status.success) {
    background: var(--ncl-leve-accent-soft) !important;
    background-image: none !important;
    color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve .catalog-loading-line {
    background: var(--ncl-leve-accent) !important;
    background-image: none !important;
}

/* Central de atendimento. */
body.ncl-leve .support-auth-page,
body.ncl-leve .support-auth-wrapper {
    background: var(--ncl-leve-bg) !important;
    background-image: none !important;
}

body.ncl-leve :where(.support-sidebar, .support-settings-panel) {
    background: var(--ncl-leve-shell) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-divider) !important;
    box-shadow: var(--ncl-leve-shadow-card) !important;
}

body.ncl-leve .support-conversation-card {
    background: var(--ncl-leve-surface) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border: 1px solid var(--ncl-leve-divider) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve .support-conversation-card:hover,
body.ncl-leve .support-conversation-card.is-active {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve :where(.support-conversation-card__preview, .support-conversation-card__subtext) {
    color: var(--ncl-leve-muted) !important;
}

body.ncl-leve .support-message {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border: 1px solid var(--ncl-leve-divider) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: none !important;
}

body.ncl-leve .support-message.from-me,
body.ncl-leve .support-message.is-outbound {
    background: var(--ncl-leve-accent-soft) !important;
    border-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve :where(.support-message__meta, .support-delivery) {
    color: var(--ncl-leve-muted) !important;
}

body.ncl-leve .support-composer {
    background: var(--ncl-leve-shell) !important;
    background-image: none !important;
    border-color: var(--ncl-leve-divider) !important;
    box-shadow: none !important;
}

body.ncl-leve :where(.support-badge, .support-chip, .support-status) {
    background: var(--ncl-leve-info-soft) !important;
    background-image: none !important;
    color: var(--ncl-leve-info) !important;
    border-color: currentColor !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}

body.ncl-leve :where(.support-badge.success, .support-chip.success, .support-status.success) {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
}

body.ncl-leve :where(.support-badge.warn, .support-chip.warn, .support-status.warn) {
    background: var(--ncl-leve-warning-soft) !important;
    color: var(--ncl-leve-warning) !important;
}

/* WhatsApp: contatos, conversas, mensagens e timeline. */
body.ncl-leve .whatsapp-grid,
body.ncl-leve .messages-grid {
    gap: 1rem !important;
}

body.ncl-leve :where(.conversa-card, .msg-card, .log-panel) {
    background: var(--ncl-leve-surface) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border: 1px solid var(--ncl-leve-divider) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve .conversa-card::before {
    background: var(--ncl-leve-accent) !important;
    background-image: none !important;
}

body.ncl-leve :where(.conversa-card:hover, .msg-card:hover) {
    background: var(--ncl-leve-surface-hover) !important;
    border-color: var(--ncl-leve-border-strong) !important;
    transform: none !important;
}

body.ncl-leve .conversa-card.active {
    background: var(--ncl-leve-accent-soft) !important;
    border-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve :where(.conversa-meta, .msg-meta, .numero-hint) {
    color: var(--ncl-leve-muted) !important;
}

body.ncl-leve .mensagens-lista {
    background: var(--ncl-leve-shell) !important;
    background-image: none !important;
    border-color: var(--ncl-leve-divider) !important;
    scrollbar-color: var(--ncl-leve-border-strong) transparent;
}

body.ncl-leve .msg-item {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border: 1px solid var(--ncl-leve-divider) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: none !important;
}

body.ncl-leve .msg-item.from-me {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve :where(.msg-media img, .msg-media video, .msg-media audio) {
    background: var(--ncl-leve-surface) !important;
    border-color: var(--ncl-leve-divider) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve :where(.context-badge, .status-chip, .badge) {
    background: var(--ncl-leve-info-soft) !important;
    background-image: none !important;
    color: var(--ncl-leve-info) !important;
    border: 1px solid currentColor !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}

body.ncl-leve :where(.badge.bg-success, .badge.text-bg-success, .status-chip.ok) {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
}

body.ncl-leve :where(.badge.bg-warning, .badge.text-bg-warning, .status-chip.warn) {
    background: var(--ncl-leve-warning-soft) !important;
    color: var(--ncl-leve-warning) !important;
}

body.ncl-leve :where(.badge.bg-secondary, .badge.text-bg-secondary) {
    background: var(--ncl-leve-surface-raised) !important;
    color: var(--ncl-leve-muted) !important;
}

body.ncl-leve .reaction-toggle.active {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve .reaction-filter-indicator {
    background: var(--ncl-leve-warning-soft) !important;
    color: var(--ncl-leve-warning) !important;
    border-color: var(--ncl-leve-warning) !important;
    border-radius: 999px !important;
}

body.ncl-leve :where(.cliente-info-banner, .support-summary) {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-divider) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: none !important;
}

/* Gmail e Outlook: painéis, regras, filas e resultados. */
body.ncl-leve .tab-panel {
    background: transparent !important;
    color: var(--ncl-leve-text) !important;
}

body.ncl-leve :where(.rule-field, .rule-form, .checks, .search-checks) {
    background: var(--ncl-leve-surface-raised) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-divider) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve :where(.rule-label, .rule-limit, .rule-word, .rule-category) {
    color: var(--ncl-leve-text-soft) !important;
}

body.ncl-leve .rule-active {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-accent) !important;
    border-radius: 999px !important;
}

body.ncl-leve .queue-item {
    background: var(--ncl-leve-surface) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border: 1px solid var(--ncl-leve-divider) !important;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve .queue-item.pending {
    border-left-color: var(--ncl-leve-warning) !important;
}

body.ncl-leve :where(.queue-item.sent, .queue-item.logged) {
    border-left-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve :where(.queue-item.cancelled, .queue-item.error) {
    background: var(--ncl-leve-danger-soft) !important;
    border-left-color: var(--ncl-leve-danger) !important;
}

body.ncl-leve .status-text.connected {
    color: var(--ncl-leve-accent) !important;
}

body.ncl-leve .status-text.error {
    color: var(--ncl-leve-danger) !important;
}

body.ncl-leve :where(.table-wrap, .table-responsive, .findphoto-table-wrap) {
    background: var(--ncl-leve-surface) !important;
    background-image: none !important;
    border: 1px solid var(--ncl-leve-border) !important;
    border-radius: var(--ncl-leve-radius-md) !important;
    box-shadow: none !important;
}

body.ncl-leve table,
body.ncl-leve .findphoto-table {
    background: transparent !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border-color: var(--ncl-leve-divider) !important;
}

body.ncl-leve table thead,
body.ncl-leve table thead tr,
body.ncl-leve table 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;
}

body.ncl-leve table thead th {
    font-size: 0.72rem !important;
    font-weight: 760 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

body.ncl-leve table tbody,
body.ncl-leve table tbody tr,
body.ncl-leve table 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;
}

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

/* FindPhoto. */
body.ncl-leve :where(.findphoto-output-path, .findphoto-path-grid, .findphoto-summary) {
    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;
    border-radius: var(--ncl-leve-radius-sm) !important;
    box-shadow: none !important;
}

body.ncl-leve .findphoto-sale-btn {
    background: var(--ncl-leve-surface) !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 .findphoto-sale-btn:hover,
body.ncl-leve .findphoto-sale-btn.active {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
    border-color: var(--ncl-leve-accent) !important;
}

body.ncl-leve :where(.findphoto-badge, .findphoto-status) {
    background: var(--ncl-leve-info-soft) !important;
    color: var(--ncl-leve-info) !important;
    border-color: currentColor !important;
    border-radius: 999px !important;
}

body.ncl-leve .findphoto-badge-success {
    background: var(--ncl-leve-accent-soft) !important;
    color: var(--ncl-leve-accent) !important;
}

body.ncl-leve .findphoto-badge-danger {
    background: var(--ncl-leve-danger-soft) !important;
    color: var(--ncl-leve-danger) !important;
}

/* Rodapé e tema. */
body.ncl-leve :where(.catalog-footer, 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;
}

body.ncl-leve .theme-toggle {
    background: var(--ncl-leve-surface) !important;
    background-image: none !important;
    color: var(--ncl-leve-text) !important;
    border: 1px solid var(--ncl-leve-border-strong) !important;
    border-radius: 999px !important;
    box-shadow: var(--ncl-leve-shadow-float) !important;
}

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

@media (max-width: 900px) {
    body.ncl-leve :where(
        .catalog-topnav,
        .catalog-toolbar,
        .catalog-config-header,
        .catalog-images-hero,
        .support-topbar,
        .mail-page-header,
        .panel-header,
        .section-header,
        .findphoto-titlebar
    ) {
        gap: 0.8rem !important;
    }

    body.ncl-leve :where(
        .catalog-config-savebar,
        .catalog-images-selectionbar,
        .support-composer
    ) {
        border-radius: var(--ncl-leve-radius-md) !important;
    }
}

@media (max-width: 640px) {
    body.ncl-leve :where(
        .catalog-panel,
        .catalog-config-section,
        .catalog-images-panel,
        .support-panel,
        .panel,
        .findphoto-panel,
        .whatsapp-panel
    ) {
        border-radius: var(--ncl-leve-radius-sm) !important;
    }

    body.ncl-leve :where(
        .catalog-config-actions,
        .catalog-images-upload-actions,
        .catalog-images-sheet-actions,
        .support-actions,
        .form-actions,
        .tool-actions,
        .findphoto-actions,
        .page-header-actions
    ) :where(button, .btn, a) {
        width: 100% !important;
        justify-content: center !important;
    }

    body.ncl-leve .product-card:hover,
    body.ncl-leve .catalog-image-card:hover {
        transform: none !important;
    }
}

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

@media print {
    body.ncl-leve {
        background: #ffffff !important;
        color: #111827 !important;
    }

    body.ncl-leve :where(.catalog-topnav, .support-topbar, .theme-toggle, .catalog-footer) {
        display: none !important;
    }

    body.ncl-leve :where(.catalog-panel, .support-panel, .panel, .whatsapp-panel, .table-wrap) {
        box-shadow: none !important;
        border-color: #cbd5e1 !important;
    }
}
