@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Geologica:wght@300;400;500;600;700;800;900&family=Onest:wght@400;500;600&family=JetBrains+Mono:wght@500&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@500&display=swap";.user-menu-container[data-v-1b1d85a6]{display:flex;align-items:center;gap:.75rem}.user-menu[data-v-1b1d85a6]{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#ffffff0d;cursor:pointer;transition:all .2s ease}.user-menu[data-v-1b1d85a6]:hover{border-color:#ffffff4d;background:#ffffff14}.avatar[data-v-1b1d85a6]{width:28px;height:28px;border-radius:50%;background:linear-gradient(120deg,var(--color-primary, #457b9d),var(--color-accent, #e94560));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#fff}.user-meta[data-v-1b1d85a6]{display:flex;flex-direction:column;gap:.1rem}.user-name[data-v-1b1d85a6]{font-weight:600;font-size:.9rem;line-height:1}.user-email[data-v-1b1d85a6]{font-size:.75rem;opacity:.7;line-height:1}.chevron[data-v-1b1d85a6]{font-size:.8rem;opacity:.7;transition:transform .2s ease}.user-menu:hover .chevron[data-v-1b1d85a6]{opacity:1}.ghost-btn[data-v-1b1d85a6]{text-decoration:none;padding:.65rem .95rem;border-radius:12px;border:1px solid rgba(255,255,255,.18);color:var(--color-text, #e0e6ed);background:transparent;transition:border .2s ease,background .2s ease;cursor:pointer;font-size:.95rem;font-weight:500}.ghost-btn[data-v-1b1d85a6]:hover{border-color:var(--color-accent, #e94560);background:#e945601a}.primary-btn[data-v-1b1d85a6]{text-decoration:none;background:linear-gradient(120deg,var(--color-primary, #457b9d),var(--color-accent, #e94560));color:#fff;border:none;border-radius:12px;padding:.65rem .95rem;font-weight:600;cursor:pointer;box-shadow:0 10px 30px #0e346059;transition:transform .1s ease,box-shadow .15s ease;font-size:.95rem}.primary-btn[data-v-1b1d85a6]:hover{transform:translateY(-1px);box-shadow:0 14px 32px #0e346073}.user-dropdown-portal[data-v-1b1d85a6]{position:fixed;top:3.5rem;right:1rem;background:#0f1624;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 16px 40px #00000059;overflow:hidden;z-index:1500;min-width:200px}.user-dropdown-portal a[data-v-1b1d85a6],.user-dropdown-portal button[data-v-1b1d85a6]{display:block;width:100%;padding:.75rem 1rem;text-align:left;background:none;border:none;color:var(--color-text, #e0e6ed);text-decoration:none;cursor:pointer;transition:background .15s ease;font-size:.95rem}.user-dropdown-portal a[data-v-1b1d85a6]:hover,.user-dropdown-portal button[data-v-1b1d85a6]:hover{background:#ffffff0f}.city-map-container[data-v-8038a018]{width:100%;height:100%;position:absolute;top:0;left:0}.network-editor-toolbar[data-v-cb71a1b7]{display:flex;gap:.25rem;align-items:center}.ne-btn[data-v-cb71a1b7]{background:transparent;border:1px solid var(--color-primary);border-radius:6px;padding:.35rem .6rem;color:var(--color-text);cursor:pointer;font-size:.8rem;transition:all .15s ease}.ne-btn[data-v-cb71a1b7]:hover{background:#ffffff0f}.ne-btn.active[data-v-cb71a1b7]{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.ne-cancel[data-v-cb71a1b7]{border-color:#d32f2f;color:#d32f2f}.ne-status[data-v-3b7686d9]{font-size:.8rem;color:var(--color-text-muted);padding:.2rem 0}.speed-panel[data-v-ee4915a3]{background:#0f1730f2;border:1px solid var(--color-primary);border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:8px;width:280px;pointer-events:auto}.speed-header[data-v-ee4915a3]{display:flex;justify-content:space-between;align-items:center}.speed-title[data-v-ee4915a3]{font-weight:700;font-size:.9rem}.speed-close[data-v-ee4915a3]{background:none;border:none;color:#aaa;font-size:1.3rem;cursor:pointer;padding:0;line-height:1}.speed-description[data-v-ee4915a3]{margin:0;font-size:.78rem;line-height:1.4;color:var(--color-text-muted)}.speed-row[data-v-ee4915a3]{display:flex;align-items:center;gap:8px}.speed-slider[data-v-ee4915a3]{flex:1;accent-color:var(--color-primary)}.speed-input[data-v-ee4915a3]{width:64px;background:#0a1023;border:1px solid var(--color-primary);border-radius:6px;padding:.3rem .4rem;color:var(--color-text);font-size:.85rem}.speed-ticks[data-v-ee4915a3]{display:flex;justify-content:space-between;width:calc(100% - 72px);font-size:.68rem;color:var(--color-text-muted)}.speed-reset[data-v-ee4915a3]{align-self:flex-start;background:none;border:none;padding:0;color:var(--color-primary);font-size:.78rem;cursor:pointer;text-decoration:underline}.speed-legend[data-v-23c2ac35]{background:#0f1730e6;border:1px solid var(--color-primary);border-radius:8px;padding:.5rem .75rem 1.4rem;width:240px}.speed-legend-title[data-v-23c2ac35]{font-size:.78rem;font-weight:600;margin-bottom:6px}.speed-legend-bar[data-v-23c2ac35]{height:8px;border-radius:4px}.speed-legend-labels[data-v-23c2ac35]{position:relative;font-size:.68rem;color:var(--color-text-muted)}.speed-legend-labels span[data-v-23c2ac35]{position:absolute;top:3px;transform:translate(-50%);white-space:nowrap}.measure-status[data-v-7deee031]{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:#ff44441a;border:1px solid #ff4444;border-radius:6px;font-size:.85rem;color:#f44}.measure-status-dot[data-v-7deee031]{width:8px;height:8px;border-radius:50%;background:#f44}.publish-panel[data-v-710d25ee]{background:#0f1730f2;border:1px solid var(--color-primary);border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:8px;width:300px}.publish-header[data-v-710d25ee]{display:flex;justify-content:space-between;align-items:center}.publish-title[data-v-710d25ee]{font-weight:700;font-size:.9rem}.publish-close[data-v-710d25ee]{background:none;border:none;color:#aaa;font-size:1.3rem;cursor:pointer;padding:0;line-height:1}.publish-description[data-v-710d25ee]{margin:0;font-size:.78rem;line-height:1.4;color:var(--color-text-muted)}.publish-label[data-v-710d25ee]{font-weight:600;font-size:.85rem;color:var(--color-text-muted)}.publish-input[data-v-710d25ee]{background:#0a1023;border:1px solid var(--color-primary);border-radius:6px;padding:.4rem .5rem;color:var(--color-text);font-size:.85rem;width:100%}.publish-link-row[data-v-710d25ee]{display:flex;align-items:center;gap:6px}.publish-copy[data-v-710d25ee]{background:none;border:1px solid var(--color-primary);border-radius:6px;color:var(--color-text);padding:.4rem .6rem;font-size:.8rem;cursor:pointer;white-space:nowrap}.publish-action[data-v-710d25ee]{background:var(--color-primary);border:none;border-radius:6px;color:#fff;padding:.45rem .6rem;font-size:.85rem;font-weight:600;cursor:pointer}.publish-action[data-v-710d25ee]:disabled{opacity:.5;cursor:default}.publish-stop[data-v-710d25ee]{background:transparent;border:1px solid #d9534f;color:#ff8a85}.publish-error[data-v-710d25ee]{font-size:.78rem;color:#ff8a85}.dialog-backdrop[data-v-18efad56]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.dialog[data-v-18efad56]{background:#0f1730;border:1px solid var(--color-primary);border-radius:12px;padding:1.5rem;min-width:340px}.dialog-title[data-v-18efad56]{margin:0 0 1rem;font-size:1.1rem;color:var(--color-text)}.dialog-field[data-v-18efad56]{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.dialog-field span[data-v-18efad56]{font-weight:600;font-size:.9rem;color:var(--color-text-muted)}.dialog-field input[data-v-18efad56]{background:#0a1023;border:1px solid var(--color-primary);border-radius:8px;padding:.65rem .85rem;color:var(--color-text);font-size:1rem}.dialog-field input[data-v-18efad56]:focus{outline:2px solid var(--color-accent);border-color:var(--color-accent)}.dialog-error[data-v-18efad56]{color:var(--color-accent);font-size:.85rem;margin-bottom:.5rem}.dialog-actions[data-v-18efad56]{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.btn-cancel[data-v-18efad56]{background:transparent;border:1px solid var(--color-primary);border-radius:8px;padding:.55rem 1.2rem;color:var(--color-text);cursor:pointer;font-size:.9rem}.btn-primary[data-v-18efad56]{background:var(--color-accent);color:#fff;border:none;border-radius:8px;padding:.55rem 1.2rem;font-weight:700;cursor:pointer;font-size:.9rem}.btn-primary[data-v-18efad56]:disabled{opacity:.6;cursor:not-allowed}.dialog-backdrop[data-v-126e304d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.dialog[data-v-126e304d]{background:#0f1730;border:1px solid var(--color-primary);border-radius:12px;padding:1.5rem;min-width:340px}.dialog-title[data-v-126e304d]{margin:0 0 .75rem;font-size:1.1rem;color:var(--color-text)}.dialog-text[data-v-126e304d]{margin:0 0 1rem;color:var(--color-text-muted);font-size:.9rem;line-height:1.4}.dialog-text strong[data-v-126e304d]{color:var(--color-text)}.dialog-error[data-v-126e304d]{color:var(--color-accent);font-size:.85rem;margin-bottom:.5rem}.dialog-actions[data-v-126e304d]{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.btn-cancel[data-v-126e304d]{background:transparent;border:1px solid var(--color-primary);border-radius:8px;padding:.55rem 1.2rem;color:var(--color-text);cursor:pointer;font-size:.9rem}.btn-danger[data-v-126e304d]{background:#d32f2f;color:#fff;border:none;border-radius:8px;padding:.55rem 1.2rem;font-weight:700;cursor:pointer;font-size:.9rem}.btn-danger[data-v-126e304d]:disabled{opacity:.6;cursor:not-allowed}.osm-import-panel[data-v-feaa05fd]{background:#0f1730f2;border:1px solid var(--color-primary);border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:6px;width:260px}.osm-import-header[data-v-feaa05fd]{display:flex;justify-content:space-between;align-items:center}.osm-import-title[data-v-feaa05fd]{font-weight:700;font-size:.9rem}.osm-import-close[data-v-feaa05fd]{background:none;border:none;color:#aaa;font-size:1.3rem;cursor:pointer;padding:0;line-height:1}.osm-import-label[data-v-feaa05fd]{font-weight:600;font-size:.85rem;color:var(--color-text-muted)}.osm-import-select[data-v-feaa05fd]{background:#0a1023;border:1px solid var(--color-primary);border-radius:6px;padding:.4rem .5rem;color:var(--color-text);font-size:.85rem}.osm-remove-check[data-v-feaa05fd]{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.8rem;color:#aaa}.osm-remove-check.confirmed[data-v-feaa05fd]{color:var(--color-text)}.network-edit-btn[data-v-feaa05fd]{background:transparent;border:1px solid var(--color-primary);border-radius:6px;padding:.4rem .65rem;color:var(--color-text);cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:4px}.network-edit-btn[data-v-feaa05fd]:hover{background:#ffffff0f}.network-edit-btn.save-btn[data-v-feaa05fd]{background:var(--color-accent);color:#fff;font-weight:700;border:none}.network-edit-btn[data-v-feaa05fd]:disabled{opacity:.5;cursor:not-allowed}.osm-import-status[data-v-bc81b19b]{color:#ff9800;font-size:.85rem}.osm-import-error[data-v-bc81b19b]{color:#d32f2f;font-size:.85rem;display:flex;align-items:center;gap:4px}.dismiss-btn[data-v-bc81b19b]{background:none;border:none;color:#d32f2f;font-size:1.1rem;cursor:pointer;padding:0;line-height:1}.adviser-checkbox[data-v-95b8eb33]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.85rem;cursor:pointer}.adviser-hint[data-v-95b8eb33]{margin:0 0 1rem;font-size:.85rem;opacity:.75}.adviser-error[data-v-95b8eb33]{margin-bottom:.75rem;color:#f87171;font-size:.85rem;white-space:pre-wrap}.full-preview-panel[data-v-820ae300]{position:absolute;z-index:2;width:540px;background:#1a1a2e;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.4rem;box-shadow:0 8px 24px #0009;pointer-events:none}.full-preview-title[data-v-820ae300]{font-size:.8rem;color:#b8b8b8;margin-bottom:.3rem}.full-preview[data-v-820ae300]{line-height:0;border-radius:4px;overflow:hidden}.full-preview[data-v-820ae300] svg{display:block;width:100%;height:auto}.preview.hovered[data-v-820ae300]{outline:2px solid #c084fc}.adviser-results-dialog[data-v-820ae300]{position:relative;background:#1a1a2e;color:var(--color-text, #e6e6e6);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem 1.25rem;width:min(1400px,calc(100vw - 3rem));max-height:calc(100vh - 4rem);display:flex;flex-direction:column;gap:.6rem;box-shadow:0 10px 30px #00000080}.adviser-results-header[data-v-820ae300]{display:flex;justify-content:space-between;align-items:center}.adviser-results-header h3[data-v-820ae300]{margin:0}.adviser-results-close[data-v-820ae300]{background:transparent;border:none;color:#bbb;font-size:1.3rem;cursor:pointer;line-height:1}.adviser-results-close[data-v-820ae300]:hover{color:#fff}.adviser-results-scroll[data-v-820ae300]{overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) rgba(0,0,0,.3)}.adviser-results-scroll[data-v-820ae300]::-webkit-scrollbar{width:10px;height:10px}.adviser-results-scroll[data-v-820ae300]::-webkit-scrollbar-track{background:#0000004d}.adviser-results-scroll[data-v-820ae300]::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:5px;border:2px solid transparent;background-clip:padding-box}.adviser-results-scroll[data-v-820ae300]::-webkit-scrollbar-thumb:hover{background:#fff6;background-clip:padding-box}.adviser-results-scroll[data-v-820ae300]::-webkit-scrollbar-corner{background:transparent}.adviser-results-table[data-v-820ae300]{border-collapse:collapse;width:100%;font-size:.82rem}.adviser-results-table th[data-v-820ae300],.adviser-results-table td[data-v-820ae300]{padding:.3rem .5rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap;vertical-align:middle}.adviser-results-table th[data-v-820ae300]{position:sticky;background:#1a1a2e;color:#b8b8b8;font-weight:600;white-space:normal;max-width:7rem;line-height:1.2;vertical-align:bottom}.adviser-results-table thead th[data-v-820ae300]{top:0}.adviser-results-table .num[data-v-820ae300]{text-align:right}.adviser-results-table .option-cell[data-v-820ae300]{border-left:1px solid rgba(255,255,255,.12);border-right:1px solid rgba(255,255,255,.12)}.adviser-results-table .score[data-v-820ae300]{font-weight:600}.adviser-results-table tr.option-start td[data-v-820ae300]{border-top:1px solid rgba(255,255,255,.18)}.adviser-results-table tr.created td[data-v-820ae300]{background:#a855f71f}.preview-cell[data-v-820ae300]{padding:.2rem}.preview[data-v-820ae300]{width:144px;height:100px;border-radius:4px;overflow:hidden;line-height:0}.preview[data-v-820ae300] svg{display:block}.better[data-v-820ae300]{color:#5dd97a}.worse[data-v-820ae300]{color:#ff9a9a}.adviser-results-link[data-v-820ae300]{color:#c084fc;text-decoration:none}.adviser-results-link[data-v-820ae300]:hover{text-decoration:underline}.import-data-panel[data-v-63c17193]{background:#0f1730f2;border:1px solid var(--color-primary);border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:6px;width:260px}.import-data-header[data-v-63c17193]{display:flex;justify-content:space-between;align-items:center}.import-data-title[data-v-63c17193]{font-weight:700;font-size:.9rem}.import-data-close[data-v-63c17193]{background:none;border:none;color:#aaa;font-size:1.3rem;cursor:pointer;padding:0;line-height:1}.import-data-error[data-v-63c17193]{color:#ff9a9a;font-size:.8rem;white-space:pre-wrap;word-break:break-word;max-height:8rem;overflow-y:auto}.import-data-btn[data-v-63c17193]{background:transparent;border:1px solid var(--color-primary);border-radius:6px;padding:.4rem .65rem;color:var(--color-text);cursor:pointer;font-size:.8rem}.import-data-btn[data-v-63c17193]:hover:not(:disabled){background:#ffffff0f}.import-data-btn[data-v-63c17193]:disabled{opacity:.5;cursor:not-allowed}.import-data-hidden-input[data-v-63c17193]{display:none}.districts-panel[data-v-9bffc555]{background:#0f1730f2;border:1px solid var(--color-primary);border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;width:290px;max-height:calc(100vh - 9rem);box-shadow:0 8px 24px #00000059}.districts-header[data-v-9bffc555]{display:flex;align-items:center;gap:.5rem}.districts-title[data-v-9bffc555]{font-weight:700;font-size:.9rem;flex:1}.districts-saving[data-v-9bffc555]{font-size:.72rem;opacity:.6}.districts-close[data-v-9bffc555]{background:none;border:none;color:#aaa;font-size:1.3rem;cursor:pointer;padding:0;line-height:1}.districts-close[data-v-9bffc555]:hover{color:var(--color-text)}.districts-create[data-v-9bffc555]{background:transparent;border:1px dashed var(--color-primary);border-radius:6px;padding:.45rem .65rem;color:var(--color-text);cursor:pointer;font-size:.82rem;font-family:inherit;transition:background .15s ease,border-color .15s ease}.districts-create[data-v-9bffc555]:hover{background:#ffffff0f}.districts-create.active[data-v-9bffc555]{border-style:solid;border-color:#ff9f43;color:#ff9f43}.districts-hint[data-v-9bffc555]{font-size:.75rem;opacity:.75;line-height:1.35}.districts-hint kbd[data-v-9bffc555]{font-family:inherit;font-size:.7rem;padding:0 .3rem;border:1px solid rgba(255,255,255,.25);border-radius:3px}.districts-empty[data-v-9bffc555]{font-size:.8rem;opacity:.55;font-style:italic;padding:.25rem 0}.districts-list[data-v-9bffc555]{display:flex;flex-direction:column;gap:2px;overflow-y:auto;min-height:0}.district-row[data-v-9bffc555]{display:flex;align-items:center;gap:.5rem;width:100%;padding:.35rem .45rem;background:transparent;border:none;border-radius:6px;color:inherit;font-family:inherit;font-size:.82rem;text-align:left;cursor:pointer;transition:background .15s ease}.district-row[data-v-9bffc555]:hover{background:#ffffff0d}.district-row.active[data-v-9bffc555]{background:#ffffff17}.district-swatch[data-v-9bffc555]{width:10px;height:10px;border-radius:3px;flex-shrink:0}.district-name[data-v-9bffc555]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.district-factor[data-v-9bffc555]{font-variant-numeric:tabular-nums;opacity:.5;font-size:.78rem}.district-factor.changed[data-v-9bffc555]{opacity:1;font-weight:600}.district-area[data-v-9bffc555]{font-variant-numeric:tabular-nums;opacity:.4;font-size:.72rem;min-width:4.2rem;text-align:right}.district-editor[data-v-9bffc555]{display:flex;flex-direction:column;gap:.35rem;margin:.15rem 0 .4rem .25rem;padding:.5rem .6rem;border-left:2px solid;background:#ffffff08;border-radius:0 6px 6px 0}.field-label[data-v-9bffc555]{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;opacity:.55;font-weight:700}.field-input[data-v-9bffc555]{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:5px;color:var(--color-text);font-family:inherit;font-size:.85rem;padding:.3rem .45rem;width:100%;box-sizing:border-box}.field-input[data-v-9bffc555]:focus{outline:none;border-color:var(--color-primary)}.factor-header[data-v-9bffc555]{display:flex;justify-content:space-between;align-items:baseline;margin-top:.25rem}.factor-row[data-v-9bffc555]{display:flex;align-items:center;gap:.5rem}.factor-slider[data-v-9bffc555]{flex:1;min-width:0}.factor-number[data-v-9bffc555]{display:flex;align-items:center;gap:.25rem;width:5.2rem;font-size:.8rem}.factor-number .field-input[data-v-9bffc555]{text-align:right}.field-hint[data-v-9bffc555]{font-size:.72rem;opacity:.6}.editor-help[data-v-9bffc555]{font-size:.72rem;opacity:.5;line-height:1.35;margin-top:.25rem}.editor-actions[data-v-9bffc555]{display:flex;align-items:center;gap:.5rem;margin-top:.3rem;flex-wrap:wrap}.confirm-text[data-v-9bffc555]{font-size:.78rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-btn[data-v-9bffc555]{background:none;border:none;padding:0;cursor:pointer;color:#8cc4ff;font-family:inherit;font-size:.72rem}.link-btn[data-v-9bffc555]:hover{text-decoration:underline}.delete-btn[data-v-9bffc555]{background:transparent;border:1px solid rgba(255,107,107,.4);border-radius:5px;color:#ff6b6b;font-family:inherit;font-size:.75rem;padding:.2rem .55rem;cursor:pointer}.delete-btn[data-v-9bffc555]:hover,.delete-btn.confirm[data-v-9bffc555]{background:#ff6b6b26;border-color:#ff6b6b}.run-form-checkbox[data-v-c4abd339]{display:flex;align-items:center;gap:.5rem;cursor:pointer}.delta-up[data-v-583039b9]{color:#2ecc71}.delta-down[data-v-583039b9]{color:#ff4d4d}.run-routes-header-right[data-v-583039b9]{display:flex;align-items:center;gap:.5rem}.run-routes-search[data-v-583039b9]{width:9rem;padding:.15rem .45rem;font-size:.78rem;font-weight:400;color:#ffffffe6;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:4px;outline:none}.run-routes-search[data-v-583039b9]:focus{border-color:#00baff99}.run-statistics-panel[data-v-5da5963e]{width:max-content;min-width:360px;max-height:100%;flex-shrink:0;pointer-events:auto;display:flex;flex-direction:column;background:#141426f2;border:1px solid rgba(0,186,255,.3);border-radius:6px;color:#ffffffd9;font-size:.875rem}.run-statistics-header[data-v-5da5963e]{display:flex;justify-content:space-between;gap:.5rem;padding:.4rem .75rem;font-weight:600;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.1)}.run-statistics-close[data-v-5da5963e]{background:none;border:none;color:#ffffff80;font-size:1.1rem;line-height:1;padding:0 .1rem;cursor:pointer}.run-statistics-close[data-v-5da5963e]:hover{color:#ffffffe6}.run-statistics-title[data-v-5da5963e]{flex:1 1 0;width:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-statistics-note[data-v-5da5963e]{margin-left:auto;font-weight:400;opacity:.6;white-space:nowrap}.run-statistics-scroll[data-v-5da5963e]{overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.run-statistics-scroll[data-v-5da5963e]::-webkit-scrollbar{width:6px}.run-statistics-scroll[data-v-5da5963e]::-webkit-scrollbar-track{background:transparent}.run-statistics-scroll[data-v-5da5963e]::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:3px}.run-statistics-scroll[data-v-5da5963e]::-webkit-scrollbar-thumb:hover{background:#fff6}.run-statistics-empty[data-v-5da5963e]{padding:.75rem;opacity:.7}table[data-v-5da5963e]{width:100%;border-collapse:collapse}th[data-v-5da5963e],td[data-v-5da5963e]{padding:.3rem .85rem;text-align:left}th[data-v-5da5963e]{font-weight:600;opacity:.7}.num[data-v-5da5963e]{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}th.run-statistics-base-name[data-v-5da5963e]{text-align:right}th.run-statistics-current-name[data-v-5da5963e]{text-align:left}.run-statistics-run-name[data-v-5da5963e]{display:block;width:0;min-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-statistics-group td[data-v-5da5963e]{padding-top:.5rem;font-weight:600;color:#00baff;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.run-statistics-summary td[data-v-5da5963e]{padding-top:.55rem;padding-bottom:.55rem}.run-statistics-summary-text[data-v-5da5963e]{width:0;min-width:100%;text-align:center;font-size:.95rem;font-variant-numeric:tabular-nums}.run-statistics-label[data-v-5da5963e]{white-space:nowrap}.run-statistics-unit[data-v-5da5963e]{opacity:.55}.delta-good[data-v-5da5963e]{color:#2ecc71}.delta-bad[data-v-5da5963e]{color:#ff4d4d}.delta-neutral[data-v-5da5963e]{color:#ffffff8c}.delta-highlight[data-v-5da5963e]{font-weight:700}.baseline-cards[data-v-0d71ea2d]{width:240px;min-height:0;overflow-y:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:.45rem;pointer-events:auto}.baseline-card[data-v-0d71ea2d]{padding:.65rem .85rem .75rem;background:#141426f2;border:1px solid rgba(0,186,255,.3);border-radius:6px;color:#ffffffb3;font-size:.75rem;font-variant-numeric:tabular-nums}.baseline-card-title[data-v-0d71ea2d]{font-size:.78rem;font-weight:600;color:#ffffffd9}.baseline-card-hero[data-v-0d71ea2d]{display:flex;justify-content:center;align-items:baseline;gap:.4rem;margin:.45rem 0 .55rem}.hero-number[data-v-0d71ea2d]{font-size:2.2rem;font-weight:700;line-height:1;letter-spacing:-.02em}.hero-unit[data-v-0d71ea2d]{font-size:.8rem;font-weight:600;color:#ffffff8c}.baseline-card-hero.compact .hero-number[data-v-0d71ea2d]{font-size:1.3rem}.baseline-card-hero.compact .hero-separator[data-v-0d71ea2d]{font-size:1.05rem}.hero-separator[data-v-0d71ea2d]{font-size:1.6rem;font-weight:300;color:#ffffff59}.baseline-card-line[data-v-0d71ea2d]{line-height:1.45}.baseline-card-line.centered[data-v-0d71ea2d]{text-align:center}.baseline-card-parts[data-v-0d71ea2d]{display:flex;flex-wrap:wrap;justify-content:center;gap:.15rem .55rem;font-size:.7rem}.baseline-trips[data-v-0d71ea2d]{width:100%;margin-top:.3rem;border-collapse:collapse}.baseline-trips td[data-v-0d71ea2d]{padding:.15rem 0;vertical-align:middle}.baseline-trips td[data-v-0d71ea2d]:first-child{width:1%;white-space:nowrap}.baseline-trips .num[data-v-0d71ea2d]{text-align:center;font-size:1rem;font-weight:700}.tone-better[data-v-0d71ea2d]{color:#2ecc71}.tone-worse[data-v-0d71ea2d]{color:#ff4d4d}.tone-neutral[data-v-0d71ea2d]{color:#ffffffd9}.connectivity-legend[data-v-fe942649]{background:#0f1730e6;border:1px solid var(--color-primary);border-radius:8px;padding:.5rem .75rem;width:260px}.connectivity-legend-title[data-v-fe942649]{font-size:.78rem;font-weight:600;margin-bottom:6px}.connectivity-legend-bands[data-v-fe942649]{display:flex;flex-direction:column;gap:2px;font-size:.72rem}.connectivity-legend-band[data-v-fe942649]{display:flex;align-items:center;gap:.4rem}.band-swatch[data-v-fe942649]{width:22px;height:6px;border-radius:3px}.connectivity-legend-note[data-v-fe942649]{margin-top:4px;font-size:.7rem;color:var(--color-text-muted)}.run-trips-panel[data-v-3c80cf8d]{width:360px;max-height:100%;flex-shrink:0;pointer-events:auto;display:flex;flex-direction:column;background:#141426f2;border:1px solid rgba(0,186,255,.3);border-radius:6px;color:#ffffffd9;font-size:.875rem}.run-trips-header[data-v-3c80cf8d]{display:flex;justify-content:space-between;gap:.5rem;padding:.4rem .75rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,.1)}.run-trips-title[data-v-3c80cf8d]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-trips-close[data-v-3c80cf8d]{background:none;border:none;color:inherit;font-size:1.1rem;cursor:pointer}.run-trips-note[data-v-3c80cf8d],.run-trips-empty[data-v-3c80cf8d]{padding:.4rem .75rem;color:#fff9}.run-trips-scroll[data-v-3c80cf8d]{overflow-y:auto;padding:0 .5rem .5rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.run-trips-scroll[data-v-3c80cf8d]::-webkit-scrollbar{width:6px}.run-trips-scroll[data-v-3c80cf8d]::-webkit-scrollbar-track{background:transparent}.run-trips-scroll[data-v-3c80cf8d]::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:3px}.run-trips-scroll[data-v-3c80cf8d]::-webkit-scrollbar-thumb:hover{background:#fff6}.run-trips-option[data-v-3c80cf8d]{display:block;width:100%;text-align:left;margin-top:.4rem;padding:.4rem .5rem;background:#ffffff0a;border:1px solid transparent;border-radius:4px;color:inherit;font:inherit;cursor:pointer}.run-trips-option.active[data-v-3c80cf8d]{border-color:#00baff99;background:#00baff1a}.run-trips-option-head[data-v-3c80cf8d]{display:flex;gap:.75rem;margin-bottom:.2rem}.run-trips-leg[data-v-3c80cf8d]{display:flex;align-items:center;gap:.4rem;font-size:.8rem;margin-top:.15rem}.run-trips-leg .mrp-badge[data-v-3c80cf8d]{flex-shrink:0}.connectivity-issues-panel[data-v-23204f16]{width:340px;max-height:100%;flex-shrink:0;pointer-events:auto;display:flex;flex-direction:column;background:#141426f2;border:1px solid rgba(0,186,255,.3);border-radius:6px;color:#ffffffd9;font-size:.85rem}.connectivity-issues-header[data-v-23204f16]{padding:.4rem .75rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,.1)}.connectivity-issues-empty[data-v-23204f16]{padding:.4rem .75rem;color:#fff9}.connectivity-issues-scroll[data-v-23204f16]{overflow-y:auto;padding:0 .5rem .5rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.connectivity-issue[data-v-23204f16]{display:block;width:100%;text-align:left;margin-top:.4rem;padding:.4rem .5rem;background:#ffffff0a;border:1px solid transparent;border-radius:4px;color:inherit;font:inherit;cursor:pointer}.connectivity-issue.active[data-v-23204f16]{border-color:#00baff99;background:#00baff1a}.connectivity-issue-title[data-v-23204f16]{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connectivity-issue-stats[data-v-23204f16]{display:flex;flex-wrap:wrap;gap:.2rem .75rem;font-size:.78rem;color:#ffffffa6}.setup-result[data-v-6b623b2f]{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.08)}.setup-result-heading[data-v-6b623b2f]{color:#fff;font-weight:600}.setup-result-tree[data-v-6b623b2f]{display:flex;flex-direction:column;padding-left:.5rem}.setup-result-node[data-v-6b623b2f]{color:#e6e6e6;line-height:1.45}.setup-result-child[data-v-6b623b2f]{padding-left:1rem;color:#b8b8b8}.setup-result-note[data-v-6b623b2f]{color:#9aa0a6;margin-top:.2rem}.setup-result-divider[data-v-6b623b2f]{margin-top:.5rem;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.08)}.setup-result-error[data-v-6b623b2f]{color:#ff9a9a;margin-top:.2rem}.setup-result-actions[data-v-6b623b2f]{display:flex;justify-content:center;gap:.5rem;margin-top:.4rem}.setup-result-footer[data-v-6b623b2f]{display:flex;justify-content:center;margin-top:.3rem}.setup-result-btn[data-v-6b623b2f]{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:.25rem .9rem;font-family:inherit;font-size:.8rem;cursor:pointer}.setup-result-btn[data-v-6b623b2f]:hover:not(:disabled){background:#ffffff26}.setup-result-btn[data-v-6b623b2f]:disabled{opacity:.6;cursor:default}.setup-result-btn-primary[data-v-6b623b2f]{background:#4ea8ff2e;border-color:#4ea8ff66}.setup-result-btn-primary[data-v-6b623b2f]:hover:not(:disabled){background:#4ea8ff47}.setup-result-hidden-input[data-v-6b623b2f]{display:none}.ttb[data-v-c1b6388f]{margin-top:.5rem;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.08)}.ttb-title[data-v-c1b6388f]{color:#fff;font-weight:600;margin-bottom:.3rem}.ttb-empty[data-v-c1b6388f]{color:#9aa0a6}.ttb-table[data-v-c1b6388f]{display:grid;grid-template-columns:max-content max-content max-content;column-gap:1.5rem;width:max-content;max-width:100%;line-height:1.35}.ttb-row[data-v-c1b6388f]{display:contents}.ttb-ms[data-v-c1b6388f],.ttb-pct[data-v-c1b6388f]{text-align:right;font-variant-numeric:tabular-nums}.ttb-step>span[data-v-c1b6388f]{color:#fff;padding-top:.25rem}.ttb-step .ttb-pct[data-v-c1b6388f]{color:#4ea8ff}.ttb-sub>span[data-v-c1b6388f]{color:#9aa0a6}.ttb-sub .ttb-name[data-v-c1b6388f]{padding-left:1.2rem}.ttb-count[data-v-c1b6388f]{color:#6f757b}.ttb-bar[data-v-c1b6388f]{grid-column:1 / -1;height:2px;background:#ffffff0f;margin:1px 0 2px}.ttb-bar>div[data-v-c1b6388f]{height:100%;background:#4ea8ff}.ttb-total>span[data-v-c1b6388f]{color:#5dd97a;font-weight:600;margin-top:.35rem;padding-top:.25rem;border-top:1px dashed rgba(255,255,255,.12)}.task-console[data-v-b29dc2d7]{position:absolute;top:4.5rem;left:50%;transform:translate(-50%);z-index:900;width:calc(100% - 4rem);max-width:720px;max-height:50vh;display:flex;flex-direction:column;background:#0f1216d1;color:#e6e6e6;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:.6rem .8rem;font-family:Menlo,Consolas,monospace;font-size:.82rem;box-shadow:0 6px 20px #00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.task-console-failed[data-v-b29dc2d7]{border-color:#e65a5a80}.task-console-header[data-v-b29dc2d7]{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem;padding-bottom:.35rem;border-bottom:1px solid rgba(255,255,255,.08)}.task-console-title[data-v-b29dc2d7]{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:#fff}.task-console-dot[data-v-b29dc2d7]{width:8px;height:8px;border-radius:50%}.task-console-dot-running[data-v-b29dc2d7]{background:#4ea8ff;animation:task-pulse-b29dc2d7 1.2s infinite}.task-console-dot-completed[data-v-b29dc2d7]{background:#5dd97a}.task-console-dot-failed[data-v-b29dc2d7]{background:#ff6b6b}@keyframes task-pulse-b29dc2d7{0%,to{opacity:.4}50%{opacity:1}}.task-console-close[data-v-b29dc2d7]{background:transparent;color:#bbb;border:none;font-size:1rem;cursor:pointer;line-height:1;padding:0 .25rem}.task-console-close[data-v-b29dc2d7]:hover{color:#fff}.task-console-body[data-v-b29dc2d7]{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.2rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) rgba(0,0,0,.25)}.task-console-step[data-v-b29dc2d7]{display:flex;align-items:baseline;gap:.35rem;line-height:1.35}.task-console-step-icon[data-v-b29dc2d7]{width:1rem;display:inline-block;text-align:center;font-weight:700}.task-console-step-icon-running[data-v-b29dc2d7]{color:#4ea8ff}.task-console-step-icon-completed[data-v-b29dc2d7]{color:#5dd97a}.task-console-step-icon-failed[data-v-b29dc2d7]{color:#ff6b6b}.task-console-step-name[data-v-b29dc2d7]{color:#fff}.task-console-step-detail[data-v-b29dc2d7]{color:#9aa0a6}.task-console-success[data-v-b29dc2d7]{margin-top:.35rem;color:#5dd97a;font-weight:600}.task-console-error[data-v-b29dc2d7]{margin-top:.35rem;color:#ff9a9a;font-weight:600}.task-console-footer[data-v-b29dc2d7]{display:flex;justify-content:center;margin-top:.6rem;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.08)}.task-console-btn[data-v-b29dc2d7]{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:.25rem .9rem;font-family:inherit;font-size:.8rem;cursor:pointer}.task-console-btn[data-v-b29dc2d7]:hover{background:#ffffff26}.task-console-body[data-v-b29dc2d7]::-webkit-scrollbar{width:10px;height:10px}.task-console-body[data-v-b29dc2d7]::-webkit-scrollbar-track{background:#00000040}.task-console-body[data-v-b29dc2d7]::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px;border:2px solid transparent;background-clip:padding-box}.task-console-body[data-v-b29dc2d7]::-webkit-scrollbar-thumb:hover{background:#ffffff59;background-clip:padding-box}.task-console-body[data-v-b29dc2d7]::-webkit-scrollbar-corner{background:transparent}.task-console-fade-enter-active[data-v-b29dc2d7],.task-console-fade-leave-active[data-v-b29dc2d7]{transition:opacity .25s ease,transform .25s ease}.task-console-fade-enter-from[data-v-b29dc2d7],.task-console-fade-leave-to[data-v-b29dc2d7]{opacity:0;transform:translate(-50%,-4px)}.hero-map[data-v-2829e017]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:#3a3d40;cursor:default}.hero-map[data-v-2829e017] .leaflet-control-attribution{background:#10161f99;color:#8a96a3;font-size:.65rem}.hero-map[data-v-2829e017] .leaflet-control-attribution a{color:#b9c3cc}.carousel[data-v-9b750f44]{outline:none}.carousel[data-v-9b750f44]:focus-visible{outline:2px solid var(--lv-teal);outline-offset:8px;border-radius:6px}.stage[data-v-9b750f44]{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(16rem,1fr);gap:2.5rem;align-items:center}.frame[data-v-9b750f44]{margin:0;aspect-ratio:3 / 2;background:#0b1017;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden;box-shadow:0 30px 60px #00000073}.frame-image[data-v-9b750f44]{display:block;width:100%;height:100%;object-fit:contain}.caption-count[data-v-9b750f44]{color:var(--lv-mist);font-size:.9rem;font-variant-numeric:tabular-nums}.caption-title[data-v-9b750f44]{margin:.5rem 0 .9rem;font-size:2rem;font-weight:600;letter-spacing:-.01em;color:#fff}.caption-text[data-v-9b750f44]{margin:0;color:#c4ccd4;font-size:1.05rem;line-height:1.6;max-width:34ch;min-height:6.5em}.caption-nav[data-v-9b750f44]{display:flex;gap:.6rem;margin-top:1.75rem}.nav-btn[data-v-9b750f44]{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;cursor:pointer;transition:border-color .15s,background .15s}.nav-btn[data-v-9b750f44]:hover{border-color:var(--lv-teal);background:#2a9d8f26}.nav-btn[data-v-9b750f44]:focus-visible,.thumb[data-v-9b750f44]:focus-visible{outline:2px solid var(--lv-teal);outline-offset:3px}.thumbs[data-v-9b750f44]{display:flex;gap:.9rem;margin-top:2.5rem;overflow-x:auto;padding:.25rem .25rem .75rem;scrollbar-width:thin}.thumb[data-v-9b750f44]{flex:1 0 9rem;display:flex;flex-direction:column;gap:.5rem;padding:0;background:none;border:none;cursor:pointer;text-align:left;color:var(--lv-mist);font:inherit}.thumb img[data-v-9b750f44]{width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:4px;border:2px solid transparent;opacity:.5;transition:opacity .2s,border-color .2s}.thumb:hover img[data-v-9b750f44]{opacity:.85}.thumb-label[data-v-9b750f44]{font-size:.85rem}.thumb-active img[data-v-9b750f44]{opacity:1;border-color:var(--lv-teal)}.thumb-active .thumb-label[data-v-9b750f44]{color:#fff}.screen-enter-active[data-v-9b750f44],.screen-leave-active[data-v-9b750f44]{transition:opacity .25s ease}.screen-enter-from[data-v-9b750f44],.screen-leave-to[data-v-9b750f44]{opacity:0}@media (max-width: 900px){.stage[data-v-9b750f44]{grid-template-columns:1fr;gap:1.5rem}.caption-text[data-v-9b750f44]{max-width:none;min-height:0}.thumb[data-v-9b750f44]{flex-basis:7.5rem}}@media (prefers-reduced-motion: reduce){.screen-enter-active[data-v-9b750f44],.screen-leave-active[data-v-9b750f44]{transition:none}}.support-form[data-v-4db4b7d6]{display:flex;flex-direction:column;gap:.6rem;padding:1rem}.support-form-intro[data-v-4db4b7d6]{margin:0 0 .2rem;color:var(--color-text-muted);font-size:.85rem;line-height:1.4}.support-form-input[data-v-4db4b7d6]{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:var(--color-text);padding:.55rem .7rem;font-size:.9rem;font-family:inherit}.support-form-input[data-v-4db4b7d6]:focus{outline:none;border-color:var(--color-accent)}.support-form-submit[data-v-4db4b7d6]{background:var(--color-accent);color:#fff;border:none;border-radius:6px;padding:.6rem;font-size:.9rem;font-weight:600;cursor:pointer}.support-form-submit[data-v-4db4b7d6]:disabled{opacity:.5;cursor:default}.support-panel[data-v-ef6fdf5b]{position:fixed;right:1.25rem;bottom:5.5rem;z-index:1400;width:360px;height:min(560px,calc(100vh - 8rem));display:flex;flex-direction:column;background:var(--color-surface);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 12px 40px #00000073;color:var(--color-text);overflow:hidden}.support-panel-header[data-v-ef6fdf5b]{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.support-panel-title[data-v-ef6fdf5b]{font-weight:600}.support-panel-close[data-v-ef6fdf5b]{background:transparent;border:none;color:var(--color-text-muted);font-size:1.3rem;line-height:1;cursor:pointer}.support-panel-close[data-v-ef6fdf5b]:hover{color:var(--color-text)}.support-panel-messages[data-v-ef6fdf5b]{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:1rem;scrollbar-width:thin}.support-panel-empty[data-v-ef6fdf5b]{margin:0;color:var(--color-text-muted);font-size:.85rem;line-height:1.4}.support-message[data-v-ef6fdf5b]{display:flex;flex-direction:column;gap:.15rem;max-width:85%;padding:.5rem .7rem;border-radius:10px;font-size:.88rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.support-message-visitor[data-v-ef6fdf5b]{align-self:flex-end;background:var(--color-primary)}.support-message-operator[data-v-ef6fdf5b]{align-self:flex-start;background:#ffffff12}.support-message-author[data-v-ef6fdf5b]{font-size:.72rem;font-weight:600;color:var(--color-accent)}.support-message-time[data-v-ef6fdf5b]{align-self:flex-end;font-size:.68rem;color:var(--color-text-muted)}.support-panel-composer[data-v-ef6fdf5b]{flex:0 0 auto;display:flex;gap:.5rem;padding:.75rem;border-top:1px solid rgba(255,255,255,.08)}.support-panel-input[data-v-ef6fdf5b]{flex:1 1 auto;resize:none;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:var(--color-text);padding:.5rem .6rem;font-family:inherit;font-size:.88rem}.support-panel-input[data-v-ef6fdf5b]:focus{outline:none;border-color:var(--color-accent)}.support-panel-send[data-v-ef6fdf5b]{align-self:flex-end;background:var(--color-accent);color:#fff;border:none;border-radius:6px;padding:.5rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer}.support-panel-send[data-v-ef6fdf5b]:disabled{opacity:.5;cursor:default}.support-panel-error[data-v-ef6fdf5b]{flex:0 0 auto;margin:0;padding:.5rem 1rem .75rem;color:#ff9a9a;font-size:.8rem;white-space:pre-wrap;max-height:6rem;overflow-y:auto}@media (max-width: 480px){.support-panel[data-v-ef6fdf5b]{right:0;left:0;bottom:0;width:auto;height:85vh;border-radius:12px 12px 0 0}}.support-launcher[data-v-5a27fd11]{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1400;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--color-accent);color:#fff;cursor:pointer;box-shadow:0 6px 20px #00000059;transition:transform .15s ease}.support-launcher[data-v-5a27fd11]:hover{transform:scale(1.05)}.support-launcher-open[data-v-5a27fd11]{background:var(--color-primary)}.support-launcher-badge[data-v-5a27fd11]{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#fff;color:var(--color-accent);font-size:.7rem;font-weight:700;line-height:18px}.support-panel-fade-enter-active[data-v-5a27fd11],.support-panel-fade-leave-active[data-v-5a27fd11]{transition:opacity .2s ease,transform .2s ease}.support-panel-fade-enter-from[data-v-5a27fd11],.support-panel-fade-leave-to[data-v-5a27fd11]{opacity:0;transform:translateY(8px)}.request-dialog[data-v-af96e2c9]{width:min(36rem,calc(100vw - 2rem));margin:auto;max-height:calc(100svh - 2rem);padding:0;border:none;border-radius:10px;background:var(--lv-paper);color:var(--lv-ink);font-family:Outfit,sans-serif;box-shadow:0 30px 80px #00000080}.request-dialog[data-v-af96e2c9]::backdrop{background:#10161f9e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.request-dialog[open][data-v-af96e2c9]{animation:dialog-in-af96e2c9 .25s cubic-bezier(.2,.7,.2,1)}.sheet[data-v-af96e2c9]{position:relative;padding:2.5rem 2.5rem 2.25rem}.close[data-v-af96e2c9]{position:absolute;top:1rem;right:1rem;width:40px;height:40px;display:grid;place-items:center;border:none;border-radius:50%;background:transparent;color:#6b7782;cursor:pointer}.close[data-v-af96e2c9]:hover{background:#14202b0f;color:var(--lv-ink)}h2[data-v-af96e2c9]{margin:0;font-size:1.9rem;font-weight:700;letter-spacing:-.02em}.lead[data-v-af96e2c9]{margin:.6rem 0 1.75rem;color:#46525e;font-size:1.02rem;line-height:1.55;max-width:30rem}form[data-v-af96e2c9]{display:flex;flex-direction:column;gap:1.1rem}.row[data-v-af96e2c9]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field[data-v-af96e2c9]{display:flex;flex-direction:column;gap:.4rem}.field-label[data-v-af96e2c9]{font-size:.92rem;font-weight:600;color:var(--lv-ink)}input[data-v-af96e2c9],textarea[data-v-af96e2c9]{font:inherit;font-size:1rem;color:var(--lv-ink);background:#fff;border:1px solid #cfd5da;border-radius:6px;padding:.7rem .85rem;transition:border-color .15s,box-shadow .15s}textarea[data-v-af96e2c9]{resize:vertical;min-height:5.5rem;line-height:1.5}input[data-v-af96e2c9]::placeholder,textarea[data-v-af96e2c9]::placeholder{color:#98a2ab}input[data-v-af96e2c9]:focus,textarea[data-v-af96e2c9]:focus{outline:none;border-color:var(--lv-teal);box-shadow:0 0 0 3px #2a9d8f33}[aria-invalid=true][data-v-af96e2c9]{border-color:#c8323e}.field-error[data-v-af96e2c9],.server-error[data-v-af96e2c9]{color:#b42833;font-size:.88rem}.server-error[data-v-af96e2c9]{margin:0;white-space:pre-wrap;max-height:8rem;overflow-y:auto}.submit[data-v-af96e2c9],.secondary[data-v-af96e2c9]{font:inherit;font-size:1.05rem;font-weight:600;padding:.85rem 1.6rem;border-radius:6px;cursor:pointer}.submit[data-v-af96e2c9]{align-self:flex-start;margin-top:.4rem;background:var(--lv-teal);border:1px solid var(--lv-teal);color:#fff}.submit[data-v-af96e2c9]:hover:not(:disabled){background:var(--lv-teal-deep);border-color:var(--lv-teal-deep)}.submit[data-v-af96e2c9]:disabled{opacity:.6;cursor:default}.secondary[data-v-af96e2c9]{background:transparent;border:1px solid rgba(20,32,43,.3);color:var(--lv-ink)}.secondary[data-v-af96e2c9]:hover{border-color:var(--lv-ink)}.submit[data-v-af96e2c9]:focus-visible,.secondary[data-v-af96e2c9]:focus-visible,.close[data-v-af96e2c9]:focus-visible{outline:2px solid var(--lv-teal);outline-offset:3px}.done-actions[data-v-af96e2c9]{display:flex;flex-wrap:wrap;gap:.75rem}.done-actions .submit[data-v-af96e2c9]{margin-top:0}@keyframes dialog-in-af96e2c9{0%{opacity:0;transform:translateY(12px)}}@media (max-width: 560px){.sheet[data-v-af96e2c9]{padding:2rem 1.25rem 1.5rem}.row[data-v-af96e2c9]{grid-template-columns:1fr}.submit[data-v-af96e2c9]{align-self:stretch}}@media (prefers-reduced-motion: reduce){.request-dialog[open][data-v-af96e2c9]{animation:none}}.landing[data-v-ef47b225]{--lv-paper: #f7f8f6;--lv-ink: #14202b;--lv-teal: #2a9d8f;--lv-teal-deep: #217f74;--lv-night: #10161f;--lv-mist: #8a96a3;--lv-signal: #e63946;font-family:Outfit,sans-serif;background:var(--lv-night);color:var(--lv-ink);min-height:100vh;overflow-x:hidden}.hero[data-v-ef47b225]{position:relative;min-height:100svh;display:grid;place-items:center;padding:6rem 1.5rem 4rem;background:#3a3d40;overflow:hidden}.hero[data-v-ef47b225]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,#10161f00 35%,#10161f8c)}.hero-plain[data-v-ef47b225]{min-height:0;padding:10rem 1.5rem 7rem;background:var(--lv-paper)}.hero-plain[data-v-ef47b225]:after{display:none}.nav[data-v-ef47b225]{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2.5rem}.logo[data-v-ef47b225]{font-size:1.4rem;font-weight:700;letter-spacing:-.02em;color:#fff}.logo-kit[data-v-ef47b225]{color:var(--lv-signal)}.hero-plain .logo[data-v-ef47b225]{color:var(--lv-ink)}.nav-signin[data-v-ef47b225]{color:#fff;text-decoration:none;font-weight:500;padding:.5rem 1.1rem;border:1px solid rgba(255,255,255,.35);border-radius:6px;transition:border-color .15s}.nav-signin[data-v-ef47b225]:hover{border-color:#fff}.hero-plain .nav-signin[data-v-ef47b225]{color:var(--lv-ink);border-color:#14202b40}.hero-card[data-v-ef47b225]{position:relative;z-index:2;width:min(58rem,100%);padding:4rem 4.5rem;background:var(--lv-paper);border-radius:10px;box-shadow:0 30px 80px #00000073;animation:card-in-ef47b225 .7s cubic-bezier(.2,.7,.2,1) both}.hero-plain .hero-card[data-v-ef47b225]{box-shadow:none;background:transparent;text-align:center}.hero-card h1[data-v-ef47b225]{margin:0;font-size:clamp(2.1rem,4.6vw,3.6rem);font-weight:700;line-height:1.1;letter-spacing:-.025em;text-wrap:balance}.title-line[data-v-ef47b225]{display:block}.hero-text[data-v-ef47b225]{margin:1.25rem 0 0;font-size:1.25rem;line-height:1.6;color:#46525e;max-width:42rem}.hero-plain .hero-text[data-v-ef47b225]{margin-left:auto;margin-right:auto}.actions[data-v-ef47b225]{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.hero-plain .actions[data-v-ef47b225]{justify-content:center}.btn[data-v-ef47b225]{font:inherit;font-size:1.05rem;font-weight:600;padding:.85rem 1.6rem;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.btn[data-v-ef47b225]:focus-visible{outline:2px solid var(--lv-teal);outline-offset:3px}.btn-primary[data-v-ef47b225]{background:var(--lv-teal);border:1px solid var(--lv-teal);color:#fff}.btn-primary[data-v-ef47b225]:hover{background:var(--lv-teal-deep);border-color:var(--lv-teal-deep)}.btn-secondary[data-v-ef47b225]{background:transparent;border:1px solid rgba(20,32,43,.3);color:var(--lv-ink)}.btn-secondary[data-v-ef47b225]:hover{border-color:var(--lv-ink)}.screens[data-v-ef47b225]{background:var(--lv-night);color:#fff;padding:6rem 2.5rem 5rem}.section-inner[data-v-ef47b225]{max-width:76rem;margin:0 auto}.screens h2[data-v-ef47b225],.closing h2[data-v-ef47b225]{margin:0 0 2.75rem;font-size:clamp(1.6rem,3vw,2.25rem);font-weight:600;letter-spacing:-.015em}.closing[data-v-ef47b225]{background:var(--lv-paper);padding:5rem 2.5rem}.closing-inner[data-v-ef47b225]{display:flex;align-items:center;justify-content:space-between;gap:2.5rem;flex-wrap:wrap}.closing h2[data-v-ef47b225]{margin-bottom:.75rem}.closing p[data-v-ef47b225]{margin:0;max-width:34rem;font-size:1.1rem;line-height:1.6;color:#46525e}.closing .actions[data-v-ef47b225]{margin-top:0}.footer[data-v-ef47b225]{padding:3rem 2.5rem;background:var(--lv-night);text-align:center;color:var(--lv-mist)}.footer-links[data-v-ef47b225]{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem}.footer-link[data-v-ef47b225]{color:var(--lv-teal);text-decoration:none;font-weight:500}.footer-link[data-v-ef47b225]:hover{color:#35b8a8}.copyright[data-v-ef47b225]{margin:1.5rem 0 0;font-size:.8rem}@keyframes card-in-ef47b225{0%{opacity:0;transform:translateY(16px)}}@media (max-width: 640px){.nav[data-v-ef47b225]{padding:1rem}.hero[data-v-ef47b225]{padding:5rem 1rem 3rem}.hero-card[data-v-ef47b225]{padding:2rem 1.5rem}.actions .btn[data-v-ef47b225]{flex:1 1 100%}.screens[data-v-ef47b225],.closing[data-v-ef47b225]{padding:4rem 1rem}}@media (prefers-reduced-motion: reduce){.hero-card[data-v-ef47b225]{animation:none}}.landing[data-v-68ce6fe1]{font-family:Onest,sans-serif;background:#fafbfc;color:#1a1a2e;min-height:100vh;overflow-x:hidden}.nav[data-v-68ce6fe1]{position:absolute;top:0;left:0;right:0;padding:1.5rem 4rem;z-index:100;display:flex;justify-content:space-between;align-items:center}.logo[data-v-68ce6fe1]{font-family:Geologica,sans-serif;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.logo-transit[data-v-68ce6fe1]{color:#264653}.logo-kit[data-v-68ce6fe1]{color:#e63946}.hero[data-v-68ce6fe1]{position:relative;min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:6rem 4rem 4rem;gap:4rem;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(42,157,143,.08),transparent),radial-gradient(ellipse 60% 40% at 80% 60%,rgba(230,57,70,.06),transparent),linear-gradient(180deg,#fff,#f0f4f8)}.hero-content[data-v-68ce6fe1]{max-width:600px}.hero-badge[data-v-68ce6fe1]{display:inline-block;padding:.5rem 1rem;background:#2a9d8f1a;border:1px solid rgba(42,157,143,.25);border-radius:100px;font-size:.85rem;font-weight:500;color:#2a9d8f;margin-bottom:1.5rem;letter-spacing:.01em}.hero h1[data-v-68ce6fe1]{font-family:Geologica,sans-serif;font-size:3.75rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem;background:linear-gradient(135deg,#1a1a2e,#264653);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle[data-v-68ce6fe1]{font-size:1.2rem;line-height:1.75;color:#5a6670;margin-bottom:2.5rem;max-width:500px}.hero-note[data-v-68ce6fe1]{font-size:.875rem;color:#8a9199;margin-top:1rem}.hero-visual[data-v-68ce6fe1]{display:flex;justify-content:center;align-items:center}.schema-preview[data-v-68ce6fe1]{width:100%;max-width:500px;aspect-ratio:4/3;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;border:1px solid rgba(38,70,83,.12);padding:2rem;box-shadow:0 0 0 1px #2646530d,0 20px 50px #2646531a,0 0 100px #2a9d8f0d}.transit-diagram[data-v-68ce6fe1]{width:100%;height:100%}.hero-button[data-v-68ce6fe1]{display:inline-block;padding:1rem 2rem;background:linear-gradient(135deg,#2a9d8f,#238b7e);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;font-family:inherit;text-decoration:none;cursor:pointer;transition:all .2s;white-space:nowrap}.hero-button[data-v-68ce6fe1]:hover{transform:translateY(-2px);box-shadow:0 10px 30px #2a9d8f4d}.features[data-v-68ce6fe1]{padding:8rem 4rem;background:#fff}.section-header[data-v-68ce6fe1]{text-align:center;margin-bottom:4rem}.section-header h2[data-v-68ce6fe1]{font-family:Geologica,sans-serif;font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:#1a1a2e}.section-header p[data-v-68ce6fe1]{font-size:1.15rem;color:#5a6670}.features-grid[data-v-68ce6fe1]{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1200px;margin:0 auto}.features-grid .feature-card[data-v-68ce6fe1]:nth-child(4){grid-column:1}.features-grid .feature-card[data-v-68ce6fe1]:nth-child(5){grid-column:2}.feature-card[data-v-68ce6fe1]{padding:2rem;background:#fafbfc;border:1px solid #e8ecf0;border-radius:16px;transition:all .3s}.feature-card[data-v-68ce6fe1]:hover{border-color:#2a9d8f66;transform:translateY(-4px);box-shadow:0 20px 40px #26465314}.feature-icon[data-v-68ce6fe1]{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#2a9d8f1a;border-radius:12px;margin-bottom:1.25rem;color:#2a9d8f}.feature-icon svg[data-v-68ce6fe1]{width:24px;height:24px}.feature-card h3[data-v-68ce6fe1]{font-family:Geologica,sans-serif;font-size:1.2rem;font-weight:600;margin-bottom:.75rem;color:#1a1a2e}.feature-card p[data-v-68ce6fe1]{font-size:.95rem;line-height:1.75;color:#5a6670}.workflow[data-v-68ce6fe1]{padding:8rem 4rem;background:linear-gradient(180deg,#fff,#f0f4f8)}.workflow-steps[data-v-68ce6fe1]{display:flex;align-items:flex-start;justify-content:center;gap:1rem;max-width:1200px;margin:0 auto;flex-wrap:wrap}.workflow-step[data-v-68ce6fe1]{flex:1;min-width:200px;max-width:250px;text-align:center;padding:2rem 1.5rem}.step-number[data-v-68ce6fe1]{font-family:JetBrains Mono,monospace;font-size:3rem;font-weight:500;color:#2a9d8f40;margin-bottom:1rem}.workflow-step h3[data-v-68ce6fe1]{font-family:Geologica,sans-serif;font-size:1.2rem;font-weight:600;margin-bottom:.75rem;color:#1a1a2e}.workflow-step p[data-v-68ce6fe1]{font-size:.9rem;line-height:1.65;color:#5a6670}.workflow-connector[data-v-68ce6fe1]{width:60px;height:2px;background:linear-gradient(90deg,#2a9d8f66,#2a9d8f1a);margin-top:4rem}.community[data-v-68ce6fe1]{padding:8rem 4rem;background:radial-gradient(ellipse 80% 60% at 20% 100%,rgba(42,157,143,.06),transparent),#fafbfc}.community-content[data-v-68ce6fe1]{max-width:900px;margin:0 auto;text-align:center}.community h2[data-v-68ce6fe1]{font-family:Geologica,sans-serif;font-size:2.4rem;font-weight:700;margin-bottom:1.5rem;color:#1a1a2e}.community-content>p[data-v-68ce6fe1]{font-size:1.1rem;line-height:1.85;color:#5a6670;margin-bottom:3rem}.community-stats[data-v-68ce6fe1]{display:flex;justify-content:center;gap:4rem;flex-wrap:wrap}.stat[data-v-68ce6fe1]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.stat-value[data-v-68ce6fe1]{font-family:Geologica,sans-serif;font-size:1.35rem;font-weight:700;color:#2a9d8f}.stat-label[data-v-68ce6fe1]{font-size:.875rem;color:#8a9199}.faq[data-v-68ce6fe1]{padding:8rem 4rem;background:#fff}.faq-grid[data-v-68ce6fe1]{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:1100px;margin:0 auto}.faq-grid .faq-item[data-v-68ce6fe1]:last-child:nth-child(odd){grid-column:1 / -1;max-width:540px}.faq-item[data-v-68ce6fe1]{padding:1.75rem;background:#fafbfc;border:1px solid #e8ecf0;border-radius:12px;transition:border-color .2s}.faq-item[data-v-68ce6fe1]:hover{border-color:#2a9d8f4d}.faq-item h3[data-v-68ce6fe1]{font-family:Geologica,sans-serif;font-size:1.05rem;font-weight:600;color:#1a1a2e;margin-bottom:.75rem;line-height:1.4}.faq-item p[data-v-68ce6fe1]{font-size:.95rem;line-height:1.75;color:#5a6670;margin:0}.cta[data-v-68ce6fe1]{padding:6rem 4rem;background:linear-gradient(135deg,#264653,#1a3a47);text-align:center}.cta h2[data-v-68ce6fe1]{font-family:Geologica,sans-serif;font-size:2.4rem;font-weight:700;margin-bottom:.75rem;color:#fff}.cta>p[data-v-68ce6fe1]{font-size:1.1rem;color:#ffffffbf;margin-bottom:2rem}.cta-button[data-v-68ce6fe1]{background:#2a9d8f}.cta-button[data-v-68ce6fe1]:hover{background:#35b8a8;box-shadow:0 10px 30px #0000004d}.footer[data-v-68ce6fe1]{padding:4rem;background:#1a1a2e;text-align:center}.footer-content[data-v-68ce6fe1]{max-width:600px;margin:0 auto}.footer .logo[data-v-68ce6fe1]{margin-bottom:1rem}.footer .logo-transit[data-v-68ce6fe1]{color:#f0f0f5}.footer p[data-v-68ce6fe1]{color:#8a9199;font-size:.9rem}.copyright[data-v-68ce6fe1]{margin-top:2rem;font-size:.8rem!important}@media (max-width: 1024px){.hero[data-v-68ce6fe1]{grid-template-columns:1fr;text-align:center;padding:6rem 2rem 4rem}.hero-content[data-v-68ce6fe1]{max-width:100%}.hero h1[data-v-68ce6fe1]{font-size:3rem}.hero-subtitle[data-v-68ce6fe1]{max-width:100%}.subscribe-form[data-v-68ce6fe1]{max-width:100%;justify-content:center}.hero-visual[data-v-68ce6fe1]{order:-1;margin-bottom:2rem}.schema-preview[data-v-68ce6fe1]{max-width:400px}.features-grid[data-v-68ce6fe1]{grid-template-columns:repeat(2,1fr)}.features-grid .feature-card[data-v-68ce6fe1]:nth-child(4),.features-grid .feature-card[data-v-68ce6fe1]:nth-child(5){grid-column:auto}.faq-grid[data-v-68ce6fe1]{grid-template-columns:1fr}.workflow-connector[data-v-68ce6fe1]{display:none}}@media (max-width: 768px){.nav[data-v-68ce6fe1]{padding:1rem 1.5rem}.hero[data-v-68ce6fe1]{padding:5rem 1.5rem 3rem}.hero h1[data-v-68ce6fe1]{font-size:2.25rem}.subscribe-form[data-v-68ce6fe1]{flex-direction:column}.subscribe-form button[data-v-68ce6fe1]{width:100%}.features[data-v-68ce6fe1],.workflow[data-v-68ce6fe1],.community[data-v-68ce6fe1],.faq[data-v-68ce6fe1],.cta[data-v-68ce6fe1]{padding:4rem 1.5rem}.features-grid[data-v-68ce6fe1]{grid-template-columns:1fr}.section-header h2[data-v-68ce6fe1]{font-size:1.9rem}.community-stats[data-v-68ce6fe1]{gap:2rem}.cta h2[data-v-68ce6fe1]{font-size:1.75rem}.faq-grid .faq-item[data-v-68ce6fe1]:last-child:nth-child(odd){max-width:100%}}.city-page{display:flex;flex-direction:column;height:100vh}.sidebar{width:280px;background:#1a1a2e;padding:.5rem;overflow-y:auto}.sidebar-dimmed{opacity:.3;pointer-events:none}.map-container{flex:1;position:relative;overflow:hidden}#map{position:absolute;top:36px;left:0;right:0;bottom:0}.map-header{position:absolute;top:0;left:0;right:0;z-index:1001;padding:8px 12px;background:linear-gradient(180deg,#1a1a2ee6,#1a1a2e59);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center}.map-header-left{display:flex;align-items:center;gap:1rem;flex-wrap:nowrap}.map-title{color:var(--color-text);font-weight:600;font-size:.95rem}.map-controls{position:absolute;top:56px;right:10px;z-index:1000;display:flex;flex-direction:column;gap:10px}.project-section,.scenario-section{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.25rem}.leaflet-control-attribution{filter:grayscale(1)!important}.map-loading{position:absolute;top:52px;left:10px;z-index:1000;display:flex;align-items:center;gap:.5rem;color:#000;font-size:1rem}.map-loading-spinner{width:18px;height:18px;border:2.5px solid rgba(0,0,0,.2);border-top-color:#000;border-radius:50%;animation:spin .8s linear infinite}#map.history-mode .leaflet-tile-pane{filter:grayscale(.7) opacity(.5)}#map.history-mode .leaflet-overlay-pane{filter:grayscale(.7) opacity(.5);pointer-events:none}#map.history-mode .leaflet-marker-pane,#map.history-mode .leaflet-shadow-pane{display:none}#map.change-mode .leaflet-tile-pane{filter:grayscale(.7) opacity(.6)}#map.change-mode .leaflet-overlay-pane,#map.change-mode .leaflet-marker-pane,#map.change-mode .leaflet-shadow-pane{display:none}.route-change-badge{display:inline-block;padding:2px 12px;border-radius:6px;font-weight:700;font-size:1.52rem;text-align:center;min-width:56px;white-space:nowrap;box-shadow:0 1px 4px #00000059;cursor:grab;transform:translate(calc(-100% - 20px),-50%)}.route-change-badge:active{cursor:grabbing}.route-change-details{transform:translate(20px,-100%);border-collapse:collapse;background:#2d2d2dd1;border-radius:6px;box-shadow:0 1px 6px #0006;padding:4px 8px;font-size:.95rem;font-weight:400;font-variant-numeric:tabular-nums;color:#e8e8f0;cursor:grab}.route-change-details:active{cursor:grabbing}.route-change-details td{padding:1px 6px;white-space:nowrap;font-weight:400;color:#e8e8f0}.route-change-details td.old{text-align:right}.route-change-details td.arrow{text-align:center}.route-change-details td.new{text-align:left}.route-results-panel{position:absolute;bottom:0;left:0;right:0;height:40%;background:#141426f2;border-top:1px solid rgba(0,186,255,.3);z-index:1000;display:flex;flex-direction:column}.results-header{padding:.4rem .75rem;font-size:.85rem;font-weight:600;color:#ffffffd9;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.routes-collapse-btn{background:none;border:none;color:#ffffff80;font-size:1.2rem;cursor:pointer;padding:0 .25rem;line-height:1}.routes-collapse-btn:hover{color:#ffffffe6}.routes-tab-collapsed{position:absolute;bottom:0;left:0;right:0;z-index:1000;padding:.35rem .75rem;background:#141426eb;border-top:1px solid rgba(0,186,255,.3);color:#ffffffd9;font-size:.82rem;font-weight:600;text-align:center;cursor:pointer}.routes-tab-collapsed:hover{background:#141426;color:#fff}.line-stats-overlay{position:absolute;top:60px;right:12px;z-index:1000;display:flex;gap:.4rem;padding:.35rem .5rem;background:#78788273;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08);border-radius:8px;box-shadow:0 2px 10px #00000059}.adviser-draw-overlay{top:60px;right:auto;left:50%;transform:translate(-50%);align-items:center;white-space:nowrap}.map-overlay-stack{position:absolute;top:56px;right:12px;bottom:72px;z-index:1000;display:flex;align-items:flex-start;gap:.5rem;pointer-events:none}.map-overlay-toolbars{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;max-height:100%;min-height:0}.map-overlay-stack .line-stats-overlay{position:static;align-items:center;pointer-events:auto}.run-compare-caption{font-size:.8rem;padding:0 .25rem}.run-compare-date{opacity:.6;font-size:.75rem;margin-left:.3rem}.run-ctx-menu{overflow-y:auto}.run-compare-title,.run-compare-empty{padding:.35rem .75rem;font-size:.72rem;opacity:.55}.run-compare-title{text-transform:uppercase;letter-spacing:.04em;font-weight:700}.results-scroll{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.results-scroll::-webkit-scrollbar{width:6px;height:6px}.results-scroll::-webkit-scrollbar-track{background:transparent}.results-scroll::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.results-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff2e}.results-scroll table{width:100%;border-collapse:collapse;font-size:.8rem;color:#ffffffd9}.results-scroll th{text-align:left;padding:.3rem .5rem;color:#ffffff80;font-weight:500;position:sticky;top:0;background:#141426fa;border-bottom:1px solid rgba(255,255,255,.08)}.results-scroll td{padding:.2rem .5rem;border-bottom:1px solid rgba(255,255,255,.04)}.results-scroll tr:hover td{background:#00baff12}.results-scroll tr{cursor:pointer}.results-scroll tr.active td{background:#00baff26}.segment-label{color:#fff;font-size:14px;font-weight:600;text-shadow:0 0 3px #000,0 0 3px #000;white-space:nowrap}.line-stat-label{text-shadow:0 0 5px #000,0 0 5px #000,0 0 8px #000,0 0 8px #000}.network-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.line-stats-overlay .network-dot{display:inline-block;margin-right:4px}.routes-data-tab-collapsed{position:absolute;bottom:0;left:0;right:0;z-index:1000;padding:.3rem .75rem;background:#141426eb;border-top:1px solid rgba(255,255,255,.08);color:#ffffffd9;font-size:.8rem;cursor:pointer;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.routes-data-tab-collapsed:hover{background:#141426}.rdt-label{font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;color:#ffffff80;flex-shrink:0}.rdt-summary-item{display:flex;gap:.25rem;align-items:baseline}.rdt-summary-type{color:#ffffff73;font-size:.75rem;text-transform:capitalize}.rdt-summary-count{font-weight:400}.rdt-summary-count b{font-weight:700}.rdt-types{margin-left:auto;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.rdt-summary-clickable,.rdp-summary-clickable{cursor:pointer;border-radius:3px;padding:0 3px}.rdt-summary-clickable:hover,.rdp-summary-clickable:hover{background:#ffffff14}.routes-data-panel{position:absolute;bottom:0;left:0;right:0;background:#101020f7;border-top:1px solid rgba(255,255,255,.08);z-index:1000;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.rdp-header{padding:.3rem .75rem;font-size:.78rem;color:#ffffffd9;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;cursor:ns-resize}.rdp-title{font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;color:#ffffff80;flex-shrink:0}.rdp-title-clickable{cursor:pointer}.rdp-title-clickable:hover{color:#fffc}.rdp-scenario-name{color:#ffffff59;font-size:.75rem}.rdp-header-types{margin-left:auto;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.rdp-close-btn{background:none;border:none;color:#ffffff59;font-size:1.2rem;cursor:pointer;padding:0 .25rem;line-height:1;flex-shrink:0}.rdp-close-btn:hover{color:#fffc}.rdp-summary-item{text-transform:capitalize;color:#ffffff73;font-size:.78rem}.rdp-summary-item b{font-weight:700}.rdp-scroll{flex:1;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.rdp-scroll::-webkit-scrollbar{width:6px;height:6px}.rdp-scroll::-webkit-scrollbar-track{background:transparent}.rdp-scroll::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.rdp-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff2e}.rdp-table{width:100%;border-collapse:collapse;font-size:.78rem;color:#ffffffd9;font-variant-numeric:tabular-nums}.rdp-table thead{position:sticky;top:0;z-index:1}.rdp-table th{text-align:right;padding:.25rem .5rem;color:#fff6;font-weight:500;font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;background:#101020fa;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap}.rdp-th-num{text-align:left!important;width:60px}.rdp-th-type{text-align:left!important;width:90px}.rdp-filter-badge{display:inline-flex;align-items:center;gap:3px;padding:0 5px;border:1px solid;border-radius:3px;font-size:.68rem;text-transform:capitalize;color:#ffffffbf;font-weight:600;margin-left:4px;vertical-align:middle}.rdp-filter-clear{cursor:pointer;font-size:.85rem;line-height:1;color:#ffffff80}.rdp-filter-clear:hover{color:#fff}.rdp-table td{padding:.2rem .5rem;border-bottom:1px solid rgba(255,255,255,.03)}.rdp-table tr.rdp-highlight td{background:#00baff14}.rdp-cell{text-align:right;color:#ffffffbf;cursor:default;position:relative;min-width:60px}.rdp-cell.rdp-input{color:#fff;font-weight:600}.rdp-cell.rdp-readonly{color:#ffffff73}.rdp-table-body tr:hover td:not(.rdp-input){background:#ffffff0a}.rdp-cell.rdp-selected{outline:2px solid rgba(0,140,255,.8);outline-offset:-2px}.rdp-table-body:focus{outline:none}.rdp-cell-num{width:60px}.rdp-cell-type{text-align:left;text-transform:capitalize;color:#ffffff73;font-size:.72rem}.rdp-route-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-weight:700;font-size:.76rem;text-align:center;min-width:28px}.rdp-edit-input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:#00000080;border:1px solid rgba(0,186,255,.5);border-radius:0;color:#fff;font-size:.78rem;font-family:inherit;padding:.2rem .5rem;outline:none;text-align:right;font-variant-numeric:tabular-nums;box-sizing:border-box}.rdp-edit-input:focus{border-color:#00baffcc;box-shadow:inset 0 0 0 1px #00baff33}.trip-board-label{display:flex!important;align-items:center;gap:4px;width:max-content;padding:2px 6px 2px 2px;background:#141426e6;border:1px solid rgba(255,255,255,.25);border-radius:4px;color:#fff;font-size:12px;white-space:nowrap}.schema-selector{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.5rem}.schema-selector label{font-size:.875rem;font-weight:500;color:var(--color-text);opacity:.8}.schema-selector select{background:#0000004d;color:var(--color-text);border:1px solid var(--color-primary);border-radius:4px;padding:.5rem;font-size:.875rem;cursor:pointer;outline:none;transition:all .2s}.schema-selector select:hover{background:#00000080;border-color:var(--color-primary-light)}.schema-selector select:focus{border-color:var(--color-primary-light)}.label{font-size:.75rem;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin:0}.section-header{display:flex;align-items:flex-start;justify-content:space-between;margin:.25rem}.label-with-toggle{display:flex;align-items:center;gap:.25rem;cursor:pointer;padding:.15rem .25rem;margin:-.15rem -.25rem;border-radius:4px;transition:background .2s}.label-with-toggle:hover{background:#ffffff0a}.label-with-toggle:hover .collapse-btn{color:#ffffffb3}.collapse-btn{color:#ffffff80;font-size:.625rem;transition:transform .2s;line-height:1}.collapse-btn.collapsed{transform:rotate(-90deg)}.settings-btn{background:transparent;border:none;color:#ffffff80;font-size:.75rem;font-weight:400;padding:.2rem .5rem;cursor:pointer;border-radius:4px;transition:all .2s}.settings-btn:hover{background:#ffffff0a;color:#ffffffb3}.settings-btn.active{background:#00baff1f;color:#9de1ff}.active-scenario-label{color:var(--color-text);font-size:.875rem;text-transform:capitalize;background:#00baff1f;padding:.25rem .5rem;border-radius:4px}.context-item{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;min-height:24px;width:100%;background:transparent;border:none;color:inherit;text-align:left;cursor:pointer;border-radius:4px}.context-item:hover{background:#ffffff0a}.context-item.active{background:#00baff1f}.scenario-row{display:flex;align-items:center}.scenario-row .context-item{flex:1;min-width:0}.derived-arrow{color:#fff6;font-size:.875rem;flex-shrink:0;width:14px;text-align:center;margin-right:2px}.scenario-action-btn{background:transparent;border:none;color:#ffffff4d;cursor:pointer;padding:.15rem .35rem;font-size:.85rem;border-radius:4px;flex-shrink:0;line-height:1;transition:all .2s}.scenario-action-btn:hover{background:#ffffff14;color:#ffffffb3}.scenario-dropdown{position:fixed;z-index:2000;background:#1a1a2ef2;border:1px solid rgba(0,186,255,.3);border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:120px;box-shadow:0 4px 12px #0000004d}.scenario-dropdown button{display:block;width:100%;padding:.5rem .75rem;background:none;border:none;color:var(--color-text);font-size:.875rem;cursor:pointer;text-align:left;transition:background .2s}.scenario-dropdown button:hover{background:#00baff1f}.scenario-dropdown button.danger{color:#e94560}.scenario-dropdown button.danger:hover{background:#e945601f}.scenario-dropdown .submenu-container{position:relative}.scenario-dropdown .change-type-submenu{position:absolute;left:100%;top:0;background:#1a1a2ef2;border:1px solid rgba(0,186,255,.3);border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:140px;box-shadow:0 4px 12px #0000004d;z-index:2001}.scenario-dropdown .change-type-submenu.submenu-up{top:auto;bottom:0}.transport-dropdown-item.current-type{color:#00baffcc;cursor:default}.scenario-dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1999}.context-pill{margin-left:auto;background:#00baff33;color:#9de1ff;border-radius:8px;padding:.1rem .4rem;font-size:.7rem;flex-shrink:0}.network-dot{width:10px;height:10px;border-radius:50%;background:var(--color-primary);flex-shrink:0}.network-name{color:var(--color-text);font-size:.875rem;text-transform:capitalize;flex:1}.segment-count{color:#ffffff80;font-size:.875rem;margin-left:auto}.empty-message{color:var(--color-text-muted);font-size:.9rem;padding:.5rem 0}.network-edit-buttons{display:flex;gap:.5rem;align-items:center}.network-edit-btn{display:flex;align-items:center;gap:.4rem;background:#1a1a2ecc;color:var(--color-text);padding:.4rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;border:1px solid rgba(0,186,255,.3);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;transition:all .2s;outline:none}.network-edit-btn svg{flex-shrink:0}.network-edit-btn:hover{background:#1a1a2e;border-color:var(--color-primary)}.network-edit-btn:focus{outline:none}.network-edit-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.network-edit-btn.delete-btn{background:#b42828cc;border-color:#b42828}.network-edit-btn.delete-btn:hover{background:#b42828;border-color:#d43030}.network-edit-btn.cancel-btn{background:#64646499;border-color:#96969680}.network-edit-btn.cancel-btn:hover{background:#646464cc;border-color:#969696b3}.route-create-container{position:relative;display:flex;gap:.5rem;align-items:center}.create-route-btn{white-space:nowrap}.transport-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;background:#1a1a2ef2;border:1px solid rgba(0,186,255,.3);border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:180px;max-height:500px;overflow-y:auto;z-index:1002;box-shadow:0 4px 12px #0000004d}.transport-dropdown-item{padding:.5rem .75rem;color:var(--color-text);font-size:.875rem;cursor:pointer;transition:background .2s;border-bottom:1px solid rgba(255,255,255,.05)}.transport-dropdown-item.non-leaf{color:#ffffff80}.transport-dropdown-item:last-child{border-bottom:none}.transport-dropdown-item:hover{background:#00baff1f}.toggle-view-btn{background:#4a9eff26;border:1px solid var(--color-primary);color:var(--color-primary);padding:6px 12px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.toggle-view-btn:hover{background:#4a9eff40}.zoom-level-display{background:#1a1a2ee6;color:var(--color-text);padding:.5rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;border:1px solid var(--color-primary);pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.view-mode-container{position:relative}.view-mode-btn{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.view-mode-caret{font-size:.75rem;opacity:.7}.view-mode-dropdown{min-width:220px}.view-mode-divider{height:1px;background:#ffffff1f;margin:.25rem 0}.transport-dropdown-item.active{background:#00baff40;color:var(--color-text);font-weight:600}.offset-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;background:#1a1a2ecc;padding:.3rem .75rem;border-radius:6px;border:1px solid rgba(0,186,255,.3);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .2s}.offset-toggle:hover{background:#1a1a2e;border-color:var(--color-primary)}.offset-toggle input{display:none}.offset-toggle-slider{position:relative;width:32px;height:18px;background:#ffffff26;border-radius:9px;transition:background .2s;flex-shrink:0}.offset-toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff9;border-radius:50%;transition:transform .2s,background .2s}.offset-toggle input:checked+.offset-toggle-slider{background:var(--color-primary)}.offset-toggle input:checked+.offset-toggle-slider:after{transform:translate(14px);background:#fff}.offset-toggle input:disabled~.offset-toggle-slider{opacity:.4}.offset-toggle input:disabled~.offset-toggle-label{opacity:.4}.offset-toggle-label{font-size:.875rem;font-weight:500;color:var(--color-text);white-space:nowrap}.generate-test-btn{background:#1a1a2ee6;color:var(--color-text);padding:.5rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;border:1px solid var(--color-primary);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;transition:all .2s}.generate-test-btn:hover{background:#1a1a2e;border-color:var(--color-primary-light)}.generate-test-btn.active{background:var(--color-primary);color:#fff}.upload-geopackage-btn{background:#1a1a2ee6;color:var(--color-text);padding:.5rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;border:1px solid var(--color-primary);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;position:relative}.upload-geopackage-btn:hover{background:#1a1a2e;border-color:var(--color-primary-light)}.selection-hint{background:#1a1a2ee6;color:var(--color-text);padding:.5rem .75rem;border-radius:6px;font-size:.75rem;border:1px solid var(--color-primary);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-align:center}.copy-btn,.close-btn-secondary{padding:.5rem 1rem;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid var(--color-primary)}.copy-btn{background:var(--color-primary);color:#fff}.copy-btn:hover{background:var(--color-primary-light)}.close-btn-secondary{background:#ffffff1a;color:var(--color-text)}.close-btn-secondary:hover{background:#fff3}.retry-btn{background:#fff;color:#e94560;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600;cursor:pointer;transition:all .2s}.retry-btn:hover{background:#ffffffe6;transform:translateY(-1px)}.map-header-right{display:flex;align-items:center;gap:.5rem}.admin-tools-wrapper,.export-wrapper{position:relative}.export-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1001}.admin-tools-dropdown,.export-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:#1a1a2ef2;border:1px solid rgba(0,186,255,.3);border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;min-width:160px;z-index:1001;overflow:hidden}.export-dropdown{z-index:1002}.admin-tools-dropdown button,.export-dropdown button,.admin-tools-dropdown .admin-upload-label{display:block;width:100%;padding:.5rem .75rem;background:none;color:var(--color-text);border:none;font-size:.875rem;cursor:pointer;text-align:left;transition:background .15s}.admin-tools-dropdown button:hover,.export-dropdown button:hover,.admin-tools-dropdown .admin-upload-label:hover{background:#00baff26}.admin-tools-dropdown button.active{background:var(--color-primary);color:#fff}.admin-tools-dropdown button:disabled{opacity:.4;cursor:default}.admin-tools-dropdown button+.admin-upload-label{border-top:1px solid rgba(255,255,255,.08)}.admin-tools-dropdown .admin-delete-project{border-top:1px solid rgba(255,255,255,.08);color:#ff6b6b}.admin-tools-dropdown .admin-delete-project:hover{background:#ff6b6b26}.edit-route-label{font-size:.875rem;font-weight:600;color:var(--color-text);white-space:nowrap}.network-edit-btn.save-btn{background:#1e783ccc;border-color:#2e8b57}.network-edit-btn.save-btn:hover{background:#1e783c;border-color:#3cb371}.network-edit-btn.save-btn:disabled{opacity:.4;cursor:not-allowed}.network-edit-btn.redraw-btn{background:#b46e1ecc;border-color:#c8821e}.network-edit-btn.redraw-btn:hover{background:#b46e1e;border-color:#e0962a}.route-item.editing{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-accent)}.history-btn{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .5rem;border-radius:8px;border:1px solid rgba(255,255,255,.18);color:var(--color-text);background:transparent;cursor:pointer;transition:border .2s ease,background .2s ease}.history-btn:hover{border-color:#fff6;background:#ffffff0f}.history-btn.active{border-color:var(--color-accent);background:#e945601a;color:var(--color-accent)}.changes-history-panel{position:absolute;top:0;right:0;bottom:0;width:320px;background:#1a1a2e;z-index:1100;display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.1)}.changes-history-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.changes-history-back{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#fff9;cursor:pointer;padding:.2rem;border-radius:4px;transition:all .15s;flex-shrink:0}.changes-history-back:hover{color:var(--color-text);background:#ffffff0f}.changes-history-title{flex:1;font-size:.85rem;font-weight:600;color:var(--color-text)}.changes-history-close{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#fff6;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .15s;flex-shrink:0}.changes-history-close:hover{color:var(--color-text);background:#ffffff0f}.changes-history-list{flex:1;overflow-y:auto;padding:.25rem}.change-item{padding:.4rem .5rem;border-radius:4px;cursor:pointer;transition:background .15s}.change-item:hover{background:#ffffff0a}.change-item.selected{background:#ff6b3526}.change-message{color:var(--color-text);font-size:.85rem;line-height:1.3}.change-meta{display:flex;justify-content:space-between;margin-top:.15rem}.change-user{color:#fff6;font-size:.75rem}.change-date{color:#ffffff59;font-size:.75rem;flex-shrink:0}.sidebar-tabs{display:flex;gap:0;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:.5rem}.sidebar-tab{flex:1;background:transparent;border:none;border-bottom:2px solid transparent;color:#ffffff73;font-size:.825rem;font-weight:600;padding:.5rem .5rem .4rem;cursor:pointer;transition:all .2s}.sidebar-tab:hover{color:#ffffffb3;background:#ffffff08}.sidebar-tab.active{color:#9de1ff;border-bottom-color:var(--color-primary)}.subsection-label{font-size:.7rem;font-weight:600;color:#ffffff59;text-transform:uppercase;letter-spacing:.5px;margin:.5rem .5rem .15rem}.data-layer-mode-toggle{display:flex;gap:.25rem}.mode-btn{flex:1;background:transparent;border:1px solid rgba(255,255,255,.15);color:#ffffff80;font-size:.75rem;padding:.2rem .5rem;border-radius:4px;cursor:pointer;transition:all .2s}.mode-btn:hover{border-color:#ffffff4d;color:#ffffffb3}.mode-btn.active{background:#00baff1f;border-color:#00baff66;color:#9de1ff}.data-layer-upload-dialog{background:#1a1a2e;border:1px solid var(--color-primary);border-radius:8px;padding:1.25rem;min-width:320px;box-shadow:0 4px 20px #00000080}.data-layer-upload-dialog h3{margin:0 0 1rem;font-size:1rem;color:var(--color-text)}.form-group{margin-bottom:.75rem}.form-group label{display:block;font-size:.8rem;color:#fff9;margin-bottom:.25rem}.form-input{width:100%;background:#1a1a2e;color:var(--color-text);border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:.4rem .5rem;font-size:.875rem;outline:none;transition:border-color .2s;box-sizing:border-box}select.form-input option{background:#1a1a2e;color:var(--color-text)}.form-input:focus{border-color:var(--color-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.demand-label{color:gold;font-weight:700;font-size:11px;text-shadow:0 0 3px #000,0 0 6px #000;white-space:nowrap;text-align:center}.demand-label-total{font-size:13px}.demand-label-green{color:#4cff4c}.run-progress-bar{background:#ffc80026;border:1px solid rgba(255,200,0,.4);border-radius:4px;color:gold;font-size:.8rem;padding:.3rem .5rem;margin-bottom:.25rem}.run-date-header{font-size:.75rem;color:#fff6;padding:.35rem .25rem .1rem;letter-spacing:.03em}.run-spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#00baff;border-radius:50%;animation:run-spin .8s linear infinite;margin-left:auto;flex-shrink:0}@keyframes run-spin{to{transform:rotate(360deg)}}.run-failed{color:#f55;font-size:.8rem;margin-left:auto}.osm-import-panel{position:fixed;top:60px;right:16px;background:#1a1a2ef2;border:1px solid rgba(0,186,255,.3);border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.75rem 1rem;z-index:1002;display:flex;flex-direction:column;gap:8px;font-size:.875rem;color:var(--color-text);box-shadow:0 4px 12px #0000004d;min-width:280px}.osm-import-header{display:flex;justify-content:space-between;align-items:center}.osm-import-title{font-weight:600;font-size:.9rem}.osm-import-close{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:1.2rem;padding:0 2px;line-height:1}.osm-import-close:hover{color:#ffffffe6}.osm-import-label{font-size:.75rem;color:#aaa;margin-bottom:-4px}.osm-import-select{background:#1a1a2ef2;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:var(--color-text);padding:5px 8px;font-size:.85rem;cursor:pointer}.osm-import-select option{background:#1a1a2e;color:var(--color-text)}.osm-import-select:focus{outline:none;border-color:#00baff80}.osm-remove-check{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.8rem;color:#aaa;padding:4px 6px;border-radius:4px;margin-top:2px}.osm-remove-check.confirmed{background:#ff323233;color:#f55}.osm-import-busy{display:flex;align-items:center;gap:6px;font-size:.8rem;color:gold}.spinner-small{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#00baff;border-radius:50%;animation:run-spin .8s linear infinite;flex-shrink:0}.osm-import-error{display:flex;align-items:center;gap:4px;font-size:.8rem;color:#f55}.dismiss-btn{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:1rem;padding:0 4px;line-height:1}.dismiss-btn:hover{color:#fffc}.zone-time-label{color:#fff;font-weight:700;font-size:11px;text-shadow:0 0 3px #000,0 0 6px #000;white-space:nowrap;text-align:left}.district-label{pointer-events:none}.connectivity-value-label span{position:absolute;transform:translate(-50%,-50%);padding:0 4px;border:2px solid;border-radius:8px;background:#0f1730e6;color:#fff;font-size:11px;font-weight:700;white-space:nowrap;cursor:default}.district-label-inner{display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%);width:max-content;pointer-events:none;color:#fff;text-shadow:0 0 3px #000,0 0 6px #000;line-height:1.15;white-space:nowrap}.district-label-name{font-size:12px;font-weight:700}.district-label-factor{font-size:10px;opacity:.85}.district-label-time{font-size:16px;font-weight:700}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem}.modal-content{background:#1a1a2e;border:1px solid var(--color-primary);border-radius:8px;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000080}.modal-header{padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.25rem;color:var(--color-text)}.close-btn{background:none;border:none;color:var(--color-text);font-size:1.5rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.close-btn:hover{background:#ffffff1a}.modal-body{padding:1.5rem;overflow:auto;flex:1}.modal-body pre{margin:0;padding:1rem;background:#0000004d;border-radius:4px;overflow-x:auto}.modal-body code{color:#e0e0e0;font-family:Courier New,monospace;font-size:.875rem;line-height:1.5;white-space:pre}.modal-footer{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:.75rem;justify-content:flex-end}.error-notification{position:fixed;bottom:20px;right:20px;z-index:2000;background:#e94560f2;border:1px solid rgba(255,255,255,.3);border-radius:12px;box-shadow:0 8px 24px #0006;max-width:400px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease}.error-notification.expanded{max-width:600px}.error-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none}.error-header:hover{background:#ffffff1a;border-radius:12px 12px 0 0}.error-icon{font-size:1.25rem}.error-title{flex:1;font-weight:600;color:#fff}.error-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.error-close:hover{background:#fff3}.error-body{padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.2);margin-top:.5rem}.error-body pre{margin:0 0 1rem;padding:.75rem;background:#0000004d;border-radius:6px;overflow-x:auto;color:#fff;font-size:.85rem;max-height:200px;overflow-y:auto}.toast-message{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:10000;background:#1e2438f2;color:#ffc773;border:1px solid rgba(255,199,115,.3);padding:.75rem 1.5rem;border-radius:10px;font-size:.95rem;font-weight:600;box-shadow:0 4px 20px #0006}.toast-fade-enter-active{animation:toastIn .3s ease}.toast-fade-leave-active{animation:toastIn .3s ease reverse}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(-12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.upload-notification{position:fixed;top:80px;right:20px;z-index:10000;padding:1rem 2.5rem 1rem 1.25rem;border-radius:8px;font-size:.95rem;box-shadow:0 4px 12px #0000004d;animation:slideIn .3s ease}.upload-notification.success{background:#4caf50f2;color:#fff;border:1px solid rgba(76,175,80,1)}.upload-notification.error{background:#f44336f2;color:#fff;border:1px solid rgba(244,67,54,1)}.close-notification{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s}.close-notification:hover{opacity:1}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}:deep(.clickable-stop){cursor:pointer!important;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}:deep(.clickable-stop:hover){filter:brightness(1.3)}:deep(.draggable-stop){cursor:pointer!important}:deep(.dragging-stop){cursor:grabbing!important;pointer-events:none!important}:deep(.leaflet-container){outline:none!important}:deep(.leaflet-container.dragging-active){cursor:grabbing!important}:deep(.leaflet-marker-icon),:deep(.leaflet-interactive){user-select:none!important;-webkit-user-select:none!important;outline:none!important}:deep(.leaflet-interactive:focus),:deep(.leaflet-interactive:active),:deep(path.leaflet-interactive:focus),:deep(path.leaflet-interactive:active){outline:none!important;box-shadow:none!important;stroke:inherit!important;fill:inherit!important}.map-style-btn{display:flex;align-items:center;gap:.4rem;background:#1a1a2ecc;color:var(--color-text);padding:.4rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;border:1px solid rgba(0,186,255,.3);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;transition:all .2s;outline:none}.map-style-btn svg{flex-shrink:0}.map-style-btn:hover{background:#1a1a2e;border-color:var(--color-primary)}.map-style-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.measure-tooltip{background:#1a1a2ee6;border:1px solid rgba(0,186,255,.5);border-radius:4px;color:#fff;font-size:13px;font-weight:500;padding:3px 8px;box-shadow:0 2px 6px #0000004d}.measure-tooltip:before{border-right-color:#00baff80}.app-header[data-v-ca71dc05]{display:flex;align-items:center;justify-content:space-between;padding:.4rem 1.5rem;background:var(--color-surface, #1a1a2e);border-bottom:1px solid var(--color-primary, #0f3460);min-height:48px}.app-header-left[data-v-ca71dc05]{display:flex;align-items:center;gap:.75rem}.app-header-left h1[data-v-ca71dc05]{font-size:1.25rem;font-weight:600;margin:0;color:var(--color-accent);line-height:1}.city-name[data-v-ca71dc05]{font-size:1.1rem;color:var(--color-text-muted);line-height:1}.city-name.editable[data-v-ca71dc05]{cursor:pointer;padding:.2rem .4rem;border-radius:4px;transition:background .15s ease}.city-name.editable[data-v-ca71dc05]:hover{background:#ffffff0f}.project-name-input[data-v-ca71dc05]{font-size:.95rem;padding:.2rem .4rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:inherit;border-radius:4px;font-family:inherit;outline:none}.header-actions[data-v-ca71dc05]{display:flex;align-items:center;gap:.5rem}.history-btn[data-v-ca71dc05],.share-btn[data-v-ca71dc05]{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .6rem;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--color-text, #e0e6ed);font-size:.85rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.history-btn[data-v-ca71dc05]:hover,.share-btn[data-v-ca71dc05]:hover{border-color:#fff3;background:#ffffff0d}.history-btn.active[data-v-ca71dc05]{border-color:var(--color-accent, #e94560);color:var(--color-accent, #e94560)}.sidebar[data-v-c4a39ec7]{width:var(--sidebar-width, 320px);display:flex;flex-direction:column;background:var(--color-surface, #1a1a2e);border-right:1px solid var(--color-primary, #0f3460);overflow:hidden;flex-shrink:0}.sidebar[data-v-c4a39ec7] .scenarios-tab-content,.sidebar[data-v-c4a39ec7] .route-list{overflow:hidden}.sidebar-tab-body[data-v-c4a39ec7]{flex:1;min-height:0;display:flex;flex-direction:column}.sidebar-tabs[data-v-c4a39ec7]{display:flex;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-tab[data-v-c4a39ec7]{flex:1;padding:.5rem .5rem .4rem;background:transparent;border:none;border-bottom:2px solid transparent;color:#ffffff73;font-size:.825rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.sidebar-tab[data-v-c4a39ec7]:hover{color:#ffffffb3;background:#ffffff08}.sidebar-tab.active[data-v-c4a39ec7]{color:#9de1ff;border-bottom-color:var(--color-primary)}.scenario-row.drop-allowed[data-v-016fe981]{outline:1px dashed rgba(255,255,255,.25);border-radius:6px}.scenario-row.drop-target[data-v-016fe981]{outline:2px solid rgba(255,255,255,.7);background:#ffffff14}.scenarios-tab-content[data-v-016fe981]{display:flex;flex-direction:column;flex:1;overflow-y:auto}.project-section[data-v-016fe981],.scenario-section[data-v-016fe981]{padding:0 .6rem .2rem;border-bottom:1px solid rgba(255,255,255,.04)}.section-header[data-v-016fe981]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.05rem}.label-with-toggle[data-v-016fe981]{display:flex;align-items:center;gap:.35rem;cursor:pointer}.label-with-toggle .label[data-v-016fe981]{margin:0;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.5}.collapse-btn[data-v-016fe981]{font-size:.55rem;opacity:.4;transition:transform .2s ease}.collapse-btn.collapsed[data-v-016fe981]{transform:rotate(-90deg)}.settings-btn[data-v-016fe981]{background:transparent;border:1px solid rgba(255,255,255,.08);color:inherit;font-size:.72rem;padding:.15rem .5rem;border-radius:4px;cursor:pointer;font-family:inherit;transition:all .15s ease}.settings-btn[data-v-016fe981]:hover,.settings-btn.active[data-v-016fe981]{border-color:var(--color-accent, #e94560);color:var(--color-accent, #e94560)}.context-item[data-v-016fe981]{display:flex;align-items:center;gap:.4rem;width:100%;padding:.08rem .4rem;background:transparent;border:none;color:inherit;text-align:left;border-radius:6px;cursor:pointer;transition:background .15s ease;font-family:inherit;font-size:.82rem;line-height:1.3}.context-item[data-v-016fe981]:hover{background:#ffffff0a}.context-item.active[data-v-016fe981]{background:#ffffff14}.context-item.multi-selected[data-v-016fe981]{background:#60a5fa2e;box-shadow:inset 2px 0 #60a5fa}.network-dot[data-v-016fe981]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.network-name[data-v-016fe981]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segment-count[data-v-016fe981]{opacity:.4;font-size:.75rem;flex-shrink:0}.scenario-published-icon[data-v-016fe981]{display:inline-flex;align-items:center;margin-left:.35rem;color:var(--color-primary);flex-shrink:0}.scenario-row[data-v-016fe981]{display:flex;align-items:center;gap:.25rem}.scenario-row.favorite-context[data-v-016fe981]{opacity:.45}.section-actions[data-v-016fe981]{display:flex;align-items:center;gap:.3rem}.favorites-filter-btn[data-v-016fe981],.scenario-favorite-btn[data-v-016fe981]{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:.2rem;color:inherit;cursor:pointer;flex-shrink:0;transition:opacity .15s ease,color .15s ease}.favorites-filter-btn svg[data-v-016fe981],.scenario-favorite-btn svg[data-v-016fe981]{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round}.favorites-filter-btn[data-v-016fe981]{opacity:.6;padding:.2rem .3rem;border:1px solid rgba(255,255,255,.08);border-radius:4px}.scenario-favorite-btn[data-v-016fe981]{opacity:.2}.scenario-row:hover .scenario-favorite-btn[data-v-016fe981]{opacity:.6}.favorites-filter-btn[data-v-016fe981]:hover,.scenario-favorite-btn[data-v-016fe981]:hover{opacity:1}.favorites-filter-btn.active[data-v-016fe981],.scenario-favorite-btn.active[data-v-016fe981]{opacity:1;color:#7a93b8}.favorites-filter-btn.active[data-v-016fe981]{background:#7a93b81f;border-color:#7a93b866}.favorites-filter-btn.active svg[data-v-016fe981],.scenario-favorite-btn.active svg[data-v-016fe981]{fill:currentColor}.derived-arrow[data-v-016fe981]{width:24px;text-align:right;opacity:.4;font-size:.8rem;flex-shrink:0}.active-scenario-label[data-v-016fe981]{font-size:.8rem;opacity:.6;font-style:italic}.route-list[data-v-016fe981]{padding:.5rem .75rem;flex:1;overflow-y:auto}.route-list-section[data-v-016fe981]{display:flex;flex-wrap:wrap;gap:.25rem}.route-list-divider[data-v-016fe981]{height:1px;background:#ffffff0f;margin:.25rem 0}.empty-message[data-v-016fe981]{padding:1rem;text-align:center;opacity:.5;font-style:italic;font-size:.85rem}.modeling-tab-content[data-v-a1d3e4e4]{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:.5rem .75rem}.run-list[data-v-a1d3e4e4]{flex:1;min-height:0;overflow-y:auto;margin:0 -.75rem -.5rem;padding:0 .75rem .5rem;scrollbar-width:thin;scrollbar-color:var(--color-primary) transparent}.run-list[data-v-a1d3e4e4]::-webkit-scrollbar{width:6px}.run-list[data-v-a1d3e4e4]::-webkit-scrollbar-track{background:transparent}.run-list[data-v-a1d3e4e4]::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:3px}.run-list[data-v-a1d3e4e4]::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.section-header[data-v-a1d3e4e4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.section-header .label[data-v-a1d3e4e4]{margin:0;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.5}.settings-btn[data-v-a1d3e4e4]{background:transparent;border:1px solid rgba(255,255,255,.08);color:inherit;font-size:.72rem;padding:.15rem .5rem;border-radius:4px;cursor:pointer;font-family:inherit;transition:all .15s ease}.settings-btn[data-v-a1d3e4e4]:hover{border-color:var(--color-accent, #e94560);color:var(--color-accent, #e94560)}.section-actions[data-v-a1d3e4e4]{display:flex;align-items:center;gap:.3rem}.icon-btn[data-v-a1d3e4e4]{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.08);color:inherit;padding:.2rem .3rem;border-radius:4px;cursor:pointer;opacity:.6;transition:all .15s ease}.icon-btn[data-v-a1d3e4e4]:hover{opacity:1;border-color:var(--color-accent, #e94560);color:var(--color-accent, #e94560)}.icon-btn svg[data-v-a1d3e4e4]{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.settings-btn[data-v-a1d3e4e4]:disabled{opacity:.4;cursor:default}.context-item[data-v-a1d3e4e4]{display:flex;align-items:center;gap:.4rem;width:100%;padding:.3rem .5rem;background:transparent;border:none;color:inherit;text-align:left;border-radius:6px;cursor:pointer;transition:background .15s ease;font-family:inherit;font-size:.82rem}.context-item[data-v-a1d3e4e4]:hover{background:#ffffff0a}.context-item.active[data-v-a1d3e4e4]{background:#ffffff14}.network-name[data-v-a1d3e4e4]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.districts-icon[data-v-a1d3e4e4]{width:13px;height:13px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round;opacity:.7}.segment-count[data-v-a1d3e4e4]{opacity:.4;font-size:.75rem;flex-shrink:0}.scenario-row[data-v-a1d3e4e4]{display:flex;align-items:center;gap:.25rem}.scenario-action-btn[data-v-a1d3e4e4]{background:none;border:none;color:inherit;opacity:.3;cursor:pointer;padding:.2rem;font-size:.75rem;transition:opacity .15s ease}.scenario-action-btn[data-v-a1d3e4e4]:hover{opacity:.8;color:#ff6b6b}.empty-message[data-v-a1d3e4e4]{padding:.5rem 0;text-align:center;opacity:.5;font-style:italic;font-size:.85rem}.run-date-header[data-v-a1d3e4e4]{font-size:.72rem;font-weight:700;opacity:.4;padding:.5rem 0 .25rem;text-transform:uppercase;letter-spacing:.04em}.run-spinner[data-v-a1d3e4e4]{width:10px;height:10px;border:2px solid rgba(78,168,255,.3);border-top-color:#4ea8ff;border-radius:50%;animation:run-spin-a1d3e4e4 .6s linear infinite}@keyframes run-spin-a1d3e4e4{to{transform:rotate(360deg)}}.run-name-input[data-v-a1d3e4e4]{flex:1;min-width:0;padding:.05rem .25rem;background:#00000040;border:1px solid var(--color-accent, #e94560);border-radius:4px;color:inherit;font:inherit;outline:none}.run-routing-tag[data-v-a1d3e4e4]{flex-shrink:0;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.05rem .35rem;border-radius:4px;color:#34d399;background:#34d3991f}.run-baseline-tag[data-v-a1d3e4e4]{flex-shrink:0;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.05rem .35rem;border-radius:4px;color:#4ea8ff;background:#4ea8ff1f}.run-delta[data-v-a1d3e4e4]{flex-shrink:0;font-size:.72rem;font-variant-numeric:tabular-nums;opacity:.6}.run-delta.better[data-v-a1d3e4e4]{color:#4cd98a;opacity:1}.run-delta.worse[data-v-a1d3e4e4]{color:#ff6b6b;opacity:1}.run-failed[data-v-a1d3e4e4]{font-size:.7rem;color:#ff6b6b;font-weight:600}.rdp-wrapper[data-v-9eef3231]{position:absolute;bottom:0;left:0;right:0;z-index:1100}.rdp-collapsed[data-v-9eef3231]{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.75rem;padding:.5rem .75rem;cursor:pointer;background:#0f1620d9;border-top:1px solid rgba(255,255,255,.06);transition:background .15s ease;position:relative;z-index:1100;overflow:hidden}.rdp-collapsed[data-v-9eef3231]:hover{background:#0f1620f2}.rdt-label[data-v-9eef3231]{font-weight:600;font-size:.8rem;opacity:.7;white-space:nowrap;flex-shrink:0}.rdt-types[data-v-9eef3231]{display:flex;flex-wrap:nowrap;gap:.5rem;overflow-x:auto;min-width:0;margin-left:auto}.rdt-summary-item[data-v-9eef3231]{cursor:pointer;font-size:.75rem}.rdt-summary-item[data-v-9eef3231]:hover{opacity:.8}.rdt-summary-type[data-v-9eef3231]{opacity:.6}.routes-data-panel[data-v-9eef3231]{position:absolute;bottom:0;left:0;right:0;background:#0f1620f2;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;z-index:1100}.rdp-header[data-v-9eef3231]{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;border-bottom:1px solid rgba(255,255,255,.06);cursor:ns-resize;flex-shrink:0;font-size:.78rem}.rdp-title[data-v-9eef3231]{font-weight:600;white-space:nowrap}.rdp-title-clickable[data-v-9eef3231]{cursor:pointer}.rdp-title-clickable[data-v-9eef3231]:hover{opacity:.8}.rdp-scenario-name[data-v-9eef3231]{opacity:.5;white-space:nowrap}.rdp-header-types[data-v-9eef3231]{display:flex;gap:.5rem;overflow-x:auto;min-width:0;margin-left:auto}.rdp-summary-item[data-v-9eef3231]{cursor:pointer;white-space:nowrap;padding:.1rem .25rem;border-radius:3px;transition:background .15s ease}.rdp-summary-item[data-v-9eef3231]:hover{background:#ffffff0f}.rdp-close-btn[data-v-9eef3231]{background:none;border:none;color:inherit;font-size:1rem;cursor:pointer;padding:0 .25rem;opacity:.5}.rdp-close-btn[data-v-9eef3231]:hover{opacity:1}.rdp-scroll[data-v-9eef3231]{flex:1;overflow:auto}.rdp-table[data-v-9eef3231]{width:100%;border-collapse:collapse;font-size:.78rem}.rdp-table thead[data-v-9eef3231]{position:sticky;top:0;z-index:1;background:#0f1620fa}.rdp-table th[data-v-9eef3231],.rdp-table td[data-v-9eef3231]{padding:.25rem .4rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.04);white-space:nowrap}.rdp-cell-type[data-v-9eef3231]{opacity:.6;font-size:.72rem}.rdp-route-badge[data-v-9eef3231]{display:inline-block;padding:.05rem .35rem;border-radius:3px;font-weight:600;font-size:.72rem}.rdp-cell[data-v-9eef3231]{cursor:default;transition:background .1s ease;position:relative}.rdp-veh-diff[data-v-9eef3231]{position:absolute;right:.3rem;top:50%;transform:translateY(-50%);font-size:.68rem;font-weight:700;opacity:.9}.rdp-type-veh-diff[data-v-9eef3231]{margin-left:.3em;font-weight:700}.rdp-veh-up[data-v-9eef3231]{color:#4ee08a}.rdp-veh-down[data-v-9eef3231]{color:#ff7a7a}.rdp-input[data-v-9eef3231]{background:#40c8a01f}.rdp-selected[data-v-9eef3231]{outline:2px solid rgba(78,168,255,.5);outline-offset:-2px}.rdp-filter-badge[data-v-9eef3231]{display:inline-flex;align-items:center;gap:.25rem;padding:.05rem .4rem;margin-left:.25rem;border:1px solid;border-radius:3px;font-size:.7rem;font-weight:600}.rdp-filter-clear[data-v-9eef3231]{cursor:pointer;opacity:.6}.rdp-filter-clear[data-v-9eef3231]:hover{opacity:1}.rdp-edit-input[data-v-9eef3231]{width:100%;min-width:4rem;padding:.15rem .3rem;background:#ffffff14;border:1px solid rgba(78,168,255,.5);border-radius:2px;color:inherit;font-size:.78rem;text-align:center;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.rdp-edit-input[data-v-9eef3231]::-webkit-outer-spin-button,.rdp-edit-input[data-v-9eef3231]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.changes-history-panel[data-v-bb11d2b1]{position:absolute;top:0;right:0;bottom:0;width:320px;background:var(--color-bg, #0f1620);border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;z-index:1100}.changes-history-header[data-v-bb11d2b1]{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.changes-history-back[data-v-bb11d2b1],.changes-history-close[data-v-bb11d2b1]{background:none;border:none;color:var(--color-text, #e0e6ed);cursor:pointer;padding:.25rem;display:flex;align-items:center}.changes-history-title[data-v-bb11d2b1]{flex:1;font-weight:600;font-size:.95rem}.changes-history-list[data-v-bb11d2b1]{flex:1;overflow-y:auto;padding:.5rem}.change-item[data-v-bb11d2b1]{padding:.5rem;border-radius:6px;cursor:pointer;transition:background .15s ease;margin-bottom:.25rem}.change-item[data-v-bb11d2b1]:hover{background:#ffffff0a}.change-item.selected[data-v-bb11d2b1]{background:#ffffff14}.change-item.has-geometry[data-v-bb11d2b1]{border-left:3px solid #ff6b35}.change-message[data-v-bb11d2b1]{font-size:.85rem;margin-bottom:.25rem}.change-meta[data-v-bb11d2b1]{display:flex;flex-wrap:wrap;gap:.35rem;font-size:.75rem;opacity:.6}.empty-message[data-v-bb11d2b1]{padding:1rem;text-align:center;opacity:.5;font-style:italic}.share-backdrop[data-v-641a806e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:2000}.share-dialog[data-v-641a806e]{background:#0f1624;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:1.5rem;width:min(480px,92vw);box-shadow:0 24px 60px #00000073;display:flex;flex-direction:column;gap:1rem}.share-header[data-v-641a806e]{display:flex;align-items:center;justify-content:space-between}.share-header h3[data-v-641a806e]{font-size:1.1rem;font-weight:600;margin:0}.close-btn[data-v-641a806e]{background:none;border:none;color:var(--color-text-muted, #aab6c8);font-size:1.4rem;cursor:pointer;padding:.2rem .4rem;border-radius:6px;transition:background .15s}.close-btn[data-v-641a806e]:hover{background:#ffffff14}.email-input-row[data-v-641a806e]{display:flex;gap:.5rem}.email-input-row input[data-v-641a806e]{flex:1;background:#0f1324b3;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.6rem .85rem;color:var(--color-text, #e0e6ed);font-size:.95rem}.email-input-row input[data-v-641a806e]:focus{outline:none;border-color:#ffc773;box-shadow:0 0 0 3px #ffc77340}.add-btn[data-v-641a806e]{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:.6rem 1rem;color:var(--color-text, #e0e6ed);font-weight:600;cursor:pointer;transition:background .15s}.add-btn[data-v-641a806e]:hover:not(:disabled){background:#ffffff1f}.add-btn[data-v-641a806e]:disabled{opacity:.4;cursor:not-allowed}.invite-form[data-v-641a806e]{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px}.invite-row[data-v-641a806e]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.invite-email[data-v-641a806e]{font-weight:600;font-size:.95rem}.notify-check[data-v-641a806e]{display:flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--color-text-muted, #aab6c8);cursor:pointer}.notify-check input[type=checkbox][data-v-641a806e]{accent-color:var(--color-accent, #e94560)}.invite-message[data-v-641a806e]{background:#0f1324b3;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.6rem .85rem;color:var(--color-text, #e0e6ed);font-size:.9rem;resize:vertical;font-family:inherit}.invite-message[data-v-641a806e]:focus{outline:none;border-color:#ffc773}.invite-actions[data-v-641a806e]{display:flex;justify-content:flex-end;gap:.5rem}.access-section[data-v-641a806e]{display:flex;flex-direction:column;gap:.5rem}.access-row[data-v-641a806e]{display:flex;align-items:center;gap:.6rem;padding:.4rem 0}.access-icon[data-v-641a806e]{width:32px;height:32px;border-radius:50%;background:#ffffff0f;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.access-info[data-v-641a806e]{flex:1;display:flex;flex-direction:column;gap:.15rem}.access-desc[data-v-641a806e]{font-size:.8rem;color:var(--color-text-muted, #aab6c8)}.members-section[data-v-641a806e]{display:flex;flex-direction:column;gap:.5rem}.members-label[data-v-641a806e]{font-size:.85rem;color:var(--color-text-muted, #aab6c8);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.loading-text[data-v-641a806e]{color:var(--color-text-muted, #aab6c8);font-size:.9rem}.member-row[data-v-641a806e]{display:flex;align-items:center;gap:.6rem;padding:.4rem 0}.member-avatar[data-v-641a806e]{width:32px;height:32px;border-radius:50%;background:linear-gradient(120deg,var(--color-primary, #457b9d),var(--color-accent, #e94560));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#fff;flex-shrink:0}.member-info[data-v-641a806e]{flex:1;min-width:0}.member-name[data-v-641a806e]{font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.3rem}.member-email[data-v-641a806e]{font-size:.8rem;color:var(--color-text-muted, #aab6c8);overflow:hidden;text-overflow:ellipsis}.you-tag[data-v-641a806e]{font-size:.75rem;font-weight:400;color:var(--color-text-muted, #aab6c8)}.pending-tag[data-v-641a806e]{font-size:.7rem;font-weight:600;color:#ffc773;background:#ffc7731f;padding:.1rem .4rem;border-radius:6px}.member-role[data-v-641a806e]{flex-shrink:0}.role-badge[data-v-641a806e]{font-size:.85rem;color:var(--color-text-muted, #aab6c8);padding:.3rem .6rem;border-radius:8px;background:#ffffff0a}.role-select[data-v-641a806e]{background:#0f1324b3;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.3rem .5rem;color:var(--color-text, #e0e6ed);font-size:.85rem;cursor:pointer}.role-select[data-v-641a806e]:focus{outline:none;border-color:#ffc773}.remove-option[data-v-641a806e]{color:#ff6b6b}.share-footer[data-v-641a806e]{display:flex;justify-content:flex-end}.error-text[data-v-641a806e]{color:#ff8f70;font-size:.85rem}.ghost-btn[data-v-641a806e]{padding:.5rem .85rem;border-radius:10px;border:1px solid rgba(255,255,255,.18);color:var(--color-text, #e0e6ed);background:transparent;cursor:pointer;font-size:.9rem;transition:border .2s ease,background .2s ease}.ghost-btn[data-v-641a806e]:hover{border-color:var(--color-accent, #e94560);background:#e945601a}.primary-btn[data-v-641a806e]{background:linear-gradient(120deg,var(--color-primary, #457b9d),var(--color-accent, #e94560));color:#fff;border:none;border-radius:10px;padding:.5rem 1rem;font-weight:700;cursor:pointer;font-size:.9rem;transition:transform .1s ease,box-shadow .15s ease}.primary-btn[data-v-641a806e]:hover:not(:disabled){transform:translateY(-1px)}.primary-btn[data-v-641a806e]:disabled{opacity:.6;cursor:not-allowed}.mcp-backdrop[data-v-dc5a1ae4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:2000}.mcp-dialog[data-v-dc5a1ae4]{background:#0f1624;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:1.5rem;width:min(520px,92vw);box-shadow:0 24px 60px #00000073;display:flex;flex-direction:column;gap:1rem}.mcp-header[data-v-dc5a1ae4]{display:flex;align-items:center;justify-content:space-between}.mcp-header h3[data-v-dc5a1ae4]{font-size:1.1rem;font-weight:600;margin:0}.close-btn[data-v-dc5a1ae4]{background:none;border:none;color:var(--color-text-muted, #aab6c8);font-size:1.4rem;cursor:pointer;padding:.2rem .4rem;border-radius:6px}.close-btn[data-v-dc5a1ae4]:hover{background:#ffffff14}.mcp-text[data-v-dc5a1ae4],.mcp-status[data-v-dc5a1ae4]{margin:0;font-size:.9rem;color:var(--color-text-muted, #aab6c8);line-height:1.4}.mcp-key-prefix[data-v-dc5a1ae4]{font-family:monospace;color:var(--color-text, #e0e6ed);background:#ffffff0f;padding:.1rem .35rem;border-radius:4px}.mcp-url-block[data-v-dc5a1ae4]{display:flex;flex-direction:column;gap:.4rem}.mcp-label[data-v-dc5a1ae4]{font-size:.85rem}.mcp-url-row[data-v-dc5a1ae4]{display:flex;gap:.5rem}.mcp-url-row input[data-v-dc5a1ae4]{flex:1;background:#0f1324b3;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.6rem .85rem;color:inherit;font-family:monospace;font-size:.8rem}.mcp-hint[data-v-dc5a1ae4]{font-size:.8rem;color:var(--color-text-muted, #aab6c8)}.mcp-error[data-v-dc5a1ae4]{margin:0;color:#ff6b81;font-size:.8rem;white-space:pre-wrap;max-height:160px;overflow:auto}.mcp-actions[data-v-dc5a1ae4]{display:flex;justify-content:flex-end;gap:.5rem}.primary-btn[data-v-dc5a1ae4],.danger-btn[data-v-dc5a1ae4]{padding:.5rem 1rem;border-radius:10px;border:1px solid transparent;font-family:inherit;font-size:.85rem;cursor:pointer}.primary-btn[data-v-dc5a1ae4]{background:var(--color-accent, #e94560);color:#fff}.danger-btn[data-v-dc5a1ae4]{background:transparent;border-color:#ff6b8180;color:#ff6b81}.primary-btn[data-v-dc5a1ae4]:disabled,.danger-btn[data-v-dc5a1ae4]:disabled{opacity:.5;cursor:default}.modal-backdrop[data-v-8685eae8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:1000}.modal[data-v-8685eae8]{background:#0d1120;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:1.25rem;width:min(460px,92vw);color:var(--color-text)}.modal-header[data-v-8685eae8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.modal-header h2[data-v-8685eae8]{font-size:.95rem;font-weight:600}.icon-close[data-v-8685eae8]{background:none;border:none;color:var(--color-text-muted);font-size:1.3rem;cursor:pointer;padding:.2rem .4rem;border-radius:4px}.hint[data-v-8685eae8]{color:var(--color-text-muted);font-size:.75rem;line-height:1.4;margin-bottom:.75rem}.mode[data-v-8685eae8]{display:flex;gap:1rem;margin-bottom:.5rem}.radio[data-v-8685eae8],.check[data-v-8685eae8]{display:flex;align-items:center;gap:.4rem;font-size:.8rem;cursor:pointer}.scenario-list[data-v-8685eae8]{list-style:none;margin:0;padding:.4rem .5rem;max-height:280px;overflow-y:auto;border:1px solid rgba(255,255,255,.07);border-radius:6px;scrollbar-width:thin;scrollbar-color:var(--color-primary) transparent}.scenario-list[data-v-8685eae8]::-webkit-scrollbar{width:6px}.scenario-list[data-v-8685eae8]::-webkit-scrollbar-track{background:transparent}.scenario-list[data-v-8685eae8]::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:3px}.scenario-list[data-v-8685eae8]::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.scenario-list li[data-v-8685eae8]{padding:.2rem 0}.scenario-list.dimmed[data-v-8685eae8]{opacity:.55}.form-error[data-v-8685eae8]{color:#ff8f70;font-size:.75rem;margin-top:.6rem}.modal-actions[data-v-8685eae8]{margin-top:1rem;display:flex;justify-content:flex-end;gap:.5rem}.cta-btn[data-v-8685eae8]{background:linear-gradient(135deg,var(--color-accent),#c0334a);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600;font-size:.8rem;cursor:pointer}.cta-btn[data-v-8685eae8]:disabled{opacity:.45;cursor:not-allowed}.ghost-btn[data-v-8685eae8]{padding:.5rem .85rem;border-radius:6px;border:1px solid rgba(255,255,255,.1);color:var(--color-text-muted);background:transparent;font-weight:600;font-size:.8rem;cursor:pointer}.params-dialog[data-v-481ca651]{max-height:85vh;overflow-y:auto;color-scheme:dark;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.params-dialog[data-v-481ca651]::-webkit-scrollbar{width:6px}.params-dialog[data-v-481ca651]::-webkit-scrollbar-track{background:transparent}.params-dialog[data-v-481ca651]::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.params-dialog[data-v-481ca651]::-webkit-scrollbar-thumb:hover{background:#fff3}.params-hint[data-v-481ca651]{margin:0 0 .75rem;font-size:.85rem;opacity:.75}.params-group+.params-group[data-v-481ca651]{margin-top:.5rem}.params-group-title[data-v-481ca651]{margin:0 0 .5rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.5}.params-field[data-v-481ca651]{display:grid;grid-template-columns:1fr 6rem;align-items:center;column-gap:.75rem}.params-field label[data-v-481ca651]{margin:0}.params-reset[data-v-481ca651]{margin-right:auto}.params-error[data-v-481ca651]{margin-bottom:.75rem;color:#f87171;font-size:.85rem;white-space:pre-wrap}.change-type-submenu[data-v-3df1c8fe]{position:absolute;top:100%;left:0;background:#0f1730;border:1px solid var(--color-primary);border-radius:8px;min-width:180px;z-index:100;padding:.25rem 0}.change-type-submenu.submenu-up[data-v-3df1c8fe]{top:auto;bottom:100%}.transport-dropdown-item[data-v-3df1c8fe]{padding:.4rem .75rem;cursor:pointer;font-size:.85rem;color:var(--color-text);white-space:nowrap}.transport-dropdown-item[data-v-3df1c8fe]:hover{background:#ffffff14}.transport-dropdown-item.non-leaf[data-v-3df1c8fe]{font-weight:700;color:var(--color-text-muted);cursor:default}.transport-dropdown-item.current-type[data-v-3df1c8fe]{pointer-events:none;opacity:.5}.transport-types-panel[data-v-a0f48d3c]{padding:1rem;background:#16213e;height:100%;overflow-y:auto;overflow-x:hidden}.error-notification[data-v-a0f48d3c]{background:#f4433626;border:1px solid rgba(244,67,54,.3);color:#ff6b6b;padding:.5rem .75rem;border-radius:4px;margin-bottom:1rem;display:inline-flex;justify-content:space-between;align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:.875rem;width:100%}.error-text[data-v-a0f48d3c]{flex:1}.error-close[data-v-a0f48d3c]{background:none;border:none;color:#ff6b6b;font-size:18px;cursor:pointer;padding:0;width:18px;height:18px;line-height:18px;opacity:.7;transition:opacity .2s;margin-left:.5rem}.error-close[data-v-a0f48d3c]:hover{opacity:1}.types-grid[data-v-a0f48d3c]{background:#0003;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.05);display:inline-block;min-width:800px}.grid-header[data-v-a0f48d3c]{display:grid;grid-template-columns:minmax(200px,auto) 130px 100px 100px 90px;gap:8px;padding:.3rem .75rem;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1);font-weight:600;color:#ffffff80;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;line-height:1.1}.grid-row[data-v-a0f48d3c]{display:grid;grid-template-columns:minmax(200px,auto) 130px 100px 100px 90px;gap:8px;padding:.25rem .75rem;border-bottom:1px solid rgba(255,255,255,.05);align-items:center;transition:background .2s;line-height:1.1}.grid-row[data-v-a0f48d3c]:hover{background:#ffffff08}.grid-row.level-0[data-v-a0f48d3c]{font-weight:600;color:var(--color-text)}.grid-row.level-1[data-v-a0f48d3c]{font-weight:500;color:var(--color-text)}.grid-row.level-2[data-v-a0f48d3c]{color:var(--color-text-muted)}.col-name[data-v-a0f48d3c]{display:flex;align-items:center;gap:6px}.name-text[data-v-a0f48d3c]{cursor:pointer;text-transform:capitalize}.name-text[data-v-a0f48d3c]:hover{color:var(--color-primary-light)}.name-input[data-v-a0f48d3c]{background:#0000004d;border:1px solid var(--color-primary);color:var(--color-text);padding:.3rem .5rem;border-radius:3px;font-size:.875rem;flex:1}.col-color[data-v-a0f48d3c]{display:flex;align-items:center;gap:4px}.color-display[data-v-a0f48d3c]{width:44px;height:24px;border-radius:3px;cursor:pointer;border:1px solid rgba(255,255,255,.15);transition:border-color .2s}.color-display[data-v-a0f48d3c]:hover{border-color:var(--color-primary)}.clear-color-btn[data-v-a0f48d3c]{background:#0000004d;border:1px solid rgba(255,255,255,.1);color:#ffffff80;width:20px;height:20px;border-radius:3px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s}.clear-color-btn[data-v-a0f48d3c]:hover{background:#f4433633;border-color:#f443364d;color:#ff6b6b}.add-color-btn[data-v-a0f48d3c]{background:#0000004d;border:1px solid rgba(255,255,255,.1);color:#ffffff80;width:28px;height:28px;border-radius:3px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s}.add-color-btn[data-v-a0f48d3c]:hover{background:#2e7d324d;border-color:#2e7d3280;color:#66bb6a}.color-input[data-v-a0f48d3c]{width:60px;height:28px;border:1px solid var(--color-primary);border-radius:3px;cursor:pointer;background:#0000004d}.col-capacity[data-v-a0f48d3c],.col-speed[data-v-a0f48d3c]{color:var(--color-text-muted)}.capacity-text[data-v-a0f48d3c]{cursor:pointer}.capacity-text[data-v-a0f48d3c]:hover{color:var(--color-text)}.capacity-input[data-v-a0f48d3c]{background:#0000004d;border:1px solid rgba(255,255,255,.2);color:var(--color-text);padding:.3rem .5rem;border-radius:3px;font-size:.875rem;width:70px}.empty-cell[data-v-a0f48d3c]{color:#fff3;cursor:pointer;font-size:.875rem}.empty-cell[data-v-a0f48d3c]:hover{color:#fff6}.col-actions[data-v-a0f48d3c]{display:flex;gap:4px;justify-content:flex-end}.action-btn[data-v-a0f48d3c]{background:#0000004d;border:1px solid rgba(255,255,255,.1);color:#ffffffb3;width:28px;height:28px;border-radius:3px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s}.action-btn[data-v-a0f48d3c]:hover{background:#ffffff1a;color:var(--color-text)}.add-btn[data-v-a0f48d3c]:hover{background:#2e7d324d;border-color:#2e7d3280;color:#66bb6a}.delete-btn[data-v-a0f48d3c]:hover{background:#d32f2f4d;border-color:#d32f2f80;color:#ef5350}.save-btn[data-v-a0f48d3c]{background:#2e7d324d;border-color:#2e7d3280;color:#66bb6a}.save-btn[data-v-a0f48d3c]:hover{background:#2e7d3280}.cancel-btn[data-v-a0f48d3c]{background:#0000004d;border-color:#fff3}.cancel-btn[data-v-a0f48d3c]:hover{background:#00000080}input[data-v-a0f48d3c]:focus{outline:none;border-color:var(--color-primary-light)}input[type=color][data-v-a0f48d3c]{padding:2px}input[type=color][data-v-a0f48d3c]::-webkit-color-swatch-wrapper{padding:2px}input[type=color][data-v-a0f48d3c]::-webkit-color-swatch{border:none;border-radius:2px}.button-wrapper[data-v-a0f48d3c]{margin-top:.75rem;width:100%}.add-top-level-btn[data-v-a0f48d3c]{background:#0000004d;border:1px solid rgba(255,255,255,.1);color:#ffffffb3;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s;font-weight:500;display:block}.add-top-level-btn[data-v-a0f48d3c]:hover{background:#2e7d324d;border-color:#2e7d3280;color:#66bb6a}.loading[data-v-482c34b8],.error[data-v-482c34b8]{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.2rem;color:var(--color-text-muted, #8899aa)}.error[data-v-482c34b8]{display:flex;align-items:center;justify-content:center;gap:.5rem;height:100vh;flex-direction:column;color:var(--color-error, #e94560)}.error-header[data-v-482c34b8]{display:flex;align-items:center;gap:.5rem;font-size:1.2rem;cursor:pointer;padding:.5rem}.error-chevron[data-v-482c34b8]{font-size:.8rem}.error-body[data-v-482c34b8]{display:flex;gap:.5rem;margin-top:.5rem}.error-btn[data-v-482c34b8]{background:var(--color-primary, #4ea8ff);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;cursor:pointer;font-size:.9rem}.error-close[data-v-482c34b8]{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--color-error, #e94560);font-size:1.5rem;cursor:pointer;padding:.25rem}.city-shell[data-v-482c34b8]{display:flex;flex-direction:column;height:100vh;overflow:hidden}.city-layout[data-v-482c34b8]{display:flex;flex:1;min-height:0;overflow:hidden}.map-container[data-v-482c34b8]{flex:1;position:relative;overflow:hidden}.map-toolbar[data-v-482c34b8]{position:absolute;top:.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;z-index:9998;padding:.5rem;background:#0f1730e6;border-radius:8px}.osm-btn[data-v-482c34b8]{background:transparent;border:1px solid var(--color-primary);border-radius:6px;padding:.35rem .6rem;color:var(--color-text);cursor:pointer;font-size:.8rem;font-family:inherit;transition:all .15s ease}.osm-btn[data-v-482c34b8]:hover{background:#ffffff0f}.osm-import-overlay[data-v-482c34b8]{position:absolute;top:3rem;left:1rem;z-index:9999}.districts-overlay[data-v-482c34b8]{position:absolute;top:3.5rem;right:1rem;z-index:9999}.publish-map-overlay[data-v-482c34b8]{position:absolute;top:3.5rem;right:.75rem;z-index:1200}.speed-legend-overlay[data-v-482c34b8]{position:absolute;bottom:1.5rem;left:.75rem;z-index:1100}.segment-speed-overlay[data-v-482c34b8]{position:absolute;top:3.5rem;right:.75rem;z-index:1100}.transport-dropdown div{padding:.4rem .75rem;cursor:pointer;border-radius:4px;font-size:.85rem;transition:background .15s ease}.transport-dropdown div:hover{background:#ffffff0f}.tt-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9999;background:#16213e}.modal-backdrop[data-v-93212eaf]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:50}.modal[data-v-93212eaf]{background:#0d1120;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:1.25rem;width:min(600px,92vw)}.modal-header[data-v-93212eaf]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.modal-header h2[data-v-93212eaf]{font-size:.95rem;font-weight:600}.icon-close[data-v-93212eaf]{background:none;border:none;color:var(--color-text-muted);font-size:1.3rem;cursor:pointer;padding:.2rem .4rem;border-radius:4px;transition:background .15s ease}.icon-close[data-v-93212eaf]:hover{background:#ffffff0d;color:var(--color-text)}.modal-actions[data-v-93212eaf]{margin-top:1rem;display:flex;justify-content:flex-end;gap:.5rem}.form-grid[data-v-93212eaf]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;align-items:end}label[data-v-93212eaf]{display:flex;flex-direction:column;gap:.25rem;font-weight:400}label span[data-v-93212eaf]{color:var(--color-text-muted);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}input[data-v-93212eaf]{background:#0d1120cc;border:1px solid rgba(255,255,255,.07);border-radius:6px;padding:.5rem .65rem;color:var(--color-text);font-size:.8rem;transition:border-color .15s ease}input[data-v-93212eaf]:focus{outline:none;border-color:#e9456080}.city-field[data-v-93212eaf]{position:relative}.suggestions[data-v-93212eaf]{position:absolute;left:0;right:0;top:100%;margin-top:.2rem;z-index:30;background:#0d1120;border:1px solid rgba(255,255,255,.07);border-radius:6px;max-height:200px;overflow:auto}.suggestions ul[data-v-93212eaf]{list-style:none;padding:0;margin:0}.suggestions li[data-v-93212eaf]{padding:.45rem .65rem;cursor:pointer;font-size:.75rem;transition:background .1s ease}.suggestions li[data-v-93212eaf]:hover{background:#ffffff0a}.suggestion-status[data-v-93212eaf]{padding:.45rem .65rem;color:var(--color-text-muted);font-size:.75rem}.form-error[data-v-93212eaf]{color:#ff8f70;font-size:.75rem;margin-top:.6rem}.cta-btn[data-v-93212eaf]{background:linear-gradient(135deg,var(--color-accent),#c0334a);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600;font-size:.8rem;cursor:pointer;white-space:nowrap;transition:opacity .15s ease}.cta-btn[data-v-93212eaf]:disabled{opacity:.45;cursor:not-allowed}.cta-btn[data-v-93212eaf]:not(:disabled):hover{opacity:.88}.ghost-btn[data-v-93212eaf]{text-decoration:none;padding:.5rem .85rem;border-radius:6px;border:1px solid rgba(255,255,255,.1);color:var(--color-text-muted);background:transparent;font-weight:600;font-size:.8rem;cursor:pointer;transition:border-color .15s ease}.ghost-btn[data-v-93212eaf]:hover{border-color:#fff3}.import-project[data-v-c5ee6ddb]{position:relative}.ghost-btn[data-v-c5ee6ddb]{padding:.5rem .85rem;border-radius:6px;border:1px solid rgba(255,255,255,.15);color:var(--color-text);background:transparent;font-weight:600;font-size:.8rem;cursor:pointer;white-space:nowrap}.ghost-btn[data-v-c5ee6ddb]:disabled{opacity:.5;cursor:wait}.import-error[data-v-c5ee6ddb]{position:absolute;right:0;top:100%;margin-top:.4rem;width:max-content;max-width:360px;color:#ff8f70;font-size:.75rem}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}.projects-page[data-v-14ef1db7]{display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg)}.projects-hero[data-v-14ef1db7]{padding:1.25rem 2rem;border-bottom:1px solid rgba(255,255,255,.06)}.hero-content[data-v-14ef1db7]{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.hero-actions[data-v-14ef1db7]{display:flex;align-items:center;gap:.5rem}.hero-left h1[data-v-14ef1db7]{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--color-text);margin-bottom:.35rem}.hero-metrics[data-v-14ef1db7]{display:flex;align-items:baseline;gap:.5rem}.metric[data-v-14ef1db7]{display:flex;align-items:baseline;gap:.25rem}.metric-value[data-v-14ef1db7]{font-size:.8rem;font-weight:600;color:var(--color-text)}.metric-label[data-v-14ef1db7]{font-size:.75rem;font-weight:400;color:var(--color-text-muted)}.metric-sep[data-v-14ef1db7]{color:#ffffff26;font-size:.75rem}.cta-btn[data-v-14ef1db7]{background:linear-gradient(135deg,var(--color-accent),#c0334a);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600;font-size:.8rem;cursor:pointer;white-space:nowrap;transition:opacity .15s ease}.cta-btn[data-v-14ef1db7]:disabled{opacity:.45;cursor:not-allowed}.cta-btn[data-v-14ef1db7]:not(:disabled):hover{opacity:.88}.projects-main[data-v-14ef1db7]{flex:1;padding:1.25rem 2rem 2rem}.projects-layout[data-v-14ef1db7]{display:grid;grid-template-columns:2fr 1fr;gap:1.25rem;align-items:start}.col-main[data-v-14ef1db7]{display:flex;flex-direction:column;gap:1.25rem}.section[data-v-14ef1db7]{background:#16213e73;border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:1rem 1.25rem}.section-title[data-v-14ef1db7]{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.85rem;display:flex;align-items:center;gap:.4rem}.section-count[data-v-14ef1db7]{font-size:.65rem;font-weight:600;color:#ffffff4d;background:#ffffff0d;padding:.1rem .4rem;border-radius:8px}.cards[data-v-14ef1db7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.6rem}.project-card[data-v-14ef1db7]{border-radius:6px;border:1px solid rgba(255,255,255,.05);background:#0d1120b3;cursor:pointer;padding:.75rem .85rem;display:flex;flex-direction:column;gap:.2rem;transition:border-color .15s ease,transform .15s ease}.project-card[data-v-14ef1db7]:hover{border-color:#ffffff1f;transform:translateY(-1px)}.card-name-row[data-v-14ef1db7]{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.card-name[data-v-14ef1db7]{font-size:.85rem;font-weight:600;color:var(--color-text);line-height:1.3}.card-city[data-v-14ef1db7]{font-size:.7rem;font-weight:400;color:var(--color-text-muted);line-height:1.3}.role-badge[data-v-14ef1db7]{font-size:.6rem;font-weight:600;text-transform:capitalize;color:#ffc773;background:#ffc77314;border:1px solid rgba(255,199,115,.12);padding:.1rem .35rem;border-radius:3px;flex-shrink:0}.demo-badge[data-v-14ef1db7]{color:#a78bfa;background:#a78bfa14;border-color:#a78bfa26}.card-info[data-v-14ef1db7]{display:flex;flex-direction:column;gap:.2rem;margin-top:.3rem}.info-row[data-v-14ef1db7]{display:flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:400;color:#ffffff59}.info-icon[data-v-14ef1db7]{width:13px;height:13px;flex-shrink:0;color:#ffffff40}.stat-num[data-v-14ef1db7]{font-weight:600;color:var(--color-text)}.routes-detail[data-v-14ef1db7]{color:#ffffff4d}.card-meta[data-v-14ef1db7]{font-size:.6rem;font-weight:400;color:#fff3;margin-top:.15rem}.empty-state[data-v-14ef1db7]{padding:1.25rem 1rem;text-align:center;color:#ffffff4d;font-size:.75rem;font-weight:400;border:1px dashed rgba(255,255,255,.06);border-radius:6px}.loading[data-v-14ef1db7]{color:var(--color-text-muted);padding:2rem;text-align:center;font-size:.8rem}@media (max-width: 768px){.projects-layout[data-v-14ef1db7]{grid-template-columns:1fr}.projects-hero[data-v-14ef1db7],.projects-main[data-v-14ef1db7]{padding:1rem}.hero-content[data-v-14ef1db7]{flex-direction:column;align-items:flex-start;gap:.75rem}}.dashboard-page[data-v-8579fca7]{min-height:100vh;background:var(--color-bg);color:var(--color-text)}.app-header[data-v-8579fca7]{background:var(--color-surface);border-bottom:1px solid rgba(255,255,255,.1)}.header-content[data-v-8579fca7]{display:flex;justify-content:space-between;align-items:center;padding:.05rem 2rem;width:100%}.title[data-v-8579fca7]{font-size:1.5rem;font-weight:600;margin:0;line-height:1}.dashboard-nav[data-v-8579fca7]{max-width:1800px;margin:0 auto;padding:0 2rem;display:flex;gap:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.nav-tab[data-v-8579fca7]{background:none;border:none;color:var(--color-text-muted);padding:1rem 1.5rem;font-size:.95rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;display:flex;align-items:center;gap:.5rem}.nav-tab[data-v-8579fca7]:hover{color:var(--color-text);background:#ffffff08}.nav-tab.active[data-v-8579fca7]{color:var(--color-text);border-bottom-color:#60a5fa}.count[data-v-8579fca7]{background:#60a5fa33;color:#60a5fa;padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;min-width:1.5rem;text-align:center}.nav-tab.active .count[data-v-8579fca7]{background:#60a5fa4d}.dashboard-content[data-v-8579fca7]{padding:2rem;max-width:1800px;margin:0 auto}.loading[data-v-539f8a5e],.error[data-v-539f8a5e]{padding:3rem 2rem;text-align:center;font-size:1.1rem}.error[data-v-539f8a5e]{color:#ef4444;background:#ef44441a;border-radius:6px;border:1px solid rgba(239,68,68,.3)}.projects-grid[data-v-539f8a5e]{display:grid;grid-template-columns:auto auto auto auto auto auto auto auto auto auto auto auto;gap:1rem;background:#0003;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.05);padding:0 .75rem;align-items:center;position:relative}.projects-grid[data-v-539f8a5e]:before{content:"";position:absolute;top:0;left:0;right:0;height:calc(1rem + 1.2em + 2px);background:#0006;border-bottom:2px solid rgba(255,255,255,.1);z-index:0}.grid-header-cell[data-v-539f8a5e]{padding:.5rem 0;font-weight:600;color:#ffffff80;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;line-height:1.2;position:relative;z-index:1}.grid-cell[data-v-539f8a5e]{padding:.25rem 0;line-height:1.8;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.05)}.grid-row-wrapper[data-v-539f8a5e]{display:contents}.grid-row-wrapper:hover>.grid-cell[data-v-539f8a5e]:first-child:before{content:"";position:absolute;left:-.75rem;right:-999999px;top:0;bottom:0;background:#ffffff08;z-index:-1}.grid-row-wrapper:last-child>.grid-cell[data-v-539f8a5e]{border-bottom:none}.grid-cell[data-v-539f8a5e]{position:relative}.col-name[data-v-539f8a5e]{font-weight:500}.col-city[data-v-539f8a5e],.col-owner[data-v-539f8a5e]{color:var(--color-text-muted)}.col-number[data-v-539f8a5e]{text-align:right;font-variant-numeric:tabular-nums}.col-flag[data-v-539f8a5e]{text-align:center}.badge[data-v-539f8a5e]{font-size:.7rem;font-weight:600;padding:.15rem .4rem;border-radius:3px}.badge-public[data-v-539f8a5e]{color:#34d399;background:#34d3991a;border:1px solid rgba(52,211,153,.2)}.toggle-btn[data-v-539f8a5e]{font-size:.7rem;font-weight:500;padding:.15rem .4rem;border-radius:3px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#ffffff4d;cursor:pointer;transition:all .15s ease}.toggle-btn[data-v-539f8a5e]:hover{border-color:#fff3;color:#ffffff80}.toggle-btn.active[data-v-539f8a5e]{color:#fbbf24;background:#fbbf241a;border-color:#fbbf244d}.col-actions[data-v-539f8a5e]{display:flex;justify-content:flex-end}.project-link[data-v-539f8a5e]{background:#60a5fa26;color:#60a5fa;border:1px solid rgba(96,165,250,.3);padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease}.project-link[data-v-539f8a5e]:hover{background:#60a5fa40;color:#93c5fd;border-color:#60a5fa80}@media (max-width: 1400px){.projects-grid[data-v-539f8a5e]{font-size:.85rem}.grid-header[data-v-539f8a5e],.grid-row[data-v-539f8a5e]{padding:.4rem .5rem}.grid-header[data-v-539f8a5e]{font-size:.65rem}}.loading[data-v-c4e68d8a],.error[data-v-c4e68d8a]{padding:3rem 2rem;text-align:center;font-size:1.1rem}.error[data-v-c4e68d8a]{color:#ef4444;background:#ef44441a;border-radius:6px;border:1px solid rgba(239,68,68,.3)}.users-grid[data-v-c4e68d8a]{display:grid;grid-template-columns:auto auto auto auto auto auto auto 1fr;gap:1rem;background:#0003;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.05);padding:0 .75rem;align-items:center;position:relative}.users-grid[data-v-c4e68d8a]:before{content:"";position:absolute;top:0;left:0;right:0;height:calc(1rem + 1.2em + 2px);background:#0006;border-bottom:2px solid rgba(255,255,255,.1);z-index:0}.grid-header-cell[data-v-c4e68d8a]{padding:.5rem 0;font-weight:600;color:#ffffff80;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;line-height:1.2;position:relative;z-index:1}.grid-cell[data-v-c4e68d8a]{padding:.25rem 0;line-height:1.8;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.05);position:relative}.grid-row-wrapper[data-v-c4e68d8a]{display:contents}.grid-row-wrapper:hover>.grid-cell[data-v-c4e68d8a]:first-child:before{content:"";position:absolute;left:-.75rem;right:-999999px;top:0;bottom:0;background:#ffffff08;z-index:-1}.grid-row-wrapper:last-child>.grid-cell[data-v-c4e68d8a]{border-bottom:none}.col-name[data-v-c4e68d8a]{font-weight:500}.col-email[data-v-c4e68d8a],.col-org[data-v-c4e68d8a]{color:var(--color-text-muted)}.col-projects[data-v-c4e68d8a]{color:var(--color-text-muted);font-size:.85rem}.project-link[data-v-c4e68d8a]{color:#60a5fa;text-decoration:none;transition:color .15s}.project-link[data-v-c4e68d8a]:hover{color:#93c5fd;text-decoration:underline}.separator[data-v-c4e68d8a]{color:var(--color-text-muted)}.col-number[data-v-c4e68d8a]{text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 1400px){.users-grid[data-v-c4e68d8a]{font-size:.85rem}.grid-header-cell[data-v-c4e68d8a],.grid-cell[data-v-c4e68d8a]{padding:.4rem .5rem}.grid-header-cell[data-v-c4e68d8a]{font-size:.65rem}}.logs-view[data-v-2d3e508e]{display:flex;flex-direction:column;gap:.75rem;height:calc(100vh - 165px);margin:0 -2rem -2rem}.controls[data-v-2d3e508e]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:0 1rem}.file-select[data-v-2d3e508e]{background:var(--color-surface);color:var(--color-text);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:.4rem .6rem;font-size:.9rem;min-width:320px}.tail-input[data-v-2d3e508e]{width:70px;background:var(--color-surface);color:var(--color-text);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:.3rem .5rem;margin:0 .25rem}.refresh-btn[data-v-2d3e508e]{background:#60a5fa2e;color:#93c5fd;border:1px solid rgba(96,165,250,.3);padding:.4rem .9rem;border-radius:6px;cursor:pointer;font-weight:500}.refresh-btn[data-v-2d3e508e]:hover:not(:disabled){background:#60a5fa47}.refresh-btn[data-v-2d3e508e]:disabled{opacity:.5;cursor:not-allowed}.auto-label[data-v-2d3e508e]{display:flex;align-items:center;gap:.4rem}.err[data-v-2d3e508e]{color:#f87171;font-size:.9rem}.log-pre[data-v-2d3e508e]{flex:1;overflow:auto;background:#0a0f1a;color:#d1d5db;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.78rem;line-height:1.45;padding:.85rem;border-top:1px solid rgba(255,255,255,.08);white-space:pre;margin:0;scrollbar-color:rgba(96,165,250,.35) transparent;scrollbar-width:thin}.log-pre[data-v-2d3e508e]::-webkit-scrollbar{width:10px;height:10px}.log-pre[data-v-2d3e508e]::-webkit-scrollbar-track{background:#0a0f1a}.log-pre[data-v-2d3e508e]::-webkit-scrollbar-thumb{background:#60a5fa47;border-radius:6px;border:2px solid #0a0f1a}.log-pre[data-v-2d3e508e]::-webkit-scrollbar-thumb:hover{background:#60a5fa80}.log-pre[data-v-2d3e508e]::-webkit-scrollbar-corner{background:#0a0f1a}.auth-form[data-v-1bb91643]{display:flex;flex-direction:column;gap:1rem}label[data-v-1bb91643]{display:flex;flex-direction:column;gap:.35rem;font-weight:600}label span[data-v-1bb91643]{color:var(--color-text-muted);font-size:.9rem}input[data-v-1bb91643]{background:#0f1730;border:1px solid var(--color-primary);border-radius:8px;padding:.75rem .85rem;color:var(--color-text);font-size:1rem}input[data-v-1bb91643]:focus{outline:2px solid var(--color-accent);border-color:var(--color-accent)}button[data-v-1bb91643]{background:var(--color-accent);color:#fff;border:none;border-radius:8px;padding:.9rem;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .15s ease}button[data-v-1bb91643]:disabled{opacity:.6;cursor:not-allowed}.form-error[data-v-1bb91643]{color:var(--color-accent);margin-top:.25rem}.google-button-container[data-v-2066b999]{display:flex;justify-content:center;margin-bottom:1rem}.auth-page[data-v-f8a24afe]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg);padding:2rem}.auth-card[data-v-f8a24afe]{background:var(--color-surface);border:1px solid var(--color-primary);border-radius:12px;padding:2rem;width:min(420px,100%);box-shadow:0 20px 60px #00000059}.auth-card h1[data-v-f8a24afe]{margin-bottom:.25rem}.subtitle[data-v-f8a24afe]{color:var(--color-text-muted);margin-bottom:1.5rem}.form-success[data-v-f8a24afe]{color:#22c55e;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem}.auth-switch[data-v-f8a24afe]{margin-top:1.25rem;color:var(--color-text-muted)}.auth-switch a[data-v-f8a24afe]{color:var(--color-accent);font-weight:600}.oauth-divider[data-v-f8a24afe]{display:flex;align-items:center;margin:1.5rem 0;color:var(--color-text-muted);text-transform:uppercase;font-size:.85rem;font-weight:600}.oauth-divider[data-v-f8a24afe]:before,.oauth-divider[data-v-f8a24afe]:after{content:"";flex:1;border-bottom:1px solid var(--color-primary)}.oauth-divider span[data-v-f8a24afe]{padding:0 1rem}.subtitle[data-v-83292474]{color:var(--color-text-muted);margin-bottom:1.5rem}.confirmation-message[data-v-83292474]{color:var(--color-text-muted);margin:1rem 0 1.5rem;line-height:1.6}.confirmation-message strong[data-v-83292474]{color:var(--color-text)}.auth-form[data-v-83292474],.auth-form form[data-v-83292474]{display:flex;flex-direction:column;gap:1rem}label[data-v-83292474]{display:flex;flex-direction:column;gap:.35rem;font-weight:600}label span[data-v-83292474]{color:var(--color-text-muted);font-size:.9rem}input[data-v-83292474]{background:#0f1730;border:1px solid var(--color-primary);border-radius:8px;padding:.75rem .85rem;color:var(--color-text);font-size:1rem}input[data-v-83292474]:focus{outline:2px solid var(--color-accent);border-color:var(--color-accent)}button[data-v-83292474]{border:none;border-radius:8px;padding:.9rem;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .15s ease}.signup-buttons[data-v-83292474]{display:flex;flex-direction:column;gap:.75rem}.btn-primary[data-v-83292474]{background:var(--color-accent);color:#fff}.btn-google[data-v-83292474]{background:#fff;color:#1f1f1f;border:1px solid var(--color-primary)}.btn-google[data-v-83292474]:hover{background:#f8f8f8}.btn-email[data-v-83292474]{background:var(--color-accent);color:#fff}.btn-back[data-v-83292474]{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-primary);margin-top:.5rem}.btn-back[data-v-83292474]:hover{background:#ffffff0d}button[data-v-83292474]:disabled{opacity:.6;cursor:not-allowed}.form-error[data-v-83292474]{color:var(--color-accent);margin-top:.25rem}.auth-switch[data-v-83292474]{margin-top:1.25rem;color:var(--color-text-muted)}.auth-switch a[data-v-83292474]{color:var(--color-accent);font-weight:600}.auth-page[data-v-c8eb0e67]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg);padding:2rem}.auth-card[data-v-c8eb0e67]{background:var(--color-surface);border:1px solid var(--color-primary);border-radius:12px;padding:2rem;width:min(440px,100%);box-shadow:0 20px 60px #00000059}.auth-card h1[data-v-c8eb0e67]{margin-bottom:.25rem}.careers-page[data-v-74c2d7e4]{font-family:Outfit,sans-serif;background:#fafbfc;color:#1a1a2e;min-height:100vh}.nav[data-v-74c2d7e4]{padding:1.5rem 4rem;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #e8ecf0}.logo[data-v-74c2d7e4]{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;text-decoration:none}.logo-transit[data-v-74c2d7e4]{color:#264653}.logo-kit[data-v-74c2d7e4]{color:#e63946}.section-header[data-v-74c2d7e4]{text-align:center;margin-bottom:4rem}.section-header h2[data-v-74c2d7e4]{font-size:2.75rem;font-weight:700;margin-bottom:1rem;color:#1a1a2e}.section-header p[data-v-74c2d7e4]{font-size:1.2rem;color:#5a6670}.careers[data-v-74c2d7e4]{padding:6rem 4rem;max-width:1200px;margin:0 auto}.careers-list[data-v-74c2d7e4]{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.career-card[data-v-74c2d7e4]{background:#fff;border:1px solid #e8ecf0;border-radius:16px;overflow:hidden;transition:border-color .2s}.career-card[data-v-74c2d7e4]:hover{border-color:#2a9d8f4d}.career-header[data-v-74c2d7e4]{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.75rem 2rem;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left}.career-info h3[data-v-74c2d7e4]{font-size:1.25rem;font-weight:600;color:#1a1a2e;margin-bottom:.5rem}.career-tags[data-v-74c2d7e4]{display:flex;gap:.5rem}.career-tag[data-v-74c2d7e4]{padding:.25rem .75rem;background:#2a9d8f1a;color:#2a9d8f;border-radius:100px;font-size:.8rem;font-weight:500}.career-chevron[data-v-74c2d7e4]{width:24px;height:24px;color:#8a9199;transition:transform .3s;flex-shrink:0}.career-card.expanded .career-chevron[data-v-74c2d7e4]{transform:rotate(180deg)}.career-body[data-v-74c2d7e4]{max-height:0;overflow:hidden;padding:0 2rem;transition:max-height .4s ease}.career-card.expanded .career-body[data-v-74c2d7e4]{max-height:800px;padding:0 2rem 2rem}.career-intro[data-v-74c2d7e4]{font-size:.95rem;line-height:1.7;color:#5a6670;margin-bottom:1.5rem}.career-section[data-v-74c2d7e4]{margin-bottom:1.25rem}.career-section h4[data-v-74c2d7e4]{font-size:1rem;font-weight:600;color:#1a1a2e;margin-bottom:.5rem}.career-section ul[data-v-74c2d7e4]{list-style:none;padding:0;margin:0}.career-section li[data-v-74c2d7e4]{position:relative;padding-left:1.25rem;font-size:.9rem;line-height:1.8;color:#5a6670}.career-section li[data-v-74c2d7e4]:before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;background:#2a9d8f;border-radius:50%}.career-section p[data-v-74c2d7e4]{font-size:.9rem;line-height:1.7;color:#5a6670}.career-contact[data-v-74c2d7e4]{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.career-email[data-v-74c2d7e4]{color:#2a9d8f;font-size:.95rem;font-weight:500;text-decoration:none}.career-email[data-v-74c2d7e4]:hover{text-decoration:underline}.copy-btn[data-v-74c2d7e4]{padding:.3rem .75rem;background:#2a9d8f1a;border:1px solid rgba(42,157,143,.25);border-radius:8px;color:#2a9d8f;font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s}.copy-btn[data-v-74c2d7e4]:hover{background:#2a9d8f33}.footer[data-v-74c2d7e4]{padding:4rem;background:#1a1a2e;text-align:center}.footer-content[data-v-74c2d7e4]{max-width:600px;margin:0 auto}.footer .logo[data-v-74c2d7e4]{margin-bottom:1rem}.footer .logo-transit[data-v-74c2d7e4]{color:#f0f0f5}.footer p[data-v-74c2d7e4]{color:#8a9199;font-size:.9rem}.copyright[data-v-74c2d7e4]{margin-top:2rem;font-size:.8rem!important}@media (max-width: 768px){.nav[data-v-74c2d7e4]{padding:1rem 1.5rem}.careers[data-v-74c2d7e4]{padding:4rem 1.5rem}.section-header h2[data-v-74c2d7e4]{font-size:2rem}}.company-page[data-v-b1efe994]{font-family:Outfit,sans-serif;background:#fafbfc;color:#1a1a2e;min-height:100vh;display:flex;flex-direction:column}.nav[data-v-b1efe994]{padding:1.5rem 4rem;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #e8ecf0}.logo[data-v-b1efe994]{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;text-decoration:none}.logo-transit[data-v-b1efe994]{color:#264653}.logo-kit[data-v-b1efe994]{color:#e63946}.section-header[data-v-b1efe994]{text-align:center;margin-bottom:4rem}.section-header h2[data-v-b1efe994]{font-size:2.75rem;font-weight:700;margin-bottom:1rem;color:#1a1a2e}.section-header p[data-v-b1efe994]{font-size:1.2rem;color:#5a6670}.company[data-v-b1efe994]{flex:1;padding:6rem 4rem;max-width:1200px;margin:0 auto;width:100%}.details-card[data-v-b1efe994]{max-width:640px;margin:0 auto;background:#fff;border:1px solid #e8ecf0;border-radius:16px;padding:.5rem 2rem}.detail-row[data-v-b1efe994]{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;align-items:baseline;padding:1.5rem 0;border-bottom:1px solid #f0f3f6}.detail-row[data-v-b1efe994]:last-child{border-bottom:none}.detail-label[data-v-b1efe994]{font-size:.85rem;font-weight:600;color:#8a9199;text-transform:uppercase;letter-spacing:.04em}.detail-value[data-v-b1efe994]{font-size:1rem;line-height:1.7;color:#1a1a2e;font-style:normal}.detail-mono[data-v-b1efe994]{font-family:JetBrains Mono,monospace;font-size:.95rem}.detail-link[data-v-b1efe994]{color:#2a9d8f;font-weight:500;text-decoration:none}.detail-link[data-v-b1efe994]:hover{text-decoration:underline}.footer[data-v-b1efe994]{padding:4rem;background:#1a1a2e;text-align:center}.footer-content[data-v-b1efe994]{max-width:600px;margin:0 auto}.footer .logo[data-v-b1efe994]{margin-bottom:1rem}.footer .logo-transit[data-v-b1efe994]{color:#f0f0f5}.footer p[data-v-b1efe994]{color:#8a9199;font-size:.9rem}.copyright[data-v-b1efe994]{margin-top:2rem;font-size:.8rem!important}@media (max-width: 768px){.nav[data-v-b1efe994]{padding:1rem 1.5rem}.company[data-v-b1efe994]{padding:4rem 1.5rem}.section-header h2[data-v-b1efe994]{font-size:2rem}.details-card[data-v-b1efe994]{padding:.5rem 1.5rem}.detail-row[data-v-b1efe994]{grid-template-columns:1fr;gap:.4rem;padding:1.25rem 0}}.auth-form[data-v-ddce9ab6]{display:flex;flex-direction:column;gap:1rem}.form-row[data-v-ddce9ab6]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label[data-v-ddce9ab6]{display:flex;flex-direction:column;gap:.35rem;font-weight:600}label span[data-v-ddce9ab6]{color:var(--color-text-muted);font-size:.9rem}input[data-v-ddce9ab6]{background:#0f1730;border:1px solid var(--color-primary);border-radius:8px;padding:.75rem .85rem;color:var(--color-text);font-size:1rem}input[data-v-ddce9ab6]:focus{outline:2px solid var(--color-accent);border-color:var(--color-accent)}button[data-v-ddce9ab6]{background:var(--color-accent);color:#fff;border:none;border-radius:8px;padding:.9rem;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .15s ease}button[data-v-ddce9ab6]:disabled{opacity:.6;cursor:not-allowed}.form-error[data-v-ddce9ab6]{color:var(--color-accent);margin-top:.25rem}.auth-page[data-v-2d3c3787]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg);padding:2rem}.auth-card[data-v-2d3c3787]{background:var(--color-surface);border:1px solid var(--color-primary);border-radius:12px;padding:2rem;width:min(440px,100%);box-shadow:0 20px 60px #00000059}.auth-card h1[data-v-2d3c3787]{margin-bottom:.25rem}.subtitle[data-v-2d3c3787]{color:var(--color-text-muted);margin-bottom:1.5rem}.published-shell[data-v-a5dae307]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg)}.published-map[data-v-a5dae307]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:var(--color-map-bg)}.published-title[data-v-a5dae307]{position:absolute;top:1rem;left:1rem;z-index:1000;padding:.5rem .9rem;border-radius:8px;background:#0f1730e6;border:1px solid rgba(0,186,255,.3);color:var(--color-text);font-size:1.05rem;font-weight:700;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.published-controls[data-v-a5dae307]{position:absolute;top:1rem;right:1rem;z-index:1000;display:flex;align-items:center;gap:.5rem}.published-branding[data-v-a5dae307]{position:absolute;bottom:1rem;left:1rem;z-index:1000;color:var(--color-text-muted);font-size:.78rem;text-decoration:none;padding:.3rem .6rem;border-radius:6px;background:#0f1730bf}.published-branding[data-v-a5dae307]:hover{color:var(--color-primary)}.published-message[data-v-a5dae307]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1001;display:flex;align-items:center;justify-content:center;color:var(--color-text);pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.7)}.support-dashboard[data-v-6bd70e8b]{display:grid;grid-template-columns:360px 1fr;gap:1.5rem;align-items:start}.loading[data-v-6bd70e8b],.error[data-v-6bd70e8b],.empty[data-v-6bd70e8b]{color:var(--color-text-muted);padding:1rem 0}.error[data-v-6bd70e8b]{color:#ff9a9a}.conversation-list[data-v-6bd70e8b]{display:flex;flex-direction:column;gap:.5rem;max-height:calc(100vh - 16rem);overflow-y:auto}.conversation-row[data-v-6bd70e8b]{display:flex;flex-direction:column;gap:.2rem;text-align:left;background:var(--color-surface);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--color-text);padding:.7rem .9rem;cursor:pointer;font-family:inherit}.conversation-row[data-v-6bd70e8b]:hover{background:#ffffff0d}.conversation-row.active[data-v-6bd70e8b]{border-color:#60a5fa}.conversation-title[data-v-6bd70e8b]{display:flex;align-items:center;gap:.5rem;font-weight:600}.undelivered[data-v-6bd70e8b]{background:var(--color-accent);color:#fff;border-radius:9px;padding:0 .4rem;font-size:.7rem}.conversation-meta[data-v-6bd70e8b]{color:var(--color-text-muted);font-size:.78rem}.conversation-preview[data-v-6bd70e8b]{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transcript[data-v-6bd70e8b]{display:flex;flex-direction:column;gap:.6rem;background:var(--color-surface);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:1rem;min-height:12rem}.transcript-header[data-v-6bd70e8b]{display:flex;flex-direction:column;gap:.15rem;padding-bottom:.6rem;border-bottom:1px solid rgba(255,255,255,.08)}.transcript-message[data-v-6bd70e8b]{display:flex;flex-direction:column;gap:.15rem;max-width:70%;padding:.5rem .7rem;border-radius:10px;font-size:.88rem;white-space:pre-wrap;word-break:break-word}.from-visitor[data-v-6bd70e8b]{align-self:flex-start;background:#ffffff0f}.from-operator[data-v-6bd70e8b]{align-self:flex-end;background:var(--color-primary)}@media (max-width: 900px){.support-dashboard[data-v-6bd70e8b]{grid-template-columns:1fr}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--color-bg: #1a1a2e;--color-surface: #16213e;--color-primary: #0f3460;--color-accent: #e94560;--color-text: #eaeaea;--color-text-muted: #a0a0a0;--color-map-bg: #818181;--sidebar-width: 320px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--color-bg);color:var(--color-text);min-height:100vh}.ghost-btn,.primary-btn{text-decoration:none;padding:.55rem .95rem;border-radius:8px;font-weight:600;border:1px solid var(--color-primary);transition:all .15s ease}.ghost-btn{background:transparent;color:var(--color-text)}.ghost-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.primary-btn{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.primary-btn:hover{opacity:.9}.user-menu{position:relative;display:flex;align-items:center;gap:.55rem;cursor:pointer;padding:.35rem .5rem;border-radius:10px;transition:background .15s ease}.user-menu:hover{background:#ffffff0a}.avatar{width:34px;height:34px;border-radius:50%;background:var(--color-accent);color:#fff;display:grid;place-items:center;font-weight:800}.user-meta{display:flex;flex-direction:column;line-height:1.2}.user-name{font-weight:700}.user-email,.chevron{color:var(--color-text-muted);font-size:.85rem}.user-menu .dropdown,.dropdown-portal{position:fixed;background:var(--color-surface);border:1px solid var(--color-primary);border-radius:10px;min-width:180px;box-shadow:0 12px 30px #00000073;display:flex;flex-direction:column;overflow:hidden;z-index:9999}.dropdown a,.dropdown button,.dropdown-portal a,.dropdown-portal button{padding:.9rem 1rem;text-align:left;background:transparent;border:none;color:var(--color-text);text-decoration:none;cursor:pointer;transition:background .1s ease}.dropdown a:hover,.dropdown button:hover,.dropdown-portal a:hover,.dropdown-portal button:hover{background:#ffffff0f}.dropdown .upload-option,.dropdown-portal .upload-option{position:relative;padding:.9rem 1rem;text-align:left;background:transparent;border:none;color:var(--color-text);cursor:pointer;transition:background .1s ease;display:block;width:100%}.dropdown .upload-option:hover,.dropdown-portal .upload-option:hover{background:#ffffff0f}.dropdown .upload-option span,.dropdown-portal .upload-option span{pointer-events:none}.dropdown .upload-option input[type=file],.dropdown-portal .upload-option input[type=file]{position:absolute;opacity:0;width:100%;height:100%;top:0;left:0;cursor:pointer}.app-header{background:var(--color-surface);padding:.4rem 1.5rem;border-bottom:1px solid var(--color-primary);display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:0;overflow:visible;z-index:100}.app-header-left{display:flex;align-items:center;gap:.75rem}.header-actions{display:flex;align-items:center;gap:.75rem;overflow:visible}.share-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:8px;border:1px solid rgba(255,255,255,.18);color:var(--color-text);background:transparent;font-size:.9rem;font-weight:600;cursor:pointer;transition:border .2s ease,background .2s ease}.share-btn:hover{border-color:var(--color-accent);background:#e945601a}.app-header h1{font-size:1.25rem;font-weight:600;color:var(--color-accent);line-height:1}.app-header .city-name{font-size:1.1rem;color:var(--color-text-muted);line-height:1}.app-header .city-name.editable{cursor:pointer;padding:2px 6px;border-radius:4px;border:1px solid transparent}.app-header .city-name.editable:hover{border-color:var(--color-text-muted)}.app-header .project-name-input{font-size:1.1rem;color:var(--color-text-muted);line-height:1;background:var(--color-bg);border:1px solid var(--color-accent);border-radius:4px;padding:2px 6px;outline:none;font-family:inherit}.main-content{display:flex;flex:1;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-primary);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:1rem;border-bottom:1px solid var(--color-primary)}.sidebar-header h2{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.transport-filters{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem;border-bottom:1px solid var(--color-primary)}.transport-btn{padding:.4rem .75rem;border:none;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;text-transform:capitalize}.transport-btn.active{color:#fff}.transport-btn:not(.active){background:var(--color-primary);color:var(--color-text-muted)}.transport-btn:hover:not(.active){background:var(--color-accent);color:#fff}.route-list{flex:1;overflow-y:auto;padding:.5rem;display:flex;flex-wrap:wrap;gap:.35rem;align-content:flex-start;scrollbar-width:thin;scrollbar-color:var(--color-primary) var(--color-bg)}.route-list::-webkit-scrollbar{width:6px}.route-list::-webkit-scrollbar-track{background:var(--color-bg)}.route-list::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:3px}.route-list::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.route-list-section{display:flex;flex-wrap:wrap;gap:.35rem;align-content:flex-start;width:100%}.route-list-divider{width:100%;height:1px;background:#ffffff1f;margin:.25rem 0}.route-item{position:relative;width:2.5rem;padding:.2rem;box-sizing:border-box;border-radius:4px;cursor:pointer;font-weight:600;font-size:.85rem;text-align:center;transition:opacity .15s,box-shadow .15s}.route-item-changed{width:5rem;padding:0;display:flex;align-items:stretch;overflow:hidden}.route-item-changed .route-item-number{width:2.5rem;flex-shrink:0;padding:.2rem;line-height:1.2;text-align:center;border-radius:4px 0 0 4px}.route-item-changed .route-item-number-full{border-radius:0 4px 4px 0}.route-item-changed .route-item-diff{flex:1;display:flex;align-items:center;justify-content:center;background:#2a2a2a;color:#ccc;font-weight:500;font-size:.65rem;border-radius:0 4px 4px 0;border:1px solid var(--route-color);border-left:none}.route-item-deleted{position:relative;cursor:default;opacity:.7!important}.route-item-deleted:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000026;border-radius:4px;z-index:1}.route-item-deleted:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:4px;z-index:2;background:linear-gradient(to top right,transparent calc(50% - 1px),rgba(229,57,53,.55) calc(50% - 1px),rgba(229,57,53,.55) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(to bottom right,transparent calc(50% - 1px),rgba(229,57,53,.55) calc(50% - 1px),rgba(229,57,53,.55) calc(50% + 1px),transparent calc(50% + 1px))}.route-item:hover{opacity:.85}.route-item-deleted:hover{opacity:.7!important}.route-item.highlighted{box-shadow:0 0 0 2px var(--color-accent)}.map-container{flex:1;position:relative}.map-container #map{position:absolute;top:0;left:0;right:0;bottom:0}.map-container .leaflet-container{height:100%;width:100%;background:var(--color-map-bg)}.leaflet-control-zoom a{background:var(--color-surface)!important;color:var(--color-text)!important;border-color:var(--color-primary)!important}.leaflet-control-zoom a:hover{background:var(--color-primary)!important}.leaflet-control-attribution{background:#1a1a2ecc!important;color:var(--color-text-muted)!important}.leaflet-control-attribution a{color:var(--color-accent)!important}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted)}.loading:after{content:"";width:24px;height:24px;margin-left:.75rem;border:2px solid var(--color-primary);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{padding:2rem;text-align:center;color:var(--color-accent);max-width:800px;margin:2rem auto}.error h2{margin-bottom:1rem}.error pre{background:var(--color-surface);padding:1rem;border-radius:8px;text-align:left;overflow-x:auto;white-space:pre-wrap;word-break:break-word;font-size:.875rem;margin-bottom:1rem}.error button{background:var(--color-accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:1rem}.error button:hover{opacity:.9}.route-popup{position:fixed;transform:translate(10px,-50%);display:flex;flex-wrap:wrap;gap:4px;padding:6px;background:var(--color-surface);border:1px solid var(--color-primary);border-radius:6px;box-shadow:0 4px 16px #0006;z-index:10000;max-width:200px}.route-popup-item{width:2.5rem;padding:.2rem;border-radius:4px;cursor:pointer;font-weight:600;font-size:.85rem;text-align:center;transition:opacity .15s}.route-popup-item:hover{opacity:.75}.modeling-route-popup{position:fixed;transform:translate(10px,-50%);padding:6px 8px;background:var(--color-surface);border:1px solid var(--color-primary);border-radius:6px;box-shadow:0 4px 16px #0006;z-index:10000;font-size:.8rem}.mrp-table{border-collapse:collapse;white-space:nowrap}.mrp-table th{color:var(--color-text-muted);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px 4px;text-align:left;border-bottom:1px solid var(--color-primary)}.mrp-th-num{text-align:right}.mrp-row{cursor:pointer;transition:background .1s}.mrp-row:hover{background:#ffffff14}.mrp-row td{padding:3px 8px}.mrp-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-weight:700;font-size:.8rem;text-align:center;min-width:2rem}.mrp-num{text-align:right}.mrp-load{font-weight:700}.mrp-compare td{padding:3px 8px}.mrp-compare .mrp-th-route{vertical-align:bottom}.mrp-compare .mrp-th-group{text-align:center;border-bottom:none;padding-bottom:0}.mrp-run-name{display:block;width:0;min-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mrp-compare .mrp-col-current{border-left:1px solid var(--color-primary)}.mrp-missing{color:var(--color-text-muted);text-align:center}
