:root{--bg:#f4efe6;--bg-card:#0b1320d6;--bg-card-hover:#0b1320f0;--bg-input:#0a111dd6;--text:#f8fafc;--text-dim:#e2e8f0bd;--text-muted:#cbd5e194;--text-primary:var(--text);--text-secondary:var(--text-dim);--text-soft:var(--text-dim);--accent:#d95d39;--accent-hover:#c44f2e;--accent-glow:#d95d393d;--primary-color:var(--accent);--danger:#e05a47;--success:#1f9d74;--warning:#df9a2b;--border:#ffffff1f;--border-strong:#fff3;--surface:var(--bg-card);--surface-hover:var(--bg-card-hover);--surface-active:#d95d3929;--surface-subtle:#ffffff0d;--surface-raised:#ffffff0f;--surface-header:#ffffff0a;--surface-danger-soft:#e05a472e;--surface-warning-soft:#df9a2b29;--surface-success-soft:#1f9d7429;--radius:18px;--radius-sm:10px;--radius-lg:30px;--shadow:0 16px 40px #0f172a24;--shadow-lg:0 28px 70px #0f172a47;--font-sans:"Noto Sans Thai", "Inter", system-ui, sans-serif;--transition:.24s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-sans);color:#102033;-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 0 0,#d95d391f,#0000 28%),radial-gradient(circle at 100% 100%,#1f9d741f,#0000 30%),linear-gradient(135deg,#f4efe6 0%,#ece3d5 52%,#e4d7c2 100%);overflow:hidden}body{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{width:100%;min-height:100vh;padding:0;overflow:hidden}.app-map-area{width:100%;height:100vh}.map-container{width:100%;height:100%;box-shadow:none;background:0 0;border:none;border-radius:0;position:relative;overflow:hidden}.map-shell{position:absolute;inset:0;overflow:hidden}.map-shell-glow{z-index:0;pointer-events:none;filter:blur(80px);opacity:.45;border-radius:999px;position:absolute}.map-shell-glow-a{background:#d95d3947;width:280px;height:280px;top:-80px;left:-40px}.map-shell-glow-b{background:#1f9d7438;width:320px;height:320px;bottom:-110px;right:-90px}.map-canvas{z-index:1;position:absolute;inset:0}.map-eyebrow{color:#ffd9cd;letter-spacing:.06em;text-transform:uppercase;background:#d95d3929;border-radius:999px;align-items:center;padding:6px 10px;font-size:.75rem;font-weight:800;display:inline-flex}.map-status-dot,.map-legend i{border-radius:999px;flex-shrink:0;width:12px;height:12px;display:inline-flex}.map-status-dot.pending,.map-legend i.pending{background:#6b7280}.map-status-dot.sold,.map-legend i.sold{background:var(--success)}.map-status-dot.stock-high,.map-legend i.stock-high{background:#0ea5e9}.map-status-dot.retry,.map-legend i.retry{background:var(--warning)}.map-status-dot.unsold,.map-legend i.unsold{background:var(--danger)}.map-fab-group{z-index:1000;flex-direction:column;gap:12px;display:flex;position:absolute;top:28px;right:20px}.map-type-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1010;background:#0a121fe0;border:1px solid #ffffff29;border-radius:18px;gap:4px;width:160px;padding:8px;animation:.24s cubic-bezier(.16,1,.3,1) map-menu-slide;display:grid;position:absolute;top:0;right:50px;box-shadow:0 14px 40px #090f1b52}@keyframes map-menu-slide{0%{opacity:0;transform:translate(10px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}.map-type-menu-item{color:#f8fafcd6;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 12px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.map-type-menu-item:hover{color:#fff;background:#ffffff14}.map-type-menu-item.active{color:#60a5fa;background:#3b82f629;border-color:#3b82f652}.map-route-toolbar{z-index:1000;pointer-events:none;justify-content:center;display:flex;position:absolute;top:18px;left:0;right:0}.app-bottom-menubar{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);z-index:1010;pointer-events:none;position:absolute;transform:translate(-50%)}.map-zoom-controls{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:1000;background:#0a121fd9;border:1px solid #ffffff24;border-radius:100px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 6px 20px #090f1b59}.map-topleft-group{z-index:1000;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;top:28px;left:20px}.map-zoom-btn{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:26px;height:26px;transition:background .2s;display:flex}.map-zoom-divider{background:#ffffff24;width:14px;height:1px;margin:0 auto}.map-zoom-btn:first-child{border-bottom:1px solid #ffffff14}.map-zoom-btn:hover{background:#3b82f6b8;transform:scale(1.05)}.map-zoom-btn:active{transform:scale(.95)}.app-bottom-menubar-inner{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;background:#fffffff0;border:1px solid #e2e8f0f5;border-radius:28px;justify-content:center;align-items:center;width:min(92vw,420px);min-height:74px;padding:8px;display:flex;box-shadow:0 18px 40px #94a3b82e,inset 0 6px 18px #fff6}.app-mobile-nav{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:4px;width:100%;display:grid}.app-mobile-nav-item{color:#c7cfdf;background:0 0;border:1px solid #0000;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:58px;padding:8px 8px 6px;text-decoration:none;transition:background .2s,color .2s;display:flex}.app-mobile-nav-item:hover{color:#7f8aa3;background:#3b82f60f}.app-mobile-nav-item.is-active{color:#2563eb;background:#2563eb0f}.app-mobile-nav-icon{opacity:.92;justify-content:center;align-items:center;width:22px;height:22px;line-height:1;display:inline-flex}.app-mobile-nav-icon svg{width:22px;height:22px;display:block}.app-mobile-nav-label{letter-spacing:0;font-size:10px;font-weight:500}.account-slot{min-width:0}.user-menu{width:100%;position:relative}.user-menu-trigger{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-width:248px;min-height:48px;color:var(--text);cursor:pointer;background:linear-gradient(#0f1b2cf5,#09111deb);border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:10px;padding:8px 10px 8px 8px;transition:transform .2s,border-color .2s,box-shadow .2s;display:inline-flex;box-shadow:inset 0 1px #ffffff0f,0 14px 34px #0f172a47}.user-menu-trigger:hover{border-color:#ffffff2e;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff14,0 18px 42px #0f172a57}.user-menu-trigger-compact{width:100%;min-width:0;min-height:58px;box-shadow:none;color:#c7cfdf;background:0 0;border:1px solid #0000;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 8px 6px;display:flex}.user-menu-bottom .user-menu-trigger.user-menu-trigger-compact{-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;min-width:0;min-height:58px;box-shadow:none;color:#c7cfdf;background:0 0;border:1px solid #0000;border-radius:20px;gap:4px;padding:8px 8px 6px}.user-menu-trigger-compact .user-menu-avatar{width:24px;height:24px;box-shadow:none;background:linear-gradient(145deg,#3b82f6,#1d4ed8)}.user-menu-compact-label{letter-spacing:0;color:#c7cfdf;font-size:10px;font-weight:500}.user-menu-trigger-compact:hover,.user-menu-bottom .user-menu-trigger.user-menu-trigger-compact:hover{box-shadow:none;background:#2563eb0f;border-color:#0000;transform:none}.user-menu.user-menu-bottom.is-open .user-menu-trigger-compact{background:#2563eb0f}.user-menu.user-menu-bottom.is-open .user-menu-compact-label,.user-menu.user-menu-bottom.is-open .user-menu-trigger-compact{color:#2563eb}.user-menu.user-menu-bottom.is-open .user-menu-trigger-compact .user-menu-avatar{box-shadow:0 0 0 2px #2563eb2e}.user-menu-bottom .user-menu-trigger:not(.user-menu-trigger-compact){background:linear-gradient(#101b2bf5,#0a121fe6);border-color:#ffffff1f;border-radius:999px;min-width:272px}.user-menu-avatar{color:#fff7f3;background:linear-gradient(145deg,#d95d39,#bc4425);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:inline-flex;overflow:hidden;box-shadow:0 0 0 2px #ffffff14}.user-menu-avatar-image{object-fit:cover;width:100%;height:100%;display:block}.user-menu-copy{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.user-menu-copy strong{white-space:nowrap;text-overflow:ellipsis;max-width:126px;font-size:13px;font-weight:700;line-height:1.2;overflow:hidden}.user-menu-copy span{color:#cbd5e1a3;letter-spacing:.02em;font-size:10px;line-height:1.2}.user-menu-status{letter-spacing:.08em;text-transform:uppercase;border:1px solid #ffffff14;border-radius:999px;flex-shrink:0;padding:6px 9px;font-size:9px;font-weight:800;line-height:1}.user-menu-status.is-linked{color:#b8ffd3;background:#06c7551f;border-color:#06c7553d}.user-menu-status.is-unlinked{color:#e2e8f0db;background:#94a3b81f;border-color:#94a3b838}.user-menu-caret{color:var(--text-soft);flex-shrink:0}.user-menu-backdrop{z-index:0;background:0 0;border:0;padding:0;position:fixed;inset:0}.user-menu-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:1;background:radial-gradient(circle at 100% 0,#d95d3924,#0000 34%),linear-gradient(#0c1625fa,#080f19f5);border:1px solid #ffffff1f;border-radius:22px;gap:6px;min-width:280px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 22px 48px #0f172a61}.user-menu-bottom .user-menu-panel{inset:auto auto calc(100% + 10px) 50%;transform:translate(-50%)}.user-menu-panel-head{border-bottom:1px solid #ffffff14;gap:10px;padding:10px 12px 12px;display:grid}.user-menu-panel-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-soft);font-size:10px}.user-menu-panel-head strong{color:var(--text);font-size:15px}.user-menu-panel-sub{color:var(--text-soft);font-size:11px}.user-menu-panel-profile{align-items:center;gap:12px;display:flex}.user-menu-panel-avatar{color:#fff;background:linear-gradient(145deg,#d95d39,#bc4425);border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;font-size:15px;font-weight:800;display:inline-flex;overflow:hidden;box-shadow:0 0 0 2px #ffffff14}.user-menu-panel-copy{gap:3px;min-width:0;display:grid}.user-menu-panel-tags{flex-wrap:wrap;gap:8px;display:flex}.user-menu-tag{color:#f1f5f9db;letter-spacing:.06em;text-transform:uppercase;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:10px;font-weight:700;display:inline-flex}.user-menu-tag.is-line{color:#bcffd7;background:#06c7551f;border-color:#06c7553d}.user-menu-tag.is-muted{color:#cbd5e1b8}.user-menu-item{width:100%;min-height:54px;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:16px;align-items:flex-start;gap:12px;padding:0 12px;text-decoration:none;display:inline-flex}.user-menu-item:hover{background:#ffffff0f}.user-menu-item.danger{color:#ffd7cf}.user-menu-item-icon{width:30px;height:30px;color:var(--text-soft);background:#ffffff0f;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-top:11px;display:inline-flex}.user-menu-item-copy{gap:3px;min-width:0;padding:10px 0;display:grid}.user-menu-item-copy strong{font-size:13px;font-weight:700;line-height:1.2}.user-menu-item-copy span{color:#cbd5e1b8;font-size:11px;line-height:1.45}.map-route-picker{pointer-events:auto;min-width:160px;max-width:min(420px,100% - 132px);display:flex}.map-render-status{color:#f8fafce6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a121fb8;border:1px solid #ffffff24;border-radius:999px;flex:none;align-items:center;min-height:38px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 12px 24px #090f1b24}.map-route-tools{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.map-search-input,.map-status-filter{color:#f8fafcf0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-height:38px;font:inherit;background:#0a121fb8;border:1px solid #ffffff29;border-radius:999px;padding:0 12px;box-shadow:0 12px 24px #090f1b24}.map-search-input{min-width:220px}.map-search-input::placeholder{color:#f8fafc8f}.map-route-picker-shell{background:linear-gradient(#fffffff2,#ffffffd1);border:1px solid #ffffffb8;border-radius:18px;align-items:center;min-height:46px;padding:0 48px 0 14px;display:flex;position:relative;box-shadow:0 10px 22px #090f1b1a,inset 0 1px #ffffffdb}.map-route-picker-dot{background:var(--route-group-accent,#d95d39);width:10px;height:10px;box-shadow:0 0 0 6px color-mix(in srgb, var(--route-group-accent,#d95d39) 18%, transparent);border-radius:999px;flex-shrink:0}.map-route-picker select{color:#102033;width:100%;min-height:46px;font:inherit;appearance:none;box-shadow:none;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;padding:0 10px;font-size:14px;font-weight:800;overflow:hidden}.map-route-picker select:focus{outline:none}@media (max-width:420px){.map-route-picker select{min-height:42px;font-size:13px}}.map-route-picker-shell:focus-within{border-color:color-mix(in srgb, var(--route-group-accent,#d95d39) 68%, #ffffffb8);box-shadow:0 0 0 4px color-mix(in srgb, var(--route-group-accent,#d95d39) 18%, transparent), 0 10px 22px #090f1b1a, inset 0 1px 0 #ffffffdb}.map-route-picker-count{background:color-mix(in srgb, var(--route-group-accent,#d95d39) 16%, white);min-width:24px;height:24px;color:color-mix(in srgb, var(--route-group-accent,#d95d39) 72%, #102033);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 7px;font-size:11px;font-weight:900;display:inline-flex}.map-route-picker-arrow{color:#102033bd;pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.map-filter-chip{color:#f8fafce0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font:inherit;cursor:pointer;transition:transform var(--transition), background var(--transition), border-color var(--transition);background:#0a121fc7;border:1px solid #ffffff2e;border-radius:999px;flex:none;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 12px 24px #090f1b2e}.map-filter-chip i{background:var(--route-group-accent,#fff6);width:9px;height:9px;box-shadow:0 0 0 4px color-mix(in srgb, var(--route-group-accent,#94a3b8) 18%, transparent);border-radius:999px}.map-filter-chip span{color:#fff;background:#ffffff1f;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.map-filter-chip.is-active{background:color-mix(in srgb, var(--route-group-accent,#d95d39) 28%, #0a121feb);border-color:color-mix(in srgb, var(--route-group-accent,#d95d39) 72%, #ffffff38);transform:translateY(-1px)}.map-filter-chip-manage{color:#fff7f3;background:linear-gradient(145deg,#d95d39eb,#bc4425e0);border-color:#ffd6c957}.map-fab{width:58px;height:58px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform var(--transition), background var(--transition);background:linear-gradient(145deg,#0a121fdb,#0a121fa8);border:1px solid #ffffff29;border-radius:22px;justify-content:center;align-items:center;font-size:26px;display:flex;box-shadow:0 18px 36px #090f1b38}.map-fab:hover{background:var(--bg-card-hover);transform:translateY(-2px)scale(1.02)}.map-fab-primary{color:#fff7f3;background:linear-gradient(145deg,#d95d39,#bc4425);font-size:30px}.map-fab-compact{border-radius:10px;width:26px;height:26px;font-size:14px}.map-fab-compact svg{width:14px;height:14px}.map-fab-primary.map-fab-compact{font-size:18px}.map-fab-danger{color:#fff7f7;background:linear-gradient(145deg,#e05a47eb,#b93525e0)}.map-fab:disabled{opacity:.65;cursor:not-allowed;transform:none}.map-fab-active{color:#60a5fa;background:#3b82f63d;border-color:#3b82f673}.map-fab-special{color:#c8fff7;background:#0f766e33;border-color:#2dd4bf42}.leaflet-control-rotate{display:none!important}.store-marker,.leaflet-div-icon.store-marker,.leaflet-marker-icon.store-marker{background:0 0!important;border:none!important;overflow:visible!important}.user-location-marker,.leaflet-div-icon.user-location-marker,.leaflet-marker-icon.user-location-marker{pointer-events:none!important;background:0 0!important;border:none!important;overflow:visible!important}.store-marker-wrap{width:var(--marker-width,40px);height:var(--marker-height,50px);position:relative}.draft-pin-overlay{z-index:900;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.draft-pin-wrap{filter:drop-shadow(0 16px 28px #e05a4747)}.draft-pin-wrap[style*=\#0f766e]{filter:drop-shadow(0 16px 28px #0f766e4d)}.draft-pin-emoji{justify-content:center;align-items:center;height:100%;display:flex}.store-marker-pin{width:var(--marker-width,40px);height:var(--marker-height,50px);justify-content:center;align-items:center;display:flex;position:relative}.store-marker-radar{top:calc(var(--marker-pin-height,36px) * .5 - 1px);left:calc(var(--marker-width,40px) * .5);width:calc(var(--marker-pin-width,36px) * .95);height:calc(var(--marker-pin-height,36px) * .95);border:2px solid color-mix(in srgb, var(--marker-radar-color,#10b981) 82%, white 18%);background:color-mix(in srgb, var(--marker-radar-color,#10b981) 14%, transparent);opacity:0;pointer-events:none;border-radius:999px;animation:2.4s ease-out infinite marker-radar-ping;position:absolute;transform:translate(-50%,-50%)scale(.45)}.store-marker-radar-delay{animation-delay:1.2s}.store-marker-pin:before{content:"";top:0;left:var(--marker-pin-left,2px);width:var(--marker-pin-width,36px);height:var(--marker-pin-height,36px);background:var(--marker-color,#6b7280);transition:transform var(--transition);border:2px solid #ffffff57;border-radius:50% 50% 50% 0;position:absolute;transform:rotate(-45deg);box-shadow:0 8px 18px #0000003d}.store-marker-pin:hover:before{transform:rotate(-45deg)scale(1.12)}.store-marker-emoji{z-index:2;margin-top:calc(var(--marker-height,50px) * -.2);font-size:var(--marker-icon-size,16px);filter:drop-shadow(0 1px 2px #0000004d);position:relative}.special-marker-wrap .store-marker-pin:before{background:radial-gradient(circle at 34% 28%, #ffffff47, transparent 40%), linear-gradient(160deg, color-mix(in srgb, var(--marker-color,#0ea5a4) 82%, #34d399 18%), var(--marker-color,#0ea5a4));border:2px solid #ecfdf5eb;box-shadow:0 10px 24px #0d948857,0 0 0 4px #2dd4bf1f}.special-marker-wrap .store-marker-emoji{filter:drop-shadow(0 1px 1px #00000038)}.special-marker-radar{background:color-mix(in srgb, var(--marker-radar-color,#0ea5a4) 18%, transparent);border-width:3px;animation-duration:2s}.special-marker-pin{filter:drop-shadow(0 6px 14px #0d948842)}.special-marker-emoji svg{overflow:visible}.special-marker-tooltip{border-color:#2dd4bf52!important;box-shadow:0 14px 28px #0d948833!important}.special-marker-popup .leaflet-popup-content-wrapper{box-shadow:none;background:0 0;border-radius:18px;padding:0}.special-marker-popup .leaflet-popup-content{margin:0}.special-marker-popup .leaflet-popup-tip{box-shadow:none;background:#0a121ff5}.special-marker-popup .leaflet-popup-close-button{background:#ffffff0f;border-radius:999px;justify-content:center;align-items:center;color:#e2e8f0c7!important;width:26px!important;height:26px!important;display:flex!important;top:10px!important;right:10px!important}.special-marker-popup-card{background:radial-gradient(circle at 100% 0,#2dd4bf2e,#0000 45%),linear-gradient(#0a121ffa,#0a121ff0);border:1px solid #2dd4bf38;border-radius:18px;gap:8px;min-width:220px;max-width:260px;padding:16px 18px;display:grid;box-shadow:0 18px 34px #070c1657}.special-marker-popup-badge{color:#c8fff7;letter-spacing:.06em;text-transform:uppercase;background:#2dd4bf24;border-radius:999px;width:fit-content;padding:5px 10px;font-size:10px;font-weight:800;display:inline-flex}.special-marker-popup-card strong{color:#fff;font-size:16px;font-weight:800;line-height:1.25}.special-marker-popup-card p{color:#e2e8f0d1;margin:0;font-size:12px;line-height:1.55}.special-marker-popup-meta{color:#cbd5e1bd;align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.special-marker-popup-swatch{background:var(--special-marker-popup-color,#0ea5a4);border-radius:999px;width:12px;height:12px;box-shadow:0 0 0 2px #ffffff14}.special-marker-popup-delete{color:#fecaca;font:inherit;cursor:pointer;background:#7f1d1d2e;border:1px solid #f871713d;border-radius:12px;margin-top:4px;padding:10px 12px;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.special-marker-popup-delete:hover{background:#7f1d1d47;transform:translateY(-1px)}.special-marker-popup-edit{color:#ccfbf1;font:inherit;cursor:pointer;background:#0d948824;border:1px solid #2dd4bf3d;border-radius:12px;margin-top:6px;padding:10px 12px;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.special-marker-popup-edit:hover{background:#0d94883d;transform:translateY(-1px)}.visit-order-badge{top:calc(var(--visit-order-badge-offset,8px) * -1);right:calc(var(--visit-order-badge-offset,8px) * -1);z-index:3;width:var(--visit-order-badge-size,20px);height:var(--visit-order-badge-size,20px);background:var(--visit-day-badge-bg,#fff8f0fa);color:var(--visit-day-badge-text,#102033);border:1px solid var(--visit-day-badge-border,#1020331f);font-size:var(--visit-order-badge-font-size,11px);border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex;position:absolute;box-shadow:0 2px 5px #00000024}.user-location-marker-wrap{width:var(--user-location-size,28px);height:var(--user-location-size,28px);position:relative}.user-location-arrow{width:var(--user-location-size,28px);height:var(--user-location-size,28px);transform:translate(-50%, -50%) rotate(var(--heading,0deg));transform-origin:50%;pointer-events:none;z-index:1;opacity:0;transition:transform .2s cubic-bezier(.1,0,.3,1);position:absolute;top:50%;left:50%}.user-location-marker-wrap.has-heading .user-location-arrow{opacity:1}.user-location-arrow:before{content:"";filter:drop-shadow(0 1px 2px #0000004d);border-bottom:14px solid #fff;border-left:7px solid #0000;border-right:7px solid #0000;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.user-location-arrow:after{content:"";border-bottom:9.5px solid #4285f4;border-left:4.5px solid #0000;border-right:4.5px solid #0000;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.user-location-halo{width:calc(var(--user-location-size,28px) * 1.8);height:calc(var(--user-location-size,28px) * 1.8);pointer-events:none;z-index:0;background:radial-gradient(circle,#4285f42e 0%,#4285f414 50%,#0000 75%);border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.user-location-dot{width:calc(var(--user-location-size,28px) * .54);height:calc(var(--user-location-size,28px) * .54);z-index:2;background:#4285f4;border:2.5px solid #fff;border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #4285f44d,0 1px 4px #0000004d}@keyframes marker-radar-ping{0%{opacity:.55;transform:translate(-50%,-50%)scale(.45)}65%{opacity:0;transform:translate(-50%,-50%)scale(1.65)}to{opacity:0;transform:translate(-50%,-50%)scale(1.75)}}.visit-order-pill{letter-spacing:-.02em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 10px;font-size:14px;font-weight:800;display:inline-flex;box-shadow:0 10px 20px #00000029}.store-tooltip{color:#fff!important;pointer-events:none!important;background:#0a121f!important;border:1px solid #fff3!important;border-radius:8px!important;padding:6px 14px!important;font-size:13px!important;font-weight:700!important;box-shadow:0 10px 25px #0006!important}.store-tooltip-body{transform:rotate(calc(-1 * var(--map-bearing,0deg)));transform-origin:50%;will-change:transform;gap:2px;transition:transform .2s;display:grid}.store-tooltip-body strong{color:#fff;font-size:13px;font-weight:700}.store-tooltip-body span{color:#e2e8f0d1;font-size:11px}.store-tooltip:before{display:none!important}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050a128f;justify-content:center;align-items:flex-end;animation:.2s modal-fade-in;display:flex;position:fixed;inset:0}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-content{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(#0a121ffa,#0a121feb);border:1px solid #ffffff24;border-bottom:none;width:100%;max-width:500px;max-height:90vh;animation:.3s modal-slide-up;overflow-y:auto}@media (min-width:640px){.modal-overlay{align-items:center}.modal-content{border-radius:var(--radius-lg);border-bottom:1px solid #ffffff24}}@keyframes modal-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;padding:22px 22px 14px;display:flex}.modal-header h2{color:var(--text);font-size:1.1rem}.modal-close{width:34px;height:34px;color:var(--text-dim);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;border-radius:50%;justify-content:center;align-items:center;display:flex}.modal-body{flex-direction:column;gap:16px;padding:0 22px 24px;display:flex}.special-marker-intro{background:linear-gradient(#0f766e29,#0f766e14);border:1px solid #2dd4bf33;border-radius:18px;gap:8px;padding:14px 16px;display:grid}.special-marker-intro-badge{color:#b5fff5;letter-spacing:.06em;text-transform:uppercase;background:#ccfbf124;border-radius:999px;width:fit-content;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}.special-marker-intro p{color:#e3eff8c7;margin:0;font-size:13px;line-height:1.5}.special-marker-color-grid{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.special-marker-color-swatch,.special-marker-color-input{cursor:pointer;border:2px solid #ffffff1f;border-radius:999px;width:34px;height:34px;padding:0}.special-marker-color-swatch{background:var(--special-marker-swatch,#0ea5a4);box-shadow:inset 0 0 0 1px #ffffff24}.special-marker-color-swatch.active{box-shadow:0 0 0 4px color-mix(in srgb, var(--special-marker-swatch,#0ea5a4) 22%, transparent);border-color:#ffffffd1}.special-marker-color-input{background:0 0;overflow:hidden}.special-marker-color-input::-webkit-color-swatch-wrapper{padding:0}.special-marker-color-input::-webkit-color-swatch{border:none;border-radius:999px}.special-marker-icon-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;display:grid}.special-marker-icon-option{color:#e2e8f0d1;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:12px;justify-content:center;align-items:center;min-height:38px;transition:transform .2s,border-color .2s,background .2s,color .2s;display:flex}.special-marker-icon-option:hover{border-color:#ffffff38;transform:translateY(-1px)}.special-marker-icon-option.active{color:#d5fffb;background:#0ea5a429;border-color:#2dd4bf6b}.special-marker-preview{background:radial-gradient(circle at top right, color-mix(in srgb, var(--special-marker-preview,#0ea5a4) 22%, transparent), transparent 45%), linear-gradient(180deg, #ffffff0a, #ffffff05);border:1px solid color-mix(in srgb, var(--special-marker-preview,#0ea5a4) 36%, #ffffff14);border-radius:18px;align-items:center;gap:14px;padding:14px 16px;display:flex}.special-marker-preview-pin{background:var(--special-marker-preview,#0ea5a4);color:#fff;width:48px;height:48px;box-shadow:0 12px 24px color-mix(in srgb, var(--special-marker-preview,#0ea5a4) 28%, transparent);border:2px solid #ffffffb8;border-radius:50% 50% 50% 0;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;transform:rotate(-45deg)}.special-marker-preview-pin svg{transform:rotate(45deg)}.special-marker-preview-copy{gap:3px;display:grid}.special-marker-preview-copy strong{color:#fff;font-size:14px;font-weight:800}.special-marker-preview-copy span{color:#e2e8f0c2;font-size:12px;line-height:1.5}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-dim);font-size:13px;font-weight:600}.form-hint{color:var(--text-muted);font-size:12px}.required{color:#ffb0a2}.form-group input,.form-group textarea,.form-group select,.visit-textarea{background:var(--bg-input);width:100%;color:var(--text);font:inherit;transition:border-color var(--transition), box-shadow var(--transition);border:1px solid #ffffff1f;border-radius:14px;padding:12px 14px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.visit-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.form-group textarea{resize:vertical}.location-display{color:var(--text-muted);text-align:center;background:#ffffff0d;border-radius:14px;padding:10px 12px;font-size:12px}.image-preview{background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;overflow:hidden}.image-preview img{object-fit:cover;width:100%;max-height:180px;display:block}.route-manager-modal{max-width:680px}.route-manager-list{flex-direction:column;gap:14px;display:flex}.route-manager-item,.route-manager-create{background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;flex-direction:column;gap:12px;padding:16px;display:flex}.route-manager-item-head{justify-content:flex-end;align-items:center;display:flex}.route-manager-count{color:var(--text-muted);font-size:12px;font-weight:700}.route-manager-item-fields{grid-template-columns:minmax(0,1fr) 74px;gap:10px;display:grid}.route-manager-item-fields input[type=text],.route-manager-item-fields select{background:var(--bg-input);width:100%;color:var(--text);font:inherit;border:1px solid #ffffff1f;border-radius:14px;padding:12px 14px}.route-manager-item-fields input[type=color]{background:var(--bg-input);cursor:pointer;border:1px solid #ffffff1f;border-radius:14px;width:100%;min-height:48px;padding:6px}.route-manager-actions{gap:10px;display:flex}.route-manager-save,.route-manager-delete{min-height:42px;color:var(--text);border:1px solid #ffffff1f;border-radius:14px;flex:1;padding:10px 14px}.route-manager-save{background:#22c55e29}.route-manager-delete{background:#ef444429}.route-manager-create strong{color:var(--text);font-size:1rem}.route-manager-share{border-top:1px solid #ffffff14;gap:10px;padding-top:12px;display:grid}.route-manager-member-list{gap:8px;display:grid}.route-manager-member-item{color:var(--text);background:#0a121f8a;border:1px solid #ffffff14;border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.btn-primary,.btn-sm{font-family:var(--font-sans);cursor:pointer;transition:transform var(--transition), background var(--transition), box-shadow var(--transition)}.btn-primary{color:#fff7f3;background:linear-gradient(145deg,#d95d39,#bc4425);border:none;border-radius:14px;padding:12px 24px;font-size:14px;font-weight:700;box-shadow:0 14px 28px #d95d3938}.btn-primary:hover:not(:disabled){background:linear-gradient(145deg,#e36e4d,#c44f2e);transform:translateY(-1px)}.btn-primary:disabled,.visit-action-btn:disabled{opacity:.5;cursor:not-allowed}.btn-full{width:100%}.btn-sm{color:var(--text);background:#ffffff0a;border:1px solid #ffffff24;border-radius:14px;padding:9px 14px;font-size:13px;font-weight:600}.btn-sm:hover{background:#ffffff14}.btn-danger{color:#ffc0b5;background:#e05a472e;border-color:#e05a473d}.store-panel{z-index:1500;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:radial-gradient(at 100% 0,#d95d3914,#0000 60%),linear-gradient(#161e2efa,#0c121cfa);border:1px solid #ffffff1f;border-bottom:none;border-radius:30px 30px 0 0;flex-direction:column;max-height:85vh;animation:.35s cubic-bezier(.19,1,.22,1) storePanelPopUp;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 64px #00000080}.store-panel-body{overscroll-behavior:contain;flex:1;overflow-y:auto}@keyframes storePanelPopUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (min-width:640px){.store-panel{border-bottom:1px solid #ffffff1f;border-radius:28px;width:440px;max-height:85vh;animation:.35s cubic-bezier(.19,1,.22,1) forwards storePanelPopUpDesktop;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 24px 64px #0009}}@keyframes storePanelPopUpDesktop{0%{opacity:0;transform:translate(-50%,-46%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.store-panel-header{padding:0;position:relative}.panel-close{z-index:10;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0006;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.panel-close:active{background:#0009;transform:scale(.92)}.panel-loading{color:var(--text-dim);text-align:center;padding:40px}.store-cover{aspect-ratio:16/9;background:#ffffff0a;border-radius:30px 30px 0 0;width:100%;min-height:160px;max-height:220px;margin-bottom:0;position:relative;overflow:hidden}.store-cover img{object-fit:cover;object-position:center;width:100%;height:100%}.store-cover-editable{cursor:pointer;display:block}.store-cover-empty{color:var(--text-muted);background:#ffffff0d;border:1px dashed #ffffff1f;justify-content:center;align-items:center;font-size:13px;display:flex}.store-panel-info{flex-direction:column;gap:10px;padding:20px 20px 24px;display:flex}.store-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.store-edit-field{flex-direction:column;gap:6px;display:flex}.store-edit-field span{letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);font-size:.73rem;font-weight:800}.store-edit-field input{width:100%;min-height:40px;color:var(--text);font:inherit;background:#ffffff0d;border:1px solid #ffffff24;border-radius:12px;padding:0 12px}.store-edit-field input:focus{border-color:#d95d3980;outline:none;box-shadow:0 0 0 3px #d95d3929}.store-edit-field-full{grid-column:1/-1}.store-panel-kicker{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.store-panel-kicker>span:first-child{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:800}.store-status-pill{border-radius:999px;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.status-sold{color:#8ff0cd;background:#1f9d742e}.status-retry{color:#ffd57c;background:#df9a2b2e}.status-unsold{color:#ffc0b5;background:#e05a472e}.status-pending{color:#d6dae2;background:#6b728038}input.store-name-inline{background:0 0;border:none;border-bottom:1px dashed #ffffff2e;border-radius:0;width:100%;margin:-4px -6px -4px 0;padding:4px 6px 4px 0;font-family:inherit;font-weight:700;transition:all .2s}input.store-name-inline:focus{border-bottom-color:var(--accent);background:#ffffff0a;border-bottom-style:solid;border-radius:8px 8px 0 0;outline:none;margin-left:-6px;padding-left:6px}.store-name{letter-spacing:-.03em;color:var(--text);margin:0;font-size:clamp(1.38rem,3.2vw,1.8rem);line-height:1.4;overflow:visible}.store-location-line{color:var(--text-muted);margin:-2px 0 0;font-size:.76rem;font-weight:500;line-height:1.4}.store-description{color:var(--text-dim);margin:0;font-size:14px;line-height:1.6}.store-visit-plan-card{background:#0f172a57;border:1px solid #94a3b81f;border-radius:14px;gap:10px;margin-top:16px;padding:10px 12px;display:grid}.store-visit-plan-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.store-visit-plan-head.compact{align-items:flex-start}.store-visit-plan-head strong{color:#f8fafc;font-size:12px;font-weight:800}.store-visit-plan-summary{gap:2px;display:grid}.store-visit-plan-summary-text{color:#e2e8f0d1;font-size:12px;font-weight:600}.store-visit-plan-summary-text.muted{color:#94a3b8d1}.store-visit-plan-chip{color:#dbeafe;background:#3b82f62e;border:1px solid #60a5fa3d;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.store-visit-plan-chip.muted{color:#e2e8f0b8;background:#94a3b81f;border-color:#94a3b82e}.store-visit-plan-grid{grid-template-columns:minmax(0,112px) minmax(0,1fr);gap:10px;display:grid}.store-visit-plan-input{color:#f8fafc;width:100%;min-height:42px;font:inherit;background:#0f172ab8;border:1px solid #94a3b829;border-radius:12px;padding:10px 12px}.store-visit-plan-actions{gap:10px;display:flex}.store-description-inline{resize:vertical;background:0 0;border:none;border-bottom:1px dashed #ffffff2e;border-radius:0;width:100%;min-height:46px;padding:2px 6px 6px 0;font-family:inherit}.store-description-inline:focus{border-bottom-color:var(--accent);background:#ffffff0a;border-bottom-style:solid;border-radius:8px 8px 0 0;outline:none;padding-left:6px}.store-route-chip{background:color-mix(in srgb, var(--route-group-accent,#64748b) 18%, #ffffff0a);border:1px solid color-mix(in srgb, var(--route-group-accent,#64748b) 56%, #ffffff1a);color:#f8fafc;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.store-route-chip-dot{background:var(--route-group-accent,#64748b);border-radius:999px;width:9px;height:9px}.store-details-list{flex-direction:column;gap:10px;padding-top:8px;display:flex}.store-detail-row{color:var(--text);background:#ffffff0a;border:1px solid #ffffff0d;border-radius:16px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;display:flex}.store-detail-row-route-select{align-items:flex-start}.store-detail-row-route-select-noicon{padding-left:12px}.store-route-select-shell{--route-group-accent:#64748b;background:linear-gradient(180deg, color-mix(in srgb, var(--route-group-accent) 12%, #ffffff0f), #ffffff08);border:1px solid color-mix(in srgb, var(--route-group-accent) 35%, #ffffff14);border-radius:12px;flex-direction:column;flex:1;gap:0;min-width:0;padding:8px 11px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff0f,0 10px 20px #090f1b1f}.store-detail-row-route-select select{width:100%;min-width:0;min-height:18px;color:var(--text);font-family:var(--font-sans);appearance:none;box-shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:none;padding:0 24px 0 0;font-size:.84rem;font-weight:700;line-height:1.25}.store-detail-row-route-select select:focus{outline:none}.store-detail-row-route-select select option{color:#f8fafc;font-family:var(--font-sans);background:#101924;font-size:.84rem}.store-route-select-shell:focus-within{border-color:color-mix(in srgb, var(--route-group-accent) 60%, #ffffff29);box-shadow:0 0 0 3px color-mix(in srgb, var(--route-group-accent) 20%, transparent), inset 0 1px 0 #ffffff14, 0 10px 20px #090f1b29}.store-route-select-arrow{color:color-mix(in srgb, var(--route-group-accent) 48%, #f8fafcdb);pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:8px;right:9px}.store-route-select-arrow svg{width:13px;height:13px}.detail-icon{text-align:center;flex-shrink:0;width:22px}.store-created-by{color:var(--text-muted);padding-top:8px;font-size:12px}.store-panel-reviews{padding:0 20px 24px}.reviews-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.reviews-header h3{color:var(--text);letter-spacing:-.02em;font-size:1rem;font-weight:700}.visit-form{background:#ffffff05;border:1px solid #ffffff0a;border-radius:16px;margin-bottom:16px;padding:12px;box-shadow:inset 0 1px #ffffff05}.visit-textarea{resize:vertical;min-height:48px;margin-bottom:8px;padding:8px 12px!important;font-size:13px!important}.visit-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.visit-action-btn{color:#fff;cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), opacity var(--transition);border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:8px 4px;font-size:12px;font-weight:700;display:flex}.visit-action-btn:hover:not(:disabled){transform:translateY(-1px)}.btn-sold{background:linear-gradient(135deg,#1f9d74,#167759);box-shadow:0 12px 24px #1f9d7438}.btn-unsold{background:linear-gradient(135deg,#e05a47,#c64935);box-shadow:0 12px 24px #e05a4738}.btn-retry{background:linear-gradient(135deg,#df9a2b,#c9851a);box-shadow:0 12px 24px #df9a2b38}.reviews-list{flex-direction:column;gap:10px;display:flex}.visit-card{background:#ffffff08;border:1px solid #ffffff0a;border-radius:14px;padding:12px 14px}.visit-meta{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.visit-author{color:var(--text);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.visit-author-icon{background:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;display:flex}.visit-badge{letter-spacing:.02em;border-radius:8px;padding:2px 8px;font-size:10px;font-weight:800}.badge-sold{color:#8ff0cd;background:#1f9d742e}.badge-unsold{color:#ffc0b5;background:#e05a472e}.badge-retry{color:#ffd57c;background:#df9a2b2e}.visit-notes{color:var(--text-dim);background:#0000002e;border-radius:10px;margin-bottom:6px;padding:8px 10px;font-size:12px;line-height:1.4}.visit-time,.reviews-empty{color:var(--text-muted);font-size:12px}.reviews-empty{text-align:center;padding:22px 0}.store-panel-actions{border-top:1px solid #ffffff0f;justify-content:flex-end;gap:8px;padding:16px 20px 20px;display:flex}.store-image-upload{width:fit-content;margin-top:4px}.draft-card{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 94px);z-index:1100;width:min(460px,100% - 32px);color:var(--text);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#0a121feb,#0a121fc7);border:1px solid #ffffff24;border-radius:26px;padding:18px;position:absolute;transform:translate(-50%);box-shadow:0 24px 60px #090f1b57}.draft-card-copy strong{margin-top:10px;font-size:1.05rem;display:block}.draft-card-copy p{color:var(--text-dim);margin-top:8px;font-size:.92rem;line-height:1.5}.draft-card-actions{gap:10px;margin-top:16px;display:flex}.leaflet-container{font-family:var(--font-sans)!important;background:#dcd2c2!important}.leaflet-tile-pane{filter:saturate(.82)contrast(.96)sepia(.12)}.leaflet-control-zoom{overflow:hidden;border:1px solid #ffffff29!important;border-radius:18px!important;margin-top:22px!important;margin-right:22px!important;box-shadow:0 18px 36px #090f1b38!important}.leaflet-control-zoom a{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text)!important;background:#0a121fdb!important;border-bottom-color:#ffffff14!important}.leaflet-control-zoom a:hover{background:var(--bg-card-hover)!important}.app-loading-screen,.app-auth-screen{background:radial-gradient(circle at top,#d95d3924,#0000 38%),linear-gradient(#0b1320 0%,#101a28 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.app-auth-card{text-align:center;background:#0a121fe6;border:1px solid #ffffff14;border-radius:24px;width:min(100%,420px);padding:28px;box-shadow:0 28px 60px #00000059}.app-auth-card h1{margin:0 0 10px;font-size:1.5rem;line-height:1.15}.app-auth-card p,.app-loading-screen{color:var(--text-muted);margin:0}.app-auth-card .btn-primary{margin-top:18px}@media (max-width:920px){.app{padding:0}.app-map-area{height:100vh}.map-container{border:none;border-radius:0}.map-fab-group{top:28px;right:18px}.map-topleft-group{top:28px;left:18px}.map-route-toolbar{justify-content:center;align-items:center;padding:0 10px;top:10px;left:0;right:0}.app-bottom-menubar-inner{border-radius:24px;width:min(94vw,400px);min-height:72px;padding:7px}.app-mobile-nav{gap:4px}.app-mobile-nav-item,.user-menu-trigger-compact{border-radius:18px;min-height:54px}.user-menu-bottom .user-menu-trigger.user-menu-trigger-compact{border-radius:18px;min-height:54px;padding:7px 6px 5px}.app-mobile-nav-icon{width:20px;height:20px}.user-menu-status{display:none}.app-mobile-nav-label,.user-menu-compact-label{font-size:10px}.user-menu-bottom .user-menu-panel{min-width:min(92vw,300px);left:auto;right:0;transform:none}.map-route-picker{min-width:0}.map-render-status{display:none}.map-route-picker-shell,.map-filter-chip{min-height:42px}.map-route-picker select,.map-filter-chip{padding:0 12px;font-size:12px}.map-route-picker-count{min-width:26px;height:26px;padding:0 8px}.leaflet-control-zoom{margin-top:16px!important;margin-right:16px!important}.store-panel{width:100%;max-height:72vh}.store-edit-grid{grid-template-columns:1fr}}@media (max-width:480px){.map-fab-group{gap:8px;top:28px;right:14px}.map-topleft-group{top:28px;left:14px}.map-route-toolbar{justify-content:center;top:8px;left:0;right:0}.app-bottom-menubar{bottom:calc(env(safe-area-inset-bottom,0px) + 8px)}.app-bottom-menubar-inner{border-radius:22px;width:min(95vw,360px);min-height:68px;padding:6px}.app-mobile-nav{gap:2px}.app-mobile-nav-item,.user-menu-trigger-compact,.user-menu-bottom .user-menu-trigger.user-menu-trigger-compact{border-radius:16px;gap:3px;min-height:50px;padding:5px 5px 4px}.app-mobile-nav-icon{width:18px;height:18px}.app-mobile-nav-label,.user-menu-compact-label{font-size:9px;line-height:1.1}.user-menu-trigger-compact .user-menu-avatar{width:24px;height:24px}.user-menu-bottom .user-menu-panel{min-width:min(92vw,280px);max-width:min(92vw,280px);bottom:calc(100% + 8px);left:auto;right:0;transform:none}.user-menu-panel{border-radius:18px;padding:8px}.user-menu-panel-head{gap:8px;padding:8px 10px 10px}.user-menu-item{border-radius:14px;min-height:48px;padding:0 10px}.user-menu-item-icon{width:26px;height:26px;margin-top:10px}.user-menu-item-copy{padding:8px 0}.user-menu-item-copy strong{font-size:12px}.user-menu-item-copy span{font-size:10px}}.map-picker-overlay{z-index:2500;background:0 0;position:fixed;inset:0}.map-picker-sheet{bottom:calc(env(safe-area-inset-bottom,0px) + 84px);transform-origin:0 100%;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:radial-gradient(circle at 100% 0,#d95d3924,#0000 34%),linear-gradient(#141c30fa,#0c121ef5);border:1px solid #ffffff1f;border-radius:18px;flex-direction:column;width:calc(100vw - 40px);max-width:296px;max-height:min(56vh,460px);animation:.25s cubic-bezier(.19,1,.22,1) mapPickerPopUp;display:flex;position:absolute;left:20px;box-shadow:0 16px 40px #0000006b}@keyframes mapPickerPopUp{0%{opacity:0;transform:translateY(15px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.map-picker-header{text-align:left;border-bottom:1px solid #ffffff14;align-items:center;gap:10px;margin-bottom:4px;padding:12px 52px 10px 16px;display:flex;position:relative}.map-picker-header-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.map-picker-header h3{color:#fff;letter-spacing:-.015em;margin:0;font-size:14px;font-weight:700}.map-picker-header p{color:#bfcce1c7;margin:0;font-size:11px;font-weight:600}.map-picker-summary-chip{color:#dbe6f7;background:#ffffff12;border:1px solid #ffffff14;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.map-picker-close{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:7px;right:10px}.map-picker-body{overscroll-behavior:contain;padding:4px 10px 10px;overflow-y:auto}.map-picker-item{cursor:pointer;background:0 0;border-radius:16px;align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;transition:all .2s;display:flex}.map-picker-item:active{background:#ffffff0a}.map-picker-item.active{background:#3b82f61f;box-shadow:inset 0 0 0 1px #60a5fa2e}.map-picker-item-dot{width:12px;height:12px;box-shadow:0 0 12px var(--picker-dot-color,#94a3b8);border:2px solid #ffffff1a;border-radius:50%;flex-shrink:0}.map-picker-item-icon{color:#dbe6f7;flex-shrink:0;justify-content:center;align-items:center;width:18px;display:inline-flex!important}.map-picker-item-name-wrap{flex:1;min-width:0}.map-picker-item-title-row{align-items:center;gap:7px;min-width:0;display:flex}.map-picker-item-name{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.map-picker-item.active .map-picker-item-name{color:#60a5fa;font-weight:750}.map-picker-item-meta{color:#bfcce1e6;letter-spacing:.01em;background:#ffffff0f;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.map-picker-item-count{text-align:center;color:#c7d4e6;background:#ffffff0d;border-radius:999px;flex-shrink:0;min-width:36px;padding:3px 8px;font-size:11px;font-weight:800}.map-picker-item.child{padding-left:42px;position:relative}.map-picker-item.child:before{content:"└";color:#ffffff24;font-size:14px;position:absolute;top:9px;left:18px}@media (max-width:640px){.map-picker-sheet{width:calc(100vw - 28px);max-width:280px;left:14px}.map-picker-header{padding:11px 48px 9px 14px}.map-picker-body{padding:4px 8px 8px}.map-picker-item{border-radius:14px;padding:8px 10px}.map-picker-item.child{padding-left:38px}.map-picker-item.child:before{top:8px;left:16px}}
