:root {
  --bg: #f0faf7;
  --surface: #ffffff;
  --surface-2: #e8f8f2;
  --text: #0a1714;
  --muted: #3d5550;
  --line: #b8d9d0;
  --primary: #0f766e;
  --primary-2: #115e59;
  --primary-soft: #c8f8ef;
  --danger: #9a1e14;
  --danger-soft: #fee4e2;
  --warning: #92390a;
  --warning-soft: #fff1cc;
  --success: #075c35;
  --success-soft: #dcfae6;
  --info: #1044a8;
  --info-soft: #d1e9ff;
  --shadow-sm: 0 2px 8px rgba(16, 35, 31, 0.07);
  --shadow: 0 8px 24px rgba(16, 35, 31, 0.10);
  --shadow-lg: 0 16px 40px rgba(16, 35, 31, 0.14);
  --radius: 20px;
  --radius-sm: 14px;
  --radius-xs: 10px;
  --nav-height: 96px;
  --header-height: 76px;
  --focus: 0 0 0 4px rgba(15, 118, 110, 0.35);
  --transition: 150ms ease;
}

* { box-sizing: border-box; }

html { min-height: 100%; background: var(--bg); }

body {
  margin: 0;
  min-height: 100%;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-size: 17px;
  line-height: 1.6;
}

button, input, select, textarea {
  font: inherit;
}

button { cursor: pointer; }

button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 0;
}

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

.hidden { display: none !important; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.no-scroll { overflow: hidden; }
