:root {
  --bg: #f6f1ea;
  --card: #ffffff;
  --ink: #2a211b;
  --muted: #7a6c61;
  --line: #e6dccf;
  --accent: #b5532a;
  --accent-ink: #ffffff;
  --ok: #2f7a4a;
  --warn: #c78a12;
  --bad: #b33a3a;
  --radius: 14px;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  background: var(--bg);
  color: var(--ink);
  -webkit-tap-highlight-color: transparent;
}
button { font: inherit; cursor: pointer; }
input, select { font: inherit; }
.btn {
  border: 0; border-radius: 10px; padding: 10px 16px;
  background: var(--accent); color: var(--accent-ink); font-weight: 600;
}
.btn:disabled { opacity: .5; }
.btn.ghost { background: transparent; color: var(--ink); border: 1px solid var(--line); }
.btn.ok { background: var(--ok); }
.btn.bad { background: var(--bad); }
.btn.small { padding: 6px 10px; font-size: 14px; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); }
.muted { color: var(--muted); }
.hidden { display: none !important; }
.price { font-variant-numeric: tabular-nums; white-space: nowrap; }
.toast {
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%);
  background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 10px;
  z-index: 50; max-width: 90vw;
}
