/* ─────────────────────────────────────────────────────────────────────────
   Surgerly palette — single source of truth for every colour token.
   Three blocks: :root + [light] are identical (the default), [dark] inverts.
   Org white-label overrides are layered ON TOP of this at the frame level
   (see staff_frame.html / getOrganisationBranding) targeting the same
   selectors, so anything an org doesn't set falls through to these defaults.

   Token families:
     brand       primary / secondary / cta / hombre-*  (+ -rgb where needed)
     neutral     black / white / light-gray / dark-gray / text / border / background
     grey scale  grey-50 … grey-900 (semantic lightness; inverts in dark)
     semantic    success / danger / warning / info, each with
                 -bg (subtle fill) / -border / base / -strong / -text  (+ base -rgb)
     accent      accent / -bg / -text   (the indigo used for internal/messages)
     calendar    calendar / -soft / -subtle / -strong  (the resource-grid blues)
     chart       chart-1 … chart-8     (categorical data-viz scale)
     shadow      shadow-rgb            (for rgba(var(--surgerly-shadow-rgb), a))
   ───────────────────────────────────────────────────────────────────────── */

:root {
    --surgerly-primary: #be9b5a;
    --surgerly-primary-rgb: 190,155,90;
    --surgerly-black: #1e1b19;
    --surgerly-white: #ffffff;
    --surgerly-secondary: #e7dbd1;
    --surgerly-light-gray: #f0f0f0;
    --surgerly-dark-gray: #8d8d94;
    --surgerly-dark-gray-rgb: 141,141,148;
    --surgerly-hombre-start: #0f6840;
    --surgerly-hombre-end: #1b8a57;
    --surgerly-cta: #be9b5a;
    --surgerly-text: #090c0e;
    --surgerly-text-rgb: 9,12,14;
    --surgerly-border: #e6e6e6;
    --surgerly-background: #f9fafc;

    /* Grey scale */
    --surgerly-grey-50: #f9fafb;
    --surgerly-grey-100: #f3f4f6;
    --surgerly-grey-200: #e5e7eb;
    --surgerly-grey-300: #d1d5db;
    --surgerly-grey-400: #9ca3af;
    --surgerly-grey-500: #6b7280;
    --surgerly-grey-600: #4b5563;
    --surgerly-grey-700: #374151;
    --surgerly-grey-800: #1f2937;
    --surgerly-grey-900: #111827;

    /* Semantic — success */
    --surgerly-success: #198754;
    --surgerly-success-rgb: 25,135,84;
    --surgerly-success-bg: #d1fae5;
    --surgerly-success-border: #a7e3c5;
    --surgerly-success-strong: #15803d;
    --surgerly-success-text: #0f5132;
    /* Semantic — danger */
    --surgerly-danger: #dc3545;
    --surgerly-danger-rgb: 220,53,69;
    --surgerly-danger-bg: #fde7e9;
    --surgerly-danger-border: #f5c2c7;
    --surgerly-danger-strong: #b02a37;
    --surgerly-danger-text: #842029;
    /* Semantic — warning */
    --surgerly-warning: #f0ad4e;
    --surgerly-warning-rgb: 240,173,78;
    --surgerly-warning-bg: #fff3cd;
    --surgerly-warning-border: #ffe69c;
    --surgerly-warning-strong: #b45309;
    --surgerly-warning-text: #7a4f0a;
    /* Semantic — info */
    --surgerly-info: #0d6efd;
    --surgerly-info-rgb: 13,110,253;
    --surgerly-info-bg: #dbeafe;
    --surgerly-info-border: #b6d4fe;
    --surgerly-info-strong: #1e40af;
    --surgerly-info-text: #084298;

    /* Sequential severity ramp — 1/3/5 mirror success/warning/danger; 2/4 are
       the intermediate steps used by the risk + incident band scales. */
    --surgerly-severity-2: #84cc16;
    --surgerly-severity-4: #fd7e14;

    /* Accent (indigo) */
    --surgerly-accent: #6862f9;
    --surgerly-accent-bg: #e8e7fd;
    --surgerly-accent-text: #3730a3;

    /* Calendar steel-blues */
    --surgerly-calendar: #4164a5;
    --surgerly-calendar-strong: #2c4a7a;
    --surgerly-calendar-soft: #7fa2c1;
    --surgerly-calendar-subtle: #cfdbe6;

    /* Categorical chart series */
    --surgerly-chart-1: #be9b5a;
    --surgerly-chart-2: #6862f9;
    --surgerly-chart-3: #5bc0de;
    --surgerly-chart-4: #5acba1;
    --surgerly-chart-5: #3b82f6;
    --surgerly-chart-6: #ef4444;
    --surgerly-chart-7: #f59e0b;
    --surgerly-chart-8: #ec4899;

    /* Shadow base (kept black in both themes — doesn't flip) */
    --surgerly-shadow-rgb: 0,0,0;

    /* Semantic aliases — hand-authored names already used across the app.
       Defined as var() refs to the theme-aware tokens above, so they resolve
       per-theme without needing their own light/dark blocks. */
    --surgerly-surface: var(--surgerly-white);
    --surgerly-surface-2: var(--surgerly-grey-50);
    --surgerly-bg-muted: var(--surgerly-grey-100);
    --surgerly-hover: var(--surgerly-grey-100);
    --surgerly-row-hover: var(--surgerly-grey-100);
    --surgerly-border-soft: var(--surgerly-grey-200);
    --surgerly-muted: var(--surgerly-grey-500);
    --surgerly-text-muted: var(--surgerly-grey-600);
    --surgerly-primary-soft: color-mix(in srgb, var(--surgerly-primary) 12%, var(--surgerly-white));
    /* Dark, brand-hue text for use on a primary-tinted background (status pills,
       priority chips). Mirrors -success-text/-danger-text; auto-flips to light in
       dark mode because --surgerly-black inverts. */
    --surgerly-primary-text: color-mix(in srgb, var(--surgerly-primary) 58%, var(--surgerly-black));

    /* Bootstrap theming — point Bootstrap's primary + link colours at the org
       palette so every .btn-primary, default link, tab and pagination follows
       the brand. Component-level overrides (.btn-primary { --bs-btn-* }) live
       in styles.css. These reference theme-aware tokens so one block covers
       both light and dark. */
    --bs-primary: var(--surgerly-primary);
    --bs-primary-rgb: var(--surgerly-primary-rgb);
    --bs-link-color: var(--surgerly-primary);
    --bs-link-color-rgb: var(--surgerly-primary-rgb);
    --bs-link-hover-color: var(--surgerly-cta);
    --bs-link-hover-color-rgb: var(--surgerly-primary-rgb);
}

