@font-face{font-family:'Manrope Variable';font-style:normal;font-display:swap;font-weight:200 800;src:url('fonts/manrope-latin-wght-normal.woff2') format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Manrope Variable';font-style:normal;font-display:swap;font-weight:200 800;src:url('fonts/manrope-latin-ext-wght-normal.woff2') format('woff2-variations');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Manrope Variable';font-style:normal;font-display:swap;font-weight:200 800;src:url('fonts/manrope-cyrillic-wght-normal.woff2') format('woff2-variations');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Manrope Variable';font-style:normal;font-display:swap;font-weight:200 800;src:url('fonts/manrope-cyrillic-ext-wght-normal.woff2') format('woff2-variations');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}*{margin:0;padding:0;box-sizing:border-box}[onclick],[role=button],button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:root{--bg-app:#f4f4f2;--bg-surface:#ffffff;--bg-surface-alt:#ececeb;--shimmer-highlight:#ffffff;--border-color:#e2e2e0;--border-color-strong:#ddd;--text-primary:#1a1a1a;--text-secondary:#555;--text-muted:#999;--accent:#e16e11;--accent-contrast:#ffffff;--accent-rgb:225,110,17;--form-control-h:40px;--icon-tint-filter:brightness(0) invert(32%);--icon-tint-filter-accent:invert(70%) sepia(100%) saturate(559%) hue-rotate(319deg) brightness(73%) contrast(169%);--icon-tint-filter-success:invert(64%) sepia(59%) saturate(429%) hue-rotate(93deg) brightness(90%) contrast(88%);--floating-bg:rgba(255,255,255,.92);--speed-capsule-bg:rgba(255,255,255,.45);--driving-sheet-bg:rgba(255,255,255,.55);--floating-border:#e2e2e0;--floating-shadow:rgba(0,0,0,.18);--map-tile-filter:none;--native-color-scheme:light;--nav-accent:#0090ab;--nav-route-color:#2f7dfb;--warn-bg:#fdf1da;--warn-border:#e16e11;--warn-text:#8a6212;--driving-tile-base:#232323;--driving-tile-text:#ffffff;--success:#2ecc71;--danger:#ff4b4b;--danger-strong:#7a1f1f;--heatmap-active:#e74c3c;--traffic-incident-color:#6c5ce7;--shadow-1:0 1px 3px var(--floating-shadow);--shadow-2:0 3px 10px var(--floating-shadow);--shadow-3:0 8px 24px var(--floating-shadow);--shadow-4:0 16px 48px rgba(0,0,0,.35);--shadow-accent:0 6px 18px rgba(var(--accent-rgb),.35);--shadow-danger:0 6px 18px rgba(255,75,75,.4);--accent-gradient:linear-gradient(135deg, var(--accent), #ff9034);--danger-gradient:linear-gradient(135deg, #ff4b4b, #d63333);--surface-gradient:linear-gradient(180deg, var(--bg-surface), var(--bg-surface-alt));--header-gradient:linear-gradient(180deg, var(--floating-bg), color-mix(in srgb, var(--floating-bg) 92%, var(--accent) 8%));--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:14px;--radius-2xl:16px;--radius-sheet:20px;--radius-pill:20px;--radius-full:999px;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-14:14px;--space-16:16px;--fs-7:7px;--fs-9:9px;--fs-9-5:9.5px;--fs-10:10px;--fs-10-5:10.5px;--fs-11:11px;--fs-11-5:11.5px;--fs-12:12px;--fs-12-5:12.5px;--fs-13:13px;--fs-13-5:13.5px;--fs-14:14px;--fs-15:15px;--fs-16:16px;--fs-17:17px;--fs-18:18px;--fs-20:20px;--fs-22:22px;--fs-32:32px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-heavy:800;--font-body:-apple-system,BlinkMacSystemFont,sans-serif;--font-display:'Manrope Variable',-apple-system,BlinkMacSystemFont,sans-serif;--ease-out:cubic-bezier(.16,1,.3,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--dur-fast:120ms;--dur-med:220ms;--dur-slow:320ms}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:NaNs!important;animation-iteration-count:1!important;transition-duration:NaNs!important;scroll-behavior:auto!important}}html[data-theme=dark]{--bg-app:#121212;--bg-surface:#1c1c1c;--bg-surface-alt:#2a2a2a;--shimmer-highlight:#3a3a3a;--border-color:#333331;--border-color-strong:#3a3a3a;--text-primary:#f0f0ee;--text-secondary:#b7b7b2;--text-muted:#8a8a86;--accent:#ff9034;--accent-contrast:#1a1a1a;--accent-rgb:255,144,52;--icon-tint-filter:brightness(0) invert(88%);--icon-tint-filter-accent:invert(42%) sepia(40%) saturate(837%) hue-rotate(331deg) brightness(145%) contrast(149%);--floating-bg:rgba(28,28,28,.92);--speed-capsule-bg:rgba(28,28,28,.42);--driving-sheet-bg:rgba(28,28,28,.55);--floating-border:rgba(255,255,255,.12);--floating-shadow:rgba(0,0,0,.55);--map-tile-filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.92);--native-color-scheme:dark;--nav-accent:#00d0ff;--nav-route-color:#5b9bff;--warn-bg:#2a2308;--warn-border:#e16e11;--warn-text:#f5c518;--driving-tile-base:#ececea;--driving-tile-text:#1a1a1a;--traffic-incident-color:#9b8cff;--shadow-1:0 1px 3px var(--floating-shadow);--shadow-2:0 3px 10px var(--floating-shadow);--shadow-3:0 8px 24px var(--floating-shadow);--shadow-4:0 16px 48px rgba(0,0,0,.7);--shadow-accent:0 6px 18px rgba(var(--accent-rgb),.3);--shadow-danger:0 6px 18px rgba(255,75,75,.35);--accent-gradient:linear-gradient(135deg, var(--accent), #ffb066);--danger-gradient:linear-gradient(135deg, #ff5c5c, #c92f2f);--surface-gradient:linear-gradient(180deg, var(--bg-surface), var(--bg-surface-alt));--header-gradient:linear-gradient(180deg, var(--floating-bg), color-mix(in srgb, var(--floating-bg) 90%, var(--accent) 10%))}.leaflet-tile-pane{filter:var(--map-tile-filter)}.leaflet-marker-pane,.leaflet-overlay-pane,.leaflet-popup-pane{transition:opacity .12s ease}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:visible!important;opacity:0!important;pointer-events:none!important}#map.map-zooming .leaflet-marker-pane,#map.map-zooming .leaflet-overlay-pane,#map.map-zooming .leaflet-popup-pane{opacity:0!important;pointer-events:none!important}html{touch-action:pan-x pan-y;overscroll-behavior:none}.rotate-device-overlay{display:none;position:fixed;inset:0;z-index:100000;background:#0b0b0c;color:#fff;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;gap:14px}.rotate-device-overlay .rd-icon{width:44px;height:44px;transform:rotate(90deg)}.rotate-device-overlay .rd-title{font-size:var(--fs-18);font-weight:600}.rotate-device-overlay .rd-text{font-size:var(--fs-14);opacity:.75;max-width:280px}@media (orientation:landscape) and (hover:none) and (pointer:coarse){.rotate-device-overlay{display:flex}}body{font-family:var(--font-body);background:var(--bg-app);color:var(--text-primary);height:100svh;display:flex;flex-direction:column;touch-action:pan-x pan-y;overscroll-behavior:none}header{padding:var(--space-10) var(--space-12);background:var(--header-gradient);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--floating-border);border-radius:0 0 var(--radius-sheet) var(--radius-sheet);box-shadow:var(--shadow-3);position:fixed;top:0;left:0;right:0;z-index:100;-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(white,black)}#ptrIndicator{position:fixed;left:50%;top:var(--header-h,64px);transform:translate(-50%,-50%) scale(.5);width:38px;height:38px;border-radius:50%;background:var(--floating-bg);border:1px solid var(--floating-border);box-shadow:0 4px 14px var(--floating-shadow);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;z-index:99;transition:opacity .2s ease,transform .2s ease}#ptrIndicator.ptr-dragging{transition:none}#ptrIndicator .ptr-arrow-icon{width:17px;height:17px;filter:var(--icon-tint-filter);transition:transform .18s ease}#ptrIndicator.ptr-ready .ptr-arrow-icon{transform:rotate(180deg)}#ptrIndicator.ptr-loading .ptr-arrow-icon{display:none}#ptrIndicator .ptr-spinner{display:none;width:16px;height:16px;border-radius:50%;border:2px solid var(--floating-border);border-top-color:var(--accent)}#ptrIndicator.ptr-loading .ptr-spinner{display:block;animation:ptr-spin .7s linear infinite}@keyframes ptr-spin{to{transform:rotate(360deg)}}.header-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-8)}header h1{font-size:var(--fs-18)}header p{font-size:var(--fs-11);opacity:.7;margin-top:var(--space-2)}.left-controls{display:flex;gap:var(--space-8);align-items:center;justify-self:start}.center-controls{display:flex;gap:var(--space-8);align-items:center;justify-self:center}.right-controls{display:flex;gap:var(--space-8);align-items:center;flex-shrink:0;justify-self:end}.lang-dropdown{position:relative}.lang-dd-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;flex-direction:column;gap:var(--space-2);background:var(--bg-surface);border:1px solid var(--border-color-strong);border-radius:var(--radius-md);padding:var(--space-4);min-width:110px;box-shadow:0 6px 20px var(--floating-shadow);z-index:10000}.lang-dd-menu.open{display:flex;animation:menuDropIn var(--dur-fast) var(--ease-out);transform-origin:top right}.u-flex-1{flex:1}.u-full-width{width:100%}.lang-dd-item{width:100%;justify-content:flex-start;text-align:left}.btn-icon,.driving-back-btn,.driving-nav-close-btn,.driving-search-btn,.help-icon-btn,.icon-only-btn,.navigate-close-btn,.navigate-search-btn,.pin-map-btn,.poi-contact-icon-btn,.report-fab-btn,.section-awaiting-cancel,.travel-mode-switch-btn,.walk-quick-fab,.wiz-back-btn,.wiz-close-btn{display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn-icon-round,.driving-back-btn,.driving-nav-close-btn,.driving-search-btn,.help-icon-btn,.pin-map-btn,.poi-contact-icon-btn,.report-fab-btn,.section-awaiting-cancel,.travel-mode-switch-btn,.walk-quick-fab,.wiz-back-btn,.wiz-close-btn{border-radius:50%}.lang-select-row{display:flex;align-items:center;gap:8px}.lang-select-row .lang-select{flex:1;min-width:0}.lang-select-row .lang-select option:disabled{color:var(--text-muted)}.lang-auto-btn{flex:0 0 auto;display:flex;align-items:center;gap:5px;background:var(--bg-surface-alt);color:var(--text-secondary);border:none;border-radius:var(--radius-md);padding:0 12px;height:var(--form-control-h);font-size:var(--fs-11);font-weight:var(--fw-semibold);cursor:pointer;transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;white-space:nowrap}.theme-segment-btn.lang-auto-btn.active{background:var(--accent);color:var(--accent-contrast)}.lang-auto-btn .icon-img-inline{filter:var(--icon-tint-filter);opacity:.85}.theme-segment-btn.lang-auto-btn.active .icon-img-inline{filter:brightness(0) invert(1);opacity:1}html[data-theme=dark] .theme-segment-btn.lang-auto-btn.active .icon-img-inline{filter:brightness(0)}.help-icon-btn{background:var(--bg-surface-alt);border:none;font-size:var(--fs-14);width:36px;height:36px;padding:0;box-shadow:var(--shadow-1);transition:transform .12s ease,background .15s ease,box-shadow .15s ease}.help-icon-btn:active{background:var(--border-color-strong);transform:scale(.9);box-shadow:0 1px 2px var(--floating-shadow)}.help-icon-btn.is-disabled,.help-icon-btn:disabled{opacity:.35;cursor:default;pointer-events:none;box-shadow:none}.notification-btn{position:relative;overflow:visible}.notification-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 3px;border-radius:var(--radius-md);background:var(--danger);color:#fff;font-size:var(--fs-9-5);font-weight:var(--fw-bold);line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--bg-surface-alt)}.notification-compose-target{display:flex;gap:14px;margin-top:var(--space-6)}.notification-target-option{display:flex;align-items:center;gap:5px;font-size:var(--fs-12-5);color:var(--text-primary);cursor:pointer}.notification-item{display:flex;flex-direction:column;gap:3px;padding:var(--space-10) var(--space-12);border-radius:var(--radius-md);background:var(--bg-surface-alt);border:1px solid var(--border-color-strong);margin-bottom:var(--space-8)}.notification-item.unread{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-surface-alt))}.notification-item-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}.notification-item-sender{font-size:var(--fs-11-5);font-weight:var(--fw-semibold);color:var(--text-secondary)}.notification-item-admin-tag{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:var(--fs-10);font-weight:var(--fw-semibold);color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-radius:var(--radius-sm);padding:2px 6px 0;text-transform:uppercase;letter-spacing:.02em}.notification-item-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}.notification-item-message{font-size:var(--fs-13);color:var(--text-primary);white-space:pre-wrap}.notification-item-meta{font-size:var(--fs-10-5);color:var(--text-muted)}.notification-digest-group{border-left:2px solid var(--accent);padding-left:var(--space-8);margin-bottom:var(--space-8)}.notification-digest-group .notification-item{margin-bottom:var(--space-6)}#map,.leaflet-container{background:var(--bg-app)}#map{flex:1;height:0;min-height:0;position:relative;overflow:hidden;z-index:1}.app-panel{display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;opacity:1;transition:height .28s ease,opacity .22s ease}.filter-label-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-10) var(--space-14) var(--space-4) var(--space-14);background:var(--bg-surface);font-size:var(--fs-11);font-weight:700}.filter-title{color:var(--text-muted);letter-spacing:.3px;text-transform:uppercase;font-size:var(--fs-10)}.filter-select-row{background:var(--bg-surface);padding:0 12px 14px 12px;border-bottom:1px solid var(--border-color);display:flex;gap:8px;align-items:center}.select-wrap{display:flex;flex-direction:column;gap:4px;flex:1}.panel{background:var(--bg-surface);padding:var(--space-12) var(--space-12);padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:var(--space-8);flex-shrink:0}.row{display:flex;gap:var(--space-8)}select{flex:1;height:var(--form-control-h);padding:11px var(--space-10);border:none;border-radius:var(--radius-md);background:var(--bg-surface-alt);color:var(--text-primary);font-size:var(--fs-13);-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;color-scheme:var(--native-color-scheme)}select option{background:var(--bg-surface);color:var(--text-primary)}input[type=password],input[type=text]{width:100%;height:var(--form-control-h);padding:11px var(--space-10);border:none;border-radius:var(--radius-md);background:var(--bg-surface-alt);color:var(--text-primary);font-size:var(--fs-13)}button{padding:var(--space-12);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:700;font-size:var(--fs-13);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.report-btn{background:var(--danger-gradient);color:#fff;width:100%;transition:opacity .2s,box-shadow .2s;box-shadow:var(--shadow-danger)}.report-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.export-btn{background:var(--accent-gradient);color:var(--accent-contrast);width:100%;box-shadow:var(--shadow-accent)}.legend-row{position:fixed;left:0;right:0;bottom:var(--legend-bottom-gap,0);z-index:410;background:var(--floating-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--floating-border);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;box-shadow:0 -6px 24px var(--floating-shadow);-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(white,black);display:flex;flex-direction:column;padding:0 10px calc(8px + env(safe-area-inset-bottom,0px)) 10px}#mapLegend{display:flex;justify-content:space-around;align-items:center;width:100%;padding-top:var(--space-8)}.legend-item{display:flex;align-items:center;justify-content:center;gap:var(--space-6);flex:1 1 0;padding:var(--space-8) var(--space-6);border-radius:var(--radius-xl);min-width:0;background:0 0;border:none;font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:opacity .15s ease}.legend-item:active{background:var(--bg-surface-alt)}.legend-item.status-off{opacity:.4}.legend-item.status-off .legend-badge{filter:grayscale(70%)}.legend-badge{width:20px;height:20px;border-radius:50%;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,.25)}.legend-badge-icon{width:100%;height:100%;background-color:#fff;-webkit-mask-size:45%;mask-size:45%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.leg{color:var(--text-primary);font-size:var(--fs-12);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-count{color:var(--text-primary);font-size:var(--fs-14);font-weight:var(--fw-heavy);min-width:14px;text-align:center}.pin-map-btn.heatmap-btn{position:relative}.pin-map-btn.heatmap-btn.active{background:var(--heatmap-active);border-color:var(--heatmap-active)}.pin-map-btn.heatmap-btn.active .icon-img{filter:none}.map-btn-locked{opacity:.35;pointer-events:none;filter:grayscale(60%)}.cat-filter-row{display:flex;align-items:center;gap:var(--space-10);font-size:var(--fs-14);color:var(--text-primary);cursor:pointer;padding:11px var(--space-2)}.cat-filter-row:not(:last-child){border-bottom:1px solid var(--border-color)}.cat-filter-row input{margin:0;flex-shrink:0;width:18px;height:18px}.cat-filter-dot{width:11px;height:11px;border-radius:50%;display:inline-block;flex-shrink:0}.leaflet-popup-content-wrapper{border-radius:var(--radius-lg)!important;padding:0!important;overflow:hidden;min-width:170px;background:var(--floating-bg)!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.leaflet-popup-content{margin:0!important;width:auto!important}.leaflet-popup-tip{background:var(--floating-bg)!important;box-shadow:none!important}.leaflet-popup-close-button{display:none!important}#mobilePopupOverlay{display:none;position:fixed;inset:0;width:100vw;height:100vh;align-items:center;justify-content:center;background:rgba(0,0,0,.75);z-index:9999;padding:20px;box-sizing:border-box}#mobilePopupOverlay.showing{display:flex}#mobilePopupOverlay .leaflet-popup{position:static!important;transform:none!important;margin:0 auto!important;width:100%;max-width:340px}#mobilePopupOverlay .leaflet-popup-tip-container{display:none!important}#mobilePopupOverlay .popup-rotate-wrap{transform:none!important}#mobilePopupOverlay .leaflet-popup-content-wrapper{width:100%;max-height:80vh;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 16px 48px rgba(0,0,0,.8)}.popup-rotate-wrap{transform-origin:50% 100%;transition:transform .25s linear}.pin-upright{transform:rotate(var(--pin-counter-rotate,0deg));transform-origin:50% 50%}.dropped-pin-icon.pin-upright{transform-origin:50% 94%}.popup-inner{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--fs-13);line-height:1.5;color:var(--text-primary)}.popup-title{font-size:var(--fs-14);font-weight:var(--fw-bold);margin-bottom:var(--space-8);color:#111}.status-pill{display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-9);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.3px;line-height:1;padding:var(--space-6) 9px var(--space-4);border-radius:var(--radius-pill);color:#fff;flex-shrink:0;white-space:nowrap}.bottomright-stack{display:flex;flex-direction:column;align-items:center;gap:var(--space-10);position:fixed;right:12px;z-index:420;bottom:calc(var(--legend-bottom-gap,0px) + var(--legend-row-h,72px) + 16px + env(safe-area-inset-bottom,0px))}body.driving-active .bottomright-stack{display:none!important}.pin-map-btn{background:var(--floating-bg);border:1px solid var(--floating-border);width:44px;height:44px;font-size:var(--fs-22);box-shadow:0 2px 8px var(--floating-shadow);transition:background .15s ease,transform .12s ease,box-shadow .15s ease;user-select:none}.pin-map-btn:active{background:var(--bg-surface-alt);transform:scale(.9);box-shadow:0 1px 4px var(--floating-shadow)}.pin-map-btn .icon-img{filter:var(--icon-tint-filter)}.pin-map-btn.active{background:#f5a623;border-color:#f5a623}.pin-map-btn.recording-active{background:var(--danger);border-color:var(--danger);animation:pulseRec 1.2s infinite}.pin-map-btn.active .icon-img,.pin-map-btn.recording-active .icon-img{filter:none}.report-fab-btn{width:60px;height:60px;background:var(--danger-gradient);color:#fff;box-shadow:var(--shadow-danger),0 2px 6px rgba(0,0,0,.25);border:none;transition:transform .12s ease,box-shadow .12s ease;position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--legend-bottom-gap,0px) + var(--legend-row-h,72px) + 16px + env(safe-area-inset-bottom,0px));z-index:420}.report-fab-btn:active{transform:translateX(-50%) scale(.9);box-shadow:0 2px 8px rgba(0,0,0,.3)}.report-fab-btn img{width:32px;height:32px;filter:brightness(0) invert(1)}.report-fab-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}body.driving-active .report-fab-btn{display:none!important}#reportFormPanel{display:none!important}.wiz-overlay{position:fixed;inset:0;z-index:9999;background:var(--bg-app);display:flex;flex-direction:column}.wiz-header{display:flex;align-items:center;gap:var(--space-10);padding:var(--space-14) var(--space-16);flex:0 0 auto}.wiz-back-btn,.wiz-close-btn{width:34px;height:34px;background:var(--bg-surface-alt);border:none;color:var(--text-primary);font-size:var(--fs-18)}.wiz-progress{flex:1;display:flex;gap:var(--space-4)}.wiz-progress span{height:4px;flex:1;border-radius:2px;background:var(--border-color-strong)}.wiz-progress span.done{background:var(--danger)}.wiz-body{flex:1;overflow-y:auto;padding:var(--space-4) 20px 20px}.wiz-step-label{color:var(--text-secondary);font-size:var(--fs-13);margin:0 0 4px}.wiz-step-title{font-size:var(--fs-20);font-weight:var(--fw-semibold);margin:0 0 18px;color:var(--text-primary)}.wiz-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-10)}.wiz-tile{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;aspect-ratio:1/1;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.wiz-tile:active{filter:brightness(.92)}.wiz-tile img{width:38px;height:38px}.wiz-tile span{font-size:var(--fs-10);font-weight:var(--fw-bold);color:var(--text-primary);line-height:1.15;text-align:center;padding:0 4px;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.wiz-tile-icon{width:38px;height:38px;flex:0 0 auto;background-color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.wiz-tile-colored span{color:#fff}.wiz-list{display:flex;flex-direction:column;gap:var(--space-10)}.wiz-bar{border:1px solid var(--border-color);background:var(--bg-surface);border-radius:var(--radius-xl);padding:var(--space-16);font-size:var(--fs-15);font-weight:var(--fw-semibold);cursor:pointer;text-align:left;display:flex;align-items:center;gap:var(--space-12);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.wiz-bar:active{background:var(--bg-surface-alt)}.wiz-bar img{width:40px;height:40px;flex:0 0 auto}.wiz-bar-icon{width:40px;height:40px;flex:0 0 auto;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.wiz-bar .dot{width:14px;height:14px;border-radius:50%;flex:0 0 auto}.wiz-pending-pin-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-140%);background:#111;color:#fff;font-size:var(--fs-11);padding:3px var(--space-8);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none}.wiz-details-row{margin:0 0 16px}.wiz-details-row label{display:block;font-size:var(--fs-13);color:var(--text-secondary);margin:0 0 6px}.wiz-photo-row{display:flex;gap:var(--space-10);margin:0 0 16px}.wiz-photo-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-6);border:1px dashed var(--border-color);border-radius:var(--radius-xl);padding:var(--space-14);background:var(--bg-surface);cursor:pointer}.wiz-photo-btn img{width:22px;height:22px}.wiz-photo-btn span{font-size:var(--fs-12);color:var(--text-secondary)}.wiz-submit-btn{width:100%;background:var(--danger);color:#fff;border-radius:var(--radius-xl);padding:var(--space-16);font-size:var(--fs-16);font-weight:var(--fw-semibold)}.wiz-submit-btn:disabled{opacity:.5}.theme-segment{display:flex;background:var(--bg-surface-alt);border-radius:var(--radius-md);padding:3px;gap:3px}.theme-segment-btn{flex:1;border:none;background:0 0;color:var(--text-secondary);font-size:var(--fs-12-5);font-weight:var(--fw-bold);padding:var(--space-8) var(--space-6);border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s,color .15s}.theme-segment-btn.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 1px 4px var(--floating-shadow)}.icon-img{width:22px;height:22px;object-fit:contain;vertical-align:middle}.icon-img.icon-img-inline{width:16px;height:16px;margin:0 1px -3px}.icon-img.icon-img-modal{width:28px;height:28px}.fullscreen-modal-body .icon-img,.generic-modal .icon-img,.help-icon-btn .icon-img,.icon-tint-dark{filter:var(--icon-tint-filter)}.settings-btn{background:var(--bg-surface-alt);color:var(--text-primary);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;gap:var(--space-6);font-size:var(--fs-13);font-weight:var(--fw-semibold);transition:background .15s ease,transform .1s ease}.settings-btn:active{background:var(--border-color-strong);transform:scale(.98)}.settings-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.settings-btn-active-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--accent);margin-left:auto}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-10);background:var(--bg-surface-alt);border-radius:var(--radius-xl);padding:var(--space-12) var(--space-14);margin-top:var(--space-8);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.settings-select-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-10);background:var(--bg-surface-alt);border-radius:var(--radius-xl);padding:var(--space-12) var(--space-14);margin-top:var(--space-8);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--text-primary)}.settings-select-row span{flex:1;min-width:0}.settings-select-row select{flex:0 0 auto;width:auto;max-width:52%}.toggle-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}.toggle-switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.toggle-switch-track{position:absolute;inset:0;background:var(--border-color-strong);border-radius:var(--radius-full);transition:background .15s ease}.toggle-switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .15s ease}.toggle-switch input:checked+.toggle-switch-track{background:var(--accent)}.toggle-switch input:checked+.toggle-switch-track .toggle-switch-thumb{transform:translateX(18px)}.navigate-panel{display:none;position:fixed;top:calc(var(--header-h,64px) + 12px);left:12px;right:12px;max-width:420px;z-index:2600;flex-direction:column;width:auto;background:var(--bg-surface);border:1px solid var(--border-color-strong);border-radius:var(--radius-xl);box-shadow:0 3px 12px var(--floating-shadow);padding:var(--space-10);gap:var(--space-8)}body.nav-panel-open .driving-nav-card{display:none!important}.navigate-row{display:flex;gap:var(--space-6);align-items:center}.navigate-row input{flex:1;padding:var(--space-8) 9px;border:none;border-radius:var(--radius-sm);background:var(--bg-surface-alt);color:var(--text-primary);font-size:var(--fs-12);min-width:0}.navigate-close-btn,.navigate-search-btn{flex-shrink:0;width:30px;height:30px;border-radius:var(--radius-sm);background:var(--bg-surface-alt);color:var(--text-secondary);font-size:var(--fs-13)}.navigate-search-btn .icon-img{filter:var(--icon-tint-filter)}#navigatePinBtn.active .icon-img{filter:none}#navigatePinBtn.active{background:#f5a623;color:#111}.navigate-pin-hint{font-size:var(--fs-11);color:#f5a623;text-align:center;padding:2px 4px 0 4px}.navigate-results{display:flex;flex-direction:column;gap:var(--space-2);max-height:160px;overflow-y:auto}.navigate-result-item{padding:7px var(--space-8);border-radius:var(--radius-sm);background:var(--bg-surface-alt);font-size:var(--fs-11-5);line-height:1.35;color:var(--text-primary);cursor:pointer}.navigate-result-item:active{background:var(--border-color-strong)}.navigate-result-empty{padding:var(--space-6) var(--space-4);font-size:var(--fs-11-5);color:var(--text-muted);text-align:center}@keyframes pulseRec{0%,100%{box-shadow:0 2px 8px rgba(0,0,0,.55),0 0 0 0 rgba(255,75,75,.6)}50%{box-shadow:0 2px 8px rgba(0,0,0,.55),0 0 0 8px rgba(255,75,75,0)}}.leaflet-rotate-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;transition:transform .25s linear;transform-origin:center center}.leaflet-rotate-wrapper.no-css-rotate-transition{transition:none}.map-compass{width:40px;height:40px;border-radius:50%;background:var(--floating-bg);border:1px solid var(--floating-border);box-shadow:0 3px 12px var(--floating-shadow);display:none;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:fixed;top:calc(var(--header-h,64px) + 12px);right:12px;z-index:2400}.map-compass.heading-up-disabled{opacity:.55}.map-compass .compass-face{position:relative;width:30px;height:30px}.map-compass .compass-needle{position:absolute;inset:0;transition:transform .25s linear}.map-compass .compass-needle svg{width:100%;height:100%;display:block}.user-dot-marker{position:relative;width:34px;height:34px;display:flex;align-items:center;justify-content:center}.user-dot-pulse{position:absolute;width:34px;height:34px;border-radius:50%;background:rgba(var(--accent-rgb),.28);animation:navPulse 2s ease-out infinite}.user-dot{position:relative;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2.5px solid #fff;box-shadow:0 0 0 3px rgba(var(--accent-rgb),.4),0 2px 8px rgba(0,0,0,.55)}.user-nav-marker{position:relative;width:46px;height:46px;display:flex;align-items:center;justify-content:center}.user-nav-pulse{position:absolute;width:46px;height:46px;border-radius:50%;background:rgba(var(--accent-rgb),.28);animation:navPulse 2s ease-out infinite}@keyframes navPulse{0%{transform:scale(.5);opacity:.8}100%{transform:scale(1.15);opacity:0}}.user-nav-halo{position:absolute;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 2px 8px rgba(0,0,0,.35),0 0 0 3px #ff8a1e}.user-nav-arrow{position:relative;width:32px;height:32px;transition:transform .25s linear}#drivingTopFade{position:fixed;top:0;left:0;right:0;height:90px;background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,0));z-index:2400;pointer-events:none;display:none}#mapLoadingOverlay{position:fixed;inset:0;z-index:10001;display:flex;flex-direction:column;align-items:center;background:var(--bg-surface);opacity:1;transition:opacity .25s ease}#mapLoadingOverlay.map-loading-hidden{opacity:0;pointer-events:none}.map-loading-spinner-wrap{position:relative;flex:1;width:100%;display:flex;align-items:center;justify-content:center}.map-loading-logo{position:relative;z-index:1;width:86px;height:86px;object-fit:cover;border-radius:50%}.map-loading-halo{position:absolute;top:50%;left:50%;width:86px;height:86px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%) scale(.7);opacity:.45;animation:map-loading-halo-pulse 1.8s ease-out infinite;pointer-events:none}.map-loading-halo-2{animation-delay:.9s}@keyframes map-loading-halo-pulse{0%{transform:translate(-50%,-50%) scale(.7);opacity:.45}70%{transform:translate(-50%,-50%) scale(1.55);opacity:0}100%{opacity:0}}.map-loading-slogan-wrap{flex-shrink:0;width:100%;max-width:340px;padding:0 24px calc(36px + env(safe-area-inset-bottom,0px));text-align:center}.map-loading-slogan{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:.2px;min-height:1.3em}.map-loading-quote{margin-top:var(--space-8);font-size:var(--fs-13);font-style:italic;color:var(--text-muted);line-height:1.35;min-height:1.35em}#gpsIssuePill{position:fixed;top:calc(70px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%) translateY(-8px);z-index:9999;display:flex;align-items:center;gap:8px;background:var(--floating-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--floating-border);color:var(--text-primary);padding:var(--space-8) var(--space-14);border-radius:var(--radius-full);font-size:var(--fs-12);font-weight:var(--fw-semibold);box-shadow:0 6px 20px var(--floating-shadow);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;max-width:80%;text-align:center}#gpsIssuePill.show{opacity:1;transform:translateX(-50%) translateY(0)}.gps-issue-dot{width:8px;height:8px;border-radius:50%;background:#ffb020;flex:0 0 auto;animation:gpsIssuePulse 1.6s ease-in-out infinite}@keyframes gpsIssuePulse{0%,100%{box-shadow:0 0 0 0 rgba(255,176,32,.55)}50%{box-shadow:0 0 0 6px rgba(255,176,32,0)}}#pinsLoadingPill{position:fixed;top:calc(70px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%) translateY(-8px);z-index:9998;display:flex;align-items:center;gap:8px;background:var(--floating-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--floating-border);color:var(--text-primary);padding:var(--space-8) var(--space-14);border-radius:var(--radius-full);font-size:var(--fs-12);font-weight:var(--fw-semibold);box-shadow:0 6px 20px var(--floating-shadow);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;max-width:80%;text-align:center}#pinsLoadingPill.show{opacity:1;transform:translateX(-50%) translateY(0)}.pins-loading-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:0 0 auto;animation:pinsLoadingPulse 1s ease-in-out infinite}@keyframes pinsLoadingPulse{0%,100%{opacity:.35}50%{opacity:1}}#toastContainer{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:10002;display:flex;flex-direction:column;gap:var(--space-8);align-items:center;pointer-events:none;width:90%;max-width:360px}.toast{display:flex;align-items:center;gap:var(--space-10);background:var(--floating-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--floating-border);color:var(--text-primary);padding:var(--space-12) var(--space-16);border-radius:var(--radius-2xl);-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(white,black);font-size:var(--fs-13);font-weight:var(--fw-semibold);line-height:1.35;box-shadow:0 10px 30px var(--floating-shadow);opacity:0;transform:translateY(-10px) scale(.96);transition:opacity .25s cubic-bezier(.2,.8,.2,1),transform .25s cubic-bezier(.2,.8,.2,1);text-align:left}.toast-icon{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--fs-12);font-weight:var(--fw-heavy);color:#fff;background:var(--text-muted)}.toast-msg{flex:1 1 auto}.toast.toast-show{opacity:1;transform:translateY(0) scale(1)}.toast.toast-error .toast-icon{background:var(--danger)}.toast.toast-success .toast-icon{background:var(--success)}.driving-left-stack{position:fixed;top:calc(var(--header-h,64px) + 12px);left:12px;z-index:2600;display:none;flex-direction:column;align-items:flex-start;gap:var(--space-10);transition:transform .3s ease}body.driving-active .driving-left-stack{display:flex}body.tbt-active .driving-left-stack{transform:translateY(76px)}body.nav-panel-open #mapCompass,body.nav-panel-open .driving-left-stack,body.nav-panel-open .driving-nav-card{display:none!important}.driving-speed-widget{display:none;flex-direction:column;align-items:center;gap:0}body.driving-active .driving-speed-widget{display:flex}.driving-speed-capsule{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;background:var(--speed-capsule-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:3px solid #5ec98a;border-radius:var(--radius-full);padding:5px 5px var(--space-6);min-width:66px;min-height:104px;box-shadow:0 2px 8px rgba(0,0,0,.3);transition:border-color .25s,background-color .2s}.driving-speed-capsule.gps-lost{border-color:var(--danger)}.driving-speed-limit{width:54px;height:54px;border-radius:50%;background:#fff;border:4px solid #d61f1f;display:flex;align-items:center;justify-content:center;font-size:var(--fs-20);font-weight:var(--fw-heavy);color:#111;transition:opacity .2s;flex-shrink:0;line-height:1}.driving-speed-limit.no-data{opacity:.3}.driving-speed-limit.inferred{border-style:dashed;opacity:.75}.driving-speed-limit.no-limit{border-color:#555}.driving-speed-value{font-size:var(--fs-20);font-weight:var(--fw-heavy);color:var(--text-primary);line-height:1;margin-top:1px}.driving-speed-unit{font-size:var(--fs-9);font-weight:var(--fw-bold);color:var(--text-secondary);letter-spacing:.3px;margin-top:-2px}body.bike-mode-active .driving-speed-limit{display:none}body.bike-mode-active .driving-speed-capsule{min-height:0;padding:var(--space-10) var(--space-6);gap:2px}body.bike-mode-active .driving-speed-value{margin-top:0}body.walk-mode-active .driving-speed-widget{display:none!important}body.bike-mode-active .driving-next-speed-limit,body.walk-mode-active .driving-next-speed-limit{display:none!important}.driving-next-speed-limit{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:4px}.driving-next-speed-limit-sign{width:34px;height:34px;border-radius:50%;background:#fff;border:3px solid #d61f1f;display:flex;align-items:center;justify-content:center;font-size:var(--fs-13);font-weight:var(--fw-heavy);color:#111;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.3)}.driving-next-speed-limit-dist{font-size:var(--fs-9);font-weight:var(--fw-bold);color:var(--text-secondary);background:var(--speed-capsule-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-full);padding:1px 7px;white-space:nowrap}@keyframes overspeedFlash{0%{background:var(--speed-capsule-bg)}50%{background:#d61f1f}100%{background:var(--speed-capsule-bg)}}.driving-speed-capsule.overspeed-flash{animation:overspeedFlash .6s ease-in-out 3}.turn-by-turn-bar{display:flex;flex-direction:row;align-items:center;gap:var(--space-10);background:var(--accent);border-radius:var(--radius-xl);max-height:0;padding:0 12px;margin-bottom:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .25s ease,padding .3s ease,margin .3s ease}.turn-by-turn-bar.tbt-visible{max-height:64px;padding:var(--space-8) var(--space-12);margin-bottom:var(--space-8);opacity:1}.turn-by-turn-icon{width:38px;height:38px;flex-shrink:0;object-fit:contain;filter:brightness(0) invert(1)}.turn-by-turn-info{display:flex;flex-direction:column;gap:1px;min-width:0}.turn-by-turn-dist{font-size:var(--fs-16);font-weight:var(--fw-heavy);color:#fff;line-height:1.1}.turn-by-turn-text{font-size:var(--fs-12-5);color:#fff;opacity:.92;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.turn-by-turn-card .turn-by-turn-icon{width:46px;height:46px}.turn-by-turn-card .turn-by-turn-dist{font-size:var(--fs-20)}.turn-by-turn-card .turn-by-turn-text{font-size:var(--fs-14);white-space:normal;overflow:visible;text-overflow:clip}.turn-by-turn-card{position:fixed;top:0;left:0;right:0;width:100%;z-index:90;flex-direction:row;align-items:center;gap:var(--space-12);background:var(--accent);border-radius:0 0 var(--radius-2xl) var(--radius-2xl);padding:calc(var(--header-h,64px) + env(safe-area-inset-top,0px) + var(--space-10)) var(--space-16) var(--space-14);box-shadow:0 6px 18px rgba(0,0,0,.35);opacity:0;transform:translateY(-14px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}.turn-by-turn-card.tbt-visible{opacity:1;transform:translateY(0)}.driving-float-action-row{display:none;position:fixed;right:12px;z-index:2600;bottom:calc(var(--driving-sheet-height,160px) + 12px + env(safe-area-inset-bottom,0px));align-items:flex-end;justify-content:flex-end}.driving-back-btn-wrap{display:none;position:fixed;left:12px;z-index:2600;bottom:calc(var(--driving-sheet-height,160px) + 12px + env(safe-area-inset-bottom,0px))}body.driving-active .driving-back-btn-wrap{display:flex}.speed-sign-marker{width:34px;height:34px;border-radius:50%;background:#fff;border:3px solid #e02020;box-shadow:0 2px 8px rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-weight:var(--fw-heavy);font-size:var(--fs-12);line-height:1;color:#111}.speed-sign-marker.sign-style-eu{border-radius:50%;border-color:#e02020}.speed-sign-marker.sign-style-us{width:34px;height:26px;border-radius:3px;border:2px solid #111;background:#fff}.speed-sign-marker.inferred{border-style:dashed;opacity:.8}.speed-sign-marker.no-limit{border-color:#555}.traffic-incident-marker{width:30px;height:30px;border-radius:50%;background:#fff;border:3px solid var(--traffic-incident-color);box-shadow:0 2px 8px rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center}.traffic-incident-marker img{width:18px;height:18px;object-fit:contain}body.driving-active .driving-float-action-row{display:flex}.driving-action-row-right{display:flex;flex-direction:column;align-items:center;gap:var(--space-8)}.driving-back-btn,.driving-search-btn,.travel-mode-switch-btn{background:var(--bg-surface-alt);border:1px solid var(--accent);color:var(--accent);width:40px;height:40px;font-size:var(--fs-16);box-shadow:0 3px 10px var(--floating-shadow);transition:background .15s}.travel-mode-switch-btn{position:relative}.driving-back-btn img{transform:rotate(-90deg)}.driving-search-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg-surface)}.driving-search-btn:active{background:var(--border-color-strong)}.driving-back-btn{background:var(--bg-surface-alt);border-color:var(--border-color-strong);color:var(--text-primary)}.driving-back-btn:active{background:var(--border-color-strong)}.driving-back-btn .icon-img,.driving-search-btn .icon-img{filter:var(--icon-tint-filter)}.driving-search-btn.active .icon-img{filter:none}.driving-nav-card{display:none;flex-direction:column;gap:var(--space-6);background:color-mix(in srgb,#1c1c1c 88%,var(--bg-surface-alt) 12%);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-xl);padding:7px var(--space-12)}.driving-nav-card .driving-nav-dest{color:#fff}.driving-report-sheet{position:fixed;left:0;right:0;bottom:0;z-index:2550;background:var(--driving-sheet-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--floating-border);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;box-shadow:0 -6px 24px var(--floating-shadow);-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(white,black);padding:12px 14px calc(14px + env(safe-area-inset-bottom,0px)) 14px;display:none;flex-direction:column;gap:var(--space-10);pointer-events:none}.driving-report-sheet .quick-tile,.driving-report-sheet .section-awaiting-cancel,.driving-report-sheet .walk-quick-fab{pointer-events:auto}body.driving-active .driving-report-sheet{display:flex}.section-awaiting-bar{display:none;align-items:center;justify-content:space-between;gap:var(--space-10);background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius-xl);padding:11px var(--space-14)}#sectionAwaitingText{font-size:var(--fs-12);font-weight:var(--fw-bold);color:var(--warn-text);line-height:1.3}.section-awaiting-cancel{flex-shrink:0;width:30px;height:30px;background:var(--bg-surface-alt);border:1px solid var(--border-color-strong);color:var(--text-primary);font-size:var(--fs-13)}.section-awaiting-cancel:active{background:var(--border-color-strong)}.bike-quick-grid,.car-quick-grid{display:none;grid-template-columns:repeat(3,1fr);gap:var(--space-10);width:100%}body.driving-active:not(.bike-mode-active):not(.walk-mode-active) .car-quick-grid{display:grid}body.bike-mode-active .bike-quick-grid{display:grid}.bike-quick-grid.submitting,.car-quick-grid.submitting{opacity:.5;pointer-events:none}.walk-quick-grid{display:none;align-items:center;justify-content:center;width:100%;padding:4px 0 2px}body.walk-mode-active .walk-quick-grid{display:flex}.walk-quick-fab{width:60px;height:60px;border-radius:50%;background:var(--danger);color:#fff;border:none;box-shadow:0 4px 14px rgba(0,0,0,.3);transition:transform .12s ease,box-shadow .12s ease;display:flex;align-items:center;justify-content:center}.walk-quick-fab:active{transform:scale(.9);box-shadow:0 2px 8px rgba(0,0,0,.3)}.walk-quick-fab img{width:30px;height:30px;filter:brightness(0) invert(1)}.walk-quick-fab:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.travel-mode-switch-btn:active{background:var(--border-color-strong)}.travel-mode-switch-btn .icon-img{filter:var(--icon-tint-filter);width:20px;height:20px}.travel-mode-switch-btn::after{content:'⇄';position:absolute;right:-4px;bottom:-4px;width:16px;height:16px;border-radius:50%;background:var(--accent);color:var(--bg-surface-alt);font-size:var(--fs-10);font-weight:700;line-height:16px;text-align:center;border:1.5px solid var(--bg-surface-alt);pointer-events:none}.quick-tile{border:none;border-radius:var(--radius-xl);color:#fff;aspect-ratio:3/2;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:filter .15s,transform .1s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.quick-tile:active{filter:brightness(.85);transform:scale(.95)}.quick-tile-back{background:var(--bg-surface-alt);border:1px solid var(--border-color-strong)}.quick-tile-back .quick-tile-icon{background-color:var(--text-primary);filter:none;transform:rotate(-90deg)}.quick-tile-icon{width:38px;height:38px;display:inline-block;background-color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.quick-tile-label{font-size:var(--fs-10);font-weight:var(--fw-bold);line-height:1.15;text-align:center;padding:0 4px;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.quick-tile-back .quick-tile-label{color:var(--text-primary)}.quick-tile-record{background:color-mix(in srgb,var(--driving-tile-base) 65%,var(--danger) 35%);border:2px solid var(--danger)}.quick-tile-record:active{filter:brightness(.85);transform:scale(.95)}.quick-tile-record.recording{background:var(--danger);border-color:var(--danger);animation:pulseRec 1.2s infinite}.quick-tile-record.section-record-disabled{opacity:.35;pointer-events:none}.quick-record-shape{width:20px;height:20px;border-radius:50%;background:#fff;flex:0 0 auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));transition:border-radius .15s}.quick-tile-record.recording .quick-record-shape{border-radius:5px}.driving-nav-dest{display:block;font-size:var(--fs-14);font-weight:var(--fw-heavy);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.driving-nav-status-text{font-size:var(--fs-11);font-weight:var(--fw-bold);color:var(--accent)}.route-fire-banner{display:flex;align-items:center;gap:var(--space-8,8px);padding:var(--space-8,8px) var(--space-10,10px);margin-bottom:var(--space-8,8px);border-radius:var(--radius-md);background:color-mix(in srgb,var(--danger) 16%,var(--bg-surface-alt));border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);cursor:pointer;user-select:none}.route-fire-banner-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);flex:0 0 auto;animation:routeFireBannerPulse 1.6s ease-in-out infinite}@keyframes routeFireBannerPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,75,75,.55)}50%{box-shadow:0 0 0 6px rgba(255,75,75,0)}}.route-fire-banner-text{font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:1.3}.driving-nav-active-info{display:none;align-items:stretch;gap:var(--space-8)}.driving-nav-stat{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2) var(--space-4)}.driving-nav-stat-value{font-size:var(--fs-14);font-weight:var(--fw-heavy);color:var(--accent);white-space:nowrap}.driving-nav-stat-label{font-size:var(--fs-9-5);font-weight:var(--fw-semibold);color:rgba(255,255,255,.62);text-transform:uppercase;letter-spacing:.03em}.driving-nav-close-btn{flex-shrink:0;width:34px;height:34px;background:var(--accent);border:1px solid var(--accent);color:#fff;font-size:var(--fs-15);position:fixed;top:calc(var(--header-h,64px) + 12px + 40px + 10px);right:12px;z-index:2400;box-shadow:0 3px 12px var(--floating-shadow);transition:transform .3s ease}.driving-nav-close-btn:active{background:var(--accent);filter:brightness(.9)}body.tbt-active .driving-nav-close-btn{transform:translateY(76px)}body.bike-mode-active .driving-nav-card{background:color-mix(in srgb,var(--nav-accent) 20%,#1c1c1c 80%);border-color:var(--nav-accent)}body.bike-mode-active .driving-nav-stat-value,body.bike-mode-active .driving-nav-status-text{color:var(--nav-accent)}body.bike-mode-active .driving-nav-close-btn{background:var(--nav-accent);border-color:var(--nav-accent)}body.bike-mode-active .driving-nav-close-btn:active{background:var(--nav-accent);filter:brightness(.9)}body.walk-mode-active .driving-nav-card{background:color-mix(in srgb,var(--success) 20%,#1c1c1c 80%);border-color:var(--success)}body.walk-mode-active .driving-nav-stat-value,body.walk-mode-active .driving-nav-status-text{color:var(--success)}body.walk-mode-active .driving-nav-close-btn{background:var(--success);border-color:var(--success)}body.walk-mode-active .driving-nav-close-btn:active{background:var(--success);filter:brightness(.9)}body.driving-active #followLocationBtn,body.driving-active #heatmapBtn,body.driving-active #lockedFormPanel,body.driving-active #mainMapCompass,body.driving-active #navigateModeBtn,body.driving-active #pinMapBtn,body.driving-active #reportFormPanel,body.driving-active .bottom-muni-bar,body.driving-active .bottom-muni-stats-row,body.driving-active .filter-label-row,body.driving-active .filter-select-row,body.driving-active .legend-row{display:none!important}body.driving-active #appPanel{height:auto!important;overflow:visible!important;opacity:1!important}.dashboard-identity-row .admin-pill{flex-shrink:0;background:#3a2a00;color:#f5c518;border-radius:var(--radius-xs);padding:var(--space-2) 5px;font-size:var(--fs-9);font-weight:var(--fw-heavy);letter-spacing:.3px}.tier-pill{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;background:#ececeb;color:#555;border-radius:var(--radius-xs);padding:3px 5px 1px;font-size:var(--fs-9);font-weight:var(--fw-heavy);letter-spacing:.3px}.tier-pill.tier-level-1{background:#1f2937;color:#93c5fd}.tier-pill.tier-level-2{background:#0f3b36;color:#5eead4}.tier-pill.tier-level-3{background:#123a26;color:#5ec98a}.tier-pill.tier-level-4{background:#3a2a0f;color:#f0b429}.tier-pill.tier-level-5{background:#2a1245;color:#c084fc}.profile-tier-row{display:flex;justify-content:center;margin-top:var(--space-2)}.profile-tier-row .tier-pill{font-size:var(--fs-11);padding:5px var(--space-10) 3px;border-radius:var(--radius-pill)}.profile-progress-track{width:100%;height:8px;border-radius:var(--radius-xs);background:#ececeb;overflow:hidden}.profile-progress-fill{height:100%;background:var(--accent);border-radius:var(--radius-xs);transition:width .25s ease;width:0%}.dashboard-section{display:flex;flex-direction:column;gap:var(--space-10)}.dashboard-level-row{display:flex;align-items:center;gap:var(--space-10)}.dashboard-level-pill{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:var(--fs-13);padding:7px var(--space-12) 5px;border-radius:var(--radius-pill)}.dashboard-level-name{font-size:var(--fs-14);font-weight:var(--fw-bold);color:var(--text-primary)}.dashboard-progress-text{font-size:var(--fs-11-5);color:var(--text-muted);margin-top:var(--space-2)}.dashboard-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}.dashboard-stats-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.dashboard-stat-box-sm .dashboard-stat-value{font-size:var(--fs-15)}.dashboard-stat-box{background:var(--bg-surface-alt);border-radius:var(--radius-md);padding:var(--space-8) var(--space-10);display:flex;align-items:center;gap:8px}.dashboard-stat-icon-glyph{width:22px;height:22px;display:inline-block;flex-shrink:0}.dashboard-stat-box-sm .dashboard-stat-icon-glyph{width:19px;height:19px}.dashboard-stat-body{min-width:0}.dashboard-stat-value{font-family:var(--font-display);font-size:var(--fs-17);font-weight:var(--fw-heavy);color:var(--text-primary)}.dashboard-stat-label{font-size:var(--fs-10);color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-top:var(--space-2)}.weekly-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);background:var(--bg-surface-alt);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-8) var(--space-8);margin-top:var(--space-8)}.weekly-chart-col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;min-width:0}.weekly-chart-bar-wrap{height:72px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.weekly-chart-value{font-size:var(--fs-11);font-weight:var(--fw-heavy);color:var(--text-primary);margin-bottom:3px}.weekly-chart-bar{width:60%;max-width:20px;border-radius:5px 5px 2px 2px;background:var(--success);min-height:4px}.weekly-chart-day{font-size:var(--fs-9-5);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;margin-top:var(--space-6)}.analytics-range-row{display:flex;gap:8px;margin-bottom:var(--space-14);flex-wrap:wrap}.analytics-range-chip{display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:7px var(--space-14) 5px;border-radius:var(--radius-pill);font-size:var(--fs-12-5);font-weight:var(--fw-semibold);background:var(--bg-surface-alt);color:var(--text-secondary);cursor:pointer;border:1px solid transparent;-webkit-tap-highlight-color:transparent;user-select:none}.analytics-range-chip.active{background:var(--accent);color:#fff}.analytics-trend-chart{height:110px}.analytics-bar-list{display:flex;flex-direction:column;gap:8px;margin-top:var(--space-8)}.analytics-bar-row{display:flex;align-items:center;gap:10px}.analytics-bar-label{flex:0 0 auto;width:108px;font-size:var(--fs-12-5);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-bar-track{flex:1;height:10px;border-radius:5px;background:var(--bg-surface-alt);overflow:hidden}.analytics-bar-fill{height:100%;border-radius:5px;min-width:3px}.analytics-bar-count{flex:0 0 auto;width:34px;text-align:right;font-size:var(--fs-12-5);font-weight:var(--fw-bold);color:var(--text-primary)}.dashboard-badges-title{font-size:var(--fs-12);font-weight:var(--fw-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-top:var(--space-16)}.dashboard-badges-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:var(--space-16)}.dashboard-badges-title-row .dashboard-badges-title{margin-top:0}.dashboard-badges-count{font-size:var(--fs-11);font-weight:var(--fw-semibold);color:var(--text-muted)}.my-reports-filter-row{margin-top:var(--space-10);flex-wrap:wrap}.my-reports-list{display:flex;flex-direction:column;gap:var(--space-8);margin-top:var(--space-12);max-height:340px;overflow-y:auto;padding-right:var(--space-2)}.status-filter-settings-btn{display:inline-flex;align-items:center;gap:6px}.status-filter-settings-btn .legend-badge{width:10px;height:10px;border-radius:50%;display:inline-block}.my-report-card{display:flex;align-items:center;gap:var(--space-10);background:var(--bg-surface-alt);border-radius:var(--radius-lg);padding:9px var(--space-10);cursor:pointer;border:1px solid var(--border-color);transition:background .12s ease}.my-report-card:active{background:var(--border-color)}.my-report-card-icon{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}.my-report-card-glyph{width:18px;height:18px;background-color:#fff}.my-report-card-body{flex:1;min-width:0}.my-report-card-title{font-size:var(--fs-12-5);font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-report-card-meta{font-size:var(--fs-10-5);color:var(--text-muted);margin-top:var(--space-2)}.my-report-card-status{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:var(--fs-9-5);font-weight:var(--fw-bold);color:#fff;padding:var(--space-4) var(--space-8) var(--space-2);border-radius:var(--radius-pill);flex-shrink:0;white-space:nowrap}.my-reports-empty{text-align:center;color:var(--text-secondary);font-size:var(--fs-12-5);padding:22px var(--space-16);border:1px dashed var(--border-color-strong);border-radius:var(--radius-lg);background:var(--bg-surface-alt);animation:tileFadeIn var(--dur-med) var(--ease-out)}.my-reports-loading{text-align:center;color:var(--text-muted);font-size:var(--fs-12-5);padding:18px var(--space-10)}.my-reports-error{cursor:pointer;text-decoration:underline}.my-report-card-skeleton{cursor:default}.my-report-card-skeleton:active{background:var(--bg-surface-alt)}.my-report-card-skeleton .my-report-card-icon{background:var(--bg-surface)}.skeleton-line{border-radius:var(--radius-xs);color:transparent;background-image:linear-gradient(90deg,var(--bg-surface) 25%,var(--shimmer-highlight) 50%,var(--bg-surface) 75%);background-size:200% 100%;animation:shimmerSweep 1.4s ease-in-out infinite}.skeleton-line-title{width:64%;height:12px;margin-bottom:var(--space-6)}.skeleton-line-meta{width:38%;height:9px}.skeleton-line-status{width:52px;height:18px;border-radius:var(--radius-pill);flex-shrink:0}.dashboard-next-badge{display:flex;align-items:center;gap:var(--space-10);background:var(--bg-surface-alt);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-12);margin-top:var(--space-8)}.dashboard-next-badge-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.3)}.dashboard-next-badge-icon-glyph{width:26px;height:26px;display:inline-block}.dashboard-next-badge-info{flex:1;min-width:0}.dashboard-next-badge-label{font-size:var(--fs-9-5);font-weight:var(--fw-heavy);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.dashboard-next-badge-name{font-size:var(--fs-13);font-weight:var(--fw-bold);color:var(--text-primary);margin:2px 0 5px}.dashboard-next-badge-text{font-size:var(--fs-11);color:var(--text-muted);margin-top:var(--space-4)}.dashboard-city-card{display:flex;align-items:center;gap:14px;background:var(--bg-surface-alt);border-radius:var(--radius-lg);padding:var(--space-12);margin-top:var(--space-8)}.dashboard-city-ring-wrap{position:relative;width:72px;height:72px;flex-shrink:0}.dashboard-city-ring{width:100%;height:100%;transform:rotate(-90deg)}.dashboard-city-ring-track{fill:none;stroke:var(--border-color-strong);stroke-width:8;opacity:.5}.dashboard-city-ring-fill{fill:none;stroke:var(--accent);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.dashboard-city-ring-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-13);font-weight:var(--fw-heavy);color:var(--text-primary)}.dashboard-city-info{flex:1;min-width:0}.dashboard-city-name{font-size:var(--fs-13);font-weight:var(--fw-bold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.02em}.dashboard-city-detail{font-size:var(--fs-11-5);color:var(--text-muted);margin-top:var(--space-4)}.dashboard-streak-card{display:flex;align-items:center;gap:12px;background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-14)}.dashboard-streak-flame{width:28px;height:28px;flex-shrink:0;display:inline-block;transition:background-color .2s ease,opacity .2s ease}.dashboard-streak-flame.is-cold{background-color:var(--text-muted)!important;opacity:.35}.dashboard-streak-info{flex:1;min-width:0}.dashboard-streak-count{display:flex;align-items:baseline;gap:5px}.dashboard-streak-count-num{font-family:var(--font-display);font-size:var(--fs-20);font-weight:var(--fw-heavy);color:var(--text-primary)}.dashboard-streak-count-label{font-size:var(--fs-11-5);font-weight:var(--fw-semibold);color:var(--text-muted)}.dashboard-streak-sub{font-size:var(--fs-11);color:var(--text-muted);margin-top:var(--space-2)}.dashboard-streak-best{text-align:right;flex-shrink:0}.dashboard-streak-best-num{display:block;font-family:var(--font-display);font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--text-primary)}.dashboard-streak-best-label{font-size:var(--fs-9-5);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.dashboard-quests{display:flex;flex-direction:column;gap:8px;margin-top:var(--space-8)}.dashboard-quest-card{background:var(--bg-surface-alt);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-12)}.dashboard-quest-card.is-complete{opacity:.7}.dashboard-quest-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.dashboard-quest-title{font-size:var(--fs-12-5);font-weight:var(--fw-semibold);color:var(--text-primary);display:flex;align-items:center;gap:6px}.dashboard-quest-title-icon{width:15px;height:15px;flex-shrink:0;display:inline-block}.dashboard-quest-reward{font-size:var(--fs-10);font-weight:var(--fw-bold);color:var(--accent);flex-shrink:0;white-space:nowrap}.dashboard-quest-desc{font-size:var(--fs-10-5);color:var(--text-muted);margin-top:var(--space-2)}.dashboard-quest-track{width:100%;height:6px;border-radius:var(--radius-xs);background:var(--border-color-strong);overflow:hidden;margin-top:var(--space-8)}.dashboard-quest-fill{height:100%;background:var(--success);border-radius:var(--radius-xs);transition:width .3s ease}.dashboard-quest-fill.is-complete{background:var(--accent)}.dashboard-quest-progress-text{font-size:var(--fs-9-5);color:var(--text-muted);margin-top:var(--space-4);text-align:right}.dashboard-quests-empty{font-size:var(--fs-11-5);color:var(--text-muted);text-align:center;padding:var(--space-10)}.dashboard-quests-load-error{font-size:var(--fs-11-5);color:var(--text-muted);text-align:center;padding:var(--space-10);display:flex;flex-direction:column;align-items:center;gap:8px}.dashboard-quests-retry-btn{font-size:var(--fs-11-5);padding:var(--space-6) var(--space-14);border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--bg-surface-alt);color:var(--text-primary);cursor:pointer}.dashboard-quests-retry-btn:hover{filter:brightness(.95)}.dashboard-quest-history-toggle{appearance:none;border:none;background:0 0;padding:0;font-size:var(--fs-11);font-weight:var(--fw-semibold);color:var(--accent);cursor:pointer}.dashboard-quest-history{margin-top:var(--space-6)}.dashboard-quest-history-list{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-6)}.dashboard-quest-history-item{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg-surface-alt);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-12);opacity:.85}.dashboard-quest-history-item-main{display:flex;flex-direction:column;gap:1px;min-width:0}.dashboard-quest-history-item-title{font-size:var(--fs-11-5);font-weight:var(--fw-semibold);color:var(--text-primary)}.dashboard-quest-history-item-date{font-size:var(--fs-9-5);color:var(--text-muted)}.dashboard-quest-history-item-reward{font-size:var(--fs-10);font-weight:var(--fw-bold);color:var(--accent);flex-shrink:0;white-space:nowrap}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(106px,1fr));gap:12px 6px;margin-top:var(--space-8)}.badge-tile{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;opacity:.4;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;animation:tileFadeIn var(--dur-med) var(--ease-out) backwards}.badge-tile:first-child{animation-delay:0s}.badge-tile:nth-child(2){animation-delay:30ms}.badge-tile:nth-child(3){animation-delay:60ms}.badge-tile:nth-child(4){animation-delay:90ms}.badge-tile:nth-child(5){animation-delay:120ms}.badge-tile:nth-child(n+6){animation-delay:150ms}.badge-tile.earned{opacity:1;transition:transform .15s var(--ease-out)}.badge-tile.earned:active{transform:scale(.94)}.badge-tile-circle-wrap{position:relative;width:65.5px;height:65.5px;flex-shrink:0}.badge-tile-circle{width:65.5px;height:65.5px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-2);flex-shrink:0;position:relative;transition:box-shadow .2s ease}.badge-tile.earned .badge-tile-circle{box-shadow:var(--shadow-2),0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.badge-tile-glyph{width:38.75px;height:38.75px;display:inline-block}.badge-tile-name{font-size:var(--fs-10);line-height:1.2;color:var(--text-secondary)}.badge-tile.earned .badge-tile-name{color:var(--text-primary);font-weight:var(--fw-semibold)}.badge-tile-soon{opacity:.28}.badge-progress-ring{position:absolute;top:-6px;left:-6px;width:calc(100% + 12px);height:calc(100% + 12px);transform:rotate(-90deg);pointer-events:none}.badge-progress-ring-track{fill:none;stroke:var(--border-color-strong);stroke-width:6;opacity:.6}.badge-progress-ring-fill{fill:none;stroke:var(--accent);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.badge-tile-soon-ribbon{position:absolute;bottom:-4px;right:-7px;background:var(--bg-surface);color:var(--text-muted);font-size:var(--fs-7);font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:var(--space-2) var(--space-4) 1px;border-radius:var(--radius-sm);border:1px solid var(--border-color-strong)}.dashboard-ladder{display:flex;flex-direction:column;gap:5px;margin-top:var(--space-4)}.dashboard-ladder-row{display:flex;align-items:center;gap:var(--space-8);font-size:var(--fs-11-5);padding:var(--space-4) var(--space-2);border-radius:var(--radius-sm);color:var(--text-muted)}.dashboard-ladder-row.achieved{color:var(--text-primary);font-weight:var(--fw-semibold)}.dashboard-ladder-row .ladder-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--border-color,#555)}.dashboard-ladder-row.achieved .ladder-dot{background:#5ec98a}.dashboard-signed-out-hint{font-size:var(--fs-12);color:var(--text-muted);text-align:center;padding:8px 0}.badge-info-icon-circle-wrap{position:relative;width:84px;height:84px;margin:0 auto 14px auto}.badge-info-icon-circle{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.35)}.badge-info-icon-glyph{width:50px;height:50px;display:inline-block}.badge-info-status{font-size:var(--fs-11);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.03em;line-height:1;margin-bottom:var(--space-10);display:inline-flex;align-items:center;justify-content:center;padding:var(--space-4) var(--space-10) var(--space-2);border-radius:var(--radius-pill)}.badge-info-status.is-earned{background:var(--accent);color:var(--accent-contrast)}.badge-info-status.is-locked{background:var(--bg-surface-alt);color:var(--text-secondary)}.dashboard-identity-row{display:flex;align-items:center;gap:var(--space-8);min-width:0;flex:1}.leaderboard-admin-badge.dashboard-identity-badge,.leaderboard-rank.dashboard-identity-badge{width:30px;height:30px;border-width:2px;flex-shrink:0}.dashboard-identity-badge img{padding:5px}.dashboard-identity-badge-wrap{position:relative;width:30px;height:30px;flex-shrink:0}.dashboard-identity-ring{position:absolute;top:-6px;left:-6px;width:calc(100% + 12px);height:calc(100% + 12px);transform:rotate(-90deg);pointer-events:none}.dashboard-identity-ring-track{fill:none;stroke:var(--border-color-strong);stroke-width:3;opacity:.5}.dashboard-identity-ring-fill{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .5s ease,stroke .3s ease}.dashboard-star-row{display:flex;gap:2px;margin-top:3px;line-height:1}.dashboard-star{font-size:var(--fs-11);color:var(--border-color-strong);opacity:.45;transition:color .3s ease,opacity .3s ease,transform .3s ease}.dashboard-star.filled{opacity:1;text-shadow:0 0 5px currentColor}.dashboard-identity-text{min-width:0;display:flex;flex-direction:column}.dashboard-identity-name{font-size:var(--fs-15);font-weight:var(--fw-heavy);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-identity-status{font-size:var(--fs-11);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-signout-btn{flex-shrink:0;width:auto;padding:7px var(--space-12);font-size:var(--fs-12)}.proximity-indicator{display:flex;align-items:center;gap:7px;background:var(--bg-surface-alt);border-radius:var(--radius-md);padding:7px var(--space-10);font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--text-primary)}.proximity-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px rgba(255,75,75,.18);background:var(--danger);transition:background .2s ease,box-shadow .2s ease}.proximity-dot.near{background:var(--success);box-shadow:0 0 0 3px rgba(46,204,113,.2)}@keyframes pinStatusPulse{0%{transform:translate(-50%,-50%) scale(.75);opacity:.85}70%{transform:translate(-50%,-50%) scale(2.3);opacity:0}100%{opacity:0}}.pin-status-halo{position:absolute;top:50%;left:50%;width:26px;height:26px;border-radius:50%;animation-name:pinStatusPulse;animation-timing-function:ease-out;animation-iteration-count:infinite;pointer-events:none}.pin-status-ring{position:absolute;top:50%;left:50%;width:32px;height:32px;border-radius:50%;transform:translate(-50%,-50%);border-width:2.5px;border-style:solid;box-sizing:border-box;pointer-events:none}@keyframes clusterStatusPulse{0%{transform:translate(-50%,-50%) scale(.75);opacity:.4}70%{transform:translate(-50%,-50%) scale(2.1);opacity:0}100%{opacity:0}}.cluster-status-halo{position:absolute;top:50%;left:50%;width:26px;height:26px;border-radius:50%;animation-name:clusterStatusPulse;animation-timing-function:ease-out;animation-iteration-count:infinite;pointer-events:none}.dropped-pin-icon{width:30px;height:36px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45));transition:filter .15s ease}.dropped-pin-icon.pin-in-range{filter:brightness(0) saturate(100%) invert(66%) sepia(69%) saturate(407%) hue-rotate(88deg) brightness(93%) contrast(87%) drop-shadow(0 3px 6px rgba(0,0,0,.45))}.dropped-pin-icon.pin-out-of-range{filter:brightness(0) saturate(100%) invert(41%) sepia(89%) saturate(3223%) hue-rotate(346deg) brightness(100%) contrast(101%) drop-shadow(0 3px 6px rgba(0,0,0,.45))}.dropped-pin-icon.pin-destination{background-color:var(--accent);-webkit-mask-image:url('icons/pin.png');mask-image:url('icons/pin.png');-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45))}.offline-queue-badge{display:flex;align-items:center;gap:7px;background:var(--bg-surface-alt);border:1px solid var(--border-color-strong);border-radius:var(--radius-md);padding:7px var(--space-10);font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.offline-queue-dot{width:9px;height:9px;box-sizing:border-box;border-radius:50%;flex-shrink:0;background:#f0a020;border:1.5px solid #fff;box-shadow:0 0 0 3px rgba(240,160,32,.2);animation:offlineQueuePulse 1.6s ease-in-out infinite}@keyframes offlineQueuePulse{0%,100%{opacity:1}50%{opacity:.35}}.offline-queue-retry{margin-left:auto;color:var(--accent);font-weight:var(--fw-bold);flex-shrink:0}.global-offline-banner{position:fixed;top:var(--header-h,64px);left:0;right:0;z-index:630;display:none;align-items:center;justify-content:center;gap:7px;background:#f0a020;color:#1a1a1a;font-size:var(--fs-11-5);font-weight:var(--fw-semibold);padding:7px var(--space-14);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;box-shadow:0 3px 10px var(--floating-shadow)}.global-offline-banner .offline-queue-dot{background:#fff;border-color:#1a1a1a;box-shadow:0 0 0 3px rgba(255,255,255,.35)}.global-offline-banner-retry{margin-left:var(--space-4);color:#1a1a1a;text-decoration:underline;flex-shrink:0}body.driving-active .global-offline-banner{display:none!important}.locked-panel{display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-12) var(--space-10)}.locked-panel p{font-size:var(--fs-12);color:var(--text-muted);line-height:1.4;text-align:center;margin-bottom:var(--space-2)}.auth-toggle-text{font-size:var(--fs-11);color:var(--accent);text-align:center;cursor:pointer;text-decoration:underline;margin-top:var(--space-4)}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-8);width:100%;height:40px;border-radius:var(--radius-sm);border:1px solid var(--border-color-strong);background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-13);font-weight:var(--fw-semibold);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.oauth-btn img{width:18px;height:18px;flex-shrink:0}.oauth-btn.oauth-github{background:#171515;color:#fff;border-color:#171515}.oauth-btn.oauth-osm{background:var(--bg-surface);color:var(--text-primary)}html[data-theme=dark] .oauth-btn.oauth-github{background:var(--bg-surface-alt);border-color:var(--border-color-strong)}.oauth-btn.oauth-github img{filter:brightness(0) invert(1)}.oauth-btn.oauth-google img,.oauth-btn.oauth-osm img{filter:var(--icon-tint-filter)}#chooseUsernamePanel{display:none;flex-direction:column;gap:var(--space-8);padding:var(--space-12) var(--space-10)}#chooseUsernamePanel p{font-size:var(--fs-12);color:var(--text-muted);line-height:1.4;text-align:center;margin-bottom:var(--space-2)}.pw-wrap input{padding-right:34px!important}.pw-toggle-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:0 0;border:none;padding:var(--space-4);font-size:var(--fs-15);cursor:pointer;opacity:.6;line-height:1;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.pw-toggle-btn:active{opacity:1}.pw-toggle-btn.revealed{opacity:1}.popup-card{min-width:170px;max-width:210px}.popup-header{padding:var(--space-6) var(--space-8);display:flex;flex-direction:column;gap:1px}.popup-header-title{font-size:var(--fs-11-5);font-weight:var(--fw-bold);color:#fff;line-height:1.3}.popup-header-date{font-size:var(--fs-9);color:rgba(255,255,255,.8)}.popup-body{padding:var(--space-2) var(--space-8) 1px var(--space-8)}.popup-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8);padding:4px 0;border-bottom:1px solid var(--border-color)}.popup-row:last-child{border-bottom:none}.popup-row-label{font-size:var(--fs-9);font-weight:var(--fw-bold);letter-spacing:.3px;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}.popup-row-value{font-size:var(--fs-11-5);font-weight:var(--fw-semibold);color:var(--text-primary);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popup-note{margin:var(--space-4) var(--space-8) var(--space-6) var(--space-8);padding:var(--space-6) 7px;background:var(--bg-surface-alt);border-radius:var(--radius-sm);font-size:var(--fs-10-5);color:var(--text-secondary);line-height:1.4;word-break:break-word;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:calc(1.4em * 4)}.popup-note-full{display:block;-webkit-line-clamp:unset;overflow:visible;max-height:none}.popup-personal-note{margin:var(--space-2) var(--space-8) var(--space-6) var(--space-8);font-size:var(--fs-9-5);color:var(--text-muted);font-style:italic;line-height:1.35}.popup-timeline{padding:6px 0 2px 0;display:flex;flex-direction:column}#reportDetailStatusSection{padding-bottom:var(--space-12);margin-bottom:var(--space-2);border-bottom:1px solid var(--border-color)}#reportDetailStatusSection .detail-location-row{margin-bottom:0}.timeline-item{display:flex;align-items:flex-start;gap:12px;position:relative;padding-bottom:var(--space-14)}.timeline-content{display:flex;flex-direction:column;gap:2px;min-width:0;margin-top:13px}.timeline-content.has-label{margin-top:7px}.timeline-reporter-row{display:flex;align-items:center;gap:6px}.timeline-reporter-name{font-size:var(--fs-11);line-height:14px;font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.timeline-content>span:empty{display:none}.timeline-label-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;font-size:var(--fs-11);line-height:14px;font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.timeline-label-left{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-label-right{flex:0 0 auto;white-space:nowrap}.timeline-extra-delete{border:none;background:0 0;color:var(--text-muted);font-size:var(--fs-11);line-height:1;padding:var(--space-2) var(--space-4);cursor:pointer;border-radius:var(--radius-xs)}.timeline-extra-delete:focus-visible,.timeline-extra-delete:hover{color:var(--danger);outline:0;background:var(--bg-surface-alt)}.timeline-photo-review-actions{display:inline-flex;align-items:center;gap:5px}.timeline-photo-review-btn{border:none;padding:0;margin:0;cursor:pointer;border-radius:50%;width:22px;height:22px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.timeline-photo-review-btn img{width:12px;height:12px;display:block;filter:brightness(0) invert(1)}.timeline-photo-review-btn.approve{background:var(--success)}.timeline-photo-review-btn.reject{background:var(--danger-strong)}.timeline-photo-review-btn:focus-visible,.timeline-photo-review-btn:hover{filter:brightness(1.15);outline:2px solid var(--accent);outline-offset:1px}.timeline-photo-review-btn:active{filter:brightness(.9)}.timeline-note{font-size:inherit;color:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;white-space:nowrap}.timeline-stage-label{font-size:inherit;color:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;white-space:nowrap}.timeline-item:not(:has(~ .timeline-item)){padding-bottom:0}.timeline-dot{width:44px;height:44px;border-radius:50%;flex-shrink:0;position:relative;z-index:1;box-sizing:border-box;background:var(--border-color);display:flex;align-items:center;justify-content:center}.timeline-item.pending .timeline-dot{background:0 0;border:2px dashed var(--text-muted)}.timeline-dot-icon{width:19px;height:19px;flex-shrink:0;filter:brightness(0) invert(1);opacity:.95}.timeline-item.pending .timeline-dot-icon{filter:var(--icon-tint-filter);opacity:.85}.timeline-line{position:absolute;left:21px;top:44px;bottom:-2px;width:2px;border-radius:1px;background:var(--border-color)}.timeline-item:not(:has(~ .timeline-item)) .timeline-line{display:none}.timeline-date{font-size:var(--fs-11);line-height:14px;color:var(--text-primary);font-weight:var(--fw-regular)}.timeline-item.pending .timeline-date{color:var(--text-muted)}.timeline-dot-photo{cursor:pointer;overflow:hidden;padding:0}.timeline-dot-photo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.timeline-dot-thumb{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.timeline-item.timeline-action .timeline-dot{cursor:pointer;background:0 0;border:2px dashed var(--text-muted);transition:border-color .15s ease}.timeline-item.timeline-action .timeline-dot:focus-visible,.timeline-item.timeline-action .timeline-dot:hover{border-color:var(--accent);outline:0}.timeline-item.timeline-action.timeline-stage-fixed .timeline-dot:focus-visible,.timeline-item.timeline-action.timeline-stage-fixed .timeline-dot:hover{border-color:var(--success)}.timeline-item.timeline-action .timeline-dot:focus-visible .timeline-dot-icon,.timeline-item.timeline-action .timeline-dot:hover .timeline-dot-icon{filter:var(--icon-tint-filter-accent);opacity:1}.timeline-item.timeline-already-voted .timeline-dot{border-style:solid;border-color:var(--success)}.timeline-item.timeline-already-voted .timeline-dot:focus-visible,.timeline-item.timeline-already-voted .timeline-dot:hover{border-color:var(--success)}.timeline-item.pending.timeline-stage-in_progress .timeline-dot:focus-visible .timeline-dot-icon,.timeline-item.pending.timeline-stage-in_progress .timeline-dot:hover .timeline-dot-icon{filter:var(--icon-tint-filter-accent);opacity:1}.timeline-item.pending.timeline-stage-fixed .timeline-dot:focus-visible .timeline-dot-icon,.timeline-item.pending.timeline-stage-fixed .timeline-dot:hover .timeline-dot-icon{filter:var(--icon-tint-filter-success);opacity:1}.timeline-item.timeline-already-voted .timeline-action-label{color:var(--success)}.timeline-item.timeline-already-voted .timeline-action-label:focus-visible,.timeline-item.timeline-already-voted .timeline-action-label:hover{color:var(--success)}.timeline-action-label{cursor:pointer;font-size:var(--fs-11);line-height:14px;font-weight:var(--fw-semibold);color:var(--text-muted);display:inline-block}.timeline-action-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.timeline-action-label:focus-visible,.timeline-action-label:hover{color:var(--accent);outline:0}.timeline-vote-progress{font-size:var(--fs-10-5);font-weight:var(--fw-semibold);color:var(--warn-text);text-transform:none;letter-spacing:normal}.popup-edit-form{min-width:200px;max-width:240px}.popup-edit-form .popup-header{margin-bottom:var(--space-2)}.popup-edit-body{padding:var(--space-8) var(--space-10) var(--space-10) var(--space-10);display:flex;flex-direction:column;gap:var(--space-8)}.popup-edit-field{display:flex;flex-direction:column;gap:3px}.popup-edit-field-label{font-size:var(--fs-9);font-weight:var(--fw-bold);letter-spacing:.3px;text-transform:uppercase;color:var(--text-muted)}.popup-edit-form input[type=text],.popup-edit-form select{background:var(--bg-surface-alt);color:var(--text-primary);border:1px solid var(--border-color-strong);border-radius:var(--radius-sm);padding:7px var(--space-8);font-size:var(--fs-12-5);width:100%;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.popup-edit-form select option{background:var(--bg-surface-alt);color:var(--text-primary)}.popup-edit-form input[type=text]:focus,.popup-edit-form select:focus{outline:0;border-color:var(--accent)}.status-action-row{display:flex;gap:5px;padding:var(--space-6) var(--space-8) var(--space-8) var(--space-8);border-top:1px solid var(--border-color);margin-top:1px;flex-wrap:wrap}.status-action-btn{flex:1 1 auto;min-width:72px;padding:var(--space-6) 5px;border:none;border-radius:var(--radius-sm);font-size:var(--fs-9-5);font-weight:var(--fw-bold);cursor:pointer;color:#fff;text-transform:uppercase;letter-spacing:.2px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.status-action-btn.progress-btn{background:#f5a623}.status-action-btn.fixed-btn{background:var(--success)}.status-action-btn:disabled{opacity:.4;cursor:not-allowed}.vote-progress-row{display:flex;flex-direction:column;gap:var(--space-4);padding:0 8px 8px 8px}.vote-progress-badge{display:flex;flex-direction:column;gap:var(--space-6);font-size:var(--fs-10-5);font-weight:var(--fw-semibold);color:#8a6d1a;background:#fdf3dc;border-radius:var(--radius-sm);padding:var(--space-6) var(--space-8)}.vote-progress-badge-top{display:flex;align-items:center;gap:var(--space-6)}.vote-progress-icon{width:12px;height:12px;flex-shrink:0;filter:var(--icon-tint-filter);opacity:.85}.vote-progress-track{width:100%;height:5px;border-radius:var(--radius-xs);background:rgba(0,0,0,.1);overflow:hidden}.vote-progress-fill{height:100%;background:#e0a734;border-radius:var(--radius-xs);transition:width .25s ease}.wiz-duplicate-notice{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text);border-radius:var(--radius-md);padding:var(--space-10) var(--space-12);margin-bottom:var(--space-10)}.wiz-duplicate-notice-title{font-size:var(--fs-12-5);font-weight:var(--fw-bold);margin-bottom:var(--space-2)}.wiz-duplicate-notice-hint{font-size:var(--fs-11);font-weight:var(--fw-regular);opacity:.9}.contact-nudge{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text);border-radius:var(--radius-sm);padding:var(--space-8) var(--space-10);font-size:var(--fs-11-5);font-weight:var(--fw-medium);margin-bottom:var(--space-8)}.owner-tag{font-size:var(--fs-9);color:#00838f;font-weight:var(--fw-bold)}@keyframes overlayFadeIn{from{opacity:0}to{opacity:1}}@keyframes modalPopIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sheetSlideUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes menuDropIn{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tileFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.generic-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;-webkit-overflow-scrolling:touch;animation:overlayFadeIn var(--dur-med) var(--ease-out)}.generic-modal{background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-2xl);padding:24px 20px;max-width:340px;width:100%;text-align:center;box-shadow:0 16px 48px rgba(0,0,0,.8);max-height:85vh;overflow-y:auto;pointer-events:all;animation:modalPopIn var(--dur-med) var(--ease-out)}.generic-modal h2{font-family:var(--font-display);font-size:var(--fs-18);font-weight:var(--fw-bold);margin-bottom:var(--space-12)}.generic-modal p{font-size:var(--fs-13);line-height:1.6;color:var(--text-secondary);margin-bottom:var(--space-12);text-align:left}.generic-modal-close{background:var(--bg-surface-alt);color:var(--text-primary);border:none;border-radius:var(--radius-xl);padding:var(--space-12) 20px;font-size:var(--fs-14);font-weight:var(--fw-semibold);cursor:pointer;width:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px;transition:background .15s ease,transform .1s ease}.generic-modal-close:active{background:var(--border-color-strong);transform:scale(.98)}.fullscreen-modal-overlay{position:fixed;inset:0;z-index:9999;background:var(--bg-app);display:flex;flex-direction:column;animation:sheetSlideUp var(--dur-med) var(--ease-out)}.fullscreen-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-10);padding:calc(14px + env(safe-area-inset-top,0px)) 16px 14px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.fullscreen-modal-header h2{font-family:var(--font-display);font-size:var(--fs-16);font-weight:var(--fw-bold);margin:0;flex:1;min-width:0}.fullscreen-modal-header-titles{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.fullscreen-modal-header-titles h2{flex:none}.detail-report-id{display:flex;align-items:center;gap:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-11);color:var(--text-secondary);cursor:pointer;user-select:none;-webkit-user-select:none}.detail-report-subcat{font-size:var(--fs-12-5);font-weight:var(--fw-semibold);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-report-id span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.detail-report-id:focus-visible,.detail-report-id:hover{text-decoration:underline}.detail-report-id:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.detail-report-id-icon{width:12px;height:12px;flex-shrink:0;object-fit:contain;filter:var(--icon-tint-filter);opacity:.75}.fullscreen-modal-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.fullscreen-modal-header-actions .fullscreen-modal-close,.fullscreen-modal-header-actions .fullscreen-modal-share{width:32px;height:32px}.fullscreen-modal-header-actions .icon-img{width:16px;height:16px}#reportDetailHeader{align-items:flex-start}#reportDetailHeader .fullscreen-modal-header-actions{margin-top:1px}.fullscreen-modal-header.status-colored{border-bottom-color:transparent}.fullscreen-modal-header.status-colored h2{color:#fff}.fullscreen-modal-header.status-colored .detail-report-subcat{color:rgba(255,255,255,.85)}.fullscreen-modal-header.status-colored .detail-report-id{color:rgba(255,255,255,.75)}.fullscreen-modal-header.status-colored .detail-report-id-icon{filter:brightness(0) invert(1);opacity:.75}.fullscreen-modal-header.status-colored .fullscreen-modal-close,.fullscreen-modal-header.status-colored .fullscreen-modal-share{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.5);color:#fff}.fullscreen-modal-header.status-colored .fullscreen-modal-close .icon-img,.fullscreen-modal-header.status-colored .fullscreen-modal-share .icon-img{filter:brightness(0) invert(1)}.fullscreen-modal-close,.fullscreen-modal-share{background:var(--bg-surface-alt);color:var(--text-primary);border:none;border-radius:50%;width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-18);cursor:pointer;transition:transform .12s ease,background .15s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.fullscreen-modal-close:active,.fullscreen-modal-share:active{background:var(--border-color-strong);transform:scale(.9)}.fullscreen-modal-close .icon-img,.fullscreen-modal-share .icon-img{width:18px;height:18px;filter:var(--icon-tint-filter)}#leaderboardModalTitle .icon-img,#notificationModalTitle .icon-img{filter:var(--icon-tint-filter)}.fullscreen-modal-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-16) var(--space-16) calc(24px + env(safe-area-inset-bottom,0px)) var(--space-16);display:flex;flex-direction:column;gap:var(--space-16)}.detail-section{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-14)}.detail-section-title{font-size:var(--fs-10);font-weight:var(--fw-bold);letter-spacing:.4px;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-10)}.detail-section-title-icon-row{display:flex;align-items:center;gap:6px;font-size:var(--fs-10);font-weight:var(--fw-bold);letter-spacing:.4px;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-12)}.detail-section-title-icon{width:14px;height:14px;flex-shrink:0;filter:var(--icon-tint-filter);opacity:.7}.detail-subsection:not(:first-child){border-top:1px solid var(--border-color);margin-top:var(--space-14);padding-top:var(--space-14)}.detail-subsection-title{font-size:var(--fs-10);font-weight:var(--fw-bold);letter-spacing:.4px;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-8)}.contact-count-row{display:flex;flex-wrap:nowrap;gap:6px;flex-shrink:0}.contact-count-chip{display:flex;align-items:center;gap:4px;font-size:var(--fs-11-5);font-weight:var(--fw-bold);color:var(--text-secondary);padding:var(--space-4) var(--space-2)}.contact-count-chip img{width:12px;height:12px}.detail-badge-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:var(--space-10)}.detail-badge-row .status-pill{font-size:var(--fs-10);padding:5px var(--space-10) var(--space-4)}.detail-badge-pills{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.detail-flag-inline{flex:1 1 160px;min-width:0}#reportFlagContent{display:flex;justify-content:flex-end}.detail-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-10);padding:7px 0;font-size:var(--fs-12-5);min-width:0}.detail-location-row{display:flex;align-items:center;gap:var(--space-8);padding:3px 0 5px;margin-bottom:var(--space-2)}.detail-location-label{flex-shrink:0;display:flex;align-items:center}.detail-location-label .icon-img{width:15px;height:15px;filter:var(--icon-tint-filter);opacity:.85}.detail-location-link{display:block;color:var(--accent-link,#4ea1ff);text-decoration:underline;text-underline-offset:2px;font-size:var(--fs-13);font-weight:var(--fw-medium);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.detail-location-link:active,.detail-location-link:hover{text-decoration:none}.detail-location-copy-btn{background:var(--bg-surface-alt);color:var(--text-primary);border:none;border-radius:50%;width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s ease,background .15s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.detail-location-copy-btn:active{background:var(--border-color-strong);transform:scale(.9)}.detail-location-copy-btn .icon-img{width:14px;height:14px;filter:var(--icon-tint-filter)}.detail-row:not(:last-child){border-bottom:1px solid var(--border-color)}.detail-row-label{color:var(--text-muted);flex-shrink:0;display:flex;align-items:center;gap:var(--space-8);line-height:1.3}.detail-row-icon{width:14px;height:14px;flex-shrink:0;filter:var(--icon-tint-filter);opacity:.85}.row-check-icon{width:12px;height:12px;flex-shrink:0;filter:var(--icon-tint-filter);opacity:.85;display:block}.detail-row-value{color:var(--text-primary);text-align:right;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.detail-row-value a{color:#4ea1ff;text-decoration:none}.contact-card{background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-14) var(--space-16);margin-bottom:var(--space-10)}.contact-card:last-child{margin-bottom:0}.contact-card-name{font-weight:var(--fw-bold);font-size:var(--fs-14);margin-bottom:var(--space-8)}.contact-card-row{display:flex;flex-wrap:nowrap;align-items:center;gap:9px;font-size:var(--fs-12-5);color:var(--text-secondary);padding:5px 0;min-width:0}.contact-card-other-flag-row{padding-top:var(--space-2)}.contact-card-other-flag-row .contact-flag-other-btn{margin-left:0}.detail-ban-btn{flex-shrink:0;border:none;border-radius:var(--radius-sm,6px);padding:3px var(--space-10);font-size:var(--fs-11);cursor:pointer;background:var(--danger-strong);color:#fff}.detail-ban-btn.is-banned{background:var(--bg-surface-alt);color:var(--text-secondary);border:1px solid var(--border-color-strong)}.detail-ban-btn:disabled{opacity:.6;cursor:default}.contact-flag-btn{margin-left:auto;flex-shrink:0;align-self:center;display:flex;align-items:center;gap:9px;background:0 0;border:none;padding:2px 6px 2px 0;font-size:var(--fs-11);color:var(--text-muted);text-decoration:underline;cursor:pointer;line-height:1.3;white-space:nowrap}.contact-flag-btn:disabled{text-decoration:none;cursor:default;opacity:.7}.contact-pdf-export-row-btn{width:100%;margin-bottom:var(--space-8)}.contact-action-row{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--space-8)}.contact-action-btn{display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:11px var(--space-12);border:none;border-radius:var(--radius-lg);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:#fff;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .1s ease,opacity .15s ease}.contact-action-btn:active{transform:scale(.98)}.contact-action-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.contact-action-btn .icon-img{filter:brightness(0) invert(1)}.contact-call-btn{background:var(--success)}.contact-email-btn{background:#2f6fea}.contact-card-row:not(:last-child){border-bottom:1px solid var(--border-color)}.contact-card-row.contact-card-other-flag-row{border-bottom:none}.contact-card-row a{color:#4ea1ff;text-decoration:none}.contact-card-row>a,.contact-card-row>span{flex:1 1 auto;min-width:0}.contact-card-row:not(.contact-card-notes)>a,.contact-card-row:not(.contact-card-notes)>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-card-icon{width:15px;height:15px;flex-shrink:0;filter:var(--icon-tint-filter)}.map-pin-badge{width:26px;height:26px;box-sizing:border-box;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}.pin-confirm-badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 3px;box-sizing:border-box;border-radius:9px;border:2px solid #fff;background:var(--nav-accent);color:#1a1a1a;font-size:var(--fs-10);font-weight:var(--fw-bold);line-height:12px;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.5);z-index:2}.map-pin-glyph{width:14px;height:14px;display:inline-block;background-color:#fff;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.company-marker-icon-wrap{background:#2f8f5b}.company-marker-icon{-webkit-mask-image:url(icons/public.png);mask-image:url(icons/public.png)}.muni-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.muni-stat{display:flex;flex-direction:column;gap:2px}.muni-stat-value{font-family:var(--font-display);font-size:var(--fs-16);font-weight:var(--fw-heavy);color:var(--text-primary)}.muni-stat-label{font-size:var(--fs-10);font-weight:var(--fw-bold);letter-spacing:.3px;text-transform:uppercase;color:var(--text-muted)}.contact-card-row.contact-card-notes{color:var(--text-muted);font-style:italic}.detail-empty{font-size:var(--fs-12-5);color:var(--text-secondary);text-align:center;padding:22px var(--space-16);border:1px dashed var(--border-color-strong);border-radius:var(--radius-lg);background:var(--bg-surface-alt);animation:tileFadeIn var(--dur-med) var(--ease-out)}@keyframes shimmerSweep{0%{background-position:200% 0}100%{background-position:-200% 0}}.detail-loading{position:relative;min-height:38px;border-radius:var(--radius-md);color:transparent;overflow:hidden;background-image:linear-gradient(90deg,var(--bg-surface-alt) 25%,var(--shimmer-highlight) 50%,var(--bg-surface-alt) 75%);background-size:200% 100%;animation:shimmerSweep 1.4s ease-in-out infinite}.detail-export-hint{font-size:var(--fs-12);color:var(--text-secondary);margin:0 0 10px;line-height:1.4}.leaderboard-row{display:flex;align-items:center;gap:var(--space-10);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-10) var(--space-12);margin-bottom:var(--space-8)}.leaderboard-row.rank-1{border-color:#f0b429;background:linear-gradient(90deg,rgba(240,180,41,.12),var(--bg-surface) 40%);box-shadow:0 3px 12px rgba(240,180,41,.22)}.leaderboard-row.rank-2{border-color:#b8c0cc;background:linear-gradient(90deg,rgba(184,192,204,.14),var(--bg-surface) 40%);box-shadow:0 3px 12px rgba(184,192,204,.2)}.leaderboard-row.rank-3{border-color:#c98a4b;background:linear-gradient(90deg,rgba(201,138,75,.12),var(--bg-surface) 40%);box-shadow:0 3px 12px rgba(201,138,75,.2)}.leaderboard-rank{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid;overflow:hidden}.leaderboard-rank img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;padding:var(--space-6)}.leaderboard-rank.tier-level-0{background:var(--bg-surface-alt);border-color:var(--text-muted);color:var(--text-muted)}.leaderboard-rank.tier-level-1{background:#1f2937;border-color:#93c5fd;color:#93c5fd}.leaderboard-rank.tier-level-2{background:#0f3b36;border-color:#5eead4;color:#5eead4}.leaderboard-rank.tier-level-3{background:#123a26;border-color:#5ec98a;color:#5ec98a}.leaderboard-rank.tier-level-4{background:#3a2a0f;border-color:#f0b429;color:#f0b429}.leaderboard-rank.tier-level-5{background:#2a1245;border-color:#c084fc;color:#c084fc}.leaderboard-info{flex:1 1 auto;min-width:0}.leaderboard-name-row{display:flex;align-items:center;gap:var(--space-6)}.leaderboard-name{font-size:var(--fs-13-5);font-weight:var(--fw-bold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-reliability{font-size:var(--fs-11);color:var(--text-muted);margin-top:var(--space-2)}.leaderboard-points{flex-shrink:0;text-align:right}.leaderboard-points-value{font-size:var(--fs-15);font-weight:var(--fw-heavy);color:var(--text-primary)}.leaderboard-points-label{font-size:var(--fs-9);color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.leaderboard-row-admin{align-items:center}.leaderboard-admin-badge{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid;overflow:hidden}.leaderboard-admin-badge.tier-level-1{background:#3a1530;border-color:#f472b6;color:#f472b6}.leaderboard-admin-badge.tier-level-2{background:#3a2210;border-color:#fb923c;color:#fb923c}.leaderboard-admin-badge.tier-level-3{background:#3a1414;border-color:#f87171;color:#f87171}.leaderboard-admin-badge img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;padding:var(--space-8)}.leaderboard-admin-tag{font-size:var(--fs-11);color:var(--text-muted);margin-top:var(--space-2)}.detail-section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-10)}.detail-section-title-row .detail-section-title{margin-bottom:0}.detail-edit-actions{display:flex;gap:var(--space-6)}.detail-delete-btn,.detail-edit-btn{border:none;border-radius:var(--radius-sm);padding:5px 9px;font-size:var(--fs-11);font-weight:var(--fw-bold);cursor:pointer;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;gap:4px}.detail-edit-btn{background:var(--bg-surface-alt);color:var(--text-primary);border:1px solid var(--border-color-strong)}.detail-delete-btn{background:var(--danger-strong);color:#fff}.detail-delete-btn .icon-img{width:14px;height:14px;filter:brightness(0) invert(1)}.detail-edit-btn .icon-img{width:14px;height:14px;filter:var(--icon-tint-filter)}.detail-edit-field{display:flex;flex-direction:column;gap:3px;margin-bottom:var(--space-8)}.detail-edit-field:last-of-type{margin-bottom:0}.detail-edit-field-label{font-size:var(--fs-9);font-weight:var(--fw-bold);letter-spacing:.3px;text-transform:uppercase;color:var(--text-muted)}.detail-edit-field input[type=text],.detail-edit-field select{background:var(--bg-surface-alt);color:var(--text-primary);border:1px solid var(--border-color-strong);border-radius:var(--radius-sm);padding:var(--space-8) 9px;font-size:var(--fs-13);width:100%;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.detail-edit-field input[type=text]:focus,.detail-edit-field select:focus{outline:0;border-color:var(--accent)}.detail-edit-actions-row{display:flex;gap:var(--space-8);margin-top:var(--space-12)}.detail-edit-actions-row button{flex:1;border:none;border-radius:var(--radius-md);padding:9px var(--space-10);font-size:var(--fs-13);font-weight:var(--fw-bold);cursor:pointer}.bottom-muni-bar{display:flex;align-items:center;gap:10px;padding:var(--space-10) var(--space-4);border-bottom:1px solid var(--floating-border);font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--text-primary)}.bottom-muni-bar-pin{width:18px;height:18px;flex-shrink:0;filter:var(--icon-tint-filter);opacity:.75}.bottom-muni-bar-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-muni-stats-row{display:flex;align-items:center;justify-content:space-around;gap:6px;padding:var(--space-8) var(--space-4);border-bottom:1px solid var(--floating-border)}.bottom-muni-stat{display:flex;align-items:center;gap:6px;font-size:var(--fs-12);color:var(--text-secondary)}.bottom-muni-stat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.bottom-muni-stat-val{font-weight:var(--fw-bold);color:var(--text-primary)}.admin-section{border-top:1px solid var(--border-color);padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px)) 20px;display:flex;flex-direction:column;gap:var(--space-10)}.admin-section-title{font-size:var(--fs-10);font-weight:var(--fw-bold);letter-spacing:.4px;text-transform:uppercase;color:var(--text-muted)}.section-title-gap{margin-top:var(--space-14)}.activity-feed-list{display:flex;flex-direction:column;gap:var(--space-8);margin-bottom:var(--space-8)}.activity-feed-item{background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-12);display:flex;align-items:flex-start;gap:var(--space-8);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,opacity .1s ease}.activity-feed-item:active{transform:scale(.98);opacity:.85}.activity-feed-icon{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-surface)}.activity-feed-icon img{width:16px;height:16px}.activity-feed-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.activity-feed-line1{font-size:var(--fs-13);font-weight:var(--fw-semibold)}.activity-feed-line2{font-size:var(--fs-11);color:var(--text-muted)}.activity-feed-flag-badge{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:var(--fs-9-5);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.2px;padding:var(--space-4) 7px 3px;border-radius:var(--radius-lg);background:var(--danger-strong);color:#fff;margin-left:var(--space-6)}.uc-list{display:flex;flex-direction:column;gap:var(--space-8)}.uc-item{background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-12);display:flex;flex-direction:column;gap:var(--space-4)}.uc-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-8);cursor:pointer}.uc-item-name{font-weight:var(--fw-bold);font-size:var(--fs-13)}.uc-item-muni{font-size:var(--fs-11);color:var(--text-muted)}.uc-item-cats{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-2)}.uc-flag-warning{margin-top:var(--space-6);font-size:var(--fs-12);color:var(--danger-strong);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.uc-cat-chip{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:var(--fs-9-5);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.2px;padding:5px 7px var(--space-4);border-radius:var(--radius-lg);color:#fff}.uc-cat-chip-empty{background:var(--text-muted)!important}.uc-muni-missing-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding:0 10px 8px 22px;margin-top:-2px}.uc-muni-missing-label{font-size:var(--fs-9-5);color:var(--text-muted);font-weight:var(--fw-semibold)}.acct-req-item{background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-12);display:flex;flex-direction:column;gap:var(--space-4)}.acct-req-name{font-weight:var(--fw-bold);font-size:var(--fs-13)}.acct-req-name-link{cursor:pointer;color:var(--accent);width:fit-content;-webkit-tap-highlight-color:transparent}.acct-req-name-link:active{opacity:.7}.acct-req-meta{font-size:var(--fs-11);color:var(--text-muted)}.acct-req-actions{display:flex;gap:var(--space-8);margin-top:var(--space-6)}.acct-req-actions button{flex:1;padding:var(--space-8) var(--space-10);font-size:var(--fs-12)}.uc-cat-chip-missing{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:var(--fs-9-5);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.2px;padding:var(--space-4) 7px 3px;border-radius:var(--radius-lg);background:0 0;border:1px solid var(--border-color-strong);color:var(--text-secondary)}.uc-cat-chip-add{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,opacity .1s ease}.uc-cat-chip-add:focus-visible,.uc-cat-chip-add:hover{opacity:.8;transform:translateY(-1px)}.uc-cat-chip-add:active{transform:translateY(0);opacity:.65}.uc-cat-chip-add.uc-cat-chip-covered{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:var(--fs-9-5);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.2px;padding:var(--space-4) 7px 3px;border-radius:var(--radius-lg);background:0 0;border:1px dashed var(--border-color-strong);color:var(--text-muted)}.uc-item-actions{display:flex;gap:var(--space-6);flex-shrink:0}.admin-action-btn,.photo-review-actions button,.uc-item-actions button{border:none;border-radius:var(--radius-sm);padding:7px var(--space-10);font-size:var(--fs-12);font-weight:var(--fw-semibold);cursor:pointer}.uc-continent-list{display:flex;flex-direction:column;gap:var(--space-8)}.uc-continent-group{border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-surface-alt)}.uc-continent-group>summary{list-style:none;cursor:pointer;padding:11px var(--space-12);display:flex;align-items:center;gap:var(--space-8);font-weight:var(--fw-bold);font-size:var(--fs-14);text-transform:uppercase;letter-spacing:.02em}.uc-continent-group>summary::-webkit-details-marker{display:none}.uc-continent-group>.uc-group-list{padding:0 8px 8px}.uc-group-list{display:flex;flex-direction:column;gap:var(--space-8)}.uc-country-group{border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-surface)}.uc-muni-count-label{font-weight:var(--fw-regular);font-size:var(--fs-11);color:var(--text-muted)}.uc-country-group>summary{list-style:none;cursor:pointer;padding:var(--space-10) var(--space-12);display:flex;align-items:center;gap:var(--space-8);font-weight:var(--fw-bold);font-size:var(--fs-13);background:var(--bg-surface-alt)}.uc-country-group>summary::-webkit-details-marker{display:none}.uc-muni-group{border-top:1px solid var(--border-color)}.uc-muni-group:first-of-type{border-top:none}.uc-muni-group>summary{list-style:none;cursor:pointer;padding:9px var(--space-12) 9px 22px;display:flex;align-items:center;gap:var(--space-8);font-weight:var(--fw-semibold);font-size:var(--fs-12);color:var(--text-secondary)}.uc-muni-group>summary::-webkit-details-marker{display:none}.uc-group-chevron{display:inline-flex;align-items:center;justify-content:center;width:9px;height:9px;flex-shrink:0;transition:transform .15s ease;transform:rotate(90deg)}.uc-group-chevron img{width:100%;height:100%;display:block;filter:var(--icon-tint-filter)}details[open]>summary .uc-group-chevron{transform:rotate(180deg)}.settings-group{border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;background:var(--bg-surface-alt)}.settings-group>summary{list-style:none;cursor:pointer;padding:13px var(--space-14);display:flex;align-items:center;gap:var(--space-8);font-weight:var(--fw-bold);font-size:var(--fs-13);color:var(--text-primary)}.settings-group>summary::-webkit-details-marker{display:none}.settings-group-icon{width:15px;height:15px;flex-shrink:0;filter:var(--icon-tint-filter);opacity:.85}.settings-group-sub{font-weight:var(--fw-regular);font-size:var(--fs-11);color:var(--text-muted)}.settings-group-chevron{display:inline-flex;align-items:center;justify-content:center;width:9px;height:9px;flex-shrink:0;margin-left:auto;transition:transform .15s ease;transform:rotate(90deg)}.settings-group-chevron img{width:100%;height:100%;display:block;filter:var(--icon-tint-filter)}details.settings-group[open]>summary .settings-group-chevron{transform:rotate(180deg)}.settings-group-body{padding:0 12px 12px;display:flex;flex-direction:column;gap:12px}.settings-group-body .detail-section{background:var(--bg-surface)}.notif-type-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-10);padding:8px 0;font-size:var(--fs-12-5)}.notif-type-row:not(:last-child){border-bottom:1px solid var(--border-color)}.notif-type-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.notif-type-row-desc{font-size:var(--fs-10-5);color:var(--text-muted)}.saved-area-row{display:flex;gap:var(--space-8);flex-wrap:wrap;margin-top:var(--space-10)}.saved-area-status{font-size:var(--fs-12);color:var(--text-secondary);margin-top:var(--space-8)}.uc-muni-items{display:flex;flex-direction:column;gap:var(--space-8);padding:0 10px 10px}.uc-country-count{font-weight:var(--fw-regular);font-size:var(--fs-11);color:var(--text-muted);margin-left:auto}.uc-country-search-wrap{position:relative;margin:var(--space-10) var(--space-12)}.uc-country-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:14px;height:14px;opacity:.55;filter:var(--icon-tint-filter);pointer-events:none}input.uc-country-search-input{width:100%;box-sizing:border-box;padding:var(--space-10) var(--space-12) var(--space-10) 32px;border-radius:var(--radius-lg);border:1.5px solid var(--accent);background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-13);animation:uc-search-breathe 2.6s ease-in-out infinite}.uc-country-search-input::placeholder{color:var(--text-muted)}.uc-country-search-input:focus{outline:0;animation:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}@keyframes uc-search-breathe{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 35%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 12%,transparent)}}.uc-muni-all-verified{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;flex-shrink:0;background:var(--success);color:#fff;font-size:var(--fs-10);font-weight:var(--fw-bold)}.uc-muni-add-btn{flex-shrink:0;width:24px;height:24px;line-height:22px;padding:0;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:var(--fs-15);font-weight:var(--fw-bold);cursor:pointer}.uc-form{display:flex;flex-direction:column;gap:var(--space-8);background:var(--bg-surface);border:1.5px solid var(--accent);border-radius:var(--radius-lg);padding:var(--space-12);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.uc-form-muni-label{font-size:var(--fs-11);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.3px;color:var(--accent)}.uc-item.is-editing{border-color:var(--accent);border-width:1.5px;background:color-mix(in srgb,var(--accent) 9%,var(--bg-surface-alt));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.uc-cat-checks{display:flex;flex-wrap:wrap;gap:var(--space-6)}.uc-cat-check{display:flex;align-items:center;gap:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:5px var(--space-8);font-size:var(--fs-11-5);cursor:pointer;user-select:none}.uc-cat-check input{margin:0}.uc-cat-check-disabled{opacity:.45;cursor:not-allowed}.uc-cat-check-disabled input{cursor:not-allowed}.uc-form-row{display:flex;gap:var(--space-8)}.uc-form-row textarea{width:100%;padding:11px var(--space-10);border:none;border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-13);font-family:inherit;resize:vertical;min-height:44px}.uc-multi-field{display:flex;flex-direction:column;gap:var(--space-6)}.uc-multi-field-label{font-size:var(--fs-11);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted)}.uc-multi-list{display:flex;flex-direction:column;gap:var(--space-6)}.uc-multi-row{display:flex;gap:var(--space-6);align-items:center}.uc-multi-row-value{flex:1 1 55%;min-width:0}.uc-multi-row-label{flex:1 1 35%;min-width:0}.uc-multi-row-remove{flex-shrink:0;width:26px;height:26px;padding:0;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-surface);cursor:pointer;display:flex;align-items:center;justify-content:center}.uc-multi-row-remove:active{background:var(--border-color-strong)}.uc-multi-row-remove .icon-img{width:14px;height:14px;filter:var(--icon-tint-filter)}.uc-multi-add-btn{align-self:flex-start}.contact-card-entry-label{color:var(--text-muted);font-weight:var(--fw-bold);margin-right:5px}.uc-verify-btn{width:100%;margin-top:var(--space-2);padding:13px var(--space-12);background:var(--danger);color:#fff;font-weight:var(--fw-heavy);letter-spacing:.2px;text-transform:uppercase}.uc-verify-btn:active{background:color-mix(in srgb,var(--danger) 78%,#000)}.uc-verify-status{font-size:var(--fs-11-5);font-weight:var(--fw-semibold);text-align:center;padding:2px 0}.uc-verify-status.is-verified{color:var(--success)}.uc-verify-status.is-unverified{color:var(--text-muted)}.uc-verified-chip{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:var(--fs-9-5);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.2px;padding:5px 7px var(--space-4);border-radius:var(--radius-lg);color:#fff;background:var(--success)}.uc-unverified-chip{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:var(--fs-9-5);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.2px;padding:5px 7px var(--space-4);border-radius:var(--radius-lg);color:#fff;background:#8a8a8a}.report-comment-row{display:flex;align-items:center;gap:var(--space-8)}.report-comment-row #comment{flex:1 1 auto;min-width:0}.photo-choice-dropdown{position:relative;flex:0 0 auto;display:flex;gap:var(--space-6)}.report-photo-preview{position:relative;display:flex;width:100%}.report-photo-preview img{width:100%;max-height:160px;object-fit:cover;border-radius:var(--radius-md);display:block}.report-photo-remove{position:absolute;top:6px;right:6px;width:26px;height:26px;border:none;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:var(--fs-14);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.detail-photo-wrap{border-radius:var(--radius-md);overflow:hidden}.detail-photo-img:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.detail-photo-img{width:100%;max-height:260px;object-fit:cover;display:block;cursor:pointer}.photo-status-badge{display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-9-5);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.2px;line-height:1;padding:3px var(--space-6) 1px;border-radius:var(--radius-lg);color:#fff;margin-left:var(--space-6);vertical-align:middle}.photo-status-badge.pending{background:var(--accent)}.photo-status-badge.rejected{background:var(--danger-strong)}.photo-status-badge.approved{background:var(--success)}.flagged-report-card,.photo-review-card{display:flex;align-items:center;gap:var(--space-10);padding:var(--space-10);border-radius:var(--radius-md);background:var(--bg-surface-alt);margin-bottom:var(--space-8);flex-wrap:wrap}.photo-review-thumb{width:56px;height:56px;border-radius:var(--radius-sm);overflow:hidden;flex:0 0 auto;background:var(--bg-surface);display:flex;align-items:center;justify-content:center}.photo-review-thumb img{width:100%;height:100%;object-fit:cover;cursor:pointer}.photo-review-meta{flex:1 1 140px;min-width:0}.photo-review-title{font-size:var(--fs-13);font-weight:var(--fw-bold);color:var(--text-primary)}.photo-review-sub{font-size:var(--fs-11-5);color:var(--text-secondary);margin-top:var(--space-2)}.photo-review-actions{display:flex;gap:var(--space-6);flex-wrap:wrap}.flag-report-form{display:flex;flex-direction:column;gap:var(--space-8);background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-12);margin-top:var(--space-8)}.flag-report-form textarea{width:100%;padding:11px var(--space-10);border:none;border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-13);font-family:inherit;resize:vertical;min-height:60px;box-sizing:border-box}.flag-report-form-row{display:flex;gap:var(--space-8)}.flag-report-note{font-size:var(--fs-12);color:var(--text-secondary);background:var(--bg-surface-alt);border-radius:var(--radius-md);padding:var(--space-10);margin-top:var(--space-8)}.report-flag-history{display:flex;flex-direction:column;gap:var(--space-6);margin-top:var(--space-6);width:100%}.report-flag-history-item{font-size:var(--fs-12);background:var(--bg-surface);border-radius:var(--radius-sm);padding:var(--space-6) var(--space-8)}.report-flag-history-meta{color:var(--text-muted);font-size:var(--fs-11);margin-top:var(--space-2)}.popup-note-row{display:flex;align-items:flex-start;gap:var(--space-6);margin:var(--space-4) var(--space-8) var(--space-6) var(--space-8)}.popup-note-row .popup-note{margin:0;flex:1 1 auto}.detail-section .popup-note-row{margin-left:0;margin-right:0}.icon-only-btn{flex:0 0 auto;width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--border-color-strong);background:var(--bg-surface);padding:0}.icon-only-btn .icon-img{width:16px;height:16px;filter:var(--icon-tint-filter)}.icon-only-btn:hover{background:var(--bg-surface-alt)}.icon-only-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.icon-only-btn:disabled:hover{background:var(--bg-surface)}.poi-contact-icons{display:flex;gap:var(--space-8);padding:2px 0 4px 0}.poi-contact-icon-btn{flex:0 0 auto;width:36px;height:36px;border:1px solid var(--border-color);background:var(--bg-surface-alt);text-decoration:none}.poi-contact-icon-btn img{width:17px;height:17px;filter:var(--icon-tint-filter);opacity:.85}.poi-contact-icon-btn:active{background:var(--border-color-strong)}#reportPhotoAddBtn,#reportPhotoGalleryBtn{width:var(--form-control-h);height:var(--form-control-h)}#reportPhotoAddBtn .icon-img,#reportPhotoGalleryBtn .icon-img{width:55%;height:55%}#dateRangePicker{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px!important}.flatpickr-calendar{background:var(--bg-surface)!important;border:1px solid var(--border-color-strong)!important;box-shadow:0 12px 32px rgba(0,0,0,.6)!important;border-radius:12px!important;font-family:inherit!important}.flatpickr-months .flatpickr-month,.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{color:var(--text-primary)!important;fill:var(--text-primary)!important}.flatpickr-months .flatpickr-next-month:hover,.flatpickr-months .flatpickr-prev-month:hover{background:var(--bg-surface-alt)!important}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:var(--text-primary)!important}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:var(--text-primary)!important}span.flatpickr-weekday{background:var(--bg-surface)!important;color:var(--text-muted)!important;font-weight:700!important}.flatpickr-day{color:var(--text-primary)!important}.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day:hover{background:var(--bg-surface-alt)!important;border-color:var(--bg-surface-alt)!important;color:var(--text-primary)!important}.flatpickr-day.nextMonthDay,.flatpickr-day.prevMonthDay{color:var(--text-muted)!important}.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.today.inRange{background:var(--accent)!important;border-color:transparent!important;border-radius:0!important}.onboarding-overlay{position:fixed;inset:0;z-index:960}.onboarding-spotlight{position:fixed;border-radius:var(--radius-2xl);box-shadow:0 0 0 9999px rgba(0,0,0,.62);transition:top var(--dur-med) var(--ease-out),left var(--dur-med) var(--ease-out),width var(--dur-med) var(--ease-out),height var(--dur-med) var(--ease-out);pointer-events:none}.onboarding-tooltip{position:fixed;width:260px;max-width:calc(100vw - 24px);background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-xl);box-shadow:0 8px 28px rgba(0,0,0,.35);padding:var(--space-14) var(--space-16);display:none}.onboarding-tooltip.step-enter{animation:modalPopIn var(--dur-fast) var(--ease-out)}.onboarding-tooltip-progress{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:var(--space-8)}.onboarding-tooltip-dots{display:flex;align-items:center;gap:6px}.onboarding-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--border-color-strong);transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.onboarding-dot.active{background:var(--accent);transform:scale(1.4)}.onboarding-tooltip-step{font-size:var(--fs-11);font-weight:var(--fw-semibold);color:var(--text-muted);letter-spacing:.03em;margin-bottom:0}.onboarding-tooltip-title{font-size:var(--fs-15);font-weight:var(--fw-bold);margin-bottom:var(--space-4)}.onboarding-tooltip-text{font-size:var(--fs-13);color:var(--text-secondary);line-height:1.4;margin-bottom:var(--space-12)}.onboarding-tooltip-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.onboarding-skip-btn{background:0 0;padding:var(--space-6) var(--space-2);font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--text-secondary)}.onboarding-next-btn{background:var(--accent-gradient);color:var(--accent-contrast);border-radius:var(--radius-pill);padding:var(--space-8) 18px;box-shadow:var(--shadow-accent)}