/* Base — colours + typography. Ported from v1. */

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

:root {
  /* Brand palette (Community Foods green) — theme-invariant */
  --brand-deep: #007840;
  --brand: #278e5c;
  --brand-soft: #4caf7d;
  --brand-cream: #e5e6d9;

  /* Sizing — theme-invariant */
  --radius: 6px;
  --sidebar-w: 260px;
  --list-w: 380px;

  /* Light theme tokens (default) */
  --bg: #f5f7f6;
  --surface: #ffffff;
  --surface2: #eef1ef;
  --border: #d0d9d4;
  --accent: #278e5c;
  --text: #1a2020;
  --muted: #6b7b72;
  --ok: #278e5c;
  --warn: #b07a12;
  --danger: #c0392b;
  --verify: #8a6f3a;
}

:root[data-theme="dark"] {
  /* Dark theme tokens */
  --bg: #0e1410;
  --surface: #171f1a;
  --surface2: #1f2a23;
  --border: #2a3a30;
  --accent: #278e5c;
  --text: #e6efe9;
  --muted: #849289;
  --ok: #4caf7d;
  --warn: #e0a93a;
  --danger: #e05c5c;
  --verify: #c2a86a;
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 13px;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

h1, h2, h3 { font-weight: 600; }

button {
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text);
  border-radius: var(--radius);
  padding: 5px 10px;
  cursor: pointer;
  font-size: 12px;
}
button:hover { border-color: var(--accent); }
button.primary { background: var(--brand); color: white; border-color: var(--brand); }
button.primary:hover { filter: brightness(1.15); }

input, select, textarea {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text);
  padding: 5px 9px;
  font-size: 13px;
  font-family: inherit;
  outline: none;
}
input:focus, select:focus, textarea:focus { border-color: var(--accent); }

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