.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45;color:#1c1f23;background:#eef0f3;--border: #d8dce2;--surface: #fff;--accent: #2f5d9e;--accent-soft: #e8eef6;--warn: #9a6b00;--warn-bg: #faf3e0;--error: #8b2e2e;--error-bg: #fdecec;--sidebar-w: 232px;--sidebar-w-collapsed: 52px}*{box-sizing:border-box}body{margin:0}.ds-page-shell.login-page{box-sizing:border-box;max-width:22rem;margin:3rem auto;padding:1.5rem 1.65rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 8px #1c1f2314}.ds-page-shell.login-page h1{margin:0 0 .35rem;font-size:1.35rem;font-weight:600}.login-subtitle{margin:0 0 1.1rem;font-size:.88rem;color:#4b5563;line-height:1.45}.login-form label{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem;font-size:.82rem;font-weight:600;color:#374151}.login-form input{padding:.45rem .55rem;font-size:.95rem;border:1px solid var(--border);border-radius:6px;background:#fff}.login-form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.login-form button[type=submit]{width:100%;margin-top:.35rem;padding:.5rem .75rem;font-size:.9rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:6px;cursor:pointer}.login-form button[type=submit]:hover:not(:disabled){filter:brightness(1.05)}.login-form button[type=submit]:disabled{opacity:.65;cursor:wait}.login-error{margin:0 0 .65rem;padding:.45rem .55rem;font-size:.85rem;color:var(--error);background:var(--error-bg);border:1px solid #f5c2c2;border-radius:6px}body:has(.app-shell){height:100dvh;overflow:hidden}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100dvh;max-height:100dvh;overflow:hidden}.app-shell--collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.app-sidebar{background:#252a31;color:#e8eaed;padding:.5rem 0;height:100dvh;max-height:100dvh;overflow-x:hidden;overflow-y:auto;align-self:stretch}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem .5rem .75rem;gap:.25rem}.sidebar-brand{font-weight:700;font-size:.85rem;letter-spacing:.02em}.sidebar-collapse-btn{border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:inherit;border-radius:4px;cursor:pointer;padding:.15rem .4rem;font-size:.75rem}.sidebar-nav{list-style:none;margin:0;padding:0}.nav-item{display:block;width:100%;text-align:left;border:none;background:transparent;color:inherit;padding:.55rem 1rem;font-size:.88rem;cursor:pointer}.nav-item:hover{background:#ffffff0f}.nav-item.active{background:#2f5d9e59;border-left:3px solid #6fa3e8;padding-left:calc(1rem - 3px);font-weight:600}.app-main-column{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden}.app-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1rem;padding:.5rem 1rem;background:var(--surface);border-bottom:1px solid var(--border)}.header-blocks{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:flex-end}.header-block{display:flex;flex-direction:column;gap:.2rem}.header-block-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:#8a9199}.header-block-row{display:flex;flex-wrap:wrap;gap:.35rem}.header-dev{opacity:.92;padding:.25rem .4rem;border-radius:4px;background:#faf8f0;border:1px dashed #d4c88a}.header-dev .header-block-label{color:#7a6d2a}.product-title{margin:0;font-size:1.05rem;font-weight:600}.header-meta{display:block;font-size:.78rem;color:#5c6570}.header-right{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.header-right-compact{align-items:center;gap:.35rem .5rem}.header-pill-compact{font-size:.72rem;padding:.15rem .45rem}.header-sync-chip{font-size:.78rem;padding:.22rem .55rem;border-radius:6px;border:1px solid var(--border);white-space:nowrap;line-height:1.25}.header-sync-chip-healthy{background:#f4faf5;border-color:#b8d4be;color:#2e5a38}.header-sync-chip-warning{background:var(--warn-bg);border-color:#e6d49a;color:#6b5620}.header-sync-chip-error{background:#fdf3f3;border-color:#e0a8a8;color:#8a3030}.header-sync-disclosure{position:relative}.header-sync-disclosure>summary{list-style:none;cursor:pointer}.header-sync-disclosure>summary::-webkit-details-marker{display:none}.header-sync-issue-list{position:absolute;right:0;top:calc(100% + .35rem);z-index:40;margin:0;padding:.5rem .65rem;max-width:min(28rem,92vw);background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0f172a1f;font-size:.78rem;line-height:1.4;color:#334155}.header-sync-issue-list li{margin:0 0 .35rem 1rem}.header-sync-issue-list li:last-child{margin-bottom:0}.header-role-chip{font-size:.78rem;padding:.22rem .5rem;border-radius:6px;background:#f0f2f5;border:1px solid var(--border);color:#3d4650}.header-logout-btn{font-size:.78rem;padding:.22rem .55rem;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:#3d4650;cursor:pointer}.header-logout-btn:hover{background:#f0f2f5}.header-pill{font-size:.75rem;padding:.2rem .5rem;border-radius:4px;background:#f0f2f5;border:1px solid var(--border)}.header-pill.warn{background:var(--warn-bg);border-color:#e6d49a}.header-pill.role{font-weight:600}.dev-switcher{display:flex;align-items:center;gap:.35rem;font-size:.72rem;border:1px dashed #c4a000;padding:.15rem .4rem;border-radius:4px;background:#fffde7}.dev-tag{font-weight:700;color:#7a5d00}.breadcrumbs{font-size:.8rem;color:#5c6570;padding:.5rem 1.25rem 0}.page-content{padding:.5rem 1rem 1rem;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column}.page-content--no-crumbs{padding-top:.35rem}.page-content:has(.map-page-v16a),.page-content:has(.geozone-editor-page){overflow:hidden}.ops-page{display:flex;flex-direction:column;flex:1;min-height:0;gap:.45rem}.ops-filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem;padding:.45rem .65rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:.8rem}.filter-field{display:flex;flex-direction:column;gap:.15rem;min-width:120px}.filter-field span{font-size:.68rem;color:#5c6570}.filter-field select{font-size:.8rem;padding:.2rem .35rem}.filter-reset{padding:.3rem .65rem;font-size:.78rem;cursor:pointer;border:1px solid var(--border);border-radius:4px;background:#f8f9fb}.kpi-strip{display:flex;flex-wrap:wrap;gap:.4rem}.kpi-strip-compact{margin-bottom:0}.kpi-tile{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.35rem .6rem;min-width:130px;flex:1 1 130px;max-width:220px}.kpi-tile.kpi-accent{border-color:#c9a227;background:var(--warn-bg)}.kpi-value{display:block;font-size:1.15rem;font-weight:700;line-height:1.2}.kpi-label{font-size:.68rem;color:#5c6570;line-height:1.25}.attention-compact{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;padding:.35rem .6rem;background:var(--warn-bg);border:1px solid #e6d49a;border-radius:6px;font-size:.8rem}.attention-title{font-weight:600;white-space:nowrap}.attention-list{display:flex;flex-wrap:wrap;gap:.35rem 1rem;list-style:none;margin:0;padding:0}.attention-list li{display:flex;gap:.35rem;align-items:baseline}.attention-meta{color:#5c6570;font-size:.75rem}.attention-more{font-size:.78rem;margin-left:auto}.banner-compact{padding:.4rem .65rem;margin-bottom:0;font-size:.8rem}.table-section h2,.section-title{font-size:.9rem;margin:0 0 .35rem;font-weight:600}.table-section-primary{flex:1;min-height:200px;display:flex;flex-direction:column;min-width:0}.table-scroll-main{flex:1;max-height:min(52vh,520px);min-height:180px}.table-scroll{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:6px}.data-table-compact th,.data-table-compact td{padding:.35rem .45rem;font-size:.8rem}.data-table-compact .col-facility{min-width:100px;max-width:140px}.data-table-compact .col-plate{min-width:88px;font-size:.88rem}.data-table-compact .col-carrier{min-width:120px;max-width:160px;overflow:hidden;text-overflow:ellipsis}.data-table-compact .col-zone{min-width:100px}.data-table-compact .col-entered,.data-table-compact .col-plan,.data-table-compact .col-data{width:52px}.data-table-compact .col-duration,.data-table-compact .col-norm,.data-table-compact .col-exceed{width:72px}.data-table-compact .col-state{width:28px}.col-muted{color:#5c6570;font-size:.75rem}.plan-dot{color:#2e6b3e}.pres-compact{max-width:1.5rem}.pres-compact .pres-icon{font-size:.85rem}.state-empty-inline{padding:1rem;text-align:left;display:flex;flex-direction:column;gap:.25rem}.map-section-collapsible{margin-top:.35rem;font-size:.8rem}.map-section-collapsible summary{cursor:pointer;color:#5c6570;padding:.25rem 0}.data-table{width:100%;border-collapse:collapse;font-size:.82rem}.data-table th,.data-table td{padding:.45rem .55rem;border-bottom:1px solid #eee;text-align:left;white-space:nowrap}.data-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:#5c6570;background:#f8f9fb}.row-clickable{cursor:pointer}.row-clickable:hover{background:var(--accent-soft)}.plate{font-weight:600}.num-strong{font-weight:700}.link-button{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.pres-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;max-width:120px}.pres-icon{font-weight:700;width:1rem;text-align:center}.pres-text{overflow:hidden;text-overflow:ellipsis}.pres-exceeded .pres-icon{color:var(--error)}.pres-approach .pres-icon{color:var(--warn)}.pres-stale .pres-icon{color:#5c6570}.pres-problem .pres-icon{color:#5a4d8c}.map-placeholder{background:var(--surface);border:1px dashed var(--border);border-radius:6px;padding:1rem;margin-top:1rem}.map-placeholder-title{font-weight:600;margin:0 0 .25rem}.map-placeholder-hint{font-size:.8rem;color:#5c6570;margin:0 0 .75rem}.map-blocks{display:flex;flex-wrap:wrap;gap:.5rem}.map-block{border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;background:#f8f9fb;cursor:pointer;text-align:left}.map-block.active{border-color:var(--accent);background:var(--accent-soft)}.map-block-type{display:block;font-size:.7rem;color:#5c6570}.banner{padding:.6rem .85rem;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.banner-warn{background:var(--warn-bg);border:1px solid #e6d49a}.banner-info{background:#e8f0fa;border:1px solid #c5d8ef}.state-panel{padding:2rem;border-radius:8px;text-align:center}.state-empty{background:var(--surface);border:1px solid var(--border)}.state-error{background:var(--error-bg);border:1px solid #f0c0c0}.state-loading{background:var(--surface);border:1px solid var(--border);color:#4a5560}.state-hint{font-size:.85rem;color:#5c6570;margin-top:.5rem}.ops-updated-at{margin:0 0 .5rem;font-size:.8rem;color:#5c6570}.filter-field-disabled select{opacity:.65;cursor:not-allowed}.empty-inline{color:#5c6570;font-size:.9rem}.facility-header h1{margin:.25rem 0;font-size:1.4rem}.facility-type{font-size:.75rem;font-weight:600;color:var(--accent)}.facility-code{margin:.15rem 0 0;font-size:.8rem;color:#5c6570}.facility-sub-muted{color:#8a939c;font-size:.8em}.dev-scope-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;padding:.5rem .75rem;background:#f5f0e6;border:1px dashed #c9b896;border-radius:6px;font-size:.85rem}.dev-scope-label{font-weight:600;color:#6b5a2e}.dev-scope-select{display:inline-flex;align-items:center;gap:.35rem}.dev-scope-hint{flex:1 1 12rem;color:#5c6570;font-size:.8rem}.facility-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1rem}.facility-object-select{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem}.facility-object-select select{min-width:14rem;padding:.35rem .5rem;border-radius:6px;border:1px solid #c5cdd6}.state-loading-inline,.state-error-inline{margin:1rem 0;padding:1rem;text-align:left}.facility-historical-gap,.facility-historical{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border)}.historical-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.historical-meta{margin:0 0 1rem;font-size:.8rem;color:#5c6570}.downtime-period-select{display:flex;gap:.35rem;flex-wrap:wrap}.period-btn{padding:.25rem .65rem;font-size:.8rem;border:1px solid var(--border);border-radius:4px;background:var(--surface);cursor:pointer}.period-btn.active{border-color:var(--accent);background:#e8f0fa;font-weight:600;box-shadow:inset 0 0 0 1px var(--accent)}.facility-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.facility-sub{margin:0;font-size:.85rem;color:#5c6570}.grid-ops{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:1rem 0}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.6rem .75rem}.stat-value{display:block;font-size:1.2rem;font-weight:700}.stat-label{font-size:.72rem;color:#5c6570}.facility-split{display:grid;grid-template-columns:1fr 280px;gap:1rem}.split-bar{display:flex;height:10px;border-radius:4px;overflow:hidden;background:#e0e0e0;margin-top:.5rem}.split-bar.large{height:16px}.split-waiting{background:#6b8cae}.split-loading{background:#8a7b6b}.split-legend{font-size:.78rem;color:#5c6570}.mgmt-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.mgmt-panel{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:1rem}.mgmt-list{margin:0;padding-left:1.2rem}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;z-index:40}.drawer{position:fixed;top:0;right:0;width:min(480px,100vw);height:100vh;background:var(--surface);border-left:1px solid var(--border);z-index:50;padding:1rem 1.25rem;overflow-y:auto;transform:translate(100%);transition:transform .2s ease}.drawer.open{transform:translate(0)}.drawer-header{display:flex;justify-content:space-between;align-items:flex-start}.drawer-plate{margin:0;font-size:1.35rem}.drawer-close{border:none;background:#f0f2f5;font-size:1.25rem;line-height:1;cursor:pointer;border-radius:4px;padding:.15rem .45rem}.drawer-facts{display:grid;grid-template-columns:120px 1fr;gap:.35rem .75rem;font-size:.85rem;margin:1rem 0}.drawer-facts dt{color:#5c6570}.drawer-timeline ol{padding-left:1.2rem;font-size:.85rem}.drawer-timeline li{margin-bottom:.5rem}.drawer-timeline time{display:block;font-size:.75rem;color:#5c6570}.placeholder-page{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:2rem}.plan-ok{color:#2e6b3e;font-size:.78rem}.plan-muted{color:#888;font-size:.78rem}@media (max-width: 1366px){:root{--sidebar-w: 200px}.header-blocks{width:100%}.kpi-tile{min-width:110px}.facility-split{grid-template-columns:1fr}.grid-ops{grid-template-columns:repeat(2,1fr)}.mgmt-grid{grid-template-columns:1fr}.table-scroll-main{max-height:45vh}}.mgmt-panel-operational{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.mgmt-section-historical{margin-top:.5rem}.mgmt-section-historical h2,.mgmt-section-historical h3{margin-top:0}.downtime-journal-page .journal-header h1{margin:0 0 .35rem;font-size:1.35rem}.journal-sub{margin:0 0 .75rem;font-size:.85rem;color:#5c6570}.journal-toolbar{margin-bottom:.75rem}.journal-summary{margin-bottom:1rem}.journal-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.75rem;font-size:.85rem}.map-page-toolbar{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:flex-end;margin-bottom:.5rem;font-size:.85rem}.map-page-toolbar label{display:flex;flex-direction:column;gap:.2rem}.map-page-toolbar select,.map-page-toolbar input[type=search]{min-width:8rem}.filter-check{flex-direction:row!important;align-items:center;gap:.35rem!important}.map-page-meta{font-size:.8rem;color:#5c6570;margin:0 0 .5rem}.map-page-layout{display:grid;grid-template-columns:1fr 220px;gap:1rem}.operational-map-wrap{position:relative;border:1px solid var(--border);border-radius:6px;overflow:hidden}.operational-map{width:100%;height:100%;min-height:200px}.map-legend-panel{font-size:.85rem}.map-legend{list-style:none;padding:0;margin:0 0 1rem}.map-legend li{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.legend-swatch{width:1.25rem;height:.75rem;border:1px solid #666}.legend-waiting{background:#90b8e0}.legend-loading{background:repeating-linear-gradient(45deg,#d4a574,#d4a574 4px,#f5e6d0 4px,#f5e6d0 8px)}.legend-dot{width:.65rem;height:.65rem;border-radius:50%;border:2px solid #333}.legend-ok{background:#8fd4a8;border-color:#1a5c38}.legend-exceeded{background:#e8a0a0;border-color:#a52828}.map-tile-warn{position:absolute;z-index:1000;top:.5rem;left:.5rem;right:.5rem}@media (max-width: 900px){.map-page-layout{grid-template-columns:1fr}}.vehicle-table{width:100%;border-collapse:collapse}.error-banner{background:var(--error-bg);border:1px solid #f0c0c0;padding:.75rem;border-radius:4px}.status-warn{color:#9a3412;font-weight:600}.status-muted-warn{color:#7c5c12}.reports-section{margin-bottom:1.5rem}.reports-section h2{font-size:1.1rem;margin:0 0 .75rem}.reports-dynamics-row{display:grid;grid-template-columns:6rem 1fr 8rem;gap:.5rem;align-items:center;margin-bottom:.35rem;font-size:.85rem}.reports-dynamics-bar{height:10px;background:var(--accent, #3b6ea8);border-radius:2px;min-width:2px}.facility-quick-links{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.facility-quick-links button{font-size:.85rem;padding:.35rem .65rem;border:1px solid var(--border);border-radius:4px;background:#fff;cursor:pointer}.facility-quick-links button:hover{border-color:var(--accent, #3b6ea8)}.button-link{display:inline-block;margin-top:.5rem;padding:.35rem .75rem;background:var(--accent, #3b6ea8);color:#fff;text-decoration:none;border-radius:4px;font-size:.9rem}.map-page-v16 .map-kpi-strip{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.map-kpi-card{min-width:7rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:6px;background:#fff;text-align:left;cursor:pointer}.map-kpi-card:disabled{cursor:default}.map-kpi-card-active{border-color:var(--accent, #3b6ea8);box-shadow:0 0 0 1px var(--accent, #3b6ea8)}.map-kpi-value{display:block;font-size:1.25rem;font-weight:600}.map-kpi-label{font-size:.75rem;color:#4b5563}.map-page-layout-v16{display:grid;grid-template-columns:1fr minmax(280px,340px);gap:1rem;align-items:start}.app-main-column:has(.map-page-v16a){min-height:0;overflow:hidden}.map-page-v16a>:not(.map-page-workspace){flex-shrink:0}.map-page-workspace.map-page-layout-v16.map-page-layout-v16a{align-items:stretch;flex:1 1 auto;min-height:12rem;overflow:hidden}.map-page-workspace>.map-canvas-wrap,.map-page-workspace>.map-side-panel{min-height:0;height:100%;align-self:stretch}.map-side-panel-main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.map-side-attention-header{flex-shrink:0}.map-side-panel-body-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:2px}.map-side-panel-body-scroll .attention-list-wrap,.map-side-panel-body-scroll .attention-list-scrollable,.map-side-panel-body-scroll .operational-vehicle-list-scroll{flex:none;min-height:0;max-height:none;overflow:visible}.map-side-panel-body-scroll .map-side-section-compact{margin-top:.75rem}.map-side-panel.map-side-panel-v16a.map-side-panel-context{overflow:hidden}.map-side-panel{border:1px solid var(--border);border-radius:8px;background:#fff;padding:.75rem 1rem;max-height:min(72vh,680px);overflow-y:auto}.map-side-section{margin-bottom:1rem}.map-side-section h2{font-size:1rem;margin:0 0 .5rem}.map-layer-control{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem;font-size:.85rem}.map-badge-no-coords{margin-left:1rem;font-weight:600;color:#9a3412}.fac-marker-wrap{background:transparent;border:none}.fac-marker{background:#fff;border:2px solid #94a3b8;border-radius:8px;padding:4px 6px;font-size:11px;line-height:1.2;box-shadow:0 1px 3px #0000001f}.fac-marker-ACTIVE{border-color:#3b82f6}.fac-marker-ATTENTION{border-color:#f59e0b}.fac-marker-CRITICAL{border-color:#dc2626}.fac-marker-selected{box-shadow:0 0 0 2px var(--accent, #3b6ea8)}.fac-marker-name{font-weight:600;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fac-marker-counters{display:flex;gap:4px;color:#374151}.fac-problem{color:#dc2626;font-weight:700}.map-mini-table{width:100%;font-size:.8rem;border-collapse:collapse}.map-mini-table th,.map-mini-table td{border-bottom:1px solid var(--border);padding:.25rem .35rem}.row-attention{background:#fef2f2}.status-chip{display:inline-block;padding:.1rem .35rem;border-radius:4px;font-size:.72rem;background:#f3f4f6}.map-legend-compact{font-size:.8rem;margin-top:.5rem}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}.legend-waiting{background:#4a7fc1}.legend-service{background:#e8a04c}.legend-completed{background:#9ca3af}.legend-unmatched{background:#f9fafb;border:2px dashed #6b7280}.legend-exceeded{border:2px solid #dc2626;background:transparent}.dev-toolbar-toggle{font-size:.75rem;padding:.2rem .5rem;border:1px dashed #9ca3af;background:#f9fafb;cursor:pointer}.dev-toolbar-panel{margin-top:.35rem}.app-sidebar .sidebar-nav a.active{background:#2f5d9e59;font-weight:600}.app-sidebar{background:#2a3038}.header-dev{background:transparent;border:none;padding:0}.dev-toolbar-toggle{border:none;background:transparent;color:#6b7280;font-size:.7rem;padding:.15rem .35rem}.map-page-v16a{flex:1;min-height:0;display:flex;flex-direction:column;gap:.35rem}.map-page-header{margin:0;padding:0 .1rem}.map-page-title{margin:0;font-size:1.1rem;font-weight:700;line-height:1.25}.map-page-subtitle{margin:.15rem 0 0;font-size:.78rem;color:#6b7280}.map-kpi-strip-ui08 .map-kpi-group-primary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;flex:1 1 100%}.map-kpi-strip-ui08 .map-kpi-card{min-height:3.5rem;display:flex;flex-direction:column;justify-content:center}.map-kpi-strip-ui08 .map-kpi-value{font-size:1.45rem;line-height:1.1}.map-info-row{font-size:.78rem;color:#4b5563;padding:0 .1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.map-info-segment strong{font-weight:600;color:#1f2937}.map-info-btn{border:none;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.map-info-btn:hover,.map-info-active strong{color:var(--accent)}.map-info-sep{color:#9ca3af}.map-filter-refresh{margin-left:auto;font-size:.75rem;color:#6b7280;white-space:nowrap}.map-side-attention-block,.map-side-attention-block .attention-list-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.map-side-attention-block .attention-list-scrollable{flex:1;min-height:0;max-height:none}.map-side-attention-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;margin-left:.4rem;padding:.05rem .4rem;font-size:.75rem;font-weight:600;border-radius:999px;background:#fee2e2;color:#b91c1c;vertical-align:middle}.map-kpi-groups{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:flex-start}.map-kpi-group{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.map-kpi-group-primary{flex:1 1 420px}.map-kpi-group-secondary{flex:0 1 auto;opacity:.95}.map-kpi-card.map-kpi-primary{min-width:6.5rem}.map-kpi-card.map-kpi-secondary{min-width:5.5rem;padding:.35rem .55rem;background:#f8f9fb}.map-kpi-card.map-kpi-secondary .map-kpi-value{font-size:1.05rem;font-weight:500}.map-kpi-card.map-kpi-attention{border-color:#d97706;background:#fffbeb}.map-kpi-card.map-kpi-attention.map-kpi-card-active{box-shadow:0 0 0 1px #d97706}.map-kpi-help{font-size:.65rem;color:#6b7280}.map-no-coords-badge{font-size:.78rem;padding:.35rem .65rem;border:1px solid #fdba74;border-radius:6px;background:#fff7ed;color:#9a3412;cursor:pointer}.map-no-coords-badge-active{border-color:#ea580c;box-shadow:0 0 0 1px #ea580c}.map-filter-bar-v16a{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem}.map-filter-row{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center}.map-filter-row label{display:flex;align-items:center;gap:.35rem}.map-filter-row select,.map-filter-row input[type=search]{max-width:11rem}.map-filter-grz input{width:7rem}.map-filter-reset{font-size:.8rem;padding:.2rem .5rem}.map-filter-bar-compact .map-filter-row-unified{gap:.4rem .6rem}.map-filter-reset-active{font-weight:600;border-color:var(--accent);color:var(--accent)}.map-freshness-line{font-size:.78rem;color:#4b5563;padding:0 .1rem}.map-freshness-ok{color:#047857}.map-freshness-warning{color:#b45309}.map-freshness-error{color:#b91c1c}.map-layers-dropdown{position:relative;margin-left:auto}.map-map-control-btn,.map-layers-toggle{font-size:.8rem;padding:.3rem .6rem;border:1px solid var(--border);border-radius:8px;background:#fffffff5;cursor:pointer;box-shadow:0 1px 4px #0f172a1a;line-height:1.25}.map-map-control-btn:hover,.map-layers-toggle:hover{border-color:var(--accent)}.map-canvas-controls{position:absolute;z-index:500;pointer-events:none}.map-canvas-controls>*{pointer-events:auto}.map-canvas-controls-top-right{top:.5rem;right:.5rem}.map-canvas-controls-top-right .map-layers-dropdown{margin-left:0}.map-canvas-controls-bottom-left{left:.5rem;bottom:1.85rem}.map-on-map-legend{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;max-width:min(18rem,calc(100vw - 6rem))}.map-on-map-legend-panel{padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background:#fffffff7;box-shadow:0 4px 14px #0f172a1f;max-height:min(50vh,22rem);overflow-y:auto;font-size:.78rem}.map-legend-grouped .map-legend-group-title{margin:.35rem 0 .2rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.map-legend-grouped .map-legend-group-title:first-child{margin-top:0}.map-legend-status-unknown-demo{border-radius:50%;border:2px dashed #94a3b8;background:#f8fafc}.map-layers-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:11rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 4px 14px #0f172a1f;display:flex;flex-direction:column;gap:.35rem;font-size:.8rem}.map-layers-menu label{display:flex;align-items:center;gap:.4rem;cursor:pointer}.fac-pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid #64748b;background:#f8fafc;box-sizing:border-box}.fac-pin.fac-pin-has-vehicles,.fac-pin-dot.fac-pin-has-vehicles{border-color:#3b82f6;background:#f8fafc}.fac-pin.fac-pin-problems,.fac-pin-dot.fac-pin-problems{border-color:#ea580c;background:#fff7ed}.fac-pin.fac-pin-idle,.fac-pin-dot.fac-pin-idle{border-color:#94a3b8;background:#f8fafc}.fac-pin-dot.fac-pin-dot-alert{border-width:3px;border-color:#dc2626;box-shadow:0 0 0 2px #dc262640}.fac-pin-dot.fac-pin-selected{box-shadow:0 0 0 3px #2563eb73;border-color:#2563eb}.map-layer-group{display:flex;flex-wrap:wrap;gap:.5rem .65rem;align-items:center;margin-left:auto;padding-left:.5rem;border-left:1px solid var(--border)}.map-layer-group-label{font-size:.72rem;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.map-status-row{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.8rem;color:#4b5563}.map-page-layout-v16a{flex:1;min-height:0;max-height:none;grid-template-columns:1fr minmax(300px,360px)}.map-page-layout-panel-compact{grid-template-columns:1fr minmax(300px,360px)}.map-secondary-counters{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .35rem;font-size:.78rem;color:#6b7280;padding:.15rem .1rem .25rem;border-top:1px solid #eef0f3;margin-top:.15rem;width:100%}.map-secondary-item{display:inline-flex;align-items:baseline;gap:.3rem}.map-secondary-btn{border:none;background:transparent;padding:.1rem .2rem;margin:0;font:inherit;color:inherit;cursor:pointer;border-radius:4px}.map-secondary-btn:hover{color:#374151;background:#f3f4f6}.map-secondary-active{color:#1d4ed8;font-weight:600}.map-secondary-label{font-weight:400}.map-secondary-value{font-weight:600;color:#374151}.map-secondary-sep{color:#d1d5db;-webkit-user-select:none;user-select:none}.map-freshness-local{color:#6b7280;font-size:.76rem}.map-side-panel-compact{padding:.5rem .55rem;min-width:0}.map-side-panel-compact .map-side-title{font-size:.9rem;margin-bottom:.35rem}.map-attention-ok{color:#047857;font-size:.82rem}.map-side-title-count{font-weight:500;color:#6b7280}.map-side-calm-hint{margin:0 0 .5rem;font-size:.8rem;color:#047857}.map-side-title-context{font-size:.95rem;margin-bottom:.35rem}.map-operational-empty{margin:0;font-size:.85rem;color:#6b7280}.operational-vehicle-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;max-height:min(52vh,520px);overflow-y:auto}.operational-vehicle-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.35rem;text-align:left;border:1px solid var(--border);border-radius:6px;padding:.45rem .5rem;background:#fafbfc;cursor:pointer}.operational-vehicle-card:hover{border-color:var(--accent);background:#fff}.operational-vehicle-card-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.operational-vehicle-card-attention{border-color:#e5e7eb;background:#fff;border-left:3px solid #d97706}.operational-vehicle-card-body{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.operational-vehicle-meta-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;font-size:.78rem;color:#4b5563}.operational-vehicle-duration{flex-shrink:0;font-variant-numeric:tabular-nums;color:#6b7280}.operational-vehicle-duration-excess{font-weight:600;color:#b45309}.operational-vehicle-chevron{flex-shrink:0;opacity:.45;width:.85rem;height:.85rem}.operational-vehicle-plate{white-space:nowrap}.operational-vehicle-plate-row,.attention-vehicle-plate-row,.map-facility-vehicle-plate-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .45rem;min-width:0}.operational-vehicle-plate{font-weight:700;font-size:.92rem}.map-vehicle-leg-badge{display:inline-block;max-width:100%;font-size:.68rem;font-weight:600;line-height:1.2;padding:.08rem .4rem;border-radius:4px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-vehicle-leg-badge-first{border-color:#bfdbfe;color:#1d4ed8;background:#f0f9ff}.map-vehicle-leg-badge-second{border-color:#cbd5e1;color:#334155;background:#f1f5f9}.map-vehicle-leg-badge-unknown{border-style:dashed;color:#64748b;background:#fafafa}.map-vehicle-leg-badge-subdued{font-size:.65rem;font-weight:500;opacity:.92}.map-vehicle-leg-badge-compact{font-size:.62rem;padding:.05rem .3rem;max-width:6.5rem}.ops-scope-hint{margin:0 0 .35rem;font-size:.75rem;color:#6b7280}.ops-situation-split.ds-ops-split{flex:1;min-height:0}.data-table .col-nowrap,.data-table .col-plan{white-space:nowrap}.data-table .col-facility{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operational-vehicle-facility{font-size:.78rem;color:#4b5563;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operational-vehicle-state{font-size:.76rem;font-weight:600;color:#374151}.operational-vehicle-duration{font-size:.72rem;color:#6b7280}.operational-vehicle-excess{font-size:.72rem;color:#b45309;font-weight:600}.map-fit-active-btn{position:absolute;z-index:500;top:var(--map-control-inset, 8px);left:var(--map-fit-active-left, 50px);font-size:.78rem;padding:.3rem .55rem;border:1px solid var(--border);border-radius:6px;background:#fffffff0;cursor:pointer;box-shadow:0 1px 4px #0f172a1f}.map-fit-active-btn:hover{border-color:var(--accent)}.map-canvas-wrap .leaflet-top.leaflet-left{margin-top:var(--map-control-inset, 8px);margin-left:var(--map-control-inset, 8px)}.fac-marker-wrap,.veh-marker-wrap{background:transparent!important;border:none!important}.map-svg{display:block;width:28px;height:28px}.map-svg-approved{max-width:100%;max-height:100%}.map-fac-marker{display:flex;flex-direction:column;align-items:center;gap:0;pointer-events:auto}.map-fac-icon-stack{flex-shrink:0}.map-fac-icon-shell{width:39px;height:39px;border-radius:8px;border:2px solid #94a3b8;background:#fff;color:#475569;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0f172a26}.map-fac-mps .map-fac-icon-shell{border-color:#3b82f6;color:#1d4ed8}.map-fac-kpo .map-fac-icon-shell{border-color:#64748b;color:#334155;border-radius:6px 6px 10px 10px}.map-fac-marker.map-fac-tone-has-vehicles .map-fac-icon-shell{border-color:#3b82f6;background:#fff}.map-fac-marker.map-fac-tone-problems .map-fac-icon-shell,.map-fac-marker.map-marker-attention .map-fac-icon-shell{border-color:#ea580c;background:#fffbeb}.map-fac-marker,.map-fac-marker.map-fac-tone-has-vehicles,.map-fac-marker.map-fac-tone-problems,.map-fac-marker.map-fac-tone-idle,.map-fac-marker.map-marker-selected,.map-fac-marker.map-marker-hovered,.map-fac-marker.map-marker-attention,.map-fac-marker.map-marker-dimmed{background:transparent!important;border:none!important;box-shadow:none!important;padding:0}.map-fac-label-wrap,.map-fac-label-name{background:transparent!important;border:none!important;box-shadow:none!important}.map-fac-label-wrap{max-width:148px;margin-top:3px;text-align:center;background:transparent;border:none;border-radius:0;padding:0;pointer-events:none}.map-fac-label-name{display:block;color:#172638;font-size:14px;font-weight:600;line-height:1.2;letter-spacing:.01em;overflow-wrap:break-word;word-break:normal;-webkit-text-stroke:0;text-shadow:0 1px 1px rgba(255,255,255,.4);box-shadow:none;background:transparent}.map-veh-marker{display:flex;flex-direction:column;align-items:center;gap:1px}.map-veh-icon-shell{width:38px;height:38px;border-radius:50%;border:2px solid #64748b;background:#fff;color:#334155;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0f172a2e}.map-veh-status-waiting .map-veh-icon-shell{border-color:#2563eb;color:#1d4ed8}.map-veh-status-service .map-veh-icon-shell{border-color:#d97706;color:#b45309}.map-veh-status-completed .map-veh-icon-shell{border-color:#64748b;color:#475569;background:#f8fafc}.map-veh-status-attention .map-veh-icon-shell{border-color:#dc2626;color:#b91c1c;box-shadow:0 0 0 2px #dc262659}.map-veh-status-unknown .map-veh-icon-shell{border-color:#94a3b8;border-style:dashed;color:#64748b}.map-veh-leg-unknown .map-veh-icon-shell{border-style:dashed}.map-veh-first .map-veh-icon-shell{width:38px;height:38px}.map-veh-second .map-veh-icon-shell{width:48px;height:38px;border-radius:6px}.map-marker-selected.map-veh-marker .map-veh-icon-shell{box-shadow:0 0 0 3px #2563eb73}.map-marker-selected .map-fac-icon-shell{box-shadow:0 0 0 3px #2563eb73;border-color:#2563eb}.map-marker-hovered .map-fac-icon-shell,.map-marker-hovered .map-veh-icon-shell{filter:brightness(1.03);transform:scale(1.06)}.map-veh-at-facility{pointer-events:auto}.map-veh-leg-unknown .map-svg-veh-unmatched{width:24px;height:24px}.map-marker-dimmed{opacity:.5}.map-veh-marker-compact .map-veh-icon-shell{width:28px;height:28px}.map-veh-marker-compact.map-veh-second .map-veh-icon-shell{width:34px;height:28px}.map-veh-marker-compact .map-svg-approved{width:22px!important;height:22px!important}.map-fac-composite{display:flex;flex-direction:column;align-items:center;pointer-events:auto}.map-fac-composite-place-left,.map-fac-composite-place-right{position:relative;align-items:center}.map-veh-group{display:grid;justify-content:center;pointer-events:auto;width:max-content}.map-veh-group-place-left{position:absolute;left:0;top:50%;margin-top:0!important;transform:translate(calc(-100% - 6px),-50%)}.map-veh-group-place-right{position:absolute;right:0;top:50%;margin-top:0!important;transform:translate(calc(100% + 6px),-50%)}.fac-composite-wrap{background:transparent;border:none}.map-veh-group-slot,.map-veh-group-more{padding:0;margin:0;border:none;background:transparent;cursor:pointer;line-height:0}.map-veh-group-more{width:32px;height:32px;border-radius:6px;border:2px dashed #64748b;background:#fff;font-size:10px;font-weight:700;color:#334155;line-height:28px}.veh-group-wrap{background:transparent;border:none}.map-veh-unmatched .map-veh-icon-shell{border-style:dashed;color:#6b7280}.map-legend-icons li{display:flex;align-items:center;gap:.4rem}.map-legend-icon-slot{display:inline-flex;flex-shrink:0}.map-legend-icon{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;flex-shrink:0}.map-legend-mini-shell{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:2px solid #94a3b8;box-shadow:0 1px 2px #0f172a1f}.map-legend-mini-veh{width:26px;height:26px;border-radius:50%;color:#334155}.map-legend-mini-veh-unknown{border-style:dashed;color:#6b7280}.map-legend-mini-veh-second{width:30px;height:26px;border-radius:5px;color:#334155}.map-legend-mini-mps{width:28px;height:28px;border-radius:6px;border-color:#3b82f6;color:#1d4ed8}.map-legend-mini-kpo{width:28px;height:28px;border-radius:6px 6px 8px 8px;border-color:#64748b;color:#334155}.map-legend-icon .map-svg{width:auto;height:auto}.map-legend-mini-shell .map-svg-approved{width:20px!important;height:20px!important}.map-legend-mini-veh-second .map-svg-approved{width:24px!important;height:20px!important}.map-legend-selected-demo{border-radius:8px;border:2px solid #2563eb;box-shadow:0 0 0 2px #2563eb66;background:#fff}.map-legend-status-waiting-demo{border-radius:50%;border:2px solid #2563eb;background:#fff}.map-legend-status-service-demo{border-radius:50%;border:2px solid #d97706;background:#fff}.map-legend-status-completed-demo{border-radius:50%;border:2px solid #64748b;background:#fff}.map-legend-attention-demo{border-radius:50%;border:2px solid #dc2626;box-shadow:0 0 0 2px #dc26264d;background:#fffbeb}.map-legend-note{margin:.35rem 0 0;font-size:.68rem;color:#6b7280;line-height:1.3}.map-approved-marker{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;box-sizing:border-box;flex-shrink:0}.map-approved-marker-inner{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.map-approved-vector .map-approved-svg-glyph{display:flex;align-items:center;justify-content:center;pointer-events:none}.map-approved-vector .map-approved-svg-glyph svg{width:100%;height:100%;display:block}.map-approved-attention{box-shadow:0 0 0 2px #ea580c59}.map-approved-variant-A{background:#fff;border:2px solid var(--map-icon-ring);box-shadow:0 1px 3px #0f172a1f}.map-approved-variant-B{background:#f8fafc;border:2px solid var(--map-icon-ring)}.map-approved-variant-B .map-approved-glyph{opacity:.95;filter:contrast(1.15)}.map-approved-variant-C{background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0f172a14}.map-approved-badge{position:absolute;bottom:2px;left:15%;right:15%;height:3px;border-radius:2px;background:var(--map-icon-accent)}.map-approved-selected{box-shadow:0 0 0 3px #2563eb73;border-color:#2563eb!important}.map-approved-unmatched{border-style:dashed!important}.map-icon-preview-page{padding:1rem 1.25rem 2rem;overflow:auto;max-width:1200px}.map-icon-preview-header h1{margin:0 0 .35rem;font-size:1.25rem}.map-icon-preview-lead{margin:0 0 1rem;color:#4b5563;font-size:.9rem}.map-icon-preview-section{margin-bottom:1.5rem}.map-icon-preview-section h2{font-size:1rem;margin:0 0 .5rem}.map-icon-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.map-icon-preview-card{display:flex;gap:.75rem;align-items:center;padding:.65rem;border:1px solid var(--border);border-radius:8px;background:#fff}.map-icon-preview-raw{width:64px;height:64px;object-fit:contain;background:#111;border-radius:6px}.map-icon-preview-meta{font-size:.72rem;color:#6b7280;margin:.35rem 0 0}.map-icon-preview-size-row{display:flex;flex-wrap:wrap;gap:1rem}.map-icon-preview-size-cell{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem;background:#fff;border:1px solid var(--border);border-radius:8px}.map-icon-preview-size-label{font-size:.75rem;font-weight:600}.map-icon-preview-map-bg{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;border-radius:10px;background:linear-gradient(180deg,#ffffffd9,#ffffffeb),url(https://tile.openstreetmap.org/9/309/158.png) center / cover;min-height:140px}.map-icon-preview-variant-col{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;background:#ffffffbf;border-radius:8px}.map-icon-preview-variant-col h3{margin:0;font-size:.8rem}.map-icon-preview-state-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.map-icon-preview-state-card{padding:.5rem;border:1px solid var(--border);border-radius:8px;background:#fafbfc;font-size:.78rem}.map-icon-preview-state-icons{display:flex;gap:.5rem;margin-top:.35rem;flex-wrap:wrap}.map-icon-preview-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.65rem 1rem;font-size:.82rem}.map-icon-preview-legend li{display:flex;align-items:center;gap:.35rem}.map-icon-preview-hint{font-size:.78rem;color:#6b7280;margin:0 0 .5rem}.dev-preview-map-icons-btn{font-size:.78rem;padding:.25rem .5rem}.map-icon-preview-blocked{padding:1rem;border:1px solid #fca5a5;border-radius:8px;background:#fef2f2;max-width:42rem}.map-icon-preview-blocked-missing{font-weight:600;color:#b91c1c}.legend-facility{background:#f8fafc;border:2px solid #64748b}.legend-facility-active{background:#eff6ff;border:2px solid #3b82f6}.legend-facility-alert{background:#fff7ed;border:3px solid #dc2626}.legend-facility-selected{background:#eff6ff;box-shadow:0 0 0 2px #2563eb8c;border:2px solid #2563eb}.map-facility-type-line{margin:0 0 .5rem;font-size:.8rem;color:#6b7280}.map-side-facility-title{margin:0 0 .35rem;font-size:1.05rem;font-weight:700;line-height:1.25;min-width:0;overflow-wrap:break-word}.map-facility-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.65rem 0 .75rem}.map-facility-kpi-cell{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.45rem .5rem;min-height:3.25rem;display:flex;flex-direction:column;justify-content:center;min-width:0}.map-facility-kpi-cell-alert{border-color:#fecaca;background:#fef2f2}.map-facility-kpi-cell-alert .map-facility-kpi-value{color:#b91c1c}.map-facility-kpi-value{font-size:1.25rem;font-weight:700;line-height:1.1;color:#0f172a}.map-facility-kpi-label{font-size:.68rem;line-height:1.2;color:#64748b;margin-top:.15rem}.map-panel-unmatched-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin:0 0 .65rem;padding:.45rem .55rem;border:1px dashed #cbd5e1;border-radius:8px;background:#fff;font-size:.82rem;color:#334155;cursor:pointer}.map-panel-unmatched-row:hover{border-color:#94a3b8;background:#f8fafc}.map-panel-unmatched-count{font-weight:700;white-space:nowrap}.map-facility-vehicles-heading{margin:.75rem 0 .4rem;font-size:.85rem;font-weight:600;color:#374151}.map-facility-vehicle-list{list-style:none;margin:0;padding:0;max-height:min(42vh,320px);overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;min-width:0}.map-facility-vehicle-card{width:100%;text-align:left;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem .55rem;background:#fff;cursor:pointer;min-width:0}.map-facility-vehicle-card:hover{border-color:#94a3b8}.map-facility-vehicle-card-selected{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb59}.map-facility-vehicle-card-attention{border-color:#fca5a5;background:#fffbfb}.map-facility-vehicle-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;min-width:0}.map-facility-vehicle-plate{font-weight:700;font-size:.9rem;white-space:nowrap;letter-spacing:.02em}.map-facility-vehicle-duration{font-size:.8rem;font-weight:600;color:#475569;white-space:nowrap;flex-shrink:0}.map-facility-vehicle-card-meta{margin-top:.2rem;font-size:.75rem;color:#64748b;line-height:1.3;min-width:0;overflow-wrap:break-word}.map-facility-vehicle-exceed{margin-left:.35rem;color:#b91c1c;font-weight:600;white-space:nowrap}.map-facility-section-links{margin:.5rem 0}.map-facility-nocoords-hint{margin:0 0 .5rem}.map-counter-dl-compact{margin-bottom:.5rem}.map-page-layout-v16a .map-canvas-wrap{min-height:0;height:100%!important}.map-side-panel-v16a{max-height:none;height:100%;overflow-x:hidden;overflow-y:hidden}.attention-card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.attention-card{width:100%;text-align:left;border:1px solid var(--border);border-radius:6px;padding:.45rem .55rem;background:#fafbfc;cursor:pointer;display:flex;flex-direction:column;gap:.15rem}.attention-card:hover{border-color:var(--accent);background:#fff}.attention-card-plate{font-weight:700;font-size:.95rem}.attention-card-facility{font-size:.78rem;color:#4b5563;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.attention-card-meta{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.attention-card-duration{font-size:.72rem;color:#6b7280}.attention-reason-chip{display:inline-block;font-size:.7rem;padding:.1rem .4rem;border-radius:4px;background:#f3f4f6}.attention-reason-exceeds{background:#fee2e2;color:#991b1b}.attention-reason-no_coords{background:#ffedd5;color:#9a3412}.attention-reason-unmatched{background:#e5e7eb;color:#374151}.attention-show-all{margin-top:.35rem;font-size:.78rem;padding:0;border:none;background:none;color:var(--accent);cursor:pointer;text-decoration:underline}.map-canvas-hint{position:absolute;z-index:500;top:.5rem;left:50%;transform:translate(-50%);background:#fffffff2;border:1px solid var(--border);padding:.35rem .75rem;border-radius:6px;font-size:.8rem;pointer-events:none}.map-canvas-wrap{position:relative}.fac-pin{background:#ffffffeb;border:2px solid #94a3b8;border-radius:6px;padding:2px 5px;font-size:10px;line-height:1.15;box-shadow:0 1px 2px #0000001a}.fac-pin-head{display:flex;gap:4px;align-items:baseline}.fac-pin-type{font-weight:700;color:#374151;flex-shrink:0}.fac-pin-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:88px}.fac-pin-stats{display:flex;gap:2px;align-items:center;color:#4b5563;font-size:9px}.fac-pin-stat{font-weight:600}.fac-pin-alert{color:#dc2626;font-weight:800;margin-left:2px}.fac-pin.fac-pin-has-vehicles{border-color:#3b82f6;background:#fff}.fac-pin.fac-pin-problems{border-color:#ea580c;background:#fffbeb}.fac-pin.fac-pin-idle{border-color:#cbd5e1;background:#fff}.fac-pin.fac-pin-selected{border-width:2px;box-shadow:0 0 0 2px var(--accent);background:#fff}.leaflet-container .leaflet-control-attribution{margin:0 6px 6px 0!important;padding:0 2px!important;background:transparent!important;background-color:transparent!important;box-shadow:none!important;border:none!important;border-radius:0!important;font-size:10px;line-height:1.35;color:#64748b;max-width:calc(100% - 12px)}.leaflet-container .leaflet-control-attribution a{color:#475569;text-decoration:none}.leaflet-container .leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-tooltip.map-hover-tooltip{background:transparent!important;border:none!important;box-shadow:none!important;padding:0;margin:0;-webkit-backdrop-filter:none;backdrop-filter:none}.leaflet-tooltip.map-hover-tooltip:before{display:none}.map-hover-tooltip-title{display:block;color:#172638;font-size:14px;font-weight:700;line-height:1.25;text-shadow:0 1px 1px rgba(255,255,255,.35)}.map-hover-tooltip-line{display:block;color:#334155;font-size:12px;font-weight:600;line-height:1.35;text-shadow:0 1px 1px rgba(255,255,255,.3)}.map-hover-tooltip-line.map-hover-tooltip-warn{color:#b91c1c}.map-hover-tooltip-floating{position:absolute;z-index:1000;pointer-events:none;transform:translate(-50%,calc(-100% - 10px));max-width:220px}.fac-pin-dimmed{opacity:.55}.fac-pin-expanded{min-width:140px}.fac-pin-title{font-weight:700;font-size:10px;line-height:1.2;margin-bottom:2px}.fac-pin-detail-line{font-size:9px;color:#4b5563}.map-canvas-hint-warn{border-color:#f59e0b;color:#92400e}.map-geozone-hint-side,.map-geozone-legend-compact{font-size:.78rem;color:#6b7280;margin-bottom:.5rem}.legend-swatch{display:inline-block;width:12px;height:8px;margin:0 4px 0 8px;border-radius:2px;vertical-align:middle}.legend-waiting-zone{background:#90b8e0;border:1px solid #2c5282}.legend-service-zone{background:#f0c080;border:1px solid #b45309}.map-no-coords-list-v16a{list-style:none;margin:0;padding:0}.map-no-coords-row{display:grid;grid-template-columns:1fr;gap:.15rem;padding:.45rem 0;border-bottom:1px solid var(--border);font-size:.78rem}.map-no-coords-explainer{font-size:.78rem;color:#6b7280;margin:0 0 .5rem}.map-side-back{border:none;background:none;color:var(--accent);cursor:pointer;font-size:.8rem;margin-bottom:.5rem;padding:0}.map-mini-table tbody tr[role=button]{cursor:pointer}.map-vehicle-primary{margin-bottom:.35rem}.map-vehicle-details summary{cursor:pointer;font-size:.82rem;color:var(--accent)}.header-pill-muted{color:#6b7280}.attention-map-unavailable{font-size:.68rem;color:#9a3412;background:#ffedd5;padding:.05rem .35rem;border-radius:4px}.map-position-unavailable{font-size:.8rem;color:#9a3412;background:#fff7ed;border:1px solid #fdba74;border-radius:4px;padding:.35rem .5rem;margin:0 0 .5rem}.map-no-coords-reason{display:block;font-size:.72rem;color:#6b7280;margin-top:.15rem}.map-panel-explainer{font-size:.78rem;color:#6b7280;margin:0 0 .5rem}.map-unmatched-row{display:flex;flex-direction:column;gap:.15rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:6px;margin-bottom:.45rem}.map-side-panel-v16e{background:#fafbfc;border-radius:12px;padding:1rem;overflow-x:hidden;gap:.75rem;display:flex;flex-direction:column}.map-side-title{font-size:1.05rem;font-weight:700;margin:0 0 .65rem}.map-side-subtitle{font-size:.9rem;font-weight:600}.map-attention-empty,.map-side-hint{font-size:.82rem;color:#6b7280;margin:0}.attention-list-scrollable{max-height:17rem;overflow-y:auto;overflow-x:hidden;padding-right:2px}.map-side-panel-context.map-side-panel-v16a{display:flex;flex-direction:column;min-height:0;overflow:hidden}.map-side-panel-context.map-side-panel-v16a .map-side-attention-block{flex:1;min-height:0}.map-side-panel-context .map-side-section-compact{flex-shrink:0}.map-side-attention-block .attention-list-scrollable,.map-side-panel-context .operational-vehicle-list-scroll{max-height:none;flex:1;min-height:0}.map-side-panel-context .operational-vehicle-list{max-height:none;overflow:visible}.attention-vehicle-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;border:1px solid #e5e7eb;border-radius:10px;padding:.65rem .75rem;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}.attention-vehicle-card:hover{border-color:#93c5fd}.attention-vehicle-card-selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 1px #bfdbfe}.attention-vehicle-plate{display:block;font-weight:700;font-size:1.05rem;letter-spacing:.02em}.attention-vehicle-facility{display:block;font-size:.78rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;word-break:keep-all}.attention-vehicle-state{display:block;font-size:.8rem;color:#374151;margin-top:.15rem}.attention-vehicle-excess{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;margin-top:.35rem}.attention-vehicle-excess-label{font-size:.72rem;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.attention-vehicle-excess-value{font-size:.92rem;font-weight:700;color:#dc2626}.attention-vehicle-meta{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.35rem}.attention-vehicle-duration{font-size:.75rem;color:#4b5563}.map-panel-icon{width:1rem;height:1rem;flex-shrink:0}.map-panel-chevron{color:#9ca3af}.vehicle-details-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.vehicle-details-plate{margin:0;font-size:1.35rem;font-weight:700}.vehicle-details-facility{margin:.15rem 0 0;font-size:.85rem;color:#6b7280}.vehicle-details-warn{font-size:.8rem;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:.5rem .65rem}.vehicle-details-warn p{margin:.15rem 0}.vehicle-details-rows{display:flex;flex-direction:column;border-top:1px solid #f3f4f6}.vehicle-detail-row{display:grid;grid-template-columns:1.25rem minmax(4.5rem,34%) minmax(0,1fr);gap:.35rem .5rem;align-items:start;padding:.65rem 0;border-bottom:1px solid #f3f4f6;font-size:.82rem;min-width:0}.vehicle-detail-row-icon{color:#6b7280;display:flex}.vehicle-detail-row-label{color:#6b7280}.vehicle-detail-row-value{text-align:left;font-weight:500;color:#1f2937;min-width:0;overflow-wrap:break-word;word-break:normal}.vehicle-detail-row-value-nowrap{white-space:nowrap}.vehicle-details-status-row{margin-top:.5rem}.vehicle-details-status-row .status-chip{white-space:normal;line-height:1.25;max-width:100%}.vehicle-detail-row-value .status-chip{white-space:normal;line-height:1.25}.vehicle-section-links{font-size:.85rem;border:1px solid #e5e7eb;border-radius:8px;padding:.35rem .5rem;background:#fff}.vehicle-section-links summary{cursor:pointer;font-weight:600;color:#374151;list-style:none}.vehicle-section-links summary::-webkit-details-marker{display:none}.vehicle-section-links-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.vehicle-section-links-list button{width:100%;text-align:left;border:none;background:transparent;padding:.35rem .25rem;font:inherit;color:#1d4ed8;cursor:pointer;display:flex;align-items:center;gap:.35rem;border-radius:4px}.vehicle-section-links-list button:hover{background:#f3f4f6}.vehicle-section-links-icon{display:inline-flex;flex-shrink:0}.map-side-panel-v16e{min-width:300px}.vehicle-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;min-height:2.75rem;border-radius:10px;font-size:.88rem;font-weight:600;cursor:pointer;border:1px solid transparent}.vehicle-btn-primary{background:var(--accent, #2f5d9e);color:#fff;border-color:var(--accent, #2f5d9e)}.vehicle-btn-secondary{background:#fff;color:#1f2937;border-color:#d1d5db}.vehicle-map-unavailable-label{font-size:.82rem;color:#6b7280;text-align:center;margin:0}.vehicle-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.vehicle-action-grid-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:4.25rem;padding:.5rem;border:1px solid #e5e7eb;border-radius:10px;background:#fff;font-size:.72rem;color:#374151;cursor:pointer;text-align:center}.vehicle-action-grid-btn:hover{border-color:#93c5fd;background:#f8fafc}.vehicle-tech-details{font-size:.78rem;color:#4b5563}.vehicle-tech-details summary{cursor:pointer;color:var(--accent, #2f5d9e);font-weight:500}.vehicle-tech-dl{margin:.5rem 0 0;display:grid;gap:.35rem}.vehicle-tech-dl div{display:flex;justify-content:space-between;gap:.5rem}.vehicle-tech-dl dt{color:#9ca3af}.map-legend-inline{display:flex;flex-wrap:wrap;gap:.65rem 1rem;font-size:.72rem;color:#6b7280;padding-top:.25rem;border-top:1px solid #f3f4f6}.status-chip.status-WAITING_ACTIVE{background:#dbeafe;color:#1e40af}.status-chip.status-SERVICE_ACTIVE{background:#ffedd5;color:#9a3412}.status-chip.status-SERVICE_COMPLETED_STILL_IN_ZONE{background:#f3f4f6;color:#4b5563}.status-chip.status-norm-exceeds{background:#fee2e2;color:#991b1b}.status-chip.status-norm-ok{background:#ecfdf5;color:#065f46}.ds-page{display:flex;flex-direction:column;gap:.65rem;flex:1;min-height:0}.ds-page-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;align-items:flex-start}.ds-page-title{margin:0;font-size:1.25rem;font-weight:600}.ds-page-subtitle{margin:.2rem 0 0;font-size:.85rem;color:#4b5563;max-width:52rem}.ds-page-meta{margin:.25rem 0 0;font-size:.75rem;color:#6b7280}.ds-page-actions{display:flex;gap:.5rem;align-items:center}.ds-kpi-section{margin-bottom:.25rem}.ds-state{margin:.5rem 0}.ds-state-detail{margin:.35rem 0 0;font-size:.82rem;color:#6b7280}.ds-state-empty .map-empty-inline{padding:1rem 1.25rem;border:1px dashed #d1d5db;border-radius:8px;background:#fafafa}.ds-table-scroll{overflow-x:auto}.ds-table.ds-table-sticky thead th{position:sticky;top:0;z-index:1;background:#f9fafb}.ds-table tbody tr:nth-child(2n){background:#fafbfc}.ds-row-selected{background:#eff6ff!important;box-shadow:inset 3px 0 #2563eb}.ds-ops-split{display:grid;grid-template-columns:1fr;gap:.75rem;align-items:start}.ds-ops-split-open{grid-template-columns:minmax(0,1fr) minmax(16rem,22rem)}@media (max-width: 960px){.ds-ops-split-open{grid-template-columns:1fr}}.ds-detail-panel{border:1px solid #e5e7eb;border-radius:8px;padding:.65rem .75rem;background:#fff;max-height:calc(100vh - 12rem);overflow-y:auto}.ds-second-leg-calc-hint{margin:0 0 .65rem;font-size:.82rem}.ds-second-leg-calc-hint summary{cursor:pointer;color:#4b5563}.ds-second-leg-detail .ds-sl-mass-side,.ds-second-leg-detail .ds-sl-compare{margin-top:.75rem;padding-top:.5rem;border-top:1px solid #f3f4f6}.ds-sl-mass-value{margin:.2rem 0;font-weight:600;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.ds-sl-op-ids{margin:.35rem 0 0;padding-left:1.1rem;font-size:.78rem;color:#6b7280}.ds-cell-route{max-width:14rem;line-height:1.25}.ds-cell-numeric{white-space:nowrap;font-variant-numeric:tabular-nums}.ds-wg-badge-anomaly{color:#b45309;border-color:#fcd34d;background:#fffbeb}.ds-wg-mass-cell{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.15rem}.ds-wg-badges{display:flex;flex-wrap:wrap;gap:.2rem}.ds-wg-badge{font-size:.68rem;line-height:1.2;padding:.05rem .35rem;border-radius:4px;background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb;font-weight:500}.ds-wg-quality-hint{font-size:.72rem;margin-top:.2rem;max-width:10rem}.ds-wg-section{margin:.75rem 0;padding-top:.5rem;border-top:1px solid #f3f4f6}.ds-wg-section-title{font-size:.85rem;font-weight:600;margin:0 0 .4rem}.ds-wg-summary-dl{display:grid;gap:.35rem;margin:0 0 .65rem;font-size:.82rem}.ds-wg-summary-dl div{display:flex;justify-content:space-between;gap:.5rem}.ds-wg-summary-dl dt{color:#6b7280}.ds-wg-side{margin-top:.5rem}.ds-wg-side-title{font-size:.78rem;font-weight:600;margin:0 0 .35rem;color:#374151}.ds-wg-op-block{border:1px solid #f3f4f6;border-radius:6px;padding:.35rem .45rem;margin-bottom:.35rem;background:#fafafa}.ds-wg-op-head{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem}.ds-wg-op-title{color:#374151}.ds-wg-op-net{font-weight:600}.ds-wg-op-details{margin-top:.25rem;font-size:.75rem;color:#6b7280}.ds-wg-op-dl{margin-top:.25rem}.ds-wg-total{font-size:.8rem;margin:.25rem 0 0}.ds-wg-quality-line{font-size:.78rem;margin:0 0 .35rem}.ds-wg-loading-hint{font-size:.78rem}.ds-facility-kpi-mini{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0}.ds-tab-bar{display:flex;gap:.35rem;margin:.25rem 0}.ds-tab{border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb;padding:.35rem .75rem;font-size:.82rem;cursor:pointer}.ds-tab-active{background:#fff;border-color:#2563eb;color:#1d4ed8;font-weight:600}.ds-tab-row{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0 .25rem}.ds-tab-count{margin-left:.35rem;opacity:.75;font-weight:500}.ds-th-sort{background:none;border:none;padding:0;font:inherit;font-weight:600;cursor:pointer;color:inherit}.ds-kpi-hint{font-size:.78rem;color:#6b7280;margin:.15rem 0 .5rem}.ds-section-title{font-size:.95rem;margin:0 0 .35rem}.ds-reports-live{padding:.5rem .65rem;border-radius:8px;border:1px solid #bfdbfe;background:#f0f9ff}.ds-reports-historical{padding:.5rem .65rem;border-radius:8px;border:1px solid #e5e7eb;background:#fafafa}.ds-historical-kpi .kpi-tile{background:#fff}.ds-reason-chip{display:inline-block;font-size:.75rem;padding:.15rem .45rem;border-radius:6px;background:#e8eef5;color:#374151;border:1px solid #cbd5e1}.ds-reason-chip-warn{background:#fffbeb;border-color:#fcd34d;color:#92400e}.ds-second-leg-chip{display:inline-block;font-size:.75rem;padding:.15rem .5rem;border-radius:6px;border:1px solid #e5e7eb;background:#f3f4f6;color:#374151}.ds-second-leg-critical{background:#fef2f2;border-color:#fca5a5;color:#991b1b;font-weight:600}.ds-second-leg-ambiguous{background:#fffbeb;border-color:#fcd34d;color:#92400e}.ds-second-leg-active{background:#ffedd5;color:#9a3412}.ds-second-leg-expected{background:#dbeafe;color:#1e40af}.ds-second-leg-completed{background:#ecfdf5;color:#065f46}.ds-page-dense{gap:.3rem}.ds-page-dense .ds-page-title{font-size:1.12rem}.ds-page-dense .ds-page-subtitle{font-size:.78rem;margin-top:.1rem}.ds-btn{padding:.35rem .7rem;border:1px solid var(--border, #cbd5e1);border-radius:6px;background:#fff;font:inherit;font-size:.85rem;cursor:pointer;line-height:1.25}.ds-btn:hover:not(:disabled){background:#f8fafc}.ds-btn:disabled{opacity:.5;cursor:not-allowed}.ds-btn--primary{background:#2563eb;border-color:#2563eb;color:#fff}.ds-btn--primary:hover:not(:disabled){background:#1d4ed8}.ds-btn--ghost{background:#fff}.ds-journal-page{display:flex;flex-direction:column;gap:.55rem;flex:0 1 auto;min-width:0;width:100%;max-width:100%;align-self:stretch}.page-content>.ds-page:has(.ds-journal-page){flex:0 1 auto;min-height:auto}.ds-journal-page .settings-panel-card{max-width:none;width:100%;box-sizing:border-box}.page-content>.ds-page{width:100%;max-width:100%;min-width:0;align-self:stretch}.ds-journal-filter.settings-panel-card{padding:.55rem .75rem;margin:0;border-bottom:none}.ds-journal-kpi.settings-panel-card{padding:.5rem .65rem}.ds-journal-notice{margin:0;font-size:.85rem}.ds-journal-table-panel.settings-panel-card{padding:0;overflow:visible;display:flex;flex-direction:column;min-width:0;flex:0 0 auto;height:auto}.ds-journal-page:not(.ds-journal-page--fill) .ds-journal-table-panel .ds-table-scroll:not(.ds-journal-table-scroll--no-y),.ds-journal-page:not(.ds-journal-page--fill) .table-scroll-main:not(.ds-journal-table-scroll--no-y){max-height:min(68vh,620px);overflow:auto;width:100%;min-width:0}.ds-journal-table-panel .ds-table-scroll,.ds-journal-page .table-scroll-main{width:100%;min-width:0}.ds-journal-page .vehicle-table.ds-table:not(.ds-table-layout-fixed){width:100%;min-width:max-content}.ds-journal-table-section{flex:0 0 auto;display:block;min-height:0}.ds-journal-page .ds-ops-main{flex:0 0 auto;min-height:auto}.ds-journal-page .ds-journal-table-scroll--no-y,.ds-journal-page .ds-journal-table-panel .ds-journal-table-scroll--no-y,.ds-journal-page .ds-journal-table-scroll,.ds-journal-page .table-scroll-main{overflow-x:auto;overflow-y:visible;max-height:none;flex:0 0 auto}.ds-journal-page .journal-pagination,.ds-journal-page .ds-pagination{flex-shrink:0}.ds-journal-page--second-leg-fit{gap:.3rem}.ds-journal-page--second-leg-fit .ds-second-leg-calc-hint{margin:0;padding:.28rem .55rem;font-size:.8rem}.ds-journal-page--second-leg-fit .ds-journal-kpi.settings-panel-card{padding:.32rem .5rem}.ds-journal-page--second-leg-fit .ds-kpi-compact{margin:0}.ds-journal-page--second-leg-fit .ds-kpi-compact .map-kpi-card{padding:.32rem .42rem}.ds-journal-page--second-leg-fit .ds-kpi-compact .map-kpi-value{font-size:1.15rem;line-height:1.15}.ds-journal-page--second-leg-fit .ds-second-leg-norms-hint{margin:0;font-size:.78rem;line-height:1.2}.ds-journal-page--second-leg-fit .ds-compact-filter.ds-journal-filter{padding:.38rem .6rem}.ds-journal-page--second-leg-fit .journal-pagination.ds-pagination{padding:.3rem .55rem}.page-content>.ds-page:has(.ds-journal-page--downtime-viewport){flex:1;min-height:0}.ds-journal-page--downtime-viewport{flex:1;min-height:0;display:flex;flex-direction:column}.ds-journal-page--downtime-viewport .ds-journal-table-panel--viewport{flex:1 1 auto;min-height:10rem;display:flex;flex-direction:column}.ds-journal-page--downtime-viewport .ds-journal-table-panel--viewport .ds-journal-table-body{flex:1 1 auto;min-height:0;overflow-x:auto;overflow-y:visible}.ds-journal-page--downtime-viewport .ds-journal-table-panel--viewport .journal-pagination{margin-top:auto}.ds-journal-page .data-table.ds-table{font-size:.875rem}.ds-journal-page .ds-table th{font-size:.8125rem;padding:.5rem .55rem}.ds-journal-page .ds-table td{padding:.48rem .55rem}.ds-journal-page--second-leg-fit .ds-table-second-leg th,.ds-journal-page--second-leg-fit .ds-table-second-leg td{padding:.34rem .48rem;line-height:1.25}.ds-journal-page--second-leg-fit .ds-second-leg-chip{padding:.1rem .32rem;font-size:.75rem}.ds-journal-page .ds-col-secondary,.ds-journal-page .ds-cell-muted,.ds-journal-page .map-kpi-label{font-size:.8125rem}.ds-journal-page .map-kpi-value{font-size:1.3rem}.ds-journal-page .ds-kpi-compact .map-kpi-card.map-kpi-primary{padding:.4rem .6rem}.ds-journal-page .ds-registry-meta{font-size:.8125rem}.ds-table-layout-fixed{table-layout:fixed;width:100%;min-width:0}.ds-table-plans col.ds-col-expand{width:2.25rem}.ds-table-plans col.ds-col-plate{width:7.5%}.ds-table-plans col.ds-col-facility{width:24%}.ds-table-plans col.ds-col-leg{width:11%}.ds-table-plans col.ds-col-status{width:12%}.ds-table-plans col.ds-col-physical{width:22%}.ds-table-plans col.ds-col-time{width:11%}.ds-table-plans col.ds-col-actions{width:9%}.ds-table-second-leg col.ds-col-plate{width:7%}.ds-table-second-leg col.ds-col-route{width:26%}.ds-table-second-leg col.ds-col-trip-status{width:14%}.ds-table-second-leg col.ds-col-mass{width:10%}.ds-table-second-leg col.ds-col-delta{width:11%}.ds-table-second-leg col.ds-col-quality{width:22%}.ds-journal-page .ds-table-second-leg .ds-cell-route{max-width:none;white-space:normal;word-break:break-word;line-height:1.35}.ds-table-unmatched col.ds-col-expand{width:2.25rem}.ds-table-unmatched col.ds-col-plate{width:9%}.ds-table-unmatched col.ds-col-facility{width:18%}.ds-table-unmatched col.ds-col-zone{width:14%}.ds-table-unmatched col.ds-col-duration{width:11%}.ds-table-unmatched col.ds-col-detected{width:12%}.ds-table-unmatched col.ds-col-reason{width:22%}.ds-table-unmatched col.ds-col-actions{width:10%}.ds-cell-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.ds-journal-page .map-filter-row label{font-size:.82rem;font-weight:600;gap:.2rem}.ds-journal-page .map-filter-row select,.ds-journal-page .map-filter-row input[type=search],.ds-journal-page .map-filter-row input[type=date]{min-height:2.1rem;padding:.3rem .45rem;border:1px solid var(--border, #cbd5e1);border-radius:6px;font:inherit;font-size:.88rem}.ds-journal-page .journal-pagination,.ds-journal-page .ds-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;padding:.45rem .65rem;margin:0;border-top:1px solid var(--border, #e2e8f0);background:#f9fafb}.ds-pagination-meta{flex:1 1 auto;min-width:10rem;font-size:.8125rem}.ds-pagination-size{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;margin-left:auto}.ds-pagination-size select{min-height:2rem;padding:.2rem .4rem;border:1px solid var(--border, #cbd5e1);border-radius:6px;font:inherit;background:#fff}.ds-journal-page .ds-tab-bar{margin-bottom:.15rem}.ds-journal-page .reports-section{background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:.65rem .75rem}.ds-journal-page .reports-section h2{font-size:.95rem;margin:0 0 .5rem}.ds-compact-filter{padding:.15rem 0 .35rem;margin:0;background:transparent;border:none;border-bottom:1px solid #e5e7eb}.ds-compact-filter.ds-journal-filter{background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-bottom:none}.ds-compact-filter .map-filter-row{gap:.4rem .65rem}.ds-filter-hint{font-size:.72rem;color:#6b7280}.ds-kpi-compact{margin:.1rem 0 .2rem}.ds-kpi-compact .map-kpi-group{gap:.3rem}.ds-empty{padding:.65rem .85rem;border:1px dashed #d1d5db;border-radius:8px;background:#fafafa;font-size:.88rem}.ds-empty-centered{max-width:28rem;margin:.75rem auto;text-align:center}.ds-inline-status{font-size:.85rem;padding:.35rem 0}.ds-inline-status.ds-error{color:#991b1b}.ds-loading{color:#6b7280}.ds-table.ds-table,.data-table.ds-table{font-size:.86rem}.ds-table th{font-size:.78rem;font-weight:600;color:#374151;padding:.45rem .5rem}.ds-table td{padding:.42rem .5rem;vertical-align:middle}.ds-table tbody tr.row-clickable:hover{background:#f3f4f6}.ds-row-selected{background:#eff6ff!important;box-shadow:inset 3px 0 #3b82f6}.ds-cell-primary{font-weight:600;color:#111827}.ds-cell-muted,.ds-col-secondary{font-size:.78rem;color:#6b7280;font-weight:400}.ds-cell-attention{font-weight:600;color:#b45309}.ds-cell-numeric,.ds-table td.num,.ds-table th.num{text-align:right;font-variant-numeric:tabular-nums}.ds-journal-hint{padding:.45rem .65rem;font-size:.85rem}.ds-link-subtle.link-button{color:#374151;font-weight:500;text-decoration:none}.ds-link-subtle.link-button:hover{color:#1d4ed8;text-decoration:underline}.ds-leg-cell{display:flex;flex-direction:column;gap:.1rem}.ds-second-leg-ambiguous{background:#f3f4f6;border-color:#d1d5db;color:#6b7280;font-weight:400}.ds-second-leg-critical{border-width:1px}.ds-vp-status-chip{display:inline-block;font-size:.72rem;padding:.12rem .4rem;border-radius:6px;border:1px solid #e5e7eb}.ds-vp-status-confirmed{background:#dbeafe;color:#1e40af}.ds-vp-status-completed{background:#ecfdf5;color:#065f46}.ds-vp-status-cancelled{background:#f3f4f6;color:#6b7280}.ds-vp-status-draft{background:#fffbeb;color:#92400e}.ds-facility-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:#9ca3af}.ds-facility-dot-normal{background:#9ca3af}.ds-facility-dot-active{background:#3b82f6}.ds-facility-dot-attention{background:#f59e0b}.ds-facility-dot-critical{background:#ef4444}.ds-registry-meta{font-size:.78rem;color:#6b7280;margin:0}.ds-panel-meta{font-size:.75rem;color:#6b7280;margin:.35rem 0}.ds-pagination{margin-top:.35rem}.downtime-period-select{display:inline-flex;gap:.25rem}.header-dev-isolated{margin-left:.35rem;padding:.2rem .45rem;border-radius:6px;background:#f5f3e8;border:1px dashed #c4b87a;box-shadow:inset 0 0 0 1px #ffffff80}.header-dev-isolated .dev-toolbar-toggle{font-weight:600;color:#6b5c2e;letter-spacing:.02em}.header-dev-isolated .dev-toolbar-panel{padding-top:.35rem;border-top:1px dashed #d4c88a;margin-top:.35rem}.home-dashboard{max-width:100%;padding:0 0 1rem}.home-dashboard-header{margin-bottom:.45rem}.home-dashboard-title-block{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem 1rem}.home-dashboard-title-block h1{margin:0;font-size:1.25rem}.home-freshness{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;font-size:.78rem;padding:.25rem .55rem;border-radius:6px;border:1px solid var(--border);background:var(--surface)}.home-freshness-icon{font-weight:700}.home-freshness-ok{border-color:#b8d4be;background:#f4faf5}.home-freshness-warn{border-color:#e6d49a;background:var(--warn-bg)}.home-freshness-muted{color:#5c6570}.home-freshness-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.home-freshness-details{margin:.15rem 0 0;padding-left:1.1rem;max-width:42rem;font-size:.76rem;line-height:1.35;color:#475569}.home-freshness-headline{font-weight:600}.home-freshness-time{color:#5c6570}.home-section{margin-bottom:.55rem;padding-bottom:.45rem;border-bottom:1px solid var(--border)}.home-section:last-child{border-bottom:none}.home-section-title{margin:0 0 .45rem;font-size:1.05rem}.home-status-banner{padding:.4rem .6rem;border-radius:6px;font-size:.85rem;margin-bottom:.4rem}.home-status-primary{margin:0;line-height:1.35}.home-status-secondary{margin:.15rem 0 0;font-size:.8rem;color:#4a5f50;line-height:1.3}.home-status-banner-ok{background:#f4faf5;border:1px solid #b8d4be;color:#2e5a38}.home-status-banner-warn{background:var(--warn-bg);border:1px solid #e6d49a}.home-status-ok-mark{margin-right:.35rem;font-weight:700}.home-kpi-groups{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem;margin-bottom:.45rem}.home-kpi-group-label{display:block;font-size:.8rem;font-weight:600;color:#3d4650;margin-bottom:.2rem}.home-kpi-strip .kpi-tile{min-width:100px;max-width:none;flex:1 1 120px;padding:.3rem .5rem}.kpi-tile-neutral{background:#f8f9fb}.kpi-tile-calm .kpi-value{color:#5c6570;font-weight:600}.kpi-tile-calm{background:#f8f9fb;border-color:#e4e7eb}.kpi-tile-alert{border-color:#d4a574;background:#fdf6ee}.kpi-tile-alert .kpi-value{color:#8a4b12}.home-empty-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem 1rem;margin-top:.25rem}.home-empty-attention{margin:0;font-size:.85rem;color:#5c6570}.home-nav-action{border:none;background:none;padding:.2rem 0;font-size:.85rem;font-weight:500;color:#2a4a6b;cursor:pointer}.home-nav-action:hover{color:#1a3550;text-decoration:underline;text-underline-offset:2px}.home-nav-action-inline{font-size:.82rem}.home-table-scroll{max-height:none;margin-top:.35rem}.home-clickable-row{cursor:pointer}.home-clickable-row:hover{background:#eef2f6}.home-clickable-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.home-history-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.home-history-kpi .kpi-tile{flex:1 1 140px}.home-panel{background:#f8f9fb;border:1px solid var(--border);border-radius:6px;padding:.45rem .65rem;margin:.35rem 0;max-width:36rem}.home-panel-title{margin:0 0 .35rem;font-size:.92rem}.home-zone-bar-wrap{max-width:28rem}.home-zone-lines{list-style:none;margin:.35rem 0 0;padding:0;font-size:.8rem}.home-zone-lines li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem;margin-bottom:.2rem}.home-zone-line-title{font-weight:500}.home-zone-line-meta{color:#5c6570}.home-ranking-section{margin-top:.5rem}.home-ranking-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem;margin-bottom:.35rem}.home-rank-col{width:2rem;text-align:center;color:#8a9199}.home-rank-marker{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;font-size:.72rem;font-weight:600;color:#4a5560;border:1px solid #d0d5db;border-radius:4px;background:#f4f5f7}.home-rank-marker-dim{font-weight:500;color:#9aa3ad;border-color:transparent;background:transparent}.home-ranking-table .home-rank-col+td{font-weight:500}@media (max-width: 1200px){.home-kpi-groups{grid-template-columns:1fr}}.facility-overview-kpi-hint{margin-top:-.25rem;margin-bottom:.75rem}.facility-overview-table-wrap .ds-table-scroll,.facility-overview-table-wrap .data-table{width:100%}.facility-overview-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.facility-overview-zero{color:#9ca3af}.facility-overview-name{font-weight:600;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-overview-th-btn{background:none;border:none;padding:0;font:inherit;font-weight:600;cursor:pointer;color:inherit}.facility-overview-th-btn:hover{color:var(--accent)}.facility-overview-row:hover{background:#f8fafc}.facility-overview-go{width:1.5rem;text-align:center;opacity:.5}.facility-type-badge{display:inline-block;font-size:.72rem;font-weight:600;padding:.1rem .4rem;border-radius:4px;background:#eef2f7;color:#4b5563}.facility-situation-label{font-size:.8rem;font-weight:500}.facility-situation-attention{color:#b45309}.facility-situation-has_vehicles{color:#1d4ed8}.facility-situation-no_vehicles{color:#6b7280}.facility-situation-data_unavailable{color:#9ca3af}.facility-overview-time{font-weight:500}.facility-overview-search input{min-width:10rem}.facility-toolbar-compact{margin-bottom:.75rem}.facility-detail-subtitle{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.facility-detail-duration-hint{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;font-size:.82rem;color:#4b5563;margin:0 0 .85rem}.facility-detail-ops{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.9fr);gap:1rem;align-items:start;margin-bottom:1rem}.facility-section-title{font-size:1rem;font-weight:600;margin:0 0 .5rem}.facility-map-block-v02 .facility-map-toolbar{display:flex;justify-content:flex-end;margin-bottom:.35rem}.facility-excess-inline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.facility-excess-time{font-variant-numeric:tabular-nums;font-weight:600;color:#b45309;white-space:nowrap}.facility-vehicle-plate{white-space:nowrap}.facility-downtime-block{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}@media (max-width: 1100px){.facility-detail-ops{grid-template-columns:1fr}}.admin-users-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,1fr);gap:1rem;align-items:start}@media (max-width: 960px){.admin-users-layout{grid-template-columns:1fr}}.admin-users-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;align-items:center}.admin-users-search{flex:1 1 12rem;min-width:0}.admin-users-role-filter{flex:0 1 auto}.admin-users-table-panel .table-scroll{max-height:min(70vh,520px)}.admin-users-tr--selected{background:#2563eb14}.admin-users-tr--selected td{font-weight:500}.admin-users-td-login{font-family:ui-monospace,monospace;font-size:.92em}.admin-users-empty{text-align:center;color:var(--muted, #64748b);padding:1.5rem!important}.admin-users-detail-panel{min-height:12rem;position:sticky;top:.5rem}.admin-user-detail-card{padding:1rem 1.1rem}.admin-users-detail-placeholder{padding:1rem 1.1rem;background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:8px}.admin-users-data-table tbody td{vertical-align:middle;font-size:.9rem}.admin-users-td-user{display:flex;flex-direction:column;gap:.1rem;min-width:8rem}.admin-users-td-sub{font-size:.85rem;color:var(--muted, #64748b)}.admin-users-td-dt{white-space:nowrap;font-size:.88rem}.admin-status-pill{display:inline-block;padding:.12rem .45rem;border-radius:999px;font-size:.82rem;font-weight:500;line-height:1.35}.admin-status-pill--ok{background:#ecfdf5;color:#047857}.admin-status-pill--online{background:#dbeafe;color:#1d4ed8}.admin-status-pill--muted{background:#f1f5f9;color:#64748b}.admin-user-kv{display:grid;gap:.45rem .75rem;margin:0 0 .75rem;font-size:.9rem}.admin-user-kv>div{display:grid;grid-template-columns:minmax(7rem,38%) 1fr;gap:.35rem;align-items:baseline}.admin-user-kv dt{margin:0;color:var(--muted, #64748b);font-size:.82rem}.admin-user-kv dd{margin:0}.admin-field-hint,.admin-password-weak-hint{font-size:.82rem;color:var(--muted, #64748b)}.admin-password-weak-hint{color:#b45309}.admin-facility-picker-selected{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.4rem;max-height:5.5rem;overflow:auto}.admin-facility-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--border, #cbd5e1);background:#f8fafc;font-size:.8rem;cursor:pointer}.admin-facility-chip:hover:not(:disabled){background:#f1f5f9}.admin-user-form-title{margin:0 0 .75rem;font-size:1.1rem}.admin-form-section{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border, #e2e8f0)}.admin-form-section:last-of-type{border-bottom:none}.admin-form-section h4{margin:0 0 .5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted, #64748b)}.admin-user-form label{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.6rem;font-size:.9rem}.admin-user-form input,.admin-user-form select{padding:.4rem .5rem;border:1px solid var(--border, #cbd5e1);border-radius:6px;font:inherit}.admin-readonly{background:#f8fafc;color:#64748b}.admin-checkbox-row{flex-direction:row!important;align-items:center;gap:.5rem!important}.admin-form-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.admin-form-success{margin:0 0 .75rem;padding:.5rem .65rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;color:#065f46;font-size:.9rem}.admin-btn{padding:.4rem .75rem;border:1px solid var(--border, #cbd5e1);border-radius:6px;background:#fff;font:inherit;cursor:pointer}.admin-btn:hover:not(:disabled){background:#f8fafc}.admin-btn:disabled{opacity:.55;cursor:not-allowed}.admin-btn--primary{background:#2563eb;border-color:#2563eb;color:#fff}.admin-btn--primary:hover:not(:disabled){background:#1d4ed8}.admin-btn--compact{padding:.25rem .5rem;font-size:.85rem}.admin-facility-picker{margin-top:.35rem}.admin-facility-picker--dirty{padding:.35rem;border-radius:6px;border:1px dashed #93c5fd;background:#f8fafc}.admin-facility-picker-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.35rem}.admin-facility-picker-search{flex:1 1 10rem;min-width:0;padding:.35rem .5rem;border:1px solid var(--border, #cbd5e1);border-radius:6px}.admin-facility-picker-count{font-size:.85rem;color:var(--muted, #64748b);white-space:nowrap}.admin-facility-picker-scroll{max-height:220px;overflow-y:auto;border:1px solid var(--border, #e2e8f0);border-radius:6px;padding:.35rem .5rem;background:#fafafa}.admin-facility-picker-group-title{margin:.35rem 0 .25rem;font-size:.75rem;font-weight:600;color:#475569}.admin-facility-picker-list{list-style:none;margin:0;padding:0}.admin-facility-picker-item{display:flex;align-items:flex-start;gap:.45rem;padding:.2rem 0;font-size:.88rem;cursor:pointer}.settings-tab-bar{display:flex;flex-wrap:nowrap;gap:.4rem;margin:0 0 .85rem;padding:.2rem .15rem .45rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#c5cad3 transparent;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 .35rem,#000 calc(100% - .35rem),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 .35rem,#000 calc(100% - .35rem),transparent 100%)}.settings-tab-bar::-webkit-scrollbar{height:6px}.settings-tab-bar::-webkit-scrollbar-thumb{background:#c5cad3;border-radius:4px}.settings-tab{flex:0 0 auto;min-height:2.35rem;border:1px solid var(--border);background:#f9fafb;padding:.42rem .9rem;border-radius:6px;cursor:pointer;font-size:.82rem;line-height:1.3;color:#1c1f23}.settings-tab-label{display:inline-block;white-space:nowrap;max-width:none}.settings-tab:hover{background:#fff;border-color:#c5cad3}.settings-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px;z-index:1}.settings-tab--active{background:#fff;border-color:var(--accent);color:#1e4a82;font-weight:600;box-shadow:inset 0 -2px 0 var(--accent),0 1px 2px #2f5d9e1f}.settings-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.75rem}.settings-toolbar label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;font-weight:600;color:#374151}.settings-toolbar select{min-width:14rem;max-width:100%;padding:.35rem .5rem;font-size:.88rem;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.settings-panel-card{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:.85rem 1rem 1rem;max-width:44rem}.settings-panel-card--apro{max-width:min(38rem,100%);width:100%}@media (min-width: 1200px){.settings-panel-card--apro{max-width:36rem}}.settings-kv-section{margin-bottom:.85rem}.settings-kv-section:last-child{margin-bottom:0}.settings-kv-section-title{margin:0 0 .45rem;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.settings-kv-table{width:100%;border-collapse:collapse;font-size:.88rem}.settings-kv-table th{width:40%;min-width:9rem;text-align:left;font-weight:500;color:#4b5563;padding:.35rem .75rem .35rem 0;vertical-align:top}@media (max-width: 480px){.settings-panel-card--apro .settings-kv-table th,.settings-panel-card--apro .settings-kv-table td{display:block;width:100%;padding:.2rem 0}.settings-panel-card--apro .settings-kv-table tr{display:block;margin-bottom:.5rem;padding-bottom:.35rem;border-bottom:1px solid #eef0f3}}.settings-kv-table td{padding:.35rem 0;vertical-align:top;word-break:break-word}.settings-kv-mono{font-family:ui-monospace,Consolas,monospace;font-size:.85em}.settings-kv-tz-hint{margin-left:.35rem;font-size:.75rem;color:#6b7280}.settings-runtime-note{margin:0;font-size:.86rem;line-height:1.5;color:#374151;padding:.55rem .65rem;background:var(--warn-bg);border:1px solid #f0d78a;border-radius:6px;overflow-wrap:anywhere}.settings-status-pill{display:inline-block;padding:.12rem .5rem;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1.3}.settings-status-pill--ok{background:#ecfdf5;color:#065f46}.settings-status-pill--warn{background:var(--warn-bg);color:var(--warn)}.settings-status-pill--neutral{background:#f3f4f6;color:#4b5563}.settings-notice{margin:0 0 .65rem;padding:.45rem .65rem;border-radius:6px;font-size:.88rem}.settings-notice--warn{color:#92400e;background:var(--warn-bg);border:1px solid #fcd34d}.settings-notice--ok{color:#166534;background:#ecfdf5;border:1px solid #86efac}.settings-notice--info{color:#1e40af;background:var(--accent-soft);border:1px solid #bfd4ef}.settings-save-ok{color:#166534;font-size:.88rem}.settings-form--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-items:stretch}@media (max-width: 920px){.settings-form--grid{grid-template-columns:1fr}}.settings-form--grid .settings-row{margin-bottom:0;display:flex;flex-direction:column;min-height:100%;height:100%}.settings-form--grid .settings-row>input,.settings-form--grid .settings-row>select,.settings-form--grid .settings-row .settings-cutoff{flex:0 0 auto}.settings-form--grid .settings-row>button[type=button]{margin-top:auto;align-self:flex-start}.settings-form--grid .settings-desc{flex:1 1 auto}.settings-row{border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem;background:var(--surface)}.settings-row-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem .75rem;margin-bottom:.35rem}.settings-row-head strong{font-size:.95rem}.settings-desc{margin:0 0 .5rem;font-size:.85rem;color:#4b5563;line-height:1.45}.settings-range,.settings-restart-note{margin:0 0 .45rem;font-size:.8rem;color:#6b7280}.settings-restart-note{color:var(--warn)}.settings-form input[type=text],.settings-form input[type=number],.settings-form input[type=time],.settings-form select{display:block;max-width:18rem;margin:.35rem 0 .5rem;padding:.35rem .5rem;font-size:.88rem;border:1px solid var(--border);border-radius:6px}.settings-form button[type=button]{margin-top:.15rem;padding:.35rem .75rem;font-size:.85rem;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}.settings-form button[type=button]:hover:not(:disabled){filter:brightness(1.05)}.settings-form button[type=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-form button[type=button]:disabled{opacity:.55;cursor:not-allowed}.settings-cutoff{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.settings-source{font-size:.78rem;color:#64748b}.settings-facility-hint{margin:0 0 .65rem;font-size:.85rem}.settings-facility-hint--action a{font-weight:600;color:var(--accent);text-decoration:none}.settings-facility-hint--action a:hover{text-decoration:underline}.settings-facility-hint.muted-hint{padding:.55rem .65rem;background:#f8fafc;border:1px solid var(--border);border-radius:8px;line-height:1.45;color:#4b5563}.settings-facility-picker{margin-bottom:1rem}.settings-parking-card{border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem;margin-bottom:1.25rem;background:var(--surface);max-width:min(52rem,100%)}.settings-parking-card-title{margin:0 0 .75rem;font-size:1.05rem}.settings-row-nested{background:#fff}.settings-zone-picker{margin-top:1rem;padding-top:.75rem;border-top:1px dashed var(--border, #cbd5e1)}.settings-zone-count{font-size:.85rem;color:#475569;margin-left:.5rem}.settings-zone-search{width:100%;max-width:22rem;margin:.5rem 0 .75rem;padding:.4rem .6rem}.settings-zone-list{list-style:none;margin:0;padding:0;max-height:16rem;overflow-y:auto}.settings-zone-option{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;cursor:pointer}.settings-zone-option-type{font-size:.8rem;color:#64748b;margin-left:auto}.settings-zone-actions{display:flex;gap:.5rem;margin-top:.75rem}.settings-zone-warning{background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;padding:.5rem .75rem;margin:.5rem 0;font-size:.88rem}.settings-zone-warning ul{margin:.35rem 0 0;padding-left:1.2rem}.geozone-editor-page{flex:1;min-height:0;display:flex;flex-direction:column}.geozone-editor-hint{margin:0 0 .5rem;font-size:.85rem}.geozone-editor-layout{display:grid;grid-template-columns:minmax(232px,272px) minmax(0,1fr) minmax(272px,320px);gap:.65rem;flex:1;min-height:0;align-items:stretch}.geozone-editor-layout--left-collapsed{grid-template-columns:2.75rem minmax(0,1fr) minmax(272px,320px)}.geozone-editor-layout--right-collapsed{grid-template-columns:minmax(232px,272px) minmax(0,1fr) 2.75rem}.geozone-editor-layout--left-collapsed.geozone-editor-layout--right-collapsed{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem}.geozone-editor-sidebar{display:flex;flex-direction:column;min-height:0;background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:.55rem .6rem}.geozone-editor-list,.geozone-editor-props-scroll{display:flex;flex-direction:column;min-height:0}.geozone-editor-props-scroll{overflow:hidden}.geozone-editor-props-scroll>.geozone-props-toolbar{flex-shrink:0}.geozone-props-body{overflow:auto;min-height:0;flex:1;padding-right:.1rem}.geozone-editor-props--collapsed{padding-left:.35rem;padding-right:.35rem}.geozone-sidebar-head{flex-shrink:0}.geozone-sidebar-head-row{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.45rem}.geozone-sidebar-title{margin:0;font-size:.92rem;font-weight:600;color:#0f172a}.geozone-facility-label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#64748b;margin-bottom:.45rem}.geozone-facility-label select,.geozone-zone-search{width:100%;font-size:.88rem;padding:.35rem .45rem;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:#fff}.geozone-zone-search{margin-bottom:.45rem}.geozone-list-filters{display:flex;flex-wrap:wrap;gap:.3rem}.geozone-list-filters button{font-size:.72rem;padding:.22rem .5rem;border-radius:6px;border:1px solid var(--border, #e2e8f0);background:#fff;cursor:pointer;color:#475569}.geozone-list-filters button:hover{border-color:#cbd5e1;background:#f8fafc}.geozone-list-filters button.is-active{border-color:#0f172a;background:#0f172a;color:#fff}.geozone-list-count{margin:.4rem 0 .35rem;font-size:.78rem;color:#64748b}.geozone-list-scroll{list-style:none;padding:0;margin:0;flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:.35rem}.geozone-list-empty{padding:.5rem .25rem;font-size:.85rem}.geozone-list-footer{flex-shrink:0;margin-top:.45rem;padding-top:.45rem;border-top:1px solid #f1f5f9}.geozone-zone-card{width:100%;text-align:left;display:flex;flex-direction:column;gap:.2rem;padding:.45rem .5rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.geozone-zone-card:hover{border-color:#cbd5e1;box-shadow:0 1px 2px #0f172a0f}.geozone-zone-card.is-selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb}.geozone-zone-card.is-archived{opacity:.72;background:#f8fafc}.geozone-zone-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem}.geozone-zone-card-title{font-size:.86rem;line-height:1.25;color:#0f172a}.geozone-zone-card.is-archived .geozone-zone-card-title{color:#64748b}.geozone-zone-card-meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.75rem;color:#64748b}.geozone-status-pill{flex-shrink:0;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;padding:.12rem .35rem;border-radius:999px;border:1px solid transparent}.geozone-status-pill.is-active{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.geozone-status-pill.is-draft{background:#fffbeb;color:#b45309;border-color:#fcd34d}.geozone-status-pill.is-archived{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}.geozone-panel-toggle{border:1px solid var(--border, #e2e8f0);background:#fff;border-radius:6px;padding:.15rem .4rem;font-size:.78rem;cursor:pointer;color:#475569}.geozone-map-panel-toolbar{display:none;gap:.35rem;margin-bottom:.35rem}.geozone-editor-map-panel{min-height:0;display:flex;flex-direction:column}.geozone-editor-map-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.geozone-editor-map-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden;background:#f8fafc}.geozone-editor-map-toolbar-floating{position:absolute;top:.45rem;left:.45rem;right:.45rem;z-index:1000;display:flex;flex-wrap:wrap;align-items:flex-start;gap:.35rem;pointer-events:none}.geozone-editor-map-toolbar-floating>*{pointer-events:auto}.geozone-editor-map-toolbar-group{display:flex;flex-wrap:wrap;gap:.25rem;padding:.2rem;border-radius:8px;background:#ffffffeb;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0f172a14}.geozone-map-tool{border:1px solid #e2e8f0;background:#fff;border-radius:6px;padding:.22rem .45rem;font-size:.75rem;cursor:pointer;color:#334155}.geozone-map-tool:hover{background:#f8fafc}.geozone-map-tool.is-active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8;font-weight:600}.geozone-editor-map{flex:1;min-height:0;width:100%;border-radius:0}.geozone-props-block{margin-bottom:.65rem;padding-bottom:.65rem;border-bottom:1px solid #f1f5f9}.geozone-props-block:last-child{border-bottom:none}.geozone-props-block-title{margin:0 0 .4rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:600}.geozone-props-name{margin:0 0 .45rem;font-size:1rem;line-height:1.3;color:#0f172a}.geozone-props-dl{margin:0;font-size:.86rem}.geozone-props-dl div{display:grid;grid-template-columns:6.5rem 1fr;gap:.35rem;margin-bottom:.2rem}.geozone-props-dl dt{color:#64748b;margin:0}.geozone-props-dl dd{margin:0;font-weight:500}.geozone-props-msg{margin:0 0 .5rem}.geozone-props-actions{display:flex;flex-direction:column;gap:.35rem}.geozone-btn{display:block;width:100%;padding:.42rem .65rem;border-radius:8px;font-size:.86rem;font-weight:600;cursor:pointer;border:1px solid transparent;text-align:center}.geozone-btn:disabled{opacity:.55;cursor:not-allowed}.geozone-btn-primary{background:var(--accent, #2f5d9e);color:#fff;border-color:var(--accent, #2f5d9e)}.geozone-btn-secondary{background:#fff;color:#1f2937;border-color:#d1d5db}.geozone-btn-danger{background:#fff;color:#b91c1c;border-color:#fecaca}.geozone-btn-danger:hover:not(:disabled){background:#fef2f2}.geozone-btn-ghost{width:auto;padding:.2rem .45rem;font-size:.78rem;font-weight:500;background:transparent;border-color:#e2e8f0;color:#334155}.geozone-preview-box{margin-top:.5rem;font-size:.82rem;max-height:200px;overflow:auto;background:#f8fafc;padding:.5rem;border-radius:6px;border:1px solid #e2e8f0}@media (max-width: 1200px){.geozone-map-panel-toolbar{display:flex}.geozone-editor-layout{grid-template-columns:minmax(200px,240px) minmax(0,1fr) minmax(240px,280px)}}@media (max-width: 1100px){.geozone-editor-map-panel-toolbar{display:flex}}.geozone-move-handle div{width:18px;height:18px;border-radius:50%;background:#f59e0b;border:2px solid #fff;box-shadow:0 0 0 1px #b45309;cursor:move}.geozone-archived-badge{color:#b45309;font-weight:600}.geozone-archive-panel{margin-top:.75rem;padding:.65rem;border:1px solid #fcd34d;border-radius:8px;background:#fffbeb;font-size:.9rem}.geozone-archive-panel textarea{width:100%;margin-top:.35rem}.geozone-archive-actions{display:flex;gap:.5rem;margin-top:.5rem}.geozone-version-history{border-bottom:none}.geozone-version-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.geozone-version-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.45rem;padding:.4rem .45rem;border:1px solid #f1f5f9;border-radius:8px;font-size:.82rem;background:#fafafa}.geozone-version-head{display:flex;align-items:center;gap:.35rem}.geozone-version-status{font-size:.72rem;color:#64748b}.geozone-version-date{display:block;font-size:.72rem;margin-top:.15rem}.geozone-version-actions{display:flex;flex-direction:column;gap:.2rem;flex-shrink:0}
