/* ==========================================================
   SHOPOCROP DARK THEME
   Activates when [data-theme="dark"] is set on <html>.
   Loaded AFTER design-system.css so it overrides tokens.
   ========================================================== */

[data-theme="dark"] {
    /* Backgrounds & Surfaces */
    --color-bg:      #121212;
    --color-surface: #1E1E1E;
    --color-surface-2: #1A1A1A; /* nested/muted panels */

    /* Text */
    --color-text:       #E0E0E0;
    --color-text-muted: #A0A0A0;
    /* --color-text-white stays #FFFFFF (used on brand-colored fills) */

    /* Borders & Dividers */
    --color-border:    #2C2C2C;
    --color-table-alt: #242424;

    /* Brand greens stay identical across both themes (per spec) */

    /* Shadows tuned for dark surfaces */
    --shadow-card:       0 4px 16px rgba(0, 0, 0, 0.55);
    --shadow-card-hover: 0 8px 32px rgba(46, 125, 50, 0.35);
    --shadow-btn:        0 2px 8px rgba(46, 125, 50, 0.40);

    /* Admin-layout-specific tokens (defined inline in MainLayout) */
    --ml-page-bg: #121212;
    --ml-text:    #E0E0E0;

    /* ------------------------------------------------------
       NiceShop (main.css) template token remap.
       The public site is styled by main.css, which uses its
       OWN variable system (separate from the --color-* tokens
       above). Without remapping these, body text/headings stay
       dark and every surface-based card stays white in dark
       mode. These vars drive ~1000 rules across the public site.
       ------------------------------------------------------ */
    --background-color: #121212;
    --default-color:    #E0E0E0;
    --heading-color:    #FFFFFF;
    --surface-color:    #1E1E1E;
    --accent-color:     #43A047; /* readable, on-brand green for links/buttons */
    /* --contrast-color stays #FFFFFF (text on accent-colored fills) */

    /* Nav dropdown surfaces (desktop --nav-color sits on the green header) */
    --nav-mobile-background-color:   #1E1E1E;
    --nav-dropdown-background-color: #1E1E1E;
    --nav-dropdown-color:            #E0E0E0;
    --nav-dropdown-hover-color:      #43A047;

    color-scheme: dark;
}

/* NiceShop ".light-background" sections locally reset the template
   tokens back to light values; re-skin them for dark mode so they
   don't punch white holes into the page. */
[data-theme="dark"] .light-background {
    --background-color: #1A1A1A;
    --surface-color:    #1E1E1E;
}

/* ----------------------------------------------------------
   HOMEPAGE "EDITOR'S SELECTION" (.promo-cards / .es-*)
   Bespoke section with hardcoded warm-cream bg and dark-green
   text. Re-skin for dark mode (selectors scoped under
   .promo-cards to beat the page's inline <style>).
   The gold accent (#c8973a) is kept in both themes.
   ---------------------------------------------------------- */
[data-theme="dark"] .promo-cards {
    --default-color: #E0E0E0;
    --heading-color: #FFFFFF;
    background: #14120e; /* warm near-black, keeps the section's warmth */
}

/* Headings & body copy */
[data-theme="dark"] .promo-cards .es-heading,
[data-theme="dark"] .promo-cards .es-feature-title,
[data-theme="dark"] .promo-cards .es-mini-name {
    color: #ECECEC;
}

[data-theme="dark"] .promo-cards .es-heading em {
    color: var(--color-accent-light);
}

[data-theme="dark"] .promo-cards .es-sub,
[data-theme="dark"] .promo-cards .es-feature-desc,
[data-theme="dark"] .promo-cards .es-mini-desc {
    color: var(--color-text-muted);
}

/* Cards: borders & image placeholders */
[data-theme="dark"] .promo-cards .es-feature,
[data-theme="dark"] .promo-cards .es-mini {
    border-color: var(--color-border);
}

[data-theme="dark"] .promo-cards .es-feature-media,
[data-theme="dark"] .promo-cards .es-mini-thumb {
    background: var(--color-surface-2);
}

