@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_54999ff0-module__F6rq2q__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_54999ff0-module__F6rq2q__variable{--font-outfit:"Outfit", "Outfit Fallback"}
:root{--background:#090d16;--foreground:#f0f5fc;--text-muted:#94a3b8;--primary:#ff8c38;--primary-hover:#ffa056;--primary-glow:#ff8c3861;--accent-sauna:#ff5e36;--secondary:#1a293d;--accent-water:#00d2ff;--accent-water-deep:#08f;--water-glow:#00d2ff61;--accent-wishlist:#10b981;--accent-wishlist-deep:#34d399;--wishlist-glow:#10b98159;--star-color:#fbbf24;--overlay-subtle:#ffffff0f;--overlay-hover:#ffffff1f;--glass:#1e293ba6;--glass-hover:#334155bf;--glass-heavy:#090e18eb;--glass-border:#ffffff29;--glass-border-glow:#ff8c3840;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--z-map-base:0;--z-map-overlay:10;--z-map-controls:500;--z-sidebar:1000;--z-sheet:1100;--z-modal-backdrop:1500;--z-modal:2000;--z-toast:9999;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-smooth:.3s cubic-bezier(.16, 1, .3, 1);--backdrop-blur:blur(12px) saturate(160%);--backdrop-blur-heavy:blur(24px);--backdrop-blur-sm:blur(6px);--font-main:var(--font-outfit), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--error:#ef4444;--map-filter:invert(100%) hue-rotate(180deg) brightness(95%) contrast(92%);--input-bg:#0f172abf;--shadow-sm:0 4px 12px #00000040;--shadow-md:0 8px 24px #00000061;--shadow-lg:0 12px 36px #00000073;--shadow-xl:0 24px 56px #0000008c;--shadow-up:0 -8px 32px #00000073;--shadow-marker-sm:0 2px 8px #0006;--shadow-marker:0 6px 18px #0006;--shadow-marker-lifted:0 8px 24px #0006;--shadow-glow:0 0 20px var(--primary-glow);--error-text:#fca5a5}.light-theme{--background:#f2f6fc;--foreground:#0f1826;--text-muted:#475569;--primary:#e06c1b;--primary-hover:#c95d12;--primary-glow:#e06c1b40;--accent-sauna:#d1441c;--secondary:#dbe4f2;--accent-water:#0284c7;--accent-water-deep:#0369a1;--water-glow:#0284c74d;--accent-wishlist:#10b981;--accent-wishlist-deep:#34d399;--wishlist-glow:#10b98159;--star-color:#d97706;--glass:#ffffffe0;--glass-hover:#fffffff2;--glass-heavy:#fffffff5;--glass-border:#0f18262e;--glass-border-glow:#e06c1b33;--map-filter:none;--input-bg:#ffffffeb;--shadow-sm:0 4px 12px #00000014;--shadow-md:0 8px 24px #0000001a;--shadow-lg:0 12px 36px #00000026;--shadow-xl:0 24px 56px #0000002e;--shadow-up:0 -8px 32px #0000001f;--overlay-subtle:#0f18260a;--overlay-hover:#0f182614;--error-text:#b91c1c}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:radial-gradient(circle at 5% 10%, #ff8c382e, transparent 40%), radial-gradient(circle at 95% 90%, #00d2ff2e, transparent 40%), var(--background);width:100%;height:100%;color:var(--foreground);font-family:var(--font-main);-webkit-font-smoothing:antialiased;overflow:hidden}html.allow-page-scroll,body.allow-page-scroll{overflow-y:auto}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-xs)}.rating-stars{align-items:center;gap:1px;display:inline-flex}.rating-star{color:var(--foreground);opacity:.35}.rating-star--filled{color:var(--star-color);opacity:1}.spin-icon{animation:1s linear infinite spin}.chart-empty-state{height:260px;color:var(--foreground);opacity:.6;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.chart-empty-state svg{opacity:.7}.api-access-gate{z-index:var(--z-modal);background:var(--background);place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.api-access-card{border:1px solid var(--glass-border);border-radius:var(--radius-xl);background:var(--glass-heavy);width:min(100%,430px);box-shadow:var(--shadow-xl);text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2rem;display:flex}.api-access-card .btn{min-height:44px;text-decoration:none}.api-access-error{color:var(--error-text)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spin-icon,.location-search-spinner{animation-duration:2s!important;animation-iteration-count:infinite!important}}
.map-container{width:100%;height:100dvh;z-index:var(--z-map-base);position:absolute;top:0;left:0}.leaflet-container{width:100%;height:100%;background:var(--background)!important}.dark-map-tiles{filter:var(--map-filter)}.sauna-marker{background:linear-gradient(135deg, var(--accent-sauna) 0%, var(--primary) 100%);width:34px;height:34px;box-shadow:var(--shadow-marker), 0 0 14px var(--primary-glow);cursor:pointer;border:2.5px solid #fff;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s;display:flex;position:relative;transform:rotate(-45deg)}.sauna-marker-icon{color:#fff;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 1px 2px #0006);justify-content:center;align-items:center;line-height:1;display:inline-flex;transform:rotate(45deg)}.sauna-marker--selected{background:linear-gradient(135deg, var(--accent-water) 0%, var(--accent-water-deep) 100%);box-shadow:0 6px 20px var(--water-glow), 0 0 16px var(--accent-water);animation:1.8s infinite pulseRingSelected;z-index:var(--z-map-controls)!important}.sauna-marker--wishlist{background:linear-gradient(135deg, var(--accent-wishlist) 0%, var(--accent-wishlist-deep) 100%);box-shadow:0 6px 18px var(--wishlist-glow)}.sauna-marker:hover,.sauna-marker--hovered{animation:1.5s infinite pulseRing;transform:scale(1.38)rotate(-45deg);z-index:var(--z-map-controls)!important}.sauna-marker--wishlist:hover,.sauna-marker--wishlist.sauna-marker--hovered{animation:1.5s infinite pulseRingWishlist}@keyframes pulseRing{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--primary) 75%, transparent), var(--shadow-marker-lifted)}70%{box-shadow:0 0 0 16px transparent, var(--shadow-marker-lifted)}to{box-shadow:0 0 0 0 transparent, var(--shadow-marker-lifted)}}@keyframes pulseRingWishlist{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent-wishlist) 75%, transparent), var(--shadow-marker-lifted)}70%{box-shadow:0 0 0 16px transparent, var(--shadow-marker-lifted)}to{box-shadow:0 0 0 0 transparent, var(--shadow-marker-lifted)}}@keyframes pulseRingSelected{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent-water) 80%, transparent), var(--shadow-marker-lifted)}70%{box-shadow:0 0 0 18px transparent, var(--shadow-marker-lifted)}to{box-shadow:0 0 0 0 transparent, var(--shadow-marker-lifted)}}.sauna-marker-badges{pointer-events:none;z-index:var(--z-map-overlay);white-space:nowrap;flex-direction:column;gap:3px;animation:.3s cubic-bezier(.16,1,.3,1) badgeFadeIn;display:flex;position:absolute;top:-8px;left:28px;transform:rotate(45deg)}.sauna-marker-pill{border-radius:var(--radius-full);box-shadow:var(--shadow-marker-sm);-webkit-backdrop-filter:blur(8px);border:1px solid #ffffff4d;align-items:center;gap:2px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1.2;display:inline-flex}.sauna-marker-pill--rating{color:#fbbf24;background:#1e1e1ed9;border-color:#fbbf2466}.sauna-marker-pill--count{color:#fff;background:#ff8c38e6;border-color:#ffffff80}.sauna-marker-pill--wishlist{color:#fff;background:#10b981e6;border-color:#ffffff80}@keyframes badgeFadeIn{0%{opacity:0;transform:rotate(45deg)scale(.7)translate(-4px)}to{opacity:1;transform:rotate(45deg)scale(1)translate(0)}}.leaflet-popup-content-wrapper{-webkit-backdrop-filter:blur(20px);background:var(--glass-heavy)!important;color:var(--foreground)!important;border-radius:var(--radius-lg)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--shadow-lg), 0 0 24px var(--primary-glow)!important}.leaflet-popup-tip{background:var(--glass-heavy)!important}.leaflet-container a.leaflet-popup-close-button{opacity:.7;width:32px!important;height:32px!important;color:var(--foreground)!important;background:0 0!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;padding:0!important;font-size:22px!important;line-height:32px!important;transition:opacity .2s,background-color .2s,color .2s,transform .15s!important;display:flex!important;top:12px!important;right:12px!important}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:active{opacity:1;transform:scale(1.08);background:var(--glass-border)!important;color:var(--primary)!important}.map-top-right-controls{z-index:var(--z-map-controls);pointer-events:none;align-items:center;gap:.5rem;display:flex;position:absolute;top:2rem;right:2rem}.map-top-right-controls>*{pointer-events:auto}.map-zoom-control .leaflet-control-zoom{gap:.5rem;display:flex;border:none!important;margin:0!important}.leaflet-control-zoom-in,.leaflet-control-zoom-out{-webkit-backdrop-filter:blur(16px);background:var(--glass-heavy)!important;color:var(--foreground)!important;border:1px solid var(--glass-border)!important;text-indent:0!important;box-shadow:var(--shadow-md)!important;border-radius:50%!important}.leaflet-control-zoom a,.leaflet-control-zoom button{cursor:pointer;outline:none;box-sizing:border-box!important;justify-content:center!important;align-items:center!important;width:48px!important;height:48px!important;padding:0!important;font-size:1.25rem!important;line-height:1!important;transition:background .25s,border-color .25s,transform .15s!important;display:flex!important}.location-control-btn{border:1px solid var(--glass-border);background:var(--glass-heavy);-webkit-backdrop-filter:blur(16px);width:48px;height:48px;color:var(--foreground);cursor:pointer;box-shadow:var(--shadow-md);box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;transition:background .25s,border-color .25s,transform .15s;display:flex}.leaflet-control-zoom a:hover,.leaflet-control-zoom button:hover,.location-control-btn:hover:not(:disabled){background:color-mix(in srgb, var(--glass-heavy) 60%, var(--primary) 40%)!important;border-color:var(--primary)!important;box-shadow:0 0 16px var(--primary-glow)!important}.leaflet-control-zoom a:active,.leaflet-control-zoom button:active,.location-control-btn:active:not(:disabled){transform:scale(.96)}.location-control-btn:disabled{opacity:.7;cursor:wait}.popup-card{min-width:220px}.popup-title{color:var(--primary);margin:0 0 .25rem}.wishlist-chip{align-items:center;gap:.25rem;margin-left:.5rem;font-size:.75rem;display:inline-flex}.wishlist-chip--compact{margin-left:.25rem}.popup-area{opacity:.7;margin-bottom:.25rem;font-size:.8rem}.popup-rating{margin-bottom:.5rem;font-size:.8rem}.popup-image{border-radius:var(--radius-sm);width:100%;height:auto;margin-bottom:.5rem}.popup-comment{opacity:.86;white-space:pre-wrap;font-size:.9rem}.popup-meta{opacity:.55;margin-top:.5rem;display:block}.popup-link{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--primary);text-align:center;box-sizing:border-box;justify-content:center;align-items:center;gap:.4rem;width:100%;min-height:42px;margin-top:.75rem;padding:.62rem;font-size:.84rem;text-decoration:none;display:inline-flex}.popup-link-icon{justify-content:center;align-items:center;line-height:1;display:inline-flex}.popup-link-text{align-items:center;line-height:1;display:inline-flex}.popup-edit-btn{background:var(--primary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;width:100%;min-height:42px;margin-top:.5rem;padding:.62rem}.pin-hint{z-index:var(--z-sheet);background:var(--glass-heavy);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:auto;align-items:center;gap:.8rem;width:calc(100% - 2rem);max-width:420px;padding:.9rem 1.2rem;animation:.4s cubic-bezier(.16,1,.3,1) fadeInUp;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.pin-hint-icon{flex-shrink:0;font-size:1.6rem}.pin-hint-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.pin-hint-text strong{color:var(--primary);font-size:.95rem}.pin-hint-text span{opacity:.6;color:var(--foreground);font-size:.78rem}.pin-hint-cancel{background:var(--glass);border:1px solid var(--glass-border);color:var(--foreground);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1rem;transition:background .2s;display:flex}.pin-hint-cancel:hover{background:var(--glass-border)}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes fadeInUpMobile{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:767px){.popup-link,.popup-edit-btn,.pin-hint-cancel{min-height:44px}.map-top-right-controls{top:max(1rem, env(safe-area-inset-top,0px));gap:.5rem;right:1rem}.leaflet-control-zoom a,.leaflet-control-zoom button,.location-control-btn,.map-cluster-control-btn{width:48px!important;height:48px!important;font-size:1.25rem!important}.pin-hint{bottom:max(1rem, env(safe-area-inset-bottom,0px));will-change:transform, opacity;width:auto;max-width:none;padding:1rem;animation:.3s cubic-bezier(.16,1,.3,1) fadeInUpMobile;left:1rem;right:1rem;transform:none}.pin-hint-cancel{width:44px;min-width:44px;height:44px;min-height:44px}}.custom-cluster-marker{background:0 0;border:none}.sauna-cluster{background:linear-gradient(135deg, var(--accent-sauna) 0%, var(--primary) 100%);width:42px;height:42px;box-shadow:var(--shadow-marker), 0 0 16px var(--primary-glow);color:#fff;cursor:pointer;border:2.5px solid #fff;border-radius:50%;justify-content:center;align-items:center;gap:2px;font-size:.85rem;font-weight:700;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;display:flex}.sauna-cluster:hover{box-shadow:var(--shadow-marker-lifted), 0 0 20px var(--primary-glow);transform:scale(1.18)}.sauna-cluster--medium{background:linear-gradient(135deg,#ff7a00 0%,#e64a19 100%);width:46px;height:46px;font-size:.9rem}.sauna-cluster--large{background:linear-gradient(135deg,#ff5252 0%,#d50000 100%);width:50px;height:50px;font-size:.95rem}.sauna-cluster-icon{color:#fff;filter:drop-shadow(0 1px 2px #0006);align-items:center;line-height:1;display:inline-flex}.sauna-cluster-count{color:#fff;filter:drop-shadow(0 1px 2px #0006);font-family:inherit;line-height:1}.map-cluster-control-btn{border:1px solid var(--glass-border);background:var(--glass-heavy);-webkit-backdrop-filter:blur(16px);width:48px;height:48px;color:var(--foreground);cursor:pointer;box-shadow:var(--shadow-md);box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;transition:background .25s,border-color .25s,transform .15s,box-shadow .25s;display:flex}.map-cluster-control-btn:hover{background:color-mix(in srgb, var(--glass-heavy) 60%, var(--primary) 40%)!important;border-color:var(--primary)!important;box-shadow:0 0 16px var(--primary-glow)!important}.map-cluster-control-btn.is-active{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb, var(--glass-heavy) 80%, var(--primary) 20%)}.map-cluster-control-btn:active{transform:scale(.96)}.leaflet-div-icon.current-location-marker-wrapper{background:0 0!important;border:none!important}.current-location-marker{justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:relative}.current-location-dot{width:16px;height:16px;box-shadow:var(--shadow-marker-sm), 0 0 12px #2563ebcc;z-index:3;background-color:#2563eb;border:3px solid #fff;border-radius:50%;position:relative}.current-location-pulse{z-index:1;pointer-events:none;background-color:#2563eb59;border:1px solid #2563eb99;border-radius:50%;width:36px;height:36px;margin-top:-18px;margin-left:-18px;animation:2.4s cubic-bezier(.215,.61,.355,1) infinite currentLocationPulse;position:absolute;top:50%;left:50%}@keyframes currentLocationPulse{0%{opacity:.9;transform:scale(.5)}70%{opacity:.15;transform:scale(1.4)}to{opacity:0;transform:scale(1.6)}}
.ui-layer{pointer-events:none;width:100%;height:100dvh;z-index:var(--z-sidebar);color:var(--foreground);padding:2rem;display:flex;position:absolute;top:0;left:0}.sidebar{z-index:calc(var(--z-sidebar) + 100);background:linear-gradient(160deg, color-mix(in srgb, var(--glass-heavy) 90%, transparent), color-mix(in srgb, var(--secondary) 50%, transparent));width:420px;max-height:calc(100vh - 4rem);-webkit-backdrop-filter:var(--backdrop-blur-heavy);border:1px solid var(--glass-border);border-radius:var(--radius-xl);pointer-events:auto;box-shadow:var(--shadow-xl), 0 0 32px var(--primary-glow);transition:transform .35s cubic-bezier(.16, 1, .3, 1), opacity var(--transition-normal);flex-direction:column;animation:.6s cubic-bezier(.16,1,.3,1) slideIn;display:flex;position:relative}@media (min-width:768px){.sidebar.collapsed{opacity:0;pointer-events:none;transform:translate(calc(-100% - 2.5rem))}}.desktop-sidebar-open-btn{z-index:calc(var(--z-sidebar) + 100);pointer-events:auto;background:linear-gradient(160deg, color-mix(in srgb, var(--glass-heavy) 92%, transparent), color-mix(in srgb, var(--glass) 82%, transparent));-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);color:var(--foreground);cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition-normal);align-items:center;gap:.6rem;padding:.75rem 1.1rem;font-family:inherit;font-size:.95rem;font-weight:600;display:flex;position:absolute;top:2rem;left:2rem}.desktop-sidebar-open-btn:hover{background:var(--glass-heavy);border-color:var(--primary);box-shadow:var(--shadow-xl), 0 0 16px var(--primary-glow);transform:translateY(-2px)}.desktop-sidebar-open-btn .open-btn-icon{font-size:1.2rem}.desktop-sidebar-open-btn .open-btn-text{color:var(--primary)}.desktop-sidebar-open-btn .open-btn-arrow{opacity:.7;margin-left:.2rem;font-size:.8rem}.sidebar-action-btn{box-sizing:border-box;border-radius:var(--radius-md);background:color-mix(in srgb, var(--glass) 85%, transparent);border:1px solid var(--glass-border);width:38px;min-width:38px;height:38px;min-height:38px;color:var(--foreground);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;margin:0;padding:0;text-decoration:none;transition:all .2s;display:flex}.sidebar-action-btn:hover{background:var(--glass-border);color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.sidebar-action-btn:active{transform:translateY(0)scale(.96)}@media (max-width:767px){.desktop-sidebar-open-btn,.desktop-sidebar-close-btn{display:none!important}}.sidebar-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1.6rem 1.6rem 1.2rem;display:flex}.sidebar-header-main{flex-shrink:0}.sidebar-header-main h1{color:var(--primary);white-space:nowrap;font-size:1.4rem;line-height:1.2}.sidebar-header-main p{opacity:.76;white-space:nowrap;margin-top:.2rem;font-size:.82rem}.sidebar-content{flex:1;padding:1.3rem 1.6rem;overflow:hidden auto}.mobile-toggle{display:none}@keyframes slideIn{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@media (max-width:767px){.sidebar-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom,0)}.ui-layer{pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:stretch;padding:0}.sidebar{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:88dvh;padding-bottom:env(safe-area-inset-bottom,16px);box-shadow:var(--shadow-up);margin-bottom:0;transition:transform .35s cubic-bezier(.33,1,.68,1)}.sidebar.collapsed{transform:translateY(calc(100% - 76px - env(safe-area-inset-bottom,16px)));max-height:76px}.sidebar-header{flex-flow:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:1rem 1rem .75rem}.sidebar-header-main{flex:1;min-width:0;min-height:0}.sidebar-header-main h1{white-space:nowrap;font-size:1.15rem;line-height:1.3}.sidebar-header-main p{white-space:nowrap;font-size:.8rem}.sidebar-content{padding:.75rem 1rem 1rem}.mobile-toggle{background:var(--primary);color:#fff;border:3px solid var(--background);cursor:pointer;width:56px;height:56px;box-shadow:var(--shadow-sm);z-index:calc(var(--z-sidebar) + 2);pointer-events:auto;-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;transition:transform .3s cubic-bezier(.33,1,.68,1);position:absolute;top:-20px;left:50%;right:auto;transform:translate(-50%);display:flex!important}.sidebar.collapsed .mobile-toggle{transform:translate(-50%)}}
.sauna-list-header{justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.75rem;display:flex}.sauna-list-header .panel-title{white-space:nowrap;align-items:baseline;gap:.25rem;margin:0;font-size:1.05rem;font-weight:700;display:flex}.sauna-list-header .panel-title-count{opacity:.8;font-size:.8rem;font-weight:500}.sauna-header-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.view-mode-toggle{background:var(--input-bg);border-radius:var(--radius-md);border:1px solid var(--glass-border);flex-shrink:0;gap:2px;padding:2px;display:flex}.view-mode-btn{color:var(--foreground);opacity:.92;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:.25rem;padding:.3rem .5rem;font-size:.76rem;font-weight:500;transition:all .2s;display:inline-flex}.view-mode-btn:hover{opacity:1;background:var(--glass-hover)}.view-mode-btn.is-active{background:linear-gradient(135deg, var(--primary) 0%, var(--accent-sauna) 100%);color:#fff;opacity:1;box-shadow:0 2px 8px var(--primary-glow);font-weight:600}.filters-open-btn{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:32px;height:32px;color:var(--foreground);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.82rem;transition:all .2s;display:inline-flex;position:relative;max-width:32px!important;min-height:32px!important}.filters-open-btn:hover,.filters-open-btn.is-active{border-color:var(--primary);color:var(--primary);background:var(--glass-heavy);box-shadow:0 0 12px var(--primary-glow)}.filters-badge{background-color:var(--primary);border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:5px}.sauna-compact-item{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-md);content-visibility:auto;contain-intrinsic-size:50px;margin-bottom:.45rem;transition:all .25s cubic-bezier(.16,1,.3,1);overflow:hidden}.sauna-compact-item:hover,.sauna-compact-item.is-hovered{border-color:var(--primary-glow);background:var(--glass-heavy);box-shadow:var(--shadow-sm)}.sauna-compact-item.is-selected{border-color:var(--primary);box-shadow:0 0 16px var(--primary-glow), var(--shadow-sm);background:color-mix(in srgb, var(--primary-glow) 8%, var(--glass-heavy))}.sauna-compact-header{align-items:center;gap:.25rem;padding-right:.6rem;display:flex}.sauna-compact-heading{min-width:0;font:inherit;flex:1;margin:0}.sauna-compact-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .25rem .65rem .85rem;display:flex}.sauna-compact-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:var(--radius-md)}.sauna-compact-main-info{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.sauna-compact-chevron{color:var(--primary);opacity:.8;flex-shrink:0;font-size:.65rem;transition:transform .25s}.sauna-compact-chevron.is-expanded{transform:rotate(90deg)}.sauna-compact-title{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.35rem;margin:0;font-size:.92rem;font-weight:600;display:flex;overflow:hidden}.sauna-compact-area{border-radius:var(--radius-xs);background:var(--input-bg);color:var(--foreground);opacity:.75;white-space:nowrap;flex-shrink:0;padding:.15rem .45rem;font-size:.72rem}.sauna-compact-side-info{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.sauna-compact-rating{font-size:.8rem}.sauna-compact-thumb{border-radius:var(--radius-xs);object-fit:cover;border:1px solid var(--glass-border);flex-shrink:0;width:28px;height:28px}.compact-edit-btn{justify-content:center;min-width:24px;min-height:24px;padding:.2rem .45rem!important;font-size:.78rem!important}.sauna-compact-body{border-top:1px dashed var(--glass-border);background:color-mix(in srgb, var(--glass) 50%, transparent);flex-direction:column;gap:.6rem;padding:.75rem .85rem .85rem;animation:.2s ease-out fadeIn;display:flex}.sauna-compact-footer-actions{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.sauna-search-box{flex-direction:column;gap:.5rem;margin-bottom:.9rem;display:flex}.search-row{align-items:center;gap:.5rem;width:100%;display:flex}.search-row .search-input-wrapper{flex:1;min-width:0}.search-row .bounds-toggle-btn{white-space:nowrap;flex:none;padding:.45rem .65rem;font-size:.78rem}.controls-row{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.controls-row .status-tabs{flex:1;min-width:0}.controls-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.filters-panel{background:var(--glass-heavy);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);flex-direction:column;gap:.65rem;margin-top:.2rem;margin-bottom:.4rem;padding:.75rem .85rem;animation:.22s cubic-bezier(.16,1,.3,1) slideDown;display:flex}.filters-panel-header{border-bottom:1px solid color-mix(in srgb, var(--glass-border) 60%, transparent);justify-content:space-between;align-items:center;padding-bottom:.4rem;display:flex}.filters-panel-title{color:var(--foreground);opacity:.85;letter-spacing:.02em;font-size:.8rem;font-weight:700}.filters-panel-close{color:var(--foreground);opacity:.7;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:.2rem;transition:all .15s;display:inline-flex}.filters-panel-close:hover{opacity:1;background:var(--glass-hover)}.filters-panel-body{flex-direction:column;gap:.6rem;display:flex}.filters-panel-body .form-group{margin-bottom:0}.filters-panel-body .form-group label{opacity:.8;margin-bottom:.35rem;font-size:.8rem}.filters-panel-body .input{min-height:40px;padding:.55rem .75rem;font-size:.85rem}.filters-panel-body .bounds-toggle-btn--full{min-height:40px}.filters-panel-footer{border-top:1px dashed color-mix(in srgb, var(--glass-border) 40%, transparent);justify-content:flex-end;padding-top:.35rem;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.controls-row .quick-sort-dropdown{flex:none}.search-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.search-input-wrapper .search-icon{opacity:.6;pointer-events:none;font-size:.9rem;position:absolute;left:.9rem}.search-input-wrapper .search-input{min-height:42px;padding-left:2.5rem;padding-right:2.2rem;font-size:.92rem}.search-clear-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.2rem;font-size:.85rem;transition:color .15s,background .15s;display:flex;position:absolute;right:.75rem}.search-clear-btn:hover{color:var(--foreground);background:var(--overlay-hover)}.status-tabs{background:var(--input-bg);border-radius:var(--radius-md);border:1px solid var(--glass-border);flex:1;gap:2px;min-width:0;padding:3px;display:flex}.status-tab{min-height:32px;color:var(--foreground);opacity:.92;border-radius:var(--radius-full);cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:.4rem .5rem;font-size:.78rem;font-weight:500;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.status-tab:hover{opacity:1;background:var(--glass-hover)}.status-tab.is-active{background:linear-gradient(135deg, var(--primary) 0%, var(--accent-sauna) 100%);color:#fff;opacity:1;box-shadow:0 4px 14px var(--primary-glow);font-weight:600}.bounds-toggle-btn{border:1px solid var(--glass-border);background:var(--input-bg);color:var(--foreground);opacity:.95;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;padding:.4rem .65rem;font-size:.78rem;font-weight:500;transition:all .25s}.bounds-toggle-btn:hover{opacity:1;background:var(--glass-hover);border-color:#3b82f666}.bounds-toggle-btn.is-active{color:#60a5fa;opacity:1;background:linear-gradient(135deg,#3b82f640,#2563eb59);border-color:#3b82f6;font-weight:600;box-shadow:0 2px 8px #3b82f640}.quick-sort-dropdown{flex:none;position:relative}.quick-sort-trigger{background:var(--input-bg);border:1px solid var(--glass-border);color:var(--foreground);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;outline:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.78rem;transition:all .2s;display:inline-flex}.quick-sort-trigger:hover{background:var(--glass-hover);border-color:var(--primary-glow)}.quick-sort-trigger:focus-visible{border-color:var(--primary);box-shadow:0 0 10px var(--primary-glow)}.quick-sort-trigger-content{align-items:center;gap:.4rem;display:inline-flex}.quick-sort-icon{color:var(--primary);flex-shrink:0}.quick-sort-chevron{opacity:.7;flex-shrink:0;transition:transform .2s}.quick-sort-chevron.is-open{transform:rotate(180deg)}.quick-sort-menu{z-index:100;background:var(--glass-heavy);border:1px solid var(--glass-border);border-radius:var(--radius-md);min-width:170px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + 4px);right:0}.quick-sort-option{color:var(--foreground);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;padding:.45rem .65rem;font-size:.78rem;transition:background .15s,color .15s;display:flex}.quick-sort-option:hover{background:var(--glass-hover);color:var(--primary)}.quick-sort-option.is-selected{background:color-mix(in srgb, var(--primary) 15%, transparent);color:var(--primary);font-weight:600}.quick-sort-option.is-active{background:var(--glass-hover);box-shadow:inset 0 0 0 2px var(--primary)}.quick-sort-option.is-active.is-selected{background:color-mix(in srgb, var(--primary) 22%, transparent)}.reset-filter-btn{margin-top:.8rem;padding:.5rem 1rem;font-size:.85rem}.quick-filter-container{margin-bottom:.5rem;position:relative}.quick-filter-scroll-hint{display:none}.quick-filter-chips{scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent;gap:.5rem;margin-bottom:.5rem;padding:.3rem .2rem;display:flex;overflow-x:auto}.chip-btn{border-radius:var(--radius-lg);background:var(--input-bg);color:var(--text-muted);border:1px solid var(--glass-border);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:.3rem;padding:.35rem .75rem;font-size:.8rem;font-weight:500;transition:all .2s;display:inline-flex}.chip-btn:hover{background:var(--overlay-hover);color:var(--foreground)}.chip-btn.is-active{color:var(--primary);border-color:var(--primary);background:linear-gradient(135deg,#ee8f4340,#d96a2459);font-weight:600;box-shadow:0 2px 8px #ee8f4333}.active-filter-chip{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 22%, var(--input-bg)), color-mix(in srgb, var(--primary) 32%, var(--input-bg)));color:var(--primary);border-color:var(--primary);font-weight:600}.chip-remove-icon{opacity:.75;transition:opacity .15s,transform .15s}.chip-btn:hover .chip-remove-icon{opacity:1;transform:scale(1.15)}.chip-reset-btn{background:color-mix(in srgb, var(--error) 15%, transparent);color:var(--error-text);border-color:color-mix(in srgb, var(--error) 30%, transparent);align-items:center;gap:.25rem;display:inline-flex}.chip-reset-btn:hover{background:color-mix(in srgb, var(--error) 25%, transparent)}.chip-badge{background:color-mix(in srgb, var(--error) 80%, #000);color:#fff;border-radius:var(--radius-full);padding:.05rem .35rem;font-size:.7rem;font-weight:700;line-height:1}.light-theme .view-mode-btn:not(.is-active),.light-theme .status-tab:not(.is-active),.light-theme .bounds-toggle-btn:not(.is-active){color:#1e293b;opacity:.95;font-weight:500}@media (max-width:767px){.quick-filter-scroll-hint{color:var(--text-muted);justify-content:flex-end;margin:0 .2rem .1rem;font-size:.7rem;display:flex}.status-tab,.bounds-toggle-btn,.view-mode-btn,.chip-btn,.sauna-compact-toggle{min-height:44px}.compact-edit-btn{min-width:44px;min-height:44px}.filters-open-btn{width:44px;height:44px;max-width:44px!important;min-height:44px!important}.search-input-wrapper .search-input{min-height:46px;padding-right:3rem}.search-clear-btn{min-width:44px;min-height:44px;right:.35rem}.quick-sort-trigger,.quick-sort-option,.filters-panel-close,.chip-btn,.active-filter-chip{min-height:44px}}.list-load-more{justify-content:center;padding:.5rem 0 .75rem;display:flex}.list-load-more-btn{min-height:44px;font-size:.82rem}
.form-group{margin-bottom:1.5rem;overflow:hidden}.form-group label,.form-group .form-group-label{color:var(--foreground);opacity:.85;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.label-row-with-actions{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.label-row-with-actions label{margin-bottom:0}.quick-date-actions{gap:.4rem;display:flex}.btn-quick-date{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--primary);cursor:pointer;padding:.2rem .6rem;font-size:.78rem;transition:all .2s}.btn-quick-date:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.preset-tags{flex-wrap:wrap;gap:.4rem;margin-top:.6rem;display:flex}.preset-tag-chip{border-radius:var(--radius-full);border:1px solid var(--glass-border);background:var(--glass);color:var(--foreground);opacity:.95;cursor:pointer;align-items:center;gap:.25rem;padding:.3rem .65rem;font-size:.78rem;transition:all .2s;display:inline-flex}.preset-tag-chip:hover{opacity:1;border-color:var(--primary);color:var(--primary)}.preset-tag-chip.is-selected{background:var(--primary);color:#fff;border-color:var(--primary);opacity:1;font-weight:500}.form-group label.checkbox-row,.checkbox-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.65rem;margin-bottom:0;font-size:.9rem;line-height:1.4;display:flex}.form-group label.checkbox-row input,.checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin:0}.form-hint{opacity:.62;margin-top:.4rem;font-size:.78rem}.form-hint--loading{align-items:center;gap:.4rem;display:flex}.form-hint--blocked{text-align:center;opacity:.8;justify-content:center;align-items:center;gap:.35rem;margin-top:-.2rem;display:flex}.form-hint--blocked svg{color:var(--primary);flex-shrink:0}.input{background:var(--input-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;max-width:100%;min-height:44px;color:var(--foreground);padding:.8rem 1rem;font-family:inherit;font-size:1rem;transition:all .25s}.input::placeholder{color:var(--foreground);opacity:.72}.input:focus{border-color:var(--primary);background:var(--glass-heavy);box-shadow:0 0 16px var(--primary-glow);outline:none}.select-input{width:100%}input[type=date].input{appearance:none;width:100%;min-width:0;max-width:100%}.textarea{resize:vertical;min-height:100px}.form-actions{flex-direction:column;gap:.65rem;margin-top:1.5rem;display:flex}.form-actions-secondary{grid-template-columns:1fr 1fr;gap:.65rem;width:100%;display:grid}.form-actions-secondary--single{grid-template-columns:1fr}.btn{border-radius:var(--radius-md);cursor:pointer;letter-spacing:.02em;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:46px;padding:.75rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--accent-sauna) 100%);color:#fff;box-shadow:0 4px 16px var(--primary-glow);border-color:#fff3}.btn-primary:hover:not(:disabled){box-shadow:0 8px 24px var(--primary-glow);filter:brightness(1.05);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-ghost{background:var(--glass);color:var(--foreground);opacity:.9;border-color:var(--glass-border);-webkit-backdrop-filter:var(--backdrop-blur-sm)}.btn-ghost:hover:not(:disabled){background:var(--glass-hover);border-color:var(--glass-border);opacity:1;color:var(--foreground)}.btn-danger{background:color-mix(in srgb, var(--error) 12%, transparent);color:var(--error-text);border-color:color-mix(in srgb, var(--error) 28%, transparent);-webkit-backdrop-filter:var(--backdrop-blur-sm)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--error) 22%, transparent);border-color:color-mix(in srgb, var(--error) 45%, transparent);color:var(--error-text);box-shadow:0 4px 14px color-mix(in srgb, var(--error) 20%, transparent);transform:translateY(-1px)}.btn-sm{min-height:38px!important;padding:.4rem .75rem!important;font-size:.8rem!important}.segmented{gap:.5rem;display:flex}.segmented-btn{background:var(--glass);color:var(--foreground);flex:1}.segmented-btn--visited.is-active{background:var(--primary);color:#fff}.segmented-btn--wishlist.is-active{background:var(--accent-wishlist);color:#04241a}.rating-row{flex-wrap:wrap;align-items:center;gap:.25rem;font-size:1.2rem;display:flex}.rating-star-btn{cursor:pointer;border-radius:var(--radius-md);min-width:44px;min-height:44px;color:var(--foreground);opacity:.5;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.rating-star-btn:has(.rating-star--filled){opacity:1}.rating-star-btn:active{background:color-mix(in srgb, var(--primary) 18%, transparent)}.clear-rating{background:color-mix(in srgb, var(--glass) 82%, transparent);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;opacity:.88;min-height:40px;color:var(--foreground);margin-left:.4rem;padding:.35rem .65rem;font-size:.84rem}@media (max-width:767px){.input,.btn,.rating-star-btn,.clear-rating{min-height:44px}.input{padding:.75rem 1rem;font-size:16px}.preset-tag-chip,.btn-quick-date{min-height:44px}.btn-sm{min-height:44px!important}}.light-theme .preset-tag-chip:not(.is-selected){color:#1e293b;opacity:.95;background:#ffffffe6}.location-search-container{width:100%;position:relative}.location-search-input-wrapper{align-items:center;display:flex;position:relative}.location-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.75rem}.location-search-input{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;color:var(--foreground);padding:.65rem 2.2rem;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.location-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent);outline:none}.location-search-spinner{color:var(--text-muted);animation:1s linear infinite spin;position:absolute;right:.75rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.location-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.2rem;display:flex;position:absolute;right:.75rem}.location-search-clear:hover{color:var(--foreground)}.location-search-results{z-index:100;background:var(--glass-heavy);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:220px;margin-top:.25rem;padding:.35rem 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.location-search-item{cursor:pointer;align-items:flex-start;gap:.65rem;padding:.6rem .85rem;transition:background .15s;display:flex}.location-search-item:hover,.location-search-item.is-active{background:color-mix(in srgb, var(--primary) 15%, transparent)}.location-search-item-icon{color:var(--primary);flex-shrink:0;margin-top:.15rem}.location-search-item-details{flex-direction:column;gap:.15rem;display:flex;overflow:hidden}.location-search-item-name{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.location-search-item-address{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.location-search-no-results{color:var(--text-muted);text-align:center;padding:.75rem 1rem;font-size:.82rem}.location-search-error{color:var(--error-text);align-items:flex-start;gap:.45rem;padding:.75rem 1rem;font-size:.82rem;line-height:1.5;display:flex}.location-search-error svg{flex-shrink:0;margin-top:.15rem}
.sauna-list{flex-direction:column;gap:1rem;display:flex}.sauna-card{background:linear-gradient(135deg, var(--overlay-subtle) 0%, transparent 100%);border:1px solid var(--glass-border);border-radius:var(--radius-lg);cursor:pointer;content-visibility:auto;contain-intrinsic-size:150px;padding:1.1rem 1.1rem 1.1rem 1.25rem;transition:transform .28s cubic-bezier(.16,1,.3,1),background .28s,border-color .28s,box-shadow .28s;position:relative;overflow:hidden}.sauna-card:before{content:"";background:linear-gradient(180deg, var(--primary), var(--accent-water));opacity:0;width:4px;height:100%;transition:opacity .25s,transform .25s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0;transform:scaleY(.4)}.sauna-card:hover,.sauna-card.is-hovered{background:var(--glass-heavy);border-color:var(--primary-glow);box-shadow:var(--shadow-lg), var(--shadow-glow);transform:translateY(-3px)}@keyframes selectedPulse{0%{box-shadow:0 0 0 2px var(--primary), 0 10px 30px #ff780040}50%{box-shadow:0 0 0 3px var(--primary-glow), 0 14px 38px #ff780073}to{box-shadow:0 0 0 2px var(--primary), 0 10px 30px #ff780040}}.sauna-card.is-selected{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 15%, transparent) 0%, var(--overlay-subtle) 100%);border-color:var(--primary);animation:2.5s cubic-bezier(.4,0,.6,1) infinite selectedPulse;transform:translateY(-2px)}.sauna-card:hover:before,.sauna-card.is-hovered:before,.sauna-card.is-selected:before{opacity:1;transform:scaleY(1)}.sauna-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.sauna-card-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.sauna-card-deselect-btn{background:color-mix(in srgb, var(--error) 16%, transparent);border:1px solid color-mix(in srgb, var(--error) 40%, transparent);border-radius:var(--radius-sm);color:var(--error-text);cursor:pointer;white-space:nowrap;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.8rem;font-weight:500;transition:all .2s;display:inline-flex}.sauna-card-deselect-btn:hover{background:color-mix(in srgb, var(--error) 80%, #000);color:#fff;border-color:var(--error);box-shadow:0 0 10px color-mix(in srgb, var(--error) 50%, transparent)}.sauna-card-edit-btn{background:var(--overlay-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.8rem;font-weight:500;transition:all .2s;display:inline-flex}.sauna-card-edit-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 12px var(--primary-glow)}.sauna-card h3{margin-bottom:.3rem;padding-right:.5rem;font-size:1.1rem}.sauna-card p{color:var(--foreground);opacity:.7;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;display:-webkit-box;overflow:hidden}.sauna-img-preview-btn{cursor:zoom-in;border-radius:var(--radius-sm);text-align:left;background:0 0;border:none;width:100%;margin-top:.8rem;padding:0;display:block}.sauna-img-preview-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sauna-img-preview{object-fit:cover;border-radius:var(--radius-sm);width:100%;height:120px;display:block}.visually-hidden-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.image-dropzone{border:2px dashed var(--glass-border);border-radius:var(--radius-md);background:var(--input-bg);min-height:96px;color:var(--foreground);opacity:.75;text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:.82rem;transition:all .2s;display:flex}.image-dropzone:hover{opacity:1;border-color:var(--primary);color:var(--primary)}.image-dropzone.is-dragover{opacity:1;border-color:var(--primary);color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, var(--input-bg))}.image-dropzone--filled{cursor:default;background:0 0;border:none;min-height:0;padding:0;display:block}.image-dropzone-actions{gap:.5rem;margin-top:.6rem;display:flex}.image-remove-btn{color:var(--error-text);align-items:center;gap:.3rem;display:inline-flex}.sauna-card-title{color:var(--foreground);margin-bottom:.25rem}.sauna-card-select-btn{min-height:24px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:.35rem;padding:0;display:inline-flex}.sauna-card-area{opacity:.75;margin-bottom:.25rem;font-size:.8rem}.sauna-card-rating{color:var(--primary);margin-bottom:.25rem;font-size:.8rem}.sauna-tag-list{flex-wrap:wrap;gap:.25rem;margin-bottom:.25rem;font-size:.75rem;display:flex}.sauna-tag{border-radius:var(--radius-full);background:var(--glass);color:var(--foreground);padding:.1rem .35rem}.sauna-tag-btn{cursor:pointer;border:1px solid #0000;font-family:inherit;transition:all .2s}.sauna-tag-btn:hover{background:var(--primary);color:#fff}.sauna-card-comment{color:var(--foreground);white-space:pre-wrap}.sauna-card-meta{opacity:.54;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:.5rem;font-size:.75rem;display:flex}.route-link{color:var(--primary);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--glass) 84%, transparent);justify-content:center;align-items:center;gap:.4rem;min-height:40px;margin-top:.52rem;padding:.5rem .72rem;font-size:.81rem;text-decoration:none;display:inline-flex}.route-link-icon{justify-content:center;align-items:center;line-height:1;display:inline-flex}.route-link-text{align-items:center;line-height:1;display:inline-flex}.route-link:hover{text-decoration:underline}.history-section-toggle{width:100%;color:var(--foreground);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.5rem;padding:0;display:flex}.history-section-toggle-label{opacity:.85;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.history-badge{border-radius:var(--radius-full);background:color-mix(in srgb, var(--primary) 25%, transparent);color:var(--primary);padding:.15rem .5rem;font-size:.72rem;font-weight:600}.history-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.history-item{border-radius:var(--radius-md);background:color-mix(in srgb, var(--glass) 78%, transparent);border:1px solid var(--glass-border);flex-direction:column;gap:.2rem;padding:.65rem .75rem;font-size:.82rem;display:flex}.history-item-header{align-items:center;gap:.5rem;display:flex}.history-item-header>span:first-child{flex:1;min-width:0}.history-delete-btn{border-radius:var(--radius-xs);border:1px solid var(--glass-border);width:24px;height:24px;color:var(--foreground);opacity:.65;cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.history-delete-btn:hover{opacity:1;border-color:color-mix(in srgb, var(--error) 55%, var(--glass-border));color:var(--error-text)}.history-rating{color:var(--primary);align-items:center;gap:.2rem;font-size:.78rem;font-weight:600;display:inline-flex}.history-comment{opacity:.7;white-space:pre-wrap;font-size:.8rem}.history-more{opacity:.6;margin-top:.5rem;font-size:.75rem}.mb-2{margin-bottom:.5rem}.text-primary{color:var(--primary)}.panel-title{color:var(--foreground);font-size:1.2rem}.panel-subtitle{opacity:.64;align-items:center;gap:.3rem;margin-bottom:1.3rem;font-size:.85rem;display:flex}.filters{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.filters-label{opacity:.8;font-size:.8rem}.empty-state{opacity:.56;text-align:center;margin-top:2rem}.empty-state--first-run{opacity:1;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;display:flex}.empty-state-icon{border-radius:var(--radius-full);width:56px;height:56px;color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent);justify-content:center;align-items:center;margin-bottom:.35rem;display:inline-flex}.empty-state-title{font-size:1rem;font-weight:600}.empty-state-body{opacity:.7;font-size:.86rem;line-height:1.6}.empty-state-cta{min-height:44px;margin-top:.9rem}@media (max-width:767px){.route-link{justify-content:center;width:100%;min-height:44px;margin-top:.65rem;font-size:.86rem}.sauna-card{min-height:44px;padding:1rem}.sauna-card-title{font-size:1.05rem}.sauna-card-select-btn,.sauna-card-edit-btn,.sauna-card-deselect-btn,.history-delete-btn{min-height:44px}.history-delete-btn{width:44px;min-width:44px}.panel-title{font-size:1.1rem}.segmented .btn{min-height:44px}.sauna-tag-btn{align-items:center;min-height:44px;padding:.35rem .7rem;display:inline-flex}}
@media (max-width:767px){.bottom-sheet{left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom,0px));height:calc(100dvh - (56px + env(safe-area-inset-bottom,0px)) - env(safe-area-inset-top,0px) - 20px);max-height:calc(100dvh - (56px + env(safe-area-inset-bottom,0px)) - env(safe-area-inset-top,0px) - 20px);z-index:var(--z-sheet);background:var(--glass-heavy);-webkit-backdrop-filter:var(--backdrop-blur-heavy);border-top:1px solid var(--glass-border);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);box-shadow:var(--shadow-up), 0 0 24px var(--primary-glow);transition:transform var(--transition-smooth);will-change:transform;contain:content;flex-direction:column;display:flex;position:fixed;overflow:hidden}.bottom-sheet.is-dragging{will-change:transform;transition:none}.bottom-sheet--min{transform:translateY(calc(100% - 54px + var(--drag-offset-y,0px)))}.bottom-sheet--half{transform:translateY(calc(100% - 45vh + var(--drag-offset-y,0px)))}.bottom-sheet--full{transform:translateY(calc(var(--drag-offset-y,0px)))}.bottom-sheet-header{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.bottom-sheet-map-btn{background:linear-gradient(135deg, var(--primary) 0%, var(--accent-sauna) 100%);color:#fff;border-radius:var(--radius-full);cursor:pointer;min-height:44px;box-shadow:0 2px 8px var(--primary-glow);white-space:nowrap;z-index:10;border:none;align-items:center;gap:.25rem;padding:.35rem .75rem;font-size:.78rem;font-weight:600;transition:transform .15s,opacity .15s;display:inline-flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.bottom-sheet-map-btn:hover{transform:translateY(-50%)scale(1.04)}.bottom-sheet-handle-wrapper{cursor:grab;-webkit-user-select:none;user-select:none;background:inherit;width:100%;color:inherit;font:inherit;text-align:inherit;border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);touch-action:none;border:none;justify-content:center;align-items:center;padding:10px 0 6px;display:flex}.bottom-sheet-handle-wrapper:focus-visible{outline:2px solid var(--primary);outline-offset:-3px}.bottom-sheet-handle-bar-container{flex-direction:column;align-items:center;gap:6px;width:100%;padding:0 16px;display:flex}.bottom-sheet-handle{background-color:var(--glass-border);border-radius:var(--radius-full);opacity:.85;width:40px;height:5px;transition:background-color var(--transition-fast), opacity var(--transition-fast)}.bottom-sheet-summary-badge{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;gap:8px;max-width:100%;font-size:.78rem;font-weight:500;display:flex;overflow:hidden}.summary-count{color:var(--primary);background:color-mix(in srgb, var(--primary) 15%, transparent);border-radius:var(--radius-full);align-items:center;gap:.2rem;padding:2px 8px;font-size:.74rem;font-weight:600;display:inline-flex}.summary-selected{color:var(--foreground);opacity:.9;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.bottom-sheet-handle-wrapper:active .bottom-sheet-handle{background-color:var(--primary);opacity:1}.bottom-sheet-content{touch-action:pan-y;-webkit-overflow-scrolling:touch;flex:1;padding:0 1rem 1rem;overflow-y:auto}.mobile-nav-bar{height:calc(56px + env(safe-area-inset-bottom,0px));z-index:calc(var(--z-sheet) + 1);background:var(--glass-heavy);border-top:1px solid var(--glass-border);padding-bottom:env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(20px);box-sizing:border-box;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{min-width:44px;height:100%;min-height:44px;color:var(--foreground);opacity:.65;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:4px 0;font-size:.7rem;text-decoration:none;transition:all .2s;display:flex;position:relative}.mobile-nav-item:hover,.mobile-nav-item.is-active{color:var(--primary);opacity:1;font-weight:600}.mobile-nav-icon{justify-content:center;align-items:center;margin-bottom:2px;line-height:1;display:flex;position:relative}.mobile-nav-item--add .mobile-nav-icon--add{background:linear-gradient(135deg, var(--primary) 0%, var(--accent-sauna) 100%);color:#fff;width:32px;height:32px;box-shadow:0 4px 14px var(--primary-glow);border-radius:50%;justify-content:center;align-items:center;margin-bottom:2px;font-size:1.3rem;font-weight:700;transition:transform .2s;display:flex}.mobile-nav-item--add:active .mobile-nav-icon--add{transform:scale(.92)}.filter-active-dot{background-color:var(--primary);width:7px;height:7px;box-shadow:0 0 8px var(--primary-glow);border-radius:50%;position:absolute;top:-2px;right:-6px}}@media (min-width:768px){.bottom-sheet,.mobile-nav-bar{display:none!important}}
.share-overlay{z-index:var(--z-modal-backdrop);-webkit-backdrop-filter:var(--backdrop-blur);background:#060a12c7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-modal{background:var(--glass-heavy);color:var(--foreground);border-radius:var(--radius-xl);border:1px solid var(--glass-border);width:min(680px,92vw);max-height:82vh;box-shadow:var(--shadow-xl), 0 0 32px var(--primary-glow);-webkit-backdrop-filter:var(--backdrop-blur-heavy);padding:1.6rem;overflow:auto}.share-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.95rem;display:flex}.share-header h2{color:var(--primary);margin:0;font-size:1.12rem}.share-header p{opacity:.8;margin-top:.25rem;font-size:.8rem}.share-close{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--glass) 82%, transparent);border-radius:var(--radius-md);cursor:pointer;width:42px;height:42px;color:var(--foreground);justify-content:center;align-items:center;display:flex}.share-summary{flex-direction:column;gap:.25rem;margin-bottom:1rem;font-size:.85rem;display:flex}.share-list{border-top:1px solid var(--glass-border);padding-top:.75rem;font-size:.8rem}.share-item{border-bottom:1px solid color-mix(in srgb, var(--glass-border) 40%, transparent);padding:.5rem 0}.share-item-top{justify-content:space-between;gap:.5rem;display:flex}.share-item-top>span{opacity:.72}.share-area{opacity:.8;margin-left:.5rem}.share-rating{color:var(--primary);margin-top:.1rem}.share-tags{flex-wrap:wrap;gap:.25rem;margin-top:.1rem;display:flex}.share-tags span{opacity:.85;font-size:.75rem}.share-comment{opacity:.9;white-space:pre-wrap;margin-top:.15rem}.share-more{text-align:center;opacity:.7;margin-top:.5rem}.mobile-menu-wrap{align-items:center;gap:.45rem;display:flex;position:relative}.mobile-menu-btn{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:color-mix(in srgb, var(--glass) 85%, transparent);width:38px;min-width:38px;height:38px;min-height:38px;color:var(--foreground);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;padding:0;font-size:1rem;font-weight:600;line-height:1;display:flex}.mobile-menu-backdrop{z-index:calc(var(--z-sidebar) + 50);-webkit-backdrop-filter:var(--backdrop-blur-sm);backdrop-filter:var(--backdrop-blur-sm);background:#0006;position:fixed;inset:0}.mobile-menu-dropdown{background:var(--glass-heavy);min-width:200px;-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:calc(var(--z-sidebar) + 151);animation:fadeIn var(--transition-fast);margin-top:.35rem;padding:.5rem;position:absolute;top:100%;right:0}.mobile-menu-dropdown button,.mobile-menu-dropdown a{border-radius:var(--radius-md);width:100%;color:var(--foreground);cursor:pointer;min-height:44px;transition:background var(--transition-fast);background:0 0;border:none;align-items:center;gap:.6rem;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;text-decoration:none;display:flex}.mobile-menu-dropdown button:hover,.mobile-menu-dropdown a:hover{background:var(--glass)}.mobile-menu-dropdown button:active,.mobile-menu-dropdown a:active{background:var(--primary-glow)}.bounds-toggle-btn--full{justify-content:center;align-items:center;gap:.4rem;width:100%;min-height:44px;display:flex}.image-lightbox-overlay{z-index:var(--z-modal);-webkit-backdrop-filter:var(--backdrop-blur-sm);cursor:zoom-out;animation:fadeIn var(--transition-fast);background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.image-lightbox-img{object-fit:contain;border-radius:var(--radius-md);width:auto;max-width:92vw;height:auto;max-height:88vh;box-shadow:var(--shadow-xl);cursor:default}.image-lightbox-close{top:max(1rem, env(safe-area-inset-top,1rem));right:max(1rem, env(safe-area-inset-right,1rem));border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-heavy);width:44px;height:44px;color:var(--foreground);cursor:pointer;justify-content:center;align-items:center;display:flex;position:fixed}.confirm-overlay{z-index:var(--z-modal-backdrop);-webkit-backdrop-filter:var(--backdrop-blur-sm);backdrop-filter:var(--backdrop-blur-sm);background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.confirm-modal{border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-heavy);width:min(460px,100%);-webkit-backdrop-filter:var(--backdrop-blur-heavy);box-shadow:var(--shadow-xl), 0 0 24px var(--primary-glow);padding:1.2rem}.confirm-title{color:var(--primary);margin:0 0 .4rem;font-size:1.1rem}.confirm-message{opacity:.85;margin:0 0 1rem;font-size:.9rem}.confirm-actions{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.app-toast{z-index:var(--z-toast);border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-heavy);width:min(92vw,520px);-webkit-backdrop-filter:var(--backdrop-blur);box-shadow:var(--shadow-lg), 0 0 20px var(--primary-glow);justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem .9rem .8rem 1rem;font-size:.9rem;display:flex;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%)}.app-toast--info{border-color:color-mix(in srgb, var(--glass-border) 65%, var(--primary) 35%)}.app-toast--success{border-color:color-mix(in srgb, #2ecc71 55%, var(--glass-border) 45%)}.app-toast--error{border-color:color-mix(in srgb, var(--error) 62%, var(--glass-border) 38%)}.app-toast-close{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:color-mix(in srgb, var(--glass) 88%, transparent);width:32px;height:32px;color:var(--foreground);cursor:pointer;flex-shrink:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:.8;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (max-width:767px){.share-close,.app-toast-close{width:44px;min-width:44px;height:44px;min-height:44px}.share-modal{border-radius:var(--radius-lg);max-height:85dvh;margin:env(safe-area-inset-top) 1rem env(safe-area-inset-bottom);padding:1rem}.share-header h2{font-size:1.05rem}.share-item-top{flex-direction:column;gap:.15rem}.mobile-menu-dropdown{margin-top:0;margin-bottom:.35rem;top:auto;bottom:100%}.mobile-menu-dropdown.mobile-menu-dropdown--down{margin-top:.35rem;margin-bottom:0;top:100%;bottom:auto}.confirm-modal{border-radius:var(--radius-lg);padding:.9rem}.confirm-actions{grid-template-columns:1fr}.app-toast{width:calc(100% - 1rem);left:.5rem;right:.5rem;bottom:max(.8rem, env(safe-area-inset-bottom));transform:none}}


