*{box-sizing:border-box}html,body{margin:0;padding:0;background:#f4f6f8;color:#101828;font-family:Arial,Helvetica,sans-serif}body{min-width:320px;overflow-x:hidden}.mobile-header{width:100%;background:#fff;border-bottom:1px solid #ddd}.mobile-header img{display:block;width:100%;height:auto;max-height:240px;object-fit:contain}.intro{padding:12px 12px 8px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;background:#fff}.intro h1{font-size:20px;margin:0 0 4px}.intro p{font-size:11px;color:#667085;margin:0;line-height:1.35}.live{font-size:10px;white-space:nowrap;color:#667085;padding-top:4px}.legend{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:8px 10px;background:#fff;border-bottom:1px solid #e4e7ec}.legend-item{font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap}.swatch{width:10px;height:10px;border-radius:2px;border:1px solid #777;display:inline-block}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:8px 10px}.summary-card{background:#fff;border:1px solid #e4e7ec;border-radius:8px;text-align:center;padding:7px 3px}.summary-card .n{font-size:16px;font-weight:900}.summary-card .t{font-size:8px;color:#667085;text-transform:uppercase}.map-card{background:#fff;border-top:1px solid #e4e7ec;border-bottom:1px solid #e4e7ec}.map-title{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;font-size:12px}.map-title span{font-size:9px;color:#667085}.map-wrap{width:100%;padding:5px 2px 7px;overflow:visible;background:#fafafa}.seat-map{width:100%;display:grid;grid-template-columns:repeat(51,minmax(0,1fr));grid-template-rows:repeat(28,minmax(0,1fr));gap:1px;aspect-ratio:51/28;position:relative}.seat{appearance:none;border:1px solid rgba(0,0,0,.22);border-radius:1px;color:#fff;font-weight:900;font-size:clamp(2.2px,0.82vw,4.6px);letter-spacing:-0.18px;line-height:1;padding:0;margin:0;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.seat:active{outline:2px solid #111827;outline-offset:0;z-index:3}.seat.busy{opacity:.88}.seat[data-status="paid"]{background-image:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55));box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}.seat[data-status="blocked"]{background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.72) 0 3px,rgba(0,0,0,.2) 3px 6px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}.seat[data-status="booked"]{box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}.stage{margin:0 8px 10px;background:#fff200;border:1px solid #c8b800;text-align:center;padding:8px;font-size:11px;font-weight:900;letter-spacing:.08em}.seat-info{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;justify-content:center;padding:12px}.seat-info[hidden]{display:none}.seat-info-card{width:100%;max-width:430px;background:#fff;border-radius:16px 16px 10px 10px;padding:17px 16px 15px;box-shadow:0 -8px 35px rgba(0,0,0,.25)}.seat-info-head{display:flex;justify-content:space-between;align-items:center}.seat-info-title{font-size:23px;font-weight:900}.close{border:0;background:#f2f4f7;border-radius:50%;width:34px;height:34px;font-size:22px}.seat-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;margin-top:13px}.seat-info-grid span{color:#667085;font-size:12px}.seat-info-grid b{text-align:right;font-size:13px}.available-text{color:#067647!important}.unavailable-text{color:#b42318!important}.note{text-align:center;font-size:9px;color:#667085;padding:8px 10px 18px}@media(min-width:700px){body{max-width:700px;margin:auto;box-shadow:0 0 20px rgba(0,0,0,.08)}.mobile-header img{max-height:220px}}

.seat-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:80;padding:9px 15px;border-radius:999px;background:#101828;color:#fff;font-size:15px;font-weight:900;box-shadow:0 5px 20px rgba(0,0,0,.25);pointer-events:none}.seat-toast[hidden]{display:none}.available-toast{background:#067647}.unavailable-toast{background:#b42318}.seat-info{display:none!important}

/* V6 status markings for public + operator maps */
.seat{position:relative;}
.seat>span{display:block;white-space:nowrap;line-height:1;position:relative;z-index:1;}
.seat-status-paid{filter:none!important;background-image:linear-gradient(rgba(0,0,0,.64),rgba(0,0,0,.64))!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.95),0 0 0 1px rgba(0,0,0,.55)!important;}
.seat-status-blocked{filter:none!important;background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.8) 0 3px,rgba(0,0,0,.2) 3px 6px)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.95),0 0 0 1px rgba(0,0,0,.55)!important;}
.seat-status-booked{filter:none!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.95),0 0 0 1px rgba(0,0,0,.5)!important;}
.seat-mark{position:absolute;right:0;top:0;width:7px;height:7px;border-radius:50%;background:#111;color:#fff;font-style:normal;font-size:5px;line-height:7px;text-align:center;font-weight:900;z-index:4;}
.seat-status-paid .seat-mark{background:#fff;color:#111;}
