@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#212529;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}*{box-sizing:border-box}.header{background:linear-gradient(135deg,#1546d4,#0d2f8f);box-shadow:0 2px 8px #0003;position:sticky;top:0;z-index:1000;padding:1rem 0}.header-container{max-width:1400px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}@media (min-width: 768px){.header-container{padding:0 2rem;gap:2rem}}.header-logo img{height:40px;width:auto;object-fit:contain}.header-nav{display:flex;gap:2rem;align-items:center}.header-nav.desktop{display:none}.nav-link{color:#fff;text-decoration:none;font-weight:500;transition:all .3s}.nav-link:hover{color:gold;opacity:.9}.language-btn{background:transparent;border:none;cursor:pointer;color:#fff}.header-actions{display:flex;align-items:center;gap:1rem;height:100%}.btn-download{display:none;background:#fff;color:#1546d4;padding:.5rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s;white-space:nowrap;line-height:1.5;align-self:center}.btn-download:hover{background:gold;color:#1546d4;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.user-menu{display:flex;flex-direction:row;align-items:center;gap:.75rem;height:auto}.btn-login,.btn-logout{display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;height:38px;padding:.5rem 1.5rem;margin:0!important;font-size:.9rem;font-weight:600;line-height:1.5;white-space:nowrap;text-decoration:none;border:2px solid;border-radius:8px;box-sizing:border-box;cursor:pointer;transition:all .3s;vertical-align:middle;position:relative}.btn-login{background:transparent;color:#fff;border-color:#fff}.btn-logout{background:#dc3545!important;color:#fff!important;border-color:#dc3545!important}.btn-logout:hover{background:#fff!important;border-color:#fff!important;color:#dc3545!important}@media (max-width: 767px){.btn-login.desktop-only,.btn-logout.desktop-only{display:none!important}}.mobile-icon-btn{display:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#ffffff26;border:none;cursor:pointer;color:#fff;text-decoration:none;transition:background .2s,transform .2s;padding:0;flex-shrink:0}.mobile-icon-btn:hover{background:#ffffff4d;transform:scale(1.08)}.mobile-icon-btn.logout-icon{background:#dc354540}.mobile-icon-btn.logout-icon:hover{background:#dc354580}@media (max-width: 767px){.mobile-only{display:flex}}@media (min-width: 768px){.mobile-only{display:none!important}}.btn-login-mobile{background:#fff!important;color:#1546d4!important;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;text-align:center;margin-top:.5rem}.btn-login-mobile:hover{background:gold!important}.btn-logout-mobile{background:#dc3545!important;color:#fff!important}.btn-logout-mobile:hover{background:#c82333!important;color:#fff!important}.btn-login:hover{background:#fff;color:#1546d4}.user-name{font-weight:500;color:#fff;text-decoration:none;transition:opacity .3s;font-size:.9rem;display:flex;align-items:center}.user-greeting-full{display:none}.user-greeting-short{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#fff3;font-weight:600;font-size:1rem}.user-name:hover{opacity:.8}@media (max-width: 767px){.user-menu{gap:.5rem}.user-greeting-full{display:none}.user-greeting-short{display:flex}.btn-logout{padding:.3rem .75rem;font-size:.8rem}}@media (min-width: 768px){.user-greeting-full{display:block}.user-greeting-short{display:none}}.hamburger-menu{display:flex;flex-direction:column;gap:4px;background:transparent;border:none;cursor:pointer;padding:.5rem;align-self:center}.hamburger-menu span{width:24px;height:3px;background:#fff;border-radius:2px;transition:all .3s}.header-nav.mobile{display:flex;flex-direction:column;padding:1rem 2rem;background:#0d2f8ff2;border-top:1px solid rgba(255,255,255,.2)}@media (min-width: 768px){.header-nav.desktop{display:flex}.hamburger-menu,.header-nav.mobile{display:none}.btn-download{display:block}}@media (min-width: 1024px){.header-container{gap:3rem}}.footer{background:#fff;color:#1546d4;margin-top:4rem;border-top:2px solid #E9ECEF}.container{max-width:1400px;margin:0 auto;padding:0 2rem}.footer-cta-section{background:linear-gradient(135deg,#1546d4,#0d2f8f);padding:4rem 0;text-align:center}.cta-title{font-size:2rem;margin-bottom:1rem;color:#fff}.cta-subtitle{font-size:1.1rem;margin-bottom:1rem;color:#fff;opacity:.9}.cta-description{font-size:1rem;margin-bottom:1rem;color:#fff;opacity:.85}.cta-info{font-size:.95rem;margin-bottom:2rem;color:#fff;opacity:.8}.cta-info a{color:#fff;text-decoration:underline}.contact-info-row{display:flex;flex-direction:column;gap:1rem;margin:2rem 0;align-items:center}.contact-link{color:#fff;font-size:1.1rem;font-weight:600;text-decoration:none;transition:opacity .3s}.contact-link:hover{opacity:.7}.contact-form{max-width:600px;margin:2rem auto 0;display:flex;flex-direction:column;gap:1rem}.contact-form input,.contact-form textarea{padding:.75rem 1rem;border:none;border-radius:8px;font-size:1rem;font-family:inherit}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#6c757d}.contact-form textarea{resize:vertical}.btn-submit{background:#fff;color:#1546d4;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.footer-links-section{background:#fff;padding:3rem 0}.footer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.footer-column h5,.footer-column h3{font-size:1.1rem;margin-bottom:1rem;color:#1546d4;font-weight:600}.footer-column ul{list-style:none;padding:0;margin:0}.footer-column ul li{margin-bottom:.5rem}.footer-column a{color:#495057;text-decoration:none;transition:color .3s}.footer-column a:hover{color:#1546d4}.footer-column-empty{display:none}.footer-column-social{display:flex;flex-direction:column;align-items:center;gap:2rem;grid-column:1 / -1;text-align:center}.footer-logo{max-width:120px}.footer-logo img{width:100%;height:auto}.social-icons{display:flex;gap:1rem;justify-content:center;align-items:center}.social-icon{width:40px;height:40px;border-radius:50%;background:#1546d4;display:flex;align-items:center;justify-content:center;transition:all .3s;color:#fff}.social-icon:hover{transform:translateY(-3px);box-shadow:0 4px 8px #1546d44d}.social-icon svg{width:20px;height:20px;fill:#fff}.social-facebook:hover{background:#1877f2}.social-instagram:hover{background:#e4405f}.social-linkedin:hover{background:#0a66c2}.social-links{display:flex;flex-direction:column;gap:.5rem}.social-links a{color:#495057}.social-links a:hover{color:#1546d4}.footer-bottom{background:#f8f9fa;padding:1.5rem 0;text-align:center;border-top:1px solid #E9ECEF}.footer-bottom p{color:#6c757d;font-size:.9rem;margin:0}.footer-app-download{background:#1546d4;padding:3rem 0;text-align:center}.footer-app-download h3{font-size:1.8rem;margin-bottom:.5rem;color:#fff}.footer-app-download p{margin:.5rem 0;color:#fff;opacity:.9}.app-note{font-size:.85rem;font-style:italic;opacity:.7}@media (min-width: 768px){.footer-grid{grid-template-columns:repeat(2,1fr)}.contact-info-row{flex-direction:row;justify-content:center;gap:3rem}}@media (min-width: 1024px){.footer-grid{grid-template-columns:repeat(4,1fr)}.footer-column-empty{display:block}.footer-column-social{grid-column:auto}.social-links{flex-direction:row}}.google-map-container{width:100%;height:100%;position:relative}.map-error{background:#fff;border-radius:16px;padding:2rem;text-align:center;box-shadow:0 2px 8px #0000001a;min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center}.map-error p{color:#dc3545;font-weight:600;margin-bottom:.5rem}.map-error small{color:#6c757d}.map-info-window{padding:.5rem;min-width:250px}.map-info-window h3{font-size:1.1rem;color:#212529;margin-bottom:.5rem}.info-address{color:#6c757d;font-size:.85rem;margin-bottom:.75rem}.info-image{width:100%;height:120px;object-fit:cover;border-radius:8px;margin-bottom:.75rem}.info-features{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.info-features span{background:#e7f3ff;color:#1546d4;padding:.25rem .5rem;border-radius:12px;font-size:.7rem;font-weight:500}.info-price{margin-bottom:.75rem}.info-price strong{color:#1546d4;font-size:1.2rem}.btn-info-details{width:100%;background:#1546d4;color:#fff;border:none;padding:.6rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.btn-info-details:hover{background:#0d2f8f;transform:translateY(-2px)}@media (max-width: 768px){.google-map-container{position:relative;top:0}}.home-page-v2{min-height:100vh;background:#fff;padding-bottom:0}.search-header{background:#f8f9fa;padding:1.5rem 1rem;border-bottom:1px solid #e0e0e0}.search-header-container{max-width:1200px;margin:0 auto}.version-switcher{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem;padding:.5rem}.version-link{color:#666;text-decoration:none;font-size:.9rem;font-weight:500;padding:.5rem 1rem;border-radius:8px;transition:all .3s}.version-link:hover{color:#1546d4;background:#f0f0f0}.version-link.active{color:#1546d4;background:#e7f3ff;font-weight:600}.version-separator{color:#ddd}.search-tabs{display:flex;gap:1rem;margin-bottom:1.5rem;justify-content:center}.tab-btn{background:transparent;border:none;color:#999;font-size:1rem;font-weight:500;padding:.5rem 1rem;cursor:pointer;transition:all .3s;border-bottom:2px solid transparent}.tab-btn:hover{color:#fff}.tab-btn.active{color:#fff;border-bottom-color:#ff6b6b}.search-bar-compact{background:#fff;border-radius:50px;padding:.75rem 1.5rem;margin-bottom:1.5rem;box-sizing:border-box;max-width:100%;overflow:visible}.search-input-group-v2{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.search-city{display:flex;align-items:center;gap:.25rem;flex-shrink:0;flex:1;min-width:200px;max-width:380px;border-right:1px solid #e0e0e0;padding-right:.75rem;margin-right:.25rem}.search-city strong{color:#1a1a1a;font-size:1rem;font-weight:600}.city-code{color:#999;font-size:.9rem}.btn-center-map{background:#f0f0f0;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;flex-shrink:0;color:#666}.btn-center-map:hover{background:#e0e0e0;color:#1546d4}.search-dates-section{display:flex;align-items:center;gap:.75rem;flex:1;justify-content:center}.search-date-group{display:flex;flex-direction:column;gap:.25rem}.date-label{font-size:.75rem;color:#999;font-weight:500}.date-time-row{display:flex;align-items:center;gap:.75rem}.date-with-icon,.time-with-icon{display:flex;align-items:center;gap:.25rem}.date-icon,.time-icon{color:#ccc;flex-shrink:0}.date-value,.time-value{font-size:.9rem;color:#333;font-weight:500}.date-arrow{color:#999;font-size:1.2rem;flex-shrink:0}.search-btn-round{background:#ff6b6b;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;flex-shrink:0}.search-btn-label{display:none}.search-btn-round:hover{background:#ff5252;transform:scale(1.05)}.search-settings-btn{background:#f0f0f0;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;flex-shrink:0;color:#666}.search-settings-btn:hover{background:#e0e0e0;color:#1546d4}.inline-edit-btn{background:none;border:none;padding:2px 4px;cursor:pointer;color:#bbb;display:inline-flex;align-items:center;border-radius:4px;transition:color .2s,background .2s;flex-shrink:0;line-height:1}.inline-edit-btn:hover{color:#1546d4;background:#e7f3ff}.date-display-clickable{background:none;border:none;padding:4px 8px;cursor:pointer;display:inline-flex;align-items:center;gap:.75rem;border-radius:8px;transition:background .2s;text-align:left}.date-display-clickable:hover{background:#e7f3ff}.date-display-clickable:hover .date-value,.date-display-clickable:hover .time-value,.date-display-clickable:hover .date-icon,.date-display-clickable:hover .time-icon{color:#1546d4}.inline-edit-input{border:none;border-bottom:2px solid #1546D4;outline:none;font-size:1rem;font-weight:600;color:#1a1a1a;background:transparent;padding:0 2px;width:90px}.search-city .inline-edit-input{width:100%;font-size:.95rem;font-weight:500;border-bottom:none;padding:4px 6px;border-radius:6px;transition:background .2s}.search-city .inline-edit-input:focus{background:#f0f5ff;outline:none}.search-city .inline-edit-input::placeholder{color:#aaa;font-weight:400}.pac-container{min-width:380px!important;width:380px!important;border-radius:12px!important;box-shadow:0 8px 24px #00000026!important;border:1px solid #e0e0e0!important;margin-top:4px;font-family:inherit;overflow:hidden}.pac-item{padding:.6rem 1rem!important;font-size:.9rem!important;cursor:pointer}.pac-item:hover{background:#f0f5ff!important}.pac-item-selected{background:#e7f0ff!important}.inline-edit-datetime{font-size:.78rem;font-weight:500;width:155px;color:#333}.search-icon{width:20px;height:20px;color:#fff}.results-count{text-align:center;color:#666;font-size:.95rem}.app-banner{background:#e7f3ff;padding:1rem;margin:0;border-bottom:1px solid #e0e0e0}.app-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-banner-content span{color:#333;font-size:1rem}.app-download-btn{background:#fff;border:1px solid #ddd;padding:.75rem 1.5rem;border-radius:30px;display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:all .3s;font-weight:600;color:#333}.app-download-btn:hover{background:#f0f0f0;transform:translateY(-2px)}.play-icon{font-size:1.2rem}.results-layout-section{display:flex;flex-direction:row;height:calc(100vh - 180px);min-height:800px;overflow:hidden;width:100%}.results-layout-container{display:flex;flex-direction:row;width:100%;height:100%}.results-sidebar{width:100%;height:100%;overflow-y:auto;background:#fff;padding:1rem}.results-sidebar::-webkit-scrollbar{width:8px}.results-sidebar::-webkit-scrollbar-track{background:#f1f1f1}.results-sidebar::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.results-sidebar::-webkit-scrollbar-thumb:hover{background:#555}.results-container{display:flex;flex-direction:column;gap:.6rem}.map-section{display:block;width:70%;height:100%;position:sticky;top:0;z-index:1;padding:1rem;box-sizing:border-box}.map-section .google-map-container{height:100%}.map-placeholder{width:100%;height:100%;background:#f0f0f0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#666;font-size:2rem;border-left:1px solid #e0e0e0}.map-placeholder small{font-size:1rem;color:#999;margin-top:1rem}.view-map-btn-mobile{display:none}@media (min-width: 1024px){.results-sidebar{width:30%;border-right:1px solid #e0e0e0;position:relative;z-index:2;background:#fff}.map-section{display:block;width:70%;position:sticky;top:0;height:100%;padding:1rem}.results-layout-section{height:calc(100vh - 180px);min-height:900px}.results-layout-container{position:relative}.search-header{position:relative;z-index:10;background:#f8f9fa}}@media (max-width: 1023px){.map-section{display:none}.map-section.show-on-mobile{display:block;width:100%;height:calc(100vh - 200px);padding:0}.results-sidebar.hide-on-mobile{display:none}.results-sidebar{width:100%}.view-map-btn-mobile{display:block;position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#1546d4;color:#fff;border:none;padding:1rem 2rem;border-radius:30px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #0003;transition:all .3s;z-index:1000}.view-map-btn-mobile:hover{background:#0d2f8f;transform:translate(-50%) translateY(-2px);box-shadow:0 6px 16px #0000004d}}.parking-card-v2{background:#fff;border-radius:12px;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #0000001a;min-height:150px;display:flex;overflow:hidden}.parking-card-v2:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.parking-card-image{width:140px;height:140px;flex-shrink:0;padding:.5rem;display:flex;align-items:center;justify-content:center}.parking-card-image img{width:100%;height:100%;object-fit:cover;border-radius:8px;transition:transform .3s;background:#f0f0f0}.parking-card-v2:hover .parking-card-image img{transform:scale(1.05)}.parking-card-image{position:relative}.aggregated-badge{position:absolute;bottom:10px;left:10px;background:#1546d4d9;color:#fff;font-size:.65rem;font-weight:700;padding:2px 7px;border-radius:10px;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);letter-spacing:.02em}.parking-card-body{display:flex;flex-direction:column;justify-content:flex-start;position:relative;padding:.85rem 1rem;padding-right:110px;flex:1;min-width:0}.parking-info{flex:1;padding-right:0}.parking-name{font-size:.9rem;font-weight:700;color:#1a1a1a;margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parking-address{color:#999;font-size:.8rem;margin:0 0 .5rem;line-height:1.4}.parking-services{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.service-badge{background:#f5f5f5;padding:.25rem .5rem;border-radius:12px;font-size:.7rem;color:#666;display:flex;align-items:center;gap:.25rem}.parking-price{position:absolute;bottom:.85rem;right:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#ef4444;border-radius:8px;padding:.5rem .75rem;min-width:90px;flex-shrink:0}.price-label{display:flex;flex-direction:column;gap:.1rem;margin-bottom:.25rem}.price-label small{font-size:.65rem;color:#fff;font-weight:600;white-space:nowrap;line-height:1.2;opacity:.9}.price-amount{display:flex;align-items:baseline;color:#fff;font-weight:700}.price-value{font-size:1.5rem;line-height:1;color:#fff}.price-currency{font-size:.85rem;margin-left:.1rem;color:#fff}@media (max-width: 768px){.home-page-v2{overflow-x:hidden}.search-header{padding:1rem;overflow-x:hidden}.search-bar-compact{border-radius:12px;padding:.75rem 1rem}.search-input-group-v2{flex-direction:column;align-items:stretch;gap:.75rem}.search-dates-section{flex-direction:row;align-items:center;gap:.4rem;width:100%;justify-content:flex-start;flex-wrap:nowrap}.search-date-group{flex:1;min-width:0}.date-time-row{flex-wrap:nowrap;gap:.25rem}.date-value,.time-value{font-size:.78rem}.date-arrow{flex-shrink:0;font-size:1rem}.search-btn-round{width:calc(100% - 2rem);height:44px;border-radius:12px;align-self:stretch;gap:.5rem;font-size:1rem;font-weight:700;letter-spacing:.02em}.search-btn-label{display:inline;color:#fff}.aggregated-badge{left:50%;transform:translate(-50%);bottom:8px;font-size:.5rem;padding:2px 5px;white-space:nowrap}.search-tabs{gap:.5rem;overflow-x:auto;padding-bottom:.25rem}.tab-btn{font-size:.85rem;padding:.5rem;white-space:nowrap}.app-banner-content{flex-direction:column;text-align:center;gap:.75rem}.parking-card-v2{min-height:unset}.parking-card-image{width:90px;height:90px;padding:.4rem;flex-shrink:0}.parking-card-body{flex-direction:column;padding:.65rem .75rem;padding-right:90px}.parking-info{flex:1;min-width:0}.parking-name{font-size:.8rem;white-space:normal}.parking-services{display:none}.parking-price{bottom:.65rem;right:.75rem;min-width:75px;padding:.4rem .6rem}.price-value{font-size:1.2rem}.view-map-btn-mobile{bottom:1rem;padding:.875rem 1.5rem;font-size:.9rem}}@media (min-width: 769px){.search-header{padding:2rem}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#666}.spinner{width:50px;height:50px;border:4px solid #f0f0f0;border-top-color:#1546d4;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.empty-state{text-align:center;padding:4rem 2rem;color:#666}.empty-state h3{font-size:1.5rem;margin-bottom:1rem;color:#333}.empty-state p{color:#999}.search-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.search-modal{background:#fff;border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.search-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.search-modal-header h3{margin:0;font-size:1.5rem;color:#1a1a1a}.close-modal-btn{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.close-modal-btn:hover{background:#f0f0f0;color:#333}.search-modal-body{padding:1.5rem}.search-modal-body .form-group{margin-bottom:1.5rem}.search-modal-body .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.9rem}.search-modal-body .form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:all .3s}.search-modal-body .form-group input:focus{outline:none;border-color:#1546d4;box-shadow:0 0 0 3px #1546d41a}.btn-search-apply{width:100%;background:#1546d4;color:#fff;border:none;padding:1rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-search-apply:hover{background:#0d2f8f;transform:translateY(-2px);box-shadow:0 4px 12px #1546d44d}.booking-card{background:#fff;border-radius:16px;border:1px solid #DEE2E6;box-shadow:0 2px 8px #0000001a;overflow:visible;min-height:200px}@media (min-width: 1024px){.booking-card{position:sticky;top:20px;max-height:none;overflow-y:visible}.booking-card::-webkit-scrollbar{width:6px}.booking-card::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.booking-card::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.booking-card::-webkit-scrollbar-thumb:hover{background:#ced4da}}.booking-card-content{padding:1.5rem}.booking-card-title{font-size:1.2rem;font-weight:600;margin-bottom:1rem;color:#212529}.pass-selection{display:flex;flex-direction:column;gap:1rem}.pass-option{border:1px solid #DEE2E6;border-radius:12px;padding:1rem}.pass-option.selected{border-color:#1546d4}.pass-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.pass-info{display:flex;flex-direction:column;gap:.25rem}.pass-name{font-weight:600;color:#212529}.pass-description{font-size:.75rem;color:#6c757d;text-transform:uppercase}.pass-price{display:flex;align-items:center;gap:.5rem}.price-amount{font-size:1.5rem;font-weight:700;color:red}.pass-price input[type=radio]{accent-color:#1546D4}.pass-duration{font-size:.7rem;color:#6c757d;display:block;text-align:right;margin-top:.25rem}.date-selection{border-top:1px solid #DEE2E6;border-bottom:1px solid #DEE2E6;margin:1rem 0;padding:1rem 0;display:flex;flex-direction:column;gap:1rem}.date-input-group{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;border-radius:8px;cursor:pointer;position:relative;background:#f8f9fa;border:2px solid #DEE2E6;transition:all .3s}.date-input-group:hover{background:#e9ecef;border-color:#1546d4}.date-input-group label{font-size:.75rem;color:#6c757d;font-weight:600}.date-input-group input[type=datetime-local]{width:100%;padding:.5rem;border:none;background:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:.9rem;font-weight:600;color:#212529;cursor:pointer}.date-input-group input[type=datetime-local]:focus{outline:none}.date-display{display:none}.date-display-value{font-size:.95rem;font-weight:600;color:#212529;cursor:pointer;padding:.25rem 0;display:block;transition:color .2s}.date-input-group:hover .date-display-value{color:#1546d4}.vehicle-info{display:flex;gap:.5rem;margin-top:.5rem}.vehicle-select,.vehicle-height{flex:1;display:flex;flex-direction:column;gap:.25rem;padding:.5rem}.vehicle-select label,.vehicle-height label{font-size:.75rem;color:#6c757d}.vehicle-select select{border:1px solid #DEE2E6;border-radius:6px;padding:.4rem;font-size:.9rem;background:#fff;cursor:pointer}.vehicle-height span{font-weight:500;color:#212529}.pass-note{background:#f8f9fa;border-radius:8px;padding:1rem;text-align:center}.pass-note-highlight{background:#e7f3ff;padding:.5rem;border-radius:6px;font-size:.75rem;margin-bottom:.5rem}.pass-note-text{font-size:.75rem;color:#6c757d;margin:0}.btn-other-options{background:transparent;border:none;color:#1546d4;font-weight:500;cursor:pointer;padding:.75rem;width:100%;text-align:center;transition:opacity .3s}.btn-other-options:hover{opacity:.7}.price-summary{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #DEE2E6}.price-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0}.price-row.total{padding-top:1rem;margin-top:.5rem;border-top:1px solid #DEE2E6}.price-label{font-size:.95rem;color:#6c757d}.price-row.total .price-label{font-size:1.1rem;font-weight:700;color:#212529}.price-value{font-size:1rem;font-weight:600;color:#fff}.price-row.total .price-value{font-size:1.5rem;font-weight:700;color:#1546d4}.free-cancellation{background:#d4edda;color:#155724;padding:1rem;border-radius:8px;font-size:.9rem;line-height:1.5;text-align:center;border:1px solid #C3E6CB;margin-bottom:10px}.booking-card-footer{padding:1rem 1.5rem;border-top:1px solid #DEE2E6}.btn-continue{width:100%;background:#1546d4;color:#fff;border:none;padding:1rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s;margin-top:10px}.btn-continue:hover{background:#0d2f8f}.tariff-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.tariff-btn{flex:1;padding:.65rem .75rem;border:2px solid #DEE2E6;border-radius:10px;background:#f8f9fa;color:#555;font-size:.82rem;font-family:inherit;cursor:pointer;transition:all .2s;text-align:center;line-height:1.4}.tariff-btn:hover{border-color:#1546d4;color:#1546d4;background:#eef3ff}.tariff-btn.active{border-color:#1546d4;background:#1546d4;color:#fff}.tariff-btn.active strong,.tariff-btn.active span{color:#fff}.daily-switch-banner{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;background:#fffbeb;border:1px solid #fbbf24;border-left:4px solid #f59e0b;border-radius:10px;margin-bottom:1rem;animation:bannerIn .3s ease}@keyframes bannerIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.daily-switch-icon{font-size:1.25rem;flex-shrink:0;margin-top:1px}.daily-switch-text{flex:1;display:flex;flex-direction:column;gap:.2rem}.daily-switch-text strong{font-size:.88rem;color:#92400e}.daily-switch-text span{font-size:.8rem;color:#b45309;line-height:1.4}.daily-switch-dismiss{background:#f59e0b;border:none;border-radius:50%;width:24px;height:24px;color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .2s;margin-top:1px}.daily-switch-dismiss:hover{background:#d97706}.parking-services-compact{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.service-badge-compact{display:inline-flex;align-items:center;gap:.25rem;background:linear-gradient(135deg,#e0f7fa,#b2ebf2);color:#006064;padding:.35rem .65rem;border-radius:20px;font-size:.75rem;font-weight:600;border:1px solid #80deea}.service-badge-more{display:inline-flex;align-items:center;background:#e0e0e0;color:#424242;padding:.35rem .65rem;border-radius:20px;font-size:.75rem;font-weight:600}.service-icon{font-size:1rem}.parking-services-detailed{margin:2rem 0}.parking-services-detailed h4{font-size:1.3rem;color:#2d3748;margin-bottom:1rem;font-weight:700}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.service-item{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1rem;transition:all .3s}.service-item.available{border-color:#48bb78;background:linear-gradient(135deg,#f0fff4,#e6ffed)}.service-item.unavailable{border-color:#e2e8f0;opacity:.7}.service-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.service-label{font-size:.85rem;color:#718096;font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.service-value{font-size:1.1rem;color:#2d3748;font-weight:700}.service-item.available .service-value{color:#2f855a}.service-item.unavailable .service-value{color:#a0aec0}@media (max-width: 768px){.services-grid{grid-template-columns:1fr}}.parking-detail-page{padding:2rem 0;min-height:100vh;overflow-x:hidden;width:100%;box-sizing:border-box}.container{max-width:1400px;margin:0 auto;padding:0 2rem;box-sizing:border-box}.breadcrumb{margin-bottom:2rem}.parking-header-top{margin-bottom:1.5rem;text-align:left}.parking-header-top .parking-name{font-size:2.5rem;font-weight:700;color:#212529;margin:0 0 .25rem}.parking-address-top{font-size:1.1rem;color:#6c757d;margin:0}.detail-layout{display:grid;grid-template-columns:1fr;grid-template-areas:"gallery" "sidebar" "tabs";gap:2rem;min-width:0}.image-gallery{grid-area:gallery}.detail-sidebar{grid-area:sidebar}.info-tabs{grid-area:tabs}.image-gallery{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000001a;width:100%;max-width:100%;box-sizing:border-box}.main-image{width:100%;max-width:100%;height:400px;min-height:400px;max-height:400px;overflow:hidden;box-sizing:border-box;position:relative}.main-image img{position:absolute;top:0;left:0;width:100%;height:100%;max-width:100%;object-fit:cover;display:block}.image-thumbnails{display:flex;gap:.5rem;padding:1rem;overflow-x:auto}.thumbnail{flex-shrink:0;width:100px;height:80px;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .3s;background:none;padding:0}.thumbnail:hover{border-color:#1546d4}.thumbnail.active{border-color:#1546d4;box-shadow:0 0 0 2px #1546d433}.thumbnail img{width:100%;height:100%;object-fit:cover}.info-tabs{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000001a;margin-top:2rem;overflow:hidden}.tabs-header{display:flex;border-bottom:2px solid #E9ECEF;overflow-x:auto}.tab-button{flex:1;padding:1rem 1.5rem;background:transparent;border:none;color:#6c757d;font-weight:600;cursor:pointer;transition:all .3s;border-bottom:3px solid transparent;white-space:nowrap}.tab-button.active{color:#1546d4;border-bottom-color:#1546d4}.tab-button:hover{background:#f8f9fa}.tab-content{padding:2rem}.tab-panel{display:none}.tab-panel.active{display:block}.parking-description{font-size:1rem;line-height:1.6;color:#495057;margin-bottom:2rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.detail-item strong{color:#212529;font-size:.9rem}.detail-item span{color:#495057;font-size:1rem}.characteristics-section h3{font-size:1.5rem;color:#212529;margin-bottom:2rem}.char-group{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #E9ECEF}.char-group:last-child{border-bottom:none;padding-bottom:0}.char-group h4{font-size:1.1rem;color:#212529;margin-bottom:.75rem}.char-value{font-size:1rem;color:#495057;margin:0}.char-tags{display:flex;flex-wrap:wrap;gap:.5rem}.char-tag{display:inline-block;padding:.5rem 1rem;background:#e7f3ff;color:#1546d4;border-radius:20px;font-size:.9rem;font-weight:500}.maps-section h3{font-size:1.5rem;color:#212529;margin-bottom:1.5rem}.maps-address{font-size:1.1rem;color:#495057;margin-bottom:1.5rem}.btn-maps{display:inline-flex;align-items:center;gap:.75rem;background:#1546d4;color:#fff;padding:1rem 2rem;border-radius:12px;text-decoration:none;font-weight:600;font-size:1rem;transition:all .3s;box-shadow:0 2px 8px #1546d44d}.btn-maps:hover{background:#0d2f8f;transform:translateY(-2px);box-shadow:0 4px 12px #1546d466}.maps-icon{font-size:1.5rem}.access-instructions h3{font-size:1.5rem;color:#212529;margin-bottom:1.5rem}.instructions-content{background:#f8f9fa;padding:2rem;border-radius:12px;border-left:4px solid #1546D4}.instructions-content p{margin-bottom:1.5rem;color:#495057;line-height:1.7}.instructions-content p:last-child{margin-bottom:0}.instructions-content strong{color:#212529;display:block;margin-bottom:.5rem}.help-note{background:#e7f3ff;padding:1.5rem;border-radius:8px;margin-top:1.5rem!important;border-left:4px solid #1546D4}.help-note strong{color:#1546d4}.detail-sidebar{position:relative}.parking-detail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.spinner{width:50px;height:50px;border:4px solid #E9ECEF;border-top-color:#1546d4;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.parking-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;gap:1rem}.btn-back{background:#1546d4;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background .3s}.btn-back:hover{background:#0d2f8f}@media (max-width: 767px){.parking-detail-page{padding:1rem 0;overflow-x:hidden}.container{padding:0 1rem;max-width:100%;overflow-x:hidden;box-sizing:border-box}.image-gallery{order:1}.detail-sidebar{order:2}.info-tabs{order:3}.image-gallery{border-radius:12px;overflow:hidden;width:100%;max-width:100%;box-sizing:border-box}.main-image{width:100%;max-width:100%;height:250px;min-height:250px;max-height:250px;overflow:hidden;box-sizing:border-box}.main-image img{width:100%;max-width:100%;height:100%;object-fit:cover;display:block}.parking-header-top .parking-name{font-size:1.6rem}}@media (min-width: 768px){.features-grid,.features-list{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.detail-layout{grid-template-columns:7fr 3fr;grid-template-areas:"gallery sidebar" "tabs    sidebar"}.detail-sidebar{align-self:flex-start;position:sticky;top:1rem}.image-gallery,.detail-sidebar,.info-tabs{order:0}.main-image{height:500px;min-height:500px;max-height:500px}.features-grid{grid-template-columns:repeat(3,1fr)}}.login-page{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e7f3ff,#f8f9fa);padding:2rem}.login-container{width:100%;max-width:500px}.login-card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a;padding:2.5rem}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:2rem;color:#212529;margin-bottom:.5rem}.login-header p{color:#6c757d;margin:0}.login-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #E9ECEF}.tab{flex:1;background:transparent;border:none;border-bottom:2px solid transparent;padding:1rem;font-size:1rem;font-weight:600;color:#6c757d;cursor:pointer;transition:all .3s;margin-bottom:-2px}.tab:hover{color:#1546d4}.tab.active{color:#1546d4;border-bottom-color:#1546d4}.error-message{background:#f8d7da;color:#721c24;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.error-text{color:#dc3545;font-size:.85rem;margin:0;margin-top:-.5rem}.login-form{display:flex;flex-direction:column;gap:.9rem}.form-group small{color:#6c757d;font-size:.85rem}.btn-submit{background:#1546d4;color:#fff;border:none;padding:1rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;margin-top:.5rem}.btn-submit:hover:not(:disabled){background:#0d2f8f;transform:translateY(-2px);box-shadow:0 4px 8px #1546d44d}.form-footer{text-align:center;margin-top:.5rem}.link{color:#1546d4;text-decoration:none;font-size:.9rem}.link:hover{text-decoration:underline}.login-footer{margin-top:2rem;padding-top:2rem;border-top:1px solid #E9ECEF;text-align:center}.login-footer p{color:#6c757d;margin:0}.link-button{background:transparent;border:none;color:#1546d4;font-weight:600;cursor:pointer;padding:0;text-decoration:none}.link-button:hover{text-decoration:underline}@media (max-width: 768px){.login-page{padding:1rem}.login-card{padding:2rem 1.5rem}.form-row{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d;animation:modalFadeIn .3s ease}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{margin:0;font-size:1.5rem;color:#212529}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6c757d;padding:.25rem;line-height:1;transition:color .2s}.modal-close:hover{color:#212529}.modal-form{display:flex;flex-direction:column;gap:1.5rem}.modal-description{color:#6c757d;line-height:1.6;margin:0}.success-message{background:#d1fae5;border:1px solid #10b981;color:#065f46;padding:1rem;border-radius:8px;margin-bottom:1rem;text-align:center;font-weight:500}.register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem 1rem}.register-container{width:100%;max-width:600px}.register-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:2.5rem}.register-header{text-align:center;margin-bottom:2rem}.register-header h1{font-size:2rem;margin-bottom:1.5rem;color:#1a202c}.progress-steps{display:flex;justify-content:space-between;align-items:center;margin:2rem 0;position:relative}.progress-steps:before{content:"";position:absolute;top:20px;left:15%;right:15%;height:2px;background:#e2e8f0;z-index:0}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;z-index:1}.step-number{width:40px;height:40px;border-radius:50%;background:#e2e8f0;color:#a0aec0;display:flex;align-items:center;justify-content:center;font-weight:700;transition:all .3s ease}.step.active .step-number{background:#667eea;color:#fff;transform:scale(1.1)}.step.completed .step-number{background:#48bb78;color:#fff}.step-label{font-size:.875rem;color:#718096;font-weight:500}.step.active .step-label{color:#667eea;font-weight:600}.success-message{background:#f0fdf4;border:1px solid #86efac;color:#166534;padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center;font-weight:500}.error-message{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.register-form{display:flex;flex-direction:column;gap:1.5rem}.step-description{color:#4a5568;line-height:1.6;margin-bottom:.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{font-weight:600;color:#2d3748;font-size:.9rem}.form-group input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group small{color:#718096;font-size:.85rem}.password-toggle{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;font-size:1.25rem;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:transform .2s}.password-toggle:hover{transform:scale(1.1)}.password-toggle:active{transform:scale(.95)}.btn-submit{width:100%;padding:1rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.btn-submit:hover:not(:disabled){background:#5a67d8;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.form-footer{text-align:center;margin-top:1rem;color:#718096}.link-button{background:none;border:none;color:#667eea;font-weight:600;cursor:pointer;text-decoration:underline;padding:0}.link-button:hover{color:#5a67d8}@media (max-width: 640px){.register-card{padding:1.5rem}.form-row{grid-template-columns:1fr}.progress-steps{flex-direction:column;gap:1rem}.progress-steps:before{display:none}.step{flex-direction:row;width:100%}.step-label{flex:1;text-align:left}}.checkout-page{padding:1rem 0;min-height:100vh;background:#f8f9fa}.container{max-width:1400px;margin:0 auto;padding:0 1rem}@media (min-width: 768px){.checkout-page{padding:2rem 0}.container{padding:0 2rem}}.breadcrumb{margin-bottom:1.5rem}.breadcrumb-link{background:transparent;border:none;color:#1546d4;font-weight:500;cursor:pointer;padding:.5rem 0;transition:opacity .3s}.breadcrumb-link:hover{opacity:.7}.page-title{font-size:1.5rem;color:#212529;margin-bottom:1.5rem}@media (min-width: 768px){.page-title{font-size:2rem;margin-bottom:2rem}}.checkout-layout{display:grid;grid-template-columns:1fr;gap:2rem}.checkout-content{display:flex;flex-direction:column;gap:1.5rem}.checkout-section{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000001a}@media (min-width: 768px){.checkout-section{border-radius:16px;padding:2rem}}.section-title{font-size:1.1rem;color:#212529;margin-bottom:1rem}@media (min-width: 768px){.section-title{font-size:1.3rem;margin-bottom:1.5rem}}.user-info-card{display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #E9ECEF}.info-row:last-child{border-bottom:none}.info-label{color:#6c757d;font-weight:500}.info-value{color:#212529;font-weight:600}.login-prompt{text-align:center;padding:2rem}.btn-login{background:#1546d4;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;margin-top:1rem}.payment-methods{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem}@media (min-width: 480px){.payment-methods{grid-template-columns:1fr 1fr}}.payment-method{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;border:2px solid #DEE2E6;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s;font-weight:500}.payment-method:hover{border-color:#1546d4}.payment-method.active{border-color:#1546d4;background:#e7f3ff}.payment-icon{font-size:2rem}.paypal-icon{display:flex;align-items:center;justify-content:center;font-size:1rem}.paypal-icon svg{width:28px;height:28px}.payment-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 480px){.form-row{grid-template-columns:2fr 1fr}}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#212529;font-size:.9rem}.form-group input{padding:.75rem 1rem;border:2px solid #DEE2E6;border-radius:8px;font-size:1rem;transition:all .3s}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{flex:1;padding-right:3rem}.password-toggle-btn{position:absolute;right:.75rem;background:transparent;border:none;cursor:pointer;font-size:1.2rem;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.password-toggle-btn:hover{opacity:.7}.password-validation{font-size:.85rem;margin-top:.5rem}.password-validation.error{color:#dc3545}.password-validation.success{color:#28a745}.password-requirements{font-size:.8rem;color:#6c757d;margin-top:.5rem;line-height:1.5}.password-requirements ul{margin:.25rem 0 0;padding-left:1.5rem}.password-requirements li{margin:.25rem 0}.password-requirements li.valid{color:#28a745}.password-requirements li.invalid{color:#dc3545}.paypal-info{background:#e7f3ff;padding:1.5rem;border-radius:8px;text-align:center;color:#212529}.terms-check{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.terms-check input[type=checkbox]{margin-top:.25rem;width:18px;height:18px;accent-color:#1546D4}.terms-check label{font-size:.9rem;color:#495057}.terms-check a{color:#1546d4;text-decoration:none}.terms-check a:hover{text-decoration:underline}.invoice-check{display:flex;align-items:flex-start;gap:.75rem;margin-top:1.5rem;padding:1rem;background:#e7f3ff;border-radius:8px}.invoice-check input[type=checkbox]{margin-top:.25rem;width:18px;height:18px;accent-color:#1546D4}.invoice-check label{font-size:.95rem;font-weight:600;color:#1546d4;cursor:pointer}.invoice-form{margin-top:1.5rem;padding:1.5rem;background:#f8f9fa;border-radius:12px;border:2px solid #1546D4;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.invoice-form h3{font-size:1.1rem;color:#212529;margin-bottom:1.5rem}.invoice-note{font-size:.85rem;color:#6c757d;margin-top:1rem;margin-bottom:0;font-style:italic}.checkout-sidebar{position:relative;top:0;height:fit-content}@media (min-width: 1024px){.checkout-sidebar{position:sticky;top:100px}}.summary-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000001a}@media (min-width: 768px){.summary-card{border-radius:16px;padding:2rem}}.summary-title{font-size:1.1rem;color:#212529;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #E9ECEF}@media (min-width: 768px){.summary-title{font-size:1.3rem;margin-bottom:1.5rem;padding-bottom:1rem}}.summary-section{padding:1rem 0;border-bottom:1px solid #E9ECEF}@media (min-width: 768px){.summary-section{padding:1.5rem 0}}.summary-section:last-of-type{border-bottom:none}.summary-section h3{font-size:1.1rem;color:#212529;margin:0}.summary-row{display:flex;justify-content:space-between;margin-bottom:.75rem}.summary-row:last-child{margin-bottom:0}.summary-row .label{color:#6c757d;font-size:.9rem}.summary-row .value{color:#212529;font-weight:500;font-size:.9rem}.pass-info{background:#f8f9fa;padding:1rem;border-radius:8px}.pass-info strong{display:block;margin-bottom:.25rem;color:#212529}.pass-info p{margin:0;font-size:.85rem;color:#6c757d}.summary-total{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;margin-top:1rem}.total-label{font-size:1.2rem;font-weight:600;color:#212529}.total-amount{font-size:1.5rem;font-weight:700;color:#1546d4}@media (min-width: 768px){.total-amount{font-size:2rem}}.free-cancellation-badge{background:#d4edda;color:#155724;padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem;line-height:1.5;text-align:center;border:1px solid #C3E6CB}.btn-confirm{width:100%;background:#1546d4;color:#fff;border:none;padding:1rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-confirm:hover:not(:disabled){background:#0d2f8f;transform:translateY(-2px);box-shadow:0 4px 8px #1546d44d}.btn-confirm:disabled{opacity:.6;cursor:not-allowed}.checkout-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;gap:1rem}.btn-back{background:#1546d4;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer}.registration-intro{margin-bottom:1.5rem;color:#6c757d;font-size:.9rem;line-height:1.5}.error-message{color:#dc3545;font-size:.85rem;margin-top:.5rem}.registration-note{margin-top:1rem;font-size:.9rem;color:#6c757d}.registration-note a{color:#1546d4;text-decoration:none;font-weight:600}.registration-note a:hover{text-decoration:underline}@media (min-width: 1024px){.checkout-layout{grid-template-columns:65% 35%}}.stripe-payment-info{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;background:#f8f9fa;border-radius:12px;text-align:center}.stripe-payment-info p{margin:0;color:#495057;font-size:1rem}.stripe-logo{display:flex;align-items:center;justify-content:center;padding:1rem 2rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014}.payment-secure-note{font-size:.9rem!important;color:#28a745!important;font-weight:500}.stepper{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;position:relative}.step:not(:last-child):after{content:"";position:absolute;top:20px;left:60%;width:80%;height:2px;background:#dee2e6;z-index:0}.step.completed:not(:last-child):after{background:#28a745}.step-number{width:40px;height:40px;border-radius:50%;background:#dee2e6;color:#6c757d;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;z-index:1;transition:all .3s}.step.active .step-number{background:#1546d4;color:#fff}.step.completed .step-number{background:#28a745;color:#fff}.step-label{font-size:.85rem;color:#6c757d;font-weight:500;text-align:center}.step.active .step-label{color:#1546d4;font-weight:600}.step.completed .step-label{color:#28a745}@media (max-width: 768px){.stepper{padding:1rem}.step-label{font-size:.7rem}.step-number{width:32px;height:32px;font-size:.9rem}}.error-banner{background:#f8d7da;color:#721c24;padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid #DC3545;font-weight:500}.section-description{color:#6c757d;font-size:.95rem;margin-bottom:1.5rem;line-height:1.5}.button-group{display:flex;gap:1rem;margin-top:1.5rem}.btn-primary,.btn-secondary{flex:1;padding:.875rem 1.5rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s;border:none}.btn-primary{background:#1546d4;color:#fff}.btn-primary:hover:not(:disabled){background:#0d2f8f;transform:translateY(-2px);box-shadow:0 4px 8px #1546d44d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.confirmation-details{background:#d4edda;padding:1.5rem;border-radius:8px;border-left:4px solid #28A745}.confirmation-details p{margin:.5rem 0;color:#155724;font-weight:500}.confirm-page{min-height:80vh;padding:2rem 0;background:linear-gradient(135deg,#e7f3ff,#f8f9fa)}@media (min-width: 768px){.confirm-page{padding:3rem 0}}.confirm-page .container{max-width:800px;margin:0 auto;padding:0 1rem}.loading-container{text-align:center;padding:2rem 1rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a}@media (min-width: 768px){.loading-container{padding:4rem 2rem;border-radius:16px}}.loader-spinner{width:60px;height:60px;border:5px solid #E7F3FF;border-top:5px solid #1546D4;border-radius:50%;margin:0 auto 1.5rem;animation:spin 1s linear infinite}@media (min-width: 768px){.loader-spinner{width:80px;height:80px;border-width:6px;margin-bottom:2rem}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container h2{color:#212529;font-size:1.2rem;margin-bottom:.5rem}@media (min-width: 768px){.loading-container h2{font-size:1.5rem}}.loading-container p{color:#6c757d;font-size:1rem}.success-container{text-align:center;padding:2rem 1rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;animation:fadeIn .5s ease-in}@media (min-width: 768px){.success-container{padding:3rem 2rem;border-radius:16px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.success-icon{width:80px;height:80px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 1.5rem;animation:scaleIn .5s ease-in-out}@media (min-width: 768px){.success-icon{width:100px;height:100px;font-size:3.5rem;margin-bottom:2rem}}@keyframes scaleIn{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.success-title{color:#212529;font-size:1.5rem;margin-bottom:.5rem}@media (min-width: 768px){.success-title{font-size:2rem}}.success-subtitle{color:#6c757d;font-size:1rem;margin-bottom:1.5rem}@media (min-width: 768px){.success-subtitle{font-size:1.1rem;margin-bottom:2rem}}.booking-summary-card{background:#f8f9fa;padding:1.25rem;border-radius:10px;margin:1.5rem 0;text-align:left}@media (min-width: 768px){.booking-summary-card{padding:2rem;border-radius:12px;margin:2rem 0}}.booking-summary-card h3{color:#212529;font-size:1.1rem;margin-bottom:1.25rem;text-align:center}@media (min-width: 768px){.booking-summary-card h3{font-size:1.2rem;margin-bottom:1.5rem}}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #DEE2E6}.summary-item:last-child{border-bottom:none}.summary-item.total{margin-top:1rem;padding-top:1rem;border-top:2px solid #1546D4;font-weight:700;font-size:1.2rem}.summary-item .label{color:#6c757d;font-size:.95rem}.summary-item .value{color:#212529;font-weight:600}.address-text{color:#6c757d;font-weight:400;font-size:.9rem}.summary-item.total .value{color:#1546d4;font-size:1.4rem}.btn-download{background:#1546d4;color:#fff;border:none;padding:.9rem 2rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;margin:1.5rem auto;display:block;transition:all .3s;box-shadow:0 4px 8px #1546d44d;width:100%;max-width:300px}@media (min-width: 768px){.btn-download{padding:1rem 3rem;border-radius:12px;font-size:1.1rem;margin:2rem auto;width:auto;max-width:none}}.btn-download:hover{background:#0d2f8f;transform:translateY(-3px);box-shadow:0 6px 12px #1546d466}.info-box{background:#fff9e6;border:2px solid #FFD700;border-radius:10px;padding:1.25rem;margin:1.5rem 0;text-align:left}@media (min-width: 768px){.info-box{border-radius:12px;padding:2rem;margin:2rem 0}}.info-box h4{color:#212529;font-size:1.1rem;margin-bottom:1rem;text-align:center}@media (min-width: 768px){.info-box h4{font-size:1.2rem}}.info-box p{color:#495057;line-height:1.6;margin-bottom:1rem;font-size:.9rem}@media (min-width: 768px){.info-box p{font-size:1rem}}.info-box strong{color:#212529;font-weight:700}.action-buttons{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.btn-dashboard{flex:1;background:#1546d4;color:#fff;border:none;padding:.9rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;min-width:200px}.btn-dashboard:hover{background:#0d2f8f;transform:translateY(-2px)}.btn-home-secondary{flex:1;background:#fff;color:#1546d4;border:2px solid #1546D4;padding:.9rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;min-width:200px}.btn-home-secondary:hover{background:#e7f3ff;transform:translateY(-2px)}.email-notice{color:#6c757d;font-size:.9rem;margin-top:2rem;padding-top:2rem;border-top:1px solid #DEE2E6}.confirm-error{text-align:center;padding:4rem 2rem;background:#fff;border-radius:16px}.confirm-error h2{color:#dc3545;margin-bottom:1.5rem}.btn-home{background:#1546d4;color:#fff;border:none;padding:.9rem 2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.btn-home:hover{background:#0d2f8f;transform:translateY(-2px)}@media (max-width: 767px){.success-title{font-size:1.5rem}.action-buttons{flex-direction:column}.btn-dashboard,.btn-home-secondary{width:100%;min-width:auto}.booking-summary-card{padding:1.25rem}.summary-item{flex-direction:column;align-items:flex-start;gap:.25rem}.summary-item .label,.summary-item .value{font-size:.9rem}.summary-item.total .value{font-size:1.2rem}}.booking-confirmed-page{min-height:100vh;background:linear-gradient(135deg,#e8f5e9,#f1f8e9,#e3f2fd);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;font-family:Inter,Segoe UI,sans-serif}.bc-container{background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000001a;padding:3rem 2rem;max-width:560px;width:100%;text-align:center;animation:bc-fadeUp .6s ease-out}@keyframes bc-fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.bc-icon-wrapper{margin-bottom:1.5rem}.bc-checkmark{width:90px;height:90px;margin:0 auto}.bc-checkmark-svg{width:90px;height:90px}.bc-checkmark-circle{stroke:#28a745;stroke-width:2;stroke-dasharray:166;stroke-dashoffset:166;stroke-linecap:round;animation:bc-stroke .6s cubic-bezier(.65,0,.45,1) forwards}.bc-checkmark-check{stroke:#28a745;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:bc-stroke .3s cubic-bezier(.65,0,.45,1) .6s forwards}@keyframes bc-stroke{to{stroke-dashoffset:0}}.bc-title{font-size:2rem;font-weight:800;color:#1a1a2e;margin-bottom:.75rem;line-height:1.2}.bc-subtitle{color:#6c757d;font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.bc-reservation-id{display:inline-flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border:2px solid #28a745;border-radius:12px;padding:.75rem 2rem;margin-bottom:2rem;gap:.25rem}.bc-id-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#28a745}.bc-id-value{font-size:1.25rem;font-weight:800;color:#1a1a2e;font-family:Courier New,monospace}.bc-info-card{background:#f8f9fa;border-radius:16px;padding:1.5rem;margin-bottom:2rem;text-align:left;display:flex;flex-direction:column;gap:1.25rem}.bc-info-item{display:flex;align-items:flex-start;gap:1rem}.bc-info-icon{font-size:1.5rem;flex-shrink:0;margin-top:.1rem}.bc-info-item strong{display:block;font-size:.95rem;font-weight:700;color:#1a1a2e;margin-bottom:.2rem}.bc-info-item p{font-size:.875rem;color:#6c757d;margin:0;line-height:1.5}.bc-actions{display:flex;flex-direction:column;gap:.75rem}.bc-btn-primary{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #28a74559;width:100%}.bc-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #28a74573}.bc-btn-secondary{background:#fff;color:#1546d4;border:2px solid #1546D4;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.bc-btn-secondary:hover{background:#e7f3ff;transform:translateY(-2px)}.bc-json-section{margin-bottom:2rem;border:1px solid #dee2e6;border-radius:12px;overflow:hidden;text-align:left}.bc-json-header{display:flex;align-items:center;gap:.75rem;background:#1a1a2e;padding:.75rem 1rem}.bc-json-badge{background:#28a745;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.05em;padding:.2rem .5rem;border-radius:4px;flex-shrink:0}.bc-json-endpoint{color:#a8d8a8;font-size:.8rem;font-family:Courier New,monospace;word-break:break-all}.bc-json-loading{display:flex;align-items:center;gap:.75rem;padding:1rem;color:#6c757d;font-size:.875rem;background:#f8f9fa}.bc-json-spinner{width:18px;height:18px;border:2px solid #dee2e6;border-top-color:#28a745;border-radius:50%;animation:bc-spin .8s linear infinite;flex-shrink:0}@keyframes bc-spin{to{transform:rotate(360deg)}}.bc-json-error{padding:1rem;background:#fff5f5;color:#dc3545;font-size:.875rem}.bc-json-body{margin:0;padding:1rem;background:#0d1117;color:#58a6ff;font-family:Courier New,monospace;font-size:.78rem;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:400px;overflow-y:auto}@media (min-width: 480px){.bc-actions{flex-direction:row}.bc-btn-primary,.bc-btn-secondary{width:auto;flex:1}}@media (max-width: 480px){.bc-container{padding:2rem 1.25rem;border-radius:16px}.bc-title{font-size:1.6rem}}.booking-failed-page{min-height:100vh;background:linear-gradient(135deg,#ffeaea,#fff5f5,#fff3e0);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;font-family:Inter,Segoe UI,sans-serif}.bf-container{background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000001a;padding:3rem 2rem;max-width:560px;width:100%;text-align:center;animation:bf-fadeUp .6s ease-out}@keyframes bf-fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.bf-icon-wrapper{margin-bottom:1.5rem}.bf-error-icon{width:90px;height:90px;margin:0 auto}.bf-error-svg{width:90px;height:90px}.bf-error-circle{stroke:#dc3545;stroke-width:2;stroke-dasharray:166;stroke-dashoffset:166;stroke-linecap:round;animation:bf-stroke .6s cubic-bezier(.65,0,.45,1) forwards}.bf-error-line1,.bf-error-line2{stroke:#dc3545;stroke-width:3;stroke-linecap:round;stroke-dasharray:30;stroke-dashoffset:30}.bf-error-line1{animation:bf-stroke .3s cubic-bezier(.65,0,.45,1) .6s forwards}.bf-error-line2{animation:bf-stroke .3s cubic-bezier(.65,0,.45,1) .75s forwards}@keyframes bf-stroke{to{stroke-dashoffset:0}}.bf-title{font-size:2rem;font-weight:800;color:#1a1a2e;margin-bottom:.75rem;line-height:1.2}.bf-subtitle{color:#6c757d;font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.bf-reservation-id{display:inline-flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,#ffeaea,#fff5f5);border:2px solid #dc3545;border-radius:12px;padding:.75rem 2rem;margin-bottom:2rem;gap:.25rem}.bf-id-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#dc3545}.bf-id-value{font-size:1.25rem;font-weight:800;color:#1a1a2e;font-family:Courier New,monospace}.bf-reasons-card{background:#f8f9fa;border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;text-align:left}.bf-reasons-title{font-size:1rem;font-weight:700;color:#1a1a2e;margin-bottom:1rem;text-align:center}.bf-reasons-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.bf-reasons-list li{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:#495057}.bf-reason-icon{font-size:1.1rem;flex-shrink:0}.bf-support-box{display:flex;align-items:flex-start;gap:1rem;background:#fff3e0;border:1px solid #ffcc80;border-radius:12px;padding:1.25rem;margin-bottom:2rem;text-align:left}.bf-support-icon{font-size:1.5rem;flex-shrink:0}.bf-support-box strong{display:block;font-size:.95rem;font-weight:700;color:#1a1a2e;margin-bottom:.25rem}.bf-support-box p{font-size:.875rem;color:#6c757d;margin:0}.bf-support-link{color:#1546d4;font-weight:600;text-decoration:none}.bf-support-link:hover{text-decoration:underline}.bf-actions{display:flex;flex-direction:column;gap:.75rem}.bf-btn-primary{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #dc354559;width:100%}.bf-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #dc354573}.bf-btn-secondary{background:#fff;color:#1546d4;border:2px solid #1546D4;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.bf-btn-secondary:hover{background:#e7f3ff;transform:translateY(-2px)}@media (min-width: 480px){.bf-actions{flex-direction:row}.bf-btn-primary,.bf-btn-secondary{width:auto;flex:1}}@media (max-width: 480px){.bf-container{padding:2rem 1.25rem;border-radius:16px}.bf-title{font-size:1.6rem}}.fp-page{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e7f3ff,#f8f9fa);padding:1.5rem 1rem}.fp-card{background:#fff;border-radius:20px;box-shadow:0 4px 24px #0000001a;padding:2rem 1.5rem;width:100%;max-width:420px}.fp-back-btn{display:flex;align-items:center;gap:.4rem;background:none;border:none;color:#6c757d;font-size:.9rem;cursor:pointer;padding:0;margin-bottom:1.5rem;transition:color .2s}.fp-back-btn:hover{color:#1546d4}.fp-back-btn svg{flex-shrink:0}.fp-icon{font-size:2.5rem;margin-bottom:.5rem;display:block;text-align:center}.fp-title{font-size:1.5rem;font-weight:700;color:#212529;text-align:center;margin:0 0 .4rem}.fp-subtitle{color:#6c757d;font-size:.9rem;text-align:center;margin:0 0 1.75rem;line-height:1.5}.fp-subtitle strong{color:#212529}.fp-stepper{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-bottom:1.75rem}.fp-step{display:flex;align-items:center;gap:.4rem}.fp-step-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0;transition:background .3s}.fp-step-dot.done{background:#166534;color:#fff}.fp-step-dot.active{background:#1546d4;color:#fff}.fp-step-dot.idle{background:#dee2e6;color:#6c757d}.fp-step-label{font-size:.72rem;font-weight:400;color:#6c757d;transition:color .3s}.fp-step-label.active{color:#1546d4;font-weight:700}.fp-step-line{width:32px;height:2px;background:#dee2e6;flex-shrink:0;transition:background .3s}.fp-step-line.done{background:#166534}.fp-form{display:flex;flex-direction:column;gap:1.1rem}.fp-form-group{display:flex;flex-direction:column;gap:.45rem}.fp-form-group label{font-size:.88rem;font-weight:600;color:#212529}.fp-form-group input{padding:.8rem 1rem;border:2px solid #DEE2E6;border-radius:10px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.fp-form-group input:focus{outline:none;border-color:#1546d4;box-shadow:0 0 0 3px #1546d41a}.fp-otp-input{letter-spacing:.4rem;font-size:1.6rem!important;text-align:center;font-weight:700;color:#1546d4}.fp-pw-wrapper{position:relative;display:flex;align-items:center}.fp-pw-wrapper input{flex:1;padding-right:3rem}.fp-pw-toggle{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.4rem;transition:transform .2s}.fp-pw-toggle:hover{transform:scale(1.1)}.fp-pw-rules{list-style:none;margin:0;padding:.5rem .8rem;background:#f8f9fa;border-radius:8px;border:1px solid #DEE2E6;font-size:.78rem;display:flex;flex-direction:column;gap:.2rem}.fp-pw-rules li{display:flex;align-items:center;gap:.35rem;color:#6c757d;transition:color .2s}.fp-pw-rules li.ok{color:#166534}.fp-error-text{color:#dc3545;font-size:.82rem;margin:0}.fp-btn{width:100%;padding:.9rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s}.fp-btn-primary{background:#1546d4;color:#fff}.fp-btn-primary:hover:not(:disabled){background:#0d2f8f;transform:translateY(-1px);box-shadow:0 4px 10px #1546d447}.fp-btn-primary:disabled{opacity:.6;cursor:not-allowed}.fp-btn-secondary{background:#f1f3f5;color:#495057;font-weight:500}.fp-btn-secondary:hover{background:#dee2e6}.fp-error-box{background:#f8d7da;color:#721c24;padding:.85rem 1rem;border-radius:8px;font-size:.9rem}.fp-success-box{background:#d1fae5;border:1px solid #10B981;color:#065f46;padding:1.25rem;border-radius:10px;text-align:center;font-weight:500;font-size:.95rem;line-height:1.5}@media (min-width: 480px){.fp-card{padding:2.5rem 2rem}}.user-profile-page{min-height:100vh;background:#f8f9fa;padding:2rem 1rem}.profile-container{max-width:1400px;margin:0 auto}.profile-header{text-align:center;margin-bottom:2rem}.profile-header h1{font-size:2.5rem;color:#212529;margin-bottom:.5rem}.profile-header p{color:#6c757d;font-size:1.1rem}.loading-state{text-align:center;padding:4rem 2rem}.spinner{width:50px;height:50px;border:4px solid #E9ECEF;border-top-color:#1546d4;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.error-message{background:#f8d7da;color:#721c24;padding:1rem;border-radius:8px;margin-bottom:2rem;text-align:center}.empty-state{text-align:center;padding:4rem 2rem;background:#fff}.empty-state p{color:#6c757d;font-size:1.1rem;margin-bottom:1.5rem}.tabs-container{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #E9ECEF}.tabs-container .tab{background:transparent;border:none;border-bottom:3px solid transparent;padding:1rem 2rem;font-size:1rem;font-weight:600;color:#6c757d;cursor:pointer;transition:all .3s;margin-bottom:-2px}.tabs-container .tab:hover{color:#1546d4}.tabs-container .tab.active{color:#1546d4;border-bottom-color:#1546d4}.table-container{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.reservations-table{width:100%;border-collapse:collapse}.reservations-table thead{background:#f8f9fa}.reservations-table th{padding:1rem;text-align:left;font-weight:600;color:#212529;border-bottom:2px solid #E9ECEF;white-space:nowrap}.reservations-table tbody tr{border-bottom:1px solid #E9ECEF;transition:background .2s}.reservations-table tbody tr:hover{background:#f8f9fa}.reservations-table tbody tr:last-child{border-bottom:none}.reservations-table td{padding:1rem;color:#212529}.price-cell{font-weight:600;color:#1546d4;font-size:1.05rem}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;white-space:nowrap;display:inline-block}.status-confirmed{background:#d1fae5;color:#065f46}.status-pending{background:#fef3c7;color:#92400e}.status-cancelled{background:#fee2e2;color:#991b1b}.status-completed{background:#e0e7ff;color:#3730a3}.btn-primary{padding:.75rem 1.5rem;background:#1546d4;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.btn-primary:hover{background:#0d2f8f;transform:translateY(-2px);box-shadow:0 4px 8px #1546d44d}.btn-view{padding:.5rem 1rem;background:#1546d4;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.9rem}.btn-view:hover{background:#0d2f8f;transform:translateY(-1px)}.vehicles-panel{margin-top:3rem}.vehicles-header{margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.vehicles-header h2{font-size:1.75rem;color:#212529;margin:0}.btn-add-vehicle{padding:.75rem 1.5rem;background:#1546d4;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem}.btn-add-vehicle:hover{background:#0d2f8f;transform:translateY(-2px);box-shadow:0 4px 8px #1546d44d}.add-vehicle-form{background:#f8f9fa;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;border:2px dashed #DEE2E6}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:600;color:#212529;margin-bottom:.5rem;font-size:.95rem}.form-group input{width:100%;padding:.75rem;border:2px solid #DEE2E6;border-radius:8px;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#1546d4;box-shadow:0 0 0 3px #1546d41a}.btn-save{padding:.75rem 2rem;background:#28a745;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.btn-save:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 8px #28a7454d}.vehicles-grid{display:grid;grid-template-columns:1fr;gap:1rem}.vehicle-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:1rem;transition:all .3s}.vehicle-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.vehicle-icon{width:50px;height:50px;border-radius:10px;background:linear-gradient(135deg,#1546d4,#0d2f8f);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.vehicle-info{flex:1}.vehicle-plate{font-size:1.1rem;font-weight:700;color:#212529;margin-bottom:.25rem}.vehicle-alias{font-size:.85rem;color:#6c757d}.btn-delete-vehicle{background:transparent;border:none;font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .3s;opacity:.6}.btn-delete-vehicle:hover{background:#fee;opacity:1;transform:scale(1.1)}.btn-edit-vehicle{background:transparent;border:none;font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .3s;opacity:.6}.btn-edit-vehicle:hover{background:#e3f2fd;opacity:1;transform:scale(1.1)}.edit-vehicle-form{width:100%;display:flex;flex-direction:column;gap:.75rem}.form-row{display:flex;gap:.5rem;flex-wrap:wrap}.input-small{flex:1;min-width:120px;padding:.5rem;border:2px solid #DEE2E6;border-radius:6px;font-size:.9rem}.input-small:focus{outline:none;border-color:#1546d4}.form-actions{display:flex;gap:.5rem}.btn-save-small{padding:.5rem 1rem;background:#28a745;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.85rem;transition:all .2s}.btn-save-small:hover{background:#218838}.btn-cancel-small{padding:.5rem 1rem;background:#6c757d;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.85rem;transition:all .2s}.btn-cancel-small:hover{background:#5a6268}@media (max-width: 768px){.user-profile-page{padding:1.25rem .75rem;overflow-x:hidden}.profile-header h1{font-size:1.6rem}.profile-header p{font-size:.95rem}.tabs-container{gap:0;overflow-x:auto}.tabs-container .tab{padding:.75rem .875rem;font-size:.85rem;white-space:nowrap;flex:1;text-align:center}.table-container{background:transparent;box-shadow:none;border-radius:0;overflow-x:visible}.reservations-table{display:none}.reservation-cards-mobile{display:flex;flex-direction:column;gap:.75rem}.vehicles-header h2{font-size:1.3rem}.vehicles-grid{gap:.75rem}}.reservation-cards-mobile{display:none}@media (min-width: 769px){.table-container{overflow-x:auto}.reservations-table{min-width:unset}}.rdp-page{min-height:100vh;background:#f8fafc;font-family:Inter,sans-serif;padding:2rem 1rem}.rdp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:#6b7280}.rdp-spinner{width:44px;height:44px;border:4px solid #e5e7eb;border-top-color:#1546d4;border-radius:50%;animation:rdp-spin .9s linear infinite}@keyframes rdp-spin{to{transform:rotate(360deg)}}.rdp-error-box{max-width:480px;margin:4rem auto;text-align:center;background:#fff;border-radius:16px;padding:3rem 2rem;box-shadow:0 4px 24px #00000014}.rdp-error-icon{font-size:3rem;display:block;margin-bottom:1rem}.rdp-error-box h2{font-size:1.5rem;color:#111827;margin-bottom:.5rem}.rdp-error-box p{color:#6b7280;margin-bottom:1.5rem}.rdp-container{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.rdp-breadcrumb{margin-bottom:.25rem}.rdp-breadcrumb-link{background:none;border:none;color:#1546d4;font-size:.95rem;font-weight:500;cursor:pointer;padding:0;transition:opacity .2s}.rdp-breadcrumb-link:hover{opacity:.75}.rdp-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.rdp-header-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.rdp-title{font-size:1.75rem;font-weight:700;color:#111827;margin:0}.rdp-status-badge{font-size:.8rem;font-weight:600;padding:.3rem .75rem;border-radius:999px;letter-spacing:.02em}.rdp-header-right{color:#9ca3af;font-size:.85rem;padding-top:.4rem}.rdp-card{background:#fff;border-radius:16px;padding:1.75rem;box-shadow:0 2px 12px #0000000f;border:1px solid #f1f5f9}.rdp-card-title{font-size:1.05rem;font-weight:700;color:#1e293b;margin:0 0 1.25rem}.rdp-details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.rdp-detail-item{display:flex;flex-direction:column;gap:.25rem}.rdp-detail-label{font-size:.75rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.rdp-detail-value{font-size:.95rem;font-weight:500;color:#111827}.rdp-price{font-size:1.1rem;font-weight:700;color:#1546d4}.rdp-photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.rdp-photo-item{border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:#f1f5f9}.rdp-photo-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.rdp-photo-item img:hover{transform:scale(1.04)}.rdp-address{color:#374151;font-size:.95rem;margin:0 0 1rem}.rdp-map-actions{margin-bottom:1rem}.rdp-btn-navigate{display:inline-flex;align-items:center;gap:.5rem;background:#1546d4;color:#fff;text-decoration:none;padding:.6rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s}.rdp-btn-navigate:hover{background:#0d35b0;transform:translateY(-1px)}.rdp-map-embed{width:100%;height:300px;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb}.rdp-card-withdraw{border-left:4px solid #ef4444}.rdp-withdraw-info{color:#6b7280;font-size:.9rem;margin:0 0 1.25rem;line-height:1.6}.rdp-withdraw-error{background:#fee2e2;color:#991b1b;border-radius:8px;padding:.75rem 1rem;font-size:.9rem;margin-bottom:1rem}.rdp-withdraw-success{background:#dcfce7;color:#166534;border-radius:8px;padding:.75rem 1rem;font-size:.95rem;font-weight:500}.rdp-withdraw-disabled{color:#9ca3af;font-size:.9rem;margin:0}.rdp-btn-withdraw{background:#ef4444;color:#fff;border:none;padding:.65rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}.rdp-btn-withdraw:hover{background:#dc2626;transform:translateY(-1px)}.rdp-confirm-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:1.25rem}.rdp-confirm-box p{color:#92400e;font-size:.95rem;margin:0 0 1rem}.rdp-confirm-actions{display:flex;gap:.75rem;flex-wrap:wrap}.rdp-btn-confirm-yes{background:#ef4444;color:#fff;border:none;padding:.6rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.rdp-btn-confirm-yes:hover:not(:disabled){background:#dc2626}.rdp-btn-confirm-yes:disabled{opacity:.6;cursor:not-allowed}.rdp-btn-confirm-no{background:#f3f4f6;color:#374151;border:none;padding:.6rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.rdp-btn-confirm-no:hover:not(:disabled){background:#e5e7eb}.rdp-btn-back{background:#1546d4;color:#fff;border:none;padding:.65rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.rdp-btn-back:hover{background:#0d35b0}@media (max-width: 640px){.rdp-page{padding:1rem .75rem}.rdp-title{font-size:1.35rem}.rdp-header{flex-direction:column}.rdp-details-grid,.rdp-photos-grid{grid-template-columns:1fr 1fr}.rdp-map-embed{height:220px}}.not-found-page{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.not-found-content{text-align:center;background:#fff;padding:3rem 2rem;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%}.not-found-title{font-size:6rem;font-weight:900;color:#667eea;margin:0;line-height:1;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.not-found-subtitle{font-size:1.5rem;color:#2d3748;margin:1rem 0;font-weight:600}.not-found-text{color:#718096;font-size:1rem;line-height:1.6;margin:1rem 0 2rem}.btn-back-home{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.875rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:1rem;transition:all .3s;box-shadow:0 4px 15px #667eea66}.btn-back-home:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}@media (max-width: 640px){.not-found-title{font-size:4rem}.not-found-subtitle{font-size:1.2rem}.not-found-content{padding:2rem 1.5rem}}.placeholder-page{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem}.placeholder-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.placeholder-title{font-size:2rem;color:#212529;font-weight:600;margin:0}.placeholder-subtitle{color:#6c757d;font-size:1.1rem;margin:0}.placeholder-icon{font-size:4rem;opacity:.5;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.8}}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden;width:100%;position:relative}.app{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;width:100%;max-width:100vw}.main-content{flex:1;overflow-x:hidden;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;color:#212529}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f8f9fa}::-webkit-scrollbar-thumb{background:#ced4da;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#adb5bd}
