:root {
  /* Brand — teal (trust / health), no purple */
  --primary: #0f766e;
  --primary-hover: #0d9488;
  --primary-light: #ccfbf1;
  --primary-faint: rgba(15, 118, 110, 0.08);
  --primary-ring: rgba(15, 118, 110, 0.22);
  --primary-shadow: rgba(15, 118, 110, 0.18);

  /* Warm secondary for emphasis (badges, subtle highlights) */
  --accent: #047857;
  --accent-warm: #b45309;

  /* Neutrals */
  --text-main: #1c1917;
  --text-muted: #57534e;
  --surface: #ffffff;
  --surface-muted: #f5f5f4;
  --surface-card: #fafaf9;
  --border: #e7e5e4;
  --border-strong: #d6d3d1;

  --glass-bg: rgba(255, 255, 255, 0.92);
  --glass-border: rgba(231, 229, 228, 0.9);
  --glass-shadow: 0 1px 3px rgba(28, 25, 23, 0.06), 0 8px 24px rgba(28, 25, 23, 0.04);

  --radius: 14px;
  --radius-sm: 10px;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  overscroll-behavior: none;
  overflow-x: clip;
}

body {
  overflow-x: hidden;
}

body {
  font-family: 'Outfit', system-ui, sans-serif;
  color: var(--text-main);
  background-color: var(--surface-muted);
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.85)),
    url('./assets/bg.png');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  min-height: 100svh;
  min-height: 100dvh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#root {
  min-height: 100svh;
  min-height: 100dvh;
}