/* Category tag pill — deepen the light-green tint */
[data-theme="dark"] .promo-cards .es-tag {
    background: rgba(67, 160, 71, 0.18);
    color: #8FCE86;
}

/* "Explore / Shop now" CTAs (dark-green text + underline) */
[data-theme="dark"] .promo-cards .es-cta,
[data-theme="dark"] .promo-cards .es-mini-link {
    color: var(--color-text);
}

[data-theme="dark"] .promo-cards .es-cta {
    border-bottom-color: var(--color-border);
}

[data-theme="dark"] .promo-cards .es-cta:hover,
[data-theme="dark"] .promo-cards .es-mini-link:hover {
    color: #c8973a; /* gold hover preserved */
    border-bottom-color: #c8973a;
}

/* Product gallery nav arrows keep a translucent-white pill (they float
   over imagery); force a dark glyph so it stays visible in dark mode. */
[data-theme="dark"] .product-details .product-gallery .main-showcase .image-navigation .nav-arrow {
    color: #1A1A1A;
}

/* ----------------------------------------------------------
   HOMEPAGE "CURATED COLLECTIONS" (.cc-*) + CATEGORY SLIDER
   Bespoke cream-card section (sibling of the Editor's
   Selection above, whose page <style> hardcodes cream
   backgrounds and dark-green text). Re-skin for dark mode.
   The gold accent (#c8973a on .cc-card-num / .cc-item-price)
   is kept in both themes.
   ---------------------------------------------------------- */
