.wrap { width: min(760px, calc(100% - 40px)); margin: 0 auto; padding: 28px 0 120px; }
.progress { display: flex; gap: 8px; margin: 8px 0 28px; }
.progress i {
  flex: 1; height: 6px; border-radius: 99px;
  background: #1c1e33;
}
.progress i.on { background: var(--purple); }
.panel {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 24px;
}
.panel h1 { font-family: Oswald, sans-serif; font-size: 32px; line-height: 1.15; margin-bottom: 8px; }
.panel p.lead { color: var(--muted); margin-bottom: 20px; }
.choices { display: grid; gap: 10px; }
.choice {
  display: flex; align-items: flex-start; gap: 12px;
  text-align: left; width: 100%;
  background: #0b0c18; color: var(--text);
  border: 1px solid var(--line); border-radius: 14px;
  padding: 14px 16px; cursor: pointer; font: inherit;
}
.choice:hover, .choice.sel { border-color: var(--purple); background: #16102c; }
.choice strong { display: block; }
.choice span { color: var(--muted); font-size: 13px; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.field { display: grid; gap: 6px; margin-bottom: 12px; font-size: 13px; color: var(--muted); }
.field.full { grid-column: 1 / -1; }
.field input, .field select, .field textarea {
  background: #0b0c18; border: 1px solid var(--line); color: #fff;
  border-radius: 10px; padding: 11px 12px; font: inherit;
}
.slots { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.err { color: #ff8d9a; font-size: 13px; min-height: 18px; margin: 4px 0 10px; }
.row-btns { display: flex; gap: 10px; margin-top: 8px; }
.row-btns .btn { flex: 1; }
.ticket {
  background: #0b0c18; border: 1px dashed rgba(139,77,255,.4);
  border-radius: 14px; padding: 16px; margin: 16px 0;
}
.ticket dt { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.ticket dd { margin: 0 0 10px; font-weight: 600; }
.conf-id {
  font-family: Oswald, sans-serif; font-size: 28px; color: var(--purple);
}
.hidden { display: none; }
@media (max-width: 640px) {
  .grid-2, .slots { grid-template-columns: 1fr; }
}
