:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;font-family:system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}#root{min-height:100vh}:root{--admin-bg:#f4f5f7;--admin-surface:#fff;--admin-border:#e2e4e9;--admin-text:#1a1d23;--admin-muted:#6b7280;--admin-primary:#4f46e5;--admin-primary-hover:#4338ca;--admin-danger:#dc2626;--admin-danger-bg:#fef2f2;--admin-warn-bg:#fffbeb;--admin-warn-border:#fde68a}.admin-root{background:var(--admin-bg);min-height:100vh;color:var(--admin-text)}.login-screen{background:var(--admin-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--admin-surface);color:var(--admin-text);border:1px solid var(--admin-border);border-radius:12px;flex-direction:column;gap:.75rem;width:320px;padding:2.5rem;display:flex;box-shadow:0 1px 3px #0000000f}.login-card h1{margin:0;font-size:1.4rem}.admin-topbar{background:var(--admin-surface);border-bottom:1px solid var(--admin-border);justify-content:space-between;align-items:center;padding:.9rem 1.5rem;display:flex}.admin-topbar a{color:var(--admin-text);font-weight:600;text-decoration:none}.admin-content{max-width:960px;margin:0 auto;padding:1.5rem}button,.btn{font:inherit;border:1px solid var(--admin-border);background:var(--admin-surface);color:var(--admin-text);cursor:pointer;border-radius:8px;padding:.55rem 1rem}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--admin-primary);border-color:var(--admin-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--admin-primary-hover)}.btn-danger{color:var(--admin-danger);border-color:var(--admin-danger);background:var(--admin-danger-bg)}.btn-small{padding:.3rem .6rem;font-size:.85rem}input,select,textarea{font:inherit;border:1px solid var(--admin-border);background:var(--admin-surface);color:var(--admin-text);border-radius:8px;padding:.55rem .7rem}label{flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:500;display:flex}.form-row{flex-wrap:wrap;gap:1rem;display:flex}.field{flex:1;min-width:160px}.card{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:10px;margin-bottom:1.25rem;padding:1.25rem}.card h2{margin:0 0 1rem;font-size:1.05rem}.event-row{border-bottom:1px solid var(--admin-border);justify-content:space-between;align-items:center;padding:.9rem 0;display:flex}.event-row:last-child{border-bottom:none}.event-row a{color:var(--admin-text);font-weight:600;text-decoration:none}.event-row a:hover{color:var(--admin-primary)}.muted{color:var(--admin-muted);font-size:.85rem}.error-text{color:var(--admin-danger);margin:0;font-size:.85rem}.warn-box{background:var(--admin-warn-bg);border:1px solid var(--admin-warn-border);border-radius:8px;margin-top:.75rem;padding:.75rem 1rem;font-size:.85rem}.link-copy{align-items:center;gap:.5rem;display:flex}.link-copy input{flex:1;font-family:ui-monospace,monospace;font-size:.85rem}.grid-panel .grid-preview{max-width:100%}.floorplan-item.grid-ghost{opacity:.3;pointer-events:none}.floorplan-item.grid-cell{cursor:pointer;border:0;padding:0;font-family:inherit}.floorplan-item.grid-cell.off{box-shadow:none;color:#0000;background:0 0;border:2px dashed #c7c9d1}.floorplan-item.grid-cell.off:hover,.floorplan-item.grid-cell.off:focus-visible{border-color:var(--fp-primary);background:#4f46e514;outline:none}.floorplan-item.grid-cell.off.dot{aspect-ratio:1;border:2px solid #c7c9d1;border-radius:50%;width:16px;height:16px}.floorplan-item.grid-cell.off.dot:after{content:"";position:absolute;inset:-9px}.floorplan-item.grid-cell.off.dot:disabled{opacity:.35;cursor:not-allowed}.floorplan-item.grid-cell.off.dot:disabled:hover{background:0 0;border-color:#c7c9d1}.floorplan-item.grid-cell.on{border:2px dashed var(--fp-primary);color:#312e81;box-shadow:none;background:#4f46e533}.floorplan-item.grid-cell.on:focus-visible{outline:3px solid #4f46e566}[hidden]{display:none!important}.grid-fullscreen{z-index:100;background:var(--admin-bg);padding:1.25rem 1.5rem 2rem;position:fixed;inset:0;overflow:auto}.grid-fullscreen-header{max-width:1400px;margin:0 auto 1.25rem}.grid-fullscreen-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;display:flex}.grid-fullscreen .grid-panel{max-width:1400px;margin:0 auto}.mode-tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.mode-tabs .btn-small.active{background:var(--admin-primary);color:#fff;border-color:var(--admin-primary)}.grid-panel .form-row .field{flex:0 8.5rem;min-width:6.5rem}.grid-panel .form-row .field input,.grid-panel .form-row .field select{box-sizing:border-box;width:100%}.grid-panel label.grid-check{flex-direction:row;align-items:center;gap:.45rem;padding-bottom:.55rem}.grid-panel label.grid-check input{width:auto;margin:0;padding:0}.badge-link-disabled{color:var(--admin-danger);border:1px solid var(--admin-danger);background:var(--admin-danger-bg);border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.link-disabled-banner{border:1px solid var(--admin-danger);background:var(--admin-danger-bg);color:var(--admin-text);border-radius:8px;margin:0 0 .75rem;padding:.6rem .8rem;font-size:.9rem}.admin-content.wide{max-width:1320px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.editor-top{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.editor-title{flex-wrap:wrap;flex:1;align-items:center;gap:.75rem;display:flex}.editor-ready{margin-left:auto;font-size:.9rem}.editor-body{align-items:flex-start;gap:1.25rem;display:flex}.editor-nav{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:12px;flex-direction:column;flex-shrink:0;gap:2px;width:210px;padding:.5rem;display:flex;position:sticky;top:1rem}.editor-nav-item{text-align:left;width:100%;color:var(--admin-text);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.6rem;padding:.6rem .7rem;display:flex}.editor-nav-item:hover{background:var(--admin-bg)}.editor-nav-item.active{color:#3730a3;background:#eef2ff;font-weight:600}.editor-nav-label{flex:1}.editor-nav-note{color:var(--admin-muted);font-size:.8rem;font-weight:400}.editor-main{flex:1;min-width:0}.status-dot{background:#d1d5db;border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.status-dot.ok{background:#16a34a}.status-dot.bad{background:#dc2626}.status-dot.warn{background:#f59e0b}.ready-list{flex-direction:column;gap:.6rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.ready-list li{align-items:center;gap:.6rem;display:flex}.fp-tabs-row{margin-bottom:.25rem}.fp-workspace{align-items:flex-start;gap:1.25rem;display:flex}.fp-workspace[hidden]{display:none}.fp-canvas-col{flex:1;min-width:0}.fp-panel{flex-direction:column;flex-shrink:0;gap:.75rem;width:250px;display:flex}.fp-panel-block{border:1px solid var(--admin-border);border-radius:12px;flex-direction:column;gap:.5rem;padding:.8rem;display:flex}.fp-panel .mode-tabs{margin-bottom:0}.fp-panel-stack{flex-direction:column;gap:.4rem;display:flex}.fp-panel-stack select{width:100%}.fp-marker-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.events-row{border-bottom:1px solid var(--admin-border);grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.7fr) minmax(0,.7fr) minmax(0,1.8fr) 200px;align-items:center;gap:.75rem;padding:.8rem .25rem;display:grid}.events-head{color:var(--admin-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.events-name a{font-weight:600}.events-actions{justify-content:flex-end;gap:.5rem;display:flex}.chip{border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.chip-ok{color:#166534;background:#dcfce7}.chip-bad{color:#b91c1c;background:#fee2e2}.chip-idle{color:#4b5563;background:#f3f4f6}@media (width<=900px){.editor-top{flex-direction:column;align-items:flex-start}.editor-ready{margin-left:0}.editor-body{flex-direction:column}.editor-nav{flex-direction:row;width:100%;position:static;overflow-x:auto}.editor-nav-item{white-space:nowrap;width:auto}.editor-nav-note{display:none}.fp-workspace{flex-direction:column}.fp-panel{width:100%}.events-row{grid-template-columns:1fr 1fr}.events-head{display:none}.events-name,.events-actions{grid-column:1/-1;justify-content:flex-start}.events-row [data-label]:before{content:attr(data-label) ": ";color:var(--admin-muted);font-size:.8rem}}.fp-swatches{flex-wrap:wrap;gap:.5rem;display:flex}.fp-swatch{width:32px;height:32px;box-shadow:0 0 0 1px var(--admin-border);cursor:pointer;border:2px solid #fff;border-radius:50%;padding:0}.fp-swatch.active{box-shadow:0 0 0 3px var(--admin-primary)}.totals-line{align-items:baseline;gap:.6rem;margin:0 0 .75rem;font-size:1.05rem;display:flex}.totals-line strong{font-size:1.35rem}.totals-sep{color:var(--admin-muted)}.btn-primary.btn-done{background:#16a34a;border-color:#16a34a;padding:.7rem 1.4rem;font-size:1.05rem;font-weight:600}.btn-primary.btn-done:hover:not(:disabled){background:#15803d;border-color:#15803d}.btn-primary.btn-done-compact{background:#16a34a;border-color:#16a34a;align-self:flex-start;font-weight:600}.btn-primary.btn-done-compact:hover:not(:disabled){background:#15803d;border-color:#15803d}.fp-check{align-items:center;gap:.4rem;font-size:.9rem;display:flex}.fp-panel .fp-check{text-align:left;flex-direction:row;justify-content:flex-start}.fp-panel .fp-check input[type=checkbox]{flex:none;width:auto;margin:0}.backup-actions{flex-wrap:wrap;gap:.5rem;display:flex}.restore-panel{border-top:1px solid var(--admin-border,#e5e7eb);margin-top:.9rem;padding-top:.9rem}.restore-pick{flex-direction:column;gap:.25rem;margin-bottom:.5rem;font-size:.85rem;display:flex}.restore-pick select{border:1px solid var(--admin-border,#d1d5db);font:inherit;border-radius:6px;max-width:28rem;padding:.4rem}.restore-list{flex-direction:column;gap:.4rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.restore-list li{border:1px solid var(--admin-border,#e5e7eb);border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .65rem;display:flex}.restore-info{flex-direction:column;min-width:0;display:flex}.restore-info strong{overflow-wrap:anywhere}.restore-ok{color:#166534;background:#dcfce7;border-radius:6px;margin:.5rem 0 0;padding:.5rem .65rem;font-size:.9rem}:root{--fp-border:#e2e4e9;--fp-primary:#4f46e5;--fp-marker:#6b7280;--fp-highlight:#16a34a;--fp-bounds-handle:#4f46e5;--fp-bounds-dim:#00000014;--fp-ring:#a5b4fc;--fp-highlight-ring:#86efac;--fp-ring-w:.3em}.floorplan-canvas{border:1px solid var(--fp-border);touch-action:none;background:#fff;border-radius:10px;width:100%;position:relative;overflow:visible;container-type:inline-size}.floorplan-canvas.readonly-canvas{touch-action:pan-x pan-y}.floorplan-canvas.cropped{overflow:hidden}.floorplan-canvas{--fp-marker-zoom:min(var(--fp-zoom,1), 4)}.floorplan-item{cursor:grab;-webkit-user-select:none;user-select:none;font-size:clamp(.65rem, calc(2.2cqw * var(--fp-zoom,1) * var(--fp-table-scale,1)), calc(1.4rem * var(--fp-zoom,1) * var(--fp-table-scale,1)));color:#fff;background:var(--fp-table,var(--fp-primary));justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 3px #0003}.floorplan-item.shape-round,.floorplan-item.shape-square{width:clamp(28px, calc(8cqw * var(--fp-zoom,1) * var(--fp-table-scale,1)), calc(90px * var(--fp-zoom,1) * var(--fp-table-scale,1)));aspect-ratio:1}.floorplan-item.shape-rectangle{width:clamp(38px, calc(11cqw * var(--fp-zoom,1) * var(--fp-table-scale,1)), calc(120px * var(--fp-zoom,1) * var(--fp-table-scale,1)));aspect-ratio:1.6}.floorplan-item.marker{background:var(--fp-marker);font-size:clamp(.6rem, calc(1.8cqw * var(--fp-marker-zoom,1) * var(--fp-marker-scale,1)), calc(1.1rem * var(--fp-marker-zoom,1) * var(--fp-marker-scale,1)));padding:calc(.6cqw * var(--fp-marker-zoom,1) * var(--fp-marker-scale,1)) calc(1.1cqw * var(--fp-marker-zoom,1) * var(--fp-marker-scale,1));white-space:nowrap;border-radius:20px;width:auto;max-width:38cqw;height:auto}.floorplan-item.marker .marker-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.floorplan-item.shape-round{border-radius:50%}.floorplan-item.shape-square,.floorplan-item.shape-rectangle{border-radius:6px}.floorplan-item.dragging{cursor:grabbing;opacity:.85;z-index:10}.floorplan-item.readonly{cursor:default}.floorplan-item.grid-ghost.grid-existing{pointer-events:auto;cursor:pointer;border:0;padding:0;font-family:inherit}.floorplan-item.grid-ghost.grid-existing:hover,.floorplan-item.grid-ghost.grid-existing:focus-visible{opacity:.6;box-shadow:0 0 0 .25em #dc262699}.floorplan-item:where(:not(.marker):not(.grid-ghost):not(.grid-cell)){box-shadow:inset 0 0 0 var(--fp-ring-w) var(--fp-ring), 0 1px 3px #0003}.floorplan-item.highlighted{background:var(--fp-highlight);color:#000;box-shadow:inset 0 0 0 var(--fp-ring-w) var(--fp-highlight-ring), 0 0 .6em .25em #16a34a73, 0 1px 3px #0003;z-index:5}.floorplan-item.highlighted.pulse-a{animation:1.2s ease-out .4s 3 fp-found-a}.floorplan-item.highlighted.pulse-b{animation:1.2s ease-out .4s 3 fp-found-b}@keyframes fp-found-a{0%{box-shadow:inset 0 0 0 var(--fp-ring-w) var(--fp-highlight-ring), 0 0 .6em .25em #16a34a73, 0 1px 3px #0003}45%{box-shadow:inset 0 0 0 var(--fp-ring-w) var(--fp-highlight-ring), 0 0 0 16px #16a34a80, 0 1px 3px #0003}to{box-shadow:inset 0 0 0 var(--fp-ring-w) var(--fp-highlight-ring), 0 0 .6em .25em #16a34a73, 0 1px 3px #0003}}@keyframes fp-found-b{0%{box-shadow:inset 0 0 0 var(--fp-ring-w) var(--fp-highlight-ring), 0 0 .6em .25em #16a34a73, 0 1px 3px #0003}45%{box-shadow:inset 0 0 0 var(--fp-ring-w) var(--fp-highlight-ring), 0 0 0 16px #16a34a80, 0 1px 3px #0003}to{box-shadow:inset 0 0 0 var(--fp-ring-w) var(--fp-highlight-ring), 0 0 .6em .25em #16a34a73, 0 1px 3px #0003}}.floorplan-canvas.tcolor-purple{--fp-table:#7e22ce;--fp-ring:#d8b4fe}.floorplan-canvas.tcolor-teal{--fp-table:#0f766e;--fp-ring:#99f6e4}.floorplan-canvas.tcolor-orange{--fp-table:#c2410c;--fp-ring:#fdba74}.floorplan-canvas.tcolor-rose{--fp-table:#be185d;--fp-ring:#f9a8d4}.floorplan-canvas.tcolor-charcoal{--fp-table:#374151;--fp-ring:#9ca3af}.floorplan-canvas.tcolor-crimson{--fp-table:#b91c1c;--fp-ring:#fca5a5}.floorplan-canvas.ctheme-black{--fp-bounds-dim:#ffffff29;background:#000}.floorplan-bounds-dim{background:var(--fp-bounds-dim);pointer-events:none;position:absolute}.floorplan-bounds-handle{background:var(--fp-bounds-handle);z-index:15;position:absolute}.floorplan-bounds-handle.horizontal{cursor:move;height:6px;left:0;right:0;transform:translateY(-50%)}.floorplan-bounds-handle.vertical{cursor:move;width:6px;top:0;bottom:0;transform:translate(-50%)}.marker-resize-handle{cursor:nwse-resize}.floorplan-bounds-handle.corner{cursor:nwse-resize;z-index:16;border:3px solid #fff;border-radius:50%;width:18px;height:18px;transform:translate(-50%,-50%)}.floorplan-item.marker.you-are-here{z-index:4;background:#dc2626;font-weight:700;animation:2.2s ease-out infinite fp-you-are-here;box-shadow:0 0 #dc26268c,0 1px 3px #00000040}.floorplan-item.marker.you-are-here:before{content:"";background:#fff;border-radius:50%;flex:none;width:.65em;height:.65em;margin-right:.5em;display:inline-block}@keyframes fp-you-are-here{0%{box-shadow:0 0 #dc26268c,0 1px 3px #00000040}70%{box-shadow:0 0 0 calc(1.6cqw * var(--fp-marker-zoom,1) * var(--fp-marker-scale,1)) #dc262600, 0 1px 3px #00000040}to{box-shadow:0 0 #dc262600,0 1px 3px #00000040}}@media (prefers-reduced-motion:reduce){.floorplan-item.marker.you-are-here,.floorplan-item.highlighted.pulse-a,.floorplan-item.highlighted.pulse-b{animation:none}}:root{--fp-mk-entry:#334155;--fp-mk-stage:#6d28d9;--fp-mk-dance:#be185d;--fp-mk-toilets:#0369a1;--fp-mk-bridal:#92400e}.floorplan-item.marker.mk-entry{--mk:var(--fp-mk-entry)}.floorplan-item.marker.mk-stage{--mk:var(--fp-mk-stage)}.floorplan-item.marker.mk-dance{--mk:var(--fp-mk-dance)}.floorplan-item.marker.mk-toilets{--mk:var(--fp-mk-toilets)}.floorplan-item.marker.mk-bridal{--mk:var(--fp-mk-bridal)}.floorplan-item.marker .marker-icon{display:none}.mstyle-icons .floorplan-item.marker .marker-icon,.mstyle-tag .floorplan-item.marker .marker-icon,.mstyle-light .floorplan-item.marker .marker-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.1em;height:1.1em;margin-right:.3em;display:block}.floorplan-item.marker.mk-noicon .marker-icon{display:none!important}.mstyle-colour .floorplan-item.marker:not(.you-are-here),.mstyle-icons .floorplan-item.marker:not(.you-are-here){background:var(--mk,var(--fp-marker))}:root{--fp-mkl-entry:#cbd5e1;--fp-mkl-stage:#c4b5fd;--fp-mkl-dance:#f9a8d4;--fp-mkl-toilets:#7dd3fc;--fp-mkl-bridal:#fdba74}.floorplan-item.marker.mk-entry{--mkl:var(--fp-mkl-entry)}.floorplan-item.marker.mk-stage{--mkl:var(--fp-mkl-stage)}.floorplan-item.marker.mk-dance{--mkl:var(--fp-mkl-dance)}.floorplan-item.marker.mk-toilets{--mkl:var(--fp-mkl-toilets)}.floorplan-item.marker.mk-bridal{--mkl:var(--fp-mkl-bridal)}.mstyle-light .floorplan-item.marker:not(.you-are-here){background:var(--mkl,#e5e7eb);color:#111827}.mstyle-tag .floorplan-item.marker:not(.you-are-here){color:#111827;box-shadow:inset 0 0 0 2px var(--mk,var(--fp-marker)), inset .3em 0 0 0 var(--mk,var(--fp-marker)), 0 1px 3px #0003;background:#fff;border-radius:6px}.floorplan-bounds-pan{cursor:move;touch-action:none;position:absolute}.floorplan-canvas{--fp-wall:#4b5563;--fp-wall-selected:#4f46e5}.floorplan-canvas.ctheme-black{--fp-wall:#b6bcc6}.floorplan-walls{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.floorplan-walls polyline,.floorplan-wall-draft polyline{fill:none;stroke:var(--fp-wall);stroke-width:clamp(2px, calc(.5cqw * var(--fp-zoom,1)), calc(8px * var(--fp-zoom,1)));stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.floorplan-walls polyline.wall-selected{stroke:var(--fp-wall-selected)}.floorplan-wall-draw{z-index:20;cursor:crosshair;position:absolute;inset:0}.floorplan-wall-draft{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.floorplan-wall-draft polyline{stroke:var(--fp-wall-selected);stroke-dasharray:6 4}.wall-handle{border:3px solid var(--fp-wall-selected);box-sizing:border-box;cursor:grab;touch-action:none;background:#fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%)}.wall-handle.draft{pointer-events:none;background:var(--fp-wall-selected)}.floorplan-wall-draw.edit{cursor:default}:root{--disp-bg:#0f1115;--disp-surface:#1a1d24;--disp-text:#f5f6f8;--disp-muted:#9aa0ab;--disp-accent:#6366f1;--disp-border:#2a2e37;--disp-brand:#3f4551;--disp-highlight:#16a34a}html.scheme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.display-root{background:var(--disp-bg);width:100vw;height:100dvh;color:var(--disp-text);-webkit-user-select:none;user-select:none;flex-direction:column;font-family:system-ui,-apple-system,Segoe UI,sans-serif;display:flex;overflow:hidden}.display-header{border-bottom:1px solid var(--disp-border);flex-shrink:0;align-items:center;gap:1rem;padding:.6rem 2rem;display:flex}.display-header-side{flex:1;align-items:center;display:flex}.display-header-side-right{justify-content:flex-end}.display-header-side-empty{flex:0 0 0;min-width:0}.display-header-center{text-align:center;flex:1;container-type:inline-size}.display-header .display-logo{height:calc(125px * var(--logo-scale,1));width:auto;max-width:min(calc(250px * var(--logo-scale,1)), 28vw);object-fit:contain}.display-header h1{letter-spacing:.01em;margin:0;font-size:clamp(1rem,9cqw,2.2rem);font-weight:800}.display-header-center p{color:var(--disp-muted);white-space:nowrap;text-overflow:ellipsis;margin:.2rem 0 0;font-size:clamp(.7rem,5cqw,1.2rem);overflow:hidden}@media (width<=700px){.display-header{gap:.5rem;padding:.4rem 1rem}.display-header .display-logo{height:calc(80px * var(--logo-scale,1));max-width:calc(100px * var(--logo-scale,1))}.display-header .display-qr-badge{padding:.2rem .4rem}.display-header .display-qr-badge img{width:48px;height:48px}.display-header .display-qr-label{font-size:.55rem}}.display-body{flex-direction:column;flex:1;align-items:center;gap:.75rem;min-height:0;padding:1.25rem 2rem;display:flex;position:relative;overflow:hidden}.display-search-wrap{flex-shrink:0;width:100%;max-width:560px;position:relative}.display-prompt-small{text-align:center;color:var(--disp-text);margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.display-search-row{position:relative}.display-search-input{border:2px solid var(--disp-border);background:var(--disp-surface);width:100%;color:var(--disp-text);box-sizing:border-box;border-radius:14px;padding:.8rem 2.8rem .8rem 1.1rem;font-size:1.3rem}.display-search-input:focus{border-color:var(--disp-accent);outline:none}.display-letter-buttons{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.6rem;display:flex}.display-letter-btn{border:2px solid var(--disp-border);background:var(--disp-surface);min-width:2.6rem;color:var(--disp-text);cursor:pointer;border-radius:10px;flex:auto;padding:.5rem .6rem;font-size:.95rem;font-weight:600}.display-letter-btn.active{border-color:var(--disp-accent);background:#6366f133}.display-clear-btn{background:var(--disp-border);width:32px;height:32px;color:var(--disp-text);cursor:pointer;border:none;border-radius:50%;font-size:1.1rem;line-height:1;position:absolute;top:50%;right:.6rem;transform:translateY(-50%)}.display-dropdown{background:var(--disp-surface);border:1px solid var(--disp-border);z-index:20;border-radius:14px;max-height:40vh;position:absolute;top:calc(100% + .5rem);left:0;right:0;overflow:hidden auto;box-shadow:0 8px 24px #0006}.display-dropdown-item{border-bottom:1px solid var(--disp-border);cursor:pointer;padding:.85rem 1.2rem;font-size:1.15rem}.display-dropdown-item:last-child{border-bottom:none}.display-dropdown-item:hover,.display-dropdown-item:active{background:#6366f126}.display-dropdown-item .company{color:var(--disp-muted);margin-top:.1rem;font-size:.9rem}.display-dropdown-empty{text-align:center;color:var(--disp-muted);padding:1.25rem;font-size:1rem}.display-result-banner{flex-shrink:0;align-items:baseline;gap:.75rem;display:flex}.display-result-banner .guest-name{color:var(--disp-text);font-size:1.1rem}.display-result-banner .table-number-inline{color:var(--disp-highlight);font-size:1.8rem;font-weight:700}.display-floorplan-wrap{flex:1;justify-content:flex-start;align-items:flex-start;width:100%;min-height:0;display:flex;overflow:auto}.display-floorplan-wrap.fit-screen{justify-content:flex-start;overflow:auto;container-type:size}.display-floorplan-wrap.fit-screen .display-floorplan-inner{width:min(100%, calc(100cqh * var(--fp-aspect,.5625)));margin-inline:auto}.display-floorplan-inner{width:100%;position:relative;container-type:inline-size}.display-sponsor-overlay{object-fit:contain;object-position:bottom;pointer-events:none;width:100%;position:absolute;bottom:0;left:0;right:0}.display-branding{text-align:center;letter-spacing:.02em;color:var(--disp-brand);border-top:1px solid var(--disp-border);flex:none;padding:.6em 0;font-size:clamp(.9rem,2.2vw,1.5rem);font-weight:400}.display-branding-version{letter-spacing:normal;color:var(--disp-muted);margin-top:.15em;font-size:.7rem;font-weight:400;display:block}.display-status{color:var(--disp-muted);background:#00000059;border-radius:999px;padding:.35rem .75rem;font-size:.8rem;position:fixed;bottom:2.5rem;right:1.25rem}.display-qr-badge{background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:.15rem;padding:.3rem .6rem;display:flex;box-shadow:0 2px 8px #00000040}.display-qr-badge img{width:84px;height:84px;display:block}.display-qr-label{color:#1a1d24;text-align:center;white-space:nowrap;margin:0;font-size:.75rem;font-weight:700;line-height:1.1}html.kiosk-zoom-lock,html.kiosk-zoom-lock body{touch-action:pan-x pan-y}.display-search-wrap{--kb-key-h:clamp(3.2rem, 7vw, 5rem);--kb-gap:.45rem;--kb-pad:.6rem;--kb-h:calc(4 * var(--kb-key-h) + 3 * var(--kb-gap) + 2 * var(--kb-pad))}.display-kb{width:min(94vw,900px);height:var(--kb-h);box-sizing:border-box;padding:var(--kb-pad);gap:var(--kb-gap);background:var(--disp-surface);border:1px solid var(--disp-border);z-index:18;border-radius:16px;flex-direction:column;display:flex;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.display-kb-row{justify-content:center;gap:var(--kb-gap);flex:1;min-height:0;display:flex}.display-kb-key{border:2px solid var(--disp-border);background:var(--disp-bg);min-width:0;max-width:5.2rem;color:var(--disp-text);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:10px;flex:1 1 0;padding:0;font-size:clamp(1.1rem,2.6vw,1.7rem);font-weight:600}.display-kb-key:active{border-color:var(--disp-accent);background:#6366f14d}.display-kb-key-wide{flex:1.6 1 0;max-width:8rem}.display-kb-key-space{flex:6 1 0;max-width:none}.display-kb-key-muted{color:var(--disp-muted);font-size:clamp(.9rem,2vw,1.2rem)}.display-dropdown.after-kb{top:calc(100% + var(--kb-h) + 1rem)}.display-concluded{text-align:center;justify-content:center;align-items:center;padding:2rem 1.5rem}.display-concluded-card{flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:640px;display:flex}.display-concluded-title{color:var(--disp-text);margin:0;font-size:clamp(2rem,6vw,3.4rem);line-height:1.15}.display-concluded-thanks{color:var(--disp-muted);margin:0;font-size:clamp(1.2rem,3.2vw,1.8rem)}.display-concluded-promo{box-sizing:border-box;border:1px solid var(--disp-border);background:var(--disp-surface);width:100%;color:var(--disp-text);border-radius:16px;padding:1.5rem 1.25rem;font-size:clamp(1rem,2.6vw,1.35rem);line-height:1.45}.display-concluded-promo p{margin:0 0 .75rem}.display-concluded-promo-lead{font-size:1.15em;font-weight:700}.display-concluded-url{color:var(--disp-accent);font-size:1.3em;font-weight:700;margin-bottom:0!important}.display-concluded-url a{color:inherit;text-decoration:underline}.qr-standalone-root{color:#1a1d24;text-align:center;box-sizing:border-box;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;width:100vw;height:100vh;padding:2rem;font-family:system-ui,-apple-system,Segoe UI,sans-serif;display:flex}.qr-standalone-logo{object-fit:contain;max-width:220px;max-height:96px}.qr-standalone-title{margin:0;font-size:2.4rem;font-weight:800}.qr-standalone-prompt{color:#5c5957;margin:0;font-size:1.4rem;font-weight:600}.qr-standalone-code{box-sizing:content-box;border:1px solid #e2e4e9;border-radius:12px;width:320px;height:320px;padding:1rem}@media print{.qr-standalone-root{height:auto;min-height:100vh}}
