:root{color-scheme:dark;--bg: #121820;--bg-glow: #1a2433;--panel: #1c2534;--panel2: #171f2c;--border: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .22);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .68);--text-on-accent: #0f1824;--accent: #5eb8e8;--accent-soft: rgba(94, 184, 232, .14);--accent-border: rgba(94, 184, 232, .45);--accent-hover: #7ecaf0;--good: #4ecf95;--good-soft: rgba(78, 207, 149, .14);--good-border: rgba(78, 207, 149, .48);--bad: #f07171;--bad-soft: rgba(240, 113, 113, .12);--bad-border: rgba(240, 113, 113, .42);--bad-hover: rgba(240, 113, 113, .2);--warn: #f0b429;--warn-soft: rgba(240, 180, 41, .14);--warn-border: rgba(240, 180, 41, .45);--canvas-bg: #0a0f18;--canvas-glow: #142033;--canvas-border: rgba(255, 255, 255, .14);--canvas-text: rgba(255, 255, 255, .92);--canvas-muted: rgba(255, 255, 255, .68);--canvas-surface: rgba(255, 255, 255, .08);--canvas-grid: rgba(255, 255, 255, .06);--canvas-accent-glow: rgba(94, 184, 232, .22);--canvas-hint-bg: rgba(10, 15, 24, .88);--canvas-node-border: rgba(255, 255, 255, .22);--canvas-seat-bg: rgba(255, 255, 255, .28);--canvas-seat-text: rgba(255, 255, 255, .92);--canvas-table-shadow: rgba(0, 0, 0, .45);--canvas-seat-shadow: rgba(0, 0, 0, .38);--canvas-kbd-bg: rgba(255, 255, 255, .08);--canvas-inset: rgba(255, 255, 255, .04);--good-filled-bg: rgba(78, 207, 149, .2);--external-filled-bg: rgba(94, 184, 232, .2);--accent-drop-bg: rgba(94, 184, 232, .24);--accent-drop-ring: rgba(94, 184, 232, .2);--dietary-ring: rgba(240, 113, 113, .9);--dietary-rail: #f07171;--shadow-soft: rgba(0, 0, 0, .35);--dialog-backdrop: rgba(0, 0, 0, .62);--rounded-table: 18px;--rounded-xs: 8px;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.35;font-weight:420;color:var(--text);background:radial-gradient(1200px 800px at 18% 8%,var(--bg-glow) 0%,var(--bg) 58%);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:100%;height:100dvh}body{margin:0;min-width:320px}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.appShell{height:100%;display:grid;grid-template-columns:280px minmax(0,1fr) 300px;grid-template-rows:auto 1fr;gap:12px;padding:12px}.appShellDashboard{grid-template-columns:1fr}.appShellShare{grid-template-columns:minmax(0,1fr) minmax(260px,320px)}.appShellShare.appShellDashboard{grid-template-columns:1fr}.appShellShare .topBarTitle{min-width:0}.appShellShare .panelTabsInline{padding:0}.shareRoomField{display:flex;min-width:0}.shareRoomSelect{width:200px}.visuallyHidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topBar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);background:linear-gradient(180deg,var(--panel),var(--panel2));border-radius:14px;box-shadow:0 1px #ffffff0a inset}.topBarTitle{display:flex;flex-direction:column;gap:2px;min-width:280px}.topBarTitle strong{font-size:14px;letter-spacing:.2px;color:var(--text)}.topBarTitle span{font-size:12px;color:var(--muted)}.topBarActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.btn{height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;transition:transform 90ms ease,background .12s ease,border-color .12s ease}.btn:focus-visible,.panelTab:focus-visible,.select:focus-visible,.input:focus-visible,.seatedRow:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px}.btn:hover{background:var(--panel2);border-color:var(--border-strong)}.btn:active{transform:translateY(1px)}.btnPrimary{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent);font-weight:550}.btnPrimary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btnQuiet{border-color:transparent;background:transparent;color:var(--muted)}.btnQuiet:hover{border-color:var(--border);background:var(--panel2);color:var(--text)}.btnPrimary:disabled,.btn:disabled{opacity:.55;cursor:not-allowed}.btnDanger{border-color:var(--bad-border);background:var(--bad-soft);color:var(--bad)}.btnDanger:hover{background:var(--bad-hover);border-color:var(--bad)}.pill{height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:12px}.pill strong{color:var(--text)}.pillWarn{border-color:var(--warn-border);background:var(--warn-soft);color:var(--warn)}.pillWarn strong{color:var(--warn)}.pillGood{border-color:var(--good-border);background:var(--good-soft);color:var(--good)}.pillDirty{border-color:var(--warn-border);background:var(--warn-soft);color:var(--warn);font-weight:550}.pillGap{margin-left:6px}.statusLine{font-size:12px;color:var(--muted)}.panel{border:1px solid var(--border);background:linear-gradient(180deg,var(--panel),var(--panel2));border-radius:14px;overflow:hidden;box-shadow:0 1px #ffffff0a inset;min-height:0;display:flex;flex-direction:column}.panelHeader{padding:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0}.panelHeaderActions{display:flex;align-items:center;gap:8px;flex-shrink:0}.panelTabsInline{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0;min-width:180px}.panelCenterFull{min-width:0}.panelFloor{min-width:0;border-color:var(--canvas-border);box-shadow:0 0 0 1px #5eb8e814}.panelBodyDashboard{overflow-x:hidden;overflow-y:auto}.helpCompact{margin:0 0 10px}.panelHeader strong{font-size:13px;letter-spacing:.2px;color:var(--text)}.panelHeader span{font-size:12px;color:var(--muted)}.panelHeaderText{display:grid;gap:2px}.exportDialog{border:1px solid var(--border);border-radius:14px;padding:0;max-width:min(760px,calc(100% - 32px));width:calc(100% - 32px);background:var(--panel);color:var(--text);box-shadow:0 12px 40px var(--shadow-soft)}.exportDialog::backdrop{background:var(--dialog-backdrop)}.exportDialogBody{display:grid;gap:14px;padding:16px;margin:0}.exportDialogHeader{display:grid;gap:6px}.exportDialogTitle{font-size:14px}.exportDialogMessage{margin:0;font-size:13px;color:var(--muted);line-height:1.45}.exportThemePicker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.exportThemeOption{height:38px;border-radius:10px;border:1px solid var(--border);background:var(--panel2);color:var(--muted);cursor:pointer}.exportThemeOptionActive{border-color:var(--accent-border);background:var(--accent-soft);color:var(--text)}.exportPreview{border:1px solid var(--border);border-radius:12px;background:var(--panel2);max-height:min(52vh,520px);overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:12px}.exportPreview img{display:block;max-width:100%;height:auto;border-radius:8px;box-shadow:0 8px 28px var(--shadow-soft);image-rendering:auto}.exportPreviewEmpty{padding:48px 16px;text-align:center;font-size:13px;color:var(--muted)}.exportDialogActions{display:flex;justify-content:flex-end;gap:8px}.panelBody{flex:1;padding:12px;overflow-x:hidden;overflow-y:auto;min-height:0}.panelTabs{flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 12px 0}.panelTabsThree{grid-template-columns:1fr 1fr 1fr}.panelTab{height:34px;border-radius:10px;border:1px solid var(--border);background:var(--panel2);color:var(--muted);cursor:pointer;font-size:12px}.panelTab:hover{border-color:var(--border-strong);color:var(--text)}.panelTabActive{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent);font-weight:550}.sectionLabel{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.detailCard{display:grid;gap:10px;padding:12px;border-radius:12px;border:1px solid var(--accent-border);background:var(--accent-soft)}.detailCardHeader{display:grid;gap:4px}.detailCardHeader strong{font-size:14px;color:var(--text)}.detailCardHeader span{font-size:12px;color:var(--muted)}.detailCardBody{display:grid;gap:4px}.detailLine{font-size:12px;color:var(--text)}.emptySeatCard{padding:12px;border-radius:12px;border:1px dashed var(--border-strong);color:var(--muted);font-size:12px;background:var(--panel2)}.seatedRow{width:100%;max-width:100%;box-sizing:border-box;text-align:left;border:1px solid var(--border);background:var(--panel);padding:10px;border-radius:12px;cursor:pointer;color:inherit;min-width:0}.seatedRow:hover{border-color:var(--border-strong);background:var(--panel2)}.seatedRowInternal{border-color:#4ecf95d1;background:#4ecf953d}.seatedRowInternal:hover{border-color:#4ecf95;background:#4ecf9547}.seatedRowExternal{border-color:#5eb8e8d1;background:#5eb8e83d}.seatedRowExternal:hover{border-color:#5eb8e8;background:#5eb8e847}.seatedRowSelected{outline:2px solid var(--accent-border);outline-offset:1px}.seatedRowInternal.seatedRowSelected{border-color:#4ecf95d1;background:#4ecf953d}.seatedRowExternal.seatedRowSelected{border-color:#5eb8e8d1;background:#5eb8e83d}.seatedRowMain{display:grid;gap:3px;min-width:0;overflow:hidden}.seatedRowMain strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seatedRowMain>span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seatedRowMeta{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendeeDragRow{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.attendeeDragRow:active{cursor:grabbing}.attendeeDragHint{flex-shrink:0;margin-top:2px}.fieldRow{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field{display:grid;gap:6px;margin-bottom:10px;min-width:0}.field label{font-size:12px;color:var(--muted)}.input,.select{width:100%;max-width:100%;min-width:0;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:0 10px}.textarea{width:100%;max-width:100%;min-width:0;min-height:72px;resize:vertical;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:8px 10px;line-height:1.4;font:inherit}.textarea:hover{border-color:var(--border-strong)}.seatingNoteField{margin-bottom:0}.seatingNoteActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.seatingNoteStatus{font-size:12px;color:var(--muted)}.seatingNotePreview{font-style:italic}.input:hover,.select:hover{border-color:var(--border-strong)}.help{font-size:12px;color:var(--muted);overflow-wrap:anywhere;max-width:100%}.divider{height:1px;background:var(--border);margin:12px 0}.list{display:grid;gap:8px}.cardRow{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);background:var(--panel);padding:10px;border-radius:12px}.cardRow:hover{border-color:var(--border-strong)}.alertCard{border-color:var(--bad-border);background:var(--bad-soft)}.cardRowMain{display:grid;gap:2px;min-width:0}.cardRowMain strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cardRowMain span{font-size:12px;color:var(--muted)}.canvasWrap{position:relative;height:100%;width:100%;border:1px solid var(--canvas-border);background:radial-gradient(900px 650px at 40% 30%,var(--canvas-accent-glow),var(--canvas-bg));border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--canvas-inset)}.canvasHint{position:absolute;left:12px;bottom:12px;display:flex;gap:8px;flex-wrap:wrap;pointer-events:none}.canvasHint .pill{border-color:var(--canvas-border);background:var(--canvas-hint-bg);color:var(--canvas-muted)}.canvasHint .pill strong,.canvasHint .kbd{color:var(--canvas-text)}.floor{width:4200px;height:2200px;position:relative;background-color:var(--canvas-bg);background-image:linear-gradient(var(--canvas-grid) 1px,transparent 1px),linear-gradient(90deg,var(--canvas-grid) 1px,transparent 1px);background-size:40px 40px;background-position:0 0;contain:layout style}.floorFeature{position:absolute;z-index:1;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;padding:4px 8px;box-sizing:border-box;-webkit-user-select:none;user-select:none}.floorFeatureLabel{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1.2}.floorFeatureSize{font-size:10px;font-weight:420;line-height:1.2;opacity:.85}.floorFeatureStage{border-radius:10px;border:1px dashed var(--warn-border);background:repeating-linear-gradient(-45deg,var(--warn-soft),var(--warn-soft) 8px,transparent 8px,transparent 16px);color:var(--warn)}.floorFeatureLed{border-radius:8px;border:1px solid var(--accent-border);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-border);color:var(--accent)}.floorFeaturePlaceholder{border-radius:10px;border:2px dashed var(--canvas-node-border);background:transparent;color:var(--canvas-muted);justify-content:flex-end;padding-bottom:12px;z-index:0}.floorFeatureDimension{border:none;background:transparent;color:var(--canvas-text);padding:0;gap:4px;z-index:1}.floorFeatureArrowShaft{flex:1 1 auto;width:1px;min-height:8px;background:var(--canvas-muted)}.floorFeatureArrowHead{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;flex-shrink:0}.floorFeatureArrowHeadTop{border-bottom:7px solid var(--canvas-muted)}.floorFeatureArrowHeadBottom{border-top:7px solid var(--canvas-muted)}.floorFeatureDimension .floorFeatureSize{font-size:12px;font-weight:600;opacity:1;color:var(--canvas-text);line-height:1;flex-shrink:0}.floorFeatureLegend{border-radius:10px;border:1px solid var(--canvas-node-border);background:#141820b8;color:var(--canvas-text);align-items:flex-start;justify-content:center;text-align:left;padding:10px 12px;gap:6px;z-index:3}.floorFeatureLegend .floorFeatureLabel{text-transform:uppercase;letter-spacing:.06em;color:var(--canvas-muted)}.floorFeatureLegend .floorFeatureSize{white-space:pre-line;font-size:12px;font-weight:500;opacity:1;line-height:1.45}.node{position:absolute;-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;contain:layout style}.node:active{cursor:grabbing}.nodeAllowPan{touch-action:auto;cursor:pointer}.nodeAllowPan:active{cursor:pointer}.floor-draggable{z-index:2}.tableNode{width:160px;height:100px;border:1px solid var(--canvas-node-border);background:var(--canvas-surface);border-radius:var(--rounded-table);display:grid;place-items:center;color:var(--canvas-text);font-size:12px}.tableRound{border-radius:999px;width:130px;height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px}.tableVipRound{border-color:#f0b429a6;background:#f0b42924;color:#f0b429;width:160px;height:160px;padding:10px}.tableRect{border-radius:14px;width:200px;height:90px}.tableSelected{outline:2px solid var(--accent-border);outline-offset:2px}.tableColored{transition:background-color .16s ease-out,border-color .16s ease-out,color .16s ease-out}@media (prefers-reduced-motion: reduce){.tableColored{transition:none}}.seatNode{width:46px;height:46px;border-radius:999px;border:1px solid var(--canvas-node-border);background:var(--canvas-seat-bg);display:grid;place-items:center;font-size:11px;color:var(--canvas-seat-text)}.seatNodeInner{display:grid;gap:2px;place-items:center}.seatNodeLabel{font-size:10px;opacity:.8}.seatNodeInitials{font-weight:750;letter-spacing:.4px}.seatFilled{color:var(--canvas-text)}.seatFilled:not(.seatInternal):not(.seatExternal){border-color:var(--good-border);background:var(--good-filled-bg)}.seatInternal{border-color:#4ecf95d1;background:#4ecf9547}.seatExternal{border-color:#5eb8e8d1;background:#5eb8e847}.seatDietary{border-color:var(--dietary-ring)!important;box-shadow:0 0 0 2.5px var(--dietary-ring)}.seatVip{position:relative}.vipStar{position:absolute;top:-2px;right:1px;font-size:12px;line-height:1;color:#f0b429;text-shadow:0 0 2px rgba(0,0,0,.45);pointer-events:none}.vipStarInline{color:#f0b429;font-weight:700}.seatDropTarget{border-color:var(--accent-border)!important;background:var(--accent-drop-bg)!important;outline:3px solid var(--accent-drop-ring);box-shadow:none}.seatSelected{outline:2px solid var(--accent-border);outline-offset:2px}.attendeeToken{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.attendeeToken:hover{border-color:var(--border-strong);background:var(--panel2)}.attendeeToken:active{cursor:grabbing}.attendeeTokenSelected{border-color:var(--accent-border);background:var(--accent-soft)}.attendeeTokenDietary{border-color:var(--bad-border)}.attendeeTokenDietary .attendeeDetailLine,.attendeeTokenDietary span{color:inherit}.seatedRowDietary{border-color:var(--bad-border);box-shadow:inset 3px 0 0 0 var(--dietary-rail)}.seatedRowDietary.seatedRowSelected{box-shadow:inset 3px 0 0 0 var(--dietary-rail)}.seatedRowDietary .seatedRowMeta{color:var(--muted);opacity:.9}.detailCardInternal{border-color:var(--good-border);background:var(--good-soft)}.detailCardExternal{border-color:var(--accent-border);background:var(--accent-soft)}.detailCardDietary{box-shadow:inset 3px 0 0 0 var(--dietary-rail);border-color:var(--bad-border)}.dietaryBanner{margin:0 0 8px;padding:6px 8px;border-radius:8px;background:var(--bad-soft);border:1px solid var(--bad-border);color:var(--bad);font-size:12px;line-height:1.35}.detailCardActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.btnVip{border-color:#f0b4298c;background:#f0b42929;color:#f0b429}.attendeeDetailLine{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.columnPicker{display:grid;gap:8px}.columnPickerToggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--panel2);color:var(--text);cursor:pointer}.columnPickerToggle:hover{border-color:var(--border-strong)}.columnPickerToggle strong{display:block;font-size:12px}.columnPickerCount{display:block;margin-top:2px;font-size:11px;color:var(--muted)}.columnPickerChevron{flex-shrink:0;color:var(--muted);font-size:12px}.columnPickerGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.columnPickerItem{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);cursor:pointer;padding:6px 8px;border-radius:var(--rounded-xs);border:1px solid var(--border);background:var(--panel2)}.columnPickerItem:hover{border-color:var(--border-strong)}.columnPickerItem input{accent-color:var(--accent)}.attendeeSearchSticky{position:sticky;top:0;z-index:2;background:var(--panel);padding-bottom:10px;margin:-2px 0 10px;border-bottom:1px solid var(--border)}.attendeeSearchSticky .field{margin-bottom:0}.searchField{display:flex;gap:8px;align-items:center}.searchInput{flex:1;min-width:0}.searchClear{height:36px;flex-shrink:0;padding:0 10px}.searchMeta{margin:8px 0 0;font-size:12px;color:var(--muted)}.kbd{font-family:var(--font-mono);font-size:11px;border:1px solid var(--border);background:var(--panel2);padding:2px 6px;border-radius:var(--rounded-xs);color:var(--text)}.canvasHint .kbd{border-color:var(--canvas-border);background:var(--canvas-kbd-bg)}.confirmDialog{border:1px solid var(--border);border-radius:14px;padding:0;max-width:420px;width:calc(100% - 32px);background:var(--panel);color:var(--text);box-shadow:0 12px 40px var(--shadow-soft)}.confirmDialog::backdrop{background:var(--dialog-backdrop)}.confirmDialogBody{display:grid;gap:12px;padding:16px;margin:0}.confirmDialogTitle{font-size:14px}.confirmDialogMessage{margin:0;font-size:13px;color:var(--muted);line-height:1.45}.confirmDialogActions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.detailsBlock{border:1px solid var(--border);border-radius:12px;background:var(--panel2);padding:10px 12px}.detailsBlock summary{cursor:pointer;font-size:12px;font-weight:550;color:var(--text);list-style:none}.detailsBlock summary::-webkit-details-marker{display:none}.detailsBlock summary:before{content:"▸ ";color:var(--muted)}.detailsBlock[open] summary:before{content:"▾ "}.detailsBlockBody{margin-top:10px}.dangerZone{margin-top:4px;padding-top:12px;border-top:1px solid var(--bad-border);display:grid;gap:8px}.dangerZoneLabel{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--bad)}.templatesPanel{display:grid;gap:12px;min-width:0;max-width:100%}.templatesPanel .btn{max-width:100%;white-space:normal;height:auto;min-height:36px;padding-top:8px;padding-bottom:8px}.roomDashboard{display:grid;gap:14px}.roomDashboardPage{gap:18px;min-height:100%}.roomDashboardEmpty{padding:24px 8px}.dashHeader{display:grid;gap:2px}.dashHeader strong{font-size:18px;color:var(--text)}.dashHeader span{font-size:13px;color:var(--muted);line-height:1.4}.dashStatGrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.dashStatGridWide{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.dashColumns{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;align-items:start}.dashPersonList{max-height:min(52vh,520px);overflow:auto;padding-right:2px}.dashStat{padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);min-width:0}.dashStatValue{font-size:15px;font-weight:600;color:var(--text);line-height:1.2}.dashStatLabel{margin-top:2px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);line-height:1.3}.dashStat-warn .dashStatValue{color:var(--bad)}.dashStat-good .dashStatValue{color:var(--good)}.dashStat-vip .dashStatValue{color:var(--warn)}.dashSection{display:grid;gap:6px;min-width:0}.dashCompanyRow{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2)}.dashCompanyRow strong{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashCompanyRow span{font-size:11px;color:var(--muted)}.templateList{display:grid;gap:8px}.templateSelectActions{display:flex;gap:8px;flex-wrap:wrap}.templateCard{display:grid;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}.templateCardMain{display:grid;gap:4px;min-width:0}.templateCardMain strong{font-size:13px;color:var(--text)}.templateCardMain span{font-size:12px;color:var(--muted);line-height:1.4}.templateCardActions{display:flex;gap:8px;flex-wrap:wrap}.templateCreateForm{display:grid;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel2);min-width:0;max-width:100%}.templateCreateActions{display:flex;justify-content:flex-end;gap:8px}.templateError{font-size:12px;color:var(--bad)}.floorEmptyHint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;padding:24px;text-align:center;pointer-events:none;z-index:1}.floorEmptyHintInner{max-width:280px;padding:16px 18px;border-radius:12px;border:1px dashed var(--canvas-border);background:var(--canvas-hint-bg);color:var(--canvas-muted);font-size:13px;line-height:1.45}.floorEmptyHintInner strong{display:block;margin-bottom:6px;color:var(--canvas-text);font-size:14px}.tableNodeLabel{opacity:.92;font-weight:650}.tableNodeMeta{opacity:.72;font-size:11px}.panelTab[aria-selected=true]{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent);font-weight:550}.btnCompact{height:30px;padding:0 10px;font-size:12px}.tableInspector{display:grid;gap:10px}.tableInspectorHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tableInspectorHeader strong{display:block;font-size:15px}.tableInspectorHeader span{display:block;margin-top:2px;font-size:12px;color:var(--muted)}.seatStepper{display:flex;align-items:center;gap:8px}.seatStepperBtn{width:36px;padding:0;font-size:18px;line-height:1}.seatStepperValue{min-width:2.5ch;text-align:center;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.tableInspectorList{display:grid;gap:8px}.tableInspectorListLabel{font-size:12px;color:var(--muted)}.tableColorPicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tableColorSwatch{width:28px;height:28px;border-radius:999px;border:2px solid transparent;box-shadow:inset 0 0 0 1px #00000040;cursor:pointer;padding:0;transition:transform .15s ease-out,box-shadow .15s ease-out}.tableColorSwatch:hover{transform:scale(1.08)}.tableColorSwatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tableColorSwatchSelected{box-shadow:inset 0 0 0 1px #00000040,0 0 0 2px var(--panel),0 0 0 4px var(--accent)}.tableColorClear{margin-left:2px}.colorLegendEditor{display:grid;gap:8px}.colorLegendList{display:grid;gap:6px}.colorLegendRow{display:grid;grid-template-columns:14px 64px 1fr;align-items:center;gap:8px}.colorLegendSwatch{width:14px;height:14px;border-radius:999px;box-shadow:inset 0 0 0 1px #00000040}.colorLegendLabel{font-size:12px;color:var(--muted)}.colorLegendInput{height:32px;min-width:0}.dashTableTitle{display:inline-flex;align-items:center;gap:8px}.dashTableSwatch{width:10px;height:10px;border-radius:999px;flex:0 0 auto;box-shadow:inset 0 0 0 1px #0000004d}.dashTableColorLabel{font-weight:500;color:var(--muted);font-size:12px}@media (prefers-reduced-motion: reduce){.tableColorSwatch{transition:none}}.tableSeatRowEmpty{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1px dashed var(--border);background:transparent;padding:9px 10px;border-radius:10px;color:var(--muted);cursor:pointer}.tableSeatRowEmpty:hover{border-color:var(--border-strong);background:var(--panel2)}.tableSeatRowEmptySelected{border-color:var(--accent-border);border-style:solid;background:var(--accent-soft);color:var(--text)}.tableSeatRowLabel{font-size:12px}.tableSeatRowStatus{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.loginPage{min-height:100%;display:grid;place-items:center;padding:24px}.loginCard{width:min(100%,360px);display:grid;gap:4px;padding:22px 20px 18px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,var(--panel),var(--panel2));box-shadow:0 1px #ffffff0a inset,0 18px 40px var(--shadow-soft)}.loginStatusCard{text-align:center;color:var(--muted);font-size:13px}.loginBrand{display:grid;gap:4px;margin-bottom:14px}.loginBrand strong{font-size:15px;letter-spacing:.2px;color:var(--text);text-wrap:balance}.loginBrand span{font-size:12px;color:var(--muted)}.loginError{margin:0 0 8px;padding:8px 10px;border-radius:10px;border:1px solid var(--bad-border);background:var(--bad-soft);color:var(--bad);font-size:12px}.loginSubmit{width:100%;margin-top:4px}.loginCard .input:focus{outline:2px solid var(--accent-border);outline-offset:1px;border-color:var(--accent-border)}.tapPersonRow{display:flex;align-items:stretch;gap:8px;padding:0}.seatedRow.tapPersonRow{padding:0}.tapPersonMain{flex:1;min-width:0;text-align:left;border:0;background:transparent;color:inherit;cursor:pointer;padding:10px}.tapPersonAction{flex-shrink:0;align-self:center;margin-right:8px;min-height:44px}.tapPersonActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.compactShell{height:100%;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.compactShellTop{flex-shrink:0;padding:0 10px 8px;padding-top:max(10px,env(safe-area-inset-top));background:var(--panel);border-bottom:1px solid var(--border)}.compactTopBar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}.compactTopBarLead{display:flex;align-items:center;gap:8px;min-width:0;flex:1;flex-wrap:wrap}.compactTopBarActions{display:flex;align-items:center;gap:8px;flex-shrink:0}.compactRoomField{min-width:0;flex:1 1 140px;max-width:220px}.compactRoomSelect{width:100%;min-height:44px;font-size:16px}.compactRoomPill,.compactStatusPill{flex-shrink:0}.compactShellMain{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.compactShellMainFloor{overflow:hidden}.compactShellNav{flex-shrink:0;background:var(--panel);border-top:1px solid var(--border);padding-bottom:max(8px,env(safe-area-inset-bottom))}.compactNavList{display:flex;align-items:stretch}.compactNavItem{flex:1;min-height:44px;height:44px;min-width:0;border:0;border-top:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 4px;font-size:12px}.compactNavLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compactNavItemActive{color:var(--accent);border-top-color:var(--accent);font-weight:550}.compactNavCount{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--warn-soft);border:1px solid var(--warn-border);color:var(--warn);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.compactFloorPane{flex:1;min-height:0;display:flex;flex-direction:column}.compactFloorPaneTablet{flex-direction:row}.compactFloorStage{position:relative;flex:1;min-height:0;background:var(--canvas-bg)}.compactFloorStage .canvasWrap{height:100%;border:none;border-radius:0;box-shadow:none}.compactFloorRail{width:290px;min-width:280px;max-width:300px;flex-shrink:0;overflow:auto;border-left:1px solid var(--border);background:var(--panel)}.compactFloorRail>.panel{border:none;border-radius:0;min-height:100%}.compactCanvasToolbar{position:absolute;top:10px;right:10px;z-index:3;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:calc(100% - 20px)}.compactToolbarBtn{min-width:44px;min-height:44px;height:44px}.compactSelectionPeek{position:absolute;left:0;right:0;bottom:0;z-index:4;height:56px;display:flex;align-items:center;gap:8px;padding:0 10px;background:var(--panel);border-top:1px solid var(--border)}.compactPeekMain{flex:1;min-width:0;height:44px;display:grid;align-content:center;gap:2px;text-align:left;border:0;background:transparent;color:inherit;cursor:pointer;padding:0}.compactPeekMain strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compactPeekMain span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compactPeekClear{flex-shrink:0;min-height:44px;height:44px}.compactAssignmentBar{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;min-height:56px;background:var(--panel);border-top:1px solid var(--accent-border)}.compactAssignmentCopy{display:grid;gap:2px;min-width:0}.compactAssignmentCopy strong{font-size:13px}.compactAssignmentWarn{font-size:12px;color:var(--warn)}.compactAssignmentActions{display:flex;gap:8px;flex-shrink:0}.compactAssignmentActions .btn{min-height:44px;height:44px}.compactFloorSheet,.compactMoreSheet{margin:auto 0 0;width:100%;max-width:100%;border:1px solid var(--border);border-radius:14px 14px 0 0;padding:0;background:var(--panel);color:var(--text);max-height:min(72dvh,640px)}.compactFloorSheet::backdrop,.compactMoreSheet::backdrop{background:var(--dialog-backdrop)}.compactFloorSheet[open],.compactMoreSheet[open]{animation:compactSheetIn .2s ease-out}.compactFloorSheetBody,.compactMoreSheetBody{display:flex;flex-direction:column;max-height:min(72dvh,640px);padding-bottom:env(safe-area-inset-bottom)}.compactFloorSheetHeader,.compactMoreSheetHeader{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-bottom:1px solid var(--border);flex-shrink:0}.compactFloorSheetHeader .btn,.compactMoreSheetHeader .btn{min-height:44px;height:44px}.compactFloorSheetContent{padding:12px;overflow:auto}.compactMoreSheetActions{display:grid;gap:8px;padding:12px}.compactMoreSheetActions .btn{width:100%;min-height:44px;height:44px}.compactDashboard{padding:12px}.compactTools{display:flex;flex-direction:column;min-height:100%}.compactToolsBody{padding:12px}.compactShell .input,.compactShell .select,.compactShell .textarea{font-size:16px}.compactShell .input,.compactShell .select{height:44px;min-height:44px}.compactShell .btn,.compactShell .panelTab,.compactShell .btnCompact{min-height:44px;height:44px}.compactShellMain>.panel{border:none;border-radius:0;min-height:100%}.compactShell .dashPersonList{max-height:none}@keyframes compactSheetIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes compactSheetFade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.btn{transition:none}.compactFloorSheet[open],.compactMoreSheet[open]{animation:compactSheetFade .18s ease-out;animation-duration:.18s!important;transform:none}.changelogDialog[open]{animation:none}}.changelogDialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:var(--bg);color:var(--text)}.changelogDialog::backdrop{background:var(--bg)}.changelogDialog[open]{animation:changelogIn .2s cubic-bezier(.22,1,.36,1)}@keyframes changelogIn{0%{opacity:0}to{opacity:1}}.changelogPage{height:100%;display:flex;flex-direction:column;min-height:0;background:radial-gradient(1200px 800px at 18% 8%,var(--bg-glow) 0%,var(--bg) 58%)}.changelogHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 20px;padding-top:max(16px,env(safe-area-inset-top));border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--panel),var(--panel2));flex-shrink:0}.changelogHeader h1{margin:0;font-size:16px;font-weight:600;letter-spacing:.2px;text-wrap:balance}.changelogHeader p{margin:4px 0 0;font-size:13px;color:var(--muted);max-width:65ch}.changelogHeader .btn{flex-shrink:0}.changelogBody{flex:1;overflow:auto;padding:20px 20px 32px;padding-bottom:max(32px,env(safe-area-inset-bottom))}.changelogFilter{display:grid;gap:6px;max-width:42rem;margin:0 auto 20px;font-size:12px;color:var(--muted)}.changelogFeed{max-width:42rem;margin:0 auto;display:grid;gap:28px}.changelogDay h2{margin:0 0 8px;font-size:12px;font-weight:550;color:var(--muted)}.changelogDay ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}.changelogItem{display:grid;grid-template-columns:16px minmax(0,1fr);gap:12px;align-items:start;padding:10px 8px;border-radius:10px}.changelogItemBody p{margin:0;font-size:14px;line-height:1.45;text-wrap:pretty}.changelogMeta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:12px;color:var(--muted)}.changelogDot{width:8px;height:8px;margin-top:6px;border-radius:999px;background:#ffffff6b}.changelogDot-good{background:var(--good)}.changelogDot-warn{background:var(--warn)}.changelogDot-accent{background:var(--accent)}.changelogDot-muted{background:#ffffff6b}.changelogLink{display:inline;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-weight:550;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.changelogLink:hover{color:var(--accent-hover)}.changelogLink:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px;border-radius:8px}.changelogPlain{font-weight:550}.changelogMessage{max-width:42rem;margin:48px auto 0;display:grid;gap:10px;justify-items:start}.changelogMessage strong{font-size:16px;font-weight:600;text-wrap:balance}.changelogMessage p{margin:0;font-size:14px;line-height:1.5;color:var(--muted);max-width:65ch;text-wrap:pretty}.changelogSkeleton{max-width:42rem;margin:12px auto 0;display:grid;gap:14px}.changelogSkeletonLabel{width:72px;height:10px;border-radius:999px;background:var(--panel)}.changelogSkeletonRow{display:grid;grid-template-columns:16px minmax(0,1fr);gap:12px;align-items:center}.changelogSkeletonDot{width:8px;height:8px;border-radius:999px;background:var(--panel)}.changelogSkeletonLine{height:14px;border-radius:8px;background:var(--panel)}.changelogSkeletonLine-1{width:78%}.changelogSkeletonLine-2{width:64%}.changelogSkeletonLine-3{width:86%}@media (max-width: 720px){.changelogHeader{padding:12px;padding-top:max(12px,env(safe-area-inset-top))}.changelogHeader .btn{min-height:44px;height:44px}.changelogBody{padding:16px 12px 28px}}
