/* ==========================================================================
   Dark theme
   --------------------------------------------------------------------------
   Every rule is scoped to [data-theme="dark"] on <html>, so this file is inert
   until the theme is switched on and light mode is left byte-for-byte alone.

   Contrast (WCAG 2.1, measured against the surface each token is used on):
     text     #CFD5DE  10.7:1 on surface  (AAA)
     muted    #9BA4B2   6.3:1 on surface  (AA)
     subtle   #8892A0   5.0:1 on surface  (AA)
     primary  #63C2CC   7.6:1 on surface  (AAA)
     warning  #E8AE45   7.9:1 on surface  (AAA)
     danger   #F08279   6.1:1 on surface  (AA)
     success  #5BC97F   7.6:1 on surface  (AAA)
     control border #6E7887 3.2:1 on input fill (WCAG 1.4.11 non-text)

   Body text is deliberately held around 10-11:1 rather than pushed to the
   15:1 the old near-black ground gave. Very high contrast on a dark screen
   makes light glyphs bloom into their background (halation) and is tiring to
   read for long; everything here still clears AA with room to spare.
   Brand colours a merchant sets themselves are lifted to >= 4.5:1 server-side
   by App\Support\ThemeColor, not here.
   ========================================================================== */

[data-theme="dark"] {
    --dm-bg: #181B21;
    --dm-surface: #1F232B;
    --dm-surface-2: #262B34;
    --dm-surface-3: #2F353F;

    /* Overlays (modals, offcanvas, toasts) — lighter than the page so they read
       as floating above it rather than relying on the backdrop to separate. */
    --dm-elevated: #2A303A;

    --dm-border: #39404A;
    --dm-border-strong: #6E7887;

    --dm-text: #CFD5DE;
    --dm-text-muted: #9BA4B2;
    --dm-text-subtle: #8892A0;

    --dm-primary: #63C2CC;
    --dm-warning: #E8AE45;
    --dm-danger: #F08279;
    --dm-success: #5BC97F;

    --dm-focus: #63C2CC;
    --dm-shadow: rgba(0, 0, 0, 0.55);

    /* Tells the browser to render native widgets — scrollbars, date pickers,
       spinners, autofill — dark, which CSS alone cannot do. */
    color-scheme: dark;
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

[data-theme="dark"] body {
    background: var(--dm-bg);
    color: var(--dm-text);
}

[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6,
[data-theme="dark"] .main-title,
[data-theme="dark"] h1.main-title {
    color: var(--dm-text);
}

[data-theme="dark"] hr {
    border-color: var(--dm-border);
    opacity: 1;
}

[data-theme="dark"] a {
    color: inherit;
}

[data-theme="dark"] a.link-details,
[data-theme="dark"] .btn-link,
[data-theme="dark"] .plink a {
    color: var(--dm-primary);
}

/* Focus must stay obvious on a dark ground for keyboard users. */
[data-theme="dark"] :focus-visible {
    outline: 2px solid var(--dm-focus);
    outline-offset: 2px;
}

[data-theme="dark"] ::selection {
    background: var(--dm-primary);
    color: #181B21;
}

[data-theme="dark"] ::placeholder {
    color: var(--dm-text-subtle);
    opacity: 1;
}

/* --------------------------------------------------------------------------
   Surfaces: header, cards, panels
   -------------------------------------------------------------------------- */

[data-theme="dark"] header {
    background: var(--dm-surface);
    box-shadow: 0 3px 2px var(--dm-shadow);
    border-bottom: 1px solid var(--dm-border);
}

/* Genuine surfaces: each of these carries a fill in light mode too - from
   style.css (.box #fff, .qr-container #f0f0f0) or from the partial's own
   <style> block (.product-item, .payment-method: white) - so a dark fill here
   is matching a panel that already exists. */
[data-theme="dark"] .box,
[data-theme="dark"] .product-item,
[data-theme="dark"] .payment-method,
[data-theme="dark"] .qr-container {
    background: var(--dm-surface);
    color: var(--dm-text);
    box-shadow: 0 3px 6px var(--dm-shadow);
}

/* Layout containers, NOT surfaces. These are transparent in every light-mode
   stylesheet and every inline block, so filling them here invented a panel
   that only dark mode ever showed - the order totals block being the one that
   gave it away. They take the text colour and nothing else. */
[data-theme="dark"] .st-box,
[data-theme="dark"] .order-item,
[data-theme="dark"] .category-item,
[data-theme="dark"] .publish-item,
[data-theme="dark"] .total-item,
[data-theme="dark"] .order-details,
[data-theme="dark"] .order-totals,
[data-theme="dark"] .recent-orders,
[data-theme="dark"] .notes,
[data-theme="dark"] .register-complete,
[data-theme="dark"] .customer-header,
[data-theme="dark"] .main-content-empty,
[data-theme="dark"] .empty-menu {
    color: var(--dm-text);
}

[data-theme="dark"] .sidebar,
[data-theme="dark"] .right-sidebar,
[data-theme="dark"] .menu-mobile,
[data-theme="dark"] .notify-menu {
    background: var(--dm-surface);
    color: var(--dm-text);
}

/* The search box is a pill-shaped FORM wrapping a bare input. The wrapper owns
   the shape, so it also has to own the fill and the border — styling the inner
   input like a normal .form-control drew a square box inside the pill. */
[data-theme="dark"] .search-form,
[data-theme="dark"] .search-form-mobile {
    background: var(--dm-surface-2);
    border: 1px solid var(--dm-border-strong);
    color: var(--dm-text);
}

[data-theme="dark"] .search-form .form-control,
[data-theme="dark"] .search-form-mobile .form-control {
    background-color: transparent;
    border-color: transparent;
    box-shadow: none;
}

[data-theme="dark"] .sidebar ul li a,
[data-theme="dark"] .mmenu .user-menu li a,
[data-theme="dark"] .mobile-number-menu {
    color: var(--dm-text);
}

[data-theme="dark"] .sidebar ul li:hover a,
[data-theme="dark"] .mmenu .user-menu li a:hover {
    background-color: var(--dm-surface-3);
    color: var(--dm-text);
}

[data-theme="dark"] .m-overlay {
    background: rgba(0, 0, 0, 0.7);
}

[data-theme="dark"] .categories,
[data-theme="dark"] .upload-file,
[data-theme="dark"] .profile-img-upload {
    background: var(--dm-surface-2);
    border-color: var(--dm-border);
    color: var(--dm-text-muted);
}

[data-theme="dark"] .upload-txt {
    color: var(--dm-text-muted);
}

[data-theme="dark"] .category-slider a.item {
    background: var(--dm-surface-2);
    color: var(--dm-text);
    box-shadow: 0 3px 6px var(--dm-shadow);
}

[data-theme="dark"] .customer-menu,
[data-theme="dark"] .customer-page,
[data-theme="dark"] .main-container,
[data-theme="dark"] .login-page {
    background: transparent;
    color: var(--dm-text);
}

[data-theme="dark"] .customer-footer,
[data-theme="dark"] .customer-footer h3,
[data-theme="dark"] .note-text,
[data-theme="dark"] .filter-title,
[data-theme="dark"] .copyright-text,
[data-theme="dark"] .sp {
    color: var(--dm-text-muted);
}

/* Site footer.
   style.css paints it `background: var(--primary-color)` with white text — a
   full-strength brand slab. On a dark page that reads as a glowing block at the
   bottom of the screen, so the footer recedes to a surface and keeps its brand
   tie through the link hover instead. (A luminance check does not catch this:
   a saturated mid-tone is not "light", it is just wrong here.) */
[data-theme="dark"] footer {
    background: var(--dm-surface);
    border-top: 1px solid var(--dm-border);
    color: var(--dm-text-muted);
}

[data-theme="dark"] footer a,
[data-theme="dark"] footer h3,
[data-theme="dark"] footer li,
[data-theme="dark"] footer .copyright,
[data-theme="dark"] footer .footer-social a {
    color: var(--dm-text-muted);
}

[data-theme="dark"] footer a:hover,
[data-theme="dark"] footer ul li:hover a,
[data-theme="dark"] footer .footer-social a:hover {
    color: var(--dm-primary);
}

/* --------------------------------------------------------------------------
   Navigation
   -------------------------------------------------------------------------- */

[data-theme="dark"] .main-menu ul li a,
[data-theme="dark"] .menu_xs li a {
    color: var(--dm-text-muted);
}

[data-theme="dark"] .main-menu ul li:hover a,
[data-theme="dark"] .menu_xs li:hover a {
    background-color: var(--dm-surface-3);
    color: var(--dm-text);
}

/* Menu icons are inline SVG with a hard-coded dark fill. */
[data-theme="dark"] .main-menu ul li a svg path,
[data-theme="dark"] .main-menu ul li a svg g,
[data-theme="dark"] .menu_xs li a svg path,
[data-theme="dark"] .menu_xs li a svg g {
    fill: var(--dm-text-muted);
}

[data-theme="dark"] .main-menu ul li.active a svg path,
[data-theme="dark"] .main-menu ul li.active a svg g,
[data-theme="dark"] .menu_xs li.active a svg path,
[data-theme="dark"] .menu_xs li.active a svg g {
    fill: #FFFFFF;
}

[data-theme="dark"] .btn-menu,
[data-theme="dark"] .close-menu,
[data-theme="dark"] .close_menu,
[data-theme="dark"] .menu-toggle {
    background-color: transparent;
    color: var(--dm-text);
}

/* The hamburger / close glyphs are near-black SVGs; invert so they read. */
[data-theme="dark"] .btn-menu img,
[data-theme="dark"] .close-menu img,
[data-theme="dark"] .menu-toggle img {
    filter: invert(1) brightness(1.6);
}

[data-theme="dark"] .btn-lang,
[data-theme="dark"] .btn-ddl-menu,
[data-theme="dark"] .btn-help {
    color: var(--dm-text);
}

[data-theme="dark"] .btn-lang:hover {
    color: var(--dm-primary);
}

[data-theme="dark"] .back a,
[data-theme="dark"] .skip {
    color: var(--dm-text-muted);
}

/* --------------------------------------------------------------------------
   Currency dropdown (declared inline in the layout heads, light-only)
   -------------------------------------------------------------------------- */

[data-theme="dark"] .currency-menu,
[data-theme="dark"] .mobile-currency-menu {
    background: var(--dm-surface-2);
    border-color: var(--dm-border);
    box-shadow: 0 4px 20px var(--dm-shadow);
}

[data-theme="dark"] .currency-option {
    color: var(--dm-text);
}

[data-theme="dark"] .currency-option:hover {
    background: var(--dm-surface-3);
    color: var(--dm-text);
}

[data-theme="dark"] .currency-option.active {
    background: rgba(99, 194, 204, 0.18);
    color: var(--dm-primary);
}

/* --------------------------------------------------------------------------
   Forms
   -------------------------------------------------------------------------- */

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .input-group-text,
[data-theme="dark"] .country_code,
[data-theme="dark"] .location-input,
[data-theme="dark"] .map-input,
[data-theme="dark"] .input_map,
[data-theme="dark"] textarea,
[data-theme="dark"] select,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="tel"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] input[type="date"],
[data-theme="dark"] input[type="time"] {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border-strong);
    color: var(--dm-text);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] select:focus {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-focus);
    color: var(--dm-text);
    box-shadow: 0 0 0 0.25rem rgba(99, 194, 204, 0.3);
}

