.editor-root{--bg:#faf7f2;--panel:#fff;--ink:#3d3a35;--muted:#8a857c;--accent:#a3775a;--accent-soft:#f0e4da;--line:#e6dfd5;--danger:#c0564f;--table-fill:#fdfbf8;--table-line:#c9b8a8;background:var(--bg);color:var(--ink);flex-direction:column;height:100dvh;font-family:Georgia,Times New Roman,serif;display:flex;overflow:hidden}.editor-root header{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.editor-root header h1{margin:0 16px 0 0;font-size:18px;font-style:italic;font-weight:400}.editor-root .btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:6px;padding:7px 12px;font-family:inherit;font-size:13px}.editor-root .btn:hover{background:var(--accent-soft);border-color:var(--table-line)}.editor-root .btn:disabled{opacity:.4;cursor:default;pointer-events:none}.editor-root .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.editor-root .btn.primary:hover{background:#8f6549}.editor-root .btn.danger{color:var(--danger)}.editor-root .toolbar-sep{background:var(--line);width:1px;height:24px;margin:0 4px}.editor-root .toolbar-label{color:var(--muted);margin-right:2px;font-size:12px}.editor-root .spacer{flex:1}.editor-root main{flex:1;min-height:0;display:flex}.editor-root aside{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:250px;min-height:0;display:flex}.editor-root aside h2{text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:14px 14px 8px;font-size:13px;font-weight:400}.editor-root .guest-add{gap:6px;padding:0 14px 10px;display:flex}.editor-root .guest-add input{flex:1;min-width:0}.editor-root select,.editor-root input[type=text],.editor-root input[type=search],.editor-root input[type=email]{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;padding:7px 9px;font-family:inherit;font-size:13px}.editor-root input:focus,.editor-root textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--table-line)}.editor-root .guest-search{padding:0 14px 8px}.editor-root .guest-search input{width:100%}.editor-root .guest-count{color:var(--muted);padding:0 14px 8px;font-size:12px}.editor-root .guest-list{flex-direction:column;flex:1;align-content:flex-start;gap:5px;padding:4px 14px 14px;display:flex;overflow-y:auto}.editor-root .guest-list.drag-over{background:var(--accent-soft)}.editor-root .sidebar-hint{color:var(--muted);padding:8px 2px;font-size:12px;font-style:italic}.editor-root .party-label{text-transform:uppercase;letter-spacing:1px;color:var(--muted);border-bottom:1px solid var(--line);margin:7px 0 0;padding-bottom:1px;font-size:10px}.editor-root .party-label:first-child{margin-top:0}.editor-root .chip{background:var(--accent-soft);border:1px solid var(--table-line);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:6px;max-width:100%;padding:4px 8px;font-size:13px;display:inline-flex}.editor-root .chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-root .chip:active{cursor:grabbing}.editor-root .chip .x{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-shrink:0;padding:0;font-size:13px;line-height:1}.editor-root .chip .x:hover{color:var(--danger)}.editor-root .canvas-wrap{cursor:grab;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);touch-action:none;background-size:40px 40px;flex:1;position:relative;overflow:hidden}.editor-root .canvas-wrap.panning{cursor:grabbing}.editor-root .canvas{transform-origin:0 0;width:0;height:0;position:absolute;top:0;left:0;overflow:visible}.editor-root .view-bar{background:var(--panel);border:1px solid var(--line);-webkit-user-select:none;user-select:none;border-radius:24px;align-items:center;gap:3px;padding:5px 8px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #3d3a352e}.editor-root .view-bar .btn{border:none;border-radius:16px;padding:6px 11px;font-size:14px;line-height:1}.editor-root .view-bar .toolbar-sep{height:18px}.editor-root .zoom-label{color:var(--muted);text-align:center;min-width:44px;font-size:12px}.editor-root .empty-hint{color:var(--muted);pointer-events:none;text-align:center;font-size:15px;font-style:italic;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.editor-root .twrap{pointer-events:none;position:absolute}.editor-root .twrap .shape{pointer-events:auto;background:var(--table-fill);border:2px solid var(--table-line);cursor:move;touch-action:none;flex-direction:column;justify-content:center;align-items:center;padding:10px;display:flex;position:absolute;box-shadow:0 2px 8px #3d3a3514}.editor-root .twrap.shape-circle .shape,.editor-root .twrap.shape-oval .shape{border-radius:50%}.editor-root .twrap.shape-square .shape,.editor-root .twrap.shape-rect .shape{border-radius:12px}.editor-root .twrap.drag-over .shape{border-color:var(--accent);background:var(--accent-soft)}.editor-root .shape .tname{text-align:center;cursor:text;border-radius:4px;outline:none;min-width:40px;max-width:100%;padding:1px 6px;font-size:14px;font-weight:700}.editor-root .shape .tname:focus{box-shadow:0 0 0 1px var(--table-line);background:#fff}.editor-root .shape .tmeta{color:var(--muted);margin-top:2px;font-size:11px}.editor-root .shape .tdel{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:2px;font-size:15px;display:none;position:absolute;top:6px;right:10px}.editor-root .twrap.shape-circle .shape .tdel,.editor-root .twrap.shape-oval .shape .tdel{top:12px;right:20px}.editor-root .shape:hover .tdel{display:block}.editor-root .shape .tdel:hover{color:var(--danger)}.editor-root .seat{pointer-events:auto;border:1.5px solid var(--table-line);text-align:center;cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;padding:3px;font-size:9px;line-height:1.15;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 4px #3d3a351a}.editor-root .seat:active{cursor:grabbing}.editor-root .seat span{-webkit-line-clamp:3;overflow-wrap:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.editor-root .seat .x{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0;font-size:11px;line-height:1;display:none;position:absolute;top:-1px;right:2px}.editor-root .seat:hover .x{display:block}.editor-root .seat .x:hover{color:var(--danger)}.editor-root dialog{border:1px solid var(--line);width:420px;max-width:90vw;color:var(--ink);border-radius:10px;margin:auto;padding:20px;font-family:inherit;box-shadow:0 10px 40px #3d3a3533}.editor-root dialog::backdrop{background:#3d3a3559}.editor-root dialog h2{margin:0 0 4px;font-size:17px;font-weight:400}.editor-root dialog p{color:var(--muted);margin:0 0 12px;font-size:13px}.editor-root dialog textarea{resize:vertical;border:1px solid var(--line);background:var(--bg);width:100%;height:180px;color:var(--ink);border-radius:6px;padding:8px;font-family:inherit;font-size:13px}.editor-root .dialog-row{align-items:center;gap:8px;margin-top:12px;display:flex}.editor-root .dialog-row .spacer{flex:1}.editor-root .file-input,.editor-root .print-area{display:none}@media print{@page{size:landscape;margin:12mm}.editor-root header,.editor-root aside,.editor-root .empty-hint,.editor-root .view-bar{display:none!important}.editor-root{background:#fff;height:auto;overflow:visible}.editor-root main{display:block}.editor-root .canvas-wrap{overflow:visible;background-image:none!important}.editor-root .twrap .shape,.editor-root .seat{box-shadow:none}.editor-root .shape .tdel,.editor-root .seat .x{display:none!important}.editor-root .print-area{break-before:page;display:block}.editor-root .print-area h2{border-bottom:1px solid #999;padding-bottom:6px;font-size:18px;font-weight:400}.editor-root .print-tables{columns:3;column-gap:24px}.editor-root .print-table{break-inside:avoid;margin-bottom:16px}.editor-root .print-table h3{margin:0 0 4px;font-size:14px}.editor-root .print-table ol{margin:0;padding-left:22px;font-size:12px}.editor-root .print-table li{padding:1px 0}.editor-root .print-unseated{margin-top:12px;font-size:12px}}
