.tei-seating{display:flex;flex-direction:column;gap:16px;font-family:system-ui,sans-serif;padding:16px}.tei-seating-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tei-seating-header h2{margin:0;font-size:1.25rem}.tei-seating-badge{background:#22c55e;color:#fff;font-size:.7rem;padding:2px 8px;border-radius:999px}.tei-seating-body{display:flex;gap:16px;align-items:flex-start}.tei-tables-grid{flex:1;display:flex;flex-wrap:wrap;gap:16px;min-width:0}.tei-table-card{border:2px solid #e5e7eb;border-radius:12px;padding:12px;min-width:180px;background:#fff}.tei-table-card h3{margin:0 0 8px;font-size:.9rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.tei-seats-list{display:flex;flex-direction:column;gap:6px}.tei-seat{border:1.5px dashed #d1d5db;border-radius:8px;padding:8px 10px;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:6px;transition:background .15s,border-color .15s;cursor:default}.tei-seat.occupied{border-style:solid;border-color:#93c5fd;background:#eff6ff}.tei-seat.over{border-color:#3b82f6;background:#dbeafe}.tei-seat-num{font-size:.7rem;color:#9ca3af;min-width:18px}.tei-seat-empty{font-size:.8rem;color:#d1d5db;flex:1}.tei-guest-pill{display:flex;align-items:center;gap:6px;flex:1;cursor:grab;touch-action:none}.tei-guest-pill.dragging{opacity:.4}.tei-guest-name{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tei-guest-badges{display:flex;gap:2px;flex-shrink:0}.tei-allergen,.tei-rsvp{font-size:.75rem}.tei-unassign-btn{background:none;border:none;cursor:pointer;color:#9ca3af;font-size:.8rem;padding:2px 4px;border-radius:4px;flex-shrink:0}.tei-unassign-btn:hover{background:#fee2e2;color:#ef4444}.tei-sidebar{width:220px;flex-shrink:0;border:2px solid #e5e7eb;border-radius:12px;padding:12px;background:#fafafa}.tei-sidebar h3{margin:0 0 10px;font-size:.85rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.tei-unassigned-zone{display:flex;flex-direction:column;gap:6px;min-height:60px;border-radius:8px;padding:4px;transition:background .15s}.tei-unassigned-zone.over{background:#fef3c7}.tei-sidebar-guest{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;cursor:grab;touch-action:none;font-size:.85rem;font-weight:500}.tei-sidebar-guest.dragging{opacity:.4}.tei-sidebar-empty{font-size:.8rem;color:#9ca3af;padding:8px;text-align:center}.tei-controls{display:flex;gap:8px;flex-wrap:wrap}.tei-btn{padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-size:.85rem;font-weight:500}.tei-btn-primary{background:#3b82f6;color:#fff}.tei-btn-primary:hover{background:#2563eb}.tei-btn-ghost{background:#f3f4f6;color:#374151}.tei-btn-ghost:hover{background:#e5e7eb}.tei-loading{color:#6b7280;padding:32px;text-align:center}.tei-error{color:#ef4444;padding:16px;border:1px solid #fca5a5;border-radius:8px}.tei-drag-overlay{padding:8px 12px;background:#3b82f6;color:#fff;border-radius:8px;font-size:.85rem;font-weight:500;box-shadow:0 8px 16px #00000026;pointer-events:none}@media (max-width: 640px){.tei-seating-body{flex-direction:column}.tei-sidebar{width:100%}}@media print{.tei-controls,.tei-unassign-btn{display:none!important}.tei-sidebar{border:1px solid #000}.tei-table-card{border:1px solid #000;break-inside:avoid}.tei-seat{border:1px solid #999}.tei-seating-body{flex-wrap:wrap}.tei-sidebar{page-break-before:always}}:root{--navy: #1a2744;--navy2: #2d3f6b;--gold: #c9a84c;--gold-bg: #fdf6e3}.tei-seating-header h2{color:var(--navy)}.tei-seating-badge{background:var(--gold);color:var(--navy);font-weight:700}.tei-table-card{border-color:#e2e8f0}.tei-table-card h3{color:var(--navy)}.tei-seat.occupied{border-color:var(--gold);background:var(--gold-bg)}.tei-seat.over{border-color:var(--navy);background:#eef0f8}.tei-btn-primary{background:var(--navy)}.tei-btn-primary:hover{background:var(--navy2)}.tei-view-toggle{display:flex;gap:0;border:1.5px solid var(--navy);border-radius:8px;overflow:hidden}.tei-view-btn{padding:6px 14px;border:none;cursor:pointer;background:#fff;color:var(--navy);font-size:.8rem;font-weight:500;transition:all .15s}.tei-view-btn.active{background:var(--navy);color:#fff}.tei-visual{padding:4px 0}.tei-visual-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.tei-visual-stat{font-size:.82rem;color:#6b7280}.tei-shape-toggle{display:flex;gap:0;border:1.5px solid var(--navy);border-radius:8px;overflow:hidden}.tei-shape-btn{padding:6px 14px;border:none;cursor:pointer;background:#fff;color:var(--navy);font-size:.78rem;font-weight:500;transition:all .15s}.tei-shape-btn.active{background:var(--navy);color:#fff}.tei-visual-grid{display:flex;flex-wrap:wrap;gap:24px}.tei-visual-card{display:flex;flex-direction:column;align-items:center;gap:6px}.tei-visual-names{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;max-width:220px}.tei-vn{font-size:.7rem;padding:2px 8px;border-radius:99px}.tei-vn.confirmed{background:#dcfce7;color:#15803d}.tei-vn.pending{background:#fef3c7;color:#92400e}.tei-vn.declined{background:#fee2e2;color:#991b1b}.tei-vn-more{font-size:.7rem;color:#9ca3af}.tei-visual-key{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.tei-vk{font-size:.76rem;padding:3px 10px;border-radius:6px}.tei-vk.confirmed{background:#dcfce7;color:#15803d}.tei-vk.pending{background:#fef3c7;color:#92400e}.tei-vk.empty{background:#f8fafc;color:#94a3b8;border:1px dashed #cbd5e1}.tvs-table{fill:var(--navy);stroke:var(--gold);stroke-width:2.5}.tvs-label{fill:var(--gold);font-size:12px;font-weight:700;font-family:system-ui}.tvs-seat.confirmed{fill:#22c55e;stroke:#15803d;stroke-width:1.5}.tvs-seat.pending{fill:#f59e0b;stroke:#b45309;stroke-width:1.5}.tvs-seat.declined{fill:#f87171;stroke:#b91c1c;stroke-width:1.5}.tvs-seat.empty{fill:#f1f5f9;stroke:#cbd5e1;stroke-width:1.5;stroke-dasharray:5,3}.tvs-ini{fill:#fff;font-size:10px;font-weight:700;font-family:system-ui}@media (max-width: 640px){.tei-visual-bar{flex-direction:column;align-items:flex-start}}