[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-control[readonly],
[data-theme="dark"] .form-select:disabled {
    background-color: var(--dm-surface-3);
    color: var(--dm-text-subtle);
}

[data-theme="dark"] .form-group label,
[data-theme="dark"] .form-label,
[data-theme="dark"] .form-check-label,
[data-theme="dark"] .col-form-label {
    color: var(--dm-text);
}

[data-theme="dark"] .form-check-input {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border-strong);
}

[data-theme="dark"] .form-check-input:checked {
    background-color: var(--dm-primary);
    border-color: var(--dm-primary);
}

[data-theme="dark"] .form-check-input:focus {
    border-color: var(--dm-focus);
    box-shadow: 0 0 0 0.25rem rgba(99, 194, 204, 0.3);
}

[data-theme="dark"] .form-text {
    color: var(--dm-text-muted);
}

/* Bootstrap's chevron / switch knob are dark SVG data-URIs — restate them light. */
[data-theme="dark"] .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23CFD5DE' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}

[data-theme="dark"] .form-switch .form-check-input {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%239BA4B2'/%3e%3c/svg%3e");
}

[data-theme="dark"] .form-switch .form-check-input:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23181B21'/%3e%3c/svg%3e");
}

/* WebKit autofill paints an opaque near-white box; the inset shadow repaints it. */
[data-theme="dark"] input:-webkit-autofill,
[data-theme="dark"] input:-webkit-autofill:hover,
[data-theme="dark"] input:-webkit-autofill:focus,
[data-theme="dark"] textarea:-webkit-autofill,
[data-theme="dark"] select:-webkit-autofill {
    -webkit-text-fill-color: var(--dm-text);
    -webkit-box-shadow: 0 0 0 1000px var(--dm-surface-2) inset;
    caret-color: var(--dm-text);
}

[data-theme="dark"] .verify-inputs input {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border-strong);
}

[data-theme="dark"] .form-group label.error,
[data-theme="dark"] .invalid-feedback,
[data-theme="dark"] .text-danger {
    color: var(--dm-danger);
}

[data-theme="dark"] .input_errorss,
[data-theme="dark"] .form-control.is-invalid {
    border-color: var(--dm-danger) !important;
}

[data-theme="dark"] .form-control.is-valid {
    border-color: var(--dm-success);
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

[data-theme="dark"] .btn-light,
[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .btn-default,
[data-theme="dark"] .btn-apply,
[data-theme="dark"] .btn-status,
[data-theme="dark"] .btn-search,
[data-theme="dark"] .btn-filter,
[data-theme="dark"] .btn-search2 {
    background-color: var(--dm-surface-3);
    border-color: var(--dm-border-strong);
    color: var(--dm-text);
}

[data-theme="dark"] .btn-light:hover,
[data-theme="dark"] .btn-secondary:hover,
[data-theme="dark"] .btn-default:hover {
    background-color: var(--dm-border);
    color: var(--dm-text);
}

/* Outline buttons: a merchant's own hue is re-emitted at an accessible
   lightness by the generated theme CSS, so only the neutral case is set here. */
[data-theme="dark"] .btn-outline-primary {
    color: var(--dm-primary);
    border-color: var(--dm-border-strong);
}

[data-theme="dark"] .btn-outline-primary:hover {
    background-color: var(--dm-primary);
    border-color: var(--dm-primary);
    color: #181B21;
}

[data-theme="dark"] .btn-outline-danger {
    color: var(--dm-danger);
    border-color: var(--dm-danger);
}

[data-theme="dark"] .btn-outline-danger:hover {
    background-color: var(--dm-danger);
    color: #181B21;
}

[data-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* --------------------------------------------------------------------------
   Bootstrap components
   -------------------------------------------------------------------------- */

[data-theme="dark"] .card,
[data-theme="dark"] .accordion-item {
    background-color: var(--dm-surface);
    color: var(--dm-text);
    border-color: var(--dm-border);
}

/* Overlays sit ABOVE the page, so they get the elevated tone rather than the
   same surface as a card. On a light page a modal separates by being white on
   a dimmed ground; on a dark page dimming cannot do that job — multiplying an
   already-dark palette just crushes every surface toward black — so separation
   has to come from the overlay being lighter than the page, plus a shadow. */
/* ONLY elements that are themselves the floating panel belong here.
   `.custom-modal` / `.custom-modal-600` are modifiers on the full-viewport
   `.modal` container, `.pin_modal` is a 40px click strip inside the map field,
   and `.restorant-name-modal` is a heading — painting any of them opaque put a
   sheet over the whole screen (which is what hid the page behind a dialog) or
   dropped a stray dark box into a form row. Their `.modal-content` is already
   covered by the first selector. */
[data-theme="dark"] .modal-content,
[data-theme="dark"] .offcanvas,
[data-theme="dark"] .toast,
[data-theme="dark"] .popover {
    background-color: var(--dm-elevated);
    color: var(--dm-text);
    border: 1px solid var(--dm-border);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.6);
}

/* A heading, not a surface. */
[data-theme="dark"] .restorant-name-modal,
[data-theme="dark"] .custom-modal h2,
[data-theme="dark"] .custom-modal-600 h2 {
    color: var(--dm-text);
}

/* Header and footer sit back from the modal body so the dialog reads as one
   object with structure, instead of a flat slab. */
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer,
[data-theme="dark"] .offcanvas-header,
[data-theme="dark"] .toast-header {
    background-color: var(--dm-surface);
    border-color: var(--dm-border);
    color: var(--dm-text);
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
    color: var(--dm-text);
}

/* Fields inside an overlay recess against the lighter overlay tone. */
[data-theme="dark"] .modal .form-control,
[data-theme="dark"] .modal .form-select,
[data-theme="dark"] .modal textarea,
[data-theme="dark"] .modal select,
[data-theme="dark"] .modal input[type="text"],
[data-theme="dark"] .modal input[type="email"],
[data-theme="dark"] .modal input[type="password"],
[data-theme="dark"] .modal input[type="number"],
[data-theme="dark"] .modal input[type="tel"],
[data-theme="dark"] .offcanvas .form-control {
    background-color: var(--dm-surface);
    border-color: var(--dm-border-strong);
    color: var(--dm-text);
}

/* A 75%-black scrim over a dark page left rgb(6,7,8) behind the dialog —
   readable as "the page vanished". Dark themes want a much lighter scrim
   (Material specifies ~32%); the overlay above already stands out on its own. */
[data-theme="dark"] .modal-backdrop,
[data-theme="dark"] .modal-backdrop.show,
[data-theme="dark"] .offcanvas-backdrop.show {
    opacity: 0.35;
}

[data-theme="dark"] .dropdown-menu {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
    box-shadow: 0 4px 20px var(--dm-shadow);
}

[data-theme="dark"] .dropdown-item {
    color: var(--dm-text);
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
    background-color: var(--dm-surface-3);
    color: var(--dm-text);
}

[data-theme="dark"] .dropdown-divider {
    border-color: var(--dm-border);
}

[data-theme="dark"] .list-group-item {
    background-color: var(--dm-surface);
    border-color: var(--dm-border);
    color: var(--dm-text);
}

[data-theme="dark"] .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--dm-text);
    --bs-table-striped-bg: var(--dm-surface-2);
    --bs-table-striped-color: var(--dm-text);
    --bs-table-hover-bg: var(--dm-surface-3);
    --bs-table-hover-color: var(--dm-text);
    --bs-table-border-color: var(--dm-border);
    color: var(--dm-text);
    border-color: var(--dm-border);
}

