/* Scott Operations design tokens — v1.0
 *
 * Source of truth: BRAND.md §2-§5.
 * Every color, spacing value, radius, shadow, typography rule lives here.
 *
 * Rules (BRAND.md §13):
 * - Never hardcode colors elsewhere. Use var(--scott-*).
 * - Never hardcode spacing. Use var(--scott-space-*).
 * - Never introduce a second typeface beyond Inter / JetBrains Mono.
 *
 * Apps with strong themes (e.g. sr-pulse dark navy) override individual
 * tokens via a child :root scope. Don't fork this file.
 */

:root {
    /* ── Primary Scott family color (BRAND.md §2) ─────────────────── */
    --scott-primary: #1E3A5F;          /* Deep navy — anchors all Scott identity */
    --scott-primary-hover: #15294A;    /* Darker for hover/active */
    --scott-primary-light: #E8EEF5;    /* Tint for backgrounds, badges */

    /* ── Business accent colors ───────────────────────────────────── */
    /* Used sparingly: hero sections, business badges, division indicators.
     * Never primary buttons, never primary nav, never logos.
     * Primary navy stays primary always. */
    --scott-recycling: #2D7A3E;        /* Deep forest green */
    --scott-recycling-light: #E6F0E8;

    --scott-plastics: #0E7C8E;         /* Teal */
    --scott-plastics-light: #DCEEF1;

    --scott-trucking: #B8472D;         /* Burnt orange / rust */
    --scott-trucking-light: #F5E2DB;

    --scott-superstore: #8B2E3F;       /* Burgundy */
    --scott-superstore-light: #F1DDE1;

    /* ── Neutrals ─────────────────────────────────────────────────── */
    --scott-ink: #0F1419;              /* Body text, headings */
    --scott-ink-secondary: #3D4852;    /* Secondary text */
    --scott-muted: #6B7785;            /* Helper text, captions, disabled */
    --scott-border: #D4DAE0;           /* Borders, dividers */
    --scott-surface-tint: #F5F7FA;     /* Table stripes, subtle background */
    --scott-surface: #FFFFFF;          /* Primary background */

    /* ── Semantic colors ──────────────────────────────────────────── */
    --scott-success: #2D7A3E;          /* Same as Recycling — "good" reads green */
    --scott-warning: #C9941A;          /* Amber */
    --scott-error: #B33A3A;            /* Restrained red, not panic-button */
    --scott-error-hover: #8E2E2E;      /* Darker red for destructive button hover */
    --scott-info: #1E3A5F;             /* Navy carries info */

    --scott-success-light: #E6F0E8;
    --scott-warning-light: #F8EFD8;
    --scott-error-light: #F1DCDC;
    --scott-info-light: #E8EEF5;

    /* ── Typography (BRAND.md §3) ─────────────────────────────────── */
    --scott-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --scott-font-mono: 'JetBrains Mono', 'Menlo', 'Monaco', monospace;

    /* Type scale */
    --scott-text-xs: 12px;     /* Helper text, captions, badges */
    --scott-text-sm: 14px;     /* Secondary text, table rows */
    --scott-text-base: 16px;   /* Body */
    --scott-text-lg: 18px;     /* Emphasized body, large form labels */
    --scott-text-xl: 20px;     /* Card titles, section subheadings */
    --scott-text-2xl: 24px;    /* Section headings */
    --scott-text-3xl: 30px;    /* Page titles */
    --scott-text-4xl: 36px;    /* Hero headlines on public sites only */

    /* Line heights */
    --scott-line-body: 1.5;
    --scott-line-heading: 1.25;

    /* Weights — stay in 400/500/600/700, no 300/800/900 */
    --scott-weight-regular: 400;
    --scott-weight-medium: 500;
    --scott-weight-semibold: 600;
    --scott-weight-bold: 700;

    /* ── Spacing — 8-point grid (BRAND.md §4) ─────────────────────── */
    /* Every spacing value must be one of these. No exceptions. */
    --scott-space-1: 4px;
    --scott-space-2: 8px;
    --scott-space-3: 12px;
    --scott-space-4: 16px;
    --scott-space-6: 24px;
    --scott-space-8: 32px;
    --scott-space-12: 48px;
    --scott-space-16: 64px;
    --scott-space-24: 96px;

    /* ── Layout primitives (BRAND.md §5) ──────────────────────────── */
    --scott-radius-sm: 4px;            /* Inputs, buttons */
    --scott-radius-md: 8px;            /* Cards, modals, alerts */
    --scott-radius-lg: 12px;           /* Tiles, dashboard cards */
    --scott-radius-full: 9999px;       /* Pills, avatars */

    --scott-shadow-sm: 0 1px 2px rgba(15, 20, 25, 0.05);
    --scott-shadow-md: 0 4px 6px -1px rgba(15, 20, 25, 0.08), 0 2px 4px -1px rgba(15, 20, 25, 0.04);
    --scott-shadow-lg: 0 10px 15px -3px rgba(15, 20, 25, 0.08), 0 4px 6px -2px rgba(15, 20, 25, 0.03);

    --scott-container-max: 1280px;
    --scott-sidebar-width: 240px;
    --scott-sidebar-collapsed: 64px;
    --scott-navbar-height: 56px;

    --scott-breakpoint-sm: 640px;
    --scott-breakpoint-md: 768px;
    --scott-breakpoint-lg: 1024px;
    --scott-breakpoint-xl: 1280px;

    /* ── Transitions ──────────────────────────────────────────────── */
    --scott-transition-fast: 120ms ease;
    --scott-transition: 180ms ease;
    --scott-transition-slow: 280ms ease;

    /* ── Focus ring (accessibility, BRAND.md §12) ─────────────────── */
    --scott-focus-ring: 0 0 0 2px var(--scott-primary);
}
