#seatingRoot.sp .sp-three-editor{position:absolute;inset:0;width:100%;height:100%;min-height:0;border-radius:0;overflow:hidden;background:#faf8f2;touch-action:none}
#seatingRoot.sp .sp-three-editor[hidden],#seatingRoot.sp #spCanvasSpace[hidden],#seatingRoot.sp .sp-seat-space[hidden]{display:none!important}
#seatingRoot.sp .sp-three-editor canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
#seatingRoot.sp .sp-three-layer{position:absolute;inset:0;z-index:2;pointer-events:none}
#seatingRoot.sp .sp-three-layer button{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);margin:0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#seatingRoot.sp .sp-three-table,#seatingRoot.sp .sp-three-zone,#seatingRoot.sp .sp-three-table-center{background:transparent;border:1px solid transparent;box-shadow:none;border-radius:18px;min-height:32px;padding:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#725e36;line-height:1.3}
#seatingRoot.sp .sp-three-table strong,#seatingRoot.sp .sp-three-zone span{font-size:10px;font-weight:600;text-shadow:0 1px 3px #fff,0 0 4px #fff}
#seatingRoot.sp .sp-three-table small{font-size:9px;color:#82775f;text-shadow:0 1px 3px #fff}
#seatingRoot.sp .sp-three-table.is-selected,#seatingRoot.sp .sp-three-zone.is-selected{border-color:#b59a59;background:#f6e6ba44}
#seatingRoot.sp .sp-three-layer button:is(:hover,:focus-visible){outline:2px solid #b59a59;outline-offset:2px}
#seatingRoot.sp .sp-three-resize{width:44px;height:44px;min-height:44px;padding:0;background:#fffdf2e8;border:1px solid #bfab75;border-radius:50%;color:#987a3d;font-size:23px;z-index:3}
#seatingRoot.sp .sp-three-table-center>span{font-size:13px;padding:4px;color:#8c7138}
#seatingRoot.sp .sp-three-table-center small{font-size:9px;margin-top:5px}
#seatingRoot.sp .sp-three-seat{width:60px;height:64px;min-height:44px;padding:0;border:0;border-radius:12px;background:transparent;justify-content:flex-end;overflow:visible}
#seatingRoot.sp .sp-three-seat:hover{background:transparent}
#seatingRoot.sp .sp-three-seat strong{font-size:9px;max-width:76px;min-height:0;line-height:1.35;padding:3px 5px;border-radius:7px;background:#fffdf3ed;transform:translateY(16px);box-shadow:0 1px 4px #4e412216}
#seatingRoot.sp .sp-three-seat .sp-seat-number{top:-8px;left:50%;transform:translateX(-50%);font-size:8px;color:#927b49;background:#fffdf3df;padding:1px 4px;border-radius:5px}
#seatingRoot.sp .sp-three-seat .sp-empty-chair{width:32px;height:32px;font-size:21px;border-radius:50%;margin:0;background:#fffdf5e8;border-style:solid}
#seatingRoot.sp .sp-three-seat.is-empty{justify-content:center;gap:0}
#seatingRoot.sp .sp-three-seat.is-empty strong{transform:none;background:transparent;font-size:8px;box-shadow:none}
#seatingRoot.sp .sp-three-seat.is-picked,#seatingRoot.sp .sp-three-seat.is-seat-drop{outline:2px solid #b59b60;background:#f6e6ba44}
#seatingRoot.sp .sp-three-table.is-drop-target{outline:3px solid #b59b60;background:#f6e6ba77}
#seatingRoot.sp .sp-room:has(.sp-three-editor[data-ready=true]) .sp-view-switch{display:none}
#seatingRoot.sp #spViewport:has(.sp-three-editor[data-ready=true]),#seatingRoot.sp .sp-table-view-map:has(.sp-three-editor[data-ready=true]){overflow:hidden}
#seatingRoot.sp .sp-tv-close-group{display:flex;align-items:center;gap:8px;flex-shrink:0}
#seatingRoot.sp .sp-tv-close-group [data-save-confirm]{font-size:10px;color:#839174;max-width:110px;line-height:1.4;text-align:right}
#seatingRoot.sp .sp-tv-close-group [data-state=saving]{color:#a68b51}
#seatingRoot.sp .sp-tv-close-group [data-state=error]{color:#b77c74}
#seatingRoot.sp .sp-tv-close-group .sp-tv-close{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;background:#fcf0ef;color:#bf807b;border-radius:50%;font-size:27px}
@media print{#seatingRoot.sp .sp-three-editor{display:none!important}#seatingRoot.sp #spCanvasSpace[hidden]{display:block!important}}

#seatingRoot.sp .sp-three-seat.is-occupied strong{position:absolute;left:50%;top:50%;width:70px;max-width:70px;transform:translate(calc(-50% + var(--label-x)),calc(-50% + var(--label-y)));pointer-events:none}
#seatingRoot.sp .sp-three-seat .sp-seat-number{top:auto;bottom:0;left:50%;pointer-events:none}
@media(max-width:700px){
 #seatingRoot.sp .sp-table-view-map{height:clamp(360px,48dvh,460px)}
 #seatingRoot.sp .sp-table-view-header>div:nth-child(2){text-align:left}
 #seatingRoot.sp .sp-table-view-header{display:grid;grid-template-columns:1fr auto;padding:10px 12px;gap:6px}
 #seatingRoot.sp .sp-table-view-header>.sp-tv-navigation{display:none}
 #seatingRoot.sp .sp-table-view-header>div:nth-child(2){grid-column:1;margin:0}
 #seatingRoot.sp .sp-table-view-header .sp-tv-close-group{grid-column:2;position:static;height:44px}
 #seatingRoot.sp .sp-tv-close-group [data-save-confirm]{position:static;white-space:normal;max-width:78px;font-size:9px}
}

@media(max-width:700px){
 #seatingRoot.sp .sp-three-seat{width:44px;height:56px}
 #seatingRoot.sp .sp-three-seat.is-occupied strong{width:46px;max-width:46px;font-size:8px;padding:3px 2px}
 #seatingRoot.sp .sp-three-seat.is-empty strong{display:none}
 #seatingRoot.sp .sp-table-view-header>div:nth-child(2){min-width:0;overflow-wrap:anywhere}
}

#seatingRoot.sp .sp-three-resize>span{display:block;transform:rotate(var(--arrow-rotation,0deg));pointer-events:none}
#seatingRoot.sp .is-blocked .sp-three-resize{border-color:#cd922b}

#seatingRoot.sp .sp-scene-loading{position:absolute;inset:0;z-index:15;display:grid;place-items:center;padding:28px;background:#f8f4e9e8;color:#403349;text-align:center}
#seatingRoot.sp .sp-scene-loading[hidden]{display:none!important}
#seatingRoot.sp .sp-scene-loading>div{display:grid;justify-items:center;gap:10px;max-width:calc(100vw - 48px);padding:22px 28px;border-radius:22px;background:#fffdf9;box-shadow:0 8px 32px #40334912}
#seatingRoot.sp .sp-scene-loading strong{font-size:16px;font-weight:600}
#seatingRoot.sp .sp-scene-loading small{font-size:12px;line-height:1.5;color:#6e6771}
#seatingRoot.sp .sp-scene-spinner{width:25px;height:25px;border:3px solid #e4dce9;border-top-color:#6d527d;border-radius:50%;animation:sp-scene-spin .9s linear infinite}
#seatingRoot.sp .sp-scene-loading.is-progress{inset:auto 12px auto;top:calc(var(--sp-scene-top,80px) + 12px);padding:0;background:none;pointer-events:none}
#seatingRoot.sp .sp-scene-loading.is-progress>div{grid-template-columns:18px auto;gap:3px 10px;padding:10px 16px;border-radius:16px}
#seatingRoot.sp .sp-scene-loading.is-progress .sp-scene-spinner{width:18px;height:18px;grid-row:span 2;border-width:2px}
#seatingRoot.sp .sp-scene-loading.is-progress strong{font-size:12px}
#seatingRoot.sp .sp-scene-loading.is-progress small{font-size:11px}
#seatingRoot.sp .sp-scene-loading.is-error .sp-scene-spinner{display:none}
#seatingRoot.sp .sp-scene-loading button{margin:6px 0 0;min-height:44px;border:0;border-radius:12px;padding:10px 18px;background:#403349;color:white;font:inherit;cursor:pointer}
#seatingRoot.sp .sp-three-editor .sp-guest-loading{display:none!important}
#seatingRoot.sp .sp-three-editor[data-ready=loading] .sp-walk{visibility:hidden;pointer-events:none}
@keyframes sp-scene-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#seatingRoot.sp .sp-scene-spinner{animation:none}}
