/* Shared application surfaces. Invitation artwork and room materials retain their chosen colors. */
body{background:#fff}
body :is(.planner-page,.planner-event-app,.experience-studio,.login-page,.afirya-mobile-app,.legal-page,.public-wedding){background:#fff;--planner-paper:#fff;--room-paper:#fff;--mobile-paper:#fff}
body :is(.planner-panel,.planner-upload,.planner-colors label,.publish-toggle,.editor-stats div,.capacity-list label,.claim-history article,.family-editor-banner,.event-conductor,.conductor-now-card,.conductor-next-card,.conductor-summary,.conductor-add,.conductor-history,.conductor-stage-track,.conductor-moment,.seating-studio,.studio-summary,.studio-share-panel,.guest-pool,.guest-chip,.quick-add-guest label,.studio-table,.add-table-card,.guest-editor,.arranger-sheet,.arranger-unassigned,.event-activity,.room-designer,.room-designer-tools,.room-object-drawer,.room-inspector,.room-canvas-column,.event-app-topbar,.event-app-nav,.event-app-workspace,.guest-search-history,.guest-search-live,.guest-scan-board,.guest-search-list,.event-ai,.event-ai-guide,.event-ai-chat,.event-ai-facts,.event-ai-composer,.guest-empty-import,.guest-import-dialog,.guest-import-dropzone,.event-settings-workspace,.workshop-shell,.workshop-guest-deck,.workshop-stage,.workshop-stage-toolbar,.workshop-map-viewport,.workshop-roster,.workshop-floor-help,.workshop-table-details,.seating-board-area,.seating-board-tools,.seating-table-card,.flow-surface,.flow-table-wrap,.invitation-preview,.send-confirmation,.login-panel,.legal-card,.mobile-app-header,.mobile-live-event,.mobile-now-strip,.mobile-quick-actions,.mobile-no-event,.mobile-event-date,.mobile-profile-card,.mobile-sheet,.mobile-bottom-nav,.guest-navigation,.guest-details,.guest-reply){background:#fff!important;border-color:#e5e5e5}
body :is(.planner-event-list article,.mobile-event-list>button,.mobile-product-list>button,.mobile-product-list>article){background:#fff;border-color:#e5e5e5}
body :is(.public-invitation,.public-welcome,.public-result-card,.public-result-copy,.public-choice-list,.public-live-bar,.public-guest-timeline,.public-updates-card,.public-updates-art,.public-map-detail,.public-seat-option-card,.public-seat-guests,.public-table-guests>div,.public-afirya-footer){background:#fff!important;border-color:#e5e5e5}
/* Surfaces that previously had reversed text now use the normal reading palette. */
body :is(.conductor-now-card,.event-activity>header,.mobile-live-event,.public-updates-art,.public-afirya-footer,.public-live-bar.is-live){color:#181B34}
body .conductor-now-card :is(p,blockquote,span),body .event-activity>header p,body .mobile-live-event :is(h2,em,p),body .mobile-now-strip>span,body .public-updates-art :is(h2,p,span),body .public-afirya-footer :is(p,strong,span,a),body .public-live-bar.is-live :is(p,strong,span){color:#181B34}
body .activity-filters button{color:#5f5f5f;border-color:#d6d6d6}
body .activity-filters button.active{background:#6161FF;color:#fff;border-color:#6161FF}
body .mobile-live-event-top button{color:#6161FF}
body .conductor-now-card::after{display:none}
body :is(.event-conductor,.event-activity,.arranger-sheet,.login-panel,.legal-card,.mobile-live-event,.mobile-quick-actions){box-shadow:none}
body :is(.planner-page,.experience-studio,.login-page,.afirya-mobile-app,.public-wedding) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),textarea,select){background-color:#fff;border-color:#d6d6d6}
body .conductor-stage-track li.next,body .conductor-stage-track li.complete{background:#f7f7f7}
body .conductor-stage-track li.live{background:#6161FF;color:#fff}
body .event-ai-guide,.event-ai-chat{border-color:#e5e5e5}
/* Neutral outer surfaces for the public product pages and their embedded tools. */
body :is(.air-home,.air-discover,.air-footer,.try-room,.try-finder,.try-studio){background:#fff}

/* Seating is one continuous workspace. Rules separate lists without enclosing them. */
body .event-app-workspace.view-guests:has(.clean-seating){padding:0}
body .event-app-workspace.view-guests .clean-seating{gap:0;border:0;border-radius:0;box-shadow:none}
body .clean-seating :is(.studio-header,.workshop-guest-deck,.workshop-stage,.workshop-roster,.workshop-table-details){border:0!important;border-radius:0!important;box-shadow:none!important}
body .clean-seating .studio-header{margin:0;border-bottom:1px solid #e5e5e5!important;padding:14px 20px}
body .clean-seating .workshop-guest-deck{border-right:1px solid #e5e5e5!important}
body .clean-seating .workshop-roster{border-left:1px solid #e5e5e5!important}
body .clean-seating .workshop-stage-toolbar{padding-inline:20px}
body .clean-seating .seating-board-tools{padding-inline:20px;border-bottom:0}
body .clean-seating .seating-board{padding:8px 20px 24px;column-gap:28px;row-gap:32px}
body .clean-seating .seating-table-card{border:0;border-radius:0;box-shadow:none;overflow:visible}
body .clean-seating .seating-table-card>header{padding:12px 0 10px;border-bottom:1px solid #dedede}
body .clean-seating .seating-card-names{padding:6px 0}
body .clean-seating .seating-card-drop{border:0;border-radius:0;width:100%;margin:0;padding:10px 6px;text-align:left;color:#181B34;background:transparent}
body .clean-seating .seating-card-drop:hover{background:#f7f7f7}
body .clean-seating .seating-table-card.drop-hover{outline:0;background:#f7f7f7!important;box-shadow:inset 0 2px #6161FF}
body .clean-seating .workshop-table-details{border-top:1px solid #e5e5e5!important}
body .clean-seating.table-board-mode .workshop-roster.open{inset:80px 0 0 auto;border-radius:0;box-shadow:none}
body .event-app-workspace.view-guests .clean-seating.is-focused{padding:0!important}
@media(max-width:760px){
 body .clean-seating .workshop-guest-deck{border-right:0!important;border-bottom:1px solid #e5e5e5!important}
 body .clean-seating .studio-header{padding:12px 16px}
 body .clean-seating .seating-board{padding:8px 16px 24px;row-gap:24px}
 body .clean-seating.table-board-mode .workshop-roster.open{inset:70px 0 0;width:auto;border-left:0!important;border-top:1px solid #e5e5e5!important}
}

/* Agreed palette: color changes only, preserving geometry and typography. */
body .studio-save-state,body .event-live-state,body .room-designer-status{color:#181B34}
body .studio-save-state i,body .event-live-state i,body .room-designer-status i{background:#00CA72;box-shadow:0 0 0 4px #00CA721a}
body .studio-save-state.saving i{background:#FFCC00;box-shadow:0 0 0 4px #FFCC001a}
body .studio-save-state.error i{background:#FB275D;box-shadow:0 0 0 4px #FB275D1a}
body .studio-save-state.error{color:#181B34}
body .clean-seating .studio-summary strong{color:#181B34}
body .clean-seating .studio-summary>div:nth-child(1) strong{background:transparent;color:#181B34}
body .clean-seating .studio-summary>div:nth-child(2).needs-attention strong{background:transparent;color:#181B34}
body .clean-seating .studio-summary>div:nth-child(4).needs-attention strong{background:transparent;color:#181B34}
body .clean-seating .seating-table-card header .capacity-warning{color:#181B34;background:transparent}
body .clean-seating .workshop-roster-capacity{color:#181B34}
body .planner-page{--planner-gold:#181B34}

/* Status color is an indicator, never a text highlight. */
body .clean-seating .seating-table-card header .capacity-warning::before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#FB275D;vertical-align:middle}
body .clean-seating .studio-summary>div:nth-child(1) strong::before,body .clean-seating .studio-summary>div.needs-attention strong::before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;vertical-align:middle;background:#00CA72}
body .clean-seating .studio-summary>div:nth-child(2).needs-attention strong::before{background:#FFCC00}
body .clean-seating .studio-summary>div:nth-child(4).needs-attention strong::before{background:#FB275D}
body .planner-page .clean-seating .guest-inline-details .guest-count{background:#f5f5f5;color:#181B34}

/* Destructive actions retain clear red accents with readable dark labels. */
body .room-inspector form>.room-remove-button{color:#181B34;border-bottom-color:#FB275D;background:transparent}
body .room-inspector form>.room-remove-button:hover{color:#6161FF}

/* A fitted, continuous room building workspace. */
body .event-app-workspace:has(.room-playground){padding:0;overflow:hidden}
body .room-playground{height:100%;min-height:0;display:flex;flex-direction:column;border:0;border-radius:0;padding:0;margin:0;overflow:hidden}
body .planner-page .room-playground .room-designer-header{border:0;border-bottom:1px solid #e5e5e5;border-radius:0;margin:0;padding:14px 20px;box-shadow:none;flex-shrink:0}
body .planner-page .room-playground .room-designer-header h2{font-size:22px;font-weight:500}
body .room-playground .room-designer-header p{margin:5px 0 0;font-size:13px}
body .room-playground .room-view-tabs{margin:0;padding:10px 20px;gap:6px;border-bottom:1px solid #e5e5e5;flex-shrink:0}
body .room-playground .room-view-tabs button{padding:7px 12px;font-size:12px;border:0;border-radius:20px}
body .planner-page .room-playground .room-designer-tools{margin:0;padding:10px 20px;border:0;border-bottom:1px solid #e5e5e5;border-radius:0;flex-shrink:0;gap:8px}
body .room-playground .room-designer-tools>div{gap:6px;flex-wrap:wrap}
body .room-playground .room-designer-tools button{font-weight:450;font-size:12px;border:0;min-height:34px;border-radius:18px;background:#f5f5f5}
body .room-playground .room-designer-tools button:hover{background:#6161FF;color:white}
body .room-playground .room-designer-tools button:hover i{color:white}
body .room-playground .room-designer-tools .auto-arrange-button{background:#6161FF;color:white;min-width:0}
body .room-playground .room-designer-workspace{display:flex;flex:1;min-height:0;overflow:hidden;gap:0}
body .room-playground :is(.room-object-drawer,.room-inspector,.room-canvas-column){border:0;border-radius:0;box-shadow:none;margin:0}
body .room-playground .room-object-drawer{display:none;width:190px;flex:0 0 190px;overflow:auto;padding:16px;border-right:1px solid #e5e5e5}
body .room-playground.show-items .room-object-drawer{display:block}
body .room-playground .room-inspector{display:none;width:230px;flex:0 0 230px;overflow:auto;padding:16px;border-left:1px solid #e5e5e5}
body .room-playground.has-selection .room-inspector{display:block}
body .room-playground .room-inspector h3{font-size:23px}
body .room-playground .room-inspector form{gap:12px}
body .room-playground .room-inspector .room-close-inspector{float:right;border:0;background:transparent;color:#181B34;cursor:pointer;font-size:22px}
body .room-playground .room-canvas-column{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;padding:0;gap:0;align-content:stretch}
body .room-playground .room-canvas-column.view-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
body .room-playground .room-edit-viewport{min-width:0;min-height:0;overflow:auto;display:grid;align-items:center;justify-items:center;background:#fafafa;padding:12px}
body .room-playground .room-fit-stage{flex-shrink:0}
body .room-playground .room-canvas{min-height:0;max-width:none;border:0;border-radius:0;box-shadow:0 3px 16px #181b3412;background-color:white;background-image:none}
body .room-playground .room-table{background:white;color:#181B34;border:1px solid #bdbdbd;box-shadow:0 2px 5px #181b3414;transition:box-shadow .15s,border-color .15s;min-width:0;min-height:0}
body .room-playground .room-table:hover{border-color:#6161FF;box-shadow:0 3px 9px #6161ff30}
body .room-playground .room-table.selected{background:#6161FF;color:white;border-color:#6161FF}
body .room-playground .room-table-chairs i{background:#ededed;border-color:#bdbdbd}
body .room-playground .room-table>span:not(.room-table-chairs):not(.room-resize-handle){display:none}
body .room-playground .room-table strong{font-size:12px}
body .room-playground .room-table small{font-size:8px;color:inherit}
body .room-playground .room-canvas-column>.room-3d-surface{min-height:0;height:100%;border-left:1px solid #e5e5e5}
body .room-playground .room-play-controls{grid-column:1 / -1;display:flex;justify-content:center;align-items:center;gap:10px;padding:8px;border-top:1px solid #e5e5e5}
body .room-play-controls button{border:0;background:#f5f5f5;color:#181B34;padding:7px 12px;border-radius:20px;cursor:pointer}
body .room-play-controls span{font-size:12px;color:#606060}
body .room-playground .room-canvas-help{grid-column:1 / -1;margin:0;text-align:center;padding:6px;font-size:11px}
body .room-playground .all-tables-placed{border:0;padding:12px 0}
body .room-playground>.studio-alert{margin:0;padding:6px 20px;font-size:12px}
@media(max-width:900px){body .room-playground .room-designer-status{display:none}body .room-playground .room-canvas-column.view-split{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr) auto auto}body .room-playground .room-inspector{width:200px;flex-basis:200px}}
@media(max-width:600px){body .room-playground{height:calc(100dvh - 150px);min-height:520px}body .room-playground .room-designer-header p{display:none}body .room-playground .room-designer-tools{padding:8px}body .room-playground .room-designer-tools>div>span{display:none}body .room-playground.has-selection .room-inspector{position:absolute;right:0;bottom:0;top:180px;z-index:20;background:white!important}body .room-playground .room-designer-header{padding:10px 16px}}

@media(min-width:601px){body .event-app-workspace .room-playground{height:calc(100dvh - 82px);max-height:calc(100dvh - 82px)}}
body .room-playground .room-canvas-column.view-3d .room-play-controls{display:none}
body .room-playground .room-canvas-column.view-3d{grid-template-rows:minmax(0,1fr) auto}
body .room-playground .room-table{padding:1px;gap:0}
body .room-playground .room-table strong{line-height:1.1}

body .room-playground .room-canvas .room-table>strong{font-size:12px!important}
body .room-playground .room-canvas .room-table>small{font-size:8px!important}
body .room-playground .room-canvas .room-table.selected{outline:2px solid #6161FF;outline-offset:3px}

.floor-import-overlay{position:fixed;inset:0;z-index:300;background:#181b3440;display:flex;align-items:center;justify-content:center;padding:24px}
.floor-import-dialog{background:white;color:#181B34;width:min(100%,1000px);max-height:90dvh;overflow:auto;box-shadow:0 16px 60px #181b3430;font-family:var(--experience-font,"Outfit",sans-serif)}
.floor-import-dialog>header{display:flex;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid #e5e5e5}.floor-import-dialog h2{font-size:24px;font-weight:500;margin:0}.floor-import-dialog p{font-size:14px;color:#606060;line-height:1.5}
.floor-import-dialog button{cursor:pointer;border:0;padding:10px 16px;background:#f5f5f5;color:#181B34;border-radius:20px}.floor-import-dialog button:disabled{opacity:.5;cursor:wait}
.floor-import-upload{padding:24px;display:grid;gap:14px}.floor-import-upload>button,.floor-import-dialog footer>button:last-child{background:#6161FF;color:white}.floor-import-upload input{padding:18px 0}.floor-import-error{padding:12px 24px;border-left:2px solid #FB275D}
.floor-import-review{display:grid;grid-template-columns:320px minmax(0,1fr);height:420px}.floor-import-list{padding:16px 24px;overflow:auto;border-right:1px solid #e5e5e5}.floor-import-row{display:flex;align-items:end;gap:10px;padding:10px 0;border-bottom:1px solid #e5e5e5}.floor-import-row label{display:grid;gap:4px;font-size:12px;min-width:0}.floor-import-row input{width:100%;min-width:0;border:1px solid #ddd;padding:8px}.floor-import-dialog footer{padding:16px 24px;border-top:1px solid #e5e5e5}.floor-import-dialog footer button{margin-right:8px}
@media(max-width:650px){.floor-import-overlay{padding:8px}.floor-import-review{display:flex;flex-direction:column;height:550px}.floor-import-list{max-height:260px;flex-shrink:0}.floor-import-review .room-3d-surface{min-height:250px}}

/* Table geometry follows its saved dimensions at every zoom level. */
body .room-playground .room-canvas .room-table{width:var(--room-table-width);height:var(--room-table-height);max-width:none;max-height:none;min-width:0;min-height:0}
body .room-playground .room-inspector input[type=range]{padding:0;border:0;accent-color:#6161FF;width:100%}
body .room-playground .room-inspector label{font-size:13px}

/* The room is a working canvas, with full width framing and reachable overflow. */
body .room-playground .room-edit-viewport{display:flex;align-items:flex-start;justify-content:flex-start;overflow:auto;overscroll-behavior:contain}
body .room-playground .room-fit-stage{margin:auto;flex:none}
body .event-app-workspace .room-playground.room-fullscreen{position:fixed;inset:0;z-index:1000;width:100%;height:100dvh;max-height:100dvh;background:#fff;padding:0}
body .room-playground .room-view-tabs button[aria-pressed="true"],body .room-playground .room-play-controls button[aria-pressed="true"]{color:#fff;background:#6161ff}

body .room-playground .room-canvas{max-height:none;min-width:0}

body .room-playground .room-table.selected{overflow:visible;z-index:5}
body .room-playground .room-table .room-resize-handle{display:block;position:absolute;width:18px;height:18px;padding:0;margin:0;z-index:10;touch-action:none;transform:translate(-50%,-50%);background:transparent;border:0;box-shadow:none;opacity:1}
body .room-playground .room-resize-handle::after{content:"";position:absolute;inset:4px;border:1.5px solid #6161ff;background:#fff;border-radius:2px}
body .room-playground .handle-nw{left:0;top:0;cursor:nwse-resize}
body .room-playground .handle-n{left:50%;top:0;cursor:ns-resize}
body .room-playground .handle-ne{left:100%;top:0;cursor:nesw-resize}
body .room-playground .handle-e{left:100%;top:50%;cursor:ew-resize}
body .room-playground .handle-se{left:100%;top:100%;cursor:nwse-resize}
body .room-playground .handle-s{left:50%;top:100%;cursor:ns-resize}
body .room-playground .handle-sw{left:0;top:100%;cursor:nesw-resize}
body .room-playground .handle-w{left:0;top:50%;cursor:ew-resize}
body .room-playground .room-inspector form>.room-remove-button{border:1px solid #dedee3;background:#fff;color:#51515d;border-radius:8px;box-shadow:none;text-decoration:none;font-weight:400;padding:10px 12px;width:100%}
body .room-playground .room-inspector form>.room-remove-button:hover{border-color:#b8b8c4;background:#f7f7f9;color:#181b34}
body .room-playground .room-remove-button::after,body .room-playground .room-remove-button::before{display:none}
body .room-playground .room-resize-hint{font-size:12px;line-height:1.5;color:#61616c}

/* Keep the table identity visible while its guest names scroll past. */
body .clean-seating .seating-table-card>header{position:sticky;top:0;z-index:3;background:#fff;isolation:isolate}