html[data-surgerly-theme="light"] {
    --surgerly-primary: #be9b5a;
    --surgerly-primary-rgb: 190,155,90;
    --surgerly-black: #1e1b19;
    --surgerly-white: #ffffff;
    --surgerly-secondary: #e7dbd1;
    --surgerly-light-gray: #f0f0f0;
    --surgerly-dark-gray: #8d8d94;
    --surgerly-dark-gray-rgb: 141,141,148;
    --surgerly-hombre-start: #0f6840;
    --surgerly-hombre-end: #1b8a57;
    --surgerly-cta: #be9b5a;
    --surgerly-text: #090c0e;
    --surgerly-text-rgb: 9,12,14;
    --surgerly-border: #e6e6e6;
    --surgerly-background: #f9fafc;

    --surgerly-grey-50: #f9fafb;
    --surgerly-grey-100: #f3f4f6;
    --surgerly-grey-200: #e5e7eb;
    --surgerly-grey-300: #d1d5db;
    --surgerly-grey-400: #9ca3af;
    --surgerly-grey-500: #6b7280;
    --surgerly-grey-600: #4b5563;
    --surgerly-grey-700: #374151;
    --surgerly-grey-800: #1f2937;
    --surgerly-grey-900: #111827;

    --surgerly-success: #198754;
    --surgerly-success-rgb: 25,135,84;
    --surgerly-success-bg: #d1fae5;
    --surgerly-success-border: #a7e3c5;
    --surgerly-success-strong: #15803d;
    --surgerly-success-text: #0f5132;
    --surgerly-danger: #dc3545;
    --surgerly-danger-rgb: 220,53,69;
    --surgerly-danger-bg: #fde7e9;
    --surgerly-danger-border: #f5c2c7;
    --surgerly-danger-strong: #b02a37;
    --surgerly-danger-text: #842029;
    --surgerly-warning: #f0ad4e;
    --surgerly-warning-rgb: 240,173,78;
    --surgerly-warning-bg: #fff3cd;
    --surgerly-warning-border: #ffe69c;
    --surgerly-warning-strong: #b45309;
    --surgerly-warning-text: #7a4f0a;
    --surgerly-info: #0d6efd;
    --surgerly-info-rgb: 13,110,253;
    --surgerly-info-bg: #dbeafe;
    --surgerly-info-border: #b6d4fe;
    --surgerly-info-strong: #1e40af;
    --surgerly-info-text: #084298;

    --surgerly-severity-2: #84cc16;
    --surgerly-severity-4: #fd7e14;

    --surgerly-accent: #6862f9;
    --surgerly-accent-bg: #e8e7fd;
    --surgerly-accent-text: #3730a3;

    --surgerly-calendar: #4164a5;
    --surgerly-calendar-strong: #2c4a7a;
    --surgerly-calendar-soft: #7fa2c1;
    --surgerly-calendar-subtle: #cfdbe6;

    --surgerly-chart-1: #be9b5a;
    --surgerly-chart-2: #6862f9;
    --surgerly-chart-3: #5bc0de;
    --surgerly-chart-4: #5acba1;
    --surgerly-chart-5: #3b82f6;
    --surgerly-chart-6: #ef4444;
    --surgerly-chart-7: #f59e0b;
    --surgerly-chart-8: #ec4899;

    --surgerly-shadow-rgb: 0,0,0;
}