[data-theme="dark"] .cc-heading { color: #ECECEC; }
[data-theme="dark"] .cc-heading em { color: var(--color-accent-light); }
[data-theme="dark"] .cc-card {
    background: #14120e; /* warm near-black, matches promo section */
    border-color: var(--color-border);
}
[data-theme="dark"] .cc-card:hover { border-color: rgba(255, 255, 255, 0.16); }
[data-theme="dark"] .cc-card::before { background: var(--color-accent); }
[data-theme="dark"] .cc-card-count { color: var(--color-text-muted); }
[data-theme="dark"] .cc-card-feature,
[data-theme="dark"] .cc-item-thumb { background: var(--color-surface-2); }
[data-theme="dark"] .cc-item-thumb { border-color: var(--color-border); }
[data-theme="dark"] .cc-card-corner {
    background: rgba(20, 20, 20, 0.85);
    color: #ECECEC;
}
[data-theme="dark"] .cc-card-title {
    color: #ECECEC;
    border-bottom-color: var(--color-border);
}
[data-theme="dark"] .cc-card-item { border-bottom-color: rgba(255, 255, 255, 0.08); }
[data-theme="dark"] .cc-item-name { color: var(--color-text); }
[data-theme="dark"] .cc-item-leader { border-bottom-color: rgba(255, 255, 255, 0.18); }

/* Category slider — circle thumbnails, labels, nav buttons */
[data-theme="dark"] #plantSlider .circle-img {
    background: var(--color-surface-2);
    border-color: var(--color-border);
}
[data-theme="dark"] #plantSlider .category-title { color: var(--color-text); }
[data-theme="dark"] .slider-btn { background: #2e7d32; color: #ffffff; }
[data-theme="dark"] .slider-btn:hover { background: #388e3c; }

/* Best-seller cards (_BestsellerPartialView): card surface/border are
   already token-driven; re-skin the image placeholder + stock pills. */
[data-theme="dark"] .p-img-wrap { background: var(--color-surface-2); }
[data-theme="dark"] .p-stock { background: rgba(46, 125, 50, 0.18); color: #6FCF7A; }
[data-theme="dark"] .p-stock.out-of-stock { background: rgba(198, 40, 40, 0.22); color: #FF7C7C; }

/* ----------------------------------------------------------
   GLOBAL BODY BACKGROUND
   Ensures pages with no explicit bg honor the theme.
   ---------------------------------------------------------- */
[data-theme="dark"] body {
    background-color: var(--color-bg);
    color: var(--color-text);
}

/* ----------------------------------------------------------
   COMPONENT TWEAKS FOR DARK MODE
   Targeted overrides for spots where design-system.css used
   a hardcoded light value or where Bootstrap defaults clash.
   ---------------------------------------------------------- */

/* Product card hover row */
[data-theme="dark"] .shopocrop-table tbody tr:hover {
    background-color: #1A2E1C;
}

/* Stock badges — keep accent text bright, deepen tint */
[data-theme="dark"] .sc-stock-badge--ok {
    background-color: rgba(46, 125, 50, 0.18);
    color: #6FCF7A;
}

[data-theme="dark"] .sc-stock-badge--low {
    background-color: rgba(230, 81, 0, 0.20);
    color: #FFB266;
}

[data-theme="dark"] .sc-stock-badge--nil {
    background-color: rgba(198, 40, 40, 0.22);
    color: #FF7C7C;
}

/* Table thumbnail border softens on dark */
[data-theme="dark"] .sc-table-thumb {
    border-color: var(--color-border);
}

/* Plant card image-wrap placeholder bg uses --color-table-alt; ok */

/* ----------------------------------------------------------
   ADMIN MAIN-LAYOUT INLINE PATCHES
   The MainLayout.cshtml has an inline <style> with a few
   hardcoded hex values (#eff4ff hover, #e6eaf2 border,
   #2563eb focus). Re-skin them under dark mode.
   ---------------------------------------------------------- */
[data-theme="dark"] html,
[data-theme="dark"] body.sb-nav-fixed,
[data-theme="dark"] #layoutSidenav_content > main {
    background-color: var(--ml-page-bg);
    color: var(--ml-text);
}

/* Admin topbar (styles.css hardcodes #top_nav { background:#ffffff }) */
[data-theme="dark"] #top_nav {
    background-color: var(--color-surface);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .topbar h4 {
    color: var(--color-text);
}

[data-theme="dark"] .navbar-nav .dropdown-menu {
    background-color: var(--color-surface);
    border-color: var(--color-border);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
}

[data-theme="dark"] .navbar-nav .dropdown-menu .dropdown-item {
    color: var(--color-text);
}

[data-theme="dark"] .navbar-nav .dropdown-menu .dropdown-item:hover {
    background: rgba(46, 125, 50, 0.18);
    color: var(--color-accent-light);
}

[data-theme="dark"] .navbar-nav .dropdown-menu .dropdown-item#logout_btn:hover {
    background: rgba(198, 40, 40, 0.22);
    color: #FF7C7C;
}

[data-theme="dark"] .navbar-nav .dropdown-menu .dropdown-divider {
    border-color: var(--color-border);
}

/* Bootstrap card / form / input baselines for admin pages */
[data-theme="dark"] .card {
    background-color: var(--color-surface);
    color: var(--color-text);
    border-color: var(--color-border);
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer {
    background-color: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text);
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background-color: #1A1A1A;
    border-color: var(--color-border);
    color: var(--color-text);
}

[data-theme="dark"] .form-control::placeholder {
    color: #707070;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    background-color: #1A1A1A;
    border-color: var(--color-accent);
    color: var(--color-text);
    box-shadow: 0 0 0 0.2rem rgba(46, 125, 50, 0.25);
}

[data-theme="dark"] .table {
    color: var(--color-text);
    background-color: transparent;
    --bs-table-bg: transparent;
    --bs-table-color: var(--color-text);
    --bs-table-striped-bg: var(--color-table-alt);
    --bs-table-striped-color: var(--color-text);
    --bs-table-hover-bg: rgba(46, 125, 50, 0.12);
    --bs-table-hover-color: var(--color-text);
    --bs-table-border-color: var(--color-border);
}

[data-theme="dark"] .modal-content {
    background-color: var(--color-surface);
    color: var(--color-text);
    border: 1px solid var(--color-border);
}

[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer {
    border-color: var(--color-border);
}

[data-theme="dark"] .dropdown-menu {
    background-color: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text);
}

[data-theme="dark"] .dropdown-item {
    color: var(--color-text);
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
    background-color: rgba(46, 125, 50, 0.18);
    color: var(--color-accent-light);
}

/* ----------------------------------------------------------
   USERLAYOUT HEADER / NAV TOUCH-UPS
   main.css for UserLayout uses some hardcoded greys; pull
   them onto the theme where they're visibly off.
   ---------------------------------------------------------- */
[data-theme="dark"] .header,
[data-theme="dark"] .main-header,
[data-theme="dark"] .header-nav {
    background-color: var(--color-surface);
    color: var(--color-text);
    border-color: var(--color-border);
}

[data-theme="dark"] .header .navmenu a,
[data-theme="dark"] .header .navmenu a:focus {
    color: var(--color-text);
}

[data-theme="dark"] .header .navmenu a:hover,
[data-theme="dark"] .header .navmenu a.active {
    color: var(--color-accent-light);
}

[data-theme="dark"] .header .sitename {
    color: var(--color-text);
}

[data-theme="dark"] .search-form .form-control {
    background-color: #1A1A1A;
    border-color: var(--color-border);
    color: var(--color-text);
}

[data-theme="dark"] .header-action-btn {
    color: var(--color-text);
}

[data-theme="dark"] .header-action-btn:hover {
    color: var(--color-accent-light);
}

/* Account dropdown header polish */
[data-theme="dark"] .account-dropdown .dropdown-header {
    background-color: rgba(46, 125, 50, 0.10);
    color: var(--color-text);
    border-bottom: 1px solid var(--color-border);
}

[data-theme="dark"] .account-dropdown .dropdown-header h6,
[data-theme="dark"] .account-dropdown .dropdown-header p {
    color: var(--color-text);
}

/* ----------------------------------------------------------
   THEME TOGGLE BUTTON
   Sits inside .header-actions (UserLayout) and in the admin
   topbar (MainLayout). Reuses .header-action-btn sizing on
   the public side; provides its own sizing as a fallback.
   ---------------------------------------------------------- */
.theme-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 50%;
    background: transparent;
    color: var(--color-text);
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.25s ease;
}

.theme-toggle-btn:hover,
.theme-toggle-btn:focus-visible {
    background-color: rgba(46, 125, 50, 0.12);
    color: var(--color-accent);
    outline: none;
}

[data-theme="dark"] .theme-toggle-btn:hover,
[data-theme="dark"] .theme-toggle-btn:focus-visible {
    background-color: rgba(67, 160, 71, 0.18);
    color: var(--color-accent-light);
}

.theme-toggle-btn .theme-toggle-icon {
    font-size: 18px;
    line-height: 1;
    transition: transform 0.35s ease;
}

.theme-toggle-btn:hover .theme-toggle-icon {
    transform: rotate(20deg);
}

/* CSS-only icon swap (works with any icon font / SVG) */
.theme-toggle-btn .theme-icon-dark { display: none; }
.theme-toggle-btn .theme-icon-light { display: inline-block; }

[data-theme="dark"] .theme-toggle-btn .theme-icon-light { display: none; }
[data-theme="dark"] .theme-toggle-btn .theme-icon-dark { display: inline-block; }

/* Admin topbar variant — slightly tighter */
.topbar .theme-toggle-btn {
    width: 36px;
    height: 36px;
    margin: 0 6px;
}

.topbar .theme-toggle-btn .theme-toggle-icon {
    font-size: 16px;
}

/* ----------------------------------------------------------
   SMOOTH THEME TRANSITIONS
   Soft cross-fade between themes (skipped if user prefers
   reduced motion).
   ---------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
    body,
    .header,
    .main-header,
    .header-nav,
    .card,
    .modal-content,
    .dropdown-menu,
    .sc-product-card,
    .shopocrop-table-wrap,
    .form-control,
    .form-select {
        transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
    }
}

/* ==========================================================
   ADMIN PAGES — DARK MODE
   Each admin page CSS defines its own :root variable namespace
   (--db-*, --cat-*, --pp-*, --cp-*, --pf-*, --or-*) with
   light-only values.  Without remapping them here, every admin
   surface stays white in dark mode regardless of the global
   --color-* / --ml-* remaps above.
   ========================================================== */

/* ---- Token remaps for all page namespaces ----
   NOTE: scoped to `html[data-theme="dark"]` (specificity 0,1,1) rather than
   the bare `[data-theme="dark"]` (0,1,0). Admin page CSS (categories.css,
   products.css, …) is <link>'d inside @RenderBody(), so it loads AFTER this
   file. Its `:root { --cat-* }` light defaults (also 0,1,0) would otherwise
   win the cascade on source order and revert dark mode back to light. The
   extra `html` lifts these dark values above any later `:root` block. */
html[data-theme="dark"] {
    /* Layout shell (styles.css body + #layoutSidenav_content) */
    /* body already handled above; content pane needs its own remap */

    /* Dashboard  --db-* */
    --db-bg: #121212;           --db-surface: #1E1E1E;
    --db-border: #2C2C2C;       --db-border-strong: #383838;
    --db-text-strong: #F1F5F9;  --db-text: #CBD5E1;  --db-text-muted: #94A3B8;
    --db-success: #4ade80;      --db-warning: #fbbf24;
    --db-danger: #f87171;       --db-purple: #a78bfa;   --db-pink: #f472b6;
    --db-accent-soft:  rgba(37, 99, 235, 0.15);
    --db-success-soft: rgba(74, 222, 128, 0.12);
    --db-warning-soft: rgba(251, 191, 36,  0.14);
    --db-danger-soft:  rgba(248, 113, 113, 0.14);
    --db-purple-soft:  rgba(167, 139, 250, 0.14);
    --db-pink-soft:    rgba(244, 114, 182, 0.14);
    --db-shadow-sm: 0 1px 3px rgba(0,0,0,.35);
    --db-shadow-md: 0 4px 14px rgba(0,0,0,.45);
    --db-shadow-lg: 0 12px 32px rgba(0,0,0,.65);

    /* Categories  --cat-* */
    --cat-bg: #121212;          --cat-surface: #1E1E1E;
    --cat-border: #2C2C2C;      --cat-border-strong: #383838;
    --cat-text-strong: #F1F5F9; --cat-text: #CBD5E1; --cat-text-muted: #94A3B8;
    --cat-accent-soft: rgba(37, 99, 235, 0.15);
    --cat-info-soft:   rgba(14, 165, 233, 0.14);
    --cat-shadow-sm: 0 1px 3px rgba(0,0,0,.35);
    --cat-shadow-md: 0 4px 14px rgba(0,0,0,.45);
    --cat-shadow-lg: 0 12px 32px rgba(0,0,0,.65);

    /* Products  --pp-* */
    --pp-bg: #121212;           --pp-surface: #1E1E1E;
    --pp-border: #2C2C2C;       --pp-border-strong: #383838;
    --pp-text-strong: #F1F5F9;  --pp-text: #CBD5E1;  --pp-text-muted: #94A3B8;
    --pp-accent-soft: rgba(37, 99, 235, 0.15);
    --pp-shadow-sm: 0 1px 3px rgba(0,0,0,.35);
    --pp-shadow-md: 0 4px 14px rgba(0,0,0,.45);
    --pp-shadow-lg: 0 12px 32px rgba(0,0,0,.65);

    /* Customers  --cp-* */
    --cp-bg: #121212;           --cp-surface: #1E1E1E;
    --cp-border: #2C2C2C;       --cp-border-strong: #383838;
    --cp-text-strong: #F1F5F9;  --cp-text: #CBD5E1;  --cp-text-muted: #94A3B8;
    --cp-success: #4ade80;
    --cp-accent-soft: rgba(37, 99, 235, 0.15);
    --cp-shadow-sm: 0 1px 3px rgba(0,0,0,.35);
    --cp-shadow-md: 0 4px 14px rgba(0,0,0,.45);
    --cp-shadow-lg: 0 12px 32px rgba(0,0,0,.65);

    /* Profile  --pf-* */
    --pf-bg: #121212;           --pf-surface: #1E1E1E;
    --pf-border: #2C2C2C;       --pf-border-strong: #383838;
    --pf-text-strong: #F1F5F9;  --pf-text: #CBD5E1;  --pf-text-muted: #94A3B8;
    --pf-success: #4ade80;
    --pf-accent-soft:  rgba(37, 99, 235, 0.15);
    --pf-success-soft: rgba(74, 222, 128, 0.12);
    --pf-shadow-sm: 0 1px 3px rgba(0,0,0,.35);
    --pf-shadow-md: 0 4px 14px rgba(0,0,0,.45);

    /* Orders  --or-* */
    --or-bg: #121212;           --or-surface: #1E1E1E;
    --or-border: #2C2C2C;       --or-border-strong: #383838;
    --or-text-strong: #F1F5F9;  --or-text: #CBD5E1;  --or-text-muted: #94A3B8;
    --or-success: #4ade80;      --or-warning: #fbbf24;
    --or-danger: #f87171;       --or-info: #38bdf8;   --or-purple: #a78bfa;
    --or-accent-soft:  rgba(37, 99, 235, 0.15);
    --or-success-soft: rgba(74, 222, 128, 0.12);
    --or-warning-soft: rgba(251, 191, 36,  0.14);
    --or-info-soft:    rgba(56,  189, 248, 0.14);
    --or-danger-soft:  rgba(248, 113, 113, 0.14);
    --or-purple-soft:  rgba(167, 139, 250, 0.14);
    --or-shadow-sm: 0 1px 3px rgba(0,0,0,.35);
    --or-shadow-md: 0 4px 14px rgba(0,0,0,.45);
    --or-shadow-lg: 0 12px 32px rgba(0,0,0,.65);

    /* Cart Items  --ci-* */
    --ci-bg: #121212;           --ci-surface: #1E1E1E;
    --ci-border: #2C2C2C;       --ci-border-strong: #383838;
    --ci-text-strong: #F1F5F9;  --ci-text: #CBD5E1;  --ci-text-muted: #94A3B8;
    --ci-accent-soft: rgba(37, 99, 235, 0.15);
    --ci-shadow-sm: 0 1px 3px rgba(0,0,0,.35);
    --ci-shadow-md: 0 4px 14px rgba(0,0,0,.45);
}

/* ---- Layout content pane (styles.css hardcodes #f8fafc) ---- */
[data-theme="dark"] #layoutSidenav_content {
    background: var(--ml-page-bg);
}

