.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.login-card{background:white;border-radius:12px;padding:2rem;box-shadow:0 20px 40px #0000001a;width:100%;max-width:400px}.login-title{text-align:center;color:#333;margin-bottom:2rem;font-size:1.8rem;font-weight:600}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:1rem;border:1px solid #fcc;font-size:.9rem}.login-form{margin-bottom:2rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .3s ease;background-color:#fff;color:#222}.form-group input:focus{outline:none;border-color:#667eea}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group input:-webkit-autofill,.form-group input:-webkit-autofill:hover,.form-group input:-webkit-autofill:focus{-webkit-text-fill-color:#222222;box-shadow:0 0 0 1000px #fff inset;transition:background-color 9999s ease-out 0s}@media (prefers-color-scheme: dark){.login-card .form-group input{background-color:#fff;color:#222}}.btn{width:100%;padding:.75rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;margin-bottom:1rem}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.btn-google{background-color:#fff;border:2px solid #e0e0e0;color:#333;margin-bottom:.75rem}.btn-google:hover:not(:disabled){background-color:#f8f9fa;border-color:#dadce0}.btn-anonymous{background-color:#6c757d;color:#fff;margin-bottom:1rem}.btn-anonymous:hover:not(:disabled){background-color:#5a6268;transform:translateY(-2px)}.divider{text-align:center;margin:1.5rem 0;position:relative}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background-color:#e0e0e0}.divider span{background-color:#fff;padding:0 1rem;color:#666;font-size:.9rem}.social-buttons{margin-bottom:1.5rem}.google-icon,.anonymous-icon{font-size:1.2rem}.toggle-mode{text-align:center}.toggle-mode p{color:#666;font-size:.9rem;margin:0}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-weight:600;text-decoration:underline;font-size:.9rem}.link-button:hover:not(:disabled){color:#764ba2}.link-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 480px){.login-container{padding:10px}.login-card{padding:1.5rem}.login-title{font-size:1.5rem}}.home-container{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:2rem}.home-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;max-width:1200px;margin-left:auto;margin-right:auto}.header-actions{display:flex;align-items:center;gap:1rem}.connection-status{padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600}.connection-status.offline{background-color:#e74c3ce6;color:#fff;border:1px solid rgba(231,76,60,.3)}.home-header h1{color:#fff;font-size:2.5rem;font-weight:700;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.1)}.logout-btn{background-color:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logout-btn:hover{background-color:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.user-card{background:white;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 20px 40px #0000001a;display:block;max-width:1200px;margin-left:auto;margin-right:auto}.user-avatar{display:flex;align-items:center;justify-content:center;width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;font-size:2rem;flex-shrink:0}.profile-image{width:100%;height:100%;border-radius:50%;object-fit:cover}.user-icon{font-size:3rem}.user-details h2{color:#333;font-size:1.8rem;margin:0 0 1rem;font-weight:600}.user-info{display:flex;flex-direction:column;gap:.5rem}.info-item{color:#666;font-size:.95rem}.info-item strong{color:#333;font-weight:600;min-width:120px;display:inline-block}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 18px;margin-bottom:12px}.summary-item{background:#fafafa;border:1px solid #eee;border-radius:10px;padding:12px 14px}.summary-label{font-size:.8rem;color:#666;margin-bottom:4px}.summary-value{font-size:1rem;color:#2c3e50;word-break:break-word}.summary-strong{font-weight:700}.summary-footer{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:4px;margin-bottom:10px}.summary-note{margin-top:4px;padding-top:8px;color:#555;font-size:.95rem}.welcome-content{background:white;border-radius:16px;padding:2rem;box-shadow:0 20px 40px #0000001a;max-width:1200px;margin-left:auto;margin-right:auto}.welcome-content h3{color:#333;font-size:1.6rem;margin-bottom:1rem;text-align:center}.welcome-content p{color:#666;font-size:1.1rem;line-height:1.6;text-align:center;margin-bottom:2rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.feature-card{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border-radius:12px;padding:1.5rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001a}.feature-card.interactive{text-decoration:none;color:inherit;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;cursor:pointer;position:relative;overflow:hidden}.feature-card.interactive:hover{transform:translateY(-8px);box-shadow:0 15px 35px #667eea4d}.feature-card.interactive .feature-icon{font-size:3rem}.feature-card.interactive h4{color:#fff;font-size:1.3rem}.feature-card.interactive p{color:#ffffffe6;margin-bottom:1rem}.card-action{margin-top:auto;font-weight:600;color:#4ecdc4}.layouts-section{margin-top:2rem;padding:2rem;background:white;border-radius:20px;box-shadow:0 10px 30px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.section-header h3{color:#333;margin:0;font-size:1.5rem}.section-actions{display:flex;gap:.75rem;align-items:center}.refresh-btn{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.refresh-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #f39c1266}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.new-layout-btn{background:linear-gradient(135deg,#4ECDC4,#45B7D1);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #4ecdc44d}.new-layout-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.new-layout-form{background:#f8f9fa;padding:1.5rem;border-radius:10px;margin-bottom:2rem;border:2px dashed #4ECDC4}.layout-name-input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;margin-bottom:1rem}.form-actions{display:flex;gap:1rem}.create-btn{background:#27ae60;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.create-btn:hover{background:#229954;transform:translateY(-1px)}.cancel-btn{background:#95a5a6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn:hover{background:#7f8c8d}.layouts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.no-layouts{grid-column:1 / -1;display:flex;justify-content:center;align-items:center;min-height:200px}.empty-state{text-align:center;color:#666}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state h4{color:#333;margin-bottom:.5rem}.empty-state p{margin-bottom:1.5rem}.start-btn{background:linear-gradient(135deg,#4ECDC4,#45B7D1);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease}.start-btn:hover{transform:translateY(-2px)}.layout-card{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.layout-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.layout-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.layout-title{color:#333;margin:0;font-size:1.2rem;flex:1}.layout-status-badge{color:#fff;padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:600;margin-left:1rem}.layout-info{margin-bottom:1.5rem}.layout-details{display:flex;gap:1rem;color:#666;font-size:.9rem}.layout-actions{display:flex;gap:.75rem}.open-btn{background:#3498db;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1}.open-btn:hover{background:#2980b9;transform:translateY(-1px)}.delete-btn{background:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.duplicate-btn{background:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.duplicate-btn:hover{background:#5a6268;transform:translateY(-1px)}.feature-card.interactive:hover .card-action{background:rgba(255,255,255,.3);transform:translate(5px)}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.feature-card h4{color:#333;font-size:1.2rem;margin-bottom:.75rem;font-weight:600}.feature-card p{color:#666;font-size:.95rem;line-height:1.5;margin:0}.admin-actions{display:flex;flex-wrap:wrap;gap:10px}.events-table{width:100%;border-collapse:collapse}.events-table th,.events-table td{color:#213547;padding:8px;border-top:1px solid #eee;text-align:left}.events-table thead th{border-top:none}.register-btn{background:#3498db;color:#fff;border:none;padding:6px 10px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem;text-decoration:none;display:inline-block}.register-btn:hover{background:#2980b9;transform:translateY(-1px)}.register-btn:disabled,.register-btn[aria-disabled=true]{background:#bdc3c7;cursor:not-allowed}@media (max-width: 768px){.home-container{padding:1rem}.home-header{flex-direction:column;gap:1rem;text-align:center}.home-header h1{font-size:2rem}.user-card{text-align:left;padding:1.5rem}.user-avatar{width:80px;height:80px}.user-icon{font-size:2rem}.user-details h2{font-size:1.4rem}.info-item{text-align:left}.welcome-content{padding:1.5rem}.feature-grid{grid-template-columns:1fr;gap:1rem}}.loading-state,.error-state{text-align:center;padding:3rem 2rem;background:white;border-radius:15px;box-shadow:0 5px 15px #0000001a;grid-column:1 / -1}.loading-spinner{font-size:2rem;margin-bottom:1rem;animation:spin 2s linear infinite}.loading-state p{color:#666;font-size:1.1rem;margin:0}.error-icon{font-size:2rem;margin-bottom:1rem}.error-state h4{color:#e74c3c;margin:0 0 .5rem;font-size:1.3rem}.error-state p{color:#666;margin:0 0 1.5rem}.retry-btn{background:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-btn:hover{background:#2980b9;transform:translateY(-1px)}@media (max-width: 480px){.home-header h1{font-size:1.5rem}.user-card,.welcome-content{padding:1rem}.welcome-content h3{font-size:1.3rem}.welcome-content p{font-size:1rem}}.vendor-application{--va-border: #e1e5ea;--va-bg-soft: #f8fafc}.event-info-card{margin-bottom:16px;background:linear-gradient(135deg,#ffffff,#f3f7fb);border:1px solid var(--va-border);box-shadow:0 2px 4px #0000000a}.event-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.event-title{font-size:26px;font-weight:700;letter-spacing:.6px;line-height:1.2;color:#0f172a}.event-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:4px}.event-detail .label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;color:#4a5568;letter-spacing:.7px;margin-bottom:2px}.event-detail .value{font-size:14px;font-weight:500;color:#1a202c}.pricing-card{margin-bottom:18px;border:1px solid var(--va-border);background:#fff;box-shadow:0 2px 4px #00000008;position:relative}.card-title{font-weight:700;font-size:17px;margin-bottom:6px;color:#0f172a}.card-subtitle{font-size:12px;color:#555;margin-bottom:10px}.table-scroll{overflow-x:auto}.pricing-table,.booth-table{width:80%;border-collapse:separate;border-spacing:0;min-width:520px}.embedded-pricing{border-top:1px solid #e5e9ee;padding-top:10px}.pricing-header-row{display:flex;justify-content:center;align-items:baseline;gap:28px;flex-wrap:wrap;margin-bottom:4px;text-align:center}.pricing-title{font-size:14px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#0f172a}.pricing-note{font-size:11px;color:#556270}.compact-pricing th,.compact-pricing td{padding:3px 8px!important;font-size:12px}.pricing-table th,.pricing-table td{padding:4px 10px;text-align:left;border-bottom:1px solid #ebedf0;font-size:13px;font-weight:700}.booth-table th,.booth-table td{padding:10px 14px;text-align:left;border-bottom:1px solid #ebedf0}.pricing-table thead th,.booth-table thead th{background:#f1f5f9;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:#334155}.pricing-table tbody tr:nth-child(2n),.booth-table tbody tr:nth-child(2n){background:var(--va-bg-soft)}.pricing-table tbody tr:hover,.booth-table tbody tr:hover{background:#eef4fa}.booth-table select.profile-input{min-width:180px}.booth-table td:last-child{text-align:right}.actions-row{display:flex;justify-content:center;gap:32px;align-items:center;margin:16px 0 6px;flex-wrap:wrap}.flex-spacer{flex:1}.total-est .label{font-weight:600;margin-right:4px;color:#1e293b;text-transform:uppercase;font-size:11px;letter-spacing:.8px}.total-est .value{font-weight:600;font-size:15px;color:#0f172a}.how-it-works{margin-bottom:18px;background:#ffffff;border:1px solid var(--va-border);box-shadow:0 2px 4px #00000008}.how-it-works .how-text{font-size:14px;line-height:1.5;color:#1f2937}.status-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-weight:700;font-size:13.5px;line-height:1.2;border:1px solid transparent}.status-pending{background:#fff7e6;color:#b07100;border-color:#f3cf96}.status-approved{background:#e7fff1;color:#137333;border-color:#a7e3c0}.status-rejected{background:#ffeaea;color:#b71c1c;border-color:#f3b1b1}@media (max-width: 640px){.event-details-grid{grid-template-columns:1fr}.booth-table,.pricing-table{min-width:480px}}.profile-container{max-width:720px;margin:20px auto;padding:20px;background:#ffffff;border-radius:8px;box-shadow:0 2px 10px #00000014;color:#213547;text-align:left}.profile-container.profile-wide-container,.profile-container.vendor-admin-container{max-width:1280px}.profile-table.compact th,.profile-table.compact td{padding:4px 6px!important;font-size:12px}.profile-table.compact thead th{background:#f5f7fa}.profile-title{margin-top:0;margin-bottom:12px;color:#1f2d3d}.section-title{margin:16px 0 8px;color:#1f2d3d}.business-section{margin-bottom:16px}.profile-header-row{display:flex;align-items:center;margin-bottom:8px}.back-btn{background:#f0f0f0;color:#333;border:1px solid #d0d7de;border-radius:6px;padding:8px 12px;font-size:14px;cursor:pointer}.back-btn:hover{background:#e6e6e6}.profile-error{background:#fdecea;color:#b71c1c;padding:8px 12px;border-radius:6px;margin-bottom:12px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-label{display:block;font-weight:600;margin-bottom:4px;color:#333}.profile-input{width:100%;padding:10px 12px;border:1px solid #d0d7de;border-radius:6px;font-size:14px;background:#ffffff;color:#213547}.profile-input:focus{outline:none;border-color:#4ecdc4;box-shadow:0 0 0 2px #4ecdc433}.profile-actions{margin-top:16px;display:flex;gap:12px}.cancel-btn{background:#6c757d;color:#fff;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn:disabled{opacity:.7;cursor:not-allowed}.profile-meta{margin-top:16px;font-size:12px;color:#666}.profile-hint{margin-top:6px;font-size:12px;color:#666}@media (max-width: 600px){.profile-grid{grid-template-columns:1fr}}.phone-row{display:grid;grid-template-columns:200px 1fr;gap:8px}.phone-country{padding-right:28px}.phone-number{min-width:0}.icon-actions{display:inline-flex;align-items:center;gap:6px}.icon-btn{background:transparent;border:none;padding:2px;margin:0;cursor:pointer;font-size:16px;line-height:1;color:#2c3e50}.icon-btn:hover{opacity:.85;transform:translateY(-1px)}.icon-btn.delete{color:#c0392b}.icon-btn.duplicate{color:#34495e}.icon-btn.edit{color:#2c3e50}.icon-btn[data-tooltip]{position:relative}.icon-btn[data-tooltip]:hover:after,.icon-btn[data-tooltip]:focus:after{content:attr(data-tooltip);position:absolute;top:-34px;left:50%;transform:translate(-50%);background:rgba(33,37,41,.95);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:20;box-shadow:0 2px 6px #0003}.icon-btn[data-tooltip]:hover:before,.icon-btn[data-tooltip]:focus:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#212529f2}.booth-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;z-index:4000;display:flex;justify-content:center;align-items:center;padding:20px}.booth-picker-modal{background:white;border-radius:12px;width:95%;max-width:1200px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column}.booth-picker-header{padding:20px 24px;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.booth-picker-header h3{margin:0;font-size:18px}.picker-controls{display:flex;align-items:center;gap:20px}.filter-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.filter-checkbox input{margin:0}.selection-count{background:rgba(255,255,255,.2);padding:4px 12px;border-radius:20px;font-size:13px;font-weight:500}.booth-picker-content{flex:1;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:20px}.booth-grid-container{flex:1;overflow:auto;border:2px solid #e9ecef;border-radius:8px}.booth-picker-grid{display:inline-block;min-width:100%}.grid-header{display:flex;background:#f8f9fa;border-bottom:2px solid #dee2e6;position:sticky;top:0;z-index:10}.grid-row{display:flex}.grid-row:nth-child(2n){background:#f8f9fa}.row-header,.col-header{min-width:40px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;color:#495057;border-right:1px solid #dee2e6;background:#f8f9fa}.row-header{position:sticky;left:0;z-index:5;border-bottom:1px solid #dee2e6}.empty-cell{min-width:40px;width:40px;height:40px;border-right:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0}.booth-cell{min-width:40px;width:40px;height:40px;border:1px solid #dee2e6;background:white;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;transition:all .2s;overflow:hidden}.booth-cell:hover:not(:disabled){background:#e3f2fd;border-color:#2196f3;transform:scale(1.1);z-index:2;box-shadow:0 2px 8px #00000026}.booth-cell.selected{background:#4caf50;color:#fff;border-color:#388e3c;font-weight:600}.booth-cell.unavailable{background:#f5f5f5;color:#9e9e9e;cursor:not-allowed;opacity:.6}.booth-cell.corner{border:2px solid #ff9800;background:#fff3e0}.booth-cell.corner.selected{background:#4caf50;border-color:#ff9800}.booth-number{font-size:9px;line-height:1}.selection-mark{position:absolute;top:1px;right:1px;font-size:8px;background:rgba(255,255,255,.9);color:#4caf50;border-radius:50%;width:12px;height:12px;display:flex;align-items:center;justify-content:center}.corner-mark{position:absolute;bottom:1px;left:1px;font-size:6px}.selected-booths-summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px;max-height:150px;overflow:auto}.selected-booths-summary h4{margin:0 0 12px;font-size:14px;color:#495057}.selected-booths-list{display:flex;flex-wrap:wrap;gap:6px}.selected-booth-tag{background:#007bff;color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px}.remove-booth{background:none;border:none;color:#fff;cursor:pointer;font-size:14px;padding:0;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.remove-booth:hover{background:rgba(255,255,255,.2)}.booth-picker-actions{padding:16px 24px;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:12px}.cancel-btn,.apply-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn{background:#6c757d;color:#fff}.cancel-btn:hover{background:#5a6268}.apply-btn{background:#28a745;color:#fff}.apply-btn:hover{background:#218838}@media (max-width: 768px){.booth-picker-modal{width:98%;max-height:95vh}.booth-picker-header{flex-direction:column;gap:12px;align-items:stretch}.picker-controls{justify-content:space-between}.booth-cell,.row-header,.col-header,.empty-cell{min-width:32px;width:32px;height:32px}.booth-number{font-size:8px}}.rules-admin-panel{padding:2rem;max-width:1200px;margin:0 auto;background:#f8f9fa;border-radius:12px;box-shadow:0 4px 20px #0000001a;color:#343a40}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e9ecef}.admin-header h2{margin:0;color:#495057;font-size:24px}.admin-actions{display:flex;gap:1rem}.export-btn,.import-btn,.preview-btn,.action-save-btn,.action-close-btn{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.export-btn{background:#28a745;color:#fff}.export-btn:hover{background:#218838}.import-btn{background:#007bff;color:#fff;display:flex;align-items:center}.import-btn:hover{background:#0056b3}.preview-btn{background:#6c757d;color:#fff}.preview-btn:hover{background:#5a6268}.action-save-btn{background:#28a745;color:#fff}.action-save-btn:hover{background:#218838}.action-close-btn{background:#6c757d;color:#fff}.action-close-btn:hover{background:#5a6268}.admin-tabs{display:flex;margin-bottom:2rem;border-bottom:1px solid #dee2e6}.tab{padding:1rem 2rem;border:none;background:none;cursor:pointer;font-size:16px;font-weight:500;color:#6c757d;border-bottom:3px solid transparent;transition:all .2s}.tab:hover{color:#495057;background:#f8f9fa}.tab.active{color:#007bff;border-bottom-color:#007bff;background:white}.rules-list{display:flex;flex-direction:column;gap:.75rem}.rule-item{background:white;border-radius:8px;padding:1rem;box-shadow:0 2px 8px #00000014;transition:all .2s}.rule-item.enabled{border-left:4px solid #28a745}.rule-item.disabled{border-left:4px solid #dc3545;opacity:.7}.rule-header{display:flex;justify-content:space-between;align-items:center}.rule-info h4{margin:0 0 .25rem;color:#343a40;font-size:16px}.rule-info p{margin:0 0 .5rem;color:#555;line-height:1.4}.rule-meta{display:flex;gap:.5rem;flex-wrap:wrap}.rule-type,.rule-priority,.rule-trigger{padding:.15rem .4rem;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.rule-type{background:#e7f3ff;color:#06c}.rule-priority{background:#fff3e0;color:#ff9800}.rule-trigger{background:#f3e5f5;color:#9c27b0}.toggle-switch{position:relative;display:inline-block;width:46px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:34px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#28a745}input:checked+.slider:before{transform:translate(20px)}.rule-parameters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 12px;margin-top:8px}.rule-parameters .parameter-item label{color:#343a40;font-size:12px;margin-bottom:4px;font-weight:600;letter-spacing:.2px}.rule-parameters .parameter-item input{padding:6px 8px;font-size:13px;border:1px solid #ced4da;border-radius:4px;color:#343a40;background:#fff}.groups-management{background:white;border-radius:8px;padding:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h3{margin:0;color:#495057}.add-group-btn{background:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.add-group-btn:hover{background:#218838}.group-editor{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1rem;margin:0 auto 1rem;max-width:900px}.group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.group-name-input{font-size:16px;font-weight:600;padding:.5rem;border:1px solid #ced4da;border-radius:4px;flex:1;margin-right:1rem;color:#343a40;background-color:#fff}.remove-group-btn{background:#dc3545;color:#fff;border:none;padding:.5rem;border-radius:4px;cursor:pointer;font-size:14px}.remove-group-btn:hover{background:#c82333}.group-fields{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start;max-width:720px;margin:0 auto}.field-group{display:flex;flex-direction:column}.field-group label{font-weight:500;margin-bottom:.5rem;color:#495057}.group-description,.booths-input{padding:.5rem;border:1px solid #ced4da;border-radius:4px;resize:vertical;min-height:64px;font-family:Consolas,Monaco,monospace;font-size:13px;color:#343a40;caret-color:#343a40}.group-description{background-color:#fff}.booths-input{background-color:#f8f9fa;border:2px solid #e9ecef;transition:border-color .2s}.booths-input:focus{border-color:#007bff;background-color:#fff;outline:none;box-shadow:0 0 5px #007bff33}.booths-input::placeholder{color:#6c757d}.input-help{display:block;font-size:11px;color:#6c757d;font-weight:400;margin-top:4px;line-height:1.3}.booth-count-info{margin-top:4px;padding:4px 8px;background:#e7f3ff;border-radius:4px;border-left:3px solid #007bff}.booth-count-info small{color:#06c;font-weight:500}.booth-preview{font-family:Consolas,Monaco,monospace;color:#495057}.booth-input-container{position:relative;display:flex;flex-direction:column;gap:8px;max-width:720px;margin:0 auto}.visual-picker-btn{align-self:center;background:linear-gradient(135deg,#17a2b8,#138496);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s;box-shadow:0 2px 8px #17a2b84d}.visual-picker-btn:hover{background:linear-gradient(135deg,#138496,#10707f);transform:translateY(-1px);box-shadow:0 4px 12px #17a2b866}.booth-validation{margin-top:4px}.validation-status{display:inline-block;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500}.validation-status.valid{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.validation-status.invalid{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.validation-status.neutral{background:#e2e3e5;color:#495057;border:1px solid #d6d8db}.parameters-section{background:white;border-radius:8px;padding:1.5rem}.parameter-group{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e9ecef}.parameter-group:last-child{border-bottom:none}.parameter-group h3{margin:0 0 1rem;color:#495057}.parameter-controls,.priority-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.parameter-controls label,.priority-item label{display:flex;flex-direction:column;font-weight:500;color:#495057}.parameter-controls input,.priority-item input,.parameter-controls select{margin-top:.5rem;padding:.5rem;border:1px solid #ced4da;border-radius:4px;background:white;color:#495057;font-size:14px}.parameter-controls select{cursor:pointer}.parameter-controls input:focus,.priority-item input:focus,.parameter-controls select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.parameter-controls input::placeholder{color:#6c757d}.parameter-info{margin-top:.5rem;padding:.5rem;background:#f8f9fa;border-radius:4px;border-left:3px solid #007bff}.parameter-info small{color:#6c757d;font-size:.85rem}.rules-preview{background:white;border-radius:8px;padding:1.5rem;margin-top:2rem}.rules-preview h3{margin:0 0 1rem;color:#495057}.rules-json{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;padding:1rem;font-family:Consolas,Monaco,monospace;font-size:12px;line-height:1.5;overflow-x:auto;max-height:400px;overflow-y:auto}@media (max-width: 768px){.rules-admin-panel{padding:1rem}.admin-header{flex-direction:column;gap:1rem;align-items:stretch}.admin-actions{justify-content:center}.admin-tabs{flex-wrap:wrap}.tab{flex:1;padding:.75rem 1rem}.rule-header{flex-direction:column;gap:1rem}.group-fields,.parameter-controls,.priority-controls{grid-template-columns:1fr}}@keyframes flashYellow{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.flash-yellow{animation:flashYellow 1s linear infinite}.grid-builder-container{padding:2rem;max-width:1400px;margin:0 auto;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.grid-builder-header{margin-bottom:3rem;padding:2rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-radius:15px;box-shadow:0 10px 30px #667eea4d}.header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.back-btn{background:rgba(255,255,255,.2);color:#fff;border:2px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-left:.5rem}.back-btn:hover{background:rgba(255,255,255,.3);border-color:#ffffff80;transform:translate(-2px)}.title-section h1{margin:0 0 .5rem;font-size:2.5rem;font-weight:700}.title-section p{margin:0;font-size:1.2rem;opacity:.9}.booth-selection-page .grid-builder-header{margin-bottom:1rem;padding:1rem 1.25rem;border-radius:12px}.booth-selection-page .header-content{align-items:center;gap:1rem}.booth-selection-page .title-section h1{font-size:1.6rem;margin-bottom:.25rem}.booth-selection-page .title-section p{font-size:1rem;opacity:.85}.current-layout-info{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.current-layout-info .layout-name{font-size:1.2rem;font-weight:600}.current-layout-info .layout-status-badge{color:#fff;padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:600}.header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.layout-name-block{display:flex;flex-direction:column}.layout-id-hint{color:#ffffffd9;font-size:.8rem;margin-top:4px}.header-layout-name{padding:.75rem;border:none;border-radius:8px;font-size:1rem;min-width:200px}.header-layout-name:focus{outline:none;box-shadow:0 0 0 2px #ffffff4d}.header-layout-status{padding:.75rem;border:none;border-radius:8px;font-size:1rem;background:white;color:#333;cursor:pointer}.quick-save-btn{background:rgba(255,255,255,.2);color:#fff;border:2px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.quick-save-btn:hover:not(:disabled){background:rgba(255,255,255,.3);border-color:#ffffff80}.quick-save-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.header-content{flex-direction:column;align-items:stretch}.header-actions{justify-content:stretch}.header-layout-name{min-width:auto;flex:1}}.grid-controls{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:2rem;background:rgba(255,255,255,.1);padding:1.5rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-wrap:wrap}.control-group{display:flex;flex-direction:column;align-items:center;gap:.5rem}.control-group label{color:#fff;font-weight:600;font-size:1rem}.control-group input{padding:.5rem 1rem;border:2px solid rgba(255,255,255,.3);border-radius:6px;background:rgba(255,255,255,.9);font-size:1.1rem;text-align:center;width:80px;transition:all .3s ease;color:#333}.control-group input:focus{outline:none;border-color:#4ecdc4;box-shadow:0 0 0 3px #4ecdc44d}.control-group input[type=range]{width:120px;height:8px;border-radius:4px;background:rgba(255,255,255,.3);outline:none;border:none}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#4ECDC4;cursor:pointer;box-shadow:0 2px 6px #0003}.control-group input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#4ECDC4;cursor:pointer;border:none;box-shadow:0 2px 6px #0003}.range-value{color:#fff;font-weight:600;font-size:.9rem;background:rgba(255,255,255,.2);padding:.25rem .5rem;border-radius:12px;min-width:50px;text-align:center}.regenerate-btn{background:linear-gradient(135deg,#FF6B6B,#FF8E8E);color:#fff;font-weight:700;padding:.8rem 1.5rem;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ff6b6b4d;font-size:1rem}.regenerate-btn:hover{background:linear-gradient(135deg,#FF5252,#FF6B6B);transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b66}.regenerate-numbers-btn{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;font-weight:700;padding:.8rem 1.5rem;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #3498db4d;font-size:1rem}.regenerate-numbers-btn:hover{background:linear-gradient(135deg,#2980b9,#3498db);transform:translateY(-2px);box-shadow:0 6px 20px #3498db66}.multi-select-btn{padding:.75rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.multi-select-btn:hover{background:#5a6fd8;transform:translateY(-2px)}.multi-select-btn.active{background:#764ba2;box-shadow:0 4px 12px #764ba266}.grid-container{background:white;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 20px 40px #0000001a}.grid-scroll-wrapper{width:100%;max-height:70vh;overflow:auto}.dynamic-grid{display:grid;max-width:100%;min-height:200px;overflow:visible;padding:1rem}.grid-cell{border:2px solid transparent;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 2px 6px #0000001a}.grid-cell:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003;z-index:1}.grid-cell.corner-cell{border:3px solid #000000!important;box-shadow:0 2px 8px #0000004d,inset 0 0 0 1px #ffffff1a}.grid-cell.corner-cell:hover{transform:scale(1.05);box-shadow:0 4px 15px #00000080,inset 0 0 0 1px #fff3;z-index:1}.grid-cell.corner-cell.selected{border:3px solid #ffff00!important;box-shadow:0 2px 8px #ff06,inset 0 0 0 1px #0000004d}.cell-content{text-align:center;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.cell-number{font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.3);line-height:1}.property-list{background:white;border-radius:16px;padding:2rem;box-shadow:0 20px 40px #0000001a}.property-list.empty{text-align:center;color:#666}.property-list.empty h3{color:#333;margin-bottom:1rem}.property-list h3{color:#333;font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.property-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.property-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #4ECDC4}.property-item strong{color:#333;font-weight:600;min-width:80px}.property-item span{color:#666;font-weight:500;display:flex;align-items:center;gap:.5rem}.color-swatch{width:20px;height:20px;border-radius:4px;border:2px solid rgba(0,0,0,.1);flex-shrink:0}.status{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status.active{background:#d4edda;color:#155724}.status.inactive{background:#f8d7da;color:#721c24}.status.pending{background:#fff3cd;color:#856404}.status.complete{background:#d1ecf1;color:#0c5460}.status.error{background:#f8d7da;color:#721c24}.level{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.level.low{background:#d4edda;color:#155724}.level.medium{background:#fff3cd;color:#856404}.level.high{background:#ffeaa7;color:#b8860b}.level.critical{background:#f8d7da;color:#721c24}@media (max-width: 768px){.grid-builder-container{padding:1rem}.grid-builder-header h1{font-size:2rem}.grid-controls{flex-direction:column;gap:1rem}.control-group{flex-direction:row;gap:1rem}.dynamic-grid{gap:.5rem;min-height:300px}.grid-cell{min-height:60px}.cell-text{font-size:.8rem}.cell-number{font-size:1.2rem}.cell-status{font-size:.7rem}.property-grid{grid-template-columns:1fr}.property-item{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (max-width: 480px){.grid-builder-header h1{font-size:1.5rem}.grid-container,.property-list{padding:1rem}.dynamic-grid{min-height:250px}.grid-cell{min-height:50px}}.popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.popup-content{background:white;border-radius:16px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:popupSlideIn .3s ease-out;color:#333}@keyframes popupSlideIn{0%{opacity:0;transform:scale(.8) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem 1rem;border-bottom:2px solid #f0f0f0}.popup-header h3{color:#333;font-size:1.5rem;margin:0}.close-btn{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-btn:hover{background:#f0f0f0;color:#333}.popup-body{padding:1.5rem 2rem 2rem;color:#333}.popup-body p,.popup-body li{color:#333}.property-section{display:grid;gap:1rem}.popup-content .property-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #4ECDC4}.popup-content .property-item strong{color:#333;font-weight:600;min-width:80px}.popup-content .property-item span{color:#666;font-weight:500;display:flex;align-items:center;gap:.5rem}.popup-content .color-swatch{width:20px;height:20px;border-radius:4px;border:2px solid rgba(0,0,0,.1);flex-shrink:0}.popup-content .status{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.popup-content .status.active{background:#d4edda;color:#155724}.popup-content .status.inactive{background:#f8d7da;color:#721c24}.popup-content .status.pending{background:#fff3cd;color:#856404}.popup-content .status.complete{background:#d1ecf1;color:#0c5460}.popup-content .status.error{background:#f8d7da;color:#721c24}.popup-content .level{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.popup-content .level.low{background:#d4edda;color:#155724}.popup-content .level.medium{background:#fff3cd;color:#856404}.popup-content .level.high{background:#ffeaa7;color:#b8860b}.popup-content .level.critical{background:#f8d7da;color:#721c24}.popup-content .level.basic{background:#ecf0f1;color:#2c3e50}.popup-content .level.standard{background:#d6eaf8;color:#1f4e79}.popup-content .level.prime{background:#fadbd8;color:#922b21}.popup-content .level.premium{background:#fdebd0;color:#b7950b}.popup-content .corner.yes{background:#d5f4e6;color:#0f5132}.popup-content .corner.no{background:#f8f9fa;color:#6c757d}.multi-select-controls{background:rgba(255,255,255,.1);padding:1rem 2rem;margin-bottom:1rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.selection-info{color:#fff;font-weight:600;font-size:1.1rem;display:flex;flex-direction:column;gap:.3rem}.selection-info small{font-size:.9rem;font-weight:400;opacity:.8}.selection-actions{display:flex;gap:1rem;align-items:center}.select-all-btn,.clear-selection-btn,.bulk-edit-btn,.toggle-invisible-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.select-all-btn{background:#96CEB4;color:#fff}.select-all-btn:hover{background:#85c7a3;transform:translateY(-1px)}.clear-selection-btn{background:#FF6B6B;color:#fff}.clear-selection-btn:hover{background:#ff5252;transform:translateY(-1px)}.bulk-edit-btn{background:#FECA57;color:#333}.bulk-edit-btn:hover:not(:disabled){background:#fed330;transform:translateY(-1px)}.bulk-edit-btn:disabled,.toggle-invisible-btn:disabled{opacity:.5;cursor:not-allowed}.toggle-invisible-btn{background:#9b59b6;color:#fff}.toggle-invisible-btn:hover:not(:disabled){background:#8e44ad;transform:translateY(-1px)}.grid-cell.multi-select-mode{cursor:pointer}.selection-indicator{position:absolute;top:2px;right:2px;background:#ffff00;color:#333;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.badge{position:absolute;top:2px;right:2px;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;box-shadow:0 1px 3px #0000004d}.badge-reserved-mine{background:#2ecc71;color:#fff}.badge-pending-mine{background:#f1c40f;color:#333}.badge-reserved-other{background:rgba(0,0,0,.75);color:#f44}.badge-pending-other{background:#7f8c8d;color:#fff}.badge-hold{background:#34495e;color:#ecf0f1}.grid-cell.on-hold{opacity:1;filter:none}.grid-cell.reserved-by-me{outline:3px solid rgba(46,204,113,.9);outline-offset:-3px;opacity:1!important}.grid-cell.pending-by-me{outline:3px dotted #e74c3c;outline-offset:-3px;opacity:1!important}.bulk-editor{max-width:600px}.bulk-editor-section{display:flex;flex-direction:column;gap:2rem}.selected-cells-preview h4{color:#333;margin-bottom:1rem}.cell-preview-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.cell-preview{width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.8rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.cell-preview.more{background:#666}.bulk-controls{display:flex;flex-direction:column;gap:1.5rem}.bulk-control-group{display:flex;flex-direction:column;gap:.5rem}.bulk-control-group label{color:#333;font-weight:600;font-size:1rem}.color-options{display:flex;gap:.5rem;flex-wrap:wrap}.color-option{width:40px;height:40px;border:3px solid transparent;border-radius:8px;cursor:pointer;transition:all .3s ease}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#333;transform:scale(1.1)}.color-option.clear{background:#f0f0f0;display:flex;align-items:center;justify-content:center;color:#666;font-weight:700}.bulk-control-group select{padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;background:white;color:#333}.bulk-control-group select:focus{outline:none;border-color:#4ecdc4}.bulk-actions{display:flex;gap:1rem;justify-content:center}.apply-btn,.cancel-btn{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.apply-btn{background:#4ECDC4;color:#fff}.apply-btn:hover{background:#45B7D1;transform:translateY(-2px)}.cancel-btn{background:#f0f0f0;color:#666}.cancel-btn:hover{background:#e0e0e0}.single-cell-editor{max-width:500px}.readonly-properties{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.readonly-properties .property-item{display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.5rem;background:#f8f9fa;border-radius:4px}.editable-properties{margin-bottom:1.5rem}.edit-control-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.edit-control-group label{color:#333;font-weight:600;font-size:1rem}.edit-control-group select{padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;background:white;color:#333;cursor:pointer}.edit-control-group select:focus{outline:none;border-color:#4ecdc4}.color-preview{display:flex;align-items:center;gap:1rem}.color-swatch-large{width:50px;height:50px;border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.color-swatch-group{display:flex;align-items:center;gap:.75rem}.no-preview{color:#666;font-style:italic}.edit-control-group small{display:block;color:#666;font-size:.85rem;margin-top:.25rem}.edit-actions{display:flex;gap:1rem;justify-content:center;padding-top:1rem;border-top:1px solid #e0e0e0}.grid-with-selectors{display:flex;flex-direction:column;align-items:center;gap:10px}.column-selectors{display:flex;gap:5px;align-items:center;padding:10px;background:rgba(255,255,255,.1);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:2}.selector-spacer{width:30px;height:30px}.grid-with-row-selectors{display:flex;gap:10px;align-items:flex-start}.row-selectors{display:flex;flex-direction:column;gap:5px;padding:10px;background:rgba(255,255,255,.1);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;left:0;z-index:2}.column-selector,.row-selector{background:linear-gradient(135deg,#4ECDC4,#45B7D1);border:2px solid rgba(255,255,255,.5);border-radius:6px;color:#fff;font-weight:700;font-size:.75rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 2px 6px #0000004d;text-shadow:0 1px 2px rgba(0,0,0,.3)}.column-selector:hover,.row-selector:hover{background:linear-gradient(135deg,#96CEB4,#4ECDC4);border-color:#fffc;transform:scale(1.1);box-shadow:0 4px 12px #0006}.column-selector:active,.row-selector:active{transform:scale(.95);background:linear-gradient(135deg,#FECA57,#FF9FF3);border-color:#fff;box-shadow:0 2px 8px #00000080}.invisible-cell{background:transparent!important;border:1px dashed rgba(255,255,255,.2)!important;cursor:default!important;pointer-events:none}.invisible-cell:hover{transform:none!important;box-shadow:none!important}.layout-manager-btn{background:linear-gradient(135deg,#8e44ad,#9b59b6);color:#fff;font-weight:700;padding:.8rem 1.5rem;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #8e44ad4d;font-size:1rem}.layout-manager-btn:hover{background:linear-gradient(135deg,#9b59b6,#8e44ad);transform:translateY(-2px);box-shadow:0 6px 20px #8e44ad66}.layout-manager{max-width:700px}.layout-manager-section{display:flex;flex-direction:column;gap:2rem}.save-layout-section h4,.current-layout-section h4,.saved-layouts-section h4{color:#333;margin-bottom:1rem;border-bottom:2px solid #4ECDC4;padding-bottom:.5rem}.save-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.layout-name-input{flex:1;min-width:200px;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem}.layout-name-input:focus{outline:none;border-color:#4ecdc4}.layout-status-select,.status-select{padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;background:white;color:#333;cursor:pointer}.save-layout-btn{background:#27ae60;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.save-layout-btn:hover{background:#229954;transform:translateY(-1px)}.save-copy-btn{background:#6c757d;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.save-copy-btn:hover{background:#5a6268;transform:translateY(-1px)}.current-layout-section{background:#f8f9fa;padding:1rem;border-radius:8px;border-left:4px solid #4ECDC4}.current-layout-info{display:flex;gap:1rem;align-items:center}.layout-name{font-weight:600;color:#333}.layout-status{color:#fff;padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:600}.layouts-list{max-height:300px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px}.layout-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #e0e0e0;transition:background-color .3s ease}.layout-item:hover{background-color:#f8f9fa}.layout-item:last-child{border-bottom:none}.layout-info{display:flex;gap:1rem;align-items:center;flex:1}.layout-date{color:#666;font-size:.9rem}.layout-actions{display:flex;gap:.5rem;align-items:center}.load-btn{background:#3498db;color:#fff;padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.load-btn:hover{background:#2980b9}.delete-btn{background:#e74c3c;color:#fff;padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.delete-btn:hover{background:#c0392b}.no-layouts{text-align:center;color:#666;padding:2rem;font-style:italic}.popup-body.compact{padding:1rem 1.5rem}.info-row{background:#f8f9fa;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem;color:#555;text-align:center}.controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.control-pair{display:flex;flex-direction:column;gap:.25rem}.control-pair label{font-size:.85rem;font-weight:600;color:#333}.compact-select{padding:.4rem .6rem;border:1px solid #ddd;border-radius:4px;font-size:.85rem;background:white;color:#333}.compact-select:focus{outline:none;border-color:#4ecdc4;box-shadow:0 0 0 2px #4ecdc433}.color-display{grid-column:span 2}.color-preview-compact{display:flex;align-items:center;gap:.5rem}.color-swatch-small{width:24px;height:24px;border-radius:4px;flex-shrink:0}.color-label{font-size:.85rem;color:#666;font-weight:500}.compact-popup{max-width:400px;width:90vw}.compact-header{padding:1rem 1.5rem .5rem}.compact-header h4{margin:0;font-size:1.1rem;color:#333}.compact-actions{padding-top:.75rem;border-top:1px solid #eee;gap:.75rem}.compact-btn{padding:.5rem 1.25rem;font-size:.9rem;border-radius:4px;border:none;cursor:pointer;font-weight:500;transition:all .2s ease}.compact-btn.apply-btn{background:#4ECDC4;color:#fff}.compact-btn.apply-btn:hover{background:#45b7aa}.compact-btn.cancel-btn{background:#f8f9fa;color:#666;border:1px solid #ddd}.compact-btn.cancel-btn:hover{background:#e9ecef}.compact-preview{margin-bottom:1rem}.compact-preview .cell-preview-list{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.compact-cell{width:28px!important;height:28px!important;font-size:.75rem!important;border-radius:4px}.bulk-controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.bulk-controls-grid .color-display{grid-column:span 2}.regenerate-options{margin-bottom:1rem;padding:1rem;background:rgba(255,255,255,.1);border-radius:8px;border:1px solid rgba(255,255,255,.2)}.reset-checkboxes{display:flex;gap:1.5rem;margin-bottom:.5rem;justify-content:center}.checkbox-label{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:color .3s ease}.checkbox-label:hover{color:gold}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#ffd700;cursor:pointer}.reset-hint{display:block;text-align:center;color:#ffffffb3;font-size:.8rem;font-style:italic;margin-top:.5rem}.row-selector.selected,.column-selector.selected{background:#ffd700!important;color:#333!important;font-weight:700;box-shadow:0 0 10px #ffd70080;border:2px solid #ffed4e!important}.invisible-cell{position:relative;transition:all .2s ease}.invisible-cell:hover{background:rgba(255,255,255,.15)!important;border-color:#fff9!important;box-shadow:0 0 8px #ffffff4d}.invisible-cell.selected{background:rgba(255,255,0,.3)!important;border:2px solid #ffff00!important;box-shadow:0 0 12px #ffff0080}.invisible-cell .selection-indicator{position:absolute;top:2px;right:2px;color:#ff0;font-size:12px;font-weight:700;text-shadow:0 0 4px rgba(0,0,0,.8)}.invisible-cell .invisible-indicator{transition:all .2s ease}.invisible-cell:hover .invisible-indicator{background-color:#fffc!important;transform:scale(1.5)}.booth-mode-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #28a7454d;text-transform:none;margin-left:.5rem}.booth-mode-btn:hover{background:linear-gradient(135deg,#218838,#1e7e34);transform:translateY(-2px);box-shadow:0 6px 20px #28a74566}.booth-mode-btn.active{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 4px 15px #dc35454d}.booth-mode-btn.active:hover{background:linear-gradient(135deg,#c82333,#a71e2a);box-shadow:0 6px 20px #dc354566}.cart-btn{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #007bff4d;margin-left:.5rem;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.cart-btn:hover{background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-2px);box-shadow:0 6px 20px #007bff66}.grid-cell.booth-mode{transition:all .2s ease;position:relative}.grid-cell.booth-mode:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.grid-cell.required-booth{animation:requireBooth 1.5s infinite;border-style:solid!important}@keyframes requireBooth{0%{border-color:#f44;box-shadow:0 0 5px #ff444480}50%{border-color:#f88;box-shadow:0 0 15px #f44c}to{border-color:#f44;box-shadow:0 0 5px #ff444480}}.grid-cell.unavailable-booth{cursor:not-allowed!important}.grid-cell.unavailable-booth:hover{transform:none!important;box-shadow:none!important}.grid-cell.pending-by-other{opacity:.4;filter:grayscale(70%)}.grid-cell.reserved-by-me,.grid-cell.reserved-by-other{opacity:1;filter:none}.required-indicator{position:absolute;top:2px;left:2px;background:#ff4444;color:#fff;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;box-shadow:0 2px 4px #0000004d;animation:bounce 1s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-1px)}}.unavailable-indicator{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.7);color:#f44;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.booth-mode-instructions{background:linear-gradient(135deg,#17a2b8,#138496);color:#fff;padding:1rem 1.5rem;border-radius:8px;margin:1rem 0;box-shadow:0 4px 15px #17a2b84d}.booth-mode-instructions h4{margin:0 0 .5rem;font-size:16px;display:flex;align-items:center;gap:.5rem}.booth-mode-instructions ul{margin:0;padding-left:1.5rem;font-size:14px;line-height:1.5}.booth-mode-instructions li{margin-bottom:.25rem}.rules-admin-btn{background:linear-gradient(135deg,#6f42c1,#5a32a3);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #6f42c14d;margin-left:.5rem}.rules-admin-btn:hover{background:linear-gradient(135deg,#5a32a3,#4c2a85);transform:translateY(-2px);box-shadow:0 6px 20px #6f42c166}.admin-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;z-index:3000;display:flex;justify-content:center;align-items:center;padding:20px}.admin-panel-container{position:relative;background:white;border-radius:12px;width:95%;max-width:1400px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.close-admin-btn{position:absolute;top:20px;right:20px;background:#dc3545;color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:24px;z-index:10;transition:all .2s}.close-admin-btn:hover{background:#c82333;transform:scale(1.1)}.level-manager-btn{background:linear-gradient(45deg,#9b59b6,#8e44ad);color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;margin-left:.5rem;white-space:nowrap}.level-manager-btn:hover{background:linear-gradient(45deg,#8e44ad,#7d3c98);transform:translateY(-2px);box-shadow:0 4px 12px #8b45134d}.level-manager{max-width:800px;max-height:90vh}.level-manager-section{padding:1rem}.level-manager-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #eee}.level-manager-header p{color:#666;margin-bottom:1rem}.level-actions{display:flex;gap:.75rem}.add-level-btn{background:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.add-level-btn:hover{background:#218838}.reset-levels-btn{background:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.reset-levels-btn:hover{background:#5a6268}.levels-list{margin-bottom:2rem}.level-item{border:1px solid #ddd;border-radius:8px;margin-bottom:1rem;transition:all .2s}.level-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.default-level{border-left:4px solid #007bff}.custom-level{border-left:4px solid #28a745}.level-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px 8px 0 0}.level-info{display:flex;align-items:center;gap:.75rem}.level-color-preview{width:24px;height:24px;border-radius:4px;border:1px solid #ddd}.level-name{font-weight:600;font-size:16px}.default-badge{background:#007bff;color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:12px;font-weight:500}.level-controls{display:flex;gap:.5rem}.edit-level-btn{background:#007bff;color:#fff;border:none;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:12px;transition:all .2s}.edit-level-btn:hover{background:#0056b3}.remove-level-btn{background:#dc3545;color:#fff;border:none;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:12px;transition:all .2s}.remove-level-btn:hover{background:#c82333}.level-editor{padding:1rem;border-top:1px solid #ddd;background:white}.level-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.editor-field{display:flex;flex-direction:column;gap:.5rem}.editor-field label{font-weight:600;font-size:14px;color:#333}.level-name-input{padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:14px}.color-input-group{display:flex;gap:.5rem;align-items:center}.level-color-input{width:50px;height:40px;border:1px solid #ddd;border-radius:6px;cursor:pointer}.level-color-text{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:monospace}.price-input-group{display:flex;align-items:center;border:1px solid #ddd;border-radius:6px;overflow:hidden}.currency-symbol{background:#f8f9fa;padding:.5rem .75rem;color:#666;font-weight:600}.price-input{flex:1;padding:.5rem;border:none;outline:none;font-size:14px}.level-preview{display:flex;gap:1rem;justify-content:center;margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:6px}.preview-booth{display:flex;flex-direction:column;align-items:center;justify-content:center;width:80px;height:60px;border-radius:4px;border:1px solid #333;font-size:12px;font-weight:600;position:relative;overflow:hidden}.preview-booth:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);z-index:1}.preview-booth .booth-label,.preview-booth .booth-price{position:relative;z-index:2;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.8);font-weight:700}.corner-booth{border:3px solid #000!important}.corner-booth:before{background:rgba(0,0,0,.4)}.booth-label{margin-bottom:.25rem;font-size:11px;letter-spacing:.5px}.booth-price{font-size:12px;font-weight:800;background:rgba(0,0,0,.6);padding:2px 6px;border-radius:3px;border:1px solid rgba(255,255,255,.3)}.level-summary{padding:.75rem 1rem;background:white;border-radius:0 0 8px 8px}.pricing-summary{display:flex;align-items:center;gap:.5rem;color:#666;font-size:14px}.price-item{font-weight:600}.price-separator{color:#ccc}.level-manager-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid #eee}.save-levels-btn{background:#28a745;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.save-levels-btn:hover{background:#218838}.cancel-levels-btn{background:#6c757d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.cancel-levels-btn:hover{background:#5a6268}@media (max-width: 768px){.booth-mode-btn,.cart-btn,.rules-admin-btn,.level-manager-btn{padding:.5rem 1rem;font-size:12px;margin-left:.25rem;margin-top:.5rem}.required-indicator,.unavailable-indicator{width:14px;height:14px;font-size:9px}.admin-panel-container,.level-manager{width:98%;max-height:95vh;margin:10px}.level-editor-grid{grid-template-columns:1fr}.level-preview{flex-direction:column;gap:.5rem}.preview-booth{width:100%;max-width:120px}}.numbering-scheme-popup{max-width:600px;width:90vw}.numbering-scheme-section{padding:1rem}.numbering-scheme-section p{margin-bottom:1.5rem;color:#666}.schemes-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.scheme-option{border:2px solid #e0e0e0;border-radius:8px;padding:1rem;cursor:pointer;transition:all .3s ease}.scheme-option:hover{border-color:#3498db;background-color:#f8f9fa}.scheme-option.selected{border-color:#3498db;background-color:#e3f2fd}.scheme-label{display:flex;align-items:flex-start;gap:1rem;cursor:pointer;margin:0}.scheme-label input[type=radio]{margin-top:.25rem;flex-shrink:0}.scheme-info{flex:1}.scheme-info h4{margin:0 0 .5rem;color:#333;font-size:1.1rem}.scheme-description{margin:0 0 .75rem;color:#666;line-height:1.4}.scheme-example{color:#3498db;font-size:.9rem;font-family:Courier New,monospace}.numbering-options{margin-top:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.numbering-options h4{margin:0 0 1rem;color:#495057;font-size:1rem;font-weight:600}.numbering-checkboxes{display:flex;flex-direction:column;gap:1rem}.numbering-checkboxes .checkbox-label{display:flex;flex-direction:column;gap:.25rem;cursor:pointer;transition:all .2s ease}.numbering-checkboxes .checkbox-label:hover{transform:translate(2px)}.numbering-checkboxes .checkbox-label>div{display:flex;align-items:center;gap:.5rem}.numbering-checkboxes .checkbox-label input[type=checkbox]{margin:0;width:18px;height:18px}.numbering-checkboxes .checkbox-label span{font-weight:500;color:#495057}.numbering-checkboxes .checkbox-label small{color:#6c757d;font-size:.85rem;margin-left:24px;line-height:1.3}.numbering-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e0e0e0}.apply-numbering-btn{background:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .3s ease}.apply-numbering-btn:hover{background:#2980b9}.cancel-numbering-btn{background:#95a5a6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .3s ease}.cancel-numbering-btn:hover{background:#7f8c8d}@media (max-width: 768px){.numbering-scheme-popup{width:95vw;max-width:none}.scheme-label{flex-direction:column;gap:.5rem}.numbering-options{margin-top:1rem;padding:.75rem}.numbering-checkboxes .checkbox-label small{margin-left:0;margin-top:.25rem}.numbering-actions{flex-direction:column}.apply-numbering-btn,.cancel-numbering-btn{width:100%}}.compact-property-section{display:flex;flex-direction:column;gap:1rem}.booth-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:1rem;border-radius:8px;margin-bottom:.5rem}.booth-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.95rem}.booth-title strong{font-size:1.1rem;font-weight:700}.booth-location{background:rgba(255,255,255,.2);padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:500}.corner-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.corner-badge.is-corner{background:#ff6b6b;color:#fff}.corner-badge.not-corner{background:rgba(255,255,255,.3);color:#fff}.compact-controls{display:flex;flex-direction:column;gap:.75rem}.control-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem;background:#f8f9fa;border-radius:6px;border-left:3px solid #4ECDC4}.control-row label{font-weight:600;color:#333;margin:0;font-size:.9rem}.level-preview{background:#ffffff;border:2px solid #e9ecef;border-radius:8px;padding:1rem}.level-info{display:flex;flex-direction:column;gap:1rem}.level-color-name{display:flex;align-items:center;gap:.75rem}.color-swatch{width:24px;height:24px;border-radius:4px;box-shadow:0 2px 4px #0000001a}.level-name{font-weight:600;color:#333;font-size:1rem}.pricing-info{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem}.price-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#f8f9fa;border-radius:4px;font-size:.9rem}.price-label{color:#666;font-weight:500}.price-value{font-weight:600;color:#333}.current-price{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:linear-gradient(135deg,#4ECDC4 0%,#44a08d 100%);color:#fff;border-radius:6px;font-size:1rem;margin-top:.5rem}.current-label{font-weight:500}.current-value{font-weight:700;font-size:1.1rem}.invisible-message{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:1rem;margin:.5rem 0}.message-content{display:flex;flex-direction:column;gap:.5rem}.message-content strong{color:#856404;font-size:.95rem}.message-content p{color:#856404;font-size:.85rem;margin:0;line-height:1.4}.compact-select:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed;opacity:.7}.control-row:has(.compact-select:disabled){opacity:.7;background-color:#f1f3f4}.apply-btn:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.7}.selection-count{background:rgba(255,255,255,.2);padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:500}.selected-cells-preview{background:#f8f9fa;border-radius:8px;padding:1rem;margin:.5rem 0}.cell-preview-list{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.cell-preview{min-width:40px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:#fff;font-weight:600;font-size:.8rem;text-shadow:0 1px 2px rgba(0,0,0,.3);border:2px solid rgba(255,255,255,.3)}.cell-preview.more{background:#6c757d;color:#fff;font-weight:500}.bulk-note{grid-column:1 / -1;padding:.5rem;background:#e3f2fd;border-left:3px solid #2196f3;border-radius:4px;margin-top:.5rem}.note-text{color:#1565c0;font-size:.85rem;font-style:italic}.corner-status-container{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.corner-badge.crossed-out{position:relative;opacity:.6}.corner-badge.crossed-out:after{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:#ff4444;transform:translateY(-50%)}.corner-override-row{background:#f0f8ff;border-left:3px solid #2196f3}.corner-override-controls{display:flex;align-items:center;gap:.75rem}.toggle-switch{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch input[type=checkbox]{display:none}.toggle-slider{position:relative;width:44px;height:24px;background:#ccc;border-radius:12px;transition:background .3s}.toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:white;border-radius:50%;transition:transform .3s;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background:#4ECDC4}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:disabled+.toggle-slider{background:#e9ecef;cursor:not-allowed}.toggle-label{font-size:.85rem;font-weight:600;color:#333;min-width:45px}.corner-select{min-width:100px}.grid-controls-compact{margin-bottom:2rem;background:rgba(255,255,255,.1);padding:1.5rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.control-section{margin-bottom:1rem}.control-section:last-child{margin-bottom:0}.section-title{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 .8rem;padding:.3rem .8rem;background:rgba(255,255,255,.9);border-radius:6px;display:inline-block}.control-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;min-height:40px}.control-group.compact{display:flex;flex-direction:row;align-items:center;gap:.5rem;margin:0;height:32px}.control-group.compact label{color:#2c3e50;background:rgba(255,255,255,.9);padding:.3rem .5rem;border-radius:4px;font-weight:500;font-size:.9rem;white-space:nowrap;margin:0;height:24px;display:flex;align-items:center}.control-group.compact input{padding:.3rem .6rem;border:2px solid rgba(255,255,255,.3);border-radius:4px;background:rgba(255,255,255,.9);font-size:.9rem;text-align:center;width:60px;height:24px;transition:all .3s ease;color:#333;box-sizing:border-box}.control-group.compact input[type=range]{width:80px;height:6px;border-radius:3px;background:rgba(255,255,255,.3)}.control-group.compact .range-value{color:#2c3e50;background:rgba(255,255,255,.9);padding:.1rem .4rem;border-radius:3px;font-size:.8rem;font-weight:500;min-width:35px}.regenerate-options.compact{display:flex;align-items:center;gap:.5rem;height:32px}.reset-checkboxes.compact{display:flex;gap:.6rem;align-items:center;height:24px}.reset-checkboxes.compact .checkbox-label{display:flex;align-items:center;gap:.3rem;color:#2c3e50;background:rgba(255,255,255,.9);padding:.2rem .4rem;border-radius:4px;font-size:.8rem;height:20px;cursor:pointer}.reset-checkboxes.compact input[type=checkbox]{width:auto;margin:0}button.compact{padding:.4rem .8rem;font-size:.9rem;border-radius:6px;border:none;cursor:pointer;font-weight:600;transition:all .3s ease;white-space:nowrap;height:32px;display:flex;align-items:center;justify-content:center}.regenerate-btn.compact{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;box-shadow:0 3px 10px #e74c3c4d}.regenerate-btn.compact:hover{transform:translateY(-1px);box-shadow:0 4px 15px #e74c3c66}.regenerate-numbers-btn.compact{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;box-shadow:0 3px 10px #3498db4d}.regenerate-numbers-btn.compact:hover{transform:translateY(-1px);box-shadow:0 4px 15px #3498db66}.multi-select-btn.compact{background:#667eea;color:#fff;box-shadow:0 3px 10px #667eea4d}.multi-select-btn.compact:hover{background:#5a67d8;transform:translateY(-1px)}.multi-select-btn.compact.active{background:#48bb78;box-shadow:0 3px 10px #48bb784d}.booth-mode-btn.compact{background:#ed8936;color:#fff;box-shadow:0 3px 10px #ed89364d}.booth-mode-btn.compact:hover{background:#dd6b20;transform:translateY(-1px)}.booth-mode-btn.compact.active{background:#38a169;box-shadow:0 3px 10px #38a1694d}.cart-btn.compact{background:#28a745;color:#fff;box-shadow:0 3px 10px #28a7454d}.cart-btn.compact:hover{background:#218838;transform:translateY(-1px)}.level-manager-btn.compact{background:#6f42c1;color:#fff;box-shadow:0 3px 10px #6f42c14d}.level-manager-btn.compact:hover{background:#5a32a3;transform:translateY(-1px)}.rules-admin-btn.compact{background:#6c757d;color:#fff;box-shadow:0 3px 10px #6c757d4d}.rules-admin-btn.compact:hover{background:#545b62;transform:translateY(-1px)}@media (max-width: 768px){.control-row{flex-direction:column;align-items:stretch;gap:.8rem}.control-group.compact{justify-content:space-between;padding:.3rem 0}.section-title{font-size:.9rem}button.compact{width:100%;justify-content:center}}.booth-rules-panel{position:fixed;top:80px;right:20px;width:360px;max-height:calc(100vh - 100px);background:#ffffff;border:2px solid #e74c3c;border-radius:12px;box-shadow:0 8px 32px #e74c3c26;z-index:1000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.rules-panel-header{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.2)}.rules-panel-header h4{margin:0;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.rules-icon{font-size:18px}.dismiss-btn{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.dismiss-btn:hover{background-color:#ffffff1a}.rules-panel-content{padding:0;max-height:calc(100vh - 180px);overflow-y:auto}.selection-summary{background:#f8f9fa;padding:12px 20px;border-bottom:1px solid #e9ecef;text-align:center}.selection-count{font-weight:600;color:#495057;font-size:14px}.violations-section{padding:16px 20px;border-bottom:1px solid #e9ecef}.violations-section h5{margin:0 0 12px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.error-violations h5{color:#dc3545}.warning-violations h5{color:#fd7e14}.error-icon,.warning-icon{font-size:16px}.violations-list{display:flex;flex-direction:column;gap:10px}.violation-item{padding:12px;border-radius:6px;border-left:4px solid}.violation-item.error{background-color:#f8d7da;border-left-color:#dc3545}.violation-item.warning{background-color:#fff3cd;border-left-color:#fd7e14}.violation-message{font-weight:500;font-size:13px;color:#212529;line-height:1.4}.violation-details{font-size:12px;color:#6c757d;margin-top:4px}.suggestions-section{padding:16px 20px;border-bottom:1px solid #e9ecef}.suggestions-section h5{margin:0 0 12px;font-size:14px;font-weight:600;color:#28a745;display:flex;align-items:center;gap:8px}.suggestion-icon{font-size:16px}.suggestions-summary{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.suggestion-group{padding:12px;border-radius:6px;border:1px solid}.suggestion-group.high-priority{background-color:#fff5f5;border-color:#fed7d7}.suggestion-group.normal-priority{background-color:#f0fff4;border-color:#c6f6d5}.suggestion-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.priority-badge{padding:2px 6px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.priority-badge.high{background-color:#fed7d7;color:#c53030}.priority-badge.normal{background-color:#c6f6d5;color:#276749}.suggestion-count{font-size:12px;color:#6c757d;font-weight:500}.suggestion-reasons{display:flex;flex-direction:column;gap:4px}.suggestion-reason{font-size:12px;color:#495057;line-height:1.3}.suggestions-actions{display:flex;flex-direction:column;gap:8px}.suggestions-actions.compact{flex-direction:column;gap:6px}.apply-suggestions-btn{padding:10px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;text-align:center}.apply-suggestions-btn.primary{background-color:#dc3545;color:#fff}.apply-suggestions-btn.primary:hover{background-color:#c82333;transform:translateY(-1px)}.apply-suggestions-btn.secondary{background-color:#28a745;color:#fff}.apply-suggestions-btn.secondary:hover{background-color:#218838;transform:translateY(-1px)}.apply-suggestions-btn.outline{background-color:#fff;color:#6c757d;border:1px solid #ced4da}.apply-suggestions-btn.outline:hover{background-color:#f8f9fa;color:#343a40;transform:translateY(-1px)}.apply-suggestions-btn.danger-light{background-color:#fdecea;color:#b02a37;border:1px solid #f5c2c7;box-shadow:0 1px #b02a370d}.apply-suggestions-btn.danger-light:hover{background-color:#f8d7da;color:#842029;transform:translateY(-1px)}.removal-hint{margin-top:8px;text-align:center;color:#6c757d}.rules-help.minimal{padding:12px 16px}.rules-help.minimal .help-text{text-align:center;font-size:11px}.apply-suggestions-btn:active{transform:translateY(0)}.rules-help{padding:16px 20px;background-color:#f8f9fa}.help-text{font-size:12px;color:#6c757d;line-height:1.4}.help-text strong{color:#495057}.help-text ul{margin:8px 0 0;padding-left:16px}.help-text li{margin-bottom:4px}@media (max-width: 768px){.booth-rules-panel{position:fixed;top:auto;bottom:0;right:0;left:0;width:100%;max-height:60vh;border-radius:12px 12px 0 0;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}}@media (max-width: 480px){.rules-panel-header{padding:12px 16px}.rules-panel-content{max-height:calc(60vh - 60px)}.violations-section,.suggestions-section,.rules-help{padding:12px 16px}}.booth-shopping-cart-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px}.booth-shopping-cart{background:white;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:cartSlideIn .3s ease-out}.booth-shopping-cart-embedded-container{position:sticky;top:0;z-index:100;padding-bottom:8px}.booth-shopping-cart.embedded{max-width:100%;width:100%;border-radius:0 0 12px 12px;box-shadow:none;border:1px solid #e9ecef}.booth-shopping-cart.embedded .cart-content{max-height:unset}.booth-shopping-cart.embedded .cart-header{border-radius:0;padding:10px 16px}.booth-shopping-cart.embedded .cart-header h3{font-size:16px}.booth-shopping-cart.embedded .cart-items-header{padding:10px 16px}.booth-shopping-cart.embedded .cart-items-list{max-height:120px}.booth-shopping-cart.embedded.expanded .cart-items-list{max-height:60vh}.booth-shopping-cart.embedded .cart-item{padding:8px 16px}.booth-shopping-cart.embedded .booth-number{font-size:16px!important;min-width:72px!important}.booth-shopping-cart.embedded .booth-price{font-size:16px!important}.booth-shopping-cart.embedded .cart-summary{padding:10px 16px}.booth-shopping-cart.embedded .summary-row{padding:6px 0;font-size:13px}.booth-shopping-cart.embedded .summary-row.total{font-size:16px;padding-top:8px}.booth-shopping-cart.embedded .cart-actions{padding:10px 16px}.booth-shopping-cart.embedded .checkout-btn{padding:10px 14px;font-size:13px}.booth-shopping-cart.embedded .clear-cart-btn{padding:4px 10px;font-size:11px}.booth-shopping-cart.embedded .checkout-validation,.booth-shopping-cart.embedded .checkout-warnings{margin:10px 16px;padding:10px}.booth-shopping-cart.embedded .validation-warnings h5,.booth-shopping-cart.embedded .checkout-warnings h5{font-size:13px}.booth-shopping-cart.embedded .validation-error,.booth-shopping-cart.embedded .validation-warning{font-size:12px}@keyframes cartSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.cart-header{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.cart-header h3{margin:0;font-size:18px;font-weight:600;display:flex;align-items:center;gap:10px}.expand-cart-btn,.collapse-cart-btn{background:none;border:1px solid #ffffff80;color:#fff;font-size:12px;cursor:pointer;padding:6px 10px;border-radius:6px;transition:background-color .2s,color .2s,border-color .2s}.expand-cart-btn:hover,.collapse-cart-btn:hover{background-color:#ffffff1f}.cart-header .cart-header-actions{display:flex;gap:8px}.cart-icon{font-size:20px}.close-cart-btn{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.close-cart-btn:hover{background-color:#ffffff1a}.cart-content{max-height:calc(90vh - 80px);overflow-y:auto;padding:0}.empty-cart{text-align:center;padding:60px 40px;color:#6c757d}.empty-cart-icon{font-size:48px;margin-bottom:16px}.empty-cart h4{margin:0 0 8px;color:#495057;font-size:18px}.empty-cart p{margin:0;font-size:14px}.cart-items{padding:0}.cart-items-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid #e9ecef}.cart-items-header h4{margin:0;font-size:16px;color:#495057}.clear-cart-btn{background:none;border:1px solid #dc3545;color:#dc3545;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.clear-cart-btn:hover{background-color:#dc3545;color:#fff}.cart-items-list{max-height:300px;overflow-y:auto}.cart-item{display:flex;align-items:center;padding:16px 24px;border-bottom:1px solid #f8f9fa;transition:background-color .2s}.cart-item:hover{background-color:#f8f9fa}.booth-info{flex:1;display:flex;align-items:center;gap:16px}.booth-number{font-weight:700!important;font-size:20px!important;color:#2c3e50!important;min-width:100px!important;line-height:1.2!important}.booth-details{display:flex;flex-direction:column;gap:2px}.booth-location{font-size:12px;color:#6c757d}.booth-meta{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.booth-level{display:flex;align-items:center;gap:8px}.level-badge{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1)}.level-badge-uniform{padding:2px 6px!important;border-radius:8px!important;font-size:10px!important;font-weight:600!important;text-transform:uppercase!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.7)!important;display:inline-block!important;min-width:40px!important;text-align:center!important;border:1px solid rgba(0,0,0,.2)!important}.corner-badge{background-color:#fd7e14;color:#fff;padding:2px 6px;border-radius:8px;font-size:10px;font-weight:600;text-transform:uppercase}.position-badge{padding:2px 6px;border-radius:8px;font-size:10px;font-weight:600;text-transform:uppercase;color:#fff}.position-badge.corner{background-color:#fd7e14}.position-badge.inline{background-color:#6c757d}.booth-price{font-weight:700!important;font-size:20px!important;color:#000!important;margin-right:16px!important;background:transparent!important;background-color:transparent!important;border:none!important;padding:0!important;text-align:right!important;box-shadow:none!important;border-radius:0!important;text-shadow:none!important}.remove-booth-btn{background:none;border:none;color:#dc3545;font-size:18px;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.remove-booth-btn:hover{background-color:#dc3545;color:#fff}.cart-summary{padding:20px 24px;background-color:#f8f9fa;border-top:1px solid #e9ecef}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}.summary-row.total{border-top:2px solid #dee2e6;margin-top:8px;padding-top:12px;font-weight:700;font-size:18px;color:#2c3e50}.checkout-validation{margin:16px 24px;padding:16px;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px}.validation-warnings h5{margin:0 0 8px;color:#721c24;font-size:14px}.validation-error{font-size:13px;color:#721c24;margin-bottom:4px}.checkout-warnings{margin:16px 24px;padding:16px;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:6px}.checkout-warnings h5{margin:0 0 8px;color:#856404;font-size:14px}.validation-warning{font-size:13px;color:#856404;margin-bottom:4px}.cart-actions{padding:20px 24px;display:flex;gap:12px;border-top:1px solid #e9ecef;background-color:#fff}.continue-shopping-btn{flex:1;padding:12px 20px;border:2px solid #6c757d;background:white;color:#6c757d;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.continue-shopping-btn:hover{background-color:#6c757d;color:#fff}.checkout-btn{flex:2;padding:12px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.checkout-btn.ready{background-color:#28a745;color:#fff}.checkout-btn.ready:hover{background-color:#218838;transform:translateY(-1px)}.checkout-btn.blocked{background-color:#dc3545;color:#fff}.checkout-btn.blocked:hover{background-color:#c82333}.checkout-btn:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed}.validation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:3000}.validation-modal{background:white;border-radius:8px;width:90%;max-width:500px;max-height:70vh;overflow:hidden;color:#2c3e50}.validation-modal-header{padding:16px 20px;background-color:#dc3545;color:#fff;display:flex;justify-content:space-between;align-items:center}.validation-modal-header h4{margin:0;font-size:16px}.validation-modal-header button{background:none;border:none;color:#fff;font-size:24px;cursor:pointer}.validation-modal-content{padding:20px;color:#2c3e50}.validation-modal-content ul{margin:12px 0;padding-left:20px}.validation-modal-content li{margin-bottom:8px;line-height:1.4;color:#2c3e50}.validation-modal-actions{padding:16px 20px;text-align:right;border-top:1px solid #e9ecef}.validation-modal-actions button{padding:8px 16px;border:none;background-color:#6c757d;color:#fff;border-radius:4px;cursor:pointer}@media (max-width: 768px){.booth-shopping-cart{width:95%;max-height:95vh}.cart-header,.cart-items-header,.cart-summary,.cart-actions{padding:16px 20px}.cart-item{padding:12px 20px;flex-wrap:wrap;gap:8px}.booth-info{flex-basis:100%}.booth-price{margin-right:8px;background:transparent!important;border:none!important;padding:0!important}.cart-actions{flex-direction:column}.continue-shopping-btn,.checkout-btn{flex:none}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa}.App{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%;margin:0 auto;text-align:center}.env-badge{position:fixed;top:10px;right:10px;z-index:5000;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:700;color:#fff;box-shadow:0 2px 8px #00000040;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.env-badge.dev{background:#ff9800}.env-badge.test{background:#6f42c1}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}}
