:root{
  --bg: #0e0f11;
  --card: #15171a;
  --muted: #9aa4af;
  --text: #e8eaed;
  --accent: #f59e0b;
  --accent-ink: #291a05;
  --border: #23262a;
}

*{ box-sizing: border-box; }
html,body{ margin:0; padding:0; background:var(--bg); color:var(--text); font: 16px/1.5 system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
a{ color: var(--accent); text-decoration: none; }
.card{
  max-width: 760px; margin: 24px auto; background: var(--card); border: 1px solid var(--border);
  border-radius: 14px; padding: 18px 18px 22px;
}
.header{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom: 10px; }
.subtitle{ color: var(--muted); margin: 6px 0 0; }
.chip{ display:inline-block; border:1px solid var(--border); border-radius:999px; padding:6px 10px; font-size: .88rem; color:#cbd5e1; background:#0f1113; }

.field{ margin: 10px 0 12px; }
label{ display:block; font-size:.92rem; color:#cbd5e1; margin:0 0 6px; }
input, textarea{
  width:100%; background:#0f1113; color:var(--text); border:1px solid var(--border); border-radius: 10px;
  padding:12px 12px; outline:none;
}
input:focus, textarea:focus{ border-color:#354252; box-shadow:0 0 0 2px rgba(53,66,82,.2); }

.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width: 640px){ .grid-2{ grid-template-columns:1fr; } }

.suggest{
  list-style:none; padding:0; margin: 6px 0 0; border:1px solid var(--border); border-radius:10px; overflow:hidden; display:none; background:#0f1113;
}
.suggest.show{ display:block; }
.suggest li{ padding:10px 12px; border-top:1px solid var(--border); cursor:pointer; }
.suggest li:first-child{ border-top:none; }
.suggest li.active{ background:#121418; }

.result{
  display:none; margin: 10px 0 2px; border:1px dashed var(--border); padding:12px 12px; border-radius:10px; background:#0f1113; color:#e4e7eb;
}
.result.show{ display:block; }
.hint{ color: var(--muted); font-size:.9rem; }

.cta{ display:flex; gap:10px; margin-top: 12px; }
button{
  appearance:none; border:1px solid var(--border); background:#0f1113; color:#e8eaed; border-radius:12px; padding:12px 14px; font-weight:600; cursor:pointer;
}
button:disabled{ opacity:.6; cursor:not-allowed; }
.btn-reserve{ background: var(--accent); color: var(--accent-ink); border-color: transparent; }
