/* CCA Winter Patrol App — field surface tokens.
   Light-first, glove-first, iOS + Android (Expo). Brand palette carries the
   chrome; a high-visibility set carries map pins and status only. */
:root{
  /* --- Glove targets --- */
  --patrol-tap-min:48px;        /* absolute floor, secondary controls */
  --patrol-tap-lg:64px;         /* preferred: primary actions, list rows, pins */
  --patrol-tap-xl:76px;         /* one-handed hero actions (Unlock, Save report) */
  --patrol-hit-slop:8px;        /* invisible padding around small controls */
  --patrol-gap:12px;            /* minimum gap between adjacent targets */

  /* --- Field spacing (looser than web: fewer things, bigger) --- */
  --patrol-space-1:8px;
  --patrol-space-2:12px;
  --patrol-space-3:16px;
  --patrol-space-4:20px;
  --patrol-space-5:28px;
  --patrol-space-6:40px;
  --patrol-screen-pad:20px;

  /* --- Surfaces --- */
  --patrol-bg:#ffffff;                  /* content ground — max contrast in glare */
  --patrol-bg-sunken:var(--cca-birch);  /* grouped list ground */
  --patrol-chrome:var(--cca-bay-blue);  /* headers, lock screen, tab bar tint */
  --patrol-card:#ffffff;
  --patrol-hairline:#dcd8d0;
  --patrol-map-water:#dce8ec;           /* chart water */
  --patrol-map-land:#eee9df;            /* chart land */
  --patrol-map-contour:#b9ccd2;

  /* --- High-visibility status set (map pins, status chips, report state) ---
     Darker and more saturated than the brand palette so they hold up against
     snow glare and white chart ground. Never used for text or chrome. */
  --patrol-status-visited:#1a7f37;   /* report + photo within the 30-day window */
  --patrol-status-due:#e06b00;       /* outside the window — needs visiting */
  --patrol-status-bubbler:#d81e05;   /* bubbler flagged AND unvisited */
  --patrol-status-unknown:#5a6472;   /* no data / no coordinates */
  --patrol-status-syncing:#0a6ea8;   /* queued offline, waiting for coverage */
  --patrol-pin-halo:#ffffff;         /* 3px ring around every pin */

  /* Ink variants — the pin fills above are sized graphics (3:1 floor); small
     status LABELS need 4.5:1 on their wash, so they use these instead. */
  --patrol-ink-visited:#14602a;      /* 6.8:1 on the visited wash */
  --patrol-ink-due:#8f4400;          /* 6.4:1 on the due wash */
  --patrol-ink-bubbler:#a81303;      /* 6.4:1 on the bubbler wash */
  --patrol-ink-syncing:#08587f;      /* 6.3:1 on the syncing wash */
  --patrol-ink-unknown:#47505c;      /* 6.5:1 on the neutral wash */

  /* --- Status washes (chips and rows) --- */
  --patrol-wash-visited:#e6f2e9;
  --patrol-wash-due:#fcefe2;
  --patrol-wash-bubbler:#fbe7e4;
  --patrol-wash-syncing:#e4f0f7;

  /* --- Field type: one step up from web, Lato/Montserrat retained --- */
  --patrol-size-display:30px;   /* lock screen, wave title */
  --patrol-size-title:24px;     /* screen title */
  --patrol-size-heading:19px;   /* card and section heading */
  --patrol-size-body:17px;      /* body floor on device — never below 15px */
  --patrol-size-label:15px;     /* field labels, chips */
  --patrol-size-caption:13px;   /* timestamps, helper text */
  --patrol-size-action:18px;    /* button text */
  --patrol-lh-body:1.5;         /* @kind font */

  /* --- Radii & elevation: native-feeling, softer than the web system --- */
  --patrol-radius-control:14px;
  --patrol-radius-card:18px;
  --patrol-radius-sheet:24px;
  --patrol-radius-pill:999px;
  --patrol-shadow-sheet:0 -8px 28px rgba(30,77,92,.16); /* @kind shadow */
  --patrol-shadow-card:0 2px 10px rgba(45,55,72,.10); /* @kind shadow */
  --patrol-shadow-pin:0 2px 6px rgba(0,0,0,.35); /* @kind shadow */

  /* --- Focus / press: no hover on device --- */
  --patrol-press-scale:0.97; /* @kind other */
  --patrol-press-dim:rgba(0,0,0,.06); /* @kind color */
}
