/* BantayBayan tokens, v2 (red brand). Every value from docs/spec/design-system.md. The kit may only use these. */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root {
  /* brand */
  --color-red: #FF1B1B;            /* Bantay Red: logo, brand surfaces, large text only */
  --color-off-white: #FFF7F5;
  --color-pale-pink: #FFE4E4;
  --color-charcoal: #1F1F1F;
  /* action */
  /* ONE red (owner, 6 Oct 2026): buttons use Bantay Red with 19px bold labels (large text, 3.87:1 passes).
     Red text only at >=19px bold or >=24px. Smaller 'red' text is charcoal with a red icon/underline. */
  --color-action: #FF1B1B;
  --color-action-hover: #F01414;
  --color-action-pressed: #E00E0E;
  /* neutrals */
  --color-white: #FFFFFF;
  --color-page: #FFF7F5;
  --color-subtle: #FBEFEC;
  --color-border: #F1E2DE;
  --color-border-strong: #E3CFCA;
  --color-text-primary: #1F1F1F;
  --color-text-secondary: #6B6360;
  --color-text-muted: #9E9592;
  --color-disabled: #EDE4E1;
  --color-overlay: rgba(31, 31, 31, 0.56);
  /* status (no status is red) */
  --verified-fg: #1D7A45;  --verified-bg: #E3F4EA;
  --open-fg: #1F1F1F;  --open-icon: #FF1B1B;      --open-bg: #FFE4E4;
  --review-fg: #1F1F1F;    --review-icon: #B7791F;  --review-bg: #FFF4DD;
  --notpaid-fg: #6B6360;   --notpaid-bg: #F3ECEA;
  --rejected-fg: #1F1F1F;  --rejected-bg: #ECE7E5;
  --category-fg: #47526B;  --category-bg: #E9EDF5;
  --you: #2F6BFF;
  /* map */
  --map-land: #F7F3F1;
  --map-road: #FFFFFF;
  --map-road-casing: #EADFDB;
  --map-road-major: #F1E2DE;
  --map-water: #DCEAF5;
  --map-park: #D9EDD5;
  --map-label: #8A817E;
  --map-label-major: #1F1F1F;
  --pin-open: #FF1B1B;
  --pin-verified: #1D7A45;
  --pin-none: #7A7371;
  /* type: one family, no mono */
  --font-sans: 'Plus Jakarta Sans', system-ui, sans-serif;
  --text-display-xl: 800 64px/64px var(--font-sans);  --track-display-xl: -0.03em;
  --text-display: 800 48px/50px var(--font-sans);     --track-display: -0.025em;
  --text-h1: 800 36px/40px var(--font-sans);          --track-h1: -0.02em;
  --text-h2: 800 28px/34px var(--font-sans);          --track-h2: -0.015em;
  --text-h3: 700 22px/28px var(--font-sans);          --track-h3: -0.01em;
  --text-title: 700 18px/24px var(--font-sans);       --track-title: -0.005em;
  --text-body-lg: 400 17px/26px var(--font-sans);
  --text-body: 400 15px/22px var(--font-sans);
  --text-body-sm: 400 14px/20px var(--font-sans);
  --text-label: 600 13px/18px var(--font-sans);
  --text-button: 700 19px/24px var(--font-sans);      /* large text: required for white on red */
  --text-button-sm: 700 15px/20px var(--font-sans);   /* only on non-red buttons */
  --text-overline: 600 12px/16px var(--font-sans);    --track-overline: 0.16em;
  --text-meta: 500 12px/16px var(--font-sans);        --meta-figures: tabular-nums;
  --track-tagline: 0.24em;
  --kern-stop: -0.08em;             /* pulls the final full stop of 800-weight headlines tight */
  /* radius */
  --radius-sm: 8px; --radius-control: 12px; --radius-card: 16px; --radius-lg: 24px; --radius-modal: 28px; --radius-pill: 999px;
  /* space */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-6: 24px; --space-8: 32px;
  --space-12: 48px; --space-16: 64px; --space-24: 96px;
  /* borders, shadows, focus */
  --border-default: 1px solid #F1E2DE;
  --border-strong: 1px solid #E3CFCA;
  --border-selected: 2px solid #FF1B1B;
  --border-error: 1.5px solid #1F1F1F;
  --shadow-card: 0 1px 2px rgba(31, 31, 31, 0.04), 0 6px 20px rgba(31, 31, 31, 0.05);
  --shadow-float: 0 10px 32px rgba(31, 31, 31, 0.14);
  --focus-ring: 0 0 0 3px rgba(255, 27, 27, 0.24);
  /* motion */
  --dur-fast: 150ms; --dur-base: 200ms; --dur-panel: 300ms; --ease: cubic-bezier(0.2, 0, 0, 1);
  /* layout */
  --content-max: 1280px; --page-max: 1440px; --gutter: 24px;
}
