:root{--bg:#f5f6f8;--panel:#ffffff;--text:#1f2328;--muted:#667085;--border:rgba(0,0,0,.12);--accent:#1976d2;--danger:#d32f2f;--radius:14px;--shadow:0 10px 22px rgba(0,0,0,.08)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:var(--bg);color:var(--text)}.appRoot{display:flex;flex-direction:column;height:100%}.topBar{display:grid;grid-template-columns:280px 1fr 340px;gap:14px;align-items:center;padding:10px 14px;background:var(--panel);border-bottom:1px solid var(--border)}.brand{min-width:260px}.brandTitle{font-weight:700;letter-spacing:.2px}.brandSub{font-size:12px;color:var(--muted);margin-top:2px}.topActionsCenter{display:flex;gap:10px;align-items:center;justify-content:center}.topRight{display:flex;gap:12px;align-items:center;justify-content:flex-end}.stats{font-size:12px;color:var(--muted);white-space:nowrap}.statSep{margin:0 6px;color:#00000040}.selectTop{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:10px;padding:7px 10px;font-size:13px}.selectTop option{color:var(--text);background:#fff}.btn{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:8px 10px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 6px 14px #1976d240}.btn:hover{filter:brightness(.98)}.btn:active{transform:translateY(1px)}.btnGhost{background:#f1f4f9;color:var(--text);box-shadow:none;border:1px solid var(--border)}.btnGhost:hover{background:#edf1f7}.btnDanger{background:var(--danger);box-shadow:0 6px 14px #d32f2f40}.btnFit{padding-left:10px;padding-right:10px}.input,.textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:13px;outline:none;background:#fff;color:var(--text)}.input:focus,.textarea:focus{border-color:#1976d299;box-shadow:0 0 0 3px #1976d21f}.textarea{min-height:72px;resize:vertical}.colorPicker{width:52px;height:36px;padding:0;border:none;background:transparent;cursor:pointer}.mainGrid{flex:1;min-height:0;display:grid;grid-template-columns:330px 1fr 320px;gap:12px;padding:12px}.mainGrid.lc{grid-template-columns:52px 1fr 320px}.mainGrid.rc{grid-template-columns:330px 1fr 52px}.mainGrid.lc.rc{grid-template-columns:52px 1fr 52px}.leftPanel,.rightPanel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0}.leftPanel.collapsed,.rightPanel.collapsed{min-width:52px}.panelHeader{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 8px;border-bottom:1px solid var(--border)}.panelHeaderLeft{display:flex;align-items:center;gap:10px}.panelTitle{font-weight:700;font-size:13px}.panelBody{padding:10px;overflow:auto;min-height:0}.tabsBar{display:flex;gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff;margin-bottom:10px}.tabBtn{flex:1;border:none;background:#fff;color:var(--text);padding:9px 10px;font-size:13px;cursor:pointer}.tabBtn+.tabBtn{border-left:1px solid var(--border)}.tabBtn.active{background:#1976d21a;color:#0b4ea2;font-weight:700}.tabBody{min-height:0}.guestToolbar{margin-bottom:10px}.searchRow2{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.addRow{margin-top:10px;display:flex}.guestListHeader{font-weight:700;font-size:13px;margin:6px 0 8px}.guestList{display:flex;flex-direction:column;gap:10px}.guestItem{border:1px solid var(--border);border-radius:12px;padding:10px;background:#fff;display:flex;gap:10px;align-items:flex-start;cursor:grab}.guestItem.assigned{border-color:#1976d28c;background:#1976d20f}.guestMain{flex:1;min-width:0}.guestName{font-weight:700;font-size:13px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.guestNote{color:var(--muted);font-size:12px;margin-top:4px;word-break:break-word}.guestStatus{margin-top:6px;font-size:12px}.statusOk{color:#0b4ea2}.statusBad{color:var(--muted)}.guestActions{display:flex;flex-direction:column;gap:8px}.pill{font-size:11px;padding:2px 8px;border-radius:999px;background:#eef3fb;color:#0b4ea2;border:1px solid rgba(25,118,210,.22)}.empty{color:var(--muted);font-size:13px;padding:12px 6px}.decorList{display:flex;flex-direction:column;gap:10px}.decorRow{border:1px solid var(--border);border-radius:12px;background:#fff;padding:10px;cursor:grab;display:flex;align-items:center;gap:12px}.decorIcon{width:34px;height:34px;border:2px solid rgba(0,0,0,.18);background:#fff;flex:0 0 auto}.decorIcon.round{border-radius:999px}.decorIcon.square{border-radius:12px}.decorIcon.rect{border-radius:12px;width:52px}.decorIcon.chair{border-radius:8px;width:28px;height:28px}.decorIcon.stage{border-radius:12px;width:52px}.decorIcon.aisle{border-radius:12px;width:52px;height:22px}.decorName{font-weight:700;font-size:13px}.hintBlock{margin-top:10px;padding:10px;border:1px solid rgba(25,118,210,.22);background:#1976d20f;border-radius:12px;color:#0b4ea2;font-size:12px}.hintTitle{font-weight:700;margin-bottom:4px}.hintLine{margin:2px 0}.props .propTitle{font-weight:700;margin-bottom:8px}.fieldRow{margin-bottom:10px}.label{font-size:12px;color:var(--muted);margin-bottom:6px}.propsActions{margin-top:12px}.hint{margin-top:6px;font-size:12px;color:var(--muted)}.canvasWrap{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;position:relative;overflow:hidden;min-height:0}.canvasScroll{position:absolute;inset:0;overflow:auto;background:#fff}.canvasWorld{position:relative;background:linear-gradient(to right,rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.05) 1px,transparent 1px);background-size:28px 28px}.canvasOverlayBtns{position:absolute;right:22px;bottom:22px;z-index:30;display:flex;flex-direction:column;gap:10px;align-items:flex-end}.pillBtn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:999px;padding:8px 10px;font-size:12px;cursor:pointer;display:flex;gap:10px;align-items:center;box-shadow:0 8px 18px #0000001a}.pillBtn.on{border-color:#1976d28c;background:#1976d214}.pillState{font-size:11px;padding:2px 8px;border-radius:999px;background:#eef3fb;color:#0b4ea2;border:1px solid rgba(25,118,210,.22)}.zoomRow{display:flex;gap:10px}.btnSquare{width:40px;height:40px;padding:0}.node{position:absolute;border:2px solid rgba(0,0,0,.18);box-shadow:0 14px 26px #0000001f;cursor:grab;-webkit-user-select:none;user-select:none;display:grid;place-items:center}.nodeSelected{outline:3px solid rgba(25,118,210,.35);outline-offset:2px}.nodeLabelTop{position:absolute;top:-22px;left:50%;transform:translate(-50%);padding:2px 8px;font-size:12px;color:var(--text);white-space:nowrap}.nodeOccupancy{position:absolute;bottom:-22px;left:50%;transform:translate(-50%);background:#fff;border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:12px;color:var(--text)}.nodeCenter{width:100%;height:100%;display:grid;place-items:center;pointer-events:none}.nodeCenterText{font-weight:800;font-size:14px;color:#000000a6}.nodeChair{border-radius:8px}.nodeStage,.nodeAisle{border-radius:14px}.resizeHandle{position:absolute;width:12px;height:12px;background:#fff;border:2px solid var(--accent);border-radius:6px;box-shadow:0 6px 14px #0000001f}.rh-nw{left:-7px;top:-7px;cursor:nwse-resize}.rh-ne{right:-7px;top:-7px;cursor:nesw-resize}.rh-sw{left:-7px;bottom:-7px;cursor:nesw-resize}.rh-se{right:-7px;bottom:-7px;cursor:nwse-resize}.toastWrap{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:9999}.toast{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#111827;color:#fff;box-shadow:0 16px 34px #00000042;min-width:320px;max-width:720px}.toastMsg{flex:1;font-size:13px}.modalBackdrop{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;z-index:9999}.modal{width:min(720px,92vw);max-height:86vh;background:var(--panel);border-radius:16px;border:1px solid var(--border);box-shadow:0 24px 60px #00000047;display:flex;flex-direction:column;overflow:hidden}.modalHeader{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 10px;border-bottom:1px solid var(--border)}.modalTitle{font-weight:800}.modalBody{padding:12px;overflow:auto}.modalFooter{padding:12px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.guestDragChip{background:#fff;border:1px solid #d9d9d9;border-radius:10px;padding:8px 10px;box-shadow:0 6px 18px #0000001f;font-size:13px}.formGrid{display:flex;flex-direction:column;gap:10px}.radioRow{display:flex;gap:14px;align-items:center}.radioItem{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text)}.tableGuestList{display:flex;flex-direction:column;gap:10px}.tableGuestItem{border:1px solid var(--border);border-radius:12px;padding:10px;background:#fff}.tableGuestName{font-weight:700}.tableGuestNote{color:var(--muted);font-size:12px;margin-top:4px}.canvasScroll{cursor:grab}.canvasScroll:active{cursor:grabbing}.noCaret{caret-color:transparent;user-select:none;-webkit-user-select:none;cursor:default}.noCaretBlock,.noCaretBlock *{caret-color:transparent;user-select:none;-webkit-user-select:none}.noCaretBlock input,.noCaretBlock textarea,.noCaretBlock select,.noCaretBlock button{caret-color:auto;user-select:auto;-webkit-user-select:auto}.topBarMenu{display:flex;align-items:center;gap:12px}.topLeft{min-width:220px;display:flex;align-items:center}.topCenter{flex:1;display:flex;justify-content:center;min-width:0}.topRightMenu{min-width:220px;display:flex;justify-content:flex-end;align-items:center}.langRadios{display:flex;gap:10px;align-items:center;padding:6px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.langRadio{display:flex;align-items:center;gap:6px;font-size:13px}.menuBar{display:flex;align-items:center;gap:8px}.menuWrap{position:relative}.menuBtn{height:32px;padding:0 10px;border:1px solid var(--border);background:var(--panel);color:#111;border-radius:10px;cursor:pointer;font-weight:600}.menuDropdown{position:absolute;top:38px;left:6px;right:auto;min-width:220px;background:#fff!important;color:#111!important;border:1px solid var(--border)!important;border-radius:12px;box-shadow:var(--shadow);padding:6px;z-index:60}.menuItem{width:100%;text-align:left;border:none;background:transparent;color:#111!important;padding:8px 10px;border-radius:10px;cursor:pointer;font-size:13px}.menuItem:hover{background:#0000000f!important}.menuSep{height:1px;background:var(--border);margin:6px}.menuItemRow{position:relative}.menuItemHasSub{display:flex;align-items:center;justify-content:space-between}.menuArrow{opacity:.7}.menuSub{top:0;left:100%;right:auto;margin-left:6px;margin-right:0;pointer-events:auto}.lpRoot{background:#f5f6f7;color:#111;min-height:100vh}.lpTop{position:sticky;top:0;z-index:30;background:#f5f6f7e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between;padding:12px 18px}.lpBrand{display:flex;flex-direction:column;gap:2px}.lpLogo{font-weight:900;letter-spacing:.2px;font-size:18px}.lpTag{font-size:12px;opacity:.75}.lpNav{display:flex;align-items:center;gap:10px}.lpNavLink{font-size:13px;text-decoration:none;color:#111;opacity:.85;padding:6px 8px;border-radius:10px}.lpNavLink:hover{background:#0000000a;opacity:1}.lpHero{padding:28px 18px 12px}.lpHeroInner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:start}.lpH1{font-size:40px;line-height:1.06;margin:0 0 10px;letter-spacing:-.6px}.lpLead{margin:0 0 14px;font-size:15px;line-height:1.5;opacity:.85}.lpCtas{display:flex;gap:10px;align-items:center;margin-bottom:14px}.lpBtn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 12px;border-radius:12px;text-decoration:none;font-weight:700;font-size:13px;border:1px solid rgba(0,0,0,.1);cursor:pointer}.lpBtnPrimary{background:#1877f2;color:#fff;border-color:#0000}.lpBtnPrimary:hover{filter:brightness(.98)}.lpBtnGhost{background:#fff;color:#111}.lpBtnGhost:hover{background:#00000008}.lpBadges{display:flex;flex-wrap:wrap;gap:8px}.lpBadge{font-size:12px;padding:6px 10px;border-radius:999px;background:#1877f21a;color:#0b3b8f;border:1px solid rgba(24,119,242,.15)}.lpHeroRight{display:flex;flex-direction:column;gap:10px}.lpMock{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:16px;box-shadow:0 10px 26px #0000000f;overflow:hidden}.lpMockTop{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.06)}.lpDot{width:10px;height:10px;border-radius:50%}.lpDotRed{background:#ff5f57}.lpDotYellow{background:#febc2e}.lpDotGreen{background:#28c840}.lpMockTitle{margin-left:6px;font-weight:800;font-size:12px;opacity:.7}.lpMockBody{display:grid;grid-template-columns:150px 1fr 180px;gap:10px;padding:12px}.lpMockCol{display:flex;flex-direction:column;gap:10px}.lpMockCard{border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:10px;background:#f5f6f799}.lpMockCardTitle{font-weight:800;font-size:12px;margin-bottom:8px;opacity:.8}.lpMockLine{height:8px;background:#00000014;border-radius:999px;margin-bottom:8px}.lpMockLine.lpShort{width:60%}.lpMockCanvas{position:relative;border:1px dashed rgba(0,0,0,.18);border-radius:12px;background:#fff;min-height:220px}.lpMockTable{position:absolute;width:54px;height:54px;display:flex;align-items:center;justify-content:center;font-weight:900;color:#111;background:#1877f21f;border:1px solid rgba(24,119,242,.2)}.lpRound{border-radius:50%;left:18px;top:18px}.lpSquare{border-radius:12px;left:92px;top:28px}.lpMockRect{position:absolute;left:28px;top:90px;width:120px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;background:#1877f21a;border:1px solid rgba(24,119,242,.2)}.lpMockStage{position:absolute;right:12px;top:16px;width:110px;height:44px;border-radius:12px;background:#ffc10740;border:1px solid rgba(255,193,7,.35);display:flex;align-items:center;justify-content:center;font-weight:900}.lpMockAisle{position:absolute;right:12px;top:70px;width:110px;height:34px;border-radius:12px;background:#f4433624;border:1px solid rgba(244,67,54,.22);display:flex;align-items:center;justify-content:center;font-weight:900}.lpMockHint{position:absolute;left:12px;bottom:10px;font-size:12px;opacity:.65}.lpMockProps{display:flex;flex-direction:column;gap:10px}.lpMockField{height:34px;border-radius:10px;border:1px solid rgba(0,0,0,.1);background:#fff;margin-bottom:10px}.lpMockField.lpShort{width:70%}.lpNote{font-size:12px;opacity:.75;padding:0 4px}.lpSection{padding:28px 18px}.lpSectionSoft{background:#fff;border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06)}.lpContainer{max-width:1100px;margin:0 auto}.lpH2{margin:0 0 14px;font-size:22px;letter-spacing:-.2px}.lpGrid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lpCard{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:14px;box-shadow:0 8px 18px #0000000a}.lpCardTitle{font-weight:900;margin-bottom:6px}.lpCardText{font-size:13px;line-height:1.5;opacity:.82}.lpMt16{margin-top:16px}.lpSteps{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.lpStep{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:14px;display:flex;gap:12px}.lpStepNum{width:34px;height:34px;border-radius:12px;background:#1877f224;border:1px solid rgba(24,119,242,.18);display:flex;align-items:center;justify-content:center;font-weight:900;color:#0b3b8f;flex:0 0 auto}.lpStepTitle{font-weight:900;margin-bottom:4px}.lpStepText{font-size:13px;opacity:.82;line-height:1.5}.lpFinalCta{margin-top:18px;background:#1877f214;border:1px solid rgba(24,119,242,.14);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}.lpFinalTitle{font-weight:900;font-size:16px}.lpFinalText{font-size:13px;opacity:.82}.lpFooter{padding:18px;background:#f5f6f7;border-top:1px solid rgba(0,0,0,.06)}.lpFooterInner{display:flex;align-items:center;justify-content:space-between;gap:12px}.lpFooterBrand{font-weight:900}.lpFooterSmall{font-size:12px;opacity:.65}.lpFooterRight{display:flex;gap:10px}.lpFooterLink{font-size:13px;text-decoration:none;color:#111;opacity:.78;padding:6px 8px;border-radius:10px}.lpFooterLink:hover{background:#0000000a;opacity:1}.policyRoot{background:#f5f6f7;min-height:100vh}.policyTop{position:sticky;top:0;z-index:30;background:#f5f6f7e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between;padding:12px 18px}.policyBrand{display:flex;align-items:center;gap:8px}.policyBrandLink{font-weight:900;color:#111;text-decoration:none}.policySep{opacity:.5}.policyTitle{font-weight:800;opacity:.8}.policyNav{display:flex;gap:10px;align-items:center}.policyMain{padding:22px 18px 32px}.policyCard{max-width:900px;margin:0 auto;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:16px;box-shadow:0 10px 26px #0000000f;padding:18px}.policyH1{margin:0 0 6px;font-size:24px;letter-spacing:-.2px}.policyMeta{font-size:12px;opacity:.7;margin-bottom:14px}.policyH2{margin:16px 0 8px;font-size:15px}.policyP{margin:0 0 10px;font-size:13px;line-height:1.6;opacity:.9}.policyBottom{display:flex;gap:10px;margin-top:14px}@media(max-width:980px){.lpHeroInner,.lpMockBody,.lpGrid3,.lpSteps{grid-template-columns:1fr}.lpNav{flex-wrap:wrap;justify-content:flex-end}}
