/* ═══════════════════════════════════════════════════════════════════════════
   COLOUR PALETTE — Single source of truth
   ═══════════════════════════════════════════════════════════════════════════
   This file overrides the theme defaults from style.bundle.css.
   Load it AFTER style.bundle.css so these values win.

   To change a colour:  edit it here → every badge, button, alert,
   border, and background that references it updates automatically.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Light mode ── */
:root,
[data-bs-theme=light] {

  /* Brand */
  --bs-primary:           #f7941d;
  --bs-primary-rgb:       247, 148, 29;
  --bs-primary-active:    #eb8c1a;
  --bs-primary-light:     #FFF4E6;
  --bs-primary-inverse:   #ffffff;

  /* Success (blue in this theme) */
  --bs-success:           #1B84FF;
  --bs-success-rgb:       27, 132, 255;
  --bs-success-active:    #107EFF;
  --bs-success-light:     #E9F3FF;
  --bs-success-inverse:   #ffffff;

  /* Info (purple) */
  --bs-info:              #7239EA;
  --bs-info-rgb:          114, 57, 234;
  --bs-info-active:       #8B5CF6;
  --bs-info-light:        #f1ecff;
  --bs-info-inverse:      #ffffff;

  /* Warning (gold) */
  --bs-warning:           #F6C000;
  --bs-warning-rgb:       246, 192, 0;
  --bs-warning-active:    #D9AA00;
  --bs-warning-light:     #FFF8DD;
  --bs-warning-inverse:   #000000;

  /* Danger (red) */
  --bs-danger:            #F8285A;
  --bs-danger-rgb:        248, 40, 90;
  --bs-danger-active:     #E0264F;
  --bs-danger-light:      #FFEEF3;
  --bs-danger-inverse:    #ffffff;

  /* Green (true green — court matched, positive states) */
  --bs-success-green:     #6bd368;
  --bs-green:             #198754;
  --bs-green-rgb:         25, 135, 84;
  --bs-green-light:       #28CB9B;

  /* Teal */
  --bs-teal:              #20c997;
  --bs-teal-rgb:          32, 201, 151;

  /* Neutrals */
  --bs-dark:              #1E2129;
  --bs-dark-rgb:          30, 33, 41;
  --bs-dark-light:        #F1F1F4;
  --bs-dark-inverse:      #ffffff;
  --bs-light:             #F9F9F9;
  --bs-light-rgb:         250, 250, 250;
  --bs-secondary:         #F1F1F4;
  --bs-secondary-rgb:     241, 241, 244;

  /* Gray scale (Metronic/Bootstrap) */
  --bs-gray-100:          #F9F9F9;
  --bs-gray-200:          #F1F1F4;
  --bs-gray-300:          #DBDFE9;
  --bs-gray-400:          #C4CADA;
  --bs-gray-500:          #99A1B7;
  --bs-gray-600:          #78829D;
  --bs-gray-700:          #4B5675;
  --bs-gray-800:          #252F4A;
  --bs-gray-900:          #071437;

  /* Slate scale (Tailwind — used in GOAT, admin, emails, tools) */
  --slate-50:             #f8fafc;
  --slate-100:            #f1f5f9;
  --slate-200:            #e2e8f0;
  --slate-300:            #cbd5e1;
  --slate-400:            #94a3b8;
  --slate-500:            #64748b;
  --slate-600:            #475569;
  --slate-700:            #334155;
  --slate-800:            #1e293b;
  --slate-900:            #0f172a;

  /* Accent greens (various shades used for positive/matched states) */
  --green-500:            #22c55e;
  --green-500-rgb:        34, 197, 94;
  --green-600:            #16a34a;
  --green-600-rgb:        22, 163, 74;
  --emerald-500:          #10b981;
  --emerald-500-rgb:      16, 185, 129;
  --emerald-600:          #059669;
  --emerald-600-rgb:      5, 150, 105;

  /* Accent reds (danger/error alternatives) */
  --red-500:              #ef4444;
  --red-500-rgb:          239, 68, 68;
  --red-600:              #dc2626;
  --red-600-rgb:          220, 38, 38;

  /* Accent blues */
  --blue-500:             #3b82f6;
  --blue-500-rgb:         59, 130, 246;
  --blue-600:             #2563eb;
  --blue-600-rgb:         37, 99, 235;

  /* Accent ambers */
  --amber-500:            #f59e0b;
  --amber-500-rgb:        245, 158, 11;
  --amber-600:            #d97706;
  --amber-600-rgb:        217, 119, 6;

  /* ── Tailwind --primary bridge (shadcn/Metronic use this) ── */
  --primary:            var(--bs-primary);

  /* ── Text utility overrides (Metronic hardcodes these — alias to --bs-*) ── */
  --bs-text-primary:    var(--bs-primary);
  --bs-text-success:    var(--bs-success);
  --bs-text-info:       var(--bs-info);
  --bs-text-warning:    var(--bs-warning);
  --bs-text-danger:     var(--bs-danger);

  /* ── Heading / link colour ── */
  --bs-heading-color:   var(--bs-primary);
  --bs-link-color:      var(--bs-primary);
  --bs-link-color-rgb:  var(--bs-primary-rgb);

  /* ── Component active/hover/checked (Metronic hardcodes to #f7941d) ── */
  --bs-component-active-bg:     var(--bs-primary);
  --bs-component-hover-color:   var(--bs-primary);
  --bs-component-active-color:  var(--bs-primary-inverse);
  --bs-component-checked-bg:    var(--bs-primary);
  --bs-component-checked-color: var(--bs-primary-inverse);

  /* ── Menu link active/hover colours ── */
  --bs-menu-link-color-hover:   var(--bs-primary);
  --bs-menu-link-color-show:    var(--bs-primary);
  --bs-menu-link-color-here:    var(--bs-primary);
  --bs-menu-link-color-active:  var(--bs-primary);

  /* ── Misc UI elements ── */
  --bs-scrolltop-bg-color:       var(--bs-primary);
  --bs-scrolltop-bg-color-hover: var(--bs-primary);
  --bs-progress-bar-bg:          var(--bs-primary);
  --bs-ribbon-label-bg:          var(--bs-primary);
  --bs-nav-pills-link-active-bg: var(--bs-primary);

  /* ── kt-* palette (badges & buttons reference these) ── */
  --kt-color-primary:     var(--bs-primary);
  --kt-color-success:     var(--bs-success);
  --kt-color-warning:     var(--bs-warning);
  --kt-color-danger:      var(--bs-danger);
  --kt-color-info:        var(--bs-info);
  --kt-color-muted:       var(--muted-foreground);
  --kt-color-green:       var(--bs-success-green);

  --kt-bg-primary:        color-mix(in oklab, var(--kt-color-primary) 15%, transparent);
  --kt-bg-success:        var(--bs-success-light);
  --kt-bg-warning:        var(--bs-warning-light);
  --kt-bg-danger:         var(--bs-danger-light);
  --kt-bg-info:           var(--bs-info-light);
  --kt-bg-muted:          var(--secondary, #f4f4f5);
  --kt-bg-green:          rgba(107, 211, 104, 0.15);

  --kt-border-primary:    color-mix(in oklab, var(--kt-color-primary) 30%, transparent);
  --kt-border-success:    rgba(var(--bs-success-rgb), 0.3);
  --kt-border-warning:    rgba(var(--bs-warning-rgb), 0.3);
  --kt-border-danger:     rgba(var(--bs-danger-rgb), 0.3);
  --kt-border-info:       rgba(var(--bs-info-rgb), 0.3);
  --kt-border-muted:      var(--border);
  --kt-border-green:      rgba(107, 211, 104, 0.3);

  --kt-solid-primary-fg:  var(--primary-foreground);
  --kt-solid-success-fg:  white;
  --kt-solid-warning-fg:  var(--color-yellow-950, #000);
  --kt-solid-danger-fg:   var(--destructive-foreground, white);
  --kt-solid-info-fg:     white;
  --kt-solid-green-fg:    white;
}

/* ── Dark mode ── */
[data-bs-theme=dark] {

  /* Brand */
  --bs-primary:           #f7941d;
  --bs-primary-rgb:       247, 148, 29;
  --bs-primary-active:    #eb8c1a;
  --bs-primary-light:     #1F212A;
  --bs-primary-inverse:   #ffffff;

  /* Success */
  --bs-success:           #006AE6;
  --bs-success-rgb:       0, 106, 230;
  --bs-success-active:    #107EFF;
  --bs-success-light:     #172331;
  --bs-success-inverse:   #ffffff;

  /* Info */
  --bs-info:              #883FFF;
  --bs-info-rgb:          136, 63, 255;
  --bs-info-active:       #9E63FF;
  --bs-info-light:        #272134;
  --bs-info-inverse:      #ffffff;

  /* Warning */
  --bs-warning:           #C59A00;
  --bs-warning-rgb:       197, 154, 0;
  --bs-warning-active:    #D9AA00;
  --bs-warning-light:     #242320;
  --bs-warning-inverse:   #ffffff;

  /* Danger */
  --bs-danger:            #E42855;
  --bs-danger-rgb:        228, 40, 85;
  --bs-danger-active:     #FF3767;
  --bs-danger-light:      #302024;
  --bs-danger-inverse:    #ffffff;

  /* Neutrals */
  --bs-dark:              #272A34;
  --bs-dark-rgb:          39, 42, 52;
  --bs-dark-light:        #1E2027;
  --bs-dark-inverse:      #ffffff;
  --bs-light:             #1B1C22;
  --bs-light-rgb:         27, 28, 34;
  --bs-secondary:         #363843;
  --bs-secondary-rgb:     54, 56, 67;

  /* Gray scale (inverted for dark) */
  --bs-gray-100:          #1B1B1F;
  --bs-gray-200:          #27272A;
  --bs-gray-300:          #3F3F46;
  --bs-gray-400:          #52525B;
  --bs-gray-500:          #71717A;
  --bs-gray-600:          #A1A1AA;
  --bs-gray-700:          #D4D4D8;
  --bs-gray-800:          #E4E4E7;
  --bs-gray-900:          #FAFAFA;

  /* Slate scale (darkened for dark mode) */
  --slate-50:             #1e1e22;
  --slate-100:            #252529;
  --slate-200:            #2e2e33;
  --slate-300:            #3f3f46;
  --slate-400:            #71717a;
  --slate-500:            #a1a1aa;
  --slate-600:            #b4b4bc;
  --slate-700:            #d4d4d8;
  --slate-800:            #e4e4e7;
  --slate-900:            #fafafa;

  /* ── Tailwind --primary bridge (dark mode) ── */
  --primary:            var(--bs-primary);

  /* ── Text utility overrides (dark mode) ── */
  --bs-text-primary:    var(--bs-primary);
  --bs-text-success:    var(--bs-success);
  --bs-text-info:       var(--bs-info);
  --bs-text-warning:    var(--bs-warning);
  --bs-text-danger:     var(--bs-danger);

  /* ── Heading / link colour (dark mode) ── */
  --bs-heading-color:   var(--bs-primary);
  --bs-link-color:      var(--bs-primary);
  --bs-link-color-rgb:  var(--bs-primary-rgb);

  /* ── Component active/hover/checked (dark mode) ── */
  --bs-component-active-bg:     var(--bs-primary);
  --bs-component-hover-color:   var(--bs-primary);
  --bs-component-active-color:  var(--bs-primary-inverse);
  --bs-component-checked-bg:    var(--bs-primary);
  --bs-component-checked-color: var(--bs-primary-inverse);

  /* ── Menu link active/hover colours (dark mode) ── */
  --bs-menu-link-color-hover:   var(--bs-primary);
  --bs-menu-link-color-show:    var(--bs-primary);
  --bs-menu-link-color-here:    var(--bs-primary);
  --bs-menu-link-color-active:  var(--bs-primary);

  /* ── Misc UI elements (dark mode) ── */
  --bs-scrolltop-bg-color:       var(--bs-primary);
  --bs-scrolltop-bg-color-hover: var(--bs-primary);
  --bs-progress-bar-bg:          var(--bs-primary);
  --bs-ribbon-label-bg:          var(--bs-primary);
  --bs-nav-pills-link-active-bg: var(--bs-primary);

  /* ── kt-* dark overrides ── */
  --kt-bg-primary:        color-mix(in oklab, var(--kt-color-primary) 20%, transparent);
  --kt-bg-muted:          rgba(255, 255, 255, 0.06);
  --kt-bg-green:          rgba(107, 211, 104, 0.12);
}

/* ── Tailwind .dark class — keep --primary in sync ── */
.dark {
  --primary: var(--bs-primary);
}

/* ═══════════════════════════════════════════════════════════════════════════
   Element-level overrides (Bootstrap hardcodes hex in rules, not variables)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Form checks / switches ── */
.form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.form-check-input:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

/* ── Links ── */
a {
  color: var(--bs-primary);
}
a:hover {
  color: var(--bs-primary-active);
}
