:root {
  --bg: #f2f5f0;
  --surface: #ffffff;
  --surface2: #f7f9f6;
  --border: #dde5da;
  --border2: #c8d4c4;
  --text: #1a1e19;
  --text2: #5a6657;
  --text3: #96a692;
  --accent: #2e7d32;
  --accent-light: #e8f5e9;
  --accent-text: #1b5e20;
  --accent-hover: #1b5e20;
  --red: #c62828;
  --red-bg: #ffebee;
  --red-text: #b71c1c;
  --amber: #e65100;
  --amber-bg: #fff3e0;
  --amber-text: #bf360c;
  --green: #2e7d32;
  --green-bg: #e8f5e9;
  --green-text: #1b5e20;
  --blue: #1565c0;
  --blue-bg: #e3f2fd;
  --blue-text: #0d47a1;
  --radius: 8px;
  --radius-lg: 12px;
  --tab-bar-height: 60px;
}

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

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--bg);
  color: var(--text);
  font-size: 14px;
  min-height: 100vh;
}

a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
input, select, textarea { font-family: inherit; font-size: inherit; }

h1 { font-size: 20px; font-weight: 700; }
h2 { font-size: 17px; font-weight: 600; }
h3 { font-size: 15px; font-weight: 600; }

.label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--text3);
}

.text-sm { font-size: 12px; }
.text-muted { color: var(--text2); }
