body{margin:0}.design-selector{width:100%}.design-selector h3{color:#333;font-size:1.5rem;margin:0 0 8px}.design-selector-subtitle{color:#666;font-size:.9rem;margin:0 0 20px}.design-grid{grid-gap:20px;display:grid;gap:20px;grid-auto-flow:dense;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:20px}.design-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.design-card:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.design-card.selected{background:#f0f8ff;border-color:#007bff;box-shadow:0 4px 16px #007bff4d}.design-image-wrapper{background:#f5f5f5;height:280px;overflow:hidden;position:relative;width:100%}.design-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.design-card:hover .design-image{transform:scale(1.05)}.preview-overlay{align-items:center;background:#000000b3;bottom:0;color:#fff;cursor:zoom-in;display:flex;flex-direction:column;gap:8px;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.design-card:hover .preview-overlay{opacity:1}.preview-overlay svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.preview-overlay span{font-size:.9rem;font-weight:600;text-shadow:0 2px 4px #0000004d}.image-loader{align-items:center;background:#f5f5f5;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1}.spinner{animation:spin .8s linear infinite;border:4px solid #e0e0e0;height:40px;width:40px}.selected-badge{align-items:center;animation:scaleIn .3s ease;background:#007bff;border-radius:50%;box-shadow:0 2px 8px #007bff80;color:#fff;display:flex;height:36px;justify-content:center;position:absolute;right:10px;top:10px;width:36px}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.design-info{padding:15px}.design-name{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 8px}.design-description{color:#666;font-size:.85rem;line-height:1.4;margin:0 0 12px}.design-price{align-items:center;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding-top:12px}.price-label{color:#666;font-size:.9rem}.price-amount{color:#007bff;font-size:1.2rem;font-weight:700}.design-select-btn{align-items:center;background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;justify-content:center;margin-top:15px;padding:12px 20px;transition:all .2s ease;width:100%}.design-select-btn:hover{background:#0056b3;box-shadow:0 4px 12px #007bff4d;transform:translateY(-1px)}.design-select-btn:active{transform:translateY(0)}.design-select-btn.selected{background:#28a745;cursor:default}.design-select-btn.selected:hover{background:#28a745;box-shadow:0 2px 8px #28a7454d;transform:none}.no-designs{color:#666;padding:40px 20px;text-align:center}.no-designs p{font-size:1rem;margin:0}@media (min-width:769px){.design-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));max-width:100%}}@media (max-width:768px){.design-grid{gap:15px;grid-template-columns:1fr}.design-image-wrapper{height:220px}.design-select-btn{font-size:.9rem;padding:10px 16px}.design-selector h3{font-size:1.3rem}}@media (min-width:1200px){.design-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.image-preview-modal{align-items:center;animation:fadeIn .2s ease;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.preview-modal-content{animation:slideUp .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:12px;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;position:relative;width:100%}.preview-close-btn{align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .2s ease;width:40px;z-index:10}.preview-close-btn:hover{background:#000000e6;transform:scale(1.1)}.preview-image-container{align-items:center;background:#f8f9fa;display:flex;flex:1 1;justify-content:center;max-height:60vh;overflow:auto;padding:20px}.preview-image{border-radius:8px;box-shadow:0 4px 20px #0000001a;max-height:100%;max-width:100%;object-fit:contain}.preview-details{background:#fff;border-top:1px solid #e0e0e0;padding:25px 30px}.preview-details h3{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 8px}.preview-size{color:#666;font-size:1rem;font-weight:500;margin:0 0 12px}.preview-description{color:#555;font-size:.95rem;line-height:1.6;margin:0 0 15px}.preview-price{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:10px;margin-bottom:20px;padding:15px}.preview-price-label{color:#666;font-size:1rem}.preview-price-amount{color:#007bff;font-size:1.5rem;font-weight:700}.preview-select-btn{background:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 24px;transition:all .2s ease;width:100%}.preview-select-btn:hover{background:#0056b3;box-shadow:0 4px 12px #007bff4d;transform:translateY(-1px)}.preview-select-btn:active{transform:translateY(0)}@media (max-width:768px){.preview-modal-content{margin:10px;max-height:95vh}.preview-image-container{max-height:50vh;padding:15px}.preview-details{padding:20px}.preview-details h3,.preview-price-amount{font-size:1.3rem}.preview-overlay span{font-size:.8rem}.preview-overlay svg{height:24px;width:24px}}@media (min-width:768px){.preview-modal-content{flex-direction:row;max-height:85vh}.preview-image-container{flex:1.5 1;max-height:none}.preview-details{border-left:1px solid #e0e0e0;border-top:none;overflow-y:auto;width:400px}}.payment-modal-overlay{align-items:center;animation:fadeIn .2s ease-in;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.payment-modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000080;max-height:90vh;max-width:600px;overflow-y:auto;padding:30px;position:relative;width:90%}.payment-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .2s;width:32px}.payment-modal-close:hover{background-color:#f0f0f0;color:#333}.payment-modal-close:disabled{cursor:not-allowed;opacity:.3}.payment-modal-content h2{color:#333;font-size:24px;margin:0 0 20px}.payment-summary{background-color:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:15px}.summary-row{align-items:center;padding:8px 0}.summary-row:not(:last-child){border-bottom:1px solid #e0e0e0}.payment-loading{padding:40px 20px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:50px;margin:0 auto 20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.payment-loading p{color:#666;font-size:16px}.payment-error{background-color:#fff5f5;border:1px solid #fee;border-radius:8px;padding:30px 20px;text-align:center}.error-icon{font-size:48px;margin-bottom:15px}.payment-error p{color:#c33;font-size:16px;margin-bottom:20px}.btn-retry{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:10px 30px;transition:all .2s}.btn-retry:hover{background-color:#0056b3}.payment-form-container{min-height:400px;position:relative}#payment-target{min-height:400px;width:100%}@media (max-width:768px){.payment-modal-content{max-height:95vh;padding:20px;width:95%}.payment-modal-content h2{font-size:20px}#payment-target,.payment-form-container{min-height:350px}}.modal-overlay{align-items:center;animation:fadeIn .2s ease-in;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;padding:30px;position:relative;width:90%}.modal-content.booking-wizard{max-width:1100px}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .2s;width:32px}.modal-close:hover{background-color:#f0f0f0;color:#333}.modal-content h2{color:#333;font-size:24px;margin:0 0 20px}.booth-details{grid-gap:12px 20px;background-color:#f8f9fa;border-radius:8px;display:grid;gap:12px 20px;grid-template-columns:1fr 1fr;margin-bottom:20px;padding:15px}.detail-row{align-items:center;display:flex;justify-content:space-between;padding:0}.detail-row,.detail-row:last-child{border-bottom:none}.detail-row .label{color:#666;font-weight:600}.detail-row .value{align-items:center;color:#333;display:flex;gap:8px}.color-indicator{border:1px solid #ddd;border-radius:4px;display:inline-block;height:20px;width:20px}.status-available{color:#28a745;font-weight:600}.status-booked{color:#dc3545;font-weight:600}.status-reserved{color:#ffc107;font-weight:600}.booking-form h3{color:#333;font-size:18px;margin:0 0 20px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-group textarea{min-height:80px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;outline:none}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:14px;margin-bottom:15px;padding:12px}.form-actions{display:flex;gap:10px;margin-top:25px}.btn-cancel,.btn-submit{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:12px 20px;transition:all .2s}.btn-cancel{background-color:#f0f0f0;color:#333}.btn-cancel:hover{background-color:#e0e0e0}.btn-submit{background-color:#007bff;color:#fff}.btn-submit:hover{background-color:#0056b3}.btn-back:disabled,.btn-cancel:disabled,.btn-next:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.5}.btn-back:disabled:hover,.btn-cancel:disabled:hover,.btn-next:disabled:hover,.btn-submit:disabled:hover{background-color:initial}.booked-info{padding:20px;text-align:center}.booked-message{color:#666;font-size:16px;margin-bottom:10px}.booked-by{color:#333;font-weight:600}.step-indicator{justify-content:center;margin:30px 0 40px}.step,.step-indicator{align-items:center;display:flex;position:relative}.step{flex-direction:column;gap:8px;z-index:1}.step-number{align-items:center;background:#e0e0e0;border-radius:50%;color:#666;display:flex;font-size:18px;font-weight:700;height:40px;justify-content:center;transition:all .3s ease;width:40px}.step.active .step-number{background:#007bff;box-shadow:0 2px 8px #007bff4d;color:#fff}.step.completed .step-number{background:#28a745;color:#fff}.step-label{color:#666;font-size:13px;font-weight:500;white-space:nowrap}.step.active .step-label{color:#007bff;font-weight:600}.step-line{background:#e0e0e0;height:2px;margin:0 20px;position:relative;top:-12px;width:100px}.step-content{animation:fadeInContent .3s ease}@keyframes fadeInContent{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.selected-design-summary{background:linear-gradient(135deg,#007bff,#0056b3);border-radius:10px;box-shadow:0 4px 12px #007bff33;margin-top:25px;padding:20px}.summary-content{align-items:center;color:#fff;display:flex;gap:15px;justify-content:space-between}.summary-label{font-size:14px;opacity:.9}.summary-value{flex:1 1;font-size:18px;font-weight:700}.summary-price{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:8px;font-size:24px;font-weight:700;padding:8px 16px}.design-summary-small{align-items:center;background:#f8f9fa;border:2px solid #007bff;border-radius:8px;display:flex;gap:15px;margin-bottom:25px;padding:15px}.summary-thumbnail{border:2px solid #007bff;border-radius:6px;height:80px;object-fit:cover;width:80px}.summary-details{display:flex;flex:1 1;flex-direction:column;gap:5px}.summary-details strong{color:#333;font-size:16px}.summary-details .summary-price{background:#0000;color:#007bff;font-size:20px;font-weight:700;padding:0}.btn-back,.btn-next{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:12px 20px;transition:all .2s}.btn-next{background-color:#007bff;color:#fff}.btn-next:hover:not(:disabled){background-color:#0056b3;transform:translateX(2px)}.btn-next:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.btn-back{background-color:#f0f0f0;color:#333}.btn-back:hover{background-color:#e0e0e0;transform:translateX(-2px)}@media (max-width:768px){.modal-content.booking-wizard{max-width:95%;padding:20px}.step-indicator{margin:20px 0 30px}.step-line{margin:0 10px;width:60px}.step-label{font-size:11px}.summary-content{align-items:flex-start;flex-direction:column;gap:10px}.summary-price{align-self:flex-end;font-size:20px}.design-summary-small{flex-direction:column;text-align:center}.summary-thumbnail{height:150px;width:100%}}.payment-deadline-notice{align-items:flex-start;animation:slideInNotice .4s ease-out;background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:2px solid #f39c12;border-left:5px solid #e67e22;border-radius:10px;box-shadow:0 3px 10px #f39c1226;display:flex;gap:15px;margin:25px 0;padding:20px}@keyframes slideInNotice{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notice-icon{animation:pulse 2s ease-in-out infinite;flex-shrink:0;font-size:28px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notice-content{flex:1 1}.notice-content strong{color:#d35400;display:block;font-size:16px;margin-bottom:8px}.notice-content p{color:#7d5a2b;font-size:14px;line-height:1.5;margin:0}.notice-content p strong{color:#c0392b;display:inline;font-size:14px;text-decoration:underline}@media (max-width:768px){.payment-deadline-notice{flex-direction:column;gap:10px;padding:15px}.notice-icon{font-size:24px}.notice-content strong{font-size:14px}.notice-content p{font-size:13px}}.modal-content.multi-booth{max-width:1100px}.booth-accordion{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;max-height:700px;overflow-y:auto}.accordion-item{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:all .2s}.accordion-item.expanded{border-color:#007bff;box-shadow:0 2px 8px #007bff26}.accordion-header{align-items:center;background:#f9fafb;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:background .2s}.accordion-header:hover{background:#f3f4f6}.accordion-item.expanded .accordion-header{background:#eff6ff;border-bottom:1px solid #e5e7eb}.accordion-booth-info{align-items:center;display:flex;gap:10px}.category-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.booth-name{color:#1f2937;font-weight:600}.booth-size-tag{background:#e5e7eb;border-radius:4px;color:#6b7280;font-size:12px;padding:2px 8px}.accordion-status{align-items:center;display:flex;gap:12px}.design-selected{color:#059669;font-size:13px;font-weight:500}.design-pending{color:#9ca3af;font-size:13px}.accordion-arrow{color:#9ca3af;font-size:12px;transition:transform .2s}.accordion-body{animation:accordionOpen .2s ease-out;background:#fff;padding:16px}@keyframes accordionOpen{0%{max-height:0;opacity:0}to{max-height:1200px;opacity:1}}.selection-summary{background:#f9fafb;border-radius:10px;margin-bottom:20px;padding:16px 20px}.summary-row{color:#6b7280;display:flex;font-size:14px;justify-content:space-between;padding:6px 0}.summary-row strong{color:#1f2937}.summary-row.total{border-top:1px solid #e5e7eb;font-size:16px;margin-top:8px;padding-top:12px}.summary-row.total strong{color:#059669;font-size:18px}.order-review h3{color:#1f2937;margin:0 0 20px}.review-booths{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.review-booth-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.review-booth-header{align-items:center;display:flex;gap:10px}.review-booth-design{align-items:center;display:flex;gap:12px}.design-name{color:#6b7280;font-size:13px}.design-price{color:#059669;font-weight:600}.review-customer{background:#f9fafb;border-radius:10px;margin-bottom:20px;padding:16px 20px}.review-customer h4{color:#6b7280;font-size:12px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.review-customer p{color:#1f2937;font-size:14px;margin:4px 0}.review-total{align-items:center;background:linear-gradient(135deg,#059669,#047857);border-radius:10px;color:#fff;display:flex;justify-content:space-between;margin-bottom:20px;padding:16px 20px}.review-total span{font-size:14px;opacity:.9}.review-total strong{font-size:24px}@media (max-width:768px){.modal-content.multi-booth{max-width:95%}.accordion-header{align-items:flex-start;flex-direction:column;gap:8px}.accordion-status{justify-content:space-between;width:100%}.review-booth-item{align-items:flex-start;flex-direction:column;gap:8px}.review-booth-design{justify-content:space-between;width:100%}}.legend-container{background:#fff;box-shadow:-2px 0 4px #0000001a;overflow-y:auto;padding:20px;width:280px;z-index:5}.legend-container h3{border-bottom:2px solid #007bff;color:#333;font-size:18px;margin:0 0 8px;padding-bottom:8px}.legend-hint{color:#666;font-size:12px;font-style:italic;margin:0 0 15px}.legend-container h4{color:#333;font-size:16px;margin:20px 0 10px}.legend-items{display:flex;flex-direction:column;gap:12px}.legend-item{align-items:center;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:8px;transition:background-color .2s}.legend-item:hover{background-color:#f8f9fa;border-color:#007bff}.legend-item.selected{background-color:#e7f3ff;border-color:#007bff;box-shadow:0 2px 6px #007bff4d}.legend-color{border:1px solid #ddd;border-radius:6px;flex-shrink:0;height:32px;width:32px}.legend-info{flex:1 1}.legend-name{color:#333;font-size:14px;font-weight:500;margin-bottom:2px}.legend-size{color:#666;font-size:12px}.legend-status{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:15px}.status-item{align-items:center;color:#333;display:flex;font-size:14px;gap:10px;margin:8px 0}.status-dot{border:2px solid;border-radius:50%;height:16px;width:16px}.status-dot.available{background-color:#28a745;border-color:#28a745}.status-dot.booked{background-color:#8b4789;border-color:#8b4789}.status-dot.reserved{background-color:#ffc107;border-color:#ffc107}.legend-help{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:15px}.legend-help p{color:#333;font-size:14px;margin:0 0 10px}.legend-help ul{color:#666;font-size:13px;margin:0;padding-left:20px}.legend-help li{margin:5px 0}@media (max-width:768px){.legend-container{bottom:0;box-shadow:0 -2px 4px #0000001a;max-height:200px;position:absolute;width:100%}}.booth-list-container{background:#fff;box-shadow:2px 0 4px #0000001a;display:flex;flex-direction:column;overflow-y:auto;padding:20px;width:300px}.booth-list-container h3{border-bottom:2px solid #007bff;color:#333;font-size:18px;margin:0 0 15px;padding-bottom:8px}.booth-list-stats{background-color:#f8f9fa;border-radius:6px;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px;padding:10px}.stat{color:#666;font-size:12px}.stat strong{color:#333;font-size:16px}.stat.available strong{color:#28a745}.stat.booked strong{color:#8b4789}.booth-list{flex:1 1;gap:10px;overflow-y:auto}.booth-list-item{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:12px;transition:all .2s}.booth-list-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff33;transform:translateX(3px)}.booth-list-item.selected{background-color:#e7f3ff;border-color:#007bff;box-shadow:0 2px 8px #007bff4d}.booth-list-item.booked{background-color:#fff5f5}.booth-list-item.reserved{background-color:#fffbf0}.booth-header{align-items:center;justify-content:space-between;margin-bottom:8px}.booth-number{align-items:center;color:#333;display:flex;font-size:16px;font-weight:600;gap:8px}.category-indicator{border:1px solid #ddd;border-radius:50%;display:inline-block;height:12px;width:12px}.booth-status{font-size:18px}.booth-info{color:#666;display:flex;flex-direction:column;font-size:13px;gap:4px}.booth-size{color:#555;font-weight:500}.booth-location{color:#888;font-size:12px}.booth-booked-info{border-top:1px solid #e0e0e0;color:#666;font-size:12px;margin-top:8px;padding-top:8px}@media (max-width:1024px){.booth-list-container{width:250px}}@media (max-width:768px){.booth-list-container{display:none}}.selection-badge{animation:badgeSlideIn .4s ease-out;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;bottom:24px;box-shadow:0 8px 32px #0000004d,0 0 0 1px #ffffff1a;cursor:pointer;min-width:200px;padding:16px 20px;pointer-events:auto;position:fixed;right:24px;transition:transform .3s ease,box-shadow .3s ease;z-index:10000}@keyframes badgeSlideIn{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.selection-badge:hover{box-shadow:0 12px 40px #0006,0 0 0 1px #fff3;transform:translateY(-4px)}.badge-content{gap:12px}.badge-content,.badge-icon{align-items:center;display:flex}.badge-icon{background:linear-gradient(135deg,#007bff,#0056b3);border-radius:12px;height:48px;justify-content:center;width:48px}.booth-count{color:#fff;font-size:20px;font-weight:700}.badge-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.badge-label{color:#fff;font-size:14px;font-weight:600}.badge-price{color:#4ade80;font-size:16px;font-weight:700}.badge-arrow{color:#fff9;font-size:24px;font-weight:300}.badge-booths{border-top:1px solid #ffffff1a;display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px}.booth-chip{border-radius:6px;color:#fff;font-size:12px;font-weight:600;padding:4px 10px}.booth-chip.more{background-color:#fff3}@media (max-width:480px){.selection-badge{bottom:16px;left:16px;min-width:auto;right:16px}}.selection-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1001}.selection-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:500px;width:100%}.selection-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.selection-modal-header h2{color:#1f2937;font-size:20px;font-weight:600;margin:0}.close-btn{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:28px;line-height:1;padding:0;transition:color .2s}.close-btn:hover{color:#4b5563}.selection-modal-body{flex:1 1;overflow-y:auto;padding:16px 24px}.empty-selection{color:#6b7280;padding:40px 20px;text-align:center}.empty-selection p{margin:0 0 8px}.empty-selection .hint{color:#9ca3af;font-size:14px}.booth-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.booth-item{align-items:center;background:#f9fafb;border-radius:12px;display:flex;gap:12px;padding:12px;transition:background .2s}.booth-item:hover{background:#f3f4f6}.booth-color{border-radius:4px;flex-shrink:0;height:100%;min-height:48px;width:8px}.booth-details{flex:1 1}.booth-header{align-items:baseline;display:flex;gap:8px;margin-bottom:4px}.booth-id{color:#1f2937;font-size:16px;font-weight:600}.booth-size{background:#e5e7eb;border-radius:4px;color:#6b7280;font-size:14px;padding:2px 8px}.booth-meta{color:#9ca3af;display:flex;font-size:13px;gap:12px}.booth-price{color:#059669;font-weight:600;margin-top:4px}.remove-btn{background:none;border:none;color:#d1d5db;cursor:pointer;flex-shrink:0;font-size:24px;line-height:1;padding:4px 8px;transition:color .2s}.remove-btn:hover{color:#ef4444}.selection-modal-footer{align-items:center;background:#f9fafb;border-radius:0 0 16px 16px;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 24px}.footer-left{flex-shrink:0}.clear-btn{background:none;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;padding:10px 16px;transition:all .2s}.clear-btn:hover{border-color:#ef4444;color:#ef4444}.footer-right{align-items:center;display:flex;gap:16px}.total-price{text-align:right}.total-label{color:#9ca3af;display:block;font-size:12px}.total-amount{color:#059669;font-size:18px;font-weight:700}.proceed-btn{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.proceed-btn:hover{box-shadow:0 4px 12px #007bff66;transform:translateY(-2px)}@media (max-width:480px){.selection-modal{max-height:90vh}.selection-modal-footer{flex-direction:column;gap:12px}.footer-left,.footer-right{width:100%}.footer-right{align-items:stretch;flex-direction:column}.total-price{text-align:center}.clear-btn,.proceed-btn{width:100%}}.minimap-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:12px;bottom:20px;box-shadow:0 4px 12px #00000026;padding:12px;position:absolute;right:20px;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);z-index:100}.minimap-container:hover{box-shadow:0 6px 16px #0003;transform:scale(1.05)}.minimap-title{color:#666;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.minimap{background:#f8f8f8;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;overflow:hidden;position:relative}.minimap-background{background:linear-gradient(135deg,#fafafa,#f0f0f0);height:100%;position:relative;width:100%}.minimap-grid{background-image:repeating-linear-gradient(0deg,#0000,#0000 19px,#e5e5e5 0,#e5e5e5 20px),repeating-linear-gradient(90deg,#0000,#0000 19px,#e5e5e5 0,#e5e5e5 20px);height:100%;opacity:.4;width:100%}.minimap-viewport{background:#007bff26;border:2px solid #007bff;box-shadow:0 0 8px #007bff4d;pointer-events:none;position:absolute;transition:all .1s ease-out}.minimap-zoom-indicator{background:#000000b3;border-radius:4px;color:#fff;font-size:9px;font-weight:600;padding:2px 6px;pointer-events:none;position:absolute;right:4px;top:4px}@media (max-width:768px){.minimap-container{bottom:10px;padding:8px;right:10px}.minimap{height:100px!important;width:100px!important}.minimap-title{font-size:9px}}@keyframes minimapSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.minimap-container{animation:minimapSlideIn .4s cubic-bezier(.4,0,.2,1)}.booth-tooltip{animation:tooltipFadeIn .2s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border:1px solid #00000014;border-radius:10px;box-shadow:0 8px 24px #0003;min-width:220px;padding:12px 16px;pointer-events:none;position:fixed;z-index:10000}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.booth-tooltip-header{align-items:center;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:8px}.booth-tooltip-number{color:#333;font-size:16px;font-weight:700}.booth-tooltip-status{border-radius:12px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.booth-tooltip-body{margin-bottom:8px}.booth-tooltip-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.booth-tooltip-label{color:#666;font-size:13px;font-weight:500}.booth-tooltip-value{color:#333;font-size:13px;font-weight:600}.booth-tooltip-description{border-top:1px solid #f0f0f0;color:#555;font-size:12px;line-height:1.4;margin-top:8px;max-width:250px;padding-top:8px}.booth-tooltip-hint{background:#007bff14;border-radius:6px;color:#007bff;font-size:11px;font-weight:600;margin-top:8px;padding:6px 8px;text-align:center}@media (max-width:768px){.booth-tooltip{min-width:180px;padding:10px 12px}.booth-tooltip-number{font-size:14px}.booth-tooltip-row{font-size:12px}}.quick-info-panel{animation:slideInRight .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border:1px solid #00000014;border-radius:12px;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;max-height:500px;position:fixed;right:20px;top:100px;width:280px;z-index:90}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.quick-info-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:2px solid #e5e5e5;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:14px 16px}.quick-info-title{align-items:center;color:#333;display:flex;font-size:15px;font-weight:700;gap:8px}.quick-info-icon{font-size:18px}.quick-info-clear{align-items:center;background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:20px;height:28px;justify-content:center;padding:0;transition:all .2s;width:28px}.quick-info-clear:hover{background:#dc35451a;color:#dc3545;transform:scale(1.1)}.quick-info-list{flex:1 1;max-height:350px;overflow-y:auto;padding:12px}.quick-info-list::-webkit-scrollbar{width:6px}.quick-info-list::-webkit-scrollbar-track{background:#f0f0f0;border-radius:10px}.quick-info-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px}.quick-info-list::-webkit-scrollbar-thumb:hover{background:#999}.quick-info-item{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;margin-bottom:8px;padding:10px 12px;transition:all .2s}.quick-info-item:hover{background:#fff;box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.quick-info-item:last-child{margin-bottom:0}.quick-info-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.quick-info-booth-number{color:#007bff;font-size:15px;font-weight:700}.quick-info-remove{align-items:center;background:#0000;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;font-size:16px;height:22px;justify-content:center;padding:0;transition:all .2s;width:22px}.quick-info-remove:hover{background:#dc35451a;color:#dc3545}.quick-info-item-details{display:flex;flex-direction:column;gap:4px}.quick-info-detail{align-items:center;display:flex;font-size:12px;justify-content:space-between}.quick-info-label{color:#666;font-weight:500}.quick-info-value{color:#333;font-weight:600}.quick-info-footer{background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:0 0 12px 12px;border-top:2px solid #e5e5e5;padding:14px 16px}.quick-info-total{align-items:center;display:flex;justify-content:space-between}.quick-info-total-label{color:#333;font-size:15px;font-weight:700}.quick-info-total-value{color:#28a745;font-size:18px;font-weight:800}@media (max-width:768px){.quick-info-panel{max-height:400px;right:10px;top:80px;width:240px}.quick-info-list{max-height:280px}}@media (min-width:769px){.quick-info-panel{margin-bottom:200px}}.floor-plan-container{background-color:#f5f5f5;display:flex;flex-direction:column;height:100vh;overflow:hidden;overscroll-behavior:none;position:relative;touch-action:none;width:100vw}.controls{align-items:center;background:#fff;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:15px 30px;z-index:10}.controls h1{color:#333;font-size:24px;margin:0}.control-buttons{align-items:center;display:flex;gap:10px}.control-buttons button{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .25s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1)}.control-buttons button:active{transform:scale(.98)}.control-buttons button:hover{background-color:#0056b3}.control-buttons .btn-highlight{animation:pulseGlow 2s ease-in-out infinite;background-color:#28a745}.control-buttons .btn-highlight:hover{background-color:#218838}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 0 #28a74566}50%{box-shadow:0 0 0 6px #28a74500}}.zoom-level{color:#666;font-size:14px}.keyboard-hint,.zoom-level{background-color:#f0f0f0;border-radius:6px;padding:8px 12px}.keyboard-hint{cursor:help;font-size:16px;transition:background-color .2s}.keyboard-hint:hover{background-color:#e0e0e0}.main-content{display:flex}.main-content,.svg-container{flex:1 1;overflow:hidden;position:relative}.svg-container{background-color:#fff;touch-action:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.map-zoom-controls{display:flex;flex-direction:column;gap:2px;position:absolute;right:16px;top:16px;z-index:100}.map-zoom-btn{align-items:center;background:#fff;border:1px solid #00000026;border-radius:6px;box-shadow:0 2px 6px #00000026;color:#333;cursor:pointer;display:flex;font-size:22px;height:36px;justify-content:center;line-height:1;transition:background-color .15s,box-shadow .15s;-webkit-user-select:none;user-select:none;width:36px}.map-zoom-btn:hover{background-color:#f0f4ff;box-shadow:0 3px 10px #0003}.map-zoom-btn:active{background-color:#e0e8ff;transform:scale(.96)}.svg-wrapper{align-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;height:100%;justify-content:center;transform:translateZ(0);transform-origin:center;width:100%;will-change:transform}.svg-wrapper.smooth-transition{transition:transform .3s cubic-bezier(.4,0,.2,1)}.floor-plan-svg{display:block;height:auto;max-width:none;pointer-events:auto;transform:translateZ(0);-webkit-transform:translateZ(0);width:100%;will-change:transform}.booth-highlight{stroke:#007bff;stroke-width:2;filter:brightness(1.2)}.loading{color:#666;font-size:18px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}@media (max-width:768px){.controls{flex-direction:column;gap:15px;padding:15px}.controls h1{font-size:18px}.control-buttons{flex-wrap:wrap;justify-content:center}.control-buttons button{font-size:12px;padding:6px 12px}}.notification-toast{animation:slideDown .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;left:50%;max-width:500px;min-width:320px;overflow:hidden;position:fixed;top:80px;transform:translateX(-50%);z-index:10000}.notification-toast.info{border-left:4px solid #28a745}.notification-toast.error{border-left:4px solid #dc3545}.notification-content{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:16px 20px}.notification-message{color:#333;flex:1 1;font-size:15px;font-weight:500;line-height:1.4}.notification-close{align-items:center;background:none;border:none;border-radius:6px;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.notification-close:hover{background:#f0f0f0;color:#333}.notification-close:active{transform:scale(.95)}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{height:100vh;overflow:hidden;width:100vw}
/*# sourceMappingURL=main.c7d88cc9.css.map*/