/*
 * Duka Mkononi — centralized website theme tokens.
 *
 * Five approved themes, applied through <html data-theme="...">:
 *   white-professional      The existing Duka Mkononi design. Every :root value
 *                           below IS the current production palette, so this
 *                           theme is pixel-identical to the pre-theme website.
 *   royal-champagne-cream   Warm cream / ivory / royal gold alternative.
 *   midnight-royal-gold     Near-black canvas with gold and amber-orange.
 *   emerald-bazaar          Mist-green daylight: white cards / deep emerald.
 *   oceanic-sapphire        Ocean-navy structure on an icy-blue daylight canvas
 *                           with one sapphire-blue accent (public website).
 *
 * The white defaults live in :root; every alternative lives in its own
 * html[data-theme] block so it wins by specificity regardless of the order
 * stylesheets arrive in. Page styles consume var(--token) only — no hex
 * re-declaration per page, no per-page conditional colors.
 *
 * Semantic status colors (danger/success, role gradients) keep their hue in
 * every theme on purpose: they carry meaning, not decoration.
 */

/* ------------------------------------------------------------------ */
/* White Professional — the existing palette (unchanged design)         */
/* ------------------------------------------------------------------ */
:root,
html[data-theme="white-professional"] {

    /* Site design system (mirrors partials/site-head values) */
    --dm-navy: #0f172a;
    --dm-ink: #1e293b;
    --dm-muted: #64748b;
    --dm-line: #e2e8f0;
    --dm-bg: #f8fafc;
    --dm-card: #ffffff;
    --dm-primary: #1e3a8a;
    --dm-primary-dark: #172554;
    --dm-accent: #f59e0b;
    --dm-accent-ink: #1f2937;
    --dm-danger: #dc2626;
    --dm-success: #059669;

    /* Site chrome / interaction */
    --dm-nav-bg: rgba(255, 255, 255, .92);
    --dm-hover: #f1f5f9;
    --dm-tint: #dbeafe;
    --dm-tint-line: #bfdbfe;
    --dm-tint-ink: #1e40af;
    --dm-ai-bg: #eef2ff;
    --dm-ai-line: #e0e7ff;
    --dm-ai-line-2: #c7d2fe;
    --dm-ai-ink: #4338ca;
    --dm-input-bg: #ffffff;
    --dm-focus: rgba(30, 58, 138, .45);
    --dm-focus-soft: rgba(30, 58, 138, .14);
    --dm-selection: rgba(30, 58, 138, .18);
    --dm-btn-glow: rgba(30, 58, 138, .22);

    /* Alerts (public pages use .dm-alert; values are the current colors) */
    --dm-alert-ok-bg: #ecfdf5;
    --dm-alert-ok-line: #a7f3d0;
    --dm-alert-err-bg: #fef2f2;
    --dm-alert-err-line: #fecaca;
    --dm-alert-info-bg: #eff6ff;
    --dm-alert-info-line: #bfdbfe;

    /* Shared toast (fallbacks keep it identical where themes.css is absent) */
    --dm-toast-bg: #ffffff;
    --dm-toast-text: #1e293b;

    /* Floating concierge (public widget) */
    --pmc-panel: #ffffff;
    --pmc-line: #eef2f7;
    --pmc-answer: #fcfdff;
    --pmc-ink: #0f172a;
    --pmc-muted: #64748b;
    --pmc-strong: #334155;
    --pmc-cta: #4f46e5;
    --pmc-cta-glow: rgba(79, 70, 229, .32);
    --pmc-chip-bg: #eef2ff;
    --pmc-chip-hover: #e0e7ff;
    --pmc-chip-line: #e0e7ff;
    --pmc-chip-ink: #3730a3;

    /* Standalone auth/account pages (login, forgot, signups, home) */
    --pg-page: #ffffff;
    --pg-surface: #ffffff;
    --pg-field: #ffffff;
    --pg-soft: #f8f9fa;
    --pg-soft-2: #f4f6f8;
    --pg-soft-3: #f5f5f5;
    --pg-soft-cool: #f8fafc;
    --pg-text: #2c3e50;
    --pg-muted: #7f8c8d;
    --pg-muted-2: #95a5a6;
    --pg-line: #e0e0e0;
    --pg-line-2: #ddd;
    --pg-line-3: #d5dbe1;
    --pg-line-soft: #ecf0f1;
    --pg-cta-blue: #3498db;
    --pg-cta-red: #e74c3c;
    --pg-cta-green: #2ecc71;
    --pg-cta-blue-deep: #2c7ab8;
    --pg-glow-soft: rgba(52, 152, 219, .1);
    --pg-glow-red: rgba(231, 76, 60, .1);
    --pg-glow-green: rgba(46, 204, 113, .1);
    --pg-cta-glow: rgba(52, 152, 219, .3);
    --pg-cta-wash: rgba(52, 152, 219, .05);
    --pg-cta-disabled: #85c1e9;
    --pg-info-bg: #f0f8ff;
    --pg-desc: #5d6d7e;
    --pg-line-4: #eef2f6;
    --pg-line-5: #eef2f5;
    --pg-line-6: #cccccc;
    --pg-line-7: #eeeeee;
    --pg-pill: #f0f4f8;
    --pg-pill-hover: #e6edf5;
    --pg-blue-tint: #e8f4fd;
    --pg-page-soft: #f8f9fa;
    --pg-soft-fill: #f8f9fa;
    --pg-soft-4: #f1f2f6;
    --pg-field-soft: #f8f9fa;
    --pg-accent-bright: #ff9800;
    --pg-step-idle: #ecf0f1;
    --pg-step-idle-line: #bdc3c7;
    --pg-brand-a: #3498db;
    --pg-brand-b: #2980b9;
    --pg-brand-glow: rgba(52, 152, 219, .3);
}

/* ------------------------------------------------------------------ */
/* Royal Champagne Cream                                               */
/*                                                                     */
/* html[data-theme] outranks any :root block on the page, so these      */
/* values apply even when site-head's inline :root loads later.         */
/* ------------------------------------------------------------------ */
html[data-theme="royal-champagne-cream"] {

    /* Site design system — cream surfaces, gold accent, charcoal text */
    --dm-navy: #171717;
    --dm-ink: #171717;
    --dm-muted: #5f636e;
    --dm-line: #d9d8cf;
    --dm-bg: #f3f2ed;
    --dm-card: #fcfbf7;
    --dm-primary: #8b6f23;
    --dm-primary-dark: #6e591b;
    --dm-accent: #8b6f23;
    --dm-accent-ink: #ffffff;
    --dm-danger: #dc2626;
    --dm-success: #059669;

    /* Site chrome / interaction — warm neutrals, gold focus */
    --dm-nav-bg: rgba(252, 251, 247, .95);
    --dm-hover: #ece4d0;
    --dm-tint: #f6e8ce;
    --dm-tint-line: #e2d3ac;
    --dm-tint-ink: #8b6f23;
    --dm-ai-bg: #f6e8ce;
    --dm-ai-line: #e5d9bc;
    --dm-ai-line-2: #ded0ab;
    --dm-ai-ink: #8b6f23;
    --dm-input-bg: #ffffff;
    --dm-focus: rgba(139, 111, 23, .55);
    --dm-focus-soft: rgba(139, 111, 23, .2);
    --dm-selection: rgba(139, 111, 23, .22);
    --dm-btn-glow: rgba(139, 111, 23, .3);

    /* Alerts keep their hue, warmed to sit on cream */
    --dm-alert-ok-bg: #eef2e3;
    --dm-alert-ok-line: #cfdcc0;
    --dm-alert-err-bg: #f8eae6;
    --dm-alert-err-line: #eccfc7;
    --dm-alert-info-bg: #eef0e2;
    --dm-alert-info-line: #d7d9c4;

    /* Shared toast */
    --dm-toast-bg: #fcfbf7;
    --dm-toast-text: #171717;

    /* Floating concierge */
    --pmc-panel: #fcfbf7;
    --pmc-line: #e7e1d0;
    --pmc-answer: #f6e8ce;
    --pmc-ink: #171717;
    --pmc-muted: #5f636e;
    --pmc-strong: #171717;
    --pmc-cta: #8b6f23;
    --pmc-cta-glow: rgba(139, 111, 23, .35);
    --pmc-chip-bg: #f6e8ce;
    --pmc-chip-hover: #eaddbd;
    --pmc-chip-line: #e5d9bc;
    --pmc-chip-ink: #8b6f23;

    /* Standalone auth/account pages — champagne zone */
    --pg-page: #f3f2ed;
    --pg-surface: #fcfbf7;
    --pg-field: #ffffff;
    --pg-soft: #f6e8ce;
    --pg-soft-2: #f3f2ed;
    --pg-soft-3: #f6e8ce;
    --pg-soft-cool: #f3f2ed;
    --pg-text: #171717;
    --pg-muted: #5f636e;
    --pg-muted-2: #5f636e;
    --pg-line: #d9d8cf;
    --pg-line-2: #d9d8cf;
    --pg-line-3: #d9d8cf;
    --pg-line-soft: #e7e1d0;
    --pg-cta-blue: #8b6f23;
    --pg-cta-red: #8b6f23;
    --pg-cta-green: #8b6f23;
    --pg-cta-blue-deep: #6e591b;
    --pg-glow-soft: rgba(139, 111, 23, .18);
    --pg-glow-red: rgba(139, 111, 23, .18);
    --pg-glow-green: rgba(139, 111, 23, .18);
    --pg-cta-glow: rgba(139, 111, 23, .35);
    --pg-cta-wash: rgba(139, 111, 23, .08);
    --pg-cta-disabled: #cdb978;
    --pg-info-bg: #f6e8ce;
    --pg-desc: #5f636e;
    --pg-line-4: #e7e1d0;
    --pg-line-5: #e7e1d0;
    --pg-line-6: #d9d8cf;
    --pg-line-7: #e7e1d0;
    --pg-pill: #f6e8ce;
    --pg-pill-hover: #ecdfc0;
    --pg-blue-tint: #f6e8ce;
    --pg-page-soft: #f3f2ed;
    --pg-soft-fill: #f6e8ce;
    --pg-soft-4: #f6e8ce;
    --pg-field-soft: #ffffff;
    --pg-accent-bright: #8b6f23;
    --pg-step-idle: #ece4d0;
    --pg-step-idle-line: #d9d8cf;
    --pg-brand-a: #8b6f23;
    --pg-brand-b: #6e591b;
    --pg-brand-glow: rgba(139, 111, 23, .35);
}

/*
 * =====================================================================
 *  Authenticated portal pages (mteja / muuzaji / msimamizi / system_admin)
 * =====================================================================
 *
 *  These pages are standalone documents with their own inline <style> blocks
 *  and literal hex colors (no token layer), each section using its own brand
 *  accent (mteja purple, muuzaji green, msimamizi red/indigo, system_admin
 *  blue) on a shared #f8f9fa / white / #ecf0f1 skeleton. To theme them
 *  centrally — without rewriting 28 inline stylesheets — the Royal look is
 *  delivered here as an OVERRIDE LAYER keyed on the selectors every page
 *  already uses:
 *
 *    - Every rule is scoped to html[data-theme="royal-champagne-cream"],
 *      which adds attribute + element specificity, so it beats each page's
 *      own equal-class selectors regardless of source order, and it is
 *      COMPLETELY INERT under White Professional (the default theme stays
 *      byte-identical).
 *    - Values mirror the Royal design tokens above exactly (same hexes as
 *      --dm-* / --pg-* royal values), so portal and public pages share one
 *      palette.
 *    - Section brand accents on chrome (nav active states, logo gradients,
 *      avatars, primary CTAs, active tabs/chips, links, spinners, focus)
 *      converge to royal gold; SEMANTIC colors keep their hue in both themes
 *      (.b-* / .alert-* / .banner.* status chips, success greens, danger
 *      reds, warning ambers, logout red, online-dot).
 *    - Pages with a permanently dark navy sidebar (#1f2937) adopt the same
 *      ivory Royal shell; their light-on-dark text selectors are explicitly
 *      re-colored here so contrast is preserved.
 *    - Inline style="..." one-offs and JS-injected chart/palette colors keep
 *      their existing hues by design (neutral grays read fine on ivory; the
 *      status hues above are intentional in both themes).
 *
 *  Selector coverage: layout shell (body/sidebar/header/topbar/content),
 *  navigation, user block, cards, tables, toolbars, fields, buttons, tabs,
 *  chips, modals, empty/loading states, timelines — the shared vocabulary
 *  verified across all 28 portal pages.
 * ---------------------------------------------------------------------
 */

html[data-theme="royal-champagne-cream"] body {
    background-color: #f3f2ed;
    color: #171717;
}

/* ---- Page canvas ---- */
html[data-theme="royal-champagne-cream"] .main-content,
html[data-theme="royal-champagne-cream"] .page-bg {
    background-color: #f3f2ed;
}

