/**
 * Design Tokens - Semantic theme architecture.
 * Single source of truth. No hardcoded colors in components.
 * WCAG 4.5:1 minimum contrast for text.
 */

/* ========== LIGHT (default) - Semantic tokens ========== */
:root,
[data-theme="default"] {
  /* Surfaces */
  --bg-body: #f3f5f9;
  --bg-card: #ffffff;
  --bg-table: #ffffff;
  --bg-table-header: #eef1f7;
  --bg-input: #ffffff;
  --bg-sidebar: #1e293b;

  /* Overlays / UI popovers */
  --bg-dropdown: var(--bg-card);
  --bg-popover: var(--bg-card);
  --bg-panel: var(--bg-card);
  --bg-tag: color-mix(in srgb, var(--primary-color) 10%, var(--bg-card));
  --text-tag: var(--text-primary);

  /* Typography */
  --text-primary: #1f2937;
  --text-secondary: #6b7280;
  --text-inverse: #ffffff;

  /* Borders */
  --border-color: rgba(0, 0, 0, 0.08);

  /* Inputs */
  --input-bg: #ffffff;
  --input-text: #1f2937;
  --input-placeholder: #6b7280;
  --input-border: rgba(0, 0, 0, 0.08);

  /* Primary / Accent */
  --primary-color: #6366f1;
  --primary-hover: #4338ca;

  /* Status - semantic, WCAG compliant */
  --status-success-bg: #10b981;
  --status-success-text: #ffffff;
  --status-warning-bg: #f59e0b;
  --status-warning-text: #1f2937;
  --status-danger-bg: #ef4444;
  --status-danger-text: #ffffff;
  --status-hold-bg: #dc2626;
  --status-hold-text: #ffffff;
  --status-info-bg: #0ea5e9;
  --status-info-text: #ffffff;
  --status-neutral-bg: #6b7280;
  --status-neutral-text: #ffffff;

  /* Shadows - theme-aware */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.1);

  /* Brand (fixed) */
  --brand-whatsapp: #25d366;

  /* Legacy aliases */
  --bg-main: var(--bg-body);
  --bg-1: var(--bg-body);
  --bg-2: var(--bg-card);
  --bg-3: var(--bg-table-header);
  --text-main: var(--text-primary);
  --text-1: var(--text-primary);
  --text-2: var(--text-secondary);
  --text-muted: var(--text-secondary);
  --border-1: var(--border-color);
  --accent-1: var(--primary-color);
  --accent-2: #8b5cf6;
  --accent-hover: var(--primary-hover);
  --accent-success: var(--status-success-bg);
  --accent-warning: var(--status-warning-bg);
  --accent-danger: var(--status-danger-bg);
  --accent-info: var(--status-info-bg);
  --success: var(--status-success-bg);
  --warning: var(--status-warning-bg);
  --danger: var(--status-danger-bg);
  --radius-base: 14px;
  --shadow-soft: var(--shadow-lg);
  --shadow-hover: 0 8px 28px rgba(0, 0, 0, 0.1);
  --font-primary: 'Cairo', 'Tajawal', 'Segoe UI', Tahoma, sans-serif;
  --focus-ring: rgba(99, 91, 255, 0.2);
  --row-hover: rgba(99, 91, 255, 0.06);
  --transition: 0.3s ease;
  --text-sidebar: #94a3b8;
  --text-sidebar-hover: #f1f5f9;
  --sidebar-hover-bg: rgba(99, 102, 241, 0.14);
  --sidebar-hover-text: #e2e8f0;
}

  color-scheme: light;
}

