/* =========================================================
   DB PDV · Tema escuro global v80.8
   Persistido no navegador pelo botão do cabeçalho.
   ========================================================= */
:root[data-theme="dark"] {
    --bg: #101318;
    --card: #181c22;
    --cream: #20252c;
    --line: #303741;
    --text: #f2f4f7;
    --muted: #a8b0bc;
    --sidebar: #0d1015;
    --sidebar-soft: #20262f;
    --shadow: 0 12px 32px rgba(0, 0, 0, .30);
    --db-std-card-bg: #181c22;
    --db-std-card-border: rgba(255,255,255,.10);
    --db-std-card-shadow: 0 14px 34px rgba(0,0,0,.24);
    --db-std-text: #f2f4f7;
    --db-std-muted: #a8b0bc;
    --db-std-cream: #20252c;
}

:root[data-theme="dark"] body,
:root[data-theme="dark"] body:not(.pdv-mode) {
    background: #101318 !important;
    color: var(--text) !important;
}

:root[data-theme="dark"] body:not(.pdv-mode) .main,
:root[data-theme="dark"] body.pdv-mode .main {
    background: #101318 !important;
}

:root[data-theme="dark"] .bar,
:root[data-theme="dark"] .pdv-store-header,
:root[data-theme="dark"] .pdv-store-topbar {
    background: rgba(16, 19, 24, .94) !important;
    border-color: var(--line) !important;
    color: var(--text) !important;
}

:root[data-theme="dark"] .page-head h1,
:root[data-theme="dark"] body:not(.pdv-mode) .page-head h1,
:root[data-theme="dark"] body:not(.pdv-mode) [data-db-page-shell] h2,
:root[data-theme="dark"] body:not(.pdv-mode) [data-db-page-shell] h3 {
    color: var(--text) !important;
}

:root[data-theme="dark"] .page-head p,
:root[data-theme="dark"] body:not(.pdv-mode) .page-head p,
:root[data-theme="dark"] .muted,
:root[data-theme="dark"] small,
:root[data-theme="dark"] body:not(.pdv-mode) [data-db-page-shell] p,
:root[data-theme="dark"] body:not(.pdv-mode) [data-db-page-shell] .muted {
    color: var(--muted) !important;
}

:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] .search-input,
:root[data-theme="dark"] .input {
    background: #15191f !important;
    border-color: #343c47 !important;
    color: #f3f5f8 !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.20), 0 2px 8px rgba(0,0,0,.10) !important;
}

:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder {
    color: #7f8996 !important;
}

:root[data-theme="dark"] input:focus,
:root[data-theme="dark"] select:focus,
:root[data-theme="dark"] textarea:focus {
    border-color: var(--orange) !important;
    box-shadow: 0 0 0 3px rgba(255,105,8,.17) !important;
}

:root[data-theme="dark"] option {
    color: #f2f4f7;
    background: #171b21;
}

:root[data-theme="dark"] .card,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .box,
:root[data-theme="dark"] .modal-box,
:root[data-theme="dark"] .metrics article,
:root[data-theme="dark"] .table-card,
:root[data-theme="dark"] .list-card,
:root[data-theme="dark"] .filter-card,
:root[data-theme="dark"] body:not(.pdv-mode) [data-db-page-shell] > .card,
:root[data-theme="dark"] body:not(.pdv-mode) [data-db-page-shell] > .list-card,
:root[data-theme="dark"] body:not(.pdv-mode) [data-db-page-shell] > .table-card,
:root[data-theme="dark"] body:not(.pdv-mode) [data-db-page-shell] > .filter-card,
:root[data-theme="dark"] body:not(.pdv-mode) [data-db-page-shell] > .panel,
:root[data-theme="dark"] body:not(.pdv-mode) [data-db-page-shell] > section,
:root[data-theme="dark"] body:not(.pdv-mode) [data-db-page-shell] > article {
    background: #181c22 !important;
    border-color: rgba(255,255,255,.10) !important;
    color: var(--text) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
}

