.floor-personal-map { display:block!important; position:relative!important; height:650px!important; min-height:650px!important; }
.floor-personal-map [data-floor-tables], .floor-personal-map .floor-extra { position:absolute!important; grid-area:auto!important; margin:0!important; min-width:0!important; min-height:0!important; overflow:hidden; padding:4px!important; box-sizing:border-box; }
.floor-personal-map [data-floor-tables][hidden] { display:none!important; }
.floor-personal-map .floor-table strong { font-size:12px; }
.floor-personal-map .floor-table small { font-size:10px; overflow-wrap:anywhere; }
.floor-personal-map [data-layout-group]:not([data-layout-group=""]) { outline:3px dashed #927447; outline-offset:1px; }
.floor-personal-map .owner-private { position:absolute; bottom:-52px; left:0; }
.floor-personal-map.has-owner-private-slot { margin-bottom:60px; }
.floor-extra { border:2px dashed #9b876a; border-radius:12px; background:#f0e8db; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.floor-layout-protected { outline:3px dotted #ad760f; }
.floor-layout-dialog { width:min(850px,96vw); max-height:94dvh; overflow:auto; box-sizing:border-box; padding:18px; border:1px solid #cbbbab; border-radius:18px; color:#39291e; background:#fffaf4; }
.floor-layout-dialog::backdrop { background:#0008; }
.floor-layout-dialog h3 { margin:0 0 8px; }
.floor-layout-dialog p { margin:8px 0; }
.floor-layout-tools { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.floor-layout-tools button { min-height:44px; border:1px solid #b5a185; border-radius:9px; padding:8px 12px; background:#fff; color:#39291e; }
.floor-layout-tools button:disabled { opacity:.45; }
.floor-layout-tools [data-save-temp],.floor-layout-tools [data-save-normal] { background:#3e5b45;color:#fff; }
.floor-layout-canvas { position:relative; height:560px; border:1px solid #cbbbab; border-radius:12px; background:repeating-linear-gradient(0deg,transparent,transparent 27px,#e8e0d5 28px),repeating-linear-gradient(90deg,#faf6ef,#faf6ef 27px,#e8e0d5 28px); }
.floor-layout-table { position:absolute; touch-action:none; user-select:none; -webkit-user-select:none; border:2px solid #85735b; border-radius:12px; background:#e3ebd7; color:#292d23; padding:3px; cursor:grab; box-sizing:border-box; }
.floor-layout-table[hidden] { display:none; }
.floor-layout-table[aria-pressed="true"] { border:4px solid #2468b1; background:#dcecff; }
.floor-layout-table.is-grouped { outline:3px dashed #927447; outline-offset:1px; }
.floor-layout-error { color:#a42020; }
.floor-layout-bookings { border:1px solid #cbbbab;border-radius:12px; }
.floor-layout-bookings label { display:flex;gap:10px;align-items:center;min-height:44px; }
.floor-layout-bookings input { width:20px;height:20px; }
[data-floor-tables] { -webkit-touch-callout:none; }
@media(max-width:500px) { .floor-layout-dialog { padding:10px; } .floor-layout-canvas { height:470px; } .floor-layout-table { font-size:12px; } }
