/* White-label tokens for the CUSTOMER-facing surfaces (booking page + manage
   page). CLAUDE.md §4 hard rule: a client's customer must never see Builds by
   Leo branding. Defaults are a neutral, professional light theme; the client's
   brand colour is injected at runtime from config.brand. Swap these per client. */

:root {
  --brand-primary: #1f6f5c;
  --brand-primary-ink: #ffffff;
  --brand-primary-weak: #e8f1ee;
  --brand-bg: #f5f6f4;
  --brand-surface: #ffffff;
  --brand-text: #19211d;
  --brand-muted: #5d6b64;
  --brand-line: #e2e6e2;
  --brand-radius: 12px;
  --brand-shadow: 0 1px 2px rgba(16, 24, 20, .06), 0 8px 24px rgba(16, 24, 20, .06);

  --ok: #1f7a3d;
  --bad: #b5361f;
  --font: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  color-scheme: light;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--font);
  background: var(--brand-bg);
  color: var(--brand-text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--brand-primary); }

/* One visible focus style for the whole customer journey (§5). */
:where(a, button, input, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--brand-primary);
  outline-offset: 2px;
  border-radius: 6px;
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
