.digital-ticket{--ticket-accent:#0066cc;box-sizing:border-box;border:1px solid #dedee3;border-top:4px solid var(--ticket-accent);border-radius:14px;overflow:hidden;margin:18px 0;background:#fff;color:#1d1d1f;break-inside:avoid;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;line-height:1.5;text-align:left}
.digital-ticket *{box-sizing:border-box}
.digital-ticket .ticket-top{display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:22px 24px;background:#fff;color:#1d1d1f;border-bottom:1px solid #dedee3}
.digital-ticket .ticket-heading{min-width:0;flex:1;overflow-wrap:anywhere}
.digital-ticket .ticket-kicker{font-size:11px;font-weight:600;letter-spacing:.04em;margin:0 0 6px;color:#626268}
.digital-ticket .ticket-heading h3{font-size:24px;letter-spacing:-.6px;line-height:1.2;margin:0;color:#1d1d1f;font-weight:600}
.digital-ticket .ticket-artist{font-size:13px;margin:6px 0 0;color:#626268}
.digital-ticket .ticket-logo{display:block;width:58px;height:58px;object-fit:contain;flex-shrink:0}
.digital-ticket .ticket-poster{display:block;width:100%;max-height:260px;object-fit:contain;background:#f5f5f7;border-bottom:1px solid #dedee3}
.digital-ticket .ticket-body{display:flex;align-items:center;gap:22px;padding:24px;background:#fff}
.digital-ticket .qr{width:164px;height:164px;padding:16px;flex:0 0 164px;background:#fff;color:#000;isolation:isolate}
.digital-ticket .qr svg{display:block;width:100%;height:100%;background:#fff}
.digital-ticket .ticket-qr-placeholder{width:164px;min-height:164px;flex:0 0 164px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px dashed #b3b3bb;border-radius:10px;background:#f5f5f7;color:#626268;text-align:center}
.digital-ticket .ticket-qr-placeholder span{font-size:24px;font-weight:600}
.digital-ticket .ticket-qr-placeholder small{font-size:11px;line-height:1.5}
.digital-ticket .ticket-details{min-width:0;overflow-wrap:anywhere}
.digital-ticket .ticket-details h4{font-size:18px;font-weight:600;line-height:1.35;margin:0 0 10px;color:#1d1d1f}
.digital-ticket .ticket-details p{font-size:13px;margin:6px 0;color:#626268}
.digital-ticket .ticket-details .ticket-venue{color:#1d1d1f}
.digital-ticket .ticket-details .ticket-reference{font-family:ui-monospace,monospace;font-size:12px;margin-top:14px;color:#1d1d1f}
.digital-ticket .ticket-note{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:0 24px 22px;color:#626268}
.digital-ticket .ticket-bottom{display:block;max-width:none;border-top:1px solid #dedee3;margin:0;padding:12px 24px;background:#f5f5f7;font-size:11px;color:#626268}
.digital-ticket.inactive{opacity:1}
.digital-ticket.inactive .ticket-bottom{color:#b42332;font-weight:600}
.digital-ticket.inactive .qr{display:none}
.digital-ticket .ticket-qr-error{color:#b42332;font-size:12px;max-width:164px}
@media(max-width:600px){.digital-ticket .ticket-top{padding:20px 18px}.digital-ticket .ticket-heading h3{font-size:22px}.digital-ticket .ticket-body{flex-direction:column;align-items:flex-start;gap:16px;padding:18px}.digital-ticket .qr,.digital-ticket .ticket-qr-placeholder{align-self:center}.digital-ticket .ticket-note{padding:0 18px 18px}.digital-ticket .ticket-bottom{padding:12px 18px}}
@media print{.digital-ticket{max-width:650px;break-inside:avoid;page-break-inside:avoid;border-color:#888;-webkit-print-color-adjust:exact;print-color-adjust:exact}.digital-ticket .ticket-body{flex-direction:row;align-items:center}.digital-ticket .qr{width:180px;height:180px;flex-basis:180px;padding:16px}.digital-ticket .ticket-poster{max-height:180px}.digital-ticket .ticket-bottom{font-weight:600}.digital-ticket.ticket-preview .ticket-bottom{font-size:14px}}