/* ---- Sidebar shell (light ivory + re-colored dark-navy variants) ---- */
html[data-theme="royal-champagne-cream"] .sidebar {
    background-color: #fcfbf7;
    border-right-color: #d9d8cf;
}
html[data-theme="royal-champagne-cream"] .sidebar-header { border-bottom-color: #d9d8cf; }
html[data-theme="royal-champagne-cream"] .sidebar-footer { border-top-color: #d9d8cf; }

html[data-theme="royal-champagne-cream"] .logo-icon {
    background: linear-gradient(135deg, #8b6f23, #6e591b);
    color: #fff;
}
html[data-theme="royal-champagne-cream"] .logo-text h2 { color: #171717; }
html[data-theme="royal-champagne-cream"] .logo-text p { color: #5f636e; }

html[data-theme="royal-champagne-cream"] .nav-item { color: #5f636e; }
html[data-theme="royal-champagne-cream"] .nav-item:hover {
    background-color: #ece4d0;
    color: #6e591b;
}
html[data-theme="royal-champagne-cream"] .nav-item.active {
    background-color: #f6e8ce;
    color: #6e591b;
}

/* ---- Sidebar user block ---- */
html[data-theme="royal-champagne-cream"] .user-avatar {
    background-color: #f6e8ce;
    color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .user-name { color: #171717; }
html[data-theme="royal-champagne-cream"] .user-role { color: #8b6f23; }
html[data-theme="royal-champagne-cream"] .user-meta b { color: #171717; }
html[data-theme="royal-champagne-cream"] .user-meta span { color: #5f636e; }
html[data-theme="royal-champagne-cream"] .user-email { color: #5f636e; }
html[data-theme="royal-champagne-cream"] .logout-btn {
    color: #dc2626;
    background-color: #f3f2ed;
    border-color: #d9d8cf;
}

/* ---- Mobile sidebar toggle ---- */
html[data-theme="royal-champagne-cream"] .mobile-menu-toggle,
html[data-theme="royal-champagne-cream"] .hamburger {
    background-color: #fcfbf7;
    border-color: #d9d8cf;
}
/* Presentation attributes lose to this rule, so inline stroke="#667eea"
   hamburger icons follow the theme too. */
html[data-theme="royal-champagne-cream"] .mobile-menu-toggle svg { stroke: #8b6f23; }

/* ---- Top bar / page headers ---- */
html[data-theme="royal-champagne-cream"] .topbar {
    background-color: #fcfbf7;
    border-bottom-color: #d9d8cf;
}
html[data-theme="royal-champagne-cream"] .dashboard-header,
html[data-theme="royal-champagne-cream"] .tabs-container {
    background-color: #fcfbf7;
}
html[data-theme="royal-champagne-cream"] .header-btn {
    background-color: #f3f2ed;
}

/* ---- Cards / panels ---- */
html[data-theme="royal-champagne-cream"] .section-card,
html[data-theme="royal-champagne-cream"] .card,
html[data-theme="royal-champagne-cream"] .stat,
html[data-theme="royal-champagne-cream"] .summary-box,
html[data-theme="royal-champagne-cream"] .business-card,
html[data-theme="royal-champagne-cream"] .empty-container {
    background-color: #fcfbf7;
}
html[data-theme="royal-champagne-cream"] .card,
html[data-theme="royal-champagne-cream"] .stat,
html[data-theme="royal-champagne-cream"] .user-card,
html[data-theme="royal-champagne-cream"] .log-card {
    border-color: #d9d8cf;
}
html[data-theme="royal-champagne-cream"] .user-card,
html[data-theme="royal-champagne-cream"] .log-card,
html[data-theme="royal-champagne-cream"] .filter-chip {
    background-color: #f3f2ed;
}
/* Stat cards come in two original treatments (soft #f8f9fa on dashboard,
   white on notify); ivory with a warm outline reads as a card in both. */
html[data-theme="royal-champagne-cream"] .stat-card {
    background-color: #fcfbf7;
    border: 1px solid #e7e1d0;
    border-left: 4px solid #8b6f23;
}
html[data-theme="royal-champagne-cream"] .stat-icon {
    background-color: #f6e8ce;
    color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .welcome-card {
    background: linear-gradient(135deg, #8b6f23, #6e591b);
    color: #fff;
}

/* ---- Tabs / chips / links ---- */
html[data-theme="royal-champagne-cream"] .tab-btn { color: #5f636e; }
html[data-theme="royal-champagne-cream"] .tab-btn.active,
html[data-theme="royal-champagne-cream"] .filter-chip.active {
    background-color: #8b6f23;
    color: #fff;
}
html[data-theme="royal-champagne-cream"] .phone-link,
html[data-theme="royal-champagne-cream"] .log-endpoint { color: #8b6f23; }

/* ---- Inputs / search ---- */
html[data-theme="royal-champagne-cream"] .search-box {
    background-color: #fcfbf7;
    border-color: #d9d8cf;
}
html[data-theme="royal-champagne-cream"] .search-input {
    background-color: #fcfbf7;
    border-color: #d9d8cf;
}
html[data-theme="royal-champagne-cream"] .search-input:focus {
    border-color: #8b6f23;
    box-shadow: 0 0 0 3px rgba(139, 111, 23, .15);
}
html[data-theme="royal-champagne-cream"] .toolbar select,
html[data-theme="royal-champagne-cream"] .toolbar input,
html[data-theme="royal-champagne-cream"] .field input,
html[data-theme="royal-champagne-cream"] .field select,
html[data-theme="royal-champagne-cream"] .field textarea,
html[data-theme="royal-champagne-cream"] .input-field {
    border-color: #d9d8cf;
}

/* Royal-only keyboard focus affordance (White keeps its own per-page focus
   styles untouched; inputs/selects keep their authored focus states). */
html[data-theme="royal-champagne-cream"] a:focus-visible,
html[data-theme="royal-champagne-cream"] button:focus-visible,
html[data-theme="royal-champagne-cream"] [role="radio"]:focus-visible,
html[data-theme="royal-champagne-cream"] .nav-item:focus-visible {
    outline: 3px solid rgba(139, 111, 23, .55);
    outline-offset: 2px;
}

/* ---- Buttons ---- */
html[data-theme="royal-champagne-cream"] .btn-primary {
    background-color: #8b6f23;
    color: #fff;
}
html[data-theme="royal-champagne-cream"] .btn-ghost {
    background-color: #fcfbf7;
    border-color: #d9d8cf;
    color: #171717;
}
html[data-theme="royal-champagne-cream"] .btn-details {
    background-color: #f3f2ed;
    color: #5f636e;
}
html[data-theme="royal-champagne-cream"] .btn-logs {
    background-color: #f6e8ce;
    color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .back-btn {
    background-color: #f3f2ed;
    color: #171717;
}
html[data-theme="royal-champagne-cream"] .refresh-btn {
    background-color: #f6e8ce;
    color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .retry-btn { background-color: #8b6f23; }
html[data-theme="royal-champagne-cream"] .contact-btn,
html[data-theme="royal-champagne-cream"] .twende-btn {
    background: linear-gradient(135deg, #8b6f23, #6e591b);
    box-shadow: 0 2px 8px rgba(139, 111, 23, .3);
}

/* ---- Tables ---- */
html[data-theme="royal-champagne-cream"] .orders-table th,
html[data-theme="royal-champagne-cream"] .orders-table td {
    border-bottom-color: #e7e1d0;
}
html[data-theme="royal-champagne-cream"] .orders-table th { color: #5f636e; }
html[data-theme="royal-champagne-cream"] .orders-table tr:hover td {
    background-color: #faf6ec;
}
html[data-theme="royal-champagne-cream"] table.data th {
    color: #171717;
    border-bottom-color: #d9d8cf;
}
html[data-theme="royal-champagne-cream"] table.data th,
html[data-theme="royal-champagne-cream"] table.data td {
    border-bottom-color: #e7e1d0;
}
html[data-theme="royal-champagne-cream"] table.data td { color: #5f636e; }

/* ---- Modals ---- */
html[data-theme="royal-champagne-cream"] .modal,
html[data-theme="royal-champagne-cream"] .modal-head,
html[data-theme="royal-champagne-cream"] .modal-foot,
html[data-theme="royal-champagne-cream"] .modal-content {
    background-color: #fcfbf7;
}
html[data-theme="royal-champagne-cream"] .modal-head,
html[data-theme="royal-champagne-cream"] .modal-header,
html[data-theme="royal-champagne-cream"] .modal-foot {
    border-color: #d9d8cf;
}

/* ---- Detail rows / timelines / dividers ---- */
html[data-theme="royal-champagne-cream"] .detail-row { border-bottom-color: #e7e1d0; }
html[data-theme="royal-champagne-cream"] .user-actions { border-top-color: #d9d8cf; }
html[data-theme="royal-champagne-cream"] .line { border-bottom-color: #e7e1d0; }
html[data-theme="royal-champagne-cream"] .timeline { border-left-color: #d9d8cf; }
html[data-theme="royal-champagne-cream"] .timeline li::before {
    background-color: #8b6f23;
}

/* ---- Empty / loading states ---- */
html[data-theme="royal-champagne-cream"] .empty { color: #5f636e; }
html[data-theme="royal-champagne-cream"] .empty i { color: #c9c2ae; }
html[data-theme="royal-champagne-cream"] .empty-icon,
html[data-theme="royal-champagne-cream"] .generated { color: #c9c2ae; }
html[data-theme="royal-champagne-cream"] .loading-spinner {
    border-color: #e2ddd0;
    border-top-color: #8b6f23;
}

/* ---- Business logo placeholder (mteja listings) ---- */
html[data-theme="royal-champagne-cream"] .business-logo {
    background-color: #f6e8ce;
}
html[data-theme="royal-champagne-cream"] .business-logo-placeholder {
    border-color: #e2d3ac;
    color: #8b6f23;
}

/* ---- Typography groups: ink + warm muted (shared across sections) ---- */
html[data-theme="royal-champagne-cream"] .title,
html[data-theme="royal-champagne-cream"] .page-title,
html[data-theme="royal-champagne-cream"] .section-title,
html[data-theme="royal-champagne-cream"] .card-title,
html[data-theme="royal-champagne-cream"] .header-title,
html[data-theme="royal-champagne-cream"] .topbar h1,
html[data-theme="royal-champagne-cream"] .business-name,
html[data-theme="royal-champagne-cream"] .stat-number,
html[data-theme="royal-champagne-cream"] .product-name,
html[data-theme="royal-champagne-cream"] .money-value,
html[data-theme="royal-champagne-cream"] .empty-title,
html[data-theme="royal-champagne-cream"] .state-box .state-title,
html[data-theme="royal-champagne-cream"] .tri-sec > b,
html[data-theme="royal-champagne-cream"] .meta-item b {
    color: #171717;
}
html[data-theme="royal-champagne-cream"] .subtitle,
html[data-theme="royal-champagne-cream"] .page-sub,
html[data-theme="royal-champagne-cream"] .header-subtitle,
html[data-theme="royal-champagne-cream"] .stat-label,
html[data-theme="royal-champagne-cream"] .money-label,
html[data-theme="royal-champagne-cream"] .empty-text,
html[data-theme="royal-champagne-cream"] .loading-text,
html[data-theme="royal-champagne-cream"] .state-box,
html[data-theme="royal-champagne-cream"] .list-text,
html[data-theme="royal-champagne-cream"] .meta-item,
html[data-theme="royal-champagne-cream"] .mono,
html[data-theme="royal-champagne-cream"] .detail-value {
    color: #5f636e;
}

/* ---- Extension: page-specific components that share the accent /
   surface / neutral vocabulary (measured true gaps across the portal;
   semantic status colors stay excluded by design) ---- */

/* Accent controls converge to royal gold */
html[data-theme="royal-champagne-cream"] .btn-save,
html[data-theme="royal-champagne-cream"] .ask-btn,
html[data-theme="royal-champagne-cream"] .contact-sms-btn,
html[data-theme="royal-champagne-cream"] .contact-call-btn,
html[data-theme="royal-champagne-cream"] .ai-verify-btn,
html[data-theme="royal-champagne-cream"] .ai-btn-camera,
html[data-theme="royal-champagne-cream"] .bar-fill {
    background-color: #8b6f23;
    color: #fff;
}
html[data-theme="royal-champagne-cream"] .avatar {
    background: linear-gradient(135deg, #8b6f23, #6e591b);
    color: #fff;
}
html[data-theme="royal-champagne-cream"] .ai-reset { color: #8b6f23; }
html[data-theme="royal-champagne-cream"] input:checked + .slider {
    background-color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .selected-product-card,
html[data-theme="royal-champagne-cream"] .ai-note { border-left-color: #8b6f23; }
html[data-theme="royal-champagne-cream"] .contact-cancel-btn,
html[data-theme="royal-champagne-cream"] .cancel-btn {
    background-color: #f3f2ed;
}

/* AI panel surfaces: purple/blue drafts -> champagne + gold */
html[data-theme="royal-champagne-cream"] .ai-upload-zone {
    border-color: #e2d3ac;
    background-color: #fcfbf7;
}
html[data-theme="royal-champagne-cream"] .ai-upload-zone:hover,
html[data-theme="royal-champagne-cream"] .ai-upload-zone.drag {
    border-color: #8b6f23;
    background-color: #f6e8ce;
}
html[data-theme="royal-champagne-cream"] .ai-import-btn {
    border-color: #e2d3ac;
    background-color: #fcfbf7;
}

/* Info-blue families become the Royal info champagne; semantic greens,
   ambers and reds keep their hue */
html[data-theme="royal-champagne-cream"] .ai-banner.info {
    background-color: #f6e8ce;
    color: #8b6f23;
    border-left-color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .ai-summary-chip.existing,
html[data-theme="royal-champagne-cream"] .ai-status.existing {
    background-color: #f6e8ce;
    color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .ai-card { background-color: #f6e8ce; }
html[data-theme="royal-champagne-cream"] .ai-card-title,
html[data-theme="royal-champagne-cream"] .ai-card-text { color: #8b6f23; }

/* Extra surfaces and lines */
html[data-theme="royal-champagne-cream"] .modal-footer { border-top-color: #d9d8cf; }
html[data-theme="royal-champagne-cream"] .form-input,
html[data-theme="royal-champagne-cream"] .ask-input { border-color: #d9d8cf; }
html[data-theme="royal-champagne-cream"] .divider { background-color: #e7e1d0; }
html[data-theme="royal-champagne-cream"] .chip {
    border-color: #d9d8cf;
    color: #171717;
}
html[data-theme="royal-champagne-cream"] .chip:hover {
    background-color: #f6e8ce;
    border-color: #e2d3ac;
}
html[data-theme="royal-champagne-cream"] .bar-track { background-color: #e2ddd0; }
html[data-theme="royal-champagne-cream"] .stats-container { background-color: #f3f2ed; }
html[data-theme="royal-champagne-cream"] .headline-card { background-color: #fcfbf7; }
html[data-theme="royal-champagne-cream"] .ai-table { background-color: #fcfbf7; }
html[data-theme="royal-champagne-cream"] .ai-table th {
    background-color: #f3f2ed;
    border-bottom-color: #d9d8cf;
}
html[data-theme="royal-champagne-cream"] .ai-table td { border-bottom-color: #e7e1d0; }
html[data-theme="royal-champagne-cream"] .ai-table-scroll { border-color: #d9d8cf; }
html[data-theme="royal-champagne-cream"] .ai-preview-item {
    background-color: #f3f2ed;
    border-color: #d9d8cf;
}
html[data-theme="royal-champagne-cream"] .ai-modal-content { background-color: #fcfbf7; }
html[data-theme="royal-champagne-cream"] .ai-modal-header { border-bottom-color: #d9d8cf; }

/* Extension ink group */
html[data-theme="royal-champagne-cream"] .headline,
html[data-theme="royal-champagne-cream"] .customer-name,
html[data-theme="royal-champagne-cream"] .bar-value,
html[data-theme="royal-champagne-cream"] .ai-table th,
html[data-theme="royal-champagne-cream"] .ai-modal-title,
html[data-theme="royal-champagne-cream"] .ai-note-title,
html[data-theme="royal-champagne-cream"] .ai-uz-main,
html[data-theme="royal-champagne-cream"] .tri-list,
html[data-theme="royal-champagne-cream"] ul.dm-list {
    color: #171717;
}

/* Extension muted group */
html[data-theme="royal-champagne-cream"] .ai-note-text,
html[data-theme="royal-champagne-cream"] .ai-preview-name,
html[data-theme="royal-champagne-cream"] .ai-conf-row,
html[data-theme="royal-champagne-cream"] .ai-progress-text,
html[data-theme="royal-champagne-cream"] .ai-modal-close,
html[data-theme="royal-champagne-cream"] .ai-uz-sub,
html[data-theme="royal-champagne-cream"] .business-location,
html[data-theme="royal-champagne-cream"] .examples-title,
html[data-theme="royal-champagne-cream"] .contact-modal-sub,
html[data-theme="royal-champagne-cream"] .bar-label,
html[data-theme="royal-champagne-cream"] .muted,
html[data-theme="royal-champagne-cream"] .empty-state,
html[data-theme="royal-champagne-cream"] .empty-sub,
html[data-theme="royal-champagne-cream"] .footer-text,
html[data-theme="royal-champagne-cream"] .limitations,
html[data-theme="royal-champagne-cream"] .limitations b,
html[data-theme="royal-champagne-cream"] .list-bullet {
    color: #5f636e;
}

/* ---- Extension 2: portal-specific pages (system_admin redirect + notify,
   msimamizi activity/alerts/history, muuzaji entry hub) ---- */

/* system_admin/index redirect card */
html[data-theme="royal-champagne-cream"] .logo {
    background: linear-gradient(135deg, #8b6f23, #6e591b);
}
html[data-theme="royal-champagne-cream"] .manual-link { border-top-color: #d9d8cf; }
html[data-theme="royal-champagne-cream"] .manual-link a { color: #8b6f23; }
html[data-theme="royal-champagne-cream"] .message { color: #171717; }
html[data-theme="royal-champagne-cream"] .redirect-container {
    background: rgba(252, 251, 247, .97);
}
html[data-theme="royal-champagne-cream"] .redirect-note { color: #5f636e; }

/* system_admin/notify */
html[data-theme="royal-champagne-cream"] .done-btn,
html[data-theme="royal-champagne-cream"] .send-btn,
html[data-theme="royal-champagne-cream"] .test-btn {
    background-color: #8b6f23;
    color: #fff;
}
html[data-theme="royal-champagne-cream"] .send-btn.disabled {
    background-color: #95a5a6;
}
html[data-theme="royal-champagne-cream"] .type-btn {
    border-color: #8b6f23;
    background-color: #fcfbf7;
}
html[data-theme="royal-champagne-cream"] .type-btn.active {
    background-color: #8b6f23;
    border-color: #8b6f23;
    color: #fff;
}
html[data-theme="royal-champagne-cream"] .select-all,
html[data-theme="royal-champagne-cream"] .user-item.selected {
    background-color: #f6e8ce;
}
html[data-theme="royal-champagne-cream"] .select-recipients {
    background-color: #f3f2ed;
    border-color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .notif-card {
    background-color: #f3f2ed;
    border-left-color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .filter-row,
html[data-theme="royal-champagne-cream"] .user-item {
    border-bottom-color: #d9d8cf;
}
html[data-theme="royal-champagne-cream"] .notif-footer,
html[data-theme="royal-champagne-cream"] .notif-time,
html[data-theme="royal-champagne-cream"] .recipient-count,
html[data-theme="royal-champagne-cream"] .char-count {
    color: #5f636e;
}
html[data-theme="royal-champagne-cream"] .notif-message { color: #171717; }

/* msimamizi activity digest / alerts / history */
html[data-theme="royal-champagne-cream"] .act-bar { background-color: #8b6f23; }
html[data-theme="royal-champagne-cream"] .act-chip {
    border-color: #d9d8cf;
    color: #5f636e;
}
html[data-theme="royal-champagne-cream"] .act-chip.active {
    background-color: #f6e8ce;
    border-color: #e2d3ac;
    color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .act-event { border-top-color: #e7e1d0; }
html[data-theme="royal-champagne-cream"] .act-list-row,
html[data-theme="royal-champagne-cream"] .history-row {
    color: #5f636e;
    border-top-color: #e7e1d0;
}
html[data-theme="royal-champagne-cream"] .act-panel,
html[data-theme="royal-champagne-cream"] .alert-card,
html[data-theme="royal-champagne-cream"] .history-card {
    background-color: #fcfbf7;
    border-color: #d9d8cf;
}
html[data-theme="royal-champagne-cream"] .ai-chip {
    background-color: #f6e8ce;
    border-color: #e2d3ac;
    color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .alert-detail { color: #5f636e; }
html[data-theme="royal-champagne-cream"] .evidence-row {
    background-color: #f3f2ed;
    color: #5f636e;
}
html[data-theme="royal-champagne-cream"] .act-event-action,
html[data-theme="royal-champagne-cream"] .act-list-name,
html[data-theme="royal-champagne-cream"] .act-list-value,
html[data-theme="royal-champagne-cream"] .act-panel-title,
html[data-theme="royal-champagne-cream"] .alert-title,
html[data-theme="royal-champagne-cream"] .history-subject,
html[data-theme="royal-champagne-cream"] .history-title {
    color: #171717;
}
html[data-theme="royal-champagne-cream"] .act-bar-day,
html[data-theme="royal-champagne-cream"] .act-event-meta,
html[data-theme="royal-champagne-cream"] .act-refs,
html[data-theme="royal-champagne-cream"] .evidence-label,
html[data-theme="royal-champagne-cream"] .history-empty {
    color: #5f636e;
}

/* muuzaji entry hub: service cards + entry flow (semantic error/warn/
   success banners and amber flags keep their hue) */
html[data-theme="royal-champagne-cream"] .dm-entry-banner[data-kind="info"] {
    background-color: #f6e8ce;
    color: #8b6f23;
    border-inline-start-color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .dm-entry-btn {
    border-color: #d9d8cf;
    color: #171717;
}
html[data-theme="royal-champagne-cream"] .dm-entry-btn-primary {
    background-color: #8b6f23;
    border-color: #8b6f23;
    color: #fff;
}
html[data-theme="royal-champagne-cream"] .dm-entry-candidate { border-color: #d9d8cf; }
html[data-theme="royal-champagne-cream"] .dm-entry-candidate.is-selected {
    border-color: #8b6f23;
    background-color: #f6e8ce;
}
html[data-theme="royal-champagne-cream"] .dm-entry-chip {
    background-color: #f3f2ed;
    border-color: #e7e1d0;
    color: #5f636e;
}
html[data-theme="royal-champagne-cream"] .dm-entry-chip:hover {
    background-color: #f6e8ce;
    border-color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .dm-entry-chip-type { color: #8b6f23; }
html[data-theme="royal-champagne-cream"] .dm-entry-field input,
html[data-theme="royal-champagne-cream"] .dm-entry-field select,
html[data-theme="royal-champagne-cream"] .dm-entry-text {
    border-color: #d9d8cf;
}
html[data-theme="royal-champagne-cream"] .dm-entry-field input:focus,
html[data-theme="royal-champagne-cream"] .dm-entry-field select:focus,
html[data-theme="royal-champagne-cream"] .dm-entry-text:focus {
    border-color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .dm-entry-match {
    background-color: #f3f2ed;
    border-color: #e7e1d0;
}
html[data-theme="royal-champagne-cream"] .dm-entry-match-line,
html[data-theme="royal-champagne-cream"] .dm-entry-title { color: #171717; }
html[data-theme="royal-champagne-cream"] .dm-entry-type {
    background-color: #f6e8ce;
    color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .dm-entry-preview { border-top-color: #d9d8cf; }
html[data-theme="royal-champagne-cream"] .dm-entry-field-label,
html[data-theme="royal-champagne-cream"] .dm-entry-status,
html[data-theme="royal-champagne-cream"] .dm-entry-subtitle,
html[data-theme="royal-champagne-cream"] .dm-entry-meta { color: #5f636e; }
html[data-theme="royal-champagne-cream"] .hub-header { background-color: #fcfbf7; }
html[data-theme="royal-champagne-cream"] .hub-desc { color: #5f636e; }
html[data-theme="royal-champagne-cream"] .hub-ads,
html[data-theme="royal-champagne-cream"] .hub-ask,
html[data-theme="royal-champagne-cream"] .hub-copilot,
html[data-theme="royal-champagne-cream"] .hub-health,
html[data-theme="royal-champagne-cream"] .hub-price,
html[data-theme="royal-champagne-cream"] .hub-restock {
    background-color: #f6e8ce;
    border-color: #e2d3ac;
}
html[data-theme="royal-champagne-cream"] .hub-ads .hub-icon,
html[data-theme="royal-champagne-cream"] .hub-ask .hub-icon,
html[data-theme="royal-champagne-cream"] .hub-copilot .hub-icon,
html[data-theme="royal-champagne-cream"] .hub-health .hub-icon,
html[data-theme="royal-champagne-cream"] .hub-price .hub-icon,
html[data-theme="royal-champagne-cream"] .hub-restock .hub-icon {
    background-color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .hub-ads .hub-title,
html[data-theme="royal-champagne-cream"] .hub-ads .hub-arrow,
html[data-theme="royal-champagne-cream"] .hub-ask .hub-title,
html[data-theme="royal-champagne-cream"] .hub-ask .hub-arrow,
html[data-theme="royal-champagne-cream"] .hub-copilot .hub-title,
html[data-theme="royal-champagne-cream"] .hub-copilot .hub-arrow,
html[data-theme="royal-champagne-cream"] .hub-health .hub-title,
html[data-theme="royal-champagne-cream"] .hub-health .hub-arrow,
html[data-theme="royal-champagne-cream"] .hub-price .hub-title,
html[data-theme="royal-champagne-cream"] .hub-price .hub-arrow,
html[data-theme="royal-champagne-cream"] .hub-restock .hub-title,
html[data-theme="royal-champagne-cream"] .hub-restock .hub-arrow {
    color: #6e591b;
}

/*
 * =====================================================================
 *  Royal Companion Recolor — inline styles, JS-generated colors,
 *  semantic badges, and the SmartCart loader
 * =====================================================================
 *
 *  The portal pages also carry colors that no class selector can reach:
 *  literal style="…" attributes (~260 sites), colors injected by page JS
 *  (role/status badges, severity chips, decision tabs), and the kept
 *  semantic chips. This layer re-skins ALL of them under Royal without
 *  touching a single page, using three tricks:
 *
 *    1. Attribute-substring rules with EXACT terminators:
 *         [style*="color:#7f8c8d;"]   middle of a declaration list
 *         [style$="color:#7f8c8d"]    last declaration (no semicolon)
 *       The " ;"-terminated / end-anchored forms never match the 8-digit
 *       alpha tints (#e74c3c18) or longer properties (background-color:),
 *       so there are no substring collisions.
 *    2. !important — the only way CSS can beat an inline style. Every rule
 *       is Royal-scoped, so White Professional remains byte-identical.
 *    3. CSS re-matches live when JS writes el.style.*, so dynamically
 *       injected badges recolor the moment they hit the DOM.
 *
 *  The companion palette keeps status DIFFERENTIATION while shifting every
 *  hue onto the champagne axis: greens become deep olive-sage, reds deep
 *  burgundy, ambers burnt gold, blues/info champagne-gold, purple accents
 *  full royal gold. White text on deep fills is kept on purpose (contrast);
 *  neutral dim overlays (rgba) are shared by both themes by design.
 * ---------------------------------------------------------------------
 */

/* ---- SmartCart loader: one variable override repaints the whole
        gradient-driven cart animation (its rules are var()-based) ---- */
html[data-theme="royal-champagne-cream"] .dm-sc.dm-sc {
    --dm-sc-color: #8b6f23;
    --dm-sc-bright: #c7a94a;
    --dm-sc-accent: #b07d1a;
    --dm-sc-accent-hi: #d9b44a;
    --dm-sc-accent-lo: #8a6412;
}

/* ---- Semantic chips retuned to the champagne axis (kept
        differentiated: sage = ok, gold = info, burnt amber = warn,
        burgundy = danger, warm gray = muted) ---- */
html[data-theme="royal-champagne-cream"] .b-ok,
html[data-theme="royal-champagne-cream"] .alert-ok,
html[data-theme="royal-champagne-cream"] .banner.ok,
html[data-theme="royal-champagne-cream"] .btn-enable,
html[data-theme="royal-champagne-cream"] .ai-verified-tag {
    background-color: #edf0da;
    color: #4d6326;
}
html[data-theme="royal-champagne-cream"] .b-info,
html[data-theme="royal-champagne-cream"] .alert-info {
    background-color: #f6e8ce;
    color: #8b6f23;
}
html[data-theme="royal-champagne-cream"] .b-warn,
html[data-theme="royal-champagne-cream"] .alert-warn,
html[data-theme="royal-champagne-cream"] .banner.warn,
html[data-theme="royal-champagne-cream"] .ai-warn {
    background-color: #f8efd6;
    color: #8a6412;
}
html[data-theme="royal-champagne-cream"] .b-danger,
html[data-theme="royal-champagne-cream"] .alert-err {
    background-color: #f6e6e0;
    color: #8f2f26;
}
html[data-theme="royal-champagne-cream"] .b-muted {
    background-color: #f3f2ed;
    color: #5f636e;
}
html[data-theme="royal-champagne-cream"] .btn-disable {
    background-color: #f3f2ed;
    color: #5f636e;
}

/* ---- Inline text colors (guarded: an element that also paints a
        background/border is handled by the joint rules below) ---- */
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#2c3e50;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#2c3e50"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color: #2c3e50;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color: #2c3e50"] { color: #171717 !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#5d6d7e;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#5d6d7e"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color: #5d6d7e;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color: #5d6d7e"] { color: #5f636e !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#7f8c8d;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#7f8c8d"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color: #7f8c8d;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color: #7f8c8d"] { color: #5f636e !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#64748b;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#64748b"] { color: #5f636e !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#95a5a6;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#95a5a6"] { color: #5f636e !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#94a3b8;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#94a3b8"] { color: #5f636e !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#7a8ba0;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#7a8ba0"] { color: #5f636e !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#bdc3c7;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#bdc3c7"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#b8c4cf;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#b8c4cf"] { color: #c9c2ae !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#555;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#555"] { color: #171717 !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#666;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#666"] { color: #5f636e !important; }
/* Accent text/controls on plain surfaces converge to gold */
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#667eea;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#667eea"] { color: #8b6f23 !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#3498db;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#3498db"] { color: #8b6f23 !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#7c5cbf;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#7c5cbf"] { color: #8b6f23 !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#9b59b6;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#9b59b6"] { color: #6e591b !important; }
/* Status text on plain surfaces: same champagne companions as the chips */
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#27ae60;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#27ae60"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#2ecc71;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#2ecc71"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#28a745;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#28a745"] { color: #5f7a2f !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#e74c3c;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#e74c3c"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#dc3545;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#dc3545"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#b3261e;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#b3261e"] { color: #a3372c !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#f39c12;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#f39c12"] { color: #b07d1a !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#b9770e;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#b9770e"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#b45309;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#b45309"] { color: #8a6412 !important; }
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#e67e22;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#e67e22"] { color: #b06a1c !important; }

/* ---- Inline backgrounds (solid hexes and the word "white") ---- */
html[data-theme="royal-champagne-cream"] [style*="background:#f8f9fa;"],
html[data-theme="royal-champagne-cream"] [style$="background:#f8f9fa"],
html[data-theme="royal-champagne-cream"] [style*="background:#f4f6f7;"],
html[data-theme="royal-champagne-cream"] [style$="background:#f4f6f7"] { background-color: #f3f2ed !important; }
html[data-theme="royal-champagne-cream"] [style*="background:white;"],
html[data-theme="royal-champagne-cream"] [style$="background:white"],
html[data-theme="royal-champagne-cream"] [style*="background:#fff;"],
html[data-theme="royal-champagne-cream"] [style$="background:#fff"],
html[data-theme="royal-champagne-cream"] [style*="background:#ffffff;"],
html[data-theme="royal-champagne-cream"] [style$="background:#ffffff"] { background-color: #fcfbf7 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#667eea;"],
html[data-theme="royal-champagne-cream"] [style$="background:#667eea"] { background-color: #8b6f23 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#e8f4fd;"],
html[data-theme="royal-champagne-cream"] [style$="background:#e8f4fd"],
html[data-theme="royal-champagne-cream"] [style*="background:#eef4fa;"],
html[data-theme="royal-champagne-cream"] [style$="background:#eef4fa"],
html[data-theme="royal-champagne-cream"] [style*="background:#f3eeff;"],
html[data-theme="royal-champagne-cream"] [style$="background:#f3eeff"] { background-color: #f6e8ce !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#27ae60;"],
html[data-theme="royal-champagne-cream"] [style$="background:#27ae60"],
html[data-theme="royal-champagne-cream"] [style*="background:#2ecc71;"],
html[data-theme="royal-champagne-cream"] [style$="background:#2ecc71"],
html[data-theme="royal-champagne-cream"] [style*="background:#e8f6f3;"],
html[data-theme="royal-champagne-cream"] [style$="background:#e8f6f3"],
html[data-theme="royal-champagne-cream"] [style*="background:#f0f8f0;"],
html[data-theme="royal-champagne-cream"] [style$="background:#f0f8f0"] { background-color: #6d8a35 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#e74c3c;"],
html[data-theme="royal-champagne-cream"] [style$="background:#e74c3c"] { background-color: #a3372c !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#95a5a6;"],
html[data-theme="royal-champagne-cream"] [style$="background:#95a5a6"] { background-color: #5f636e !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#e67e22;"],
html[data-theme="royal-champagne-cream"] [style$="background:#e67e22"] { background-color: #b06a1c !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#ff6b35;"],
html[data-theme="royal-champagne-cream"] [style$="background:#ff6b35"] { background-color: #8b6f23 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#fff8e1;"],
html[data-theme="royal-champagne-cream"] [style$="background:#fff8e1"],
html[data-theme="royal-champagne-cream"] [style*="background:#fef5e7;"],
html[data-theme="royal-champagne-cream"] [style$="background:#fef5e7"],
html[data-theme="royal-champagne-cream"] [style*="background:#fdf3e7;"],
html[data-theme="royal-champagne-cream"] [style$="background:#fdf3e7"],
html[data-theme="royal-champagne-cream"] [style*="background:#fff9e6;"],
html[data-theme="royal-champagne-cream"] [style$="background:#fff9e6"] { background-color: #f8efd6 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#fdecea;"],
html[data-theme="royal-champagne-cream"] [style$="background:#fdecea"],
html[data-theme="royal-champagne-cream"] [style*="background:#fce4ec;"],
html[data-theme="royal-champagne-cream"] [style$="background:#fce4ec"] { background-color: #f6e6e0 !important; }

/* ---- Inline borders ("solid #hex" matches inside any border shorthand;
        border-color only recolors sides that actually have width) ---- */
html[data-theme="royal-champagne-cream"] [style*="solid #ecf0f1;"],
html[data-theme="royal-champagne-cream"] [style$="solid #ecf0f1"],
html[data-theme="royal-champagne-cream"] [style*="solid #ddd;"],
html[data-theme="royal-champagne-cream"] [style$="solid #ddd"],
html[data-theme="royal-champagne-cream"] [style*="solid #dfe6e9;"],
html[data-theme="royal-champagne-cream"] [style$="solid #dfe6e9"],
html[data-theme="royal-champagne-cream"] [style*="solid #dfe4ea;"],
html[data-theme="royal-champagne-cream"] [style$="solid #dfe4ea"] { border-color: #d9d8cf !important; }
html[data-theme="royal-champagne-cream"] [style*="solid #f1f3f4;"],
html[data-theme="royal-champagne-cream"] [style$="solid #f1f3f4"],
html[data-theme="royal-champagne-cream"] [style*="solid #eef2f7;"],
html[data-theme="royal-champagne-cream"] [style$="solid #eef2f7"] { border-color: #e7e1d0 !important; }

/* ---- Alpha-tinted JS badges: exact 8-digit forms, tint and text ---- */
html[data-theme="royal-champagne-cream"] [style*="background:#27ae6018"],
html[data-theme="royal-champagne-cream"] [style$="background:#27ae6018"],
html[data-theme="royal-champagne-cream"] [style*="background:#27ae6020"],
html[data-theme="royal-champagne-cream"] [style$="background:#27ae6020"],
html[data-theme="royal-champagne-cream"] [style*="background:#2ecc7120"],
html[data-theme="royal-champagne-cream"] [style$="background:#2ecc7120"] { background-color: #5f7a2f20 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#e74c3c12"],
html[data-theme="royal-champagne-cream"] [style$="background:#e74c3c12"],
html[data-theme="royal-champagne-cream"] [style*="background:#e74c3c18"],
html[data-theme="royal-champagne-cream"] [style$="background:#e74c3c18"],
html[data-theme="royal-champagne-cream"] [style*="background:#e74c3c20"],
html[data-theme="royal-champagne-cream"] [style$="background:#e74c3c20"] { background-color: #a3372c20 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#f39c1215"],
html[data-theme="royal-champagne-cream"] [style$="background:#f39c1215"] { background-color: #b07d1a15 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#e67e2220"],
html[data-theme="royal-champagne-cream"] [style$="background:#e67e2220"] { background-color: #b06a1c20 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#3498db20"],
html[data-theme="royal-champagne-cream"] [style$="background:#3498db20"] { background-color: #8b6f2320 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#95a5a620"],
html[data-theme="royal-champagne-cream"] [style$="background:#95a5a620"],
html[data-theme="royal-champagne-cream"] [style*="background:#95a5a622"],
html[data-theme="royal-champagne-cream"] [style$="background:#95a5a622"] { background-color: #5f636e22 !important; }
/* paired text inside the alpha-tint badges */
html[data-theme="royal-champagne-cream"] [style*="color:#27ae60;"] { color: #5f7a2f !important; }
html[data-theme="royal-champagne-cream"] [style*="color:#e74c3c;"] { color: #a3372c !important; }
html[data-theme="royal-champagne-cream"] [style*="color:#f39c12;"] { color: #b07d1a !important; }
html[data-theme="royal-champagne-cream"] [style*="color:#b9770e;"] { color: #8a6412 !important; }
html[data-theme="royal-champagne-cream"] [style*="color:#7f8c8d;"] { color: #5f636e !important; }
html[data-theme="royal-champagne-cream"] [style*="color:#5d6d7e;"] { color: #5f636e !important; }
html[data-theme="royal-champagne-cream"] [style*="color:#3498db;"] { color: #8b6f23 !important; }

/* ---- Observed background+color pairs (both properties recolored even
        though the guard excludes them from the single-property rules) ---- */
html[data-theme="royal-champagne-cream"] [style*="background:#e8f4fd"][style*="color:#3498db"] { background-color: #f6e8ce !important; color: #8b6f23 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#f4f6f7"][style*="color:#5d6d7e"] { background-color: #f3f2ed !important; color: #5f636e !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#f8f9fa"][style*="color:#7f8c8d"] { background-color: #f3f2ed !important; color: #5f636e !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#95a5a6"][style*="color:#7f8c8d"] { background-color: #5f636e !important; color: #f3f2ed !important; }

/* ---- Late additions: stragglers found by the rendered-page coverage
        audit (teal status green, extra alpha/tint variants) ---- */
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style*="color:#2c7e5f;"],
html[data-theme="royal-champagne-cream"] :not([style*="background"])[style$="color:#2c7e5f"] { color: #4f7358 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#f39c1218"],
html[data-theme="royal-champagne-cream"] [style$="background:#f39c1218"] { background-color: #b07d1a18 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#fef9e7;"],
html[data-theme="royal-champagne-cream"] [style$="background:#fef9e7"] { background-color: #f8efd6 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#fdedec;"],
html[data-theme="royal-champagne-cream"] [style$="background:#fdedec"] { background-color: #f6e6e0 !important; }
/* Unguarded partners for background+color pairs (safe: portal inline styles
   always spell backgrounds "background:", never "background-color:") */
html[data-theme="royal-champagne-cream"] [style*="color:#2c3e50;"],
html[data-theme="royal-champagne-cream"] [style$="color:#2c3e50"] { color: #171717 !important; }
html[data-theme="royal-champagne-cream"] [style*="color:#2c7e5f;"],
html[data-theme="royal-champagne-cream"] [style$="color:#2c7e5f"] { color: #4f7358 !important; }
html[data-theme="royal-champagne-cream"] [style*="background:#3498db;"],
html[data-theme="royal-champagne-cream"] [style$="background:#3498db"] { background-color: #8b6f23 !important; }

/* ---- Component sweep: every remaining class-based accent component
        across all 28 portal pages, translated through the companion
        policy (accents->gold, greens->olive-sage, reds->burgundy,
        ambers->burnt gold, tints->champagne) ---- */
html[data-theme="royal-champagne-cream"] .ack { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .act-silent { background: #f8efd6; color: #8a6412 }
html[data-theme="royal-champagne-cream"] .act-tag { background: #f6e6e0; color: #a3372c }
html[data-theme="royal-champagne-cream"] .action-btn { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .action-btn.liked .fa-heart { color: #a3372c }
html[data-theme="royal-champagne-cream"] .action-btn.liked { color: #a3372c }
html[data-theme="royal-champagne-cream"] .action-num { background: #edf0da; color: #4d6326 }
html[data-theme="royal-champagne-cream"] .ad-media { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .add-btn { background: #5f7a2f }
html[data-theme="royal-champagne-cream"] .add-cart-btn { background: #6d8a35 }
html[data-theme="royal-champagne-cream"] .ai-banner.error { background: #f6e6e0; color: #a3372c }
html[data-theme="royal-champagne-cream"] .ai-biz-save { background: #8b6f23 }
html[data-theme="royal-champagne-cream"] .ai-btn-process { background: #a3372c }
html[data-theme="royal-champagne-cream"] .ai-chip.active { background: #8b6f23; border-color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .ai-dots span { background: #a3372c }
html[data-theme="royal-champagne-cream"] .ai-entry-btn:hover { border-color: #8b6f23; background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .ai-entry-ic { background: #f6e8ce; color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .ai-import-btn:hover { border-color: #8b6f23; background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .ai-metric { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .ai-retry { background: #8b6f23 }
html[data-theme="royal-champagne-cream"] .ai-status.new { background: #edf0da; color: #4d6326 }
html[data-theme="royal-champagne-cream"] .ai-status.review { background: #f8efd6; color: #8a6412 }
html[data-theme="royal-champagne-cream"] .ai-summary-chip.ok { background: #5f7a2f }
html[data-theme="royal-champagne-cream"] .ai-summary-chip.review { background: #f8efd6; color: #8a6412 }
html[data-theme="royal-champagne-cream"] .ai-table input:focus, html[data-theme="royal-champagne-cream"] .ai-table select:focus { border-color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .ai-table input:focus { border-color: #a3372c }
html[data-theme="royal-champagne-cream"] .ai-upload-zone:hover, html[data-theme="royal-champagne-cream"] .ai-upload-zone.drag { background: #f6e8ce; border-color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .answer-card { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .approved-text { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .ask-input:focus { border-color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .ask-row input:focus { border-color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .badge { background: #edf0da; color: #4d6326 }
html[data-theme="royal-champagne-cream"] .badge-success { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .badge-warning { color: #8a6412 }
html[data-theme="royal-champagne-cream"] .bar i { background: #8b6f23 }
html[data-theme="royal-champagne-cream"] .btn-approve { background: #5f7a2f }
html[data-theme="royal-champagne-cream"] .btn-danger:hover { background: #f6e6e0; color: #a3372c }
html[data-theme="royal-champagne-cream"] .btn-edit { background: #8b6f23 }
html[data-theme="royal-champagne-cream"] .btn-logout { background: #a3372c }
html[data-theme="royal-champagne-cream"] .btn-permanent { background: #a3372c }
html[data-theme="royal-champagne-cream"] .btn-reject { background: #a3372c }
html[data-theme="royal-champagne-cream"] .btn:hover { background: #edf0da; color: #5f7a2f }
html[data-theme="royal-champagne-cream"] .camera-badge { background: #8b6f23 }
html[data-theme="royal-champagne-cream"] .cart-badge { background: #6d8a35 }
html[data-theme="royal-champagne-cream"] .cart-qty-btn { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .cart-remove { background: #a3372c }
html[data-theme="royal-champagne-cream"] .cart-summary { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .category-chip { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .category-chip.selected { background: #6d8a35; border-color: #6d8a35 }
html[data-theme="royal-champagne-cream"] .category-text { color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .char-count.over { color: #a3372c }
html[data-theme="royal-champagne-cream"] .chart-bar i { background: #8b6f23 }
html[data-theme="royal-champagne-cream"] .chart-bar { background: #e7e1d0 }
html[data-theme="royal-champagne-cream"] .checkout-modal-btn { background: #6d8a35 }
html[data-theme="royal-champagne-cream"] .chip-human { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .chip.selected { background: #6d8a35; border-color: #6d8a35 }
html[data-theme="royal-champagne-cream"] .close-sales-btn { background: #a3372c }
html[data-theme="royal-champagne-cream"] .closed-badge { color: #a3372c }
html[data-theme="royal-champagne-cream"] .confirm-cancel { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .confirm-close { background: #a3372c }
html[data-theme="royal-champagne-cream"] .contact-email { color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .contact-phone { color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .conv-del { color: #a3372c }
html[data-theme="royal-champagne-cream"] .conv-row:hover { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .cost-text { color: #a3372c }
html[data-theme="royal-champagne-cream"] .customer-avatar { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .customer-total { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .date-badge { background: #8b6f23 }
html[data-theme="royal-champagne-cream"] .date-btn { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .date-btn.primary { background: #8b6f23 }
html[data-theme="royal-champagne-cream"] .date-display { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .date-field input { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .date-field input:focus { border-color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .date-filter-active { color: #4d6326; background: #edf0da }
html[data-theme="royal-champagne-cream"] .date-nav { color: #5f7a2f }
html[data-theme="royal-champagne-cream"] .delete-icon { color: #a3372c }
html[data-theme="royal-champagne-cream"] .dismiss-btn { background: #edf0da; color: #4d6326 }
html[data-theme="royal-champagne-cream"] .dm-entry-banner[data-kind="error"] { background: #f6e6e0; color: #a3372c }
html[data-theme="royal-champagne-cream"] .dm-entry-banner[data-kind="success"] { background: #edf0da; color: #4d6326 }
html[data-theme="royal-champagne-cream"] .dm-entry-banner[data-kind="warn"] { background: #f8efd6; color: #8a6412 }
html[data-theme="royal-champagne-cream"] .dm-entry-field input:focus, html[data-theme="royal-champagne-cream"] .dm-entry-field select:focus { border-color: #5f7a2f }
html[data-theme="royal-champagne-cream"] .dm-entry-flags li { color: #8a6412; background: #f8efd6 }
html[data-theme="royal-champagne-cream"] .dm-entry-missing { color: #a3372c }
html[data-theme="royal-champagne-cream"] .dock-cart-badge { background: #6d8a35 }
html[data-theme="royal-champagne-cream"] .dock-cart-info { background: #edf0da; color: #4d6326 }
html[data-theme="royal-champagne-cream"] .dock-checkout { background: #6d8a35 }
html[data-theme="royal-champagne-cream"] .dock-price { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .edit-btn { background: #f6e8ce; color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .edit-profile-btn { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .empty-add { background: #edf0da; color: #5f7a2f }
html[data-theme="royal-champagne-cream"] .ev-product { background: #f6e8ce; color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .ev-sale { background: #edf0da; color: #4d6326 }
html[data-theme="royal-champagne-cream"] .ev-warn { background: #f8efd6; color: #8a6412 }
html[data-theme="royal-champagne-cream"] .existing-btn:hover { border-color: #6d8a35 }
html[data-theme="royal-champagne-cream"] .expense-text { color: #8a6412 }
html[data-theme="royal-champagne-cream"] .expenses-total { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .extra-stats { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .filter-info { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .flag-row { background: #f8efd6; color: #8a6412 }
html[data-theme="royal-champagne-cream"] .focused-tag { color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .form-select:focus, html[data-theme="royal-champagne-cream"] .form-input:focus { border-color: #6d8a35 }
html[data-theme="royal-champagne-cream"] .go-sell-btn { background: #6d8a35 }
html[data-theme="royal-champagne-cream"] .gross-profit-text { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .guide-chip { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .helper-text { color: #8a6412 }
html[data-theme="royal-champagne-cream"] .history-badge { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .hub-ads .hub-title, html[data-theme="royal-champagne-cream"] .hub-ads .hub-arrow { color: #6e591b }
html[data-theme="royal-champagne-cream"] .hub-ask .hub-title, html[data-theme="royal-champagne-cream"] .hub-ask .hub-arrow { color: #6e591b }
html[data-theme="royal-champagne-cream"] .hub-copilot .hub-title, html[data-theme="royal-champagne-cream"] .hub-copilot .hub-arrow { color: #6e591b }
html[data-theme="royal-champagne-cream"] .hub-health .hub-title, html[data-theme="royal-champagne-cream"] .hub-health .hub-arrow { color: #4f7358 }
html[data-theme="royal-champagne-cream"] .hub-restock .hub-title, html[data-theme="royal-champagne-cream"] .hub-restock .hub-arrow { color: #8a6412 }
html[data-theme="royal-champagne-cream"] .info-card { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .info-text { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .input-field:focus { border-color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .instructions { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .instructions-box { background: #f8efd6 }
html[data-theme="royal-champagne-cream"] .item-amount { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .logout-area span { color: #a3372c }
html[data-theme="royal-champagne-cream"] .logout-btn-main { background: #a3372c }
html[data-theme="royal-champagne-cream"] .logout-btn:hover { background-color: #f6e6e0 }
html[data-theme="royal-champagne-cream"] .media-picker-text { color: #5f7a2f }
html[data-theme="royal-champagne-cream"] .mini-btn.del { background: #f6e6e0; color: #a3372c }
html[data-theme="royal-champagne-cream"] .mini-btn.load { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .modal-avatar { background: #8b6f23 }
html[data-theme="royal-champagne-cream"] .msg.assistant { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .msg.user { background: #6d8a35 }
html[data-theme="royal-champagne-cream"] .nav-item:hover, html[data-theme="royal-champagne-cream"] .nav-item.active { background-color: #edf0da; color: #5f7a2f }
html[data-theme="royal-champagne-cream"] .nav-tab.active { background: #8b6f23 }
html[data-theme="royal-champagne-cream"] .net-loss { color: #a3372c }
html[data-theme="royal-champagne-cream"] .net-value { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .new-badge { background: #a3372c }
html[data-theme="royal-champagne-cream"] .next-step { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .notice { background: #f8efd6; color: #8a6412 }
html[data-theme="royal-champagne-cream"] .online-dot { background: #6d8a35 }
html[data-theme="royal-champagne-cream"] .order-btn { background: #5f7a2f }
html[data-theme="royal-champagne-cream"] .order-btn:hover { background: #6d8a35 }
html[data-theme="royal-champagne-cream"] .owner-badge { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .payment-text { color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .photo-pick-btn:hover { border-color: #a3372c; background: #f6e6e0; color: #a3372c }
html[data-theme="royal-champagne-cream"] .preview-area:focus { border-color: #6d8a35 }
html[data-theme="royal-champagne-cream"] .preview-card { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .price { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .price-diff.negative { background: #f6e6e0 }
html[data-theme="royal-champagne-cream"] .print-day-btn { background: #8b6f23 }
html[data-theme="royal-champagne-cream"] .product-item { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .product-item-price { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .product-item-stock { color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .product-item.owner { background: #edf0da }
html[data-theme="royal-champagne-cream"] .product-item.selected { background: #edf0da; border-color: #6d8a35 }
html[data-theme="royal-champagne-cream"] .product-item:hover { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .product-option.selected { border-color: #6d8a35; background: #edf0da }
html[data-theme="royal-champagne-cream"] .product-price { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .product-tab.active { background: #8b6f23 }
html[data-theme="royal-champagne-cream"] .quick-chip { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .quick-chip:hover { background: #edf0da }
html[data-theme="royal-champagne-cream"] .receipt-btn { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .report-search .search-clear:hover { color: #a3372c }
html[data-theme="royal-champagne-cream"] .report-search input:focus { border-color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .req-why { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .required-star { color: #a3372c }
html[data-theme="royal-champagne-cream"] .role { color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .role-badge { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .sale-btn { background: #6d8a35 }
html[data-theme="royal-champagne-cream"] .sale-item.closed { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .sale-total { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .save-btn { background: #6d8a35 }
html[data-theme="royal-champagne-cream"] .selected-banner { background: #edf0da }
html[data-theme="royal-champagne-cream"] .selected-banner-close { color: #a3372c }
html[data-theme="royal-champagne-cream"] .selected-banner-title { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .selected-banner.non-owner { background: #f8efd6; border-left-color: #b07d1a }
html[data-theme="royal-champagne-cream"] .seller-count { background: #a3372c }
html[data-theme="royal-champagne-cream"] .severity.high { background: #a3372c }
html[data-theme="royal-champagne-cream"] .severity.low { background: #8b6f23 }
html[data-theme="royal-champagne-cream"] .severity.medium { background: #b07d1a }
html[data-theme="royal-champagne-cream"] .stat-badge { background: #f3f2ed }
html[data-theme="royal-champagne-cream"] .stat-badge.likes { color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .stat-badge.reports { color: #a3372c }
html[data-theme="royal-champagne-cream"] .status-approved { background: #edf0da; color: #4d6326 }
html[data-theme="royal-champagne-cream"] .status-attention { background: #f6e6e0; color: #a3372c }
html[data-theme="royal-champagne-cream"] .status-badge { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .status-pending { color: #8a6412 }
html[data-theme="royal-champagne-cream"] .status-rejected { background: #f6e6e0; color: #a3372c }
html[data-theme="royal-champagne-cream"] .status-strong { background: #edf0da; color: #4d6326 }
html[data-theme="royal-champagne-cream"] .status-watch { background: #f8efd6; color: #8a6412 }
html[data-theme="royal-champagne-cream"] .stock-badge { background: #f6e8ce; color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .stock-badge.low { color: #8a6412 }
html[data-theme="royal-champagne-cream"] .stock-badge.out { background: #f6e6e0; color: #a3372c }
html[data-theme="royal-champagne-cream"] .stock-pill { background: #edf0da; color: #4d6326 }
html[data-theme="royal-champagne-cream"] .stock-pill.out { background: #f6e6e0; color: #a3372c }
html[data-theme="royal-champagne-cream"] .submit-btn.add { background: #6d8a35 }
html[data-theme="royal-champagne-cream"] .submit-btn.addstock { background: #b07d1a }
html[data-theme="royal-champagne-cream"] .submit-btn.update { background: #8b6f23 }
html[data-theme="royal-champagne-cream"] .system-admin-btn { color: #6e591b }
html[data-theme="royal-champagne-cream"] .tag { background: #f6e8ce }
html[data-theme="royal-champagne-cream"] .today-badge { background: #6d8a35 }
html[data-theme="royal-champagne-cream"] .total-value { color: #4d6326 }
html[data-theme="royal-champagne-cream"] .upload-btn { background: #5f7a2f }
html[data-theme="royal-champagne-cream"] .upload-progress { color: #8b6f23 }
html[data-theme="royal-champagne-cream"] .zimesomwa-btn { background: #5f7a2f }

/*
 * =====================================================================
 *  Midnight Royal Gold — third approved theme (public + portals)
 * =====================================================================
 *
 *  `midnight-royal-gold` is the premium dark look: nearly black canvas
 *  (#050505), deep-charcoal cards (#101010 / #1B1B1B), royal gold
 *  accents (#D4AF37 / #B89A35, borders #55451D, tint #282213), and
 *  AMBER-ORANGE primary actions (#FF9F1C / hover #E88B0C) with charcoal
 *  borders (#303030) and soft-white / silver text (#F8F8F8 / #A1A1AA).
 *  Gold carries the luxury, orange carries the emphasis — never
 *  collapsed into one flat black-and-yellow scheme.
 *
 *  SCOPE — every token and rule in this layer is prefixed with
 *      html[data-theme="midnight-royal-gold"]
 *  and nothing else: public website pages AND the authenticated
 *  portal shells (mteja / muuzaji / msimamizi / system_admin) are all
 *  covered. The public + shared-vocabulary rules continue below; the
 *  full portal translation (shell / vocabulary gaps / portal-specific
 *  extension / component sweep, authored from the Royal layer's four
 *  portal sections through this theme's value map) is appended at the
 *  end of this file in the "PHASE 2 — portal coverage" block.
 *
 *  Phase-1 history: rules used to carry a :not(:has(.sidebar)) guard
 *  so portals stayed untouched until authorized. Portals are now
 *  authorized, so the guard is removed — the layer also no longer
 *  depends on :has() parsing at all.
 *
 *  White Professional stays byte-identical: not one unscoped rule is
 *  added here. Selectors below that never appear on a given page are
 *  simply inert there (same shared-vocabulary approach as the Royal
 *  layer).
 * --------------------------------------------------------------------
 */

/* ---- Design tokens: the same 89-key surface as the White and Royal
        blocks, so every var()-based public style follows at once ---- */
html[data-theme="midnight-royal-gold"] {

    /* Site design system — charcoal surfaces, gold accent, soft-white ink */
    --dm-navy: #f8f8f8;
    --dm-ink: #f8f8f8;
    --dm-muted: #a1a1aa;
    --dm-line: #303030;
    --dm-bg: #050505;
    --dm-card: #101010;
    --dm-primary: #ff9f1c;
    --dm-primary-dark: #e88b0c;
    --dm-accent: #d4af37;
    --dm-accent-ink: #050505;
    --dm-danger: #ef4444;
    --dm-success: #22c55e;

    /* Site chrome / interaction — dark neutrals, amber-orange focus */
    --dm-nav-bg: rgba(5, 5, 5, .94);
    --dm-hover: #1b1b1b;
    --dm-tint: #282213;
    --dm-tint-line: #55451d;
    --dm-tint-ink: #d4af37;
    --dm-ai-bg: #282213;
    --dm-ai-line: #443a16;
    --dm-ai-line-2: #3e3313;
    --dm-ai-ink: #d4af37;
    --dm-input-bg: #101010;
    --dm-focus: rgba(255, 159, 28, .55);
    --dm-focus-soft: rgba(255, 159, 28, .25);
    --dm-selection: rgba(255, 159, 28, .25);
    --dm-btn-glow: rgba(255, 159, 28, .32);

    /* Alerts keep their semantic role on dark tints */
    --dm-alert-ok-bg: #0e2418;
    --dm-alert-ok-line: #23523a;
    --dm-alert-err-bg: #2a1310;
    --dm-alert-err-line: #6e3833;
    --dm-alert-info-bg: #1a1a1a;
    --dm-alert-info-line: #3a3a3a;

    /* Shared toast */
    --dm-toast-bg: #101010;
    --dm-toast-text: #f8f8f8;

    /* Floating concierge */
    --pmc-panel: #101010;
    --pmc-line: #303030;
    --pmc-answer: #282213;
    --pmc-ink: #f8f8f8;
    --pmc-muted: #a1a1aa;
    --pmc-strong: #f8f8f8;
    --pmc-cta: #ff9f1c;
    --pmc-cta-glow: rgba(255, 159, 28, .35);
    --pmc-chip-bg: #1b1b1b;
    --pmc-chip-hover: #242424;
    --pmc-chip-line: #303030;
    --pmc-chip-ink: #d4af37;

    /* Standalone auth/account pages — midnight zone, orange primary */
    --pg-page: #050505;
    --pg-surface: #101010;
    --pg-field: #101010;
    --pg-soft: #1b1b1b;
    --pg-soft-2: #171717;
    --pg-soft-3: #1b1b1b;
    --pg-soft-cool: #141414;
    --pg-text: #f8f8f8;
    --pg-muted: #a1a1aa;
    --pg-muted-2: #8b8b93;
    --pg-line: #303030;
    --pg-line-2: #303030;
    --pg-line-3: #303030;
    --pg-line-soft: #262626;
    --pg-cta-blue: #ff9f1c;
    --pg-cta-red: #ef4444;
    --pg-cta-green: #22c55e;
    --pg-cta-blue-deep: #e88b0c;
    --pg-glow-soft: rgba(255, 159, 28, .16);
    --pg-glow-red: rgba(239, 68, 68, .18);
    --pg-glow-green: rgba(34, 197, 94, .18);
    --pg-cta-glow: rgba(255, 159, 28, .34);
    --pg-cta-wash: rgba(255, 159, 28, .08);
    --pg-cta-disabled: #6e5a1c;
    --pg-info-bg: #1a1a1a;
    --pg-desc: #a1a1aa;
    --pg-line-4: #2a2a2a;
    --pg-line-5: #2a2a2a;
    --pg-line-6: #444444;
    --pg-line-7: #242424;
    --pg-pill: #1b1b1b;
    --pg-pill-hover: #242424;
    --pg-blue-tint: #282213;
    --pg-page-soft: #131313;
    --pg-soft-fill: #1b1b1b;
    --pg-soft-4: #191919;
    --pg-field-soft: #161616;
    --pg-accent-bright: #ff9f1c;
    --pg-step-idle: #1f1f1f;
    --pg-step-idle-line: #3a3a3a;
    --pg-brand-a: #d4af37;
    --pg-brand-b: #b89a35;
    --pg-brand-glow: rgba(212, 175, 55, .35);
}

/* ---- Midnight component overrides: public-page vocabulary translated
        one-to-one from the Royal layer onto the midnight palette ---- */
html[data-theme="midnight-royal-gold"] body {
    background-color: #050505;
    color: #f8f8f8;
}

/* ---- Page canvas ---- */
html[data-theme="midnight-royal-gold"] .main-content,
html[data-theme="midnight-royal-gold"] .page-bg {
    background-color: #050505;
}

/* ---- Public site footer: it backgrounds itself with var(--dm-navy),
        which Midnight repurposes for soft-white headings — pin the
        footer to midnight black here (its #cbd5e1 text is inherited
        and reads at ~11:1 on it). ---- */
html[data-theme="midnight-royal-gold"] .dm-footer {
    background-color: #050505;
}

/* ---- Cards / panels: deep charcoal + charcoal borders ---- */
html[data-theme="midnight-royal-gold"] .section-card,
html[data-theme="midnight-royal-gold"] .card,
html[data-theme="midnight-royal-gold"] .stat,
html[data-theme="midnight-royal-gold"] .summary-box,
html[data-theme="midnight-royal-gold"] .business-card,
html[data-theme="midnight-royal-gold"] .empty-container {
    background-color: #101010;
}

html[data-theme="midnight-royal-gold"] .card,
html[data-theme="midnight-royal-gold"] .stat {
    border-color: #303030;
}

/* ---- Keyboard focus stays visible (amber-orange ring) ---- */
html[data-theme="midnight-royal-gold"] a:focus-visible,
html[data-theme="midnight-royal-gold"] button:focus-visible,
html[data-theme="midnight-royal-gold"] [role="radio"]:focus-visible {
    outline: 3px solid rgba(255, 159, 28, .55);
    outline-offset: 2px;
}

/* ---- Buttons ---- */
html[data-theme="midnight-royal-gold"] .btn-primary {
    background-color: #ff9f1c;
    color: #050505;
}

html[data-theme="midnight-royal-gold"] .btn-ghost {
    background-color: #101010;
    border-color: #303030;
    color: #f8f8f8;
}

html[data-theme="midnight-royal-gold"] .btn-details {
    background-color: #1b1b1b;
    color: #a1a1aa;
}

html[data-theme="midnight-royal-gold"] .btn-logs {
    background-color: #282213;
    color: #d4af37;
}

html[data-theme="midnight-royal-gold"] .back-btn {
    background-color: #1b1b1b;
    color: #f8f8f8;
}

html[data-theme="midnight-royal-gold"] .retry-btn {
    background-color: #ff9f1c;
    color: #050505;
}

html[data-theme="midnight-royal-gold"] .phone-link {
    color: #d4af37;
}

/* ---- Inputs / search: dark surfaces, amber-orange focus ---- */
html[data-theme="midnight-royal-gold"] .search-box,
html[data-theme="midnight-royal-gold"] .search-input {
    background-color: #101010;
    border-color: #303030;
}

html[data-theme="midnight-royal-gold"] .search-input:focus {
    border-color: #ff9f1c;
    box-shadow: 0 0 0 3px rgba(255, 159, 28, .22);
}

html[data-theme="midnight-royal-gold"] .toolbar select,
html[data-theme="midnight-royal-gold"] .toolbar input,
html[data-theme="midnight-royal-gold"] .field input,
html[data-theme="midnight-royal-gold"] .field select,
html[data-theme="midnight-royal-gold"] .field textarea,
html[data-theme="midnight-royal-gold"] .input-field,
html[data-theme="midnight-royal-gold"] .form-input {
    border-color: #303030;
}

html[data-theme="midnight-royal-gold"] .loading-spinner {
    border-color: #262626;
    border-top-color: #d4af37;
}

/* ---- Typography groups: soft-white ink + muted silver ---- */
html[data-theme="midnight-royal-gold"] .title,
html[data-theme="midnight-royal-gold"] .page-title,
html[data-theme="midnight-royal-gold"] .section-title,
html[data-theme="midnight-royal-gold"] .card-title,
html[data-theme="midnight-royal-gold"] .header-title,
html[data-theme="midnight-royal-gold"] .business-name,
html[data-theme="midnight-royal-gold"] .stat-number,
html[data-theme="midnight-royal-gold"] .product-name,
html[data-theme="midnight-royal-gold"] .money-value,
html[data-theme="midnight-royal-gold"] .empty-title {
    color: #f8f8f8;
}

html[data-theme="midnight-royal-gold"] .subtitle,
html[data-theme="midnight-royal-gold"] .page-sub,
html[data-theme="midnight-royal-gold"] .header-subtitle,
html[data-theme="midnight-royal-gold"] .stat-label,
html[data-theme="midnight-royal-gold"] .money-label,
html[data-theme="midnight-royal-gold"] .empty-text,
html[data-theme="midnight-royal-gold"] .muted,
html[data-theme="midnight-royal-gold"] .empty-state,
html[data-theme="midnight-royal-gold"] .empty-sub,
html[data-theme="midnight-royal-gold"] .footer-text,
html[data-theme="midnight-royal-gold"] .detail-value {
    color: #a1a1aa;
}

/* ---- Shared chips / message / divider / avatar ---- */
html[data-theme="midnight-royal-gold"] .chip {
    border-color: #303030;
    color: #f8f8f8;
}

html[data-theme="midnight-royal-gold"] .chip:hover {
    background-color: #282213;
    border-color: #55451d;
}

html[data-theme="midnight-royal-gold"] .message {
    color: #f8f8f8;
}

html[data-theme="midnight-royal-gold"] .divider {
    background-color: #2e2e2e;
}

html[data-theme="midnight-royal-gold"] .avatar {
    background: linear-gradient(135deg, #d4af37, #b89a35);
    color: #050505;
}

html[data-theme="midnight-royal-gold"] .empty i,
html[data-theme="midnight-royal-gold"] .empty-icon {
    color: #5c5c66;
}

/* ---- NL entry (nl-entry is included on index / shop / businesses /
        advertisements): same treatment as under Royal, in midnight ---- */
html[data-theme="midnight-royal-gold"] .dm-entry-banner[data-kind="info"] {
    background-color: #282213;
    color: #d4af37;
    border-inline-start-color: #d4af37;
}

html[data-theme="midnight-royal-gold"] .dm-entry-btn {
    border-color: #303030;
    color: #f8f8f8;
}

html[data-theme="midnight-royal-gold"] .dm-entry-btn-primary {
    background-color: #ff9f1c;
    border-color: #ff9f1c;
    color: #050505;
}

html[data-theme="midnight-royal-gold"] .dm-entry-candidate {
    border-color: #303030;
}

html[data-theme="midnight-royal-gold"] .dm-entry-candidate.is-selected {
    border-color: #d4af37;
    background-color: #282213;
}

html[data-theme="midnight-royal-gold"] .dm-entry-chip {
    background-color: #1b1b1b;
    border-color: #262626;
    color: #a1a1aa;
}

html[data-theme="midnight-royal-gold"] .dm-entry-chip:hover {
    background-color: #282213;
    border-color: #d4af37;
}

html[data-theme="midnight-royal-gold"] .dm-entry-chip-type {
    color: #d4af37;
}

html[data-theme="midnight-royal-gold"] .dm-entry-field input,
html[data-theme="midnight-royal-gold"] .dm-entry-field select,
html[data-theme="midnight-royal-gold"] .dm-entry-text {
    border-color: #303030;
}

html[data-theme="midnight-royal-gold"] .dm-entry-field input:focus,
html[data-theme="midnight-royal-gold"] .dm-entry-field select:focus,
html[data-theme="midnight-royal-gold"] .dm-entry-text:focus {
    border-color: #ff9f1c;
}

html[data-theme="midnight-royal-gold"] .dm-entry-match {
    background-color: #1b1b1b;
    border-color: #262626;
}

html[data-theme="midnight-royal-gold"] .dm-entry-match-line,
html[data-theme="midnight-royal-gold"] .dm-entry-title {
    color: #f8f8f8;
}

html[data-theme="midnight-royal-gold"] .dm-entry-type {
    background-color: #282213;
    color: #d4af37;
}

html[data-theme="midnight-royal-gold"] .dm-entry-preview {
    border-top-color: #303030;
}

html[data-theme="midnight-royal-gold"] .dm-entry-field-label,
html[data-theme="midnight-royal-gold"] .dm-entry-status,
html[data-theme="midnight-royal-gold"] .dm-entry-subtitle,
html[data-theme="midnight-royal-gold"] .dm-entry-meta {
    color: #a1a1aa;
}

/* =====================================================================
 *  Midnight Companion Recolor — SmartCart loader, semantic chips,
 *  inline styles, JS-injected colors, and orange-label contrast guards
 * =====================================================================
 *  Mirrors the Royal companion layer's three tricks (exact-terminator
 *  [style*=]/[style$=] selectors, !important to beat inline styles, CSS
 *  re-matching live as page JS writes el.style), translated onto the
 *  midnight palette — and guarded like everything above so portals are
 *  untouched. Status hues stay DIFFERENTIATED on dark tints: green
 *  #22C55E, gold #D4AF37, amber #F59E0B, red #EF4444, silver #A1A1AA.
 * -------------------------------------------------------------------- */

/* ---- SmartCart loader: one variable override repaints the whole
        gradient-driven cart animation (its rules are var()-based) ---- */
html[data-theme="midnight-royal-gold"] .dm-sc.dm-sc {
    --dm-sc-color: #d4af37;
    --dm-sc-bright: #ebcb68;
    --dm-sc-accent: #ff9f1c;
    --dm-sc-accent-hi: #ffb44f;
    --dm-sc-accent-lo: #b97c0c;
}

/* ---- Semantic chips: palette indicators on dark tints ---- */
html[data-theme="midnight-royal-gold"] .b-ok,
html[data-theme="midnight-royal-gold"] .alert-ok,
html[data-theme="midnight-royal-gold"] .banner.ok,
html[data-theme="midnight-royal-gold"] .btn-enable,
html[data-theme="midnight-royal-gold"] .ai-verified-tag {
    background-color: rgba(34, 197, 94, .14);
    color: #22c55e;
}

html[data-theme="midnight-royal-gold"] .b-info,
html[data-theme="midnight-royal-gold"] .alert-info {
    background-color: #282213;
    color: #d4af37;
}

html[data-theme="midnight-royal-gold"] .b-warn,
html[data-theme="midnight-royal-gold"] .alert-warn,
html[data-theme="midnight-royal-gold"] .banner.warn,
html[data-theme="midnight-royal-gold"] .ai-warn {
    background-color: rgba(245, 158, 11, .14);
    color: #f59e0b;
}

html[data-theme="midnight-royal-gold"] .b-danger,
html[data-theme="midnight-royal-gold"] .alert-err {
    background-color: rgba(239, 68, 68, .15);
    color: #ef4444;
}

html[data-theme="midnight-royal-gold"] .b-muted,
html[data-theme="midnight-royal-gold"] .btn-disable {
    background-color: #1b1b1b;
    color: #a1a1aa;
}

/* ---- Inline text colors (same guard: an element that also paints a
        background/border is handled by the joint rules below) ---- */
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#2c3e50;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#2c3e50"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color: #2c3e50;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color: #2c3e50"] { color: #f8f8f8 !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#5d6d7e;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#5d6d7e"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color: #5d6d7e;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color: #5d6d7e"] { color: #a1a1aa !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#7f8c8d;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#7f8c8d"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color: #7f8c8d;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color: #7f8c8d"] { color: #a1a1aa !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#64748b;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#64748b"] { color: #a1a1aa !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#95a5a6;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#95a5a6"] { color: #a1a1aa !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#94a3b8;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#94a3b8"] { color: #a1a1aa !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#7a8ba0;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#7a8ba0"] { color: #a1a1aa !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#bdc3c7;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#bdc3c7"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#b8c4cf;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#b8c4cf"] { color: #8b8b93 !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#555;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#555"] { color: #f8f8f8 !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#666;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#666"] { color: #a1a1aa !important; }
/* Accent text/controls on plain surfaces converge to gold */
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#667eea;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#667eea"] { color: #d4af37 !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#3498db;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#3498db"] { color: #d4af37 !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#7c5cbf;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#7c5cbf"] { color: #d4af37 !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#9b59b6;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#9b59b6"] { color: #b89a35 !important; }
/* Status text on plain surfaces: the palette's indicators ---- */
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#27ae60;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#27ae60"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#2ecc71;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#2ecc71"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#28a745;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#28a745"] { color: #22c55e !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#e74c3c;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#e74c3c"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#dc3545;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#dc3545"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#b3261e;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#b3261e"] { color: #ef4444 !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#f39c12;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#f39c12"] { color: #f59e0b !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#b9770e;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#b9770e"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#b45309;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#b45309"] { color: #f59e0b !important; }
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#e67e22;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#e67e22"] { color: #f59e0b !important; }

/* ---- Inline backgrounds (solid hexes and the word "white") ---- */
html[data-theme="midnight-royal-gold"] [style*="background:#f8f9fa;"],
html[data-theme="midnight-royal-gold"] [style$="background:#f8f9fa"],
html[data-theme="midnight-royal-gold"] [style*="background:#f4f6f7;"],
html[data-theme="midnight-royal-gold"] [style$="background:#f4f6f7"] { background-color: #141414 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:white;"],
html[data-theme="midnight-royal-gold"] [style$="background:white"],
html[data-theme="midnight-royal-gold"] [style*="background:#fff;"],
html[data-theme="midnight-royal-gold"] [style$="background:#fff"],
html[data-theme="midnight-royal-gold"] [style*="background:#ffffff;"],
html[data-theme="midnight-royal-gold"] [style$="background:#ffffff"] { background-color: #101010 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#667eea;"],
html[data-theme="midnight-royal-gold"] [style$="background:#667eea"] { background-color: #d4af37 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#e8f4fd;"],
html[data-theme="midnight-royal-gold"] [style$="background:#e8f4fd"],
html[data-theme="midnight-royal-gold"] [style*="background:#eef4fa;"],
html[data-theme="midnight-royal-gold"] [style$="background:#eef4fa"],
html[data-theme="midnight-royal-gold"] [style*="background:#f3eeff;"],
html[data-theme="midnight-royal-gold"] [style$="background:#f3eeff"] { background-color: #282213 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#27ae60;"],
html[data-theme="midnight-royal-gold"] [style$="background:#27ae60"],
html[data-theme="midnight-royal-gold"] [style*="background:#2ecc71;"],
html[data-theme="midnight-royal-gold"] [style$="background:#2ecc71"] { background-color: #22c55e !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#e8f6f3;"],
html[data-theme="midnight-royal-gold"] [style$="background:#e8f6f3"],
html[data-theme="midnight-royal-gold"] [style*="background:#f0f8f0;"],
html[data-theme="midnight-royal-gold"] [style$="background:#f0f8f0"] { background-color: #10261a !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#e74c3c;"],
html[data-theme="midnight-royal-gold"] [style$="background:#e74c3c"] { background-color: #ef4444 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#95a5a6;"],
html[data-theme="midnight-royal-gold"] [style$="background:#95a5a6"] { background-color: #3f3f46 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#e67e22;"],
html[data-theme="midnight-royal-gold"] [style$="background:#e67e22"] { background-color: #e88b0c !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#ff6b35;"],
html[data-theme="midnight-royal-gold"] [style$="background:#ff6b35"] { background-color: #e88b0c !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#fff8e1;"],
html[data-theme="midnight-royal-gold"] [style$="background:#fff8e1"],
html[data-theme="midnight-royal-gold"] [style*="background:#fef5e7;"],
html[data-theme="midnight-royal-gold"] [style$="background:#fef5e7"],
html[data-theme="midnight-royal-gold"] [style*="background:#fdf3e7;"],
html[data-theme="midnight-royal-gold"] [style$="background:#fdf3e7"],
html[data-theme="midnight-royal-gold"] [style*="background:#fff9e6;"],
html[data-theme="midnight-royal-gold"] [style$="background:#fff9e6"] { background-color: #2b2110 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#fdecea;"],
html[data-theme="midnight-royal-gold"] [style$="background:#fdecea"],
html[data-theme="midnight-royal-gold"] [style*="background:#fce4ec;"],
html[data-theme="midnight-royal-gold"] [style$="background:#fce4ec"] { background-color: #2a1310 !important; }

/* ---- Inline borders ("solid #hex" inside any border shorthand) ---- */
html[data-theme="midnight-royal-gold"] [style*="solid #ecf0f1;"],
html[data-theme="midnight-royal-gold"] [style$="solid #ecf0f1"],
html[data-theme="midnight-royal-gold"] [style*="solid #ddd;"],
html[data-theme="midnight-royal-gold"] [style$="solid #ddd"],
html[data-theme="midnight-royal-gold"] [style*="solid #dfe6e9;"],
html[data-theme="midnight-royal-gold"] [style$="solid #dfe6e9"],
html[data-theme="midnight-royal-gold"] [style*="solid #dfe4ea;"],
html[data-theme="midnight-royal-gold"] [style$="solid #dfe4ea"] { border-color: #303030 !important; }
html[data-theme="midnight-royal-gold"] [style*="solid #f1f3f4;"],
html[data-theme="midnight-royal-gold"] [style$="solid #f1f3f4"],
html[data-theme="midnight-royal-gold"] [style*="solid #eef2f7;"],
html[data-theme="midnight-royal-gold"] [style$="solid #eef2f7"] { border-color: #262626 !important; }

/* ---- Alpha-tinted JS badges: exact 8-digit forms, tint and text ---- */
html[data-theme="midnight-royal-gold"] [style*="background:#27ae6018"],
html[data-theme="midnight-royal-gold"] [style$="background:#27ae6018"],
html[data-theme="midnight-royal-gold"] [style*="background:#27ae6020"],
html[data-theme="midnight-royal-gold"] [style$="background:#27ae6020"],
html[data-theme="midnight-royal-gold"] [style*="background:#2ecc7120"],
html[data-theme="midnight-royal-gold"] [style$="background:#2ecc7120"] { background-color: #22c55e20 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#e74c3c12"],
html[data-theme="midnight-royal-gold"] [style$="background:#e74c3c12"],
html[data-theme="midnight-royal-gold"] [style*="background:#e74c3c18"],
html[data-theme="midnight-royal-gold"] [style$="background:#e74c3c18"],
html[data-theme="midnight-royal-gold"] [style*="background:#e74c3c20"],
html[data-theme="midnight-royal-gold"] [style$="background:#e74c3c20"] { background-color: #ef444420 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#f39c1215"],
html[data-theme="midnight-royal-gold"] [style$="background:#f39c1215"] { background-color: #f59e0b15 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#e67e2220"],
html[data-theme="midnight-royal-gold"] [style$="background:#e67e2220"] { background-color: #f59e0b20 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#3498db20"],
html[data-theme="midnight-royal-gold"] [style$="background:#3498db20"] { background-color: #d4af3720 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#95a5a620"],
html[data-theme="midnight-royal-gold"] [style$="background:#95a5a620"],
html[data-theme="midnight-royal-gold"] [style*="background:#95a5a622"],
html[data-theme="midnight-royal-gold"] [style$="background:#95a5a622"] { background-color: #a1a1aa22 !important; }
/* paired text inside the alpha-tint badges */
html[data-theme="midnight-royal-gold"] [style*="color:#27ae60;"] { color: #22c55e !important; }
html[data-theme="midnight-royal-gold"] [style*="color:#e74c3c;"] { color: #ef4444 !important; }
html[data-theme="midnight-royal-gold"] [style*="color:#f39c12;"] { color: #f59e0b !important; }
html[data-theme="midnight-royal-gold"] [style*="color:#b9770e;"] { color: #f59e0b !important; }
html[data-theme="midnight-royal-gold"] [style*="color:#7f8c8d;"] { color: #a1a1aa !important; }
html[data-theme="midnight-royal-gold"] [style*="color:#5d6d7e;"] { color: #a1a1aa !important; }
html[data-theme="midnight-royal-gold"] [style*="color:#3498db;"] { color: #d4af37 !important; }

/* ---- Observed background+color pairs (both properties recolored even
        though the guard excludes them from the single-property rules) ---- */
html[data-theme="midnight-royal-gold"] [style*="background:#e8f4fd"][style*="color:#3498db"] { background-color: #282213 !important; color: #d4af37 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#f4f6f7"][style*="color:#5d6d7e"] { background-color: #141414 !important; color: #a1a1aa !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#f8f9fa"][style*="color:#7f8c8d"] { background-color: #141414 !important; color: #a1a1aa !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#95a5a6"][style*="color:#7f8c8d"] { background-color: #3f3f46 !important; color: #f8f8f8 !important; }

/* ---- Late additions: stragglers from the rendered-page coverage audit ---- */
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style*="color:#2c7e5f;"],
html[data-theme="midnight-royal-gold"] :not([style*="background"])[style$="color:#2c7e5f"] { color: #22c55e !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#f39c1218"],
html[data-theme="midnight-royal-gold"] [style$="background:#f39c1218"] { background-color: #f59e0b18 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#fef9e7;"],
html[data-theme="midnight-royal-gold"] [style$="background:#fef9e7"] { background-color: #2b2110 !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#fdedec;"],
html[data-theme="midnight-royal-gold"] [style$="background:#fdedec"] { background-color: #2a1310 !important; }
/* Unguarded partners for background+color pairs (safe: these pages spell
   backgrounds "background:", never "background-color:") */
html[data-theme="midnight-royal-gold"] [style*="color:#2c3e50;"],
html[data-theme="midnight-royal-gold"] [style$="color:#2c3e50"] { color: #f8f8f8 !important; }
html[data-theme="midnight-royal-gold"] [style*="color:#2c7e5f;"],
html[data-theme="midnight-royal-gold"] [style$="color:#2c7e5f"] { color: #22c55e !important; }
html[data-theme="midnight-royal-gold"] [style*="background:#3498db;"],
html[data-theme="midnight-royal-gold"] [style$="background:#3498db"] { background-color: #bf5b08 !important; }

/* ---- Orange-label contrast guards: the primary token becomes
        #ff9f1c, which is LIGHT — labels that ship white must flip to
        near-black or contrast fails. Only these primary-fill selectors
        are touched; gold/green/red fills keep white labels. ---- */
html[data-theme="midnight-royal-gold"] .login-btn { color: #050505; }
html[data-theme="midnight-royal-gold"] .signup-btn { color: #050505; }
html[data-theme="midnight-royal-gold"] .alert-btn { color: #050505; }
html[data-theme="midnight-royal-gold"] .alert-btn-success { color: #050505; }
html[data-theme="midnight-royal-gold"] .lang-modal-apply { color: #050505; }
html[data-theme="midnight-royal-gold"] .dm-theme-modal-apply { color: #050505; }
html[data-theme="midnight-royal-gold"] .dm-btn--primary { color: #050505; box-shadow: 0 6px 16px rgba(255, 159, 28, .3); }
html[data-theme="midnight-royal-gold"] .dm-btn--danger { color: #050505; }
html[data-theme="midnight-royal-gold"] .action-button .button-main-text,
html[data-theme="midnight-royal-gold"] .action-button .button-desc { color: #f8f8f8; }
/* Inline primary pairs: style attributes that paint the primary token
   AND a white label together (OTP buttons etc.) */
html[data-theme="midnight-royal-gold"] [style*="color:white;"][style*="var(--pg-cta-blue"] { color: #050505 !important; }
html[data-theme="midnight-royal-gold"] [style*="color:#fff;"][style*="var(--pg-cta-blue"] { color: #050505 !important; }
html[data-theme="midnight-royal-gold"] [style*="color: #fff;"][style*="var(--pg-cta-blue"] { color: #050505 !important; }
html[data-theme="midnight-royal-gold"] [style*="color:#ffffff;"][style*="var(--pg-cta-blue"] { color: #050505 !important; }
html[data-theme="midnight-royal-gold"] [style*="color: #ffffff;"][style*="var(--pg-cta-blue"] { color: #050505 !important; }
html[data-theme="midnight-royal-gold"] [style*="color:white;"][style*="var(--pg-cta-green"] { color: #050505 !important; }
html[data-theme="midnight-royal-gold"] [style*="color:white;"][style*="var(--dm-primary"] { color: #050505 !important; }

/* =====================================================================
 *  PHASE 2 — portal coverage (mteja / muuzaji / msimamizi / system_admin)
 *  ------------------------------------------------------------------
 *  Translated from the Royal layer's four portal sections (shell /
 *  vocabulary gaps / portal-specific extension / component sweep)
 *  through the established midnight value map: every champagne surface,
 *  border, tint and accent carried over 1:1; semantic greens and reds
 *  preserved (#22C55E / #EF4444 on translucent semantic washes);
 *  gold ACTION fills promoted to the orange primary (#FF9F1C) with
 *  near-black labels — the same contract .btn-primary follows above.
 *  Decorative gold keeps #D4AF37 (stripes, borders, icons).
 *  Selectors absent from a given portal page are inert there (same
 *  shared-vocabulary approach as the Royal layer), and White /
 *  Royal are untouched: every rule here is midnight-scoped.
 * ===================================================================== */

/* ---- Portal shell (sidebar / topbar / nav / tables / modals) ---- */
html[data-theme="midnight-royal-gold"] .sidebar {
    background-color: #101010;
    border-right-color: #303030;
}
html[data-theme="midnight-royal-gold"] .sidebar-header { border-bottom-color: #303030; }
html[data-theme="midnight-royal-gold"] .sidebar-footer { border-top-color: #303030; }
html[data-theme="midnight-royal-gold"] .logo-icon { background: linear-gradient(135deg, #d4af37, #b89a35); color: #050505; }
html[data-theme="midnight-royal-gold"] .logo-text h2 { color: #f8f8f8; }
html[data-theme="midnight-royal-gold"] .logo-text p { color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .nav-item { color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .nav-item:hover { background-color: #1e1c16; color: #b89a35; }
html[data-theme="midnight-royal-gold"] .nav-item.active { background-color: #282213; color: #b89a35; }
html[data-theme="midnight-royal-gold"] .user-avatar { background-color: #282213; color: #d4af37; }
html[data-theme="midnight-royal-gold"] .user-name { color: #f8f8f8; }
html[data-theme="midnight-royal-gold"] .user-role { color: #d4af37; }
html[data-theme="midnight-royal-gold"] .user-meta b { color: #f8f8f8; }
html[data-theme="midnight-royal-gold"] .user-meta span { color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .user-email { color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .logout-btn { color: #ef4444; background-color: #1b1b1b; border-color: #303030; }
html[data-theme="midnight-royal-gold"] .mobile-menu-toggle, html[data-theme="midnight-royal-gold"] .hamburger { background-color: #101010; border-color: #303030; }
html[data-theme="midnight-royal-gold"] .mobile-menu-toggle svg { stroke: #d4af37; }
html[data-theme="midnight-royal-gold"] .topbar { background-color: #101010; border-bottom-color: #303030; }
html[data-theme="midnight-royal-gold"] .dashboard-header, html[data-theme="midnight-royal-gold"] .tabs-container { background-color: #101010; }
html[data-theme="midnight-royal-gold"] .header-btn { background-color: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .card, html[data-theme="midnight-royal-gold"] .stat, html[data-theme="midnight-royal-gold"] .user-card, html[data-theme="midnight-royal-gold"] .log-card { border-color: #303030; }
html[data-theme="midnight-royal-gold"] .user-card, html[data-theme="midnight-royal-gold"] .log-card, html[data-theme="midnight-royal-gold"] .filter-chip { background-color: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .stat-card { background-color: #101010; border: 1px solid #262626; border-left: 4px solid #d4af37; }
html[data-theme="midnight-royal-gold"] .stat-icon { background-color: #282213; color: #d4af37; }
html[data-theme="midnight-royal-gold"] .welcome-card { background: linear-gradient(135deg, #d4af37, #b89a35); color: #050505; }
html[data-theme="midnight-royal-gold"] .tab-btn { color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .tab-btn.active, html[data-theme="midnight-royal-gold"] .filter-chip.active { background-color: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .phone-link, html[data-theme="midnight-royal-gold"] .log-endpoint { color: #d4af37; }
html[data-theme="midnight-royal-gold"] a:focus-visible, html[data-theme="midnight-royal-gold"] button:focus-visible, html[data-theme="midnight-royal-gold"] [role="radio"]:focus-visible, html[data-theme="midnight-royal-gold"] .nav-item:focus-visible { outline: 3px solid rgba(255, 159, 28, .55); outline-offset: 2px; }
html[data-theme="midnight-royal-gold"] .refresh-btn { background-color: #282213; color: #d4af37; }
html[data-theme="midnight-royal-gold"] .contact-btn, html[data-theme="midnight-royal-gold"] .twende-btn { background: linear-gradient(135deg, #d4af37, #b89a35); box-shadow: 0 2px 8px rgba(255, 159, 28, .25); }
html[data-theme="midnight-royal-gold"] .orders-table th, html[data-theme="midnight-royal-gold"] .orders-table td { border-bottom-color: #262626; }
html[data-theme="midnight-royal-gold"] .orders-table th { color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .orders-table tr:hover td { background-color: #1b1a15; }
html[data-theme="midnight-royal-gold"] table.data th { color: #f8f8f8; border-bottom-color: #303030; }
html[data-theme="midnight-royal-gold"] table.data th, html[data-theme="midnight-royal-gold"] table.data td { border-bottom-color: #262626; }
html[data-theme="midnight-royal-gold"] table.data td { color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .modal, html[data-theme="midnight-royal-gold"] .modal-head, html[data-theme="midnight-royal-gold"] .modal-foot, html[data-theme="midnight-royal-gold"] .modal-content { background-color: #101010; }
html[data-theme="midnight-royal-gold"] .modal-head, html[data-theme="midnight-royal-gold"] .modal-header, html[data-theme="midnight-royal-gold"] .modal-foot { border-color: #303030; }
html[data-theme="midnight-royal-gold"] .detail-row { border-bottom-color: #262626; }
html[data-theme="midnight-royal-gold"] .user-actions { border-top-color: #303030; }
html[data-theme="midnight-royal-gold"] .line { border-bottom-color: #262626; }
html[data-theme="midnight-royal-gold"] .timeline { border-left-color: #303030; }
html[data-theme="midnight-royal-gold"] .timeline li::before { background-color: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .empty { color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .empty-icon, html[data-theme="midnight-royal-gold"] .generated { color: #5c5c66; }
html[data-theme="midnight-royal-gold"] .business-logo { background-color: #282213; }
html[data-theme="midnight-royal-gold"] .business-logo-placeholder { border-color: #55451d; color: #d4af37; }
html[data-theme="midnight-royal-gold"] .title, html[data-theme="midnight-royal-gold"] .page-title, html[data-theme="midnight-royal-gold"] .section-title, html[data-theme="midnight-royal-gold"] .card-title, html[data-theme="midnight-royal-gold"] .header-title, html[data-theme="midnight-royal-gold"] .topbar h1, html[data-theme="midnight-royal-gold"] .business-name, html[data-theme="midnight-royal-gold"] .stat-number, html[data-theme="midnight-royal-gold"] .product-name, html[data-theme="midnight-royal-gold"] .money-value, html[data-theme="midnight-royal-gold"] .empty-title, html[data-theme="midnight-royal-gold"] .state-box .state-title, html[data-theme="midnight-royal-gold"] .tri-sec > b, html[data-theme="midnight-royal-gold"] .meta-item b { color: #f8f8f8; }
html[data-theme="midnight-royal-gold"] .subtitle, html[data-theme="midnight-royal-gold"] .page-sub, html[data-theme="midnight-royal-gold"] .header-subtitle, html[data-theme="midnight-royal-gold"] .stat-label, html[data-theme="midnight-royal-gold"] .money-label, html[data-theme="midnight-royal-gold"] .empty-text, html[data-theme="midnight-royal-gold"] .loading-text, html[data-theme="midnight-royal-gold"] .state-box, html[data-theme="midnight-royal-gold"] .list-text, html[data-theme="midnight-royal-gold"] .meta-item, html[data-theme="midnight-royal-gold"] .mono, html[data-theme="midnight-royal-gold"] .detail-value { color: #a1a1aa; }
/* ---- Portal vocabulary gaps (AI tools, contacts, bars, chips) ---- */
html[data-theme="midnight-royal-gold"] .btn-save,
    html[data-theme="midnight-royal-gold"] .ask-btn,
    html[data-theme="midnight-royal-gold"] .contact-sms-btn,
    html[data-theme="midnight-royal-gold"] .contact-call-btn,
    html[data-theme="midnight-royal-gold"] .ai-verify-btn,
    html[data-theme="midnight-royal-gold"] .ai-btn-camera,
    html[data-theme="midnight-royal-gold"] .bar-fill {
    background-color: #ff9f1c;
    color: #050505;
}
html[data-theme="midnight-royal-gold"] .ai-reset { color: #d4af37; }
html[data-theme="midnight-royal-gold"] input:checked + .slider { background-color: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .selected-product-card, html[data-theme="midnight-royal-gold"] .ai-note { border-left-color: #d4af37; }
html[data-theme="midnight-royal-gold"] .contact-cancel-btn, html[data-theme="midnight-royal-gold"] .cancel-btn { background-color: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .ai-upload-zone { border-color: #55451d; background-color: #101010; }
html[data-theme="midnight-royal-gold"] .ai-upload-zone:hover, html[data-theme="midnight-royal-gold"] .ai-upload-zone.drag { border-color: #ff9f1c; background-color: #282213; }
html[data-theme="midnight-royal-gold"] .ai-import-btn { border-color: #55451d; background-color: #101010; }
html[data-theme="midnight-royal-gold"] .ai-banner.info { background-color: #282213; color: #d4af37; border-left-color: #d4af37; }
html[data-theme="midnight-royal-gold"] .ai-summary-chip.existing, html[data-theme="midnight-royal-gold"] .ai-status.existing { background-color: #282213; color: #d4af37; }
html[data-theme="midnight-royal-gold"] .ai-card { background-color: #282213; }
html[data-theme="midnight-royal-gold"] .ai-card-title, html[data-theme="midnight-royal-gold"] .ai-card-text { color: #d4af37; }
html[data-theme="midnight-royal-gold"] .modal-footer { border-top-color: #303030; }
html[data-theme="midnight-royal-gold"] .form-input, html[data-theme="midnight-royal-gold"] .ask-input { border-color: #303030; }
html[data-theme="midnight-royal-gold"] .bar-track { background-color: #262626; }
html[data-theme="midnight-royal-gold"] .stats-container { background-color: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .headline-card { background-color: #101010; }
html[data-theme="midnight-royal-gold"] .ai-table { background-color: #101010; }
html[data-theme="midnight-royal-gold"] .ai-table th { background-color: #1b1b1b; border-bottom-color: #303030; }
html[data-theme="midnight-royal-gold"] .ai-table td { border-bottom-color: #262626; }
html[data-theme="midnight-royal-gold"] .ai-table-scroll { border-color: #303030; }
html[data-theme="midnight-royal-gold"] .ai-preview-item { background-color: #1b1b1b; border-color: #303030; }
html[data-theme="midnight-royal-gold"] .ai-modal-content { background-color: #101010; }
html[data-theme="midnight-royal-gold"] .ai-modal-header { border-bottom-color: #303030; }
html[data-theme="midnight-royal-gold"] .headline, html[data-theme="midnight-royal-gold"] .customer-name, html[data-theme="midnight-royal-gold"] .bar-value, html[data-theme="midnight-royal-gold"] .ai-table th, html[data-theme="midnight-royal-gold"] .ai-modal-title, html[data-theme="midnight-royal-gold"] .ai-note-title, html[data-theme="midnight-royal-gold"] .ai-uz-main, html[data-theme="midnight-royal-gold"] .tri-list, html[data-theme="midnight-royal-gold"] ul.dm-list { color: #f8f8f8; }
html[data-theme="midnight-royal-gold"] .ai-note-text, html[data-theme="midnight-royal-gold"] .ai-preview-name, html[data-theme="midnight-royal-gold"] .ai-conf-row, html[data-theme="midnight-royal-gold"] .ai-progress-text, html[data-theme="midnight-royal-gold"] .ai-modal-close, html[data-theme="midnight-royal-gold"] .ai-uz-sub, html[data-theme="midnight-royal-gold"] .business-location, html[data-theme="midnight-royal-gold"] .examples-title, html[data-theme="midnight-royal-gold"] .contact-modal-sub, html[data-theme="midnight-royal-gold"] .bar-label, html[data-theme="midnight-royal-gold"] .muted, html[data-theme="midnight-royal-gold"] .empty-state, html[data-theme="midnight-royal-gold"] .empty-sub, html[data-theme="midnight-royal-gold"] .footer-text, html[data-theme="midnight-royal-gold"] .limitations, html[data-theme="midnight-royal-gold"] .limitations b, html[data-theme="midnight-royal-gold"] .list-bullet { color: #a1a1aa; }
/* ---- Portal-specific pages (extension 2) ---- */
html[data-theme="midnight-royal-gold"] .logo {
    background: linear-gradient(135deg, #d4af37, #b89a35);
}
html[data-theme="midnight-royal-gold"] .manual-link { border-top-color: #303030; }
html[data-theme="midnight-royal-gold"] .manual-link a { color: #d4af37; }
html[data-theme="midnight-royal-gold"] .redirect-container { background: rgba(16, 16, 16, .97); }
html[data-theme="midnight-royal-gold"] .redirect-note { color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .done-btn, html[data-theme="midnight-royal-gold"] .send-btn, html[data-theme="midnight-royal-gold"] .test-btn { background-color: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .send-btn.disabled { background-color: #3f3f46; }
html[data-theme="midnight-royal-gold"] .type-btn { border-color: #ff9f1c; background-color: #101010; }
html[data-theme="midnight-royal-gold"] .type-btn.active { background-color: #ff9f1c; border-color: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .select-all, html[data-theme="midnight-royal-gold"] .user-item.selected { background-color: #282213; }
html[data-theme="midnight-royal-gold"] .select-recipients { background-color: #1b1b1b; border-color: #ff9f1c; }
html[data-theme="midnight-royal-gold"] .notif-card { background-color: #1b1b1b; border-left-color: #d4af37; }
html[data-theme="midnight-royal-gold"] .filter-row, html[data-theme="midnight-royal-gold"] .user-item { border-bottom-color: #303030; }
html[data-theme="midnight-royal-gold"] .notif-footer, html[data-theme="midnight-royal-gold"] .notif-time, html[data-theme="midnight-royal-gold"] .recipient-count, html[data-theme="midnight-royal-gold"] .char-count { color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .notif-message { color: #f8f8f8; }
html[data-theme="midnight-royal-gold"] .act-bar { background-color: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .act-chip { border-color: #303030; color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .act-chip.active { background-color: #282213; border-color: #55451d; color: #d4af37; }
html[data-theme="midnight-royal-gold"] .act-event { border-top-color: #262626; }
html[data-theme="midnight-royal-gold"] .act-list-row, html[data-theme="midnight-royal-gold"] .history-row { color: #a1a1aa; border-top-color: #262626; }
html[data-theme="midnight-royal-gold"] .act-panel, html[data-theme="midnight-royal-gold"] .alert-card, html[data-theme="midnight-royal-gold"] .history-card { background-color: #101010; border-color: #303030; }
html[data-theme="midnight-royal-gold"] .ai-chip { background-color: #282213; border-color: #55451d; color: #d4af37; }
html[data-theme="midnight-royal-gold"] .alert-detail { color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .evidence-row { background-color: #1b1b1b; color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .act-event-action, html[data-theme="midnight-royal-gold"] .act-list-name, html[data-theme="midnight-royal-gold"] .act-list-value, html[data-theme="midnight-royal-gold"] .act-panel-title, html[data-theme="midnight-royal-gold"] .alert-title, html[data-theme="midnight-royal-gold"] .history-subject, html[data-theme="midnight-royal-gold"] .history-title { color: #f8f8f8; }
html[data-theme="midnight-royal-gold"] .act-bar-day, html[data-theme="midnight-royal-gold"] .act-event-meta, html[data-theme="midnight-royal-gold"] .act-refs, html[data-theme="midnight-royal-gold"] .evidence-label, html[data-theme="midnight-royal-gold"] .history-empty { color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .hub-header { background-color: #101010; }
html[data-theme="midnight-royal-gold"] .hub-desc { color: #a1a1aa; }
html[data-theme="midnight-royal-gold"] .hub-ads, html[data-theme="midnight-royal-gold"] .hub-ask, html[data-theme="midnight-royal-gold"] .hub-copilot, html[data-theme="midnight-royal-gold"] .hub-health, html[data-theme="midnight-royal-gold"] .hub-price, html[data-theme="midnight-royal-gold"] .hub-restock { background-color: #282213; border-color: #55451d; }
html[data-theme="midnight-royal-gold"] .hub-ads .hub-icon, html[data-theme="midnight-royal-gold"] .hub-ask .hub-icon, html[data-theme="midnight-royal-gold"] .hub-copilot .hub-icon, html[data-theme="midnight-royal-gold"] .hub-health .hub-icon, html[data-theme="midnight-royal-gold"] .hub-price .hub-icon, html[data-theme="midnight-royal-gold"] .hub-restock .hub-icon { background-color: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .hub-ads .hub-title, html[data-theme="midnight-royal-gold"] .hub-ads .hub-arrow, html[data-theme="midnight-royal-gold"] .hub-ask .hub-title, html[data-theme="midnight-royal-gold"] .hub-ask .hub-arrow, html[data-theme="midnight-royal-gold"] .hub-copilot .hub-title, html[data-theme="midnight-royal-gold"] .hub-copilot .hub-arrow, html[data-theme="midnight-royal-gold"] .hub-health .hub-title, html[data-theme="midnight-royal-gold"] .hub-health .hub-arrow, html[data-theme="midnight-royal-gold"] .hub-price .hub-title, html[data-theme="midnight-royal-gold"] .hub-price .hub-arrow, html[data-theme="midnight-royal-gold"] .hub-restock .hub-title, html[data-theme="midnight-royal-gold"] .hub-restock .hub-arrow { color: #b89a35; }
/* ---- Component sweep: every remaining class-based accent component (all 28 portal pages) ---- */
html[data-theme="midnight-royal-gold"] .ack {
    background: #282213;
}
html[data-theme="midnight-royal-gold"] .act-silent { background: rgba(245, 158, 11, .14); color: #f59e0b; }
html[data-theme="midnight-royal-gold"] .act-tag { background: rgba(239, 68, 68, .15); color: #ef4444; }
html[data-theme="midnight-royal-gold"] .action-btn { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .action-btn.liked .fa-heart { color: #ef4444; }
html[data-theme="midnight-royal-gold"] .action-btn.liked { color: #ef4444; }
html[data-theme="midnight-royal-gold"] .action-num { background: rgba(34, 197, 94, .14); color: #22c55e; }
html[data-theme="midnight-royal-gold"] .ad-media { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .add-btn { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .add-cart-btn { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .ai-banner.error { background: rgba(239, 68, 68, .15); color: #ef4444; }
html[data-theme="midnight-royal-gold"] .ai-biz-save { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .ai-btn-process { background: #ef4444; }
html[data-theme="midnight-royal-gold"] .ai-chip.active { background: #ff9f1c; border-color: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .ai-dots span { background: #ef4444; }
html[data-theme="midnight-royal-gold"] .ai-entry-btn:hover { border-color: #ff9f1c; background: #282213; }
html[data-theme="midnight-royal-gold"] .ai-entry-ic { background: #282213; color: #d4af37; }
html[data-theme="midnight-royal-gold"] .ai-import-btn:hover { border-color: #ff9f1c; background: #282213; }
html[data-theme="midnight-royal-gold"] .ai-metric { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .ai-retry { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .ai-status.new { background: rgba(34, 197, 94, .14); color: #22c55e; }
html[data-theme="midnight-royal-gold"] .ai-status.review { background: rgba(245, 158, 11, .14); color: #f59e0b; }
html[data-theme="midnight-royal-gold"] .ai-summary-chip.ok { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .ai-summary-chip.review { background: rgba(245, 158, 11, .14); color: #f59e0b; }
html[data-theme="midnight-royal-gold"] .ai-table input:focus, html[data-theme="midnight-royal-gold"] .ai-table select:focus { border-color: #ff9f1c; }
html[data-theme="midnight-royal-gold"] .ai-table input:focus { border-color: #ef4444; }
html[data-theme="midnight-royal-gold"] .ai-upload-zone:hover, html[data-theme="midnight-royal-gold"] .ai-upload-zone.drag { background: #282213; border-color: #ff9f1c; }
html[data-theme="midnight-royal-gold"] .answer-card { background: #282213; }
html[data-theme="midnight-royal-gold"] .approved-text { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .ask-input:focus { border-color: #ff9f1c; }
html[data-theme="midnight-royal-gold"] .ask-row input:focus { border-color: #ff9f1c; }
html[data-theme="midnight-royal-gold"] .badge { background: rgba(34, 197, 94, .14); color: #22c55e; }
html[data-theme="midnight-royal-gold"] .badge-success { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .badge-warning { color: #f59e0b; }
html[data-theme="midnight-royal-gold"] .bar i { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .btn-approve { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .btn-danger:hover { background: rgba(239, 68, 68, .15); color: #ef4444; }
html[data-theme="midnight-royal-gold"] .btn-edit { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .btn-logout { background: #ef4444; }
html[data-theme="midnight-royal-gold"] .btn-permanent { background: #ef4444; }
html[data-theme="midnight-royal-gold"] .btn-reject { background: #ef4444; }
html[data-theme="midnight-royal-gold"] .btn:hover { background: rgba(34, 197, 94, .14); color: #22c55e; }
html[data-theme="midnight-royal-gold"] .camera-badge { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .cart-badge { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .cart-qty-btn { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .cart-remove { background: #ef4444; }
html[data-theme="midnight-royal-gold"] .cart-summary { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .category-chip { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .category-chip.selected { background: #22c55e; border-color: #22c55e; }
html[data-theme="midnight-royal-gold"] .category-text { color: #d4af37; }
html[data-theme="midnight-royal-gold"] .char-count.over { color: #ef4444; }
html[data-theme="midnight-royal-gold"] .chart-bar i { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .chart-bar { background: #2e2e2e; }
html[data-theme="midnight-royal-gold"] .checkout-modal-btn { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .chip-human { background: #282213; }
html[data-theme="midnight-royal-gold"] .chip.selected { background: #22c55e; border-color: #22c55e; }
html[data-theme="midnight-royal-gold"] .close-sales-btn { background: #ef4444; }
html[data-theme="midnight-royal-gold"] .closed-badge { color: #ef4444; }
html[data-theme="midnight-royal-gold"] .confirm-cancel { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .confirm-close { background: #ef4444; }
html[data-theme="midnight-royal-gold"] .contact-email { color: #d4af37; }
html[data-theme="midnight-royal-gold"] .contact-phone { color: #d4af37; }
html[data-theme="midnight-royal-gold"] .conv-del { color: #ef4444; }
html[data-theme="midnight-royal-gold"] .conv-row:hover { background: #282213; }
html[data-theme="midnight-royal-gold"] .cost-text { color: #ef4444; }
html[data-theme="midnight-royal-gold"] .customer-avatar { background: #282213; }
html[data-theme="midnight-royal-gold"] .customer-total { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .date-badge { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .date-btn { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .date-btn.primary { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .date-display { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .date-field input { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .date-field input:focus { border-color: #ff9f1c; }
html[data-theme="midnight-royal-gold"] .date-filter-active { color: #22c55e; background: rgba(34, 197, 94, .14); }
html[data-theme="midnight-royal-gold"] .date-nav { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .delete-icon { color: #ef4444; }
html[data-theme="midnight-royal-gold"] .dismiss-btn { background: rgba(34, 197, 94, .14); color: #22c55e; }
html[data-theme="midnight-royal-gold"] .dm-entry-banner[data-kind="error"] { background: rgba(239, 68, 68, .15); color: #ef4444; }
html[data-theme="midnight-royal-gold"] .dm-entry-banner[data-kind="success"] { background: rgba(34, 197, 94, .14); color: #22c55e; }
html[data-theme="midnight-royal-gold"] .dm-entry-banner[data-kind="warn"] { background: rgba(245, 158, 11, .14); color: #f59e0b; }
html[data-theme="midnight-royal-gold"] .dm-entry-flags li { color: #f59e0b; background: rgba(245, 158, 11, .14); }
html[data-theme="midnight-royal-gold"] .dm-entry-missing { color: #ef4444; }
html[data-theme="midnight-royal-gold"] .dock-cart-badge { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .dock-cart-info { background: rgba(34, 197, 94, .14); color: #22c55e; }
html[data-theme="midnight-royal-gold"] .dock-checkout { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .dock-price { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .edit-btn { background: #282213; color: #d4af37; }
html[data-theme="midnight-royal-gold"] .edit-profile-btn { background: #282213; }
html[data-theme="midnight-royal-gold"] .empty-add { background: rgba(34, 197, 94, .14); color: #22c55e; }
html[data-theme="midnight-royal-gold"] .ev-product { background: #282213; color: #d4af37; }
html[data-theme="midnight-royal-gold"] .ev-sale { background: rgba(34, 197, 94, .14); color: #22c55e; }
html[data-theme="midnight-royal-gold"] .ev-warn { background: rgba(245, 158, 11, .14); color: #f59e0b; }
html[data-theme="midnight-royal-gold"] .existing-btn:hover { border-color: #22c55e; }
html[data-theme="midnight-royal-gold"] .expense-text { color: #f59e0b; }
html[data-theme="midnight-royal-gold"] .expenses-total { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .extra-stats { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .filter-info { background: #282213; }
html[data-theme="midnight-royal-gold"] .flag-row { background: rgba(245, 158, 11, .14); color: #f59e0b; }
html[data-theme="midnight-royal-gold"] .focused-tag { color: #d4af37; }
html[data-theme="midnight-royal-gold"] .form-select:focus, html[data-theme="midnight-royal-gold"] .form-input:focus { border-color: #22c55e; }
html[data-theme="midnight-royal-gold"] .go-sell-btn { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .gross-profit-text { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .guide-chip { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .helper-text { color: #f59e0b; }
html[data-theme="midnight-royal-gold"] .history-badge { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .hub-ads .hub-title, html[data-theme="midnight-royal-gold"] .hub-ads .hub-arrow { color: #b89a35; }
html[data-theme="midnight-royal-gold"] .hub-ask .hub-title, html[data-theme="midnight-royal-gold"] .hub-ask .hub-arrow { color: #b89a35; }
html[data-theme="midnight-royal-gold"] .hub-copilot .hub-title, html[data-theme="midnight-royal-gold"] .hub-copilot .hub-arrow { color: #b89a35; }
html[data-theme="midnight-royal-gold"] .hub-health .hub-title, html[data-theme="midnight-royal-gold"] .hub-health .hub-arrow { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .hub-restock .hub-title, html[data-theme="midnight-royal-gold"] .hub-restock .hub-arrow { color: #f59e0b; }
html[data-theme="midnight-royal-gold"] .info-card { background: #282213; }
html[data-theme="midnight-royal-gold"] .info-text { background: #282213; }
html[data-theme="midnight-royal-gold"] .input-field:focus { border-color: #ff9f1c; }
html[data-theme="midnight-royal-gold"] .instructions { background: #282213; }
html[data-theme="midnight-royal-gold"] .instructions-box { background: rgba(245, 158, 11, .14); }
html[data-theme="midnight-royal-gold"] .item-amount { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .logout-area span { color: #ef4444; }
html[data-theme="midnight-royal-gold"] .logout-btn-main { background: #ef4444; }
html[data-theme="midnight-royal-gold"] .logout-btn:hover { background-color: rgba(239, 68, 68, .15); }
html[data-theme="midnight-royal-gold"] .media-picker-text { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .mini-btn.del { background: rgba(239, 68, 68, .15); color: #ef4444; }
html[data-theme="midnight-royal-gold"] .mini-btn.load { background: #282213; }
html[data-theme="midnight-royal-gold"] .modal-avatar { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .msg.assistant { background: #282213; }
html[data-theme="midnight-royal-gold"] .msg.user { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .nav-item:hover, html[data-theme="midnight-royal-gold"] .nav-item.active { background-color: rgba(34, 197, 94, .14); color: #22c55e; }
html[data-theme="midnight-royal-gold"] .nav-tab.active { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .net-loss { color: #ef4444; }
html[data-theme="midnight-royal-gold"] .net-value { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .new-badge { background: #ef4444; }
html[data-theme="midnight-royal-gold"] .next-step { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .notice { background: rgba(245, 158, 11, .14); color: #f59e0b; }
html[data-theme="midnight-royal-gold"] .online-dot { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .order-btn { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .order-btn:hover { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .owner-badge { background: #282213; }
html[data-theme="midnight-royal-gold"] .payment-text { color: #d4af37; }
html[data-theme="midnight-royal-gold"] .photo-pick-btn:hover { border-color: #ef4444; background: rgba(239, 68, 68, .15); color: #ef4444; }
html[data-theme="midnight-royal-gold"] .preview-area:focus { border-color: #22c55e; }
html[data-theme="midnight-royal-gold"] .preview-card { background: #282213; }
html[data-theme="midnight-royal-gold"] .price { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .price-diff.negative { background: rgba(239, 68, 68, .15); }
html[data-theme="midnight-royal-gold"] .print-day-btn { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .product-item { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .product-item-price { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .product-item-stock { color: #d4af37; }
html[data-theme="midnight-royal-gold"] .product-item.owner { background: rgba(34, 197, 94, .14); }
html[data-theme="midnight-royal-gold"] .product-item.selected { background: rgba(34, 197, 94, .14); border-color: #22c55e; }
html[data-theme="midnight-royal-gold"] .product-item:hover { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .product-option.selected { border-color: #22c55e; background: rgba(34, 197, 94, .14); }
html[data-theme="midnight-royal-gold"] .product-price { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .product-tab.active { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .quick-chip { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .quick-chip:hover { background: rgba(34, 197, 94, .14); }
html[data-theme="midnight-royal-gold"] .receipt-btn { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .report-search .search-clear:hover { color: #ef4444; }
html[data-theme="midnight-royal-gold"] .report-search input:focus { border-color: #ff9f1c; }
html[data-theme="midnight-royal-gold"] .req-why { background: #282213; }
html[data-theme="midnight-royal-gold"] .required-star { color: #ef4444; }
html[data-theme="midnight-royal-gold"] .role { color: #d4af37; }
html[data-theme="midnight-royal-gold"] .role-badge { background: #282213; }
html[data-theme="midnight-royal-gold"] .sale-btn { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .sale-item.closed { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .sale-total { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .save-btn { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .selected-banner { background: rgba(34, 197, 94, .14); }
html[data-theme="midnight-royal-gold"] .selected-banner-close { color: #ef4444; }
html[data-theme="midnight-royal-gold"] .selected-banner-title { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .selected-banner.non-owner { background: rgba(245, 158, 11, .14); border-left-color: #d4af37; }
html[data-theme="midnight-royal-gold"] .seller-count { background: #ef4444; }
html[data-theme="midnight-royal-gold"] .severity.high { background: #ef4444; }
html[data-theme="midnight-royal-gold"] .severity.low { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .severity.medium { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .stat-badge { background: #1b1b1b; }
html[data-theme="midnight-royal-gold"] .stat-badge.likes { color: #d4af37; }
html[data-theme="midnight-royal-gold"] .stat-badge.reports { color: #ef4444; }
html[data-theme="midnight-royal-gold"] .status-approved { background: rgba(34, 197, 94, .14); color: #22c55e; }
html[data-theme="midnight-royal-gold"] .status-attention { background: rgba(239, 68, 68, .15); color: #ef4444; }
html[data-theme="midnight-royal-gold"] .status-badge { background: #282213; }
html[data-theme="midnight-royal-gold"] .status-pending { color: #f59e0b; }
html[data-theme="midnight-royal-gold"] .status-rejected { background: rgba(239, 68, 68, .15); color: #ef4444; }
html[data-theme="midnight-royal-gold"] .status-strong { background: rgba(34, 197, 94, .14); color: #22c55e; }
html[data-theme="midnight-royal-gold"] .status-watch { background: rgba(245, 158, 11, .14); color: #f59e0b; }
html[data-theme="midnight-royal-gold"] .stock-badge { background: #282213; color: #d4af37; }
html[data-theme="midnight-royal-gold"] .stock-badge.low { color: #f59e0b; }
html[data-theme="midnight-royal-gold"] .stock-badge.out { background: rgba(239, 68, 68, .15); color: #ef4444; }
html[data-theme="midnight-royal-gold"] .stock-pill { background: rgba(34, 197, 94, .14); color: #22c55e; }
html[data-theme="midnight-royal-gold"] .stock-pill.out { background: rgba(239, 68, 68, .15); color: #ef4444; }
html[data-theme="midnight-royal-gold"] .submit-btn.add { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .submit-btn.addstock { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .submit-btn.update { background: #ff9f1c; color: #050505; }
html[data-theme="midnight-royal-gold"] .system-admin-btn { color: #b89a35; }
html[data-theme="midnight-royal-gold"] .tag { background: #282213; }
html[data-theme="midnight-royal-gold"] .today-badge { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .total-value { color: #22c55e; }
html[data-theme="midnight-royal-gold"] .upload-btn { background: #22c55e; }
html[data-theme="midnight-royal-gold"] .upload-progress { color: #d4af37; }
html[data-theme="midnight-royal-gold"] .zimesomwa-btn { background: #22c55e; }

/* =====================================================================
 *  Emerald Bazaar — fourth approved theme (public + portals)
 * =====================================================================
 *
 *  `emerald-bazaar` is the fresh, daylight alternative: a mist-green
 *  canvas (#F1F7F4), white cards, deep-forest ink (#0F241D) and a single
 *  emerald accent (#0E7A5F, pressed #0A5F4A) carried by mint tints
 *  (#DCEFE5) and soft sage borders (#CFDFD7). Where Royal Champagne
 *  Cream is warm and Midnight Royal Gold is dark, Emerald Bazaar is
 *  cool and airy — a market-stall palette rather than a lounge one.
 *
 *  SCOPE — every token and rule in this layer is prefixed with
 *      html[data-theme="emerald-bazaar"]
 *  and nothing else, so White Professional, Royal Champagne Cream and
 *  Midnight Royal Gold stay byte-identical. The public pages follow the
 *  token block below through their existing var(--dm-* / --pg-*) rules;
 *  the authenticated portal shells (mteja / muuzaji / msimamizi /
 *  system_admin) are re-skinned by the override layer beneath it, which
 *  maps the same selector vocabulary the Royal layer established onto
 *  this palette one-to-one (same rules, emerald values), including the
 *  companion layer that recolors inline styles and JS-injected colors.
 *
 *  Semantic colors keep their meaning: success stays green, danger and
 *  logout stay red, warnings stay amber. Only brand/chrome hues move.
 * ---------------------------------------------------------------------
 */

/* ---- Design tokens: the same key surface as the White, Royal and
        Midnight blocks, so every var()-based public style follows at once ---- */
html[data-theme="emerald-bazaar"] {

    /* Site design system — mist surfaces, emerald accent, forest ink */
    --dm-navy: #0b1f19;
    --dm-ink: #102a22;
    --dm-muted: #4f6b60;
    --dm-line: #cfdfd7;
    --dm-bg: #f1f7f4;
    --dm-card: #ffffff;
    --dm-primary: #0e7a5f;
    --dm-primary-dark: #0a5f4a;
    --dm-accent: #0e7a5f;
    --dm-accent-ink: #ffffff;
    --dm-danger: #dc2626;
    --dm-success: #0f8a5a;

    /* Site chrome / interaction — cool neutrals, emerald focus */
    --dm-nav-bg: rgba(255, 255, 255, .94);
    --dm-hover: #e6f2ec;
    --dm-tint: #dcefe5;
    --dm-tint-line: #bfe0d2;
    --dm-tint-ink: #0a5f4a;
    --dm-ai-bg: #e2f3eb;
    --dm-ai-line: #cbe8dc;
    --dm-ai-line-2: #b2dccd;
    --dm-ai-ink: #0a5f4a;
    --dm-input-bg: #ffffff;
    --dm-focus: rgba(14, 122, 95, .5);
    --dm-focus-soft: rgba(14, 122, 95, .18);
    --dm-selection: rgba(14, 122, 95, .2);
    --dm-btn-glow: rgba(14, 122, 95, .26);

    /* Alerts keep their hue, cooled to sit on mist */
    --dm-alert-ok-bg: #e7f6ee;
    --dm-alert-ok-line: #c2e6d3;
    --dm-alert-err-bg: #fdeeee;
    --dm-alert-err-line: #f6cdc7;
    --dm-alert-info-bg: #e8f4f2;
    --dm-alert-info-line: #c9e6e0;

    /* Shared toast */
    --dm-toast-bg: #ffffff;
    --dm-toast-text: #102a22;

    /* Floating concierge */
    --pmc-panel: #ffffff;
    --pmc-line: #e3f0ea;
    --pmc-answer: #eaf6f0;
    --pmc-ink: #0b1f19;
    --pmc-muted: #4f6b60;
    --pmc-strong: #102a22;
    --pmc-cta: #0e7a5f;
    --pmc-cta-glow: rgba(14, 122, 95, .32);
    --pmc-chip-bg: #dcefe5;
    --pmc-chip-hover: #cfe9dc;
    --pmc-chip-line: #c6e7d9;
    --pmc-chip-ink: #0a5f4a;

    /* Standalone auth/account pages — emerald daylight zone */
    --pg-page: #f1f7f4;
    --pg-surface: #ffffff;
    --pg-field: #ffffff;
    --pg-soft: #e3f1ea;
    --pg-soft-2: #f1f7f4;
    --pg-soft-3: #e6f3ec;
    --pg-soft-cool: #f3f9f6;
    --pg-text: #0f241d;
    --pg-muted: #4f6b60;
    --pg-muted-2: #4f6b60;
    --pg-line: #cfdfd7;
    --pg-line-2: #cfdfd7;
    --pg-line-3: #cfdfd7;
    --pg-line-soft: #deece5;
    --pg-cta-blue: #0e7a5f;
    --pg-cta-red: #c0392b;
    --pg-cta-green: #128a63;
    --pg-cta-blue-deep: #0a5f4a;
    --pg-glow-soft: rgba(14, 122, 95, .16);
    --pg-glow-red: rgba(192, 57, 43, .14);
    --pg-glow-green: rgba(18, 138, 99, .14);
    --pg-cta-glow: rgba(14, 122, 95, .3);
    --pg-cta-wash: rgba(14, 122, 95, .07);
    --pg-cta-disabled: #9fcbb8;
    --pg-info-bg: #e3f3ec;
    --pg-desc: #4f6b60;
    --pg-line-4: #deece5;
    --pg-line-5: #deece5;
    --pg-line-6: #cfdfd7;
    --pg-line-7: #e6f1eb;
    --pg-pill: #e3f1ea;
    --pg-pill-hover: #d6eade;
    --pg-blue-tint: #dcefe5;
    --pg-page-soft: #f3f9f6;
    --pg-soft-fill: #e3f1ea;
    --pg-soft-4: #e6f3ec;
    --pg-field-soft: #ffffff;
    --pg-accent-bright: #0e7a5f;
    --pg-step-idle: #e2efe8;
    --pg-step-idle-line: #cfdfd7;
    --pg-brand-a: #0e7a5f;
    --pg-brand-b: #0a5f4a;
    --pg-brand-glow: rgba(14, 122, 95, .32);
}

html[data-theme="emerald-bazaar"] body {
    background-color: #f1f7f4;
    color: #0f241d;
}

/* ---- Page canvas ---- */
html[data-theme="emerald-bazaar"] .main-content,
html[data-theme="emerald-bazaar"] .page-bg {
    background-color: #f1f7f4;
}

/* ---- Sidebar shell (white + re-colored dark-navy variants) ---- */
html[data-theme="emerald-bazaar"] .sidebar {
    background-color: #ffffff;
    border-right-color: #cfdfd7;
}
html[data-theme="emerald-bazaar"] .sidebar-header { border-bottom-color: #cfdfd7; }
html[data-theme="emerald-bazaar"] .sidebar-footer { border-top-color: #cfdfd7; }

html[data-theme="emerald-bazaar"] .logo-icon {
    background: linear-gradient(135deg, #0e7a5f, #0a5f4a);
    color: #fff;
}
html[data-theme="emerald-bazaar"] .logo-text h2 { color: #0f241d; }
html[data-theme="emerald-bazaar"] .logo-text p { color: #4f6b60; }

html[data-theme="emerald-bazaar"] .nav-item { color: #4f6b60; }
html[data-theme="emerald-bazaar"] .nav-item:hover {
    background-color: #e6f2ec;
    color: #0a5f4a;
}
html[data-theme="emerald-bazaar"] .nav-item.active {
    background-color: #dcefe5;
    color: #0a5f4a;
}

/* ---- Sidebar user block ---- */
html[data-theme="emerald-bazaar"] .user-avatar {
    background-color: #dcefe5;
    color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .user-name { color: #0f241d; }
html[data-theme="emerald-bazaar"] .user-role { color: #0e7a5f; }
html[data-theme="emerald-bazaar"] .user-meta b { color: #0f241d; }
html[data-theme="emerald-bazaar"] .user-meta span { color: #4f6b60; }
html[data-theme="emerald-bazaar"] .user-email { color: #4f6b60; }
html[data-theme="emerald-bazaar"] .logout-btn {
    color: #dc2626;
    background-color: #f1f7f4;
    border-color: #cfdfd7;
}

/* ---- Mobile sidebar toggle ---- */
html[data-theme="emerald-bazaar"] .mobile-menu-toggle,
html[data-theme="emerald-bazaar"] .hamburger {
    background-color: #ffffff;
    border-color: #cfdfd7;
}
/* Presentation attributes lose to this rule, so inline stroke="#667eea"
   hamburger icons follow the theme too. */
html[data-theme="emerald-bazaar"] .mobile-menu-toggle svg { stroke: #0e7a5f; }

/* ---- Top bar / page headers ---- */
html[data-theme="emerald-bazaar"] .topbar {
    background-color: #ffffff;
    border-bottom-color: #cfdfd7;
}
html[data-theme="emerald-bazaar"] .dashboard-header,
html[data-theme="emerald-bazaar"] .tabs-container {
    background-color: #ffffff;
}
html[data-theme="emerald-bazaar"] .header-btn {
    background-color: #f1f7f4;
}

/* ---- Cards / panels ---- */
html[data-theme="emerald-bazaar"] .section-card,
html[data-theme="emerald-bazaar"] .card,
html[data-theme="emerald-bazaar"] .stat,
html[data-theme="emerald-bazaar"] .summary-box,
html[data-theme="emerald-bazaar"] .business-card,
html[data-theme="emerald-bazaar"] .empty-container {
    background-color: #ffffff;
}
html[data-theme="emerald-bazaar"] .card,
html[data-theme="emerald-bazaar"] .stat,
html[data-theme="emerald-bazaar"] .user-card,
html[data-theme="emerald-bazaar"] .log-card {
    border-color: #cfdfd7;
}
html[data-theme="emerald-bazaar"] .user-card,
html[data-theme="emerald-bazaar"] .log-card,
html[data-theme="emerald-bazaar"] .filter-chip {
    background-color: #f1f7f4;
}
/* Stat cards come in two original treatments (soft #f8f9fa on dashboard,
   white on notify); white with a soft sage outline reads as a card in both. */
html[data-theme="emerald-bazaar"] .stat-card {
    background-color: #ffffff;
    border: 1px solid #deece5;
    border-left: 4px solid #0e7a5f;
}
html[data-theme="emerald-bazaar"] .stat-icon {
    background-color: #dcefe5;
    color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .welcome-card {
    background: linear-gradient(135deg, #0e7a5f, #0a5f4a);
    color: #fff;
}

/* ---- Tabs / chips / links ---- */
html[data-theme="emerald-bazaar"] .tab-btn { color: #4f6b60; }
html[data-theme="emerald-bazaar"] .tab-btn.active,
html[data-theme="emerald-bazaar"] .filter-chip.active {
    background-color: #0e7a5f;
    color: #fff;
}
html[data-theme="emerald-bazaar"] .phone-link,
html[data-theme="emerald-bazaar"] .log-endpoint { color: #0e7a5f; }

/* ---- Inputs / search ---- */
html[data-theme="emerald-bazaar"] .search-box {
    background-color: #ffffff;
    border-color: #cfdfd7;
}
html[data-theme="emerald-bazaar"] .search-input {
    background-color: #ffffff;
    border-color: #cfdfd7;
}
html[data-theme="emerald-bazaar"] .search-input:focus {
    border-color: #0e7a5f;
    box-shadow: 0 0 0 3px rgba(14, 122, 95, .15);
}
html[data-theme="emerald-bazaar"] .toolbar select,
html[data-theme="emerald-bazaar"] .toolbar input,
html[data-theme="emerald-bazaar"] .field input,
html[data-theme="emerald-bazaar"] .field select,
html[data-theme="emerald-bazaar"] .field textarea,
html[data-theme="emerald-bazaar"] .input-field {
    border-color: #cfdfd7;
}

/* Emerald-only keyboard focus affordance (White keeps its own per-page focus
   styles untouched; inputs/selects keep their authored focus states). */
html[data-theme="emerald-bazaar"] a:focus-visible,
html[data-theme="emerald-bazaar"] button:focus-visible,
html[data-theme="emerald-bazaar"] [role="radio"]:focus-visible,
html[data-theme="emerald-bazaar"] .nav-item:focus-visible {
    outline: 3px solid rgba(14, 122, 95, .55);
    outline-offset: 2px;
}

/* ---- Buttons ---- */
html[data-theme="emerald-bazaar"] .btn-primary {
    background-color: #0e7a5f;
    color: #fff;
}
html[data-theme="emerald-bazaar"] .btn-ghost {
    background-color: #ffffff;
    border-color: #cfdfd7;
    color: #0f241d;
}
html[data-theme="emerald-bazaar"] .btn-details {
    background-color: #f1f7f4;
    color: #4f6b60;
}
html[data-theme="emerald-bazaar"] .btn-logs {
    background-color: #dcefe5;
    color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .back-btn {
    background-color: #f1f7f4;
    color: #0f241d;
}
html[data-theme="emerald-bazaar"] .refresh-btn {
    background-color: #dcefe5;
    color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .retry-btn { background-color: #0e7a5f; }
html[data-theme="emerald-bazaar"] .contact-btn,
html[data-theme="emerald-bazaar"] .twende-btn {
    background: linear-gradient(135deg, #0e7a5f, #0a5f4a);
    box-shadow: 0 2px 8px rgba(14, 122, 95, .3);
}

/* ---- Tables ---- */
html[data-theme="emerald-bazaar"] .orders-table th,
html[data-theme="emerald-bazaar"] .orders-table td {
    border-bottom-color: #deece5;
}
html[data-theme="emerald-bazaar"] .orders-table th { color: #4f6b60; }
html[data-theme="emerald-bazaar"] .orders-table tr:hover td {
    background-color: #f4faf7;
}
html[data-theme="emerald-bazaar"] table.data th {
    color: #0f241d;
    border-bottom-color: #cfdfd7;
}
html[data-theme="emerald-bazaar"] table.data th,
html[data-theme="emerald-bazaar"] table.data td {
    border-bottom-color: #deece5;
}
html[data-theme="emerald-bazaar"] table.data td { color: #4f6b60; }

/* ---- Modals ---- */
html[data-theme="emerald-bazaar"] .modal,
html[data-theme="emerald-bazaar"] .modal-head,
html[data-theme="emerald-bazaar"] .modal-foot,
html[data-theme="emerald-bazaar"] .modal-content {
    background-color: #ffffff;
}
html[data-theme="emerald-bazaar"] .modal-head,
html[data-theme="emerald-bazaar"] .modal-header,
html[data-theme="emerald-bazaar"] .modal-foot {
    border-color: #cfdfd7;
}

/* ---- Detail rows / timelines / dividers ---- */
html[data-theme="emerald-bazaar"] .detail-row { border-bottom-color: #deece5; }
html[data-theme="emerald-bazaar"] .user-actions { border-top-color: #cfdfd7; }
html[data-theme="emerald-bazaar"] .line { border-bottom-color: #deece5; }
html[data-theme="emerald-bazaar"] .timeline { border-left-color: #cfdfd7; }
html[data-theme="emerald-bazaar"] .timeline li::before {
    background-color: #0e7a5f;
}

/* ---- Empty / loading states ---- */
html[data-theme="emerald-bazaar"] .empty { color: #4f6b60; }
html[data-theme="emerald-bazaar"] .empty i { color: #adc9be; }
html[data-theme="emerald-bazaar"] .empty-icon,
html[data-theme="emerald-bazaar"] .generated { color: #adc9be; }
html[data-theme="emerald-bazaar"] .loading-spinner {
    border-color: #d3e4db;
    border-top-color: #0e7a5f;
}

/* ---- Business logo placeholder (mteja listings) ---- */
html[data-theme="emerald-bazaar"] .business-logo {
    background-color: #dcefe5;
}
html[data-theme="emerald-bazaar"] .business-logo-placeholder {
    border-color: #bfe0d2;
    color: #0e7a5f;
}

/* ---- Typography groups: ink + warm muted (shared across sections) ---- */
html[data-theme="emerald-bazaar"] .title,
html[data-theme="emerald-bazaar"] .page-title,
html[data-theme="emerald-bazaar"] .section-title,
html[data-theme="emerald-bazaar"] .card-title,
html[data-theme="emerald-bazaar"] .header-title,
html[data-theme="emerald-bazaar"] .topbar h1,
html[data-theme="emerald-bazaar"] .business-name,
html[data-theme="emerald-bazaar"] .stat-number,
html[data-theme="emerald-bazaar"] .product-name,
html[data-theme="emerald-bazaar"] .money-value,
html[data-theme="emerald-bazaar"] .empty-title,
html[data-theme="emerald-bazaar"] .state-box .state-title,
html[data-theme="emerald-bazaar"] .tri-sec > b,
html[data-theme="emerald-bazaar"] .meta-item b {
    color: #0f241d;
}
html[data-theme="emerald-bazaar"] .subtitle,
html[data-theme="emerald-bazaar"] .page-sub,
html[data-theme="emerald-bazaar"] .header-subtitle,
html[data-theme="emerald-bazaar"] .stat-label,
html[data-theme="emerald-bazaar"] .money-label,
html[data-theme="emerald-bazaar"] .empty-text,
html[data-theme="emerald-bazaar"] .loading-text,
html[data-theme="emerald-bazaar"] .state-box,
html[data-theme="emerald-bazaar"] .list-text,
html[data-theme="emerald-bazaar"] .meta-item,
html[data-theme="emerald-bazaar"] .mono,
html[data-theme="emerald-bazaar"] .detail-value {
    color: #4f6b60;
}

/* ---- Extension: page-specific components that share the accent /
   surface / neutral vocabulary (measured true gaps across the portal;
   semantic status colors stay excluded by design) ---- */

/* Accent controls converge to emerald */
html[data-theme="emerald-bazaar"] .btn-save,
html[data-theme="emerald-bazaar"] .ask-btn,
html[data-theme="emerald-bazaar"] .contact-sms-btn,
html[data-theme="emerald-bazaar"] .contact-call-btn,
html[data-theme="emerald-bazaar"] .ai-verify-btn,
html[data-theme="emerald-bazaar"] .ai-btn-camera,
html[data-theme="emerald-bazaar"] .bar-fill {
    background-color: #0e7a5f;
    color: #fff;
}
html[data-theme="emerald-bazaar"] .avatar {
    background: linear-gradient(135deg, #0e7a5f, #0a5f4a);
    color: #fff;
}
html[data-theme="emerald-bazaar"] .ai-reset { color: #0e7a5f; }
html[data-theme="emerald-bazaar"] input:checked + .slider {
    background-color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .selected-product-card,
html[data-theme="emerald-bazaar"] .ai-note { border-left-color: #0e7a5f; }
html[data-theme="emerald-bazaar"] .contact-cancel-btn,
html[data-theme="emerald-bazaar"] .cancel-btn {
    background-color: #f1f7f4;
}

/* AI panel surfaces: purple/blue drafts -> mint + emerald */
html[data-theme="emerald-bazaar"] .ai-upload-zone {
    border-color: #bfe0d2;
    background-color: #ffffff;
}
html[data-theme="emerald-bazaar"] .ai-upload-zone:hover,
html[data-theme="emerald-bazaar"] .ai-upload-zone.drag {
    border-color: #0e7a5f;
    background-color: #dcefe5;
}
html[data-theme="emerald-bazaar"] .ai-import-btn {
    border-color: #bfe0d2;
    background-color: #ffffff;
}

/* Info-blue families become the Emerald info mint; semantic greens,
   ambers and reds keep their hue */
html[data-theme="emerald-bazaar"] .ai-banner.info {
    background-color: #dcefe5;
    color: #0e7a5f;
    border-left-color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .ai-summary-chip.existing,
html[data-theme="emerald-bazaar"] .ai-status.existing {
    background-color: #dcefe5;
    color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .ai-card { background-color: #dcefe5; }
html[data-theme="emerald-bazaar"] .ai-card-title,
html[data-theme="emerald-bazaar"] .ai-card-text { color: #0e7a5f; }

/* Extra surfaces and lines */
html[data-theme="emerald-bazaar"] .modal-footer { border-top-color: #cfdfd7; }
html[data-theme="emerald-bazaar"] .form-input,
html[data-theme="emerald-bazaar"] .ask-input { border-color: #cfdfd7; }
html[data-theme="emerald-bazaar"] .divider { background-color: #deece5; }
html[data-theme="emerald-bazaar"] .chip {
    border-color: #cfdfd7;
    color: #0f241d;
}
html[data-theme="emerald-bazaar"] .chip:hover {
    background-color: #dcefe5;
    border-color: #bfe0d2;
}
html[data-theme="emerald-bazaar"] .bar-track { background-color: #d3e4db; }
html[data-theme="emerald-bazaar"] .stats-container { background-color: #f1f7f4; }
html[data-theme="emerald-bazaar"] .headline-card { background-color: #ffffff; }
html[data-theme="emerald-bazaar"] .ai-table { background-color: #ffffff; }
html[data-theme="emerald-bazaar"] .ai-table th {
    background-color: #f1f7f4;
    border-bottom-color: #cfdfd7;
}
html[data-theme="emerald-bazaar"] .ai-table td { border-bottom-color: #deece5; }
html[data-theme="emerald-bazaar"] .ai-table-scroll { border-color: #cfdfd7; }
html[data-theme="emerald-bazaar"] .ai-preview-item {
    background-color: #f1f7f4;
    border-color: #cfdfd7;
}
html[data-theme="emerald-bazaar"] .ai-modal-content { background-color: #ffffff; }
html[data-theme="emerald-bazaar"] .ai-modal-header { border-bottom-color: #cfdfd7; }

/* Extension ink group */
html[data-theme="emerald-bazaar"] .headline,
html[data-theme="emerald-bazaar"] .customer-name,
html[data-theme="emerald-bazaar"] .bar-value,
html[data-theme="emerald-bazaar"] .ai-table th,
html[data-theme="emerald-bazaar"] .ai-modal-title,
html[data-theme="emerald-bazaar"] .ai-note-title,
html[data-theme="emerald-bazaar"] .ai-uz-main,
html[data-theme="emerald-bazaar"] .tri-list,
html[data-theme="emerald-bazaar"] ul.dm-list {
    color: #0f241d;
}

/* Extension muted group */
html[data-theme="emerald-bazaar"] .ai-note-text,
html[data-theme="emerald-bazaar"] .ai-preview-name,
html[data-theme="emerald-bazaar"] .ai-conf-row,
html[data-theme="emerald-bazaar"] .ai-progress-text,
html[data-theme="emerald-bazaar"] .ai-modal-close,
html[data-theme="emerald-bazaar"] .ai-uz-sub,
html[data-theme="emerald-bazaar"] .business-location,
html[data-theme="emerald-bazaar"] .examples-title,
html[data-theme="emerald-bazaar"] .contact-modal-sub,
html[data-theme="emerald-bazaar"] .bar-label,
html[data-theme="emerald-bazaar"] .muted,
html[data-theme="emerald-bazaar"] .empty-state,
html[data-theme="emerald-bazaar"] .empty-sub,
html[data-theme="emerald-bazaar"] .footer-text,
html[data-theme="emerald-bazaar"] .limitations,
html[data-theme="emerald-bazaar"] .limitations b,
html[data-theme="emerald-bazaar"] .list-bullet {
    color: #4f6b60;
}

/* ---- Extension 2: portal-specific pages (system_admin redirect + notify,
   msimamizi activity/alerts/history, muuzaji entry hub) ---- */

/* system_admin/index redirect card */
html[data-theme="emerald-bazaar"] .logo {
    background: linear-gradient(135deg, #0e7a5f, #0a5f4a);
}
html[data-theme="emerald-bazaar"] .manual-link { border-top-color: #cfdfd7; }
html[data-theme="emerald-bazaar"] .manual-link a { color: #0e7a5f; }
html[data-theme="emerald-bazaar"] .message { color: #0f241d; }
html[data-theme="emerald-bazaar"] .redirect-container {
    background: rgba(255, 255, 255, .97);
}
html[data-theme="emerald-bazaar"] .redirect-note { color: #4f6b60; }

/* system_admin/notify */
html[data-theme="emerald-bazaar"] .done-btn,
html[data-theme="emerald-bazaar"] .send-btn,
html[data-theme="emerald-bazaar"] .test-btn {
    background-color: #0e7a5f;
    color: #fff;
}
html[data-theme="emerald-bazaar"] .send-btn.disabled {
    background-color: #7e968c;
}
html[data-theme="emerald-bazaar"] .type-btn {
    border-color: #0e7a5f;
    background-color: #ffffff;
}
html[data-theme="emerald-bazaar"] .type-btn.active {
    background-color: #0e7a5f;
    border-color: #0e7a5f;
    color: #fff;
}
html[data-theme="emerald-bazaar"] .select-all,
html[data-theme="emerald-bazaar"] .user-item.selected {
    background-color: #dcefe5;
}
html[data-theme="emerald-bazaar"] .select-recipients {
    background-color: #f1f7f4;
    border-color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .notif-card {
    background-color: #f1f7f4;
    border-left-color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .filter-row,
html[data-theme="emerald-bazaar"] .user-item {
    border-bottom-color: #cfdfd7;
}
html[data-theme="emerald-bazaar"] .notif-footer,
html[data-theme="emerald-bazaar"] .notif-time,
html[data-theme="emerald-bazaar"] .recipient-count,
html[data-theme="emerald-bazaar"] .char-count {
    color: #4f6b60;
}
html[data-theme="emerald-bazaar"] .notif-message { color: #0f241d; }

/* msimamizi activity digest / alerts / history */
html[data-theme="emerald-bazaar"] .act-bar { background-color: #0e7a5f; }
html[data-theme="emerald-bazaar"] .act-chip {
    border-color: #cfdfd7;
    color: #4f6b60;
}
html[data-theme="emerald-bazaar"] .act-chip.active {
    background-color: #dcefe5;
    border-color: #bfe0d2;
    color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .act-event { border-top-color: #deece5; }
html[data-theme="emerald-bazaar"] .act-list-row,
html[data-theme="emerald-bazaar"] .history-row {
    color: #4f6b60;
    border-top-color: #deece5;
}
html[data-theme="emerald-bazaar"] .act-panel,
html[data-theme="emerald-bazaar"] .alert-card,
html[data-theme="emerald-bazaar"] .history-card {
    background-color: #ffffff;
    border-color: #cfdfd7;
}
html[data-theme="emerald-bazaar"] .ai-chip {
    background-color: #dcefe5;
    border-color: #bfe0d2;
    color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .alert-detail { color: #4f6b60; }
html[data-theme="emerald-bazaar"] .evidence-row {
    background-color: #f1f7f4;
    color: #4f6b60;
}
html[data-theme="emerald-bazaar"] .act-event-action,
html[data-theme="emerald-bazaar"] .act-list-name,
html[data-theme="emerald-bazaar"] .act-list-value,
html[data-theme="emerald-bazaar"] .act-panel-title,
html[data-theme="emerald-bazaar"] .alert-title,
html[data-theme="emerald-bazaar"] .history-subject,
html[data-theme="emerald-bazaar"] .history-title {
    color: #0f241d;
}
html[data-theme="emerald-bazaar"] .act-bar-day,
html[data-theme="emerald-bazaar"] .act-event-meta,
html[data-theme="emerald-bazaar"] .act-refs,
html[data-theme="emerald-bazaar"] .evidence-label,
html[data-theme="emerald-bazaar"] .history-empty {
    color: #4f6b60;
}

/* muuzaji entry hub: service cards + entry flow (semantic error/warn/
   success banners and amber flags keep their hue) */
html[data-theme="emerald-bazaar"] .dm-entry-banner[data-kind="info"] {
    background-color: #dcefe5;
    color: #0e7a5f;
    border-inline-start-color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .dm-entry-btn {
    border-color: #cfdfd7;
    color: #0f241d;
}
html[data-theme="emerald-bazaar"] .dm-entry-btn-primary {
    background-color: #0e7a5f;
    border-color: #0e7a5f;
    color: #fff;
}
html[data-theme="emerald-bazaar"] .dm-entry-candidate { border-color: #cfdfd7; }
html[data-theme="emerald-bazaar"] .dm-entry-candidate.is-selected {
    border-color: #0e7a5f;
    background-color: #dcefe5;
}
html[data-theme="emerald-bazaar"] .dm-entry-chip {
    background-color: #f1f7f4;
    border-color: #deece5;
    color: #4f6b60;
}
html[data-theme="emerald-bazaar"] .dm-entry-chip:hover {
    background-color: #dcefe5;
    border-color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .dm-entry-chip-type { color: #0e7a5f; }
html[data-theme="emerald-bazaar"] .dm-entry-field input,
html[data-theme="emerald-bazaar"] .dm-entry-field select,
html[data-theme="emerald-bazaar"] .dm-entry-text {
    border-color: #cfdfd7;
}
html[data-theme="emerald-bazaar"] .dm-entry-field input:focus,
html[data-theme="emerald-bazaar"] .dm-entry-field select:focus,
html[data-theme="emerald-bazaar"] .dm-entry-text:focus {
    border-color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .dm-entry-match {
    background-color: #f1f7f4;
    border-color: #deece5;
}
html[data-theme="emerald-bazaar"] .dm-entry-match-line,
html[data-theme="emerald-bazaar"] .dm-entry-title { color: #0f241d; }
html[data-theme="emerald-bazaar"] .dm-entry-type {
    background-color: #dcefe5;
    color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .dm-entry-preview { border-top-color: #cfdfd7; }
html[data-theme="emerald-bazaar"] .dm-entry-field-label,
html[data-theme="emerald-bazaar"] .dm-entry-status,
html[data-theme="emerald-bazaar"] .dm-entry-subtitle,
html[data-theme="emerald-bazaar"] .dm-entry-meta { color: #4f6b60; }
html[data-theme="emerald-bazaar"] .hub-header { background-color: #ffffff; }
html[data-theme="emerald-bazaar"] .hub-desc { color: #4f6b60; }
html[data-theme="emerald-bazaar"] .hub-ads,
html[data-theme="emerald-bazaar"] .hub-ask,
html[data-theme="emerald-bazaar"] .hub-copilot,
html[data-theme="emerald-bazaar"] .hub-health,
html[data-theme="emerald-bazaar"] .hub-price,
html[data-theme="emerald-bazaar"] .hub-restock {
    background-color: #dcefe5;
    border-color: #bfe0d2;
}
html[data-theme="emerald-bazaar"] .hub-ads .hub-icon,
html[data-theme="emerald-bazaar"] .hub-ask .hub-icon,
html[data-theme="emerald-bazaar"] .hub-copilot .hub-icon,
html[data-theme="emerald-bazaar"] .hub-health .hub-icon,
html[data-theme="emerald-bazaar"] .hub-price .hub-icon,
html[data-theme="emerald-bazaar"] .hub-restock .hub-icon {
    background-color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .hub-ads .hub-title,
html[data-theme="emerald-bazaar"] .hub-ads .hub-arrow,
html[data-theme="emerald-bazaar"] .hub-ask .hub-title,
html[data-theme="emerald-bazaar"] .hub-ask .hub-arrow,
html[data-theme="emerald-bazaar"] .hub-copilot .hub-title,
html[data-theme="emerald-bazaar"] .hub-copilot .hub-arrow,
html[data-theme="emerald-bazaar"] .hub-health .hub-title,
html[data-theme="emerald-bazaar"] .hub-health .hub-arrow,
html[data-theme="emerald-bazaar"] .hub-price .hub-title,
html[data-theme="emerald-bazaar"] .hub-price .hub-arrow,
html[data-theme="emerald-bazaar"] .hub-restock .hub-title,
html[data-theme="emerald-bazaar"] .hub-restock .hub-arrow {
    color: #0a5f4a;
}

/*
 * =====================================================================
 *  Emerald Companion Recolor — inline styles, JS-generated colors,
 *  semantic badges, and the SmartCart loader
 * =====================================================================
 *
 *  The portal pages also carry colors that no class selector can reach:
 *  literal style="…" attributes (~260 sites), colors injected by page JS
 *  (role/status badges, severity chips, decision tabs), and the kept
 *  semantic chips. This layer re-skins ALL of them under Emerald without
 *  touching a single page, using three tricks:
 *
 *    1. Attribute-substring rules with EXACT terminators:
 *         [style*="color:#5d746b;"]   middle of a declaration list
 *         [style$="color:#5d746b"]    last declaration (no semicolon)
 *       The " ;"-terminated / end-anchored forms never match the 8-digit
 *       alpha tints (#e74c3c18) or longer properties (background-color:),
 *       so there are no substring collisions.
 *    2. !important — the only way CSS can beat an inline style. Every rule
 *       is Emerald-scoped, so White Professional remains byte-identical.
 *    3. CSS re-matches live when JS writes el.style.*, so dynamically
 *       injected badges recolor the moment they hit the DOM.
 *
 *  The companion palette keeps status DIFFERENTIATION while moving every
 *  interface hue onto the emerald axis: the mteja purple and system_admin
 *  blue become deep emerald, the muuzaji green a clearer leaf green, and the
 *  msimamizi rust stays red so destructive states never read as brand. White
 *  text on deep fills is kept on purpose (contrast); neutral dim overlays
 *  (rgba) are shared between themes by design.
 * ---------------------------------------------------------------------
 */

/* ---- SmartCart loader: one variable override repaints the whole
        gradient-driven cart animation (its rules are var()-based) ---- */
html[data-theme="emerald-bazaar"] .dm-sc.dm-sc {
    --dm-sc-color: #0e7a5f;
    --dm-sc-bright: #5cc7a5;
    --dm-sc-accent: #12876b;
    --dm-sc-accent-hi: #7fd6ba;
    --dm-sc-accent-lo: #0b6b53;
}

/* ---- Semantic chips retuned to the emerald axis (kept
        differentiated: leaf green = ok, emerald = info, amber = warn,
        red = danger, sage gray = muted) ---- */
html[data-theme="emerald-bazaar"] .b-ok,
html[data-theme="emerald-bazaar"] .alert-ok,
html[data-theme="emerald-bazaar"] .banner.ok,
html[data-theme="emerald-bazaar"] .btn-enable,
html[data-theme="emerald-bazaar"] .ai-verified-tag {
    background-color: #e3f1ea;
    color: #1f7040;
}
html[data-theme="emerald-bazaar"] .b-info,
html[data-theme="emerald-bazaar"] .alert-info {
    background-color: #dcefe5;
    color: #0e7a5f;
}
html[data-theme="emerald-bazaar"] .b-warn,
html[data-theme="emerald-bazaar"] .alert-warn,
html[data-theme="emerald-bazaar"] .banner.warn,
html[data-theme="emerald-bazaar"] .ai-warn {
    background-color: #e6f4ed;
    color: #0b6b53;
}
html[data-theme="emerald-bazaar"] .b-danger,
html[data-theme="emerald-bazaar"] .alert-err {
    background-color: #fbece9;
    color: #93352b;
}
html[data-theme="emerald-bazaar"] .b-muted {
    background-color: #f1f7f4;
    color: #4f6b60;
}
html[data-theme="emerald-bazaar"] .btn-disable {
    background-color: #f1f7f4;
    color: #4f6b60;
}

/* ---- Inline text colors (guarded: an element that also paints a
        background/border is handled by the joint rules below) ---- */
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#2c3e50;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#2c3e50"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color: #2c3e50;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color: #2c3e50"] { color: #0f241d !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#5d6d7e;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#5d6d7e"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color: #5d6d7e;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color: #5d6d7e"] { color: #4f6b60 !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#7f8c8d;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#7f8c8d"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color: #7f8c8d;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color: #7f8c8d"] { color: #4f6b60 !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#64748b;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#64748b"] { color: #4f6b60 !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#95a5a6;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#95a5a6"] { color: #4f6b60 !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#94a3b8;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#94a3b8"] { color: #4f6b60 !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#7a8ba0;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#7a8ba0"] { color: #4f6b60 !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#bdc3c7;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#bdc3c7"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#b8c4cf;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#b8c4cf"] { color: #adc9be !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#555;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#555"] { color: #0f241d !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#666;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#666"] { color: #4f6b60 !important; }
/* Accent text/controls on plain surfaces converge to emerald */
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#667eea;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#667eea"] { color: #0e7a5f !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#3498db;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#3498db"] { color: #0e7a5f !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#7c5cbf;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#7c5cbf"] { color: #0e7a5f !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#9b59b6;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#9b59b6"] { color: #0a5f4a !important; }
/* Status text on plain surfaces: same emerald companions as the chips */
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#27ae60;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#27ae60"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#2ecc71;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#2ecc71"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#28a745;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#28a745"] { color: #1f8a4c !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#e74c3c;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#e74c3c"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#dc3545;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#dc3545"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#b3261e;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#b3261e"] { color: #a5372b !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#f39c12;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#f39c12"] { color: #12876b !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#b9770e;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#b9770e"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#b45309;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#b45309"] { color: #0b6b53 !important; }
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#e67e22;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#e67e22"] { color: #b06a1c !important; }

/* ---- Inline backgrounds (solid hexes and the word "white") ---- */
html[data-theme="emerald-bazaar"] [style*="background:#f8f9fa;"],
html[data-theme="emerald-bazaar"] [style$="background:#f8f9fa"],
html[data-theme="emerald-bazaar"] [style*="background:#f4f6f7;"],
html[data-theme="emerald-bazaar"] [style$="background:#f4f6f7"] { background-color: #f1f7f4 !important; }
html[data-theme="emerald-bazaar"] [style*="background:white;"],
html[data-theme="emerald-bazaar"] [style$="background:white"],
html[data-theme="emerald-bazaar"] [style*="background:#fff;"],
html[data-theme="emerald-bazaar"] [style$="background:#fff"],
html[data-theme="emerald-bazaar"] [style*="background:#ffffff;"],
html[data-theme="emerald-bazaar"] [style$="background:#ffffff"] { background-color: #ffffff !important; }
html[data-theme="emerald-bazaar"] [style*="background:#667eea;"],
html[data-theme="emerald-bazaar"] [style$="background:#667eea"] { background-color: #0e7a5f !important; }
html[data-theme="emerald-bazaar"] [style*="background:#e8f4fd;"],
html[data-theme="emerald-bazaar"] [style$="background:#e8f4fd"],
html[data-theme="emerald-bazaar"] [style*="background:#eef4fa;"],
html[data-theme="emerald-bazaar"] [style$="background:#eef4fa"],
html[data-theme="emerald-bazaar"] [style*="background:#f3eeff;"],
html[data-theme="emerald-bazaar"] [style$="background:#f3eeff"] { background-color: #dcefe5 !important; }
html[data-theme="emerald-bazaar"] [style*="background:#27ae60;"],
html[data-theme="emerald-bazaar"] [style$="background:#27ae60"],
html[data-theme="emerald-bazaar"] [style*="background:#2ecc71;"],
html[data-theme="emerald-bazaar"] [style$="background:#2ecc71"],
html[data-theme="emerald-bazaar"] [style*="background:#e8f6f3;"],
html[data-theme="emerald-bazaar"] [style$="background:#e8f6f3"],
html[data-theme="emerald-bazaar"] [style*="background:#f0f8f0;"],
html[data-theme="emerald-bazaar"] [style$="background:#f0f8f0"] { background-color: #2b9159 !important; }
html[data-theme="emerald-bazaar"] [style*="background:#e74c3c;"],
html[data-theme="emerald-bazaar"] [style$="background:#e74c3c"] { background-color: #a5372b !important; }
html[data-theme="emerald-bazaar"] [style*="background:#95a5a6;"],
html[data-theme="emerald-bazaar"] [style$="background:#95a5a6"] { background-color: #4f6b60 !important; }
html[data-theme="emerald-bazaar"] [style*="background:#e67e22;"],
html[data-theme="emerald-bazaar"] [style$="background:#e67e22"] { background-color: #b06a1c !important; }
html[data-theme="emerald-bazaar"] [style*="background:#ff6b35;"],
html[data-theme="emerald-bazaar"] [style$="background:#ff6b35"] { background-color: #0e7a5f !important; }
html[data-theme="emerald-bazaar"] [style*="background:#fff8e1;"],
html[data-theme="emerald-bazaar"] [style$="background:#fff8e1"],
html[data-theme="emerald-bazaar"] [style*="background:#fef5e7;"],
html[data-theme="emerald-bazaar"] [style$="background:#fef5e7"],
html[data-theme="emerald-bazaar"] [style*="background:#fdf3e7;"],
html[data-theme="emerald-bazaar"] [style$="background:#fdf3e7"],
html[data-theme="emerald-bazaar"] [style*="background:#fff9e6;"],
html[data-theme="emerald-bazaar"] [style$="background:#fff9e6"] { background-color: #e6f4ed !important; }
html[data-theme="emerald-bazaar"] [style*="background:#fdecea;"],
html[data-theme="emerald-bazaar"] [style$="background:#fdecea"],
html[data-theme="emerald-bazaar"] [style*="background:#fce4ec;"],
html[data-theme="emerald-bazaar"] [style$="background:#fce4ec"] { background-color: #fbece9 !important; }

/* ---- Inline borders ("solid #hex" matches inside any border shorthand;
        border-color only recolors sides that actually have width) ---- */
html[data-theme="emerald-bazaar"] [style*="solid #ecf0f1;"],
html[data-theme="emerald-bazaar"] [style$="solid #ecf0f1"],
html[data-theme="emerald-bazaar"] [style*="solid #ddd;"],
html[data-theme="emerald-bazaar"] [style$="solid #ddd"],
html[data-theme="emerald-bazaar"] [style*="solid #dfe6e9;"],
html[data-theme="emerald-bazaar"] [style$="solid #dfe6e9"],
html[data-theme="emerald-bazaar"] [style*="solid #dfe4ea;"],
html[data-theme="emerald-bazaar"] [style$="solid #dfe4ea"] { border-color: #cfdfd7 !important; }
html[data-theme="emerald-bazaar"] [style*="solid #f1f3f4;"],
html[data-theme="emerald-bazaar"] [style$="solid #f1f3f4"],
html[data-theme="emerald-bazaar"] [style*="solid #eef2f7;"],
html[data-theme="emerald-bazaar"] [style$="solid #eef2f7"] { border-color: #deece5 !important; }

/* ---- Alpha-tinted JS badges: exact 8-digit forms, tint and text ---- */
html[data-theme="emerald-bazaar"] [style*="background:#27ae6018"],
html[data-theme="emerald-bazaar"] [style$="background:#27ae6018"],
html[data-theme="emerald-bazaar"] [style*="background:#27ae6020"],
html[data-theme="emerald-bazaar"] [style$="background:#27ae6020"],
html[data-theme="emerald-bazaar"] [style*="background:#2ecc7120"],
html[data-theme="emerald-bazaar"] [style$="background:#2ecc7120"] { background-color: #1f8a4c20 !important; }
html[data-theme="emerald-bazaar"] [style*="background:#e74c3c12"],
html[data-theme="emerald-bazaar"] [style$="background:#e74c3c12"],
html[data-theme="emerald-bazaar"] [style*="background:#e74c3c18"],
html[data-theme="emerald-bazaar"] [style$="background:#e74c3c18"],
html[data-theme="emerald-bazaar"] [style*="background:#e74c3c20"],
html[data-theme="emerald-bazaar"] [style$="background:#e74c3c20"] { background-color: #a5372b20 !important; }
html[data-theme="emerald-bazaar"] [style*="background:#f39c1215"],
html[data-theme="emerald-bazaar"] [style$="background:#f39c1215"] { background-color: #12876b15 !important; }
html[data-theme="emerald-bazaar"] [style*="background:#e67e2220"],
html[data-theme="emerald-bazaar"] [style$="background:#e67e2220"] { background-color: #b06a1c20 !important; }
html[data-theme="emerald-bazaar"] [style*="background:#3498db20"],
html[data-theme="emerald-bazaar"] [style$="background:#3498db20"] { background-color: #0e7a5f20 !important; }
html[data-theme="emerald-bazaar"] [style*="background:#95a5a620"],
html[data-theme="emerald-bazaar"] [style$="background:#95a5a620"],
html[data-theme="emerald-bazaar"] [style*="background:#95a5a622"],
html[data-theme="emerald-bazaar"] [style$="background:#95a5a622"] { background-color: #4f6b6022 !important; }
/* paired text inside the alpha-tint badges */
html[data-theme="emerald-bazaar"] [style*="color:#27ae60;"] { color: #1f8a4c !important; }
html[data-theme="emerald-bazaar"] [style*="color:#e74c3c;"] { color: #a5372b !important; }
html[data-theme="emerald-bazaar"] [style*="color:#f39c12;"] { color: #12876b !important; }
html[data-theme="emerald-bazaar"] [style*="color:#b9770e;"] { color: #0b6b53 !important; }
html[data-theme="emerald-bazaar"] [style*="color:#7f8c8d;"] { color: #4f6b60 !important; }
html[data-theme="emerald-bazaar"] [style*="color:#5d6d7e;"] { color: #4f6b60 !important; }
html[data-theme="emerald-bazaar"] [style*="color:#3498db;"] { color: #0e7a5f !important; }

/* ---- Observed background+color pairs (both properties recolored even
        though the guard excludes them from the single-property rules) ---- */
html[data-theme="emerald-bazaar"] [style*="background:#e8f4fd"][style*="color:#3498db"] { background-color: #dcefe5 !important; color: #0e7a5f !important; }
html[data-theme="emerald-bazaar"] [style*="background:#f4f6f7"][style*="color:#5d6d7e"] { background-color: #f1f7f4 !important; color: #4f6b60 !important; }
html[data-theme="emerald-bazaar"] [style*="background:#f8f9fa"][style*="color:#7f8c8d"] { background-color: #f1f7f4 !important; color: #4f6b60 !important; }
html[data-theme="emerald-bazaar"] [style*="background:#95a5a6"][style*="color:#7f8c8d"] { background-color: #4f6b60 !important; color: #f1f7f4 !important; }

/* ---- Late additions: stragglers found by the rendered-page coverage
        audit (teal status green, extra alpha/tint variants) ---- */
html[data-theme="emerald-bazaar"] :not([style*="background"])[style*="color:#2c7e5f;"],
html[data-theme="emerald-bazaar"] :not([style*="background"])[style$="color:#2c7e5f"] { color: #1f7a4d !important; }
html[data-theme="emerald-bazaar"] [style*="background:#f39c1218"],
html[data-theme="emerald-bazaar"] [style$="background:#f39c1218"] { background-color: #12876b18 !important; }
html[data-theme="emerald-bazaar"] [style*="background:#fef9e7;"],
html[data-theme="emerald-bazaar"] [style$="background:#fef9e7"] { background-color: #e6f4ed !important; }
html[data-theme="emerald-bazaar"] [style*="background:#fdedec;"],
html[data-theme="emerald-bazaar"] [style$="background:#fdedec"] { background-color: #fbece9 !important; }
/* Unguarded partners for background+color pairs (safe: portal inline styles
   always spell backgrounds "background:", never "background-color:") */
html[data-theme="emerald-bazaar"] [style*="color:#2c3e50;"],
html[data-theme="emerald-bazaar"] [style$="color:#2c3e50"] { color: #0f241d !important; }
html[data-theme="emerald-bazaar"] [style*="color:#2c7e5f;"],
html[data-theme="emerald-bazaar"] [style$="color:#2c7e5f"] { color: #1f7a4d !important; }
html[data-theme="emerald-bazaar"] [style*="background:#3498db;"],
html[data-theme="emerald-bazaar"] [style$="background:#3498db"] { background-color: #0e7a5f !important; }

/* ---- Component sweep: every remaining class-based accent component
        across all 28 portal pages, translated through the companion
        policy (accents->emerald, greens->leaf green, reds->red,
        ambers->amber, tints->mint) ---- */
html[data-theme="emerald-bazaar"] .ack { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .act-silent { background: #e6f4ed; color: #0b6b53 }
html[data-theme="emerald-bazaar"] .act-tag { background: #fbece9; color: #a5372b }
html[data-theme="emerald-bazaar"] .action-btn { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .action-btn.liked .fa-heart { color: #a5372b }
html[data-theme="emerald-bazaar"] .action-btn.liked { color: #a5372b }
html[data-theme="emerald-bazaar"] .action-num { background: #e3f1ea; color: #1f7040 }
html[data-theme="emerald-bazaar"] .ad-media { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .add-btn { background: #1f8a4c }
html[data-theme="emerald-bazaar"] .add-cart-btn { background: #2b9159 }
html[data-theme="emerald-bazaar"] .ai-banner.error { background: #fbece9; color: #a5372b }
html[data-theme="emerald-bazaar"] .ai-biz-save { background: #0e7a5f }
html[data-theme="emerald-bazaar"] .ai-btn-process { background: #a5372b }
html[data-theme="emerald-bazaar"] .ai-chip.active { background: #0e7a5f; border-color: #0e7a5f }
html[data-theme="emerald-bazaar"] .ai-dots span { background: #a5372b }
html[data-theme="emerald-bazaar"] .ai-entry-btn:hover { border-color: #0e7a5f; background: #dcefe5 }
html[data-theme="emerald-bazaar"] .ai-entry-ic { background: #dcefe5; color: #0e7a5f }
html[data-theme="emerald-bazaar"] .ai-import-btn:hover { border-color: #0e7a5f; background: #dcefe5 }
html[data-theme="emerald-bazaar"] .ai-metric { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .ai-retry { background: #0e7a5f }
html[data-theme="emerald-bazaar"] .ai-status.new { background: #e3f1ea; color: #1f7040 }
html[data-theme="emerald-bazaar"] .ai-status.review { background: #e6f4ed; color: #0b6b53 }
html[data-theme="emerald-bazaar"] .ai-summary-chip.ok { background: #1f8a4c }
html[data-theme="emerald-bazaar"] .ai-summary-chip.review { background: #e6f4ed; color: #0b6b53 }
html[data-theme="emerald-bazaar"] .ai-table input:focus, html[data-theme="emerald-bazaar"] .ai-table select:focus { border-color: #0e7a5f }
html[data-theme="emerald-bazaar"] .ai-table input:focus { border-color: #a5372b }
html[data-theme="emerald-bazaar"] .ai-upload-zone:hover, html[data-theme="emerald-bazaar"] .ai-upload-zone.drag { background: #dcefe5; border-color: #0e7a5f }
html[data-theme="emerald-bazaar"] .answer-card { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .approved-text { color: #1f7040 }
html[data-theme="emerald-bazaar"] .ask-input:focus { border-color: #0e7a5f }
html[data-theme="emerald-bazaar"] .ask-row input:focus { border-color: #0e7a5f }
html[data-theme="emerald-bazaar"] .badge { background: #e3f1ea; color: #1f7040 }
html[data-theme="emerald-bazaar"] .badge-success { color: #1f7040 }
html[data-theme="emerald-bazaar"] .badge-warning { color: #0b6b53 }
html[data-theme="emerald-bazaar"] .bar i { background: #0e7a5f }
html[data-theme="emerald-bazaar"] .btn-approve { background: #1f8a4c }
html[data-theme="emerald-bazaar"] .btn-danger:hover { background: #fbece9; color: #a5372b }
html[data-theme="emerald-bazaar"] .btn-edit { background: #0e7a5f }
html[data-theme="emerald-bazaar"] .btn-logout { background: #a5372b }
html[data-theme="emerald-bazaar"] .btn-permanent { background: #a5372b }
html[data-theme="emerald-bazaar"] .btn-reject { background: #a5372b }
html[data-theme="emerald-bazaar"] .btn:hover { background: #e3f1ea; color: #1f8a4c }
html[data-theme="emerald-bazaar"] .camera-badge { background: #0e7a5f }
html[data-theme="emerald-bazaar"] .cart-badge { background: #2b9159 }
html[data-theme="emerald-bazaar"] .cart-qty-btn { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .cart-remove { background: #a5372b }
html[data-theme="emerald-bazaar"] .cart-summary { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .category-chip { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .category-chip.selected { background: #2b9159; border-color: #2b9159 }
html[data-theme="emerald-bazaar"] .category-text { color: #0e7a5f }
html[data-theme="emerald-bazaar"] .char-count.over { color: #a5372b }
html[data-theme="emerald-bazaar"] .chart-bar i { background: #0e7a5f }
html[data-theme="emerald-bazaar"] .chart-bar { background: #deece5 }
html[data-theme="emerald-bazaar"] .checkout-modal-btn { background: #2b9159 }
html[data-theme="emerald-bazaar"] .chip-human { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .chip.selected { background: #2b9159; border-color: #2b9159 }
html[data-theme="emerald-bazaar"] .close-sales-btn { background: #a5372b }
html[data-theme="emerald-bazaar"] .closed-badge { color: #a5372b }
html[data-theme="emerald-bazaar"] .confirm-cancel { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .confirm-close { background: #a5372b }
html[data-theme="emerald-bazaar"] .contact-email { color: #0e7a5f }
html[data-theme="emerald-bazaar"] .contact-phone { color: #0e7a5f }
html[data-theme="emerald-bazaar"] .conv-del { color: #a5372b }
html[data-theme="emerald-bazaar"] .conv-row:hover { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .cost-text { color: #a5372b }
html[data-theme="emerald-bazaar"] .customer-avatar { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .customer-total { color: #1f7040 }
html[data-theme="emerald-bazaar"] .date-badge { background: #0e7a5f }
html[data-theme="emerald-bazaar"] .date-btn { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .date-btn.primary { background: #0e7a5f }
html[data-theme="emerald-bazaar"] .date-display { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .date-field input { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .date-field input:focus { border-color: #0e7a5f }
html[data-theme="emerald-bazaar"] .date-filter-active { color: #1f7040; background: #e3f1ea }
html[data-theme="emerald-bazaar"] .date-nav { color: #1f8a4c }
html[data-theme="emerald-bazaar"] .delete-icon { color: #a5372b }
html[data-theme="emerald-bazaar"] .dismiss-btn { background: #e3f1ea; color: #1f7040 }
html[data-theme="emerald-bazaar"] .dm-entry-banner[data-kind="error"] { background: #fbece9; color: #a5372b }
html[data-theme="emerald-bazaar"] .dm-entry-banner[data-kind="success"] { background: #e3f1ea; color: #1f7040 }
html[data-theme="emerald-bazaar"] .dm-entry-banner[data-kind="warn"] { background: #e6f4ed; color: #0b6b53 }
html[data-theme="emerald-bazaar"] .dm-entry-field input:focus, html[data-theme="emerald-bazaar"] .dm-entry-field select:focus { border-color: #1f8a4c }
html[data-theme="emerald-bazaar"] .dm-entry-flags li { color: #0b6b53; background: #e6f4ed }
html[data-theme="emerald-bazaar"] .dm-entry-missing { color: #a5372b }
html[data-theme="emerald-bazaar"] .dock-cart-badge { background: #2b9159 }
html[data-theme="emerald-bazaar"] .dock-cart-info { background: #e3f1ea; color: #1f7040 }
html[data-theme="emerald-bazaar"] .dock-checkout { background: #2b9159 }
html[data-theme="emerald-bazaar"] .dock-price { color: #1f7040 }
html[data-theme="emerald-bazaar"] .edit-btn { background: #dcefe5; color: #0e7a5f }
html[data-theme="emerald-bazaar"] .edit-profile-btn { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .empty-add { background: #e3f1ea; color: #1f8a4c }
html[data-theme="emerald-bazaar"] .ev-product { background: #dcefe5; color: #0e7a5f }
html[data-theme="emerald-bazaar"] .ev-sale { background: #e3f1ea; color: #1f7040 }
html[data-theme="emerald-bazaar"] .ev-warn { background: #e6f4ed; color: #0b6b53 }
html[data-theme="emerald-bazaar"] .existing-btn:hover { border-color: #2b9159 }
html[data-theme="emerald-bazaar"] .expense-text { color: #0b6b53 }
html[data-theme="emerald-bazaar"] .expenses-total { color: #1f7040 }
html[data-theme="emerald-bazaar"] .extra-stats { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .filter-info { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .flag-row { background: #e6f4ed; color: #0b6b53 }
html[data-theme="emerald-bazaar"] .focused-tag { color: #0e7a5f }
html[data-theme="emerald-bazaar"] .form-select:focus, html[data-theme="emerald-bazaar"] .form-input:focus { border-color: #2b9159 }
html[data-theme="emerald-bazaar"] .go-sell-btn { background: #2b9159 }
html[data-theme="emerald-bazaar"] .gross-profit-text { color: #1f7040 }
html[data-theme="emerald-bazaar"] .guide-chip { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .helper-text { color: #0b6b53 }
html[data-theme="emerald-bazaar"] .history-badge { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .hub-ads .hub-title, html[data-theme="emerald-bazaar"] .hub-ads .hub-arrow { color: #0a5f4a }
html[data-theme="emerald-bazaar"] .hub-ask .hub-title, html[data-theme="emerald-bazaar"] .hub-ask .hub-arrow { color: #0a5f4a }
html[data-theme="emerald-bazaar"] .hub-copilot .hub-title, html[data-theme="emerald-bazaar"] .hub-copilot .hub-arrow { color: #0a5f4a }
html[data-theme="emerald-bazaar"] .hub-health .hub-title, html[data-theme="emerald-bazaar"] .hub-health .hub-arrow { color: #1f7a4d }
html[data-theme="emerald-bazaar"] .hub-restock .hub-title, html[data-theme="emerald-bazaar"] .hub-restock .hub-arrow { color: #0b6b53 }
html[data-theme="emerald-bazaar"] .info-card { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .info-text { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .input-field:focus { border-color: #0e7a5f }
html[data-theme="emerald-bazaar"] .instructions { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .instructions-box { background: #e6f4ed }
html[data-theme="emerald-bazaar"] .item-amount { color: #1f7040 }
html[data-theme="emerald-bazaar"] .logout-area span { color: #a5372b }
html[data-theme="emerald-bazaar"] .logout-btn-main { background: #a5372b }
html[data-theme="emerald-bazaar"] .logout-btn:hover { background-color: #fbece9 }
html[data-theme="emerald-bazaar"] .media-picker-text { color: #1f8a4c }
html[data-theme="emerald-bazaar"] .mini-btn.del { background: #fbece9; color: #a5372b }
html[data-theme="emerald-bazaar"] .mini-btn.load { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .modal-avatar { background: #0e7a5f }
html[data-theme="emerald-bazaar"] .msg.assistant { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .msg.user { background: #2b9159 }
html[data-theme="emerald-bazaar"] .nav-item:hover, html[data-theme="emerald-bazaar"] .nav-item.active { background-color: #e3f1ea; color: #1f8a4c }
html[data-theme="emerald-bazaar"] .nav-tab.active { background: #0e7a5f }
html[data-theme="emerald-bazaar"] .net-loss { color: #a5372b }
html[data-theme="emerald-bazaar"] .net-value { color: #1f7040 }
html[data-theme="emerald-bazaar"] .new-badge { background: #a5372b }
html[data-theme="emerald-bazaar"] .next-step { color: #1f7040 }
html[data-theme="emerald-bazaar"] .notice { background: #e6f4ed; color: #0b6b53 }
html[data-theme="emerald-bazaar"] .online-dot { background: #2b9159 }
html[data-theme="emerald-bazaar"] .order-btn { background: #1f8a4c }
html[data-theme="emerald-bazaar"] .order-btn:hover { background: #2b9159 }
html[data-theme="emerald-bazaar"] .owner-badge { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .payment-text { color: #0e7a5f }
html[data-theme="emerald-bazaar"] .photo-pick-btn:hover { border-color: #a5372b; background: #fbece9; color: #a5372b }
html[data-theme="emerald-bazaar"] .preview-area:focus { border-color: #2b9159 }
html[data-theme="emerald-bazaar"] .preview-card { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .price { color: #1f7040 }
html[data-theme="emerald-bazaar"] .price-diff.negative { background: #fbece9 }
html[data-theme="emerald-bazaar"] .print-day-btn { background: #0e7a5f }
html[data-theme="emerald-bazaar"] .product-item { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .product-item-price { color: #1f7040 }
html[data-theme="emerald-bazaar"] .product-item-stock { color: #0e7a5f }
html[data-theme="emerald-bazaar"] .product-item.owner { background: #e3f1ea }
html[data-theme="emerald-bazaar"] .product-item.selected { background: #e3f1ea; border-color: #2b9159 }
html[data-theme="emerald-bazaar"] .product-item:hover { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .product-option.selected { border-color: #2b9159; background: #e3f1ea }
html[data-theme="emerald-bazaar"] .product-price { color: #1f7040 }
html[data-theme="emerald-bazaar"] .product-tab.active { background: #0e7a5f }
html[data-theme="emerald-bazaar"] .quick-chip { color: #1f7040 }
html[data-theme="emerald-bazaar"] .quick-chip:hover { background: #e3f1ea }
html[data-theme="emerald-bazaar"] .receipt-btn { color: #1f7040 }
html[data-theme="emerald-bazaar"] .report-search .search-clear:hover { color: #a5372b }
html[data-theme="emerald-bazaar"] .report-search input:focus { border-color: #0e7a5f }
html[data-theme="emerald-bazaar"] .req-why { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .required-star { color: #a5372b }
html[data-theme="emerald-bazaar"] .role { color: #0e7a5f }
html[data-theme="emerald-bazaar"] .role-badge { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .sale-btn { background: #2b9159 }
html[data-theme="emerald-bazaar"] .sale-item.closed { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .sale-total { color: #1f7040 }
html[data-theme="emerald-bazaar"] .save-btn { background: #2b9159 }
html[data-theme="emerald-bazaar"] .selected-banner { background: #e3f1ea }
html[data-theme="emerald-bazaar"] .selected-banner-close { color: #a5372b }
html[data-theme="emerald-bazaar"] .selected-banner-title { color: #1f7040 }
html[data-theme="emerald-bazaar"] .selected-banner.non-owner { background: #e6f4ed; border-left-color: #12876b }
html[data-theme="emerald-bazaar"] .seller-count { background: #a5372b }
html[data-theme="emerald-bazaar"] .severity.high { background: #a5372b }
html[data-theme="emerald-bazaar"] .severity.low { background: #0e7a5f }
html[data-theme="emerald-bazaar"] .severity.medium { background: #12876b }
html[data-theme="emerald-bazaar"] .stat-badge { background: #f1f7f4 }
html[data-theme="emerald-bazaar"] .stat-badge.likes { color: #0e7a5f }
html[data-theme="emerald-bazaar"] .stat-badge.reports { color: #a5372b }
html[data-theme="emerald-bazaar"] .status-approved { background: #e3f1ea; color: #1f7040 }
html[data-theme="emerald-bazaar"] .status-attention { background: #fbece9; color: #a5372b }
html[data-theme="emerald-bazaar"] .status-badge { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .status-pending { color: #0b6b53 }
html[data-theme="emerald-bazaar"] .status-rejected { background: #fbece9; color: #a5372b }
html[data-theme="emerald-bazaar"] .status-strong { background: #e3f1ea; color: #1f7040 }
html[data-theme="emerald-bazaar"] .status-watch { background: #e6f4ed; color: #0b6b53 }
html[data-theme="emerald-bazaar"] .stock-badge { background: #dcefe5; color: #0e7a5f }
html[data-theme="emerald-bazaar"] .stock-badge.low { color: #0b6b53 }
html[data-theme="emerald-bazaar"] .stock-badge.out { background: #fbece9; color: #a5372b }
html[data-theme="emerald-bazaar"] .stock-pill { background: #e3f1ea; color: #1f7040 }
html[data-theme="emerald-bazaar"] .stock-pill.out { background: #fbece9; color: #a5372b }
html[data-theme="emerald-bazaar"] .submit-btn.add { background: #2b9159 }
html[data-theme="emerald-bazaar"] .submit-btn.addstock { background: #12876b }
html[data-theme="emerald-bazaar"] .submit-btn.update { background: #0e7a5f }
html[data-theme="emerald-bazaar"] .system-admin-btn { color: #0a5f4a }
html[data-theme="emerald-bazaar"] .tag { background: #dcefe5 }
html[data-theme="emerald-bazaar"] .today-badge { background: #2b9159 }
html[data-theme="emerald-bazaar"] .total-value { color: #1f7040 }
html[data-theme="emerald-bazaar"] .upload-btn { background: #1f8a4c }
html[data-theme="emerald-bazaar"] .upload-progress { color: #0e7a5f }
html[data-theme="emerald-bazaar"] .zimesomwa-btn { background: #1f8a4c }

/* =====================================================================
 *  Oceanic Sapphire — fifth approved theme (public website)
 * =====================================================================
 *
 *  `oceanic-sapphire` is the calm, premium daylight alternative: ocean
 *  navy ("#102A43") carries the structure, a single sapphire blue
 *  ("#2563EB", pressed "#1D4ED8") carries every interactive element, icy
 *  blue ("#EAF3FF" / "#F4F8FF") fills selected and quiet surfaces, and
 *  white stays reserved for cards and content. Text runs from navy
 *  headings to slate body ("#475569") and muted captions ("#64748B").
 *
 *  SCOPE — the public website only (landing, Shop, Track Orders,
 *  Advertisements, Businesses, Home/auth screens). The design tokens target
 *  `html[data-theme="oceanic-sapphire"]`, exactly like the other four
 *  themes; the component and companion rules below add the `body.dm-public`
 *  marker the eleven public pages carry, so the authenticated portals — which
 *  do not use `var(--dm-*)` at all — keep their authored colors. White
 *  Professional, Royal Champagne Cream, Midnight Royal Gold and Emerald
 *  Bazaar have no Oceanic selector and keep their exact previous rendering.
 *
 *  Semantic colors keep their meaning: success stays green, danger stays
 *  red, warnings and star ratings stay amber, info is sapphire-tinted.
 * ---------------------------------------------------------------------
 */

/* ---- Design tokens: the same key surface as the other four blocks, so
        every var()-based public style follows at once.

        NOTE: the tokens themselves are attached to the <html data-theme>
        attribute exactly like the White, Royal, Midnight and Emerald blocks,
        so the public pages theme through their own var() rules even if a
        stale view or a page without the `dm-public` body marker renders the
        component layer below inert. ---- */
html[data-theme="oceanic-sapphire"] {

    /* Site design system — icy daylight canvas, sapphire accent, navy ink */
    --dm-navy: #102a43;
    --dm-ink: #102a43;
    --dm-muted: #64748b;
    --dm-line: #d7e3f0;
    --dm-bg: #f4f8ff;
    --dm-card: #ffffff;
    --dm-primary: #2563eb;
    --dm-primary-dark: #1d4ed8;
    --dm-accent: #2563eb;
    --dm-accent-ink: #ffffff;
    --dm-danger: #dc2626;
    --dm-success: #16a34a;

    /* Site chrome / interaction — white nav, ice-blue hovers, blue focus */
    --dm-nav-bg: rgba(255, 255, 255, .94);
    --dm-hover: #eaf3ff;
    --dm-tint: #eaf3ff;
    --dm-tint-line: #c9ddf8;
    --dm-tint-ink: #1d4ed8;
    --dm-ai-bg: #eaf3ff;
    --dm-ai-line: #d7e3f0;
    --dm-ai-line-2: #c9ddf8;
    --dm-ai-ink: #1d4ed8;
    --dm-input-bg: #ffffff;
    --dm-focus: rgba(37, 99, 235, .5);
    --dm-focus-soft: rgba(37, 99, 235, .16);
    --dm-selection: rgba(37, 99, 235, .2);
    --dm-btn-glow: rgba(37, 99, 235, .28);

    /* Alerts keep their hue, cooled to sit on the icy canvas */
    --dm-alert-ok-bg: #eaf7ef;
    --dm-alert-ok-line: #bfe7ce;
    --dm-alert-err-bg: #fdecec;
    --dm-alert-err-line: #f6cdcd;
    --dm-alert-info-bg: #eaf3ff;
    --dm-alert-info-line: #d7e3f0;

    /* Shared toast */
    --dm-toast-bg: #ffffff;
    --dm-toast-text: #102a43;

    /* Floating concierge */
    --pmc-panel: #ffffff;
    --pmc-line: #e3edf9;
    --pmc-answer: #f4f8ff;
    --pmc-ink: #102a43;
    --pmc-muted: #64748b;
    --pmc-strong: #475569;
    --pmc-cta: #2563eb;
    --pmc-cta-glow: rgba(37, 99, 235, .32);
    --pmc-chip-bg: #eaf3ff;
    --pmc-chip-hover: #dcebff;
    --pmc-chip-line: #c9ddf8;
    --pmc-chip-ink: #1d4ed8;

    /* Standalone public auth/account pages (login, forgot, sign-ups) */
    --pg-page: #f4f8ff;
    --pg-surface: #ffffff;
    --pg-field: #ffffff;
    --pg-soft: #eff6ff;
    --pg-soft-2: #f4f8ff;
    --pg-soft-3: #eff6ff;
    --pg-soft-cool: #f7faff;
    --pg-text: #102a43;
    --pg-muted: #64748b;
    --pg-muted-2: #64748b;
    --pg-line: #d7e3f0;
    --pg-line-2: #d7e3f0;
    --pg-line-3: #d7e3f0;
    --pg-line-soft: #e4eefa;
    --pg-cta-blue: #2563eb;
    --pg-cta-red: #dc2626;
    --pg-cta-green: #16a34a;
    --pg-cta-blue-deep: #1d4ed8;
    --pg-glow-soft: rgba(37, 99, 235, .16);
    --pg-glow-red: rgba(220, 38, 38, .14);
    --pg-glow-green: rgba(22, 163, 74, .14);
    --pg-cta-glow: rgba(37, 99, 235, .3);
    --pg-cta-wash: rgba(37, 99, 235, .07);
    --pg-cta-disabled: #9dbdf3;
    --pg-info-bg: #eaf3ff;
    --pg-desc: #475569;
    --pg-line-4: #e4eefa;
    --pg-line-5: #e4eefa;
    --pg-line-6: #d7e3f0;
    --pg-line-7: #eaf1fa;
    --pg-pill: #eff6ff;
    --pg-pill-hover: #e3eefe;
    --pg-blue-tint: #eaf3ff;
    --pg-page-soft: #f7faff;
    --pg-soft-fill: #eff6ff;
    --pg-soft-4: #eff6ff;
    --pg-field-soft: #ffffff;
    --pg-accent-bright: #2563eb;
    --pg-step-idle: #e8f0fa;
    --pg-step-idle-line: #d7e3f0;
    --pg-brand-a: #2563eb;
    --pg-brand-b: #1d4ed8;
    --pg-brand-glow: rgba(37, 99, 235, .32);
}

html[data-theme="oceanic-sapphire"] body.dm-public {
    background-color: #f4f8ff;
    color: #102a43;
}

/* ---- Public page canvas ---- */
html[data-theme="oceanic-sapphire"] body.dm-public .page-bg,
html[data-theme="oceanic-sapphire"] body.dm-public .safe-area,
html[data-theme="oceanic-sapphire"] body.dm-public .scroll-view {
    background-color: #f4f8ff;
}

/* ---- Navigation: white surface, navy brand, sapphire interaction ---- */
html[data-theme="oceanic-sapphire"] body.dm-public .dm-nav {
    background: rgba(255, 255, 255, .94);
    border-bottom-color: #d7e3f0;
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-brand { color: #102a43; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-brand-mark {
    background: linear-gradient(135deg, #102a43, #0b1f33);
    box-shadow: 0 6px 14px rgba(16, 42, 67, .28);
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-nav-link { color: #102a43; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-nav-link:hover,
html[data-theme="oceanic-sapphire"] body.dm-public .dm-nav-link:focus-visible {
    background: #eaf3ff;
    color: #1d4ed8;
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-nav-toggle {
    background: #ffffff;
    border-color: #d7e3f0;
    color: #102a43;
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-nav-drawer { background: #ffffff; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-nav-drawer a {
    border-bottom-color: #e4eefa;
    color: #102a43;
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-nav-drawer svg { color: #2563eb; }

/* ---- Typography: navy headings, slate body, muted captions ---- */
html[data-theme="oceanic-sapphire"] body.dm-public .dm-h1,
html[data-theme="oceanic-sapphire"] body.dm-public .dm-h2,
html[data-theme="oceanic-sapphire"] body.dm-public .dm-h3,
html[data-theme="oceanic-sapphire"] body.dm-public .dm-section-head h2 { color: #102a43; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-lead,
html[data-theme="oceanic-sapphire"] body.dm-public .dm-muted { color: #475569; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-eyebrow { color: #2563eb; }

/* ---- Cards: white surfaces, fine icy borders, restrained shadows ---- */
html[data-theme="oceanic-sapphire"] body.dm-public .dm-card {
    background-color: #ffffff;
    border-color: #d7e3f0;
    box-shadow: 0 1px 2px rgba(16, 42, 67, .05), 0 10px 26px rgba(16, 42, 67, .05);
}

/* ---- Buttons: sapphire primary, navy accent, white/ice secondary ---- */
html[data-theme="oceanic-sapphire"] body.dm-public .dm-btn--primary {
    background: #2563eb;
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(37, 99, 235, .26);
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-btn--primary:hover {
    background: #1d4ed8;
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-btn--accent {
    background: #0b1f33;
    color: #ffffff;
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-btn--accent:hover { background: #102a43; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-btn--ghost {
    background: #ffffff;
    color: #102a43;
    border-color: #d7e3f0;
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-btn--ghost:hover {
    background: #eaf3ff;
    border-color: #2563eb;
    color: #1d4ed8;
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-btn--primary[disabled] { background-color: #9dbdf3; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-btn--ghost[disabled] { background-color: #f4f8ff; }

/* ---- Forms: white fields, clear icy borders, visible blue focus rings ---- */
html[data-theme="oceanic-sapphire"] body.dm-public .dm-input,
html[data-theme="oceanic-sapphire"] body.dm-public .dm-select,
html[data-theme="oceanic-sapphire"] body.dm-public .dm-textarea {
    background: #ffffff;
    border-color: #d7e3f0;
    color: #102a43;
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-input:focus,
html[data-theme="oceanic-sapphire"] body.dm-public .dm-select:focus,
html[data-theme="oceanic-sapphire"] body.dm-public .dm-textarea:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .16);
}
html[data-theme="oceanic-sapphire"] body.dm-public ::placeholder,
html[data-theme="oceanic-sapphire"] body.dm-public input::placeholder,
html[data-theme="oceanic-sapphire"] body.dm-public textarea::placeholder { color: #64748b; opacity: 1; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-label { color: #102a43; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-hint { color: #64748b; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-error { color: #dc2626; }

/* Keyboard focus stays visible on every public surface. */
html[data-theme="oceanic-sapphire"] body.dm-public a:focus-visible,
html[data-theme="oceanic-sapphire"] body.dm-public button:focus-visible,
html[data-theme="oceanic-sapphire"] body.dm-public [role="radio"]:focus-visible,
html[data-theme="oceanic-sapphire"] body.dm-public input:focus-visible,
html[data-theme="oceanic-sapphire"] body.dm-public select:focus-visible,
html[data-theme="oceanic-sapphire"] body.dm-public textarea:focus-visible {
    outline: 3px solid rgba(37, 99, 235, .55);
    outline-offset: 2px;
}

/* ---- Badges / alerts: info follows the sapphire axis, status keeps its hue ---- */
html[data-theme="oceanic-sapphire"] body.dm-public .dm-badge--info {
    background: #eaf3ff;
    color: #1d4ed8;
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-badge--muted {
    background: #f4f8ff;
    color: #64748b;
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-alert--info { color: #1d4ed8; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-alert--ok { color: #15803d; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-alert--err { color: #b91c1c; }

/* Star ratings are an evaluation, not brand chrome: they stay amber. */
html[data-theme="oceanic-sapphire"] body.dm-public .stars,
html[data-theme="oceanic-sapphire"] body.dm-public .trust-stars { color: #f59e0b; }

/* ---- Empty / loading states ---- */
html[data-theme="oceanic-sapphire"] body.dm-public .dm-empty { color: #64748b; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-empty h3 { color: #102a43; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-empty svg { color: #b9cbe0; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-loading { color: #64748b; }
html[data-theme="oceanic-sapphire"] body.dm-public .loading-spinner {
    border-color: #dbe8f7;
    border-top-color: #2563eb;
}

/* ---- Tables ---- */
html[data-theme="oceanic-sapphire"] body.dm-public .dm-table th,
html[data-theme="oceanic-sapphire"] body.dm-public .dm-table td {
    border-bottom-color: #e4eefa;
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-table th { color: #64748b; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-table td { color: #475569; }

/* ---- Modals / cart sheet ---- */
html[data-theme="oceanic-sapphire"] body.dm-public .modal,
html[data-theme="oceanic-sapphire"] body.dm-public .modal-head,
html[data-theme="oceanic-sapphire"] body.dm-public .modal-foot {
    background: #ffffff;
    border-color: #d7e3f0;
}
html[data-theme="oceanic-sapphire"] body.dm-public .modal-overlay { background: rgba(16, 42, 67, .55); }

/* ---- Footer: ocean navy, icy highlight on the wordmark ---- */
html[data-theme="oceanic-sapphire"] body.dm-public .dm-footer {
    background: #102a43;
    color: #cbd5e1;
    --dm-accent: #93c5fd;
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-footer a { color: #cbd5e1; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-footer a:hover { color: #ffffff; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-footer h4 { color: #ffffff; }
html[data-theme="oceanic-sapphire"] body.dm-public .dm-footer-bottom {
    border-top-color: rgba(255, 255, 255, .14);
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-footer .dm-brand-mark {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    box-shadow: none;
}

/* ---- Toast: info uses sapphire, status keeps its semantic hue ---- */
html[data-theme="oceanic-sapphire"] body.dm-public .toast-item {
    background: #ffffff;
    color: #102a43;
    border-left-color: #2563eb;
}
html[data-theme="oceanic-sapphire"] body.dm-public .toast-item.toast-info { border-left-color: #2563eb; }
html[data-theme="oceanic-sapphire"] body.dm-public .toast-item.toast-info .toast-icon {
    background: #eaf3ff;
    color: #2563eb;
}

/* ---- SmartCart loader: one variable override repaints the cart ---- */
html[data-theme="oceanic-sapphire"] body.dm-public .dm-sc.dm-sc {
    --dm-sc-color: #2563eb;
    --dm-sc-bright: #7aa7f7;
    --dm-sc-accent: #1d4ed8;
    --dm-sc-accent-hi: #9dc0fb;
    --dm-sc-accent-lo: #1e40af;
}

/* ---- Theme widget trigger: sapphire instead of the neutral gold knob ---- */
html[data-theme="oceanic-sapphire"] body.dm-public .dm-theme-widget--float .dm-theme-main,
html[data-theme="oceanic-sapphire"] body.dm-public .dm-theme-widget--bottom .dm-theme-main {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    box-shadow: 0 10px 24px rgba(37, 99, 235, .34), 0 0 0 4px rgba(255, 255, 255, .8);
}
html[data-theme="oceanic-sapphire"] body.dm-public .dm-theme-widget--float .dm-theme-main:hover,
html[data-theme="oceanic-sapphire"] body.dm-public .dm-theme-widget--bottom .dm-theme-main:hover {
    box-shadow: 0 14px 30px rgba(37, 99, 235, .42), 0 0 0 4px rgba(255, 255, 255, .95);
}

/* ---- Companion: inline colors that no token reaches (public pages) ----
   Attribute substrings are exact and terminable (" ;" / end-of-style), the
   same technique the Emerald layer uses, and every rule is theme-scoped. */
html[data-theme="oceanic-sapphire"] body.dm-public :not([style*="background"])[style*="color:#7f8c8d;"],
html[data-theme="oceanic-sapphire"] body.dm-public :not([style*="background"])[style$="color:#7f8c8d"],
html[data-theme="oceanic-sapphire"] body.dm-public :not([style*="background"])[style*="color: #7f8c8d;"],
html[data-theme="oceanic-sapphire"] body.dm-public :not([style*="background"])[style$="color: #7f8c8d"] { color: #64748b !important; }
html[data-theme="oceanic-sapphire"] body.dm-public :not([style*="background"])[style*="color:#2c3e50;"],
html[data-theme="oceanic-sapphire"] body.dm-public :not([style*="background"])[style$="color:#2c3e50"],
html[data-theme="oceanic-sapphire"] body.dm-public :not([style*="background"])[style*="color: #2c3e50;"],
html[data-theme="oceanic-sapphire"] body.dm-public :not([style*="background"])[style$="color: #2c3e50"] { color: #102a43 !important; }
html[data-theme="oceanic-sapphire"] body.dm-public :not([style*="background"])[style*="color:#5d6d7e;"],
html[data-theme="oceanic-sapphire"] body.dm-public :not([style*="background"])[style$="color:#5d6d7e"],
html[data-theme="oceanic-sapphire"] body.dm-public :not([style*="background"])[style*="color: #5d6d7e;"],
html[data-theme="oceanic-sapphire"] body.dm-public :not([style*="background"])[style$="color: #5d6d7e"] { color: #475569 !important; }
html[data-theme="oceanic-sapphire"] body.dm-public [style*="background-color: #3498db"],
html[data-theme="oceanic-sapphire"] body.dm-public [style$="background-color: #3498db"] { background-color: #2563eb !important; }
html[data-theme="oceanic-sapphire"] body.dm-public [style*="color:#3498db"],
html[data-theme="oceanic-sapphire"] body.dm-public [style$="color:#3498db"] { color: #1d4ed8 !important; }
/* Home's role card: the blue gradient becomes sapphire; green/red stay. */
html[data-theme="oceanic-sapphire"] body.dm-public [style*="linear-gradient(105deg, #3498db, #2980b9)"] {
    background: linear-gradient(105deg, #2563eb, #1d4ed8) !important;
}
/* Presentation attribute on the auth back arrow (an inline style would win, an
   attribute does not, so this is the only place it needs recoloring). */
html[data-theme="oceanic-sapphire"] body.dm-public svg[stroke="#2c3e50"] { stroke: #102a43; }

/*


/* =====================================================================
 *  PHASE 2 — portal coverage for Oceanic Sapphire
 *  (mteja / muuzaji / msimamizi / system_admin)
 *  ------------------------------------------------------------------
 *  The authenticated portals keep their authored markup and their inline
 *  literal hexes, so the palette reaches them the same way Royal, Midnight
 *  and Emerald do: a selector-level override layer over the shared portal
 *  vocabulary (shell, cards, tables, buttons, chips, modals, AI panels,
 *  entry hubs) plus companion rules that recolour inline styles and
 *  JS-injected colours.
 *
 *  Oceanic contract used here:
 *    ocean navy  #102A43  structure, headings, sidebar ink
 *    sapphire    #2563EB  every interactive element (pressed #1D4ED8)
 *    ice         #EAF3FF / #F4F8FF  page canvas, hover, selected surfaces
 *    white       #FFFFFF  cards, sheets, fields
 *    slate       #475569 / #64748B  body copy and captions
 *    hairline    #D7E3F0 / #E4EEFA
 *
 *  Semantic colours keep their meaning: success stays green, danger and
 *  logout stay red, warnings stay amber, info is sapphire-tinted. Every
 *  selector is prefixed with html[data-theme="oceanic-sapphire"], so White
 *  Professional, Royal Champagne Cream, Midnight Royal Gold and Emerald
 *  Bazaar render byte-identically.
 * ===================================================================== */

html[data-theme="oceanic-sapphire"] body {
    background-color: #f4f8ff;
    color: #102a43;
}

/* ---- Page canvas ---- */
html[data-theme="oceanic-sapphire"] .main-content,
html[data-theme="oceanic-sapphire"] .page-bg {
    background-color: #f4f8ff;
}

/* ---- Sidebar shell (white + re-colored dark-navy variants) ---- */
html[data-theme="oceanic-sapphire"] .sidebar {
    background-color: #ffffff;
    border-right-color: #d7e3f0;
}
html[data-theme="oceanic-sapphire"] .sidebar-header { border-bottom-color: #d7e3f0; }
html[data-theme="oceanic-sapphire"] .sidebar-footer { border-top-color: #d7e3f0; }

html[data-theme="oceanic-sapphire"] .logo-icon {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff;
}
html[data-theme="oceanic-sapphire"] .logo-text h2 { color: #102a43; }
html[data-theme="oceanic-sapphire"] .logo-text p { color: #64748b; }

html[data-theme="oceanic-sapphire"] .nav-item { color: #64748b; }
html[data-theme="oceanic-sapphire"] .nav-item:hover {
    background-color: #eef5ff;
    color: #1d4ed8;
}
html[data-theme="oceanic-sapphire"] .nav-item.active {
    background-color: #eaf3ff;
    color: #1d4ed8;
}

/* ---- Sidebar user block ---- */
html[data-theme="oceanic-sapphire"] .user-avatar {
    background-color: #eaf3ff;
    color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .user-name { color: #102a43; }
html[data-theme="oceanic-sapphire"] .user-role { color: #2563eb; }
html[data-theme="oceanic-sapphire"] .user-meta b { color: #102a43; }
html[data-theme="oceanic-sapphire"] .user-meta span { color: #64748b; }
html[data-theme="oceanic-sapphire"] .user-email { color: #64748b; }
html[data-theme="oceanic-sapphire"] .logout-btn {
    color: #dc2626;
    background-color: #f4f8ff;
    border-color: #d7e3f0;
}

/* ---- Mobile sidebar toggle ---- */
html[data-theme="oceanic-sapphire"] .mobile-menu-toggle,
html[data-theme="oceanic-sapphire"] .hamburger {
    background-color: #ffffff;
    border-color: #d7e3f0;
}
/* Presentation attributes lose to this rule, so inline stroke="#667eea"
   hamburger icons follow the theme too. */
html[data-theme="oceanic-sapphire"] .mobile-menu-toggle svg { stroke: #2563eb; }

/* ---- Top bar / page headers ---- */
html[data-theme="oceanic-sapphire"] .topbar {
    background-color: #ffffff;
    border-bottom-color: #d7e3f0;
}
html[data-theme="oceanic-sapphire"] .dashboard-header,
html[data-theme="oceanic-sapphire"] .tabs-container {
    background-color: #ffffff;
}
html[data-theme="oceanic-sapphire"] .header-btn {
    background-color: #f4f8ff;
}

/* ---- Cards / panels ---- */
html[data-theme="oceanic-sapphire"] .section-card,
html[data-theme="oceanic-sapphire"] .card,
html[data-theme="oceanic-sapphire"] .stat,
html[data-theme="oceanic-sapphire"] .summary-box,
html[data-theme="oceanic-sapphire"] .business-card,
html[data-theme="oceanic-sapphire"] .empty-container {
    background-color: #ffffff;
}
html[data-theme="oceanic-sapphire"] .card,
html[data-theme="oceanic-sapphire"] .stat,
html[data-theme="oceanic-sapphire"] .user-card,
html[data-theme="oceanic-sapphire"] .log-card {
    border-color: #d7e3f0;
}
html[data-theme="oceanic-sapphire"] .user-card,
html[data-theme="oceanic-sapphire"] .log-card,
html[data-theme="oceanic-sapphire"] .filter-chip {
    background-color: #f4f8ff;
}
/* Stat cards come in two original treatments (soft #f8f9fa on dashboard,
   white on notify); white with a soft icy outline reads as a card in both. */
html[data-theme="oceanic-sapphire"] .stat-card {
    background-color: #ffffff;
    border: 1px solid #e4eefa;
    border-left: 4px solid #2563eb;
}
html[data-theme="oceanic-sapphire"] .stat-icon {
    background-color: #eaf3ff;
    color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .welcome-card {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff;
}

/* ---- Tabs / chips / links ---- */
html[data-theme="oceanic-sapphire"] .tab-btn { color: #64748b; }
html[data-theme="oceanic-sapphire"] .tab-btn.active,
html[data-theme="oceanic-sapphire"] .filter-chip.active {
    background-color: #2563eb;
    color: #fff;
}
html[data-theme="oceanic-sapphire"] .phone-link,
html[data-theme="oceanic-sapphire"] .log-endpoint { color: #2563eb; }

/* ---- Inputs / search ---- */
html[data-theme="oceanic-sapphire"] .search-box {
    background-color: #ffffff;
    border-color: #d7e3f0;
}
html[data-theme="oceanic-sapphire"] .search-input {
    background-color: #ffffff;
    border-color: #d7e3f0;
}
html[data-theme="oceanic-sapphire"] .search-input:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,.15);
}
html[data-theme="oceanic-sapphire"] .toolbar select,
html[data-theme="oceanic-sapphire"] .toolbar input,
html[data-theme="oceanic-sapphire"] .field input,
html[data-theme="oceanic-sapphire"] .field select,
html[data-theme="oceanic-sapphire"] .field textarea,
html[data-theme="oceanic-sapphire"] .input-field {
    border-color: #d7e3f0;
}

/* Sapphire-only keyboard focus affordance (White keeps its own per-page focus
   styles untouched; inputs/selects keep their authored focus states). */
html[data-theme="oceanic-sapphire"] a:focus-visible,
html[data-theme="oceanic-sapphire"] button:focus-visible,
html[data-theme="oceanic-sapphire"] [role="radio"]:focus-visible,
html[data-theme="oceanic-sapphire"] .nav-item:focus-visible {
    outline: 3px solid rgba(37,99,235,.55);
    outline-offset: 2px;
}

/* ---- Buttons ---- */
html[data-theme="oceanic-sapphire"] .btn-primary {
    background-color: #2563eb;
    color: #fff;
}
html[data-theme="oceanic-sapphire"] .btn-ghost {
    background-color: #ffffff;
    border-color: #d7e3f0;
    color: #102a43;
}
html[data-theme="oceanic-sapphire"] .btn-details {
    background-color: #f4f8ff;
    color: #64748b;
}
html[data-theme="oceanic-sapphire"] .btn-logs {
    background-color: #eaf3ff;
    color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .back-btn {
    background-color: #f4f8ff;
    color: #102a43;
}
html[data-theme="oceanic-sapphire"] .refresh-btn {
    background-color: #eaf3ff;
    color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .retry-btn { background-color: #2563eb; }
html[data-theme="oceanic-sapphire"] .contact-btn,
html[data-theme="oceanic-sapphire"] .twende-btn {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    box-shadow: 0 2px 8px rgba(37,99,235,.3);
}

/* ---- Tables ---- */
html[data-theme="oceanic-sapphire"] .orders-table th,
html[data-theme="oceanic-sapphire"] .orders-table td {
    border-bottom-color: #e4eefa;
}
html[data-theme="oceanic-sapphire"] .orders-table th { color: #64748b; }
html[data-theme="oceanic-sapphire"] .orders-table tr:hover td {
    background-color: #f7faff;
}
html[data-theme="oceanic-sapphire"] table.data th {
    color: #102a43;
    border-bottom-color: #d7e3f0;
}
html[data-theme="oceanic-sapphire"] table.data th,
html[data-theme="oceanic-sapphire"] table.data td {
    border-bottom-color: #e4eefa;
}
html[data-theme="oceanic-sapphire"] table.data td { color: #64748b; }

/* ---- Modals ---- */
html[data-theme="oceanic-sapphire"] .modal,
html[data-theme="oceanic-sapphire"] .modal-head,
html[data-theme="oceanic-sapphire"] .modal-foot,
html[data-theme="oceanic-sapphire"] .modal-content {
    background-color: #ffffff;
}
html[data-theme="oceanic-sapphire"] .modal-head,
html[data-theme="oceanic-sapphire"] .modal-header,
html[data-theme="oceanic-sapphire"] .modal-foot {
    border-color: #d7e3f0;
}

/* ---- Detail rows / timelines / dividers ---- */
html[data-theme="oceanic-sapphire"] .detail-row { border-bottom-color: #e4eefa; }
html[data-theme="oceanic-sapphire"] .user-actions { border-top-color: #d7e3f0; }
html[data-theme="oceanic-sapphire"] .line { border-bottom-color: #e4eefa; }
html[data-theme="oceanic-sapphire"] .timeline { border-left-color: #d7e3f0; }
html[data-theme="oceanic-sapphire"] .timeline li::before {
    background-color: #2563eb;
}

/* ---- Empty / loading states ---- */
html[data-theme="oceanic-sapphire"] .empty { color: #64748b; }
html[data-theme="oceanic-sapphire"] .empty i { color: #c9ddf8; }
html[data-theme="oceanic-sapphire"] .empty-icon,
html[data-theme="oceanic-sapphire"] .generated { color: #c9ddf8; }
html[data-theme="oceanic-sapphire"] .loading-spinner {
    border-color: #d7e3f0;
    border-top-color: #2563eb;
}

/* ---- Business logo placeholder (mteja listings) ---- */
html[data-theme="oceanic-sapphire"] .business-logo {
    background-color: #eaf3ff;
}
html[data-theme="oceanic-sapphire"] .business-logo-placeholder {
    border-color: #c9ddf8;
    color: #2563eb;
}

/* ---- Typography groups: ink + warm muted (shared across sections) ---- */
html[data-theme="oceanic-sapphire"] .title,
html[data-theme="oceanic-sapphire"] .page-title,
html[data-theme="oceanic-sapphire"] .section-title,
html[data-theme="oceanic-sapphire"] .card-title,
html[data-theme="oceanic-sapphire"] .header-title,
html[data-theme="oceanic-sapphire"] .topbar h1,
html[data-theme="oceanic-sapphire"] .business-name,
html[data-theme="oceanic-sapphire"] .stat-number,
html[data-theme="oceanic-sapphire"] .product-name,
html[data-theme="oceanic-sapphire"] .money-value,
html[data-theme="oceanic-sapphire"] .empty-title,
html[data-theme="oceanic-sapphire"] .state-box .state-title,
html[data-theme="oceanic-sapphire"] .tri-sec > b,
html[data-theme="oceanic-sapphire"] .meta-item b {
    color: #102a43;
}
html[data-theme="oceanic-sapphire"] .subtitle,
html[data-theme="oceanic-sapphire"] .page-sub,
html[data-theme="oceanic-sapphire"] .header-subtitle,
html[data-theme="oceanic-sapphire"] .stat-label,
html[data-theme="oceanic-sapphire"] .money-label,
html[data-theme="oceanic-sapphire"] .empty-text,
html[data-theme="oceanic-sapphire"] .loading-text,
html[data-theme="oceanic-sapphire"] .state-box,
html[data-theme="oceanic-sapphire"] .list-text,
html[data-theme="oceanic-sapphire"] .meta-item,
html[data-theme="oceanic-sapphire"] .mono,
html[data-theme="oceanic-sapphire"] .detail-value {
    color: #64748b;
}

/* ---- Extension: page-specific components that share the accent /
   surface / neutral vocabulary (measured true gaps across the portal;
   semantic status colors stay excluded by design) ---- */

/* Accent controls converge to sapphire */
html[data-theme="oceanic-sapphire"] .btn-save,
html[data-theme="oceanic-sapphire"] .ask-btn,
html[data-theme="oceanic-sapphire"] .contact-sms-btn,
html[data-theme="oceanic-sapphire"] .contact-call-btn,
html[data-theme="oceanic-sapphire"] .ai-verify-btn,
html[data-theme="oceanic-sapphire"] .ai-btn-camera,
html[data-theme="oceanic-sapphire"] .bar-fill {
    background-color: #2563eb;
    color: #fff;
}
html[data-theme="oceanic-sapphire"] .avatar {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff;
}
html[data-theme="oceanic-sapphire"] .ai-reset { color: #2563eb; }
html[data-theme="oceanic-sapphire"] input:checked + .slider {
    background-color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .selected-product-card,
html[data-theme="oceanic-sapphire"] .ai-note { border-left-color: #2563eb; }
html[data-theme="oceanic-sapphire"] .contact-cancel-btn,
html[data-theme="oceanic-sapphire"] .cancel-btn {
    background-color: #f4f8ff;
}

/* AI panel surfaces: purple/blue drafts -> ice + sapphire */
html[data-theme="oceanic-sapphire"] .ai-upload-zone {
    border-color: #c9ddf8;
    background-color: #ffffff;
}
html[data-theme="oceanic-sapphire"] .ai-upload-zone:hover,
html[data-theme="oceanic-sapphire"] .ai-upload-zone.drag {
    border-color: #2563eb;
    background-color: #eaf3ff;
}
html[data-theme="oceanic-sapphire"] .ai-import-btn {
    border-color: #c9ddf8;
    background-color: #ffffff;
}

/* Info-blue families become the Sapphire info ice; semantic greens,
   ambers and reds keep their hue */
html[data-theme="oceanic-sapphire"] .ai-banner.info {
    background-color: #eaf3ff;
    color: #2563eb;
    border-left-color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .ai-summary-chip.existing,
html[data-theme="oceanic-sapphire"] .ai-status.existing {
    background-color: #eaf3ff;
    color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .ai-card { background-color: #eaf3ff; }
html[data-theme="oceanic-sapphire"] .ai-card-title,
html[data-theme="oceanic-sapphire"] .ai-card-text { color: #2563eb; }

/* Extra surfaces and lines */
html[data-theme="oceanic-sapphire"] .modal-footer { border-top-color: #d7e3f0; }
html[data-theme="oceanic-sapphire"] .form-input,
html[data-theme="oceanic-sapphire"] .ask-input { border-color: #d7e3f0; }
html[data-theme="oceanic-sapphire"] .divider { background-color: #e4eefa; }
html[data-theme="oceanic-sapphire"] .chip {
    border-color: #d7e3f0;
    color: #102a43;
}
html[data-theme="oceanic-sapphire"] .chip:hover {
    background-color: #eaf3ff;
    border-color: #c9ddf8;
}
html[data-theme="oceanic-sapphire"] .bar-track { background-color: #d7e3f0; }
html[data-theme="oceanic-sapphire"] .stats-container { background-color: #f4f8ff; }
html[data-theme="oceanic-sapphire"] .headline-card { background-color: #ffffff; }
html[data-theme="oceanic-sapphire"] .ai-table { background-color: #ffffff; }
html[data-theme="oceanic-sapphire"] .ai-table th {
    background-color: #f4f8ff;
    border-bottom-color: #d7e3f0;
}
html[data-theme="oceanic-sapphire"] .ai-table td { border-bottom-color: #e4eefa; }
html[data-theme="oceanic-sapphire"] .ai-table-scroll { border-color: #d7e3f0; }
html[data-theme="oceanic-sapphire"] .ai-preview-item {
    background-color: #f4f8ff;
    border-color: #d7e3f0;
}
html[data-theme="oceanic-sapphire"] .ai-modal-content { background-color: #ffffff; }
html[data-theme="oceanic-sapphire"] .ai-modal-header { border-bottom-color: #d7e3f0; }

/* Extension ink group */
html[data-theme="oceanic-sapphire"] .headline,
html[data-theme="oceanic-sapphire"] .customer-name,
html[data-theme="oceanic-sapphire"] .bar-value,
html[data-theme="oceanic-sapphire"] .ai-table th,
html[data-theme="oceanic-sapphire"] .ai-modal-title,
html[data-theme="oceanic-sapphire"] .ai-note-title,
html[data-theme="oceanic-sapphire"] .ai-uz-main,
html[data-theme="oceanic-sapphire"] .tri-list,
html[data-theme="oceanic-sapphire"] ul.dm-list {
    color: #102a43;
}

/* Extension muted group */
html[data-theme="oceanic-sapphire"] .ai-note-text,
html[data-theme="oceanic-sapphire"] .ai-preview-name,
html[data-theme="oceanic-sapphire"] .ai-conf-row,
html[data-theme="oceanic-sapphire"] .ai-progress-text,
html[data-theme="oceanic-sapphire"] .ai-modal-close,
html[data-theme="oceanic-sapphire"] .ai-uz-sub,
html[data-theme="oceanic-sapphire"] .business-location,
html[data-theme="oceanic-sapphire"] .examples-title,
html[data-theme="oceanic-sapphire"] .contact-modal-sub,
html[data-theme="oceanic-sapphire"] .bar-label,
html[data-theme="oceanic-sapphire"] .muted,
html[data-theme="oceanic-sapphire"] .empty-state,
html[data-theme="oceanic-sapphire"] .empty-sub,
html[data-theme="oceanic-sapphire"] .footer-text,
html[data-theme="oceanic-sapphire"] .limitations,
html[data-theme="oceanic-sapphire"] .limitations b,
html[data-theme="oceanic-sapphire"] .list-bullet {
    color: #64748b;
}

/* ---- Extension 2: portal-specific pages (system_admin redirect + notify,
   msimamizi activity/alerts/history, muuzaji entry hub) ---- */

/* system_admin/index redirect card */
html[data-theme="oceanic-sapphire"] .logo {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
}
html[data-theme="oceanic-sapphire"] .manual-link { border-top-color: #d7e3f0; }
html[data-theme="oceanic-sapphire"] .manual-link a { color: #2563eb; }
html[data-theme="oceanic-sapphire"] .mesicy { color: #102a43; }
html[data-theme="oceanic-sapphire"] .redirect-container {
    background: rgba(255, 255, 255, .97);
}
html[data-theme="oceanic-sapphire"] .redirect-note { color: #64748b; }

/* system_admin/notify */
html[data-theme="oceanic-sapphire"] .done-btn,
html[data-theme="oceanic-sapphire"] .send-btn,
html[data-theme="oceanic-sapphire"] .test-btn {
    background-color: #2563eb;
    color: #fff;
}
html[data-theme="oceanic-sapphire"] .send-btn.disabled {
    background-color: #64748b;
}
html[data-theme="oceanic-sapphire"] .type-btn {
    border-color: #2563eb;
    background-color: #ffffff;
}
html[data-theme="oceanic-sapphire"] .type-btn.active {
    background-color: #2563eb;
    border-color: #2563eb;
    color: #fff;
}
html[data-theme="oceanic-sapphire"] .select-all,
html[data-theme="oceanic-sapphire"] .user-item.selected {
    background-color: #eaf3ff;
}
html[data-theme="oceanic-sapphire"] .select-recipients {
    background-color: #f4f8ff;
    border-color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .notif-card {
    background-color: #f4f8ff;
    border-left-color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .filter-row,
html[data-theme="oceanic-sapphire"] .user-item {
    border-bottom-color: #d7e3f0;
}
html[data-theme="oceanic-sapphire"] .notif-footer,
html[data-theme="oceanic-sapphire"] .notif-time,
html[data-theme="oceanic-sapphire"] .recipient-count,
html[data-theme="oceanic-sapphire"] .char-count {
    color: #64748b;
}
html[data-theme="oceanic-sapphire"] .notif-mesicy { color: #102a43; }

/* msimamizi activity digest / alerts / history */
html[data-theme="oceanic-sapphire"] .act-bar { background-color: #2563eb; }
html[data-theme="oceanic-sapphire"] .act-chip {
    border-color: #d7e3f0;
    color: #64748b;
}
html[data-theme="oceanic-sapphire"] .act-chip.active {
    background-color: #eaf3ff;
    border-color: #c9ddf8;
    color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .act-event { border-top-color: #e4eefa; }
html[data-theme="oceanic-sapphire"] .act-list-row,
html[data-theme="oceanic-sapphire"] .history-row {
    color: #64748b;
    border-top-color: #e4eefa;
}
html[data-theme="oceanic-sapphire"] .act-panel,
html[data-theme="oceanic-sapphire"] .alert-card,
html[data-theme="oceanic-sapphire"] .history-card {
    background-color: #ffffff;
    border-color: #d7e3f0;
}
html[data-theme="oceanic-sapphire"] .ai-chip {
    background-color: #eaf3ff;
    border-color: #c9ddf8;
    color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .alert-detail { color: #64748b; }
html[data-theme="oceanic-sapphire"] .evidence-row {
    background-color: #f4f8ff;
    color: #64748b;
}
html[data-theme="oceanic-sapphire"] .act-event-action,
html[data-theme="oceanic-sapphire"] .act-list-name,
html[data-theme="oceanic-sapphire"] .act-list-value,
html[data-theme="oceanic-sapphire"] .act-panel-title,
html[data-theme="oceanic-sapphire"] .alert-title,
html[data-theme="oceanic-sapphire"] .history-subject,
html[data-theme="oceanic-sapphire"] .history-title {
    color: #102a43;
}
html[data-theme="oceanic-sapphire"] .act-bar-day,
html[data-theme="oceanic-sapphire"] .act-event-meta,
html[data-theme="oceanic-sapphire"] .act-refs,
html[data-theme="oceanic-sapphire"] .evidence-label,
html[data-theme="oceanic-sapphire"] .history-empty {
    color: #64748b;
}

/* muuzaji entry hub: service cards + entry flow (semantic error/warn/
   success banners and amber flags keep their hue) */
html[data-theme="oceanic-sapphire"] .dm-entry-banner[data-kind="info"] {
    background-color: #eaf3ff;
    color: #2563eb;
    border-inline-start-color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .dm-entry-btn {
    border-color: #d7e3f0;
    color: #102a43;
}
html[data-theme="oceanic-sapphire"] .dm-entry-btn-primary {
    background-color: #2563eb;
    border-color: #2563eb;
    color: #fff;
}
html[data-theme="oceanic-sapphire"] .dm-entry-candidate { border-color: #d7e3f0; }
html[data-theme="oceanic-sapphire"] .dm-entry-candidate.is-selected {
    border-color: #2563eb;
    background-color: #eaf3ff;
}
html[data-theme="oceanic-sapphire"] .dm-entry-chip {
    background-color: #f4f8ff;
    border-color: #e4eefa;
    color: #64748b;
}
html[data-theme="oceanic-sapphire"] .dm-entry-chip:hover {
    background-color: #eaf3ff;
    border-color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .dm-entry-chip-type { color: #2563eb; }
html[data-theme="oceanic-sapphire"] .dm-entry-field input,
html[data-theme="oceanic-sapphire"] .dm-entry-field select,
html[data-theme="oceanic-sapphire"] .dm-entry-text {
    border-color: #d7e3f0;
}
html[data-theme="oceanic-sapphire"] .dm-entry-field input:focus,
html[data-theme="oceanic-sapphire"] .dm-entry-field select:focus,
html[data-theme="oceanic-sapphire"] .dm-entry-text:focus {
    border-color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .dm-entry-match {
    background-color: #f4f8ff;
    border-color: #e4eefa;
}
html[data-theme="oceanic-sapphire"] .dm-entry-match-line,
html[data-theme="oceanic-sapphire"] .dm-entry-title { color: #102a43; }
html[data-theme="oceanic-sapphire"] .dm-entry-type {
    background-color: #eaf3ff;
    color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .dm-entry-preview { border-top-color: #d7e3f0; }
html[data-theme="oceanic-sapphire"] .dm-entry-field-label,
html[data-theme="oceanic-sapphire"] .dm-entry-status,
html[data-theme="oceanic-sapphire"] .dm-entry-subtitle,
html[data-theme="oceanic-sapphire"] .dm-entry-meta { color: #64748b; }
html[data-theme="oceanic-sapphire"] .hub-header { background-color: #ffffff; }
html[data-theme="oceanic-sapphire"] .hub-desc { color: #64748b; }
html[data-theme="oceanic-sapphire"] .hub-ads,
html[data-theme="oceanic-sapphire"] .hub-ask,
html[data-theme="oceanic-sapphire"] .hub-copilot,
html[data-theme="oceanic-sapphire"] .hub-health,
html[data-theme="oceanic-sapphire"] .hub-price,
html[data-theme="oceanic-sapphire"] .hub-restock {
    background-color: #eaf3ff;
    border-color: #c9ddf8;
}
html[data-theme="oceanic-sapphire"] .hub-ads .hub-icon,
html[data-theme="oceanic-sapphire"] .hub-ask .hub-icon,
html[data-theme="oceanic-sapphire"] .hub-copilot .hub-icon,
html[data-theme="oceanic-sapphire"] .hub-health .hub-icon,
html[data-theme="oceanic-sapphire"] .hub-price .hub-icon,
html[data-theme="oceanic-sapphire"] .hub-restock .hub-icon {
    background-color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .hub-ads .hub-title,
html[data-theme="oceanic-sapphire"] .hub-ads .hub-arrow,
html[data-theme="oceanic-sapphire"] .hub-ask .hub-title,
html[data-theme="oceanic-sapphire"] .hub-ask .hub-arrow,
html[data-theme="oceanic-sapphire"] .hub-copilot .hub-title,
html[data-theme="oceanic-sapphire"] .hub-copilot .hub-arrow,
html[data-theme="oceanic-sapphire"] .hub-health .hub-title,
html[data-theme="oceanic-sapphire"] .hub-health .hub-arrow,
html[data-theme="oceanic-sapphire"] .hub-price .hub-title,
html[data-theme="oceanic-sapphire"] .hub-price .hub-arrow,
html[data-theme="oceanic-sapphire"] .hub-restock .hub-title,
html[data-theme="oceanic-sapphire"] .hub-restock .hub-arrow {
    color: #1d4ed8;
}

/*
 * =====================================================================
 *  Sapphire Companion Recolor — inline styles, JS-generated colors,
 *  semantic badges, and the SmartCart loader
 * =====================================================================
 *
 *  The portal pages also carry colors that no class selector can reach:
 *  literal style="…" attributes (~260 sites), colors injected by page JS
 *  (role/status badges, severity chips, decision tabs), and the kept
 *  semantic chips. This layer re-skins ALL of them under Sapphire without
 *  touching a single page, using three tricks:
 *
 *    1. Attribute-substring rules with EXACT terminators:
 *         [style*="color:#5d746b;"]   middle of a declaration list
 *         [style$="color:#5d746b"]    last declaration (no semicolon)
 *       The " ;"-terminated / end-anchored forms never match the 8-digit
 *       alpha tints (#e74c3c18) or longer properties (background-color:),
 *       so there are no substring collisions.
 *    2. !important — the only way CSS can beat an inline style. Every rule
 *       is Sapphire-scoped, so White Professional remains byte-identical.
 *    3. CSS re-matches live when JS writes el.style.*, so dynamically
 *       injected badges recolor the moment they hit the DOM.
 *
 *  The companion palette keeps status DIFFERENTIATION while moving every
 *  interface hue onto the sapphire axis: the mteja purple and system_admin
 *  blue become deep sapphire, the muuzaji green a clearer leaf green, and the
 *  msimamizi rust stays red so destructive states never read as brand. White
 *  text on deep fills is kept on purpose (contrast); neutral dim overlays
 *  (rgba) are shared between themes by design.
 * ---------------------------------------------------------------------
 */

/* ---- SmartCart loader: one variable override repaints the whole
        gradient-driven cart animation (its rules are var()-based) ---- */
html[data-theme="oceanic-sapphire"] .dm-sc.dm-sc {
    --dm-sc-color: #2563eb;
    --dm-sc-bright: #93c5fd;
    --dm-sc-accent: #3b82f6;
    --dm-sc-accent-hi: #bfdbfe;
    --dm-sc-accent-lo: #1d4ed8;
}

/* ---- Semantic chips retuned to the sapphire axis (kept
        differentiated: leaf green = ok, sapphire = info, amber = warn,
        red = danger, icy gray = muted) ---- */
html[data-theme="oceanic-sapphire"] .b-ok,
html[data-theme="oceanic-sapphire"] .alert-ok,
html[data-theme="oceanic-sapphire"] .banner.ok,
html[data-theme="oceanic-sapphire"] .btn-enable,
html[data-theme="oceanic-sapphire"] .ai-verified-tag {
    background-color: #eff6ff;
    color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .b-info,
html[data-theme="oceanic-sapphire"] .alert-info {
    background-color: #eaf3ff;
    color: #2563eb;
}
html[data-theme="oceanic-sapphire"] .b-warn,
html[data-theme="oceanic-sapphire"] .alert-warn,
html[data-theme="oceanic-sapphire"] .banner.warn,
html[data-theme="oceanic-sapphire"] .ai-warn {
    background-color: #eff6ff;
    color: #1d4ed8;
}
html[data-theme="oceanic-sapphire"] .b-danger,
html[data-theme="oceanic-sapphire"] .alert-err {
    background-color: #fdecec;
    color: #b91c1c;
}
html[data-theme="oceanic-sapphire"] .b-muted {
    background-color: #f4f8ff;
    color: #64748b;
}
html[data-theme="oceanic-sapphire"] .btn-disable {
    background-color: #f4f8ff;
    color: #64748b;
}

/* ---- Inline text colors (guarded: an element that also paints a
        background/border is handled by the joint rules below) ---- */
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#2c3e50;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#2c3e50"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color: #2c3e50;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color: #2c3e50"] { color: #102a43 !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#5d6d7e;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#5d6d7e"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color: #5d6d7e;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color: #5d6d7e"] { color: #64748b !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#7f8c8d;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#7f8c8d"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color: #7f8c8d;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color: #7f8c8d"] { color: #64748b !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#64748b;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#64748b"] { color: #64748b !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#95a5a6;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#95a5a6"] { color: #64748b !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#94a3b8;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#94a3b8"] { color: #64748b !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#7a8ba0;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#7a8ba0"] { color: #64748b !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#bdc3c7;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#bdc3c7"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#b8c4cf;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#b8c4cf"] { color: #c9ddf8 !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#555;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#555"] { color: #102a43 !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#666;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#666"] { color: #64748b !important; }
/* Accent text/controls on plain surfaces converge to sapphire */
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#667eea;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#667eea"] { color: #2563eb !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#3498db;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#3498db"] { color: #2563eb !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#7c5cbf;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#7c5cbf"] { color: #2563eb !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#9b59b6;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#9b59b6"] { color: #1d4ed8 !important; }
/* Status text on plain surfaces: same sapphire companions as the chips */
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#27ae60;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#27ae60"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#2ecc71;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#2ecc71"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#28a745;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#28a745"] { color: #2563eb !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#e74c3c;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#e74c3c"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#dc3545;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#dc3545"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#b3261e;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#b3261e"] { color: #b91c1c !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#f39c12;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#f39c12"] { color: #3b82f6 !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#b9770e;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#b9770e"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#b45309;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#b45309"] { color: #1d4ed8 !important; }
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#e67e22;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#e67e22"] { color: #b06a1c !important; }

/* ---- Inline backgrounds (solid hexes and the word "white") ---- */
html[data-theme="oceanic-sapphire"] [style*="background:#f8f9fa;"],
html[data-theme="oceanic-sapphire"] [style$="background:#f8f9fa"],
html[data-theme="oceanic-sapphire"] [style*="background:#f4f6f7;"],
html[data-theme="oceanic-sapphire"] [style$="background:#f4f6f7"] { background-color: #f4f8ff !important; }
html[data-theme="oceanic-sapphire"] [style*="background:white;"],
html[data-theme="oceanic-sapphire"] [style$="background:white"],
html[data-theme="oceanic-sapphire"] [style*="background:#fff;"],
html[data-theme="oceanic-sapphire"] [style$="background:#fff"],
html[data-theme="oceanic-sapphire"] [style*="background:#ffffff;"],
html[data-theme="oceanic-sapphire"] [style$="background:#ffffff"] { background-color: #ffffff !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#667eea;"],
html[data-theme="oceanic-sapphire"] [style$="background:#667eea"] { background-color: #2563eb !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#e8f4fd;"],
html[data-theme="oceanic-sapphire"] [style$="background:#e8f4fd"],
html[data-theme="oceanic-sapphire"] [style*="background:#eef4fa;"],
html[data-theme="oceanic-sapphire"] [style$="background:#eef4fa"],
html[data-theme="oceanic-sapphire"] [style*="background:#f3eeff;"],
html[data-theme="oceanic-sapphire"] [style$="background:#f3eeff"] { background-color: #eaf3ff !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#27ae60;"],
html[data-theme="oceanic-sapphire"] [style$="background:#27ae60"],
html[data-theme="oceanic-sapphire"] [style*="background:#2ecc71;"],
html[data-theme="oceanic-sapphire"] [style$="background:#2ecc71"],
html[data-theme="oceanic-sapphire"] [style*="background:#e8f6f3;"],
html[data-theme="oceanic-sapphire"] [style$="background:#e8f6f3"],
html[data-theme="oceanic-sapphire"] [style*="background:#f0f8f0;"],
html[data-theme="oceanic-sapphire"] [style$="background:#f0f8f0"] { background-color: #2563eb !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#e74c3c;"],
html[data-theme="oceanic-sapphire"] [style$="background:#e74c3c"] { background-color: #b91c1c !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#95a5a6;"],
html[data-theme="oceanic-sapphire"] [style$="background:#95a5a6"] { background-color: #64748b !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#e67e22;"],
html[data-theme="oceanic-sapphire"] [style$="background:#e67e22"] { background-color: #b06a1c !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#ff6b35;"],
html[data-theme="oceanic-sapphire"] [style$="background:#ff6b35"] { background-color: #2563eb !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#fff8e1;"],
html[data-theme="oceanic-sapphire"] [style$="background:#fff8e1"],
html[data-theme="oceanic-sapphire"] [style*="background:#fef5e7;"],
html[data-theme="oceanic-sapphire"] [style$="background:#fef5e7"],
html[data-theme="oceanic-sapphire"] [style*="background:#fdf3e7;"],
html[data-theme="oceanic-sapphire"] [style$="background:#fdf3e7"],
html[data-theme="oceanic-sapphire"] [style*="background:#fff9e6;"],
html[data-theme="oceanic-sapphire"] [style$="background:#fff9e6"] { background-color: #eff6ff !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#fdecea;"],
html[data-theme="oceanic-sapphire"] [style$="background:#fdecea"],
html[data-theme="oceanic-sapphire"] [style*="background:#fce4ec;"],
html[data-theme="oceanic-sapphire"] [style$="background:#fce4ec"] { background-color: #fdecec !important; }

/* ---- Inline borders ("solid #hex" matches inside any border shorthand;
        border-color only recolors sides that actually have width) ---- */
html[data-theme="oceanic-sapphire"] [style*="solid #ecf0f1;"],
html[data-theme="oceanic-sapphire"] [style$="solid #ecf0f1"],
html[data-theme="oceanic-sapphire"] [style*="solid #ddd;"],
html[data-theme="oceanic-sapphire"] [style$="solid #ddd"],
html[data-theme="oceanic-sapphire"] [style*="solid #dfe6e9;"],
html[data-theme="oceanic-sapphire"] [style$="solid #dfe6e9"],
html[data-theme="oceanic-sapphire"] [style*="solid #dfe4ea;"],
html[data-theme="oceanic-sapphire"] [style$="solid #dfe4ea"] { border-color: #d7e3f0 !important; }
html[data-theme="oceanic-sapphire"] [style*="solid #f1f3f4;"],
html[data-theme="oceanic-sapphire"] [style$="solid #f1f3f4"],
html[data-theme="oceanic-sapphire"] [style*="solid #eef2f7;"],
html[data-theme="oceanic-sapphire"] [style$="solid #eef2f7"] { border-color: #e4eefa !important; }

/* ---- Alpha-tinted JS badges: exact 8-digit forms, tint and text ---- */
html[data-theme="oceanic-sapphire"] [style*="background:#27ae6018"],
html[data-theme="oceanic-sapphire"] [style$="background:#27ae6018"],
html[data-theme="oceanic-sapphire"] [style*="background:#27ae6020"],
html[data-theme="oceanic-sapphire"] [style$="background:#27ae6020"],
html[data-theme="oceanic-sapphire"] [style*="background:#2ecc7120"],
html[data-theme="oceanic-sapphire"] [style$="background:#2ecc7120"] { background-color: #2563eb20 !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#e74c3c12"],
html[data-theme="oceanic-sapphire"] [style$="background:#e74c3c12"],
html[data-theme="oceanic-sapphire"] [style*="background:#e74c3c18"],
html[data-theme="oceanic-sapphire"] [style$="background:#e74c3c18"],
html[data-theme="oceanic-sapphire"] [style*="background:#e74c3c20"],
html[data-theme="oceanic-sapphire"] [style$="background:#e74c3c20"] { background-color: #b91c1c20 !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#f39c1215"],
html[data-theme="oceanic-sapphire"] [style$="background:#f39c1215"] { background-color: #3b82f615 !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#e67e2220"],
html[data-theme="oceanic-sapphire"] [style$="background:#e67e2220"] { background-color: #b06a1c20 !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#3498db20"],
html[data-theme="oceanic-sapphire"] [style$="background:#3498db20"] { background-color: #2563eb20 !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#95a5a620"],
html[data-theme="oceanic-sapphire"] [style$="background:#95a5a620"],
html[data-theme="oceanic-sapphire"] [style*="background:#95a5a622"],
html[data-theme="oceanic-sapphire"] [style$="background:#95a5a622"] { background-color: #64748b22 !important; }
/* paired text inside the alpha-tint badges */
html[data-theme="oceanic-sapphire"] [style*="color:#27ae60;"] { color: #2563eb !important; }
html[data-theme="oceanic-sapphire"] [style*="color:#e74c3c;"] { color: #b91c1c !important; }
html[data-theme="oceanic-sapphire"] [style*="color:#f39c12;"] { color: #3b82f6 !important; }
html[data-theme="oceanic-sapphire"] [style*="color:#b9770e;"] { color: #1d4ed8 !important; }
html[data-theme="oceanic-sapphire"] [style*="color:#7f8c8d;"] { color: #64748b !important; }
html[data-theme="oceanic-sapphire"] [style*="color:#5d6d7e;"] { color: #64748b !important; }
html[data-theme="oceanic-sapphire"] [style*="color:#3498db;"] { color: #2563eb !important; }

/* ---- Observed background+color pairs (both properties recolored even
        though the guard excludes them from the single-property rules) ---- */
html[data-theme="oceanic-sapphire"] [style*="background:#e8f4fd"][style*="color:#3498db"] { background-color: #eaf3ff !important; color: #2563eb !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#f4f6f7"][style*="color:#5d6d7e"] { background-color: #f4f8ff !important; color: #64748b !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#f8f9fa"][style*="color:#7f8c8d"] { background-color: #f4f8ff !important; color: #64748b !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#95a5a6"][style*="color:#7f8c8d"] { background-color: #64748b !important; color: #f4f8ff !important; }

/* ---- Late additions: stragglers found by the rendered-page coverage
        audit (teal status green, extra alpha/tint variants) ---- */
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style*="color:#2c7e5f;"],
html[data-theme="oceanic-sapphire"] :not([style*="background"])[style$="color:#2c7e5f"] { color: #1d4ed8 !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#f39c1218"],
html[data-theme="oceanic-sapphire"] [style$="background:#f39c1218"] { background-color: #3b82f618 !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#fef9e7;"],
html[data-theme="oceanic-sapphire"] [style$="background:#fef9e7"] { background-color: #eff6ff !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#fdedec;"],
html[data-theme="oceanic-sapphire"] [style$="background:#fdedec"] { background-color: #fdecec !important; }
/* Unguarded partners for background+color pairs (safe: portal inline styles
   always spell backgrounds "background:", never "background-color:") */
html[data-theme="oceanic-sapphire"] [style*="color:#2c3e50;"],
html[data-theme="oceanic-sapphire"] [style$="color:#2c3e50"] { color: #102a43 !important; }
html[data-theme="oceanic-sapphire"] [style*="color:#2c7e5f;"],
html[data-theme="oceanic-sapphire"] [style$="color:#2c7e5f"] { color: #1d4ed8 !important; }
html[data-theme="oceanic-sapphire"] [style*="background:#3498db;"],
html[data-theme="oceanic-sapphire"] [style$="background:#3498db"] { background-color: #2563eb !important; }

/* ---- Component sweep: every remaining class-based accent component
        across all 28 portal pages, translated through the companion
        policy (accents->sapphire, greens->leaf green, reds->red,
        ambers->amber, tints->ice) ---- */
html[data-theme="oceanic-sapphire"] .ack { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .act-silent { background: #eff6ff; color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .act-tag { background: #fdecec; color: #b91c1c }
html[data-theme="oceanic-sapphire"] .action-btn { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .action-btn.liked .fa-heart { color: #b91c1c }
html[data-theme="oceanic-sapphire"] .action-btn.liked { color: #b91c1c }
html[data-theme="oceanic-sapphire"] .action-num { background: #eff6ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .ad-media { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .add-btn { background: #2563eb }
html[data-theme="oceanic-sapphire"] .add-cart-btn { background: #2563eb }
html[data-theme="oceanic-sapphire"] .ai-banner.error { background: #fdecec; color: #b91c1c }
html[data-theme="oceanic-sapphire"] .ai-biz-save { background: #2563eb }
html[data-theme="oceanic-sapphire"] .ai-btn-process { background: #b91c1c }
html[data-theme="oceanic-sapphire"] .ai-chip.active { background: #2563eb; border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .ai-dots span { background: #b91c1c }
html[data-theme="oceanic-sapphire"] .ai-entry-btn:hover { border-color: #2563eb; background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .ai-entry-ic { background: #eaf3ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .ai-import-btn:hover { border-color: #2563eb; background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .ai-metric { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .ai-retry { background: #2563eb }
html[data-theme="oceanic-sapphire"] .ai-status.new { background: #eff6ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .ai-status.review { background: #eff6ff; color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .ai-summary-chip.ok { background: #2563eb }
html[data-theme="oceanic-sapphire"] .ai-summary-chip.review { background: #eff6ff; color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .ai-table input:focus, html[data-theme="oceanic-sapphire"] .ai-table select:focus { border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .ai-table input:focus { border-color: #b91c1c }
html[data-theme="oceanic-sapphire"] .ai-upload-zone:hover, html[data-theme="oceanic-sapphire"] .ai-upload-zone.drag { background: #eaf3ff; border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .answer-card { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .approved-text { color: #2563eb }
html[data-theme="oceanic-sapphire"] .ask-input:focus { border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .ask-row input:focus { border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .badge { background: #eff6ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .badge-success { color: #2563eb }
html[data-theme="oceanic-sapphire"] .badge-warning { color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .bar i { background: #2563eb }
html[data-theme="oceanic-sapphire"] .btn-approve { background: #2563eb }
html[data-theme="oceanic-sapphire"] .btn-danger:hover { background: #fdecec; color: #b91c1c }
html[data-theme="oceanic-sapphire"] .btn-edit { background: #2563eb }
html[data-theme="oceanic-sapphire"] .btn-logout { background: #b91c1c }
html[data-theme="oceanic-sapphire"] .btn-permanent { background: #b91c1c }
html[data-theme="oceanic-sapphire"] .btn-reject { background: #b91c1c }
html[data-theme="oceanic-sapphire"] .btn:hover { background: #eff6ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .camera-badge { background: #2563eb }
html[data-theme="oceanic-sapphire"] .cart-badge { background: #2563eb }
html[data-theme="oceanic-sapphire"] .cart-qty-btn { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .cart-remove { background: #b91c1c }
html[data-theme="oceanic-sapphire"] .cart-summary { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .category-chip { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .category-chip.selected { background: #2563eb; border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .category-text { color: #2563eb }
html[data-theme="oceanic-sapphire"] .char-count.over { color: #b91c1c }
html[data-theme="oceanic-sapphire"] .chart-bar i { background: #2563eb }
html[data-theme="oceanic-sapphire"] .chart-bar { background: #e4eefa }
html[data-theme="oceanic-sapphire"] .checkout-modal-btn { background: #2563eb }
html[data-theme="oceanic-sapphire"] .chip-human { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .chip.selected { background: #2563eb; border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .close-sales-btn { background: #b91c1c }
html[data-theme="oceanic-sapphire"] .closed-badge { color: #b91c1c }
html[data-theme="oceanic-sapphire"] .confirm-cancel { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .confirm-close { background: #b91c1c }
html[data-theme="oceanic-sapphire"] .contact-email { color: #2563eb }
html[data-theme="oceanic-sapphire"] .contact-phone { color: #2563eb }
html[data-theme="oceanic-sapphire"] .conv-del { color: #b91c1c }
html[data-theme="oceanic-sapphire"] .conv-row:hover { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .cost-text { color: #b91c1c }
html[data-theme="oceanic-sapphire"] .customer-avatar { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .customer-total { color: #2563eb }
html[data-theme="oceanic-sapphire"] .date-badge { background: #2563eb }
html[data-theme="oceanic-sapphire"] .date-btn { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .date-btn.primary { background: #2563eb }
html[data-theme="oceanic-sapphire"] .date-display { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .date-field input { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .date-field input:focus { border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .date-filter-active { color: #2563eb; background: #eff6ff }
html[data-theme="oceanic-sapphire"] .date-nav { color: #2563eb }
html[data-theme="oceanic-sapphire"] .delete-icon { color: #b91c1c }
html[data-theme="oceanic-sapphire"] .dismiss-btn { background: #eff6ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .dm-entry-banner[data-kind="error"] { background: #fdecec; color: #b91c1c }
html[data-theme="oceanic-sapphire"] .dm-entry-banner[data-kind="success"] { background: #eff6ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .dm-entry-banner[data-kind="warn"] { background: #eff6ff; color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .dm-entry-field input:focus, html[data-theme="oceanic-sapphire"] .dm-entry-field select:focus { border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .dm-entry-flags li { color: #1d4ed8; background: #eff6ff }
html[data-theme="oceanic-sapphire"] .dm-entry-missing { color: #b91c1c }
html[data-theme="oceanic-sapphire"] .dock-cart-badge { background: #2563eb }
html[data-theme="oceanic-sapphire"] .dock-cart-info { background: #eff6ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .dock-checkout { background: #2563eb }
html[data-theme="oceanic-sapphire"] .dock-price { color: #2563eb }
html[data-theme="oceanic-sapphire"] .edit-btn { background: #eaf3ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .edit-profile-btn { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .empty-add { background: #eff6ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .ev-product { background: #eaf3ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .ev-sale { background: #eff6ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .ev-warn { background: #eff6ff; color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .existing-btn:hover { border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .expense-text { color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .expenses-total { color: #2563eb }
html[data-theme="oceanic-sapphire"] .extra-stats { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .filter-info { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .flag-row { background: #eff6ff; color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .focused-tag { color: #2563eb }
html[data-theme="oceanic-sapphire"] .form-select:focus, html[data-theme="oceanic-sapphire"] .form-input:focus { border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .go-sell-btn { background: #2563eb }
html[data-theme="oceanic-sapphire"] .gross-profit-text { color: #2563eb }
html[data-theme="oceanic-sapphire"] .guide-chip { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .helper-text { color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .history-badge { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .hub-ads .hub-title, html[data-theme="oceanic-sapphire"] .hub-ads .hub-arrow { color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .hub-ask .hub-title, html[data-theme="oceanic-sapphire"] .hub-ask .hub-arrow { color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .hub-copilot .hub-title, html[data-theme="oceanic-sapphire"] .hub-copilot .hub-arrow { color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .hub-health .hub-title, html[data-theme="oceanic-sapphire"] .hub-health .hub-arrow { color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .hub-restock .hub-title, html[data-theme="oceanic-sapphire"] .hub-restock .hub-arrow { color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .info-card { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .info-text { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .input-field:focus { border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .instructions { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .instructions-box { background: #eff6ff }
html[data-theme="oceanic-sapphire"] .item-amount { color: #2563eb }
html[data-theme="oceanic-sapphire"] .logout-area span { color: #b91c1c }
html[data-theme="oceanic-sapphire"] .logout-btn-main { background: #b91c1c }
html[data-theme="oceanic-sapphire"] .logout-btn:hover { background-color: #fdecec }
html[data-theme="oceanic-sapphire"] .media-picker-text { color: #2563eb }
html[data-theme="oceanic-sapphire"] .mini-btn.del { background: #fdecec; color: #b91c1c }
html[data-theme="oceanic-sapphire"] .mini-btn.load { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .modal-avatar { background: #2563eb }
html[data-theme="oceanic-sapphire"] .msg.assistant { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .msg.user { background: #2563eb }
html[data-theme="oceanic-sapphire"] .nav-item:hover, html[data-theme="oceanic-sapphire"] .nav-item.active { background-color: #eff6ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .nav-tab.active { background: #2563eb }
html[data-theme="oceanic-sapphire"] .net-loss { color: #b91c1c }
html[data-theme="oceanic-sapphire"] .net-value { color: #2563eb }
html[data-theme="oceanic-sapphire"] .new-badge { background: #b91c1c }
html[data-theme="oceanic-sapphire"] .next-step { color: #2563eb }
html[data-theme="oceanic-sapphire"] .notice { background: #eff6ff; color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .online-dot { background: #2563eb }
html[data-theme="oceanic-sapphire"] .order-btn { background: #2563eb }
html[data-theme="oceanic-sapphire"] .order-btn:hover { background: #2563eb }
html[data-theme="oceanic-sapphire"] .owner-badge { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .payment-text { color: #2563eb }
html[data-theme="oceanic-sapphire"] .photo-pick-btn:hover { border-color: #b91c1c; background: #fdecec; color: #b91c1c }
html[data-theme="oceanic-sapphire"] .preview-area:focus { border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .preview-card { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .price { color: #2563eb }
html[data-theme="oceanic-sapphire"] .price-diff.negative { background: #fdecec }
html[data-theme="oceanic-sapphire"] .print-day-btn { background: #2563eb }
html[data-theme="oceanic-sapphire"] .product-item { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .product-item-price { color: #2563eb }
html[data-theme="oceanic-sapphire"] .product-item-stock { color: #2563eb }
html[data-theme="oceanic-sapphire"] .product-item.owner { background: #eff6ff }
html[data-theme="oceanic-sapphire"] .product-item.selected { background: #eff6ff; border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .product-item:hover { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .product-option.selected { border-color: #2563eb; background: #eff6ff }
html[data-theme="oceanic-sapphire"] .product-price { color: #2563eb }
html[data-theme="oceanic-sapphire"] .product-tab.active { background: #2563eb }
html[data-theme="oceanic-sapphire"] .quick-chip { color: #2563eb }
html[data-theme="oceanic-sapphire"] .quick-chip:hover { background: #eff6ff }
html[data-theme="oceanic-sapphire"] .receipt-btn { color: #2563eb }
html[data-theme="oceanic-sapphire"] .report-search .search-clear:hover { color: #b91c1c }
html[data-theme="oceanic-sapphire"] .report-search input:focus { border-color: #2563eb }
html[data-theme="oceanic-sapphire"] .req-why { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .required-star { color: #b91c1c }
html[data-theme="oceanic-sapphire"] .role { color: #2563eb }
html[data-theme="oceanic-sapphire"] .role-badge { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .sale-btn { background: #2563eb }
html[data-theme="oceanic-sapphire"] .sale-item.closed { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .sale-total { color: #2563eb }
html[data-theme="oceanic-sapphire"] .save-btn { background: #2563eb }
html[data-theme="oceanic-sapphire"] .selected-banner { background: #eff6ff }
html[data-theme="oceanic-sapphire"] .selected-banner-close { color: #b91c1c }
html[data-theme="oceanic-sapphire"] .selected-banner-title { color: #2563eb }
html[data-theme="oceanic-sapphire"] .selected-banner.non-owner { background: #eff6ff; border-left-color: #3b82f6 }
html[data-theme="oceanic-sapphire"] .seller-count { background: #b91c1c }
html[data-theme="oceanic-sapphire"] .severity.high { background: #b91c1c }
html[data-theme="oceanic-sapphire"] .severity.low { background: #2563eb }
html[data-theme="oceanic-sapphire"] .severity.medium { background: #3b82f6 }
html[data-theme="oceanic-sapphire"] .stat-badge { background: #f4f8ff }
html[data-theme="oceanic-sapphire"] .stat-badge.likes { color: #2563eb }
html[data-theme="oceanic-sapphire"] .stat-badge.reports { color: #b91c1c }
html[data-theme="oceanic-sapphire"] .status-approved { background: #eff6ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .status-attention { background: #fdecec; color: #b91c1c }
html[data-theme="oceanic-sapphire"] .status-badge { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .status-pending { color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .status-rejected { background: #fdecec; color: #b91c1c }
html[data-theme="oceanic-sapphire"] .status-strong { background: #eff6ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .status-watch { background: #eff6ff; color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .stock-badge { background: #eaf3ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .stock-badge.low { color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .stock-badge.out { background: #fdecec; color: #b91c1c }
html[data-theme="oceanic-sapphire"] .stock-pill { background: #eff6ff; color: #2563eb }
html[data-theme="oceanic-sapphire"] .stock-pill.out { background: #fdecec; color: #b91c1c }
html[data-theme="oceanic-sapphire"] .submit-btn.add { background: #2563eb }
html[data-theme="oceanic-sapphire"] .submit-btn.addstock { background: #3b82f6 }
html[data-theme="oceanic-sapphire"] .submit-btn.update { background: #2563eb }
html[data-theme="oceanic-sapphire"] .system-admin-btn { color: #1d4ed8 }
html[data-theme="oceanic-sapphire"] .tag { background: #eaf3ff }
html[data-theme="oceanic-sapphire"] .today-badge { background: #2563eb }
html[data-theme="oceanic-sapphire"] .total-value { color: #2563eb }
html[data-theme="oceanic-sapphire"] .upload-btn { background: #2563eb }
html[data-theme="oceanic-sapphire"] .upload-progress { color: #2563eb }
html[data-theme="oceanic-sapphire"] .zimesomwa-btn { background: #2563eb }


/* ---- Success semantics kept green (the layer above turns every brand
        accent sapphire, so the handful of elements that MEAN "ok" get
        their green back; warnings stay amber and danger stays red) ---- */
html[data-theme="oceanic-sapphire"] .b-ok,
html[data-theme="oceanic-sapphire"] .alert-ok,
html[data-theme="oceanic-sapphire"] .banner.ok,
html[data-theme="oceanic-sapphire"] .btn-enable,
html[data-theme="oceanic-sapphire"] .ai-verified-tag,
html[data-theme="oceanic-sapphire"] .badge-success,
html[data-theme="oceanic-sapphire"] .status-approved,
html[data-theme="oceanic-sapphire"] .approved-text,
html[data-theme="oceanic-sapphire"] .dm-entry-banner[data-kind="success"] {
    background-color: #eaf7ef;
    color: #15803d;
}
html[data-theme="oceanic-sapphire"] .ai-summary-chip.ok,
html[data-theme="oceanic-sapphire"] .btn-approve {
    background-color: #16a34a;
    color: #ffffff;
}
html[data-theme="oceanic-sapphire"] .approved-text {
    background-color: transparent;
    color: #15803d;
}

/* ---- Info / warn / danger chips: sapphire info, amber warning, red danger ---- */
html[data-theme="oceanic-sapphire"] .b-info,
html[data-theme="oceanic-sapphire"] .alert-info {
    background-color: #eaf3ff;
    color: #1d4ed8;
}
html[data-theme="oceanic-sapphire"] .b-warn,
html[data-theme="oceanic-sapphire"] .alert-warn,
html[data-theme="oceanic-sapphire"] .banner.warn,
html[data-theme="oceanic-sapphire"] .ai-warn,
html[data-theme="oceanic-sapphire"] .badge-warning,
html[data-theme="oceanic-sapphire"] .ai-status.review,
html[data-theme="oceanic-sapphire"] .ai-summary-chip.review {
    background-color: #fef3c7;
    color: #b45309;
}
html[data-theme="oceanic-sapphire"] .b-danger,
html[data-theme="oceanic-sapphire"] .alert-err,
html[data-theme="oceanic-sapphire"] .banner.err {
    background-color: #fdecec;
    color: #b91c1c;
}
html[data-theme="oceanic-sapphire"] .b-muted,
html[data-theme="oceanic-sapphire"] .btn-disable {
    background-color: #f4f8ff;
    color: #64748b;
}

/* ---- Status badges: the layer above gives every badge the ice tint, but a
        badge that keeps a success green label needs the matching green wash
        (green on ice blue reads at 2.6:1, green on its own wash at 4.5:1) ---- */
html[data-theme="oceanic-sapphire"] .status-badge {
    background: #eaf7ef;
    color: #15803d;
}
html[data-theme="oceanic-sapphire"] .status-badge.badge-warning {
    background: #fef3c7;
    color: #b45309;
}
html[data-theme="oceanic-sapphire"] .status-badge.badge-danger {
    background: #fdecec;
    color: #b91c1c;
}
