:root {
  --bg: #0a1030;
  --surface: #111a4a;
  --text: #f3f1e7;
  --divider: rgba(212,175,55,0.32);
  --neutral-100: #0f1642; --neutral-200: #16205a; --neutral-300: #202b70;
  --neutral-600: #8892bb; --neutral-700: #aab0d2; --neutral-800: #d9dbec; --neutral-900: #f6f6fb;
  --gold: #d4af37; --gold-100: #fbf1d3; --gold-400: #e0ba55; --gold-700: #93741f; --gold-800: #6b5416; --gold-900: #443309;
  --font-heading: 'Montserrat', sans-serif;
  --font-body: 'Poppins', sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--font-body); }
a { color: var(--gold); text-decoration: none; }
a:hover { color: var(--gold-400); }

.gold-text {
  background: linear-gradient(135deg,#f5e3ac,#d4af37 55%,#93741f);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

.btn {
  font-family: var(--font-body); font-weight: 600; font-size: 14px; cursor: pointer;
  border: 2px solid transparent; padding: 10px 16px; border-radius: 0;
}
.btn-primary { background: var(--gold); color: #17123a; }
.btn-primary:hover { background: var(--gold-400); }
.btn-secondary { background: transparent; border-color: var(--divider); color: var(--text); }
.btn-secondary:hover { border-color: var(--gold); }
.btn-ghost { background: transparent; border: none; color: var(--neutral-700); }
.btn-ghost:hover { color: var(--gold); }
.btn-block { width: 100%; }

.field { display: flex; flex-direction: column; gap: 6px; }
.field label { font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--neutral-600); }
.input {
  background: var(--neutral-100); border: 2px solid var(--divider); color: var(--text);
  font-family: var(--font-body); font-size: 14px; padding: 10px 12px; border-radius: 0; width: 100%;
}
.input:focus { outline: none; border-color: var(--gold); }

.table { border-collapse: collapse; }
.table th, .table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--divider); font-size: 14px; }
.table th { text-transform: uppercase; font-size: 11px; letter-spacing: 0.06em; color: var(--neutral-600); }

.tag { font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 0; display: inline-block; }
.tag-accent { background: var(--gold-100); color: var(--gold-900); }
.tag-neutral { background: var(--neutral-200); color: var(--neutral-800); }
.tag-outline { border: 1px solid var(--divider); color: var(--neutral-700); }

.card { border-radius: 0; }