/* ---- Table header strips (hardcoded #f8fafc across all page CSS) ---- */
[data-theme="dark"] .fixed-table-header table thead th,
[data-theme="dark"] #Category_table thead th,
[data-theme="dark"] #Product_table thead th,
[data-theme="dark"] #customer_table thead th,
[data-theme="dark"] #Order_table thead th,
[data-theme="dark"] #Cart_table thead th,
[data-theme="dark"] .subcategory-table thead th,
[data-theme="dark"] .rv-table thead th {
    background: var(--color-surface-2) !important;
    color: var(--color-text-muted) !important;
    border-bottom-color: var(--color-border) !important;
}

/* ---- Subcategory row hover (hardcoded #f8fafc) ---- */
[data-theme="dark"] .subcategory-table tbody tr:hover {
    background: rgba(46, 125, 50, 0.10);
}

/* ---- Form card / detail panel header gradient strips ---- */
[data-theme="dark"] .form-card-header,
[data-theme="dark"] .detail-card-header {
    background: var(--color-surface-2);
    border-bottom-color: var(--color-border);
}

/* ---- Form card footers (hardcoded #f8fafc) ---- */
[data-theme="dark"] .form-card-footer {
    background: var(--color-surface-2);
    border-top-color: var(--color-border);
}

/* ---- Dashboard panel header gradient + panel body ---- */
[data-theme="dark"] .panel-header {
    background: var(--color-surface-2);
    border-bottom-color: var(--color-border);
}

