.ticket-toolbar {
  background:#050505;
  color:#fff;
  border-bottom:4px solid #d6a51f;
  padding:16px 22px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  font-family:Arial, Helvetica, sans-serif;
}
.ticket-toolbar h1 { color:#d6a51f; margin:0; }
.sub { color:#ddd; }
.ticket-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.ticket-actions select {
  padding:9px;
  background:#222;
  color:#fff;
  border:1px solid #666;
  border-radius:8px;
}
.btn {
  background:#d6a51f;
  color:#111;
  border:0;
  border-radius:8px;
  padding:10px 13px;
  font-weight:bold;
  text-decoration:none;
  display:inline-block;
  cursor:pointer;
  font-family:Arial, Helvetica, sans-serif;
}
.btn.secondary { background:#333; color:#fff; border:1px solid #666; }
.btn.check { background:#31a24c; color:#fff; width:100%; font-size:22px; padding:16px; margin:12px 0; }
.empty {
  margin:20px;
  padding:18px;
  border-left:5px solid #d6a51f;
  background:#222;
  color:#fff;
  font-family:Arial, Helvetica, sans-serif;
}
.tickets-grid {
  padding:18px;
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(390px, 1fr));
  gap:16px;
  background:#eee;
  min-height:100vh;
}
.ticket {
  background:#fff;
  color:#111;
  border:3px solid #111;
  border-radius:16px;
  overflow:hidden;
  font-family:Arial, Helvetica, sans-serif;
  break-inside:avoid;
  box-shadow:0 4px 18px rgba(0,0,0,.18);
}
.ticket-header {
  background:#111;
  color:#fff;
  padding:12px 14px;
  border-bottom:4px solid #d6a51f;
}
.brand {
  color:#d6a51f;
  font-weight:900;
  letter-spacing:1px;
}
.brand.big {
  font-size:26px;
  text-align:center;
}
.event {
  font-size:18px;
  font-weight:bold;
  margin-top:2px;
}
.ticket-main {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:16px;
}
.ticket-left { flex:1; }
.label {
  color:#666;
  text-transform:uppercase;
  font-size:12px;
  font-weight:bold;
}
.seat {
  font-size:34px;
  font-weight:900;
  line-height:1;
  margin:3px 0 7px;
}
.details {
  font-size:14px;
  font-weight:bold;
  color:#333;
}
.name {
  margin-top:12px;
  font-size:20px;
  font-weight:bold;
}
.checked {
  margin-top:10px;
  background:#fff3cd;
  border:1px solid #d6a51f;
  padding:6px;
  font-size:12px;
  font-weight:bold;
}
.qr {
  width:160px;
  text-align:center;
  font-size:12px;
  font-weight:bold;
}
.qr img {
  width:150px;
  height:150px;
}
.ticket-footer {
  background:#f4f4f4;
  border-top:1px dashed #999;
  padding:9px 14px;
  font-weight:bold;
  text-align:center;
}
.checkin-body {
  min-height:100vh;
  margin:0;
  background:linear-gradient(135deg,#050505,#2a240f);
  color:#fff;
  font-family:Arial, Helvetica, sans-serif;
  display:flex;
  align-items:center;
  justify-content:center;
}
.checkin-card {
  width:min(540px, 94vw);
  background:#111;
  border:3px solid #d6a51f;
  border-radius:18px;
  padding:24px;
  text-align:center;
  box-shadow:0 18px 60px rgba(0,0,0,.6);
}
.checkin-card h1 { margin:8px 0; }
.seat-big {
  font-size:48px;
  font-weight:900;
  color:#d6a51f;
  margin:18px 0 4px;
}
.guest {
  font-size:24px;
  font-weight:bold;
  margin-bottom:14px;
}
.check-status {
  padding:12px;
  border-radius:10px;
  margin:12px 0;
  font-weight:bold;
}
.check-status.good { background:#143d20; color:#bdf2c8; border:1px solid #31a24c; }
.check-status.warn { background:#44330c; color:#ffe19b; border:1px solid #d6a51f; }
.check-status.bad { background:#4b1111; color:#ffc8c8; border:1px solid #c62828; }
.check-status.neutral { background:#222; color:#ddd; border:1px solid #555; }
@media print {
  .no-print { display:none !important; }
  body { background:#fff; }
  .tickets-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:0;
    background:#fff;
  }
  .ticket {
    box-shadow:none;
    border-radius:10px;
    page-break-inside:avoid;
  }
  @page { margin:.35in; }
}