/*
 * Sriggle PMS design tokens.
 * A single source of truth for colour, typography, spacing, radius, and elevation, matching the
 * blue-and-white enterprise reference design. Consumed by components and responsive layouts.
 */
:root {
    /* Brand & status colours */
    --pms-primary: #1668e3;
    --pms-primary-600: #0f57c2;
    --pms-primary-050: #eaf1fd;
    --pms-secondary: #0b2a4a;
    --pms-success: #1f9d55;
    --pms-warning: #d9822b;
    --pms-error: #d13438;
    --pms-info: #2f80ed;

    /* Room / reservation status colours (reference legend) */
    --pms-occupied: #1f9d55;
    --pms-vacant: #2f80ed;
    --pms-reserved: #e0a800;
    --pms-out-of-order: #d13438;
    --pms-out-of-service: #6b7280;
    --pms-tentative: #7c4dff;

    /* Neutrals */
    --pms-bg: #f5f7fb;
    --pms-surface: #ffffff;
    --pms-border: #e2e8f0;
    --pms-text: #1a202c;
    --pms-text-muted: #64748b;

    /* Typography */
    --pms-font-sans: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
    --pms-font-size-sm: 0.8125rem;
    --pms-font-size-md: 0.9375rem;
    --pms-font-size-lg: 1.125rem;
    --pms-font-size-xl: 1.5rem;

    /* Spacing scale */
    --pms-space-1: 0.25rem;
    --pms-space-2: 0.5rem;
    --pms-space-3: 0.75rem;
    --pms-space-4: 1rem;
    --pms-space-6: 1.5rem;
    --pms-space-8: 2rem;

    /* Radius & elevation */
    --pms-radius-sm: 6px;
    --pms-radius-md: 10px;
    --pms-radius-lg: 16px;
    --pms-elevation-1: 0 1px 2px rgba(15, 23, 42, 0.08);
    --pms-elevation-2: 0 4px 12px rgba(15, 23, 42, 0.10);

    /* Component sizing — touch targets meet the 44px minimum for POS screens */
    --pms-touch-target: 44px;
}

/* Responsive breakpoints are applied by components:
   mobile 320–767, tablet 768–1023, desktop 1024–1439, large ≥1440. */
