/*
 * Ewe.Monitoring design tokens — the ONLY place colours, spacing, radii, shadows and type are defined.
 * Views and components use these variables (never a literal colour). Two themes on <html data-theme="dark|light">.
 * Contrast of every text / background pair is checked by DesignTokenTests (WCAG AA, 4.5:1; 3:1 for large numbers).
 */

:root {
    /* ---- Type ---- */
    --font-sans: "Inter", "IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif;
    --font-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;
    --text-xs: 0.75rem;
    --text-sm: 0.8125rem;
    --text-base: 0.9375rem;
    --text-md: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.375rem;
    --text-2xl: 1.875rem;
    --weight-regular: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;
    --leading-tight: 1.25;
    --leading-normal: 1.5;

    /* ---- Space (4px scale) ---- */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;

    /* ---- Shape ---- */
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 20px;
    --radius-pill: 999px;

    /* ---- Layout ---- */
    --sidebar-width: 260px;
    --sidebar-collapsed: 72px;
    --topbar-height: 72px;
    --content-max: 1600px;

    /* ---- Motion ---- */
    --duration-fast: 120ms;
    --duration-normal: 200ms;
    --highlight-duration: 2s;
}

/* ===== Dark (default): navy ===== */
:root,
[data-theme="dark"] {
    color-scheme: dark;

    --color-bg: #0a1020;
    --color-surface: #101a30;
    --color-surface-2: #16223c;
    --color-surface-3: #1d2b49;
    --color-border: #24345a;
    --color-border-strong: #33467a;

    --color-text: #e8edf7;
    --color-text-muted: #a3b1cc;
    --color-text-subtle: #8796b4;
    --color-text-inverse: #0a1020;

    --color-primary: #5b93ff;
    --color-primary-strong: #7aa8ff;
    --color-primary-soft: rgba(91, 147, 255, 0.16);
    --color-focus: #7aa8ff;

    /* Status: the same five meanings everywhere (always with an icon or text, never colour alone). */
    --status-healthy: #34d399;
    --status-healthy-soft: rgba(52, 211, 153, 0.14);
    --status-warning: #fbbf24;
    --status-warning-soft: rgba(251, 191, 36, 0.14);
    --status-critical: #f87171;
    --status-critical-soft: rgba(248, 113, 113, 0.15);
    --status-unknown: #9aa6bd;
    --status-unknown-soft: rgba(154, 166, 189, 0.14);
    --status-maintenance: #c4b5fd;
    --status-maintenance-soft: rgba(196, 181, 253, 0.15);

    /* Charts */
    --chart-grid: #1f2d4d;
    --chart-1: #5b93ff;
    --chart-2: #34d399;
    --chart-3: #fbbf24;
    --chart-4: #f87171;
    --chart-5: #c4b5fd;

    --shadow-1: 0 1px 2px rgba(0, 0, 0, 0.35);
    --shadow-2: 0 8px 24px rgba(0, 0, 0, 0.35);
    --overlay: rgba(4, 8, 18, 0.6);
    --skeleton-base: #16223c;
    --skeleton-shine: #1f2e50;
}

/* ===== Light ===== */
[data-theme="light"] {
    color-scheme: light;

    --color-bg: #f3f6fb;
    --color-surface: #ffffff;
    --color-surface-2: #f6f8fc;
    --color-surface-3: #edf1f8;
    --color-border: #dbe2ee;
    --color-border-strong: #c3cde0;

    --color-text: #0f1a2e;
    --color-text-muted: #45526b;
    --color-text-subtle: #5b6882;
    --color-text-inverse: #ffffff;

    --color-primary: #1f5fd6;
    --color-primary-strong: #174bb0;
    --color-primary-soft: rgba(31, 95, 214, 0.1);
    --color-focus: #1f5fd6;

    --status-healthy: #12784a;
    --status-healthy-soft: rgba(18, 120, 74, 0.1);
    --status-warning: #8a5a00;
    --status-warning-soft: rgba(196, 136, 0, 0.14);
    --status-critical: #b42318;
    --status-critical-soft: rgba(180, 35, 24, 0.1);
    --status-unknown: #4f5b70;
    --status-unknown-soft: rgba(79, 91, 112, 0.1);
    --status-maintenance: #6a3fc4;
    --status-maintenance-soft: rgba(106, 63, 196, 0.1);

    --chart-grid: #e3e8f1;
    --chart-1: #1f5fd6;
    --chart-2: #12784a;
    --chart-3: #c48800;
    --chart-4: #b42318;
    --chart-5: #6a3fc4;

    --shadow-1: 0 1px 2px rgba(15, 26, 46, 0.08);
    --shadow-2: 0 8px 24px rgba(15, 26, 46, 0.12);
    --overlay: rgba(15, 26, 46, 0.35);
    --skeleton-base: #edf1f8;
    --skeleton-shine: #f6f8fc;
}

/* Bootstrap reads its own variables: point them at ours so its grid / utilities follow the theme. */
:root,
[data-theme] {
    --bs-body-bg: var(--color-bg);
    --bs-body-color: var(--color-text);
    --bs-border-color: var(--color-border);
    --bs-secondary-color: var(--color-text-muted);
    --bs-tertiary-bg: var(--color-surface-2);
    --bs-emphasis-color: var(--color-text);
    --bs-link-color: var(--color-primary-strong);
    --bs-link-hover-color: var(--color-primary);
    --bs-body-font-family: var(--font-sans);
    --bs-body-font-size: var(--text-base);
}
