/* Rapport Design Tokens v1.0 - :root blocks published from resources/css/rapport-tokens.css */
:root {

  /* ---- Brand ------------------------------------------------
     blue and green are the wordmark's two ends. Teal is the
     midpoint and exists so the gradient has a defined centre —
     do not use it as a flat colour on its own.              */

  --rg-blue:        #0E9DD9;
  --rg-teal:        #17A6A6;
  --rg-green:       #2FA84F;

  --rg-gradient:    linear-gradient(90deg, #0E9DD9 0%, #17A6A6 48%, #2FA84F 100%);
  --rg-gradient-v:  linear-gradient(180deg, #0E9DD9 0%, #17A6A6 48%, #2FA84F 100%);
  --rg-gradient-wash: linear-gradient(180deg,
                        rgba(14,157,217,.10) 0%,
                        rgba(47,168,79,.06) 55%,
                        rgba(47,168,79,0) 100%);

  /* ---- Surfaces ---------------------------------------------
     The ground is a blue-biased off-white, not neutral grey —
     it is what makes white cards read as raised.            */

  --rg-ground:      #EEF5F9;
  --rg-surface:     #FFFFFF;
  --rg-surface-2:   #F7FAFC;
  --rg-line:        #E2ECF2;
  --rg-line-strong: #D3E1EA;

  /* ---- Text -------------------------------------------------
     Three steps only. More than three and hierarchy blurs.  */

  --rg-ink:         #0E2A38;   /* headings, values, primary */
  --rg-ink-2:       #4F6B7A;   /* body, secondary           */
  --rg-ink-3:       #8AA2AF;   /* captions, labels, meta    */
  --rg-on-brand:    #FFFFFF;   /* text on gradient/brand     */

  /* ---- Status ------------------------------------------------
     Semantic only. These are NOT accent colours and must never
     be used decoratively — a red rule that means nothing
     teaches people to ignore the red that does.

     ok       vehicle moving / service on schedule / healthy
     warn     idle / due soon / needs attention before long
     critical stopped unexpectedly / overdue / action now
     idle     offline / not configured / no data            */

  --rg-ok:          #2FA84F;
  --rg-ok-bg:       #E9F6ED;
  --rg-ok-line:     #BEE5C8;

  --rg-warn:        #E9930B;
  --rg-warn-bg:     #FEF5E4;
  --rg-warn-line:   #F6DCAC;

  --rg-critical:    #DC3F35;
  --rg-critical-bg: #FDECEA;
  --rg-critical-line:#F5C4BF;

  --rg-idle:        #8AA2AF;
  --rg-idle-bg:     #EFF4F7;
  --rg-idle-line:   #DCE6EC;

  --rg-info:        #0E9DD9;   /* informational only, e.g. seatbelt */
  --rg-info-bg:     #E6F5FC;
  --rg-info-line:   #B9E2F5;

  /* ---- Type --------------------------------------------------
     Plus Jakarta Sans for everything a person reads.
     IBM Plex Mono for machine identifiers only — IMEI, device
     ids, timestamps in logs. Never for body copy.          */

  --rg-font:        "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --rg-font-mono:   "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  --rg-size-display: 29px;  /* screen title           */
  --rg-size-h2:      16.5px;/* section heading        */
  --rg-size-h3:      14.5px;/* card heading           */
  --rg-size-body:    15px;
  --rg-size-sm:      13px;  /* secondary, list meta   */
  --rg-size-xs:      11.5px;/* captions, pill labels  */
  --rg-size-stat:    30px;  /* summary tile figure    */

  --rg-weight-reg:   400;
  --rg-weight-med:   500;
  --rg-weight-semi:  600;
  --rg-weight-bold:  700;
  --rg-weight-black: 800;   /* display + stat figures only */

  --rg-track-tight: -.03em; /* display and large figures */
  --rg-track-snug:  -.01em; /* headings, names           */
  --rg-track-wide:   .06em; /* uppercase micro labels    */

  --rg-leading-tight: 1.15;
  --rg-leading-body:  1.45;

  /* ---- Shape and depth ---------------------------------------
     One card radius, one control radius, pills fully round.
     Elevation is spent on what needs attention, not on
     everything — a page where every block floats is flat. */

  --rg-radius:      14px;   /* cards, panels          */
  --rg-radius-sm:   10px;   /* inner blocks, icons    */
  --rg-radius-pill: 999px;  /* chips, pills, controls */

  --rg-rail:        4px;    /* status rail on a card  */
  --rg-marker:      3px;    /* section heading marker */

  --rg-shadow:      0 1px 2px rgba(14,42,56,.05), 0 6px 18px rgba(14,42,56,.06);
  --rg-shadow-lift: 0 2px 4px rgba(14,42,56,.06), 0 12px 28px rgba(14,42,56,.10);
  --rg-shadow-brand:0 2px 8px rgba(23,166,166,.35);  /* under a gradient control */

  /* ---- Spacing -----------------------------------------------
     4px base. Use gap on a flex/grid parent rather than
     margins on children.                                   */

  --rg-space-1: 4px;
  --rg-space-2: 8px;
  --rg-space-3: 10px;
  --rg-space-4: 14px;
  --rg-space-5: 18px;
  --rg-space-6: 26px;
  --rg-space-7: 38px;

  --rg-page-max: 1080px;

  /* ---- Motion ------------------------------------------------ */

  --rg-ease:     cubic-bezier(.2,.6,.3,1);
  --rg-fast:     .15s;
  --rg-slow:     .3s;
}
