.abbseat-scroll{overflow-x:auto;max-width:100%;padding:12px 5px 18px;overscroll-behavior-x:contain;border-block:1px solid #d8dce7;background:#fafbff;border-radius:8px;scrollbar-color:#8896b5 #ecf0fa}
.abbseat-grid{display:grid;grid-template-columns:repeat(var(--seat-columns),44px);grid-auto-rows:44px;gap:8px;width:max-content;margin:0 auto;padding:5px;box-sizing:content-box}
.abbpr button.abbseat,.abbadmin button.abbseat{width:44px;height:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center;position:relative;border:1.5px solid #697791;border-radius:9px 9px 5px 5px;background:#fff;color:#152038;font:700 12px/1 Arial,sans-serif;box-shadow:0 3px 0 #dfe3ec;cursor:pointer;letter-spacing:0;opacity:1;text-transform:none;transition:background .12s,border-color .12s}
.abbpr button.abbseat:hover:not(:disabled),.abbadmin button.abbseat:hover:not(:disabled){border-color:#154cff;background:#e5ecff}
.abbpr button.abbseat.selected,.abbadmin button.abbseat.selected{background:#154cff;color:#fff;border-color:#154cff;box-shadow:0 3px 0 #1034aa}
.abbpr button.abbseat.occupied,.abbadmin button.abbseat.occupied{background:#444c60;color:#fff;border-color:#444c60;box-shadow:none}
.abbpr button.abbseat.unavailable,.abbadmin button.abbseat.blocked{background:repeating-linear-gradient(135deg,#e1e4eb,#e1e4eb 4px,#f1f3f7 4px,#f1f3f7 8px);color:#465066;border-color:#adb5c4;box-shadow:none}
.abbadmin button.abbseat.reserved{background:#ffefd2;border-color:#ab751d;color:#67410b}
.abbadmin button.abbseat.checked-in{background:#126446;border-color:#126446;color:#fff}
.abbpr button.abbseat:disabled,.abbadmin button.abbseat:disabled{cursor:not-allowed;opacity:1}
.abbseat.selected:after{content:'✓';position:absolute;right:3px;top:2px;font-size:9px}
.abbseat.occupied:after,.abbseat.unavailable:after,.abbseat.blocked:after{content:'×';position:absolute;right:3px;top:2px;font-size:10px}
.abbseat:focus-visible{outline:3px solid #154cff;outline-offset:3px;z-index:1}
.abbseat-legend{display:flex;flex-wrap:wrap;gap:8px 17px;font:12px/1.5 Arial,sans-serif;margin:14px 0}
.abbseat-legend span{display:inline-flex;gap:6px;align-items:center}
.abbseat-legend i{display:inline-block;width:15px;height:15px;border-radius:3px;border:1px solid #697791;background:white;font-style:normal}
.abbseat-legend i.selected{background:#154cff;border-color:#154cff}.abbseat-legend i.occupied{background:#444c60;border-color:#444c60}.abbseat-legend i.unavailable,.abbseat-legend i.blocked{background:repeating-linear-gradient(135deg,#dce1eb,#dce1eb 3px,#fff 3px,#fff 6px)}.abbseat-legend i.reserved{background:#ffefd2;border-color:#ab751d}.abbseat-legend i.checked-in{background:#126446;border-color:#126446}
.abbseat-summary{padding:12px 14px;background:#edf2ff;border-radius:6px;font-size:14px;line-height:1.5;margin:14px 0!important;min-height:45px}
.abbseat-instruction{font-size:12px;line-height:1.6;color:#505d75;margin:9px 0!important}
.abbadmin-map-controls{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0}.abbadmin-map-controls label{flex:1;min-width:200px}.abbadmin-map-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:18px 0}.abbadmin-map-fields .full{grid-column:1/-1}.abbadmin-map-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.abbadmin-map-message{color:#8c2435;font-weight:600}
@media(max-width:680px){.abbadmin-map-fields{grid-template-columns:1fr}.abbseat-grid{margin:0 auto}.abbadmin-map-controls label{min-width:0;flex-basis:100%}}
.abbpr button.abbseat.selected:hover:not(:disabled),.abbadmin button.abbseat.selected:hover:not(:disabled){background:#123dd1;color:#fff;border-color:#123dd1}
.abbpr button.abbseat,.abbadmin button.abbseat{transition:none}
