.canvas-shell{position:relative;flex:none}
.canvas{transform-origin:top left;overflow:visible}
.table:not(.object):not(.solo){overflow:visible;min-width:0}
.table:not(.object):not(.solo) .seats{position:absolute;inset:0;width:100%;height:100%;margin:0;display:block;pointer-events:none}
.table:not(.object):not(.solo) .seat{position:absolute;min-height:0;display:flex;pointer-events:auto;border:2px solid #a7c7d0;box-shadow:0 3px 8px #17394e18}
.table:not(.object):not(.solo) .seat.drop-target,.table.solo .seat.drop-target{outline:3px solid #e29d3b;outline-offset:3px;background:#fff3db}
.table .table-head{position:relative;z-index:1;pointer-events:none}
.table .table-head strong{pointer-events:none}
.table .table-head span{pointer-events:none}
.person[draggable="true"]{cursor:grab}
.person[draggable="true"]:active{cursor:grabbing}
.person.dragging{opacity:.55}
.people.drop-list{outline:2px dashed #168198;outline-offset:4px;border-radius:8px;background:#eaf7f8}
.occupant-grip{position:absolute;right:-8px;top:-9px;background:#187f93;color:white;border:1px solid white;border-radius:4px;padding:1px 4px;font-size:11px;cursor:grab;z-index:5;line-height:1}
.occupant-grip:focus-visible{outline:2px solid #e29d3b}
.table.group-selected{outline:3px solid #268cab;outline-offset:4px}
.marquee{position:absolute;border:1px solid #187f93;background:#187f9322;z-index:8;pointer-events:none}
.advanced-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 24px;background:#f7fbfc;border-bottom:1px solid #d9e4e9}
.advanced-tools .btn{padding:7px 10px;font-size:.83rem;width:auto}
.advanced-tools .zoom-label{min-width:46px;text-align:center;font-weight:700;color:#3b6172;font-size:.84rem}
.advanced-tools .tool-hint{font-size:.77rem;color:var(--muted78);margin-left:auto}
.advanced-tools .check-line{font-size:.8rem;color:#36596b}
.chair-panel{margin-top:14px;border-top:1px solid #d9e4e9;padding-top:14px;display:grid;gap:8px}
.chair-panel .btn{width:100%}
.chair-mode{font-size:.8rem;color:#5c7886}
.seat-count-badge{position:absolute;top:-14px;right:-15px;background:#214f63;color:white;border-radius:12px;padding:2px 7px;font-size:.72rem;font-weight:700;z-index:3}
@media(max-width:650px){.advanced-tools{padding:8px 16px}.advanced-tools .tool-hint{width:100%;margin:0}.workspace{overflow:auto}}
@media print{.advanced-tools,.marquee,.occupant-grip,.seat-count-badge{display:none!important}.canvas-shell{width:100%!important;height:auto!important}.canvas{transform:none!important}}
