html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{margin:.67em 0;font-size:2em}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:#0000}abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring{outline:1px dotted buttontext}[type=button]:-moz-focusring{outline:1px dotted buttontext}[type=reset]:-moz-focusring{outline:1px dotted buttontext}[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template,[hidden]{display:none}*,:before,:after{box-sizing:border-box}*{margin:0}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next,#app{isolation:isolate}html{font-size:clamp(16px,.9vw + 1.6px,22px)}:root{--bg-primary:#f8f9fa;--bg-secondary:#fff;--bg-tertiary:#f0f0f0;--bg-hover:#f9f9f9;--bg-btn:#f4f4f4;--bg-btn-hover:#e0e0e0;--bg-toggle:#f8f9fa;--bg-toggle-active:#eef5ff;--bg-tab-active:#fff;--bg-trip-details:#f8f9fa;--bg-error:#fdeaea;--bg-no-data:#f9f9f9;--bg-variant:#fafafa;--bg-variant-hover:#f6f6f6;--bg-badge:#e9ecef;--bg-marker:#fff;--bg-marked:#eef5ff;--text-primary:#333;--text-secondary:#666;--text-heading:#1a1a1a;--text-muted:#888;--text-tab-inactive:#555;--text-variant:#555;--text-error:#d32f2f;--text-on-primary:#fff;--color-primary:#b1e517;--color-primary-hover:#9acc10;--color-accent:#ff5722;--border-primary:#e0e0e0;--border-secondary:#eee;--border-timeline:#d0d0d0;--border-marker:#aaa;--border-marker-variant:#bbb;--border-marker-variant-hover:#777;--border-light:#e9ecef;--border-muted:#dee2e6;--border-btn:#bbb;--bg-map:#e5e3df;--shadow-card:0 10px 30px #0000000d;--shadow-tab:0 1px 3px #0000001a;--shadow-grid:0 2px 8px #0000000d;--shadow-btn:0 2px 4px #0000001a;--shadow-btn-hover:0 4px 8px #00000026;--shadow-badge:0 4px 6px #0000001a;--shadow-map:0 4px 12px #00000014;--spinner-bg:#0000001a;--spinner-color:var(--color-primary)}[data-theme=dark]{--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#2a2a2a;--bg-hover:#2a2a2a;--bg-btn:#2a2a2a;--bg-btn-hover:#333;--bg-toggle:#1e1e1e;--bg-toggle-active:#1a2a3e;--bg-tab-active:#2a2a2a;--bg-trip-details:#1e1e1e;--bg-error:#2d1a1a;--bg-no-data:#1e1e1e;--bg-variant:#1a1a1a;--bg-variant-hover:#222;--bg-badge:#333;--bg-marker:#2a2a2a;--bg-marked:#1a2a3e;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--text-heading:#fff;--text-muted:#888;--text-tab-inactive:#999;--text-variant:#999;--text-error:#ef5350;--text-on-primary:#fff;--color-primary:#d18617;--color-primary-hover:#e6982a;--color-accent:#ff7043;--border-primary:#333;--border-secondary:#2a2a2a;--border-timeline:#444;--border-marker:#555;--border-marker-variant:#444;--border-marker-variant-hover:#666;--border-light:#333;--border-muted:#333;--border-btn:#555;--bg-map:#1a1a1a;--shadow-card:0 10px 30px #0000004d;--shadow-tab:0 1px 3px #0000004d;--shadow-grid:0 2px 8px #0000004d;--shadow-btn:0 2px 4px #0000004d;--shadow-btn-hover:0 4px 8px #0006;--shadow-badge:0 4px 6px #0000004d;--shadow-map:0 4px 12px #0000004d;--spinner-bg:#ffffff1a;--spinner-color:var(--color-primary)}[data-theme=dark] .leaflet-tile-pane{filter:invert()hue-rotate(180deg)saturate(.7)}.leaflet-container{background:var(--bg-map)!important}.leaflet-popup-content-wrapper{overflow:hidden;background:var(--bg-secondary)!important;border-radius:12px!important;padding:0!important;font-family:system-ui,-apple-system,sans-serif!important;box-shadow:0 4px 24px #0000001f!important}.leaflet-popup-content{color:var(--text-primary);min-width:200px;max-width:20rem;font-size:.8125rem;line-height:1.5;margin:0!important}.leaflet-popup-tip{background:var(--bg-secondary)!important;box-shadow:none!important}.leaflet-popup-close-button{width:24px!important;height:24px!important;color:var(--text-muted)!important;z-index:10!important;text-indent:0!important;background:0 0!important;border:none!important;border-radius:6px!important;justify-content:center!important;align-items:center!important;font-size:1.125rem!important;line-height:1!important;text-decoration:none!important;transition:background .15s,color .15s!important;display:flex!important;position:absolute!important;top:8px!important;right:8px!important}[data-theme=dark] .leaflet-popup-content-wrapper{box-shadow:0 4px 24px #0006!important}.popup-stop-nr,.popup-stop-id{color:var(--text-muted);font-size:.75rem}.popup-stop-time{color:var(--text-secondary);margin-top:8px;font-size:.75rem}.popup-vehicle-dir{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);font-size:.8125rem;font-weight:500;line-height:1.3;overflow:hidden}.route-stop-marker{background:0 0!important;border:none!important}.route-stop-circle{background:var(--color-primary,#6366f1);color:#fff;cursor:pointer;box-sizing:border-box;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-family:system-ui,-apple-system,sans-serif;font-size:11px;font-weight:700;display:flex;box-shadow:0 1px 4px #0000004d}.route-stop-circle:hover{transform:scale(1.15)}.route-arrow-marker{background:0 0!important;border:none!important}.route-arrow-wrap{justify-content:center;align-items:center;width:40px;height:28px;display:flex}.route-arrow{opacity:.9;filter:drop-shadow(0 0 4px #00000080);display:block}.vehicle-cluster{background:0 0!important;border:none!important}.vehicle-cluster-count{color:#fff;cursor:pointer;border:2px solid #ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-family:system-ui,-apple-system,sans-serif;font-size:10px;font-weight:700;display:flex;box-shadow:0 1px 4px #0000004d}.vehicle-marker{background:0 0!important;border:none!important;width:max-content!important;height:auto!important;margin:0!important}.vehicle-marker-inner{background:var(--bg-marker);white-space:nowrap;border-style:solid;border-width:2px 2px 2px 7px;border-color:var(--vcolor,#888);border-radius:10px;align-items:center;gap:clamp(1px,.3vw,5px);padding:clamp(3px,.5vw,6px) clamp(7px,1.2vw,10px);font-family:system-ui,-apple-system,sans-serif;display:flex;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0000002e}.vehicle-marker-compact{background:var(--bg-marker);border-style:solid;border-color:var(--vcolor,#888);border-width:1px 1px 1px 5px;border-radius:6px;justify-content:center;align-items:center;height:22px;padding:0 5px;display:flex;position:relative;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000040}.vehicle-marker-compact-line{color:var(--vcolor,#888);font-family:system-ui,-apple-system,sans-serif;font-size:10px;font-weight:700;line-height:1}.vehicle-marker-compact-stuck{color:#000;z-index:1;background:#d7a202;border-radius:50%;justify-content:center;align-items:center;width:12px;height:12px;font-size:7px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-5px;right:-5px}.vehicle-marker-arrow{color:var(--vcolor,#888);flex-shrink:0;justify-content:center;align-items:center;width:1em;height:1em;font-size:clamp(11px,1.5vw,16px);transition:transform .3s;display:inline-flex}.vehicle-marker-badge{flex-shrink:0;width:clamp(10px,1.5vw,16px);height:clamp(10px,1.5vw,16px);display:block}.vehicle-marker-icon{flex-shrink:0;width:clamp(14px,2vw,20px);height:clamp(14px,2vw,20px);display:block}.vehicle-marker-line{color:var(--text-heading);flex-shrink:0;font-size:clamp(11px,1.5vw,16px);font-weight:700;line-height:1}.vehicle-marker-number{color:var(--text-muted);flex-shrink:0;font-size:clamp(9px,1vw,12px);font-weight:600;line-height:1}.vehicle-marker-number-popup{font-size:clamp(13px,1vw,17px)!important}.vehicle-marker-theoretical{filter:brightness(.85);opacity:.92}.vehicle-marker-theoretical .vehicle-marker-line{color:#999}.vehicle-marker-no-trip{filter:brightness(1.3);opacity:.7}.vehicle-marker-no-trip .vehicle-marker-icon{filter:drop-shadow(0 0 2px #0009)}.vehicle-marker-stuck-badge{color:#000;background:#d7a202;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(10px,1.2vw,14px);height:clamp(10px,1.2vw,14px);font-size:clamp(7px,.8vw,10px);font-weight:700;line-height:1;display:inline-flex}.leaflet-popup-content-wrapper{overflow:hidden;box-shadow:var(--shadow-card)!important;border:1px solid var(--border-secondary)!important;border-radius:12px!important;padding:0!important;font-family:Inter,system-ui,-apple-system,sans-serif!important}.leaflet-popup-content{color:var(--text-primary);font-size:.8125rem;line-height:1.5;margin:0!important}.leaflet-popup-tip{box-shadow:none!important;background:var(--bg-secondary)!important;border:1px solid var(--border-secondary)!important;border-top:none!important;border-left:none!important}.leaflet-popup-close-button{color:var(--text-muted)!important;z-index:10!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:24px!important;height:24px!important;font-size:1.125rem!important;transition:background .2s,color .2s!important;display:flex!important;top:6px!important;right:6px!important}.leaflet-popup-close-button:hover{background:var(--bg-tertiary)!important;color:var(--text-primary)!important}.popup-stop{padding:.5rem 2rem}.popup-stop-name{color:var(--text-heading);margin-bottom:2px;font-size:.875rem;font-weight:600}.popup-stop-nr{color:var(--text-muted);font-size:.8125rem;font-weight:600}.popup-vehicle-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-secondary);align-items:center;gap:10px;padding:.75rem 2rem .75rem .75rem;display:flex}.popup-vehicle-badge{min-width:2.5rem;height:2rem;color:var(--text-on-primary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0 .5rem;font-size:.875rem;font-weight:700;display:inline-flex}.popup-vehicle-number-header{text-align:center;color:var(--text-muted);margin-top:2px;font-size:.6875rem;font-weight:600;line-height:1}.popup-vehicle-dir{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);font-size:.875rem;font-weight:600;overflow:hidden}.popup-vehicle-body{padding:.5rem 1rem}.popup-vehicle-row{justify-content:space-between;align-items:center;gap:16px;padding:4px 0;font-size:.8125rem;display:flex}.popup-label{color:var(--text-muted);font-size:.75rem}.popup-value{color:var(--text-primary);text-align:right;font-weight:500}.popup-vehicle-link{font-weight:600;text-decoration:none;color:var(--text-muted)!important}.popup-vehicle-link:hover{text-decoration:underline;color:var(--color-primary)!important}.popup-vehicle-warning{background:var(--bg-tertiary);color:var(--text-muted);text-align:center;border-radius:6px;margin:2px 0 8px;padding:7px 9px;font-size:.75rem;font-weight:600}.popup-delay-ok{color:#10b981}.popup-delay-late-1{color:#fbbf24}.popup-delay-late-2{color:#f59e0b}.popup-delay-late-3{color:#f97316}.popup-delay-late-4{color:#ef4444}.popup-delay-late-5{color:#dc2626}.popup-delay-early{color:var(--color-primary)}.time-planned{opacity:.6;margin-right:4px;text-decoration:line-through}.time-adjusted-late{color:var(--text-error);font-weight:700}.time-adjusted-early{color:var(--color-primary);font-weight:700}.popup-vehicle-stuck{background:var(--bg-error);color:var(--text-error);text-align:center;border-radius:6px;margin-top:6px;padding:6px 10px;font-size:.75rem;font-weight:500}.leaflet-control-zoom{overflow:hidden;border:2px solid var(--border-btn)!important;box-shadow:var(--shadow-btn)!important;border-radius:8px!important}.leaflet-control-zoom a{font-weight:700;transition:background .15s,color .15s;background:var(--bg-btn)!important;color:var(--text-primary)!important;border-bottom:1px solid var(--border-btn)!important;font-size:1.25rem!important;line-height:1.4!important}.leaflet-control-zoom a:hover{background:var(--bg-btn-hover)!important;color:var(--color-primary)!important}.leaflet-control-zoom a.leaflet-disabled{opacity:.5;color:var(--text-muted)!important}.stop-marker-dir{background:0 0!important;border:none!important}.stop-marker-dir-0{color:var(--color-primary,#6366f1);text-shadow:0 0 3px #0006,0 0 3px #fff9;cursor:pointer;justify-content:center;align-items:center;width:14px;height:14px;font-size:13px;font-weight:700;display:flex}.stop-marker-dir-1{color:var(--color-secondary,#10b981);text-shadow:0 0 3px #0006,0 0 3px #fff9;cursor:pointer;justify-content:center;align-items:center;width:14px;height:14px;font-size:13px;font-weight:700;display:flex}.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{width:100%;position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.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{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.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-control{z-index:800;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.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;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-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: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:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}path.leaflet-interactive:focus:not(:focus-visible){outline:0}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position: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:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.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-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='26'%20height='26'%3e%3cpath%20fill='%23b9b9b9'%20d='m.032%2017.056%2013-8%2013%208-13%208z'/%3e%3cpath%20fill='%23737373'%20d='m.032%2017.056-.032.93%2013%208%2013-8%20.032-.93-13%208z'/%3e%3cpath%20fill='%23cdcdcd'%20d='m0%2013.076%2013-8%2013%208-13%208z'/%3e%3cpath%20fill='%23737373'%20d='M0%2013.076v.91l13%208%2013-8v-.91l-13%208z'/%3e%3cpath%20fill='%23e9e9e9'%20fill-opacity='.585'%20stroke='%23797979'%20stroke-width='.1'%20d='m0%208.986%2013-8%2013%208-13%208-13-8'/%3e%3cpath%20fill='%23737373'%20d='M0%208.986v1l13%208%2013-8v-1l-13%208z'/%3e%3c/svg%3e");width:36px;height:36px}.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-list{border:0;margin:0;padding:0}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;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:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;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{width:1em;height:.6669em;margin-right:.277em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.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{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;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{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.settings-overlay[data-v-519cdb7d]{z-index:10001;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-panel[data-v-519cdb7d]{background:var(--bg-secondary);border:1px solid var(--border-primary);box-shadow:var(--shadow-card);width:420px;max-height:85vh;color:var(--text-primary);border-radius:16px;flex-direction:column;font-family:system-ui,-apple-system,sans-serif;font-size:.8125rem;animation:.15s ease-out panelIn-519cdb7d;display:flex;overflow:hidden}@keyframes panelIn-519cdb7d{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.settings-header[data-v-519cdb7d]{border-bottom:1px solid var(--border-primary);color:var(--text-heading);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;font-size:.95rem;font-weight:700;display:flex}.settings-section[data-v-519cdb7d]{padding:14px 18px}.settings-section+.settings-section[data-v-519cdb7d]{border-top:1px solid var(--border-primary)}.settings-label[data-v-519cdb7d]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:.7rem;font-weight:600;display:block}.settings-options[data-v-519cdb7d]{flex-direction:column;gap:8px;display:flex}.settings-option[data-v-519cdb7d]{border:1px solid var(--border-primary);cursor:pointer;border-radius:8px;align-items:baseline;gap:10px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.settings-option[data-v-519cdb7d]:hover{border-color:var(--color-primary)}.settings-option.active[data-v-519cdb7d]{border-color:var(--color-primary);background:var(--bg-marked)}.settings-option input[data-v-519cdb7d]{accent-color:var(--color-primary);margin-top:3px}.settings-option-content[data-v-519cdb7d]{flex-direction:column;gap:2px;display:flex}.settings-option-title[data-v-519cdb7d]{color:var(--text-heading);align-items:center;gap:6px;font-weight:600;display:flex}.rss-icon[data-v-519cdb7d]{flex-shrink:0;width:14px;height:14px;scale:1.3}.settings-option-desc[data-v-519cdb7d]{color:var(--text-muted);font-size:.75rem}.settings-color-demo[data-v-519cdb7d]{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;font-size:.75rem;display:flex}.settings-swatch[data-v-519cdb7d]{border-radius:4px;flex-shrink:0;width:16px;height:16px}.settings-legend[data-v-519cdb7d]{border-top:1px solid var(--border-primary);padding:12px 18px}.settings-legend-title[data-v-519cdb7d]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:.7rem;font-weight:600}.settings-legend-items[data-v-519cdb7d]{flex-direction:column;gap:4px;display:flex}.settings-legend-item[data-v-519cdb7d]{align-items:center;gap:8px;display:flex}.settings-legend-swatch[data-v-519cdb7d]{border-radius:3px;flex-shrink:0;width:20px;height:10px}.settings-legend-label[data-v-519cdb7d]{color:var(--text-primary);font-size:.75rem}.legend-fade-enter-active[data-v-519cdb7d],.legend-fade-leave-active[data-v-519cdb7d]{transition:opacity .2s}.legend-fade-enter-from[data-v-519cdb7d],.legend-fade-leave-to[data-v-519cdb7d]{opacity:0}.settings-color-demo-item[data-v-519cdb7d]{align-items:center;gap:4px;display:flex}.panel-close[data-v-519cdb7d]{background:var(--bg-tertiary);cursor:pointer;min-width:32px;height:32px;color:var(--text-muted);border:none;border:1px solid var(--text-muted);border-radius:.3rem;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:background .2s;display:flex}.panel-close[data-v-519cdb7d]:hover{background:var(--bg-btn-hover);color:var(--text-primary)}.settings-body[data-v-519cdb7d]{flex:1;overflow-y:auto}.color-picker[data-v-519cdb7d]{gap:10px;display:flex}.color-swatch[data-v-519cdb7d]{border:2px solid var(--border-primary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:border-color .15s,transform .15s;display:flex}.color-swatch[data-v-519cdb7d]:hover{transform:scale(1.1)}.color-swatch.active[data-v-519cdb7d]{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--bg-secondary), 0 0 0 4px var(--color-primary)}.color-swatch svg[data-v-519cdb7d]{color:#fff;filter:drop-shadow(0 1px 1px #0006)}@media (width<=767px){.settings-overlay[data-v-519cdb7d]{background:#00000080;align-items:flex-start}.settings-panel[data-v-519cdb7d]{border:none;border-radius:0;width:100%;height:100dvh;max-height:none;animation:.15s ease-out fadeIn-519cdb7d;top:0;left:0;right:0}@keyframes fadeIn-519cdb7d{0%{opacity:0}to{opacity:1}}}.info-overlay[data-v-70e6a369]{z-index:10001;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.info-panel[data-v-70e6a369]{background:var(--bg-secondary);border:1px solid var(--border-primary);box-shadow:var(--shadow-card);width:420px;max-height:85vh;color:var(--text-primary);border-radius:16px;flex-direction:column;font-family:system-ui,-apple-system,sans-serif;font-size:.8125rem;animation:.15s ease-out panelIn-70e6a369;display:flex;overflow:hidden}@keyframes panelIn-70e6a369{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.info-header[data-v-70e6a369]{border-bottom:1px solid var(--border-primary);color:var(--text-heading);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;font-size:.95rem;font-weight:700;display:flex}.panel-close[data-v-70e6a369]{background:var(--bg-tertiary);cursor:pointer;min-width:32px;height:32px;color:var(--text-muted);border:none;border:1px solid var(--text-muted);border-radius:.3rem;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:background .2s;display:flex}.panel-close[data-v-70e6a369]:hover{background:var(--bg-btn-hover);color:var(--text-primary)}.info-body[data-v-70e6a369]{flex:1;overflow-y:auto}.info-section[data-v-70e6a369]{padding:14px 18px}.info-section+.info-section[data-v-70e6a369]{border-top:1px solid var(--border-primary)}.info-label[data-v-70e6a369]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:.7rem;font-weight:600;display:block}.info-cities[data-v-70e6a369]{flex-direction:column;gap:10px;display:flex}.info-city[data-v-70e6a369]{border:1px solid var(--border-primary);border-radius:8px;padding:10px 12px}.info-city-header[data-v-70e6a369]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.info-city-header[data-v-70e6a369]:hover{opacity:.8}.info-city-chevron[data-v-70e6a369]{color:var(--text-muted);text-align:center;flex-shrink:0;width:12px;font-size:.7rem}.info-city-name[data-v-70e6a369]{color:var(--text-heading);font-weight:600}.info-city-body[data-v-70e6a369]{padding-top:8px}.info-city-source[data-v-70e6a369]{color:var(--text-muted);margin-bottom:2px;font-size:.75rem}.info-city-source-link[data-v-70e6a369]{color:var(--color-primary);text-decoration:none}.info-city-source-link[data-v-70e6a369]:hover{text-decoration:underline}.info-city-url[data-v-70e6a369]{color:var(--color-primary);font-size:.75rem;text-decoration:none}.info-city-url[data-v-70e6a369]:hover{text-decoration:underline}.info-city-ts[data-v-70e6a369]{color:var(--text-muted);margin-top:4px;font-size:.7rem}.info-city-attribution[data-v-70e6a369]{color:var(--text-muted);margin-top:2px;font-size:.7rem}.info-attribution-link[data-v-70e6a369]{color:var(--color-primary);text-decoration:none}.info-attribution-link[data-v-70e6a369]:hover{text-decoration:underline}.info-attribution-role[data-v-70e6a369]{color:var(--text-muted)}.city-enter-active[data-v-70e6a369]{transition:opacity .15s ease-out,transform .15s ease-out}.city-leave-active[data-v-70e6a369]{transition:opacity .1s ease-in,transform .1s ease-in}.city-enter-from[data-v-70e6a369]{opacity:0;transform:translateY(-6px)}.city-leave-to[data-v-70e6a369]{opacity:0;transform:translateY(-4px)}.info-text[data-v-70e6a369]{color:var(--text-primary);margin:0;font-size:.78rem;line-height:1.3}.info-text-ai[data-v-70e6a369]{text-align:center;color:var(--text-primary);margin:0;font-size:max(.7rem,13px);line-height:1.1}@media (width<=767px){.info-overlay[data-v-70e6a369]{background:#00000080;align-items:flex-start}.info-panel[data-v-70e6a369]{border:none;border-radius:0;width:100%;height:100dvh;max-height:none;animation:.15s ease-out fadeIn-70e6a369;top:0;left:0;right:0}@keyframes fadeIn-70e6a369{0%{opacity:0}to{opacity:1}}}body{font-family:Inter,sans-serif}.floating-btn{z-index:10000;background:var(--bg-btn);color:var(--color-primary);border:1px solid var(--border-primary);cursor:pointer;width:2.6rem;height:2.6rem;box-shadow:var(--shadow-btn);border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:1rem;font-weight:600;transition:background .2s,box-shadow .2s;display:flex;position:fixed;top:1rem}.floating-btn:hover{background:var(--bg-btn-hover);box-shadow:var(--shadow-btn-hover)}.settings-btn{right:4rem}.info-btn{right:7rem}.theme-toggle{right:1rem}.departure-panel[data-v-4974a264]{z-index:10000;background:var(--bg-secondary);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:800px;max-height:50vh;margin:0 auto;animation:.25s ease-out slideUp-4974a264;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -4px 24px #0003}.departure-panel.minimized[data-v-4974a264]{max-height:auto;border-radius:12px 12px 0 0;animation:none}@keyframes slideUp-4974a264{0%{transform:translateY(100%)}to{transform:translateY(0)}}.minimized-bar[data-v-4974a264]{cursor:pointer;background:var(--bg-secondary);border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1rem;transition:background .15s;display:flex}.minimized-bar[data-v-4974a264]:hover{background:var(--bg-tertiary)}.minimized-bar-left[data-v-4974a264]{flex:1;justify-content:flex-start;align-items:center;gap:.75rem;min-width:0;display:flex}.minimized-stop-name[data-v-4974a264]{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.minimized-badge[data-v-4974a264]{color:var(--color-primary);background:var(--bg-tertiary);white-space:nowrap;border-radius:6px;flex-shrink:0;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.minimized-sep[data-v-4974a264]{color:var(--text-muted);font-weight:600}.minimized-line[data-v-4974a264]{color:var(--color-primary);flex-shrink:0;font-size:1.1rem;font-weight:800}.minimized-dir[data-v-4974a264]{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:-.25rem;font-size:.9rem;overflow:hidden}.minimized-departure-time[data-v-4974a264]{color:var(--text-primary);flex-shrink:0;font-size:.85rem;font-weight:700}.panel-header[data-v-4974a264]{border-bottom:1px solid var(--border-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.panel-header-info[data-v-4974a264]{flex-direction:column;gap:2px;display:flex}.panel-stop-name[data-v-4974a264]{color:var(--text-heading);margin:0;font-size:1.1rem;font-weight:700}.panel-stop-nr[data-v-4974a264]{color:var(--text-muted);font-size:.85rem;font-weight:600}.panel-close[data-v-4974a264]{background:var(--bg-tertiary);cursor:pointer;width:32px;height:32px;color:var(--text-muted);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:background .2s;display:flex}.panel-close[data-v-4974a264]:hover{background:var(--bg-btn-hover);color:var(--text-primary)}.panel-loading[data-v-4974a264]{color:var(--text-muted);justify-content:center;align-items:center;gap:.75rem;padding:2rem;font-size:.9rem;display:flex}.spinner[data-v-4974a264]{border:3px solid var(--spinner-bg,#e0e0e0);border-top-color:var(--spinner-color,#0056b3);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin-4974a264}@keyframes spin-4974a264{to{transform:rotate(360deg)}}.panel-error[data-v-4974a264]{text-align:center;color:var(--text-error);padding:1.5rem;font-size:.9rem}.panel-empty[data-v-4974a264]{text-align:center;color:var(--text-muted);padding:2rem 1.5rem;font-size:.95rem;line-height:1.5}.panel-body[data-v-4974a264]{flex:1;overflow-y:auto}.departure-list[data-v-4974a264]{flex-direction:column;display:flex}.departure-row[data-v-4974a264]{border-bottom:1px solid var(--border-secondary);text-align:left;cursor:pointer;width:100%;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border-top:none;border-left:none;border-right:none;align-items:center;gap:.75rem;padding:.65rem 1.25rem;transition:background .15s;display:flex}.departure-row[data-v-4974a264]:hover{background:var(--bg-tertiary)}.departure-row.departure-canceled[data-v-4974a264]{opacity:.45}.departure-row.departure-now[data-v-4974a264]{background:var(--bg-accent-subtle,#3b82f60f)}.departure-row.departure-stuck[data-v-4974a264]{opacity:.55}.departure-row.departure-flash[data-v-4974a264]{animation:1.5s ease-out flashRejected-4974a264}@keyframes flashRejected-4974a264{0%,to{background:0 0}10%{background:#dc26264d}30%{background:#dc262626}50%{background:0 0}}.dep-vehicle-nr[data-v-4974a264]{color:var(--text-muted);margin-top:1px;font-size:.7rem;font-weight:600;line-height:1}.dep-badge-stuck[data-v-4974a264]{vertical-align:middle;color:#000;background:#d7a202;border-radius:50%;justify-content:center;align-items:center;width:.8rem;height:.8rem;margin-left:.15rem;font-size:.55rem;font-weight:700;line-height:1;display:inline-flex}.dep-time-block[data-v-4974a264]{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:1px;display:flex}.dep-time-delta[data-v-4974a264]{margin-left:4px;font-size:.75rem;font-weight:700}.dep-line-badge[data-v-4974a264]{color:#fff;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;min-width:2.5rem;height:1.6rem;padding:0 .4rem;font-size:.9rem;font-weight:700;display:inline-flex}.dep-time[data-v-4974a264]{white-space:nowrap;align-items:center;gap:4px;display:flex}.dep-time-scheduled[data-v-4974a264]{opacity:.5;font-size:.75rem;font-weight:600;text-decoration:line-through}.dep-time-estimated[data-v-4974a264]{font-size:.95rem;font-weight:700}.dep-time-plain[data-v-4974a264]{color:var(--text-primary);font-size:.95rem;font-weight:600}.dep-now-badge[data-v-4974a264]{color:var(--color-primary);margin-left:4px;font-size:.75rem;font-weight:700;animation:1s ease-in-out infinite pulse-4974a264}@keyframes pulse-4974a264{0%,to{opacity:1}50%{opacity:.4}}.dep-pin-btn[data-v-4974a264]{cursor:pointer;width:24px;height:24px;color:var(--text-muted);opacity:.4;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.departure-row:hover .dep-pin-btn[data-v-4974a264]{opacity:1}.dep-pin-btn[data-v-4974a264]:hover{background:var(--bg-btn-hover);color:var(--color-primary)}.dep-pin-btn.dep-pinned[data-v-4974a264]{opacity:1;color:var(--color-primary)}.dep-headsign[data-v-4974a264]{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;overflow:hidden}.dep-time-relative[data-v-4974a264]{color:var(--color-primary,#3b82f6);white-space:nowrap;font-size:1.05rem;font-weight:700;line-height:1.2}.dep-time-relative+.dep-time[data-v-4974a264]{font-size:.75rem}.dep-canceled-badge[data-v-4974a264]{color:var(--text-error);background:var(--bg-error);white-space:nowrap;border-radius:4px;flex-shrink:0;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.panel-footer[data-v-4974a264]{border-top:1px solid var(--border-secondary);text-align:center;padding:.6rem 1.25rem}.panel-updated[data-v-4974a264]{color:var(--text-muted);font-size:.75rem}.dep-line-badge-container[data-v-4974a264]{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}@media (width>=768px){.panel-header[data-v-4974a264]{padding:1.25rem 2rem}.departure-row[data-v-4974a264],.panel-footer[data-v-4974a264]{padding:.75rem 2rem}}.panel-loading[data-v-dde6387c]{text-align:center;color:var(--text-muted);padding:1.5rem;font-size:.85rem;font-weight:600}.panel-warning[data-v-dde6387c]{color:#d97706;text-align:center;background:#f59e0b26;flex-shrink:0;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1.25rem;font-size:.8rem;font-weight:700;display:flex}.panel-warning-icon[data-v-dde6387c]{font-size:1rem}.brigade-inline[data-v-dde6387c]{flex:1;overflow-y:auto}.brigade-summary[data-v-dde6387c]{border-bottom:1px solid var(--border-secondary);flex-shrink:0;justify-content:space-around;gap:.5rem;padding:.5rem 1.25rem;display:flex}.summary-stat[data-v-dde6387c]{flex-direction:column;align-items:center;gap:0;display:flex}.summary-stat-label[data-v-dde6387c]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.65rem;font-weight:600}.summary-stat-value[data-v-dde6387c]{color:var(--text-primary);font-size:.9rem;font-weight:800}.brigade-nav[data-v-dde6387c]{flex-shrink:0;padding:.3rem 1.25rem}.brigade-nav-btn[data-v-dde6387c]{border:1px solid var(--color-primary);background:var(--bg-toggle-active);width:100%;color:var(--color-primary);cursor:pointer;text-align:center;border-radius:6px;padding:.35rem .75rem;font-family:inherit;font-size:.75rem;font-weight:700;transition:background .15s}.brigade-nav-btn[data-v-dde6387c]:hover{background:var(--color-primary);color:#fff}.brigade-courses[data-v-dde6387c]{padding:.25rem .5rem .5rem}.course-block[data-v-dde6387c]{flex-direction:column;display:flex}.course-header[data-v-dde6387c]{cursor:pointer;text-align:left;width:100%;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:none;border-radius:8px;align-items:flex-start;gap:.5rem;padding:.4rem .75rem;transition:background .15s;display:flex}.course-header[data-v-dde6387c]:hover{background:var(--bg-tertiary)}.course-current[data-v-dde6387c]{background:var(--bg-toggle-active)}.course-dot-col[data-v-dde6387c]{flex-direction:column;flex-shrink:0;align-items:center;width:14px;padding-top:4px;display:flex}.course-dot[data-v-dde6387c]{background:var(--color-primary);border:2px solid var(--bg-secondary);width:12px;height:12px;box-shadow:0 0 0 2px var(--color-primary);border-radius:50%;flex-shrink:0}.course-dot-current[data-v-dde6387c]{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b}.course-line[data-v-dde6387c]{background:var(--border-secondary);flex:1;width:2px;min-height:14px}.course-main[data-v-dde6387c]{flex-direction:column;flex:1;gap:1px;min-width:0;padding:2px 0;display:flex}.course-times[data-v-dde6387c]{align-items:center;gap:4px;display:flex}.course-dep[data-v-dde6387c]{color:var(--text-primary);font-size:.85rem;font-weight:800}.course-sep[data-v-dde6387c]{color:var(--text-muted);font-size:.75rem}.course-arr[data-v-dde6387c]{color:var(--text-secondary);font-size:.85rem;font-weight:700}.course-duration[data-v-dde6387c]{color:var(--text-muted);margin-left:auto;font-size:.7rem;font-weight:700}.st-cumul[data-v-dde6387c]{color:var(--text-muted);min-width:auto;font-weight:600}.course-headsign[data-v-dde6387c]{color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;overflow:hidden}.course-stops-info[data-v-dde6387c]{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.7rem;display:flex}.course-stops-count[data-v-dde6387c]{flex-shrink:0;font-weight:700}.course-stops-range[data-v-dde6387c]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.course-route-badge[data-v-dde6387c]{color:#fff;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;min-width:1.8rem;height:1.1rem;padding:0 3px;font-size:.65rem;font-weight:800;display:inline-flex}.course-expand[data-v-dde6387c]{color:var(--text-muted);flex-shrink:0;padding-top:4px;font-size:.8rem}.course-map-btn[data-v-dde6387c]{cursor:pointer;opacity:.5;background:0 0;border:none;flex-shrink:0;padding:4px 2px 0;font-size:.85rem;line-height:1;transition:opacity .15s}.course-map-btn[data-v-dde6387c]:hover{opacity:1}.course-stops-list[data-v-dde6387c]{padding:0 .5rem .25rem .75rem}.stop-row-brigade[data-v-dde6387c]{text-align:left;cursor:pointer;width:100%;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:none;border-radius:8px;align-items:stretch;gap:.5rem;padding:.25rem .75rem;transition:background .15s;display:flex}.stop-row-brigade[data-v-dde6387c]:hover{background:var(--bg-tertiary)}.stop-dot-brigade[data-v-dde6387c]{flex-direction:column;flex-shrink:0;align-items:center;width:14px;padding-top:4px;display:flex}.stop-dot-inner-brigade[data-v-dde6387c]{border-radius:50%;flex-shrink:0;width:10px;height:10px}.stop-dot-pending-brigade[data-v-dde6387c]{background:var(--border-secondary)}.stop-num-brigade[data-v-dde6387c]{background:var(--color-primary,#6366f1);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin:4px 0;font-size:.625rem;font-weight:700;display:flex}.stop-line-brigade[data-v-dde6387c]{background:var(--border-secondary);flex:1;width:2px;min-height:14px}.stop-info-brigade[data-v-dde6387c]{flex:1;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:2px 0;display:flex}.stop-name-brigade[data-v-dde6387c]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.stop-time-info[data-v-dde6387c]{flex-shrink:0;align-items:center;gap:2px;font-size:.7rem;display:flex}.st-label[data-v-dde6387c]{color:var(--text-muted);font-weight:500}.st-label.sep[data-v-dde6387c]{margin-left:2px}.st-val[data-v-dde6387c]{color:var(--text-secondary);text-align:right;min-width:3.2em;font-weight:700}.break-bar[data-v-dde6387c]{align-items:center;gap:.5rem;margin:.2rem 0;padding:.2rem .75rem;display:flex}.break-line[data-v-dde6387c]{background:var(--border-muted);opacity:.4;flex:1;height:2px}.break-label-inline[data-v-dde6387c]{color:#d97706;letter-spacing:.01em;flex-shrink:0;font-size:.7rem;font-weight:800}.line-change[data-v-dde6387c]{justify-content:center;margin:0;padding:.1rem .75rem .2rem;display:flex}.line-change-label[data-v-dde6387c]{color:#b8a2dd;letter-spacing:.01em;background:#8b5cf61f;border-radius:5px;padding:3px 12px;font-size:.7rem;font-weight:800}.brigade-skeleton[data-v-dde6387c]{padding:.75rem 1.25rem;overflow:hidden}.skeleton-summary[data-v-dde6387c]{border-bottom:1px solid var(--border-secondary);justify-content:space-around;gap:.5rem;padding:.5rem 0;display:flex}.skeleton-summary-item[data-v-dde6387c]{flex-direction:column;align-items:center;gap:4px;display:flex}.skeleton-courses[data-v-dde6387c]{padding:.75rem 0}.skeleton-course-row[data-v-dde6387c]{align-items:stretch;gap:.5rem;padding:.5rem .75rem;display:flex}.skeleton-dot-col[data-v-dde6387c]{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:14px;display:flex}.skeleton-circle[data-v-dde6387c]{background:var(--border-secondary);border-radius:50%;flex-shrink:0;width:12px;height:12px}.skeleton-connector[data-v-dde6387c]{background:var(--border-secondary);flex:1;width:2px;min-height:16px}.skeleton-course-content[data-v-dde6387c]{flex-direction:column;flex:1;justify-content:center;gap:4px;display:flex}.skeleton-line[data-v-dde6387c]{background:linear-gradient(90deg, var(--border-secondary) 25%, var(--bg-tertiary) 50%, var(--border-secondary) 75%);background-size:200% 100%;border-radius:4px;height:10px;animation:1.4s ease-in-out infinite brskel-shimmer-dde6387c}.skeleton-line-sm[data-v-dde6387c]{width:40%;height:8px}.skeleton-line-xs[data-v-dde6387c]{width:50%;height:7px}.skeleton-line-times[data-v-dde6387c]{width:55%}.skeleton-line-headsign[data-v-dde6387c]{width:70%}.skeleton-line-stops[data-v-dde6387c]{width:45%;height:7px}@keyframes brskel-shimmer-dde6387c{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width>=768px){.brigade-summary[data-v-dde6387c]{padding:.5rem 2rem}.brigade-nav[data-v-dde6387c]{padding:.3rem 2rem}.brigade-courses[data-v-dde6387c]{padding:.25rem 1rem .75rem}.course-header[data-v-dde6387c]{padding:.4rem 1rem}.course-stops-list[data-v-dde6387c]{padding:0 .5rem .25rem 2.5rem}.brigade-skeleton[data-v-dde6387c]{padding:.75rem 2rem}}.stop-time-row[data-v-2b55df4f]{align-items:center;gap:4px;display:flex}.stop-time-scheduled[data-v-2b55df4f]{color:var(--text-muted);opacity:.65;font-size:.75rem;font-weight:600;text-decoration:line-through}.stop-time-adjusted[data-v-2b55df4f]{font-size:.8rem;font-weight:700}.stop-time-plain[data-v-2b55df4f]{color:var(--text-muted);font-size:.8rem;font-weight:600}.stop-time-relative[data-v-2b55df4f]{color:var(--text-muted);font-size:.7rem;font-weight:600}.stop-time-future[data-v-2b55df4f]{color:var(--color-primary,#3b82f6);font-weight:700}.stop-time-future-block[data-v-2b55df4f],.stop-time-now-block[data-v-2b55df4f]{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.stop-time-now[data-v-2b55df4f]{color:#22c55e;font-size:.85rem;font-weight:800}.panel-vehicle-specs[data-v-b84d9bf7]{flex:1;padding:.5rem 1.25rem;overflow-y:auto}.spec-section[data-v-b84d9bf7]{margin-bottom:.75rem}.spec-row[data-v-b84d9bf7]{justify-content:space-between;align-items:center;gap:1rem;padding:.2rem 0;display:flex}.spec-label[data-v-b84d9bf7]{color:var(--text-muted);flex-shrink:0;font-size:.75rem;font-weight:600}.spec-value[data-v-b84d9bf7]{color:var(--text-primary);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:700;overflow:hidden}.spec-link[data-v-b84d9bf7]{color:var(--color-primary,#6366f1);font-weight:700;text-decoration:none}.spec-link[data-v-b84d9bf7]:hover{text-decoration:underline}.spec-unit[data-v-b84d9bf7]{border-top:1px solid var(--border-secondary);margin-top:.75rem;padding-top:.75rem}.spec-unit-header[data-v-b84d9bf7]{color:var(--text-heading);text-transform:uppercase;letter-spacing:.03em;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.3rem;font-size:.75rem;font-weight:800;display:flex}.spec-unit-badge[data-v-b84d9bf7]{text-transform:uppercase;letter-spacing:.04em;color:#fff;border-radius:4px;padding:1px 6px;font-size:.6rem;font-weight:700}.badge-electric[data-v-b84d9bf7]{background:#22c55e}.badge-hybrid[data-v-b84d9bf7]{color:#000;background:#eab308}.badge-urbino_iv[data-v-b84d9bf7]{background:#8b5cf6}.badge-pesa_swing[data-v-b84d9bf7]{background:#ec4899}.badge-cng[data-v-b84d9bf7]{background:#f97316}.badge-lng[data-v-b84d9bf7]{background:#06b6d4}.badge-hydrogen[data-v-b84d9bf7]{background:#6366f1}.spec-fleet[data-v-b84d9bf7]{white-space:normal;word-break:break-word;overflow:visible}.depot-value[data-v-b84d9bf7]{align-items:center;gap:.35rem;display:inline-flex}.depot-map-btn[data-v-b84d9bf7]{border:1px solid var(--text-muted);background:var(--bg-tertiary);cursor:pointer;width:20px;height:20px;color:var(--text-muted);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.depot-map-btn[data-v-b84d9bf7]:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.occupancy-ok[data-v-b84d9bf7]{color:var(--text-muted)}.occupancy-warn[data-v-b84d9bf7]{color:#eab308}.occupancy-bad[data-v-b84d9bf7]{color:var(--text-muted);font-weight:800}.spec-image-row[data-v-b84d9bf7]{flex-direction:column;justify-content:center;align-items:center;margin-top:.5rem;display:flex}.spec-image-source[data-v-b84d9bf7]{color:var(--text-muted);margin-top:.25rem;font-size:.6rem;text-decoration:none}.spec-image-source[data-v-b84d9bf7]:hover{text-decoration:underline}.no-underline[data-v-b84d9bf7],.no-underline[data-v-b84d9bf7]:hover{text-decoration:none}.spec-image[data-v-b84d9bf7]{cursor:pointer;object-fit:contain;background:var(--bg-tertiary);border-radius:8px;max-width:100%;height:auto;max-height:180px;transition:opacity .2s}.spec-image[data-v-b84d9bf7]:hover{opacity:.85}.lightbox-overlay[data-v-67444898]{z-index:100000;background:#000000d9;justify-content:center;align-items:center;animation:.2s ease-out fadeIn-67444898;display:flex;position:fixed;inset:0}@keyframes fadeIn-67444898{0%{opacity:0}to{opacity:1}}.lightbox-image[data-v-67444898]{object-fit:contain;max-width:100vw;max-height:100dvh}.lightbox-close[data-v-67444898]{color:#fff;cursor:pointer;z-index:100001;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.25rem;transition:background .15s;display:flex;position:fixed;top:.75rem;right:.75rem}.lightbox-close[data-v-67444898]:hover{background:#ffffff4d}.vehicle-panel[data-v-8a5fb7aa]{z-index:10000;background:var(--bg-secondary);border-radius:16px 16px 0 0;flex-direction:column;max-width:600px;max-height:50vh;margin:0 auto;animation:.25s ease-out slideUp-8a5fb7aa;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -4px 24px #0003}@keyframes slideUp-8a5fb7aa{0%{transform:translateY(100%)}to{transform:translateY(0)}}.panel-header[data-v-8a5fb7aa]{border-bottom:1px solid var(--border-secondary);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.panel-header-left[data-v-8a5fb7aa]{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.panel-line-badge[data-v-8a5fb7aa]{color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:2.5rem;height:2rem;padding:0 .5rem;font-size:1rem;font-weight:700;display:inline-flex}.panel-header-info[data-v-8a5fb7aa]{flex-direction:column;min-width:0;display:flex}.panel-headsign[data-v-8a5fb7aa]{color:var(--text-heading);white-space:nowrap;font-size:1rem;font-weight:700;overflow:hidden}.panel-headsign-inner[data-v-8a5fb7aa]{white-space:nowrap;will-change:transform;display:inline-block}.panel-vehicle-sub[data-v-8a5fb7aa]{color:var(--text-muted);white-space:nowrap;align-items:center;font-size:.8rem;font-weight:600;line-height:1.4;display:flex;overflow:hidden}.panel-vehicle-sub-static[data-v-8a5fb7aa]{flex-shrink:0}.panel-vehicle-sub-scroll[data-v-8a5fb7aa]{white-space:nowrap;min-width:0;margin-left:.25rem;overflow:hidden}.panel-vehicle-sub-scroll-inner[data-v-8a5fb7aa]{white-space:nowrap;will-change:transform;display:inline-block}.panel-header-actions[data-v-8a5fb7aa]{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.panel-icon-btn[data-v-8a5fb7aa]{border:1px solid var(--text-muted);background:var(--bg-tertiary);cursor:pointer;min-width:32px;height:32px;color:var(--text-muted);border-radius:.3rem;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.panel-icon-btn[data-v-8a5fb7aa]:hover{background:var(--bg-btn-hover);color:var(--color-primary);border-color:var(--color-primary)}.panel-close[data-v-8a5fb7aa]{background:var(--bg-tertiary);cursor:pointer;min-width:32px;height:32px;color:var(--text-muted);border:none;border:1px solid var(--text-muted);border-radius:.3rem;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:background .2s;display:flex}.panel-close[data-v-8a5fb7aa]:hover{background:var(--bg-btn-hover);color:var(--text-primary)}.panel-stats[data-v-8a5fb7aa]{border-bottom:1px solid var(--border-secondary);flex-wrap:wrap;flex-shrink:0;gap:.5rem 1.25rem;padding:.5rem 1.25rem;display:flex}.stat[data-v-8a5fb7aa]{flex-direction:column;gap:0;display:flex}.stat-label[data-v-8a5fb7aa]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:600}.stat-value[data-v-8a5fb7aa]{color:var(--text-primary);font-size:.85rem;font-weight:700}.stat-brigade[data-v-8a5fb7aa]{gap:.15rem}.stat-brigade-btn[data-v-8a5fb7aa]{border:1px solid var(--color-primary);background:var(--bg-toggle-active);color:var(--color-primary);cursor:pointer;border-radius:5px;align-items:center;gap:3px;padding:2px 8px;font-family:inherit;font-size:.8rem;font-weight:700;transition:background .15s;display:inline-flex}.stat-brigade-btn[data-v-8a5fb7aa]:hover{background:var(--color-primary);color:#fff}.stat-brigade-arrow[data-v-8a5fb7aa]{font-size:.75rem;transition:transform .15s}.stat-brigade-btn:hover .stat-brigade-arrow[data-v-8a5fb7aa]{transform:translate(2px)}.panel-warning[data-v-8a5fb7aa]{color:#d97706;text-align:center;background:#f59e0b26;flex-shrink:0;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1.25rem;font-size:.8rem;font-weight:700;display:flex}.panel-warning-icon[data-v-8a5fb7aa]{font-size:1rem}.panel-stuck[data-v-8a5fb7aa]{background:var(--bg-error);color:var(--text-error);text-align:center;flex-shrink:0;padding:.4rem 1.25rem;font-size:.8rem;font-weight:600}.panel-empty[data-v-8a5fb7aa]{color:var(--text-muted);text-align:center;flex-shrink:0;padding:2rem 1.25rem;font-size:.85rem}.panel-loading-skeleton[data-v-8a5fb7aa]{flex-shrink:0;padding:.5rem 1.25rem;overflow:hidden}.skeleton-header[data-v-8a5fb7aa]{margin-bottom:.6rem}.skeleton-stops[data-v-8a5fb7aa]{flex-direction:column;gap:0;display:flex}.skeleton-stop-row[data-v-8a5fb7aa]{align-items:stretch;gap:.5rem;padding:.3rem .75rem;display:flex}.skeleton-dot[data-v-8a5fb7aa]{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:14px;display:flex}.skeleton-circle[data-v-8a5fb7aa]{background:var(--border-secondary);border-radius:50%;flex-shrink:0;width:10px;height:10px}.skeleton-connector[data-v-8a5fb7aa]{background:var(--border-secondary);flex:1;width:2px;min-height:16px}.skeleton-content[data-v-8a5fb7aa]{flex-direction:column;flex:1;justify-content:center;gap:3px;display:flex}.skeleton-line[data-v-8a5fb7aa]{background:linear-gradient(90deg, var(--border-secondary) 25%, var(--bg-tertiary) 50%, var(--border-secondary) 75%);background-size:200% 100%;border-radius:4px;height:10px;animation:1.4s ease-in-out infinite skeleton-shimmer-8a5fb7aa}.skeleton-line-sm[data-v-8a5fb7aa]{width:30%;height:8px}.skeleton-line-lg[data-v-8a5fb7aa]{width:75%}.skeleton-line-xs[data-v-8a5fb7aa]{width:45%;height:7px}@keyframes skeleton-shimmer-8a5fb7aa{0%{background-position:200% 0}to{background-position:-200% 0}}.panel-stops-label[data-v-8a5fb7aa]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding:.5rem 1.25rem .3rem;font-size:.7rem;font-weight:700}.panel-updated[data-v-8a5fb7aa]{color:var(--text-muted);text-align:center;flex-shrink:0;padding:.5rem .25rem;font-size:.65rem;font-weight:600}.panel-body[data-v-8a5fb7aa]{flex:1;padding:0 .5rem .5rem;position:relative;overflow-y:auto}.stop-row[data-v-8a5fb7aa]{text-align:left;cursor:pointer;width:100%;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:none;border-radius:8px;align-items:stretch;gap:.5rem;padding:.25rem .75rem;transition:background .15s;display:flex}.stop-row[data-v-8a5fb7aa]:hover{background:var(--bg-tertiary)}.stop-dot[data-v-8a5fb7aa]{flex-direction:column;flex-shrink:0;align-items:center;width:14px;padding-top:4px;display:flex}.stop-dot-inner[data-v-8a5fb7aa]{border-radius:50%;flex-shrink:0;width:10px;height:10px}.stop-dot-done[data-v-8a5fb7aa]{background:var(--color-primary,#0056b3)}.stop-dot-active[data-v-8a5fb7aa]{background:#22c55e;box-shadow:0 0 0 3px #22c55e4d}.stop-dot-pending[data-v-8a5fb7aa]{background:var(--border-secondary)}.stop-line[data-v-8a5fb7aa]{background:var(--border-secondary);flex:1;width:2px;min-height:14px}.stop-num[data-v-8a5fb7aa]{background:var(--color-primary,#6366f1);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:3px;font-family:system-ui,-apple-system,sans-serif;font-size:.525rem;font-weight:700;display:flex}.stop-info[data-v-8a5fb7aa]{flex:1;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:2px 0;display:flex}.stop-name[data-v-8a5fb7aa]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.stop-time[data-v-8a5fb7aa]{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:1px;display:flex}.stop-completed .stop-name[data-v-8a5fb7aa],.stop-completed .stop-time[data-v-8a5fb7aa]{opacity:.5}.stop-completed[data-v-8a5fb7aa] .stop-time-scheduled{opacity:.4}.stop-completed[data-v-8a5fb7aa] .stop-time-adjusted{opacity:.8}.stop-current .stop-name[data-v-8a5fb7aa]{color:#22c55e;font-weight:800}.stop-selected[data-v-8a5fb7aa]{background:var(--bg-tertiary);outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:8px}@media (width>=768px){.vehicle-panel[data-v-8a5fb7aa]{max-width:48rem;max-height:50vh}.panel-header[data-v-8a5fb7aa]{padding:.85rem 2rem}.panel-stats[data-v-8a5fb7aa]{padding:.5rem 2rem}.panel-stops-label[data-v-8a5fb7aa]{padding:.5rem 2rem .3rem}.panel-body[data-v-8a5fb7aa]{padding:0 1rem .75rem}.panel-tabs[data-v-8a5fb7aa]{padding:0 2rem}.stop-row[data-v-8a5fb7aa]{padding:.3rem 1rem}}.panel-tabs[data-v-8a5fb7aa]{border-bottom:1px solid var(--border-secondary);flex-shrink:0;gap:0;padding:0 1.25rem;display:flex}.panel-tab[data-v-8a5fb7aa]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.45rem 1rem;font-family:inherit;font-size:.75rem;font-weight:700;transition:color .15s,border-color .15s}.panel-tab[data-v-8a5fb7aa]:hover{color:var(--text-primary)}.panel-tab.active[data-v-8a5fb7aa]{color:var(--text-heading);border-bottom-color:var(--color-primary,#6366f1)}.panel-brigade-badge[data-v-8a5fb7aa]{background:var(--bg-primary);border:1px solid var(--border-secondary);color:var(--text-muted);vertical-align:middle;border-radius:4px;margin-left:4px;padding:1px 5px;font-size:.75rem;font-weight:700;display:inline-block}.panel-theoretical-brigade-badge[data-v-8a5fb7aa]{margin-left:0!important}.panel-minimized[data-v-8a5fb7aa]{max-height:none!important;animation:none!important}.panel-minimized .panel-header[data-v-8a5fb7aa]{border-bottom:none}.tab-badge[data-v-8a5fb7aa]{background:var(--color-primary);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;font-size:.625rem;font-weight:800;line-height:1;display:inline-flex}.filter-panel[data-v-3efb59a7]{z-index:10000;background:var(--bg-secondary);border-radius:16px 16px 0 0;max-width:600px;height:auto;max-height:60vh;margin:0 auto;animation:.25s ease-out slideUp-3efb59a7;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -4px 24px #0003}@keyframes slideUp-3efb59a7{0%{transform:translateY(100%)}to{transform:translateY(0)}}.panel-header[data-v-3efb59a7]{border-bottom:1px solid var(--border-secondary);z-index:1;background:var(--bg-secondary);justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}.panel-title[data-v-3efb59a7]{color:var(--text-heading);font-size:1rem;font-weight:700}.panel-close[data-v-3efb59a7]{background:var(--bg-tertiary);cursor:pointer;min-width:32px;height:32px;color:var(--text-muted);border:none;border:1px solid var(--text-muted);border-radius:.3rem;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:background .2s;display:flex}.panel-close[data-v-3efb59a7]:hover{background:var(--bg-btn-hover);color:var(--text-primary)}.search-section[data-v-3efb59a7]{padding:.75rem 1.25rem 0}.panel-filters[data-v-3efb59a7]{flex-direction:column;gap:.75rem;padding:.75rem 1.25rem 1rem;display:flex}.search-wrap[data-v-3efb59a7]{align-items:center;display:flex;position:relative}.search-input[data-v-3efb59a7]{border:1px solid var(--border-secondary);background:var(--bg-primary);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:8px;outline:none;padding:.6rem 2rem .6rem .8rem;font-family:inherit;font-size:.85rem;transition:border-color .15s}.search-clear[data-v-3efb59a7]{background:var(--bg-tertiary);width:1.4rem;height:1.4rem;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.65rem;line-height:1;transition:background .15s;display:flex;position:absolute;right:.4rem}.search-clear[data-v-3efb59a7]:hover{background:var(--text-muted);color:var(--bg-primary)}.search-input[data-v-3efb59a7]:focus{border-color:var(--color-primary)}.search-input[data-v-3efb59a7]::placeholder{color:var(--text-muted);opacity:.7}.results-wrapper[data-v-3efb59a7]{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid;overflow:hidden}.results-wrapper.open[data-v-3efb59a7]{grid-template-rows:1fr}.results-inner[data-v-3efb59a7]{min-height:0;overflow:hidden}.results-placeholder[data-v-3efb59a7]{min-height:5rem;color:var(--text-muted);opacity:0;justify-content:center;align-items:center;font-size:.8rem;transition:opacity .15s;display:flex}.results-wrapper.open:not(.has-query) .results-placeholder[data-v-3efb59a7]{opacity:.5}.stop-results[data-v-3efb59a7]{flex-direction:column;gap:.2rem;max-height:12rem;display:flex;overflow-y:auto}.stop-result[data-v-3efb59a7]{border:1px solid var(--border-secondary);background:var(--bg-primary);cursor:pointer;text-align:left;-webkit-overflow-scrolling:touch;border-radius:6px;align-items:flex-start;gap:.5rem;min-width:0;min-height:fit-content;padding:.35rem .6rem;font-family:inherit;font-size:.8rem;transition:background .15s;display:flex;overflow:auto hidden}.stop-result[data-v-3efb59a7]:hover{background:var(--bg-tertiary);border-color:var(--color-primary)}.stop-result-number[data-v-3efb59a7]{color:var(--color-primary);flex-shrink:0;min-width:2.5ch;font-size:.8rem;font-weight:700;line-height:1.4}.stop-result-name[data-v-3efb59a7]{color:var(--text-primary);white-space:nowrap;flex-shrink:0;font-size:.8rem;line-height:1.4}.stop-result-deps[data-v-3efb59a7]{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;min-width:0;margin-left:auto;display:flex}.sr-dep-preview[data-v-3efb59a7]{white-space:nowrap;align-items:center;gap:4px;display:flex}.sr-badge[data-v-3efb59a7]{color:#fff;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;height:1.2rem;padding:0 .35rem;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex}.sr-hdg[data-v-3efb59a7]{color:var(--text-muted);white-space:nowrap;font-size:.7rem}.filter-row[data-v-3efb59a7]{flex-shrink:0}.filter-row-inline[data-v-3efb59a7]{gap:.75rem;display:flex}.filter-group[data-v-3efb59a7]{flex-direction:column;flex:1;gap:.4rem;display:flex}.filter-label[data-v-3efb59a7]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:700}.chip-list[data-v-3efb59a7]{flex-wrap:wrap;gap:.3rem;display:flex}.chip[data-v-3efb59a7]{border:1px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:.25rem .6rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .15s}.chip[data-v-3efb59a7]:hover{border-color:var(--color-primary);color:var(--color-primary)}.chip.active[data-v-3efb59a7]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.filter-empty[data-v-3efb59a7]{color:var(--text-muted);font-size:.8rem;font-style:italic}.filter-select[data-v-3efb59a7]{border:1px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:6px;outline:none;padding:.4rem .6rem;font-family:inherit;font-size:.8rem}.filter-select[data-v-3efb59a7]:focus{border-color:var(--color-primary)}.filter-footer[data-v-3efb59a7]{border-top:1px solid var(--border-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding-top:.5rem;display:flex}.filter-count[data-v-3efb59a7]{color:var(--text-muted);font-size:.8rem;font-weight:600}.clear-btn[data-v-3efb59a7]{border:1px solid var(--text-muted);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .75rem;font-family:inherit;font-size:.75rem;font-weight:700;transition:all .15s}.clear-btn[data-v-3efb59a7]:hover{border-color:var(--color-primary);color:var(--color-primary)}.search-tabs[data-v-3efb59a7]{border-bottom:1px solid var(--border-secondary);gap:0;margin-bottom:.5rem;display:flex}.search-tab[data-v-3efb59a7]{color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:.5rem .75rem;font-family:inherit;font-size:.8rem;font-weight:700;transition:color .15s,border-color .15s}.search-tab[data-v-3efb59a7]:hover{color:var(--text-primary)}.search-tab.active[data-v-3efb59a7]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.vehicle-result[data-v-3efb59a7]{align-items:stretch;gap:.5rem;padding:.4rem .6rem}.vr-line[data-v-3efb59a7]{color:#fff;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;height:1.3rem;margin-top:.1rem;padding:0 .4rem;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex}.vr-body[data-v-3efb59a7]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.vr-headsign[data-v-3efb59a7]{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;line-height:1.4;overflow:hidden}.vr-next[data-v-3efb59a7]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.3;overflow:hidden}.vr-bottom[data-v-3efb59a7]{color:var(--text-muted);gap:.5rem;font-size:.65rem;line-height:1.3;display:flex}.vr-number[data-v-3efb59a7]{color:var(--text-muted)}.vr-brigade[data-v-3efb59a7]{color:var(--text-muted);flex-shrink:0}.vehicle-result mark[data-v-3efb59a7]{color:inherit;background:#ffd50040;border-radius:2px}@media (width<=767px){.filter-panel[data-v-3efb59a7]{z-index:10001;border-radius:0;max-width:none;height:100dvh;max-height:none;animation:.15s ease-out fadeIn-3efb59a7;top:0;left:0;right:0}@keyframes fadeIn-3efb59a7{0%{opacity:0}to{opacity:1}}.search-section[data-v-3efb59a7]{padding:.75rem 1.25rem 0}.panel-filters[data-v-3efb59a7]{padding:.75rem 1.25rem 1rem}}@media (width>=768px){.filter-panel[data-v-3efb59a7]{max-width:48rem}.panel-header[data-v-3efb59a7]{padding:.85rem 2rem}.search-section[data-v-3efb59a7]{padding:1rem 2rem 0}.panel-filters[data-v-3efb59a7]{padding:.75rem 2rem 1.25rem}}.pinned-bar[data-v-56a4098f]{z-index:10001;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:12px;align-items:center;gap:.5rem;max-width:calc(100vw - 1rem);max-height:3.2rem;padding:.4rem .6rem .4rem .5rem;animation:.25s ease-out pinnedSlideDown-56a4098f;display:flex;position:fixed;top:.5rem;left:50%;transform:translate(-50%);box-shadow:0 2px 16px #0003}@keyframes pinnedSlideDown-56a4098f{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.pinned-label[data-v-56a4098f]{color:var(--text-muted);background:var(--bg-tertiary);border-radius:8px;flex-shrink:0;align-items:center;gap:.2rem;padding:.2rem .35rem;font-size:.7rem;font-weight:700;line-height:1;display:flex}.pinned-items[data-v-56a4098f]{flex:1;align-items:center;gap:.4rem;display:flex;overflow-x:auto}.pinned-item[data-v-56a4098f]{background:var(--bg-tertiary);cursor:pointer;color:inherit;font-family:inherit;font-size:inherit;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:.5rem;padding:.3rem .5rem .3rem .4rem;transition:background .15s;display:flex;position:relative}.pinned-item[data-v-56a4098f]:hover{background:var(--bg-btn-hover)}.pinned-item.pinned-expired[data-v-56a4098f]{opacity:.5}.pinned-item-left[data-v-56a4098f]{align-items:center;gap:.4rem;min-width:0;display:flex}.pinned-line[data-v-56a4098f]{color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;min-width:1.6rem;height:1.1rem;padding:0 .25rem;font-size:.65rem;font-weight:800;display:inline-flex}.pinned-meta[data-v-56a4098f]{flex-direction:column;gap:0;min-width:0;line-height:1.2;display:flex}.pinned-stop[data-v-56a4098f]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;font-weight:700;overflow:hidden}.pinned-dir[data-v-56a4098f]{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.6rem;font-weight:600;overflow:hidden}.pinned-time[data-v-56a4098f]{color:var(--color-primary);white-space:nowrap;flex-shrink:0;font-size:.8rem;font-weight:700}.pinned-time-now[data-v-56a4098f]{color:var(--color-primary);animation:1s ease-in-out infinite pulse-56a4098f}@keyframes pulse-56a4098f{0%,to{opacity:1}50%{opacity:.4}}.pinned-remove[data-v-56a4098f]{cursor:pointer;width:16px;height:16px;color:var(--text-muted);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.pinned-remove[data-v-56a4098f]:hover{background:var(--bg-btn-hover);color:var(--text-error)}@media (width>=768px){.pinned-bar[data-v-56a4098f]{padding:.5rem .75rem .5rem .6rem}}.map-screen[data-v-0e6a08c1]{width:100vw;height:100vh;position:relative;overflow:hidden}.map-container[data-v-0e6a08c1]{background:var(--bg-map);width:100vw;height:100vh}.map-loading-overlay[data-v-0e6a08c1]{z-index:30000;background:linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);flex-direction:column;justify-content:center;align-items:center;gap:1.75rem;display:flex;position:absolute;inset:0}.map-loading-overlay[data-v-0e6a08c1]:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#80808008 2px 4px);position:absolute;inset:0}.city-change-overlay[data-v-0e6a08c1]{z-index:35000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000a6;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex;position:fixed;inset:0}.city-change-close[data-v-0e6a08c1]{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;margin-top:.5rem;padding:.5rem 1rem;font-size:1.2rem;transition:background .15s}.city-change-close[data-v-0e6a08c1]:hover{background:#ffffff40}.error-actions[data-v-0e6a08c1]{justify-content:center;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.spinner[data-v-0e6a08c1]{border:3px solid var(--spinner-bg);border-top-color:var(--spinner-color);border-right-color:var(--spinner-color);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin-0e6a08c1;box-shadow:0 0 20px #0056b326}.loading-content[data-v-0e6a08c1]{flex-direction:column;align-items:center;gap:.5rem;display:flex}.loading-title[data-v-0e6a08c1]{color:var(--text-heading);letter-spacing:-.02em;margin:0;font-size:1.3rem;font-weight:700}.loading-sub[data-v-0e6a08c1]{color:var(--color-primary);opacity:.9;margin:0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.8rem;position:relative}.loading-sub[data-v-0e6a08c1]:after{content:"_";animation:.8s step-end infinite blink-cursor-0e6a08c1}.loading-progress-track[data-v-0e6a08c1]{background:var(--bg-tertiary);z-index:1;border-radius:4px;width:260px;height:4px;position:relative;overflow:hidden}.loading-progress-bar[data-v-0e6a08c1]{background:linear-gradient(90deg, var(--color-primary), var(--color-secondary,#10b981));border-radius:4px;height:100%;transition:width .6s;position:relative;overflow:hidden}.loading-progress-bar[data-v-0e6a08c1]:after{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);animation:1.8s ease-in-out infinite progress-shimmer-0e6a08c1;position:absolute;inset:0;transform:translate(-100%)}@keyframes progress-shimmer-0e6a08c1{to{transform:translate(100%)}}@keyframes spin-0e6a08c1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blink-cursor-0e6a08c1{0%,to{opacity:1}50%{opacity:0}}.cluster-overlay[data-v-0e6a08c1]{z-index:20000;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cluster-panel[data-v-0e6a08c1]{background:var(--bg-secondary);border:1px solid var(--border-secondary);min-width:220px;box-shadow:var(--shadow-card);border-radius:.75rem;padding:.75rem}.cluster-title[data-v-0e6a08c1]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem;padding:0 .25rem;font-size:.8rem;font-weight:700}.cluster-item[data-v-0e6a08c1]{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem;font-family:inherit;font-size:.9rem;transition:background .15s;display:flex}.cluster-item[data-v-0e6a08c1]:hover{background:var(--bg-tertiary)}.cluster-line[data-v-0e6a08c1]{color:#fff;border-radius:4px;flex-shrink:0;align-items:center;padding:1px 6px;font-size:.7rem;font-weight:800;display:inline-flex}.cluster-line-theoretical[data-v-0e6a08c1]{filter:grayscale()}.cluster-dir[data-v-0e6a08c1]{text-overflow:ellipsis;min-width:0;color:var(--text-secondary);white-space:nowrap;flex:1;overflow:hidden}.cluster-num[data-v-0e6a08c1]{color:var(--text-muted);flex-shrink:0;font-size:.75rem;font-weight:600}.cluster-delay[data-v-0e6a08c1]{flex-shrink:0;margin-left:.25rem;font-size:.7rem;font-weight:700}.stop-cluster-item[data-v-0e6a08c1]{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.5rem;align-items:flex-start;gap:.5rem;padding:.5rem;font-family:inherit;font-size:.9rem;transition:background .15s;display:flex}.stop-cluster-item[data-v-0e6a08c1]:hover{background:var(--bg-tertiary)}.stop-cluster-info[data-v-0e6a08c1]{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.stop-cluster-top[data-v-0e6a08c1]{align-items:center;gap:.5rem;display:flex}.cluster-lines[data-v-0e6a08c1]{color:var(--text-muted);flex-shrink:0;margin-left:auto;font-size:.7rem;font-weight:600}.cluster-next-stops[data-v-0e6a08c1]{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:.7rem;overflow:hidden}.filter-fab[data-v-0e6a08c1]{z-index:10000;background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;top:1rem;right:10rem;box-shadow:0 2px 12px #00000040}.filter-fab[data-v-0e6a08c1]:hover{transform:scale(1.08);box-shadow:0 4px 16px #0000004d}.not-found[data-v-017193c1]{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.not-found-card[data-v-017193c1]{text-align:center;max-width:400px}.not-found-code[data-v-017193c1]{color:var(--color-primary);margin:0;font-size:5rem;font-weight:800;line-height:1}.not-found-text[data-v-017193c1]{color:var(--color-text-secondary);margin:1rem 0 2rem;font-size:1.1rem}.not-found-btn[data-v-017193c1]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.5rem;font-size:.95rem;font-weight:600;transition:opacity .2s}.not-found-btn[data-v-017193c1]:hover{opacity:.85}