html[data-surgerly-theme="dark"] {
    --surgerly-primary: #be9b5a;
    --surgerly-primary-rgb: 190,155,90;
    --surgerly-black: #f5f6f7;
    --surgerly-white: #0f0e0d;
    --surgerly-secondary: #3a332c;
    --surgerly-light-gray: #2a2a2e;
    --surgerly-dark-gray: #a6a6ad;
    --surgerly-dark-gray-rgb: 166,166,173;
    --surgerly-hombre-start: #15925c;
    --surgerly-hombre-end: #27b06f;
    --surgerly-cta: #be9b5a;
    --surgerly-text: #f1f3f5;
    --surgerly-text-rgb: 241,243,245;
    --surgerly-border: #2f2f34;
    --surgerly-background: #121314;

    /* Grey scale inverts: grey-50 = darkest surface, grey-900 = lightest text,
       so "grey-100 background" goes dark and "grey-600 text" goes light. */
    --surgerly-grey-50: #17181b;
    --surgerly-grey-100: #1e2024;
    --surgerly-grey-200: #2a2d32;
    --surgerly-grey-300: #3b3f46;
    --surgerly-grey-400: #6b7078;
    --surgerly-grey-500: #9298a2;
    --surgerly-grey-600: #b4b9c2;
    --surgerly-grey-700: #d2d6dc;
    --surgerly-grey-800: #e6e9ee;
    --surgerly-grey-900: #f4f6f9;

    /* Semantic — brightened bases (as before) + dark-appropriate ramp:
       -bg goes dark-tinted, -text/-strong go light so contrast holds. */
    --surgerly-success: #2eb87d;
    --surgerly-success-rgb: 46,184,125;
    --surgerly-success-bg: #15301f;
    --surgerly-success-border: #2e6244;
    --surgerly-success-strong: #4bd396;
    --surgerly-success-text: #a7e3c5;
    --surgerly-danger: #ef5f6b;
    --surgerly-danger-rgb: 239,95,107;
    --surgerly-danger-bg: #3a1d20;
    --surgerly-danger-border: #6e353a;
    --surgerly-danger-strong: #f08c93;
    --surgerly-danger-text: #f5c2c7;
    --surgerly-warning: #f5b75e;
    --surgerly-warning-rgb: 245,183,94;
    --surgerly-warning-bg: #3a2e12;
    --surgerly-warning-border: #6e5a25;
    --surgerly-warning-strong: #f7c87e;
    --surgerly-warning-text: #f7d9a8;
    --surgerly-info: #4d94ff;
    --surgerly-info-rgb: 77,148,255;
    --surgerly-info-bg: #16263f;
    --surgerly-info-border: #2d4a78;
    --surgerly-info-strong: #7fb0ff;
    --surgerly-info-text: #b6d4fe;

    /* Severity ramp — brightened for the dark surface (cf. success/warning/danger). */
    --surgerly-severity-2: #a3e635;
    --surgerly-severity-4: #ff9d4d;

    --surgerly-accent: #8b86ff;
    --surgerly-accent-bg: #272350;
    --surgerly-accent-text: #c4c0ff;

    --surgerly-calendar: #6f8fc8;
    --surgerly-calendar-strong: #98b3e0;
    --surgerly-calendar-soft: #46618c;
    --surgerly-calendar-subtle: #2b3a55;

    /* Categorical series — slightly brightened for the dark surface. */
    --surgerly-chart-1: #cdb074;
    --surgerly-chart-2: #8b86ff;
    --surgerly-chart-3: #6fd0ed;
    --surgerly-chart-4: #6fdcb3;
    --surgerly-chart-5: #5b9bff;
    --surgerly-chart-6: #f87171;
    --surgerly-chart-7: #fbbf4d;
    --surgerly-chart-8: #f472b6;

    --surgerly-shadow-rgb: 0,0,0;

    /* Map Bootstrap variables to Surgerly palette */
    --bs-body-bg: #121314;
    --bs-body-color: #f1f3f5;
    --bs-border-color: #2f2f34;
    --bs-tertiary-bg: #2a2a2e;
    --bs-secondary-bg: #1a1a1d;
    --bs-emphasis-color: #f5f6f7;
}