:root[data-theme="dark"] table,
:root[data-theme="dark"] thead,
:root[data-theme="dark"] tbody,
:root[data-theme="dark"] tr,
:root[data-theme="dark"] th,
:root[data-theme="dark"] td {
    border-color: #303741 !important;
}

:root[data-theme="dark"] th,
:root[data-theme="dark"] body:not(.pdv-mode) [data-db-page-shell] th {
    color: #aab3bf !important;
}

:root[data-theme="dark"] tbody tr:hover,
:root[data-theme="dark"] .clickable-row:hover,
:root[data-theme="dark"] [data-row-link]:hover {
    background: rgba(255, 105, 8, .075) !important;
}

:root[data-theme="dark"] .btn.cream,
:root[data-theme="dark"] .cream.btn,
:root[data-theme="dark"] button.cream,
:root[data-theme="dark"] .icon-btn,
:root[data-theme="dark"] .action-btn,
:root[data-theme="dark"] .db-action-btn {
    background: #222832 !important;
    border-color: #39424e !important;
    color: #f2f4f7 !important;
}

:root[data-theme="dark"] .btn.cream:hover,
:root[data-theme="dark"] .cream.btn:hover {
    background: #2a313c !important;
}

:root[data-theme="dark"] .toast {
    background: #332615 !important;
    border-color: #60421b !important;
    color: #ffc47b !important;
}

:root[data-theme="dark"] .toast.success {
    background: #132b21 !important;
    border-color: #285f46 !important;
    color: #7fe0ae !important;
}

:root[data-theme="dark"] .toast.danger {
    background: #35191e !important;
    border-color: #6c2b35 !important;
    color: #ff9aaa !important;
}

:root[data-theme="dark"] .app-store-footer {
    color: #8f99a6 !important;
    border-color: var(--line) !important;
}

:root[data-theme="dark"] .modal {
    background: rgba(2, 4, 7, .76) !important;
}

:root[data-theme="dark"] .dropdown-menu,
:root[data-theme="dark"] .db-actions-dropdown,
:root[data-theme="dark"] .generic-actions-dropdown,
:root[data-theme="dark"] .sales-actions-dropdown,
:root[data-theme="dark"] .products-actions-dropdown,
:root[data-theme="dark"] .nfe-actions-dropdown,
:root[data-theme="dark"] details[open] > .db-actions-list {
    background: #1c2129 !important;
    border-color: #39414c !important;
    color: #edf1f5 !important;
    box-shadow: 0 18px 38px rgba(0,0,0,.38) !important;
}

:root[data-theme="dark"] .dropdown-menu a:hover,
:root[data-theme="dark"] .db-actions-dropdown a:hover,
:root[data-theme="dark"] .generic-actions-dropdown a:hover,
:root[data-theme="dark"] .sales-actions-dropdown a:hover {
    background: #272e38 !important;
}

/* PDV */
:root[data-theme="dark"] body.pdv-mode,
:root[data-theme="dark"] body.pdv-mode .pdv,
:root[data-theme="dark"] body.pdv-mode .pdv-catalog {
    background: #101318 !important;
}

:root[data-theme="dark"] body.pdv-mode .pdv-store-topbar,
:root[data-theme="dark"] body.pdv-mode .pdv-search input,
:root[data-theme="dark"] body.pdv-mode .pdv-search select,
:root[data-theme="dark"] body.pdv-mode .product-tile,
:root[data-theme="dark"] body.pdv-mode .cart,
:root[data-theme="dark"] body.pdv-mode .cart-header,
:root[data-theme="dark"] body.pdv-mode .cart-body,
:root[data-theme="dark"] body.pdv-mode .cart-footer,
:root[data-theme="dark"] body.pdv-mode .checkout-summary,
:root[data-theme="dark"] body.pdv-mode .pdv-loyalty-box,
:root[data-theme="dark"] body.pdv-mode .payment-box,
:root[data-theme="dark"] body.pdv-mode .compact-payment-box,
:root[data-theme="dark"] body.pdv-mode .cart-item,
:root[data-theme="dark"] body.pdv-mode .pdv-catalog-limit-note {
    background: #181c22 !important;
    border-color: #303741 !important;
    color: #f1f4f7 !important;
    box-shadow: none !important;
}

