body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.stripe-payment-container{background:#fff;border-radius:12px;box-shadow:0 2px 20px #00000014;margin:0 auto;max-width:500px;padding:24px}.payment-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.payment-header h3{color:#1f2937;font-size:20px;margin:0}.secure-badge{align-items:center;color:#10b981;display:flex;font-size:14px;font-weight:500;gap:6px}.lock-icon{font-size:16px}.form-group,.payment-form{margin-bottom:20px}.form-group label{display:block;font-size:14px;margin-bottom:8px}.form-group input{background:#fff;border:1px solid #d1d5db;font-size:16px;padding:12px 16px;transition:all .2s;width:100%}.form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input.error{border-color:#ef4444}.card-input-wrapper{position:relative}.card-brands{display:flex;gap:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.card-brand{font-size:20px;opacity:.3;transition:opacity .2s}.form-row{grid-gap:16px;gap:16px}.error-message{color:#ef4444;display:block;font-size:12px;margin-top:4px}.payment-summary{background:#f9fafb;border-radius:8px;margin:24px 0;padding:16px}.summary-row{align-items:center;display:flex;justify-content:space-between}.summary-row .amount{color:#1f2937;font-size:24px;font-weight:700}.form-actions{gap:12px}.cancel-button,.submit-button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:14px 20px;transition:all .2s}.cancel-button{background:#f3f4f6;color:#374151}.cancel-button:hover:not(:disabled){background:#e5e7eb}.submit-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.cancel-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.5}.security-info{color:#6b7280;font-size:13px;margin:12px 0;text-align:center}.test-cards-hint{margin-top:16px}.test-cards-hint details{background:#f0f9ff;border-radius:8px;cursor:pointer;padding:12px}.test-cards-hint summary{color:#3b82f6;font-size:13px;font-weight:500;list-style:none}.test-cards-hint summary::-webkit-details-marker{display:none}.test-cards-hint ul{color:#4b5563;font-size:12px;margin:12px 0 0;padding-left:20px}.test-cards-hint li{margin:4px 0}@media (max-width:480px){.stripe-payment-container{padding:16px}.form-row{grid-template-columns:1fr}}.paypal-payment-container{background:#fff;border-radius:12px;box-shadow:0 2px 20px #00000014;margin:0 auto;max-width:500px;padding:24px}.paypal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.paypal-header h3{color:#1f2937;font-size:20px;margin:0}.paypal-badges{display:flex;gap:8px}.badge{background:#f0fdf4;border-radius:4px;color:#16a34a;padding:4px 8px}.description,.paypal-content{margin-bottom:20px}.description{color:#6b7280;text-align:center}.payment-amount{align-items:center;background:#f9fafb;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px}.payment-amount .amount{color:#1f2937;font-size:24px;font-weight:700}.paypal-button{background:#ffc439;border:none;border-radius:30px;cursor:pointer;height:48px;overflow:hidden;padding:0;transition:all .2s;width:100%}.paypal-button:hover:not(:disabled){background:#f3b82a;box-shadow:0 4px 12px #ffc43966;transform:translateY(-1px)}.paypal-button:disabled{cursor:not-allowed;opacity:.5}.paypal-button-content{align-items:center;display:flex;gap:8px;height:100%;justify-content:center;padding:0 24px}.paypal-logo-inline{font-size:18px;font-style:italic;font-weight:700}.paypal-logo-inline .pay{color:#003087}.paypal-logo-inline .pal{color:#009cde}.button-text{color:#003087;font-size:16px;font-weight:600}.alternative-payment{margin-top:24px}.divider{margin:20px 0;position:relative;text-align:center}.divider span{background:#fff;color:#9ca3af;font-size:13px;padding:0 12px;position:relative;z-index:1}.divider:before{background:#e5e7eb;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.debit-button{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:not-allowed;font-size:14px;padding:12px;width:100%}.paypal-benefits{grid-gap:16px;display:grid;gap:16px;margin-top:32px}.benefit{align-items:start;display:flex;gap:12px}.benefit .icon{flex-shrink:0;font-size:24px}.benefit strong{color:#1f2937;display:block;font-size:14px;margin-bottom:2px}.benefit p{color:#6b7280;font-size:12px;margin:0}.payment-footer{border-top:1px solid #e5e7eb;padding-top:16px;text-align:center}.cancel-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:14px;padding:8px}.cancel-link:hover{text-decoration:underline}.paypal-login-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000026;margin:0 auto;max-width:400px;overflow:hidden}.paypal-login-container .paypal-header{align-items:center;background:#f5f7fa;border-bottom:1px solid #cbd2d9;display:flex;justify-content:space-between;margin-bottom:0;padding:20px}.paypal-logo{font-size:28px;font-style:italic;font-weight:700}.paypal-logo .pay{color:#003087}.paypal-logo .pal{color:#009cde}.close-button{align-items:center;background:none;border:none;color:#687173;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;width:32px}.close-button:hover{color:#2c2e2f}.paypal-login-form{padding:32px 24px}.paypal-login-form h3{color:#2c2e2f;font-size:20px;margin:0 0 8px;text-align:center}.amount-display{color:#687173;margin-bottom:24px;text-align:center}.amount-display strong{color:#2c2e2f;font-size:18px}.paypal-login-form .form-group{margin-bottom:16px}.paypal-login-form input{border:1px solid #cbd2d9;border-radius:4px;font-size:16px;padding:14px 16px;transition:all .2s;width:100%}.paypal-login-form input:focus{border-color:#0070ba;box-shadow:0 0 0 2px #0070ba1a;outline:none}.paypal-login-button{background:#0070ba;border:none;border-radius:30px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:all .2s;width:100%}.paypal-login-button:hover:not(:disabled){background:#005ea6}.paypal-login-button:disabled{cursor:not-allowed;opacity:.5}.processing{align-items:center;display:flex;gap:8px;justify-content:center}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;height:16px;width:16px}.paypal-footer{margin-top:24px;text-align:center}.paypal-footer a{color:#0070ba;font-size:14px;text-decoration:none}.paypal-footer a:hover{text-decoration:underline}.separator{color:#687173;font-size:14px;margin:16px 0}.create-account{background:#e1e7eb;border:none;border-radius:30px;color:#2c2e2f;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:all .2s;width:100%}.create-account:hover{background:#cbd2d9}.test-hint{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;margin-top:24px;padding:12px}.test-hint p{color:#92400e;font-size:12px;margin:4px 0}@media (max-width:480px){.paypal-login-container,.paypal-payment-container{padding:16px}}.payment-form{margin:0 auto;max-width:800px;padding:20px}.payment-error-banner{align-items:center;background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;color:#991b1b;display:flex;gap:8px;margin-bottom:20px;padding:12px 16px}.payment-methods{background:#fff;border-radius:12px;box-shadow:0 2px 20px #00000014;padding:24px}.payment-header{margin-bottom:32px;text-align:center}.payment-header h2{color:#1f2937;font-size:28px;margin:0 0 12px}.payment-amount{color:#6b7280;font-size:16px}.payment-amount strong{color:#1f2937;font-size:20px}.payment-method-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:24px}.payment-method-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;padding:20px;text-align:center;transition:all .3s ease}.payment-method-card:hover{border-color:#3b82f6;box-shadow:0 4px 20px #3b82f626;transform:translateY(-2px)}.payment-method-card.selected{background:#eff6ff;border-color:#3b82f6}.method-icon{align-items:center;display:flex;font-size:48px;height:60px;justify-content:center;margin-bottom:12px}.payment-method-card h4{color:#1f2937;font-size:18px;margin:0 0 8px}.payment-method-card p{color:#6b7280;font-size:14px;line-height:1.4;margin:0 0 12px}.method-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.method-badges .badge{background:#f3f4f6;border-radius:4px;color:#4b5563;font-size:11px;font-weight:500;padding:4px 8px}.payment-interface{animation:fadeIn .3s ease}.bank-transfer-container{background:#fff;border-radius:12px;box-shadow:0 2px 20px #00000014;margin:0 auto;max-width:500px;padding:24px}.bank-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.bank-header h3{color:#1f2937;font-size:20px;margin:0}.back-button{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:14px;padding:4px 8px}.back-button:hover{text-decoration:underline}.transfer-info-box{background:#f9fafb;border-radius:8px;margin-bottom:20px;padding:20px}.transfer-info-box h4{color:#374151;font-size:16px;margin:0 0 16px}.transfer-details{display:flex;flex-direction:column;gap:12px}.detail-row{border-bottom:1px solid #e5e7eb}.detail-row.highlight{background:#fff;border:1px solid #3b82f6;border-radius:6px;margin:8px -12px 0;padding:12px}.detail-row .value{font-family:Courier New,monospace}.detail-row .value.amount{color:#3b82f6;font-family:inherit;font-size:20px}.copy-able{cursor:pointer;padding-right:24px;position:relative}.copy-able:after{content:"📋";font-size:14px;opacity:.5;position:absolute;right:0;top:50%;transform:translateY(-50%)}.copy-able:hover:after{opacity:1}.transfer-notice{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;margin-bottom:20px;padding:16px}.transfer-notice p{color:#92400e;font-size:14px;margin:6px 0}.transfer-notice strong{color:#78350f}.confirm-button{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:14px 20px;transition:all .2s;width:100%}.confirm-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}@media (max-width:768px){.payment-method-cards{grid-template-columns:1fr}.payment-form{padding:12px}}@media (max-width:480px){.detail-row{align-items:flex-start;flex-direction:column;gap:4px}.detail-row .value{font-size:16px}}.payment-success-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.success-card{animation:slideUp .5s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:600px;padding:40px;width:100%}.success-icon{display:flex;justify-content:center;margin-bottom:24px}.checkmark-circle{height:80px;position:relative;width:80px}.checkmark{stroke-width:2;height:80px;width:80px}.checkmark-circle-bg{stroke:#10b981;animation:drawCircle .5s ease}.checkmark-check{stroke:#10b981;stroke-dasharray:48;stroke-dashoffset:48;animation:drawCheck .5s ease .3s forwards}@keyframes drawCircle{0%{stroke-dasharray:157;stroke-dashoffset:157}to{stroke-dasharray:157;stroke-dashoffset:0}}@keyframes drawCheck{to{stroke-dashoffset:0}}.success-card h1{color:#1f2937;font-size:28px;margin:0 0 12px;text-align:center}.success-message{color:#6b7280;font-size:16px;margin:0 0 32px}.payment-details{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:32px}.detail-box{background:#f9fafb;border-radius:8px;padding:16px;text-align:center}.detail-label{color:#6b7280;display:block;font-size:12px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.detail-value{color:#1f2937;display:block;font-size:18px}.detail-value.amount{color:#10b981;font-size:24px}.next-steps{background:#f0fdf4;border-radius:8px;margin-bottom:32px;padding:20px}.next-steps h3{color:#14532d;font-size:16px;margin:0 0 16px}.next-steps ul{display:flex;flex-direction:column;gap:16px;list-style:none;margin:0;padding:0}.next-steps li{align-items:start;display:flex;gap:12px}.step-icon{flex-shrink:0;font-size:24px}.next-steps strong{color:#1f2937;display:block;font-size:14px;margin-bottom:2px}.next-steps p{color:#4b5563;font-size:13px;margin:0}.action-buttons{gap:12px;margin-bottom:24px}.btn-primary,.btn-secondary{flex:1 1;font-size:16px;padding:14px 20px;transition:all .2s}.btn-primary:hover{box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.btn-secondary{border:2px solid #3b82f6;color:#3b82f6}.btn-secondary:hover{background:#eff6ff}.auto-redirect{background:#fef3c7;border-radius:8px;margin-bottom:24px;padding:16px;text-align:center}.auto-redirect p{color:#92400e;font-size:14px;margin:0}.auto-redirect strong{color:#78350f;font-size:18px}.support-info{border-top:1px solid #e5e7eb;padding-top:20px;text-align:center}.support-info p{color:#6b7280;font-size:14px;margin:0 0 12px}.contact-options{display:flex;gap:24px;justify-content:center}.contact-options a{align-items:center;color:#3b82f6;display:flex;font-size:14px;gap:4px;text-decoration:none}.contact-options a:hover{text-decoration:underline}@media (max-width:600px){.success-card{padding:24px}.success-card h1{font-size:24px}.payment-details{grid-template-columns:1fr}.action-buttons,.contact-options{flex-direction:column}.contact-options{gap:8px}}.login-form-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-form-card{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;max-width:400px;padding:2rem;width:100%}.login-form-header{margin-bottom:2rem;text-align:center}.login-form-header h2{color:#1e4d72;font-size:1.75rem;font-weight:600;margin:0 0 .5rem}.login-form-header p{color:#6c757d;font-size:.95rem;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input{border:2px solid #e9ecef;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .3s ease,box-shadow .3s ease}.form-group input,.form-group input:focus{background-color:#fff!important;color:#2c2c2c!important}.form-group input:focus{border-color:#1e4d72;box-shadow:0 0 0 3px #1e4d721a}.login-button{background:linear-gradient(135deg,#1e4d72,#2a5a87);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:.5rem;padding:.875rem 1.5rem;transition:all .3s ease}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#16435e,#1e4d72);box-shadow:0 4px 12px #1e4d724d;transform:translateY(-1px)}.login-button:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.login-form-footer{border-top:1px solid #e9ecef;margin-top:1.5rem;padding-top:1.5rem;text-align:center}.login-form-footer p{color:#6c757d;font-size:.9rem;margin:0}.resend-verification-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:12px;padding:12px 24px;transition:all .3s ease;width:100%}.resend-verification-button:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.resend-verification-button:active{box-shadow:0 2px 8px #667eea4d;transform:translateY(0)}@media (max-width:480px){.login-form-container{padding:.5rem}.login-form-card{padding:1.5rem}.login-form-header h2{font-size:1.5rem}}.register-form-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:1rem}.register-form-card{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;max-width:480px;padding:2rem;width:100%}.register-form-header{margin-bottom:2rem;text-align:center}.register-form-header h2{color:#1e4d72;font-size:1.75rem;font-weight:600;margin:0 0 .5rem}.register-form-header p{color:#6c757d;font-size:.95rem;margin:0}.register-form{display:flex;flex-direction:column;gap:1.5rem}@media (max-width:480px){.form-row{gap:.5rem;grid-template-columns:1fr}}.form-group label{align-items:center;color:#2c2c2c;display:flex;gap:.25rem}.form-group label .required{color:#dc3545;font-weight:700}.form-group input,.form-group select{background-color:#fff!important;border:2px solid #e9ecef;border-radius:8px;color:#2c2c2c!important;font-size:1rem;padding:.75rem;transition:border-color .3s ease,box-shadow .3s ease}.form-group input:focus,.form-group select:focus{background-color:#fff!important;border-color:#1e4d72;box-shadow:0 0 0 3px #1e4d721a;color:#2c2c2c!important}.form-group input::placeholder{color:#adb5bd!important;font-style:italic}.form-group input:-webkit-autofill,.form-group input:-webkit-autofill:focus,.form-group input:-webkit-autofill:hover{-webkit-text-fill-color:#2c2c2c!important;background-color:#fff!important;border:2px solid #1e4d72!important;box-shadow:inset 0 0 0 1000px #fff!important}.customer-type-toggle{background:#f8f9fa;border-radius:8px;display:flex;gap:.25rem;padding:.25rem}.customer-type-option{background:#0000;border:none;border-radius:6px;color:#6c757d;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.customer-type-option.active{background:#fff;box-shadow:0 2px 4px #0000001a;color:#1e4d72;font-weight:600}.customer-type-option:hover:not(.active){background:#ffffffb3;color:#2c2c2c}.error-messages{display:block!important;margin-bottom:1.5rem;position:relative!important;z-index:9999!important}.error-message,.error-messages{opacity:1!important;visibility:visible!important}.error-message{align-items:flex-start;animation:slideIn .3s ease-out;background-color:#f8d7da;border:2px solid #f5c6cb;display:flex!important;font-size:.95rem;font-weight:500;gap:.5rem;margin-bottom:.75rem;padding:1rem}.error-message:before{content:"⚠️";flex-shrink:0;font-size:1.2rem}.success-message{align-items:flex-start;animation:slideIn .3s ease-out;background-color:#d4edda;border:2px solid #c3e6cb;border-radius:6px;color:#155724;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;margin-bottom:.75rem;padding:1rem}.success-message:before{content:"✅";flex-shrink:0;font-size:1.2rem}.terms-privacy{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:1rem 0;padding:1rem}.checkbox-group{align-items:flex-start;display:flex;gap:.5rem;margin-bottom:.5rem}.checkbox-group input[type=checkbox]{border:2px solid #1e4d72;border-radius:3px;cursor:pointer;flex-shrink:0;height:16px;margin-top:.1rem;width:16px}.checkbox-group label{color:#2c2c2c;cursor:pointer;font-size:.85rem;font-weight:400;line-height:1.4;margin:0}.checkbox-group a{color:#1e4d72;font-weight:500;text-decoration:none;transition:color .3s ease}.checkbox-group a:hover{color:#16435e;text-decoration:underline}.register-button{background:linear-gradient(135deg,#1e4d72,#2a5a87);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:.5rem;padding:.875rem 1.5rem;transition:all .3s ease}.register-button:hover:not(:disabled){background:linear-gradient(135deg,#16435e,#1e4d72);box-shadow:0 4px 12px #1e4d724d;transform:translateY(-1px)}.register-button:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.register-button.loading:after{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;content:"";height:18px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:18px}.register-form-footer{border-top:1px solid #e9ecef;margin-top:1.5rem;padding-top:1.5rem;text-align:center}.register-form-footer p{color:#6c757d;font-size:.9rem;margin:0}.link-button{background:none;border:none;color:#1e4d72;cursor:pointer;font-size:inherit;font-weight:500;text-decoration:underline;transition:color .3s ease}.link-button:hover{color:#16435e}@media (max-width:480px){.register-form-container{padding:.5rem}.register-form-card{border-radius:10px;padding:1.5rem}.register-form-header h2{font-size:1.5rem}.form-group input,.form-group select{font-size:16px;padding:.625rem}.register-button{font-size:1rem;padding:.75rem}.checkbox-group label{font-size:.8rem}}@media (prefers-reduced-motion:reduce){.error-message,.form-group input,.register-button,.success-message{animation:none;transition:none}}.form-group input:invalid{border-color:#dc3545}.form-group input:valid{border-color:#28a745}.verify-email-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.verify-email-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:60px 40px;text-align:center;width:100%}.verify-email-icon{align-items:center;border-radius:50%;display:flex;height:100px;justify-content:center;margin:0 auto 30px;width:100px}.verify-email-icon.verifying{background-color:#f0f0f0}.verify-email-icon.success{background-color:#d4edda;color:#28a745}.verify-email-icon.error{background-color:#f8d7da;color:#dc3545}.spinner{border-top-color:#667eea}.verify-email-title{color:#333;font-size:28px;font-weight:700;margin-bottom:15px}.verify-email-message{color:#666;font-size:16px;line-height:1.6;margin-bottom:20px}.verify-email-redirect{color:#888;font-size:14px;font-style:italic}.verify-email-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:20px;padding:15px 40px;transition:transform .2s,box-shadow .2s}.verify-email-button:hover{box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.verify-email-button:active{transform:translateY(0)}.calendar-view-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem;width:100%}.calendar-view-header{align-items:center;border-bottom:2px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.calendar-view-title{color:#333;font-size:1.75rem;font-weight:600;margin:0}.calendar-view-navigation{display:flex;gap:1rem}.calendar-nav-button{align-items:center;background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #e9ecef;border-radius:12px;box-shadow:0 2px 4px #0000001a;color:#495057;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;justify-content:center;padding:.5rem 1rem;transition:all .3s ease}.calendar-nav-button:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);border-color:#adb5bd;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.calendar-weekdays{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin-bottom:1rem}.calendar-weekday{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:8px;color:#6c757d;font-size:.85rem;font-weight:700;padding:.75rem;text-align:center;text-transform:uppercase}.calendar-days-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.calendar-day-cell{background:#fff;border:2px solid #f1f3f4;border-radius:12px;box-shadow:0 2px 4px #0000000d;cursor:pointer;display:flex;flex-direction:column;min-height:100px;padding:.75rem;position:relative;transition:all .3s ease}.calendar-day-cell:hover:not(.calendar-day-empty):not(.calendar-day-unavailable){border-color:#dadce0;box-shadow:0 6px 16px #00000026;transform:translateY(-3px);z-index:10}.calendar-day-empty{background:#0000;border:none;box-shadow:none;cursor:default}.calendar-day-empty:hover{box-shadow:none;transform:none}.calendar-day-number{color:#333;font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.calendar-day-info{display:flex;flex-direction:column;font-size:.75rem;gap:.25rem;margin-top:.25rem}.calendar-day-detail,.calendar-day-status-text{color:#333;font-weight:600}.calendar-day-bookings{color:#6c757d;font-size:.7rem;font-weight:400}.calendar-day-available{background:linear-gradient(135deg,#d4edda,#28a745);border-color:#28a745}.calendar-day-available .calendar-day-status-text{color:#155724}.calendar-day-available:hover{background:linear-gradient(135deg,#c3e6cb,#218838)}.calendar-day-needsMore{background:linear-gradient(135deg,#cce5ff,#007bff);border-color:#007bff}.calendar-day-needsMore .calendar-day-status-text{color:#004085}.calendar-day-needsMore:hover{background:linear-gradient(135deg,#b8daff,#0069d9)}.calendar-day-flexible{background:linear-gradient(135deg,#e2d5f5,#6f42c1);border-color:#6f42c1}.calendar-day-flexible .calendar-day-status-text{color:#3d1f6b}.calendar-day-flexible:hover{background:linear-gradient(135deg,#d4c4e9,#5a32a3)}.calendar-day-limited{background:linear-gradient(135deg,#fff3cd,#ffc107);border-color:#ffc107}.calendar-day-limited .calendar-day-status-text{color:#856404}.calendar-day-limited:hover{background:linear-gradient(135deg,#ffeaa7,#e0a800)}.calendar-day-full{background:linear-gradient(135deg,#f8d7da,#dc3545);border-color:#dc3545;cursor:not-allowed;opacity:.8}.calendar-day-full .calendar-day-status-text{color:#721c24}.calendar-day-past{background:linear-gradient(135deg,#f8f9fa,#dee2e6);border-color:#adb5bd;cursor:not-allowed;opacity:.75}.calendar-day-past .calendar-day-number{color:#495057;font-weight:700}.calendar-day-past .calendar-day-status-text{color:#495057;font-weight:600}.calendar-day-past .calendar-day-bookings{color:#6c757d}.calendar-day-unavailable{background:#fff;color:#dee2e6;cursor:not-allowed;opacity:.5}.calendar-day-selected{ring:3px solid #007bff;box-shadow:0 0 0 3px #007bff4d}.calendar-legend{border-top:1px solid #e9ecef;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;padding-top:1rem}.calendar-legend-item{align-items:center;color:#6c757d;display:flex;font-size:.875rem;gap:.5rem}.calendar-legend-color{border:1px solid #dee2e6;border-radius:4px;height:16px;width:16px}.calendar-legend-color.available{background:linear-gradient(135deg,#d4edda,#28a745);border-color:#28a745}.calendar-legend-color.needsMore{background:linear-gradient(135deg,#cce5ff,#007bff);border-color:#007bff}.calendar-legend-color.flexible{background:linear-gradient(135deg,#e2d5f5,#6f42c1);border-color:#6f42c1}.calendar-legend-color.limited{background:linear-gradient(135deg,#fff3cd,#ffc107);border-color:#ffc107}.calendar-legend-color.full{background:linear-gradient(135deg,#f8d7da,#dc3545);border-color:#dc3545}.calendar-legend-color.past{background:linear-gradient(135deg,#f8f9fa,#dee2e6);border-color:#adb5bd}.calendar-time-slots{border-top:2px solid #e9ecef;margin-top:2rem;padding-top:2rem}.calendar-time-slots-header{color:#333;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.calendar-time-slot-list{display:flex;flex-direction:column;gap:.75rem}.calendar-time-slot{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:all .3s ease}.calendar-time-slot:hover:not(:disabled){background:#f8f9fa;border-color:#007bff;transform:translateX(4px)}.calendar-time-slot:disabled{cursor:not-allowed;opacity:.5}.calendar-time-slot-info{align-items:center;display:flex;gap:1.5rem}.calendar-time-slot-time{align-items:center;color:#333;display:flex;font-weight:600;gap:.5rem}.calendar-time-slot-type{color:#6c757d;font-size:.875rem}.calendar-time-slot-details{align-items:center;display:flex;gap:1.5rem}.calendar-time-slot-capacity{align-items:flex-end;display:flex;flex-direction:column}.calendar-time-slot-capacity-text{align-items:center;color:#6c757d;display:flex;font-size:.875rem;gap:.25rem}.calendar-capacity-bar{background:#e9ecef;border-radius:4px;height:8px;margin-top:.25rem;overflow:hidden;width:100px}.calendar-capacity-fill{height:100%;transition:width .3s ease}.calendar-time-slot-price{align-items:center;color:#333;display:flex;font-weight:600;gap:.25rem}.calendar-time-slot-note{background:#d1ecf1;border-radius:4px;color:#0c5460;font-size:.75rem;margin-top:.5rem;padding:.25rem .5rem}.calendar-loading{align-items:center;color:#6c757d;display:flex;font-size:1rem;justify-content:center;min-height:400px}.calendar-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;margin-bottom:1rem;padding:1rem}@media (max-width:768px){.calendar-view-container{padding:1rem}.calendar-view-header{flex-direction:column;gap:1rem;text-align:center}.calendar-view-title{font-size:1.5rem}.calendar-day-cell{min-height:60px;padding:.5rem}.calendar-day-number{font-size:.9rem}.calendar-weekday{font-size:.7rem;padding:.5rem}.calendar-time-slot{align-items:flex-start;flex-direction:column;gap:.5rem}.calendar-time-slot-info{width:100%}.calendar-time-slot-details{justify-content:space-between;width:100%}}.calendar-schedule-group{background:#fff;border:2px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:1.5rem;padding:1.5rem;transition:all .3s ease}.calendar-schedule-group:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.calendar-schedule-header{align-items:center;border-bottom:2px solid #f1f3f5;display:flex;gap:1.5rem;margin-bottom:1rem;padding-bottom:1rem}.calendar-schedule-time{align-items:center;color:#333;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem}.calendar-schedule-capacity{align-items:center;color:#495057;display:flex;flex:1 1;font-size:.95rem;gap:.5rem}.calendar-slot-types{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.calendar-slot-type-button{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #dee2e6;border-radius:10px;box-shadow:0 2px 4px #0000000d;cursor:pointer;padding:1rem;text-align:left;transition:all .3s ease}.calendar-slot-type-button:hover:not(:disabled){background:linear-gradient(135deg,#e9ecef,#f8f9fa);border-color:#4caf50;box-shadow:0 4px 12px #4caf5033;transform:translateY(-2px)}.calendar-slot-type-button:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.5}.calendar-slot-type-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.calendar-slot-type-name{color:#333;font-size:1rem;font-weight:600}.calendar-slot-type-price{align-items:center;color:#4caf50;display:flex;font-size:1.1rem;font-weight:600;gap:.25rem}.calendar-slot-type-note{border-top:1px solid #e9ecef;color:#6c757d;font-size:.85rem;font-style:italic;margin-top:.5rem;padding-top:.5rem}@media (max-width:768px){.calendar-schedule-header{align-items:flex-start;flex-direction:column;gap:.75rem}.calendar-slot-types{grid-template-columns:1fr}}.time-slot-picker{background-color:#f9fafb;border-radius:.5rem;padding:1rem}.date-header{margin-bottom:1.5rem}.date-header h3{color:#111827;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.min-participants-warning{align-items:center;background-color:#fef3c7;border:1px solid #fbbf24;border-radius:.375rem;color:#92400e;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem}.time-slots-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.time-slot{background-color:#fff;border:2px solid #e5e7eb;border-radius:.5rem;cursor:pointer;overflow:hidden;padding:1rem;position:relative;transition:all .2s ease}.time-slot.available:hover{border-color:#3b82f6;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.time-slot.unavailable{cursor:not-allowed;opacity:.6}.time-slot.selected{background-color:#f0fdf4;border-color:#16a34a}.time-slot.availability-good{border-left:4px solid #4ade80}.time-slot.availability-medium{border-left:4px solid #facc15}.time-slot.availability-low{border-left:4px solid #f87171}.slot-header{justify-content:space-between;margin-bottom:.75rem}.slot-header,.slot-time{align-items:center;display:flex}.slot-time{color:#111827;gap:.5rem}.slot-tour-type{background-color:#e5e7eb;border-radius:.25rem;font-size:.75rem;padding:.25rem .5rem;text-transform:uppercase}.slot-body{display:flex;flex-direction:column;gap:.5rem}.slot-availability{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem}.slot-capacity-bar{background-color:#e5e7eb;border-radius:4px;height:8px;overflow:hidden;width:100%}.capacity-fill{background:linear-gradient(90deg,#3b82f6,#2563eb);height:100%;transition:width .3s ease}.slot-needs-more{align-items:center;display:flex;gap:.25rem}.slot-indicator.warning{color:#ef4444;font-size:.75rem}.slot-price{align-items:center;color:#047857;display:flex;font-size:.875rem;font-weight:600;gap:.5rem}.slot-unavailable-overlay{align-items:center;background-color:#ffffffe6;bottom:0;color:#6b7280;display:flex;font-weight:500;justify-content:center;left:0;position:absolute;right:0;top:0}.error-message,.loading-spinner,.no-slots-message{align-items:center;color:#6b7280;display:flex;gap:.5rem;justify-content:center;padding:2rem}.error-message,.no-slots-message{color:#dc2626}.animate-spin{animation:spin 1s linear infinite}.availability-indicator{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.availability-indicator.size-sm{padding:.5rem}.availability-indicator.size-md{padding:.75rem}.availability-indicator.size-lg{padding:1rem}.availability-indicator.indicator-good{border-left:4px solid #4ade80}.availability-indicator.indicator-medium{border-left:4px solid #facc15}.availability-indicator.indicator-low{border-left:4px solid #f87171}.indicator-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.indicator-icon-group{color:#6b7280}.indicator-icon-group,.indicator-text{align-items:center;display:flex;gap:.25rem}.indicator-text{font-size:.875rem}.available-count{color:#059669;font-size:1.125rem;font-weight:700}.total-count{color:#111827;font-size:1rem;font-weight:600}.separator{color:#9ca3af}.label{color:#6b7280;margin-left:.25rem}.indicator-progress{margin:.5rem 0}.progress-bar{background-color:#f3f4f6;border-radius:6px;height:12px;overflow:hidden;position:relative;width:100%}.progress-fill.occupied{background:linear-gradient(90deg,#3b82f6,#2563eb);height:100%;transition:width .3s ease}.progress-minimum-line{background-color:#dc2626;bottom:0;position:absolute;top:0;width:2px;z-index:1}.indicator-low-availability,.indicator-warning{align-items:center;background-color:#fef3c7;border-radius:.25rem;color:#92400e;display:flex;font-size:.75rem;gap:.5rem;margin-top:.5rem;padding:.5rem}.indicator-low-availability{background-color:#fee2e2;color:#991b1b}.indicator-full{background-color:#fee2e2;border-radius:.25rem;color:#dc2626;font-weight:600;margin-top:.5rem;padding:.5rem;text-align:center}.dialog-overlay{animation:fadeIn .2s ease-in-out;background:#00000080;z-index:1000}.dialog-content{animation:slideIn .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:600px;overflow-y:auto;padding:2rem;width:90%}.dialog-header{border-bottom:1px solid #e0e0e0;margin-bottom:1.5rem;padding-bottom:1rem}.dialog-header h2{color:#1a2332;font-size:1.5rem;font-weight:600}.close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:all .2s;width:30px}.close-btn:hover{background:#f0f0f0;color:#333}.customer-form{display:flex;flex-direction:column;gap:1rem}.form-row{grid-gap:1rem;gap:1rem}.form-group label{font-size:.9rem;margin-bottom:.5rem}.form-group input[type=email],.form-group input[type=tel],.form-group input[type=text]{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;transition:all .2s}.form-group input:focus{border-color:#4a9eff;box-shadow:0 0 0 3px #4a9eff1a}.form-group input:disabled{background:#f5f5f5}.form-group.checkbox{align-items:center;flex-direction:row;gap:.5rem}.form-group.checkbox label{align-items:center;cursor:pointer;display:flex;gap:.5rem;margin:0}.form-group.checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.error-message{background:#fee;border:1px solid #fcc;border-left:4px solid #f44;border-radius:4px;color:#c00;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.dialog-actions{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.dialog-actions button{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-cancel{background:#f0f0f0;color:#333}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.btn-submit{background:#4a9eff}.btn-submit:hover:not(:disabled){background:#3a8eef;box-shadow:0 2px 8px #4a9eff4d}.dialog-actions button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.dialog-content{padding:1.5rem;width:95%}.form-row{grid-template-columns:1fr}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}}.customer-selector{margin:0 auto;max-width:900px;width:100%}.search-filter-bar{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.search-box{min-width:250px}.search-input{border:1px solid #ddd;font-size:1rem;padding:.75rem 2.5rem .75rem 1rem;transition:all .2s;width:100%}.search-input:focus{border-color:#4a9eff;box-shadow:0 0 0 3px #4a9eff1a}.search-icon{font-size:1.2rem;pointer-events:none;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.vip-filter{align-items:center;background:#f5f5f5;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem 1rem;transition:all .2s;-webkit-user-select:none;user-select:none}.vip-filter:hover{background:#e8e8e8}.vip-filter input[type=checkbox]{cursor:pointer;height:18px;width:18px}.vip-filter span{color:#333;font-weight:500}.btn-new-customer{background:#4a9eff;border-radius:6px;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.btn-new-customer:hover{background:#3a8eef;box-shadow:0 2px 8px #4a9eff4d}.btn-icon{font-size:1.2rem}.customer-list{grid-gap:1rem;display:grid;gap:1rem;max-height:500px;overflow-y:auto;padding:.5rem}.customer-item{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:all .2s}.customer-item:hover{border-color:#4a9eff;box-shadow:0 2px 8px #4a9eff26;transform:translateY(-2px)}.customer-item.selected{background:#f0f8ff;border-color:#4a9eff;box-shadow:0 4px 12px #4a9eff33}.customer-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.customer-header h4{color:#1a2332;font-size:1.1rem;font-weight:600;margin:0}.vip-badge{border-radius:12px;box-shadow:0 2px 4px #ffd7004d;color:#333;font-size:.75rem;letter-spacing:.5px;padding:.25rem .75rem}.customer-company,.customer-email,.customer-phone{align-items:center;color:#666;display:flex;font-size:.9rem;gap:.5rem;margin:.25rem 0}.customer-company{color:#4a9eff;font-weight:500}.icon{font-size:1rem}.selected-indicator{animation:checkmark .3s ease-in-out;color:#4a9eff;font-size:2rem;font-weight:700}@keyframes checkmark{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.loading-state{color:#666;padding:3rem;text-align:center}.spinner{animation:spin 2s linear infinite;font-size:3rem;margin-bottom:1rem}.error-state{background:#fee;border:1px solid #fcc;border-radius:8px;padding:3rem;text-align:center}.error-icon{font-size:3rem;margin-bottom:1rem}.error-state p{color:#c00;margin-bottom:1rem}.btn-retry{background:#f44;border-radius:6px;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-retry:hover{background:#d33;box-shadow:0 2px 8px #ff44444d}.no-results{background:#f8f9fa;border:2px dashed #ddd;border-radius:8px;padding:3rem;text-align:center}.no-results-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.no-results p{color:#666;font-size:1.1rem;margin-bottom:1.5rem}.btn-new-customer-large{align-items:center;background:#4a9eff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:600;gap:.75rem;padding:1rem 2rem;transition:all .2s}.btn-new-customer-large:hover{background:#3a8eef;box-shadow:0 4px 12px #4a9eff4d;transform:translateY(-2px)}.customer-list::-webkit-scrollbar{width:8px}.customer-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.customer-list::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.customer-list::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){.search-filter-bar{align-items:stretch;flex-direction:column}.search-box{min-width:100%}.btn-new-customer,.vip-filter{justify-content:center;width:100%}.customer-item{align-items:flex-start;flex-direction:column}.selected-indicator{align-self:flex-end;margin-top:.5rem}.customer-list{max-height:400px}}.booking-flow{margin:0 auto;max-width:1200px;padding:2rem}.booking-progress{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.progress-steps{display:flex;justify-content:space-between;position:relative}.progress-steps:before{background:#e5e7eb;content:"";height:2px;left:10%;position:absolute;right:10%;top:20px}.progress-step{align-items:center;display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:1}.progress-step .step-number{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:50%;display:flex;font-weight:600;height:40px;justify-content:center;transition:all .3s ease;width:40px}.progress-step.active .step-number{background:#3b82f6;border-color:#3b82f6;color:#fff}.progress-step span{color:#6b7280;font-size:.875rem}.progress-step.active span{color:#111827;font-weight:500}.booking-content{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:2rem}.booking-step h2{color:#111827;margin-bottom:1.5rem}.booking-layout{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr;margin-top:1.5rem}@media (min-width:992px){.booking-layout{grid-gap:3rem;display:grid!important;gap:3rem;grid-template-columns:65% 35%!important}.booking-step.step-1 .booking-layout{display:grid!important;grid-template-columns:65% 35%!important}}.booking-options{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.booking-options h3{color:#111827;font-size:1.125rem;margin-bottom:1rem}.option-group{display:flex;flex-direction:column;gap:.5rem}.option-group label{color:#374151;font-weight:500}.option-group input,.option-group select{border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;padding:.5rem .75rem}.option-group input:focus,.option-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.warning-message{align-items:center;background:#fef3c7;border-radius:.25rem;color:#92400e;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem}.calendar-section{width:100%}.calendar-section h3{color:#111827;font-size:1.125rem;margin-bottom:1rem}.booking-form-section{width:100%}@media (max-width:991px){.calendar-section{order:2}.booking-form-section{order:1}}@media (min-width:992px){.calendar-section{min-width:0;order:1}.booking-form-section{align-self:start;min-width:0;order:2;position:-webkit-sticky;position:sticky;top:2rem}}.time-slots-section{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.time-slots-section h3{color:#111827;font-size:1.125rem;margin-bottom:1rem}.booking-summary{background:#f9fafb;border-radius:.5rem;display:flex;gap:2rem;margin-bottom:2rem;padding:1rem}.summary-item{align-items:center;color:#374151;display:flex;gap:.5rem}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.form-group{gap:.5rem}.form-group input,.form-group select,.form-group textarea{border-radius:.375rem;font-size:1rem;padding:.5rem .75rem}.form-actions{border-top:1px solid #e5e7eb;gap:1rem;justify-content:space-between;margin-top:2rem;padding-top:2rem}.btn-primary,.btn-secondary{align-items:center;border-radius:.375rem;display:flex;font-size:1rem;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.btn-secondary{color:#374151}.btn-secondary:hover{background:#f9fafb}.review-section{margin-bottom:2rem}.review-section h3{color:#111827;font-size:1.125rem;margin-bottom:1rem}.review-grid{grid-gap:1rem;display:grid;gap:1rem}.review-item{background:#f9fafb;border-radius:.375rem;display:flex;justify-content:space-between;padding:.75rem}.review-item .label{color:#6b7280;font-weight:500}.review-item .value{color:#111827}.price-section{border:2px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.price-calculation{display:flex;flex-direction:column;gap:.5rem}.price-line{display:flex;justify-content:space-between;padding:.5rem 0}.price-line.total{border-top:2px solid #e5e7eb;font-size:1.125rem;font-weight:600;padding-top:1rem}.price-total{color:#059669;font-weight:600}.availability-section{margin-bottom:2rem}.confirmation-container{padding:3rem 2rem;text-align:center}.confirmation-icon{display:flex;justify-content:center;margin-bottom:1.5rem}.confirmation-container h2{color:#16a34a;margin-bottom:.5rem}.confirmation-details{background:#f0fdf4;border-radius:.5rem;margin:2rem 0;padding:1.5rem}.confirmation-summary{background:#f9fafb;border-radius:.5rem;margin:2rem auto;max-width:400px;padding:1.5rem;text-align:left}.confirmation-summary h3{font-size:1.125rem;margin-bottom:1rem}.confirmation-summary ul{list-style:none;padding:0}.confirmation-summary li{border-bottom:1px solid #e5e7eb;padding:.5rem 0}.confirmation-summary li:last-child{border-bottom:none}.improved-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.improved-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.improved-modal-header{align-items:flex-start;background:linear-gradient(135deg,#1e4d72,#2a5a87);border-radius:16px 16px 0 0;color:#fff;display:flex;justify-content:space-between;padding:2rem}.improved-modal-header h2{font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.modal-date{font-size:1rem;margin:0;opacity:.9}.improved-modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .3s ease;width:40px}.improved-modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.improved-modal-body{padding:2rem}.modal-section{margin-bottom:2rem}.modal-section:last-child{margin-bottom:0}.modal-section h3{color:#1e4d72;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.variant-dropdown{background:#fff;border:2px solid #dee2e6;border-radius:8px;color:#2c2c2c;cursor:pointer;font-size:1rem;font-weight:500;padding:1rem;transition:all .3s ease;width:100%}.variant-dropdown:hover{border-color:#1e4d72}.variant-dropdown:focus{border-color:#1e4d72;box-shadow:0 0 0 3px #1e4d721a;outline:none}.tour-info-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:1.5rem}.tour-info-row{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:.75rem 0}.tour-info-row:last-child{border-bottom:none;padding-bottom:0}.tour-info-row .label{color:#6c757d;font-weight:500}.tour-info-row .value{color:#2c2c2c;font-weight:600}.participants-control{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;display:flex;gap:1rem;padding:1.5rem}.participant-btn{align-items:center;background:linear-gradient(135deg,#1e4d72,#2a5a87);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:48px;justify-content:center;transition:all .3s ease;width:48px}.participant-btn:hover:not(:disabled){box-shadow:0 4px 12px #1e4d724d;transform:scale(1.1)}.participant-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.5}.participant-input{color:#1e4d72;font-size:1.5rem;font-weight:700;height:48px}.participant-input:focus{border-color:#1e4d72;outline:none}.participant-hint{color:#6c757d;font-size:.875rem;margin:.75rem 0 0;text-align:center}.addon-loading{padding:2rem;text-align:center}.addon-loading p{color:#6c757d;font-size:.9rem;margin-top:1rem}.no-addons{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:2rem;text-align:center}.no-addons p{color:#6c757d;font-size:.95rem;margin:0}.spinner-small{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#1e4d72;height:30px;margin:0 auto;width:30px}.addons-list{display:flex;flex-direction:column;gap:1rem}.addon-item{background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;padding:1rem;transition:all .3s ease}.addon-item:hover{border-color:#1e4d72;box-shadow:0 2px 8px #1e4d721a}.addon-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.addon-name{color:#2c2c2c;font-size:1rem;font-weight:600}.addon-price{color:#6c757d;font-size:.875rem;font-weight:500}.addon-controls{gap:.75rem;margin-bottom:.5rem}.addon-btn,.addon-controls{align-items:center;display:flex}.addon-btn{background:linear-gradient(135deg,#1e4d72,#2a5a87);border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.25rem;height:36px;justify-content:center;transition:all .3s ease;width:36px}.addon-btn:hover:not(:disabled){box-shadow:0 2px 8px #1e4d724d;transform:scale(1.1)}.addon-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.5}.addon-input{border:2px solid #dee2e6;border-radius:6px;color:#1e4d72;font-size:1rem;font-weight:600;height:36px;text-align:center;width:80px}.addon-input:focus{border-color:#1e4d72;outline:none}.addon-breakdown{display:flex;flex-wrap:wrap;font-size:.875rem;gap:1rem}.addon-free{background:#d1fae5;color:#10b981}.addon-free,.addon-paid{border-radius:12px;font-weight:600;padding:.25rem .75rem}.addon-paid{background:#fef3c7;color:#f59e0b}.price-card{background:linear-gradient(135deg,#f0f8ff,#e0f2fe);border:2px solid #3b82f6;border-radius:12px;padding:1.5rem}.price-row{font-size:1rem;padding:.75rem 0}.price-row.total{color:#1e4d72;font-size:1.25rem;font-weight:700}.price-row.deposit{color:#10b981;font-size:.95rem;font-weight:600}.price-row.addon-price{color:#6c757d;font-size:.9rem;font-style:italic}.price-row.netto{color:#2c2c2c;font-size:.95rem;font-weight:500}.price-row.mwst{color:#6c757d;font-size:.9rem;font-weight:500}.price-row .highlight{color:#1e4d72;font-size:1.5rem}.price-divider{background:linear-gradient(90deg,#0000,#3b82f6,#0000);height:2px;margin:.5rem 0}.improved-modal-footer{background:#f8f9fa;border-radius:0 0 16px 16px;display:flex;gap:1rem;justify-content:space-between;padding:1.5rem 2rem}.btn-cancel,.btn-submit{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:1rem 1.5rem;transition:all .3s ease}.btn-cancel{background:#fff;border:2px solid #dee2e6;color:#6c757d}.btn-cancel:hover{background:#f8f9fa;border-color:#6c757d}.btn-submit{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-submit:hover:not(:disabled){box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.btn-submit:disabled{background:#6c757d;cursor:not-allowed;transform:none}.addon-add-section{margin-top:1rem}.btn-add-addon{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .3s ease;width:100%}.btn-add-addon:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-add-addon:disabled{cursor:not-allowed;opacity:.5}.addon-selector{background:#f8f9fa;border:2px solid #3b82f6;border-radius:8px;margin-top:.5rem;padding:1rem}.addon-selector-header{align-items:center;border-bottom:2px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem}.addon-selector-header h4{color:#1e4d72;font-size:1rem;font-weight:600;margin:0}.addon-selector-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:all .2s ease}.addon-selector-close:hover{background:#dee2e6;color:#2c2c2c}.addon-selector-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.addon-selector-item{background:#fff;border:2px solid #dee2e6;border-radius:6px;cursor:pointer;padding:.75rem;transition:all .3s ease}.addon-selector-item:hover{background:#f0f8ff;border-color:#3b82f6;transform:translateX(4px)}.addon-selector-name{color:#2c2c2c;font-weight:600;margin-bottom:.25rem}.addon-selector-price{color:#6c757d;font-size:.85rem}.addon-selector-empty{color:#6c757d;font-size:.9rem;font-style:italic;padding:1.5rem;text-align:center}@media (max-width:768px){.improved-modal-content{border-radius:0;margin:0;max-width:100%}.improved-modal-header{border-radius:0;padding:1.5rem}.improved-modal-body{padding:1.5rem}.improved-modal-footer{flex-direction:column;padding:1rem 1.5rem}.participants-control{padding:1rem}.participant-btn{font-size:1.25rem;height:40px;width:40px}}.improved-booking-calendar{background:#f8f9fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.calendar-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.month-title{color:#1e4d72;font-size:1.75rem;font-weight:700;margin:0;text-transform:capitalize}.month-nav-btn{align-items:center;background:linear-gradient(135deg,#1e4d72,#2a5a87);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:48px;justify-content:center;transition:all .3s ease;width:48px}.month-nav-btn:hover{box-shadow:0 4px 12px #1e4d724d;transform:scale(1.1)}.loading-overlay{background:#fff;border-radius:12px;margin-bottom:2rem;padding:3rem;text-align:center}.spinner{border:4px solid #f3f3f3;border-top-color:#1e4d72;margin:0 auto 1rem}.weekdays-header{grid-gap:.5rem;background:#fff;border-radius:12px;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem;padding:1rem}.weekday{color:#1e4d72;font-size:.9rem;font-weight:600;text-align:center}.calendar-grid{grid-gap:.5rem;background:#fff;box-shadow:0 2px 8px #0000001a;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);padding:1rem}.calendar-day{background:#fff;border:2px solid #e9ecef;padding:.5rem;position:relative}.calendar-day:hover{border-color:#1e4d72;box-shadow:0 4px 12px #1e4d7233}.calendar-day.empty{background:#f8f9fa;border-color:#0000;cursor:default}.calendar-day.today{background:#f0f8ff;border-color:#1e4d72}.calendar-day.selected{border-color:#1e4d72;box-shadow:0 0 0 3px #1e4d7233}.day-number{color:#2c2c2c;font-size:1.1rem;margin-bottom:.5rem}.day-number.weekend{color:#dc2626}.timeslots{gap:.25rem}.timeslot,.timeslots{display:flex;flex-direction:column}.timeslot{border:2px solid;border-radius:8px;box-shadow:0 1px 3px #0000001f;cursor:pointer;justify-content:space-between;min-height:50px;padding:.5rem;transition:all .3s ease}.timeslot:hover:not(.full){box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.timeslot.full{cursor:not-allowed;opacity:.6}.timeslot.past{cursor:not-allowed;opacity:1}.timeslot.past:hover{box-shadow:0 1px 3px #0000001f;transform:none}.timeslot.past .timeslot-capacity,.timeslot.past .timeslot-time{font-weight:700;opacity:1;text-shadow:0 1px 3px #0006}.timeslot-time{font-size:.85rem;font-weight:700}.timeslot-capacity,.timeslot-time{color:#fff;text-shadow:0 1px 2px #0003}.timeslot-capacity{align-self:flex-end;font-size:.75rem;font-weight:600}.no-slots{color:#999;font-size:.8rem;padding:1rem 0;text-align:center}.calendar-legend{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:2rem;justify-content:center;margin-top:2rem;padding:1.5rem}.legend-item{align-items:center;color:#2c2c2c;display:flex;font-size:.9rem;gap:.5rem}.legend-color{border:1px solid #0000001a;border-radius:4px;height:20px;width:20px}@media (max-width:768px){.improved-booking-calendar{padding:1rem}.calendar-day{min-height:80px;padding:.3rem}.timeslot{min-height:40px;padding:.3rem}.calendar-legend{flex-wrap:wrap;gap:1rem}}.admin-layout{background:linear-gradient(135deg,#e6f2ff,#f0f8ff);display:flex;height:calc(100vh - 70px);position:relative}.admin-layout:after{background:#2563ebe6;border-radius:4px;bottom:20px;color:#fff;content:"ADMIN-BEREICH";font-size:10px;font-weight:600;letter-spacing:1px;padding:6px 12px;pointer-events:none;position:fixed;right:20px;z-index:900}.mobile-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #e2e8f0;display:none;height:50px;padding:0 16px;position:relative}.menu-toggle{background:none;border:none;color:#1e293b;cursor:pointer;padding:8px}.mobile-title{color:#1e293b;font-size:18px;font-weight:600}.admin-sidebar{background:#1e293b;bottom:0;color:#fff;display:flex;flex-direction:column;left:0;overflow-y:auto;position:fixed;top:0;transition:transform .3s ease;width:260px}.sidebar-header{border-bottom:1px solid #334155;padding:24px}.sidebar-header h2{font-size:24px;font-weight:700;margin-bottom:4px}.sidebar-header p{color:#94a3b8;font-size:14px}.sidebar-nav{flex:1 1;padding:16px 0}.sidebar-icon{flex-shrink:0;height:18px!important;width:18px!important}.nav-item{align-items:center;color:#cbd5e1;display:flex;font-size:15px;font-weight:500;gap:12px;padding:12px 24px;text-decoration:none;transition:all .3s ease}.nav-item:hover{background:#334155;color:#fff}.nav-item-active{background:#3b82f6;color:#fff;position:relative}.nav-item-active:before{background:#fff;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.sidebar-footer{border-top:1px solid #334155;padding:16px}.logout-btn{align-items:center;background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;padding:12px 16px;transition:background .3s ease;width:100%}.logout-btn:hover{background:#b91c1c}.admin-main{flex:1 1;margin-left:260px;overflow-y:auto}.mobile-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:998}@media (max-width:768px){.mobile-header{display:flex;justify-content:space-between}.admin-layout{height:calc(100vh - 120px)}.admin-sidebar{transform:translateX(-100%);z-index:999}.sidebar-open{transform:translateX(0)}.admin-main{margin-left:0;padding-top:10px}.mobile-overlay{display:block}}.admin-dashboard{background:linear-gradient(135deg,#e6f2ff,#f0f8ff);margin:0 auto;max-width:1400px;min-height:100vh;padding:24px;position:relative}.admin-dashboard:before{background:#2563eb;border-radius:20px;box-shadow:0 2px 8px #2563eb4d;color:#fff;content:"🛠️ ADMIN-BEREICH";font-size:12px;font-weight:600;padding:8px 16px;position:fixed;right:10px;top:10px;z-index:1000}.dashboard-header{margin-bottom:32px}.dashboard-header h1{color:#1e293b;font-size:32px;font-weight:700;margin-bottom:8px}.dashboard-subtitle{color:#64748b;font-size:16px}.stats-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:40px}.stat-card{box-shadow:0 1px 3px #0000001a;cursor:pointer;gap:8px;justify-content:center;padding:16px;text-align:center}.stat-card:hover{box-shadow:0 8px 16px #00000026;transform:translateY(-4px)}.stat-card-blue{border-left:4px solid #3b82f6}.stat-card-yellow{border-left:4px solid #eab308}.stat-card-green{border-left:4px solid #22c55e}.stat-card-purple{border-left:4px solid #a855f7}.stat-icon{background:#f1f5f9;border-radius:8px;height:40px;margin-bottom:4px;width:40px}.stat-card-icon{flex-shrink:0;height:24px!important;width:24px!important}.stat-card-blue .stat-icon{background:#dbeafe;color:#3b82f6}.stat-card-yellow .stat-icon{background:#fef3c7;color:#eab308}.stat-card-green .stat-icon{background:#dcfce7;color:#22c55e}.stat-card-purple .stat-icon{background:#f3e8ff;color:#a855f7}.stat-content{align-items:center;gap:2px}.stat-content h3{color:#64748b;font-size:13px;font-weight:500;margin:0;text-align:center}.stat-value{color:#1e293b;margin:0;text-align:center}.quick-actions{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:32px;padding:17px 24px}.quick-actions h2{color:#1e293b;font-size:20px;font-weight:600;margin-bottom:16px}.action-buttons{flex-wrap:wrap;gap:24px}.action-icon{flex-shrink:0;height:18px!important;width:18px!important}.action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:500;gap:8px;justify-content:center;min-width:140px;padding:12px 20px;transition:all .3s ease}.btn-primary{background:#3b82f6}.btn-primary:hover{background:#2563eb}.btn-yellow{background:linear-gradient(135deg,#fde047,#eab308);border:1px solid #f59e0b;color:#374151;font-weight:600}.btn-yellow:hover{background:linear-gradient(135deg,#facc15,#d97706);box-shadow:0 4px 8px #eab3084d;transform:translateY(-1px)}.btn-yellow .action-icon{color:#374151!important}.btn-secondary{background:#64748b}.btn-secondary:hover{background:#475569}.btn-info{background:#0ea5e9;color:#fff}.btn-info:hover{background:#0284c7}.btn-success{background:#22c55e;color:#fff}.btn-success:hover{background:#16a34a}.recent-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:32px;padding:24px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{color:#1e293b;font-size:20px;font-weight:600}.btn-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:14px;font-weight:500;transition:color .3s}.btn-link:hover{color:#2563eb}.bookings-table{overflow-x:auto}.bookings-table table{border-collapse:collapse;width:100%}.bookings-table th{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:14px;font-weight:500;padding:12px}.bookings-table td{border-bottom:1px solid #f1f5f9;padding:12px}.bookings-table tr:hover{background:#f8fafc}.badge{border-radius:16px;font-weight:500;padding:4px 12px}.badge-success{background:#dcfce7;color:#16a34a}.badge-warning{background:#fef3c7;color:#ca8a04}.badge-danger{background:#fee2e2;color:#dc2626}.btn-small{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .3s}.btn-view{background:#f1f5f9;color:#1e293b}.btn-view:hover{background:#e2e8f0}.additional-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.additional-stat-icon{flex-shrink:0;height:26px!important;width:26px!important}.stat-box{align-items:center;background:#fff;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px}.stat-box h3{color:#64748b;font-size:14px;font-weight:500;margin-bottom:4px}.stat-number{color:#1e293b;font-size:24px;margin:0}.admin-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;min-height:400px}.error-message{border:1px solid #fecaca;color:#dc2626;gap:8px;margin:16px 0}.error-icon{flex-shrink:0;height:21px!important;width:21px!important}.spinner{border:4px solid #f1f5f9;margin-bottom:16px}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column;gap:16px}.action-btn{flex:none;width:100%}.additional-stats{grid-template-columns:1fr}}.booking-management{background:linear-gradient(135deg,#f0f4f8,#e2e8f0);color:#1a202c;min-height:calc(100vh - 100px);padding:20px}.booking-management.error,.booking-management.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.btn-retry{align-items:center;background:#4a9eff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;gap:8px;padding:10px 20px;transition:all .3s ease}.btn-retry:hover{background:#357abd;transform:translateY(-2px)}.booking-header{margin-bottom:30px}.booking-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;font-size:28px;font-weight:600;margin-bottom:20px}.stats-row{display:flex;flex-wrap:wrap}@media (min-width:769px){.stats-row{display:grid;grid-template-columns:repeat(5,1fr)}}@media (min-width:481px) and (max-width:768px){.stats-row{display:grid;grid-template-columns:repeat(3,1fr)}}.stat-card{flex:1 1 150px;flex-direction:column;min-width:120px}.stat-card-active{background:#e6f2ff!important;border-color:#4a9eff!important;box-shadow:0 4px 12px #4a9eff4d}.stat-value{color:#1a202c}.stat-value.text-yellow{color:#d97706}.stat-value.text-green{color:#059669}.stat-value.text-red{color:#dc2626}.booking-filters{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:30px;padding:20px}.filter-row{margin-bottom:15px}.search-box{background:#ffffff0d;border:1px solid #ffffff1a;min-width:300px}.search-box svg{color:#999}.search-box input{color:#fff}.search-box input::placeholder{color:#666}.date-filter,.filter-select{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:12px 15px;transition:all .3s ease}.date-filter:hover,.filter-select:hover{background:#ffffff14;border-color:#4a9eff4d}.filter-select option{background:#1a1a2e;color:#fff}.btn-refresh{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:12px 20px;transition:all .3s ease}.btn-refresh:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.sort-row{align-items:center;display:flex;font-size:14px;gap:10px}.sort-row label{color:#999}.sort-row select{font-size:14px}.btn-sort,.sort-row select{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;color:#fff;padding:8px 12px}.btn-sort{cursor:pointer;font-size:16px;transition:all .3s ease}.btn-sort:hover{background:#ffffff1a}.bookings-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.bookings-table{border-collapse:initial;border-spacing:0 8px;width:100%}.bookings-table thead{background:#f7fafc}.bookings-table th{border-bottom:2px solid #e2e8f0;color:#718096;font-size:12px;font-weight:600;padding:15px;text-align:left;text-transform:uppercase}.bookings-table tbody tr{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;transition:all .3s ease}.bookings-table tbody tr:hover{background:#f7fafc;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.bookings-table tbody tr td:first-child{border-bottom-left-radius:8px;border-top-left-radius:8px}.bookings-table tbody tr td:last-child{border-bottom-right-radius:8px;border-top-right-radius:8px}.bookings-table td{background:inherit;color:#1a202c;font-size:14px;padding:15px}.status-badge{align-items:center;display:inline-flex;gap:5px;text-transform:capitalize}.status-confirmed{background:#d1fae5;border:1px solid #10b981;color:#065f46}.status-pending{background:#fef3c7;border:1px solid #f59e0b;color:#92400e}.status-cancelled{background:#fee2e2;border:1px solid #ef4444;color:#991b1b}.status-completed{background:#dbeafe;border:1px solid #3b82f6;color:#1e40af}.action-buttons{align-items:center;gap:5px}.btn-action{background:#fff;border:1px solid #e2e8f0;color:#4b5563;padding:8px}.btn-action:hover{background:#f3f4f6;border-color:#cbd5e0}.btn-edit{border-color:#bfdbfe;color:#3b82f6}.btn-edit:hover{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.dropdown{display:inline-block;position:relative}.btn-more{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4b5563;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .3s ease}.btn-more:hover{background:#f3f4f6;border-color:#cbd5e0}.dropdown-content{animation:dropdownFadeIn .2s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #00000040;margin-top:4px;min-width:200px;overflow:hidden;position:absolute;right:0;top:100%;z-index:9999}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-content button{background:#fff;border:none;border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;display:block;font-size:14px;padding:12px 16px;text-align:left;transition:all .2s;width:100%}.dropdown-content button:last-child{border-bottom:none}.dropdown-content button:hover{background:#f9fafb;color:#1f2937;font-weight:500}.modal-content{max-height:80vh}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.modal-actions{border-top:1px solid #ffffff1a;gap:10px}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.btn-cancel{border-color:#ff4a4a4d;color:#ff4a4a}.btn-cancel:hover{background:#ff4a4a26;border-color:#ff4a4a;color:#ff6b6b}.btn-cancel:disabled{cursor:not-allowed;opacity:.3}.alert{align-items:center;border-radius:8px;display:flex;gap:10px;margin-bottom:15px;padding:12px}.alert-error{background:#ff4a4a1a;border:1px solid #ff4a4a4d;color:#ff4a4a}.alert-warning{background:#ffd7001a;border:1px solid #ffd7004d;color:gold}.alert-success{background:#4ade801a;border:1px solid #4ade804d;color:#4ade80}.form-section{margin-bottom:20px}.form-label{color:#fff;display:block;font-size:14px;margin-bottom:8px}.form-input,.form-textarea{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-size:14px;padding:12px;width:100%}.form-textarea{resize:vertical}.form-input:focus,.form-textarea:focus{background:#ffffff14;border-color:#4a9eff80;outline:none}.form-input::placeholder,.form-textarea::placeholder{color:#666}.checkbox-label{color:#fff}.btn-danger{background:linear-gradient(135deg,#ff4a4a,#c00);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-danger:hover{box-shadow:0 5px 15px #ff4a4a66}.btn-danger:disabled{cursor:not-allowed;opacity:.5;transform:none}.spinner-sm{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-top-color:#fff}.notes-count{background:#ff4a4a;border-radius:10px;color:#fff;font-size:10px;font-weight:600;min-width:18px;padding:2px 6px;position:absolute;right:-5px;text-align:center;top:-5px}.modal-footer{border-top:1px solid #ffffff1a;display:flex;gap:10px;padding:20px}.payment-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;padding:6px 12px}.payment-paid{background:#d1fae5;border:1px solid #10b981;color:#065f46}.payment-partial{background:#fed7aa;border:1px solid #f97316;color:#92400e}.payment-pending{background:#e5e7eb;border:1px solid #9ca3af;color:#374151}.payment-refunded{background:#fee2e2;border:1px solid #ef4444;color:#991b1b}@media (max-width:768px){.bookings-table{font-size:12px}.bookings-table td,.bookings-table th{padding:10px 5px}.action-buttons{flex-wrap:wrap}.modal-content{max-height:90vh;width:95%}.detail-grid{grid-template-columns:1fr}}@media (max-width:480px){.filter-row{flex-direction:column}.search-box{min-width:100%}.stat-card{min-width:100px}}.booking-edit-dialog{max-height:90vh;max-width:900px;overflow-y:auto;width:90vw}.booking-summary{grid-gap:10px;background:#f8f9fa;border-radius:8px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px;padding:15px}.summary-item{font-size:14px}.summary-item strong{color:#495057;margin-right:5px}.form-section{margin-bottom:25px}.form-label{align-items:center;color:#212529;display:flex;font-size:15px;font-weight:600;gap:8px;margin-bottom:12px}.participant-control{align-items:center;display:flex;gap:15px;margin-bottom:10px}.btn-control{background:#fff;border:2px solid #06c;border-radius:8px;color:#06c;cursor:pointer;font-size:20px;font-weight:700;height:40px;transition:all .2s;width:40px}.btn-control:hover:not(:disabled){background:#06c;color:#fff}.btn-control:disabled{cursor:not-allowed;opacity:.5}.participant-input{border:2px solid #dee2e6;border-radius:8px;font-size:18px;font-weight:600;padding:10px;text-align:center;width:100px}.capacity-info{font-size:14px;margin-top:8px}.change-info{font-size:14px;font-weight:600;margin-top:5px}.meal-selections-grid{grid-gap:12px;background:#f8f9fa;border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));max-height:300px;overflow-y:auto;padding:10px}.meal-selection-item{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;gap:10px;padding:8px}.participant-label{color:#6c757d;font-size:13px;font-weight:500;min-width:70px}.meal-select{background:#fff;border:1px solid #ced4da;border-radius:6px;cursor:pointer;flex:1 1;font-size:13px;padding:6px 10px}.meal-select:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.extras-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.extra-item{background:#f8f9fa;border:2px solid #0000;border-radius:8px;padding:12px;transition:all .2s}.extra-item:has(input:checked){background:#e7f3ff;border-color:#06c}.checkbox-label{justify-content:space-between}.checkbox-label input[type=checkbox]{accent-color:#06c;height:20px;width:20px}.extra-name{flex:1 1;font-size:14px;font-weight:500}.extra-price{color:#6c757d;font-size:13px;font-weight:600}.price-summary{background:#f8f9fa;margin-top:25px}.price-row{border-bottom:1px solid #dee2e6;font-size:15px;padding:10px 0}.price-row:last-child{border-bottom:none}.price-row.difference{border-top:2px solid #dee2e6;font-size:16px;font-weight:700;padding-top:15px}.price-row.difference.positive{color:#28a745}.price-row.difference.negative{color:#dc3545}.price-row.highlight{background:#fff3cd;border:none;color:#856404;font-weight:600;margin:10px -20px;padding:12px 20px}.new-price{color:#06c;font-size:18px;font-weight:700}.text-success{color:#28a745}.text-warning{color:#ffc107}.text-error{color:#dc3545}.spinner-sm{animation:spin .6s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;display:inline-block;height:16px;margin-right:8px;width:16px}.customer-management{background:linear-gradient(135deg,#f0f4f8,#e2e8f0);color:#1a202c;min-height:calc(100vh - 100px);padding:20px}.customer-management.error,.customer-management.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.error-message{color:#ff4a4a}.customer-header{margin-bottom:30px}.header-top{align-items:flex-start;flex-direction:column;gap:15px}.customer-header h2{color:#2d3748;font-size:28px;font-weight:600}.btn-new-customer{align-items:center;background:linear-gradient(135deg,#4299e1,#667eea);border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-new-customer:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.stats-row{grid-template-columns:repeat(6,minmax(100px,1fr))!important;margin-bottom:30px}.stat-card{background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;height:auto;min-height:auto;padding:12px 15px}.stat-card:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #0000001a}.stat-icon{color:#4299e1;height:20px;width:20px}.vip-icon{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,gold,#ffed4e);-webkit-background-clip:text;font-size:18px;font-weight:700}.stat-value{color:#2d3748;font-size:18px;line-height:1.2}.stat-label{color:#718096;font-size:11px;line-height:1.2}.customer-filters{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:30px;padding:20px}.filter-row{flex-wrap:wrap;gap:15px}.filter-row,.search-box{align-items:center;display:flex}.search-box{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;flex:1 1;min-width:350px;padding:0 15px;position:relative;transition:all .3s ease}.search-box:focus-within,.search-box:hover{background:#fff;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.search-box svg{color:#a0aec0;flex-shrink:0;height:16px;margin-right:10px;width:16px}.search-box input{background:#0000;border:none;color:#2d3748;flex:1 1;font-size:14px;outline:none;padding:12px 0}.search-box input::placeholder{color:#a0aec0}.customers-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.customer-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:hidden;transition:all .3s ease}.customer-card:hover{border-color:#4299e1;box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.customer-card-header{background:#f7fafc;border-bottom:1px solid #e2e8f0;padding:15px}.customer-info h3{align-items:center;color:#2d3748;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 5px}.vip-badge{background:linear-gradient(135deg,gold,#ffed4e);border-radius:10px;color:#1a1a2e;font-size:10px;font-weight:700;padding:2px 8px;text-transform:uppercase}.customer-number{color:#718096;font-size:12px}.customer-badges{display:flex;gap:8px;margin-top:10px}.status-badge,.type-badge{border-radius:12px;font-size:11px;font-weight:500;padding:4px 10px;text-transform:uppercase}.status-active{background:#10b981;border:1px solid #059669;color:#fff;font-weight:600}.status-inactive{background:#fed7d7;border:1px solid #fc8181;color:#742a2a}.status-blocked{background:#ff4a4a1a;border:1px solid #ff4a4a4d;color:#ff4a4a}.type-business{background:#bee3f8;border:1px solid #90cdf4;color:#2c5282}.type-private{background:#e9d8fd;border:1px solid #d6bcfa;color:#553c9a}.customer-card-body{padding:15px}.contact-info{margin-bottom:15px}.contact-item{align-items:center;color:#4a5568;display:flex;font-size:13px;gap:8px;margin-bottom:8px}.contact-item svg{color:#a0aec0;height:16px;width:16px}.customer-stats{border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px;padding-top:15px}.stat-item{align-items:center;color:#718096;display:flex;font-size:12px;gap:5px}.stat-item svg{height:14px;width:14px}.customer-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{background:#ebf8ff;border:1px solid #bee3f8;border-radius:12px;color:#2c5282;font-size:11px;padding:4px 8px}.customer-card-footer{background:#f7fafc;border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:space-between;padding:12px 15px}.btn-action{align-items:center;background:#f3f4f6;border:2px solid #6b7280;border-radius:6px;box-shadow:0 2px 4px #00000026;color:#111827;cursor:pointer;display:flex;font-weight:600;justify-content:center;min-height:42px;min-width:42px;padding:10px;transition:all .3s ease}.btn-action svg{height:20px;width:20px}.btn-action:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.btn-view{background:#fff!important;border:2px solid #6b7280!important;box-shadow:0 2px 4px #00000026!important;font-weight:600!important;padding:10px!important}.btn-view,.btn-view svg{color:#1f2937!important}.btn-view:hover{background:#3b82f6!important;border-color:#2563eb!important;box-shadow:0 5px 10px #3b82f680!important;color:#fff!important}.btn-edit{background:#fed7aa;border-color:#f59e0b}.btn-edit svg{color:#92400e}.btn-edit:hover{background:#f59e0b;border-color:#d97706;color:#fff}.btn-email{background:#e0e7ff;border-color:#6366f1}.btn-email svg{color:#3730a3}.btn-email:hover{background:#6366f1;border-color:#4f46e5;color:#fff}.btn-phone{background:#d1fae5;border-color:#10b981}.btn-phone svg{color:#065f46}.btn-phone:hover{background:#10b981;border-color:#059669;color:#fff}.btn-delete{background:#fee2e2;border-color:#ef4444}.btn-delete svg{color:#991b1b}.btn-delete:hover{background:#ef4444;border-color:#dc2626;color:#fff}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80}.modal-content{border:1px solid #e5e7eb;box-shadow:0 20px 60px #00000026;max-width:900px}.modal-header{border-bottom:1px solid #e5e7eb}.modal-header h3{align-items:center;color:#000;display:flex;font-size:26px;font-weight:900;gap:12px;text-shadow:0 2px 4px #0000001a}.modal-body{background-color:#f3f4f6;padding:28px;position:relative}.detail-section{background:#fff;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000001a}.detail-section h4{border-bottom:2px solid #e5e7eb;color:#1e40af;font-weight:700;letter-spacing:.5px;margin-bottom:15px;padding-bottom:8px}.detail-section p{font-size:16px;line-height:1.8;margin:12px 0}.detail-section strong{color:#374151;display:inline-block;font-weight:600;margin-right:12px;min-width:120px}.detail-section p span{color:#000!important;font-size:16px!important;font-weight:400!important;letter-spacing:.3px}.form-group label{color:#6b7280}.form-group input,.form-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:14px;padding:10px 12px;transition:all .3s ease}.form-group input:focus,.form-group select:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-actions,.modal-actions{border-top:1px solid #e5e7eb}.btn-primary,.btn-refresh,.btn-retry,.btn-secondary,.btn-sort{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 5px 15px #3b82f666}.btn-refresh,.btn-sort{align-items:center;background:#e5e7eb;border:2px solid #6b7280;border-radius:8px;box-shadow:0 2px 4px #00000026;color:#111827;cursor:pointer;display:flex;font-weight:600;justify-content:center;min-height:40px;min-width:40px;padding:10px;transition:all .3s ease}.btn-refresh:hover,.btn-sort:hover{background:#3b82f6;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f640;color:#fff;transform:translateY(-2px)}.filter-select{border:1px solid #d1d5db;color:#1f2937}.filter-select:hover{background:#fff;border-color:#3b82f6}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-select option{background:#fff;color:#1f2937}.no-data{color:#6b7280;grid-column:1/-1;padding:60px 20px}.no-data svg{margin-bottom:20px}.address-item{border-bottom:1px solid #e5e7eb;margin-bottom:12px;padding-bottom:12px}.address-item:last-child{border-bottom:none}.address-type{color:#1d4ed8;font-size:13px;font-weight:800;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.notes-list{list-style:none;margin:0;padding:0}.notes-list li{border-bottom:2px solid #cbd5e0;color:#000;font-size:15px;font-weight:600;padding:10px 0}.notes-list li:last-child{border-bottom:none}@media (max-width:1200px){.customers-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.stats-row{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.customers-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}.filter-row{flex-direction:column}.search-box{min-width:100%}.form-grid{grid-template-columns:1fr}.modal-content{max-height:90vh;width:95%}.detail-grid{grid-template-columns:1fr}}.form-group h4{color:#1a2332;font-size:14px;font-weight:600;margin-bottom:10px;margin-top:20px}.checkbox-label{background:#f8f9fa;border-radius:4px;margin-top:20px}.checkbox-label input[type=checkbox]{margin:0;width:auto}@media (max-width:480px){.stats-row{grid-template-columns:1fr}.header-top{flex-direction:column;gap:15px}.btn-new-customer{justify-content:center;width:100%}}.calendar-management{background:linear-gradient(135deg,#1a1a2e,#0f0f1e);color:#fff;min-height:calc(100vh - 100px);padding:20px}.calendar-management.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.spinner{text-align:center}.spinner svg{color:#4a9eff;margin:0 auto 10px}.calendar-header{margin-bottom:30px}.header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.calendar-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;font-size:28px;font-weight:600}.header-actions{gap:10px}.btn-new-slot{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-new-slot:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.stats-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;gap:12px;padding:15px;transition:all .3s ease}.stat-card:hover{border-color:#4a9eff4d;box-shadow:0 10px 30px #0000004d;transform:translateY(-3px)}.stat-icon{color:#4a9eff;height:24px;width:24px}.stat-icon.text-green{color:#4ade80}.stat-icon.text-blue{color:#3b82f6}.stat-icon.text-purple{color:#a855f7}.stat-icon.text-yellow{color:gold}.stat-content{display:flex;flex-direction:column}.stat-value{color:#374151;font-size:20px;font-weight:600}.stat-label{color:#999}.calendar-controls{align-items:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.month-navigation{align-items:center;display:flex;gap:20px}.btn-nav{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;color:#fff;cursor:pointer;padding:8px;transition:all .3s ease}.btn-nav:hover{background:#ffffff1a;transform:translateY(-2px)}.current-month{color:#fff;font-size:20px;font-weight:600}.view-controls{background:#ffffff0d;border-radius:8px;display:flex;gap:5px;padding:4px}.btn-view{background:#0000;border:none;border-radius:6px;color:#999;cursor:pointer;padding:8px 16px;transition:all .3s ease}.btn-view:hover{background:#ffffff0d}.btn-view.active{background:#4a9eff33;color:#4a9eff}.calendar-grid{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;padding:20px}.weekday-headers{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,1fr);margin-bottom:10px}.weekday-header{color:#999;font-size:12px;font-weight:600;padding:10px;text-align:center;text-transform:uppercase}.calendar-days{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,1fr)}.calendar-day{background:#ffffff05;border:1px solid #ffffff1a;border-radius:8px;cursor:pointer;min-height:120px;padding:8px;transition:all .3s ease}.calendar-day:hover{background:#ffffff0d;border-color:#4a9eff4d}.calendar-day.other-month{opacity:.3}.calendar-day.today{background:#4a9eff0d;border:2px solid #4a9eff}.calendar-day.weekend{background:#a855f705}.day-number{color:#e0e0e0;font-size:14px;font-weight:600;margin-bottom:8px}.day-slots{display:flex;flex-direction:column;gap:4px}.slot-indicator{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:11px;justify-content:space-between;padding:4px 6px;transition:all .3s ease}.slot-indicator:hover{transform:translateX(2px)}.slot-available{background:#4ade801a;border-left:3px solid #4ade80}.slot-minimal{background:#ffd7001a;border-left:3px solid gold}.slot-booked{background:#3b82f61a;border-left:3px solid #3b82f6}.slot-cancelled{background:#ff4a4a1a;border-left:3px solid #ff4a4a}.slot-completed{background:#9ca3af1a;border-left:3px solid #9ca3af}.slot-time{color:#e0e0e0;font-weight:600}.slot-participants{color:#999;font-size:10px}.more-slots{color:#666;font-size:10px;padding:2px;text-align:center}.modal-overlay{background:#000000b3;z-index:2000}.modal-content{background:linear-gradient(135deg,#1a1a2e,#0f0f1e);border:1px solid #ffffff1a;border-radius:12px}.modal-header{border-bottom:1px solid #ffffff1a;padding:20px}.modal-header h3{color:#fff;font-weight:600}.btn-close{color:#999;font-size:24px}.btn-close:hover{color:#ff4a4a}.modal-body{padding:20px}.detail-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:20px}.detail-section{background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;padding:15px}.detail-section h4{color:#4a9eff;font-size:14px;margin-bottom:10px;text-transform:uppercase}.detail-section p{color:#e0e0e0;font-size:14px;margin:8px 0}.detail-section strong{color:#999;margin-right:8px}.booking-item{align-items:center;border-bottom:1px solid #ffffff0d;display:flex;justify-content:space-between;padding:8px 0}.booking-item:last-child{border-bottom:none}.booking-customer{color:#e0e0e0;font-weight:500}.booking-participants{color:#999;font-size:12px}.booking-status{border-radius:12px;font-size:11px;font-weight:500;padding:3px 8px;text-transform:uppercase}.booking-status.confirmed{background:#4ade801a;border:1px solid #4ade804d;color:#4ade80}.booking-status.pending{background:#ffd7001a;border:1px solid #ffd7004d;color:gold}.form-group label{color:#999;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:#ffffff0d;border:1px solid #ffffff1a;color:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#ffffff14;border-color:#4a9eff80}.form-actions,.modal-actions{border-top:1px solid #ffffff1a;display:flex;gap:10px;padding-top:20px}.btn-danger,.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-secondary{background:#ffffff0d;border:1px solid #ffffff1a;color:#fff}.btn-secondary:hover{background:#ffffff1a}.btn-danger{background:#ff4a4a1a;border:1px solid #ff4a4a4d;color:#ff4a4a}.btn-danger:hover{background:#ff4a4a33}@media (max-width:1200px){.stats-row{grid-template-columns:repeat(3,1fr)}.calendar-days{gap:5px}.calendar-day{font-size:12px;min-height:100px}}@media (max-width:768px){.stats-row{grid-template-columns:repeat(2,1fr)}.calendar-controls{flex-direction:column;gap:15px}.month-navigation{justify-content:center;width:100%}.form-grid{grid-template-columns:1fr}.modal-content{max-height:90vh;width:95%}}@media (max-width:480px){.stats-row{grid-template-columns:1fr}.calendar-days{gap:2px;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:60px;padding:4px}.slot-indicator{font-size:9px}}.tour-type-management{background:linear-gradient(135deg,#f0f4f8,#e2e8f0);color:#1a202c;min-height:calc(100vh - 100px);padding:20px}.loading{align-items:center;color:#718096;display:flex;justify-content:center;min-height:400px}.error-message{background:#fee2e2;border:1px solid #ef4444;border-radius:8px;color:#991b1b;font-size:14px;padding:15px}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.page-header h1{color:#2d3748;font-size:28px;font-weight:600;margin:0}.btn-primary{align-items:center;background:linear-gradient(135deg,#4299e1,#667eea);border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-primary .icon{height:20px;width:20px}.tour-types-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.tour-type-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:hidden;transition:all .3s ease}.tour-type-card:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.card-header{align-items:flex-start;background:#f7fafc;border-bottom:1px solid #e2e8f0;border-left:4px solid;display:flex;justify-content:space-between;padding:15px}.card-title{align-items:center;display:flex;flex:1 1;gap:12px}.code-badge{border-radius:6px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.card-title h3{color:#2d3748;font-size:18px;font-weight:600;margin:0}.card-actions{display:flex;gap:8px}.btn-icon{align-items:center;border:1px solid #cbd5e0;display:flex;justify-content:center;padding:8px;transition:all .3s ease}.btn-icon .icon{color:#4a5568;height:18px;width:18px}.btn-icon:hover{background:#edf2f7;border-color:#a0aec0}.btn-icon.btn-danger:hover{background:#fee2e2;border-color:#ef4444}.btn-icon.btn-danger:hover .icon{color:#dc2626}.card-body{padding:15px}.description{color:#4a5568;font-size:14px;line-height:1.6;margin:0 0 15px}.info-grid{grid-gap:12px;border-top:1px solid #e2e8f0;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);padding-top:15px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item .label{color:#718096;font-size:12px;font-weight:500;text-transform:uppercase}.info-item .value{color:#2d3748;font-size:16px;font-weight:600}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;text-transform:uppercase}.badge-success{background:#10b981;color:#fff}.badge-secondary{background:#e2e8f0;color:#718096}.dialog-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.dialog{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 20px 60px #00000026;max-height:85vh;max-width:700px;overflow-y:auto;width:90%}.dialog-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px}.dialog-header h2{color:#1f2937;font-size:24px;font-weight:700;margin:0}.btn-close{align-items:center;background:#0000;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:28px;height:30px;justify-content:center;line-height:1;padding:0;transition:all .3s ease;width:30px}.btn-close:hover{background:#f3f4f6;border-radius:6px;color:#1f2937}.dialog-body{background-color:#f9fafb;padding:25px}.form-group label{color:#374151;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-family:inherit}.form-group input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{min-height:80px}.form-group input[type=color]{cursor:pointer;height:50px;padding:5px}.checkbox-label{background:#f9fafb;border-radius:6px;gap:8px;margin-top:8px;padding:10px}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.dialog-footer{background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px}.btn-secondary{border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.btn-secondary:hover{background:#f3f4f6;border-color:#9ca3af;color:#1f2937}@media (max-width:1200px){.tour-types-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}@media (max-width:768px){.form-grid,.tour-types-grid{grid-template-columns:1fr}.page-header{align-items:stretch;flex-direction:column}.page-header h1{font-size:24px}.btn-primary{justify-content:center;width:100%}.dialog{max-height:90vh;width:95%}.info-grid{grid-template-columns:1fr}}@media (max-width:480px){.dialog-header h2,.page-header h1{font-size:20px}}.price-tier-editor{background-color:#f8f9fa;border-radius:8px;margin-top:2rem;padding:1.5rem}.price-tier-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.price-tier-header h3{color:#333;font-size:1.25rem;font-weight:600;margin:0}.btn-add-tier{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.btn-add-tier:hover{background-color:#0056b3}.price-tier-errors{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;margin-bottom:1rem;padding:1rem}.error-message{color:#721c24;font-size:.875rem;margin:.25rem 0}.price-tier-empty{color:#6c757d;padding:2rem;text-align:center}.price-tier-empty p{margin:.5rem 0}.text-muted{color:#6c757d!important;font-size:.875rem}.price-tier-list{display:flex;flex-direction:column;gap:1rem}.price-tier-item{background-color:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;gap:1rem;padding:1rem}.price-tier-fields{grid-gap:1rem;display:grid;flex:1 1;gap:1rem;grid-template-columns:1fr 1fr 1fr}.form-group label{color:#495057;font-size:.875rem;font-weight:500;margin-bottom:.375rem}.form-group input{border:1px solid #ced4da;border-radius:4px;font-size:.875rem;padding:.5rem;transition:border-color .15s,box-shadow .15s}.form-group input:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.btn-remove-tier{align-items:center;align-self:center;background-color:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;font-weight:700;height:36px;justify-content:center;transition:background-color .2s;width:36px}.btn-remove-tier:hover{background-color:#c82333}.price-tier-info{background-color:#d1ecf1;border:1px solid #bee5eb;border-radius:6px;margin-top:1rem;padding:1rem}.price-tier-info p{color:#0c5460;font-size:.875rem;margin:0}.price-tier-info strong{font-weight:600}@media (max-width:768px){.price-tier-fields{grid-template-columns:1fr}.price-tier-item{flex-direction:column}.btn-remove-tier{align-self:flex-end}}.payment-overview{background:linear-gradient(135deg,#e6f2ff,#f0f8ff);min-height:100vh;padding:40px 20px}.payment-header{margin-bottom:40px}.payment-header h2{color:#1e293b;font-size:32px;font-weight:700;margin-bottom:30px;text-shadow:2px 2px 4px #0000001a}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:30px}.stat-card{gap:15px;padding:20px}.stat-card.danger{background:linear-gradient(135deg,#ef5350,#e53935);color:#1e293b}.stat-card.info{background:linear-gradient(135deg,#ab47bc,#8e24aa)}.stat-icon{font-size:32px;height:50px;width:50px}.stat-label{font-size:12px;margin-bottom:5px;opacity:.8}.stat-value{font-size:24px}.payment-controls{align-items:center;background:#ffffff1a;border-radius:16px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px;padding:20px}.filter-section{display:flex;flex:1 1;flex-wrap:wrap;gap:15px}.search-input{background:#fffffff2;border:none;border-radius:8px;min-width:250px;padding:12px 20px;transition:all .3s ease}.search-input:focus{box-shadow:0 0 0 3px #ffffff4d}.filter-select{background:#fffffff2;border:none;padding:12px 20px}.filter-select:focus{box-shadow:0 0 0 3px #ffffff4d}.date-input{background:#fffffff2;border:none;cursor:pointer;padding:12px 20px}.date-input:focus{box-shadow:0 0 0 3px #ffffff4d}.action-buttons{display:flex;gap:15px}.btn-primary:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#ef5350,#e53935);color:#1e293b}.btn-danger:hover{box-shadow:0 5px 15px #ef535066;transform:translateY(-2px)}.btn-icon{font-size:20px}.payment-table-container{background:#fffffff2;border-radius:16px;box-shadow:0 10px 30px #0000001a;overflow:hidden}.payment-table{border-collapse:collapse;width:100%}.payment-table thead{background:linear-gradient(135deg,#e6f2ff,#f0f8ff);color:#1e293b}.payment-table th{cursor:pointer;font-weight:600;padding:15px;text-align:left;-webkit-user-select:none;user-select:none;white-space:nowrap}.payment-table th:hover{background:#ffffff1a}.payment-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s ease}.payment-table tbody tr:hover{background:#f8f9fa}.payment-table tbody tr.overdue{background:#ff00000d}.payment-table td{font-size:14px;padding:15px}.customer-info{display:flex;flex-direction:column;gap:4px}.customer-email{color:#666;font-size:12px}.amount-info{display:flex;flex-direction:column;gap:4px}.amount-main{color:#333;font-size:16px;font-weight:600}.amount-detail{color:#666;font-size:11px;line-height:1.4}.status-badge{color:#1e293b;display:inline-block;white-space:nowrap}.method-badge,.status-badge{border-radius:20px;padding:6px 12px}.method-badge{align-items:center;background:#667eea1a;display:inline-flex;font-size:12px;font-weight:500;gap:5px}.text-danger{color:#e53935;font-weight:600}.overdue-icon{color:#e53935;font-weight:700}.action-buttons-inline{display:flex;gap:10px}.no-data{color:#666;font-size:16px;padding:60px;text-align:center}.modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideIn .3s ease;background:#fff;border-radius:16px;max-height:85vh;max-width:800px;overflow-y:auto;width:90%}.modal-header{align-items:center;background:linear-gradient(135deg,#e6f2ff,#f0f8ff);border-bottom:1px solid #e0e0e0;border-radius:16px 16px 0 0;color:#1e293b;display:flex;justify-content:space-between;padding:25px}.modal-header h3{font-size:20px;margin:0}.modal-close{align-items:center;background:none;border:none;color:#1e293b;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:transform .2s ease;width:32px}.modal-close:hover{transform:scale(1.2)}.modal-body{padding:25px}.detail-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-bottom:30px}.detail-section{background:#f8f9fa;border-radius:12px;padding:20px}.detail-section.full-width{grid-column:1/-1}.detail-section h4{color:#333;font-size:16px;font-weight:600;margin:0 0 15px}.detail-row{border-bottom:1px solid #e0e0e0}.detail-label{color:#666;font-size:13px;font-weight:500}.detail-value{color:#333;font-size:13px;font-weight:600;text-align:right}.notes-text{color:#555;font-size:14px;line-height:1.6;margin:0}.modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:15px;justify-content:flex-end;padding-top:20px}.payment-form{padding:10px 0}.form-grid{grid-template-columns:1fr 1fr}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group textarea{font-family:inherit;resize:vertical}.form-actions{border-top:1px solid #e0e0e0;display:flex;gap:15px;justify-content:flex-end;padding-top:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}.detail-grid{grid-template-columns:1fr}}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.payment-controls{flex-direction:column}.filter-section{width:100%}.form-grid{grid-template-columns:1fr}.payment-table{font-size:12px}.payment-table td,.payment-table th{padding:10px}.modal-content{max-height:90vh;width:95%}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.search-input{min-width:100%}.action-buttons{flex-direction:column;width:100%}.btn{justify-content:center;width:100%}.payment-table thead{display:none}.payment-table tbody tr{background:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;display:block;margin-bottom:15px;padding:15px}.payment-table tbody td{display:block;padding:5px 0;text-align:left}.payment-table tbody td:before{content:attr(data-label);display:inline-block;font-weight:600;width:100px}}.invoice-management{margin:0 auto;max-width:1400px;padding:24px}.invoice-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.invoice-header h1{color:#2c5aa0;font-size:28px;font-weight:600;margin:0}.header-actions{display:flex;gap:12px}.header-actions button{border-radius:6px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-primary{background:#2c5aa0;border:2px solid #2c5aa0;color:#fff}.btn-primary:hover{background:#234787;border-color:#234787}.btn-primary.active{background:#1e3a6f;box-shadow:0 2px 4px #00000026;color:#fff;font-weight:600}.btn-secondary{background:#fff;border:2px solid #2c5aa0;color:#2c5aa0}.btn-secondary:hover{background:#f0f4f8}.search-filter-bar{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;gap:12px;margin-bottom:20px;padding:16px}.search-input{border:2px solid #e0e0e0;border-radius:6px;flex:1 1;font-size:14px;padding:10px 16px;transition:border-color .2s}.search-input:focus{border-color:#2c5aa0;outline:none}.status-filter{background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:14px;min-width:180px;padding:10px 16px;transition:border-color .2s}.status-filter:focus{border-color:#2c5aa0;outline:none}.results-count{color:#666;font-size:14px;font-weight:500;padding:0 8px;white-space:nowrap}.text-muted{color:#999;font-style:italic}.invoices-table{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.invoices-table thead{background:#0000;color:#fff}.invoices-table thead tr{background:#2c5aa0}.invoices-table th{background:inherit;font-size:14px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.invoices-table th:first-child{border-top-left-radius:8px}.invoices-table th:last-child{border-top-right-radius:8px}.invoices-table tbody tr{border-bottom:1px solid #e0e0e0;cursor:pointer;transition:background .2s}.invoices-table tbody tr:hover{background:#f8f9fa}.invoices-table td{color:#333;font-size:14px;padding:14px 16px}.invoice-number{color:#2c5aa0;font-weight:600}.amount,.invoice-number{font-family:Courier New,monospace}.amount{font-weight:500;text-align:right}.status-badge{letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.status-draft{background:#f0f0f0;color:#666}.status-sent{background:#e3f2fd;color:#1976d2}.status-paid{background:#e8f5e9;color:#388e3c}.status-overdue{background:#ffebee;color:#d32f2f}.status-partial{background:#fff3e0;color:#f57c00}.actions{display:flex;gap:8px}.btn-icon{background:#f0f8ff;border:1px solid #d0e4f7;border-radius:6px;box-shadow:0 1px 2px #0000000d;padding:6px 10px;transition:all .2s}.btn-icon:hover{background:#e3f2fd;border-color:#2c5aa0;box-shadow:0 2px 4px #2c5aa033;transform:translateY(-1px)}.btn-icon:active{box-shadow:0 1px 2px #0000000d;transform:translateY(0)}.generate-invoice{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:24px}.generate-invoice h2{color:#2c5aa0;margin-bottom:24px}.bookings-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.booking-card{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;padding:20px;transition:all .2s}.booking-card:hover{border-color:#2c5aa0;box-shadow:0 4px 12px #2c5aa01a}.booking-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.booking-header h3{color:#333;font-size:18px;margin:0}.booking-id{color:#666;font-family:Courier New,monospace;font-size:12px}.booking-details{margin-bottom:16px}.booking-details p{color:#555;font-size:14px;margin:8px 0}.booking-details strong{color:#2c5aa0}.booking-actions{display:flex;flex-direction:column;gap:10px}.btn-sm{border-radius:6px;box-shadow:0 1px 3px #0000001a;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.booking-actions .btn-primary{background:#6b9bd8;border:2px solid #6b9bd8;color:#fff}.booking-actions .btn-primary:hover{background:#2c5aa0;border-color:#2c5aa0;box-shadow:0 2px 6px #2c5aa04d;transform:translateY(-1px)}.booking-actions .btn-primary:active{box-shadow:0 1px 3px #0000001a;transform:translateY(0)}.booking-actions .btn-secondary{background:#fff;border:2px solid #2c5aa0;color:#2c5aa0}.booking-actions .btn-secondary:hover{background:#f0f4f8;box-shadow:0 2px 6px #2c5aa04d;transform:translateY(-1px)}.booking-actions .btn-secondary:active{box-shadow:0 1px 3px #0000001a;transform:translateY(0)}.empty-state{color:#666;padding:60px 20px;text-align:center}.empty-state p{font-size:16px;margin-bottom:20px}.empty-state button{background:#2c5aa0;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:12px 24px}.empty-state button:hover{background:#234787}.loading{color:#666;font-size:18px;padding:60px;text-align:center}.error-message{align-items:center;background:#ffebee;border-radius:6px;color:#c62828;display:flex;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.error-message button{background:#0000;border:none;color:#c62828;cursor:pointer;font-size:20px;padding:0 8px}.reports-container{background:linear-gradient(135deg,#e6f2ff,#f0f8ff);min-height:100vh;padding:40px 20px}.reports-header{margin-bottom:40px;text-align:center}.reports-header h2{color:#1e293b;font-size:36px;font-weight:700;margin-bottom:10px;text-shadow:2px 2px 4px #0000001a}.reports-header p{color:#64748b;font-size:16px}.reports-controls{align-items:flex-end;background:#fffffff2;border-radius:16px;box-shadow:0 10px 30px #0000001a;display:flex;flex-wrap:wrap;gap:30px;margin-bottom:30px;padding:25px}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:200px}.filter-group label{color:#333;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.filter-select{background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:14px;padding:12px 15px;transition:all .3s ease}.filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.date-range{align-items:center;display:flex;gap:10px}.date-input{border:1px solid #ddd;border-radius:8px;flex:1 1;font-size:14px;padding:12px 15px;transition:all .3s ease}.date-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.date-separator{color:#666;font-weight:500}.export-buttons{display:flex;gap:15px;margin-left:auto}.btn{align-items:center;display:inline-flex;gap:8px}.btn-secondary{background:linear-gradient(135deg,#f5f5f5,#e0e0e0)}.btn-secondary:hover{box-shadow:0 5px 15px #0000001a}.loading-container{color:#1e293b;padding:80px 20px}.spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-top-color:#1e293b;height:50px;margin-bottom:20px;width:50px}.summary-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:30px}.stat-card{align-items:center;background:#fffffff2;border-radius:16px;box-shadow:0 10px 30px #0000001a;display:flex;gap:20px;padding:25px;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-card.primary{background:linear-gradient(135deg,#e6f2ff,#f0f8ff);color:#1e293b}.stat-card.success{background:linear-gradient(135deg,#66bb6a,#43a047);color:#1e293b}.stat-card.info{background:linear-gradient(135deg,#42a5f5,#1e88e5);color:#1e293b}.stat-card.warning{background:linear-gradient(135deg,#ffa726,#fb8c00);color:#1e293b}.stat-icon{align-items:center;display:flex;font-size:36px;height:60px;justify-content:center;width:60px}.stat-content{flex:1 1}.stat-label{font-size:13px;letter-spacing:.5px;margin-bottom:8px;opacity:.9;text-transform:uppercase}.stat-value{font-size:28px;font-weight:700}.report-content{background:#fffffff2;border-radius:16px;box-shadow:0 10px 30px #0000001a;padding:30px}.report-section h3{border-bottom:2px solid #f0f0f0;color:#333;font-size:24px;font-weight:600;margin-bottom:25px;padding-bottom:15px}.chart-container{align-items:center;background:#f8f9fa;border-radius:12px;display:flex;justify-content:center;margin-bottom:30px;min-height:400px;padding:40px}.chart-placeholder{color:#999;text-align:center}.chart-placeholder p:first-child{font-size:48px;margin-bottom:10px}.chart-placeholder p:last-child{color:#666;font-size:14px}.data-table{overflow-x:auto}.data-table table{border-collapse:collapse;width:100%}.data-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#333;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #f0f0f0;color:#555;font-size:14px;padding:12px}.data-table tbody tr:hover{background:#f8f9fa}.performance-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px}.performance-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .3s ease}.performance-card:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-2px)}.performance-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.performance-header h4{color:#333;font-size:16px;font-weight:600;margin:0}.popularity-badge{background:linear-gradient(90deg,#4caf50 50%,#e0e0e0 0);border-radius:20px;color:#1e293b;font-size:12px;font-weight:600;padding:5px 12px;white-space:nowrap}.performance-stats{display:flex;flex-direction:column;gap:12px}.perf-stat{align-items:center;display:flex;justify-content:space-between}.perf-label{color:#666;font-size:13px}.perf-value{color:#333;font-size:15px;font-weight:600}.customer-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(5,1fr);margin-bottom:40px}.stat-box{background:#f8f9fa;border-radius:12px;padding:20px;text-align:center;transition:all .3s ease}.stat-box:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-3px)}.stat-box.highlight-new{background:linear-gradient(135deg,#66bb6a,#43a047);color:#1e293b}.stat-box.highlight-returning{background:linear-gradient(135deg,#42a5f5,#1e88e5);color:#1e293b}.stat-box.highlight-vip{background:linear-gradient(135deg,gold,#ffa000);color:#1e293b}.stat-number{font-size:32px;font-weight:700;margin-bottom:8px}.top-customers{margin-top:30px}.top-customers h4{color:#333;font-size:18px;font-weight:600;margin-bottom:20px}.customer-ranking{display:flex;flex-direction:column;gap:15px}.customer-rank-item{align-items:center;background:#f8f9fa;border-radius:12px;display:flex;gap:20px;padding:15px;transition:all .3s ease}.customer-rank-item:hover{background:#e8eaf6;transform:translateX(5px)}.rank-number{color:#667eea;font-size:24px;font-weight:700;width:40px}.customer-info{flex:1 1}.customer-name{color:#333;font-size:16px;font-weight:600;margin-bottom:5px}.customer-stats{color:#666;font-size:13px}.seasonal-overview{margin-top:20px}.seasonal-table{margin-top:30px}.seasonal-table table{border-collapse:collapse;width:100%}.seasonal-table th{background:#f8f9fa;color:#333;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.seasonal-table td{border-bottom:1px solid #f0f0f0;padding:12px}.occupancy-bar{background:#e0e0e0;border-radius:12px;height:24px;overflow:hidden;position:relative;width:100%}.occupancy-fill{align-items:center;color:#1e293b;display:flex;font-size:12px;font-weight:600;height:100%;justify-content:center;transition:width .5s ease}.trend-up{color:#4caf50;font-size:20px}.trend-down{color:#f44336;font-size:20px}.occupancy-content{margin-top:20px}.occupancy-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-top:30px}.summary-card{background:#f8f9fa;border-radius:12px;padding:25px;text-align:center;transition:all .3s ease}.summary-card:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-3px)}.summary-card h4{color:#666;font-size:14px;font-weight:500;letter-spacing:.5px;margin:0 0 15px;text-transform:uppercase}.big-number{color:#667eea;font-size:42px;font-weight:700;margin-bottom:10px}.summary-card p{color:#999;font-size:13px;margin:0}@media (max-width:1200px){.summary-stats{grid-template-columns:repeat(2,1fr)}.customer-stats{grid-template-columns:repeat(3,1fr)}.occupancy-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.reports-controls{flex-direction:column;gap:20px}.filter-group{width:100%}.export-buttons{justify-content:stretch;width:100%}.export-buttons .btn{flex:1 1}.performance-grid,.summary-stats{grid-template-columns:1fr}.customer-stats{grid-template-columns:repeat(2,1fr)}.occupancy-summary{grid-template-columns:1fr}.data-table{font-size:12px}.data-table td,.data-table th{padding:8px}}@media (max-width:480px){.reports-header h2{font-size:28px}.customer-stats{grid-template-columns:1fr}.date-range{flex-direction:column;gap:10px}.date-input{width:100%}.big-number{font-size:32px}.seasonal-table{overflow-x:auto}.seasonal-table table{min-width:500px}}.settings-container{background:linear-gradient(135deg,#e6f2ff,#f0f8ff);min-height:100vh;padding:40px 20px}.settings-header{margin-bottom:40px;text-align:center}.settings-header h2{color:#1e293b;font-size:36px;font-weight:700;margin-bottom:10px}.settings-header p{color:#64748b;font-size:16px}.success-message{animation:slideIn .3s ease;background:#4caf50;border-radius:8px;color:#1e293b;margin-bottom:20px;padding:15px;text-align:center}.settings-tabs{background:#ffffff1a;border-radius:16px;display:flex;gap:10px;margin-bottom:30px;overflow-x:auto;padding:20px}.tab-button{align-items:center;background:#ffffffe6;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.tab-button:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-2px)}.tab-button.active{background:linear-gradient(135deg,#e6f2ff,#f0f8ff);color:#1e293b}.tab-icon{font-size:18px}.settings-content{background:#fffffff2;border-radius:16px;box-shadow:0 10px 30px #0000001a;padding:30px}.settings-section h3{border-bottom:2px solid #f0f0f0;color:#333;font-size:24px;margin-bottom:25px;padding-bottom:15px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width{grid-column:1/-1}.form-group label{color:#333;font-size:13px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .3s ease}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:10px}.payment-providers{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.provider-card{background:#f8f9fa;border-radius:12px;padding:20px;position:relative}.provider-card h4{font-size:18px;margin:0 0 15px}.provider-config{display:flex;flex-direction:column;gap:10px;margin-top:15px}.provider-config input{border:1px solid #ddd;border-radius:6px;font-size:13px;padding:8px 12px}.toggle-switch{height:24px;position:absolute;right:20px;top:20px;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.toggle-slider:before{background-color:#1e293b;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.4s;width:18px}input:checked+.toggle-slider{background-color:#667eea}input:checked+.toggle-slider:before{transform:translateX(26px)}.users-table{overflow-x:auto}.users-table table{border-collapse:collapse;width:100%}.users-table th{background:#f8f9fa;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:12px}.role-badge{background:linear-gradient(135deg,#e6f2ff,#f0f8ff);color:#1e293b}.role-badge,.status-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 10px}.status-badge.active{background:#4caf50;color:#1e293b}.status-badge.inactive{background:#f44336;color:#1e293b}.backup-options{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px}.backup-card{background:#f8f9fa;border-radius:12px;padding:25px;text-align:center}.backup-card h4{color:#333;font-size:20px;margin:0 0 10px}.backup-card p{color:#666;font-size:14px;margin-bottom:20px}.file-input{margin-bottom:15px;width:100%}.settings-actions{background:#ffffff1a;border-radius:16px;display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding:20px}.btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#e6f2ff,#f0f8ff);color:#1e293b}.btn-primary:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#fffffff2;color:#333}.btn-secondary:hover{background:#fff;transform:translateY(-2px)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-icon{background:#0000;border:none;cursor:pointer;font-size:18px;padding:5px;transition:transform .2s ease}.btn-icon:hover{transform:scale(1.2)}.mb-20{margin-bottom:20px}@media (max-width:768px){.form-grid{grid-template-columns:1fr}.settings-tabs{flex-wrap:wrap}.settings-actions{flex-direction:column}.settings-actions .btn{width:100%}}.payment-test-container{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 10px 30px #0003;color:#fff;margin:20px 0;padding:24px}.payment-test-container h3{font-size:24px;margin:0 0 12px}.payment-test-container p{margin:0 0 20px;opacity:.9}.test-bookings{grid-gap:12px;display:grid;gap:12px;margin-bottom:24px}.test-booking-button{align-items:center;background:#fff;border:none;border-radius:8px;box-shadow:0 2px 10px #0000001a;color:#333;cursor:pointer;display:flex;justify-content:space-between;padding:16px;transition:all .3s ease}.test-booking-button:hover{box-shadow:0 4px 20px #00000026;transform:translateY(-2px)}.booking-info{align-items:flex-start;display:flex;flex-direction:column;gap:4px}.booking-info strong{color:#333;font-size:16px}.booking-info span{color:#666;font-size:14px}.booking-amount{color:#667eea;font-size:20px;font-weight:700}.test-action{align-items:center;color:#667eea;display:flex;font-weight:500}.test-cards-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:8px;padding:16px}.test-cards-info h4{font-size:16px;margin:0 0 12px}.test-cards-info ul{list-style:none;margin:0 0 12px;padding:0}.test-cards-info li{font-size:14px;padding:4px 0}.test-cards-info p{font-size:13px;margin:0;opacity:.8}.checkout-container{margin:0 auto;max-width:1200px;padding:40px 20px}.checkout-header{margin-bottom:40px;text-align:center}.checkout-header h1{color:#1f2937;font-size:32px;margin:0 0 8px}.booking-number{color:#6b7280;font-size:16px}.checkout-content{grid-gap:32px;display:grid;gap:32px}.booking-summary{background:#fff;border-radius:12px;box-shadow:0 2px 20px #00000014;padding:24px}.booking-summary h2{border-bottom:1px solid #e5e7eb;color:#374151;font-size:20px;margin:0 0 24px;padding-bottom:12px}.summary-card{gap:24px}.summary-card,.summary-details{display:flex;flex-direction:column}.summary-details{gap:12px}.detail-row{align-items:center;border-bottom:1px dashed #e5e7eb;display:flex;justify-content:space-between;padding:8px 0}.detail-row:last-child{border-bottom:none}.detail-row .label{color:#6b7280;font-size:14px;font-weight:500}.detail-row .value{color:#1f2937;font-size:14px;font-weight:500;text-align:right}.price-summary{background:#f9fafb;border-radius:8px;margin-top:20px;padding:20px}.price-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.price-row.highlight{background:#fff;border:2px solid #3b82f6;border-radius:6px;margin:12px -12px 0;padding:16px 12px}.total-amount{color:#6b7280;font-size:20px;font-weight:600}.deposit-amount{color:#3b82f6;font-size:24px;font-weight:700}.payment-note{background:#fef3c7;border-radius:6px;color:#92400e;font-size:13px;line-height:1.5;margin-top:16px;padding:12px}.checkout-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.spinner{animation:spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:48px;width:48px}.checkout-loading p{color:#6b7280;font-size:16px}.checkout-error{background:#fff;border-radius:12px;box-shadow:0 2px 20px #00000014;margin:40px auto;max-width:500px;padding:40px;text-align:center}.checkout-error h2{color:#ef4444;font-size:24px;margin:0 0 16px}.checkout-error p{color:#6b7280;font-size:16px;margin:0 0 24px}.checkout-error button{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;padding:12px 24px;transition:all .2s}.checkout-error button:hover{background:#2563eb;box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}@media (max-width:768px){.checkout-container{padding:20px 12px}.checkout-header h1{font-size:24px}.detail-row{align-items:flex-start;flex-direction:column;gap:4px}.detail-row .value{font-size:16px;text-align:left}.price-row.highlight{margin:12px -8px 0;padding:12px 8px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#2c2c2c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}.loading-container{align-items:center;background:linear-gradient(135deg,#8b4513,#1e4d72);color:#fff;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #fff3;border-left-color:#fff;border-radius:50%;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-container{align-items:center;background:linear-gradient(135deg,#8b4513,#1e4d72);justify-content:center}.app-main,.auth-container{display:flex;min-height:100vh}.app-main{flex-direction:column}.app-header{background:linear-gradient(135deg,#1e4d72,#2a5a87);box-shadow:0 2px 10px #0000001a;color:#fff;height:70px}.app-header,.header-content{align-items:center;display:flex}.header-content{gap:2rem;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1rem;width:100%}.header-title{align-items:center;display:flex;gap:.5rem}.header-logo{background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000026;filter:brightness(1.1);height:56px;object-fit:contain;padding:6px 8px;width:auto}.header-content h1{font-size:1.3rem;font-weight:600;margin:0}.main-navigation{background:#ffffff1a;border-radius:8px;display:flex;flex:1 1;gap:.5rem;justify-content:center;padding:.25rem}.nav-tab{align-items:center;background:#0000;border:none;border-radius:6px;color:#ffffffe6;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease;white-space:nowrap}.nav-tab .nav-icon{align-items:center;display:inline-flex;font-size:1.2rem}.nav-tab .nav-text{font-size:.9rem}.nav-tab:hover{background:#fff3;color:#fff;transform:translateY(-1px)}.nav-tab.active{background:#ffffffe6;color:#1e4d72;font-weight:600}.user-menu{align-items:center;display:flex;gap:1rem}.user-info{align-items:flex-end;display:flex;flex-direction:column;gap:.2rem}.user-name{color:#fff;font-size:.9rem;font-weight:500}.admin-badge{background:#ffd700e6;border-radius:12px;color:#1e4d72;font-size:.7rem;font-weight:600;padding:.1rem .5rem;text-transform:uppercase}.logout-button{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;box-shadow:none;color:#ffffffe6;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.4rem;padding:.5rem 1rem;transition:all .3s ease}.logout-button:hover{background:#fff3;border-color:#ffffff4d;box-shadow:0 2px 8px #0000001a;color:#fff;transform:translateY(-1px)}.logout-icon{flex-shrink:0;height:18px;width:18px}.logout-text{font-size:.9rem}.app-content{flex:1 1;padding:2rem 0}.dashboard-container{margin:0 auto;max-width:1200px;padding:0 1rem}.dashboard-container h2{color:#1e4d72;font-size:2rem;margin-bottom:.5rem}.dashboard-container>p{color:#6c757d;font-size:1.1rem;margin-bottom:3rem}.dashboard-cards{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem}.dashboard-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 15px #00000014;padding:2rem;transition:all .3s ease}.dashboard-card:hover{box-shadow:0 8px 25px #0000001f;transform:translateY(-4px)}.dashboard-card h3{color:#1e4d72;font-size:1.25rem;margin-bottom:.75rem}.dashboard-card p{color:#6c757d;line-height:1.5;margin-bottom:1.5rem}.card-button{background:linear-gradient(135deg,#1e4d72,#2a5a87);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease;width:100%}.card-button:hover{background:linear-gradient(135deg,#16435e,#1e4d72);box-shadow:0 4px 12px #1e4d724d;transform:translateY(-1px)}@media (max-width:768px){.app-header{height:auto;min-height:60px}.header-content{flex-direction:column;gap:1rem;padding:1rem;text-align:center}.header-title{flex-direction:column;gap:.25rem}.header-logo{border-radius:6px;height:48px;padding:5px 7px}.header-content h1{font-size:1.1rem}.main-navigation{background:#ffffff26;order:2;width:100%}.nav-tab{flex:1 1;font-size:.8rem;padding:.5rem 1rem}.user-menu{flex-direction:column;gap:.5rem;order:3}.dashboard-container{padding:0 1rem}@media (max-width:480px){.app-header{height:auto;min-height:50px}.header-logo{border-radius:5px;height:40px;padding:4px 6px}.nav-tab{font-size:.75rem;padding:.4rem .8rem}}.dashboard-container h2{font-size:1.5rem}.dashboard-cards{gap:1.5rem;grid-template-columns:1fr}.dashboard-card{padding:1.5rem}}@media (max-width:480px){.app-header{height:50px}.app-content{padding:1rem 0}.header-logo{border-radius:5px;height:40px;padding:4px 6px}.dashboard-container h2{font-size:1.25rem}.dashboard-container>p{font-size:1rem;margin-bottom:2rem}}
/*# sourceMappingURL=main.bd5992b3.css.map*/