[data-theme="dark"] .panel-body {
    background: var(--color-surface);
}

/* ---- Badge-pill border (hardcoded light tint across pages) ---- */
[data-theme="dark"] .badge-pill {
    border-color: rgba(128, 128, 128, 0.25);
}

/* ---- Dashboard: activity avatar white border ---- */
[data-theme="dark"] .activity-avatar {
    border-color: var(--color-surface);
}

/* ---- Categories: subcategory detail panel ---- */
[data-theme="dark"] .subcategory-detail-wrap {
    background: rgba(37, 99, 235, 0.08);
    box-shadow: none;
}

/* ---- Categories / Products: close-icon button hover ---- */
[data-theme="dark"] .btn-icon-close:hover {
    background: rgba(220, 38, 38, 0.15);
    color: #f87171;
    border-color: rgba(220, 38, 38, 0.30);
}

/* ---- Products: extra-image gallery thumbnails ---- */
[data-theme="dark"] .extra-img-thumb {
    background: var(--color-surface-2);
    border-color: var(--color-border);
}

/* ---- Products: "No Image" placeholder span ---- */
[data-theme="dark"] #Product_table tbody td span[style*="color:red"] {
    background: var(--color-surface-2) !important;
    color: var(--color-text-muted) !important;
}

/* ---- Products: price prefix (₹) input-group-text ---- */
[data-theme="dark"] .form-card-body .input-group-text {
    background: var(--color-surface-2);
    border-color: var(--color-border);
    color: var(--color-text-muted);
}

