/* Protect map controls from theme-wide button/input rules. Keep coordinates,
 * rotation and scaling owned by the seat map rather than resetting transforms. */
.msts-app .msts-map button.msts-seat{
 appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:48px!important;height:45px!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
 margin:0!important;padding:0!important;float:none!important;clear:none!important;
 border:2px solid var(--zone,#dbeafe)!important;border-radius:12px 12px 6px 6px!important;
 background:var(--msts-available,#fff)!important;color:#0f172a!important;
 font-family:inherit!important;font-size:14px!important;font-weight:800!important;line-height:1!important;
 letter-spacing:normal!important;text-indent:0!important;text-transform:none!important;text-shadow:none!important;
 box-shadow:none!important;vertical-align:middle!important;cursor:pointer;overflow:visible!important;
}
.msts-app .msts-map button.msts-seat::before,.msts-app .msts-map button.msts-seat::after,
.msts-app .msts-map-tools button::before,.msts-app .msts-map-tools button::after,
.msts-app .msts-level-tabs button::before,.msts-app .msts-level-tabs button::after{content:none!important;display:none!important}
.msts-app .msts-map button.msts-free-seat{
 position:absolute!important;width:var(--msts-seat-size,40px)!important;height:var(--msts-seat-size,40px)!important;
 font-size:clamp(9px,calc(var(--msts-seat-size,40px) * .34),15px)!important;
}
.msts-app .msts-map button.msts-seat>span{display:inline!important;margin:0!important;padding:0!important;font:inherit!important;line-height:1!important;color:inherit!important;background:none!important;border:0!important;text-shadow:none!important}
.msts-app .msts-map button.msts-seat.available{background:var(--zone,var(--msts-available,#fff))!important;border-color:var(--zone,#cbd5e1)!important;color:var(--zone-contrast,#0f172a)!important;box-shadow:inset 0 -4px 0 rgb(15 23 42 / 12%)!important}
.msts-app .msts-map button.msts-seat.sold,.msts-app .msts-map button.msts-seat.reserved{background:var(--msts-sold,#ef4444)!important;border-color:var(--msts-sold,#ef4444)!important;color:#fff!important}
.msts-app .msts-map button.msts-seat.held{background:var(--msts-held,#f59e0b)!important;border-color:var(--msts-held,#f59e0b)!important;color:#172033!important}
.msts-app .msts-map button.msts-seat.disabled{background:repeating-linear-gradient(135deg,#cbd5e1 0,#cbd5e1 5px,#e2e8f0 5px,#e2e8f0 10px)!important;border-color:#94a3b8!important;color:#475569!important}
.msts-app .msts-map button.msts-seat.selected{background:var(--msts-selected,#22c55e)!important;border-color:var(--msts-selected,#22c55e)!important;color:#fff!important;filter:none!important}
.msts-app .msts-map button.msts-seat:disabled{cursor:not-allowed!important;opacity:.82!important}
.msts-app .msts-map button.msts-seat small{font-family:inherit!important;font-size:12px!important;font-weight:400!important;line-height:1.6!important;text-transform:none!important;letter-spacing:normal!important}
.msts-app .msts-map-tools button,.msts-app .msts-level-tabs button{
 appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;
 display:inline-flex!important;align-items:center!important;justify-content:center!important;float:none!important;
 width:auto!important;min-width:44px!important;height:44px!important;min-height:44px!important;max-width:none!important;
 margin:0!important;padding:0 12px!important;border:1px solid #cbd5e1!important;border-radius:9px!important;
 background:#fff!important;color:#1e293b!important;box-shadow:none!important;text-shadow:none!important;
 font-family:inherit!important;font-size:14px!important;font-weight:700!important;line-height:1.4!important;
 text-indent:0!important;text-transform:none!important;letter-spacing:normal!important;white-space:nowrap!important;cursor:pointer!important;
}
.msts-app .msts-level-tabs button.active{background:var(--msts-primary,#2563eb)!important;border-color:var(--msts-primary,#2563eb)!important;color:#fff!important}
.msts-app .msts-map-tools input.msts-map-zoom{
 appearance:auto!important;-webkit-appearance:auto!important;box-sizing:border-box!important;
 display:inline-block!important;position:static!important;float:none!important;flex:1 1 140px!important;
 width:min(240px,42vw)!important;min-width:80px!important;max-width:240px!important;height:26px!important;min-height:0!important;
 margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
 background:transparent!important;box-shadow:none!important;accent-color:var(--msts-primary,#2563eb);
}
.msts-app .msts-map button.msts-seat:focus-visible,.msts-app .msts-map-tools button:focus-visible,.msts-app .msts-level-tabs button:focus-visible,.msts-app .msts-map-tools input.msts-map-zoom:focus-visible{outline:3px solid #1d4ed8!important;outline-offset:3px!important}
@media(max-width:680px){.msts-app .msts-map button.msts-seat{width:40px!important;height:40px!important}.msts-app .msts-map button.msts-free-seat{width:var(--msts-seat-size,40px)!important;height:var(--msts-seat-size,40px)!important}}
