.app{background:#f5f7fa;min-height:100vh}.loading{color:#666;font-size:18px;height:100vh;justify-content:center}.header,.loading{align-items:center;display:flex}.header{background:#fff;border-bottom:1px solid #e0e0e0;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 24px}.header-left{align-items:center;display:flex;gap:16px}.header h1{color:#333;font-size:24px;margin:0}.project-name{color:#666;font-size:14px}.header-right{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.btn{background:#4a90d9;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s}.btn:hover{background:#3a7bc8}.btn-secondary{background:#6c757d}.btn-secondary:hover{background:#5a6268}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-undo{background:#ffc107;color:#333}.btn-undo:hover{background:#e0a800}.btn-redo{background:#17a2b8}.btn-redo:hover{background:#138496}.btn-reset{background:#dc3545}.btn-reset:hover{background:#c82333}.share-link{align-items:center;display:flex;font-size:13px;gap:8px}.share-link input{background:#f9f9f9;border:1px solid #ddd;border-radius:4px;font-size:12px;padding:6px 10px;width:200px}.view-only-badge{background:#28a745;border-radius:4px;color:#fff;font-size:13px;padding:6px 12px}.filter-panel{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:12px;padding:12px 24px}.filter-panel input[type=text]{width:200px}.filter-panel input[type=text],.filter-panel select{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:8px 12px}.filter-panel select{background:#fff}.main{display:flex;gap:24px;min-height:calc(100vh - 140px);padding:24px}.guest-sidebar{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;flex-shrink:0;padding:16px;width:280px}.guest-sidebar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.guest-sidebar h2{color:#333;font-size:16px;margin:0}.select-all-bar{border-bottom:1px solid #eee;margin-bottom:12px;padding-bottom:8px}.select-all-label{align-items:center;color:#666;cursor:pointer;display:flex;font-size:13px;gap:8px}.select-all-label input{height:16px;width:16px}.selection-bar{align-items:center;background:#e7f3ff;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:12px;padding:8px 12px}.selection-bar span{color:#4a90d9;font-size:13px;font-weight:500}.clear-selection-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:4px 8px}.clear-selection-btn:hover{background:#c82333}.guest-list{display:flex;flex-direction:column;gap:8px}.guest-card{align-items:flex-start;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;cursor:grab;display:flex;font-size:14px;gap:10px;padding:10px 12px;position:relative;transition:all .2s}.guest-card:hover{background:#e9ecef;border-color:#4a90d9}.guest-card.dragging{opacity:.8;transform:rotate(3deg)}.guest-card.selected{background:#e3f2fd;border-color:#4a90d9}.guest-checkbox{flex-shrink:0;padding-top:2px}.guest-checkbox input{cursor:pointer;height:16px;width:16px}.guest-content{flex:1 1;min-width:0}.guest-card .guest-info{color:#666;font-size:12px;margin-top:4px}.guest-card .guest-actions{display:flex;justify-content:flex-end;margin-top:6px}.guest-card .delete-btn{background:none;border:none;color:#dc3545;cursor:pointer;font-size:12px;padding:2px 6px}.guest-card .delete-btn:hover{text-decoration:underline}.guest-card-tooltip{background:#333;border-radius:6px;box-shadow:0 4px 12px #0003;color:#fff;display:none;font-size:12px;left:100%;min-width:150px;padding:10px;position:absolute;top:0;z-index:100}.guest-card:hover .guest-card-tooltip{display:block}.guest-card-tooltip .tooltip-name{border-bottom:1px solid #555;font-weight:600;margin-bottom:6px;padding-bottom:4px}.guest-card-tooltip .tooltip-field{margin:3px 0}.table-floor{align-content:flex-start;display:flex;flex:1 1;flex-wrap:wrap;gap:20px}.add-table-section{min-height:180px;width:220px}.add-table-options{display:flex;flex-direction:column;gap:8px}.add-table-options .btn{text-align:center;width:100%}.bulk-add-form{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;display:flex;flex-direction:column;gap:12px;height:100%;padding:16px}.bulk-add-row{align-items:center;display:flex;gap:8px}.bulk-add-row label{color:#666;font-size:13px;min-width:80px}.bulk-add-row input{border:1px solid #ddd;border-radius:4px;padding:6px;width:80px}.bulk-add-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}.bulk-add-actions .btn,.bulk-add-actions .btn-secondary{width:100%}.table-drag-handle{align-items:center;background:#e8e8e8;border-radius:12px 12px 0 0;color:#999;cursor:grab;display:flex;font-size:14px;height:24px;justify-content:center;letter-spacing:2px;margin-bottom:4px;width:100%}.table-drag-handle:hover{background:#ddd}.table-drag-handle:active{cursor:grabbing}.table-sortable-wrapper{display:inline-block;vertical-align:top;width:220px}.table-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;display:flex;flex-direction:column;min-height:180px;padding:16px;width:220px}.table-card.drop-hover{border:2px dashed #4a90d9}.table-card-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:8px}.table-name,.table-name-input{font-size:15px;font-weight:600}.table-name-input{background:#0000;border:none;width:120px}.table-card-header .seat-count{background:#f0f0f0;border-radius:10px;color:#888;font-size:12px;padding:2px 8px}.table-card-header .remove-btn{background:none;border:none;color:#999;cursor:pointer;font-size:18px}.table-card-header .remove-btn:hover{color:#dc3545}.seats-edit{margin-bottom:8px}.seats-label{color:#666;cursor:pointer;font-size:12px}.seats-label:hover{color:#4a90d9}.seats-input{border:1px solid #ddd;border-radius:4px;font-size:12px;padding:4px;width:60px}.overflow-toggle{margin-bottom:8px}.overflow-label{align-items:center;color:#666;cursor:pointer;display:flex;font-size:12px;gap:6px}.overflow-label input{height:14px;width:14px}.overflow-status{border-radius:4px;font-size:11px;padding:2px 6px}.overflow-status.allowed{background:#d4edda;color:#155724}.overflow-status.blocked{background:#f8d7da;color:#721c24}.table-card.over-capacity{border:2px solid #dc3545}.seat-count.seat-full{background:#dc3545;color:#fff}.remark-section{margin-bottom:8px}.remark-input{placeholder-color:#999;border:1px solid #ddd;width:100%}.remark-input,.remark-text{border-radius:4px;font-size:12px;padding:6px}.remark-text{background:#f5f5f5;color:#666;min-height:28px}.table-guests{background:#fafafa;border-radius:8px;display:flex;flex:1 1;flex-direction:column;gap:6px;min-height:60px;padding:8px}.table-guests .empty{color:#aaa;font-size:13px;padding:20px;text-align:center}.table-guests .guest-item-wrapper{position:relative}.table-guests .guest-item-wrapper:hover .guest-item-tooltip{display:block}.table-guests .guest-item-wrapper.dragging{opacity:.5}.table-guests .guest-item{align-items:center;background:#fff;border-radius:4px;box-shadow:0 1px 3px #0000000f;display:flex;font-size:13px;justify-content:space-between;padding:6px 10px}.table-guests .guest-drag-handle{cursor:grab;flex:1 1}.table-guests .guest-drag-handle:active{cursor:grabbing}.theater-floor .guest-item-wrapper{height:100%;position:relative}.theater-floor .guest-item,.theater-floor .guest-item-wrapper{align-items:center;display:flex;gap:2px;justify-content:flex-start;width:100%}.theater-floor .guest-drag-handle-icon{align-items:center;color:#666;cursor:grab;display:flex;flex-shrink:0;font-size:14px;font-weight:700;line-height:1;margin-right:4px;padding:2px 6px}.theater-floor .guest-drag-handle-icon:active{color:#333;cursor:grabbing}.theater-floor .guest-item-name{color:#333;flex:1 1;font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theater-floor .guest-item-wrapper.dragging{opacity:.5}.theater-floor .guest-item-wrapper:hover .guest-item-tooltip{display:block}.theater-floor .guest-item-tooltip{word-wrap:break-word;background:#333;border-radius:4px;bottom:auto;box-shadow:0 4px 12px #0000004d;color:#fff;display:none;font-size:10px;left:50%;margin-top:6px;max-width:150px;min-width:100px;padding:8px 10px;pointer-events:none;position:absolute;top:100%;transform:translateX(-50%);white-space:normal;z-index:1000}.theater-floor .guest-remove-btn{align-items:center;background:#dc3545;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:10px;height:16px;justify-content:center;line-height:1;position:absolute;right:-6px;top:-6px;width:16px}.table-guests .guest-remove-btn{background:none;border:none;color:#999;cursor:pointer;font-size:14px;margin-left:8px;padding:2px 6px}.table-guests .guest-remove-btn:hover{color:#dc3545}.guest-item-tooltip{background:#333;border-radius:6px;box-shadow:0 4px 12px #0003;color:#fff;display:none;font-size:12px;left:100%;margin-left:8px;min-width:150px;padding:10px;position:absolute;top:0;z-index:100}.guest-item-tooltip .tooltip-name{border-bottom:1px solid #555;font-weight:600;margin-bottom:6px;padding-bottom:4px}.guest-item-tooltip .tooltip-field{margin:3px 0}.pool-card{background:#fff;border:2px dashed #ffc107;border-radius:12px;box-shadow:0 2px 12px #00000014;min-height:180px;padding:16px;width:220px}.pool-card.drop-hover{background:#f0f7ff;border-color:#4a90d9}.pool-header{border-bottom:1px solid #eee;margin-bottom:12px;padding-bottom:8px}.pool-header h3{color:#333;font-size:15px;margin:0}.pool-hint{color:#888;font-size:12px}.pool-drop-zone{min-height:100px}.modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal{background:#fff;border-radius:12px;max-height:80vh;max-width:500px;overflow-y:auto;padding:24px;width:90%}.modal h2{font-size:20px;margin:0 0 16px}.modal .close-btn{background:none;border:none;color:#999;cursor:pointer;float:right;font-size:24px;line-height:1}.modal .form-group{margin-bottom:16px}.modal label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}.modal input,.modal select,.modal textarea{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px;width:100%}.modal textarea{min-height:100px;resize:vertical}.modal .actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.rule-builder{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px;padding:12px}.rule-builder .rule-row{display:flex;gap:8px;margin-bottom:8px}.rule-builder .rule-row input,.rule-builder .rule-row select{border:1px solid #ddd;border-radius:4px;flex:1 1;padding:8px}.rule-builder .add-rule{background:none;border:none;color:#4a90d9;cursor:pointer;font-size:13px}.rule-builder .remove-rule{background:none;border:none;color:#dc3545;cursor:pointer;margin-left:8px}.stats{background:#f8f9fa;border-radius:8px;display:flex;gap:20px;margin-bottom:16px;padding:16px}.stats .stat{text-align:center}.stats .stat-value{color:#333;font-size:24px;font-weight:600}.stats .stat-label{color:#666;font-size:12px}.mode-selection{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:40px}.mode-selection-header{color:#fff;margin-bottom:40px;text-align:center}.mode-selection-header h1{font-size:36px;margin-bottom:8px}.mode-selection-header p{font-size:18px;opacity:.9}.mode-cards{display:flex;flex-wrap:wrap;gap:30px;justify-content:center}.mode-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;cursor:pointer;padding:40px 30px;text-align:center;transition:all .3s;width:300px}.mode-card:hover{box-shadow:0 15px 50px #0000004d;transform:translateY(-8px)}.mode-card.loading{cursor:wait;opacity:.6}.mode-icon{font-size:60px;margin-bottom:20px}.mode-card h2{color:#333;font-size:24px;margin-bottom:12px}.mode-card p{color:#666;margin-bottom:16px}.mode-card ul{color:#666;font-size:14px;padding-left:20px;text-align:left}.mode-card li{margin:6px 0}.new-project-form{max-width:800px;width:100%}.new-project-form .form-group{margin-bottom:24px}.new-project-form label{color:#fff;display:block;font-size:16px;font-weight:500;margin-bottom:8px}.new-project-form input{border:none;border-radius:8px;font-size:16px;padding:14px;width:100%}.btn-back{background:#fff3;color:#fff;margin-top:20px}.header-center{align-items:center;display:flex}.view-toggle{background:#f0f0f0;border-radius:8px;display:flex;padding:4px}.view-btn{background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:14px;padding:8px 16px}.view-btn.active{background:#fff;box-shadow:0 2px 4px #0000001a;color:#333;font-weight:500}.btn-lock.locked{background:#dc3545}.btn-lock.locked:hover{background:#c82333}.data-table-view{padding:0;width:100%}.data-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow-x:auto;width:100%}.data-table{border-collapse:collapse;font-size:14px;width:100%}.data-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;cursor:pointer;font-weight:600;padding:12px;text-align:left}.data-table th:hover{background:#e9ecef}.sortable-header{white-space:nowrap}.sort-indicator{color:#4a90d9;font-size:12px}.data-table td{border-bottom:1px solid #eee;padding:12px}.editable-cell{cursor:pointer}.editable-cell:hover{background:#f8f9fa}.locked-cell{color:#999;cursor:not-allowed}.clickable-cell{cursor:pointer}.clickable-cell:hover{background:#f0f7ff}.cell-input{border:1px solid #4a90d9;border-radius:4px;font-size:14px;padding:6px;width:100%}.empty-row{color:#999;padding:40px;text-align:center}.data-table .delete-btn{background:none;border:none;cursor:pointer;font-size:16px;opacity:.6}.data-table .delete-btn:hover{opacity:1}.data-table .delete-btn:disabled{cursor:not-allowed;opacity:.3}.theater-floor{display:flex;flex-direction:column;gap:20px;width:100%}.theater-row-wrapper{display:inline-block;vertical-align:top}.theater-drag-handle{align-items:center;background:#e8e8e8;border-radius:12px 12px 0 0;color:#999;cursor:grab;display:flex;font-size:14px;height:24px;justify-content:center;letter-spacing:2px;margin-bottom:4px;width:100%}.theater-drag-handle:hover{background:#ddd}.theater-drag-handle:active{cursor:grabbing}.theater-row{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;min-width:600px;padding:16px}.theater-row.drop-hover{border:2px dashed #4a90d9}.row-header{align-items:center;border-bottom:1px solid #eee;display:flex;gap:12px;margin-bottom:12px;padding-bottom:8px}.row-name,.row-name-input{font-size:18px;font-weight:600}.row-name-input{background:#0000;border:none;width:150px}.row-config{align-items:center;color:#666;display:flex;font-size:13px;gap:12px;margin-bottom:12px}.row-config label{font-weight:500}.prefix-input{border:1px solid #ddd;border-radius:4px;font-size:13px;padding:4px;width:50px}.prefix-display{font-weight:600}.row-seats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.seat-box{align-items:center;background:#fafafa;border:2px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;height:60px;justify-content:center;position:relative;width:80px}.seat-box.drop-hover{background:#f0f7ff;border-color:#4a90d9}.seat-box.occupied{background:#fff;border-color:#4a90d9}.seat-number{color:#999;font-size:11px;font-weight:600;left:6px;position:absolute;top:4px}.seat-guest-wrapper{align-items:center;cursor:default;display:flex;height:100%;justify-content:center;position:relative;width:100%}.seat-guest-name{color:#333;font-size:11px;font-weight:500;max-width:70px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.seat-guest-wrapper:hover .seat-guest-tooltip{display:block}.seat-guest-tooltip{word-wrap:break-word;background:#333;border-radius:6px;bottom:auto;box-shadow:0 4px 12px #0003;color:#fff;display:none;font-size:11px;left:50%;margin-top:6px;max-width:180px;min-width:120px;padding:8px 10px;pointer-events:none;position:absolute;top:100%;transform:translateX(-50%);white-space:normal;z-index:1000}.seat-guest-tooltip .tooltip-name{border-bottom:1px solid #555;font-weight:600;margin-bottom:4px;padding-bottom:4px}.seat-guest-tooltip .tooltip-field{margin:2px 0}.seat-guest-remove{background:none;border:none;color:#999;cursor:pointer;font-size:12px;opacity:0;position:absolute;right:2px;top:2px}.seat-guest-wrapper:hover .seat-guest-remove{opacity:1}.seat-guest-remove:hover{color:#dc3545}.seat-empty{color:#ccc;font-size:11px}.add-row-section{display:inline-block;min-width:600px}.add-row-options{display:flex;flex-direction:column;gap:8px}.add-row-options .btn{text-align:center;width:100%}
/*# sourceMappingURL=main.e819f8ee.css.map*/