/* ---- Customers: avatar border + readonly fields ---- */
[data-theme="dark"] .avatar-image {
    border-color: var(--color-surface);
    background: var(--color-surface-2);
}

[data-theme="dark"] .detail-card-body .form-control[readonly] {
    background: var(--color-surface-2);
    color: var(--color-text-muted);
}

/* ---- Profile: avatar + disabled inputs + dividers ---- */
[data-theme="dark"] .pf-avatar {
    background: var(--color-surface-2);
    border-color: var(--color-surface);
}

[data-theme="dark"] .pf-form-group input:disabled {
    background: var(--color-surface-2);
    color: var(--color-text-muted);
}

[data-theme="dark"] .pf-divider,
[data-theme="dark"] .pf-form-divider { background: var(--color-border); }

/* ---- Profile: status badge border ---- */
[data-theme="dark"] .pf-status-badge {
    color: #4ade80;
    border-color: rgba(22, 163, 74, 0.30);
}

/* ---- Orders: invoice modal ---- */
[data-theme="dark"] .invoice-modal .modal-header {
    background: var(--color-surface-2);
    border-bottom-color: var(--color-border);
}

[data-theme="dark"] .invoice-modal .modal-body {
    background: var(--color-surface-2);
}

/* ---- Orders: status select color-coded pills ---- */
[data-theme="dark"] .order-status-select.status-processing {
    background-color: rgba(14,  165, 233, 0.14);
    color: #38bdf8;
    border-color: rgba(14, 165, 233, 0.30);
}
[data-theme="dark"] .order-status-select.status-pending {
    background-color: rgba(217, 119, 6,   0.18);
    color: #fbbf24;
    border-color: rgba(217, 119, 6, 0.30);
}
[data-theme="dark"] .order-status-select.status-paid {
    background-color: rgba(124, 58,  237, 0.15);
    color: #a78bfa;
    border-color: rgba(124, 58, 237, 0.30);
}
[data-theme="dark"] .order-status-select.status-shipped {
    background-color: rgba(37,  99,  235, 0.15);
    color: #60a5fa;
    border-color: rgba(37, 99, 235, 0.30);
}
[data-theme="dark"] .order-status-select.status-delivered {
    background-color: rgba(22,  163, 74,  0.15);
    color: #4ade80;
    border-color: rgba(22, 163, 74, 0.30);
}
[data-theme="dark"] .order-status-select.status-cancelled {
    background-color: rgba(220, 38,  38,  0.15);
    color: #f87171;
    border-color: rgba(220, 38, 38, 0.30);
}

