.icon-btn[data-v-ec50d28e]{width:44px;height:44px;border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease;border:1px solid var(--border)}.icon-btn.round[data-v-ec50d28e]{border-radius:var(--radius-full)}.icon-btn[data-v-ec50d28e]:active{transform:scale(.94);background:var(--border-light)}.icon-btn.active[data-v-ec50d28e]{background:var(--primary);color:#fff;border-color:var(--primary)}.icon-btn.active[data-v-ec50d28e]:active{background:var(--primary-dark)}@media(hover:hover){.icon-btn[data-v-ec50d28e]:hover:not(.active){color:var(--text);border-color:var(--text-tertiary)}}.map-wrapper[data-v-f6540d6d]{position:relative;width:100%;height:100%}.map-container[data-v-f6540d6d]{width:100%;height:100%}.map-controls[data-v-f6540d6d]{position:absolute;bottom:var(--space-6);right:var(--space-4);z-index:1000;display:flex;flex-direction:column;gap:var(--space-2)}.map-controls[data-v-f6540d6d] .icon-btn{box-shadow:var(--shadow-md)}.badge[data-v-54035081]{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;line-height:1;white-space:nowrap}.badge[data-v-54035081]:not(:has(.badge-label)){padding:6px}.badge-dot[data-v-54035081]{width:7px;height:7px;border-radius:var(--radius-full);flex-shrink:0}.badge.green[data-v-54035081]{background:var(--green-bg);color:var(--green)}.badge.green .badge-dot[data-v-54035081]{background:var(--green)}.badge.orange[data-v-54035081]{background:var(--orange-bg);color:var(--orange)}.badge.orange .badge-dot[data-v-54035081]{background:var(--orange)}.badge.red[data-v-54035081]{background:var(--red-bg);color:var(--red)}.badge.red .badge-dot[data-v-54035081]{background:var(--red)}.badge.gray[data-v-54035081]{background:var(--border-light);color:var(--text-secondary)}.badge.gray .badge-dot[data-v-54035081]{background:var(--status-gray)}@media(max-width:480px){.badge-label[data-v-54035081]{display:none}.badge[data-v-54035081]{padding:6px}}.parking-list[data-v-31c70a6c]{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.list-dest-header[data-v-31c70a6c]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--primary-bg);border-bottom:1px solid var(--border-light);color:var(--primary-light);font-size:var(--text-xs);line-height:1.4}.list-dest-header>i[data-v-31c70a6c]{flex-shrink:0}.list-dest-text[data-v-31c70a6c]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-dest-header strong[data-v-31c70a6c]{color:var(--text);font-weight:600}.sort-toggle[data-v-31c70a6c]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-sm);background:none;color:var(--primary-light);font-size:13px;transition:background .15s ease}.sort-toggle[data-v-31c70a6c]:active{background:#0d948826}.list-item[data-v-31c70a6c]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4);min-height:64px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .12s ease}.list-item[data-v-31c70a6c]:active{background:var(--bg-secondary)}@media(hover:hover){.list-item[data-v-31c70a6c]:hover{background:var(--bg-secondary)}}.list-item-body[data-v-31c70a6c]{flex:1;min-width:0}.list-item-name[data-v-31c70a6c]{font-size:var(--text-base);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;color:var(--text)}.list-item-meta[data-v-31c70a6c]{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-secondary);margin-top:3px}.list-item-updated[data-v-31c70a6c]{display:flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--text-tertiary);margin-top:3px}.list-item-updated i[data-v-31c70a6c]{font-size:10px}.meta-dot[data-v-31c70a6c]{color:var(--text-tertiary)}.meta-dest[data-v-31c70a6c]{color:var(--primary-light)}.list-item-actions[data-v-31c70a6c]{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.map-btn[data-v-31c70a6c]{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-tertiary);font-size:14px;transition:all .15s ease}.map-btn[data-v-31c70a6c]:active{border-color:var(--primary);color:var(--primary)}.list-empty[data-v-31c70a6c]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-4);color:var(--text-secondary);font-size:var(--text-sm)}.list-empty i[data-v-31c70a6c]{font-size:28px;opacity:.4}.sheet-overlay[data-v-d5999eb2]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:var(--bg-overlay);display:flex;align-items:flex-end}.sheet[data-v-d5999eb2]{width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-sheet);max-height:85vh;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.32,.72,0,1);will-change:transform;border-top:1px solid var(--border)}.sheet.dragging[data-v-d5999eb2]{transition:none}.sheet-handle[data-v-d5999eb2]{display:flex;justify-content:center;padding:var(--space-3) 0 var(--space-1);cursor:grab;flex-shrink:0}.sheet-handle-bar[data-v-d5999eb2]{width:36px;height:4px;background:var(--text-tertiary);border-radius:var(--radius-full);opacity:.5}.sheet-body[data-v-d5999eb2]{padding:var(--space-2) var(--space-5) var(--space-6);padding-bottom:calc(var(--space-6) + var(--sab));overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-enter-active[data-v-d5999eb2]{transition:opacity .2s ease}.sheet-leave-active[data-v-d5999eb2]{transition:opacity .15s ease .05s}.sheet-enter-active .sheet[data-v-d5999eb2]{transition:transform .4s cubic-bezier(.32,.72,0,1)}.sheet-leave-active .sheet[data-v-d5999eb2]{transition:transform .25s cubic-bezier(.32,.72,0,1)}.sheet-enter-from[data-v-d5999eb2],.sheet-leave-to[data-v-d5999eb2]{opacity:0}.sheet-enter-from .sheet[data-v-d5999eb2],.sheet-leave-to .sheet[data-v-d5999eb2]{transform:translateY(100%)}.occupancy[data-v-5502d844]{display:flex;flex-direction:column;gap:var(--space-1)}.occupancy-track[data-v-5502d844]{height:6px;background:var(--border);border-radius:var(--radius-full);overflow:hidden}.occupancy-fill[data-v-5502d844]{height:100%;border-radius:var(--radius-full);transition:width .5s cubic-bezier(.4,0,.2,1)}.occupancy-fill.green[data-v-5502d844]{background:var(--green)}.occupancy-fill.orange[data-v-5502d844]{background:var(--orange)}.occupancy-fill.red[data-v-5502d844]{background:var(--red)}.occupancy-label[data-v-5502d844]{font-size:var(--text-xs);color:var(--text-tertiary)}.chart-wrap[data-v-ee2c9fe3]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.chart-svg[data-v-ee2c9fe3]{display:block;width:100%;height:80px}.chart-area[data-v-ee2c9fe3]{fill:var(--primary);opacity:.1}.chart-line[data-v-ee2c9fe3]{fill:none;stroke:var(--primary);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}.chart-footer[data-v-ee2c9fe3]{display:flex;justify-content:space-between;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary)}.chart-placeholder[data-v-ee2c9fe3]{display:flex;align-items:center;justify-content:center;height:80px;color:var(--text-tertiary);font-size:var(--text-xs)}.detail-header[data-v-fb21a1ec]{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5)}.detail-name[data-v-fb21a1ec]{font-size:var(--text-xl);font-weight:700;line-height:1.2;color:var(--text)}.detail-address[data-v-fb21a1ec]{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}.detail-card[data-v-fb21a1ec]{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);border:1px solid var(--border)}.stat-row[data-v-fb21a1ec]{display:flex;align-items:baseline;gap:var(--space-2)}.stat-number[data-v-fb21a1ec]{font-size:var(--text-2xl);font-weight:800;line-height:1}.stat-number.green[data-v-fb21a1ec]{color:var(--green)}.stat-number.orange[data-v-fb21a1ec]{color:var(--orange)}.stat-number.red[data-v-fb21a1ec]{color:var(--red)}.stat-number.gray[data-v-fb21a1ec]{color:var(--status-gray)}.stat-label[data-v-fb21a1ec]{font-size:var(--text-sm);color:var(--text-secondary)}.detail-updated[data-v-fb21a1ec]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-4)}.detail-updated i[data-v-fb21a1ec]{font-size:11px}.detail-distances[data-v-fb21a1ec]{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.detail-distance[data-v-fb21a1ec]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.detail-distance.dest[data-v-fb21a1ec]{color:var(--primary-light)}.detail-chart-section[data-v-fb21a1ec]{margin-bottom:var(--space-4)}.chart-label[data-v-fb21a1ec]{display:block;font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.nav-btn[data-v-fb21a1ec]{width:100%;padding:var(--space-4);background:var(--primary);color:#fff;font-size:var(--text-base);font-weight:600;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all .15s ease}.nav-btn[data-v-fb21a1ec]:active{background:var(--primary-dark);transform:scale(.98)}.topbar[data-v-ec655da3]{position:absolute;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-top:calc(var(--space-3) + var(--sat));border-bottom:1px solid var(--border)}.search-trigger[data-v-ec655da3]{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;height:38px;padding:0 var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-tertiary);font-family:var(--font);font-size:var(--text-sm);transition:border-color .15s ease}.search-trigger[data-v-ec655da3]:active{border-color:var(--primary)}.search-trigger i[data-v-ec655da3]{flex-shrink:0;opacity:.5}.search-trigger span[data-v-ec655da3]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dest-bar[data-v-ec655da3]{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;height:38px;padding:0 var(--space-3);background:var(--primary-bg);border-radius:var(--radius-sm);border:1px solid var(--primary);color:var(--text);font-family:var(--font);font-size:var(--text-sm);font-weight:500;transition:opacity .15s ease}.dest-bar[data-v-ec655da3]:active{opacity:.8}.dest-bar i[data-v-ec655da3]{flex-shrink:0;color:var(--primary)}.dest-label[data-v-ec655da3]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dest-clear[data-v-ec655da3]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--text-secondary);flex-shrink:0;transition:background .15s ease}.dest-clear[data-v-ec655da3]:active{background:var(--border)}.brand[data-v-ec655da3]{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.brand-icon[data-v-ec655da3]{font-size:20px;color:var(--primary)}.brand-name[data-v-ec655da3]{font-size:var(--text-base);font-weight:700;color:var(--text);letter-spacing:-.3px}.actions[data-v-ec655da3]{display:flex;gap:var(--space-2);flex-shrink:0}@media(max-width:480px){.brand-name[data-v-ec655da3]{display:none}}.search-overlay[data-v-96f6e907]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:var(--bg);display:flex;flex-direction:column}.search-header[data-v-96f6e907]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);padding-top:calc(var(--space-3) + var(--sat));border-bottom:1px solid var(--border);flex-shrink:0}.search-back[data-v-96f6e907]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:none;color:var(--text);flex-shrink:0}.search-back[data-v-96f6e907]:active{background:var(--bg-secondary)}.search-input[data-v-96f6e907]{flex:1;height:40px;background:none;border:none;outline:none;color:var(--text);font-family:var(--font);font-size:var(--text-base);font-weight:500}.search-input[data-v-96f6e907]::placeholder{color:var(--text-tertiary)}.search-clear[data-v-96f6e907]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--text-secondary);flex-shrink:0}.search-results[data-v-96f6e907]{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.search-hint[data-v-96f6e907]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);color:var(--text-tertiary);font-size:var(--text-sm);text-align:center}.recent-header[data-v-96f6e907]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.search-result[data-v-96f6e907]{width:100%;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:none;color:var(--text);font-family:var(--font);font-size:var(--text-sm);text-align:left;border-bottom:1px solid var(--border-light);transition:background .1s ease}.search-result.recent[data-v-96f6e907]{padding:0;gap:0}.result-main[data-v-96f6e907]{flex:1;min-width:0;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:none;color:var(--text);font-family:var(--font);font-size:var(--text-sm);text-align:left}.result-main[data-v-96f6e907]:active{background:var(--bg-secondary)}.result-delete[data-v-96f6e907]{width:44px;display:flex;align-items:center;justify-content:center;align-self:stretch;background:none;color:var(--text-tertiary);font-size:12px;flex-shrink:0}.result-delete[data-v-96f6e907]:active{color:var(--red)}.search-result[data-v-96f6e907]:not(.recent):active{background:var(--bg-secondary)}.search-result>i[data-v-96f6e907],.result-main>i[data-v-96f6e907]{flex-shrink:0;color:var(--text-tertiary);margin-top:2px}.search-hint-icon[data-v-96f6e907]{font-size:24px;opacity:.4}.result-label[data-v-96f6e907]{line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-enter-active[data-v-96f6e907]{transition:transform .25s cubic-bezier(.32,.72,0,1)}.search-leave-active[data-v-96f6e907]{transition:transform .2s cubic-bezier(.32,.72,0,1)}.search-enter-from[data-v-96f6e907],.search-leave-to[data-v-96f6e907]{transform:translateY(100%)}.settings-title[data-v-33a144d4]{font-size:var(--text-xl);font-weight:700;color:var(--text);margin-bottom:var(--space-6)}.settings-section[data-v-33a144d4]{margin-bottom:var(--space-6)}.section-label[data-v-33a144d4]{display:block;font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-3)}.theme-options[data-v-33a144d4]{display:flex;gap:var(--space-2)}.lang-options[data-v-33a144d4]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.theme-option[data-v-33a144d4]{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font);transition:all .15s ease}.theme-option.active[data-v-33a144d4],.lang-option.active[data-v-33a144d4]{border-color:var(--primary);background:var(--primary-bg);color:var(--text)}.theme-option[data-v-33a144d4]:active,.lang-option[data-v-33a144d4]:active{transform:scale(.96)}.theme-icon[data-v-33a144d4]{font-size:22px;line-height:1}.theme-label[data-v-33a144d4]{font-size:var(--text-sm);font-weight:600}.lang-option[data-v-33a144d4]{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font);transition:all .15s ease}.lang-short[data-v-33a144d4]{font-size:var(--text-base);font-weight:700;line-height:1}@media(max-width:480px){.lang-options[data-v-33a144d4]{grid-template-columns:repeat(3,1fr)}}.lang-label[data-v-33a144d4]{font-size:var(--text-xs);font-weight:500}.toggle-row[data-v-33a144d4]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-md);font-family:var(--font)}.toggle-label[data-v-33a144d4]{font-size:var(--text-sm);font-weight:600;color:var(--text)}.toggle-switch[data-v-33a144d4]{position:relative;width:44px;height:26px;background:var(--border);border-radius:13px;transition:background .2s ease;flex-shrink:0}.toggle-switch.active[data-v-33a144d4]{background:var(--primary)}.toggle-knob[data-v-33a144d4]{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease}.toggle-switch.active .toggle-knob[data-v-33a144d4]{transform:translate(18px)}.settings-footer[data-v-33a144d4]{padding-top:var(--space-4);border-top:1px solid var(--border)}.footer-text[data-v-33a144d4]{font-size:var(--text-xs);color:var(--text-tertiary)}.skeleton-map[data-v-6b0889aa]{width:100%;height:100%;padding:var(--space-3)}.skeleton-map-bg[data-v-6b0889aa]{width:100%;height:100%;border-radius:var(--radius-md)}.skeleton-list[data-v-6b0889aa]{padding:var(--space-2) 0}.skeleton-row[data-v-6b0889aa]{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);min-height:64px}.skeleton-dot[data-v-6b0889aa]{width:36px;height:36px;border-radius:var(--radius-full);flex-shrink:0}.skeleton-text[data-v-6b0889aa]{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-title[data-v-6b0889aa]{height:14px;border-radius:var(--radius-sm)}.skeleton-sub[data-v-6b0889aa]{height:10px;border-radius:var(--radius-sm)}.skeleton-badge[data-v-6b0889aa]{width:44px;height:22px;border-radius:var(--radius-full);flex-shrink:0}.gate[data-v-68209d90]{height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:var(--space-6)}.gate-card[data-v-68209d90]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:320px;width:100%}.gate-icon[data-v-68209d90]{font-size:48px;color:var(--primary)}.gate-title[data-v-68209d90]{font-size:var(--text-2xl);font-weight:800;color:var(--text);letter-spacing:-.5px}.gate-sub[data-v-68209d90]{font-size:var(--text-sm);color:var(--text-secondary);text-align:center;margin-bottom:var(--space-4)}.gate-form[data-v-68209d90]{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.gate-input[data-v-68209d90]{width:100%;height:44px;padding:0 var(--space-4);background:var(--bg-elevated);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-family:var(--font);font-size:var(--text-base);text-align:center;outline:none;transition:border-color .15s ease}.gate-input[data-v-68209d90]:focus{border-color:var(--primary)}.gate-input.error[data-v-68209d90]{border-color:var(--red);animation:shake-68209d90 .3s ease}@keyframes shake-68209d90{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.gate-btn[data-v-68209d90]{width:100%;height:44px;background:var(--primary);color:#fff;font-family:var(--font);font-size:var(--text-base);font-weight:600;border-radius:var(--radius-md);transition:all .15s ease}.gate-btn[data-v-68209d90]:active{background:var(--primary-dark);transform:scale(.97)}.app[data-v-68209d90]{height:100%;display:flex;flex-direction:column;position:relative;background:var(--bg)}.app-content[data-v-68209d90]{flex:1;padding-top:calc(68px + var(--sat));position:relative;overflow:hidden}.state-error[data-v-68209d90]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-2);padding:var(--space-8);text-align:center}.state-error-icon[data-v-68209d90]{font-size:36px;color:var(--text-tertiary)}.state-title[data-v-68209d90]{font-size:var(--text-lg);font-weight:600;color:var(--text);margin-top:var(--space-3)}.state-sub[data-v-68209d90]{font-size:var(--text-sm);color:var(--text-secondary)}.retry-btn[data-v-68209d90]{margin-top:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--primary);color:#fff;font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-sm);transition:all .15s ease}.retry-btn[data-v-68209d90]:active{background:var(--primary-dark);transform:scale(.97)}*{margin:0;padding:0;box-sizing:border-box}:root{--font: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 28px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--primary: #0d9488;--primary-light: #14b8a6;--primary-dark: #0f766e;--primary-bg: rgba(13, 148, 136, .12);--green: #34d399;--green-bg: rgba(52, 211, 153, .15);--orange: #fbbf24;--orange-bg: rgba(251, 191, 36, .15);--red: #f87171;--red-bg: rgba(248, 113, 113, .15);--status-gray: #6b7280;--user-blue: #60a5fa;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px)}[data-theme=dark]{--bg: #0f1115;--bg-secondary: #171a1f;--bg-elevated: #1e2128;--bg-glass: rgba(30, 33, 40, .75);--bg-overlay: rgba(0, 0, 0, .55);--text: #f0f0f2;--text-secondary: #8b8d95;--text-tertiary: #5c5e66;--border: #2a2d35;--border-light: #1e2128;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-sheet: 0 -8px 40px rgba(0, 0, 0, .5);--marker-border: rgba(30, 33, 40, .8);--marker-shadow: 0 2px 10px rgba(0, 0, 0, .5);--cluster-shadow: 0 3px 14px rgba(0, 0, 0, .5);color-scheme:dark}[data-theme=light]{--bg: #ffffff;--bg-secondary: #f5f5f7;--bg-elevated: #ffffff;--bg-glass: rgba(255, 255, 255, .78);--bg-overlay: rgba(0, 0, 0, .35);--text: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--border: #e5e7eb;--border-light: #f3f4f6;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--shadow-sheet: 0 -8px 40px rgba(0, 0, 0, .12);--marker-border: rgba(255, 255, 255, .95);--marker-shadow: 0 2px 8px rgba(0, 0, 0, .2);--cluster-shadow: 0 3px 12px rgba(0, 0, 0, .2);--green: #22c55e;--green-bg: rgba(34, 197, 94, .12);--orange: #f59e0b;--orange-bg: rgba(245, 158, 11, .12);--red: #ef4444;--red-bg: rgba(239, 68, 68, .12);color-scheme:light}html,body,#app{height:100%;width:100%;overflow:hidden;font-family:var(--font);font-size:var(--text-base);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,select{font-family:var(--font);cursor:pointer;border:none;outline:none;-webkit-tap-highlight-color:transparent}.map-marker{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 10px;border-radius:var(--radius-full);color:#fff;font-family:var(--font);font-weight:700;font-size:13px;line-height:1;white-space:nowrap;border:2px solid var(--marker-border);box-shadow:var(--marker-shadow)}.map-marker.green{background:var(--green)}.map-marker.orange{background:var(--orange);color:#422006}.map-marker.red{background:var(--red)}.map-marker.gray{background:var(--status-gray)}.map-marker.labeled{gap:6px;padding:0 10px;border-radius:var(--radius-md)}.marker-name{font-weight:500;font-size:11px;opacity:.9}.marker-spots{font-weight:800;font-size:13px}.cluster-marker{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:#fff;font-family:var(--font);font-weight:800;line-height:1;border:2.5px solid var(--marker-border);box-shadow:var(--cluster-shadow)}.cluster-marker.green{background:var(--green)}.cluster-marker.orange{background:var(--orange);color:#422006}.cluster-marker.red{background:var(--red)}.cluster-marker.gray{background:var(--status-gray)}.user-marker{position:relative;width:28px;height:28px}.user-marker-dot{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:var(--radius-full);background:var(--primary);border:3px solid white;box-shadow:0 2px 8px #0d948880;z-index:1}.user-marker-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-full);border:2px solid var(--primary);opacity:.3;z-index:0}.user-marker-pulse{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:var(--radius-full);background:#0d94882e;animation:user-pulse 2.5s cubic-bezier(0,0,.2,1) infinite}@keyframes user-pulse{0%{transform:scale(.5);opacity:1}to{transform:scale(2);opacity:0}}.dest-marker{display:flex;align-items:flex-end;justify-content:center;width:36px;height:36px;filter:drop-shadow(0 2px 6px rgba(13,148,136,.5))}.dest-marker i{font-size:36px;color:var(--primary);-webkit-text-stroke:1.5px white}.glass{background:var(--bg-glass);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}[data-theme=dark] .skeleton{background:linear-gradient(90deg,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}[data-theme=light] .skeleton{background:linear-gradient(90deg,var(--border-light) 25%,#e8e8e8 50%,var(--border-light) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large,.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:transparent!important}[data-theme=dark] .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.95) contrast(.85)}.leaflet-control-attribution{font-size:10px!important;background:var(--bg-glass)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;color:var(--text-tertiary)!important;border-radius:var(--radius-sm)!important;padding:2px 6px!important}.leaflet-control-attribution a{color:var(--text-secondary)!important}
