:root{--font-inter:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--color-bg-main:#f9fafb;--color-bg-card:#fff;--color-bg-white:#fff;--color-primary:#14b8a6;--color-primary-hover:#0d9488;--color-success:#10b981;--color-success-tint:#10b9811a;--color-error:#ef4444;--color-error-tint:#ef44441a;--color-warning:#f59e0b;--color-warning-tint:#f59e0b1a;--color-promo-bg-from:#fffbeb;--color-promo-bg-to:#fef3c7;--color-accent:#f97316;--color-accent-bg:#f973161a;--color-text-main:#111827;--color-text-muted:#4b5563;--color-text-light:#6b7280;--color-text-on-primary:#fff;--color-border:#e5e7eb;--color-border-hover:#d1d5db;--surface-glass-90:#ffffffe6;--surface-glass-95:#fffffff2;--surface-glass-88:#ffffffe0;--color-scrim-20:#0003;--color-scrim-40:#0006;--color-scrim-50:#00000080;--color-scrim-60:#0009;--color-scrim-70:#000000b3;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-subtle:0 1px 3px 0 #0000001a, 0 1px 2px 0 #0000000f;--shadow-card:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-button:0 4px 6px -1px var(--color-primary-tint-medium);--shadow-dropdown:0 10px 15px -3px #0000001a;--shadow-mobile-panel:0 -4px 20px #0000001f;--z-base:0;--z-above:1;--z-controls:10;--z-sticky:100;--z-dropdown:200;--z-header:1000;--z-overlay:1100;--z-modal:1300;--z-map-overlay:400;--color-primary-tint-subtle:#14b8a60a;--color-primary-tint-light:#14b8a61a;--color-primary-tint-medium:#14b8a633;--color-primary-tint-strong:#14b8a666;--focus-ring:0 0 0 3px var(--color-primary-tint-light);--font-size-2xs:.625rem;--font-size-xs:.75rem;--font-size-base:.875rem;--font-size-lg:1rem;--font-size-xl:1.125rem;--font-size-2xl:1.25rem;--font-size-3xl:1.5rem;--font-size-4xl:2rem;--font-size-5xl:3rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--letter-spacing-uppercase:.05em;--icon-opacity-muted:.7;--font-size-sm:.8125rem;--color-text-primary:var(--color-text-main);--color-text-secondary:var(--color-text-muted);--color-bg-secondary:#f1f5f9;--color-surface:var(--color-bg-card);--shadow-lg:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--color-success-border:#10b9814d;--color-accent-border:#f973164d;--color-badge-overlay-accent:#ea580ce0;--color-badge-overlay-success:#10b981e0;--color-badge-overlay-neutral:#323232b8;--color-admin-primary:var(--color-primary);--color-admin-primary-tint:var(--color-primary-tint-light);--color-admin-bg:#1a1a2e;--color-admin-bg-secondary:#16213e;--color-admin-glass-bg:#1e1e28d9;--color-admin-danger:#e74c3c;--color-admin-danger-tint-light:#e74c3c1a;--color-admin-danger-tint-medium:#e74c3c33;--color-admin-success:#28a745;--color-admin-success-tint-light:#28a7451a;--color-admin-success-tint-medium:#28a74533;--color-admin-surface-subtle:#ffffff08;--color-admin-surface:#ffffff0d;--color-admin-surface-hover:#ffffff0f;--color-admin-surface-active:#ffffff14;--color-admin-border-faint:#ffffff14;--color-admin-border:#ffffff1a;--color-admin-border-subtle:#ffffff1f;--color-admin-border-medium:#ffffff26;--color-admin-border-strong:#fff3;--color-admin-border-accent:#ffffff4d;--color-admin-text-faint:#fff6;--color-admin-text-secondary:#ffffff80;--color-admin-text-light:#fff9;--color-admin-text-muted:#ffffffb3;--color-admin-text-heading:#fffc;--color-admin-role-superadmin:#a855f7;--color-admin-role-superadmin-bg:#a855f733;--panel-width:400px;--header-area-height:90px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--transition-base:background-color .2s cubic-bezier(.4, 0, .2, 1), border-color .2s cubic-bezier(.4, 0, .2, 1), color .2s cubic-bezier(.4, 0, .2, 1), opacity .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s cubic-bezier(.4, 0, .2, 1), transform .2s cubic-bezier(.4, 0, .2, 1), visibility .2s cubic-bezier(.4, 0, .2, 1);--font-sans:"Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Monaco, Consolas, monospace;--ink-0:#fff;--ink-50:#f5f7fb;--ink-100:#ebeff5;--ink-200:#d9dfe8;--ink-300:#b6c0d0;--ink-400:#8592a8;--ink-500:#5a6a85;--ink-600:#3b4a62;--ink-700:#243041;--ink-800:#141c2e;--ink-900:#0b1220;--surface-page:#f5f7fa;--surface-card:#fff;--surface-soft:#ecf0f5;--surface-sunk:#e4e9f0;--accent:#2e5bff;--accent-deep:#1f3fb8;--accent-tint-08:#2e5bff14;--accent-tint-16:#2e5bff29;--accent-tint-32:#2e5bff52;--brand-marker:#e63946;--success:#10b981;--success-deep:#059669;--success-light:#34d399;--success-text:#1f8a5b;--success-text-hover:#187248;--success-tint:#e8f7ee;--success-soft:#4ade80;--warning:#f59e0b;--warning-tint:#fff4e0;--warning-tint-soft:#fff7e0;--warning-text:#b4730d;--warning-text-hover:#935d09;--warning-text-strong:#9a620b;--warning-text-deep:#92400e;--warning-soft:#fbbf24;--danger:#ef4444;--danger-deep:#dc2626;--danger-strong:#d93f46;--danger-tint:#fce9ea;--danger-soft:#f87171;--info-tint:#e8eeff;--info-tint-soft:#eef3ff;--rating:#f5b301;--skeleton-base:#eef3ec;--skeleton-warm-1:#f4efe5;--skeleton-warm-2:#eef4ec;--skeleton-warm-3:#f8f6ee;--mist:#dce9f5;--corner-xs:6px;--corner-sm:10px;--corner-md:14px;--corner-lg:18px;--corner-xl:24px;--corner-pill:999px;--elevation-xs:0 1px 2px #0b12200f;--elevation-sm:0 2px 8px #0b122014;--elevation-md:0 8px 24px #0b12201a, 0 2px 6px #0b12200f;--elevation-lg:0 16px 40px #0b122024, 0 6px 14px #0b122014;--elevation-pin:0 6px 16px #2e5bff59, 0 2px 4px #0b122033;--focus-ring-accent:0 0 0 3px var(--accent-tint-32)}
*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at center, var(--ink-0) 0%, var(--ink-50) 100%);color:var(--color-text-main);line-height:var(--line-height-normal)}a{color:inherit;text-decoration:none}button,a,[role=button]{touch-action:manipulation;font-family:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only:focus{width:auto;height:auto;padding:var(--spacing-2) var(--spacing-4);clip:auto;white-space:normal;background:var(--color-primary);color:var(--color-text-on-primary);z-index:var(--z-modal);margin:0;position:static;overflow:visible}
@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes skeleton-pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.ui-spinner{width:var(--ui-spinner-size,32px);height:var(--ui-spinner-size,32px);border:var(--ui-spinner-border-width,3px) solid var(--ui-spinner-track-color,var(--color-border));border-top-color:var(--ui-spinner-accent-color,var(--color-primary));box-sizing:border-box;animation:spin var(--ui-spinner-duration,.8s) linear infinite;border-radius:50%}@media (prefers-reduced-motion:reduce){[class*=spinner],[class*=skeleton-pulse],[class*=bottom-sheet],[class*=side-panel],[class*=mobile-list-panel]{transition:none!important;animation:none!important}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{transition:none!important}}
.AppErrorBoundary-module__tnJ1CG__app-error-boundary{min-height:100dvh;padding:var(--spacing-6);background:radial-gradient(circle,#fff 0%,#f9fafb 100%);justify-content:center;align-items:center;display:flex}.AppErrorBoundary-module__tnJ1CG__app-error-boundary__card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-card);padding:var(--spacing-6);text-align:center}.AppErrorBoundary-module__tnJ1CG__app-error-boundary__title{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-3)}.AppErrorBoundary-module__tnJ1CG__app-error-boundary__text{color:var(--color-text-muted);margin-bottom:var(--spacing-5)}.AppErrorBoundary-module__tnJ1CG__app-error-boundary__actions{gap:var(--spacing-3);flex-wrap:wrap;justify-content:center;display:flex}.AppErrorBoundary-module__tnJ1CG__app-error-boundary__button{border-radius:var(--radius-md);padding:var(--spacing-2) var(--spacing-4);cursor:pointer;font-size:var(--font-size-xs);transition:var(--transition-base);border:1px solid #0000}.AppErrorBoundary-module__tnJ1CG__app-error-boundary__button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.AppErrorBoundary-module__tnJ1CG__app-error-boundary__button--primary{background:var(--color-primary);color:var(--color-text-on-primary);border:none}.AppErrorBoundary-module__tnJ1CG__app-error-boundary__button--secondary{border-color:var(--color-border);background:var(--color-bg-card);color:var(--color-text-main)}
.AnalyticsConsentBanner-module__-DTbZG__consent{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:calc(var(--z-dropdown) - 1);border:1px solid var(--ink-200);border-radius:var(--corner-md);background:var(--surface-card);max-width:520px;box-shadow:var(--elevation-md);font-family:var(--font-sans);gap:12px;padding:14px;display:grid;position:fixed;left:12px}.AnalyticsConsentBanner-module__-DTbZG__consent__text{gap:6px;display:grid}.AnalyticsConsentBanner-module__-DTbZG__consent__title{color:var(--ink-900);font-size:var(--font-size-lg);margin:0;font-weight:800;line-height:1.25}.AnalyticsConsentBanner-module__-DTbZG__consent__description{color:var(--ink-600);font-size:var(--font-size-sm);margin:0;line-height:1.45}.AnalyticsConsentBanner-module__-DTbZG__consent__description strong{color:var(--ink-800);font-weight:800}.AnalyticsConsentBanner-module__-DTbZG__consent__link{color:var(--accent);text-decoration:none}.AnalyticsConsentBanner-module__-DTbZG__consent__link:hover{text-decoration:underline}.AnalyticsConsentBanner-module__-DTbZG__consent__link:focus-visible{border-radius:var(--corner-xs);outline:2px solid var(--accent);outline-offset:2px}.AnalyticsConsentBanner-module__-DTbZG__consent__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.AnalyticsConsentBanner-module__-DTbZG__consent__button{border:1px solid var(--ink-200);border-radius:var(--corner-sm);width:100%;min-width:0;min-height:42px;font:inherit;font-size:var(--font-size-sm);white-space:normal;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:8px 12px;font-weight:800;line-height:1.15;transition:background-color .16s,border-color .16s,color .16s,transform .12s}.AnalyticsConsentBanner-module__-DTbZG__consent__button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.AnalyticsConsentBanner-module__-DTbZG__consent__button:active{transform:scale(.98)}.AnalyticsConsentBanner-module__-DTbZG__consent__button--primary{border-color:var(--accent);background:var(--accent);color:var(--ink-0)}.AnalyticsConsentBanner-module__-DTbZG__consent__button--primary:hover{border-color:var(--accent-deep);background:var(--accent-deep)}.AnalyticsConsentBanner-module__-DTbZG__consent__button--secondary{background:var(--surface-card);color:var(--ink-700)}.AnalyticsConsentBanner-module__-DTbZG__consent__button--secondary:hover{border-color:var(--ink-300);background:var(--surface-soft);color:var(--ink-900)}@media (max-width:359px){.AnalyticsConsentBanner-module__-DTbZG__consent__actions{grid-template-columns:1fr}}@media (min-width:640px){.AnalyticsConsentBanner-module__-DTbZG__consent{gap:14px;padding:16px;bottom:20px;left:auto;right:20px}.AnalyticsConsentBanner-module__-DTbZG__consent__actions{justify-content:flex-end;display:flex}.AnalyticsConsentBanner-module__-DTbZG__consent__button{white-space:nowrap;width:auto;padding:0 14px}}@media (prefers-reduced-motion:no-preference){.AnalyticsConsentBanner-module__-DTbZG__consent{animation:.2s ease-out AnalyticsConsentBanner-module__-DTbZG__consent-enter}}@media (prefers-reduced-motion:reduce){.AnalyticsConsentBanner-module__-DTbZG__consent__button{transition:none}}@keyframes AnalyticsConsentBanner-module__-DTbZG__consent-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