/* ---- Pagination (Bootstrap defaults stay light without this) ---- */
[data-theme="dark"] .pagination .page-link {
    background-color: var(--color-surface);
    color: var(--color-text);
    border-color: var(--color-border);
}
[data-theme="dark"] .pagination .page-item.disabled .page-link {
    background-color: var(--color-surface-2);
    color: var(--color-text-muted);
    border-color: var(--color-border);
}
[data-theme="dark"] .pagination .page-link:hover {
    background-color: var(--color-surface-2);
    color: var(--color-text);
    border-color: var(--color-border);
}

/* ==========================================================
   REVIEWS PAGE — fully hardcoded in Reviews.css (no :root vars)
   ========================================================== */
[data-theme="dark"] .rv-header-card { border-color: var(--color-border); }
[data-theme="dark"] .rv-page-title  { color: var(--color-text); }

[data-theme="dark"] .rv-filter-bar select {
    background: var(--color-surface);
    color: var(--color-text);
    border-color: var(--color-border);
}
[data-theme="dark"] .rv-filter-bar .rv-clear-btn {
    background: var(--color-surface-2);
    color: var(--color-text);
}
[data-theme="dark"] .rv-filter-bar .rv-clear-btn:hover {
    background: var(--color-border);
    color: var(--color-text);
}

