.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}}html,body,#root{height:100%;margin:0}:root{font-family:Inter,system-ui,Segoe UI,sans-serif;color:#1f2937;background:#f3f6f8;--line:#d8e2e8;--accent:#087f78;--soft:#e8f7f4;--muted:#667784}*{box-sizing:border-box}button,input,select{font:inherit}button{cursor:pointer}.reservation-stop-line{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow-x:auto;min-width:0;padding-bottom:3px;font-size:12px}.reservation-stop-line>span,.reservation-stop-line>b{flex:none}.reservation-stop-line>span:not(:first-child):not(:nth-child(2)){border-left:1px solid #cbd5e1;padding-left:8px}.app-shell{height:100%;display:flex;flex-direction:column}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:0 18px}.brand{font-weight:900;color:#0b5360;font-size:18px}.page-title{font-weight:700}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.top-actions label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}.top-actions input,.panel-header input,.panel-header select,.planning-box input,.planning-box select{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff}.ghost{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 11px}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:330px minmax(520px,1fr) 390px;gap:12px;padding:12px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;min-height:0;overflow:hidden;display:flex;flex-direction:column}.panel-header{padding:12px;border-bottom:1px solid var(--line);display:grid;gap:10px;background:#fbfcfd}.panel-header>div{display:flex;justify-content:space-between}.panel-header.inline{display:flex;align-items:center;justify-content:space-between}.panel-scroll{overflow:auto;padding:10px}.ticket-card{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px;margin-bottom:9px}.ticket-card.selected{border:2px solid var(--accent);background:var(--soft)}.ticket-top{display:flex;gap:8px;align-items:center}.ticket-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}.ticket-status{display:inline-block;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:900;line-height:1.2;text-transform:uppercase}.ticket-source{font-size:11px;font-weight:800;color:#475569}.ticket-customer{font-weight:800;margin:6px 0 4px}.ticket-time{margin-top:7px;font-size:12px;font-weight:700;color:#7c4a03}.type-badge{font-size:10px;font-weight:900;padding:3px 6px;border-radius:999px}.type-badge.auftrag{background:#e0f2fe;color:#075985}.type-badge.stoerung{background:#fee2e2;color:#991b1b}.muted{color:var(--muted);font-size:12px}.empty{padding:16px;color:var(--muted);text-align:center}.map-wrap{flex:1;min-height:500px}.leaflet-map{width:100%;height:100%;min-height:500px}.availability-row{border:1px solid var(--line);border-radius:10px;padding:11px;margin-bottom:10px}.availability{display:inline-block;margin-top:7px;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}.availability.ok{background:#dcfce7;color:#166534}.availability.warn{background:#fef3c7;color:#92400e}.stop-card{display:grid;grid-template-columns:34px 1fr;gap:9px;padding:9px;border:1px solid var(--line);border-radius:9px;margin-bottom:7px}.stop-card-with-action{grid-template-columns:28px 34px 1fr}.stop-details{align-self:start;border:0;background:transparent;color:#6d28d9;font-size:25px;font-weight:900;line-height:28px;cursor:pointer;padding:0}.sequence{width:28px;height:28px;border-radius:50%;background:var(--soft);color:var(--accent);display:grid;place-items:center;font-weight:900}.planning-box{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:9px}.planning-box label{display:grid;gap:5px;font-size:12px;color:var(--muted)}.secondary,.primary{border:0;border-radius:8px;padding:10px 12px;font-weight:800}.secondary{background:#e8eef2}.primary{background:var(--accent);color:#fff}.primary:disabled,.secondary:disabled{opacity:.45}.route-preview{border:1px solid #b6e4dc;background:#f0fdfa;border-radius:10px;padding:10px;display:grid;gap:6px}.warning{font-size:12px;padding:7px;border-radius:7px;background:#f8fafc}.warning.warning{background:#fff7ed}.warning.info{background:#eff6ff}.error-banner{margin:10px 12px 0;padding:10px 12px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:9px;display:flex;gap:8px}.error-banner button{margin-left:auto;border:0;background:transparent;font-size:20px}@media(max-width:1200px){.workspace{grid-template-columns:310px 1fr}.technician-panel{grid-column:1/-1;max-height:520px}}@media(max-width:760px){.topbar{height:auto;align-items:flex-start;flex-wrap:wrap;padding:12px}.top-actions{width:100%;margin-left:0;flex-wrap:wrap}.workspace{display:block}.panel{margin-bottom:10px;min-height:420px}.leaflet-map,.map-wrap{min-height:420px}}.view-area{flex:1;min-height:0;display:flex;flex-direction:column}.main-nav{display:flex;gap:4px}.main-nav button{border:0;background:transparent;padding:9px 12px;border-radius:8px;font-weight:750}.main-nav button.active{background:var(--soft);color:var(--accent)}.user-menu{margin-left:auto;display:flex;align-items:center;gap:12px}.user-menu span{display:grid;text-align:right}.user-menu small{color:var(--muted)}.subbar{padding:10px 14px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.subbar>div{display:grid}.subbar span{font-size:12px;color:var(--muted)}.subbar label{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:12px}.subbar input{border:1px solid var(--line);border-radius:8px;padding:7px 9px}.splash,.login-page{min-height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#eef6f6,#f5f7f9)}.login-card{width:min(420px,calc(100vw - 30px));background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 18px 55px #1233;display:grid;gap:13px}.login-card h1{margin:0}.login-brand{font-weight:900;font-size:22px;color:#0b5360}.login-card label,.form-body label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.login-card input,.form-body input,.form-body select,.form-body textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff}.login-note{font-size:11px;color:var(--muted);text-align:center}.form-error{padding:9px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:8px}.success-box{padding:9px;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:8px}.reservation-page{display:flex;flex:1;min-height:0;flex-direction:column}.page-heading{padding:13px 16px;background:#fff;border-bottom:1px solid var(--line);display:grid;gap:3px}.page-heading span{font-size:12px;color:var(--muted)}.reservation-workspace{flex:1;min-height:0;display:grid;grid-template-columns:330px minmax(440px,1fr) 390px;gap:12px;padding:12px}.reservation-form{display:grid;gap:10px;overflow:auto}.reservation-map-pin div{width:30px;height:30px;background:#ff5c00;border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 8px #0008}.reservation-map-pin{background:transparent;border:0}@media(max-width:1200px){.reservation-workspace{grid-template-columns:330px 1fr}.reservation-workspace .technician-panel{grid-column:1/-1}}@media(max-width:760px){.reservation-workspace{display:block}.reservation-workspace .panel{margin-bottom:10px}}.page-content{padding:16px;overflow:auto;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.page-heading h1{margin:0;font-size:24px}.page-heading p{margin:4px 0 0;color:var(--muted)}.standalone{min-height:0}.form-body{padding:14px;display:grid;gap:12px}.import-grid,.admin-grid{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(460px,1.15fr);gap:14px}.file-list{display:flex;gap:6px;flex-wrap:wrap}.file-list span{font-size:11px;padding:4px 7px;background:#eef2f4;border-radius:999px}.quality{font-weight:900;padding:4px 8px;border-radius:999px}.quality.grün{background:#dcfce7;color:#166534}.quality.gelb{background:#fef3c7;color:#92400e}.quality.rot{background:#fee2e2;color:#991b1b}.draft-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.draft-field{border:1px solid var(--line);border-radius:8px;padding:9px;display:grid;gap:4px}.draft-field span{font-size:11px;color:var(--muted)}.draft-field.identity{border:2px solid #f59e0b;background:#fffbeb}.quality-checks{display:grid;gap:6px}.quality-check{padding:8px;border-radius:7px;border-left:4px solid #9ca3af;background:#f8fafc;display:grid}.quality-check span{font-size:11px;color:var(--muted)}.quality-check.passed{border-left-color:#16a34a}.quality-check.blocked{border-left-color:#dc2626;background:#fef2f2}.quality-check.warning{border-left-color:#f59e0b;background:#fff7ed}.identity-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:8px!important;font-weight:700!important;color:#7c4a03!important;background:#fff7ed;padding:10px;border-radius:8px}.identity-check input{width:auto!important}.source-document-list{display:grid;gap:8px;margin-bottom:12px}.import-document-download{text-align:left;text-decoration:none}.ticket-detail-form{padding:6px;gap:3px}.ticket-detail-form>label{gap:0}.ticket-detail-form input,.ticket-detail-form select{padding:3px 7px}.ticket-detail-form textarea{padding:4px 7px}.ticket-detail-form .planning-box{margin-top:3px;padding-top:4px;gap:3px}.ticket-detail-form .planning-box label,.ticket-detail-form .draft-fields label,.ticket-detail-form .ticket-access-fields label{gap:0}.ticket-detail-form .draft-fields{gap:3px}.ticket-detail-form .ticket-access-fields{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:4px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ticket-detail-form .ticket-access-fields>b{grid-column:1/-1;font-size:12px;color:var(--accent)}.ticket-detail-header-actions{justify-content:flex-start!important;gap:5px!important;padding:8px!important;flex-wrap:wrap}.ticket-detail-header-actions button{padding:7px 8px;font-size:12px;white-space:nowrap}.ticket-documents{gap:3px!important}.ticket-document-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.ticket-document-existing,.ticket-document-upload{display:grid;gap:4px;align-content:start;min-width:0}.ticket-document-existing>b,.ticket-document-upload>b{min-height:15px;font-size:12px;color:var(--accent)}.ticket-document-existing .secondary{padding:7px 8px;font-size:12px;line-height:1.25;font-weight:700;overflow-wrap:anywhere}.ticket-document-upload{padding-left:6px;border-left:1px solid var(--line)}.ticket-document-upload .secondary{padding:7px 8px;font-size:12px}.ticket-document-upload small{font-size:10px;color:var(--muted)}.ticket-attachment-input{display:none}.segmented{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.segmented button{border:0;background:#fff;padding:8px 11px}.segmented button.active{background:var(--accent);color:#fff}.admin-row{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:10px;text-align:left;display:grid;grid-template-columns:1.1fr 1fr auto;gap:8px;align-items:center}.admin-row.selected{background:var(--soft)}.admin-row>div{display:grid}.admin-row span{font-size:11px;color:var(--muted)}.role-pill{display:inline-block!important;color:#075e59!important;background:#e6f5f2;border-radius:999px;padding:3px 6px;margin:2px}.status-on{color:#166534!important;font-weight:800}.status-off{color:#991b1b!important;font-weight:800}.role-checks{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.role-checks label{display:flex;gap:5px;align-items:center}.role-checks input{width:auto}.catalog-row{display:grid;grid-template-columns:1fr 50px auto;gap:8px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}.catalog-row>div{display:grid}.catalog-row span{font-size:11px;color:var(--muted)}.mini-on,.mini-off{border:0;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.mini-on{background:#dcfce7;color:#166534}.mini-off{background:#fee2e2;color:#991b1b}@media(max-width:950px){.import-grid,.admin-grid,.draft-fields{grid-template-columns:1fr}.main-nav{order:3;width:100%}.topbar{height:auto;flex-wrap:wrap;padding:10px}.user-menu{margin-left:auto}}.ticket-card[draggable=true]{cursor:grab}.ticket-card[draggable=true]:active{cursor:grabbing}.drop-slot{margin:5px 0 8px;border:1.5px dashed #9eb1bb;border-radius:7px;padding:6px;text-align:center;font-size:11px;color:var(--muted);background:#fafcfd}.drop-slot:hover{border-color:var(--accent);background:var(--soft);color:var(--accent)}.draft-field input{border:0;border-top:1px solid var(--line);padding:7px 0 0;background:transparent;font-weight:700;min-width:0}.draft-field.identity input{color:#7c4a03}.quick-create{padding:12px;border-bottom:1px solid var(--line);display:grid;gap:7px;background:#f8fafb}.quick-create input{width:100%;border:1px solid var(--line);border-radius:7px;padding:8px}.button-row{display:flex;gap:8px}.button-row>*{flex:1}.danger{border:0;border-radius:8px;padding:10px 12px;font-weight:800;background:#fee2e2;color:#991b1b}.tech-mobile{padding:10px;overflow:auto;flex:1;background:#eef3f5}.tech-layout{display:grid;grid-template-columns:330px minmax(420px,1fr);gap:10px;max-width:1000px;margin:auto}.tech-list,.tech-detail{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}.tech-ticket{width:100%;display:grid;grid-template-columns:34px 1fr;gap:8px;text-align:left;border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px;margin-bottom:7px}.tech-ticket.selected{border:2px solid var(--accent);background:var(--soft)}.tech-ticket>div{display:grid;gap:3px}.tech-ticket small{color:var(--muted)}.mobile-card{border:1px solid var(--line);border-radius:10px;padding:10px;margin:9px 0}.mobile-card p{margin:6px 0}.mobile-action{display:inline-block;padding:8px 10px;border-radius:8px;background:#e8eef2;text-decoration:none;color:#1f2937;font-weight:700}.status-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.status-buttons button{border:0;border-radius:8px;padding:10px;font-weight:800;background:#e8eef2}.longtext{white-space:pre-wrap;max-height:220px;overflow:auto}.tech-date-row{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;margin:0 0 10px}.tech-date-row input{border:1px solid var(--line);border-radius:8px;padding:8px}@media(max-width:760px){.tech-layout{display:block}.tech-list{margin-bottom:8px}.status-buttons{grid-template-columns:1fr}}.upload-box{display:grid;place-items:center;border:2px dashed #9eb1bb;border-radius:9px;padding:14px;margin-top:8px;background:#fafcfd;font-weight:750;color:var(--accent);cursor:pointer}.upload-box input{margin-top:8px}.attachment-list{display:grid;gap:6px;margin-top:8px}.attachment-row{display:grid;grid-template-columns:60px 1fr auto;gap:7px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:7px}.attachment-row span,.attachment-row small{font-size:11px;color:var(--muted)}.tech-detail{display:flex;flex-direction:column}.technician-status-top{order:1}.technician-ticket-header{order:2}.technician-address-card{order:3}.project-ticket-card{order:4}.tech-key-data{order:5}.technician-contact-card{order:6}.technician-original-ticket-card{order:7}.technician-description-card{order:8}.technician-test-section{order:9;display:flex;flex-direction:column}.technician-test-section .line-test-card{order:1}.technician-test-section .measurement-card{order:2}.technician-photo-card{order:10}.technician-status-bottom{order:11}.technician-feedback-card,.completed-feedback{order:12}.tech-status{display:inline-block;width:max-content;margin-top:4px;padding:4px 8px;border-radius:999px;background:#e8eef2;font-size:12px;font-weight:800;color:#1f2937}.tech-status-detail{display:inline-block;margin:8px 0 4px;padding:7px 10px;border-radius:9px;background:#e8eef2;font-size:14px}.status-buttons button.active{outline:3px solid var(--accent);background:var(--soft)}.vehicle-stock-link{float:right;border:1px solid transparent;border-radius:8px;padding:7px 9px;font-size:12px;font-weight:800}.vehicle-stock-link:hover{filter:brightness(.96)}.vehicle-stock-link.stock-verfuegbar{background:#dcfce7;border-color:#86efac;color:#166534}.vehicle-stock-link.stock-transit{background:#ffedd5;border-color:#fdba74;color:#9a3412}.vehicle-stock-link.stock-fehlbestand{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.vehicle-stock-dot{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 2px #fffa;vertical-align:-1px}.technician-entry{display:grid;gap:4px;padding:12px;margin-bottom:8px;border:1px solid var(--border);border-radius:10px;background:#f8fafc}.technician-entry span{color:#64748b}.technician-entry p{margin:4px 0;white-space:pre-wrap}.technician-entry a{color:var(--accent);font-weight:800}.requester-color{display:inline-block;width:22px;height:22px;border-radius:7px;border:1px solid #cbd5e1;flex:0 0 auto}.color-field{display:grid;grid-template-columns:56px 1fr;gap:8px}.color-field input[type=color]{width:56px;height:42px;padding:3px}.pool-date-filter{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:9px 15px;background:#fff;border-bottom:1px solid #dbe3ea}.pool-date-filter label{display:flex;align-items:center;gap:6px;font-size:13px}.pool-date-filter input{width:auto;min-width:145px}.pool-date-filter span{font-size:12px;color:#64748b}.subbar .pool-date-filter{display:flex;flex:1;padding:0;border:0;background:transparent}.tech-view-tabs{display:flex;gap:8px;margin:10px 0 14px}.tech-view-tabs button{padding:8px 16px;border-radius:9px;border:1px solid #cbd5e1;background:#fff;font-weight:700;cursor:pointer;display:grid;gap:1px;justify-items:center}.ticket-tab-count{font-size:11px;line-height:1;color:#64748b;font-weight:900}.tech-view-tabs button.active{background:var(--soft);outline:2px solid var(--accent)}.tech-view-tabs button.preplanned-tab{border-color:#ff5c00;background:#fff3ed;color:#9a3412;grid-template-columns:auto auto;align-items:center;column-gap:5px}.tech-view-tabs button.preplanned-tab .ticket-tab-count{grid-column:1/-1}.tech-view-tabs button.preplanned-tab.active{background:#ff5c00;color:#fff;outline-color:#e04400}.tech-view-tabs button.preplanned-tab.active .ticket-tab-count{color:#fff}.preplanned-arrow{color:#ff5c00;font-size:18px;line-height:1;font-weight:900}.tech-view-tabs button.preplanned-tab.active .preplanned-arrow{color:#fff}.technician-top-tabs{display:flex;gap:6px;align-items:center;overflow:auto}.technician-top-tabs button{white-space:nowrap;border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px;background:#fff;font-weight:800}.technician-top-tabs button.active{border-color:#0f766e;background:#e8f7f4;color:#0f766e}.absence-list{display:grid;gap:8px;margin-top:8px}.absence-list>b{font-size:13px}.absence-list-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px;border:1px solid #dbe3ea;border-radius:8px;background:#f8fafc}.absence-list-item span{display:grid;gap:3px}.absence-list-item small{color:var(--muted)}.center-view{min-width:0;display:flex;flex-direction:column;min-height:0}.center-view-switch{display:flex;gap:6px;align-items:center;padding:0 0 7px}.center-view-switch button{border:1px solid #cbd5e1;border-radius:8px;padding:7px 10px;background:#fff;font-weight:800}.center-view-switch button.active{background:#e8f7f4;color:#0f766e;border-color:#0f766e}.center-view>.panel{flex:1}.disposition-day-grid{min-width:0}.day-grid-fit-viewport{flex:1;display:flex;flex-direction:column;min-height:0}.timetable-filters{display:flex;gap:10px;flex-wrap:wrap}.timetable-filters label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.timetable-filters input,.timetable-filters select{padding:6px;border:1px solid var(--line);border-radius:7px;background:#fff}.timetable-note{padding:8px 12px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.timetable-scroll{overflow:auto;min-height:0;flex:1}.timetable{display:grid;grid-template-columns:58px repeat(var(--tech-count,1),minmax(180px,1fr));grid-template-rows:auto minmax(912px,1fr);min-width:max-content}.day-grid-fit-viewport .timetable{height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr)}.timetable-time-head,.timetable-tech-head{position:sticky;top:0;z-index:3;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8fafc}.timetable-tech-head{display:grid;gap:2px;min-width:180px}.timetable-tech-head small{color:var(--muted);font-size:11px}.timetable-times{position:relative;grid-row:2;border-right:1px solid var(--line);background:#fbfcfd}.timetable-times span{position:absolute;left:0;right:0;height:1px;border-top:1px solid #e2e8f0;font-size:10px;color:#64748b;padding-left:4px}.timetable-times span.hour{border-top-color:#94a3b8}.timetable-times span:nth-child(1){top:0}.timetable-times span:nth-last-child(1){bottom:0}.timetable-column{position:relative;grid-row:2;border-right:1px solid var(--line);background:repeating-linear-gradient(to bottom,#fff 0,#fff calc(1.923076% - 1px),#e2e8f0 calc(1.923076% - 1px),#e2e8f0 1.923076%)}.timetable-stop{position:absolute;left:5px;right:5px;overflow:hidden;border:1px solid #ffffffcc;border-radius:6px;box-shadow:0 1px 3px #0002;color:#102a43;text-align:left;padding:4px 6px;display:grid;gap:1px;font-size:11px;cursor:pointer}.timetable-stop:hover{filter:brightness(.94);outline:2px solid #0f766e;z-index:2}.timetable-stop span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-column{background-image:repeating-linear-gradient(to bottom,#fff 0,#fff calc(100% / var(--slot-count) - 1px),#e2e8f0 calc(100% / var(--slot-count) - 1px),#e2e8f0 calc(100% / var(--slot-count)))}.timetable-times span:nth-child(1),.timetable-times span:nth-last-child(1){bottom:auto}.day-raster{margin:10px 0;padding:9px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc}.day-raster-title,.day-raster-labels{display:flex;justify-content:space-between;gap:8px}.day-raster-title span,.day-raster-labels{font-size:11px;color:var(--muted)}.day-raster-labels{margin:7px 0 3px}.day-raster-track{position:relative;height:44px;border:1px solid #cbd5e1;border-radius:6px;background:repeating-linear-gradient(90deg,#fff 0,#fff calc(8.333% - 1px),#dbe3ea calc(8.333% - 1px),#dbe3ea 8.333%)}.day-raster-stop{position:absolute;top:8px;bottom:8px;min-width:24px;overflow:hidden;border:1px solid #0f766e;border-radius:5px;color:#102a43;display:flex;align-items:center;gap:3px;padding:0 4px;font-size:10px;white-space:nowrap}.day-raster-stop span{display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#0f766e;color:#fff;font-weight:900}.day-raster-stop b{font-size:10px}.absence-form{display:grid;gap:10px}.absence-form>label{display:grid;gap:5px;font-size:12px;color:var(--muted)}.absence-templates{display:flex;flex-wrap:wrap;gap:7px}.absence-templates button{border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;background:#fff;font-weight:800}.absence-templates button.active{border-color:#0f766e;background:#e8f7f4;color:#0b695f;box-shadow:0 0 0 1px #0f766e}.feedback-template-editor{display:grid;grid-template-columns:minmax(260px,1fr) minmax(420px,2fr);min-height:520px}.feedback-template-list{padding:10px;border-right:1px solid var(--line);overflow:auto;display:grid;align-content:start;gap:6px}.feedback-template-list button{text-align:left;border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px;display:grid;gap:3px}.feedback-template-list button.selected{background:#e8f7f4;border-color:#0f766e}.feedback-template-list small{font-size:11px;color:var(--muted)}@media(max-width:760px){.feedback-template-editor{grid-template-columns:1fr}.feedback-template-list{border-right:0;border-bottom:1px solid var(--line);max-height:220px}}.ticket-panel .panel-header>input{width:100%;min-width:0}.ticket-panel .panel-header>.ticket-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;min-width:0}.ticket-panel .ticket-filters select{width:100%;min-width:0;background:#e8f7f4}.material-admin .admin-row{grid-template-columns:1fr 40px auto}.material-form select{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff}.material-flags{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;background:#f8fafb;border-radius:8px}.material-flags label{display:flex;align-items:center;gap:7px;color:#1f2937}.material-flags input{width:auto}.material-location-grid{padding:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.material-location{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;background:#fff;text-align:left}.material-location:hover{border-color:var(--accent);box-shadow:0 3px 12px #0f766e18}.material-location.central{border-color:#5eead4;background:#f0fdfa}.material-location>div:nth-child(2){display:grid;gap:3px}.material-location span,.material-location small{color:var(--muted);font-size:12px}.material-location small{color:#b45309}.location-icon{width:38px;height:38px;border-radius:9px;background:#e8eef2;display:grid;place-items:center;font-size:20px}.central .location-icon{background:#ccfbf1;color:#0f766e}.location-open{font-size:11px;color:var(--accent)}.mini-filter-clear{margin-left:10px;border:0;border-radius:7px;padding:5px 8px;background:#e8eef2;font-size:11px;font-weight:700}.material-stock-table{padding:12px}.stock-head,.stock-row{display:grid;grid-template-columns:1.2fr .8fr 1.4fr .5fr;gap:10px;padding:9px;border-bottom:1px solid var(--line);align-items:center}.stock-head{background:#f8fafb;border-radius:8px;font-size:12px}.stock-row span{font-size:13px}.stock-actions{display:flex!important;align-items:center;gap:10px}.stock-actions .primary,.stock-actions .secondary{padding:7px 10px}.stock-adjustment{margin:12px;padding:12px;border:1px solid #99d8cf;border-radius:10px;background:#f0fdfa;display:grid;grid-template-columns:1fr 1fr;gap:10px}.stock-adjustment>div:first-child{grid-column:1/-1;display:grid}.stock-adjustment span{font-size:12px;color:var(--muted)}.stock-adjustment label{display:grid;gap:5px;font-size:12px;color:var(--muted)}.stock-adjustment select,.stock-adjustment input,.stock-adjustment textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff}.stock-adjustment label:nth-of-type(3),.stock-adjustment .button-row{grid-column:1/-1}.target-editor{border-color:#93c5fd;background:#eff6ff}.target-editor .button-row{grid-column:1/-1}.material-stock-table .stock-head,.material-stock-table .stock-row{grid-template-columns:1.15fr .75fr 1.25fr .5fr .45fr .45fr .65fr}.stock-missing{color:#b91c1c;font-weight:900}.stock-status{display:inline-block;padding:4px 7px;border-radius:999px;font-size:11px}.stock-status.ok{background:#dcfce7;color:#166534}.stock-status.auffuellen{background:#fee2e2;color:#991b1b}@media(max-width:760px){.stock-adjustment{grid-template-columns:1fr}.stock-adjustment>*{grid-column:1!important}.stock-head,.stock-row,.material-stock-table .stock-head,.material-stock-table .stock-row{grid-template-columns:1fr 1fr}.stock-actions{align-items:flex-end!important;flex-direction:column}}.transfer-editor{border-color:#f59e0b;background:#fffbeb}.transfer-editor .button-row{grid-column:1/-1}.inbound-receipts,.replenishment-history{display:block}.inbound-receipts>div:first-child,.replenishment-history>div:first-child{margin-bottom:8px}.inbound-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #99d8cf}.inbound-row>div{display:grid;gap:3px}.inbound-row small{font-size:11px;color:var(--muted)}.receipt-editor{border-color:#f59e0b;background:#fffbeb}.material-transit-list{padding:12px}.material-transit-row{display:grid;grid-template-columns:1fr 1.4fr .5fr 1fr;gap:12px;align-items:center;padding:11px;border-bottom:1px solid var(--line)}.material-transit-row>div{display:grid;gap:3px}.material-transit-row span{font-size:12px;color:var(--muted)}.tech-transit{margin:10px;border:1px solid #f59e0b;border-radius:10px;background:#fffbeb;overflow:hidden}.tech-transit-item{padding:12px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #fde68a}.tech-transit-item>div{display:grid;gap:4px}.tech-transit-item span,.tech-transit-item small{font-size:12px;color:var(--muted)}.tech-transit-item a{font-size:13px;font-weight:800;color:var(--accent)}@media(max-width:760px){.material-transit-row{grid-template-columns:1fr 1fr}.tech-transit-item{align-items:stretch;flex-direction:column}}.material-location-legend{display:flex;gap:10px;flex-wrap:wrap;padding:10px 14px 0}.material-location-legend span,.location-state{display:inline-block;width:max-content;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900}.material-location-legend .available,.location-state.available{background:#dcfce7;color:#166534}.material-location-legend .transit,.location-state.transit{background:#ffedd5;color:#9a3412}.material-location-legend .missing,.location-state.missing{background:#fee2e2;color:#991b1b}.material-location.available{border-color:#86efac;background:#f0fdf4}.material-location.transit{border-color:#fdba74;background:#fff7ed}.material-location.missing{border-color:#fca5a5;background:#fef2f2}.material-stock-table .stock-head,.material-stock-table .stock-row{grid-template-columns:1.05fr .7fr 1.15fr .48fr .48fr .42fr .42fr .72fr}.stock-transit{color:#c2410c;font-weight:900}.stock-status.verfuegbar{background:#dcfce7;color:#166534}.stock-status.transit{background:#ffedd5;color:#9a3412}.stock-status.fehlbestand{background:#fee2e2;color:#991b1b}@media(max-width:760px){.material-stock-table .stock-head,.material-stock-table .stock-row{grid-template-columns:1fr 1fr}}.inventory-panel{display:grid;grid-template-columns:minmax(270px,1fr) minmax(300px,1fr);gap:14px;align-items:start}.inventory-panel>.form-error,.inventory-panel>.success-box{grid-column:1/-1}.inventory-panel .form-body{display:grid;gap:12px}.inventory-techs{max-height:190px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:8px}.inventory-techs label{display:flex;align-items:center;gap:8px}.inventory-techs input{width:auto}.inventory-count{display:grid;gap:4px;padding:10px;border-bottom:1px solid var(--line)}.inventory-count span,.inventory-count small{color:var(--muted)}.tech-inventory{margin:10px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.tech-inventory>.muted{padding:12px}.tech-inventory-task{width:100%;text-align:left;display:grid;gap:4px;padding:10px;background:#fff;border:0;border-top:1px solid var(--line)}.tech-inventory-task.selected{background:var(--soft)}.tech-inventory-task span,.tech-inventory-count small{color:var(--muted);font-size:12px}.tech-inventory-detail{padding:12px;display:grid;gap:12px;border-top:1px solid var(--line)}.tech-inventory-count{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:8px}.tech-inventory-count label{display:grid;gap:5px}.tech-inventory-count input{width:100%;padding:8px;border:1px solid var(--line);border-radius:6px}@media(max-width:900px){.inventory-panel{grid-template-columns:1fr}}.inventory-panel .admin-row{grid-template-columns:1fr auto;align-items:center}.inventory-task-open{border:0;background:transparent;text-align:left;padding:0;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;min-width:0}.inventory-task-open>div{display:grid}.inventory-task-open span{font-size:11px;color:var(--muted)}.inventory-review-window{min-height:100vh;padding:24px;background:#f5f8fa}.inventory-review-window .inventory-panel{display:block;max-width:960px;margin:auto}.inventory-review-window .inventory-review-card{margin:0}.inventory-review-window .inventory-count{padding:14px}.tech-profile{margin:10px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px}.tech-profile summary{cursor:pointer}.tech-profile .form-body{margin-top:10px}.delivery-address{grid-column:1/-1;display:grid;gap:3px;padding:10px;border:1px solid #99d8cf;border-radius:8px;background:#f0fdfa}.delivery-address span{font-size:13px}.disposition-top-actions{display:flex;align-items:center;gap:8px;min-width:0}.top-date-filter{display:flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;white-space:nowrap}.top-date-filter strong,.top-date-filter span{display:none}.top-date-filter label{display:flex;align-items:center;gap:3px;font-size:12px}.top-date-filter input{width:128px;padding:6px}.top-date-filter .secondary{padding:7px 9px}.refresh-button{white-space:nowrap}@media(max-width:1450px){.top-date-filter button{display:none}.top-date-filter input{width:118px}}@media(max-width:1120px){.disposition-top-actions{order:4;width:100%;flex-wrap:wrap}.refresh-button{order:5}.user-menu{order:6}}.technician-panel .day-plan-date{width:158px;justify-self:start}.disposition-alerts{position:fixed;right:18px;top:78px;z-index:4000;width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 96px);overflow:auto;padding:12px;border:2px solid #f59e0b;border-radius:12px;background:#fffbeb;box-shadow:0 14px 38px #0004;display:grid;gap:10px}.disposition-alert{display:grid;gap:5px;padding:11px;border:1px solid #fbbf24;border-radius:9px;background:#fff}.disposition-alert>b{color:#9a3412}.disposition-alert span,.disposition-alert a{font-size:13px}.disposition-alert small{color:var(--muted)}.disposition-alert-error{position:fixed;right:18px;bottom:18px;z-index:4001;padding:10px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#991b1b}.measurement-card{display:grid;gap:.55rem;border-left:4px solid #d48a00}.measurement-card.claimed{border-left-color:#14866d;background:#effbf7}.measurement-state{color:#8a5600}.measurement-card.claimed .measurement-state{color:#08745d}.message-thread{display:grid;gap:.4rem;max-height:14rem;overflow:auto;padding:.25rem 0}.message{display:grid;gap:.1rem;padding:.45rem .6rem;border-radius:8px;background:#f1f5f8;max-width:92%}.message.own{justify-self:end;background:#e2f5f1}.message small{color:#64748b}.message-compose{display:flex;gap:.45rem}.message-compose input{flex:1;min-width:0}.measurement-chat{width:min(38rem,calc(100vw - 2rem))}.line-test-card{display:grid;gap:.55rem;border-left:4px solid #2866a5}.line-test-card label{display:grid;gap:.25rem}.line-test-card .identity-check{display:flex;align-items:flex-start}.line-test-results{display:grid;gap:.5rem;margin-top:.2rem}.line-test-result{display:grid;gap:.18rem;padding:.55rem .65rem;border-radius:8px;background:#eef4fb}.line-test-result small{color:#7a4f00}.line-test-diagnostics{display:grid;gap:.4rem;padding:.65rem;border:1px solid #93c5fd;border-radius:8px;background:#f8fbff}.line-test-diagnostics textarea{width:100%;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.4}.line-test-diagnostics button{justify-self:start}.line-test-office{display:grid;gap:8px}.line-test-office .line-test-result{border:1px solid #bfdbfe}.line-test-note{font-weight:800}.tcp-details{display:grid;gap:4px;padding:8px;border:1px solid #bfdbfe;border-radius:7px;background:#f8fbff}.tcp-details span{font-size:12px;color:#334155}.line-test-entry{gap:7px}.route-legend{display:flex;flex-wrap:wrap;gap:8px;padding:7px 12px;border-bottom:1px solid var(--line);background:#f8fafb}.route-legend span{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);font-weight:700}.route-legend i{width:12px;height:4px;border-radius:3px;display:inline-block}.tech-view-tabs button[data-status-view]{border-width:1px;border-style:solid;font-weight:850}.tech-view-tabs button[data-status-view=OPEN]{background:#e60000;border-color:#e60000;color:#fff}.tech-view-tabs button[data-status-view=PREPLANNED]{background:#ff5a00!important;border-color:#ff5a00!important;color:#fff!important}.tech-view-tabs button[data-status-view=DISPATCHED]{background:#8b1e3f;border-color:#8b1e3f;color:#fff}.tech-view-tabs button[data-status-view=IN_PROGRESS]{background:#20b486;border-color:#20b486;color:#fff}.tech-view-tabs button[data-status-view=SOLVED]{background:#4b5563;border-color:#4b5563;color:#fff}.tech-view-tabs button[data-status-view=CLOSED]{background:#e5e7eb;border-color:#cbd5e1;color:#111827}.tech-view-tabs button[data-status-view=CANCELLED]{background:red;border-color:red;color:#fff}.tech-view-tabs button[data-status-view=ALL]{background:#fff;border-color:#cbd5e1;color:#111827}.tech-view-tabs button[data-status-view] .ticket-tab-count{color:inherit}.tech-view-tabs button[data-status-view].active{outline:3px solid #111827;outline-offset:2px;filter:saturate(1.08) brightness(.98)}.tech-view-tabs button[data-status-view=PREPLANNED] .preplanned-arrow{color:#fff!important}.ticket-card .muted,.ticket-card .ticket-time{color:inherit;opacity:.86}.ticket-card.selected{outline:3px solid #111827;outline-offset:1px;border-color:#fff}.tech-ticket small{color:inherit!important;opacity:.82}.tech-ticket.selected{outline:3px solid #111827;outline-offset:1px;border-color:#fff}.disposition-controlbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;background:#fff;border-bottom:1px solid var(--line)}.workday-control{display:flex;align-items:center;gap:7px;white-space:nowrap}.workday-control strong{margin-right:3px}.workday-control input{border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#fff}.workday-step{min-width:34px;padding:7px 10px;font-size:18px;line-height:1}.disposition-view-switch{padding:0;margin-left:auto}.disposition-rangebar{padding:7px 14px}.disposition-rangebar .pool-date-filter{gap:8px}.disposition-rangebar .pool-date-filter .secondary{padding:7px 9px}.disposition-statusbar{display:flex;gap:6px;padding:8px 14px;background:#fff;border-bottom:1px solid #dbe3ea}.workspace{grid-template-columns:minmax(300px,330px) minmax(560px,1fr) minmax(350px,390px)}.workspace>.center-view{min-width:0}.workspace>.ticket-panel,.workspace>.technician-panel{box-shadow:0 1px 2px #0f172a0a}.workspace>.center-view>.panel{box-shadow:0 1px 2px #0f172a0a}@media(max-width:1200px){.disposition-controlbar{align-items:flex-start;flex-wrap:wrap}.disposition-view-switch{margin-left:0}.disposition-statusbar{overflow-x:auto}.workspace{grid-template-columns:310px minmax(520px,1fr)}}@media(max-width:760px){.disposition-controlbar{display:grid}.workday-control{width:100%}.workday-control input{flex:1;min-width:0}.disposition-view-switch{overflow-x:auto}.disposition-rangebar .pool-date-filter span{width:100%}}.workspace>.technician-panel .day-plan-date{display:none}.disposition-controlbar{justify-content:flex-end;background:#f8fafc;border-bottom:0;padding:8px 14px}.workday-control{margin-left:auto;padding:7px 10px;border:2px solid #16a34a;border-radius:10px;background:#f0fdf4;box-shadow:inset 0 -3px #16a34a}.workday-control strong{color:#166534}.disposition-rangebar{background:#eff6ff;border-top:1px solid #bfdbfe;border-bottom:0}.disposition-rangebar .pool-date-filter>strong{color:#1d4ed8}.disposition-scopebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,42%);gap:18px;padding:0 14px 8px;background:#fff;border-bottom:1px solid var(--line)}.scope-guide{display:flex;align-items:center;gap:9px;padding:7px 10px 6px;font-size:12px;border-bottom:5px solid;border-radius:0 0 7px 7px}.scope-guide strong{font-size:13px}.scope-guide span{color:#475569}.scope-guide-pool{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.scope-guide-pool:after{content:"→";margin-left:auto;font-size:20px;font-weight:900;color:#2563eb}.scope-guide-workday{border-color:#16a34a;background:#f0fdf4;color:#166534}.scope-guide-workday:before{content:"←";font-size:20px;font-weight:900;color:#16a34a}.center-view>.center-view-switch{border-top:4px solid #16a34a;padding-top:8px}.workspace>.technician-panel{border-top:4px solid #16a34a}.workspace>.ticket-panel{border-top:4px solid #2563eb}@media(max-width:1200px){.disposition-scopebar{grid-template-columns:1fr}.workday-control{margin-left:0}.disposition-controlbar{justify-content:flex-start}}.disposition-controlbar-scoped{display:grid;grid-template-columns:minmax(300px,330px) minmax(560px,1fr) minmax(350px,390px);padding:8px 14px;column-gap:0}.disposition-controlbar-scoped .workday-control{grid-column:2/4;justify-self:end;margin-left:0;min-width:430px;justify-content:flex-end}.disposition-scopebar{grid-template-columns:minmax(300px,330px) minmax(560px,1fr) minmax(350px,390px);gap:0;padding:0 14px 8px}.disposition-scopebar .scope-guide-pool{grid-column:1/3;margin-right:8px}.disposition-scopebar .scope-guide-workday{grid-column:2/4;margin-left:8px}.scope-grid-active .scope-guide-workday{grid-row:1;z-index:2;border-bottom-width:5px;box-shadow:0 1px #16a34a}.workspace-grid-active>.center-view,.workspace-grid-active>.technician-panel{border-top:4px solid #16a34a}.workspace-grid-active>.ticket-panel{border-top:4px solid #2563eb}.workspace-map-active>.center-view,.workspace-map-active>.ticket-panel{border-top:4px solid #2563eb}.workspace-map-active>.technician-panel{border-top:4px solid #16a34a}.disposition-day-grid .panel-header>div:first-child strong{color:#166534}@media(max-width:1200px){.disposition-controlbar-scoped,.disposition-scopebar{grid-template-columns:1fr}.disposition-controlbar-scoped .workday-control,.disposition-scopebar .scope-guide-pool,.disposition-scopebar .scope-guide-workday{grid-column:1;min-width:0;margin:0;justify-self:stretch}.disposition-scopebar{gap:6px}}.disposition-scopebar.scope-map-active .scope-guide-pool{grid-column:1/4;margin-right:0}.disposition-scopebar.scope-grid-active .scope-guide-workday{grid-column:2/4;margin-left:0}.scope-date-control{display:flex;align-items:center;gap:6px;margin-left:auto;white-space:nowrap}.scope-date-control input{border:1px solid var(--line);border-radius:8px;padding:6px 9px;background:#fff}.scope-date-control .workday-step{min-width:32px;padding:5px 9px;font-size:17px;line-height:1}.scope-map-active .scope-date-control{border-left:1px solid #bfdbfe;padding-left:10px}.scope-grid-active .scope-date-control{border-left:1px solid #bbf7d0;padding-left:10px}@media(max-width:1200px){.scope-date-control{margin-left:auto}.disposition-scopebar.scope-map-active .scope-guide-pool,.disposition-scopebar.scope-grid-active .scope-guide-workday{grid-column:1;margin:0}}.tech-ticket.preview-only{opacity:.72;cursor:not-allowed;border-style:dashed}.tech-ticket.preview-only:disabled{color:inherit;-webkit-text-fill-color:inherit}.tech-completed-filter{display:grid;gap:8px;padding:10px 0}.tech-completed-filter .draft-fields{margin:0}.tech-key-data{border-width:2px}.completed-feedback{display:grid;gap:6px}.project-admin-grid{align-items:start}.project-secret-card{border-style:dashed}.project-alias-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.project-support-editor{border-top:1px solid #e5e7eb;padding-top:12px;margin-top:12px}.project-ticket-card{border-color:#7c3aed;background:#f5f3ff}.project-ticket-card h3{margin:4px 0 8px}.project-badge-inline{display:inline-block;margin-top:3px;padding:2px 6px;border-radius:999px;background:#7c3aed24;font-weight:900}.project-support-list{margin-top:8px}.project-support-item{display:flex;flex-direction:column;gap:5px;padding:10px 0;border-top:1px solid rgba(124,58,237,.18)}@media(max-width:720px){.project-alias-row{grid-template-columns:1fr}}.support-admin{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:14px;align-items:start}.support-tree{max-height:68vh;overflow:auto;border-top:1px solid #e5e7eb}.support-tree-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;border-bottom:1px solid #eef2f7;background:#fff;padding:9px 12px;text-align:left;color:#111827}.support-tree-row:hover,.support-tree-row.selected{background:#eef6ff}.support-tree-row.inactive{opacity:.55}.support-tree-row small{color:#64748b}.support-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#0f172a80;display:grid;place-items:center;padding:12px}.support-browser{width:min(900px,100%);height:min(88vh,900px);display:flex;flex-direction:column;overflow:hidden}.support-browser-controls{border-bottom:1px solid #e5e7eb}.support-browser-scroll{padding:12px;overflow:auto}.support-browser-tree{display:flex;flex-direction:column;gap:8px}.support-folder{border:1px solid #dbe4ee;border-radius:10px;background:#fff;overflow:hidden}.support-folder>summary{cursor:pointer;padding:11px 12px;background:#f8fafc}.support-folder-children{padding:8px 10px 10px 18px;display:flex;flex-direction:column;gap:8px}.support-article{border:1px solid #e5e7eb;border-radius:9px;padding:11px;background:#fff;display:flex;flex-direction:column;gap:6px}.support-article p{margin:0;white-space:pre-wrap}.project-admin-grid .project-secret-card small{display:block;margin-top:5px}@media(max-width:900px){.support-admin{grid-template-columns:1fr}.support-browser{height:94vh}.support-overlay{padding:5px}}.project-documents-card input[type=file]{width:100%}.project-document-list{display:grid;gap:8px;margin-top:10px}.project-document-list .admin-row{align-items:center}.support-project-files{display:grid;gap:8px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(127,127,127,.25)}.support-project-files h3{margin:0 0 4px}.support-project-files .support-article{display:grid;gap:5px}.tech-detail .technician-access-card{order:8}.disposition-compact-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 14px;background:#eff6ff;border-top:1px solid #bfdbfe;border-bottom:1px solid #bfdbfe}.compact-range-controls,.compact-workday-control{display:flex;align-items:center;gap:6px;min-width:0}.compact-range-controls>b{color:#1d4ed8;white-space:nowrap}.compact-range-controls label{display:flex;align-items:center;gap:4px;font-size:12px;color:#475569;white-space:nowrap}.compact-range-controls input,.compact-workday-control input{height:32px;box-sizing:border-box;min-width:132px;padding:4px 7px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}.disposition-compact-toolbar .secondary{min-height:32px;padding:5px 8px;font-size:12px;white-space:nowrap}.compact-range-controls .compact-map-center{margin-left:3px}.compact-workday-control{padding-left:10px;border-left:1px solid #bfdbfe;white-space:nowrap}.compact-workday-control>b{color:#166534;font-size:13px}.compact-workday-control .workday-step{min-width:30px;padding:3px 8px;font-size:17px}.disposition-statusbar{padding:6px 12px;gap:5px;min-height:48px;align-items:center}.disposition-statusbar button{min-height:36px;padding:4px 10px;font-size:12px}.disposition-statusbar .ticket-tab-count{font-size:11px}@media(max-width:1300px){.disposition-compact-toolbar{align-items:flex-start;flex-direction:column}.compact-workday-control{border-left:0;padding-left:0}.compact-range-controls{flex-wrap:wrap}}@media(max-width:760px){.compact-range-controls{width:100%}.compact-range-controls input{min-width:0;max-width:135px}.compact-map-center{display:none}}.ticketpool-day-filter{display:flex;align-items:center;gap:7px;padding:8px 10px;border-top:1px solid var(--line);background:#f8fafc;font-size:12px;font-weight:800;cursor:pointer}.ticketpool-day-filter input{width:16px;height:16px;accent-color:#0f766e}.ticketpool-day-filter small{margin-left:auto;color:var(--muted);font-weight:600}.project-rich-editor{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.project-rich-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:6px;border-bottom:1px solid var(--line);background:#f8fafc}.project-rich-toolbar button{min-height:29px;padding:3px 8px;font-size:12px}.project-rich-toolbar .project-rich-red{color:#b91c1c;border-color:#fecaca;background:#fff1f2}.project-rich-toolbar .project-rich-orange{color:#c2410c;border-color:#fed7aa;background:#fff7ed}.project-rich-toolbar .project-rich-green{color:#166534;border-color:#bbf7d0;background:#f0fdf4}.project-rich-content{min-height:112px;padding:9px;outline:none;white-space:pre-wrap;line-height:1.35}.project-rich-content:focus{box-shadow:inset 0 0 0 2px #7dd3fc}.technician-project-description{white-space:pre-line}.timetable-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.timetable-header .timetable-filters{order:1}.timetable-header .timetable-tech-count{order:2;margin-left:auto;color:var(--muted);font-size:12px;font-weight:800}.timetable-tech-head{background:#f8fafc!important}.timetable-tech-state{display:flex;align-items:center;gap:5px;min-width:0}.timetable-login-state{margin-left:auto;padding:2px 5px;border-radius:999px;border:1px solid transparent;font-size:10px;font-weight:900;line-height:1.15;white-space:normal;cursor:default}.timetable-login-state.offline{background:#fecaca;color:#991b1b;border-color:#fca5a5}.timetable-login-state.open{background:#fed7aa;color:#9a3412;border-color:#fdba74}.timetable-login-state.partial{background:#fef3c7;color:#92400e;border-color:#fde68a}.timetable-login-state.complete{background:#bbf7d0;color:#166534;border-color:#86efac}.timetable-header .timetable-filters{display:contents}.timetable-header .timetable-date-filter{order:1}.timetable-header .timetable-region-filter{order:3;margin-left:auto}.timetable-header .timetable-tech-count{order:4;margin-left:0}.workday-grid-mismatch input,.day-grid-date-mismatch .timetable-date-filter input{border:2px solid #db2777!important;background:#fdf2f8!important;color:#9d174d!important;font-weight:800}.workday-sync{border-color:#db2777!important;color:#9d174d!important;background:#fdf2f8!important;font-weight:800}.ticket-phone-edit{display:flex;gap:6px;align-items:center}.ticket-phone-edit input{min-width:0;flex:1}.ticket-phone-call{flex:0 0 auto;padding:5px 8px;border:1px solid #86efac;border-radius:7px;background:#f0fdf4;color:#166534;font-size:12px;font-weight:900;text-decoration:none;white-space:nowrap}.ticketpool-footer{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:7px 10px;border-top:1px solid var(--line);background:#fff}.ticketpool-compact-filter{display:flex;align-items:center;gap:5px;margin:0;font-size:12px;font-weight:800;color:#334155;cursor:pointer}.ticketpool-compact-filter input{margin:0}.ticket-customer-compact{font-weight:400}.ticket-compact-number{font-size:12px;font-weight:750;color:#334155;margin:3px 0 1px}.ticket-compact-status{margin-bottom:3px}.ticket-card-compact{padding:6px 42px 6px 9px!important;min-height:0!important;line-height:1.15}.ticket-card-compact .ticket-status{font-size:10px;padding:2px 5px}.ticket-card-compact .ticket-compact-status{margin-bottom:1px}.ticket-card-compact .ticket-compact-number{font-size:11px;margin:1px 0;color:#334155}.ticket-card-compact .ticket-customer{font-size:13px;line-height:1.15;margin:1px 0}.ticket-card-compact .muted{font-size:11px;line-height:1.15}.ticket-card-compact .ticket-time{font-size:11px;line-height:1.15;margin-top:2px}.ticket-compact-details{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#6d28d9;font-size:26px;font-weight:900;cursor:pointer;line-height:1;padding:0}.ticket-card-compact .ticket-compact-header{display:flex;align-items:center;gap:5px;min-height:15px;margin-bottom:1px;white-space:nowrap;overflow:hidden}.ticket-card-compact .ticket-compact-number{margin:0;overflow:hidden;text-overflow:ellipsis}.ticket-detail-form .ticket-address-fields{display:grid;grid-template-columns:8fr 4fr 8fr;gap:3px}.ticket-detail-form .ticket-address-fields>label{min-width:0;gap:0}.ticket-detail-form .ticket-planning-time-fields{display:grid;grid-template-columns:2fr 1fr;gap:3px}.ticket-detail-form .ticket-planning-time-fields>label{min-width:0;gap:0}.ticket-phone-entry{display:inline-flex;align-items:center;gap:2px}.ticket-phone-remove{border:0;background:transparent;color:#b91c1c;font-size:17px;line-height:1;font-weight:900;cursor:pointer;padding:0 2px}.ticket-phone-remove:disabled{opacity:.45;cursor:not-allowed}.ticket-phone-raw{display:grid;gap:0;flex:1;min-width:180px}.ticket-phone-raw>span{font-size:12px;color:var(--muted)}.workspace.workspace-grid-active{grid-template-columns:minmax(300px,330px) minmax(0,1fr)}.ticketpool-view-switch{display:grid;grid-template-columns:auto 1fr 1fr;gap:5px;align-items:center;padding:7px;border:1px solid #b7c8d3;border-radius:9px;background:#f8fbfc}.ticketpool-view-switch>span{font-size:12px;font-weight:900;color:#334155;padding:0 3px}.ticketpool-view-switch button{border:1px solid #c7d4dc;background:#fff;color:#425466;border-radius:7px;padding:8px 7px;font-size:12px;font-weight:900}.ticketpool-view-switch button.active{border-color:#087f78;background:#087f78;color:#fff;box-shadow:0 1px 2px #0f172a33}.ticketpool-view-switch>.ticketpool-day-filter-inline{display:flex;align-items:center;gap:6px;margin:0;cursor:pointer;font-size:12px;font-weight:900;color:#334155;white-space:nowrap}.ticketpool-view-switch>.ticketpool-day-filter-inline input{width:17px;height:17px;margin:0;accent-color:#087f78}.timetable-travel>span{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.15}.timetable-travel>span>span{display:block;margin-top:2px}.technician-topbar{height:auto;min-height:64px;flex-wrap:wrap;gap:8px 12px;padding:8px 18px}.technician-topbar .main-nav{display:none}.technician-topbar .technician-top-tabs{order:10;flex:0 0 100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;overflow:visible}.technician-topbar .technician-top-tabs button{width:100%;padding:7px 6px}.disposition-day-grid .timetable-column>.timetable-travel{z-index:1!important}.disposition-day-grid .timetable-column>.timetable-block{z-index:3!important}.disposition-day-grid .timetable-column>button.timetable-stop{z-index:4!important}.disposition-day-grid .timetable-travel-conflict,.disposition-day-grid .timetable-travel-conflict *{color:#b91c1c!important}.day-grid-fit-viewport .timetable-tech-head{min-width:0!important;overflow:hidden}.day-grid-fit-viewport .timetable-tech-head>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.disposition-day-grid .timetable-ticket-main{display:flex!important;flex:1 1 auto;min-width:0;align-items:center;gap:5px;overflow:hidden}.disposition-day-grid .timetable-ticket-main>b{flex:0 0 auto;white-space:nowrap}.disposition-day-grid .timetable-ticket-main>span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-grid-fit-viewport .timetable-column>button.timetable-stop{padding:1px 4px!important;font-size:11px!important;line-height:1.1!important;box-sizing:border-box}.day-grid-fit-viewport .timetable-column>button.timetable-stop>span{align-items:center!important}.day-grid-fit-viewport .timetable-ticket-main,.day-grid-fit-viewport .timetable-ticket-main>b,.day-grid-fit-viewport .timetable-ticket-main>span{font-size:11px!important;line-height:1.1!important}.disposition-day-grid .timetable-travel{pointer-events:auto!important}.disposition-day-grid .timetable-header{position:relative;z-index:5;flex-shrink:0}.timetable-header .timetable-refresh-button{min-width:125px;cursor:pointer}.timetable-header .timetable-refresh-button:disabled{cursor:wait;opacity:.65}.timetable-header .timetable-refresh-status{order:2;font-size:11px;color:#475569}.status-buttons.technician-status-top>button,.status-buttons.technician-status-bottom>button{color:#fff!important;border:2px solid transparent!important;font-weight:800}.status-buttons.technician-status-top>button:nth-child(1){background:#0f766e!important}.status-buttons.technician-status-top>button:nth-child(2){background:#2563eb!important}.status-buttons.technician-status-top>button:nth-child(3){background:#15803d!important}.status-buttons.technician-status-bottom>button{background:#475569!important}.status-buttons.technician-status-top>button.active,.status-buttons.technician-status-bottom>button.active{border-color:#0f172a!important;box-shadow:inset 0 0 0 2px #fff}.status-buttons.technician-status-top>button:hover:not(:disabled),.status-buttons.technician-status-bottom>button:hover:not(:disabled){filter:brightness(.9)}.status-buttons.technician-status-top>button:disabled,.status-buttons.technician-status-bottom>button:disabled{opacity:.55;cursor:wait}.line-test-card>button.technician-line-test-start{background:#2563eb!important;color:#fff!important;border:2px solid #1D4ED8!important;padding:12px 16px;min-height:46px;font-size:15px;font-weight:800;width:100%;border-radius:8px}.line-test-card>button.technician-line-test-start:hover:not(:disabled){background:#1d4ed8!important}.line-test-card>button.technician-line-test-start:disabled{opacity:.55;cursor:wait}.technician-feedback-card>.technician-status-bottom{display:flex;margin:8px 0 0}.technician-feedback-card>.technician-status-bottom>button{width:100%;flex:1;min-height:44px}.technician-feedback-card>.technician-status-bottom{order:0!important}.technician-feedback-card .required-missing{padding:6px;border-left:4px solid #d97706;border-radius:6px;background:#fff7ed;color:#7c2d12}.technician-feedback-card .required-missing input,.technician-feedback-card .required-missing select,.technician-feedback-card .required-missing textarea{border-color:#d97706;background:#fff}.feedback-blockers{margin:8px 0;padding:10px 12px;border:1px solid #f59e0b;border-radius:8px;background:#fffbeb;color:#78350f}.feedback-blockers ul{margin:5px 0 0;padding-left:20px}.ticket-detail-form .access-raw-input,.ticket-detail-form .access-screenshot{grid-column:1/-1;display:grid;gap:5px;padding:7px;border:1px solid var(--line);border-radius:7px;background:#f8fafc}.ticket-detail-form .access-screenshot{border-style:dashed}.ticket-detail-form .access-raw-input .secondary,.ticket-detail-form .access-screenshot .secondary{justify-self:start;padding:7px 9px;font-size:12px}.ticket-detail-form .access-screenshot small{font-size:11px;color:var(--muted)}.technician-feedback-card .technician-status-bottom.needs-selection{padding:6px;border:1px solid #f59e0b;border-radius:8px;background:#fffbeb}.technician-feedback-card label.optional-feedback-choice{padding:10px 12px;border:1px solid #93c5fd;border-radius:8px;background:#eff6ff;color:#1e3a8a;font-weight:700}.technician-feedback-card label.optional-feedback-choice input[type=checkbox]{accent-color:#2563eb}.office-feedback-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2250;background:#0f172a80;display:grid;place-items:center;padding:16px}.office-feedback-modal{width:min(760px,100%);max-height:94vh;overflow:auto}.office-feedback-form fieldset{border:0;padding:0;margin:0;display:grid;gap:10px;min-width:0}.office-feedback-form .required-missing{padding:6px;border-left:4px solid #d97706;border-radius:6px;background:#fff7ed;color:#7c2d12}.office-feedback-form .required-missing input,.office-feedback-form .required-missing select,.office-feedback-form .required-missing textarea{border-color:#d97706;background:#fff}.office-feedback-form label.optional-feedback-choice{padding:10px 12px;border:1px solid #93c5fd;border-radius:8px;background:#eff6ff;color:#1e3a8a;font-weight:700}.office-feedback-form .optional-feedback-choice input[type=checkbox]{accent-color:#2563eb}.office-feedback-form>.primary{padding:12px;font-weight:800}@media(max-width:600px){.office-feedback-overlay{padding:5px}.office-feedback-modal{max-height:98vh}}.disposition-day-grid .timetable-tech-head{min-width:0}.calendar-weekday{font-size:12px;font-weight:700;color:#334155;white-space:nowrap}.technician-panel{min-width:0}.technician-panel>.panel-header,.technician-panel>.panel-scroll,.technician-panel .planning-box,.technician-panel .planning-box>label{min-width:0;max-width:100%;box-sizing:border-box}.technician-panel select,.technician-panel .planning-box input{width:100%;min-width:0;max-width:100%;box-sizing:border-box;font-size:12px;padding:6px 8px}.technician-panel .stop-card{grid-template-columns:28px minmax(0,1fr);gap:6px;padding:7px}.technician-panel .stop-card-with-action{grid-template-columns:24px 28px minmax(0,1fr)}.technician-panel .stop-card>div{min-width:0;overflow-wrap:anywhere}.technician-panel .availability-row{padding:8px;font-size:12px}.map-panel select[aria-label=Kartentechniker]{width:165px;min-width:0;max-width:100%;font-size:12px;box-sizing:border-box}.disposition-alerts{left:18px;right:auto;top:auto;bottom:18px;width:min(340px,calc(100vw - 36px));max-height:45vh;overflow-y:auto}.map-check-filter{margin:0;padding:2px 7px 5px;border:1px solid #cbd5e1;border-radius:7px;min-width:110px;max-width:230px;background:#fff;flex:0 1 auto}.map-check-filter legend{padding:0 3px;font-size:11px;font-weight:700;color:#475569}.map-check-filter>div{display:flex;flex-wrap:wrap;gap:3px 10px;max-height:58px;overflow:auto;align-content:flex-start}.map-check-filter label{display:inline-flex!important;align-items:center;gap:4px;font-size:12px!important;font-weight:400;line-height:18px;cursor:pointer;white-space:nowrap;margin:0}.map-check-filter input[type=checkbox]{width:13px;height:13px;margin:0;accent-color:#087c83;flex:none}.fsp-small-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:6000;background:#0f172a70;display:grid;place-items:center;padding:16px}.fsp-small-dialog{background:#fff;color:#102a43;border-radius:12px;padding:18px;width:min(650px,100%);max-height:85vh;overflow:auto;box-sizing:border-box;box-shadow:0 15px 50px #0005}.fsp-small-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.fsp-small-dialog h2{font-size:20px;margin:0}.today-technicians-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #e2e8f0}.today-technicians-list small{display:block;color:#64748b;font-size:12px}.today-call{white-space:nowrap;background:#e6f5f3;color:#065f59;padding:7px 9px;border-radius:7px;font-weight:700;text-decoration:none}.ticket-visits{display:grid;gap:8px}.ticket-visits details{border-top:1px solid #cbd5e1;padding-top:7px}.ticket-visits summary{cursor:pointer;font-size:13px;font-weight:700}.ticket-visits p{margin:6px 0}@media(max-width:600px){.today-technicians-list>div{align-items:flex-start;flex-wrap:wrap}.map-check-filter{max-width:100%}}.map-defaults-notice{max-width:170px;font-size:11px;color:#475569;line-height:1.3}.map-panel>.panel-header.inline{flex-wrap:wrap;justify-content:flex-start;gap:6px;padding:7px 10px}.map-panel>.panel-header.inline>div:first-child{justify-content:flex-start;flex:1 1 600px}.map-check-filter>div{max-height:38px}.map-panel>.panel-header.inline>button{font-size:12px;padding:7px 9px}.map-panel>.panel-header.inline.map-filter-row{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;align-items:center;padding:6px 8px}.map-panel>.panel-header.inline.map-filter-row>.map-filter-groups{display:contents}.map-filter-row .map-check-filter{flex:1 1 160px;min-width:95px;max-width:none;padding:0 6px 4px;box-sizing:border-box}.map-filter-row .map-check-filter:nth-child(2){flex:1.7 1 285px;min-width:210px}.map-filter-row .map-check-filter:nth-child(3){flex:1.3 1 220px;min-width:150px}.map-filter-row .map-check-filter>div{flex-wrap:nowrap;max-height:none;overflow-x:auto;overflow-y:hidden;gap:7px;align-items:center;justify-content:flex-start}.map-filter-row .map-check-filter label{font-size:11px!important;line-height:20px;flex:0 0 auto}.map-filter-row .map-check-filter legend{font-size:10px}.map-panel .map-filter-row select[aria-label=Kartentechniker]{flex:0 1 135px;width:135px;min-width:100px;font-size:11px;padding:6px}.map-panel>.panel-header.inline.map-filter-row>button{flex:0 0 auto;white-space:nowrap;font-size:11px;padding:7px 8px}.map-filter-row .map-defaults-notice{flex:0 0 auto;max-width:120px;font-size:10px}.montage-form{display:grid;gap:12px}.montage-form fieldset{border:1px solid #cbd5e1;border-radius:8px;padding:10px;display:grid;gap:8px;min-width:0}.montage-form legend{font-weight:700;color:#6b21a8}.montage-form label{display:grid;gap:4px;font-size:13px}.montage-form .identity-check{display:flex}.montage-zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;max-height:180px;overflow:auto}.montage-badge{display:block;background:#f3e8ff;color:#6b21a8;border:1px solid #d8b4fe;border-radius:5px;padding:3px 5px;font-size:10px;white-space:normal}.montage-form small{font-size:12px;color:#475569}.feedback-block-picker{display:grid;gap:8px;padding:12px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;margin:8px 0}.feedback-block-picker label{display:grid;gap:4px;min-width:0}.feedback-block-picker select{width:100%;min-width:0}.feedback-block-preview{white-space:pre-wrap;overflow-wrap:anywhere;padding:10px;background:#fff;border:1px solid #dbe3ea;border-radius:6px;max-height:230px;overflow:auto}.feedback-block-picker button{justify-self:start}.feedback-template-list{max-height:60vh;overflow:auto}.reservation-toolbar{display:grid;grid-template-columns:330px minmax(440px,1fr) 390px;gap:12px;padding:12px 12px 0}.reservation-toolbar>.panel{padding:12px;display:flex;flex-direction:column;gap:9px;min-width:0}.reservation-toolbar strong{font-size:14px}.reservation-toolbar p{margin:0;font-size:12px;color:#475569}.reservation-new-card{border-top:4px solid #0f766e}.reservation-existing-card{border-top:4px solid #7c3aed}.reservation-search-card{border-top:4px solid #2563eb}.reservation-toolbar label{display:grid;gap:4px}.reservation-existing-hits{max-height:130px;overflow:auto}.reservation-existing-hits>div{padding:8px 0;border-bottom:1px solid #e2e8f0}.reservation-existing-hits button{margin:6px 0 0 8px}.reservation-page button{border:1px solid transparent;border-radius:6px;padding:7px 10px;background:#2563eb;color:#fff;font-weight:700;cursor:pointer}.reservation-page button.secondary{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.reservation-page button.primary{background:#0f766e;color:#fff}.reservation-existing-card button{background:#7c3aed}.reservation-page button:disabled{background:#e2e8f0;color:#64748b;border-color:#cbd5e1;cursor:default;opacity:1}.reservation-page button:hover:not(:disabled){filter:brightness(.93)}.reservation-page button:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}.reservation-form fieldset{border:0;padding:0;margin:0;display:grid;gap:10px;min-width:0}.reservation-side{overflow:auto;min-height:0;display:block}.reservation-side .panel-header{display:grid;gap:8px}.reservation-route-summary{padding:12px}.reservation-route-summary h3{margin:0 0 6px;font-size:15px}.reservation-route-summary small{display:block;color:#475569;line-height:1.4}.reservation-route-total{background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;display:grid;gap:4px;padding:12px;margin:12px 0}.reservation-route-total strong{font-size:24px;color:#065f46}.reservation-route-subtotals{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.reservation-route-summary ol{list-style:none;padding:0;display:grid;gap:7px}.reservation-route-summary li{padding:9px;border-radius:6px;display:grid;gap:4px;overflow-wrap:anywhere;font-size:12px}.reservation-route-summary li.travel{background:#e2e8f0;border-left:4px solid #64748b}.reservation-route-summary li.work{background:#fff7ed;border-left:4px solid #f97316}.reservation-day-details{border-top:1px solid #cbd5e1}.reservation-day-details summary{padding:12px;color:#0f766e;font-weight:700;cursor:pointer}.reservation-side .technician-panel{border:0;overflow:visible}.reservation-side .technician-panel>.panel-scroll{overflow:visible}.multistop-badge{display:inline-block;margin:3px 5px 3px 0;padding:3px 6px;border-radius:5px;background:#ede9fe;color:#5b21b6;border:1px solid #c4b5fd;font-size:11px;font-weight:800;line-height:1.3}@media(max-width:1200px){.reservation-toolbar{grid-template-columns:330px minmax(0,1fr)}.reservation-search-card{grid-column:1/-1}.reservation-workspace>.reservation-side{grid-column:1/-1}}@media(max-width:760px){.reservation-toolbar{display:flex;flex-direction:column}.reservation-side{max-height:none}.reservation-toolbar>.panel{min-height:0}}.reservation-page button.danger{background:#b91c1c;color:#fff}.reservation-page button.danger:disabled{background:#e2e8f0;color:#64748b}.multistop-hint{display:inline-block;font-style:normal;font-size:10px;font-weight:800;line-height:1.2;padding:2px 5px;background:#ede9fe;color:#5b21b6;border:1px solid #a78bfa;border-radius:4px;white-space:nowrap;vertical-align:middle}.ticket-multistop-line{margin:3px 0;line-height:1.2}.ticket-card-compact .ticket-multistop-line{margin:2px 0}.ticket-multistop-line .multistop-hint{max-width:100%;box-sizing:border-box;white-space:normal}.disposition-day-grid .timetable-ticket-main>.multistop-hint-compact{flex:0 0 auto;font-size:9px!important;line-height:1!important;padding:1px 3px;min-width:17px;box-sizing:border-box;text-align:center}.day-raster-multistop{outline:1px solid #7c3aed}.day-raster-stop>.multistop-hint-compact{font-size:8px;padding:1px 2px;flex:0 0 auto}.disposition-day-grid .multistop-frame{position:absolute;left:5px;right:5px;pointer-events:none}.disposition-day-grid .multistop-frame-outline{position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid #c2410c;border-radius:8px;z-index:5;pointer-events:none}.disposition-day-grid .multistop-frame-segment{position:absolute;left:3px;right:3px;width:calc(100% - 6px);min-height:0;padding:4px 7px;border:0;border-radius:0;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;gap:2px;text-align:left;overflow:hidden;font-size:11px;line-height:1.2;pointer-events:auto;cursor:pointer}.disposition-day-grid .multistop-frame-segment.work{background:#fff3e6;color:#7c2d12;border-left:4px solid #f97316;z-index:4}.disposition-day-grid .multistop-frame-segment.travel{background:#d1d5db;color:#334155;border-left:4px solid #64748b;z-index:2}.disposition-day-grid .multistop-frame-segment.conflict{color:#b91c1c}.disposition-day-grid .multistop-frame-segment>*{flex:0 0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.disposition-day-grid .multistop-frame-heading{font-size:10px;border-bottom:1px solid #fdba74;padding-bottom:2px}.disposition-day-grid .multistop-frame-segment:hover,.disposition-day-grid .multistop-frame-segment:focus-visible{outline:2px solid #0f766e;outline-offset:-2px;filter:brightness(.96)}.disposition-day-grid .multistop-frame-segment.work{border-left-color:#fff6}.disposition-day-grid .multistop-segment-content{display:flex;flex-direction:column;gap:2px;min-width:0;white-space:normal}.disposition-day-grid .multistop-segment-content>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 0 auto}.disposition-day-grid .multistop-segment-content.with-customer-class{padding-right:60px}.disposition-day-grid .multistop-frame-heading{border-bottom-color:currentColor}.disposition-day-grid .multistop-frame-segment .multistop-customer-class{position:absolute;top:0;bottom:0;right:0;width:56px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:3px;border-left:1px solid rgba(255,255,255,.3);background:#ffffff29;font-weight:800;font-size:11px;white-space:normal;overflow-wrap:anywhere;text-align:center}.manual-location-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;background:#0f172a88;display:grid;place-items:center;padding:16px}.manual-location-dialog{width:min(960px,100%);max-height:95vh;overflow:auto;background:#fff;color:#102a43;border-radius:12px;padding:16px;display:grid;gap:10px;box-shadow:0 12px 50px #0006}.manual-location-dialog header,.manual-location-dialog footer,.manual-location-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.manual-location-dialog p{margin:0;line-height:1.4}.manual-location-dialog label{display:grid;gap:4px}.manual-location-dialog .identity-check{display:flex;align-items:flex-start;gap:8px}.manual-location-map{height:clamp(220px,42vh,430px);min-height:220px}.manual-location-coordinates{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.manual-location-coordinates label{flex:1;min-width:160px}.manual-location-dialog textarea,.manual-location-dialog input:not([type=checkbox]){width:100%;padding:8px;border:1px solid #94a3b8;border-radius:6px;box-sizing:border-box}.manual-location-pin{font-size:30px}.logistics-action{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 16px}.logistics-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab3;z-index:5000;display:flex;align-items:center;justify-content:center;padding:18px}.logistics-dialog{background:#fff;color:#102a43;border-radius:12px;padding:22px;width:min(1200px,96vw);max-height:92vh;overflow:auto;box-shadow:0 20px 70px #0006}.logistics-dialog header,.logistics-shipment header{display:flex;align-items:center;justify-content:space-between;gap:12px}.logistics-dialog h2{font-size:20px;margin:0}.logistics-dialog p{line-height:1.5}.logistics-address{white-space:pre-wrap;background:#f1f5f9;padding:12px;font:inherit;border-radius:7px}.logistics-scroll{overflow:auto;max-width:100%;border:1px solid #dbe5ea;border-radius:7px}.logistics-scroll table{border-collapse:collapse;width:100%;font-size:13px}.logistics-scroll th,.logistics-scroll td{padding:10px;text-align:left;border-bottom:1px solid #dbe5ea;vertical-align:top;min-width:100px}.logistics-scroll th{background:#eef3f8;white-space:nowrap}.logistics-scroll td small{display:block;color:#52667a}.logistics-scroll input{width:95px}.logistics-dialog label{display:grid;gap:5px;margin-top:12px}.logistics-dialog footer,.logistics-history footer{display:flex;gap:12px;justify-content:flex-end;align-items:center;margin:16px 0;flex-wrap:wrap}.logistics-dialog>small{display:block;color:#52667a}.logistics-groups>p,.logistics-history>p,.logistics-groups>.form-error,.logistics-history>.form-error{margin:12px 16px}.logistics-shipment{margin:12px 16px;padding:14px;background:#f6f9fc;border:1px solid #dbe5ea;border-radius:9px}.logistics-shipment li{margin:7px 0;overflow-wrap:anywhere}.logistics-shipment a{overflow-wrap:anywhere}.logistics-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:16px}.logistics-filters label{display:grid;gap:5px}.logistics-history>.logistics-scroll{margin:16px}.logistics-history footer{padding:0 16px}.logistics-history .panel-header,.logistics-groups .panel-header{flex-wrap:wrap}.logistics-groups .panel-header label{display:flex;gap:7px;align-items:center}.logistics-groups input[type=checkbox]{width:auto}@media(max-width:650px){.logistics-dialog{padding:14px;max-height:96vh}.logistics-overlay{padding:7px}.logistics-dialog footer button{width:100%}.logistics-filters label{width:100%}.logistics-shipment header{align-items:start;flex-direction:column}.logistics-action{margin:10px}}.transit-details{margin:12px}.transit-details-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.transit-details-scroll{overflow-x:auto;max-width:100%;border:1px solid #dbe5ea;border-radius:8px}.transit-details table{width:100%;border-collapse:collapse;font-size:13px}.transit-details th,.transit-details td{padding:11px 10px;text-align:left;vertical-align:top;border-bottom:1px solid #dbe5ea}.transit-details th{background:#f5f8fa;white-space:nowrap}.transit-details td:nth-child(4),.transit-details td:nth-child(5),.transit-details td:nth-child(6){white-space:nowrap}.transit-details td:nth-child(7){min-width:130px;overflow-wrap:anywhere}.transit-details td small{display:block;color:#52667a;margin-top:4px}.transit-details-difference{background:#fff7ed}.transit-details-difference td:last-child{min-width:190px}.transit-details .form-error{margin-bottom:10px}
