:root {
  --bg: #0a0a0f;
  --surface: #111119;
  --surface-2: #17171f;
  --surface-3: #1e1e28;
  --line: #26262f;
  --line-strong: #33333f;
  --text: #ececf2;
  --text-dim: #9a9aa8;
  --text-mute: #6a6a78;
  --accent: #ff4d6d;
  --accent-soft: rgba(255, 77, 109, 0.12);
  --accent-2: #7c5cff;
  --good: #4ade80;
  --radius: 14px;
  --radius-sm: 10px;
}

* { box-sizing: border-box; }

html, body {
  margin: 0; padding: 0;
  background: var(--bg);
  color: var(--text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.container { max-width: 1180px; margin: 0 auto; padding: 0 20px; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 22px; border-radius: 999px; border: 1px solid transparent;
  font-size: 14px; font-weight: 600; cursor: pointer;
  transition: transform 100ms ease, filter 120ms ease;
}
.btn-primary { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; }
.btn-primary:hover { filter: brightness(1.08); }
.btn-ghost { background: transparent; border-color: var(--line-strong); color: var(--text); }
.btn-block { width: 100%; }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }

.field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.field label { font-size: 12px; color: var(--text-dim); font-weight: 500; }
.field input, .field select {
  padding: 12px 14px;
  background: var(--surface-2);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  color: var(--text);
  font-size: 16px;
  font-family: inherit;
}
.field input:focus { outline: none; border-color: var(--accent); }

.summary-note { font-size: 12px; color: var(--text-mute); margin: 12px 0 0; }