[data-theme="dark"] .rv-card { border-color: var(--color-border); }

[data-theme="dark"] .rv-table tbody td {
    color: var(--color-text);
    border-bottom-color: var(--color-border);
}
[data-theme="dark"] .rv-table tbody tr:hover { background: rgba(46, 125, 50, 0.10); }
[data-theme="dark"] .rv-title-cell { color: var(--color-text); }
[data-theme="dark"] .rv-meta-cell  { color: var(--color-text-muted); }

[data-theme="dark"] .rv-rating-chip {
    background: rgba(255, 200, 0, 0.12);
    color: #e0b840;
}

[data-theme="dark"] .rv-act-view {
    background: rgba(55, 48, 163, 0.15);
    color: #818cf8;
    border-color: rgba(55, 48, 163, 0.30);
}
[data-theme="dark"] .rv-act-view:hover { background: rgba(55, 48, 163, 0.25); }

[data-theme="dark"] .rv-act-delete {
    background: rgba(185, 28, 28, 0.15);
    color: #f87171;
    border-color: rgba(185, 28, 28, 0.30);
}
[data-theme="dark"] .rv-act-delete:hover { background: rgba(185, 28, 28, 0.25); }

[data-theme="dark"] .rv-detail-panel { border-color: var(--color-border); }
[data-theme="dark"] .rv-detail-head  { border-bottom-color: var(--color-border); }
[data-theme="dark"] .rv-detail-head h5    { color: var(--color-text); }
[data-theme="dark"] .rv-detail-head small { color: var(--color-text-muted); }

[data-theme="dark"] .rv-detail-close {
    background: var(--color-surface-2);
    color: var(--color-text-muted);
}
[data-theme="dark"] .rv-detail-close:hover {
    background: var(--color-border);
    color: var(--color-text);
}

[data-theme="dark"] .rv-detail-field .rv-fld-label { color: var(--color-text-muted); }
[data-theme="dark"] .rv-detail-field .rv-fld-value { color: var(--color-text); }

[data-theme="dark"] .rv-detail-comment {
    background: var(--color-surface-2);
    border-color: var(--color-border);
    color: var(--color-text);
}

[data-theme="dark"] .rv-empty   { color: var(--color-text-muted); }
[data-theme="dark"] .rv-empty i { color: var(--color-border); }

/* ==========================================================
   STAFF PAGE — a few hardcoded dark-green / badge colors
   ========================================================== */
[data-theme="dark"] .staff-title  { color: var(--color-text); }
[data-theme="dark"] .staff-avatar { background: var(--color-surface-2); }

[data-theme="dark"] .role-badge.role-admin {
    background: rgba(176, 42, 55, 0.15);
    color: #f87171;
    border-color: rgba(176, 42, 55, 0.30);
}
[data-theme="dark"] .role-badge.role-merchant {
    background: rgba(10, 88, 202, 0.15);
    color: #93c5fd;
    border-color: rgba(10, 88, 202, 0.30);
}