[data-theme="dark"] .table > :not(caption) > * > * {
    background-color: transparent;
    color: var(--dm-text);
    border-bottom-color: var(--dm-border);
}

[data-theme="dark"] .table thead th {
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}

[data-theme="dark"] .nav-tabs {
    border-color: var(--dm-border);
}

[data-theme="dark"] .nav-tabs .nav-link {
    color: var(--dm-text-muted);
    border-color: transparent;
}

[data-theme="dark"] .nav-tabs .nav-link:hover {
    border-color: var(--dm-border);
    color: var(--dm-text);
}

[data-theme="dark"] .nav-tabs .nav-link.active {
    background-color: var(--dm-surface);
    border-color: var(--dm-border) var(--dm-border) var(--dm-surface);
    color: var(--dm-text);
}

[data-theme="dark"] .page-link {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
    color: var(--dm-primary);
}

[data-theme="dark"] .page-link:hover {
    background-color: var(--dm-surface-3);
    border-color: var(--dm-border);
}

[data-theme="dark"] .page-item.disabled .page-link {
    background-color: var(--dm-surface);
    border-color: var(--dm-border);
    color: var(--dm-text-subtle);
}

[data-theme="dark"] .breadcrumb-item,
[data-theme="dark"] .breadcrumb-item + .breadcrumb-item::before {
    color: var(--dm-text-muted);
}

[data-theme="dark"] .accordion-button {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}

[data-theme="dark"] .accordion-button::after {
    filter: invert(1) brightness(1.8);
}

[data-theme="dark"] .accordion-button:not(.collapsed) {
    background-color: var(--dm-surface-3);
    color: var(--dm-text);
}

[data-theme="dark"] .progress {
    background-color: var(--dm-surface-3);
}

[data-theme="dark"] .tooltip-inner {
    background-color: var(--dm-surface-3);
    color: var(--dm-text);
}

[data-theme="dark"] .alert {
    border-color: var(--dm-border);
}

[data-theme="dark"] .alert-success {
    background-color: rgba(91, 201, 127, 0.14);
    color: var(--dm-success);
}

[data-theme="dark"] .alert-danger {
    background-color: rgba(240, 130, 121, 0.14);
    color: var(--dm-danger);
}

[data-theme="dark"] .alert-warning {
    background-color: rgba(232, 174, 69, 0.14);
    color: var(--dm-warning);
}

[data-theme="dark"] .alert-info {
    background-color: rgba(99, 194, 204, 0.14);
    color: var(--dm-primary);
}

/* --------------------------------------------------------------------------
   Status colours
   -------------------------------------------------------------------------- */

[data-theme="dark"] .text-muted {
    color: var(--dm-text-muted) !important;
}

[data-theme="dark"] .text-dark,
[data-theme="dark"] .text-black {
    color: var(--dm-text) !important;
}

[data-theme="dark"] .text-warning,
[data-theme="dark"] .text-pending,
[data-theme="dark"] .st-box .number {
    color: var(--dm-warning);
}

[data-theme="dark"] .text-success,
[data-theme="dark"] .text-confirmed {
    color: var(--dm-success);
}

[data-theme="dark"] .text-canceled {
    color: var(--dm-danger);
}

[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-light {
    background-color: var(--dm-surface) !important;
    color: var(--dm-text);
}

[data-theme="dark"] .border,
[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-start,
[data-theme="dark"] .border-end,
[data-theme="dark"] .border-top-1 {
    border-color: var(--dm-border) !important;
}

/* --------------------------------------------------------------------------
   SweetAlert2 (every provider confirm / result dialog)
   -------------------------------------------------------------------------- */

[data-theme="dark"] .swal2-popup {
    background: var(--dm-surface);
    color: var(--dm-text);
}

[data-theme="dark"] .swal2-title,
[data-theme="dark"] .swal2-html-container {
    color: var(--dm-text);
}

[data-theme="dark"] .swal2-input,
[data-theme="dark"] .swal2-textarea,
[data-theme="dark"] .swal2-select {
    background: var(--dm-surface-2);
    border-color: var(--dm-border-strong);
    color: var(--dm-text);
}

/* --------------------------------------------------------------------------
   Components that ship their own <style> block
   --------------------------------------------------------------------------
   Several partials declare their palette inline rather than in style.css, so
   they stayed white on a dark page. These were found by reading *computed*
   background colours off the rendered pages, not by grepping — each entry below
   is an element that actually measured light while the page was in dark mode.
   -------------------------------------------------------------------------- */

/* Store ordering switch — Provider/Partial/ordering_switch_assets.blade.php */
[data-theme="dark"] .store-ordering {
    background: var(--dm-surface);
    border-color: var(--dm-border);
    color: var(--dm-text);
}

[data-theme="dark"] .store-ordering.is-off {
    background: rgba(240, 130, 121, 0.08);
    border-color: rgba(240, 130, 121, 0.35);
}

[data-theme="dark"] .ordering-switch .ordering-slider {
    background: var(--dm-surface-3);
}

[data-theme="dark"] .ordering-pill.on {
    background: rgba(91, 201, 127, 0.16);
    color: var(--dm-success);
    border-color: rgba(91, 201, 127, 0.4);
}

[data-theme="dark"] .ordering-pill.off {
    background: rgba(240, 130, 121, 0.16);
    color: var(--dm-danger);
    border-color: rgba(240, 130, 121, 0.4);
}

/* Launch checklist — Provider/Layout/Partial/launch_checklist.blade.php */
[data-theme="dark"] .launch-checklist .lc-subopt,
[data-theme="dark"] .launch-checklist .lc-info,
[data-theme="dark"] .launch-checklist .lc-done-secondary {
    background: var(--dm-surface);
    border-color: var(--dm-border);
    color: var(--dm-text);
}

[data-theme="dark"] .launch-checklist .lc-optional,
[data-theme="dark"] .launch-checklist .lc-bar,
[data-theme="dark"] .launch-checklist .lc-mark,
[data-theme="dark"] .launch-checklist .lc-subopt-ic,
[data-theme="dark"] .launch-checklist .lc-info-ic,
[data-theme="dark"] .launch-checklist .lc-step.is-done .lc-final-tag {
    background: var(--dm-surface-3);
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}

/* The step markers carry a white ring to punch through the rail behind them;
   on dark that ring has to become the page, not white. */
[data-theme="dark"] .launch-checklist .lc-mark {
    border-color: var(--dm-surface);
}

[data-theme="dark"] .launch-checklist .lc-rail::after {
    background: var(--dm-border);
}

[data-theme="dark"] .launch-checklist .lc-step.is-done .lc-rail::after {
    background: var(--dm-success);
}

[data-theme="dark"] .launch-checklist .lc-final-tag,
[data-theme="dark"] .launch-checklist .lc-subopt-badge {
    background: rgba(232, 174, 69, 0.18);
    color: var(--dm-warning);
}

[data-theme="dark"] .launch-checklist .lc-level-bar {
    background: rgba(232, 174, 69, 0.22);
}

/* QR publish — Provider/Menu/Partial/publish.blade.php.
   Its <style> block paints #f8f9fa panels and #dee2e6 rules, which stayed light
   under dark text tokens; the "not live" notice is a light-amber banner whose
   own dark-amber text was the only thing keeping it readable. */
[data-theme="dark"] .service-mode-badge,
[data-theme="dark"] .download-options {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}

[data-theme="dark"] .service-mode-badge i {
    color: var(--dm-text-muted);
}

[data-theme="dark"] .qr-actions,
[data-theme="dark"] .service-modes-section {
    border-top-color: var(--dm-border);
}

[data-theme="dark"] .qr-not-live {
    background: rgba(232, 174, 69, 0.12);
    border-color: rgba(232, 174, 69, 0.42);
    color: var(--dm-text);
}

[data-theme="dark"] .qr-not-live i,
[data-theme="dark"] .qr-not-live a {
    color: var(--dm-warning);
}

/* Reservations — Provider/Reservations/index.blade.php.
   That page declares ~65 light rules inline with no token layer, so the
   overrides are grouped by the role each colour plays rather than restated
   one-for-one. */
[data-theme="dark"] .rz {
    background: var(--dm-bg);
    color: var(--dm-text);
}

[data-theme="dark"] .rz-panel,
[data-theme="dark"] .rz-card,
[data-theme="dark"] .rz-mini,
[data-theme="dark"] .rz-stat,
[data-theme="dark"] .rz-drawer,
[data-theme="dark"] .rz-ic,
[data-theme="dark"] .rz-tt-row,
[data-theme="dark"] .rz-pol-preset,
[data-theme="dark"] .rz-pol-tab.is-on,
[data-theme="dark"] .rz-btn--ghost,
[data-theme="dark"] .rz-btn--no {
    background: var(--dm-surface);
    border-color: var(--dm-border);
    color: var(--dm-text);
}

[data-theme="dark"] .rz-fg input,
[data-theme="dark"] .rz-fg select,
[data-theme="dark"] .rz-fg textarea,
[data-theme="dark"] .rz-f input,
[data-theme="dark"] .rz-f select,
[data-theme="dark"] .rz-tt-seats input {
    background: var(--dm-surface-2);
    border-color: var(--dm-border-strong);
    color: var(--dm-text);
}

/* Recessed / hover fills */
[data-theme="dark"] .rz-filters,
[data-theme="dark"] .rz-table th,
[data-theme="dark"] .rz-toggle,
[data-theme="dark"] .rz-tab span,
[data-theme="dark"] .rz-guests,
[data-theme="dark"] .rz-empty-ic,
[data-theme="dark"] .rz-x,
[data-theme="dark"] .rz-tel-in > span,
[data-theme="dark"] .rz-stat-ic--info,
[data-theme="dark"] .rz-pill--cancelled,
[data-theme="dark"] .rz-tt-paidoff,
[data-theme="dark"] .rz-tt-row.is-off,
[data-theme="dark"] .rz-tt-row.is-off .rz-tt-badge,
[data-theme="dark"] .rz-tt-row.is-off .rz-tt-seats input,
[data-theme="dark"] .rzd-refund--refunded {
    background: var(--dm-surface-2);
    border-color: var(--dm-border);
    color: var(--dm-text-muted);
}

[data-theme="dark"] .rz-btn--ghost:hover,
[data-theme="dark"] .rz-tab:hover,
[data-theme="dark"] .rz-row:hover,
[data-theme="dark"] .rz-tt-ic:hover,
[data-theme="dark"] .rz-x:hover,
[data-theme="dark"] .rzd-tl li::before {
    background: var(--dm-surface-3);
}

[data-theme="dark"] .rz-toggle-sw {
    background: var(--dm-surface-3);
}

/* Tinted states keep their meaning, at dark-appropriate strength. */
[data-theme="dark"] .rz-state.is-on,
[data-theme="dark"] .rz-pill--confirmed,
[data-theme="dark"] .rz-stat-ic--ok,
[data-theme="dark"] .rz-tt-badge,
[data-theme="dark"] .rz-tt-paid.is-paid {
    background: rgba(91, 201, 127, 0.15);
    color: var(--dm-success);
    border-color: rgba(91, 201, 127, 0.35);
}

[data-theme="dark"] .rz-tt-paid.is-paid:hover {
    background: rgba(91, 201, 127, 0.24);
}

[data-theme="dark"] .rz-stat-ic--brand,
[data-theme="dark"] .rz-tab.is-on,
[data-theme="dark"] .rz-pol-preset.is-on {
    background: rgba(99, 194, 204, 0.15);
    color: var(--dm-primary);
    border-color: rgba(99, 194, 204, 0.35);
}

[data-theme="dark"] .rz-state.is-off,
[data-theme="dark"] .rz-pill--pending,
[data-theme="dark"] .rz-stat-ic--warn,
[data-theme="dark"] .rz-pol-warn,
[data-theme="dark"] .rz-pol-miss,
[data-theme="dark"] .rz-tt-warn,
[data-theme="dark"] .rzd-note,
[data-theme="dark"] .rzd-refund--not_eligible {
    background: rgba(232, 174, 69, 0.15);
    color: var(--dm-warning);
    border-color: rgba(232, 174, 69, 0.35);
}

[data-theme="dark"] .rz-pill--rejected,
[data-theme="dark"] .rz-alert,
[data-theme="dark"] .rz-tt-ic--del:hover {
    background: rgba(240, 130, 121, 0.15);
    color: var(--dm-danger);
    border-color: rgba(240, 130, 121, 0.35);
}

/* "More" page tiles — Provider/more.blade.php */
[data-theme="dark"] .mt-card,
[data-theme="dark"] .mt-pin {
    background: var(--dm-surface);
    border-color: var(--dm-border);
    color: var(--dm-text);
}

[data-theme="dark"] .mt-card.is-locked {
    background: var(--dm-surface-2);
}

[data-theme="dark"] .mt-hint,
[data-theme="dark"] .mt-lock {
    background: rgba(232, 174, 69, 0.15);
    color: var(--dm-warning);
}

/* White controls declared inside individual modal partials. Sitting on the
   elevated overlay tone, these glared as pure-white blocks. */
[data-theme="dark"] #add-to-google-maps,
[data-theme="dark"] .time-input,
[data-theme="dark"] .time-dropdown,
[data-theme="dark"] #theme-settings-reset {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border-strong) !important;
    color: var(--dm-text) !important;
}

[data-theme="dark"] #add-to-google-maps:hover,
[data-theme="dark"] .time-option:hover,
[data-theme="dark"] #theme-settings-reset:hover {
    background-color: var(--dm-surface-3) !important;
    color: var(--dm-text) !important;
}

