.MapBooking_pageWrapper__Jvvi7{min-height:100vh;background:var(--gradient-bg)}.MapBooking_container__PLbSh{max-width:1600px;margin:0 auto;padding:24px;position:relative}.MapBooking_errorContainer__L9NU_,.MapBooking_loadingContainer__hpZ6x{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 100px);padding:40px 20px;text-align:center}.MapBooking_errorContainer__L9NU_ p,.MapBooking_loadingContainer__hpZ6x p{margin-top:16px;font-size:1rem;color:var(--text-muted)}.MapBooking_errorContainer__L9NU_ h2{font-size:1.5rem;font-weight:700;color:var(--text);margin-top:16px;margin-bottom:8px}.MapBooking_spinner__ZnWdy{width:48px;height:48px;color:var(--primary);animation:MapBooking_spin__Rn58b 1s linear infinite}@keyframes MapBooking_spin__Rn58b{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.MapBooking_errorIcon__scNsl{width:64px;height:64px;color:var(--error)}.MapBooking_retryButton__GK9_X{margin-top:24px;padding:12px 32px;background:var(--cta-grad);color:var(--cta-fg);border:none;border-radius:var(--radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;box-shadow:var(--cta-shadow)}.MapBooking_retryButton__GK9_X:hover{transform:translateY(-2px);box-shadow:var(--cta-hover-shadow)}.MapBooking_searchContainer__SmQay{position:relative;max-width:720px;margin:0 auto 24px;z-index:100}.MapBooking_searchContainerMobile__egTao{position:fixed;top:80px;left:12px;right:12px;max-width:none;margin:0;z-index:600}.MapBooking_searchBox__XBKGj{display:flex;align-items:center;background:var(--panel-bg);border:2px solid var(--panel-border);border-radius:var(--radius-lg);padding:12px 14px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);gap:8px;transition:all .3s ease;box-shadow:var(--shadow-md)}.MapBooking_searchBox__XBKGj:focus-within{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.MapBooking_searchIcon__vJJiG{color:var(--text-muted);flex-shrink:0}.MapBooking_searchInput__GvzAA{flex:1 1;border:none;background:transparent;font-size:15px;color:var(--text);outline:none;padding:6px 0;font-weight:500}.MapBooking_searchInput__GvzAA::placeholder{color:var(--text-muted);opacity:.7}.MapBooking_nearMeBtn__5lpuv{display:flex;align-items:center;justify-content:center;border:none;background:transparent;padding:8px;border-radius:8px;cursor:pointer;transition:all .2s ease;color:var(--text-muted)}.MapBooking_nearMeBtn__5lpuv:hover{background:var(--glass-bg);color:var(--primary)}.MapBooking_nearMeBtnActive__gT5n0{background:var(--badge-bg);color:var(--primary);border:1px solid var(--glass-border)}.MapBooking_clearBtn__fRHyO{background:transparent;border:none;color:var(--text-muted);padding:6px;display:flex;align-items:center;cursor:pointer;border-radius:6px;transition:all .2s ease}.MapBooking_clearBtn__fRHyO:hover{background:var(--glass-bg);color:var(--primary)}.MapBooking_suggestions__uj_bX{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--panel-bg);border:2px solid var(--panel-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-lg);max-height:400px;overflow-y:auto;padding:6px;z-index:120;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:MapBooking_slideDown__Du_S9 .25s ease-out}@keyframes MapBooking_slideDown__Du_S9{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.MapBooking_suggestionItem__5stFw{display:flex;align-items:center;padding:14px 12px;gap:12px;cursor:pointer;border-radius:10px;transition:all .2s ease}.MapBooking_suggestionItemActive__UuCDO,.MapBooking_suggestionItem__5stFw:hover{background:var(--glass-bg);transform:translateX(4px)}.MapBooking_suggestionIcon__W77i2{color:var(--primary);flex-shrink:0}.MapBooking_suggestionText__loFvS{flex:1 1;min-width:0}.MapBooking_suggestionName__AiKV6{font-size:15px;font-weight:600;color:var(--text);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.MapBooking_suggestionLocation__2_6_c{font-size:13px;color:var(--text-muted);display:flex;gap:8px;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.MapBooking_distanceBadge__7krTT{margin-left:auto;font-size:11px;padding:3px 8px;border-radius:999px;background:var(--badge-bg);color:var(--badge-text);font-weight:600;flex-shrink:0}.MapBooking_contentGrid__3V22_{display:grid;grid-template-columns:1fr 420px;grid-gap:24px;gap:24px;align-items:start}.MapBooking_mapSection__PSz_S{height:calc(100vh - 220px);min-height:500px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:2px solid var(--panel-border)}.MapBooking_mapSectionMobile___8iKh{position:fixed;top:150px;left:0;right:0;bottom:0;height:auto;border-radius:0;z-index:1;border:none}.MapBooking_formSidebar__BI1Sn{position:-webkit-sticky;position:sticky;top:100px;max-height:calc(100vh - 120px);overflow-y:auto;overflow-x:hidden}.MapBooking_formSidebar__BI1Sn::-webkit-scrollbar{width:8px}.MapBooking_formSidebar__BI1Sn::-webkit-scrollbar-track{background:transparent}.MapBooking_formSidebar__BI1Sn::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.MapBooking_formSidebar__BI1Sn::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.MapBooking_placeholder__kDC0O{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:var(--panel-bg);border:2px dashed var(--border-base);border-radius:var(--radius-lg);text-align:center;min-height:400px;animation:MapBooking_fadeIn__8jsv4 .3s ease}@keyframes MapBooking_fadeIn__8jsv4{0%{opacity:0}to{opacity:1}}.MapBooking_placeholderTitle__0Hxpb{font-size:24px;font-weight:700;color:var(--text);margin-top:24px;margin-bottom:12px}.MapBooking_placeholderText__f0arW{font-size:15px;color:var(--text-muted);max-width:320px;line-height:1.6;margin-bottom:24px}.MapBooking_placeholderStats__5REmM{display:flex;gap:32px;margin-top:24px}.MapBooking_placeholderStat__GdMIv{display:flex;flex-direction:column;gap:4px}.MapBooking_placeholderStat__GdMIv strong{font-size:28px;font-weight:800;color:var(--primary)}.MapBooking_placeholderStat__GdMIv span{font-size:13px;color:var(--text-muted);font-weight:500}.MapBooking_overlay__LOJ0J{position:fixed;inset:0;background:var(--modal-overlay);z-index:998;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:MapBooking_fadeIn__8jsv4 .25s ease}.MapBooking_mobileDrawer__pmZyn{position:fixed;bottom:0;left:0;right:0;background:var(--panel-bg);border-top-left-radius:20px;border-top-right-radius:20px;box-shadow:var(--shadow-xl);z-index:999;transition:height .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.MapBooking_mobileDrawerMinimized__6isF0{height:100px}.MapBooking_mobileDrawerExpanded__0IieR{height:90vh;height:90dvh;max-height:90vh;max-height:90dvh}.MapBooking_drawerHeader__Amj7p{padding:8px 10px 10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;border-bottom:1px solid var(--border-base);display:flex;flex-direction:column;gap:10px;flex-shrink:0}.MapBooking_drawerHandle__URDmj{width:56px;height:5px;background:var(--border-base);border-radius:999px;margin:0 auto 8px;transition:all .2s ease}.MapBooking_drawerHeader__Amj7p:hover .MapBooking_drawerHandle__URDmj{background:var(--primary);width:72px}.MapBooking_drawerHeaderContent__Y2EDG{display:flex;justify-content:space-between;align-items:center;gap:14px}.MapBooking_drawerStationInfo__doZOb{display:flex;align-items:center;gap:12px;flex:1 1;min-width:0}.MapBooking_drawerStationName__VwPr7{font-size:16px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.MapBooking_drawerStationLocation__T7zB1{font-size:13px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.MapBooking_drawerToggle__CzUe8{display:flex;align-items:center;gap:2px;padding:4px 10px;background:var(--badge-bg);border-radius:var(--radius-md);flex-shrink:0;border:1px solid var(--badge-border)}.MapBooking_drawerToggleText__iUs0T{font-size:14px;font-weight:600;color:var(--primary);white-space:nowrap}.MapBooking_drawerToggleIcon__8M3cl{color:var(--primary);transition:transform .3s ease}.MapBooking_closeDrawerBtn__skFtm{position:absolute;top:10px;right:10px;background:var(--glass-bg);border:1px solid var(--glass-border);padding:8px;border-radius:8px;color:var(--text-muted);display:flex;align-items:center;cursor:pointer;z-index:10;transition:all .2s ease}.MapBooking_closeDrawerBtn__skFtm:hover{background:var(--badge-bg);border-color:var(--primary);color:var(--primary)}.MapBooking_drawerContent__gmNcm{padding:16px 12px calc(16px + env(safe-area-inset-bottom));height:calc(90vh - 120px);height:calc(90dvh - 120px - env(safe-area-inset-bottom))}.MapBooking_drawerContentPreview__EZgMn,.MapBooking_drawerContent__gmNcm{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;transform:translateZ(0)}.MapBooking_drawerContentPreview__EZgMn{flex:1 1;min-height:0;padding:16px 12px calc(24px + env(safe-area-inset-bottom));position:relative;z-index:1}.MapBooking_drawerContentPreview__EZgMn::-webkit-scrollbar,.MapBooking_drawerContent__gmNcm::-webkit-scrollbar{width:6px}.MapBooking_drawerContentPreview__EZgMn::-webkit-scrollbar-track,.MapBooking_drawerContent__gmNcm::-webkit-scrollbar-track{background:transparent}.MapBooking_drawerContentPreview__EZgMn::-webkit-scrollbar-thumb,.MapBooking_drawerContent__gmNcm::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.MapBooking_drawerContentPreview__EZgMn::-webkit-scrollbar-thumb:hover,.MapBooking_drawerContent__gmNcm::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.MapBooking_locationPrompt__Af94g{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;margin-bottom:20px;background:var(--info-bg);border:2px solid var(--primary);border-radius:var(--radius-lg);gap:16px;animation:MapBooking_slideDown__Du_S9 .3s ease-out}.MapBooking_locationPromptContent__yYE4D{display:flex;align-items:center;gap:12px;flex:1 1;min-width:0}.MapBooking_locationPromptIcon__y5R2U{color:var(--primary);flex-shrink:0}.MapBooking_locationPromptContent__yYE4D span{font-size:14px;color:var(--text);font-weight:500;line-height:1.5}.MapBooking_locationPromptActions__yGlAR{display:flex;gap:10px;flex-shrink:0}.MapBooking_dismissBtn__hZS0U,.MapBooking_enableLocationBtn__AhUoo{padding:8px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.MapBooking_enableLocationBtn__AhUoo{background:var(--cta-grad);color:var(--cta-fg);border:none;box-shadow:var(--cta-shadow)}.MapBooking_enableLocationBtn__AhUoo:hover{transform:translateY(-1px);box-shadow:var(--cta-hover-shadow)}.MapBooking_dismissBtn__hZS0U{background:transparent;color:var(--text-muted);border:1px solid var(--border-base)}.MapBooking_dismissBtn__hZS0U:hover{background:var(--glass-bg);border-color:var(--primary);color:var(--primary)}@media (max-width:968px){.MapBooking_container__PLbSh{padding:0;margin:0;max-width:100%}.MapBooking_contentGrid__3V22_{grid-template-columns:1fr;gap:0}.MapBooking_mapSection__PSz_S{position:fixed;top:150px;left:0;right:0;bottom:0;height:auto;border-radius:0;z-index:1;border:none}.MapBooking_formSidebar__BI1Sn{display:none}.MapBooking_searchContainerMobile__egTao{top:80px}.MapBooking_searchBox__XBKGj{padding:10px 12px}.MapBooking_searchInput__GvzAA{font-size:14px}.MapBooking_suggestions__uj_bX{max-height:300px}.MapBooking_suggestionItem__5stFw{padding:12px 10px}}@media (max-width:640px){.MapBooking_searchContainer__SmQay{left:8px;right:8px}.MapBooking_searchBox__XBKGj{padding:9px 10px}.MapBooking_mapSection__PSz_S{top:140px}.MapBooking_placeholder__kDC0O{padding:32px 16px;min-height:300px}.MapBooking_placeholderTitle__0Hxpb{font-size:20px}.MapBooking_placeholderText__f0arW{font-size:14px}.MapBooking_placeholderStats__5REmM{flex-direction:column;gap:16px}.MapBooking_mobileDrawerExpanded__0IieR{height:92vh;height:92dvh;max-height:92vh;max-height:92dvh}.MapBooking_drawerContent__gmNcm{height:calc(92vh - 115px);height:calc(92dvh - 115px - env(safe-area-inset-bottom));padding:12px 10px calc(12px + env(safe-area-inset-bottom))}.MapBooking_drawerContentPreview__EZgMn{padding:12px 10px calc(20px + env(safe-area-inset-bottom))}.MapBooking_locationPrompt__Af94g{flex-direction:column;align-items:stretch;padding:14px 16px;margin-bottom:16px}.MapBooking_locationPromptActions__yGlAR{width:100%;flex-direction:column}.MapBooking_dismissBtn__hZS0U,.MapBooking_enableLocationBtn__AhUoo{width:100%;padding:10px 16px}}@media (max-width:380px){.MapBooking_searchBox__XBKGj{padding:8px 10px}.MapBooking_searchInput__GvzAA{font-size:13px}.MapBooking_suggestionName__AiKV6{font-size:14px}.MapBooking_suggestionLocation__2_6_c{font-size:12px}.MapBooking_drawerStationName__VwPr7{font-size:14px}.MapBooking_drawerStationLocation__T7zB1{font-size:12px}}@media (hover:none) and (pointer:coarse){.MapBooking_suggestionItem__5stFw{min-height:56px}.MapBooking_closeDrawerBtn__skFtm{min-width:44px;min-height:44px}.MapBooking_clearBtn__fRHyO,.MapBooking_nearMeBtn__5lpuv{min-width:40px;min-height:40px}}@media (min-width:1400px){.MapBooking_contentGrid__3V22_{grid-template-columns:1fr 480px;gap:32px}.MapBooking_mapSection__PSz_S{height:calc(100vh - 200px)}}.MapBooking_drawerStationDistance__sdK2H{font-size:.75rem;font-weight:600;color:var(--badge-text);margin-top:2px}.MapBooking_stationDistance__JxlcC{margin-bottom:10px;font-size:.85rem;font-weight:600;color:var(--badge-text);background:var(--badge-bg);padding:6px 10px;border-radius:999px;width:-moz-fit-content;width:fit-content}@media print{.MapBooking_formSidebar__BI1Sn,.MapBooking_mobileDrawer__pmZyn,.MapBooking_overlay__LOJ0J,.MapBooking_searchContainer__SmQay{display:none!important}.MapBooking_mapSection__PSz_S{height:auto;min-height:600px;position:static}.MapBooking_contentGrid__3V22_{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.MapBooking_drawerToggleIcon__8M3cl,.MapBooking_mobileDrawer__pmZyn,.MapBooking_overlay__LOJ0J,.MapBooking_searchBox__XBKGj,.MapBooking_suggestionItem__5stFw{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.MapBooking_formProgressBadge__3LXON{margin-left:8px;padding:2px 8px;background:var(--gradient-secondary);color:var(--text-on-primary);border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.5px;animation:MapBooking_pulse__FQvEl 2s ease-in-out infinite}@keyframes MapBooking_pulse__FQvEl{0%,to{opacity:1}50%{opacity:.7}}@supports (-webkit-touch-callout:none){.MapBooking_drawerContentPreview__EZgMn,.MapBooking_drawerContent__gmNcm{overscroll-behavior-y:contain}}