body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.session-warning-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#000000b3;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:10000}.session-warning-modal{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:400px;padding:2rem;width:90vw}.session-warning-header{margin-bottom:1.5rem;text-align:center}.session-warning-header h3{color:#dc3545;font-size:1.5rem;font-weight:600;margin:0}.session-warning-content{margin-bottom:2rem;text-align:center}.session-warning-content p{color:#6c757d;font-size:1rem;margin:.5rem 0}.countdown-timer{background:linear-gradient(135deg,#ffeaa7,#fab1a0);border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:1.5rem 0;padding:1rem}.time-display{color:#2d3436;font-family:Courier New,monospace;font-size:2.5rem;font-weight:700;text-shadow:1px 1px 2px #0000001a}.session-warning-actions{display:flex;gap:1rem;justify-content:center}.session-warning-actions .btn{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;min-width:140px;padding:.75rem 1.5rem;transition:all .2s ease}.session-warning-actions .btn-primary{background:linear-gradient(135deg,#0984e3,#00b894);color:#fff}.session-warning-actions .btn-primary:hover{background:linear-gradient(135deg,#0770c7,#00a085);transform:translateY(-1px)}.session-warning-actions .btn-secondary{background:#6c757d;color:#fff}.session-warning-actions .btn-secondary:hover{background:#5a6268;transform:translateY(-1px)}.session-warning-actions .btn:active{transform:translateY(0)}@media (max-width:480px){.session-warning-modal{margin:1rem;padding:1.5rem}.session-warning-actions{flex-direction:column}.session-warning-actions .btn{min-width:auto;width:100%}.time-display{font-size:2rem}}.password-input-container{width:100%}.password-input-label{color:#374151;display:block;font-weight:500;margin-bottom:6px}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-field{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 40px 10px 12px;width:100%}.password-input-field:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.password-input-field:disabled{background-color:#f3f4f6;cursor:not-allowed}.password-toggle-button{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:8px;transition:color .2s}.password-toggle-button:hover:not(:disabled){background-color:#0000000d;color:#374151}.password-toggle-button:disabled{cursor:not-allowed;opacity:.5}.password-requirements{animation:slideDown .2s ease-out;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-top:8px;padding:12px}.password-requirements.all-met{background:#f0fdf4;border-color:#bbf7d0}.password-requirements ul{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,1fr);list-style:none;margin:0;padding:0}@media (max-width:400px){.password-requirements ul{grid-template-columns:1fr}}.password-requirements .requirement{align-items:center;display:flex;font-size:12px;gap:6px;transition:color .2s}.password-requirements .requirement.pending{color:#6b7280}.password-requirements .requirement.met{color:#15803d}.password-requirements .requirement.unmet{color:#dc2626}.password-requirements .requirement-icon{font-weight:600;text-align:center;width:14px}.password-requirements .requirement.met .requirement-icon{color:#16a34a}.password-requirements .requirement.unmet .requirement-icon{color:#dc2626}.password-requirements .requirement-text{flex:1 1}.social-login-container{margin-top:20px}.social-login-divider{align-items:center;display:flex;margin-bottom:16px;text-align:center}.social-login-divider:after,.social-login-divider:before{border-bottom:1px solid #e5e7eb;content:"";flex:1 1}.social-login-divider span{color:#6b7280;font-size:13px;padding:0 16px;text-transform:lowercase}.social-login-buttons{display:flex;flex-direction:column;gap:10px}.social-login-button{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;justify-content:center;padding:10px 16px;transition:all .2s ease;width:100%}.social-login-button:hover:not(:disabled){background:#f9fafb}.social-login-button:disabled{cursor:not-allowed;opacity:.5}.social-icon{flex-shrink:0;height:18px;width:18px}.google-button{background:#fff;border:1px solid #d1d5db;color:#374151}.google-button:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.google-button .social-icon path:first-child{fill:#4285f4}.google-button .social-icon path:nth-child(2){fill:#34a853}.google-button .social-icon path:nth-child(3){fill:#fbbc05}.google-button .social-icon path:nth-child(4){fill:#ea4335}.facebook-button{background:#1877f2;border:1px solid #1877f2;color:#fff}.facebook-button:hover:not(:disabled){background:#166fe5;border-color:#166fe5}.facebook-button .social-icon{fill:#fff}.apple-button{background:#000;border:1px solid #000;color:#fff}.apple-button:hover:not(:disabled){background:#1a1a1a}.apple-button .social-icon{fill:#fff}.member-login-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.member-login-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:400px;overflow-y:auto;padding:0;width:90%}.member-login-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.member-login-header h2{color:#1f2937;font-size:1.5rem;margin:0}.member-login-form{padding:24px}.form-group{margin-bottom:20px}.form-group input{padding:10px 12px}.forgot-password-link{margin-bottom:10px;margin-top:-10px;text-align:right}.login-button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px;transition:background-color .2s;width:100%}.login-button:hover:not(:disabled){background:#2563eb}.login-button:disabled{background:#9ca3af;cursor:not-allowed}.member-login-footer{padding:0 24px 24px;text-align:center}.member-login-footer p{color:#6b7280;font-size:14px;margin:0}.member-registration-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.member-registration-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:700px;overflow-y:auto;padding:0;width:90%}.member-registration-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:20px 24px}.member-registration-header h2{color:#1f2937;font-size:1.5rem;margin:0}.close-button{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.close-button:hover{color:#374151}.member-registration-form{padding:16px 24px}.member-registration-header-link{background:#f9fafb;border-bottom:1px solid #f3f4f6;padding:12px 24px;text-align:center}.member-registration-header-link p{color:#6b7280;font-size:14px;margin:0}.age-disclaimer{background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;margin-bottom:16px;padding:12px}.age-disclaimer p{color:#92400e;font-size:14px;margin:0}.form-section{border-bottom:1px solid #f3f4f6;margin-bottom:20px;padding-bottom:16px}.form-section:last-child{border-bottom:none;padding-bottom:0}.form-section h3{color:#374151;font-size:1.1rem;margin:0 0 12px}.form-row{grid-gap:12px;gap:12px;margin-bottom:16px}.form-row.three-col{grid-template-columns:1fr 1fr 1fr}.form-group{margin-bottom:16px}.form-group label{font-size:14px;margin-bottom:6px}.field-note{color:#6b7280;font-size:12px;font-weight:400}.form-group input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input::placeholder{color:#9ca3af}.error-message,.success-message{font-size:14px;margin-bottom:20px;padding:12px}.success-message{animation:slideIn .3s ease-out;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#15803d}.form-actions{margin-top:20px}.form-action-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626}.form-action-error,.form-action-success{animation:slideIn .3s ease-out;font-size:14px;margin:12px 0;padding:12px;text-align:center}.form-action-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#15803d}.form-action-info{margin:12px 0;padding:0 12px;text-align:center}.form-action-info p{color:#6b7280;font-size:13px;line-height:1.4;margin:0 0 8px}.form-action-info p:last-child{margin-bottom:0}.form-action-info .marketing-note{color:#9ca3af;font-size:12px;font-style:italic}.register-button,.verify-button{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:background-color .2s,transform .1s;width:100%}.register-button:hover:not(:disabled),.verify-button:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.register-button:disabled,.verify-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.member-registration-footer{border-top:1px solid #f3f4f6;margin-top:20px;padding:20px 24px 24px;text-align:center}.member-registration-footer p{color:#6b7280;font-size:14px;margin:0}.link-button{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:14px;font-weight:500;text-decoration:underline}.link-button:hover{color:#2563eb}.verification-form .verification-info{margin-bottom:24px;text-align:center}.verification-form .verification-info p{color:#6b7280;margin:8px 0}.verification-form .verification-info strong{color:#1f2937;font-size:16px}.verification-input{font-family:monospace;font-size:24px;font-weight:700;letter-spacing:8px;text-align:center}.verification-help{margin-top:20px;text-align:center}.verification-help p{color:#6b7280;font-size:14px;margin:0}.success-form{padding:40px 24px}.success-content{margin:0 auto;max-width:400px}.success-icon{animation:bounce .6s ease-in-out;font-size:64px;margin-bottom:20px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.success-content h3{font-size:1.5rem;margin:0 0 16px}.member-registration-initial{padding:24px}.registration-divider{align-items:center;display:flex;margin:24px 0;text-align:center}.registration-divider:after,.registration-divider:before{border-bottom:1px solid #e5e7eb;content:"";flex:1 1}.registration-divider span{color:#6b7280;font-size:14px;padding:0 16px;text-transform:lowercase}.email-register-button{background:#fff;border:2px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:border-color .2s,background-color .2s;width:100%}.email-register-button:hover{background:#f9fafb;border-color:#9ca3af}.email-register-button.primary{background:#10b981;border:none;color:#fff}.email-register-button.primary:hover{background:#059669}@media (max-width:768px){.member-registration-modal{max-height:95vh;width:95%}.form-row{gap:0}.form-row,.form-row.three-col{grid-template-columns:1fr}.member-registration-header{padding:16px 20px}.member-registration-header h2{font-size:1.3rem}.member-registration-form{padding:20px}.verification-input{font-size:20px;letter-spacing:4px}}@media (max-width:480px){.member-registration-modal{border-radius:0;height:100vh;max-height:none;width:100%}.member-registration-header{border-radius:0}.form-section{margin-bottom:24px;padding-bottom:20px}.age-disclaimer{margin-bottom:20px;padding:12px}}.password-reset-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.password-reset-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:400px;overflow-y:auto;padding:0;width:90%}.password-reset-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.password-reset-header h2{color:#1f2937;font-size:1.5rem;margin:0}.password-reset-header .close-button{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.password-reset-header .close-button:hover{color:#374151}.password-reset-form{padding:24px}.password-reset-form .form-group{margin-bottom:20px}.password-reset-form .form-group label{color:#374151;display:block;font-weight:500;margin-bottom:6px}.password-reset-form .form-group input{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.password-reset-form .form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.password-reset-form .error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;margin-bottom:20px;padding:12px}.password-reset-form .success-message{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#16a34a;font-size:14px;margin-bottom:20px;padding:12px}.reset-instructions{color:#6b7280;font-size:14px;line-height:1.5;margin-bottom:20px}.form-actions{margin-top:24px}.reset-button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px;transition:background-color .2s;width:100%}.reset-button:hover:not(:disabled){background:#2563eb}.reset-button:disabled{background:#9ca3af;cursor:not-allowed}.password-reset-footer{padding:0 24px 24px;text-align:center}.password-reset-footer p{color:#6b7280;font-size:14px;margin:0}.password-reset-footer .link-button{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:14px;text-decoration:underline}.password-reset-footer .link-button:hover{color:#2563eb}.verification-info{margin-bottom:20px;text-align:center}.verification-info p{color:#6b7280;font-size:14px;margin:8px 0}.verification-info strong{color:#1f2937;font-size:15px}.code-input{font-family:monospace;font-size:24px!important;letter-spacing:8px;text-align:center}.resend-info{margin-top:16px;text-align:center}.resend-info p{color:#6b7280;font-size:13px;margin:0}.resend-info .link-button{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:13px;text-decoration:underline}.resend-info .link-button:hover{color:#2563eb}.success-form{text-align:center}.success-content{padding:20px 0}.success-icon{align-items:center;background:#16a34a;border-radius:50%;color:#fff;display:flex;font-size:32px;height:60px;justify-content:center;margin:0 auto 16px;width:60px}.success-content h3{color:#1f2937;font-size:18px;margin:0 0 12px}.success-content p{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.navigation{background-color:#2c5530;box-shadow:0 2px 4px #0000001a;width:100%}.nav-wrapper{justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem}.nav-container,.nav-wrapper{align-items:center;display:flex}.nav-container{flex:1 1}.nav-logo{color:#fff;font-size:1.5rem;font-weight:700;padding:0 1rem 0 0;text-decoration:none}.nav-logo:hover{color:#a8d4ad}.nav-menu{align-item:right;display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}.nav-item{margin:0}.nav-link{color:#fff;font-weight:500;text-decoration:none;transition:color .3s ease}.nav-link:hover{color:#a8d4ad}.nav-link.logout-btn{background:none;border:none;cursor:pointer;font-size:inherit;font-weight:inherit;padding:0;transition:color .3s ease}.nav-link.logout-btn:hover{color:#ff6b6b}.search-dropdown-container{position:relative}.search-trigger{background:none;border:none;color:#fff;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:500;padding:0;text-decoration:none;transition:color .3s ease}.search-trigger.active,.search-trigger:hover{color:#a8d4ad}.search-dropdown{animation:dropdownSlideIn .2s ease-out;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 8px 24px #00000026;left:50%;max-width:90vw;padding:2rem;position:absolute;top:100%;transform:translateX(-50%);width:600px;z-index:1000}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.search-dropdown h3{color:#2c5530;font-size:1.1rem;margin:0 0 1.5rem;text-align:center}.dropdown-errors{background-color:#ffeaa7;border:1px solid #e17055;border-radius:4px;margin-bottom:1rem;padding:.75rem}.dropdown-error{align-items:center;color:#d63031;display:flex;font-size:.85rem;gap:.5rem;margin-bottom:.25rem}.dropdown-error:last-child{margin-bottom:0}.dropdown-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;flex-wrap:wrap;gap:1rem}.form-field{flex:1 1;gap:.25rem;min-width:120px}.form-field label{font-size:.85rem}.form-field input,.form-field select{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem;transition:border-color .2s ease}.form-field input:focus,.form-field select:focus{border-color:#2c5530;outline:none}.form-field input.error,.form-field select.error{background-color:#ffeaa7;border-color:#e17055}.dropdown-form-actions{display:flex;gap:.75rem;margin-top:.5rem}.dropdown-search-btn{background:#2c5530;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s ease}.dropdown-search-btn:hover{background:#1e3d22}.dropdown-search-btn:disabled{background:#ccc;cursor:not-allowed}.dropdown-cancel-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s ease}.dropdown-cancel-btn:hover{background:#5a6268}@media (max-width:768px){.search-dropdown{left:50%;padding:1rem;transform:translateX(-50%);width:95vw}.form-row{gap:.75rem;grid-template-columns:1fr}.dropdown-form-actions{flex-direction:column}.dropdown-cancel-btn,.dropdown-search-btn{width:100%}.nav-menu{flex-direction:column;gap:1rem}}.preferences-field{align-items:stretch;flex-direction:column}.preferences-label{margin-bottom:.5rem}.preference-group{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;margin-bottom:.75rem;padding:.5rem}.preference-group:last-child{margin-bottom:0}.checkbox-label,.radio-label{align-items:center;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:.25rem}.checkbox-label:last-child,.radio-label:last-child{margin-bottom:0}.checkbox-label input[type=checkbox],.radio-label input[type=radio]{cursor:pointer;margin:0}.hookup-radio-group{margin-bottom:.5rem}.individual-hookups{border-top:1px solid #dee2e6;display:flex;flex-direction:column;gap:.25rem;margin-left:1rem;padding-top:.5rem}.individual-hookups .checkbox-label{color:#666;font-size:.85rem}.auth-section{align-items:center;display:flex;gap:8px;margin-left:1rem}.auth-section .auth-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background-color .3s ease}.auth-section .auth-btn:hover{background:#0056b3}.user-icon{filter:brightness(0) invert(1)}.logout-section{align-items:center;display:flex;margin-left:1rem}.logout-section .logout-btn{background:#ff6b6b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background-color .3s ease}.logout-section .logout-btn:hover{background:#ff5252}.auth-section .auth-btn.register{background:#28a745}.auth-section .auth-btn.register:hover{background:#218838}.member-auth-section{align-items:center;display:flex;gap:12px;margin-left:1rem}.member-welcome{color:#fff;font-weight:500}.member-auth-section .logout-btn{background:#ff6b6b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background-color .3s ease}.member-auth-section .logout-btn:hover{background:#ff5252}.corporate-store-info{flex:1 1;margin-left:1rem;margin-right:1rem}.store-info{border-radius:4px;display:inline-block;font-size:.8rem;font-weight:500;max-width:280px;overflow:hidden;padding:.25rem .75rem;text-overflow:ellipsis;white-space:nowrap}.store-info.loading{background:#f39c121a;color:#f39c12}.store-info.error{background:#e74c3c1a;color:#e74c3c}.store-info.valid{background:#27ae601a;color:#27ae60}.store-info-wrapper.has-tooltip{cursor:pointer;display:inline-block;position:relative}.store-info-wrapper.has-tooltip:after{background:#333;border-radius:4px;color:#fff;content:attr(data-tooltip);font-size:.8rem;font-weight:400;left:50%;margin-top:8px;opacity:0;padding:.5rem .75rem;pointer-events:none;position:absolute;top:100%;transform:translateX(-50%);transition:opacity .2s,visibility .2s;visibility:hidden;white-space:nowrap;z-index:1000}.store-info-wrapper.has-tooltip:hover:after{opacity:1;visibility:visible}.store-info.invalid{background:#e74c3c1a;color:#e74c3c}.nav-auth{align-items:center;display:flex;gap:.5rem;margin-left:2rem}.nav-auth-button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:background-color .3s ease}.nav-auth-button:hover{background:#0056b3}.nav-auth-button:first-child{background:#28a745}.nav-auth-button:first-child:hover{background:#218838}.member-auth-buttons{display:flex;gap:.5rem}.member-info{font-weight:500;gap:.75rem}.member-info,.member-info .profile-link{align-items:center;color:#fff;display:flex}.member-info .profile-link{border-radius:4px;gap:.4rem;padding:.4rem .8rem;text-decoration:none;transition:background-color .3s ease}.member-info .profile-link:hover{background-color:#ffffff1a}.member-info .profile-link svg{height:20px;width:20px}.member-info .nav-auth-button{background:#ff6b6b}.member-info .nav-auth-button:hover{background:#ff5252}.admin-logout-btn{background:#dc3545!important}.admin-logout-btn:hover{background:#c82333!important}.consent-body{flex:1 1;min-height:0;overflow-y:auto;padding:2rem}.booking-summary{margin-bottom:1.5rem;padding:1rem}.booking-summary h3{font-size:1.1rem}.booking-summary p{color:#333;margin:.25rem 0}.terms-content h3{color:#2c5530;font-size:1.2rem;margin:0 0 1rem}.terms-scroll{background:#fafafa;border:1px solid #eee;border-radius:6px;margin-bottom:1rem;max-height:250px;overflow-y:auto;padding:1rem}.terms-scroll h4{color:#2c5530;font-size:1rem;margin:1rem 0 .5rem}.terms-scroll h4:first-child{margin-top:0}.terms-scroll p{color:#333;line-height:1.5;margin:0 0 .75rem}.terms-scroll ul{color:#333;margin:0 0 .75rem;padding-left:1.5rem}.terms-scroll li{line-height:1.4;margin:.25rem 0}.consent-agreement{background:#f8f9fa;border:1px solid #ddd;border-radius:6px;margin-top:1.5rem;padding:1rem}.scroll-progress{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-bottom:1rem;padding:.75rem}.scroll-message{color:#856404;font-size:.9rem;font-weight:600;margin-bottom:.5rem;text-align:center}.scroll-progress-bar{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;height:8px;overflow:hidden;width:100%}.scroll-progress-fill{background:linear-gradient(90deg,#ffc107,#28a745);border-radius:3px;height:100%;transition:width .3s ease}.consent-checkbox{align-items:center;color:#333;cursor:pointer;display:flex;font-weight:600;gap:.75rem;position:relative}.consent-checkbox.disabled{cursor:not-allowed;opacity:.6}.scroll-complete{color:#28a745;font-size:.9rem;font-weight:600;margin-left:auto}.consent-checkbox input[type=checkbox]{display:none}.checkmark{align-items:center;border:2px solid #2c5530;border-radius:4px;display:flex;height:20px;justify-content:center;transition:all .2s ease;width:20px}.consent-checkbox.disabled .checkmark{background-color:#f5f5f5;border-color:#ccc}.consent-checkbox input[type=checkbox]:checked+.checkmark{background-color:#2c5530}.consent-checkbox input[type=checkbox]:checked+.checkmark:after{color:#fff;content:"✓";font-size:14px;font-weight:700}.consent-footer{align-items:center;border-top:1px solid #e9ecef;display:flex;flex-shrink:0;gap:16px;justify-content:center;margin-top:auto;padding:15px 0}.consent-footer .cancel-btn{background:#fff;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:1rem;font-weight:500;min-width:120px;padding:12px 32px;transition:all .2s}.consent-footer .cancel-btn:hover{background-color:#f8f9fa;border-color:#adb5bd}.proceed-btn{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;min-width:120px;padding:12px 32px;transition:all .2s}.proceed-btn.enabled{background:#2c5530;color:#fff}.proceed-btn.enabled:hover{background:#1e3d22;box-shadow:0 4px 8px #2c55304d;transform:translateY(-1px)}.proceed-btn.disabled{background:#ccc;color:#666;cursor:not-allowed;opacity:.6}@media (max-width:768px){.consent-body{padding:1.5rem}.terms-scroll{max-height:200px}.consent-footer{flex-direction:column-reverse;gap:1rem}.consent-footer .cancel-btn,.proceed-btn{width:100%}}@media (max-width:480px){.consent-body{padding:1rem}.terms-scroll{max-height:150px}}.policy-reminder-content{margin:0 auto;max-width:800px;padding:.75rem}.policy-reminder-content h3{color:#2c5530;font-size:1.2rem;margin:0 0 1rem}.policy-reminder-content>p{color:#666;font-size:.9rem;margin:0 0 1rem}.policy-list{background:#f8f9fa;border-radius:8px;margin-bottom:.75rem;padding:.75rem}.policy-item{border-bottom:1px solid #e0e0e0;margin-bottom:.5rem;padding-bottom:.5rem}.policy-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.policy-checkbox-label{align-items:flex-start;cursor:pointer;display:flex;-webkit-user-select:none;user-select:none}.policy-checkbox{cursor:pointer;flex-shrink:0;height:16px;margin-right:.5rem;margin-top:.15rem;width:16px}.policy-text{color:#333;font-size:.9rem;line-height:1.4}.policy-checkbox:checked+.policy-text{color:#2c5530;font-weight:500}.policy-reminder-actions{display:flex;gap:.75rem;justify-content:space-between;margin-top:.75rem}.agree-btn,.disagree-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.disagree-btn{background:#6c757d;color:#fff}.disagree-btn:hover{background:#5a6268}.agree-btn{background:#2c5530;color:#fff}.agree-btn:hover:not(:disabled){background:#1e3d21}.agree-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.policy-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin-top:.5rem;padding:.5rem;text-align:center}.policy-warning p{color:#856404;font-size:.85rem;font-weight:500;margin:0}@media (max-width:768px){.policy-reminder-content{padding:.5rem}.policy-reminder-content h3{font-size:1.1rem}.policy-list{padding:.5rem}.policy-text{font-size:.85rem}.policy-reminder-actions{flex-direction:column}.agree-btn,.disagree-btn{width:100%}}.reservation-body{max-height:70vh;overflow-y:auto;padding:.75rem}.booking-summary{grid-gap:.5rem;background:#e8f5e8;border:1px solid #2c5530;border-radius:8px;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;margin-bottom:.75rem;padding:.75rem}.booking-summary h3{color:#2c5530;font-size:1rem;grid-column:1/-1;margin:0 0 .5rem}.summary-row{align-items:center;border-bottom:1px solid #d4e9d4;display:flex;justify-content:space-between;padding:.35rem 0}.summary-row:last-child{border-bottom:none}.summary-row.total{border-top:2px solid #2c5530;color:#2c5530;font-size:1.05rem;font-weight:700;grid-column:1/-1;margin-top:.6rem;padding-top:.6rem}.reservation-form{grid-gap:.6rem;display:grid;gap:.6rem}.form-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:.75rem}.form-section h3{border-bottom:2px solid #2c5530;color:#2c5530;font-size:1rem;font-weight:600;margin:0 0 .5rem;padding-bottom:.3rem}.form-section p{font-size:.85rem;margin-bottom:.5rem}.form-row{grid-gap:.6rem;gap:.6rem;margin-bottom:.6rem}.form-row:last-child{margin-bottom:0}.reservation-form-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:0}.reservation-form-group label{color:#333;font-size:.85rem;font-weight:600}.reservation-form-group input,.reservation-form-group select,.reservation-form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem;transition:border-color .2s ease}.reservation-form-group input:focus,.reservation-form-group select:focus,.reservation-form-group textarea:focus{border-color:#2c5530;box-shadow:0 0 0 2px #2c55301a;outline:none}.reservation-form-group textarea{min-height:60px;resize:vertical}.error-messages{border-radius:6px;margin-bottom:.75rem;padding:.6rem}.error-message{font-size:.85rem;gap:.4rem;margin-bottom:.25rem}.display-only{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;color:#495057;display:flex;font-size:.9rem;min-height:1.2rem;padding:.5rem}.form-actions{background:#f8f9fa;border-top:1px solid #eee;gap:.6rem;justify-content:space-between;margin:0 -.75rem -.75rem;padding:.75rem}.cancel-btn{transition:background-color .2s ease}.submit-btn{background:#2c5530;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.25rem;transition:all .2s ease}.submit-btn:hover{background:#1e3d22;box-shadow:0 2px 8px #2c55304d;transform:translateY(-1px)}.submit-btn:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}@media (max-width:768px){.reservation-modal{max-height:95vh;max-width:95%}.reservation-header{padding:.5rem .75rem}.reservation-header h2{font-size:1.1rem}.reservation-body{max-height:75vh;padding:.75rem}.booking-summary{gap:.4rem;grid-template-columns:1fr}.form-row{gap:.5rem;grid-template-columns:1fr}.form-section{padding:.6rem}.form-actions{flex-direction:column;gap:.5rem;padding:.75rem}.cancel-btn,.submit-btn{width:100%}}@media (max-width:480px){.reservation-backdrop{padding:10px}.reservation-modal{border-radius:0;max-height:100vh;max-width:100%}.booking-summary,.reservation-body{padding:.6rem}.form-section{padding:.5rem}}.payment-modal-content{background:#fff;display:flex;flex-direction:column;height:100%;overflow-y:auto;position:relative;width:100%}.payment-modal-body{padding:0 24px 24px}.gateway-loading{padding:40px 20px;text-align:center}.gateway-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;margin:0 auto 16px;width:40px}.payment-gateway-info{background:linear-gradient(135deg,#e8f5e8,#f0f8ff);border:1px solid #d4edda;border-radius:6px;margin-bottom:20px;padding:12px 16px;text-align:center}.payment-gateway-info small{color:#155724;font-size:.9rem}.order-summary{background-color:#f8f9fa;border-radius:4px;margin-bottom:12px;padding:8px 12px}.order-summary h4{border-bottom:1px solid #e5e5e5;color:#333;font-size:.95rem;font-weight:600;margin:0 0 8px;padding-bottom:4px}.summary-details{display:flex;flex-direction:column;gap:2px}.summary-item{font-size:.75rem;justify-content:space-between;padding:1px 0}.summary-item.total{border-top:1px solid #dee2e6;font-size:.85rem;font-weight:600;margin-top:4px;padding-top:4px}.payment-form{display:flex;flex-direction:column;gap:12px}.form-section h4{border-bottom:1px solid #e5e5e5;color:#333;font-size:.95rem;margin:0;padding-bottom:4px}.form-group{gap:3px}.form-row{grid-template-columns:1fr 1fr 1fr}.form-group label{font-size:.85rem}.form-group input,.form-group select{font-size:.9rem;padding:8px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-group input.error,.form-group select.error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.error-text{color:#dc3545;font-size:.8rem;margin-top:4px}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;padding:12px 16px}.error-content{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.error-icon{flex-shrink:0;font-size:1.5rem}.error-text{flex:1 1}.error-title{font-size:1rem;font-weight:600;margin-bottom:4px}.error-details{font-size:.9rem;line-height:1.4}.error-actions{display:flex;gap:8px;justify-content:flex-end}.dismiss-error-btn,.retry-payment-btn{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 12px;transition:all .2s}.retry-payment-btn{background:#007bff;color:#fff}.retry-payment-btn:hover{background:#0056b3}.dismiss-error-btn{background:#6c757d;color:#fff}.dismiss-error-btn:hover{background:#5a6268}.form-actions{border-top:1px solid #e5e5e5;gap:8px;justify-content:flex-end;margin-top:12px;padding-top:12px}.cancel-btn,.pay-btn{border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;min-width:100px;padding:8px 16px;transition:all .2s}.pay-btn{background:linear-gradient(135deg,#007bff,#0056b3);border:none;color:#fff}.pay-btn:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 4px 8px #007bff4d;transform:translateY(-1px)}.cancel-btn:disabled,.pay-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.fee-breakdown-section{margin-top:8px}.breakdown-group{border-bottom:1px dashed #e0e0e0;margin-bottom:12px;padding-bottom:10px}.breakdown-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.site-label{color:#2c3e50;font-size:.9rem;font-weight:700;margin-top:2px}.contact-display{background-color:#f1f3f4;border-left:3px solid #007bff;border-radius:4px;padding:8px 12px}.contact-item{align-items:center;display:flex;font-size:.85rem;justify-content:space-between;padding:2px 0}.contact-label{color:#555;font-weight:500;min-width:60px}.contact-value{color:#333;font-weight:400;text-align:right}.save-card-group{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e9ecef;border-radius:6px;margin-top:8px;padding:12px}.save-card-group .checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:10px}.save-card-group .checkbox-label input[type=checkbox]{accent-color:#007bff;cursor:pointer;height:18px;width:18px}.save-card-group .checkbox-text{color:#333;font-size:.9rem;font-weight:500}.save-card-description{color:#666;font-size:.8rem;line-height:1.4;margin:8px 0 0 28px}@media (max-width:768px){.payment-modal-body{padding:16px}.form-row{gap:12px;grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.cancel-btn,.pay-btn{width:100%}}@media (max-width:480px){.form-section,.order-summary{margin-bottom:16px}.summary-item{font-size:.9rem}}.saved-cards-section{margin-bottom:20px}.payment-method-options{display:flex;flex-direction:column;gap:10px}.new-card-option,.saved-card-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;padding:12px 16px;transition:all .2s ease}.new-card-option:hover,.saved-card-option:hover{background:#f8fafc;border-color:#3b82f6}.new-card-option.selected,.saved-card-option.selected{background:#eff6ff;border-color:#3b82f6}.new-card-option input[type=radio],.saved-card-option input[type=radio]{accent-color:#3b82f6;height:18px;margin-right:12px;width:18px}.card-info{align-items:center;display:flex;flex:1 1;gap:8px}.card-brand{color:#374151;font-weight:600;min-width:60px}.card-number{color:#6b7280;font-family:monospace}.default-badge{background:#10b981;font-size:.7rem;padding:2px 8px}.card-expiry{color:#9ca3af;font-size:.85rem}.new-card-option span{color:#374151;font-weight:500}@media (max-width:480px){.new-card-option,.saved-card-option{flex-wrap:wrap;padding:10px 12px}.card-info{flex-wrap:wrap}.card-expiry{margin-left:30px;margin-top:4px;width:100%}}.booking-confirmation-content{background:#fff;border-radius:12px;display:flex;flex-direction:column;height:100%;justify-content:flex-start;overflow-y:auto;position:relative;width:100%}.confirmation-header{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:center;padding:12px 16px;position:relative}.confirmation-header.compact{padding:10px 40px 10px 16px}.success-message{font-size:.95rem;font-weight:500}.success-icon-inline{align-items:center;background:#ffffff40;border-radius:50%;display:inline-flex;font-size:12px;font-weight:700;height:20px;justify-content:center;margin-right:8px;width:20px}.success-message strong{font-weight:600}.confirmation-header .close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:background-color .2s;width:28px}.confirmation-header .close-btn:hover{background:#ffffff4d}.insurance-upsell-section{border-bottom:1px solid #e9ecef;padding:16px}.insurance-upsell-card{align-items:flex-start;display:flex;gap:12px}.insurance-upsell-icon{flex-shrink:0;font-size:32px}.insurance-upsell-content{flex:1 1}.insurance-upsell-content h2{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 4px}.insurance-upsell-subtitle{color:#666;font-size:.9rem;margin:0 0 8px}.insurance-benefits{list-style:none;margin:0 0 12px;padding-left:18px}.insurance-benefits li{color:#555;font-size:.85rem;margin-bottom:4px;padding-left:2px;position:relative}.insurance-benefits li:before{color:#28a745;content:"✓";font-size:.8rem;font-weight:700;left:-16px;position:absolute}.get-insurance-btn{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.get-insurance-btn:hover{background:#218838}.get-insurance-btn .external-icon{font-size:.9rem}.insurance-checkbox-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;margin-bottom:8px}.insurance-checkbox-label input[type=checkbox]{accent-color:#28a745;cursor:pointer;height:18px;width:18px}.insurance-note{color:#888;font-size:.75rem;font-style:italic;margin:0}.insurance-iframe-container{border-top:1px solid #e9ecef;margin-top:12px;padding-top:12px}.responsive-booking-widget{border:none;border-radius:8px;height:700px;overflow:hidden;width:100%}.confirmation-body{padding:16px}.error-state,.loading-state{padding:40px 20px;text-align:center}.loading-spinner{border-top-color:#007bff;margin:0 auto 16px}.error-message{color:#dc3545;margin-bottom:16px}.retry-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 20px}.confirmation-summary{display:flex;flex-direction:column;gap:16px}.confirmation-code{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #28a745;border-radius:12px;padding:24px;text-align:center}.confirmation-code h2{color:#333;font-size:1.3rem;margin:0 0 12px}.confirmation-code .code{color:#28a745;font-family:Courier New,monospace;font-size:2rem;font-weight:700;letter-spacing:2px;margin-bottom:8px}.code-note{color:#666;font-size:.9rem;margin:0}.payment-summary,.reservation-details{background:#f8f9fa;border-radius:8px;padding:14px}.payment-summary h3,.reservation-details h3{color:#333;font-size:1.1rem;margin:0 0 12px}.detail-grid{grid-gap:4px 16px;display:grid;gap:4px 16px;grid-template-columns:repeat(2,1fr)}.detail-item{align-items:flex-start;border-bottom:1px solid #e9ecef;display:flex;font-size:.8rem;gap:8px;justify-content:space-between;padding:5px 0}.detail-item .label{color:#666;flex-shrink:0;font-weight:500}.detail-item .value{color:#333;font-weight:500;overflow:hidden;text-align:right;text-overflow:ellipsis;word-break:break-word}.payment-details{display:flex;flex-direction:column;gap:8px}.site-cost{padding:6px 0}.site-cost,.total-cost{display:flex;justify-content:space-between}.total-cost{border-top:2px solid #28a745;font-size:1.1rem;margin-top:8px;padding:12px 0}.payment-method{color:#666;margin-top:8px;text-align:center}.confirmation-actions{display:flex;flex-direction:column;gap:16px;margin-top:20px}.email-status{border-radius:6px;padding:12px;text-align:center}.email-sent{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.email-sending{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.action-buttons{gap:12px;justify-content:center}.done-btn,.download-invoice-btn,.view-reservations-btn{border:none;border-radius:6px;cursor:pointer;font-weight:500;min-width:140px;padding:12px 20px;transition:all .2s}.download-invoice-btn{background:#17a2b8;color:#fff}.download-invoice-btn:hover:not(:disabled){background:#138496;transform:translateY(-1px)}.view-reservations-btn{background:#6c757d;color:#fff}.view-reservations-btn:hover{background:#5a6268;transform:translateY(-1px)}.done-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.done-btn:hover{background:linear-gradient(135deg,#218838,#1c7c84);transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.next-steps{background:#f8f9fa;border-left:3px solid #28a745;border-radius:8px;margin-top:20px;padding:14px}.next-steps h4{color:#333;font-size:1rem;margin:0 0 10px}.next-steps ul{margin:0;padding-left:20px}.next-steps li{color:#555;line-height:1.4;margin-bottom:8px}.next-steps li strong{background:#28a7451a;border-radius:4px;color:#28a745;padding:2px 6px}@media (max-width:768px){.confirmation-header.compact{padding:8px 36px 8px 12px}.success-message{font-size:.85rem}.insurance-upsell-section{padding:12px}.insurance-upsell-icon{font-size:28px}.insurance-upsell-content h2{font-size:1rem}.confirmation-body{padding:12px}.detail-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.done-btn,.download-invoice-btn,.view-reservations-btn{min-width:auto;width:100%}}@media (max-width:480px){.confirmation-header.compact{padding:6px 32px 6px 10px}.success-message{font-size:.8rem}.success-icon-inline{font-size:10px;height:16px;margin-right:6px;width:16px}.insurance-upsell-section{padding:10px}.insurance-upsell-icon{font-size:24px}.insurance-upsell-content h2{font-size:.95rem}.insurance-benefits li,.insurance-upsell-subtitle{font-size:.8rem}.get-insurance-btn{font-size:.85rem;padding:6px 12px}.confirmation-body{padding:10px}.next-steps,.payment-summary,.reservation-details{padding:12px}}.booking-stepper-overlay{align-items:center;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:2000}.booking-stepper-container{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0006;max-height:95vh;max-width:900px;overflow-y:auto;position:relative;width:100%}.booking-stepper-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:2px solid #dee2e6;padding:24px;position:relative}.booking-stepper-header,.booking-steps-indicator{align-items:center;display:flex;justify-content:center}.booking-steps-indicator{gap:0}.step{flex-direction:column;min-width:80px;position:relative}.step,.step-number{align-items:center;display:flex}.step-number{border-radius:50%;font-size:1.1rem;font-weight:700;height:40px;justify-content:center;margin-bottom:8px;transition:all .3s ease;width:40px}.step-label{font-size:.9rem;font-weight:500;text-align:center;transition:color .3s ease}.step-connector{height:2px;margin:-20px -10px 0;transition:background-color .3s ease;width:60px}.step.inactive .step-number{background:#e9ecef;border:2px solid #dee2e6;color:#6c757d}.step.inactive .step-label{color:#6c757d}.step.inactive+.step-connector{background:#dee2e6}.step.active .step-number{animation:pulse 2s infinite;background:linear-gradient(135deg,#007bff,#0056b3);border:2px solid #007bff;box-shadow:0 4px 8px #007bff4d;color:#fff}.step.active .step-label{color:#007bff;font-weight:600}.step.completed .step-number{background:linear-gradient(135deg,#28a745,#1e7e34);border:2px solid #28a745;color:#fff}.step.completed .step-label{color:#28a745;font-weight:600}.step.completed+.step-connector{background:#28a745}@keyframes pulse{0%,to{box-shadow:0 4px 8px #007bff4d;transform:scale(1)}50%{box-shadow:0 6px 12px #007bff66;transform:scale(1.05)}}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;padding:4px 8px;position:absolute;right:20px;top:20px;transition:all .2s;width:40px}.close-btn:hover{background-color:#f5f5f5;color:#333}.booking-stepper-content{padding:0}.step-content{padding:16px 32px 32px}.step-header{margin-bottom:32px;text-align:center}.step-header h2{color:#2c5530;font-size:1.8rem;font-weight:600;margin:0 0 12px}.step-header p{color:#666;font-size:1.1rem;margin:0}.selected-sites-summary{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:5px;padding:16px}.booking-dates{margin-bottom:5px;padding:5px}.booking-dates p{color:#333;font-size:.95rem;margin:4px 0}.selected-sites-summary h3{color:#2c5530;font-size:1.2rem;font-weight:600;margin:0}.site-summary-item{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:12px 0}.site-summary-item:last-child{border-bottom:none}.fee-breakdown{background:#fff;border:1px solid #e9ecef;border-radius:4px;margin-top:8px;padding:8px}.fee-line{color:#555;font-size:.85rem;padding:4px 0}.fee-group{border-bottom:1px solid #e9ecef;margin-bottom:12px;padding-bottom:8px}.fee-group:last-of-type{border-bottom:none;margin-bottom:8px}.fee-group-header{border-bottom:1px dashed #dee2e6;color:#2c5530;font-size:.9rem;font-weight:600;margin-bottom:6px;padding-bottom:4px}.site-info{gap:4px}.site-info strong{color:#333;font-size:1rem}.site-info span{color:#666;font-size:.9rem}.site-info small{color:#888;display:block;font-size:.8rem;margin-top:2px}.site-price{font-weight:600}.site-price,.total-price{color:#2c5530;font-size:1rem}.total-price{margin-top:5px;padding-top:16px;text-align:right}.subtotal-line{color:#333;display:flex;font-weight:500;justify-content:space-between;padding:8px 0}.step-actions{border-top:1px solid #e9ecef;display:flex;gap:16px;justify-content:center;padding-top:15px}.cancel-btn,.continue-btn{border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;min-width:120px;padding:12px 32px;transition:all .2s}.cancel-btn{background:#fff;border:1px solid #ddd;color:#666}.cancel-btn:hover:not(:disabled){background-color:#f8f9fa;border-color:#adb5bd}.continue-btn{background:#2c5530;border:none;color:#fff}.continue-btn:hover:not(:disabled){background:#1e3d22;box-shadow:0 4px 8px #2c55304d;transform:translateY(-1px)}.cancel-btn:disabled,.continue-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.booking-stepper-overlay{padding:10px}.booking-stepper-container{max-height:98vh}.booking-stepper-header{padding:16px}.step-content{padding:12px 20px 20px}.booking-steps-indicator{gap:0}.step{min-width:60px}.step-number{font-size:1rem;height:32px;width:32px}.step-label{font-size:.8rem}.step-connector{width:40px}.step-actions{flex-direction:column-reverse}.cancel-btn,.continue-btn{width:100%}}@media (max-width:480px){.step-header h2{font-size:1.5rem}.step-header p{font-size:1rem}.selected-sites-summary{margin-bottom:5px;padding:16px}.site-summary-item{align-items:flex-start;flex-direction:column;gap:8px;padding:16px 0}.site-price{align-self:flex-end}}.fee-breakdown-display{width:100%}.fee-breakdown-display .breakdown-item{display:flex;font-size:.9em;justify-content:space-between;padding:4px 0}.fee-breakdown-display .breakdown-item.total-line{border-top:1px solid #ccc;margin-top:8px;padding-top:8px}.breakdown-item{border-bottom:1px solid #f0f0f0;font-size:12px;line-height:1.3;padding:3px 0}.breakdown-item.grand-total{border-bottom:none;border-top:2px solid #dee2e6;color:#2c5530;font-size:14px;font-weight:700;margin-top:6px;padding-top:6px}.breakdown-item.site-subtotal{border-top:1px solid #dee2e6;font-size:12px;font-weight:600;margin-top:4px;padding-top:4px}.header-row,.selection-header{margin-bottom:10px}.header-row{align-items:center;display:flex;gap:1rem;justify-content:space-between}.header-row p{color:#7f8c8d;flex:1 1;font-size:16px;margin:0}.search-summary{gap:0 1rem;margin:.25rem 0;padding:.5rem}.header-actions{align-items:center;display:flex;gap:10px}.modify-search-btn{border-radius:6px;font-weight:500}.header-book-btn,.modify-search-btn{font-size:14px;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.header-book-btn{background:linear-gradient(135deg,#27ae60,#229954);border:none;border-radius:6px;box-shadow:0 2px 6px #27ae604d;color:#fff;cursor:pointer;font-weight:600}.header-book-btn:hover{background:linear-gradient(135deg,#229954,#1e8449);box-shadow:0 4px 12px #27ae6066;transform:translateY(-1px)}.header-book-btn:active{box-shadow:0 2px 6px #27ae604d;transform:translateY(0)}.selection-summary{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin-top:10px;padding:15px}.summary-stats{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.selected-count{color:#27ae60;font-size:16px;font-weight:600}.base-total{color:#2c3e50;font-size:18px;font-weight:600}.summary-actions{text-align:center}.fee-breakdown-btn{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .3s ease}.fee-breakdown-btn:hover:not(:disabled){background:#2980b9}.fee-breakdown-btn:disabled{background:#bdc3c7;cursor:not-allowed}.calculating-fees{color:#f39c12;font-size:14px;font-style:italic;font-weight:500;text-align:center}.selected-sites-config{background:#fff;border:2px solid #27ae60;border-radius:10px;margin-bottom:10px;padding:10px}.selected-sites-config h3{color:#27ae60;margin-bottom:10px;margin-top:1px}.selected-sites-list{display:flex;flex-direction:column;gap:15px}.selected-site-card{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;display:flex;justify-content:space-between;padding:15px}.site-info{display:flex;flex-direction:column;min-width:120px}.site-alias{color:#2c3e50;font-size:16px;font-weight:600}.site-price{color:#7f8c8d;font-size:14px}.occupancy-controls{display:flex;gap:20px}.occupancy-field{align-items:center;display:flex;flex-direction:column;gap:5px}.occupancy-field label{color:#6c757d;font-size:12px;font-weight:500}.occupancy-field input{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px;text-align:center;width:60px}.extra-fee-hint{color:#e67e22;display:block;font-size:10px;font-style:italic;margin-top:2px;text-align:center}.pricing-info{margin-top:10px;text-align:center}.pricing-info small{color:#666;font-size:11px;font-style:italic}.remove-site-btn{align-items:center;background:#e74c3c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:30px;justify-content:center;transition:background-color .3s ease;width:30px}.remove-site-btn:hover{background:#c0392b}.fee-breakdown{border:0 solid #f39c12;border-radius:10px;margin-bottom:1px;padding:5px}.fee-breakdown h3{color:#f39c12;margin-bottom:20px}.fee-details{display:flex;flex-direction:column;gap:6px}.site-fee-breakdown{background:#fefefe;border:1px solid #ecf0f1;border-radius:4px;padding:8px 10px}.site-fee-breakdown h4{border-bottom:1px solid #ecf0f1;color:#2c3e50;font-size:13px;font-weight:600;margin:0 0 4px;padding:0 0 2px}.fee-line{color:#2c3e50;display:flex;justify-content:space-between;padding:5px 0}.site-subtotal{border-top:1px solid #ecf0f1;margin-top:4px;padding-top:4px}.booking-fee{background:#ebf3fd;border-radius:3px;margin-top:4px;padding:6px 8px}.grand-total{background:#d5f4e6;font-size:14px;margin-top:6px}.grand-total,.overall-total{border:1px solid #27ae60;border-radius:4px;padding:8px 10px}.overall-total{background:#f8f9fa;margin-top:2px}.overall-total .grand-total{background:#d5f4e6;border:none;margin-top:0}.drawer-book-section{border-top:1px solid #dee2e6;display:flex;justify-content:flex-end;margin-top:4px;padding-top:6px;text-align:right}.drawer-book-btn{background:linear-gradient(135deg,#27ae60,#229954);border:none;border-radius:4px;box-shadow:0 2px 6px #27ae604d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:5px 14px;transition:all .3s ease;white-space:nowrap}.drawer-book-btn:hover{background:linear-gradient(135deg,#229954,#1e8449);box-shadow:0 4px 12px #27ae6066;transform:translateY(-1px)}.drawer-book-btn:active{box-shadow:0 2px 6px #27ae604d;transform:translateY(0)}.reservation-level-fees{background:#fefefe;border:1px solid #ecf0f1;border-radius:4px;padding:8px 10px}.reservation-level-fees h4{border-bottom:1px solid #ecf0f1;color:#2c3e50;font-size:13px;font-weight:600;margin:0 0 4px;padding:0 0 2px}.available-sites h3{color:#2c3e50;margin-bottom:20px}.results-grid{margin:0 auto;max-width:1000px}.result-card{cursor:pointer}.result-card:hover:not(.disabled){box-shadow:0 6px 16px #00000026;transform:translateY(-2px)}.result-card.selected{background:#f8fff8;border-color:#27ae60;box-shadow:0 0 0 2px #27ae6033}.result-card.disabled{cursor:not-allowed;opacity:.6}.site-image{transition:transform .2s ease,opacity .3s ease}.site-image.hidden{opacity:0}.result-card:hover .site-image:not(.hidden){transform:scale(1.05)}.site-video{height:100%;left:0;object-fit:cover;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .3s ease;width:100%}.site-video.visible{opacity:1}.video-indicator{align-items:center;background:#0009;border-radius:50%;bottom:8px;color:#fff;display:flex;font-size:12px;height:28px;justify-content:center;position:absolute;right:8px;transition:opacity .3s ease;width:28px;z-index:5}.site-image-container:hover .video-indicator{opacity:0}.site-type-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#27ae60e6;font-size:.75rem;font-weight:500;letter-spacing:.5px;right:10px;text-transform:uppercase;top:45px}.selected-badge,.site-type-badge{border-radius:20px;color:#fff;padding:.25rem .75rem;position:absolute}.selected-badge{background:#27ae60;box-shadow:0 2px 4px #0003;font-size:.8rem;font-weight:600;left:10px;top:10px}.occupancy-limits{margin:.25rem 0}.occupancy-limits-info{background:#f8f9fa;border-radius:4px;color:#555;font-size:.85rem;padding:.5rem}.occupancy-label{color:#2c5530;font-weight:600}.result-card .occupancy-limits{margin:.25rem 0}.result-card .occupancy-limits-info{font-size:.75rem;padding:.2rem}.amenities{margin-bottom:.5rem}.result-card .amenities{margin-bottom:.25rem}.book-btn:not(.selected):not(:disabled):hover{background:#3a6247;box-shadow:0 2px 8px #4a7c594d;transform:translateY(-1px)}.book-btn.selected{background:#e74c3c;color:#fff}.book-btn.selected:hover{background:#c0392b;box-shadow:0 2px 8px #e74c3c4d;transform:translateY(-1px)}.book-btn:disabled{background:#bdc3c7;color:#6c757d;cursor:not-allowed}@media (max-width:768px){.results-grid{gap:1rem;grid-template-columns:1fr}}@media (max-width:767px){.results-grid{gap:15px;grid-template-columns:1fr}.result-card{height:auto;min-height:380px}.selected-site-card{flex-direction:column;gap:15px}.occupancy-controls{justify-content:center;width:100%}.header-row,.summary-stats{flex-direction:column;gap:10px}.header-row{align-items:flex-start}.header-actions{flex-direction:column;width:100%}.header-book-btn,.modify-search-btn{width:100%}}.fee-breakdown-drawer{background:#fff;border-top-left-radius:16px;border-top-right-radius:16px;bottom:0;box-shadow:0 -4px 20px #00000026;display:flex;flex-direction:column;left:0;max-height:50vh;position:fixed;right:0;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1000}.fee-breakdown-drawer.closed{transform:translateY(calc(100% - 36px))}.fee-breakdown-drawer.open{transform:translateY(0)}.drawer-toggle-bar{align-items:center;background:linear-gradient(135deg,#f39c12,#e67e22);border-top-left-radius:10px;border-top-right-radius:10px;box-shadow:0 -2px 10px #0000001a;cursor:pointer;display:flex;justify-content:space-between;min-height:36px;padding:4px 12px;-webkit-user-select:none;user-select:none}.drawer-toggle-bar:hover{background:linear-gradient(135deg,#e67e22,#d35400)}.drawer-handle{background:#fff9;border-radius:2px;height:2px;left:50%;position:absolute;top:3px;transform:translateX(-50%);width:28px}.drawer-summary{align-items:center;display:flex;flex:1 1;gap:10px;justify-content:space-between;margin-top:2px}.drawer-label{align-items:center;display:flex;gap:6px}.drawer-label,.drawer-selected-count{color:#fff;font-size:13px;font-weight:600}.drawer-action-button{background:#ffffff40;border:1px solid #ffffff4d;border-radius:10px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.drawer-label-text{color:#fff;font-size:13px;font-weight:600}.drawer-total{background:#fff3;border-radius:14px;color:#fff;font-size:14px;font-weight:700;padding:2px 8px}.drawer-toggle-icon{align-items:center;background:#ffffff4d;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;margin-top:2px;transition:all .2s ease;width:24px}.drawer-toggle-icon:hover{background:#fff6;transform:scale(1.1)}.drawer-content{flex:1 1;max-height:calc(50vh - 36px);overflow-y:auto;padding:12px 16px}.drawer-content .fee-breakdown{background:#0000;border:none;border-radius:0;margin-bottom:0;padding:0}.drawer-content .fee-breakdown h3{border-bottom:2px solid #f39c12;color:#f39c12;font-size:16px;margin-bottom:12px;padding-bottom:6px}.fee-breakdown-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.fee-breakdown-left,.fee-breakdown-right{display:flex;flex-direction:column;gap:8px}.drawer-content::-webkit-scrollbar{width:8px}.drawer-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.drawer-content::-webkit-scrollbar-thumb{background:#f39c12;border-radius:4px}.drawer-content::-webkit-scrollbar-thumb:hover{background:#e67e22}@media (max-width:767px){.fee-breakdown-drawer{max-height:50vh}.fee-breakdown-drawer.closed{transform:translateY(calc(100% - 32px))}.drawer-toggle-bar{min-height:32px;padding:3px 10px}.drawer-content{max-height:calc(50vh - 32px);padding:10px 12px}.drawer-label{gap:4px}.drawer-label,.drawer-selected-count{font-size:11px}.drawer-action-button{font-size:9px;padding:2px 6px}.drawer-label-text{font-size:11px}.drawer-total{font-size:12px;padding:2px 6px}.drawer-toggle-icon{font-size:10px;height:20px;width:20px}.fee-breakdown-grid{gap:8px;grid-template-columns:1fr}.breakdown-item{font-size:11px}.reservation-level-fees h4,.site-fee-breakdown h4{font-size:12px;margin:0 0 3px;padding:0 0 2px}.drawer-book-section{margin-top:4px;padding-top:4px}.drawer-book-btn{font-size:11px;padding:4px 12px}}.search-page h1{margin-block-end:.5em;margin-block-start:.5em}.search-summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0;padding:1rem}.summary-item{align-items:center;display:flex;font-size:.95rem;gap:.5rem}.summary-item strong{color:#2c5530;font-weight:600}.preferences-group{align-items:stretch!important;flex-direction:column!important;min-width:250px}.preferences-container{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.preference-group-inline{background:#f8f9fa;border:1px solid #e9ecef;border-radius:3px;padding:.25rem}.checkbox-label-inline,.radio-label-inline{align-items:center;cursor:pointer;display:inline-flex;font-size:.85rem;gap:.25rem;margin-bottom:.25rem;margin-right:.75rem}.checkbox-label-inline:last-child,.radio-label-inline:last-child{margin-right:0}.checkbox-label-inline input[type=checkbox],.radio-label-inline input[type=radio]{cursor:pointer;margin:0}.hookup-radio-group-inline{margin-bottom:.25rem}.individual-hookups-inline{border-top:1px solid #dee2e6;display:flex;flex-wrap:wrap;gap:.5rem;padding-left:1rem;padding-top:.25rem}.individual-hookups-inline .checkbox-label-inline{color:#666;font-size:.8rem;margin-right:.5rem}.form-row-inline{align-items:flex-start}.form-group-inline label,.preferences-label{font-size:.9rem;margin-bottom:.25rem}.preferences-label{color:#333;font-weight:600}@media (max-width:768px){.search-summary{flex-direction:column;gap:.5rem}.summary-item{justify-content:space-between}.form-row-inline{flex-direction:column;gap:.75rem}.preferences-group{min-width:auto}.preferences-container{gap:.75rem}.individual-hookups-inline{flex-direction:column;gap:.25rem}.individual-hookups-inline .checkbox-label-inline{margin-right:0}}.result-card{font-size:.85rem}.result-card .card-header h3{font-size:1rem;margin-bottom:.5rem}.result-card p{font-size:.8rem;margin:.25rem 0}.result-card .card-content{padding:.75rem}.result-card .amenities{margin-bottom:.75rem}.result-card .card-footer{font-size:1.25rem;margin:0;padding:.5rem .75rem}.result-card .card-footer .price{font-size:1rem}.result-card .book-btn{padding:.5rem 1rem}.result-card .amenity-tag{font-size:.7rem;margin:.1rem;padding:.15rem .4rem}.search-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:15px}.modify-search-btn,.proceed-booking-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.modify-search-btn{background:#6c757d}.modify-search-btn:hover{background:#5a6268}.proceed-booking-btn{background:#28a745;box-shadow:0 2px 4px #0000001a;color:#fff;font-weight:600}.proceed-booking-btn:hover{background:#218838;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.special-event-banner{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#fff;margin-bottom:1rem;padding:1rem 1.5rem}.special-event-info h3{font-size:1.3rem;font-weight:600;margin:0 0 .5rem}.special-event-info .event-code{font-size:.95rem;margin:0 0 .5rem;opacity:.95}.special-event-info .event-code strong{background:#fff3;border-radius:4px;font-family:monospace;padding:.15rem .5rem}.special-event-info .event-description{font-size:.9rem;margin:0 0 .5rem;opacity:.9}.special-event-info .event-details{font-size:.85rem;opacity:.85}.special-event-info .event-details span{white-space:nowrap}.event-code-field,.event-code-group{position:relative}.event-code-hint{color:#667eea;display:block;font-size:.8rem;font-style:italic;margin-top:.25rem}.event-code-group input{text-transform:uppercase}.admin-page{margin:0 auto;max-width:1400px;padding:2rem}.data-table{margin-top:1rem;overflow-x:auto}.data-table table{border-collapse:collapse;font-size:.9rem;width:100%}.data-table td,.data-table th{border-bottom:1px solid #e9ecef;padding:.75rem;text-align:left}.data-table th{color:#2c5530;font-weight:600}.data-table th,.data-table tr:hover{background-color:#f8f9fa}.admin-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.admin-header-top{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.admin-header h1{color:#2c5530;font-size:2.5rem;margin:0}.admin-info{align-items:center;color:#666;display:flex;font-size:.9rem;gap:1rem}.admin-corporate,.admin-store,.admin-username{background-color:#f8f9fa;border-radius:4px;font-weight:500;padding:.25rem .75rem}.admin-username{border-left:3px solid #2c5530}.admin-corporate{border-left:3px solid #17a2b8}.admin-store{border-left:3px solid #007bff}.access-denied{background-color:#f8f9fa;border-radius:8px;margin:2rem auto;max-width:500px;padding:3rem;text-align:center}.access-denied h2{color:#dc3545;margin-bottom:1rem}.access-denied p{color:#666;margin-bottom:1.5rem}.access-denied button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s ease}.access-denied button:hover{background-color:#0056b3}.empty-state{color:#666;padding:3rem 2rem}.empty-state p{margin:.5rem 0}.empty-state p:first-child{color:#333;font-size:1.1rem;font-weight:500}.section-description{color:#666;font-size:.9rem;margin:.5rem 0 1.5rem}.admin-tabs{border-bottom:2px solid #e9ecef;display:flex;gap:0}.admin-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.content-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.content-header h2{color:#2c5530;font-size:1.8rem;margin:0}.filter-controls,.search-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.filter-group{align-items:center;display:flex;gap:.5rem}.filter-group label{color:#333;font-weight:600;white-space:nowrap}.filter-group input,.filter-group select{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem}.filter-group button{background:#2c5530;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background-color .2s ease}.filter-group button:hover{background:#1e3d22}.customer-row{cursor:pointer;transition:background-color .2s ease}.customer-row:hover{background-color:#e3f2fd!important}.customer-row.banned{background-color:#ffeaa7}.customer-row.banned:hover{background-color:#ffd54f!important}.reservation-row{transition:background-color .2s ease}.reservation-row.clickable:hover{background-color:#e8f5e8!important}.reservation-row.checked-in{background-color:#f0f8ff}.reservation-row.checked-in:hover{background-color:#e6f3ff!important}.editable-row{cursor:pointer;transition:background-color .2s ease}.editable-row:hover{background-color:#e3f2fd!important}.add-row{border:2px dashed #ccc;cursor:pointer;transition:background-color .2s ease}.add-row:hover{background-color:#f0f8ff!important;border-color:#2c5530}.add-row-content{align-items:center;color:#666;display:flex;font-weight:500;gap:.5rem;justify-content:center;padding:1rem}.add-icon{color:#2c5530;font-size:1.5rem}.add-btn{background:#2c5530;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.add-btn:hover{background:#1e3d22;box-shadow:0 2px 8px #2c55304d;transform:translateY(-1px)}.edit-form-row{background-color:#f8f9fa;border:2px solid #2c5530}.edit-form{padding:1.5rem}.edit-form .form-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.edit-form .form-group{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:150px}.edit-form .form-group label{color:#333;font-size:.9rem;font-weight:600}.edit-form .form-group input,.edit-form .form-group select,.edit-form .form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem;transition:border-color .2s ease}.edit-form .form-group input:focus,.edit-form .form-group select:focus,.edit-form .form-group textarea:focus{border-color:#2c5530;box-shadow:0 0 0 2px #2c55301a;outline:none}.edit-form .form-group input[type=checkbox]{margin-right:.5rem;width:auto}.edit-form .form-group label:has(input[type=checkbox]){align-items:center;flex-direction:row}.radio-group{display:flex;flex-wrap:wrap;gap:1rem}.radio-group label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:.5rem}.radio-group input[type=radio]{margin:0;width:auto}.edit-form .form-actions{border-top:1px solid #eee;display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem}.save-btn{background:#2c5530;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.save-btn:hover{background:#1e3d22;box-shadow:0 2px 8px #2c55304d;transform:translateY(-1px)}.cancel-btn{border-radius:6px;font-family:inherit;font-size:1rem;padding:.75rem 1.5rem}.cancel-btn:hover{box-shadow:0 2px 8px #6c757d4d;transform:translateY(-1px)}.modal-backdrop{background-color:#00000080}.modal-dialog{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;margin:auto;max-height:80vh;max-width:450px;width:90%}.modal-dialog-wide{max-height:90vh;max-width:700px;width:95%}.modal-dialog-wide .form-row{gap:2rem;margin-bottom:.75rem}.modal-dialog-wide .form-group{margin-bottom:.5rem}.modal-dialog-wide .form-group label:has(input[type=checkbox]){align-items:center;display:flex;flex-direction:row;gap:.5rem}.modal-dialog-wide .form-group input[type=checkbox]{margin:0;width:auto}.modal-dialog-large{max-height:95vh;max-width:900px;width:95%}.modal-header h3{font-size:1.3rem;font-weight:600;margin:0}.modal-close-btn{font-size:2rem;height:40px;transition:background-color .2s ease;width:40px}.modal-close-btn:hover{background-color:#fff3}.modal-body{display:flex;flex-shrink:1;justify-content:center;min-height:0;overflow-y:auto;padding:1rem 1.5rem}.check-in-details{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem;width:100%}.check-in-details h4{border-bottom:2px solid #2c5530;color:#2c5530;font-size:1.1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.detail-row{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:.5rem 0}.detail-row:last-child{border-bottom:none}.detail-row .label{color:#333;font-weight:600}.detail-row .value{color:#666;font-weight:500}.modal-footer{background:#f8f9fa;border-top:1px solid #eee;flex-shrink:0;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.confirm-btn{background:#2c5530;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-family:inherit;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.confirm-btn:hover{background:#1e3d22;box-shadow:0 2px 8px #2c55304d;transform:translateY(-1px)}.modal-footer .cancel-btn{flex:1 1}.status-badge{font-size:.8rem;padding:.25rem .75rem;text-align:left}.status-badge.confirmed{background-color:#d4edda;color:#155724}.status-badge.pending{background-color:#fff3cd;color:#856404}.status-badge.banned,.status-badge.cancelled{background-color:#f8d7da;color:#721c24}.status-badge.checked-in{background-color:#cce5ff;color:#004085}.amenity-badge{border-radius:8px;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.amenity-badge.available{background-color:#d4edda;color:#155724}.amenity-badge.unavailable{background-color:#f8d7da;color:#721c24}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem}.loading-spinner{margin-bottom:1rem}.loading-container p{color:#666;font-size:1.1rem;margin:0}@media (max-width:768px){.admin-page{padding:1rem}.admin-header h1{font-size:2rem}.admin-tabs{flex-wrap:wrap}.tab-button{font-size:1rem;padding:.75rem 1rem}.admin-content{padding:1rem}.content-header{align-items:flex-start;flex-direction:column}.filter-controls,.filter-group,.search-controls{align-items:flex-start;flex-direction:column;width:100%}.filter-group input,.filter-group select{width:100%}.data-table{font-size:.8rem}.data-table td,.data-table th{padding:.5rem}.edit-form .form-row{flex-direction:column;gap:.75rem}.edit-form .form-group{min-width:auto}.edit-form .form-actions{flex-direction:column;gap:.75rem}.add-btn,.cancel-btn,.save-btn{width:100%}.modal-dialog{margin:10px;max-width:95%}.modal-header{padding:1rem 1.5rem}.modal-header h3{font-size:1.2rem}.modal-body{padding:1.5rem}.check-in-details{padding:1rem}.detail-row{align-items:flex-start;flex-direction:column;gap:.25rem}.modal-footer{flex-direction:column;padding:1rem 1.5rem}}@media (max-width:480px){.admin-page{padding:.5rem}.admin-header h1{font-size:1.5rem}.tab-button{font-size:.9rem;padding:.5rem .75rem}.admin-content{padding:.75rem}.content-header h2{font-size:1.4rem}.data-table{font-size:.75rem}.data-table td,.data-table th{padding:.25rem}.amenity-badge,.status-badge{font-size:.7rem;padding:.2rem .5rem}}.table-input{background:#fff;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.9rem;padding:.5rem;transition:border-color .2s ease;width:100%}.table-input:focus{border-color:#2c5530;box-shadow:0 0 0 2px #2c55301a;outline:none}.table-select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-family:inherit;font-size:.9rem;padding:.5rem;transition:border-color .2s ease;width:100%}.table-select:focus{border-color:#2c5530;box-shadow:0 0 0 2px #2c55301a;outline:none}.form-actions-cell{white-space:nowrap}.cancel-btn-small,.save-btn-small{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;margin:0 .2rem;padding:.4rem .8rem;transition:all .2s ease}.save-btn-small{background:#2c5530;color:#fff}.save-btn-small:hover{background:#1e3d22;box-shadow:0 2px 4px #2c55304d;transform:translateY(-1px)}.cancel-btn-small{background:#6c757d;color:#fff}.cancel-btn-small:hover{background:#5a6268;box-shadow:0 2px 4px #6c757d4d;transform:translateY(-1px)}.status-badge{border-radius:12px;font-size:.75rem;letter-spacing:.5px;padding:.25rem .5rem}.status-badge.active{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-badge.inactive{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-badge.banned{background-color:#dc3545;color:#fff}.action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.btn-action{border:none;border-radius:4px;cursor:pointer;display:inline-block;font-size:.8rem;font-weight:600;padding:.4rem .8rem;text-align:center;text-decoration:none;transition:all .2s ease}.btn-action:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.btn-edit{background-color:#007bff;color:#fff}.btn-edit:hover{background-color:#0056b3}.btn-preview{background-color:#6f42c1;color:#fff}.btn-preview:hover{background-color:#5a32a0}.btn-activate{background-color:#28a745;color:#fff}.btn-activate:hover{background-color:#1e7e34}.btn-versions{background-color:#17a2b8;color:#fff}.btn-versions:hover{background-color:#138496}.btn-delete{background-color:#dc3545;color:#fff}.btn-delete:hover{background-color:#c82333}.modal-large{max-height:80vh;max-width:80vw}.map-preview-container{max-height:70vh;overflow-y:auto}.map-info{margin-bottom:2rem}.map-background-preview{margin:2rem 0;text-align:center}.map-background-preview h4{color:#2c5530;margin-bottom:1rem}.markers-list{margin-top:2rem}.markers-list h4{color:#2c5530;margin-bottom:1rem}.markers-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.marker-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1rem}.marker-info{font-size:.9rem;line-height:1.5}.versions-container{max-height:60vh;overflow-y:auto}.versions-table table{border-collapse:collapse;width:100%}.versions-table td,.versions-table th{border-bottom:1px solid #e9ecef;padding:.75rem;text-align:left}.versions-table th{color:#2c5530;font-weight:600}.versions-table th,.versions-table tr:hover{background-color:#f8f9fa}.empty-state{padding:3rem}.empty-state,.loading-state{color:#6c757d;text-align:center}.loading-state{font-style:italic;padding:2rem}.header-controls{align-items:center;display:flex;gap:1rem;margin-top:1rem}.btn-add{background-color:#2c5530;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.btn-add:hover{background-color:#1e3d22;box-shadow:0 2px 8px #2c55304d;transform:translateY(-1px)}.interactive-map-tool-content{background:#fff;border-radius:1px;box-shadow:0 1px 1px #0000001a;padding:.5rem}.interactive-map-tool{#width:100%;#height:calc(100vh - 150px);#border:2px solid #ddd;#border-radius:8px;#min-height:600px;#display:flex;#align-items:center;#justify-content:center;#background-color:#f5f5f5;#margin:0 0;display:flex;flex-direction:column;height:auto;width:auto}.publish-success{animation:slideIn .3s ease-out;background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;font-weight:500;margin-bottom:.5rem;padding:.75rem}.publish-success a{color:#0c5460;font-weight:600;text-decoration:none}.publish-success a:hover{text-decoration:underline}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tool-layout{display:flex;flex:1 1;gap:.25rem;min-height:0}.icon-panel{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;overflow-y:auto;padding:.5rem;width:100px}.icon-panel h3{color:#2c5530;font-size:.9rem;margin:0 0 .5rem;text-align:center}.icon-upload-section{border-bottom:1px solid #e9ecef;margin-bottom:.5rem;padding-bottom:.5rem}.upload-icon-btn{align-items:center;background:#2c5530;border:none;border-radius:3px;color:#fff;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.2rem;justify-content:center;padding:.25rem;transition:all .2s ease;width:100%}.upload-icon-btn:hover{background:#1e3d22;box-shadow:0 2px 4px #2c55304d;transform:translateY(-1px)}.icon-section{margin-bottom:.5rem}.icon-section h4{color:#2c5530;font-size:.8rem;font-weight:600;margin:0 0 .25rem}.icon-grid{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:1fr}.icon-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:2px;box-sizing:border-box;cursor:grab;display:flex;gap:.25rem;height:auto;min-height:40px;min-width:80px;padding:.2rem;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:auto}.icon-item:hover{background:#f0f8ff;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.icon-item:active{cursor:grabbing}.icon-symbol{flex-shrink:0;font-size:1rem}.icon-label{color:#333;font-size:.7rem;font-weight:500;line-height:1.1}.icon-item.custom-icon{position:relative}.custom-icon-image{border-radius:2px;flex-shrink:0;height:1.2rem;object-fit:cover;width:1.2rem}.delete-custom-icon{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;line-height:1;opacity:0;position:absolute;right:-5px;top:-5px;transition:opacity .2s ease;width:20px}.icon-item.custom-icon:hover .delete-custom-icon{opacity:1}.delete-custom-icon:hover{background:#c82333}.interactive-map-canvas{background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;flex:1 1;flex-direction:column;overflow:auto}.upload-area{align-items:center;background:#f8f9fa;display:flex;flex:1 1;justify-content:center}.upload-placeholder{padding:3rem;text-align:center}.upload-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.upload-placeholder p{color:#666;font-size:1.2rem;margin-bottom:1.5rem}.upload-btn{background:#2c5530;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .2s ease}.upload-btn:hover{background:#1e3d22;box-shadow:0 2px 8px #2c55304d;transform:translateY(-1px)}.interactive-map-container{display:flex;flex:1 1;flex-direction:column}.map-controls{background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;gap:.2rem;padding:.2rem}.control-btn{background:#2c5530;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.control-btn:hover{background:#1e3d22}.control-btn.danger{background:#dc3545}.control-btn.danger:hover{background:#c82333}.control-btn:disabled{background:#6c757d;cursor:not-allowed}.control-btn:disabled:hover{background:#6c757d}.control-btn.publish-btn{background:#17a2b8;font-size:.8rem;font-weight:700;padding:.75rem 1.5rem}.control-btn.publish-btn:hover{background:#138496;box-shadow:0 4px 8px #17a2b84d;transform:translateY(-1px)}.control-btn.publish-btn:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.control-btn.download-btn{background:#e91e63;font-size:.8rem;font-weight:700}.control-btn.download-btn:hover{background:#c2185b;box-shadow:0 4px 8px #e91e634d;transform:translateY(-1px)}.control-btn.download-btn:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.map-instructions{background:#f8f9fa;border-bottom:1px solid #e9ecef;border-top:1px solid #e9ecef;padding:.5rem .75rem}.map-instructions p{color:#495057;font-size:.85rem;margin:0;text-align:left}.map-instructions strong{color:#2c5530}.map-image-container{background:#f0f0f0;flex:1 1;max-height:1200px;max-width:1200px;min-height:0;overflow:auto;position:relative}.map-image{display:block;margin:0;max-height:100%;max-width:100%;object-fit:contain}.map-marker{align-items:center;cursor:pointer;display:flex;flex-direction:column;position:absolute;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none;z-index:10}.map-marker.selected{z-index:20}.marker-icon{font-size:1.5rem;text-shadow:0 0 3px #fffc;transition:all .2s ease}.map-marker:hover .marker-icon{transform:scale(1.3)}.map-marker.selected .marker-icon{filter:drop-shadow(0 0 6px rgba(44,85,48,.7));transform:scale(1.4)}.marker-custom-icon{border-radius:4px;box-shadow:0 2px 4px #0000004d;height:2rem;object-fit:cover;transition:all .2s ease;width:2rem}.map-marker:hover .marker-custom-icon{transform:scale(1.3)}.map-marker.selected .marker-custom-icon{box-shadow:0 0 8px #2c5530b3;transform:scale(1.4)}.marker-label{background:#ffffffe6;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px #0003;font-size:.8rem;font-weight:600;margin-top:.05rem;padding:.2rem .5rem}.marker-editor{background:#fff;border:1px solid #e9ecef;border-radius:8px;bottom:1rem;box-shadow:0 4px 12px #00000026;min-width:250px;padding:1.5rem;position:absolute;right:1rem;z-index:30}.editor-content h4{color:#2c5530;font-size:1.1rem;margin:0 0 1rem}.editor-field{margin-bottom:1rem}.editor-field label{color:#333;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.editor-field input{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem;width:100%}.editor-field input:focus{border-color:#2c5530;box-shadow:0 0 0 2px #2c55301a;outline:none}.editor-field span{color:#666;font-weight:500}.editor-actions{border-top:1px solid #eee;display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem}.delete-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.delete-btn:hover{background:#c82333}.ok-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.ok-btn:hover{background:#218838}.cancel-btn{background:#6c757d;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.cancel-btn:hover{background:#5a6268}@media (max-width:768px){.interactive-map-tool-content{padding:.5rem}.tool-layout{flex-direction:column;gap:1rem}.icon-panel{max-height:200px;width:100%}.icon-grid{gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.interactive-map-canvas{min-height:400px}.marker-editor{bottom:auto;margin-top:1rem;position:relative;right:auto}}@media (max-width:480px){.interactive-map-tool-content{padding:.5rem}.interactive-map-tool{height:calc(100vh - 150px)}.icon-grid{grid-template-columns:1fr}.icon-item{padding:.5rem}.map-controls{flex-direction:column;gap:.5rem}.control-btn{width:100%}}.agreement-tool{display:flex;flex-direction:column;height:calc(100vh - 200px);padding:2rem;width:100%}.agreement-content{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1 1;padding:2rem}.agreement-content h2{color:#2c5530;font-size:1.8rem;margin:0 0 1rem}.agreement-content p{color:#666;font-size:1rem;margin:0}.tools-page{margin:0 auto;max-width:1400px;padding:2rem}.tools-header{margin-bottom:2rem}.tools-header h1{color:#2c5530;font-size:2.5rem;margin-bottom:1rem}.tools-tabs{border-bottom:2px solid #e9ecef;display:flex;gap:0}.tab-button{font-weight:600;padding:.75rem 1rem}.tab-button.active,.tab-button:hover{background-color:#f8f9fa;color:#2c5530}.tab-button.active{border-bottom-color:#2c5530}.tools-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}@media (max-width:768px){.tools-page{padding:1rem}.tools-header h1{font-size:2rem}.tools-tabs{flex-wrap:wrap}.tab-button{font-size:1rem;padding:.75rem 1rem}.tools-content{padding:1rem}}@media (max-width:480px){.tools-page{padding:.5rem}.tools-header h1{font-size:1.5rem}.tab-button{font-size:.9rem;padding:.5rem .75rem}.tools-content{padding:.75rem}}.modal-backdrop{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .3s ease-out;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-width:500px;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:linear-gradient(135deg,#2c5530,#4a7c59);border-bottom:1px solid #eee;border-radius:12px 12px 0 0;color:#fff;justify-content:center;padding:1.5rem 2rem}.modal-header h2{font-size:1.8rem;font-weight:600}.modal-body{min-height:200px;padding:2rem}.loading{color:#666;font-style:italic;padding:2rem 0}.error,.loading{text-align:center}.error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#dc3545;padding:1rem}.selection-form{gap:1.5rem}.form-field,.selection-form{display:flex;flex-direction:column}.form-field{gap:.5rem}.form-field label{color:#333;font-size:.95rem;font-weight:600}.form-select{background:#fff;border:2px solid #ddd;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .2s ease}.form-select:focus{border-color:#2c5530;box-shadow:0 0 0 3px #2c55301a;outline:none}.form-select:disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.help-text{color:#666;font-size:.9rem;font-style:italic;margin:0;text-align:center}.modal-actions{border-top:1px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;padding:1rem 2rem 1.5rem}.btn{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;min-width:100px;padding:.75rem 1.5rem;transition:all .2s ease}.btn-secondary:hover{background:#5a6268}.btn:disabled{color:#666;cursor:not-allowed}.btn:disabled,.btn:disabled:hover{background:#ccc}@media (max-width:768px){.corporate-store-selector-modal{margin:1rem;width:95%}.modal-actions,.modal-content,.modal-header{padding-left:1.5rem;padding-right:1.5rem}.modal-actions{flex-direction:column}.btn{width:100%}}.map-tool-page{margin:0 auto;max-width:1400px;padding:1rem}@media (max-width:768px){.map-tool-page{padding:1rem}}@media (max-width:480px){.map-tool-page{padding:.5rem}}.marker-modal-backdrop{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.marker-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:95vh;max-width:900px;overflow-y:auto;width:100%}.marker-modal-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #eee;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:.5rem 1.5rem}.marker-modal-header h4{align-items:center;color:#2c5530;display:flex;font-size:1rem;gap:.5rem;margin:0}.modal-header-icon{border-radius:4px;font-size:1.5rem;height:32px;object-fit:cover;width:32px}.marker-close-button{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.marker-close-button:hover{background:#0000001a;color:#333}.marker-modal-body{grid-gap:1rem;display:grid;gap:1rem;grid-template-areas:"media info" "availability actions";grid-template-columns:1fr 1fr;grid-template-rows:auto auto;padding:1rem}.marker-media{display:flex;flex-direction:column;grid-area:media}.marker-image-container{aspect-ratio:4/3;border-radius:8px;cursor:pointer;overflow:hidden;position:relative}.marker-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.marker-image-container:hover .marker-image{transform:scale(1.05)}.marker-image-overlay{align-items:center;background:#0000004d;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.marker-image-container:hover .marker-image-overlay{opacity:1}.marker-play-button{cursor:pointer;margin-bottom:1rem;transition:transform .2s ease}.marker-play-button:hover{transform:scale(1.1)}.marker-click-to-play{color:#fff;font-weight:600;margin:0;text-shadow:0 2px 4px #00000080}.marker-video-container{aspect-ratio:4/3;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.marker-video{height:100%;object-fit:cover;width:100%}.marker-back-to-image{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background .2s ease}.marker-back-to-image:hover{background:#5a6268}.marker-info{grid-area:info}.marker-availability{grid-area:availability}.marker-modal-actions{align-self:start;border-top:1px solid #eee;display:flex;flex-direction:column;gap:.75rem;grid-area:actions;padding-top:0}.marker-details{display:contents}.marker-info h3{color:#2c5530;font-size:1.3rem;margin:0 0 1rem}.marker-amenities,.marker-description{margin-bottom:1.5rem}.marker-amenities h4,.marker-availability h4,.marker-description h4{color:#495057;font-size:1rem;margin:0 0 .5rem}.marker-amenities ul{list-style-type:none;margin:0;padding-left:1.2rem}.marker-amenities li{color:#666;margin-bottom:.25rem;padding-left:1rem;position:relative}.marker-amenities li:before{color:#28a745;content:"✓";font-weight:700;left:0;position:absolute}.marker-description p{color:#666;line-height:1.5;margin:0}.availability-calendar{border:1px solid #ddd;border-radius:8px;margin-bottom:1rem;overflow:hidden}.calendar-header{align-items:center;background:#2c5530;color:#fff;display:flex;justify-content:space-between;padding:.5rem}.calendar-header h5{font-size:1.1rem;margin:0}.calendar-nav{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.5rem;padding:.25rem .5rem;transition:background .2s ease}.calendar-nav:hover{background:#fff3}.calendar-weekdays{background:#f8f9fa;display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekday{border-right:1px solid #dee2e6;color:#495057;font-size:.9rem;font-weight:600;padding:.75rem .5rem;text-align:center}.calendar-weekday:last-child{border-right:none}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{border-bottom:1px solid #dee2e6;border-right:1px solid #dee2e6;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:30px;padding:.25rem;transition:all .2s ease}.calendar-day:nth-child(7n){border-right:none}.calendar-day.empty{cursor:default}.calendar-day.available{background:#d4edda;color:#155724}.calendar-day.available:hover{background:#c3e6cb;transform:scale(1.02)}.calendar-day.unavailable{background:#f8d7da;color:#721c24;cursor:not-allowed}.calendar-day.past{background:#e9ecef;color:#6c757d;cursor:not-allowed}.calendar-day.selected.start-date{background:#2c5530;color:#fff;font-weight:700;position:relative}.calendar-day.selected.end-date{background:#1e3d22;color:#fff;font-weight:700;position:relative}.calendar-day.selected.start-date:after{content:"IN";right:2px}.calendar-day.selected.end-date:after,.calendar-day.selected.start-date:after{background:#ffffff4d;border-radius:2px;font-size:.5rem;padding:1px 2px;position:absolute;top:2px}.calendar-day.selected.end-date:after{content:"OUT";right:1px}.calendar-day.in-range{background:#a8d5a8!important;color:#155724;position:relative}.calendar-day.in-range:before{background:linear-gradient(90deg,#2c5530,#0000 50%,#1e3d22);bottom:0;content:"";left:0;opacity:.1;position:absolute;right:0;top:0;z-index:-1}.day-number{font-size:.9rem;font-weight:600}.day-price{font-size:.7rem;font-weight:600;margin-top:auto}.calendar-legend{background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;gap:.5rem;justify-content:center;padding:.5rem}.legend-item{font-size:.8rem}.legend-color{border-radius:2px;height:12px;width:12px}.legend-color.available{background:#d4edda}.legend-color.unavailable{background:#f8d7da}.legend-color.past{background:#e9ecef}.selected-date-info{background:#e3f2fd;border-radius:4px;margin-bottom:.5rem;margin-top:.5rem;padding:.5rem}.selected-date-info h5{color:#1976d2;font-size:.9rem;margin:0 0 .5rem}.selected-date-info p{font-size:.9rem;margin:.25rem 0}.selected-price{color:#2c5530;font-size:3.1rem;font-weight:600;margin:0}.stay-duration{color:#495057;font-size:.9rem;font-weight:600;margin:.5rem 0}.total-price{background:#f8f9fa;border-radius:4px;display:flex;flex-direction:column;gap:.25rem;margin:.5rem 0;padding:.5rem}.price-amount{color:#2c5530;font-size:.9rem;font-weight:700}.price-disclaimer{color:#6c757d;font-size:.75rem;font-style:italic}.selection-instruction{color:#6c757d;font-style:italic;margin:.5rem 0}.clear-selection-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;margin-top:.5rem;padding:.25rem .5rem;transition:background .2s}.clear-selection-btn:hover{background:#c82333}.guest-count-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-bottom:.5rem;padding:.5rem}.guest-count-section h5{color:#495057;font-size:1rem;margin:0 0 .5rem}.guest-count-row{display:flex;gap:1rem}.guest-count-field{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.guest-count-field label{color:#333;font-size:.9rem;font-weight:600}.guest-count-select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem;transition:border-color .2s ease}.guest-count-select:focus{border-color:#2c5530;box-shadow:0 0 0 2px #2c553033;outline:none}.pricing-info h5{color:#495057;margin:0 0 .5rem}.base-price{color:#2c5530;font-size:1rem;font-weight:600;margin:0}.pricing-note{color:#6c757d;font-size:.8rem;font-style:italic;margin:.25rem 0 0}.marker-reserve-button{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem;transition:all .2s ease}.marker-reserve-button:hover:not(:disabled){background:#218838;box-shadow:0 4px 8px #28a7454d;transform:translateY(-1px)}.marker-reserve-button:disabled{background:#6c757d;cursor:not-allowed}.marker-add-to-favorites,.marker-check-availability,.marker-get-directions,.marker-report-issue{background:#2c5530;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem;transition:all .2s ease}.marker-add-to-favorites:hover,.marker-check-availability:hover,.marker-get-directions:hover,.marker-report-issue:hover{background:#1e3d22;transform:translateY(-1px)}@media (max-width:768px){.marker-modal-backdrop{padding:.5rem}.marker-modal-content{max-height:95vh}.marker-modal-body{gap:1rem;grid-template-areas:"media" "info" "availability" "actions";grid-template-columns:1fr;grid-template-rows:auto auto auto auto;padding:1rem}.marker-modal-header{padding:1rem}.marker-modal-header h2{font-size:1.2rem}.calendar-day{min-height:50px}.calendar-legend{align-items:center;flex-direction:column;gap:.5rem}}@media (max-width:480px){.marker-modal-header h2{font-size:1rem}.modal-header-icon{font-size:1.2rem;height:24px;width:24px}.calendar-day{min-height:45px;padding:.25rem}.day-price{font-size:.6rem}.marker-tour-features{grid-template-columns:1fr}.guest-count-row{flex-direction:column;gap:.75rem}}.occupancy-rules-info{background:#f8f9fa;border-left:3px solid #28a745;border-radius:6px;margin-top:.75rem;padding:.75rem}.occupancy-breakdown{display:flex;flex-direction:column;gap:.25rem}.occupancy-note{color:#495057;font-size:.85rem;font-style:italic}.extra-fees-notice{border-top:1px solid #dee2e6;display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;padding-top:.5rem}.extra-fee-hint{background:#fff5f5;border:1px solid #fed7d7;border-radius:3px;color:#dc3545;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.pricing-breakdown{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-top:1rem;padding:.75rem}.pricing-breakdown h6{color:#495057;font-size:.9rem;font-weight:600;margin:0 0 .5rem}.breakdown-item{align-items:center;border-bottom:1px solid #dee2e6;color:#495057;display:flex;font-size:.85rem;justify-content:space-between;padding:.25rem 0}.breakdown-item:last-child{border-bottom:none}.breakdown-item.total-line{border-bottom:none;border-top:2px solid #dee2e6;color:#2c5530;font-size:.9rem;margin-top:.5rem;padding-top:.5rem}.interactive-map-page{margin:0 auto;max-width:1400px;min-height:calc(100vh - 100px);padding:1rem}.map-header{margin-bottom:2rem;text-align:center}.map-header h1{color:#2c5530;font-size:2.5rem;margin-bottom:.5rem}.map-info{color:#666;font-size:1rem;font-style:italic;margin-bottom:.5rem}.storage-info{color:#28a745;font-size:.85rem;font-weight:500}.map-description{color:#333;font-size:1.1rem;margin-bottom:0}.no-map-container{align-items:center;display:flex;justify-content:center;min-height:60vh}.no-map-content{background:#f8f9fa;border:2px dashed #e9ecef;border-radius:12px;max-width:500px;padding:3rem;text-align:center}.no-map-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.5}.no-map-content h2{color:#2c5530;font-size:1.8rem;margin-bottom:1rem}.no-map-content p{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.create-map-link{background:#2c5530;border-radius:6px;color:#fff;display:inline-block;font-size:1.1rem;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .2s ease}.create-map-link:hover{background:#1e3d22;box-shadow:0 4px 8px #2c55304d;transform:translateY(-1px)}.published-map-container{align-items:flex-start;display:flex;flex-direction:row;gap:1rem}.map-display{background:#f0f0f0;border-radius:8px;box-shadow:0 4px 12px #0000001a;flex:1 1;max-height:1200px;max-width:1200px;overflow:hidden;position:relative}.published-map-image{display:block;margin:0 auto;max-height:100%;max-width:100%;object-fit:contain}.published-marker{align-items:center;cursor:pointer;display:flex;flex-direction:column;position:absolute;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none;z-index:10}.published-marker-icon{font-size:2rem;text-shadow:0 0 3px #fffc;transition:all .2s ease}.published-marker:hover .published-marker-icon{transform:scale(1.2)}.published-marker-custom-icon{border-radius:4px;box-shadow:0 2px 4px #0000004d;height:2.5rem;object-fit:cover;transition:all .2s ease;width:2.5rem}.published-marker:hover .published-marker-custom-icon{transform:scale(1.2)}.map-legend{align-self:flex-start;background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:.5rem;width:110px}.map-legend h4{border-bottom:2px solid #2c5530;color:#2c5530;font-size:1rem;margin:0 0 1rem;padding-bottom:.5rem;text-align:center}.legend-items{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:1fr}.legend-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;gap:.25rem;padding:.2rem}.legend-icon{flex-shrink:0;font-size:1.5rem;text-align:center;width:2rem}.legend-custom-icon{border-radius:4px;flex-shrink:0;height:2rem;object-fit:cover;width:2rem}.legend-name{color:#333;font-size:.8rem;font-weight:500}@media (max-width:768px){.interactive-map-page{padding:1rem}.map-header h1{font-size:2rem}.legend-items{gap:.5rem}.no-map-content{margin:1rem;padding:2rem}.no-map-icon{font-size:3rem}.no-map-content h2{font-size:1.5rem}}@media (max-width:480px){.interactive-map-page{padding:.5rem}.map-header h1{font-size:1.8rem}.map-header p{font-size:1rem}.published-marker-icon{font-size:1.5rem}.published-marker-custom-icon{height:2rem;width:2rem}.legend-items{gap:.5rem}.no-map-content{padding:1.5rem}.no-map-icon{font-size:2.5rem}.no-map-content h2{font-size:1.3rem}.create-map-link{font-size:1rem;padding:.75rem 1.5rem}}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;padding:0;width:90%}.modal-header{align-items:center;background:#4a7c59;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.modal-header h2{color:#fff;font-size:1.125rem;margin:0}.modal-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.modal-close-btn:hover{background:#fff3;color:#fff}.modal-close-btn:active{background:#ffffff4d}.modal-tabs{background:#f9fafb;border-bottom:2px solid #e5e7eb;display:flex;padding:0 16px}.modal-tabs .tab-button{background:none;border:none;border-bottom:3px solid #0000;bottom:-2px;color:#6b7280;cursor:pointer;font-size:.8125rem;font-weight:500;padding:8px 14px;position:relative;transition:all .2s}.modal-tabs .tab-button:hover{background:#3b82f60d;color:#3b82f6}.modal-tabs .tab-button.active{border-bottom-color:#3b82f6;color:#3b82f6}.modal-body{padding:16px}.modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;padding:12px 16px}.form-section{display:flex;flex-direction:column;gap:8px}.form-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.form-group{gap:8px}.form-group label{color:#374151;font-size:.8125rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:.8125rem;padding:6px 10px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-size:.8125rem;margin-bottom:12px;padding:8px}.btn-primary{border-radius:4px;font-size:.8125rem;font-weight:500;padding:6px 14px;transition:background-color .2s}.btn-primary:hover:not(:disabled){background:#1e3a21}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{background:#6c757d;border:1px solid #6c757d;border-radius:4px;color:#fff;cursor:pointer;font-size:.8125rem;font-weight:500;padding:6px 14px;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#5a6268;border-color:#5a6268}.btn-secondary:disabled{background:#9ca3af;border-color:#9ca3af;color:#e5e7eb;cursor:not-allowed}@media (max-width:640px){.modal-content{max-width:95%;width:95%}.form-row{grid-template-columns:1fr}.modal-tabs{overflow-x:auto}.modal-tabs .tab-button{white-space:nowrap}}.rv-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.rv-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:750px;overflow-y:auto;padding:0;width:90%}.rv-modal-header{align-items:center;background:#4a7c59;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:14px 20px}.rv-modal-header h2{color:#fff;font-size:1.25rem;margin:0}.rv-modal-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.rv-modal-close-btn:hover{background:#fff3;color:#fff}.rv-modal-close-btn:active{background:#ffffff4d}.rv-modal-body{padding:20px}.rv-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:14px 20px}.rv-form-section{display:flex;flex-direction:column;gap:10px}.rv-form-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.rv-form-group{display:flex;flex-direction:column;gap:10px}.rv-form-group label{color:#374151;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.rv-form-group input,.rv-form-group select,.rv-form-group textarea{border:1px solid #d1d5db;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:.9375rem;padding:8px 12px}.rv-form-group input:focus,.rv-form-group select:focus,.rv-form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.rv-error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-size:.875rem;margin-bottom:14px;padding:10px}.rv-btn-primary{background:#2c5530;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:500;padding:8px 16px;transition:background-color .2s}.rv-btn-primary:hover:not(:disabled){background:#1e3a21}.rv-btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.rv-btn-secondary{background:#6c757d;border:1px solid #6c757d;border-radius:4px;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:500;padding:8px 16px;transition:all .2s}.rv-btn-secondary:hover:not(:disabled){background:#5a6268;border-color:#5a6268}.rv-btn-secondary:disabled{background:#9ca3af;border-color:#9ca3af;color:#e5e7eb;cursor:not-allowed}@media (max-width:640px){.rv-modal-content{max-width:95%;width:95%}.rv-form-row{grid-template-columns:1fr}}.pv-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.pv-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:750px;overflow-y:auto;padding:0;width:90%}.pv-modal-header{align-items:center;background:#4a7c59;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:14px 20px}.pv-modal-header h2{color:#fff;font-size:1.25rem;margin:0}.pv-modal-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.pv-modal-close-btn:hover{background:#fff3;color:#fff}.pv-modal-close-btn:active{background:#ffffff4d}.pv-modal-body{padding:20px}.pv-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:14px 20px}.pv-form-section{display:flex;flex-direction:column;gap:10px}.pv-form-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.pv-form-group{display:flex;flex-direction:column;gap:10px}.pv-form-group label{color:#374151;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.pv-form-group input,.pv-form-group select,.pv-form-group textarea{border:1px solid #d1d5db;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:.9375rem;padding:8px 12px}.pv-form-group input:focus,.pv-form-group select:focus,.pv-form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.pv-error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-size:.875rem;margin-bottom:14px;padding:10px}.pv-btn-primary{background:#2c5530;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:500;padding:8px 16px;transition:background-color .2s}.pv-btn-primary:hover:not(:disabled){background:#1e3a21}.pv-btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.pv-btn-secondary{background:#6c757d;border:1px solid #6c757d;border-radius:4px;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:500;padding:8px 16px;transition:all .2s}.pv-btn-secondary:hover:not(:disabled){background:#5a6268;border-color:#5a6268}.pv-btn-secondary:disabled{background:#9ca3af;border-color:#9ca3af;color:#e5e7eb;cursor:not-allowed}@media (max-width:640px){.pv-modal-content{max-width:95%;width:95%}.pv-form-row{grid-template-columns:1fr}}.profile-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.profile-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:750px;overflow-y:auto;padding:0;width:90%}.profile-modal-header{align-items:center;background:#4a7c59;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:14px 20px}.profile-modal-header h2{color:#fff;font-size:1.25rem;margin:0}.profile-modal-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.profile-modal-close-btn:hover{background:#fff3;color:#fff}.profile-modal-close-btn:active{background:#ffffff4d}.profile-modal-tabs{background:#f9fafb;border-bottom:2px solid #e5e7eb;display:flex;padding:0 20px}.profile-tab-button{background:none;border:none;border-bottom:3px solid #0000;bottom:-2px;color:#6b7280;cursor:pointer;font-size:.9375rem;font-weight:500;padding:10px 16px;position:relative;transition:all .2s}.profile-tab-button:hover{background:#3b82f60d;color:#3b82f6}.profile-tab-button.active{border-bottom-color:#3b82f6;color:#3b82f6}.profile-modal-body{padding:20px}.profile-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:14px 20px}.profile-form-section{display:flex;flex-direction:column;gap:10px}.profile-form-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.profile-form-group{display:flex;flex-direction:column;gap:10px}.profile-form-group label{color:#374151;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.profile-form-group input,.profile-form-group select,.profile-form-group textarea{border:1px solid #d1d5db;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:.9375rem;padding:8px 12px}.profile-form-group input:focus,.profile-form-group select:focus,.profile-form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.profile-error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-size:.875rem;margin-bottom:14px;padding:10px}.profile-btn-primary{background:#2c5530;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:500;padding:8px 16px;transition:background-color .2s}.profile-btn-primary:hover:not(:disabled){background:#1e3a21}.profile-btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.profile-btn-secondary{background:#6c757d;border:1px solid #6c757d;border-radius:4px;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:500;padding:8px 16px;transition:all .2s}.profile-btn-secondary:hover:not(:disabled){background:#5a6268;border-color:#5a6268}.profile-btn-secondary:disabled{background:#9ca3af;border-color:#9ca3af;color:#e5e7eb;cursor:not-allowed}@media (max-width:640px){.profile-modal-content{max-width:95%;width:95%}.profile-form-row{grid-template-columns:1fr}.profile-modal-tabs{overflow-x:auto}.profile-tab-button{white-space:nowrap}}.profile-container{margin:2rem auto;max-width:1000px;padding:0 1rem}.profile-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.profile-header h1{color:#333;font-size:2rem;margin:0}.profile-header-actions{align-items:center;display:flex;gap:12px}.profile-edit-button{background:#2c5530;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.profile-edit-button:hover{background:#1e3a21}.profile-close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.profile-close-button:hover{background-color:#f0f0f0;color:#333}.profile-close-button:active{background-color:#e0e0e0}.profile-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:1rem}.tab-button{background:none;border:none;border-bottom:3px solid #0000;bottom:-2px;color:#666;cursor:pointer;font-size:1rem;font-weight:500;padding:1rem 1.5rem;position:relative;transition:all .3s ease}.tab-button:hover{background-color:#007bff0d;color:#007bff}.tab-button.active{border-bottom-color:#007bff;color:#007bff}.profile-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:.75rem 1.25rem 1.25rem}.tab-panel h2{border-bottom:1px solid #e0e0e0;color:#333;font-size:1.125rem;margin-bottom:1rem;padding-bottom:.375rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.info-item{display:flex;flex-direction:column;gap:.375rem}.info-item label{color:#666;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item p{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;color:#333;font-size:.875rem;margin:0;padding:.5rem}.vehicle-section{margin-bottom:2rem}.vehicle-section:last-child{margin-bottom:0}.vehicle-section-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.375rem}.vehicle-section-header h2{color:#333;font-size:1.125rem;margin:0}.vehicle-section h2{border-bottom:2px solid #e0e0e0;color:#333;font-size:1.125rem;margin-bottom:1rem;padding-bottom:.375rem}.btn-add-vehicle{background:#2c5530;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s}.btn-add-vehicle:hover{background:#1e3a21}.vehicle-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.vehicle-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.vehicle-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.vehicle-card-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;color:#333;display:flex;justify-content:space-between;padding:.275rem}.pv-card .vehicle-card-header,.rv-card .vehicle-card-header{background:#f8f9fa}.vehicle-card-header h3{flex:1 1;font-size:1rem;font-weight:600;margin:0}.vehicle-card-actions{display:flex;gap:8px}.btn-icon{align-items:center;background:#0000000d;border:1px solid #0000001a;border-radius:4px;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.btn-icon:hover{background:#0000001a;transform:scale(1.1)}.btn-icon.btn-delete:hover{background:#dc2626;border-color:#dc2626}.vehicle-card-body{grid-gap:.625rem;display:grid;gap:.625rem;grid-template-columns:1fr 1fr 1fr;padding:.75rem}.vehicle-detail{display:flex;flex-direction:column;gap:.25rem}.vehicle-detail.full-width{grid-column:1/-1}.vehicle-detail .label{color:#666;font-size:.625rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.vehicle-detail .value{color:#333;font-size:.875rem;font-weight:500}.no-vehicles{color:#999;font-style:italic;grid-column:1/-1;padding:1.5rem;text-align:center}@media (max-width:768px){.profile-tabs{overflow-x:auto}.tab-button{padding:.75rem 1rem;white-space:nowrap}.info-grid{grid-template-columns:1fr}.profile-content{padding:1rem}}.reservations-list{grid-gap:.75rem;display:grid;gap:.75rem}.reservation-card{background:#fff;border:1px solid #e0e0e0;border-radius:6px;overflow:hidden;transition:box-shadow .2s}.reservation-card:hover{box-shadow:0 1px 4px #0000001a}.reservation-card-header{align-items:flex-start;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:.75rem 1rem}.reservation-card-header h3{color:#333;font-size:.9rem;margin:0 0 .25rem}.status-badge{border-radius:10px;display:inline-block;font-size:.7rem;font-weight:600;padding:.15rem .5rem;text-transform:uppercase}.status-confirmed{background:#d4edda;color:#155724}.status-pending{background:#fff3cd;color:#856404}.status-cancelled{background:#f8d7da;color:#721c24}.status-completed{background:#d1ecf1;color:#0c5460}.reservation-total{color:#2c5530;font-size:1.1rem;font-weight:700}.reservation-table{border-collapse:collapse;font-size:.8rem;width:100%}.reservation-table thead th{background:#f8f9fa;border-bottom:1px solid #e0e0e0;color:#666;font-size:.75rem;font-weight:600;padding:.4rem .6rem;text-align:left}.reservation-table tbody td{border-bottom:1px solid #f0f0f0;padding:.4rem .6rem;vertical-align:top}.reservation-table tbody tr:last-child td{border-bottom:none}.reservation-table .date-cell{border-right:1px solid #f0f0f0;color:#333;font-weight:600;vertical-align:middle;white-space:nowrap}.reservation-table .site-cell{border-bottom:none;color:#333}.reservation-table .site-name{color:#2c5530;font-weight:600}.reservation-table .site-occupancy{color:#666}.no-reservations{padding:3rem 1.5rem;text-align:center}.no-reservations p{color:#666;font-size:1.1rem;margin-bottom:1.5rem}.btn-primary{background:#2c5530;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-primary:hover{background:#1e3d22;box-shadow:0 4px 8px #2c55304d;transform:translateY(-1px)}@media (max-width:768px){.reservation-card-header{flex-direction:column;gap:.5rem}.reservation-total{align-self:flex-end}.reservation-table{font-size:.75rem}.reservation-table tbody td,.reservation-table thead th{padding:.3rem .4rem}}.payment-methods-list{display:flex;flex-direction:column;gap:1rem}.payment-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;padding:1rem 1.25rem;transition:all .2s}.payment-card:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.payment-card.expired{background:#f8f9fa;opacity:.7}.payment-card-info{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.payment-card-brand{color:#333;font-size:1rem;font-weight:700;min-width:60px}.payment-card-number{color:#555;font-family:monospace;font-size:.95rem;letter-spacing:.5px}.payment-card-expiry{align-items:center;color:#666;display:flex;font-size:.9rem;gap:.5rem}.expired-badge{background:#dc3545;font-size:.7rem;padding:2px 8px}.default-badge,.expired-badge{border-radius:4px;color:#fff;font-weight:600;text-transform:uppercase}.default-badge{background:#28a745;font-size:.75rem;padding:4px 10px}.payment-card-actions{display:flex;flex-shrink:0;gap:.75rem}.btn-set-default{background:#f8f9fa;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 12px;transition:all .2s}.btn-set-default:hover{background:#e9ecef;border-color:#adb5bd}.btn-remove-card{background:#fff;border:1px solid #dc3545;border-radius:4px;color:#dc3545;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 12px;transition:all .2s}.btn-remove-card:hover{background:#dc3545;color:#fff}.no-payment-methods{padding:3rem 1.5rem;text-align:center}.no-payment-methods p{color:#666;font-size:1.1rem;margin:0 0 .5rem}.no-payment-methods .hint{color:#999;font-size:.9rem;font-style:italic}@media (max-width:768px){.payment-card{align-items:flex-start;flex-direction:column;gap:1rem}.payment-card-info{width:100%}.payment-card-actions{justify-content:flex-end;width:100%}}.welcome-banner{background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;box-shadow:0 4px 6px #10b98133;margin-bottom:1.5rem;padding:20px 24px}.welcome-banner-content{align-items:center;display:flex;gap:16px}.welcome-banner-icon{flex-shrink:0;font-size:2.5rem}.welcome-banner-text{flex:1 1}.welcome-banner-text h3{color:#fff;font-size:1.25rem;font-weight:600;margin:0 0 4px}.welcome-banner-text p{color:#ffffffe6;font-size:14px;margin:0}.welcome-banner-text .missing-fields{color:#ffffffd9;font-size:13px;margin-top:8px}.welcome-banner-action{background:#fff;border:none;border-radius:6px;color:#059669;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s;white-space:nowrap}.welcome-banner-action:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.welcome-banner-dismiss{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:32px;justify-content:center;transition:background-color .2s;width:32px}.welcome-banner-dismiss:hover{background:#ffffff4d}@media (max-width:768px){.welcome-banner-content{flex-wrap:wrap}.welcome-banner-icon{display:none}.welcome-banner-text{width:100%}.welcome-banner-action{flex:1 1}.welcome-banner-dismiss{position:absolute;right:10px;top:10px}.welcome-banner{position:relative}}.auth-callback-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-callback-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:400px;padding:40px;text-align:center;width:100%}.auth-callback-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:50px;margin:0 auto 24px;width:50px}.auth-callback-icon{align-items:center;border-radius:50%;display:flex;height:60px;justify-content:center;margin:0 auto 24px;width:60px}.auth-callback-icon svg{height:30px;width:30px}.auth-callback-icon.success{background:#dcfce7;color:#16a34a}.auth-callback-icon.error{background:#fef2f2;color:#dc2626}.auth-callback-card h2{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 12px}.auth-callback-card p{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 24px}.auth-callback-button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 32px;transition:background-color .2s}.auth-callback-button:hover{background:#2563eb}.auth-prompt-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.auth-prompt-modal{background:#fff;border:2px solid #007bff;border-radius:8px;box-shadow:0 10px 30px #0000004d;margin:20px;max-width:400px;overflow:hidden;width:100%}.auth-prompt-header{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;padding:2rem;text-align:center}.auth-icon{font-size:2.5rem;margin-bottom:1rem}.auth-prompt-header h2{font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.auth-prompt-header p{font-size:.9rem;margin:0;opacity:.9}.auth-prompt-form{padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem}.form-group input{border:2px solid #e1e5e9;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-group input:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.auth-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.auth-prompt-actions{display:flex;gap:1rem;justify-content:flex-end}.auth-btn,.cancel-btn{border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.cancel-btn{background-color:#6c757d;color:#fff}.cancel-btn:hover:not(:disabled){background-color:#545b62}.auth-btn{background-color:#007bff;color:#fff}.auth-btn:hover:not(:disabled){background-color:#0056b3;box-shadow:0 4px 8px #007bff4d;transform:translateY(-1px)}.auth-btn:disabled,.cancel-btn:disabled{background-color:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.auth-prompt-footer{background-color:#f8f9fa;border-top:1px solid #e9ecef;padding:1rem 2rem;text-align:center}.auth-prompt-footer small{color:#6c757d;font-size:.8rem}@media (max-width:480px){.auth-prompt-modal{margin:10px}.auth-prompt-footer,.auth-prompt-form,.auth-prompt-header{padding:1.5rem}.auth-prompt-actions{flex-direction:column}.auth-btn,.cancel-btn{width:100%}}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.main-interactive-map-content,.main-tool-content{flex:1 1;margin:0 auto;max-width:1400px;padding:1rem;width:100%}.home{text-align:center}.hero-section h1{color:#2c5530;font-size:3rem;margin-bottom:1rem}.hero-section p{color:#666;font-size:1.2rem;margin-bottom:3rem}.features{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:3rem}.feature{border:1px solid #ddd;border-radius:8px;padding:2rem;text-align:center}.feature h3{color:#2c5530;margin-bottom:1rem}.search-form{grid-gap:1rem;display:grid;gap:1rem;margin:0 auto;max-width:600px}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#333;font-weight:700}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem}.search-btn{background-color:#2c5530;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:1rem 2rem}.search-btn:hover{background-color:#1e3d22}.error-messages{background-color:#ffeaa7;border:1px solid #e17055;border-radius:4px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;max-width:600px;padding:1rem}.error-message{align-items:center;color:#d63031;display:flex;font-weight:500;gap:.5rem;margin-bottom:.5rem}.error-message:last-child{margin-bottom:0}.form-group input.error,.form-group select.error{background-color:#ffeaa7;border-color:#e17055}.helper-text{color:#666;display:block;font-size:.85rem;font-style:italic;margin-top:.25rem}.search-btn:disabled{cursor:not-allowed}.search-btn:disabled,.search-btn:disabled:hover{background-color:#ccc}.search-results{margin-left:auto;margin-right:auto;margin-top:1.5rem;max-width:1000px}.search-results h2{color:#2c5530;margin-bottom:1rem;text-align:center}.results-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));justify-content:center}@media (max-width:768px){.results-grid{gap:1rem;grid-template-columns:1fr}.site-image-container{height:180px}.card-content{padding:1rem}.card-footer{align-items:stretch;flex-direction:column;gap:.75rem}.book-btn{width:100%}}.result-card{background:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 2px 4px #0000001a;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.result-card:hover{box-shadow:0 6px 16px #00000026;transform:translateY(-2px)}.site-image-container{background:#f5f5f5;height:200px;overflow:hidden;position:relative}.site-image{height:100%;object-fit:cover;transition:transform .2s ease;width:100%}.result-card:hover .site-image{transform:scale(1.05)}.site-id-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2c5530e6;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem;position:absolute;right:10px;top:10px}.card-content{padding:1.5rem}.card-header{margin-bottom:1rem}.card-header h3{color:#2c5530;font-size:1.3rem;margin:0 0 .25rem}.site-description{color:#666;font-size:.9rem;font-style:italic;margin:0}.amenities{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.amenity-tag{background:#e8f5e8;border-radius:20px;color:#2c5530;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.card-footer{align-items:center;display:flex;gap:1rem;justify-content:space-between}.price{color:#2c5530;font-size:1.4rem;font-weight:700;margin:0}.book-btn{background:#4a7c59;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.book-btn:hover{background:#3a6247;box-shadow:0 2px 8px #4a7c594d;transform:translateY(-1px)}.search-from-nav{background:#e8f5e8;border:1px solid #2c5530;border-radius:8px;margin-bottom:.75rem;margin-left:auto;margin-right:auto;max-width:600px;padding:.75rem;text-align:center}.search-from-nav p{color:#2c5530;font-weight:600;margin:0 0 .5rem}.search-summary{color:#333;font-size:.9rem;line-height:1.4}.search-summary strong{color:#2c5530}.search-actions{margin-top:1rem}.modify-search-btn{background:#4a7c59;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:background-color .2s ease}.modify-search-btn:hover{background:#3a6247}.no-search-message{background:#f8f9fa;border-radius:8px;margin:2rem auto;max-width:600px;padding:3rem 2rem;text-align:center}.no-search-message p{color:#666;font-size:1.1rem;margin:.5rem 0}.no-search-message strong{color:#2c5530}.search-loading{margin:2rem auto;max-width:600px;padding:3rem 2rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#2c5530;height:40px;margin:0 auto 1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.search-loading p{color:#666;font-size:1.1rem;margin:0}.modify-search-form{animation:slideDown .3s ease-out;background:#f8f9fa;border:1px solid #ddd;border-radius:8px;margin:2rem auto;max-width:600px;padding:2rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modify-search-form h3{color:#2c5530;margin:0 0 1.5rem;text-align:center}.form-row-inline{align-items:end;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.form-group-inline{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:120px}.form-group-inline label{color:#333;font-size:.85rem;font-weight:600;white-space:nowrap}.form-group-inline input,.form-group-inline select{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem;transition:border-color .2s ease}.form-group-inline input:focus,.form-group-inline select:focus{border-color:#2c5530;outline:none}.form-group-inline input.error,.form-group-inline select.error{background-color:#ffeaa7;border-color:#e17055}.helper-text-inline{color:#666;display:block;font-size:.8rem;font-style:italic;margin-top:.25rem;text-align:center}.form-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.form-actions .cancel-btn,.form-actions .search-btn{background:#2c5530!important;border:none!important;border-radius:4px!important;color:#fff!important;cursor:pointer!important;font-size:1rem!important;font-weight:600!important;margin-top:0!important;min-width:120px!important;padding:.75rem 1.5rem!important;transition:background-color .2s ease!important}.form-actions .cancel-btn:hover,.form-actions .search-btn:hover{background:#1e3d22!important}.form-actions .search-btn:disabled{background:#ccc!important;cursor:not-allowed!important}.form-actions .search-btn:disabled:hover{background:#ccc!important}.form-actions .cancel-btn{background:#6c757d!important;border:none!important;border-radius:4px!important;color:#fff!important;cursor:pointer!important;font-size:1rem!important;font-weight:600!important;margin-top:0!important;min-width:120px!important;padding:.75rem 1.5rem!important;transition:background-color .2s ease!important}.form-actions .cancel-btn:hover{background:#5a6268!important}@media (max-width:768px){.modify-search-form{margin:1rem;padding:1.5rem}.form-row-inline{flex-direction:column;gap:.75rem}.form-group-inline{min-width:auto}.form-actions{flex-direction:column}.form-actions .cancel-btn,.form-actions .search-btn{width:100%!important}}.map-container{align-items:center;background-color:#f5f5f5;border:2px solid #ddd;border-radius:8px;display:flex;justify-content:center;margin:2rem 0;min-height:400px}.map-placeholder{color:#666;text-align:center}.legend{gap:2rem;justify-content:center}.legend,.legend-item{align-items:center;display:flex}.legend-item{gap:.5rem}.legend-color{border-radius:50%;height:20px;width:20px}.legend-color.available{background-color:#4caf50}.legend-color.occupied{background-color:#f44336}.legend-color.reserved{background-color:#ff9800}.faq-item{border-bottom:1px solid #eee;margin-bottom:2rem;padding-bottom:1rem}.faq-item h3{color:#2c5530;margin-bottom:.5rem}.contact-section{border-top:2px solid #eee;margin-top:3rem;padding-top:2rem}.contact-info p{margin-bottom:.5rem}.about-content{line-height:1.6;margin:0 auto;max-width:800px}.about-content h2{color:#2c5530;margin-bottom:1rem;margin-top:2rem}.about-content ul{list-style-type:disc;padding-left:2rem}
/*# sourceMappingURL=main.8dc5e968.css.map*/