[data-theme="dark"] .current-location-btn:disabled {
    background-color: var(--dm-surface-3) !important;
    color: var(--dm-text-subtle) !important;
}

/* Amber "locked" notice in account settings. */
[data-theme="dark"] .op-locked {
    background-color: rgba(232, 174, 69, 0.15) !important;
    color: var(--dm-warning) !important;
    border-color: rgba(232, 174, 69, 0.35) !important;
}

/* Quick setup cards — Provider/Menu/Partial/quick_setup.blade.php */
[data-theme="dark"] .quick-setup .qs-opt {
    background: var(--dm-surface);
    border-color: var(--dm-border);
    color: var(--dm-text);
}

[data-theme="dark"] .quick-setup .qs-opt-primary {
    background: rgba(232, 174, 69, 0.12);
    border-color: rgba(232, 174, 69, 0.4);
}

/* --------------------------------------------------------------------------
   Media
   -------------------------------------------------------------------------- */

/* Opt-in only. Logos are arbitrary artwork — the iCashier mark is coloured on a
   white plate, and blanket-inverting it turned the header logo into a solid
   white square. Never guess at an image; add .dm-invert to the specific
   monochrome glyphs that need it. */
[data-theme="dark"] .dm-invert {
    filter: brightness(0) invert(1);
}

[data-theme="dark"] .qr-container img {
    /* QR codes must keep dark-on-light to stay scannable. */
    background: #FFFFFF;
    padding: 8px;
    border-radius: 6px;
}

/* --------------------------------------------------------------------------
   Theme toggle control
   -------------------------------------------------------------------------- */

.dm-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: transparent;
    border: 1px solid rgba(112, 112, 112, 0.3);
    border-radius: 20px;
    padding: 5px 12px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    color: inherit;
    cursor: pointer;
}