:root[data-theme="dark"] body.pdv-mode .product-tile:hover {
    background: #202630 !important;
    border-color: rgba(255,105,8,.70) !important;
}

:root[data-theme="dark"] body.pdv-mode .product-tile small,
:root[data-theme="dark"] body.pdv-mode .pdv-catalog-limit-note,
:root[data-theme="dark"] body.pdv-mode .empty,
:root[data-theme="dark"] body.pdv-mode .pdv-loyalty-head small,
:root[data-theme="dark"] body.pdv-mode .pdv-finish-help {
    color: #a7b0bc !important;
}

:root[data-theme="dark"] body.pdv-mode .pdv-store-copy strong,
:root[data-theme="dark"] body.pdv-mode .cart-header h2,
:root[data-theme="dark"] body.pdv-mode .checkout-summary,
:root[data-theme="dark"] body.pdv-mode .payment-box strong,
:root[data-theme="dark"] body.pdv-mode .product-tile strong {
    color: #f3f5f8 !important;
}

:root[data-theme="dark"] body.pdv-mode .pdv-store-logo,
:root[data-theme="dark"] body.pdv-mode .cart-item-thumb,
:root[data-theme="dark"] body.pdv-mode .product-tile img {
    background: #f6f6f4 !important;
}

/* Blocos recorrentes com fundo claro próprio. */
:root[data-theme="dark"] .master-hero,
:root[data-theme="dark"] .master-hero-card,
:root[data-theme="dark"] .fiscal-hero,
:root[data-theme="dark"] .cash-closed-hero,
:root[data-theme="dark"] .crm-hero,
:root[data-theme="dark"] .customer-hero,
:root[data-theme="dark"] .customer-hero-card,
:root[data-theme="dark"] .customer-detail-hero,
:root[data-theme="dark"] .saas-diagnostic-hero,
:root[data-theme="dark"] .diag-hero,
:root[data-theme="dark"] .wa-hero,
:root[data-theme="dark"] .finance-hero,
:root[data-theme="dark"] .credit-hero,
:root[data-theme="dark"] .notifications-hero,
:root[data-theme="dark"] .onboarding-hero,
:root[data-theme="dark"] .help-hero,
:root[data-theme="dark"] .catalog-admin-hero,
:root[data-theme="dark"] .customer-filter-card,
:root[data-theme="dark"] .sales-filter-card,
:root[data-theme="dark"] .fiscal-xml-filter-card,
:root[data-theme="dark"] .labels-summary-card,
:root[data-theme="dark"] .cash-status-card {
    background: #181c22 !important;
    border-color: rgba(255,255,255,.10) !important;
    color: var(--text) !important;
}

:root[data-theme="dark"] .toolbar,
:root[data-theme="dark"] .products-toolbar,
:root[data-theme="dark"] .reports-toolbar,
:root[data-theme="dark"] .notification-filters,
:root[data-theme="dark"] .finance-filter,
:root[data-theme="dark"] .credit-filter {
    border-color: rgba(255,255,255,.10) !important;
}

:root[data-theme="dark"] .badge,
:root[data-theme="dark"] .status,
:root[data-theme="dark"] [class*="status-badge"] {
    border-color: rgba(255,255,255,.10) !important;
}

@media (prefers-reduced-motion: reduce) {
    :root[data-theme="dark"] *,
    :root[data-theme="dark"] *::before,
    :root[data-theme="dark"] *::after {
        transition-duration: .01ms !important;
    }
}

@media print {
    :root[data-theme="dark"] body,
    :root[data-theme="dark"] .main,
    :root[data-theme="dark"] .card,
    :root[data-theme="dark"] .receipt,
    :root[data-theme="dark"] .receipt-page {
        background: #fff !important;
        color: #111 !important;
        box-shadow: none !important;
    }
}
