/* ============================================================
   TRUE FLOW POOL SOLUTIONS — brand-tokens.css
   GENERATED from styles.css :root — do not hand-edit.
   Run: python3 sync-brand-tokens.py  (build.sh fails if this drifts).

   Tokens ONLY, no component CSS. For standalone pages that are not
   built from src/ and must not inherit the marketing site's class
   names — linking styles.css for its palette also imports every
   selector in it, and a shared class name like .summary-card will
   quietly hand your element a position/order/display it never asked
   for. Pages using this file keep their own component namespace.

   Consumers: sample-inspection-report.html
   ============================================================ */
:root {
  /* ── South Beach Boutique palette ─────────────────────────────
     Vibrant aqua + cyan ocean blues, warm sand neutrals,
     sun-kissed gold. Think Miami pool water at noon.
  ──────────────────────────────────────────────────────────────── */

  /* >>> BEGIN generated from brand/tokens.css — do not hand-edit.
       Run: python3 sync-brand-tokens.py  (build.sh fails if this drifts).
       The base --status-* values are FILL/ICON colors and do NOT pass
       WCAG AA as text on their own -soft background. Use the -text member
       for any words, -border for any 1px rule. */
  --status-danger:          #dc2626;
  --status-danger-hover:    #b91c1c;
  --status-danger-soft:     #fee2e2;
  --status-danger-border:   #eebaba;
  --status-danger-text:     #b91c1c;
  --status-warning:         #d97706;
  --status-warning-soft:    #fef3e0;
  --status-warning-border:  #f0d08a;
  --status-warning-text:    #9a5b00;
  --status-success:         #16a34a;
  --status-success-soft:    #e6f5ee;
  --status-success-border:  #a3d9b8;
  --status-success-text:    #157a3a;
  --status-info:            #1a9fc4;
  --status-info-soft:       #e2f3f8;
  --status-info-border:     #b2d3dc;
  --status-info-text:       #0e6f8f;
  /* <<< END generated block */

  /* Core brand */
  --tf-cerulean:     #0b4f6c;   /* deep ocean — hero/dark sections */
  --tf-navy:         #062840;   /* midnight — footer */
  --tf-aqua-soft:    #c8eef8;   /* shallow water shimmer */
  --tf-sand:         #f5ead8;   /* warm beach sand */
  --tf-saffron:      #c9a96e;   /* sun-kissed gold */
  --tf-white:        #ffffff;

  /* Blues — vivid, coastal, saturated */
  --tf-cerulean-700: #083d56;
  --tf-cerulean-600: #0d6080;
  --tf-cerulean-500: #1a7fa0;
  --tf-aqua:         #7dd4ea;   /* bright sky/lagoon blue */
  --tf-aqua-600:     #2db5d5;   /* vivid mid aqua */
  --tf-ocean:        #1a9fc4;   /* signature pool-water cyan */
  --tf-ocean-700:    #0f7a9a;   /* deeper ocean */
  --tf-aqua-050:     #e4f7fc;   /* airy aqua wash */

  /* Neutrals — warm sand, not cool grey */
  --tf-ink-900:      #062840;
  --tf-ink-700:      #1a4a62;
  --tf-ink-500:      #4d7d93;
  --tf-ink-400:      #7fa3b5;
  --tf-ink-300:      #a8c8d8;
  --tf-ink-200:      #cce3ec;
  --tf-ink-100:      #e3f2f7;
  --tf-ink-050:      #f2fafc;

  /* Semantic roles */
  --bg-page:         #fffdf9;   /* warm cream white, not clinical */
  --surface-trust:   #c8eef8;   /* aqua wash band */
  --surface-deep:    #0b4f6c;   /* deep ocean sections */
  --surface-deepest: #062840;   /* footer */
  --text-strong:     #062840;   /* headlines */
  --text-body:       #1a4a62;   /* body — ocean-tinted, not grey */
  --text-muted:      #456f83;   /* secondary — darkened from #4d7d93 for WCAG AA (4.5:1 on white/sand/aqua) */
  --text-on-dark:    #d8f2fb;   /* on deep/midnight sections */
  --text-link:       #1a9fc4;   /* cyan links */
  --cta-bg:          #c9a96e;   /* warm gold */
  --cta-bg-hover:    #a8844e;   /* gold hover */
  --cta-text:        #ffffff;   /* white on gold */

  /* Effects */
  --shadow-sm:       0 1px 3px rgba(6,40,64,0.08), 0 1px 2px rgba(6,40,64,0.05);
  --shadow-md:       0 6px 16px -6px rgba(11,79,108,0.18), 0 2px 6px -2px rgba(11,79,108,0.10);
  --shadow-lg:       0 18px 40px -12px rgba(11,79,108,0.24), 0 6px 14px -8px rgba(11,79,108,0.12);
  --radius-sm:       6px;
  --radius-md:       10px;
  --radius-lg:       16px;
  --radius-pill:     999px;
  --ease-standard:   cubic-bezier(0.4,0,0.2,1);
  --duration-base:   200ms;

  /* Typography */
  --font-display:    "Libre Baskerville", Georgia, serif;
  --font-sans:       "Inter", system-ui, sans-serif;

  /* Layout & legacy compatibility */
  --max-w:           1120px;
  --border:          rgba(6,40,64,0.10);
  --border-blue:     rgba(26,159,196,0.22);
}