.dm-toggle:hover {
    border-color: var(--primary-color, #2B7B84);
    color: var(--primary-color, #2B7B84);
}

/* Below lg the header's right-hand controls do not fit: style.css already does
   `header .btn-lang { display: none }` at this breakpoint and lets the mobile
   drawer carry those controls instead. The toggle follows the same rule — left
   visible it was pushed off the right edge of the screen. The drawer copy
   (inside .menu-mobile, outside <header>) stays. */
@media (max-width: 991px) {
    header .dm-toggle {
        display: none;
    }
}

/* Inline SVG, so size in px and let it inherit the button's colour. */
.dm-toggle .dm-toggle-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    display: block;
}

/* One icon per theme: moon while light (tap for dark), sun while dark. */
.dm-toggle .dm-icon-dark {
    display: none;
}

[data-theme="dark"] .dm-toggle {
    border-color: var(--dm-border-strong);
    color: var(--dm-text);
}

[data-theme="dark"] .dm-toggle:hover {
    border-color: var(--dm-primary);
    color: var(--dm-primary);
}

[data-theme="dark"] .dm-toggle .dm-icon-light {
    display: none;
}

[data-theme="dark"] .dm-toggle .dm-icon-dark {
    display: block;
}


/* --------------------------------------------------------------------------
   Inline <style> blocks, swept
   --------------------------------------------------------------------------
   The partials below declare their palette in a page-level <style> block, which
   sits after this file in document order and so was never reached by the token
   layer. Each rule here mirrors one such declaration: a light background that
   had no colour of its own (so it inherited light-on-light text), or a dark
   text colour with no background (dark-on-dark). Neutral fills map to a surface
   token by their original lightness so the page keeps its depth order; tinted
   panels keep their hue as a low-alpha wash; semantic text (success green,
   danger red) is lightened rather than greyed, so the meaning survives.

   Scoped to [data-theme="dark"], which outranks the single-class selectors in
   those blocks on specificity, so light mode is untouched. QR canvases, colour
   swatches, print styles and media surfaces are deliberately excluded - they
   must stay light.
   -------------------------------------------------------------------------- */


/* Provider/more.blade.php */
[data-theme="dark"] .mt-title {
    color: #adbee0;
}
[data-theme="dark"] .mt-t {
    color: #adbee0;
}
[data-theme="dark"] .mt-card.is-locked .mt-ic {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .mt-card.is-locked .mt-t {
    color: var(--dm-text-muted);
}

/* Provider/ai-points/payment.blade.php */
[data-theme="dark"] .payment-page-wrapper {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .payment-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .purchase-summary {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .summary-row.total {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .summary-divider {
    background-color: rgba(226, 232, 240, 0.14);
}
[data-theme="dark"] #card-payment-container {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .terms-checkbox-container {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .terms-checkbox label {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .mysr-form input {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text);
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .mysr-form label {
    color: var(--dm-text-muted) !important;
}
[data-theme="dark"] .mysr-form .has-error input {
    background-color: rgba(254, 215, 215, 0.14) !important;
    color: var(--dm-text);
}

/* Provider/Auth/complete_registration.blade.php */
[data-theme="dark"] .cr-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .cr-note {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}

/* Provider/Auth/quick_start.blade.php */
[data-theme="dark"] .qs-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .qs-dot {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .qs-field label {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .qs-field .form-control,
[data-theme="dark"] .qs-field .form-select {
    border-color: var(--dm-border);
}
[data-theme="dark"] .qs-cc {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .qs-benefits {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .qs-benefits li {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .qs-btn {
    color: #ffe38e;
}
[data-theme="dark"] .qs-otp-box {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .qs-otp-box:focus {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .qs-otp-box.filled {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .qs-otp-meta b {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .qs-alert.err {
    background-color: var(--dm-surface-2);
    color: #eca1a5;
    border-color: var(--dm-border);
}
[data-theme="dark"] .qs-alert.ok {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
}
[data-theme="dark"] .qs-foot {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .qs-foot a {
    color: var(--dm-text-muted);
}

/* Provider/Auth/reset_password.blade.php */
[data-theme="dark"] .reset-option {
    border-color: var(--dm-border);
}
[data-theme="dark"] .reset-option:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .reset-option.active {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}

/* Provider/Auth/Partial/quick_start_cta.blade.php */
[data-theme="dark"] .qs-entry-text b {
    color: #ffe38e;
}

/* Provider/banners/index.blade.php */
[data-theme="dark"] .upload-area {
    border-color: var(--dm-border);
}

/* Provider/Cashiers/index.blade.php */
[data-theme="dark"] .cashier-container {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .cashier-header {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .cashier-title {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .cashier-search input {
    border-color: var(--dm-border);
}
[data-theme="dark"] .category-nav {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .category-pill {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
}
[data-theme="dark"] .category-pill:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
}
[data-theme="dark"] .products-section {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .product-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .product-title {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .cart-section {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .cart-header {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .cart-title {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .cart-item {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .cart-item-name {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .qty-btn {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .qty-btn:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .qty-display {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .cart-totals {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .total-row.final {
    color: var(--dm-text-muted);
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .checkout-btn:disabled {
    background-color: var(--dm-surface-3);
    color: var(--dm-text);
}
[data-theme="dark"] .allergen-badge {
    background-color: rgba(254, 226, 226, 0.14);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .allergen-badge:hover {
    background-color: rgba(254, 202, 202, 0.14);
    color: var(--dm-text);
}

/* Provider/Features/add-features.blade.php */
[data-theme="dark"] .feature-checkbox[type="checkbox"] {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text);
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .feature-checkbox[type="checkbox"]:disabled {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text);
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .summary-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .active-plan-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .feature-card {
    border-color: var(--dm-border);
}
[data-theme="dark"] .total-section {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .previously-selected {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}

/* Provider/Home/Partial/launch_tracker_card.blade.php */
[data-theme="dark"] .launch-card {
    border-color: var(--dm-border);
}
[data-theme="dark"] .launch-card-title {
    color: #adbee0;
}
[data-theme="dark"] .launch-card-bar {
    background-color: rgba(253, 233, 184, 0.14);
}

/* Provider/Home/Partial/today_reservations.blade.php */
[data-theme="dark"] .hr-item {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .hr-item:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .hr-time b {
    color: #adc5e0;
}
[data-theme="dark"] .hr-name {
    color: #adc5e0;
}
[data-theme="dark"] .hr-tt {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .hr-pill--pending {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .hr-pill--confirmed {
    background-color: var(--dm-surface-2);
}

/* Provider/Inventory/index.blade.php */
[data-theme="dark"] .btn-inv:hover {
    border-color: var(--dm-border);
}
[data-theme="dark"] .btn-micro:hover {
    border-color: var(--dm-border);
}
[data-theme="dark"] .btn-micro.green:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .btn-micro.red:hover {
    background-color: rgba(255, 227, 227, 0.14);
    color: var(--dm-text);
}
[data-theme="dark"] .alert-banner a:hover {
    color: #ffd88e;
}
[data-theme="dark"] .inv-table tbody tr:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}

/* Provider/Inventory/recipes.blade.php */
[data-theme="dark"] .search-wrap input:focus {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .ing-row select:focus,
[data-theme="dark"] .ing-row input:focus {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .spinner {
    border-color: var(--dm-border);
}

/* Provider/Inventory/show.blade.php */
[data-theme="dark"] .modal.inv-modal .form-control:focus,
[data-theme="dark"] .modal.inv-modal .form-select:focus {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .mv-table td {
    border-bottom-color: var(--dm-border) !important;
}

/* Provider/Inventory/Modals/upload_inventory_modal.blade.php */
[data-theme="dark"] .uinv-drop-area {
    border-color: var(--dm-border);
}
[data-theme="dark"] .uinv-drop-area:hover,
[data-theme="dark"] .uinv-drop-area.dragover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .uinv-el-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .uinv-el-card.uinv-existing {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .uinv-existing-badge {
    background-color: rgba(207, 244, 252, 0.14);
    color: #94e8f9;
    border-color: var(--dm-border);
}

/* Provider/Layout/Partial/announcements.blade.php */
[data-theme="dark"] .announcement-banner {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .announcement-title {
    color: #adbde0;
}
[data-theme="dark"] .announcement-close:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
}
[data-theme="dark"] .ann-modal {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .ann-modal-x:hover {
    background-color: rgba(254, 226, 226, 0.14);
}
[data-theme="dark"] .ann-modal-footer {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .ann-modal-dismiss {
    border-color: var(--dm-border);
}
[data-theme="dark"] .ann-modal-dismiss:hover {
    background-color: var(--dm-surface-2);
    color: #ef9e9e;
}

/* Provider/Layout/Partial/gamification.blade.php */
[data-theme="dark"] .level-circle {
    border-color: var(--dm-border);
}
[data-theme="dark"] .level-number {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .reward-count {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .gamification-panel {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .panel-close-btn:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .level-value {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .xp-numbers {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .section-header h3 {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .reward-card {
    border-color: var(--dm-border);
}
[data-theme="dark"] .reward-content h4 {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .reward-level {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .activity-item {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .activity-item:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .activity-icon.level_up {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .activity-description {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .tips-section {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .tip-card {
    border-left-color: var(--dm-border);
}
[data-theme="dark"] .level-up-badge i {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .level-up-close-btn {
    border-color: var(--dm-border);
}
[data-theme="dark"] .level-up-close-btn:hover {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .reward-notif-close:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .xp-toast {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .xp-toast-label {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .xp-toast-close:hover {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .feature-modal-content {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .feature-modal-close:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .feature-selection-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .feature-selection-card.disabled {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .feature-selection-card.disabled:hover {
    border-color: var(--dm-border);
}
[data-theme="dark"] .feature-card-name {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .feature-card-status {
    background-color: rgba(212, 237, 218, 0.14);
    color: #a4e9b4;
}
[data-theme="dark"] .feature-card-status.already-owned {
    background-color: rgba(248, 215, 218, 0.14);
    color: #e8a4ab;
}
[data-theme="dark"] .feature-modal-footer {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .btn-cancel-selection {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
}
[data-theme="dark"] .btn-cancel-selection:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}

/* Provider/Layout/Partial/header.blade.php */
[data-theme="dark"] .custom-popup {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .subscription-warning {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
}
[data-theme="dark"] .subscription-warning.critical-days {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .subscription-warning.expired {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .subscription-message {
    color: #adbde0;
}
[data-theme="dark"] .close-warning:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
}
[data-theme="dark"] .mobile-currency-option {
    color: var(--dm-text-muted);
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .mobile-currency-option:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
}
[data-theme="dark"] .mobile-currency-option.active {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .currency-dropdown .btn-lang:hover {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .currency-option.active {
    background-color: var(--dm-surface-2);
}

/* Provider/Layout/Partial/launch_checklist.blade.php */
[data-theme="dark"] .launch-checklist .lc-optional {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
}
[data-theme="dark"] .launch-checklist .lc-bar {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .launch-checklist .lc-mark {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
}
[data-theme="dark"] .launch-checklist .lc-final-tag {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .launch-checklist .lc-step.is-done .lc-final-tag {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .launch-checklist .lc-subopt {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .launch-checklist .lc-subopt-primary {
    border-color: var(--dm-border);
}
[data-theme="dark"] .launch-checklist .lc-subopt-ic {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .launch-checklist .lc-subopt-badge {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .launch-checklist .lc-level {
    border-color: var(--dm-border);
}
[data-theme="dark"] .launch-checklist .lc-level-bar {
    background-color: rgba(253, 233, 184, 0.14);
}
[data-theme="dark"] .launch-checklist .lc-info {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .launch-checklist .lc-info-ic {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .launch-checklist .lc-done-secondary {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}
[data-theme="dark"] .launch-checklist .lc-done-secondary:hover {
    border-color: var(--dm-border);
}
[data-theme="dark"] .launch-checklist .lc-continue-later:hover {
    color: var(--dm-text-muted);
}

/* Provider/Layout/Partial/launch_journey_modal.blade.php */
[data-theme="dark"] #launch_journey_modal .lj-close {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] #launch_journey_modal .lj-close:hover {
    background-color: var(--dm-surface-2);
    color: #adbee0;
}

/* Provider/Layout/Partial/script.blade.php */
[data-theme="dark"] .custom-map-control-button {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .custom-map-control-button:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}

/* Provider/Menu/Partial/ai_menu_modal.blade.php */
[data-theme="dark"] #ai_menu_modal .aim-title {
    color: #adbee0;
}
[data-theme="dark"] #ai_menu_modal .aim-balance {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}
[data-theme="dark"] #ai_menu_modal .aim-label {
    color: var(--dm-text-muted);
}
[data-theme="dark"] #ai_menu_modal .aim-textarea,
[data-theme="dark"] #ai_menu_modal .aim-select {
    border-color: var(--dm-border);
}
[data-theme="dark"] #ai_menu_modal .aim-example {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}
[data-theme="dark"] #ai_menu_modal .aim-cta-ghost {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}
[data-theme="dark"] #ai_menu_modal .aim-cta-ghost:hover {
    border-color: var(--dm-border);
}
[data-theme="dark"] #ai_menu_modal .aim-link:hover {
    color: var(--dm-text-muted);
}
[data-theme="dark"] #ai_menu_modal .aim-loading-title {
    color: #adbee0;
}
[data-theme="dark"] #ai_menu_modal .aim-review-title {
    color: #adbee0;
}
[data-theme="dark"] #ai_menu_modal .aim-chip-btn {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}
[data-theme="dark"] #ai_menu_modal .aim-chip-btn:hover {
    border-color: var(--dm-border);
}
[data-theme="dark"] #ai_menu_modal .aim-cat {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] #ai_menu_modal .aim-cat-head {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] #ai_menu_modal .aim-cat-name {
    color: #adbee0;
}
[data-theme="dark"] #ai_menu_modal .aim-cat-name:focus {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] #ai_menu_modal .aim-langbar-switch {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] #ai_menu_modal .aim-langbtn.is-active {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] #ai_menu_modal .aim-item {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] #ai_menu_modal .aim-item-name {
    color: #adbee0;
}
[data-theme="dark"] #ai_menu_modal .aim-item-name:focus {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] #ai_menu_modal .aim-item-price {
    color: #adbee0;
    border-color: var(--dm-border);
}
[data-theme="dark"] #ai_menu_modal .aim-drop:hover {
    color: #f0a39d;
}

/* Provider/Menu/Partial/create_product.blade.php */
[data-theme="dark"] .currency-container {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .allergy-label {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}
[data-theme="dark"] .allergy-label:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .no-allergens .allergy-label {
    background-color: var(--dm-surface-2);
    color: #a4e9b4;
    border-color: var(--dm-border);
}
[data-theme="dark"] .no-allergens .allergy-label:hover {
    background-color: rgba(209, 236, 241, 0.14);
    color: var(--dm-text);
}
[data-theme="dark"] .allergen-disabled .allergy-label {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .ai-progress-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .ai-spinner {
    border-color: var(--dm-border);
}
[data-theme="dark"] .ai-title {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .size-label {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}
[data-theme="dark"] .size-label:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .extras-toggle {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .extras-toggle:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .extras-toggle-icon {
    color: #f597d3;
}
[data-theme="dark"] .extras-toggle-switch {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .extras-toggle.active .extras-toggle-switch {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .extras-header {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .extras-header-title {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .extra-row {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .extra-row .btn-remove-extra {
    background-color: rgba(254, 226, 226, 0.14);
}
[data-theme="dark"] .product-context-icon {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .product-context-name {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .ai-hero-btn {
    background-color: var(--dm-surface-2);
    color: #adade0;
}
[data-theme="dark"] .ai-hero-btn:hover:not(:disabled) {
    background-color: var(--dm-surface-2);
    color: #adade0;
}
[data-theme="dark"] .ai-review-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .ai-review-item {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .ai-review-item.missing {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .ai-review-item.missing .check {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}

/* Provider/Menu/Partial/edit_product.blade.php */
[data-theme="dark"] .currency-container {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .allergy-label {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}
[data-theme="dark"] .allergy-label:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .no-allergens .allergy-label {
    background-color: var(--dm-surface-2);
    color: #a4e9b4;
    border-color: var(--dm-border);
}
[data-theme="dark"] .no-allergens .allergy-label:hover {
    background-color: rgba(209, 236, 241, 0.14);
    color: var(--dm-text);
}
[data-theme="dark"] .allergen-disabled .allergy-label {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .size-label {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}
[data-theme="dark"] .size-label:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .extras-toggle {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .extras-toggle:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .extras-toggle-icon {
    color: #f597d3;
}
[data-theme="dark"] .extras-toggle-switch {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .extras-toggle.active .extras-toggle-switch {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .extras-header {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .extras-header-title {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .extra-row {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .extra-row .btn-remove-extra {
    background-color: rgba(254, 226, 226, 0.14);
}

/* Provider/Menu/Partial/menu_templates_modal.blade.php */
[data-theme="dark"] #menu_templates_modal .mt-title {
    color: #adbee0;
}
[data-theme="dark"] #menu_templates_modal .mt-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] #menu_templates_modal .mt-card-name {
    color: #adbee0;
}
[data-theme="dark"] #menu_templates_modal .mt-card-chip {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
}
[data-theme="dark"] #menu_templates_modal .mt-card-go {
    background-color: var(--dm-surface-2);
}

/* Provider/Menu/Partial/quick_setup.blade.php */
[data-theme="dark"] .quick-setup.is-hero {
    border-color: var(--dm-border);
}
[data-theme="dark"] .quick-setup .qs-title {
    color: #adbee0;
}
[data-theme="dark"] .quick-setup .qs-opt {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .quick-setup .qs-opt-primary {
    border-color: var(--dm-border);
}
[data-theme="dark"] .quick-setup .qs-opt-ic {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .quick-setup .qs-opt-t {
    color: #adbee0;
}
[data-theme="dark"] .quick-setup .qs-opt-badge {
    background-color: var(--dm-surface-2);
}

/* Provider/Menu/Partial/upload_menu_modal.blade.php */
[data-theme="dark"] .um-drop-area {
    border-color: var(--dm-border);
}
[data-theme="dark"] .um-drop-area:hover,
[data-theme="dark"] .um-drop-area.dragover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .um-cat-card {
    border-color: var(--dm-border);
}
[data-theme="dark"] .um-cat-head {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .um-cat-head.um-existing-bg {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .um-prod-card {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .um-chip {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
}
[data-theme="dark"] .um-chip.active {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .um-existing-badge {
    background-color: rgba(207, 244, 252, 0.14);
    color: #94e8f9;
    border-color: var(--dm-border);
}

/* Provider/Orders/dashboard.blade.php */
[data-theme="dark"] .chart-container {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .quick-filter {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .status-confirmed {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .status-pending {
    background-color: var(--dm-surface-2);
    color: #f5bb98;
}
[data-theme="dark"] .status-canceled {
    background-color: rgba(254, 226, 226, 0.14);
    color: #f09d9d;
}
[data-theme="dark"] .stats-item {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .stats-label {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .placeholder-chart {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .ai-close-btn:hover {
    background-color: var(--dm-surface-2) !important;
}
[data-theme="dark"] .ai-score-bar {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .ai-summary-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .ai-insight-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .ai-quick-win-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .ai-recommendation-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .ai-modal-footer {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text);
}

/* Provider/Orders/show.blade.php */
[data-theme="dark"] .deliverer-info-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .deliverer-info-card h3 {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .drive-through-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .drive-through-header {
    background-color: rgba(248, 195, 62, 0.14);
}
[data-theme="dark"] .car-detail-item-horizontal {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .car-detail-item-horizontal .detail-icon {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
}
[data-theme="dark"] .car-detail-item-horizontal .detail-value {
    color: #adc0e0;
}
[data-theme="dark"] .cell:not(.side) {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .cell:not(.side):nth-child(2) {
    border-right-color: var(--dm-border);
}
[data-theme="dark"] .cell:nth-child(1),
[data-theme="dark"] .cell:nth-child(2) {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .arabic {
    color: var(--dm-text);
}
[data-theme="dark"] .english {
    color: var(--dm-text);
}
[data-theme="dark"] .saudi {
    color: var(--dm-text);
}
[data-theme="dark"] .ksa {
    color: var(--dm-text);
}
[data-theme="dark"] .car-detail-item-horizontal {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .car-detail-item-horizontal .detail-icon {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .car-detail-item-horizontal .detail-value {
    color: #adc0e0;
}
[data-theme="dark"] .drive-through-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .extras-body {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .extra-row + .extra-row {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .extra-row-name-text {
    color: var(--dm-text-muted);
}

/* Provider/Partial/ordering_switch_assets.blade.php */
[data-theme="dark"] .ordering-switch .ordering-slider {
    background-color: var(--dm-surface-3);
}
[data-theme="dark"] .ordering-pill.on {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
}
[data-theme="dark"] .ordering-pill.off {
    background-color: var(--dm-surface-2);
    color: #eba2a2;
}
[data-theme="dark"] .store-ordering.is-off {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .store-ordering-title {
    color: #adbee0;
}
[data-theme="dark"] .store-ordering-body {
    border-top-color: var(--dm-border);
}

/* Provider/Payments/pay.blade.php */
[data-theme="dark"] .feature-checkbox[type="checkbox"] {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text);
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .feature-checkbox[type="checkbox"]:disabled {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text);
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .total-section {
    border-top-color: var(--dm-border) !important;
}
[data-theme="dark"] .plan-features .feature-group-title {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .plan-features .feature-group-note strong {
    color: var(--dm-text-muted);
}
[data-theme="dark"] #jtour-pop {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] #jtour-pop .jt-title {
    color: #adbee0;
}
[data-theme="dark"] #jtour-pop .jt-dot {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] #jtour-pop .jt-back {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}
[data-theme="dark"] #jtour-pop .jt-arrow {
    background-color: var(--dm-surface-2);
}

/* Provider/Payments/paynew.blade.php */
[data-theme="dark"] .feature-checkbox[type="checkbox"] {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text);
    border-color: var(--dm-border) !important;
}

/* Provider/Payments/thanks.blade.php */
[data-theme="dark"] .payment-status-box {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .status-details {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .detail-item {
    border-bottom-color: var(--dm-border);
}

/* Provider/Reservations/index.blade.php */
[data-theme="dark"] .rz-pol-confirm {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .rz-pol-confirm strong {
    color: #adc5e0;
}
[data-theme="dark"] .rz-pol-confirm p {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .rz-pol-preset.is-on {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rz-pol-down {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .rz-pol-down > strong {
    color: #adc5e0;
}
[data-theme="dark"] .rz-pol-prev {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rz-pol-tab.is-on {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .rz-pol-prev-tx {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .rz-tt-paid.is-paid {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
}
[data-theme="dark"] .rz-tt-paid.is-paid:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rz-tt-row.is-off {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rz-tt-name {
    color: #adc5e0;
}
[data-theme="dark"] .rz-tt-name:hover {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .rz-tt-row.is-off .rz-tt-badge {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .rz-tt-add > input[type="text"] {
    background-color: var(--dm-surface-2);
    color: #adc5e0;
    border-color: var(--dm-border);
}
[data-theme="dark"] .rz-tt-row.is-off .rz-tt-seats input {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .rz-state.is-on {
    background-color: var(--dm-surface-2);
    color: #9cf1d1;
    border-color: var(--dm-border);
}
[data-theme="dark"] .rz-state.is-off {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
}
[data-theme="dark"] .rz-state-link input {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rz-tab.is-on {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rz-tt {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .rz-tt--edited {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .rz-ic--ok {
    border-color: var(--dm-border);
}
[data-theme="dark"] .rz-ic--no {
    border-color: var(--dm-border);
}
[data-theme="dark"] .rz-ic--wa {
    border-color: var(--dm-border);
}
[data-theme="dark"] .rz-card-a {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .rz-mini--ok {
    border-color: var(--dm-border);
}
[data-theme="dark"] .rz-mini--no {
    border-color: var(--dm-border);
}
[data-theme="dark"] .rz-mini--wa {
    border-color: var(--dm-border);
}
[data-theme="dark"] .rz-drawer-h {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .rz-drawer-h h2 {
    color: #adc5e0;
}
[data-theme="dark"] .rzd-name {
    color: #adc5e0;
}
[data-theme="dark"] .rzd-rows {
    border-color: var(--dm-border);
}
[data-theme="dark"] .rzd-row {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .rzd-row > strong {
    color: #adc5e0;
}
[data-theme="dark"] .rzd-refund--due {
    background-color: var(--dm-surface-2);
    color: #a0ecc7;
}
[data-theme="dark"] .rzd-tl-b {
    color: #adc5e0;
}
[data-theme="dark"] .rz-modal .modal-header {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .rz-modal .modal-title {
    color: #adc5e0;
}
[data-theme="dark"] .rz-modal .modal-footer {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .rz-toggle-tx strong {
    color: #adc5e0;
}
[data-theme="dark"] .rz-day span {
    border-color: var(--dm-border);
}

/* Provider/tables/index.blade.php */
[data-theme="dark"] .table-card {
    border-color: var(--dm-border);
}
[data-theme="dark"] .status-reserved {
    background-color: rgba(255, 193, 7, 0.14);
    color: var(--dm-text);
}
[data-theme="dark"] .qa-chip {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}

/* Customer/Layout/Partial/head.blade.php */
[data-theme="dark"] .currency-option.active {
    background-color: var(--dm-surface-2);
}

/* Customer/Order/complete.blade.php */
/* The payment rows are `.payment-method .box` inline, which ties on
   specificity with this file's `.box` rule and wins on document order, so the
   cash / online / mada options stayed white under light text. Beating the tie
   needs the descendant form, not another single-class rule. */
[data-theme="dark"] .payment-method .box {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
    color: var(--dm-text);
}
[data-theme="dark"] .payment-method .box:hover {
    background-color: var(--dm-surface-3);
}
[data-theme="dark"] .payment-method .box input[type="radio"] {
    accent-color: var(--dm-primary);
}
[data-theme="dark"] .sar-equivalent {
    color: var(--dm-text-muted);
}
[data-theme="dark"] #neoleap-iframe-container iframe {
    border-color: var(--dm-border);
}
[data-theme="dark"] #neoleap-iframe-container.active {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] #neoleap-iframe-container.active #neoleap-close-btn {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
    border-bottom-color: var(--dm-border);
}

/* Customer/Order/index.blade.php */
[data-theme="dark"] .feature-checkbox[type="checkbox"] {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text);
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .feature-checkbox[type="checkbox"]:disabled {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text);
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .total-section {
    border-top-color: var(--dm-border) !important;
}
[data-theme="dark"] .form-check-input:checked + .form-check-label .fa-truck {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text);
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .form-check-input:disabled + .form-check-label .fa-truck {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text);
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .order-type-option {
    border-color: var(--dm-border);
}
[data-theme="dark"] .order-type-option:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .order-type-text {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .plate-wrapper {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .plate-body {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .plate-arabic {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .plate {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .side {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .cart-extras-toggle i.toggle-icon {
    color: #f597d3;
}
[data-theme="dark"] .cart-extras-toggle .toggle-label {
    color: #f597d3;
}
[data-theme="dark"] .cart-extras-toggle .toggle-price {
    color: #f597d3;
}
[data-theme="dark"] .cart-extras-body {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .cart-extra-row + .cart-extra-row {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .cart-extra-name {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .cart-extras-total {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .cart-extras-total-label {
    color: #f597d3;
}
[data-theme="dark"] .cart-extras-total-value {
    color: #f597d3;
}
[data-theme="dark"] .cart-extras-body {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .cart-extra-row + .cart-extra-row {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .cart-extra-name-text {
    color: var(--dm-text-muted);
}

/* Customer/Order/show.blade.php */
[data-theme="dark"] .order-status-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .order-status-hint {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .copy-btn:hover {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .google-rating {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .google-link:hover {
    color: #9cbdf1;
}
[data-theme="dark"] .rate-us-section {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rate-us-section {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .box a.text-decoration-none {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .otp-display {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .otp-display:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .car-plate-display .form-control {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .car-plate-display label {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .car-plate-display .form-control:hover {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text);
}
[data-theme="dark"] .plate {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .side {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .car-details .form-control {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .car-details .form-label {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .extras-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .extras-card-header {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .extras-card-header span {
    color: #f597d3;
}
[data-theme="dark"] .extras-card-header i {
    color: #f597d3;
}
[data-theme="dark"] .extra-row + .extra-row {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .extra-row-name {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .extras-total-row {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .extras-total-label {
    color: #f597d3;
}
[data-theme="dark"] .extras-total-value {
    color: #f597d3;
}
[data-theme="dark"] .extras-body {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .extra-row + .extra-row {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .extra-row-name-text {
    color: var(--dm-text-muted);
}

/* Customer/Reservation/_deposit_panel.blade.php */
[data-theme="dark"] .rzf-pay-sum {
    border-color: var(--dm-border);
}
[data-theme="dark"] .rzf-pay-row--total {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .rzf-pay-policy {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rzf-pay-policy p {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .rzf-pay-ack {
    color: #adc5e0;
    border-color: var(--dm-border);
}
[data-theme="dark"] .rzf-pay-ack:hover {
    border-color: var(--dm-border);
}
[data-theme="dark"] .rzf-pay-ack.is-on {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}

/* Customer/Reservation/cancel.blade.php */
[data-theme="dark"] .rzc-warn {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .rzc-ack {
    color: #adc5e0;
}

/* Customer/Reservation/change_pay.blade.php */
[data-theme="dark"] .rzc-side {
    border-color: var(--dm-border);
}
[data-theme="dark"] .rzc-side p {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .rzc-side--new {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .rzc-side--new p {
    color: #adc5e0;
}

/* Customer/Reservation/show.blade.php */
[data-theme="dark"] .rsvs {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rsvs-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rsvs-copy {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rsvs-dot {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
}
[data-theme="dark"] .rsvs-track-step.is-current .rsvs-dot {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .rsvs-track-bar {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .rsvs-cell {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rsvs-cell--warn {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rsvs-policy {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rsvs-policy-state--due {
    background-color: var(--dm-surface-2);
    color: #a0ecc7;
}
[data-theme="dark"] .rsvs-policy-state--refunded {
    background-color: var(--dm-surface-2);
    color: #acd9e1;
}
[data-theme="dark"] .rsvs-policy-state--not_eligible {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .rsvs-policy-state--credited {
    background-color: var(--dm-surface-2);
    color: #acd9e1;
}
[data-theme="dark"] .rsvs-btn--ghost {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rsvs-btn--ghost:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rsvs-btn--danger {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
}
[data-theme="dark"] .rsvs-btn--danger:hover {
    background-color: var(--dm-surface-2);
    color: #e9a4a8;
}
[data-theme="dark"] .rsvs-flash--ok {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .rsvs-flash--warn {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .rsvs-pending {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rsvs-manage {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rsvs-manage--off {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}

/* Customer/Reservation/verify.blade.php */
[data-theme="dark"] .rzv-form {
    border-top-color: var(--dm-border);
}

/* Customer/Reservation/Partial/form_styles.blade.php */
[data-theme="dark"] .rzf-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rzf-alert {
    background-color: var(--dm-surface-2);
    color: #e9a3a7;
    border-color: var(--dm-border);
}
[data-theme="dark"] .rzf-field input,
[data-theme="dark"] .rzf-field textarea {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rzf-day {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rzf-slotbox {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rzf-slot {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rzf-g {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rzf-tel > span {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rzf-saved {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rzf-ghost {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rzf-ghost:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rzf-current {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .rzf-notice--warn {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .rzf-notice--info {
    background-color: var(--dm-surface-2);
    color: #acd9e1;
}
[data-theme="dark"] .rzf-notice--danger {
    background-color: var(--dm-surface-2);
    color: #e9a3a7;
}
[data-theme="dark"] .rzf-notice--ok {
    background-color: var(--dm-surface-2);
    color: #a0ecc7;
}

/* Customer/Restaurant/index.blade.php */
[data-theme="dark"] .category-slider .item {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
}
[data-theme="dark"] .category-slider .owl-dots .owl-dot span {
    background-color: var(--dm-surface-3);
    color: var(--dm-text);
}

/* Customer/Restaurant/Partial/daily_message.blade.php */
[data-theme="dark"] .ai-icon-wrap {
    border-color: var(--dm-border);
}
[data-theme="dark"] .ai-badge {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
}

/* Customer/Restaurant/Partial/header.blade.php */
[data-theme="dark"] .swiper-pagination-bullet {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .swiper-pagination-bullet-active {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .restaurant-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .restaurant-name {
    color: var(--dm-text);
}
[data-theme="dark"] .location,
[data-theme="dark"] .opening-hours,
[data-theme="dark"] .address-details {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .location:hover,
[data-theme="dark"] .opening-hours:hover,
[data-theme="dark"] .address-details:hover {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .location:hover i,
[data-theme="dark"] .opening-hours:hover i,
[data-theme="dark"] .address-details:hover i {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .social-link {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}
[data-theme="dark"] .restaurant-card {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .social-link {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}

/* Customer/Restaurant/Partial/journey_tour.blade.php */
[data-theme="dark"] #jtour-pop {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] #jtour-pop .jt-title {
    color: #adbee0;
}
[data-theme="dark"] #jtour-pop .jt-dot {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] #jtour-pop .jt-back {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
    border-color: var(--dm-border);
}
[data-theme="dark"] #jtour-pop .jt-arrow {
    background-color: var(--dm-surface-2);
}

/* Customer/Restaurant/Partial/ordering_notice.blade.php */
[data-theme="dark"] .ordering-closed-notice {
    background-color: var(--dm-surface-2);
    color: #ffe08e;
}

/* Customer/Restaurant/Partial/product_item.blade.php */
[data-theme="dark"] .out-of-stock-label {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
}
[data-theme="dark"] .product-info h3 {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .like-button {
    border-color: var(--dm-border);
}
[data-theme="dark"] .like-button:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .allergen-badge {
    background-color: rgba(254, 226, 226, 0.14);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .allergen-badge:hover {
    background-color: rgba(254, 202, 202, 0.14);
    color: var(--dm-text);
}
[data-theme="dark"] .qty-container input[type="number"] {
    border-color: var(--dm-border);
}
[data-theme="dark"] .qty-container input[type="number"][readonly] {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .price {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .customize-modal .modal-footer {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .product-summary {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .product-summary-info h5 {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .product-summary-price {
    color: #f597d3;
}
[data-theme="dark"] .extra-item-customer {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .extra-item-customer:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .extra-name {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .extra-price {
    color: #f597d3;
}
[data-theme="dark"] .extra-qty-control .btn-decrease {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .extra-qty-control input {
    border-color: var(--dm-border);
}
[data-theme="dark"] .customize-total {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .customize-total-price {
    color: #f597d3;
}
[data-theme="dark"] .btn-cancel-customize {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .btn-cancel-customize:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
}
[data-theme="dark"] .customize-modal .modal-footer {
    border-top-color: var(--dm-border);
}
[data-theme="dark"] .product-summary {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .product-summary-info h5 {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .extra-item-customer {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
}
[data-theme="dark"] .extra-item-customer:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .extra-name {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .extra-qty-control .btn-decrease {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .extra-qty-control .btn-decrease:active {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .extra-qty-control input {
    border-color: var(--dm-border);
}
[data-theme="dark"] .customize-total {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}
[data-theme="dark"] .btn-cancel-customize {
    background-color: var(--dm-surface-2);
}
[data-theme="dark"] .btn-cancel-customize:hover {
    background-color: var(--dm-surface-2);
    color: var(--dm-text-muted);
}
/* Second pass: selectors that tie with a rule above and win on document order.
   The first sweep treated a rule as handled when its class names appeared
   anywhere in this file, which hid compound selectors like `.payment-method
   .box` - same specificity as the `.box` rule above, but declared later in the
   page. These are matched on the whole selector instead. */
/* Provider/more.blade.php */
[data-theme="dark"] .mt-card:hover {
    border-color: var(--dm-border);
}

/* Provider/Layout/Modals/edit_profile.blade.php */
[data-theme="dark"] .current-location-btn {
    border-color: var(--dm-border);
}
[data-theme="dark"] .time-option {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .time-dropdown::-webkit-scrollbar-track {
    background-color: var(--dm-surface-2);
}

/* Provider/Reservations/index.blade.php */
[data-theme="dark"] .rz-pol-preset:hover {
    border-color: var(--dm-border);
}
[data-theme="dark"] .rz-pol-preset strong {
    color: #adc5e0;
}
[data-theme="dark"] .rz-pol-tab:hover {
    color: #adc5e0;
}
[data-theme="dark"] .rz-tt-paid {
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
}
[data-theme="dark"] .rz-tt-paid:hover {
    color: #adc5e0;
    border-color: var(--dm-border);
}
[data-theme="dark"] .rz-table td {
    border-bottom-color: var(--dm-border);
}
[data-theme="dark"] .rz-fg label {
    color: #adc5e0;
}

/* Customer/Order/index.blade.php */
[data-theme="dark"] #current-location-btn {
    background-color: var(--dm-surface-2);
    color: var(--dm-text);
}

/* --------------------------------------------------------------------------
   style.css rules the token layer did not reach
   --------------------------------------------------------------------------
   Mostly descendants: this file colours a container, but style.css sets an
   explicit colour on the child, and an explicit colour always beats an
   inherited one. The order totals were the visible case - .total-item got a
   dark surface while `.total-item h3/p` kept rgba(0,0,0,.6), i.e. black on
   black. Same treatment as the inline sweep: neutral fills to a surface
   token, semantic text lightened rather than greyed.
   -------------------------------------------------------------------------- */

[data-theme="dark"] .nav-link.disabled {
    background-color: var(--dm-surface-3);
}
[data-theme="dark"] .register-complete,
[data-theme="dark"] .register-complete p {
    color: var(--dm-text);
}
[data-theme="dark"] .user-info h3 {
    color: var(--dm-text);
}
[data-theme="dark"] .st-box h3 {
    color: var(--dm-text);
}
[data-theme="dark"] .st-box .number .currency {
    color: var(--dm-text);
}
[data-theme="dark"] .publish-item h3 {
    color: var(--dm-text);
}
[data-theme="dark"] .main-content-empty h2 {
    color: var(--dm-text);
}
[data-theme="dark"] .main-content-empty p {
    color: var(--dm-text);
}
[data-theme="dark"] .category-item h3 {
    color: var(--dm-text);
}
[data-theme="dark"] .product-info p {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .filters-cat label {
    color: var(--dm-text);
}
[data-theme="dark"] .order-details p {
    color: var(--dm-text);
}
[data-theme="dark"] .order-details .product-item h3 {
    color: var(--dm-text);
}
[data-theme="dark"] .total-item h3 {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .total-item p {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .total-item.total h3 {
    color: var(--dm-text);
}
[data-theme="dark"] .total-item.total p {
    color: var(--dm-text);
}
[data-theme="dark"] .notes p {
    color: var(--dm-text);
}
[data-theme="dark"] .login-page .btn-lang {
    color: var(--dm-text);
}
[data-theme="dark"] .qty-container input {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .back {
    color: var(--dm-text-muted);
}
[data-theme="dark"] .payment-method label {
    color: var(--dm-text);
}
[data-theme="dark"] .resend a {
    color: var(--dm-text);
}
[data-theme="dark"] .mmenu > ul > li > a {
    color: var(--dm-text);
}
[data-theme="dark"] .help-slider .item h3 {
    color: var(--dm-text);
}
[data-theme="dark"] .st-bg2 .plink a:hover {
    color: #ff8e93;
}

/* --------------------------------------------------------------------------
   Motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: no-preference) {
    [data-theme="dark"] body,
    [data-theme="dark"] .box,
    [data-theme="dark"] header {
        transition: background-color 0.2s ease-out, color 0.2s ease-out;
    }
}