@supports not (color: color-mix(in srgb, #000, #fff)) {
  :root,
  [data-theme="default"] {
    --bg-tag: var(--bg-table-header);
  }
}

/* ========== DARK - Semantic tokens ========== */
[data-theme="dark"] {
  --bg-body: #0f172a;
  --bg-card: #1e293b;
  --bg-table: #1e293b;
  --bg-table-header: #334155;
  --bg-input: #1e293b;

  --bg-dropdown: var(--bg-card);
  --bg-popover: var(--bg-card);
  --bg-panel: var(--bg-card);
  --bg-tag: color-mix(in srgb, var(--primary-color) 18%, var(--bg-card));
  --text-tag: var(--text-primary);

  --text-primary: #f1f5f9;
  --text-secondary: #cbd5e1;
  --text-inverse: #ffffff;

  --border-color: rgba(255, 255, 255, 0.12);

  --input-bg: #1e293b;
  --input-text: #f8fafc;
  --input-placeholder: #94a3b8;
  --input-border: rgba(255, 255, 255, 0.12);

  --primary-color: #8b5cf6;
  --primary-hover: #6d28d9;

  --status-success-bg: #22c55e;
  --status-success-text: #ffffff;
  --status-warning-bg: #fbbf24;
  --status-warning-text: #1f2937;
  --status-danger-bg: #ef4444;
  --status-danger-text: #ffffff;
  --status-hold-bg: #dc2626;
  --status-hold-text: #ffffff;
  --status-info-bg: #38bdf8;
  --status-info-text: #0f172a;
  --status-neutral-bg: #64748b;
  --status-neutral-text: #ffffff;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.5);

  --bg-main: var(--bg-body);
  --bg-1: var(--bg-body);
  --bg-2: var(--bg-card);
  --bg-3: var(--bg-table-header);
  --text-main: var(--text-primary);
  --text-1: var(--text-primary);
  --text-2: var(--text-secondary);
  --text-muted: var(--text-secondary);
  --border-1: var(--border-color);
  --accent-1: var(--primary-color);
  --accent-2: #7c3aed;
  --accent-hover: var(--primary-hover);
  --accent-success: var(--status-success-bg);
  --accent-warning: var(--status-warning-bg);
  --accent-danger: var(--status-danger-bg);
  --accent-info: var(--status-info-bg);
  --success: var(--status-success-bg);
  --warning: var(--status-warning-bg);
  --danger: var(--status-danger-bg);
  --radius-base: 12px;
  --shadow-soft: var(--shadow-lg);
  --shadow-hover: 0 8px 28px rgba(0, 0, 0, 0.45);
  --font-primary: 'Cairo', 'Tajawal', 'Segoe UI', Tahoma, sans-serif;
  --focus-ring: rgba(139, 92, 246, 0.35);
  --row-hover: rgba(139, 92, 246, 0.12);
  --transition: 0.3s ease;
  --text-sidebar: #94a3b8;
  --text-sidebar-hover: #f1f5f9;

  --bs-body-bg: var(--bg-body);
  --bs-body-color: var(--text-primary);
  --bs-secondary-color: var(--text-secondary);
  --bs-tertiary-bg: var(--bg-card);
  --bs-border-color: var(--border-color);
  --bs-input-bg: var(--input-bg);
  --bs-input-border-color: var(--input-border);
  --bs-input-color: var(--input-text);
  --bs-input-placeholder-color: var(--input-placeholder);
  --bs-dropdown-bg: var(--bg-card);
  --bs-dropdown-link-color: var(--text-primary);
}

/* ========== MIDNIGHT ========== */
[data-theme="midnight"] {
  --bg-body: #0C0F1A;
  --bg-card: #151922;
  --bg-table: #151922;
  --bg-table-header: #1E2433;
  --bg-input: #151922;

  --text-primary: #E8EAEF;
  --text-secondary: #b8bfd4;
  --text-inverse: #FFFFFF;

  --border-color: rgba(255, 255, 255, 0.08);

  --input-bg: #151922;
  --input-text: #f8fafc;
  --input-placeholder: #94a3b8;
  --input-border: rgba(255, 255, 255, 0.08);

  --primary-color: #06B6D4;
  --primary-hover: #0E7490;

  --status-success-bg: #10B981;
  --status-success-text: #ffffff;
  --status-warning-bg: #F59E0B;
  --status-warning-text: #1f2937;
  --status-danger-bg: #F43F5E;
  --status-danger-text: #ffffff;
  --status-hold-bg: #dc2626;
  --status-hold-text: #ffffff;
  --status-info-bg: #06B6D4;
  --status-info-text: #0f172a;
  --status-neutral-bg: #64748b;
  --status-neutral-text: #ffffff;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);

  --bg-main: var(--bg-body);
  --bg-1: var(--bg-body);
  --bg-2: var(--bg-card);
  --bg-3: var(--bg-table-header);
  --bg-sidebar: #080B12;
  --text-main: var(--text-primary);
  --text-1: var(--text-primary);
  --text-2: var(--text-secondary);
  --text-muted: var(--text-secondary);
  --border-1: var(--border-color);
  --accent-1: var(--primary-color);
  --accent-2: #0891B2;
  --accent-hover: var(--primary-hover);
  --accent-success: var(--status-success-bg);
  --accent-warning: var(--status-warning-bg);
  --accent-danger: var(--status-danger-bg);
  --accent-info: var(--status-info-bg);
  --radius-base: 10px;
  --shadow-soft: var(--shadow-lg);
  --shadow-hover: 0 8px 32px rgba(0, 0, 0, 0.6);
  --font-primary: 'Cairo', 'Tajawal', 'Segoe UI', Tahoma, sans-serif;
  --focus-ring: rgba(6, 182, 212, 0.3);
  --row-hover: rgba(6, 182, 212, 0.08);
  --text-sidebar: #8B92A8;
  --text-sidebar-hover: #E8EAEF;

  --bs-body-bg: var(--bg-body);
  --bs-body-color: var(--text-primary);
  --bs-secondary-color: var(--text-secondary);
  --bs-tertiary-bg: var(--bg-card);
  --bs-border-color: var(--border-color);
  --bs-input-bg: var(--input-bg);
  --bs-input-border-color: var(--input-border);
  --bs-input-color: var(--input-text);
  --bs-input-placeholder-color: var(--input-placeholder);
  --bs-dropdown-bg: var(--bg-card);
  --bs-dropdown-link-color: var(--text-primary);
}

/* ========== ROYAL ========== */
[data-theme="royal"] {
  --bg-body: #1A1625;
  --bg-card: #252036;
  --bg-table: #252036;
  --bg-table-header: #302A45;
  --bg-input: #252036;

  --text-primary: #F3EFF9;
  --text-secondary: #c4b8e0;
  --text-inverse: #FFFFFF;

  --border-color: rgba(255, 255, 255, 0.1);

  --input-bg: #252036;
  --input-text: #f8fafc;
  --input-placeholder: #94a3b8;
  --input-border: rgba(255, 255, 255, 0.1);

  --primary-color: #A78BFA;
  --primary-hover: #7C3AED;

  --status-success-bg: #34D399;
  --status-success-text: #0f172a;
  --status-warning-bg: #FBBF24;
  --status-warning-text: #1f2937;
  --status-danger-bg: #F87171;
  --status-danger-text: #ffffff;
  --status-hold-bg: #dc2626;
  --status-hold-text: #ffffff;
  --status-info-bg: #67E8F9;
  --status-info-text: #0f172a;
  --status-neutral-bg: #64748b;
  --status-neutral-text: #ffffff;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.35);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.4);

  --bg-main: var(--bg-body);
  --bg-1: var(--bg-body);
  --bg-2: var(--bg-card);
  --bg-3: var(--bg-table-header);
  --bg-sidebar: #120F1A;
  --text-main: var(--text-primary);
  --text-1: var(--text-primary);
  --text-2: var(--text-secondary);
  --text-muted: var(--text-secondary);
  --border-1: var(--border-color);
  --accent-1: var(--primary-color);
  --accent-2: #8B5CF6;
  --accent-hover: var(--primary-hover);
  --accent-success: var(--status-success-bg);
  --accent-warning: var(--status-warning-bg);
  --accent-danger: var(--status-danger-bg);
  --accent-info: var(--status-info-bg);
  --radius-base: 14px;
  --shadow-soft: var(--shadow-lg);
  --shadow-hover: 0 8px 32px rgba(0, 0, 0, 0.5);
  --font-primary: 'Cairo', 'Tajawal', 'Segoe UI', Tahoma, sans-serif;
  --focus-ring: rgba(167, 139, 250, 0.3);
  --row-hover: rgba(167, 139, 250, 0.1);
  --text-sidebar: #A89CC9;
  --text-sidebar-hover: #F3EFF9;

  --bs-body-bg: var(--bg-body);
  --bs-body-color: var(--text-primary);
  --bs-secondary-color: var(--text-secondary);
  --bs-tertiary-bg: var(--bg-card);
  --bs-border-color: var(--border-color);
  --bs-input-bg: var(--input-bg);
  --bs-input-border-color: var(--input-border);
  --bs-input-color: var(--input-text);
  --bs-input-placeholder-color: var(--input-placeholder);
  --bs-dropdown-bg: var(--bg-card);
  --bs-dropdown-link-color: var(--text-primary);
}

/* ========== FOREST (light) ========== */
[data-theme="forest"] {
  --bg-body: #F0F7F4;
  --bg-card: #FFFFFF;
  --bg-table: #FFFFFF;
  --bg-table-header: #E8F0EC;
  --bg-input: #FFFFFF;

  --text-primary: #0F2922;
  --text-secondary: #4A6B5D;
  --text-inverse: #FFFFFF;

  --border-color: rgba(21, 59, 46, 0.12);

  --input-bg: #FFFFFF;
  --input-text: #0F2922;
  --input-placeholder: #4A6B5D;
  --input-border: rgba(21, 59, 46, 0.12);

  --primary-color: #059669;
  --primary-hover: #065F46;

  --status-success-bg: #059669;
  --status-success-text: #ffffff;
  --status-warning-bg: #D97706;
  --status-warning-text: #ffffff;
  --status-danger-bg: #DC2626;
  --status-danger-text: #ffffff;
  --status-hold-bg: #dc2626;
  --status-hold-text: #ffffff;
  --status-info-bg: #0284C7;
  --status-info-text: #ffffff;
  --status-neutral-bg: #4A6B5D;
  --status-neutral-text: #ffffff;

  --shadow-sm: 0 1px 3px rgba(21, 59, 46, 0.06);
  --shadow-md: 0 4px 12px rgba(21, 59, 46, 0.08);
  --shadow-lg: 0 4px 20px rgba(21, 59, 46, 0.08);

  --bg-main: var(--bg-body);
  --bg-1: var(--bg-body);
  --bg-2: var(--bg-card);
  --bg-3: var(--bg-table-header);
  --bg-sidebar: #1B3B2E;
  --text-main: var(--text-primary);
  --text-1: var(--text-primary);
  --text-2: var(--text-secondary);
  --text-muted: var(--text-secondary);
  --border-1: var(--border-color);
  --accent-1: var(--primary-color);
  --accent-2: #047857;
  --accent-hover: var(--primary-hover);
  --accent-success: var(--status-success-bg);
  --accent-warning: var(--status-warning-bg);
  --accent-danger: var(--status-danger-bg);
  --accent-info: var(--status-info-bg);
  --radius-base: 12px;
  --shadow-soft: var(--shadow-lg);
  --shadow-hover: 0 8px 28px rgba(21, 59, 46, 0.12);
  --font-primary: 'Cairo', 'Tajawal', 'Segoe UI', Tahoma, sans-serif;
  --focus-ring: rgba(5, 150, 105, 0.25);
  --row-hover: rgba(5, 150, 105, 0.06);
  --text-sidebar: #9EC4B5;
  --text-sidebar-hover: #F0F7F4;
}

/* ========== SUNSET ========== */
[data-theme="sunset"] {
  --bg-body: #1C1419;
  --bg-card: #2A1F28;
  --bg-table: #2A1F28;
  --bg-table-header: #3D2D38;
  --bg-input: #2A1F28;

  --text-primary: #FDF2F4;
  --text-secondary: #e0ced4;
  --text-inverse: #FFFFFF;

  --border-color: rgba(255, 255, 255, 0.1);

  --input-bg: #2A1F28;
  --input-text: #f8fafc;
  --input-placeholder: #94a3b8;
  --input-border: rgba(255, 255, 255, 0.1);

  --primary-color: #F472B6;
  --primary-hover: #DB2777;

  --status-success-bg: #34D399;
  --status-success-text: #0f172a;
  --status-warning-bg: #FBBF24;
  --status-warning-text: #1f2937;
  --status-danger-bg: #F87171;
  --status-danger-text: #ffffff;
  --status-hold-bg: #dc2626;
  --status-hold-text: #ffffff;
  --status-info-bg: #67E8F9;
  --status-info-text: #0f172a;
  --status-neutral-bg: #64748b;
  --status-neutral-text: #ffffff;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.45);

  --bg-main: var(--bg-body);
  --bg-1: var(--bg-body);
  --bg-2: var(--bg-card);
  --bg-3: var(--bg-table-header);
  --bg-sidebar: #140E12;
  --text-main: var(--text-primary);
  --text-1: var(--text-primary);
  --text-2: var(--text-secondary);
  --text-muted: var(--text-secondary);
  --border-1: var(--border-color);
  --accent-1: var(--primary-color);
  --accent-2: #EC4899;
  --accent-hover: var(--primary-hover);
  --accent-success: var(--status-success-bg);
  --accent-warning: var(--status-warning-bg);
  --accent-danger: var(--status-danger-bg);
  --accent-info: var(--status-info-bg);
  --radius-base: 14px;
  --shadow-soft: var(--shadow-lg);
  --shadow-hover: 0 8px 32px rgba(0, 0, 0, 0.55);
  --font-primary: 'Cairo', 'Tajawal', 'Segoe UI', Tahoma, sans-serif;
  --focus-ring: rgba(244, 114, 182, 0.35);
  --row-hover: rgba(244, 114, 182, 0.1);
  --text-sidebar: #C4A4AE;
  --text-sidebar-hover: #FDF2F4;

  --bs-body-bg: var(--bg-body);
  --bs-body-color: var(--text-primary);
  --bs-secondary-color: var(--text-secondary);
  --bs-tertiary-bg: var(--bg-card);
  --bs-border-color: var(--border-color);
  --bs-input-bg: var(--input-bg);
  --bs-input-border-color: var(--input-border);
  --bs-input-color: var(--input-text);
  --bs-input-placeholder-color: var(--input-placeholder);
  --bs-dropdown-bg: var(--bg-card);
  --bs-dropdown-link-color: var(--text-primary);
}

/* ========== BOOTSTRAP 5 DARK-THEME COMPATIBILITY ==========
   يُطبَّق على كل الثيمات الداكنة مرة واحدة.
   color-scheme: dark → المتصفح يعرض scrollbars ونماذج OS بالوضع الداكن.
   =========================================================== */
[data-theme="dark"],
[data-theme="midnight"],
[data-theme="royal"],
[data-theme="sunset"],
[data-theme="ocean"],
[data-theme="carbon"],
[data-theme="rose"],
[data-theme="nord"],
[data-theme="forest-dark"] {
  color-scheme: dark;

  /* Cards */
  --bs-card-bg:                    var(--bg-card);
  --bs-card-border-color:          var(--border-color);
  --bs-card-cap-bg:                var(--bg-table-header);
  --bs-card-cap-color:             var(--text-primary);
  --bs-card-color:                 var(--text-primary);

  /* Modals */
  --bs-modal-bg:                   var(--bg-card);
  --bs-modal-content-bg:           var(--bg-card);
  --bs-modal-content-border-color: var(--border-color);
  --bs-modal-header-bg:            var(--bg-card);
  --bs-modal-header-border-color:  var(--border-color);
  --bs-modal-footer-border-color:  var(--border-color);
  --bs-modal-color:                var(--text-primary);

  /* Tables */
  --bs-table-bg:                   transparent;
  --bs-table-color:                var(--text-primary);
  --bs-table-border-color:         var(--border-color);
  --bs-table-striped-bg:           var(--bg-table-header);
  --bs-table-striped-color:        var(--text-primary);
  --bs-table-hover-bg:             var(--row-hover);
  --bs-table-hover-color:          var(--text-primary);
  --bs-table-active-bg:            var(--row-hover);

  /* List groups */
  --bs-list-group-bg:              var(--bg-card);
  --bs-list-group-border-color:    var(--border-color);
  --bs-list-group-color:           var(--text-primary);
  --bs-list-group-action-color:    var(--text-primary);
  --bs-list-group-action-hover-bg: var(--row-hover);
  --bs-list-group-action-hover-color: var(--text-primary);
  --bs-list-group-action-active-bg: var(--bg-table-header);
  --bs-list-group-active-bg:       var(--primary-color);
  --bs-list-group-active-border-color: var(--primary-color);
  --bs-list-group-active-color:    var(--text-inverse);
  --bs-list-group-disabled-bg:     var(--bg-card);
  --bs-list-group-disabled-color:  var(--text-secondary);

  /* Pagination */
  --bs-pagination-bg:                  var(--bg-card);
  --bs-pagination-border-color:        var(--border-color);
  --bs-pagination-color:               var(--text-primary);
  --bs-pagination-hover-bg:            var(--bg-table-header);
  --bs-pagination-hover-border-color:  var(--border-color);
  --bs-pagination-hover-color:         var(--text-primary);
  --bs-pagination-active-bg:           var(--primary-color);
  --bs-pagination-active-border-color: var(--primary-color);
  --bs-pagination-active-color:        var(--text-inverse);
  --bs-pagination-disabled-bg:         var(--bg-table-header);
  --bs-pagination-disabled-border-color: var(--border-color);
  --bs-pagination-disabled-color:      var(--text-secondary);

  /* Navigation tabs & pills */
  --bs-nav-tabs-border-color:              var(--border-color);
  --bs-nav-tabs-link-hover-border-color:   var(--border-color);
  --bs-nav-tabs-link-active-bg:            var(--bg-card);
  --bs-nav-tabs-link-active-color:         var(--text-primary);
  --bs-nav-tabs-link-active-border-color:  var(--border-color);
  --bs-nav-pills-link-active-bg:           var(--primary-color);
  --bs-nav-pills-link-active-color:        var(--text-inverse);
  --bs-nav-link-color:                     var(--text-primary);
  --bs-nav-link-hover-color:               var(--primary-color);

  /* Accordion */
  --bs-accordion-bg:                   var(--bg-card);
  --bs-accordion-border-color:         var(--border-color);
  --bs-accordion-color:                var(--text-primary);
  --bs-accordion-btn-bg:               var(--bg-card);
  --bs-accordion-btn-color:            var(--text-primary);
  --bs-accordion-btn-active-bg:        var(--bg-table-header);
  --bs-accordion-btn-active-color:     var(--primary-color);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23f1f5f9'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csv xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23f1f5f9'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");

  /* Popovers & Tooltips */
  --bs-popover-bg:                 var(--bg-card);
  --bs-popover-border-color:       var(--border-color);
  --bs-popover-header-bg:          var(--bg-table-header);
  --bs-popover-header-color:       var(--text-primary);
  --bs-popover-body-color:         var(--text-primary);
  --bs-tooltip-bg:                 var(--bg-sidebar);
  --bs-tooltip-color:              var(--text-inverse);

  /* Alerts */
  --bs-alert-bg:                   var(--bg-table-header);
  --bs-alert-color:                var(--text-primary);
  --bs-alert-border-color:         var(--border-color);

  /* Progress */
  --bs-progress-bg:                var(--bg-table-header);
  --bs-progress-bar-bg:            var(--primary-color);
  --bs-progress-bar-color:         var(--text-inverse);

  /* Offcanvas */
  --bs-offcanvas-bg:               var(--bg-card);
  --bs-offcanvas-color:            var(--text-primary);
  --bs-offcanvas-border-color:     var(--border-color);

  /* Close button */
  --bs-btn-close-color:            var(--text-primary);
  --bs-btn-close-opacity:          0.7;

  /* Links */
  --bs-link-color:                 var(--primary-color);
  --bs-link-hover-color:           var(--primary-hover);

  /* Form checks / switches */
  --bs-form-check-bg:              var(--input-bg);
  --bs-form-switch-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255%2c255%2c255%2c.3%29'/%3e%3c/svg%3e");
}

/* light themes declare color-scheme explicitly */
[data-theme="default"],
[data-theme="forest"],
[data-theme="sky"],
[data-theme="warm"],
[data-theme="blossom"],
[data-theme="lavender"],
[data-theme="teal"],
[data-theme="slate"] {
  color-scheme: light;
}

/* ========== NEW THEMES ============================================ */

/* --- SKY: فاتح — سماوي أزرق نظيف (Professional Azure) --- */
[data-theme="sky"] {
  --bg-body:            #f0f7ff;
  --bg-card:            #ffffff;
  --bg-table:           #ffffff;
  --bg-table-header:    #dbeafe;
  --bg-input:           #ffffff;
  --bg-sidebar:         #0c4a6e;
  --bg-dropdown: var(--bg-card); --bg-popover: var(--bg-card); --bg-panel: var(--bg-card);
  --bg-tag: color-mix(in srgb, var(--primary-color) 10%, var(--bg-card));
  --text-tag: var(--text-primary);
  --text-primary:       #0c2340;
  --text-secondary:     #1d4ed8;
  --text-inverse:       #ffffff;
  --border-color:       rgba(29, 78, 216, 0.14);
  --input-bg:           #ffffff;
  --input-text:         #0c2340;
  --input-placeholder:  #2563eb;
  --input-border:       rgba(29, 78, 216, 0.2);
  --primary-color:      #0284c7;
  --primary-hover:      #0369a1;
  --status-success-bg: #059669; --status-success-text: #fff;
  --status-warning-bg: #d97706; --status-warning-text: #fff;
  --status-danger-bg:  #dc2626; --status-danger-text: #fff;
  --status-hold-bg:    #dc2626; --status-hold-text: #fff;
  --status-info-bg:    #0284c7; --status-info-text: #fff;
  --status-neutral-bg: #64748b; --status-neutral-text: #fff;
  --shadow-sm: 0 1px 3px rgba(2,132,199,.08); --shadow-md: 0 4px 12px rgba(2,132,199,.12); --shadow-lg: 0 10px 25px rgba(2,132,199,.14);
  --bg-main: var(--bg-body); --bg-1: var(--bg-body); --bg-2: var(--bg-card); --bg-3: var(--bg-table-header);
  --text-main: var(--text-primary); --text-1: var(--text-primary); --text-2: var(--text-secondary);
  --text-muted: var(--text-secondary); --border-1: var(--border-color); --accent-1: var(--primary-color);
  --accent-2: #0369a1; --accent-hover: var(--primary-hover);
  --accent-success: var(--status-success-bg); --accent-warning: var(--status-warning-bg);
  --accent-danger: var(--status-danger-bg); --accent-info: var(--status-info-bg);
  --success: var(--status-success-bg); --warning: var(--status-warning-bg); --danger: var(--status-danger-bg);
  --radius-base: 12px; --shadow-soft: var(--shadow-lg); --shadow-hover: 0 8px 28px rgba(2,132,199,.18);
  --font-primary: 'Cairo', 'Tajawal', 'Segoe UI', Tahoma, sans-serif;
  --focus-ring: rgba(2,132,199,.22); --row-hover: rgba(2,132,199,.06); --transition: 0.3s ease;
  --text-sidebar: #7dd3fc; --text-sidebar-hover: #f0f9ff;
  --sidebar-hover-bg: rgba(2,132,199,.18); --sidebar-hover-text: #f0f9ff;
}

/* --- WARM: فاتح — ذهبي دافئ (Amber Professional) --- */
[data-theme="warm"] {
  --bg-body:            #fffbf0;
  --bg-card:            #ffffff;
  --bg-table:           #ffffff;
  --bg-table-header:    #fef3c7;
  --bg-input:           #ffffff;
  --bg-sidebar:         #451a03;
  --bg-dropdown: var(--bg-card); --bg-popover: var(--bg-card); --bg-panel: var(--bg-card);
  --bg-tag: color-mix(in srgb, var(--primary-color) 10%, var(--bg-card));
  --text-tag: var(--text-primary);
  --text-primary:       #1c0a00;
  --text-secondary:     #92400e;
  --text-inverse:       #ffffff;
  --border-color:       rgba(146,64,14,.15);
  --input-bg:           #ffffff;
  --input-text:         #1c0a00;
  --input-placeholder:  #92400e;
  --input-border:       rgba(146,64,14,.2);
  --primary-color:      #d97706;
  --primary-hover:      #b45309;
  --status-success-bg: #059669; --status-success-text: #fff;
  --status-warning-bg: #d97706; --status-warning-text: #fff;
  --status-danger-bg:  #dc2626; --status-danger-text: #fff;
  --status-hold-bg:    #dc2626; --status-hold-text: #fff;
  --status-info-bg:    #0284c7; --status-info-text: #fff;
  --status-neutral-bg: #78716c; --status-neutral-text: #fff;
  --shadow-sm: 0 1px 3px rgba(217,119,6,.08); --shadow-md: 0 4px 12px rgba(217,119,6,.12); --shadow-lg: 0 10px 25px rgba(217,119,6,.14);
  --bg-main: var(--bg-body); --bg-1: var(--bg-body); --bg-2: var(--bg-card); --bg-3: var(--bg-table-header);
  --text-main: var(--text-primary); --text-1: var(--text-primary); --text-2: var(--text-secondary);
  --text-muted: var(--text-secondary); --border-1: var(--border-color); --accent-1: var(--primary-color);
  --accent-2: #b45309; --accent-hover: var(--primary-hover);
  --accent-success: var(--status-success-bg); --accent-warning: var(--status-warning-bg);
  --accent-danger: var(--status-danger-bg); --accent-info: var(--status-info-bg);
  --success: var(--status-success-bg); --warning: var(--status-warning-bg); --danger: var(--status-danger-bg);
  --radius-base: 12px; --shadow-soft: var(--shadow-lg); --shadow-hover: 0 8px 28px rgba(217,119,6,.18);
  --font-primary: 'Cairo', 'Tajawal', 'Segoe UI', Tahoma, sans-serif;
  --focus-ring: rgba(217,119,6,.25); --row-hover: rgba(217,119,6,.06); --transition: 0.3s ease;
  --text-sidebar: #fbbf24; --text-sidebar-hover: #fef3c7;
  --sidebar-hover-bg: rgba(217,119,6,.2); --sidebar-hover-text: #fef3c7;
}

/* --- OCEAN: داكن — أعماق المحيط (Deep Ocean) --- */
[data-theme="ocean"] {
  --bg-body:            #071628;
  --bg-card:            #0d2137;
  --bg-table:           #0d2137;
  --bg-table-header:    #102840;
  --bg-input:           #0d2137;
  --bg-sidebar:         #040e1a;
  --bg-dropdown: var(--bg-card); --bg-popover: var(--bg-card); --bg-panel: var(--bg-card);
  --bg-tag: color-mix(in srgb, var(--primary-color) 18%, var(--bg-card));
  --text-tag: var(--text-primary);
  --text-primary:       #e0f2fe;
  --text-secondary:     #7dd3fc;
  --text-inverse:       #ffffff;
  --border-color:       rgba(125,211,252,.1);
  --input-bg:           #0d2137;
  --input-text:         #e0f2fe;
  --input-placeholder:  #7dd3fc;
  --input-border:       rgba(125,211,252,.15);
  --primary-color:      #22d3ee;
  --primary-hover:      #06b6d4;
  --status-success-bg: #34d399; --status-success-text: #042f2e;
  --status-warning-bg: #fbbf24; --status-warning-text: #1c1917;
  --status-danger-bg:  #f87171; --status-danger-text: #fff;
  --status-hold-bg:    #dc2626; --status-hold-text: #fff;
  --status-info-bg:    #22d3ee; --status-info-text: #042f2e;
  --status-neutral-bg: #64748b; --status-neutral-text: #fff;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.4); --shadow-md: 0 4px 16px rgba(0,0,0,.5); --shadow-lg: 0 10px 30px rgba(0,0,0,.55);
  --bg-main: var(--bg-body); --bg-1: var(--bg-body); --bg-2: var(--bg-card); --bg-3: var(--bg-table-header);
  --text-main: var(--text-primary); --text-1: var(--text-primary); --text-2: var(--text-secondary);
  --text-muted: var(--text-secondary); --border-1: var(--border-color); --accent-1: var(--primary-color);
  --accent-2: #06b6d4; --accent-hover: var(--primary-hover);
  --accent-success: var(--status-success-bg); --accent-warning: var(--status-warning-bg);
  --accent-danger: var(--status-danger-bg); --accent-info: var(--status-info-bg);
  --success: var(--status-success-bg); --warning: var(--status-warning-bg); --danger: var(--status-danger-bg);
  --radius-base: 12px; --shadow-soft: var(--shadow-lg); --shadow-hover: 0 8px 32px rgba(34,211,238,.12);
  --font-primary: 'Cairo', 'Tajawal', 'Segoe UI', Tahoma, sans-serif;
  --focus-ring: rgba(34,211,238,.28); --row-hover: rgba(34,211,238,.07); --transition: 0.3s ease;
  --text-sidebar: #7dd3fc; --text-sidebar-hover: #e0f2fe;
  --sidebar-hover-bg: rgba(34,211,238,.1); --sidebar-hover-text: #e0f2fe;
  --bs-body-bg: var(--bg-body); --bs-body-color: var(--text-primary);
  --bs-secondary-color: var(--text-secondary); --bs-tertiary-bg: var(--bg-card);
  --bs-border-color: var(--border-color); --bs-input-bg: var(--input-bg);
  --bs-input-border-color: var(--input-border); --bs-input-color: var(--input-text);
  --bs-dropdown-bg: var(--bg-card); --bs-dropdown-link-color: var(--text-primary);
}

/* --- CARBON: داكن — فحم أسود مع برتقالي (Developer Dark) --- */
[data-theme="carbon"] {
  --bg-body:            #0d1117;
  --bg-card:            #161b22;
  --bg-table:           #161b22;
  --bg-table-header:    #21262d;
  --bg-input:           #0d1117;
  --bg-sidebar:         #080b0f;
  --bg-dropdown: var(--bg-card); --bg-popover: var(--bg-card); --bg-panel: var(--bg-card);
  --bg-tag: color-mix(in srgb, var(--primary-color) 15%, var(--bg-card));
  --text-tag: var(--text-primary);
  --text-primary:       #e6edf3;
  --text-secondary:     #8d96a0;
  --text-inverse:       #ffffff;
  --border-color:       rgba(240,246,252,.1);
  --input-bg:           #0d1117;
  --input-text:         #e6edf3;
  --input-placeholder:  #8d96a0;
  --input-border:       rgba(240,246,252,.15);
  --primary-color:      #f0883e;
  --primary-hover:      #db6d28;
  --status-success-bg: #3fb950; --status-success-text: #fff;
  --status-warning-bg: #d29922; --status-warning-text: #fff;
  --status-danger-bg:  #f85149; --status-danger-text: #fff;
  --status-hold-bg:    #da3633; --status-hold-text: #fff;
  --status-info-bg:    #388bfd; --status-info-text: #fff;
  --status-neutral-bg: #6e7681; --status-neutral-text: #fff;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.5); --shadow-md: 0 4px 16px rgba(0,0,0,.6); --shadow-lg: 0 10px 30px rgba(0,0,0,.65);
  --bg-main: var(--bg-body); --bg-1: var(--bg-body); --bg-2: var(--bg-card); --bg-3: var(--bg-table-header);
  --text-main: var(--text-primary); --text-1: var(--text-primary); --text-2: var(--text-secondary);
  --text-muted: var(--text-secondary); --border-1: var(--border-color); --accent-1: var(--primary-color);
  --accent-2: #db6d28; --accent-hover: var(--primary-hover);
  --accent-success: var(--status-success-bg); --accent-warning: var(--status-warning-bg);
  --accent-danger: var(--status-danger-bg); --accent-info: var(--status-info-bg);
  --success: var(--status-success-bg); --warning: var(--status-warning-bg); --danger: var(--status-danger-bg);
  --radius-base: 8px; --shadow-soft: var(--shadow-lg); --shadow-hover: 0 8px 32px rgba(0,0,0,.7);
  --font-primary: 'Cairo', 'Tajawal', 'Segoe UI', Tahoma, sans-serif;
  --focus-ring: rgba(240,136,62,.3); --row-hover: rgba(240,136,62,.07); --transition: 0.3s ease;
  --text-sidebar: #8d96a0; --text-sidebar-hover: #e6edf3;
  --sidebar-hover-bg: rgba(240,136,62,.1); --sidebar-hover-text: #e6edf3;
  --bs-body-bg: var(--bg-body); --bs-body-color: var(--text-primary);
  --bs-secondary-color: var(--text-secondary); --bs-tertiary-bg: var(--bg-card);
  --bs-border-color: var(--border-color); --bs-input-bg: var(--input-bg);
  --bs-input-border-color: var(--input-border); --bs-input-color: var(--input-text);
  --bs-dropdown-bg: var(--bg-card); --bs-dropdown-link-color: var(--text-primary);
}

/* --- ROSE: داكن — وردي أنيق (Elegant Dark Rose) --- */
[data-theme="rose"] {
  --bg-body:            #130b11;
  --bg-card:            #1e1018;
  --bg-table:           #1e1018;
  --bg-table-header:    #2a1522;
  --bg-input:           #1e1018;
  --bg-sidebar:         #0a0608;
  --bg-dropdown: var(--bg-card); --bg-popover: var(--bg-card); --bg-panel: var(--bg-card);
  --bg-tag: color-mix(in srgb, var(--primary-color) 15%, var(--bg-card));
  --text-tag: var(--text-primary);
  --text-primary:       #fce7f3;
  --text-secondary:     #f9a8d4;
  --text-inverse:       #ffffff;
  --border-color:       rgba(249,168,212,.12);
  --input-bg:           #1e1018;
  --input-text:         #fce7f3;
  --input-placeholder:  #f9a8d4;
  --input-border:       rgba(249,168,212,.18);
  --primary-color:      #fb7185;
  --primary-hover:      #f43f5e;
  --status-success-bg: #34d399; --status-success-text: #022c22;
  --status-warning-bg: #fbbf24; --status-warning-text: #1c1917;
  --status-danger-bg:  #f87171; --status-danger-text: #fff;
  --status-hold-bg:    #dc2626; --status-hold-text: #fff;
  --status-info-bg:    #60a5fa; --status-info-text: #1e1b4b;
  --status-neutral-bg: #6b7280; --status-neutral-text: #fff;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.45); --shadow-md: 0 4px 16px rgba(0,0,0,.55); --shadow-lg: 0 10px 30px rgba(0,0,0,.6);
  --bg-main: var(--bg-body); --bg-1: var(--bg-body); --bg-2: var(--bg-card); --bg-3: var(--bg-table-header);
  --text-main: var(--text-primary); --text-1: var(--text-primary); --text-2: var(--text-secondary);
  --text-muted: var(--text-secondary); --border-1: var(--border-color); --accent-1: var(--primary-color);
  --accent-2: #f43f5e; --accent-hover: var(--primary-hover);
  --accent-success: var(--status-success-bg); --accent-warning: var(--status-warning-bg);
  --accent-danger: var(--status-danger-bg); --accent-info: var(--status-info-bg);
  --success: var(--status-success-bg); --warning: var(--status-warning-bg); --danger: var(--status-danger-bg);
  --radius-base: 14px; --shadow-soft: var(--shadow-lg); --shadow-hover: 0 8px 32px rgba(251,113,133,.15);
  --font-primary: 'Cairo', 'Tajawal', 'Segoe UI', Tahoma, sans-serif;
  --focus-ring: rgba(251,113,133,.3); --row-hover: rgba(251,113,133,.07); --transition: 0.3s ease;
  --text-sidebar: #f9a8d4; --text-sidebar-hover: #fce7f3;
  --sidebar-hover-bg: rgba(251,113,133,.12); --sidebar-hover-text: #fce7f3;
  --bs-body-bg: var(--bg-body); --bs-body-color: var(--text-primary);
  --bs-secondary-color: var(--text-secondary); --bs-tertiary-bg: var(--bg-card);
  --bs-border-color: var(--border-color); --bs-input-bg: var(--input-bg);
  --bs-input-border-color: var(--input-border); --bs-input-color: var(--input-text);
  --bs-dropdown-bg: var(--bg-card); --bs-dropdown-link-color: var(--text-primary);
}

/* --- NORD: داكن — نوردك هادئ (Arctic Nord) --- */
[data-theme="nord"] {
  --bg-body:            #1a1f2e;
  --bg-card:            #232936;
  --bg-table:           #232936;
  --bg-table-header:    #2e3647;
  --bg-input:           #1a1f2e;
  --bg-sidebar:         #12161f;
  --bg-dropdown: var(--bg-card); --bg-popover: var(--bg-card); --bg-panel: var(--bg-card);
  --bg-tag: color-mix(in srgb, var(--primary-color) 15%, var(--bg-card));
  --text-tag: var(--text-primary);
  --text-primary:       #d8dee9;
  --text-secondary:     #81a1c1;
  --text-inverse:       #ffffff;
  --border-color:       rgba(216,222,233,.1);
  --input-bg:           #1a1f2e;
  --input-text:         #d8dee9;
  --input-placeholder:  #81a1c1;
  --input-border:       rgba(216,222,233,.15);
  --primary-color:      #88c0d0;
  --primary-hover:      #5e81ac;
  --status-success-bg: #a3be8c; --status-success-text: #1a1f2e;
  --status-warning-bg: #ebcb8b; --status-warning-text: #1a1f2e;
  --status-danger-bg:  #bf616a; --status-danger-text: #fff;
  --status-hold-bg:    #bf616a; --status-hold-text: #fff;
  --status-info-bg:    #88c0d0; --status-info-text: #1a1f2e;
  --status-neutral-bg: #4c566a; --status-neutral-text: #d8dee9;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.35); --shadow-md: 0 4px 14px rgba(0,0,0,.45); --shadow-lg: 0 10px 28px rgba(0,0,0,.5);
  --bg-main: var(--bg-body); --bg-1: var(--bg-body); --bg-2: var(--bg-card); --bg-3: var(--bg-table-header);
  --text-main: var(--text-primary); --text-1: var(--text-primary); --text-2: var(--text-secondary);
  --text-muted: var(--text-secondary); --border-1: var(--border-color); --accent-1: var(--primary-color);
  --accent-2: #5e81ac; --accent-hover: var(--primary-hover);
  --accent-success: var(--status-success-bg); --accent-warning: var(--status-warning-bg);
  --accent-danger: var(--status-danger-bg); --accent-info: var(--status-info-bg);
  --success: var(--status-success-bg); --warning: var(--status-warning-bg); --danger: var(--status-danger-bg);
  --radius-base: 10px; --shadow-soft: var(--shadow-lg); --shadow-hover: 0 8px 28px rgba(136,192,208,.12);
  --font-primary: 'Cairo', 'Tajawal', 'Segoe UI', Tahoma, sans-serif;
  --focus-ring: rgba(136,192,208,.28); --row-hover: rgba(136,192,208,.07); --transition: 0.3s ease;
  --text-sidebar: #81a1c1; --text-sidebar-hover: #d8dee9;
  --sidebar-hover-bg: rgba(136,192,208,.1); --sidebar-hover-text: #d8dee9;
  --bs-body-bg: var(--bg-body); --bs-body-color: var(--text-primary);
  --bs-secondary-color: var(--text-secondary); --bs-tertiary-bg: var(--bg-card);
  --bs-border-color: var(--border-color); --bs-input-bg: var(--input-bg);
  --bs-input-border-color: var(--input-border); --bs-input-color: var(--input-text);
  --bs-dropdown-bg: var(--bg-card); --bs-dropdown-link-color: var(--text-primary);
}

/* --- BLOSSOM: فاتح — زهري ناعم أنيق (Soft Blossom) --- */
[data-theme="blossom"] {
  --bg-body:            #fff4f7;
  --bg-card:            #ffffff;
  --bg-table:           #ffffff;
  --bg-table-header:    #ffe4ed;
  --bg-input:           #ffffff;
  --bg-sidebar:         #500724;
  --bg-dropdown: var(--bg-card); --bg-popover: var(--bg-card); --bg-panel: var(--bg-card);
  --bg-tag: color-mix(in srgb, var(--primary-color) 10%, var(--bg-card));
  --text-tag: var(--text-primary);
  --text-primary:       #3b0018;
  --text-secondary:     #9d174d;
  --text-inverse:       #ffffff;
  --border-color:       rgba(157,23,77,.12);
  --input-bg:           #ffffff;
  --input-text:         #3b0018;
  --input-placeholder:  #9d174d;
  --input-border:       rgba(157,23,77,.18);
  --primary-color:      #e11d48;
  --primary-hover:      #be123c;
  --status-success-bg: #16a34a; --status-success-text: #fff;
  --status-warning-bg: #d97706; --status-warning-text: #fff;
  --status-danger-bg:  #dc2626; --status-danger-text: #fff;
  --status-hold-bg:    #dc2626; --status-hold-text: #fff;
  --status-info-bg:    #0284c7; --status-info-text: #fff;
  --status-neutral-bg: #6b7280; --status-neutral-text: #fff;
  --shadow-sm: 0 1px 3px rgba(225,29,72,.07); --shadow-md: 0 4px 12px rgba(225,29,72,.1); --shadow-lg: 0 10px 25px rgba(225,29,72,.12);
  --bg-main: var(--bg-body); --bg-1: var(--bg-body); --bg-2: var(--bg-card); --bg-3: var(--bg-table-header);
  --text-main: var(--text-primary); --text-1: var(--text-primary); --text-2: var(--text-secondary);
  --text-muted: var(--text-secondary); --border-1: var(--border-color); --accent-1: var(--primary-color);
  --accent-2: #be123c; --accent-hover: var(--primary-hover);
  --accent-success: var(--status-success-bg); --accent-warning: var(--status-warning-bg);
  --accent-danger: var(--status-danger-bg); --accent-info: var(--status-info-bg);
  --success: var(--status-success-bg); --warning: var(--status-warning-bg); --danger: var(--status-danger-bg);
  --radius-base: 14px; --shadow-soft: var(--shadow-lg); --shadow-hover: 0 8px 28px rgba(225,29,72,.16);
  --font-primary: 'Cairo', 'Tajawal', 'Segoe UI', Tahoma, sans-serif;
  --focus-ring: rgba(225,29,72,.22); --row-hover: rgba(225,29,72,.05); --transition: 0.3s ease;
  --text-sidebar: #fda4af; --text-sidebar-hover: #fff1f2;
  --sidebar-hover-bg: rgba(225,29,72,.2); --sidebar-hover-text: #fff1f2;
}

/* ══════════════════════════════════════════════════════════════
   PAIRED THEMES — كل ثيم فاتح عنده نظيره الداكن
   ══════════════════════════════════════════════════════════════ */

/* --- LAVENDER: فاتح بنفسجي (pair: royal) --- */
[data-theme="lavender"] {
  --bg-body:          #f5f3ff; --bg-card:          #ffffff;
  --bg-table:         #ffffff; --bg-table-header:  #ede9fe;
  --bg-input:         #ffffff; --bg-sidebar:       #2e1065;
  --bg-dropdown: var(--bg-card); --bg-popover: var(--bg-card); --bg-panel: var(--bg-card);
  --bg-tag: color-mix(in srgb, var(--primary-color) 10%, var(--bg-card)); --text-tag: var(--text-primary);
  --text-primary:     #1e1b4b; --text-secondary:   #5b21b6; --text-inverse: #ffffff;
  --border-color:     rgba(109,40,217,.12);
  --input-bg:#ffffff; --input-text:#1e1b4b; --input-placeholder:#7c3aed; --input-border:rgba(109,40,217,.2);
  --primary-color:    #7c3aed; --primary-hover:    #6d28d9;
  --status-success-bg:#059669;--status-success-text:#fff; --status-warning-bg:#d97706;--status-warning-text:#fff;
  --status-danger-bg:#dc2626;--status-danger-text:#fff; --status-hold-bg:#dc2626;--status-hold-text:#fff;
  --status-info-bg:#7c3aed;--status-info-text:#fff; --status-neutral-bg:#6b7280;--status-neutral-text:#fff;
  --shadow-sm:0 1px 3px rgba(124,58,237,.08); --shadow-md:0 4px 12px rgba(124,58,237,.12); --shadow-lg:0 10px 25px rgba(124,58,237,.14);
  --bg-main:var(--bg-body);--bg-1:var(--bg-body);--bg-2:var(--bg-card);--bg-3:var(--bg-table-header);
  --text-main:var(--text-primary);--text-1:var(--text-primary);--text-2:var(--text-secondary);
  --text-muted:var(--text-secondary);--border-1:var(--border-color);--accent-1:var(--primary-color);
  --accent-2:#a78bfa;--accent-hover:var(--primary-hover);
  --accent-success:var(--status-success-bg);--accent-warning:var(--status-warning-bg);
  --accent-danger:var(--status-danger-bg);--accent-info:var(--status-info-bg);
  --success:var(--status-success-bg);--warning:var(--status-warning-bg);--danger:var(--status-danger-bg);
  --radius-base:12px;--shadow-soft:var(--shadow-lg);--shadow-hover:0 8px 28px rgba(124,58,237,.18);
  --font-primary:'Cairo','Tajawal','Segoe UI',Tahoma,sans-serif;
  --focus-ring:rgba(124,58,237,.22);--row-hover:rgba(124,58,237,.06);--transition:0.3s ease;
  --text-sidebar:#c4b5fd;--text-sidebar-hover:#f5f3ff;
  --sidebar-hover-bg:rgba(124,58,237,.18);--sidebar-hover-text:#f5f3ff;
}

/* --- TEAL: فاتح فيروزي (pair: ocean) --- */
[data-theme="teal"] {
  --bg-body:          #f0fdfa; --bg-card:          #ffffff;
  --bg-table:         #ffffff; --bg-table-header:  #ccfbf1;
  --bg-input:         #ffffff; --bg-sidebar:       #134e4a;
  --bg-dropdown:var(--bg-card);--bg-popover:var(--bg-card);--bg-panel:var(--bg-card);
  --bg-tag:color-mix(in srgb,var(--primary-color) 10%,var(--bg-card));--text-tag:var(--text-primary);
  --text-primary:     #042f2e; --text-secondary:   #0f766e; --text-inverse:#ffffff;
  --border-color:     rgba(15,118,110,.12);
  --input-bg:#ffffff;--input-text:#042f2e;--input-placeholder:#0d9488;--input-border:rgba(15,118,110,.2);
  --primary-color:    #0d9488; --primary-hover:    #0f766e;
  --status-success-bg:#059669;--status-success-text:#fff; --status-warning-bg:#d97706;--status-warning-text:#fff;
  --status-danger-bg:#dc2626;--status-danger-text:#fff; --status-hold-bg:#dc2626;--status-hold-text:#fff;
  --status-info-bg:#0d9488;--status-info-text:#fff; --status-neutral-bg:#64748b;--status-neutral-text:#fff;
  --shadow-sm:0 1px 3px rgba(13,148,136,.08);--shadow-md:0 4px 12px rgba(13,148,136,.12);--shadow-lg:0 10px 25px rgba(13,148,136,.14);
  --bg-main:var(--bg-body);--bg-1:var(--bg-body);--bg-2:var(--bg-card);--bg-3:var(--bg-table-header);
  --text-main:var(--text-primary);--text-1:var(--text-primary);--text-2:var(--text-secondary);
  --text-muted:var(--text-secondary);--border-1:var(--border-color);--accent-1:var(--primary-color);
  --accent-2:#2dd4bf;--accent-hover:var(--primary-hover);
  --accent-success:var(--status-success-bg);--accent-warning:var(--status-warning-bg);
  --accent-danger:var(--status-danger-bg);--accent-info:var(--status-info-bg);
  --success:var(--status-success-bg);--warning:var(--status-warning-bg);--danger:var(--status-danger-bg);
  --radius-base:12px;--shadow-soft:var(--shadow-lg);--shadow-hover:0 8px 28px rgba(13,148,136,.18);
  --font-primary:'Cairo','Tajawal','Segoe UI',Tahoma,sans-serif;
  --focus-ring:rgba(13,148,136,.22);--row-hover:rgba(13,148,136,.06);--transition:0.3s ease;
  --text-sidebar:#5eead4;--text-sidebar-hover:#f0fdfa;
  --sidebar-hover-bg:rgba(13,148,136,.18);--sidebar-hover-text:#f0fdfa;
}

/* --- SLATE: فاتح رمادي نوردي (pair: nord) --- */
[data-theme="slate"] {
  --bg-body:          #eceff4; --bg-card:          #ffffff;
  --bg-table:         #ffffff; --bg-table-header:  #e5e9f0;
  --bg-input:         #ffffff; --bg-sidebar:       #2e3440;
  --bg-dropdown:var(--bg-card);--bg-popover:var(--bg-card);--bg-panel:var(--bg-card);
  --bg-tag:color-mix(in srgb,var(--primary-color) 10%,var(--bg-card));--text-tag:var(--text-primary);
  --text-primary:     #2e3440; --text-secondary:   #4c566a; --text-inverse:#eceff4;
  --border-color:     rgba(76,86,106,.12);
  --input-bg:#ffffff;--input-text:#2e3440;--input-placeholder:#4c566a;--input-border:rgba(76,86,106,.2);
  --primary-color:    #5e81ac; --primary-hover:    #4c6a96;
  --status-success-bg:#a3be8c;--status-success-text:#1a2a1a; --status-warning-bg:#ebcb8b;--status-warning-text:#2a1a00;
  --status-danger-bg:#bf616a;--status-danger-text:#fff; --status-hold-bg:#bf616a;--status-hold-text:#fff;
  --status-info-bg:#81a1c1;--status-info-text:#fff; --status-neutral-bg:#4c566a;--status-neutral-text:#eceff4;
  --shadow-sm:0 1px 3px rgba(46,52,64,.08);--shadow-md:0 4px 12px rgba(46,52,64,.1);--shadow-lg:0 10px 25px rgba(46,52,64,.12);
  --bg-main:var(--bg-body);--bg-1:var(--bg-body);--bg-2:var(--bg-card);--bg-3:var(--bg-table-header);
  --text-main:var(--text-primary);--text-1:var(--text-primary);--text-2:var(--text-secondary);
  --text-muted:var(--text-secondary);--border-1:var(--border-color);--accent-1:var(--primary-color);
  --accent-2:#81a1c1;--accent-hover:var(--primary-hover);
  --accent-success:var(--status-success-bg);--accent-warning:var(--status-warning-bg);
  --accent-danger:var(--status-danger-bg);--accent-info:var(--status-info-bg);
  --success:var(--status-success-bg);--warning:var(--status-warning-bg);--danger:var(--status-danger-bg);
  --radius-base:12px;--shadow-soft:var(--shadow-lg);--shadow-hover:0 8px 28px rgba(94,129,172,.18);
  --font-primary:'Cairo','Tajawal','Segoe UI',Tahoma,sans-serif;
  --focus-ring:rgba(94,129,172,.22);--row-hover:rgba(94,129,172,.06);--transition:0.3s ease;
  --text-sidebar:#8fbcbb;--text-sidebar-hover:#eceff4;
  --sidebar-hover-bg:rgba(94,129,172,.18);--sidebar-hover-text:#eceff4;
}

/* --- FOREST-DARK: داكن أخضر غابة (pair: forest) --- */
[data-theme="forest-dark"] {
  --bg-body:          #071a0d; --bg-card:          #0d2518;
  --bg-table:         #0d2518; --bg-table-header:  #163424;
  --bg-input:         #0d2518; --bg-sidebar:       #040f09;
  --bg-dropdown:var(--bg-card);--bg-popover:var(--bg-card);--bg-panel:var(--bg-card);
  --bg-tag:color-mix(in srgb,var(--primary-color) 18%,var(--bg-card));--text-tag:var(--text-primary);
  --text-primary:     #d1fae5; --text-secondary:   #6ee7b7; --text-inverse:#071a0d;
  --border-color:     rgba(110,231,183,.12);
  --input-bg:#0d2518;--input-text:#d1fae5;--input-placeholder:#6ee7b7;--input-border:rgba(110,231,183,.15);
  --primary-color:    #34d399; --primary-hover:    #10b981;
  --status-success-bg:#22c55e;--status-success-text:#071a0d; --status-warning-bg:#fbbf24;--status-warning-text:#1f2937;
  --status-danger-bg:#ef4444;--status-danger-text:#fff; --status-hold-bg:#dc2626;--status-hold-text:#fff;
  --status-info-bg:#34d399;--status-info-text:#071a0d; --status-neutral-bg:#6b7280;--status-neutral-text:#fff;
  --shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 10px 25px rgba(0,0,0,.5);
  --bg-main:var(--bg-body);--bg-1:var(--bg-body);--bg-2:var(--bg-card);--bg-3:var(--bg-table-header);
  --text-main:var(--text-primary);--text-1:var(--text-primary);--text-2:var(--text-secondary);
  --text-muted:var(--text-secondary);--border-1:var(--border-color);--accent-1:var(--primary-color);
  --accent-2:#86efac;--accent-hover:var(--primary-hover);
  --accent-success:var(--status-success-bg);--accent-warning:var(--status-warning-bg);
  --accent-danger:var(--status-danger-bg);--accent-info:var(--status-info-bg);
  --success:var(--status-success-bg);--warning:var(--status-warning-bg);--danger:var(--status-danger-bg);
  --radius-base:12px;--shadow-soft:var(--shadow-lg);--shadow-hover:0 8px 28px rgba(0,0,0,.5);
  --font-primary:'Cairo','Tajawal','Segoe UI',Tahoma,sans-serif;
  --focus-ring:rgba(52,211,153,.25);--row-hover:rgba(52,211,153,.08);--transition:0.3s ease;
  --text-sidebar:#86efac;--text-sidebar-hover:#d1fae5;
  --sidebar-hover-bg:rgba(52,211,153,.15);--sidebar-hover-text:#d1fae5;
}
