/* One room stays in the same place while the task controls change over it. */
#seatingRoot.sp>.sp-navigation,#seatingRoot.sp>.sp-hero,#seatingRoot.sp>.sp-stages,#seatingRoot.sp>.sp-workspace,#seatingRoot.sp>.sp-private-note{display:none!important}
#seatingRoot.sp #spStudio{position:fixed;inset:0;z-index:1200;width:100%;height:100dvh;overflow:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at 35% 35%,#faf6e9 0,#e8e4d9 65%,#d6d7ca 100%);color:#35392f;scrollbar-width:thin;scroll-padding-top:70px}
body:has(.workspacePanel.is-active #spStudio){overflow:hidden}
body:has(.workspacePanel.is-active #spStudio) :is(.clientWorkspace,.clientWorkspaceMain,.workspacePanel,#seatingRoot){transform:none!important;animation:none!important}
#seatingRoot.sp .sp-studio-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;height:64px;padding:8px 24px;background:#24251f;color:#f8f4e9}
#seatingRoot.sp .sp-studio-header img{width:140px;height:auto;max-height:44px;object-fit:contain}
#seatingRoot.sp .sp-studio-header button{width:auto;min-height:44px;padding:8px 14px;background:transparent;border:1px solid #666353;border-radius:12px;color:#f8f4e9;font-size:12px}
#seatingRoot.sp .sp-studio-body{width:100%;margin:0;padding:0}
#seatingRoot.sp .sp-studio-title{position:relative;z-index:7;flex:none;width:min(100%,1260px);min-height:90px;margin:0 auto;padding:22px 24px 14px;box-sizing:border-box;pointer-events:none}
#seatingRoot.sp .sp-studio-title>span{font-size:9px;letter-spacing:2.5px;color:#89764a;font-weight:700}
#seatingRoot.sp .sp-studio-title h1{font-size:clamp(22px,2.7vw,35px);font-weight:650;line-height:1.35;margin:7px 0 6px;letter-spacing:-.9px}
#seatingRoot.sp .sp-studio-title p{font-size:11px;margin:0;color:#817863}
#seatingRoot.sp .sp-studio-scene{position:relative;display:flex;flex-direction:column;min-height:calc(100dvh - 64px);min-width:0;background:#f3e3bf}
#seatingRoot.sp #spStudio #spViewport{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;border:0;border-radius:0;background:transparent;margin:0;overflow:hidden}
#seatingRoot.sp #spStudio .sp-three-editor{background:transparent}
#seatingRoot.sp #spStudioScene .sp-room-bottom{position:absolute;z-index:4;bottom:calc(var(--sp-scene-bottom,144px) - 50px);left:0;right:0;border:0;border-radius:0;background:transparent;display:flex;gap:12px;justify-content:space-between;align-items:center;padding:5px 10px;pointer-events:none}
#seatingRoot.sp #spStudioScene .sp-room-bottom button{pointer-events:auto;width:auto;min-width:44px;min-height:44px;padding:6px 10px;border:1px solid #d8cdb5;border-radius:50%;background:#fffaf0e8;font-size:11px}
#seatingRoot.sp #spStudioScene #spZoom{border-radius:14px}
#seatingRoot.sp #spStudioScene #spHint{max-width:65%;font-size:10px;line-height:1.5;color:#82745a}
#seatingRoot.sp #spStudio[data-task=summary] .sp-room-bottom,#seatingRoot.sp #spStudio[data-task=guests] .sp-room-bottom,#seatingRoot.sp #spStudio[data-task=room] .sp-room-bottom,#seatingRoot.sp #spStudio[data-task=tables] .sp-room-bottom,#seatingRoot.sp #spStudio[data-task=shopping] .sp-room-bottom{display:none}
#seatingRoot.sp .sp-studio-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:6px 0 16px;margin:0}
#seatingRoot.sp .sp-studio-tabs button{min-height:66px;display:grid;grid-template-columns:30px 1fr 12px;align-items:center;gap:10px;padding:12px 14px;border:1px solid #d4c8ad;border-radius:17px;background:#fffdf5ec;color:#444638;box-shadow:0 8px 25px #655e4310;text-align:left;font-size:12px;line-height:1.5}
#seatingRoot.sp .sp-studio-tabs button b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#b99c5c;color:white;font-weight:600}
#seatingRoot.sp .sp-studio-tabs button.is-active{background:#383d31;color:#f8f3e4;border-color:#383d31}
#seatingRoot.sp .sp-studio-task-title{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #d7cdb6;padding:18px 0 10px}
#seatingRoot.sp .sp-studio-task-title h2{font-size:18px;margin:0;color:#554d3e}
#seatingRoot.sp .sp-studio-task-title button{width:auto;min-height:44px;padding:8px 12px;font-size:11px;white-space:nowrap;color:#897347;background:#fffdf5;border:1px solid #d8cdb5;border-radius:13px}
#seatingRoot.sp #spStudio[data-task=summary] .sp-studio-task-title{display:none}
#seatingRoot.sp #spStudioTools{max-width:900px;margin:0 auto}
#seatingRoot.sp #spStudioTools[hidden]{display:none!important}
#seatingRoot.sp #spStudioTools .sp-toolbar{display:flex;justify-content:space-between;background:#fffdf8;border:1px solid #e5dac5;border-radius:16px;margin:4px 0 12px;padding:10px;gap:8px}
#seatingRoot.sp #spStudioTools .sp-expand,#seatingRoot.sp #spStudioTools .sp-seating-only{display:none}
#seatingRoot.sp #spStudio:not([data-task=edit]) #spStudioTools .sp-toolbar,#seatingRoot.sp #spStudio:not([data-task=edit]) #spZoneChoices{display:none!important}
#seatingRoot.sp #spStudioTools #spZoneChoices{border:1px solid #e5dac5;border-radius:16px;padding:16px;background:#fffdf8}
#seatingRoot.sp #spStudioTools .sp-wizard{width:100%;margin:0;padding:0;max-width:none}
#seatingRoot.sp #spStudioTools .sp-inspector{display:none!important}
#seatingRoot.sp #spStudio[data-task=shopping] .sp-inspector{display:block!important;width:100%;max-width:none;margin:0}
#seatingRoot.sp #spStudio:not([data-task=seating]) #spStudioTools .sp-guests{display:none!important}
#seatingRoot.sp #spStudio[data-task=seating] .sp-guests{display:block;width:100%;max-width:none;padding:18px;border:1px solid #e5dac5;border-radius:18px;background:#fffdf8}
#seatingRoot.sp #spStudio .sp-guests .sp-guest-list{display:flex;flex-direction:row;overflow:auto;height:260px;max-height:260px;gap:10px}
#seatingRoot.sp #spStudio .sp-family-card{flex:0 0 240px;min-width:240px;max-width:240px;align-self:flex-start}
#seatingRoot.sp #spStudioTools .sp-room-options{display:block;background:transparent;border:0;padding:15px 0}
#seatingRoot.sp #spStudioTools .sp-save{font-size:11px}
#seatingRoot.sp #spStudioFallback{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
#seatingRoot.sp #spStudioFallback[hidden]{display:none!important}
#seatingRoot.sp #spStudioFallback svg{width:100%;height:100%;max-height:100%}
#seatingRoot.sp .sp-toast{z-index:4000}
#seatingRoot.sp .sp-drop-feedback{z-index:4001}
@media(max-width:700px){
 #seatingRoot.sp .sp-studio-header{height:58px;padding:6px 12px;gap:8px}
 #seatingRoot.sp .sp-studio-header img{width:120px}
 #seatingRoot.sp .sp-studio-header button{font-size:10px;padding:7px 10px}
 #seatingRoot.sp .sp-studio-body{padding:0}
 #seatingRoot.sp .sp-studio-title{min-height:82px;padding:16px 17px 10px}
 #seatingRoot.sp .sp-studio-title h1{font-size:22px;letter-spacing:-.6px}
 #seatingRoot.sp .sp-studio-title p{font-size:10px}
 #seatingRoot.sp .sp-studio-scene{min-height:calc(100dvh - 58px);margin:0}
 #seatingRoot.sp .sp-studio-tabs{grid-template-columns:1fr;gap:7px;padding:8px 0}
 #seatingRoot.sp .sp-studio-tabs button{min-height:54px;padding:9px 13px;font-size:11px;grid-template-columns:28px 1fr 12px}
 #seatingRoot.sp .sp-studio-tabs button b{height:28px;width:28px}
 #seatingRoot.sp #spStudioScene #spHint{max-width:48%;font-size:9px}
 #seatingRoot.sp #spStudioScene .sp-room-bottom{padding:2px 10px;gap:4px}
 #seatingRoot.sp #spStudioScene .sp-room-bottom button{font-size:9px;min-width:40px;min-height:40px;padding:5px 8px}
 #seatingRoot.sp .sp-studio-task-title h2{font-size:16px}
 #seatingRoot.sp .sp-studio-task-title button{font-size:10px;max-width:115px;white-space:normal}
 #seatingRoot.sp #spStudioTools .sp-toolbar{flex-wrap:wrap}
 #seatingRoot.sp #spStudioTools .sp-toolbar button{font-size:11px;min-height:44px}
}
@media print{#seatingRoot.sp #spStudio{display:none!important}}
/* Furniture shelf uses stills of the same 3D meshes as the room. */
#seatingRoot.sp .sp-studio-body{position:relative}
#seatingRoot.sp #spBuilder{position:absolute;z-index:7;left:24px;top:108px;width:178px;padding:12px;border:1px solid #d9ceb7;border-radius:18px;background:#fffdf4f0;box-shadow:0 10px 30px #5b4d2b14}
#seatingRoot.sp #spBuilder[hidden]{display:none!important}
#seatingRoot.sp .sp-builder header{display:grid;gap:4px;margin:0 0 10px}
#seatingRoot.sp .sp-builder header strong{font-size:13px;color:#544b38}
#seatingRoot.sp .sp-builder header small{font-size:9px;line-height:1.5;color:#8d7b58}
#seatingRoot.sp .sp-build-assets{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#seatingRoot.sp .sp-build-assets button{min-height:73px;padding:5px 3px;border:1px solid #e7dcc6;border-radius:12px;background:#fffdf7;display:grid;justify-items:center;gap:2px;font-size:9px;color:#736449;touch-action:pan-x;user-select:none;cursor:grab}
#seatingRoot.sp .sp-build-assets button:active{cursor:grabbing}
#seatingRoot.sp .sp-build-assets button:hover{border-color:#b59a57;background:#f8efdc}
#seatingRoot.sp .sp-build-assets button.is-added{background:#eee9d9;border-color:#cbb988}
#seatingRoot.sp .sp-build-assets svg{width:56px;height:47px;pointer-events:none}
#seatingRoot.sp .sp-build-assets span{pointer-events:none}
#seatingRoot.sp .sp-build-selection{border-top:1px solid #dfd5bf;padding-top:10px;margin-top:10px;font-size:11px;color:#7c6947}
#seatingRoot.sp .sp-build-selection>div{display:flex;gap:5px;margin-top:7px}
#seatingRoot.sp .sp-build-selection button{width:auto;flex:1;min-height:38px;padding:5px;border:1px solid #e1d4b8;border-radius:8px;font-size:10px;background:#fbf7ed}
#seatingRoot.sp #spStudio #spZoneChoices{display:none!important}
#seatingRoot.sp #spStudio .sp-life-controls button{min-width:44px;width:44px;height:44px;border-radius:50%;border:1px solid #d1c4a8;background:#fffaf0e8;color:#655b45;font-size:15px}
#seatingRoot.sp #spStudio .sp-life-controls{bottom:calc(var(--sp-scene-bottom,144px) - 50px)}
#seatingRoot.sp #spCanvas{border:0;box-shadow:none;background:#e9e4d5;background-image:radial-gradient(#bcae8a 2px,transparent 2px);background-size:50px 50px;border-radius:0!important;clip-path:none!important}
.sp-build-ghost{position:fixed;z-index:5000;pointer-events:none;background:#3b4734;color:#fffaf0;border:1px solid #e0cca0;box-shadow:0 5px 18px #29251830;border-radius:12px;padding:9px 13px;font:12px sans-serif;max-width:150px}
.sp-build-ghost.is-invalid{background:#997440}
@media(max-width:700px){
 #seatingRoot.sp #spBuilder{position:relative;inset:auto;width:auto;margin:0 0 10px;padding:10px;border-radius:16px}
 #seatingRoot.sp .sp-builder header{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px;align-items:center}
 #seatingRoot.sp .sp-builder header strong{font-size:12px;white-space:nowrap}
 #seatingRoot.sp .sp-builder header small{font-size:9px;text-align:right}
 #seatingRoot.sp .sp-build-assets{display:flex;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px;gap:7px}
 #seatingRoot.sp .sp-build-assets button{min-width:78px;flex:0 0 78px;min-height:72px}
 #seatingRoot.sp .sp-build-selection{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:7px;margin-top:6px}
 #seatingRoot.sp .sp-build-selection[hidden]{display:none}
 #seatingRoot.sp .sp-build-selection>div{margin:0}
 #seatingRoot.sp .sp-build-selection button{min-height:40px;padding:5px 10px}
}
@media(max-width:700px){
 #seatingRoot.sp .sp-build-assets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;gap:6px;padding:0}
 #seatingRoot.sp .sp-build-assets button{min-width:0;min-height:69px}
 #seatingRoot.sp .sp-build-assets svg{width:50px;height:41px}
}
#seatingRoot.sp #spBuilderEmpty{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);z-index:3;display:grid;gap:8px;width:250px;text-align:center;pointer-events:none;color:#85734c}
#seatingRoot.sp #spBuilderEmpty[hidden]{display:none!important}
#seatingRoot.sp #spBuilderEmpty strong{font-size:16px;font-weight:600}
#seatingRoot.sp #spBuilderEmpty span{font-size:11px;line-height:1.6}

/* Title and controls share a single, edge-to-edge canvas; only the controls intercept touches. */
#seatingRoot.sp .sp-studio-space{flex:1;min-height:300px;pointer-events:none}
#seatingRoot.sp .sp-studio-hud{z-index:7;width:min(100%,1260px);margin:0 auto;padding:0 24px max(12px,env(safe-area-inset-bottom));box-sizing:border-box;pointer-events:none}
#seatingRoot.sp .sp-studio-hud :is(button,#spBuilder){pointer-events:auto}
#seatingRoot.sp #spStudioTasks{max-width:950px;margin:auto;padding:0 24px 24px}
#seatingRoot.sp #spStudio[data-task=summary] #spStudioTasks{display:none}
#seatingRoot.sp #spStudio .sp-studio-tabs{padding-bottom:0}
#seatingRoot.sp .sp-studio-header .sp-studio-back,#seatingRoot.sp #spStudio:not([data-task=summary]) .sp-studio-panel{display:none}
#seatingRoot.sp #spStudio:not([data-task=summary]) .sp-studio-back{display:block}
#seatingRoot.sp .sp-build-assets img{width:100%;height:54px;object-fit:contain;pointer-events:none;user-select:none;border-radius:7px}
#seatingRoot.sp .sp-build-assets button{overflow:hidden;min-height:83px;gap:0;padding:3px 3px 6px}
#seatingRoot.sp #spBuilderEmpty{top:calc((100% + var(--sp-scene-top,90px) - var(--sp-scene-bottom,144px))/2)}
@media(max-width:700px){
 #seatingRoot.sp .sp-studio-hud{padding:0 14px max(12px,env(safe-area-inset-bottom))}
 #seatingRoot.sp #spStudioTasks{padding:0 14px 20px}
 #seatingRoot.sp .sp-studio-space{min-height:420px}
 #seatingRoot.sp .sp-build-assets img{height:48px}
 #seatingRoot.sp .sp-build-assets button{min-height:72px}
}

/* Compact task tabs stay under the title; the active task is the only highlighted tab. */
#seatingRoot.sp #spStudio .sp-studio-title .sp-studio-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:min(100%,680px);padding:16px 0 0;pointer-events:auto}
#seatingRoot.sp #spStudio .sp-studio-title .sp-studio-tabs button{display:block;min-height:48px;margin:0;padding:10px 12px;border-radius:12px;font-size:12px;line-height:1.35;text-align:center;box-shadow:none}
#seatingRoot.sp #spBuilder{top:calc(var(--sp-scene-top,155px) + 8px)}
@media(max-width:700px){
 #seatingRoot.sp #spStudio .sp-studio-title .sp-studio-tabs{padding-top:15px;gap:6px}
 #seatingRoot.sp #spStudio .sp-studio-title .sp-studio-tabs button{font-size:11px;min-height:49px;padding:9px 6px}
 #seatingRoot.sp #spBuilder{top:auto}
}

/* Guest management is a focused page; the living room is the wedding home tab. */
#seatingRoot.sp #spStudio .sp-studio-title .sp-studio-tabs{grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,790px)}
#seatingRoot.sp #spStudio:is([data-task=guests],[data-task=shopping]) .sp-studio-scene{min-height:0;background:transparent}
#seatingRoot.sp #spStudio:is([data-task=guests],[data-task=shopping]) :is(#spViewport,.sp-studio-space,.sp-studio-hud){display:none!important}
#seatingRoot.sp #spStudio[data-task=guests] .sp-studio-task-title{display:none}
#seatingRoot.sp #spStudio[data-task=guests] #spStudioTasks{width:100%;box-sizing:border-box}
#seatingRoot.sp .sp-table-rotation{margin:16px 0;padding:16px 0;border-top:1px solid #e5dac5}
#seatingRoot.sp .sp-angle-input{display:flex;align-items:center;gap:8px}
#seatingRoot.sp .sp-angle-input input{max-width:130px}
#seatingRoot.sp .sp-simple-table>.sp-danger{margin:12px 0;min-height:44px;border:1px solid #d6bbb2;border-radius:12px}
@media(max-width:700px){#seatingRoot.sp #spStudio .sp-studio-title .sp-studio-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}

#seatingRoot.sp .sp-child-policy-options{margin:14px 0;border:1px solid #e5dac5;border-radius:12px;background:#faf7ef}
#seatingRoot.sp .sp-child-policy-options>summary{min-height:44px;padding:13px 15px;font-size:13px;cursor:pointer}
#seatingRoot.sp .sp-child-policy-options .sp-child-places{margin:0;border:0}
#seatingRoot.sp #spStudio[data-task=guests] .sp-wizard-actions{position:static}

/* Keep the mobile shelf short as the catalogue grows. */
#seatingRoot.sp #spStudio .sp-build-categories{display:flex;gap:6px;margin:8px 0}#seatingRoot.sp #spStudio .sp-build-categories button{flex:1;border:1px solid #dacdab;background:#fffaf0;color:#786846;border-radius:12px;padding:9px 5px;font-size:11px}#seatingRoot.sp #spStudio .sp-build-categories [aria-pressed="true"]{background:#3b4033;color:#fffaf0;border-color:#3b4033}.sp-build-assets [hidden]{display:none!important}
/* Areas are a sketch layer, independent of table placement. */
#seatingRoot.sp .sp-areas-fallback{position:absolute;inset:0;pointer-events:none}
#seatingRoot.sp .sp-area-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;touch-action:none;overflow:hidden}
#seatingRoot.sp .sp-area-overlay[hidden],#seatingRoot.sp .sp-area-shelf[hidden]{display:none!important}
#seatingRoot.sp .sp-area-overlay.is-drawing{pointer-events:auto;cursor:crosshair}
#seatingRoot.sp .sp-area-overlay>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
#seatingRoot.sp .sp-area-overlay button{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;touch-action:none;user-select:none;margin:0;min-height:44px;border:0;box-shadow:none}
#seatingRoot.sp .sp-area-label{padding:5px 12px;background:#fffdf3db;color:#665c43;font-size:12px;border-radius:13px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#seatingRoot.sp .sp-area-label.is-selected{outline:2px solid #b99c5c}
#seatingRoot.sp .sp-area-overlay .sp-area-handle{width:44px;height:44px;padding:8px;background:transparent;border-radius:50%}
#seatingRoot.sp .sp-area-handle span{display:grid;place-items:center;width:28px;height:28px;border:2px solid #ad904e;border-radius:50%;background:#fffdf3;color:#725c2e;font-size:12px}
#seatingRoot.sp .sp-area-handle.is-current span{background:#ad904e;color:white}
#seatingRoot.sp .sp-area-overlay .sp-area-midpoint{width:44px;height:44px;background:#fffaf0bb;border:1px dashed #ad904e;border-radius:50%;font-size:19px;color:#8c713c}
/* Dimension handles stay on the midpoint of each bound during a resize. */
#seatingRoot.sp .sp-area-overlay .sp-area-edge{min-width:72px;height:44px;padding:6px 10px;border:1px solid #a28a58;border-radius:12px;background:#fffdf4;color:#5e4d2b;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:ew-resize;box-shadow:0 2px 8px #493f2720}
#seatingRoot.sp .sp-area-overlay .sp-area-edge:is(.is-top,.is-bottom){cursor:ns-resize}
#seatingRoot.sp .sp-area-overlay .sp-area-edge:focus-visible{outline:3px solid #786233;outline-offset:3px}
#seatingRoot.sp .sp-area-dimension{position:absolute;z-index:1;padding:5px 8px;border:1px solid #c7b58b;border-radius:8px;background:#fffdf3ee;color:#5e4d2b;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;transform:translate(-50%,-50%)}
#seatingRoot.sp .sp-area-dimension.is-top{transform:translate(-50%,calc(-100% - 10px))}
#seatingRoot.sp .sp-area-dimension.is-bottom{transform:translate(-50%,10px)}
#seatingRoot.sp .sp-area-dimension.is-left{transform:translate(calc(-100% - 10px),-50%)}
#seatingRoot.sp .sp-area-dimension.is-right{transform:translate(10px,-50%)}
#seatingRoot.sp .sp-area-overlay :is(.sp-area-edge,.sp-area-dimension).is-invalid{color:#963f36;border-color:#bc7669;background:#fff3ee}
#seatingRoot.sp #spStudio .sp-area-shelf .sp-area-size{font-size:13px;color:#685633;font-weight:650;font-variant-numeric:tabular-nums}
#seatingRoot.sp #spStudio .sp-area-shelf{display:grid;gap:10px;max-height:50dvh;overflow:auto;padding:3px}
#seatingRoot.sp #spStudio .sp-area-shelf p{font-size:12px;line-height:1.5;margin:0;color:#7a705b}
#seatingRoot.sp #spStudio .sp-area-shelf small{font-size:10px;line-height:1.5;color:#897c62}
#seatingRoot.sp #spStudio .sp-area-shelf label{font-size:11px;display:grid;gap:5px;margin:0}
#seatingRoot.sp #spStudio .sp-area-shelf :is(input,select){min-width:0;width:100%;min-height:44px;font-size:14px;padding:8px;box-sizing:border-box}
#seatingRoot.sp #spStudio .sp-area-shelf button{min-height:44px;padding:7px 10px;font-size:12px;border:1px solid #d8c9a7;background:#fffaf1;border-radius:12px;color:#77643d}
#seatingRoot.sp #spStudio .sp-area-shelf .sp-area-save{background:#3b4033;color:#fffaf0;border-color:#3b4033}
#seatingRoot.sp #spStudio .sp-area-shelf .sp-area-visit{display:flex;align-items:center;gap:8px}
#seatingRoot.sp #spStudio .sp-area-visit input{width:18px;min-height:18px;height:18px;flex-shrink:0}
#seatingRoot.sp #spStudio .sp-area-actions,#seatingRoot.sp #spStudio .sp-area-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
#seatingRoot.sp #spStudio .sp-area-types button{display:flex;align-items:center;gap:7px}
#seatingRoot.sp #spStudio .sp-area-types i{width:20px;height:17px;border:1px dashed;border-radius:3px;flex:none}
#seatingRoot.sp #spStudio .sp-area-actions [aria-pressed=true]{background:#ede3cc}
#seatingRoot.sp #spStudio .sp-build-categories{flex-wrap:wrap}
#seatingRoot.sp #spStudio .sp-build-categories button{flex-basis:40%;min-height:40px}
@media(max-width:700px){#seatingRoot.sp #spStudio .sp-build-categories{flex-wrap:nowrap}#seatingRoot.sp #spStudio .sp-build-categories button{flex-basis:0;font-size:10px;padding:6px 3px}#seatingRoot.sp #spStudio .sp-area-types{grid-template-columns:repeat(3,minmax(0,1fr))}#seatingRoot.sp #spStudio .sp-area-shelf{max-height:310px}}
@media(max-width:700px){#seatingRoot.sp #spStudio.is-area-edit .sp-studio-space{min-height:250px}#seatingRoot.sp #spStudio.is-area-edit .sp-area-shelf{max-height:255px}#seatingRoot.sp #spStudio .sp-area-meta{display:grid;grid-template-columns:1.2fr 1fr;gap:8px}}
@media(max-width:700px){#seatingRoot.sp #spStudio .sp-area-shelf :is(input,select){font-size:16px}}
#seatingRoot.sp .sp-rotation-controls{position:absolute;inset:0;pointer-events:none;z-index:5}
#seatingRoot.sp .sp-rotation-controls[hidden]{display:none!important}
#seatingRoot.sp .sp-rotation-controls>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
#seatingRoot.sp .sp-rotation-controls>svg polygon{fill:#527a5b09;stroke:#557660;stroke-width:1.5;stroke-dasharray:5 4}
#seatingRoot.sp .sp-rotation-controls>svg path{fill:none;stroke:#557660;stroke-width:2}
#seatingRoot.sp .sp-rotation-handle{position:absolute;width:48px;height:48px;min-width:48px;min-height:48px;padding:11px;border:2px solid #47634e;border-radius:50%;background:#fffdf5;color:#355740;box-shadow:0 2px 8px #1c342b25;transform:translate(-50%,-50%);pointer-events:auto;touch-action:none;cursor:grab;user-select:none}
#seatingRoot.sp .sp-rotation-handle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
#seatingRoot.sp .sp-rotation-handle:focus-visible{outline:3px solid #cda761;outline-offset:3px}
#seatingRoot.sp .sp-rotation-controls.is-turning .sp-rotation-handle{cursor:grabbing;background:#e7efe5}
#seatingRoot.sp .sp-rotation-controls.is-blocked .sp-rotation-handle{border-color:#ac5646;color:#984132;background:#fff0ed}
#seatingRoot.sp .sp-rotation-status{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
#seatingRoot.sp .sp-build-rotate-tip{font-size:12px;max-width:130px;line-height:1.3;align-self:center;color:#536957}
#seatingRoot.sp .sp-area-overlay .sp-area-draft-save{min-width:104px;min-height:48px;padding:12px 24px;border-radius:24px;background:#365e49;color:white;font-size:15px;box-shadow:0 3px 14px #224a3329;cursor:pointer}
#seatingRoot.sp .sp-area-overlay .sp-area-draft-save:disabled{background:#e7e4da;color:#817c72}
#seatingRoot.sp #spStudio .sp-build-selection button{min-height:44px}
#seatingRoot.sp #spStudio .sp-build-selection>button{min-width:44px}
#seatingRoot.sp .sp-rotation-handle:is(:hover,:focus,:active),#seatingRoot.sp .sp-area-overlay button:is(:hover,:focus,:active){transform:translate(-50%,-50%)}
#seatingRoot.sp #spStudio .sp-garden-shelf{display:grid;gap:9px;padding:8px 3px}
#seatingRoot.sp #spStudio .sp-garden-shelf[hidden]{display:none!important}
#seatingRoot.sp #spStudio .sp-garden-shelf p{margin:0;font-size:12px;line-height:1.5;color:#61745e}
#seatingRoot.sp #spStudio .sp-garden-shelf button{min-height:44px;border:1px solid #c5d4ba;border-radius:12px;background:#edf3e7;color:#345343;padding:8px 12px;font-size:13px}
#seatingRoot.sp #spStudio .sp-build-categories{overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
#seatingRoot.sp #spStudio .sp-build-categories button{flex:0 0 auto;min-width:62px;min-height:44px;padding:8px}

/* Room decor review: readable, finger-sized controls at 320 px. */
#seatingRoot.sp #spStudio #spBuilder .sp-decor-filters{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
#seatingRoot.sp #spStudio #spBuilder .sp-decor-filters[hidden],#seatingRoot.sp #spStudio #spBuilder .sp-decor-help[hidden]{display:none}
#seatingRoot.sp #spStudio #spBuilder .sp-decor-filters button{flex:1 1 42%;min-height:44px;min-width:0;font-size:12px;padding:8px;border:1px solid #d4c9b6;border-radius:10px;background:#fffdf7;color:#302a20}
#seatingRoot.sp #spStudio #spBuilder .sp-decor-filters [aria-pressed=true]{background:#29271f;color:#fff8e7;border-color:#29271f}
#seatingRoot.sp #spStudio #spBuilder .sp-decor-help{font-size:12px;line-height:1.45;margin:6px 0 12px;color:#514b40}
#seatingRoot.sp #spStudio #spBuilder:has(.sp-decor-filters:not([hidden])) .sp-build-assets{grid-template-columns:repeat(2,minmax(0,1fr))}
#seatingRoot.sp #spStudio #spBuilder:has(.sp-decor-filters:not([hidden])) .sp-build-assets button{font-size:12px;line-height:1.3;min-height:124px;padding:7px}
#seatingRoot.sp #spStudio #spBuilder:has(.sp-decor-filters:not([hidden])) .sp-build-assets small{font-size:10px;line-height:1.4;color:#62594a}
#seatingRoot.sp #spStudio .sp-decor-dimensions{display:block;font-size:11px;margin:-5px 0 8px;color:#62594a}

#seatingRoot.sp #spStudio #spBuilder .sp-build-assets [data-asset-category=decor]{touch-action:pan-y}
