:root {
  --bg: #0b0b0c;
  --bg-2: #141416;
  --bg-3: #1d1d20;
  --line: #2c2c30;
  --text: #f6f3ea;
  --muted: #a39f94;
  --gold-dark: #a0702f;
  --gold: #d6b15c;
  --gold-light: #fbee9a;
  --gold-grad: linear-gradient(120deg, #a0702f 0%, #d6b15c 35%, #fbee9a 60%, #c99a48 100%);
  --danger: #e2675a;
  --ok: #7cc79a;
  --radius: 14px;
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
}

.gold-text {
  background: var(--gold-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.btn {
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 14px 26px;
  font: inherit;
  font-weight: 700;
  letter-spacing: 0.04em;
  cursor: pointer;
  background: var(--gold-grad);
  color: #1a1408;
  transition: transform 0.1s, opacity 0.2s, filter 0.2s;
}
.btn:hover { filter: brightness(1.07); }
.btn:active { transform: scale(0.97); }
.btn:disabled { opacity: 0.45; cursor: not-allowed; }
.btn.ghost {
  background: transparent;
  color: var(--text);
  box-shadow: inset 0 0 0 1px var(--line);
}
.btn.small { padding: 8px 14px; font-size: 13px; }
.btn.danger { background: transparent; color: var(--danger); box-shadow: inset 0 0 0 1px #5a2a25; }

input, select {
  width: 100%;
  font: inherit;
  font-size: 16px;
  color: var(--text);
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 13px 14px;
  outline: none;
}
input:focus { border-color: var(--gold); }

label.field { display: block; margin-bottom: 14px; }
label.field span {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 6px;
}
