.floor-workspace{min-width:0;--floor-line:#d9d3c8;color:#273d42}
.floor-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:15px;flex-wrap:wrap}
.floor-eyebrow{font-size:10px;color:#9a8566;font-weight:800;letter-spacing:2px}
.floor-topline h2{font:600 clamp(22px,3vw,32px) Georgia,serif;margin:4px 0 5px;color:#2d4a46}
.floor-topline p{color:#72817f;margin:0;font-size:13px;max-width:560px}
.floor-top-metrics{display:flex;gap:9px;flex-wrap:wrap}
.floor-top-metrics span{display:flex;flex-direction:column;align-items:center;min-width:85px;border:1px solid #e9e1d1;border-radius:13px;background:#fff;padding:7px 12px;color:#7d8481;font-size:10px}
.floor-top-metrics strong{color:#405953;font-size:20px}
.floor-toolbar{background:#fff;border:1px solid #e8e5df;border-radius:14px;display:flex;gap:10px;padding:12px 14px;margin:13px 0;align-items:end;flex-wrap:wrap}
.floor-toolbar label{font-size:11px;color:#6d807c;display:grid;gap:4px;min-width:150px;flex:1}
.floor-toolbar label:nth-child(2){max-width:100px;min-width:65px}
.floor-toolbar input{border:1px solid #d9e1dd;border-radius:9px;padding:10px;width:100%;min-height:40px}
.floor-toolbar select{border:1px solid #d9e1dd;border-radius:9px;padding:10px;background:white;width:100%;min-height:40px;color:#315b4e}
.floor-toolbar label:nth-child(3){max-width:150px;min-width:125px}
.floor-shell{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:14px;min-width:0}
.floor-guests,.floor-stage-column{background:white;border:1px solid #e5e3dc;border-radius:18px;padding:14px;box-shadow:0 6px 24px #243e3607;min-width:0}
.floor-sidebar-head,.floor-stage-header{display:flex;align-items:center;justify-content:space-between;gap:9px}
.floor-sidebar-head h3{margin:0;font-size:15px}
.floor-sidebar-head span,.floor-stage-header{font-size:11px;color:#81908b}
.floor-hint{font-size:11px;color:#6b8880;line-height:1.5;min-height:28px}
.floor-guest-list{display:grid;gap:8px;max-height:570px;overflow:auto;padding:3px}
.floor-person{display:flex;gap:8px;align-items:center;border:1px solid #e3eae6;border-radius:11px;padding:9px;background:#fdfefe;cursor:grab;touch-action:none;user-select:none}
.floor-person:hover,.floor-person.is-selected{border-color:#4c9b87;background:#eaf7f2}
.floor-person.is-declined{opacity:.6}
.floor-person-avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#376658;background:#e3f0e9;font-weight:800;flex-shrink:0}
.floor-person-info{flex:1;min-width:0}
.floor-person-info strong,.floor-person-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.floor-person-info strong{font-size:12px}
.floor-person-info small{font-size:10px;color:#7c8f8c}
.floor-seats{font-size:10px;color:#5a766f;white-space:nowrap}
.floor-stage-header{padding:3px 5px 11px;font-weight:800;letter-spacing:1px}
.floor-stage{position:relative;min-height:485px;height:min(61vh,650px);overflow:hidden;border-radius:16px;border:5px solid #e8e4d7;background-color:#faf8f1;background-image:linear-gradient(90deg,#b5b1a91a 1px,transparent 1px),linear-gradient(#b5b1a91a 1px,transparent 1px);background-size:25px 25px}
.floor-entrance{position:absolute;left:50%;bottom:0;transform:translateX(-50%);background:#d7e8e0;border-radius:14px 14px 0 0;color:#507468;font-size:10px;font-weight:900;letter-spacing:2px;padding:10px 27px}
.floor-dancefloor{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);display:grid;place-items:center;width:130px;height:130px;border:1px dashed #b5aa93;background:#eae3d45c;color:#877963;font-size:11px;font-weight:700;text-align:center;letter-spacing:1px;pointer-events:none}
.floor-dancefloor::first-line{transform:rotate(-45deg)}
.floor-empty{position:absolute;top:25%;left:50%;transform:translateX(-50%);color:#7d8b87;text-align:center;background:#fff9;padding:14px;border-radius:12px;width:70%;font-size:13px}
.floor-table{position:absolute;transform:translate(-50%,-50%);width:102px;height:102px;border-radius:50%;background:conic-gradient(#8fb9a5 var(--usage),#e6e1d7 var(--usage));padding:5px;box-shadow:0 5px 22px #33463d1c;cursor:pointer;z-index:1;transition:box-shadow .2s}
.floor-table.rectangle{width:144px;height:78px;border-radius:20px}
.floor-table:hover,.floor-table.drop-target{box-shadow:0 0 0 5px #2d9a7f65,0 8px 32px #456e6240;z-index:4}
.floor-table-content{background:#fffefa;border-radius:inherit;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-align:center;padding:8px}
.floor-table-label{max-width:98%;font:600 12px Georgia,serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.floor-table-content strong{font-size:13px;color:#4b8775}
.floor-table-content small{max-width:95%;font-size:8px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#7e8d83}
.floor-table.full{background:#b7c5bc}
.floor-grip{position:absolute;top:-11px;right:-11px;background:#225b50;border:2px solid white;border-radius:8px;min-width:28px;min-height:28px;display:grid;place-items:center;color:white;cursor:grab;touch-action:none;user-select:none;font-size:17px}
.floor-legend{display:flex;justify-content:center;gap:19px;flex-wrap:wrap;padding:12px;color:#7a8b83;font-size:11px}
.floor-table-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.floor-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid #e8ede9;padding:9px;border-radius:10px;background:#fbfcfb;font-size:11px}
.floor-control strong{flex:1}
.floor-control select{padding:6px;border-radius:6px;border:1px solid #ddd;max-width:90px}
.floor-control .btn{font-size:10px;padding:5px 7px}
.floor-footer-note{color:#849189;font-size:11px;margin-top:10px}
.floor-ghost{position:fixed;z-index:1000;pointer-events:none;background:#246c5d;color:white;border-radius:12px;padding:9px 13px;font-size:12px;font-weight:700;box-shadow:0 9px 25px #2345}
.platform-count{font-size:30px;margin:8px 0 0;color:#257b68}
.platform-scroll{max-height:350px;overflow:auto}
.platform-code{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #ecf0ee;padding:10px 0}
.platform-code small{display:block;color:#82918d;margin-top:4px}
.platform-reveal{border:2px solid #7da89a;border-radius:12px;background:#f3faf6;padding:18px;margin:14px 0;display:grid;gap:8px}
.platform-reveal textarea{width:100%;font:600 15px monospace;resize:none;padding:12px}
@media(max-width:850px){.floor-shell{grid-template-columns:minmax(0,1fr)}.floor-guests{order:2}.floor-stage-column{order:1}.floor-guest-list{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));max-height:250px}.floor-stage{min-height:365px;height:48vh}}
@media(max-width:500px){.floor-stage{height:390px;min-height:390px}.floor-table{width:75px;height:75px}.floor-table.rectangle{width:99px;height:58px}.floor-table-content{padding:3px}.floor-table-label{font-size:10px}.floor-table-content strong{font-size:11px}.floor-table-content small{display:none}.floor-guests,.floor-stage-column{padding:9px}.floor-top-metrics span{min-width:62px}.floor-guest-list{grid-template-columns:1fr 1fr}.floor-person{padding:6px}.floor-person-avatar{display:none}.floor-person-info strong{font-size:11px}.floor-seats{display:none}}


/* Seating studio 2.0 — editable venue objects and guest wayfinding exports */
.floor-print-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;background:#ecf5ed;border:1px solid #dce9df;border-radius:13px;padding:14px 17px;margin:12px 0}
.floor-print-toolbar>div{flex:1;min-width:190px}.floor-print-toolbar strong{font-size:13px;color:#2c644a}
.floor-print-toolbar p{font-size:11px;color:#6f8d78;margin:6px 0 0}.floor-print-toolbar .btn{white-space:normal}
.floor-stage{isolation:isolate}
.floor-marker{position:absolute;z-index:0;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);border-radius:12px;border:2px dashed #9bb2a6;background:rgba(209,230,216,.9);text-align:center;pointer-events:none}
.floor-marker-name{display:block;color:#527968;font-size:clamp(8px,1.1vw,12px);font-weight:850;letter-spacing:1px;line-height:1.2;max-width:95%;overflow:hidden;text-overflow:ellipsis}
.floor-marker.stage{border-style:solid;border-color:#ada38c;background:#ded5c1}
.floor-marker.stage .floor-marker-name{color:#786749}
.floor-marker.entrance{border-style:solid;border-color:#82bfa8;background:#cbeadc}
.floor-marker.entrance .floor-marker-name{color:#377660}
.floor-marker.dancefloor{border-color:#c4ab79;background:repeating-linear-gradient(45deg,#ede2d0,#ede2d0 14px,#f9f0e2 14px,#f9f0e2 28px)}
.floor-marker.dancefloor .floor-marker-name{color:#8b7852}
.floor-marker.custom{background:#dce9f3;border-color:#8babba}
.floor-marker.custom .floor-marker-name{color:#507786}
.floor-marker-handle{pointer-events:auto;position:absolute;right:-12px;top:-13px;display:grid;place-items:center;width:29px;height:29px;background:#315c52;border:2px solid white;border-radius:8px;color:white;cursor:grab;touch-action:none;user-select:none;font-size:16px;box-shadow:0 3px 7px #1739283d}
.floor-marker-handle:active,.floor-grip:active{cursor:grabbing}
.floor-table{z-index:2}.floor-table.rectangle{border-radius:12px}.floor-table.rectangle .floor-table-content{border-radius:8px}
.floor-table.full{background:#b7c5bc}
.floor-feature-settings{border-top:1px solid #e1e8de;margin-top:18px;padding-top:16px}
.floor-settings-title{display:flex;flex-direction:column;gap:5px;margin-bottom:11px}
.floor-settings-title h3{font-size:16px;margin:0;color:#2d6254}
.floor-settings-title p{font-size:11px;color:#728779;margin:0;line-height:1.7}
.floor-marker-list{display:grid;gap:9px;margin-bottom:13px}
.floor-marker-row{border:1px solid #e0e8e1;background:#f9fcfa;border-radius:11px;padding:10px;display:flex;align-items:end;gap:9px;flex-wrap:wrap}
.floor-marker-row>strong{min-width:74px;flex:1;color:#2e5b4e;font-size:12px}
.floor-marker-row>label{display:grid;gap:4px;font-size:10px;color:#789085;font-weight:800}
.floor-marker-row>label:has(input[data-marker-label]){min-width:135px;flex:2}
.floor-marker-row>label:has(input[type=number]){flex:0 1 67px}
.floor-marker-row input:not([type=checkbox]),.floor-marker-row select{border:1px solid #d9e5dc;border-radius:8px;background:white;min-width:0;width:100%;height:35px;padding:7px;font-size:12px}
.floor-marker-row>select{width:114px}
.floor-marker-row .floor-marker-check{display:flex;gap:6px;align-items:center;height:35px;white-space:nowrap}
.floor-marker-check input{width:16px;height:16px;accent-color:#3d9a6a}
.floor-add-marker{display:flex;flex-wrap:wrap;align-items:end;gap:10px;background:#f3f9f4;padding:12px;border-radius:12px}
.floor-add-marker label{display:grid;gap:5px;flex:1;min-width:200px;font-size:11px;font-weight:700;color:#618475}
.floor-add-marker input{padding:9px 10px;min-height:39px;border:1px solid #d8e9dc;border-radius:8px}
@media(max-width:680px){.floor-marker-name{font-size:9px}.floor-marker-handle{width:26px;height:26px}.floor-print-toolbar{align-items:stretch}.floor-print-toolbar .btn{width:100%;justify-content:center}.floor-marker-row{gap:7px}.floor-marker-row>strong{min-width:100%;font-size:12px}.floor-marker-row>label:has(input[data-marker-label]){min-width:100%;}.floor-marker-row>label:has(input[type=number]){flex:1 1 60px}}
