.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}}.fxmap-panel-control{position:relative}.fxmap-panel-toggle{position:relative;width:40px;height:40px;border-radius:var(--fxmap-radius)}.fxmap-panel-toggle .fxmap-icon{width:22px;height:22px}.fxmap-panel-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--fxmap-accent);color:var(--fxmap-accent-contrast);font-size:11px;font-weight:700;line-height:18px;text-align:center;pointer-events:none}.fxmap-panel{display:flex;flex-direction:column;width:20rem;max-width:calc(100vw - 40px);max-height:min(70vh,32rem);overflow:hidden;font-size:var(--fxmap-font-size);color:var(--fxmap-text);transition:opacity .12s ease}.fxmap-panel-anchored{position:absolute;top:0;right:calc(100% + 8px);z-index:2}.fxmap-panel-left.fxmap-panel-anchored{right:auto;left:calc(100% + 8px)}.fxmap-panel-bottom.fxmap-panel-anchored{top:auto;bottom:0}.fxmap-panel-sheet{position:absolute;left:0;right:0;bottom:0;z-index:calc(var(--fxmap-overlay-z) + 10);width:auto;max-width:none;max-height:70%;border-radius:var(--fxmap-radius) var(--fxmap-radius) 0 0;touch-action:none}.fxmap-panel-handle{flex:none;width:44px;height:5px;margin:8px auto 0;border-radius:999px;background:var(--fxmap-border);cursor:grab}.fxmap-panel-header{display:flex;align-items:center;gap:4px;padding:10px 8px 6px 14px}.fxmap-panel-title{flex:1;font-size:14px;font-weight:600}.fxmap-panel-menu-anchor{position:relative}.fxmap-panel-menu-toggle{width:30px;height:30px}.fxmap-panel-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:3;display:flex;flex-direction:column;min-width:10rem;padding:4px}.fxmap-panel-menu-item{justify-content:flex-start;color:var(--fxmap-text)}.fxmap-panel-menu-item:hover{background:var(--fxmap-surface-muted)}.fxmap-panel-search{position:relative;padding:0 12px 8px}.fxmap-panel-search .fxmap-icon{position:absolute;top:8px;left:20px;width:16px;height:16px;color:var(--fxmap-muted);pointer-events:none}.fxmap-panel-search-input{padding-left:30px}.fxmap-panel-body{flex:1;min-height:0;overflow:auto;padding:0 6px 8px;overscroll-behavior:contain}.fxmap-panel-section+.fxmap-panel-section{margin-top:4px;border-top:1px solid var(--fxmap-border)}.fxmap-panel-section-head{display:flex;align-items:center;gap:6px;padding:6px 4px 2px}.fxmap-panel-section-toggle{flex:1;justify-content:flex-start;height:28px;padding:0 6px;color:var(--fxmap-text);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.04em}.fxmap-panel-section-toggle .fxmap-icon{width:14px;height:14px;color:var(--fxmap-muted)}.fxmap-panel-section-title{flex:1;padding:0 6px;font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.04em}.fxmap-panel-section-count{font-size:11px;padding-right:6px}.fxmap-panel-group-toggle{display:inline-flex;align-items:center;gap:6px;padding-right:6px;font-size:11px;color:var(--fxmap-muted);cursor:pointer}.fxmap-panel-warning{display:inline-flex;color:var(--fxmap-warning)}.fxmap-panel-warning .fxmap-icon{width:16px;height:16px}.fxmap-panel-list{display:flex;flex-direction:column;gap:2px}.fxmap-panel-row{position:relative;display:flex;flex-direction:column;border-radius:var(--fxmap-radius-sm);outline:none}.fxmap-panel-row:hover,.fxmap-panel-row:focus-visible,.fxmap-panel-row:focus-within{background:var(--fxmap-surface-muted)}.fxmap-panel-row:focus-visible{box-shadow:inset 0 0 0 2px var(--fxmap-accent)}.fxmap-panel-row-main{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:34px;padding:2px 4px 2px 8px}.fxmap-panel-check,.fxmap-panel-radio{width:16px;height:16px;margin:0;accent-color:var(--fxmap-accent);cursor:pointer}.fxmap-panel-name-wrap{display:flex;flex-direction:column;min-width:0}.fxmap-panel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fxmap-panel-out-text{font-size:11px;color:var(--fxmap-muted)}.fxmap-panel-row-out .fxmap-panel-name,.fxmap-panel-row-out .fxmap-swatch{opacity:.5}.fxmap-panel-count{min-width:1.5rem;text-align:right;font-size:12px}.fxmap-panel-chevron{width:26px;height:26px;color:var(--fxmap-muted)}.fxmap-panel-chevron .fxmap-icon{width:16px;height:16px}.fxmap-panel-error-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--fxmap-danger)}.fxmap-panel-progress{position:absolute;left:8px;right:8px;bottom:0;height:2px;border-radius:1px;background:transparent;overflow:hidden}.fxmap-panel-row-loading .fxmap-panel-progress:after{content:"";position:absolute;inset:0;width:40%;background:var(--fxmap-accent);animation:fxmap-progress 1s ease-in-out infinite}@keyframes fxmap-progress{0%{transform:translate(-100%)}to{transform:translate(260%)}}.fxmap-panel-tools{display:flex;flex-direction:column;gap:6px;padding:4px 10px 10px 32px}.fxmap-panel-tool-row{display:flex;align-items:center;gap:8px;font-size:12px}.fxmap-panel-tool-label{color:var(--fxmap-muted)}.fxmap-panel-tool-switch{cursor:pointer}.fxmap-panel-tool-value{min-width:2.6rem;text-align:right}.fxmap-panel-slider{flex:1;height:4px;margin:0;accent-color:var(--fxmap-accent)}.fxmap-panel-tool-actions{display:flex;flex-wrap:wrap;gap:6px}.fxmap-panel-tool-actions .fxmap-btn{height:28px;padding:0 10px;font-size:12px}.fxmap-panel-tool-actions .fxmap-icon{width:14px;height:14px}.fxmap-panel-tool-note{font-size:11px}.fxmap-panel-row-base{flex-direction:row;align-items:center;gap:10px;min-height:48px;padding:4px 8px;cursor:pointer}.fxmap-panel-row-active{background:var(--fxmap-accent-soft)}.fxmap-panel-thumb{width:40px;height:40px;border-radius:6px;border:1px solid var(--fxmap-border);object-fit:cover;flex:none}.fxmap-panel-legend-row{display:flex;align-items:center;gap:8px;min-height:28px;padding:0 8px}.fxmap-panel-empty{padding:12px 8px;text-align:center}.fxmap-draw-path{cursor:pointer}.fxmap-draw-rubber-band{pointer-events:none}.fxmap-draw-snap-flash{animation:fxmap-snap-flash .45s ease-out forwards;pointer-events:none}.fxmap-draw-snap-flash-still{animation:none}@keyframes fxmap-snap-flash{0%{stroke-opacity:1;fill-opacity:.35}to{stroke-opacity:0;fill-opacity:0}}.fxmap-draw-pin-hit{background:transparent;border:none}.fxmap-draw-pin{position:absolute;bottom:0;left:50%;display:block;width:36px;height:36px;transform:translate(-50%);color:var(--fxmap-accent);filter:drop-shadow(0 3px 4px rgba(15,23,42,.35));cursor:grab}.fxmap-draw-pin .fxmap-icon{width:36px;height:36px}.fxmap-vertex-hit{display:flex;align-items:center;justify-content:center;background:transparent;border:none;outline:none}.fxmap-vertex-hit:focus-visible .fxmap-vertex{box-shadow:0 0 0 3px var(--fxmap-accent-soft)}.fxmap-vertex{display:block;box-sizing:border-box;border-radius:50%;border:3px solid var(--fxmap-accent);background:var(--fxmap-surface);box-shadow:var(--fxmap-shadow-sm);transition:transform .12s ease}.fxmap-vertex-hit:hover .fxmap-vertex{transform:scale(1.15)}.fxmap-vertex-start{border-color:var(--fxmap-success)}.fxmap-vertex-end{border-color:var(--fxmap-danger)}.fxmap-vertex-single{border-color:var(--fxmap-accent)}.fxmap-vertex-mid{border-width:2px;border-style:dashed;border-color:var(--fxmap-accent);opacity:.85}.fxmap-draw-cursor-readout{position:absolute;top:0;left:0;z-index:2;padding:2px 8px;border-radius:var(--fxmap-radius-sm);background:color-mix(in srgb,var(--fxmap-text) 85%,transparent);color:var(--fxmap-surface);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.fxmap-draw-summary{gap:12px;height:auto;min-height:30px;padding:4px 12px;flex-wrap:wrap}.fxmap-draw-summary-item:empty{display:none}.fxmap-draw-summary-invalid{color:#fca5a5}.fxmap-toolbar{display:flex;align-items:center;gap:4px;padding:4px;position:relative}.fxmap-toolbar-group{display:flex;align-items:center;gap:2px;padding:0 4px;border-right:1px solid var(--fxmap-border)}.fxmap-toolbar-group:last-of-type{border-right:none}.fxmap-toolbar-finish{gap:6px;padding-left:8px}.fxmap-toolbar-idle .fxmap-toolbar-history,.fxmap-toolbar-idle .fxmap-toolbar-edits,.fxmap-toolbar-idle .fxmap-toolbar-finish{display:none}.fxmap-toolbar-idle .fxmap-toolbar-modes{border-right:none}.fxmap-toolbar-popover{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:10px;width:16rem;padding:12px}.fxmap-toolbar-popover-label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:12px}.fxmap-toolbar-range{width:100%;accent-color:var(--fxmap-accent)}.fxmap-toolbar-popover-count{font-size:12px}.fxmap-toolbar-popover-actions{display:flex;justify-content:flex-end;gap:6px}.fxmap-hint{display:flex;align-items:center;gap:10px;max-width:34rem;padding:6px 6px 6px 12px;font-size:12px;line-height:1.4}.fxmap-hint-icon{display:inline-flex;color:var(--fxmap-accent)}.fxmap-hint-text{flex:1;min-width:0}.fxmap-hint-ok{flex:none}@media(max-width:720px){.fxmap-toolbar{flex-wrap:wrap;justify-content:center}.fxmap-toolbar-group{border-right:none}.fxmap-hint{max-width:calc(100vw - 32px)}}.fxmap-coords{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 4px 0 2px;font-size:12px;white-space:nowrap}.fxmap-coords .fxmap-coords-system{height:22px;padding:0 8px;font-size:11px;font-weight:600;letter-spacing:.02em}.fxmap-coords-value{min-width:9.5rem;text-align:center}.fxmap-coords-note{font-size:10px}.fxmap-coords .fxmap-coords-copy{width:24px;height:24px}.fxmap-coords .fxmap-coords-copy .fxmap-icon{width:15px;height:15px}.fxmap-coords-copied{padding:0 6px;font-size:11px;color:var(--fxmap-success)}.fxmap-locate-active{color:var(--fxmap-accent)}.fxmap-transient{animation:fxmap-transient-in .16s ease}@keyframes fxmap-transient-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fxmap-minimap{width:160px;height:110px;overflow:hidden;border:2px solid var(--fxmap-surface)}.fxmap-minimap-canvas{width:100%;height:100%;background:var(--fxmap-surface-muted);cursor:pointer}.fxmap-minimap-canvas.leaflet-container{font-size:0}.fxmap-measure-menu{display:flex;flex-direction:column;gap:4px;min-width:11rem;padding:6px}.fxmap-measure-menu[hidden]{display:none}.fxmap-measure-menu .fxmap-measure-item{justify-content:flex-start;border:none;background:transparent}.fxmap-measure-menu .fxmap-measure-item:hover:not(:disabled){background:var(--fxmap-accent-soft);color:var(--fxmap-accent)}.fxmap-measure-chip{color:var(--fxmap-text);font-weight:500}.fxmap-measure-chip[hidden]{display:none}.fxmap-measure-cursor-wrap{background:transparent;border:none}.fxmap-measure-cursor{display:inline-block;padding:2px 6px;border-radius:4px;background:color-mix(in srgb,var(--fxmap-text) 85%,transparent);color:var(--fxmap-surface);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.fxmap-measure-cursor:empty{display:none}.fxmap-canvas .fxmap-measure-label{padding:3px 8px;background:var(--fxmap-surface);color:var(--fxmap-warning);font-weight:600;font-variant-numeric:tabular-nums;box-shadow:var(--fxmap-shadow-sm)}.fxmap-canvas .fxmap-measure-label:before{display:none}.fxmap-search{display:flex;align-items:flex-start;width:20rem;max-width:calc(100vw - 80px)}.fxmap-search:has(.fxmap-search-toggle:not([hidden])):not(.fxmap-search-open){width:auto}.fxmap-search-toggle[hidden],.fxmap-search-body[hidden]{display:none}.fxmap-search-body{display:flex;flex-direction:column;width:100%;min-width:0}.fxmap-search-bar{position:relative;display:flex;align-items:center;gap:2px;padding:3px}.fxmap-search-glyph{position:absolute;left:11px;display:inline-flex;color:var(--fxmap-muted);pointer-events:none}.fxmap-search-glyph .fxmap-icon{width:16px;height:16px}.fxmap-search-bar .fxmap-search-input{height:30px;padding-left:30px;border-color:transparent;background:transparent}.fxmap-search-bar .fxmap-search-input:focus{border-color:transparent;box-shadow:none}.fxmap-search-bar .fxmap-search-input::-webkit-search-cancel-button{display:none}.fxmap-search-bar .fxmap-btn-icon{width:28px;height:28px}.fxmap-search-bar .fxmap-btn-icon[hidden]{display:none}.fxmap-search-bar .fxmap-btn-icon .fxmap-icon{width:16px;height:16px}.fxmap-search-tabs{display:flex;gap:2px;padding:0 6px 4px;border-bottom:1px solid var(--fxmap-border)}.fxmap-search-tabs .fxmap-search-tab{height:26px;padding:0 10px;color:var(--fxmap-muted)}.fxmap-search-tabs .fxmap-search-tab-active{color:var(--fxmap-accent);box-shadow:inset 0 -2px 0 var(--fxmap-accent);border-radius:var(--fxmap-radius-sm) var(--fxmap-radius-sm) 0 0}.fxmap-search-results{max-height:18rem;overflow:auto;padding:4px}.fxmap-search-results[hidden]{display:none}.fxmap-search-heading{padding:4px 8px 2px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.fxmap-search-option{display:flex;flex-direction:column;gap:1px;padding:6px 8px;border-radius:var(--fxmap-radius-sm);cursor:pointer}.fxmap-search-option:hover,.fxmap-search-option[aria-selected=true]{background:var(--fxmap-accent-soft)}.fxmap-search-option-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.fxmap-search-option-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.fxmap-search-status{padding:6px 10px;font-size:12px}.fxmap-search-status[hidden],.fxmap-search-attribution[hidden],.fxmap-search-tabs[hidden]{display:none}.fxmap-search-attribution{padding:4px 10px 6px;border-top:1px solid var(--fxmap-border);font-size:10px}.fxmap-selection-box{position:absolute;border:2px dashed var(--fxmap-accent);background:var(--fxmap-accent-soft);border-radius:4px;pointer-events:none}.fxmap-selection-pill{gap:10px}.fxmap-selection-count{font-weight:600}.fxmap-popup .leaflet-popup-content-wrapper{overflow:hidden}.fxmap-card-object{display:flex;flex-direction:column;width:min(320px,80vw);min-width:220px}.fxmap-card-head{display:flex;align-items:flex-start;gap:10px;padding:12px 8px 8px 14px}.fxmap-card-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none}.fxmap-card-icon img{max-width:28px;max-height:28px;object-fit:contain}.fxmap-card-icon-dot{width:14px;height:14px;margin:7px;border-radius:50%;border:2px solid var(--fxmap-surface);box-shadow:var(--fxmap-shadow-sm)}.fxmap-card-titles{flex:1;min-width:0}.fxmap-card-name{font-size:14px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.fxmap-card-layer{font-size:12px}.fxmap-card-close{margin:-6px -2px 0 0;width:28px;height:28px}.fxmap-card-picture{padding:0 14px 8px}.fxmap-card-picture img{display:block;width:96px;height:96px;border-radius:var(--fxmap-radius-sm);object-fit:cover}.fxmap-card-picture-skeleton{width:96px;height:96px}.fxmap-card-details{display:flex;flex-direction:column;gap:6px;padding:0 14px 8px}.fxmap-card-line-skeleton{height:12px;width:80%}.fxmap-card-line-skeleton-short{width:55%}.fxmap-card-row{display:flex;flex-direction:column;gap:2px}.fxmap-card-row-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.fxmap-card-description{margin:0;line-height:1.45;overflow-wrap:anywhere}.fxmap-card-error,.fxmap-feature-error{margin:0;color:var(--fxmap-danger)}.fxmap-card-coords{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 6px 6px 14px;border-top:1px solid var(--fxmap-border);color:var(--fxmap-muted);font-size:12px}.fxmap-card-coords .fxmap-btn-icon{width:28px;height:28px}.fxmap-card-actions{display:flex;flex-wrap:wrap;gap:8px;padding:8px 14px 12px;border-top:1px solid var(--fxmap-border)}.fxmap-feature-panel{width:20rem;max-width:calc(100vw - 80px);max-height:60vh;display:flex;flex-direction:column;overflow:hidden}.fxmap-feature-head{display:flex;align-items:flex-start;gap:8px;padding:12px 8px 8px 14px;border-bottom:1px solid var(--fxmap-border)}.fxmap-feature-titles{flex:1;min-width:0}.fxmap-feature-title{font-size:14px;font-weight:600}.fxmap-feature-subtitle{font-size:12px;overflow-wrap:anywhere}.fxmap-feature-body{flex:1;min-height:0;overflow:auto;padding:10px 14px 12px}.fxmap-feature-skeleton{height:14px;margin-bottom:10px}.fxmap-feature-fields{display:flex;flex-direction:column;gap:8px}.fxmap-feature-row{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);align-items:center;gap:8px}.fxmap-feature-row-json{display:block}.fxmap-feature-row-json summary{cursor:pointer}.fxmap-feature-label{font-size:12px;overflow-wrap:anywhere}.fxmap-feature-value{min-width:0;overflow-wrap:anywhere}.fxmap-feature-value .fxmap-input{height:28px}.fxmap-feature-json{margin:6px 0 0;max-height:12rem;overflow:auto;padding:6px 8px;border-radius:var(--fxmap-radius-sm);background:var(--fxmap-surface-muted);font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}.fxmap-feature-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:10px;margin-top:10px;border-top:1px solid var(--fxmap-border)}.fxmap-feature-status{flex:1;min-width:0;font-size:12px}.fxmap-feature-status-error{color:var(--fxmap-danger)}.fxmap-feature-empty{margin:0}.fxmap-feature-chooser{display:flex;flex-direction:column;gap:6px}.fxmap-feature-choice{justify-content:flex-start;height:auto;min-height:30px;padding:6px 12px;text-align:left;white-space:normal}.fxmap-track-arrow{display:block;width:14px;height:14px;background:var(--fxmap-track-color, var(--fxmap-accent));clip-path:polygon(50% 0,100% 100%,50% 72%,0 100%);opacity:.9}.fxmap-track-playback{display:flex;align-items:center;gap:8px;padding:4px 8px}.fxmap-track-slider{width:min(18rem,40vw);accent-color:var(--fxmap-accent)}.fxmap-track-speed{width:auto;height:28px;padding:0 6px}.fxmap{--fxmap-accent: #2563eb;--fxmap-accent-contrast: #ffffff;--fxmap-accent-soft: rgba(37, 99, 235, .14);--fxmap-surface: #ffffff;--fxmap-surface-muted: #f3f4f6;--fxmap-surface-raised: #ffffff;--fxmap-border: rgba(15, 23, 42, .1);--fxmap-text: #111827;--fxmap-muted: #6b7280;--fxmap-danger: #dc2626;--fxmap-success: #059669;--fxmap-warning: #d97706;--fxmap-radius: 10px;--fxmap-radius-sm: 6px;--fxmap-shadow: 0 1px 2px rgba(15, 23, 42, .08), 0 8px 24px rgba(15, 23, 42, .14);--fxmap-shadow-sm: 0 1px 4px rgba(15, 23, 42, .18);--fxmap-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fxmap-font-size: 13px;--fxmap-control-size: 36px;--fxmap-overlay-z: 800;--fxmap-popup-z: 900;position:relative;width:100%;height:100%;min-height:12rem;font-family:var(--fxmap-font);font-size:var(--fxmap-font-size);color:var(--fxmap-text);isolation:isolate}.fxmap-dark{--fxmap-accent: #60a5fa;--fxmap-accent-contrast: #0b1220;--fxmap-accent-soft: rgba(96, 165, 250, .2);--fxmap-surface: #1f2937;--fxmap-surface-muted: #111827;--fxmap-surface-raised: #273244;--fxmap-border: rgba(255, 255, 255, .12);--fxmap-text: #f3f4f6;--fxmap-muted: #9ca3af;--fxmap-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .5);--fxmap-shadow-sm: 0 1px 4px rgba(0, 0, 0, .5)}.fxmap-canvas{position:absolute;inset:0;width:100%;height:100%;background:var(--fxmap-surface-muted);font-family:inherit}.fxmap-canvas.leaflet-container{font-family:var(--fxmap-font);font-size:var(--fxmap-font-size)}.fxmap-canvas .leaflet-control-container .leaflet-control{margin:10px}.fxmap-canvas .leaflet-bar{border:none;border-radius:var(--fxmap-radius);box-shadow:var(--fxmap-shadow-sm);background:var(--fxmap-surface);overflow:hidden}.fxmap-canvas .leaflet-bar a,.fxmap-canvas .leaflet-bar a:hover,.fxmap-canvas .leaflet-bar a:focus{width:var(--fxmap-control-size);height:var(--fxmap-control-size);line-height:var(--fxmap-control-size);border:none;border-bottom:1px solid var(--fxmap-border);background:var(--fxmap-surface);color:var(--fxmap-text);font-size:18px;font-weight:500}.fxmap-canvas .leaflet-bar a:last-child{border-bottom:none}.fxmap-canvas .leaflet-bar a:hover,.fxmap-canvas .leaflet-bar a:focus-visible{background:var(--fxmap-accent-soft);color:var(--fxmap-accent);outline:none}.fxmap-canvas .leaflet-bar a.leaflet-disabled{color:var(--fxmap-muted);background:var(--fxmap-surface)}.fxmap-canvas .leaflet-control-attribution{padding:2px 8px;border-radius:var(--fxmap-radius-sm) 0 0 0;background:color-mix(in srgb,var(--fxmap-surface) 80%,transparent);color:var(--fxmap-muted);font-size:10px}.fxmap-canvas .leaflet-control-attribution a{color:var(--fxmap-muted)}.fxmap-canvas .leaflet-control-scale-line{border:2px solid var(--fxmap-muted);border-top:none;background:color-mix(in srgb,var(--fxmap-surface) 70%,transparent);color:var(--fxmap-text);font-size:10px;line-height:1.3}.fxmap-canvas .leaflet-bottom.leaflet-left{display:flex;align-items:flex-end}.fxmap-canvas .leaflet-bottom.leaflet-left .leaflet-control{float:none;clear:none}.fxmap-canvas .leaflet-bottom.leaflet-left .fxmap-scale{order:0;margin-right:0}.fxmap-canvas .leaflet-bottom.leaflet-left .fxmap-coords{order:1}.fxmap-canvas .leaflet-tooltip{padding:4px 8px;border:none;border-radius:var(--fxmap-radius-sm);background:color-mix(in srgb,var(--fxmap-text) 88%,transparent);color:var(--fxmap-surface);font-size:12px;box-shadow:var(--fxmap-shadow-sm)}.fxmap-canvas .leaflet-tooltip-top:before{border-top-color:color-mix(in srgb,var(--fxmap-text) 88%,transparent)}.fxmap-canvas .leaflet-tooltip-bottom:before{border-bottom-color:color-mix(in srgb,var(--fxmap-text) 88%,transparent)}.fxmap-canvas .leaflet-tooltip-left:before{border-left-color:color-mix(in srgb,var(--fxmap-text) 88%,transparent)}.fxmap-canvas .leaflet-tooltip-right:before{border-right-color:color-mix(in srgb,var(--fxmap-text) 88%,transparent)}.fxmap-canvas .leaflet-popup-content-wrapper{padding:0;border-radius:var(--fxmap-radius);background:var(--fxmap-surface);color:var(--fxmap-text);box-shadow:var(--fxmap-shadow)}.fxmap-canvas .leaflet-popup-content{margin:10px 12px;line-height:1.4;font-size:var(--fxmap-font-size)}.fxmap-canvas .fxmap-popup .leaflet-popup-content{margin:0}.fxmap-canvas .leaflet-popup-tip{background:var(--fxmap-surface);box-shadow:var(--fxmap-shadow-sm)}.fxmap-canvas .leaflet-popup-close-button{display:none}.fxmap-canvas.fxmap-cursor-crosshair,.fxmap-canvas.fxmap-cursor-crosshair .leaflet-interactive{cursor:crosshair}.fxmap-canvas .fxmap-cursor-grab{cursor:grab}.fxmap-overlay{position:absolute;inset:0;z-index:var(--fxmap-overlay-z);pointer-events:none}.fxmap-slot{position:absolute;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.fxmap-slot>*{pointer-events:auto}.fxmap [hidden]{display:none!important}.fxmap-slot-top{top:10px;left:50%;transform:translate(-50%);max-width:calc(100% - 120px)}.fxmap-slot-bottom{bottom:10px;left:50%;transform:translate(-50%);max-width:calc(100% - 120px)}.fxmap-slot-bottom-left{bottom:48px;left:10px;align-items:flex-start}.fxmap-slot-bottom-right{bottom:10px;right:56px;align-items:flex-end}.fxmap-card{background:var(--fxmap-surface);color:var(--fxmap-text);border-radius:var(--fxmap-radius);box-shadow:var(--fxmap-shadow)}.fxmap-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0;border:none;border-radius:var(--fxmap-radius-sm);background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background-color .12s ease,color .12s ease}.fxmap-btn:focus-visible{outline:2px solid var(--fxmap-accent);outline-offset:1px}.fxmap-btn:disabled{cursor:default;opacity:.45}.fxmap-btn-icon{width:var(--fxmap-control-size);height:var(--fxmap-control-size);padding:0;color:var(--fxmap-text)}.fxmap-btn-icon:hover:not(:disabled),.fxmap-btn-icon[aria-pressed=true],.fxmap-btn-icon[aria-expanded=true]{background:var(--fxmap-accent-soft);color:var(--fxmap-accent)}.fxmap-btn-text,.fxmap-btn-ghost,.fxmap-btn-primary{height:30px;padding:0 12px;font-weight:500}.fxmap-btn-text{color:var(--fxmap-accent)}.fxmap-btn-text:hover:not(:disabled){background:var(--fxmap-accent-soft)}.fxmap-btn-ghost{color:var(--fxmap-text);border:1px solid var(--fxmap-border);background:var(--fxmap-surface)}.fxmap-btn-ghost:hover:not(:disabled){background:var(--fxmap-surface-muted)}.fxmap-btn-primary{background:var(--fxmap-accent);color:var(--fxmap-accent-contrast)}.fxmap-btn-primary:hover:not(:disabled){filter:brightness(1.08)}.fxmap-icon{width:18px;height:18px;flex:none}.fxmap-btn-icon .fxmap-icon{width:20px;height:20px}.fxmap-control{border-radius:var(--fxmap-radius);background:var(--fxmap-surface);box-shadow:var(--fxmap-shadow-sm)}.fxmap-control-stack{display:flex;flex-direction:column}.fxmap-control-stack .fxmap-btn-icon{border-radius:0;border-bottom:1px solid var(--fxmap-border)}.fxmap-control-stack .fxmap-btn-icon:first-child{border-radius:var(--fxmap-radius) var(--fxmap-radius) 0 0}.fxmap-control-stack .fxmap-btn-icon:last-child{border-bottom:none;border-radius:0 0 var(--fxmap-radius) var(--fxmap-radius)}.fxmap-control-stack .fxmap-btn-icon:only-child{border-radius:var(--fxmap-radius)}.fxmap-chip{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 10px 0 12px;border-radius:999px;background:var(--fxmap-surface);color:var(--fxmap-text);box-shadow:var(--fxmap-shadow-sm);font-size:12px;white-space:nowrap}.fxmap-chip-dark{background:color-mix(in srgb,var(--fxmap-text) 85%,transparent);color:var(--fxmap-surface)}.fxmap-chip .fxmap-btn-icon{width:24px;height:24px}.fxmap-chip .fxmap-btn-icon .fxmap-icon{width:16px;height:16px}.fxmap-muted{color:var(--fxmap-muted)}.fxmap-tabular{font-variant-numeric:tabular-nums}.fxmap-input{width:100%;height:32px;padding:0 10px;border:1px solid var(--fxmap-border);border-radius:var(--fxmap-radius-sm);background:var(--fxmap-surface);color:var(--fxmap-text);font:inherit}.fxmap-input:focus{outline:none;border-color:var(--fxmap-accent);box-shadow:0 0 0 3px var(--fxmap-accent-soft)}.fxmap-input::placeholder{color:var(--fxmap-muted)}.fxmap-switch{position:relative;display:inline-block;width:32px;height:18px;flex:none}.fxmap-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.fxmap-switch-track{position:absolute;inset:0;border-radius:999px;background:var(--fxmap-border);transition:background-color .12s ease}.fxmap-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--fxmap-surface);box-shadow:0 1px 2px #0000004d;transition:transform .12s ease}.fxmap-switch input:checked+.fxmap-switch-track{background:var(--fxmap-accent)}.fxmap-switch input:checked+.fxmap-switch-track:after{transform:translate(14px)}.fxmap-switch input:focus-visible+.fxmap-switch-track{box-shadow:0 0 0 3px var(--fxmap-accent-soft)}.fxmap-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;flex:none}.fxmap-swatch-line{height:4px;border-radius:2px}.fxmap-swatch-icon{width:16px;height:16px;border-radius:0;object-fit:contain}.fxmap-skeleton{background:linear-gradient(90deg,var(--fxmap-surface-muted) 25%,var(--fxmap-border) 50%,var(--fxmap-surface-muted) 75%);background-size:200% 100%;border-radius:var(--fxmap-radius-sm);animation:fxmap-shimmer 1.2s linear infinite}@keyframes fxmap-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fxmap-cluster{display:flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--fxmap-cluster-color, var(--fxmap-accent)) 18%,var(--fxmap-surface));border:3px solid var(--fxmap-cluster-color, var(--fxmap-accent));color:var(--fxmap-cluster-color, var(--fxmap-accent));font-size:12px;font-weight:700;box-shadow:var(--fxmap-shadow-sm);cursor:pointer;transition:transform .12s ease}.fxmap-cluster-mixed{border-color:transparent;background:radial-gradient(circle,var(--fxmap-surface) 58%,transparent 60%),var(--fxmap-cluster-ring, var(--fxmap-accent));color:var(--fxmap-text)}.fxmap-cluster:hover{transform:scale(1.08)}.fxmap-marker{position:relative;display:block;transition:transform .12s ease;transform-origin:bottom center}.fxmap-marker img{display:block;width:100%;height:100%}.fxmap-marker-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--fxmap-surface);background:var(--fxmap-marker-color, var(--fxmap-accent));box-shadow:var(--fxmap-shadow-sm);transform-origin:center}.fxmap-marker-hover{transform:scale(1.15);z-index:1}.fxmap-marker-selected:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:3px solid var(--fxmap-accent);pointer-events:none}.fxmap-marker-icon.fxmap-marker-selected:after{inset:-4px;border-radius:8px}.fxmap-label{padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--fxmap-surface) 85%,transparent);color:var(--fxmap-text);font-size:11px;font-weight:500;white-space:nowrap;pointer-events:none;text-shadow:0 0 2px var(--fxmap-surface)}.fxmap-path-hover{filter:drop-shadow(0 0 3px var(--fxmap-accent))}.fxmap-selection-halo{pointer-events:none}.fxmap-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.fxmap *,.fxmap *:before,.fxmap *:after{transition-duration:0ms!important;animation-duration:0ms!important}}:root{--color-primary-100: #e2cecf;--color-primary-200: #c59da0;--color-primary-300: #a86c70;--color-primary-400: #8b3b41;--color-primary-500: #6e0a11;--color-primary-600: #58080e;--color-primary-700: #42060a;--color-primary-800: #2c0407;--color-secondary-100: #e2e2e2;--color-secondary-200: #c5c5c5;--color-secondary-300: #a9a9a8;--color-secondary-400: #8c8c8b;--color-secondary-500: #6f6f6e;--color-secondary-600: #595958;--color-secondary-700: #434342;--color-secondary-800: #2c2c2c;--color-tertiary-100: #dfe4ed;--color-tertiary-200: #bfc9da;--color-tertiary-300: #9faec8;--color-tertiary-400: #7f93b5;--color-tertiary-500: #5f78a3;--color-tertiary-600: #4c6082;--color-tertiary-700: #394862;--color-tertiary-800: #263041;--color-neutral-100: #f7f7f8;--color-neutral-200: #efeff1;--color-neutral-300: #e7e7e9;--color-neutral-400: #dfdfe2;--color-neutral-500: #d7d7db;--color-neutral-600: #acacaf;--color-neutral-700: #818183;--color-neutral-800: #565658;--color-success-dark: #2e6b45;--color-success-light: #e6f0ea;--color-alert-dark: #9a6b15;--color-alert-light: #f6eedd;--color-error-dark: #b3362a;--color-error-light: #f8e7e5;--color-decent-blue: #1a56db;--color-light-primary: #f5e8e9;--color-picker-default: #2c2c2c;--color-text: #1a1a1a;--color-white: #ffffff;--color-black: #000000;--color-transparent: transparent;--color-app-background: var(--color-neutral-100);--color-surface: var(--color-white);--color-surface-muted: var(--color-neutral-200);--color-surface-inverse: var(--color-primary-500);--color-surface-glass: rgba(255, 255, 255, .85);--color-border: var(--color-neutral-400);--color-border-strong: var(--color-neutral-600);--color-text-primary: var(--color-text);--color-text-secondary: var(--color-neutral-800);--color-text-muted: var(--color-secondary-500);--color-text-inverse: var(--color-white);--color-accent: var(--color-primary-500);--color-accent-hover: var(--color-primary-600);--color-accent-soft: var(--color-light-primary);--color-focus-ring: var(--color-primary-300);--color-info: var(--color-decent-blue);--color-priority-high: var(--color-error-dark);--color-priority-medium: var(--color-alert-dark);--color-chart-1: var(--color-decent-blue);--color-chart-2: var(--color-error-dark);--color-chart-3: var(--color-success-dark);--color-chart-4: var(--color-tertiary-400);--color-chart-5: var(--color-alert-dark);--color-chart-grid: var(--color-neutral-400);--color-chart-track: var(--color-neutral-300);--font-heading: "Space Grotesk", "Segoe UI", system-ui, sans-serif;--font-body: "Barlow", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-3xs: .625rem;--font-size-2xs: .6875rem;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-md: .875rem;--font-size-lg: 1rem;--font-size-xl: 1.125rem;--font-size-2xl: 1.375rem;--font-size-3xl: 1.75rem;--font-size-4xl: 2rem;--font-size-display: 3rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.15;--line-height-snug: 1.3;--line-height-normal: 1.5;--letter-spacing-normal: 0;--letter-spacing-wide: .0375rem;--letter-spacing-wider: .0625rem;--space-0: 0rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-pill: 62.4375rem;--radius-circle: 50%;--border-width-none: 0rem;--border-width-thin: .0625rem;--border-width-thick: .125rem;--border-width-accent: .1875rem;--shadow-sm: 0 .0625rem .125rem rgba(0, 0, 0, .05);--shadow-md: 0 .25rem .75rem rgba(0, 0, 0, .06);--shadow-lg: 0 1rem 2.5rem rgba(0, 0, 0, .12);--shadow-focus: 0 0 0 .1875rem var(--color-accent-soft);--blur-glass: 12px;--size-sidebar: 17.5rem;--size-topbar: 4rem;--size-icon-xs: .75rem;--size-icon-sm: 1rem;--size-icon-md: 1.25rem;--size-icon-lg: 1.5rem;--size-icon-xl: 2rem;--size-avatar-sm: 2rem;--size-avatar-md: 2.5rem;--size-avatar-lg: 6rem;--size-control-sm: 2rem;--size-control-toolbar: 2.375rem;--size-control-md: 2.5rem;--size-control-lg: 2.75rem;--size-control-xl: 3rem;--size-control-2xl: 3.125rem;--size-check-lg: 1.375rem;--size-segmented-option: 1.75rem;--size-marker: 1.75rem;--size-search: 20rem;--size-search-lg: 24rem;--size-search-sm: 12.5rem;--size-sort-select: 7.375rem;--size-auth-card: 22rem;--size-content-max: 78rem;--size-track: .375rem;--size-track-lg: .5rem;--size-sparkline: 3rem;--size-gauge: 9rem;--size-chart-md: 15rem;--size-chart-sm: 11rem;--size-modal-sm: 34rem;--size-modal-detail: 47rem;--size-modal-md: 56rem;--size-modal-lg: 76rem;--size-modal-xl: 96rem;--size-field-min: 15rem;--size-check-min: 16rem;--size-caret: .3125rem;--size-select-caret: 1.375rem;--size-dot: .5rem;--size-menu: 14rem;--size-toast-max: min(28rem, 92vw);--size-swatch: 4rem;--size-col-actions: 1%;--size-map-min: 32rem;--size-map-thumb: 8rem;--size-filter-min: 17rem;--size-filter-operator: 3.5rem;--size-detail-label: 12rem;--size-stat-tile-min: 8rem;--size-scroll-panel-max: 60vh;--size-grid-min: 47.8125rem;--size-buses-body-min: 32rem;--size-drivers-col-name: 9.774rem;--size-drivers-col-status: 7.611rem;--size-drivers-col-code: 8.983rem;--size-drivers-col-entry: 8.25rem;--size-drivers-col-actions: 6.936rem;--size-textarea-md: 7.625rem;--size-pairing-toolbar: 3.625rem;--size-pairing-row: 6rem;--size-pairing-footer: 4.0625rem;--size-day-toggle: 2rem;--size-day-toggle-height: 1.5rem;--size-day-toggle-block: 8.6875rem;--opacity-disabled: .55;--opacity-muted: .7;--opacity-overlay: .45;--duration-fast: .12s;--duration-base: .2s;--easing-standard: cubic-bezier(.4, 0, .2, 1);--z-base: 1;--z-sticky: 10;--z-overlay: 100;--z-toast: 1000;--grid-columns-2: repeat(2, minmax(0, 1fr));--grid-columns-3: repeat(3, minmax(0, 1fr));--grid-columns-4: repeat(4, minmax(0, 1fr));--grid-columns-pairing: 8.4375rem 12.5625rem 11.9375rem 11.9375rem minmax(0, 1fr);--grid-split-main: minmax(0, 2fr) minmax(0, 1fr);--grid-split-even: minmax(0, 1fr) minmax(0, 1fr)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:var(--space-0);background-color:var(--color-app-background);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--font-size-md);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:var(--space-0);font-family:var(--font-heading);line-height:var(--line-height-snug)}p{margin:var(--space-0)}a{color:var(--color-accent);text-decoration:none}button{font-family:inherit}:focus-visible{outline:var(--border-width-thick) solid var(--color-focus-ring);outline-offset:var(--border-width-thick)}.icon{display:inline-block;flex:none;width:var(--size-icon-md);height:var(--size-icon-md);color:currentColor;fill:currentColor}.icon-xs{width:var(--size-icon-xs);height:var(--size-icon-xs)}.icon-sm{width:var(--size-icon-sm);height:var(--size-icon-sm)}.icon-lg{width:var(--size-icon-lg);height:var(--size-icon-lg)}.icon-xl{width:var(--size-icon-xl);height:var(--size-icon-xl)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-sm{gap:var(--space-2)}.stack-lg{gap:var(--space-6)}.stack-center{align-items:center}.row{display:flex;align-items:center;gap:var(--space-3)}.row-sm{gap:var(--space-2)}.row-between{justify-content:space-between}.row-end{justify-content:flex-end}.row-wrap{flex-wrap:wrap}.grid{display:grid;gap:var(--space-4)}.grid-lg{gap:var(--space-6)}.grid-2{grid-template-columns:var(--grid-columns-2)}.grid-3{grid-template-columns:var(--grid-columns-3)}.grid-4{grid-template-columns:var(--grid-columns-4)}.grid-main{grid-template-columns:var(--grid-split-main)}.grid-even{grid-template-columns:var(--grid-split-even)}.grow{flex:1 1 auto;min-width:var(--space-0)}.text-heading{font-family:var(--font-heading);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.text-title{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.text-subtitle{font-size:var(--font-size-md);color:var(--color-text-secondary)}.text-body{font-size:var(--font-size-md);color:var(--color-text-primary)}.text-muted{font-size:var(--font-size-sm);color:var(--color-text-muted)}.text-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-secondary)}.text-metric{font-family:var(--font-heading);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success-dark)}.text-error{color:var(--color-error-dark)}.text-alert{color:var(--color-alert-dark)}.text-info{color:var(--color-info)}.text-center{text-align:center}.text-strong{font-weight:var(--font-weight-semibold)}.app-shell{display:flex;min-height:100%;background-color:var(--color-app-background)}.app-sidebar{display:flex;flex-direction:column;flex:none;width:var(--size-sidebar);padding:var(--space-5) var(--space-4);gap:var(--space-6);background-color:var(--color-neutral-100);border-right:var(--border-width-none) solid var(--color-transparent);position:sticky;top:var(--space-0);height:100vh;overflow-y:auto;z-index:var(--z-sticky)}.app-brand{display:flex;align-items:center;gap:var(--space-3);padding-left:var(--space-2)}.app-brand-logo{width:var(--size-avatar-md);height:var(--size-avatar-md);object-fit:contain}.app-brand-name{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-accent)}.app-nav{display:flex;flex-direction:column;gap:var(--space-1)}.app-nav-footer{margin-top:auto;padding-top:var(--space-4);border-top:var(--border-width-thin) solid var(--color-neutral-300)}.nav-link{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:var(--border-width-none) solid var(--color-transparent);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-body);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);text-align:left;background-color:var(--color-transparent);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.nav-link:hover{background-color:var(--color-neutral-200)}.nav-link-active{background-color:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--font-weight-semibold)}.app-main{display:flex;flex-direction:column;flex:1 1 auto;min-width:var(--space-0)}.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);height:var(--size-topbar);flex:none;padding:var(--space-0) var(--space-6);background-color:var(--color-neutral-100);border-bottom:var(--border-width-none) solid var(--color-transparent);position:sticky;top:var(--space-0);z-index:var(--z-sticky)}.app-topbar .search-box{width:var(--size-search-lg)}.app-content{padding:var(--space-6);width:100%;min-width:0}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.menu-anchor{position:relative}.menu{position:absolute;top:calc(100% + var(--space-2));right:var(--space-0);display:flex;flex-direction:column;gap:var(--space-1);min-width:var(--size-menu);padding:var(--space-2);background-color:var(--color-surface);border:var(--border-width-thin) solid var(--color-neutral-300);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:var(--z-overlay)}.menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:var(--border-width-none) solid var(--color-transparent);border-radius:var(--radius-sm);background-color:var(--color-transparent);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--font-size-md);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard)}.menu-item:hover{background-color:var(--color-neutral-200)}.surface-glass{background-color:var(--color-surface-glass);backdrop-filter:blur(var(--blur-glass));-webkit-backdrop-filter:blur(var(--blur-glass))}.card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);background-color:var(--color-surface);border:var(--border-width-thin) solid var(--color-neutral-300);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-flat{box-shadow:none}.card.card-borderless{border:var(--border-width-none) solid var(--color-transparent)}.card.card-flush{padding:var(--space-0);gap:var(--space-0);overflow:hidden}.card.card-flush>.card-header{padding:var(--space-5)}.card-muted{background-color:var(--color-neutral-100)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:var(--border-width-thin) solid var(--color-neutral-300)}.card-title{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.card-glass{background-color:var(--color-surface-glass);backdrop-filter:blur(var(--blur-glass));-webkit-backdrop-filter:blur(var(--blur-glass));border-color:var(--color-transparent);box-shadow:var(--shadow-md)}.card-header-plain>.card-header{padding-bottom:var(--space-0);border-bottom:var(--border-width-none) solid var(--color-transparent)}.card-header-tinted>.card-header{flex:none;padding:var(--space-4);background-color:var(--color-neutral-200);border-bottom:var(--border-width-none) solid var(--color-transparent)}.stat-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);min-width:0;background-color:var(--color-surface);border:var(--border-width-thin) solid var(--color-neutral-300);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.stat-card-value{min-width:0;overflow-wrap:anywhere}.stat-card-value-long{font-size:var(--font-size-xl)}.stat-card-head-leading{display:flex;align-items:center;gap:var(--space-3)}.stat-card-head-leading .stat-card-badge{flex:none;border-radius:var(--radius-md)}.stat-card-head-label{min-width:var(--space-0);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.stat-card-badge{display:flex;align-items:center;justify-content:center;width:var(--size-control-sm);height:var(--size-control-sm);border-radius:var(--radius-circle);background-color:var(--color-accent-soft);color:var(--color-accent)}.stat-card-badge-info{background-color:var(--color-tertiary-100);color:var(--color-tertiary-600)}.stat-card-badge-alert{background-color:var(--color-alert-light);color:var(--color-alert-dark)}.stat-card-badge-error{background-color:var(--color-error-light);color:var(--color-error-dark)}.stat-card-badge-success{background-color:var(--color-success-light);color:var(--color-success-dark)}.stat-card-badge-neutral{background-color:var(--color-neutral-200);color:var(--color-text-secondary)}.stat-card-badge-info-muted{background-color:var(--color-tertiary-100);color:var(--color-tertiary-600)}.stat-card-leading{flex-direction:row;align-items:center;gap:var(--space-4);text-decoration:none}.stat-card-highlight{border-color:var(--color-error-dark)}.stat-card-tile{display:flex;align-items:center;justify-content:center;flex:none;width:var(--size-avatar-md);height:var(--space-12);border-radius:var(--radius-md);background-color:var(--color-accent-soft);color:var(--color-accent)}.stat-card-tile-info{background-color:var(--color-tertiary-100);color:var(--color-info)}.stat-card-tile-info-muted{background-color:var(--color-tertiary-100);color:var(--color-tertiary-600)}.stat-card-tile-alert{background-color:var(--color-alert-light);color:var(--color-alert-dark)}.stat-card-tile-error{background-color:var(--color-error-light);color:var(--color-error-dark)}.stat-card-tile-success{background-color:var(--color-success-light);color:var(--color-success-dark)}.stat-card-lead-body{display:flex;flex-direction:column;gap:var(--space-1);min-width:var(--space-0)}.stat-card-lead-label{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);color:var(--color-secondary-700)}.stat-card-lead-value{display:flex;align-items:baseline;gap:var(--space-1);font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}.stat-card-suffix{font-family:var(--font-body);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);color:var(--color-neutral-700)}.stat-card-highlight .stat-card-lead-value{color:var(--color-error-dark)}.stat-card-highlight .stat-card-suffix{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-error-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--size-control-md);padding:var(--space-0) var(--space-4);border:var(--border-width-thin) solid var(--color-transparent);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-primary{background-color:var(--color-accent);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover:enabled{background-color:var(--color-accent-hover)}.btn-secondary{background-color:var(--color-neutral-200);border-color:var(--color-tertiary-200);color:var(--color-text-primary)}.btn-secondary:hover:enabled{background-color:var(--color-neutral-300)}.btn-outline{background-color:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent)}.btn-outline:hover:enabled{background-color:var(--color-accent-soft)}.btn-ghost{background-color:var(--color-transparent);color:var(--color-text-secondary)}.btn-ghost:hover:enabled{background-color:var(--color-neutral-200)}.btn-danger{background-color:var(--color-error-dark);color:var(--color-text-inverse)}.btn.btn-link{height:auto;padding:var(--space-0);background-color:var(--color-transparent);border-color:var(--color-transparent);color:var(--color-accent);font-weight:var(--font-weight-medium)}.btn.btn-link:hover:enabled{color:var(--color-accent-hover);text-decoration:underline}.btn-sm{height:var(--size-control-sm);padding:var(--space-0) var(--space-3);font-size:var(--font-size-sm)}.btn-lg{height:var(--size-control-lg);padding:var(--space-0) var(--space-6)}.btn-block{width:100%}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--size-control-sm);height:var(--size-control-sm);padding:var(--space-0);border:var(--border-width-thin) solid var(--color-transparent);border-radius:var(--radius-circle);background-color:var(--color-transparent);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard)}.btn-icon:hover:enabled{background-color:var(--color-neutral-200)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-secondary)}.field-head{display:block}.field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.field-label-invalid{color:var(--color-error-dark)}.field-required{color:var(--color-error-dark);font-weight:var(--font-weight-bold)}.field-constraint{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:none;letter-spacing:normal}.field-error{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background-color:var(--color-error-light);font-size:var(--font-size-xs);color:var(--color-error-dark)}.field-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.input{width:100%;height:var(--size-control-md);padding:var(--space-0) var(--space-3);background-color:var(--color-surface);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--font-size-md);transition:border-color var(--duration-fast) var(--easing-standard),box-shadow var(--duration-fast) var(--easing-standard)}.input::placeholder{color:var(--color-neutral-600)}.input:focus{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.input:disabled{background-color:var(--color-neutral-200);color:var(--color-text-muted)}.input-invalid{border-color:var(--color-error-dark)}.input-textarea{height:auto;min-height:var(--size-sparkline);padding:var(--space-2) var(--space-3);resize:vertical}.input-search{padding-left:var(--space-8);border-radius:var(--radius-md)}.input-color{max-width:var(--size-swatch);padding:var(--space-1)}.search-box{position:relative;width:var(--size-search)}.search-box-icon{position:absolute;top:50%;left:var(--space-3);transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.select-wrapper{position:relative;width:100%}.select{width:100%;height:var(--size-control-md);padding:var(--space-0) var(--space-8) var(--space-0) var(--space-3);background-color:var(--color-surface);background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:right var(--space-4) center,right var(--space-3) center;background-size:var(--size-caret) var(--size-caret);background-repeat:no-repeat;border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--font-size-md);appearance:none;cursor:pointer}.select:disabled{background-color:var(--color-surface-muted);color:var(--color-text-muted);cursor:not-allowed}.select:focus{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.select-plain{background-image:none}.select-icon{position:absolute;top:50%;right:var(--space-3);transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.select-icon-lg{width:var(--size-select-caret);height:var(--size-select-caret);color:var(--color-text-secondary)}.radio-group{display:flex;align-items:center;gap:var(--space-6)}.radio-option{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-md);color:var(--color-text-primary);cursor:pointer}.radio-input{width:var(--size-icon-sm);height:var(--size-icon-sm);accent-color:var(--color-accent)}.segmented{display:inline-flex;padding:var(--space-1);gap:var(--space-1);background-color:var(--color-neutral-200);border-radius:var(--radius-md)}.segmented-option{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:var(--size-avatar-lg);height:var(--size-control-sm);padding:var(--space-0) var(--space-4);border:var(--border-width-none) solid var(--color-transparent);border-radius:var(--radius-sm);background-color:var(--color-transparent);color:var(--color-text-secondary);font-size:var(--font-size-md);cursor:pointer}.segmented-option-active{background-color:var(--color-accent);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold)}.segmented.segmented-outline{align-items:center;height:var(--size-control-toolbar);gap:var(--space-0);background-color:var(--color-surface);border:var(--border-width-thin) solid var(--color-border)}.segmented.segmented-plain{padding:var(--space-0);gap:var(--space-2);background-color:var(--color-transparent)}.segmented-plain .segmented-option{min-width:var(--space-0);padding:var(--space-0) var(--space-3)}.segmented-plain .segmented-option-active{background-color:var(--color-accent-soft);color:var(--color-accent)}.segmented-option.segmented-option-compact{min-width:var(--space-0);height:var(--size-segmented-option);padding:var(--space-0) var(--space-3);border:var(--border-width-none) solid var(--color-transparent);font-family:var(--font-body);font-weight:var(--font-weight-medium);white-space:nowrap;transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.segmented-option.segmented-option-compact:hover{background-color:var(--color-neutral-200)}.segmented-outline .segmented-option-active,.segmented-outline .segmented-option-active:hover{background-color:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--font-weight-semibold)}.scale{display:flex;gap:var(--space-2)}.scale-option{flex:1 1 auto;height:var(--size-control-md);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-md);cursor:pointer}.scale-option-active{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background-color:var(--color-neutral-200);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.badge-outlined{border:var(--border-width-thin) solid currentColor}.badge-accent{background-color:var(--color-accent-soft);color:var(--color-accent)}.badge-success{background-color:var(--color-success-light);color:var(--color-success-dark)}.badge-alert{background-color:var(--color-alert-light);color:var(--color-alert-dark)}.badge-error{background-color:var(--color-error-light);color:var(--color-error-dark)}.badge-error-solid{background-color:var(--color-error-dark);color:var(--color-white);font-weight:var(--font-weight-semibold)}.badge-info{background-color:var(--color-tertiary-100);color:var(--color-tertiary-700)}.badge-neutral-info{background-color:var(--color-neutral-400);color:var(--color-text-primary)}.badge-neutral-info .dot{background-color:var(--color-info)}.badge-success.badge-solid{background-color:var(--color-success-dark);color:var(--color-text-inverse)}.dot{width:var(--size-dot);height:var(--size-dot);border-radius:var(--radius-circle);background-color:currentColor}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--size-avatar-sm);height:var(--size-avatar-sm);border-radius:var(--radius-circle);background-color:var(--color-tertiary-100);color:var(--color-tertiary-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);overflow:hidden}.avatar-md{width:var(--size-avatar-md);height:var(--size-avatar-md);font-size:var(--font-size-md)}.avatar-lg{width:var(--size-avatar-lg);height:var(--size-avatar-lg);font-size:var(--font-size-3xl);border:var(--border-width-accent) solid var(--color-surface);box-shadow:var(--shadow-sm)}.avatar-image{width:100%;height:100%;object-fit:cover}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-md)}.table th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);border-bottom:var(--border-width-thin) solid var(--color-neutral-400)}.table td{padding:var(--space-3) var(--space-4);border-bottom:var(--border-width-thin) solid var(--color-neutral-300);color:var(--color-text-primary)}.table tr:last-child td{border-bottom:var(--border-width-none) solid var(--color-transparent)}.grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.grid-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--size-filter-min),1fr));gap:var(--space-3) var(--space-4);padding:var(--space-4);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface-muted)}.grid-filter{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.grid-filter-row{display:flex;gap:var(--space-2);flex-wrap:nowrap}.grid-filter-operator{flex:0 0 auto;width:auto;min-width:var(--size-filter-operator)}.grid-filter-row .grid-filter-value{flex:1 1 auto;width:auto;min-width:0}.grid-filters-clear{display:flex;align-items:flex-end}.grid-table-wrap{overflow-x:auto;border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface)}.grid-table-wrap .table th{background-color:var(--color-surface-muted);white-space:nowrap}.grid-table-wrap .table tbody tr:hover td{background-color:var(--color-neutral-200)}.grid-col-actions{width:var(--size-col-actions);white-space:nowrap}.grid-col-spacer{width:auto}.grid-cell-actions{white-space:nowrap}.grid-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.grid-footer-count{white-space:nowrap}.grid-footer-pager{display:flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap;margin-left:auto}.grid-pager{display:flex;align-items:center;gap:var(--space-1);flex-wrap:nowrap}.grid-pager-btn{display:inline-flex;align-items:center;justify-content:center;min-width:var(--size-control-sm);height:var(--size-control-sm);padding:var(--space-0) var(--space-2);border:var(--border-width-none) solid var(--color-transparent);border-radius:var(--radius-sm);background-color:var(--color-transparent);color:var(--color-text-secondary);font-family:var(--font-body);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard)}.grid-pager-btn:hover:enabled{background-color:var(--color-neutral-200)}.grid-pager-btn-active,.grid-pager-btn-active:hover:enabled{background-color:var(--color-accent-soft);color:var(--color-info);font-weight:var(--font-weight-semibold)}.grid-pager-ellipsis{padding:var(--space-0) var(--space-2);color:var(--color-text-secondary)}.grid-pager .btn-icon:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.grid-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-4) var(--space-6);background-color:var(--color-neutral-100);border:var(--border-width-thin) solid var(--color-border);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.grid-card-summary{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap}.grid-card-summary strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.grid-pager-count{padding:var(--space-0) var(--space-2);white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.list-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:var(--border-width-thin) solid var(--color-neutral-300);border-radius:var(--radius-md);background-color:var(--color-surface);cursor:pointer;text-align:left;width:100%;font-family:var(--font-body);font-size:var(--font-size-md);transition:border-color var(--duration-fast) var(--easing-standard),background-color var(--duration-fast) var(--easing-standard)}.list-item:hover{border-color:var(--color-border-strong)}.list-item-active{background-color:var(--color-accent-soft);border-color:var(--color-accent)}.list-item-icon{display:flex;align-items:center;justify-content:center;flex:none;width:var(--size-control-sm);height:var(--size-control-sm);border-radius:var(--radius-md);background-color:var(--color-tertiary-100);color:var(--color-tertiary-600)}.file-drop{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-8);border:var(--border-width-thin) dashed var(--color-border-strong);border-radius:var(--radius-lg);background-color:var(--color-neutral-100);text-align:center}.file-drop-active{border-color:var(--color-accent);background-color:var(--color-accent-soft)}.file-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background-color:var(--color-tertiary-100)}.progress-track{width:100%;height:var(--size-track);border-radius:var(--radius-pill);background-color:var(--color-chart-track);overflow:hidden}.progress-value{height:100%;border-radius:var(--radius-pill);background-color:var(--color-accent)}.progress-value-info{background-color:var(--color-info)}.progress-value-success{background-color:var(--color-success-dark)}.progress-value-alert{background-color:var(--color-alert-dark)}.chart{width:100%;height:var(--size-chart-md)}.chart-sm{height:var(--size-chart-sm)}.chart-sparkline{width:100%;height:var(--size-sparkline)}.chart-gauge{width:var(--size-gauge);height:var(--size-gauge)}.chart-legend{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.chart-legend-item{display:inline-flex;align-items:center;gap:var(--space-2)}.auth-screen{display:flex;align-items:center;justify-content:center;min-height:100%;padding:var(--space-8);background-color:var(--color-app-background)}.auth-card{display:flex;flex-direction:column;gap:var(--space-5);width:100%;max-width:var(--size-auth-card);padding:var(--space-8);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.auth-card-wide{max-width:var(--size-chart-md)}.auth-logo{width:var(--size-avatar-lg);height:var(--size-avatar-lg);object-fit:contain;align-self:center}.alert{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.alert-error{background-color:var(--color-error-light);color:var(--color-error-dark)}.alert-success{background-color:var(--color-success-light);color:var(--color-success-dark)}.alert-info{background-color:var(--color-tertiary-100);color:var(--color-tertiary-700)}.alert-warning{background-color:var(--color-alert-light);color:var(--color-alert-dark)}.toast-stack{position:fixed;right:var(--space-4);bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);max-width:var(--size-toast-max);z-index:var(--z-toast)}.section-divider{height:var(--border-width-thin);background-color:var(--color-neutral-300);border:var(--border-width-none) solid var(--color-transparent)}.spinner{width:var(--size-icon-lg);height:var(--size-icon-lg);border:var(--border-width-thick) solid var(--color-neutral-400);border-top-color:var(--color-accent);border-radius:var(--radius-circle);animation:spin var(--duration-base) linear infinite}.btn-spinner{display:inline-block;width:var(--size-icon-sm);height:var(--size-icon-sm);border:var(--border-width-thick) solid var(--color-neutral-400);border-top-color:currentColor;border-radius:var(--radius-circle);animation:spin var(--duration-base) linear infinite}.btn-busy{opacity:var(--opacity-muted);pointer-events:none}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100%;gap:var(--space-3);color:var(--color-text-secondary)}.modal-overlay{position:fixed;inset:var(--space-0);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background-color:rgba(0,0,0,var(--opacity-overlay));z-index:var(--z-overlay)}.modal{display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-width:var(--size-modal-md);max-height:100%;padding:var(--space-6);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal-sm{max-width:var(--size-modal-sm)}.modal-detail{max-width:var(--size-modal-detail)}.modal-flush{gap:var(--space-0);padding:var(--space-0);overflow:hidden}.modal-flush .modal-header{padding:var(--space-5);background-color:var(--color-tertiary-100);border-bottom:var(--border-width-thin) solid var(--color-neutral-300)}.modal-flush .modal-body{padding:var(--space-5)}.modal-flush .modal-footer{padding:var(--space-0) var(--space-5) var(--space-5)}.modal-heading{display:flex;flex-direction:column;gap:var(--space-1);min-width:var(--space-0)}.modal-heading-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.modal-lg{max-width:var(--size-modal-lg)}.modal-xl{max-width:var(--size-modal-xl)}.modal-header{flex:none}.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:var(--space-2)}.modal-footer{flex:none;padding-top:var(--space-4);border-top:var(--border-width-thin) solid var(--color-neutral-300)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--size-field-min),1fr));gap:var(--space-4) var(--space-5);align-items:start}.form-grid-2{grid-template-columns:var(--grid-columns-2)}.form-span-all{grid-column:1 / -1}.form-section{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4);border-top:var(--border-width-thin) solid var(--color-neutral-300)}.form-section:first-child{padding-top:var(--space-0);border-top:none}.form-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-secondary)}.check{display:flex;align-items:center;gap:var(--space-2);min-height:var(--size-control-md);cursor:pointer}.check input[type=checkbox]{flex:none;width:var(--size-icon-md);height:var(--size-icon-md);margin:var(--space-0);accent-color:var(--color-primary-500);cursor:pointer}.check input[type=checkbox]:disabled{cursor:not-allowed}.check-text{font-size:var(--font-size-md);color:var(--color-text-primary);line-height:var(--line-height-tight)}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--size-check-min),1fr));gap:var(--space-1) var(--space-5)}.table-dense th,.table-dense td{padding:var(--space-1) var(--space-3)}.table-sticky th{position:sticky;top:var(--space-0);z-index:var(--z-sticky);background-color:var(--color-surface)}.scroll-panel{max-height:var(--size-scroll-panel-max);overflow-y:auto;overflow-x:auto;border:var(--border-width-thin) solid var(--color-neutral-300);border-radius:var(--radius-md)}.timeline{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);position:relative}.timeline-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex:1 1 auto;text-align:center}.timeline-marker{display:flex;align-items:center;justify-content:center;width:var(--size-control-sm);height:var(--size-control-sm);border-radius:var(--radius-circle);border:var(--border-width-thick) solid var(--color-neutral-500);background-color:var(--color-surface);color:var(--color-text-muted)}.timeline-marker-done{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.timeline-marker-active{border-color:var(--color-accent);color:var(--color-accent)}.mock-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background-color:var(--color-alert-light);color:var(--color-alert-dark);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:64rem){.app-sidebar{display:none}.grid-4,.grid-3,.grid-main,.grid-even,.grid-2{grid-template-columns:minmax(0,1fr)}.search-box{width:100%}}.select-invalid{border-color:var(--color-error-dark)}.select-invalid:focus{border-color:var(--color-error-dark)}.input-invalid:focus{border-color:var(--color-error-dark)}.choice-invalid{padding:var(--space-1);border:var(--border-width-thin) solid var(--color-error-dark);border-radius:var(--radius-md)}.check-invalid .check-text{color:var(--color-error-dark)}.tab-row{display:flex;flex-wrap:wrap;gap:var(--space-2);border-bottom:var(--border-width-thin) solid var(--color-border)}.tab{padding:var(--space-2) var(--space-3);border:none;border-bottom:var(--border-width-thick) solid var(--color-transparent);background:var(--color-transparent);color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-md)}.tab:hover{color:var(--color-text-primary)}.tab-active{border-bottom-color:var(--color-accent);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.stat-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-3)}.stat-tile{display:flex;flex-direction:column;gap:var(--space-1);min-width:var(--size-stat-tile-min);padding:var(--space-2) var(--space-3);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted)}.detail-grid{display:grid;grid-template-columns:var(--grid-split-even);gap:var(--space-4)}.detail-list{display:flex;flex-direction:column;gap:var(--space-1)}.detail-row{display:grid;grid-template-columns:var(--size-detail-label) minmax(0,1fr);gap:var(--space-3);padding:var(--space-1) var(--space-0);border-bottom:var(--border-width-thin) solid var(--color-neutral-200);word-break:break-word}.detail-row:last-child{border-bottom:none}@media(max-width:68.75rem){.detail-grid{grid-template-columns:minmax(0,1fr)}.detail-row{grid-template-columns:minmax(0,1fr);gap:var(--space-0)}}.row-sm,.row-wrap,.row-between,.row-end,.row-top{display:flex;align-items:center;gap:var(--space-2)}.row-wrap{flex-wrap:wrap;gap:var(--space-3)}.row-top{align-items:flex-start}.stack-sm,.stack-lg{display:flex;flex-direction:column}.table tbody tr:nth-child(2n){background-color:var(--color-surface-muted)}.table th,.table td{padding:var(--space-3) var(--space-3);vertical-align:middle}.status-dot{width:var(--size-dot);height:var(--size-dot);border-radius:var(--radius-circle);flex:none;display:inline-block}.status-live{background-color:var(--color-success-dark)}.status-stale{background-color:var(--color-alert-dark)}.status-lost{background-color:var(--color-error-dark)}.status-none{background-color:var(--color-neutral-600)}.status-outdated{background-color:var(--color-tertiary-600)}.alerts-page{display:flex;flex-direction:column;gap:var(--space-6)}.alerts-card{padding:var(--space-6);gap:var(--space-6)}.alerts-card .card-title{font-size:var(--font-size-xl)}.alerts-card-plain .card-header{padding-bottom:var(--space-0);border-bottom:var(--border-width-none) solid var(--color-transparent)}.alerts-card-thresholds .card-title .icon{width:var(--size-icon-xl);height:var(--size-icon-xl)}.alerts-link-btn{color:var(--color-info);font-weight:var(--font-weight-medium)}.alerts-rules{display:flex;flex-direction:column;gap:var(--space-4)}.alerts-hint{margin:var(--space-0);font-size:var(--font-size-sm)}.alerts-state{display:inline-flex;align-items:center;gap:var(--space-2)}.alerts-rule{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,2fr) minmax(0,2fr) minmax(0,2fr) auto;gap:var(--space-4);align-items:start;padding:var(--space-4);background-color:var(--color-neutral-100);border:var(--border-width-thin) solid var(--color-neutral-300);border-radius:var(--radius-md)}.alerts-rule .field-label{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-normal);text-transform:none}.alerts-rule-remove{display:flex;align-items:center;justify-content:flex-end;align-self:end;height:var(--size-control-md)}.alerts-split{display:grid;grid-template-columns:var(--grid-split-even);gap:var(--space-6);align-items:start}.alerts-channels{display:flex;flex-direction:column;gap:var(--space-3)}.alerts-channel{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3);border:var(--border-width-thin) solid var(--color-neutral-300);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard)}.alerts-channel:hover:enabled{background-color:var(--color-neutral-200)}.alerts-channel:disabled{cursor:not-allowed}.alerts-channel-active,.alerts-channel-active:hover:enabled{background-color:var(--color-accent-soft);border-color:var(--color-accent)}.alerts-channel-name{display:flex;align-items:center;gap:var(--space-3);min-width:var(--space-0)}.alerts-channel-icon{color:var(--color-text-secondary)}.alerts-channel-active .alerts-channel-icon{color:var(--color-accent)}.alerts-history .table th{font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.alerts-history .table td{padding:var(--space-5) var(--space-4)}.alerts-history .table tbody tr:nth-child(2n){background-color:var(--color-surface)}@media(max-width:64rem){.alerts-split{grid-template-columns:minmax(0,1fr)}}@media(max-width:56rem){.alerts-rule{grid-template-columns:var(--grid-split-even)}.alerts-rule-switch{justify-content:flex-start}}.auth-card-register{max-width:var(--size-modal-sm)}.authed-image{height:var(--size-icon-lg);width:auto}.admin-back-link{display:inline-flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}.admin-back-link:hover{color:var(--color-accent)}.admin-level-col{width:var(--size-menu)}.buses-page{display:flex;flex-direction:column;gap:var(--space-6)}.buses-list>.stack{gap:var(--space-0)}.buses-list>.stack>.alert{margin-bottom:var(--space-4)}.buses-toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-6)}.buses-toolbar .field{width:auto}.buses-toolbar-select{width:auto;font-size:var(--font-size-lg)}.buses-list .table th{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;padding-top:var(--space-5);padding-bottom:var(--space-5)}.buses-list .table td{padding-top:var(--space-4);padding-bottom:var(--space-4);font-size:var(--font-size-lg)}.buses-list .table tbody tr:nth-child(2n){background-color:var(--color-surface)}.buses-list .grid-table-wrap{min-height:var(--size-buses-body-min);box-shadow:var(--shadow-sm);border-bottom:var(--border-width-none) solid var(--color-transparent);border-bottom-left-radius:var(--space-0);border-bottom-right-radius:var(--space-0)}.buses-cell-stack{display:flex;flex-direction:column;gap:var(--space-0);min-width:0}.buses-plate{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.buses-model{font-size:var(--font-size-md);color:var(--color-text-secondary)}.buses-position{color:var(--color-text-primary)}.buses-driver{display:inline-flex;align-items:center;gap:var(--space-2)}.buses-avatar-xs{width:var(--size-icon-lg);height:var(--size-icon-lg);font-size:var(--font-size-2xs)}.buses-badge-caps .badge{font-size:var(--font-size-3xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide)}.buses-avatar-tone-1{background-color:var(--color-tertiary-100);color:var(--color-tertiary-800)}.buses-avatar-tone-2{background-color:var(--color-alert-dark);color:var(--color-text-inverse)}.buses-avatar-tone-3{background-color:var(--color-decent-blue);color:var(--color-text-inverse)}.buses-empty-value{color:var(--color-text-muted)}.buses-date{color:var(--color-text-secondary)}.buses-service-now{color:var(--color-error-dark);font-weight:var(--font-weight-semibold)}.buses-cost{font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.buses-detail-title-row{display:flex;align-items:center;gap:var(--space-2)}.buses-detail-grid{display:grid;grid-template-columns:var(--grid-split-even);gap:var(--space-6);align-items:stretch}.buses-detail-column{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.buses-detail-column-spread{justify-content:space-between}.buses-detail-actions{margin-top:auto}.buses-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-neutral-100);border:var(--border-width-thin) solid var(--color-tertiary-200);border-radius:var(--radius-xl)}.buses-section{display:flex;flex-direction:column;gap:var(--space-3)}.buses-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.buses-section-title{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-0);font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-primary)}.buses-link-button{padding:var(--space-0);border:var(--border-width-none) solid var(--color-transparent);background-color:var(--color-transparent);color:var(--color-info);font-family:var(--font-body);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);cursor:pointer}.buses-link-button:hover{text-decoration:underline}.buses-map{width:100%;height:var(--size-map-thumb);border:var(--border-width-thin) solid var(--color-tertiary-200);border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-surface-muted)}.buses-map-lg{height:var(--size-map-min)}.buses-map .leaflet-container{background-color:var(--color-surface-muted);font-family:var(--font-body)}.buses-map-trail{stroke:var(--color-info);fill:none}.buses-map-position{stroke:var(--color-white);fill:var(--color-info)}.buses-map-empty{display:flex;align-items:center;justify-content:center;width:100%;height:var(--size-map-thumb);border:var(--border-width-thin) dashed var(--color-tertiary-200);border-radius:var(--radius-md);background-color:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-sm)}.buses-kv-list{display:flex;flex-direction:column}.buses-kv-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-0);border-bottom:var(--border-width-thin) solid var(--color-neutral-200);font-size:var(--font-size-lg)}.buses-kv-row:last-child{border-bottom:var(--border-width-none) solid var(--color-transparent)}.buses-kv-label{color:var(--color-text-secondary)}.buses-kv-value{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:right}.buses-kv-link{color:var(--color-info);font-weight:var(--font-weight-semibold)}.buses-kv-link:hover{text-decoration:underline}.buses-kpi-row{display:grid;grid-template-columns:var(--grid-columns-2);gap:var(--space-3)}.buses-kpi{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);background-color:var(--color-neutral-100);border:var(--border-width-thin) solid var(--color-tertiary-200);border-radius:var(--radius-xl);text-align:center}.buses-kpi-icon{color:var(--color-text-muted)}.buses-kpi-label{font-size:var(--font-size-lg);color:var(--color-text-secondary)}.buses-kpi-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.buses-service-list{display:flex;flex-direction:column;gap:var(--space-2)}.buses-service-item{align-items:center;justify-content:space-between;background-color:var(--color-neutral-100);border-color:var(--color-tertiary-200);font-size:var(--font-size-lg)}.buses-service-title{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.buses-service-meta{color:var(--color-text-secondary)}.buses-service-date{color:var(--color-text-secondary);white-space:nowrap}.buses-doc-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.buses-doc-tile{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background-color:var(--color-neutral-100);border:var(--border-width-thin) solid var(--color-tertiary-200);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--font-size-md);text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--easing-standard)}.buses-doc-tile:hover{border-color:var(--color-border-strong)}.buses-doc-icon{color:var(--color-tertiary-600)}.buses-doc-title{max-width:var(--size-stat-tile-min);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.buses-doc-meta{font-size:var(--font-size-2xs);color:var(--color-text-secondary)}.buses-doc-actions{display:flex;flex-direction:column;gap:var(--space-2)}.buses-doc-preview{width:100%;min-height:28rem;background-color:var(--color-neutral-100);border:var(--border-width-thin) solid var(--color-tertiary-200);border-radius:var(--radius-md)}@media(max-width:64rem){.buses-detail-grid{grid-template-columns:minmax(0,1fr)}.buses-toolbar .field,.buses-toolbar-select{width:100%}}.dashboard-page{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);gap:var(--space-4);height:calc(100vh - var(--size-topbar));margin:calc(-1 * var(--space-6));padding:var(--space-4);overflow:hidden;background-color:var(--color-surface-muted)}.dashboard-kpis{grid-column:1 / -1;display:flex;align-items:center;gap:var(--space-4)}.dashboard-kpis-collapsed{height:var(--size-control-md);padding:var(--space-0) var(--space-2) var(--space-0) var(--space-4);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.dashboard-kpis-grid{flex:1 1 auto;display:grid;grid-template-columns:var(--grid-columns-4);gap:var(--space-4);min-width:var(--space-0)}.dashboard-strip-title{flex:1 1 auto;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.dashboard-kpi{background-color:var(--color-surface);border-color:var(--color-transparent);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--color-text-primary)}.dashboard-kpi.stat-card-highlight{border-color:var(--color-error-dark)}.dashboard-main{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:var(--space-4);min-height:var(--space-0)}.dashboard-map{flex:1 1 auto;min-height:var(--space-0);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.dashboard-map .leaflet-container{background-color:var(--color-surface-muted);font-family:var(--font-body)}.dashboard-chart-actions{display:flex;align-items:center;gap:var(--space-1)}.dashboard-chart.dashboard-chart-collapsed{gap:var(--space-0);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-5)}.dashboard-alerts-actions{display:flex;align-items:center;gap:var(--space-2)}.dashboard-alerts.dashboard-alerts-collapsed{width:var(--size-control-xl);align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-0);background-color:var(--color-surface)}.dashboard-alerts-rail-label{writing-mode:vertical-rl;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);white-space:nowrap}.dashboard-alerts-rail-count{display:inline-flex;align-items:center;justify-content:center;min-width:var(--size-control-sm);height:var(--size-control-sm);padding:var(--space-0) var(--space-2);border-radius:var(--radius-circle);background-color:var(--color-error-dark);color:var(--color-text-inverse);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.dashboard-chart{display:flex;flex-direction:column;gap:var(--space-3);width:100%;padding:var(--space-5) var(--space-5) var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);pointer-events:auto}.dashboard-traffic{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(16rem,1fr);grid-template-rows:auto auto;gap:var(--space-3) var(--space-6)}.dashboard-traffic-stats{grid-column:1;grid-row:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.dashboard-traffic-stat{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background-color:var(--color-neutral-100)}.dashboard-traffic-stat-current{background-color:var(--color-accent-soft)}.dashboard-traffic-stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);color:var(--color-text-primary)}.dashboard-traffic-stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.dashboard-traffic-strip{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:var(--space-1)}.dashboard-traffic-cells{position:relative;display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:var(--space-1);height:2.25rem}.dashboard-traffic-cell{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);background-color:color-mix(in srgb,var(--color-chart-1) calc(var(--traffic-share) * 85%),var(--color-neutral-200));font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.dashboard-traffic-cell-past{opacity:.45}.dashboard-traffic-cell-current{box-shadow:inset 0 0 0 var(--border-width-thick) var(--color-accent)}.dashboard-traffic-now{position:absolute;top:calc(-1 * var(--space-1));bottom:calc(-1 * var(--space-1));width:var(--border-width-thick);margin-left:calc(-1 * var(--border-width-thin));background-color:var(--color-accent);border-radius:var(--radius-xs)}.dashboard-traffic-hours{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:var(--space-1)}.dashboard-traffic-hour{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.dashboard-traffic-delay{grid-column:2;grid-row:1 / -1;display:flex;flex-direction:column;gap:var(--space-2)}.dashboard-traffic-delay-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.dashboard-traffic-delay-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.dashboard-traffic-delay-clear{padding:var(--space-0);border:var(--border-width-none) solid var(--color-transparent);background-color:var(--color-transparent);color:var(--color-accent);font:inherit;font-size:var(--font-size-xs);cursor:pointer}.dashboard-traffic-bar{display:flex;gap:var(--space-1);height:2.25rem}.dashboard-traffic-segment{flex:0 1 auto;min-width:2rem;border:var(--border-width-thick) solid var(--color-transparent);border-radius:var(--radius-xs);color:var(--color-text-inverse);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer}.dashboard-traffic-segment[aria-pressed=true]{border-color:var(--color-text-primary)}.dashboard-traffic-segment-onTime{background-color:var(--color-chart-3)}.dashboard-traffic-segment-minor{background-color:var(--color-chart-5)}.dashboard-traffic-segment-late{background-color:var(--color-chart-2)}.dashboard-traffic-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.dashboard-traffic-legend-item{display:inline-flex;align-items:center;gap:var(--space-2)}.dashboard-traffic-legend-item-active{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.dashboard-traffic-swatch{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-xs)}@media(max-width:64rem){.dashboard-traffic{grid-template-columns:minmax(0,1fr)}.dashboard-traffic-delay{grid-column:1;grid-row:3}}.dashboard-alerts{grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:var(--space-0);width:var(--size-search);min-height:var(--space-0);padding:var(--space-0);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;pointer-events:auto}.dashboard-alerts .card-title,.dashboard-chart .card-title{font-weight:var(--font-weight-bold)}.dashboard-alerts .card-title .icon{color:var(--color-error-dark)}.dashboard-alerts-list{display:flex;flex-direction:column;gap:var(--space-2);flex:1 1 auto;min-height:var(--space-0);padding:var(--space-2);overflow-y:auto}.dashboard-alert{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background-color:var(--color-neutral-100);box-shadow:var(--shadow-sm)}.dashboard-alert-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.dashboard-alert-priority{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.dashboard-alert-priority-high{color:var(--color-priority-high)}.dashboard-alert-priority-medium{color:var(--color-priority-medium)}.dashboard-alert-priority-info{color:var(--color-info)}.dashboard-alert-time{font-size:var(--font-size-xs);color:var(--color-neutral-700);white-space:nowrap}.dashboard-alert-title{font-family:var(--font-body);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text-primary)}.dashboard-alert-text{font-size:var(--font-size-xs);line-height:var(--line-height-snug);color:var(--color-text-secondary)}.dashboard-alert-actions{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-1)}.dashboard-alert-track{background-color:var(--color-tertiary-100);border-radius:var(--radius-xs);color:var(--color-info);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.dashboard-alert-track:hover:enabled{background-color:var(--color-tertiary-200)}.dashboard-alert-dismiss{color:var(--color-neutral-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular)}.dashboard-state{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4)}@media(max-width:64rem){.dashboard-kpis-grid{grid-template-columns:var(--grid-columns-2)}}.drivers-page>.stack{gap:var(--space-0)}.drivers-page>.stack>.alert{margin-bottom:var(--space-4)}.drivers-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6)}.drivers-search .search-box{width:var(--size-search-sm)}.drivers-sort{flex:none;width:var(--size-sort-select)}.drivers-sort .drivers-sort-empty{color:var(--color-text-muted)}.drivers-page .grid-table-wrap{min-height:var(--size-grid-min);box-shadow:var(--shadow-sm);border-bottom:var(--border-width-none) solid var(--color-transparent);border-bottom-left-radius:var(--space-0);border-bottom-right-radius:var(--space-0)}.drivers-page .grid-table-wrap .table th{padding:var(--space-7) var(--space-4);background-color:var(--color-neutral-100);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-secondary);border-bottom:var(--border-width-thin) solid var(--color-border)}.drivers-page .grid-table-wrap .table td{padding:var(--space-2) var(--space-4);border-bottom:var(--border-width-thin) solid var(--color-neutral-300)}.drivers-page .grid-table-wrap .table tbody tr:last-child td{border-bottom:var(--border-width-none) solid var(--color-transparent)}.drivers-page .grid-table-wrap .table tbody tr:nth-child(2n){background-color:var(--color-surface)}.drivers-page .grid-table-wrap .table{table-layout:fixed}.drivers-page .grid-table-wrap .table .grid-col-actions{width:var(--size-drivers-col-actions)}.drivers-page .grid-table-wrap .table .grid-cell-actions{text-align:right}.drivers-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap}.drivers-code{font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.drivers-date{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap}.drivers-avatar-outline .avatar{background-color:var(--color-surface);border:var(--border-width-thin) solid var(--color-border)}.drivers-badge .badge{font-weight:var(--font-weight-semibold);white-space:nowrap}.drivers-badge-outline .badge{background-color:var(--color-transparent);border:var(--border-width-thin) solid var(--color-border-strong);color:var(--color-text-secondary)}@media(max-width:64rem){.drivers-search{flex:1 1 auto}.drivers-search .search-box{width:100%}}.issues-layout{display:grid;grid-template-columns:minmax(0,1.43fr) minmax(0,1fr);gap:var(--space-6);align-items:start}.card.issues-map-card{padding:var(--space-0);gap:var(--space-0);overflow:hidden}.issues-map-card-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4)}.issues-map{position:relative;z-index:var(--z-base);isolation:isolate;width:100%;height:calc(var(--size-chart-md) + var(--size-chart-sm) + var(--space-5));background-color:var(--color-surface-muted)}.issues-map-card-footer{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);font-size:var(--font-size-md);color:var(--color-text-secondary)}.issues-map-hint{display:flex;align-items:center;gap:var(--space-2)}.issues-map-hint-icon{color:var(--color-secondary-600)}.card.issues-form-card{padding:var(--space-6);gap:var(--space-0)}.issues-form{display:flex;flex-direction:column;gap:var(--space-6)}.issues-form .field{gap:var(--space-2)}.issues-form .field-label{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);text-transform:none;color:var(--color-text-primary)}.issues-form .field-label-invalid{color:var(--color-error-dark)}.issues-form .field-required{color:inherit;font-weight:inherit}.issues-form .issues-control{height:var(--size-control-2xl)}.issues-form .select{border-color:var(--color-tertiary-200)}.issues-form .input-textarea{height:var(--size-textarea-md);min-height:var(--size-textarea-md);padding:var(--space-3);border-color:var(--color-tertiary-200);resize:none}.issues-form .section-divider{background-color:var(--color-tertiary-200);border-color:var(--color-tertiary-200)}.issues-form .check input[type=checkbox]{width:var(--size-check-lg);height:var(--size-check-lg)}.issues-form .btn-submit{height:var(--size-control-xl)}.issues-field-muted .field-label{color:var(--color-secondary-400)}.issues-field-muted .input{border-color:var(--color-tertiary-100)}.issues-form .check{min-height:var(--size-control-sm)}.file-drop.issues-drop{gap:var(--space-2);padding:var(--space-6) var(--space-4);border-width:var(--border-width-thick);border-color:var(--color-tertiary-200);border-radius:var(--radius-md);background-color:var(--color-surface)}.file-drop.issues-drop.file-drop-active{border-color:var(--color-accent);background-color:var(--color-accent-soft)}.issues-drop-icon{color:var(--color-text-secondary);margin-bottom:var(--space-1)}.issues-drop-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.issues-drop-link{padding:var(--space-0);border:var(--border-width-none) solid var(--color-transparent);background-color:var(--color-transparent);color:var(--color-accent);font-family:inherit;font-size:inherit;font-weight:var(--font-weight-semibold);cursor:pointer}.issues-drop-link:hover{color:var(--color-accent-hover)}.issues-drop-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}@media(max-width:64rem){.issues-layout{grid-template-columns:minmax(0,1fr)}}.roster-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.roster-search{width:var(--size-search-sm)}.roster-kpi-text{display:flex;flex-direction:column;gap:var(--space-1)}.roster-kpi-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary)}.roster-kpi-value{font-size:var(--font-size-lg);color:var(--color-text-primary)}.roster-kpi-metric{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);white-space:nowrap}.roster-kpi-note{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.roster-kpi-note-error{color:var(--color-error-dark)}.roster-kpi-note-success{color:var(--color-success-dark)}.roster-status-pill{align-self:flex-start}.roster-status-pill .badge{height:var(--size-control-sm);padding:var(--space-0) var(--space-3);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);white-space:nowrap}.roster-progress-full{width:100%}.roster-progress-error{background-color:var(--color-error-dark)}.roster-tabs{gap:var(--space-8);flex-wrap:nowrap}.roster-tab{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-1);font-family:var(--font-body);font-size:var(--font-size-lg);color:var(--color-text-secondary);text-decoration:none;white-space:nowrap}.roster-tab.tab-active{color:var(--color-accent)}.roster-grid>.stack{gap:var(--space-0)}.roster-grid-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-4) var(--space-5);border-bottom:var(--border-width-thin) solid var(--color-neutral-300)}.roster-grid-head-actions{display:flex;align-items:center;gap:var(--space-3)}.roster-grid-menu-anchor{position:relative}.roster-grid-menu .menu-item:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.roster-grid .grid-filters{padding:var(--space-4) var(--space-5);border-bottom:var(--border-width-thin) solid var(--color-neutral-300)}.roster-grid .grid-table-wrap{border:var(--border-width-none) solid var(--color-transparent);border-radius:var(--space-0)}.roster-grid-footer{border:var(--border-width-none) solid var(--color-transparent);border-top:var(--border-width-thin) solid var(--color-neutral-300);border-radius:var(--space-0);box-shadow:none}.roster-grid-title{display:flex;align-items:center;gap:var(--space-3);min-height:var(--size-control-sm)}.roster-grid-title-text{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap}.roster-vdivider{flex:none;width:var(--border-width-thin);height:var(--size-icon-sm);background-color:var(--color-neutral-400)}.roster-grid .table th{background-color:var(--color-neutral-100);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;white-space:normal}.roster-grid-footer .grid-card-summary{font-size:var(--font-size-md)}.roster-driver{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.roster-driver-empty{color:var(--color-tertiary-200)}.roster-plate{display:inline-block;padding:var(--space-0) var(--space-2);border:var(--border-width-thin) solid var(--color-neutral-300);border-radius:var(--radius-xs);background-color:var(--color-neutral-200);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:var(--size-icon-md);white-space:nowrap}.roster-shift{color:var(--color-text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}.btn.roster-assign{color:var(--color-info);font-weight:var(--font-weight-bold)}.roster-edit{color:var(--color-tertiary-600)}.roster-pairing-card{padding:var(--space-0);gap:var(--space-0);overflow:hidden}.roster-pairing-toolbar{display:flex;align-items:center;min-height:var(--size-pairing-toolbar);padding:var(--space-0) var(--space-4);border-bottom:var(--border-width-thin) solid var(--color-neutral-300)}.roster-pairing-title{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.roster-pairing-list{list-style:none;margin:var(--space-0);padding:var(--space-0);display:flex;flex-direction:column}.roster-pairing-list>li+li{border-top:var(--border-width-thick) solid var(--color-neutral-200)}.roster-pairing-row{display:grid;grid-template-columns:var(--grid-columns-pairing);column-gap:var(--space-2);align-items:center;min-height:var(--size-pairing-row);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);background-color:var(--color-surface)}.roster-pairing-row-conflict{background-color:var(--color-error-light)}.roster-pairing-cell{display:flex;align-items:center;gap:var(--space-3);min-width:var(--space-0)}.roster-pairing-cell>.field,.roster-pairing-cell>.btn-block,.roster-pairing-cell>.roster-pairing-date-fields{flex:1 1 auto;min-width:var(--space-0)}.roster-pairing-text{display:flex;flex-direction:column;min-width:var(--space-0)}.roster-pairing-line{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.roster-pairing-time{color:var(--color-text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}.roster-pairing-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-pairing-sub{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-pairing-icon{color:var(--color-text-secondary)}.roster-pairing-dates{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.roster-pairing-date-fields{gap:var(--space-1)}.select.roster-select-raised{box-shadow:var(--shadow-sm)}.roster-days{display:grid;grid-template-columns:repeat(4,var(--size-day-toggle));gap:var(--space-1);max-width:var(--size-day-toggle-block)}.roster-day{height:var(--size-day-toggle-height);padding:var(--space-0);border:var(--border-width-thin) solid var(--color-transparent);border-radius:var(--radius-xs);background-color:var(--color-neutral-200);color:var(--color-text-secondary);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.roster-day:hover:enabled{background-color:var(--color-neutral-300)}.roster-day:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.roster-day-active{background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.roster-day-active:hover:enabled{background-color:var(--color-accent-soft)}.roster-pairing-empty{display:flex;justify-content:center;padding:var(--space-8);text-align:center}.roster-pairing-footer{display:flex;align-items:center;justify-content:flex-end;min-height:var(--size-pairing-footer);padding:var(--space-0) var(--space-4);border-top:var(--border-width-thin) solid var(--color-neutral-300);background-color:var(--color-neutral-100)}@media(max-width:64rem){.roster-search{width:100%}.roster-pairing-row{grid-template-columns:var(--grid-columns-2);row-gap:var(--space-3)}}.statistics-page{display:flex;flex-direction:column;gap:var(--space-6)}.statistics-page .card-title{font-size:var(--font-size-xl)}.statistics-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap}.statistics-period{position:relative}.statistics-period .select{width:auto;padding-left:var(--space-10)}.statistics-period-icon{position:absolute;top:50%;left:var(--space-3);transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none}.statistics-ai{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-7) var(--space-6);background-color:var(--color-accent-soft);border:var(--border-width-thin) solid var(--color-primary-100);border-radius:var(--radius-lg)}.statistics-ai-icon{color:var(--color-accent)}.statistics-ai-body{display:flex;flex-direction:column;gap:var(--space-2);flex:1 1 auto;min-width:0}.statistics-ai-form{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-2)}.statistics-ai-input{position:relative;flex:1 1 auto;min-width:0}.statistics-ai-input .input{height:var(--size-control-lg)}.statistics-ai-answer{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4);background-color:var(--color-surface);border:var(--border-width-thin) solid var(--color-neutral-300);border-radius:var(--radius-md)}.statistics-ai-answer-head{display:flex;align-items:center;gap:var(--space-2);color:var(--color-accent);font-weight:var(--font-weight-semibold)}.statistics-ai-question{font-size:var(--font-size-sm);color:var(--color-text-muted)}.statistics-columns{display:grid;grid-template-columns:var(--grid-split-main);gap:var(--space-6);align-items:start}.statistics-column{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.statistics-kpis{display:grid;gap:var(--space-4)}.statistics-chart-card .card-header{flex-wrap:wrap}.statistics-route-name{display:flex;flex-direction:column}.statistics-route-secondary{color:var(--color-text-secondary)}.statistics-number{font-variant-numeric:tabular-nums;white-space:nowrap}.statistics-util{display:flex;align-items:center;gap:var(--space-3)}.statistics-util .progress-track{width:var(--size-avatar-lg);height:var(--size-track-lg);flex:none}.statistics-util-over .progress-value{background-color:var(--color-error-dark)}.statistics-bars{display:flex;align-items:stretch;justify-content:space-between;gap:var(--space-2)}.statistics-bar-group{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--space-2);flex:1 1 0;min-width:0}.statistics-bar-track{display:flex;align-items:flex-end;justify-content:center;width:100%;height:var(--size-chart-md)}.statistics-bar{width:100%;max-width:var(--size-avatar-md);background-color:var(--color-accent);border-radius:var(--radius-sm) var(--radius-sm) var(--radius-xs) var(--radius-xs)}.statistics-bar-caption{display:flex;flex-direction:column;align-items:center;max-width:100%;font-size:var(--font-size-2xs);line-height:var(--line-height-snug);color:var(--color-text-secondary);text-align:center}.statistics-bar-caption span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statistics-bar-caption-plate{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}@media(max-width:64rem){.statistics-columns{grid-template-columns:minmax(0,1fr)}.statistics-ai{flex-direction:column}.statistics-ai-form{flex-wrap:wrap}}.tickets-page{display:flex;flex-direction:column;gap:var(--space-6)}.tickets-page .card-title{font-size:var(--font-size-xl)}.tickets-header{justify-content:flex-end;margin-bottom:var(--space-0)}.tickets-actions{display:flex;align-items:center;gap:var(--space-4)}.tickets-kpis{gap:var(--space-6)}.tickets-kpi-caption{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-md);color:var(--color-text-secondary)}.tickets-kpi-caption-up{color:var(--color-success-dark)}.tickets-kpi-caption-down{color:var(--color-error-dark)}.tickets-split{gap:var(--space-8)}.tickets-period{min-width:var(--size-detail-label)}.tickets-sales-card>.stack{gap:var(--space-0)}.tickets-sales-card .grid-table-wrap{border:var(--border-width-none) solid var(--color-transparent);border-radius:var(--space-0)}.tickets-masterdata-card .tickets-type-grid{padding:var(--space-4)}.tickets-masterdata-card>.alert,.tickets-masterdata-card>p{margin:var(--space-4)}.tickets-lines{display:flex;flex-direction:column;gap:var(--space-0);line-height:var(--line-height-snug)}.tickets-sub{font-size:var(--font-size-md);color:var(--color-text-secondary)}.tickets-amount{font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;white-space:nowrap}.tickets-status{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:var(--font-weight-medium);white-space:nowrap}.tickets-status-closed{color:var(--color-success-dark)}.tickets-status-pending{color:var(--color-alert-dark)}.tickets-status-cancelled{color:var(--color-error-dark)}.tickets-stock-list{display:flex;flex-direction:column;gap:var(--space-6)}.tickets-stock-row{display:flex;flex-direction:column;gap:var(--space-1)}.tickets-stock-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.tickets-stock-value{align-items:flex-end;text-align:right;font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.tickets-stock-action{margin-top:auto}.tickets-type-grid{display:grid;grid-template-columns:var(--grid-columns-2);gap:var(--space-2)}.tickets-type-card{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-4);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--font-size-md);text-align:left}.tickets-type-card-button{cursor:pointer;transition:border-color var(--duration-fast) var(--easing-standard),background-color var(--duration-fast) var(--easing-standard)}.tickets-type-card-button:hover{border-color:var(--color-border-strong);background-color:var(--color-neutral-100)}.tickets-type-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.tickets-type-meta{font-size:var(--font-size-md);color:var(--color-text-secondary)}.tickets-type-side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);flex:none}.tickets-type-price{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);white-space:nowrap}.tickets-panel{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.tickets-panel-center{align-items:center;text-align:center}.tickets-panel-label{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.tickets-panel-help{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.tickets-multiplier-row{display:flex;align-items:flex-start;gap:var(--space-2);padding-top:var(--space-2)}.tickets-multiplier-row .field{flex:1 1 auto;min-width:var(--space-0)}.tickets-export-icon,.tickets-link-button{color:var(--color-info)}.tickets-register{display:flex;flex-direction:column;gap:var(--space-6)}.tickets-card-actions{display:flex;align-items:center;gap:var(--space-3)}.tickets-card-link{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-info);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);text-decoration:none;white-space:nowrap}.tickets-card-link:hover{text-decoration:underline}.tickets-range{flex-wrap:wrap}.tickets-range .field{min-width:var(--size-detail-label)}.tickets-stock-cell{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);min-width:var(--size-detail-label);font-variant-numeric:tabular-nums}.tickets-stock-cell .progress-track{width:100%}.passenger-register{display:flex;flex-direction:column;gap:var(--space-6)}.passenger-lines{display:flex;flex-direction:column;gap:var(--space-0);line-height:var(--line-height-snug)}.passenger-sub{font-size:var(--font-size-md);color:var(--color-text-secondary)}.passenger-number{font-variant-numeric:tabular-nums;white-space:nowrap}.passenger-counter-list{display:flex;flex-direction:column;gap:var(--space-3)}.passenger-counter-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.passenger-card-link{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-info);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);text-decoration:none;white-space:nowrap}.passenger-card-link:hover{text-decoration:underline}.passenger-toolbar-field{min-width:10rem}.passenger-badges{display:flex;flex-wrap:wrap;gap:var(--space-1)}.passenger-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);align-items:start}.passenger-map{position:relative;z-index:var(--z-base);isolation:isolate;width:100%;height:calc(var(--size-chart-md) + var(--space-5));border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface-muted)}.passenger-position{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--font-size-md);color:var(--color-text-secondary)}.passenger-suggestions{display:flex;flex-direction:column;gap:var(--space-2);max-height:calc(var(--size-chart-sm) + var(--space-6));overflow-y:auto}.passenger-suggestion{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer}.passenger-suggestion:hover,.passenger-suggestion:focus-visible{background-color:var(--color-surface-muted)}.passenger-suggestion-selected{border-color:var(--color-primary-500);background-color:var(--color-primary-100)}.passenger-util{display:flex;align-items:center;gap:var(--space-3)}.passenger-util .progress-track{width:var(--size-avatar-lg);height:var(--size-track-lg);flex:none}.passenger-util-over .progress-value{background-color:var(--color-error-dark)}.passenger-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.passenger-definition{display:flex;flex-direction:column;gap:var(--space-1);padding-block:var(--space-3);border-bottom:1px solid var(--color-border)}.passenger-definition:last-child{border-bottom:none}.passenger-definition-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.autocomplete{position:relative;width:100%}.autocomplete-list{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;z-index:var(--z-sticky);max-height:16rem;margin:0;padding:var(--space-1);overflow-y:auto;list-style:none;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);box-shadow:var(--shadow-lg)}.autocomplete-option{display:flex;flex-direction:column;gap:var(--space-0);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer}.autocomplete-option-active{background-color:var(--color-surface-muted)}.autocomplete-option-selected{background-color:var(--color-primary-100)}.autocomplete-detail{font-size:var(--font-size-md);color:var(--color-text-secondary)}.autocomplete-empty{padding:var(--space-2) var(--space-3);font-size:var(--font-size-md);color:var(--color-text-secondary)}@media(max-width:900px){.passenger-entry{grid-template-columns:minmax(0,1fr)}}.history-list{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-0);padding:var(--space-0);list-style:none}.history-entry{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.history-entry-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.history-entry-period{font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.history-entry-user{color:var(--color-text-secondary);font-size:var(--font-size-md)}.history-changes{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:var(--space-4);row-gap:var(--space-1);margin:var(--space-0)}.history-change{display:contents}.history-change dt{color:var(--color-text-secondary);font-size:var(--font-size-md)}.history-change dd{margin:var(--space-0);font-size:var(--font-size-md);overflow-wrap:anywhere}@media(max-width:64rem){.tickets-type-grid{grid-template-columns:minmax(0,1fr)}}.bus-map{position:relative;width:100%;height:100%;min-height:var(--size-map-min);border-radius:var(--radius-lg);overflow:hidden}.bus-map.dashboard-map{min-height:0}.bus-map .leaflet-container{width:100%;height:100%;background-color:var(--color-surface-muted);font-family:var(--font-body)}.bus-marker{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-circle);border:var(--border-width-thick) solid var(--color-white);box-shadow:var(--shadow-md);background-color:var(--color-info)}.bus-marker-idle{background-color:var(--color-secondary-500)}.bus-marker-selected{background-color:var(--color-accent);transform:scale(1.15)}.bus-marker-highlight{box-shadow:0 0 0 .25rem var(--color-accent-soft),var(--shadow-md);transform:scale(1.1)}.bus-marker-dimmed{opacity:.35}.bus-marker-arrow{width:0;height:0;border-left:.3125rem solid transparent;border-right:.3125rem solid transparent;border-bottom:.625rem solid var(--color-white)}.bus-stop-marker{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;padding:0 var(--space-1);border-radius:var(--radius-pill);border:var(--border-width-thin) solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--font-size-2xs);line-height:1.25rem;box-shadow:var(--shadow-sm)}.bus-stop-marker-passed{background-color:var(--color-neutral-300);color:var(--color-text-muted)}.bus-stop-marker-ahead{background-color:var(--color-success-light);border-color:var(--color-success-dark);color:var(--color-success-dark)}.bus-stop-marker-late{background-color:var(--color-error-light);border-color:var(--color-error-dark);color:var(--color-error-dark)}.bus-stop-dot{display:block;width:.625rem;height:.625rem;border-radius:var(--radius-circle);border:var(--border-width-thin) solid var(--color-white);background-color:var(--color-tertiary-500)}.bus-route-line{stroke:var(--color-info);stroke-width:4;stroke-opacity:.85;fill:none}.schedule-page{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);align-items:start}.schedule-content{min-width:0}.schedule-module{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.schedule-module-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.schedule-module-title{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:var(--space-0)}.schedule-muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.text-warning{color:var(--color-alert-dark)}.schedule-state{display:grid;place-items:center;padding:var(--space-8)}.schedule-empty{display:grid;place-items:center;gap:var(--space-2);padding:var(--space-12);border-radius:var(--radius-lg);border:var(--border-width-thin) dashed var(--color-border);color:var(--color-text-muted)}.schedule-empty-title{font-family:var(--font-heading);font-size:var(--font-size-lg);color:var(--color-text-primary)}.schedule-issue-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--size-stat-tile-min),1fr));gap:var(--space-3)}.schedule-issue-counter{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);border:var(--border-width-thin) solid var(--color-border);background-color:var(--color-surface)}.schedule-issue-counter-error{background-color:var(--color-error-light);border-color:var(--color-error-dark)}.schedule-issue-counter-warning{background-color:var(--color-alert-light);border-color:var(--color-alert-dark)}.schedule-issue-counter-info{background-color:var(--color-tertiary-100);border-color:var(--color-tertiary-400)}.schedule-issue-counter-clean{background-color:var(--color-success-light);border-color:var(--color-success-dark)}.schedule-issue-counter-value{font-family:var(--font-heading);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.schedule-issue-counter-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.schedule-issue-counter-note{font-size:var(--font-size-2xs);color:var(--color-text-muted)}.schedule-issue-groups{display:flex;flex-direction:column;gap:var(--space-4)}.schedule-issue-group{border-radius:var(--radius-lg);border:var(--border-width-thin) solid var(--color-border);background-color:var(--color-surface);overflow:hidden}.schedule-issue-group-error{border-color:var(--color-error-dark)}.schedule-issue-group-warning{border-color:var(--color-alert-dark)}.schedule-issue-group-info{border-color:var(--color-tertiary-400)}.schedule-issue-group-head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);background-color:var(--color-surface-muted)}.schedule-issue-group-title{font-family:var(--font-heading);font-weight:var(--font-weight-semibold)}.schedule-issue-group-count{padding:0 var(--space-2);border-radius:var(--radius-pill);background-color:var(--color-neutral-400);font-family:var(--font-mono);font-size:var(--font-size-2xs)}.schedule-issue-group-hint{color:var(--color-text-muted);font-size:var(--font-size-sm);flex:1}.schedule-issue-group-check{font-family:var(--font-mono);font-size:var(--font-size-2xs);color:var(--color-text-muted)}.schedule-issue-cols,.schedule-issue-row{display:grid;grid-template-columns:minmax(0,2fr) 5rem 4rem minmax(0,2fr) minmax(0,1.5fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-4)}.schedule-issue-cols{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);border-bottom:var(--border-width-thin) solid var(--color-border)}.schedule-issue-row{width:100%;border:none;border-bottom:var(--border-width-thin) solid var(--color-neutral-300);background-color:var(--color-transparent);cursor:pointer;font-family:var(--font-body);font-size:var(--font-size-sm);text-align:left}.schedule-issue-row:hover{background-color:var(--color-surface-muted)}.schedule-issue-row-open{background-color:var(--color-surface-muted);font-weight:var(--font-weight-medium)}.schedule-issue-cell{display:flex;align-items:center;gap:var(--space-1);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-issue-cell-value{font-family:var(--font-mono)}.schedule-issue-cell-end{justify-content:flex-end}.schedule-issue-detail{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background-color:var(--color-neutral-100);border-bottom:var(--border-width-thin) solid var(--color-border)}.schedule-issue-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--size-field-min),1fr));gap:var(--space-4)}.schedule-issue-detail-grid>div{display:flex;flex-direction:column;gap:var(--space-1)}.schedule-issue-detail-label{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted)}.schedule-issue-detail-big{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.schedule-issue-detail-text{font-size:var(--font-size-sm)}.schedule-issue-evidence{margin:var(--space-0);padding:var(--space-3);border-radius:var(--radius-md);background-color:var(--color-surface);border:var(--border-width-thin) solid var(--color-border);font-family:var(--font-mono);font-size:var(--font-size-xs)}.schedule-issue-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.schedule-issue-more{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted)}.schedule-route-list{display:flex;flex-direction:column;gap:var(--space-4)}.schedule-route-pair{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-lg);background-color:var(--color-surface-muted)}.schedule-route-card{border-radius:var(--radius-md);border:var(--border-width-thin) solid var(--color-border);background-color:var(--color-surface);overflow:hidden}.schedule-route-card-head{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,2fr) 6rem minmax(0,3fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4)}.schedule-route-card-name{font-weight:var(--font-weight-semibold)}.schedule-route-card-way,.schedule-route-card-days,.schedule-route-card-endpoints{color:var(--color-text-secondary);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-route-card-actions{display:flex;align-items:center;gap:var(--space-1)}.schedule-editor{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-top:var(--border-width-thin) solid var(--color-border);background-color:var(--color-neutral-100)}.schedule-editor-grid{display:grid;grid-template-columns:minmax(10rem,16rem) minmax(0,1fr);gap:var(--space-3)}.schedule-editor-stops{display:flex;flex-direction:column}.schedule-editor-head{height:2.25rem;display:flex;align-items:center;font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted)}.schedule-editor-stop{height:2.5rem;display:flex;align-items:center;padding-right:var(--space-2);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-editor-columns{min-width:0;display:flex;flex-direction:column}.schedule-editor-scroll{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-2)}.schedule-editor-column{display:flex;flex-direction:column;border-radius:var(--radius-md);border:var(--border-width-thin) solid var(--color-border);background-color:var(--color-surface);padding:var(--space-1)}.schedule-editor-column-deleted{background-color:var(--color-error-light);border-color:var(--color-error-dark)}.schedule-editor-column-new{border-color:var(--color-success-dark)}.schedule-editor-column-draft{border-color:var(--color-accent);background-color:var(--color-accent-soft)}.schedule-editor-column-head{height:2rem;display:flex;align-items:center;justify-content:center;gap:var(--space-1)}.schedule-editor-cell{height:2.5rem;display:flex;align-items:center}.schedule-editor-time{width:6rem;font-family:var(--font-mono);text-align:center}.schedule-editor-add{align-self:stretch;min-width:3rem;display:grid;place-items:center;border-radius:var(--radius-md);border:var(--border-width-thin) dashed var(--color-border-strong);background-color:var(--color-transparent);color:var(--color-text-muted);cursor:pointer}.schedule-editor-add:hover{border-color:var(--color-accent);color:var(--color-accent)}.schedule-editor-draft-tools{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.schedule-editor-actions{display:flex;gap:var(--space-2)}.schedule-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--size-field-min),1fr));gap:var(--space-4);max-width:var(--size-modal-md)}.schedule-date-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-2);border-radius:var(--radius-md);background-color:var(--color-surface-muted)}.schedule-date-label{font-family:var(--font-heading);font-weight:var(--font-weight-semibold)}.schedule-direction-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--size-filter-min),1fr));gap:var(--space-4)}.schedule-direction{border-radius:var(--radius-lg);border:var(--border-width-thin) solid var(--color-border);background-color:var(--color-surface);overflow:hidden}.schedule-direction-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background-color:var(--color-surface-muted)}.schedule-direction-way{font-weight:var(--font-weight-semibold);white-space:nowrap}.schedule-direction-table{display:flex;flex-direction:column;max-height:var(--size-scroll-panel-max);overflow:auto}.schedule-direction-row{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-3);border-bottom:var(--border-width-thin) solid var(--color-neutral-300)}.schedule-direction-row-head{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);background-color:var(--color-neutral-100);position:sticky;top:0}.schedule-direction-time{font-family:var(--font-mono)}.schedule-direction-vehicle,.schedule-direction-vehicle-head{display:flex;align-items:center;gap:var(--space-2);min-width:0}.schedule-time-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.schedule-time-chip{padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background-color:var(--color-surface-muted);font-family:var(--font-mono);font-size:var(--font-size-xs)}.schedule-day-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.schedule-form-section{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);border:var(--border-width-thin) solid var(--color-border);background-color:var(--color-surface)}.schedule-form-title{margin:var(--space-0);font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.schedule-picker-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--size-field-min),1fr));gap:var(--space-4)}.schedule-picker-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(var(--size-search-sm),22rem);gap:var(--space-4)}.schedule-picker-map{position:relative;min-height:var(--size-map-min);border-radius:var(--radius-md);border:var(--border-width-thin) solid var(--color-border);overflow:hidden}.schedule-picker-canvas{width:100%;height:100%;min-height:var(--size-map-min)}.schedule-picker-canvas .leaflet-container{width:100%;height:100%;background-color:var(--color-surface-muted)}.schedule-picker-side{display:flex;flex-direction:column;gap:var(--space-3)}.schedule-picker-row,.schedule-picker-current{display:flex;flex-direction:column;gap:var(--space-1)}.schedule-picker-value{padding:var(--space-2);border-radius:var(--radius-sm);background-color:var(--color-surface-muted);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-stop-editor{display:flex;flex-direction:column;gap:var(--space-2)}.schedule-stop-editor-list{list-style:none;margin:var(--space-0);padding:var(--space-0);display:flex;flex-direction:column;gap:var(--space-1);max-height:var(--size-scroll-panel-max);overflow:auto}.schedule-stop-editor-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background-color:var(--color-surface-muted)}.schedule-stop-editor-order{min-width:1.5rem;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted)}.schedule-stop-editor-name{flex:1;min-width:0;font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:75rem){.schedule-picker-layout{grid-template-columns:minmax(0,1fr)}.schedule-issue-cols,.schedule-issue-row{grid-template-columns:minmax(0,1fr) 4rem 3rem minmax(0,1fr)}.schedule-issue-cols>:nth-child(n+5),.schedule-issue-row>:nth-child(n+5){display:none}}.roster-date-field{display:inline-flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm)}.roster-archive-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;width:100%}.roster-forda{font-weight:var(--font-weight-medium)}.roster-info,.roster-note{color:var(--color-text-secondary)}.import-summary{display:flex;flex-wrap:wrap;gap:var(--space-2)}.import-grid-scroll{overflow:auto;max-height:22rem;border:1px solid var(--color-border);border-radius:var(--radius-md)}.import-grid{border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm)}.import-grid th,.import-grid td{border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);padding:var(--space-1) var(--space-2);white-space:nowrap}.import-grid thead th{position:sticky;top:0;z-index:2;background-color:var(--color-surface-muted)}.import-grid-name{position:sticky;left:0;z-index:1;background-color:var(--color-surface);text-align:left}.import-grid thead .import-grid-name{z-index:3;background-color:var(--color-surface-muted)}.import-grid-name-button{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:0;background:none;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.import-grid-name-text{overflow:hidden;text-overflow:ellipsis;max-width:12rem}.import-grid-day{text-align:center;min-width:2.5rem}.import-grid-day-number,.import-grid-day-name{display:block;line-height:1.1}.import-grid-day-name{color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.import-grid-cell{text-align:center;cursor:pointer;min-width:2.5rem}.import-cell-error{background-color:var(--color-error-light)}.import-cell-warning{background-color:var(--color-alert-light)}.import-cell-info{background-color:var(--color-neutral-100)}.import-grid-cell.is-selected,.import-grid-name-button.is-selected{outline:2px solid var(--color-accent);outline-offset:-2px}.import-issues-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.import-issues{list-style:none;margin:0;padding:0;max-height:12rem;overflow:auto;display:flex;flex-direction:column;gap:var(--space-1)}.import-issue{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-2);background:none;border:0;border-radius:var(--radius-sm);font:inherit;color:inherit;text-align:left;cursor:pointer}.import-issue:hover{background-color:var(--color-neutral-100)}.import-issue-cell{font-family:var(--font-mono, monospace);min-width:3.5rem}.import-issue-where{color:var(--color-text-secondary);min-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-issue-message{flex:1}.import-commit{display:flex;align-items:center;gap:var(--space-3)}.schedule-direction-assign{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.schedule-direction-driver{color:var(--color-text-secondary)}.schedule-time-chip-linked{display:inline-flex;align-items:center;gap:var(--space-1);opacity:.7}.forda-run-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);max-height:16rem;overflow:auto}.forda-run{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background-color:var(--color-neutral-100)}.forda-run-time{font-family:var(--font-mono, monospace);min-width:3.5rem}.forda-run-route{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-expandable th.table-expand-head{width:var(--space-8);padding-right:0}.table-expandable .table-expand-cell{width:var(--space-8);padding-right:0;vertical-align:middle}.table-expand-toggle{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer}.table-expand-toggle:hover{background-color:var(--color-surface-muted);color:var(--color-text-primary)}.table-expand-toggle:focus-visible{outline:var(--border-width-thick) solid var(--color-focus-ring);outline-offset:2px}.table-row-expandable{cursor:pointer}.table-row-expandable:hover,.table-row-open{background-color:var(--color-surface-muted)}.table-row-open .table-expand-toggle{color:var(--color-text-primary)}.table-detail-row>td{padding:var(--space-4);background-color:var(--color-surface-muted);border-bottom:var(--border-width-thin) solid var(--color-neutral-400)}.fxmap{--fxmap-accent: var(--color-accent);--fxmap-accent-contrast: var(--color-text-inverse);--fxmap-accent-soft: var(--color-accent-soft);--fxmap-surface: var(--color-surface);--fxmap-surface-muted: var(--color-surface-muted);--fxmap-surface-raised: var(--color-surface);--fxmap-text: var(--color-text-primary);--fxmap-muted: var(--color-text-muted);--fxmap-danger: var(--color-error-dark);--fxmap-success: var(--color-success-dark);--fxmap-radius: var(--radius-lg);--fxmap-radius-sm: var(--radius-sm);--fxmap-shadow: var(--shadow-lg);--fxmap-shadow-sm: var(--shadow-md);--fxmap-font: var(--font-body);--fxmap-font-size: var(--font-size-sm)}.fxmap-dark{--fxmap-accent: var(--color-primary-300, #f2a8a0);--fxmap-accent-contrast: #1a1a1a;--fxmap-accent-soft: rgba(242, 168, 160, .2);--fxmap-surface: #1f2937;--fxmap-surface-muted: #111827;--fxmap-surface-raised: #273244;--fxmap-text: #f3f4f6;--fxmap-muted: #9ca3af}.geo-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);gap:var(--space-4);min-height:32rem}.geo-editor-road{min-height:min(70vh,44rem)}.geo-editor-map{position:relative;min-height:32rem;border-radius:12px;border:var(--border-width-thin) solid var(--color-neutral-400);overflow:hidden}.geo-editor-map-invalid{border-color:#dc2626;box-shadow:0 0 0 3px #dc262626}.geo-editor-canvas{position:absolute;inset:0}.geo-editor-canvas .leaflet-container{width:100%;height:100%}.geo-editor-canvas-editable .leaflet-container{cursor:crosshair}.geo-editor-overlay-hint{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#0f172ad1;color:#fff;font-size:13px;pointer-events:none;z-index:500}.geo-editor-side{min-width:0}.geo-editor-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:var(--space-3, .75rem)}.geo-editor-stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:var(--color-surface-muted)}.geo-editor-stat-label{font-size:12px;color:var(--color-text-secondary, #64748b)}.geo-editor-stat-value{font-weight:600;font-variant-numeric:tabular-nums}.geo-editor-tools{display:flex;flex-wrap:wrap;gap:8px}.geo-editor-hint{margin:0;font-size:13px;line-height:1.5;color:var(--color-text-secondary, #64748b)}.geo-pick-order{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--color-primary-600);border:2px solid #fff;color:#fff;font-size:11px;font-weight:700;box-shadow:0 1px 4px #0f172a59;cursor:pointer}.geo-pick-order-active{background:#dc2626}.geo-grid-name{display:inline-flex;align-items:center;gap:8px}.geo-grid-muted{color:var(--color-text-secondary, #64748b)}@media(max-width:960px){.geo-editor{grid-template-columns:1fr}.geo-editor-map{min-height:22rem}}.analysis-page{display:flex;flex-direction:column;gap:var(--space-5)}.analysis-filters{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.analysis-filters .select,.analysis-filters .input{width:auto;min-width:11rem}.tab-strip{display:flex;gap:var(--space-5);flex-wrap:wrap;border-bottom:1px solid var(--color-border)}.tab-strip-item{padding:var(--space-2) var(--space-1);background:none;border:none;border-bottom:2px solid transparent;font-family:var(--font-body);font-size:var(--font-size-md);color:var(--color-text-secondary);cursor:pointer}.tab-strip-item:hover{color:var(--color-text-primary)}.tab-strip-item-active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.analysis-badges{display:inline-flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.analysis-number{font-variant-numeric:tabular-nums}.analysis-wrap{display:inline-block;max-width:28rem;white-space:normal}.analysis-error{color:var(--color-error-dark)}.analysis-section-title{margin:0;font-family:var(--font-body);font-size:var(--font-size-lg);color:var(--color-text-primary)}.analysis-rule-grid,.analysis-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));gap:var(--space-4)}.analysis-list{margin:0;padding-left:var(--space-5);color:var(--color-text-secondary)}.analysis-checks{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.analysis-check{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.analysis-check-name{font-weight:600}.analysis-reason{margin:0;font-size:var(--font-size-md)}.analysis-impact{margin:0;color:var(--color-text-secondary)}.explanation{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md, .5rem);padding:var(--space-3) var(--space-4)}.explanation-toggle{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:none;padding:0;font-family:var(--font-body);font-size:var(--font-size-md);color:var(--color-accent);cursor:pointer}.explanation-body{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3)}.explanation-block{display:flex;flex-direction:column;gap:var(--space-1)}.explanation-label{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.explanation-text,.explanation-conclusion{margin:0}.explanation-conclusion{font-weight:600}.explanation-formula{margin:0;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xs);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:var(--font-size-sm);white-space:pre-wrap}.explanation-inputs{display:grid;grid-template-columns:minmax(10rem,18rem) 1fr;gap:var(--space-1) var(--space-4);margin:0}.explanation-inputs dt{color:var(--color-text-muted)}.explanation-inputs dd{margin:0}.explanation-input-row{display:contents}.chart-bar,.chart-forecast{width:100%;height:auto}.chart-legend{display:flex;gap:var(--space-4);flex-wrap:wrap}.chart-legend-item{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.chart-legend-swatch{width:.75rem;height:.75rem;border-radius:var(--radius-xs)}.view-map{width:100%;min-height:26rem;border-radius:var(--radius-xs);overflow:hidden}.run-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-3)}.settings-list{display:flex;flex-direction:column;gap:var(--space-4)}.settings-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.settings-row-text{display:flex;flex-direction:column;gap:var(--space-1);max-width:34rem}.settings-row-label{font-weight:600}.settings-row-help{font-size:var(--font-size-sm);color:var(--color-text-muted)}.settings-row-control{display:flex;align-items:center;gap:var(--space-2)}.settings-row-control .input{width:9rem}.dashboard-forecast-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.dashboard-forecast-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.dashboard-forecast-run{font-weight:600}.dashboard-forecast-collapsed .card-header{border-bottom:none}
