/* One full canvas; menus and editors float above it without changing the camera frame. */
#seatingRoot.sp #spStudio{height:100dvh;overflow:hidden;background:#e9e4d5}
#seatingRoot.sp #spStudio .sp-studio-header{height:54px;min-height:54px;padding:4px 14px;position:relative;box-sizing:border-box}
#seatingRoot.sp #spStudio .sp-studio-header button{min-height:40px;padding:6px 12px}
#seatingRoot.sp #spStudio .sp-studio-header img{max-height:34px;width:126px}
#seatingRoot.sp #spStudio .sp-studio-body{height:calc(100dvh - 54px);position:relative;overflow:hidden;display:block}
#seatingRoot.sp #spStudio .sp-studio-scene{height:100%;min-height:0;display:block;position:relative;overflow:hidden}
#seatingRoot.sp #spStudio .sp-studio-title{position:absolute;top:0;left:0;right:0;padding:12px 16px 10px;min-height:0;background:linear-gradient(#fbf8eee8,#fbf8ee90,transparent);pointer-events:none;z-index:7}
#seatingRoot.sp #spStudio .sp-studio-title h1{font-size:22px;line-height:1.15;margin:0 0 4px}
#seatingRoot.sp #spStudio .sp-studio-title p{font-size:11px;margin:0 0 9px;line-height:1.4}
#seatingRoot.sp #spStudio .sp-studio-title .sp-studio-tabs{display:flex;flex-wrap:nowrap;gap:5px;max-width:690px;margin:0;pointer-events:auto}
#seatingRoot.sp #spStudio .sp-studio-title .sp-studio-tabs button{flex:1;min-width:0;min-height:40px;padding:8px 9px;border-radius:12px;font-size:12px;line-height:1.2;white-space:normal;box-shadow:none;background:#fffcf3e8}
#seatingRoot.sp #spStudio .sp-studio-title .sp-studio-tabs button.is-active{background:#373e30;color:#fff8e8;border-color:#373e30}
#seatingRoot.sp #spStudio .sp-studio-space,#seatingRoot.sp #spStudio .sp-studio-hud{display:contents!important}
#seatingRoot.sp #spStudio #spViewport{position:absolute;inset:0;height:100%;width:100%;min-height:0;border:0;border-radius:0;background:transparent}
#seatingRoot.sp #spStudio .sp-room-bottom{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:16px;right:16px;height:48px;margin:0;padding:0;z-index:6;background:transparent;border:0;pointer-events:none;align-items:center}
#seatingRoot.sp #spStudio .sp-room-bottom>div,#seatingRoot.sp #spStudio .sp-room-bottom button{pointer-events:auto}
#seatingRoot.sp #spStudio .sp-room-bottom button{background:#fffaf0ee;min-height:44px}
#seatingRoot.sp #spStudio .sp-room-bottom #spHint{max-width:180px;font-size:10px;text-shadow:0 1px 3px #fff}
#seatingRoot.sp #spStudio #spStudioTasks{position:absolute;inset:0;pointer-events:none;padding:0;margin:0;max-width:none;width:100%;z-index:6;background:none;border:0}
#seatingRoot.sp #spStudio .sp-studio-task-title,#seatingRoot.sp #spStudio #spStudioTools>.sp-toolbar,#seatingRoot.sp #spStudio #spStudioTools>.sp-room-options{display:none!important}
#seatingRoot.sp #spStudio .sp-canvas-actions{position:absolute;right:16px;top:122px;display:flex;gap:7px;align-items:center;z-index:8}
#seatingRoot.sp #spStudio .sp-canvas-actions button{min-height:46px;background:#fffaf0f0;border:1px solid #cbb990;border-radius:15px;padding:9px 14px;box-shadow:0 5px 22px #51493014;font-size:12px}
#seatingRoot.sp #spStudio .sp-canvas-actions [data-canvas-add]{background:#373e30;color:#fff9ed;border-color:#373e30}
#seatingRoot.sp #spStudio .sp-canvas-actions [data-canvas-add] span{font-size:22px;line-height:.7;vertical-align:-2px}
#seatingRoot.sp #spStudio .sp-canvas-actions [data-save-confirm]{font-size:10px;color:#6d765f;position:absolute;right:0;top:52px;white-space:nowrap}
#seatingRoot.sp #spStudio .sp-floating-panel,#seatingRoot.sp #spStudio #spBuilder{position:absolute;z-index:12;inset:auto 16px 76px auto;width:380px;max-width:calc(100% - 32px);max-height:min(65dvh,650px);margin:0;padding:16px;background:#fffdf7fa;border:1px solid #d7c8a8;border-radius:22px;box-shadow:0 16px 70px #332b3530;overflow:auto;box-sizing:border-box;pointer-events:auto}
#seatingRoot.sp #spStudio #spBuilder header,#seatingRoot.sp #spStudio .sp-floating-panel header{display:flex;align-items:center;gap:8px;margin:0 0 12px;min-height:40px}
#seatingRoot.sp #spStudio #spBuilder header strong,#seatingRoot.sp #spStudio .sp-floating-panel header strong{font-size:16px;margin-right:auto}
#seatingRoot.sp #spStudio #spBuilder header small{display:none}
#seatingRoot.sp #spStudio .sp-builder-close,#seatingRoot.sp #spStudio [data-canvas-close]{width:40px;height:40px;min-height:40px;padding:0;background:#f4eee2;border:0;border-radius:50%;font-size:24px;flex:none}
#seatingRoot.sp #spStudio #spBuilder .sp-build-categories{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}
#seatingRoot.sp #spStudio #spBuilder .sp-build-categories button{flex:1 0 27%;font-size:11px;min-height:36px;padding:6px;border-radius:10px}
#seatingRoot.sp #spStudio #spBuilder .sp-build-assets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
#seatingRoot.sp #spStudio #spBuilder .sp-build-assets button{min-width:0;padding:5px 4px 8px;min-height:100px;border-radius:14px;font-size:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
#seatingRoot.sp #spStudio #spBuilder .sp-build-assets img{width:100%;height:65px;object-fit:contain;max-height:none}
#seatingRoot.sp #spStudio #spBuilder .sp-build-assets small{font-size:9px;color:#93866f}
#seatingRoot.sp #spStudio .sp-build-selection{position:absolute;left:16px;bottom:76px;z-index:9;max-width:calc(100% - 32px);width:310px;padding:12px;background:#fffdf4f5;border:1px solid #d7c8a8;border-radius:18px;box-shadow:0 12px 30px #332b351a;box-sizing:border-box;pointer-events:auto}
#seatingRoot.sp #spStudio .sp-build-selection>button{float:right;border:0;background:transparent;width:32px;min-height:32px;padding:0;font-size:22px}
#seatingRoot.sp #spStudio .sp-build-selection strong{font-size:13px;display:block;margin:3px 0 12px}
#seatingRoot.sp #spStudio .sp-build-selection>div{display:flex;gap:6px}
#seatingRoot.sp #spStudio .sp-build-selection>div button{flex:1;font-size:12px;min-height:42px;padding:7px}
#seatingRoot.sp #spStudio.is-builder-open .sp-build-selection{display:none!important}
#seatingRoot.sp #spStudio .sp-style-panel>p{font-size:12px;margin:0 0 14px;color:#82765f}
#seatingRoot.sp #spStudio .sp-style-panel>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}
#seatingRoot.sp #spStudio .sp-style-panel [data-venue-style]{padding:5px 5px 10px;border:1px solid #ded3bd;border-radius:14px;background:#fbf7ed;display:grid;gap:6px;overflow:hidden}
#seatingRoot.sp #spStudio .sp-style-panel [aria-pressed=true]{border-color:#9f8040;box-shadow:inset 0 0 0 1px #9f8040}
#seatingRoot.sp #spStudio .sp-style-panel img{width:100%;height:96px;object-fit:cover;border-radius:9px}
#seatingRoot.sp #spStudio #spDecorPrompt{position:absolute;z-index:9;left:16px;right:16px;bottom:80px;max-width:480px;padding:12px 16px;border-radius:16px;background:#fffdf1;box-shadow:0 5px 30px #332b3522;display:flex;align-items:center;gap:10px;font-size:13px}
#seatingRoot.sp #spStudio #spDecorPrompt button{margin-left:auto;min-height:40px}
#seatingRoot.sp #spStudio #spBuilderEmpty{top:45%;bottom:auto;left:50%;transform:translate(-50%,-50%);width:240px}
#seatingRoot.sp #spStudio.is-area-edit #spBuilder{max-height:300px}
#seatingRoot.sp #spStudio #spBuilder .sp-area-shelf{max-height:none;overflow:visible}
#seatingRoot.sp #spStudio #spConflict{pointer-events:auto;position:absolute;left:16px;right:16px;top:180px;background:#fff2dd;z-index:15}
#seatingRoot.sp #spStudio[data-task=guests],#seatingRoot.sp #spStudio[data-task=shopping]{overflow:auto;background:#f9f7f2}
#seatingRoot.sp #spStudio:is([data-task=guests],[data-task=shopping]) .sp-studio-body{height:auto;overflow:visible}
#seatingRoot.sp #spStudio:is([data-task=guests],[data-task=shopping]) .sp-studio-scene{height:120px}
#seatingRoot.sp #spStudio:is([data-task=guests],[data-task=shopping]) #spStudioTasks{position:relative;inset:auto;pointer-events:auto;max-width:850px;margin:0 auto;padding:0 14px 24px}
#seatingRoot.sp #spStudio [hidden],#seatingRoot.sp #spDecorPrompt[hidden],#seatingRoot.sp #spTableView [hidden]{display:none!important}
/* The selected table also keeps its full canvas. Its guest tray is a temporary overlay. */
#seatingRoot.sp #spTableView{overflow:hidden;height:100dvh;max-height:100dvh}
#seatingRoot.sp #spTableView .sp-table-view-content{position:relative;height:calc(100dvh - 68px);display:block;overflow:hidden}
#seatingRoot.sp #spTableView .sp-table-view-scene{position:absolute;inset:0;display:flex;flex-direction:column;height:100%;min-height:0}
#seatingRoot.sp #spTableView .sp-table-view-map{height:auto;min-height:0;flex:1}
#seatingRoot.sp #spTableView .sp-table-view-actions{position:absolute;z-index:8;bottom:74px;right:16px;max-height:55%;width:360px;max-width:calc(100% - 32px);overflow:auto;padding:14px;border-radius:20px;background:#fffdf6f5;border:1px solid #d7c8a8;box-shadow:0 16px 50px #332b3530}
#seatingRoot.sp #spTableView .sp-tv-guest-list{max-height:29dvh}
#seatingRoot.sp #spTableView .sp-tv-add{position:absolute;z-index:7;right:16px;bottom:80px;background:#373e30;color:#fff9ed;border-radius:16px;padding:12px 16px;min-height:46px}
#seatingRoot.sp #spTableView.is-tray-open .sp-tv-add{display:none}
#seatingRoot.sp #spTableView .sp-tray-close{float:right;width:40px;min-height:40px;padding:0;border:0;border-radius:50%;font-size:22px}
#seatingRoot.sp #spTableView .sp-table-view-instruction{margin:0;padding:8px 16px;font-size:11px}
#seatingRoot.sp #spTableView .sp-table-view-zoom{padding-bottom:max(10px,env(safe-area-inset-bottom))}
@media(min-width:701px){#seatingRoot.sp #spStudio .sp-canvas-actions{top:18px}#seatingRoot.sp #spStudio .sp-studio-title{padding-right:230px}#seatingRoot.sp #spStudio .sp-floating-panel,#seatingRoot.sp #spStudio #spBuilder{top:90px;bottom:auto;max-height:calc(100% - 165px)}}
@media(max-width:700px){#seatingRoot.sp #spStudio .sp-studio-title{padding:10px 12px 8px}#seatingRoot.sp #spStudio .sp-studio-title h1{font-size:20px}#seatingRoot.sp #spStudio .sp-studio-title .sp-studio-tabs button{font-size:10px;padding:7px 4px;min-height:38px}#seatingRoot.sp #spStudio .sp-canvas-actions{top:114px;right:12px}#seatingRoot.sp #spStudio .sp-canvas-actions button{min-height:42px;padding:9px 11px}#seatingRoot.sp #spStudio #spBuilder{padding:12px}#seatingRoot.sp #spStudio .sp-room-bottom #spHint{max-width:130px}}
@media(max-height:520px) and (orientation:landscape){#seatingRoot.sp #spStudio .sp-studio-title h1,#seatingRoot.sp #spStudio #spStudioCount{display:none}#seatingRoot.sp #spStudio .sp-studio-title{padding:6px 235px 6px 12px}#seatingRoot.sp #spStudio .sp-canvas-actions{top:6px}#seatingRoot.sp #spStudio #spBuilder,#seatingRoot.sp #spStudio .sp-floating-panel{top:58px;bottom:8px;max-height:calc(100% - 66px);width:340px}#seatingRoot.sp #spStudio #spBuilder .sp-build-assets img{height:48px}#seatingRoot.sp #spTableView .sp-table-view-actions{max-height:calc(100% - 20px);bottom:10px}#seatingRoot.sp #spTableView .sp-tv-guest-list{max-height:35dvh}}

#seatingRoot.sp #spStudio .sp-studio-title .sp-studio-tabs{padding:0;width:100%;max-width:690px;display:flex}
#seatingRoot.sp #spStudio .sp-canvas-actions button{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
#seatingRoot.sp #spStudio .sp-history{position:absolute;left:16px;bottom:76px;display:flex;gap:5px;z-index:5}
#seatingRoot.sp #spStudio .sp-history button{min-height:40px;background:#fffaf0dd;border-radius:12px;padding:8px 12px;font-size:11px}
#seatingRoot.sp #spStudio:not([data-task=edit]) .sp-history{display:none}
#seatingRoot.sp #spTableView .sp-three-table-center{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:50%;display:grid;place-items:center}
#seatingRoot.sp #spTableView .sp-three-table-center span{background:#fffdf0cc;padding:6px 9px;border-radius:12px;max-width:110px}
#seatingRoot.sp #spStudio .sp-build-selection{display:block}
#seatingRoot.sp #spStudio .sp-build-selection>strong{text-align:left}
#seatingRoot.sp #spStudio .sp-build-selection>div{display:flex}

@media(max-height:520px) and (orientation:landscape){#seatingRoot.sp #spStudio .sp-three-table small{display:none}#seatingRoot.sp #spStudio .sp-three-table strong{font-size:10px;line-height:1.1}}
/* A single native view switch remains comfortable in Safari and with a keyboard. */
#seatingRoot.sp #spStudio .sp-task-switch{position:relative;display:block;width:260px;max-width:100%;margin:8px 0 0;pointer-events:auto}
#seatingRoot.sp #spStudio .sp-task-switch-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#seatingRoot.sp #spStudio #spTaskSwitch{appearance:none;-webkit-appearance:none;width:100%;min-height:44px;padding:9px 42px 9px 14px;border:1px solid #373e30;border-radius:13px;background:#373e30;color:#fff9ed;font-family:inherit;font-weight:650;font-size:14px;line-height:1.2;cursor:pointer;box-shadow:0 3px 14px #3e403614;box-sizing:border-box}
#seatingRoot.sp #spStudio #spTaskSwitch:focus-visible{outline:3px solid #b99c5c;outline-offset:3px}
#seatingRoot.sp #spStudio .sp-task-chevron{position:absolute;right:14px;top:9px;line-height:22px;color:#e6d19b;font-size:24px;pointer-events:none}
#seatingRoot.sp #spStudio #spTaskSwitch option{background:#fffaf0;color:#373e30}
@media(max-width:700px){#seatingRoot.sp #spStudio .sp-task-switch{width:calc(100% - 162px);min-width:172px}#seatingRoot.sp #spStudio #spTaskSwitch{font-size:13px;padding-left:12px;padding-right:30px}#seatingRoot.sp #spStudio .sp-task-chevron{right:10px}#seatingRoot.sp #spStudio .sp-canvas-actions{top:64px}#seatingRoot.sp #spStudio .sp-canvas-actions [data-save-confirm]{top:49px}}
@media(max-height:520px) and (orientation:landscape){#seatingRoot.sp #spStudio .sp-task-switch{width:220px;margin:0}#seatingRoot.sp #spStudio .sp-studio-title{padding-right:230px}#seatingRoot.sp #spStudio .sp-canvas-actions{top:6px}}
/* A warm, touch-friendly view menu, shared by all planner screens. */
#seatingRoot.sp #spStudio .sp-task-switch{width:270px;z-index:20}
#seatingRoot.sp #spStudio #spTaskSwitch{display:flex;align-items:center;gap:10px;min-height:50px;text-align:left;padding:10px 14px;background:linear-gradient(135deg,#fffdf7,#f4ead5);color:#474436;border:1px solid #c6ad74;border-radius:16px;box-shadow:0 5px 20px #62563d16}
#seatingRoot.sp #spStudio .sp-task-current-icon,#seatingRoot.sp #spStudio .sp-task-option-icon{width:30px;height:30px;display:grid;place-items:center;flex-shrink:0;color:#92753c}
#seatingRoot.sp #spStudio .sp-task-switch svg{width:23px;height:23px}
#seatingRoot.sp #spStudio .sp-task-chevron{position:static;margin-left:auto;display:flex;transition:transform .18s;color:#92753c}
#seatingRoot.sp #spStudio .is-open .sp-task-chevron{transform:rotate(180deg)}
#seatingRoot.sp #spStudio #spTaskMenu{position:absolute;left:0;top:calc(100% + 9px);width:330px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:8px;border:1px solid #d8c59d;border-radius:20px;background:#fffcf6;box-shadow:0 18px 60px #352d3830;max-height:calc(100dvh - 200px);overflow:auto;pointer-events:auto}
#seatingRoot.sp #spStudio #spTaskMenu[hidden]{display:none}
#seatingRoot.sp #spStudio .sp-task-menu-heading{display:block;padding:11px 12px 9px;color:#97835a;font-size:10px;letter-spacing:.12em;font-weight:700}
#seatingRoot.sp #spStudio #spTaskMenu button{width:100%;display:flex;align-items:center;gap:10px;min-height:68px;text-align:left;padding:10px;border:1px solid transparent;border-radius:13px;background:transparent;color:#484637;box-shadow:none;margin:3px 0}
#seatingRoot.sp #spStudio #spTaskMenu button[aria-checked=true]{background:#efe4c9;border-color:#d7bf86}
#seatingRoot.sp #spStudio #spTaskMenu button:hover{background:#f5efdf}
#seatingRoot.sp #spStudio #spTaskMenu strong{font-size:14px;display:block;font-weight:650}
#seatingRoot.sp #spStudio #spTaskMenu small{font-size:11px;display:block;margin-top:4px;color:#8b806b;font-weight:400;line-height:1.35}
#seatingRoot.sp #spStudio .sp-task-check{margin-left:auto;color:#8e7137;visibility:hidden}
#seatingRoot.sp #spStudio [aria-checked=true] .sp-task-check{visibility:visible}
#seatingRoot.sp #spStudio #spTaskMenu button:focus-visible{outline:2px solid #b18d43;outline-offset:-2px}
@media(max-width:700px){#seatingRoot.sp #spStudio .sp-task-switch{width:calc(100% - 88px);min-width:0;max-width:300px}#seatingRoot.sp #spStudio #spTaskSwitch{font-size:13px;padding:9px 11px;gap:6px}#seatingRoot.sp #spStudio .sp-task-current-icon{width:24px}}
@media(max-height:520px) and (orientation:landscape){#seatingRoot.sp #spStudio #spTaskMenu{max-height:calc(100dvh - 125px);width:330px}#seatingRoot.sp #spStudio .sp-task-menu-heading{display:none}#seatingRoot.sp #spStudio #spTaskMenu button{min-height:52px;padding:7px}#seatingRoot.sp #spStudio .sp-task-switch{width:245px}#seatingRoot.sp #spStudio .sp-studio-title{display:flex;align-items:center;gap:18px}#seatingRoot.sp #spStudio .sp-studio-title h1{font-size:18px}#seatingRoot.sp #spStudio .sp-studio-title>p{display:none}}
#seatingRoot.sp #spStylePanel .sp-palette-section{border-top:1px solid #e5d8bd;margin-top:18px;padding-top:12px}
#seatingRoot.sp #spStylePanel .sp-palette-section h3{margin:0;font-size:16px}
#seatingRoot.sp #spStylePanel .sp-palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#seatingRoot.sp #spStylePanel [data-venue-palette]{border:1px solid #dfd2b8;border-radius:13px;min-height:72px;padding:10px;background:#fffdf8;display:flex;flex-direction:column;gap:8px;align-items:flex-start;color:#61553e;text-align:left;font-size:11px}
#seatingRoot.sp #spStylePanel [data-venue-palette][aria-pressed=true]{border:2px solid #ab8946;background:#f5ecd6;padding:9px}
#seatingRoot.sp #spStylePanel .sp-palette-swatches{display:flex;gap:4px}
#seatingRoot.sp #spStylePanel .sp-palette-swatches i{display:block;width:20px;height:20px;border-radius:50%;border:1px solid #00000010}
#seatingRoot.sp #spStudio .sp-rotate-hint{display:none}
#seatingRoot.sp #spStudio .sp-studio-header{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
@media(max-width:700px) and (orientation:portrait){
 #seatingRoot.sp #spStudio .sp-canvas-actions{top:auto;bottom:max(78px,calc(env(safe-area-inset-bottom) + 68px));right:12px}
 #seatingRoot.sp #spStudio .sp-canvas-actions button,#seatingRoot.sp #spStudio .sp-history button,#seatingRoot.sp #spStudio .sp-room-bottom button{min-width:48px;min-height:48px}
 #seatingRoot.sp #spStudio .sp-canvas-actions [data-save-confirm]{top:-23px;right:0;white-space:nowrap}
 #seatingRoot.sp #spStudio #spBuilder,#seatingRoot.sp #spStudio .sp-floating-panel{left:8px;right:8px;bottom:max(10px,env(safe-area-inset-bottom));top:auto;width:auto;max-width:none;max-height:58dvh;border-radius:24px;padding:14px;z-index:24;overscroll-behavior:contain}
 #seatingRoot.sp #spStudio .sp-floating-panel>header,#seatingRoot.sp #spStudio #spBuilder>header{position:sticky;top:-14px;background:#fffdf7;z-index:2;padding-top:8px;padding-bottom:8px}
 #seatingRoot.sp #spStudio .sp-floating-panel [data-canvas-close],#seatingRoot.sp #spStudio #spBuilder [data-canvas-close]{min-width:48px;min-height:48px}
 #seatingRoot.sp #spStudio .sp-task-switch{width:min(300px,100%);max-width:100%}
 #seatingRoot.sp #spStudio .sp-rotate-hint:not([hidden]){display:flex;position:absolute;left:12px;bottom:140px;max-width:245px;gap:6px;align-items:center;border:1px solid #d6c39d;border-radius:16px;background:#fffcf3ed;padding:8px 8px 8px 12px;font-size:11px;color:#84734e;z-index:5;box-shadow:0 6px 25px #463a2010}
 #seatingRoot.sp #spStudio .sp-rotate-hint button{background:transparent;border:0;min-width:44px;min-height:44px;padding:4px;font-size:18px;box-shadow:none}
 #seatingRoot.sp #spStudio.is-builder-open .sp-rotate-hint,#seatingRoot.sp #spStudio.is-style-open .sp-rotate-hint,#seatingRoot.sp #spStudio:not([data-task=summary]) .sp-rotate-hint{display:none}
}
@media(max-height:520px) and (orientation:landscape){
 #seatingRoot.sp #spStudio .sp-studio-header{height:48px;min-height:48px}
 #seatingRoot.sp #spStudio .sp-studio-body{height:calc(100dvh - 48px)}
 #seatingRoot.sp #spStudio .sp-studio-header button{min-height:44px}
 #seatingRoot.sp #spStudio .sp-floating-panel,#seatingRoot.sp #spStudio #spBuilder{top:8px;bottom:8px;right:max(8px,env(safe-area-inset-right));width:340px;max-width:48vw;max-height:none;z-index:24;overscroll-behavior:contain}
 #seatingRoot.sp #spStudio .sp-canvas-actions{right:max(12px,env(safe-area-inset-right));top:auto;bottom:72px}
 #seatingRoot.sp #spStudio .sp-canvas-actions button,#seatingRoot.sp #spStudio .sp-history button,#seatingRoot.sp #spStudio .sp-room-bottom button{min-width:48px;min-height:48px}
 #seatingRoot.sp #spStudio .sp-canvas-actions [data-save-confirm]{top:-20px;right:0;white-space:nowrap}
 #seatingRoot.sp #spStudio .sp-studio-title{padding-left:max(12px,env(safe-area-inset-left))}
 #seatingRoot.sp #spStudio #spTaskMenu{max-height:calc(100dvh - 120px)}
}
@media(prefers-reduced-motion:reduce){#seatingRoot.sp #spStudio .sp-task-chevron{transition:none}}
@media(max-height:520px) and (orientation:landscape){#seatingRoot.sp #spStudio .sp-floating-panel>header,#seatingRoot.sp #spStudio #spBuilder>header{position:sticky;top:-16px;background:#fffdf7;z-index:2;padding-top:8px;padding-bottom:8px}#seatingRoot.sp #spStudio .sp-floating-panel [data-canvas-close],#seatingRoot.sp #spStudio #spBuilder [data-canvas-close]{min-width:48px;min-height:48px}}
/* Scenario controls share the style drawer; the live scene remains the focus. */
#seatingRoot.sp .sp-light-section{margin:14px 0;padding:12px 0;border-bottom:1px solid #e1d4b8}
#seatingRoot.sp .sp-light-section>div{display:flex;gap:8px}
#seatingRoot.sp .sp-light-section button{flex:1;min-height:48px;border:1px solid #cfbb8c;background:#fffaf0;border-radius:14px;color:#61543a}
#seatingRoot.sp .sp-light-section button[aria-pressed=true]{background:#ece0c0;border-color:#a98538;box-shadow:inset 0 0 0 1px #a98538}
#seatingRoot.sp .sp-scenario-section{margin-top:20px;padding-top:12px;border-top:1px solid #dfd2b8}
#seatingRoot.sp .sp-scenario-section>div{display:flex;flex-direction:column;gap:8px}
#seatingRoot.sp .sp-scenario-section [data-scenario]{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;min-height:70px;padding:12px;border:1px solid #dfd2b8;border-radius:16px;background:#fffaf0;color:#504833}
#seatingRoot.sp .sp-scenario-section [data-scenario] strong{display:block;font-size:14px}
#seatingRoot.sp .sp-scenario-section [data-scenario] small{display:block;font-size:11px;line-height:1.4;margin-top:4px;color:#8a7b5d}
#seatingRoot.sp .sp-scenario-requirements{display:block;margin:10px 0;color:#8a7b5d}
#seatingRoot.sp .sp-scenario-now:not([hidden]){position:absolute;left:16px;bottom:76px;max-width:min(340px,calc(100% - 105px));display:flex;align-items:center;gap:12px;background:#fff9edee;border:1px solid #c7ad73;border-radius:17px;padding:8px 12px;z-index:12;color:#665437;box-shadow:0 5px 25px #392f231c;font-size:12px}
#seatingRoot.sp .sp-scenario-now button{min-height:44px;background:transparent;border:0;color:#93694b;white-space:nowrap}
#seatingRoot.sp #spStudio:has(.sp-scenario-now:not([hidden])) .sp-rotate-hint{display:none}
@media(max-height:520px) and (orientation:landscape){#seatingRoot.sp .sp-scenario-now:not([hidden]){bottom:16px;left:16px}}
#seatingRoot.sp #spStylePanel .sp-style-tabs{display:flex;gap:6px;margin:8px 0 16px;padding:4px;border-radius:14px;background:#eee6d4}
#seatingRoot.sp #spStylePanel .sp-style-tabs[hidden]{display:none}
#seatingRoot.sp #spStylePanel .sp-style-tabs button{flex:1;min-height:44px;padding:8px;border:0;background:transparent;border-radius:11px;font-size:12px;color:#766749}
#seatingRoot.sp #spStylePanel .sp-style-tabs button[aria-pressed=true]{background:#fffdf7;box-shadow:0 2px 8px #75603d14;color:#403e30;font-weight:700}
#seatingRoot.sp #spStylePanel[data-pane=appearance]>.sp-scenario-section{display:none}
#seatingRoot.sp #spStylePanel[data-pane=scenarios]>:not(header):not(.sp-style-tabs):not(.sp-scenario-section){display:none}
#seatingRoot.sp #spStylePanel[data-pane=scenarios]>.sp-scenario-section{border-top:0;margin-top:0;padding-top:0}

/* Cover the scene while the director restores the pre-scenario arrangement. */
#seatingRoot.sp .sp-scenario-transition{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#f2efe7;color:#304d42;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility 0s .18s}
#seatingRoot.sp .sp-scenario-transition[data-active=true]{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s ease}
#seatingRoot.sp .sp-scenario-transition span{font-family:Georgia,serif;font-size:clamp(25px,5vw,42px);text-align:center;line-height:1.3}
@media(prefers-reduced-motion:reduce){#seatingRoot.sp .sp-scenario-transition{transition:none}}
