.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}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fiber/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fiber/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fiber/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fiber/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fiber/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fiber/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fiber/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/fiber/assets/inter-cyrillic-ext-wght-italic-B5xAaiFk.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/fiber/assets/inter-cyrillic-wght-italic-DzZdc28x.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/fiber/assets/inter-greek-ext-wght-italic-DcOpz6Lw.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/fiber/assets/inter-greek-wght-italic-CILZdfAp.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/fiber/assets/inter-vietnamese-wght-italic-K3WlGtc8.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/fiber/assets/inter-latin-ext-wght-italic-0pjOp8NU.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/fiber/assets/inter-latin-wght-italic-DpCbqKDY.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-ui);color:var(--text,#253c4c);background:var(--surface-alt,#f4f7fa);font-synthesis:none;font-size:15px;font-weight:400;--ink: #1d3646;--muted: #7b8d9b;--border: #e2e9ee;--teal: #147f83;--teal-soft: #e9f5f2;--navy: #153345;--amber: #e9a13e;--shadow: 0 4px 24px #24495e12}*{box-sizing:border-box}body{margin:0}.leaflet-container{font-family:var(--font-ui)}b,strong,th{font-weight:600}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 13px;border:1px solid var(--line,#dce5eb);background:var(--surface,#fff);color:var(--text,#354d5d);border-radius:7px;font-weight:500;cursor:pointer;text-decoration:none;line-height:1.25;transition:background .15s,border .15s,box-shadow .15s}button:hover,.button:hover{background:var(--surface-alt,#f2f7f8);border-color:var(--line,#b8ced6)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid #78c8d5;outline-offset:2px}button:disabled,.button:disabled{opacity:.4;cursor:not-allowed}.primary{background:var(--teal);border-color:var(--teal);color:#fff}.primary:hover{background:#0f6e73;border-color:#0f6e73}.danger{color:#b54945;border-color:#efcfcc;background:var(--surface,#fff9f8)}.danger:hover{background:#ffebe8;border-color:#e8aaa5}.icon{border:0;background:transparent;width:32px;height:32px;padding:6px;flex-shrink:0}.icon:hover{background:var(--surface-alt,#eaf1f4)}.small{font-size:13px;padding:6px 9px}.large{padding:13px 18px}.link{padding:0;background:none;border:none;color:#16858a;font-size:13px;gap:4px}.link:hover{background:none;border:none;color:#0b6166}.text-button{border:0;background:none}.muted{color:var(--muted)}.tiny{font-size:12px}.break{overflow-wrap:anywhere}.row{display:flex;align-items:center;gap:9px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.red-text{color:#bf5147!important}.green{color:#21836d}.code,code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.code-block{display:block;background:var(--surface-alt,#edf3f6);border:1px solid var(--border);padding:13px;border-radius:7px;margin:10px 0;overflow:auto;font-size:13px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.4px;color:var(--text-muted,#8b9ca7);line-height:1.6}h1,h2,h3,h4{font-family:var(--font-ui);font-weight:600;line-height:1.3;margin:0;color:var(--ink)}h2{font-size:21px;font-weight:600;letter-spacing:normal}h3{font-size:15px;font-weight:600}h4{font-size:13px;margin:14px 0 8px}p{font-size:14px;line-height:1.65;margin:10px 0;color:var(--text-muted,#617986)}.hint{font-size:12px;line-height:1.6;color:var(--text-muted,#82939e)}.badge{display:inline-flex;gap:4px;align-items:center;white-space:nowrap;padding:4px 7px;font-size:12px;line-height:1.1;border-radius:4px;background:var(--surface-alt,#edf2f5);color:var(--text-muted,#5d7787);font-weight:600}.badge.green{background:var(--surface-alt,#e4f2eb);color:#39836b}.badge.amber{background:#fff1d7;color:#a27730}.badge.red{background:#ffe8e4;color:#b85045}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:#728c9b;flex-shrink:0}.dot.teal,.dot.green{background:#22a08b}.dot.gray{background:#a5b5be}.dot.navy{background:#193c54}.dot.pale{background:var(--surface-raised,#e2ecee)}.line{display:inline-block;width:20px;height:3px;margin-right:6px;vertical-align:middle}.line.teal{background:#298e96}.line.violet{background:#b29bc5}.busy{display:inline-flex;align-items:center;gap:7px;font-size:13px}.busy svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app{height:100dvh;overflow:hidden}.topbar{height:74px;background:var(--surface,white);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 23px;gap:24px;position:relative;z-index:500}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text,#1a3546);font-family:Arial,sans-serif;font-weight:800;font-size:25px;letter-spacing:-1.2px;white-space:nowrap}.brand-thin{font-weight:500;color:var(--text-muted,#66858f)}.brand-mark{display:flex;width:36px;height:36px;border-radius:10px;background:#117f82;color:#fff;align-items:center;justify-content:center;box-shadow:0 3px 7px #147f8326}.top-divider{height:31px;width:1px;background:var(--border)}.workspace-select{display:flex;flex-direction:column;min-width:210px;max-width:285px}.workspace-select select{border:0;padding:0 21px 0 0;font-size:13px;font-weight:600;color:var(--text,#314e5e);background:var(--surface,white);width:100%;height:21px;overflow:hidden;text-overflow:ellipsis}.workspace-select .eyebrow{font-size:11px;letter-spacing:1.1px}.global-search{position:relative;height:36px;display:flex;align-items:center;gap:9px;padding:0 10px;border:1px solid var(--line,#e4ebef);background:var(--surface,#f8fafb);border-radius:7px;max-width:390px;flex:1;margin-left:auto;color:var(--text-muted,#9aaab4)}.network-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:1000;padding:12px;background:var(--surface,#fff);color:var(--text,#22333c);border:1px solid var(--line,#e4ebef);border-radius:8px;box-shadow:0 8px 24px #0003;max-height:70dvh;overflow:auto}.network-search-results .inventory-row{width:100%;text-align:left}.global-search input{border:0;background:none;outline:none;height:100%;width:100%;min-width:60px;font-size:12px;padding:0;color:var(--text,#486372)}.global-search input::placeholder{color:var(--text-muted,#91a1ac)}.top-actions{display:flex;align-items:center;gap:11px}.top-actions .text-button{font-size:13px;color:var(--text-muted,#657e8d)}.avatar{width:33px;height:33px;border-radius:50%;border:1px solid var(--line,#d6e6e6);background:var(--surface-alt,#e9f3f3);color:#267a7e;font-weight:700;font-size:12px;padding:0}.mobile-menu{display:none}.workspace{display:flex;height:calc(100dvh - 74px)}.rail{width:76px;flex-shrink:0;background:var(--surface,#fff);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:15px 8px 13px;gap:9px;z-index:450}.rail button{height:56px;border:0;background:none;display:flex;flex-direction:column;gap:6px;padding:10px 1px 8px;border-radius:8px;color:var(--text-muted,#8698a5);font-size:11px;font-weight:500}.rail button.active{background:var(--surface-alt,#e9f5f2);color:#167e80}.rail button:hover{background:var(--surface-alt,#f1f7f6);color:#277e83}.rail-spacer{flex:1}.map-area{position:relative;flex:1;min-width:0;height:100%;background:var(--surface-alt,#edf2f2)}.network-map{height:100%;width:100%;background:var(--surface-alt,#eef3f2);z-index:0}.network-map.tool-node,.network-map.tool-route,.network-map.tool-cable,.network-map.tool-duct,.network-map.tool-measure,.network-map.tool-field,.network-map.tool-serviceability{cursor:crosshair}.leaflet-control-attribution{font-size:11px!important;background:var(--glass,#fffffff0)!important;color:var(--text-muted,#758c96)!important}.leaflet-control-attribution a{color:var(--text-muted,#56808c)!important}.leaflet-control-attribution:has(.map-credits){opacity:.4;background:var(--glass,#ffffff88)!important;transition:opacity .15s ease,background-color .15s ease}.leaflet-control-attribution:has(.map-credits):hover,.leaflet-control-attribution:has(.map-credits):focus-within,.leaflet-control-attribution:has(.map-credits[open]){opacity:1;background:var(--glass,#fffffff0)!important}.map-credits{position:relative;text-align:left}.map-credits summary{cursor:pointer;min-height:24px;line-height:24px;white-space:nowrap}.map-credits summary:focus-visible{outline:2px solid #168b85;outline-offset:-2px}.map-credits-details{position:absolute;bottom:calc(100% + 6px);right:0;width:300px;max-width:calc(100vw - 80px);max-height:180px;overflow:auto;padding:10px 12px;border:1px solid var(--line,#dfe8ec);border-radius:7px;background:var(--surface,#fff);box-shadow:0 2px 12px #173b5126;line-height:1.5;overflow-wrap:anywhere}.leaflet-control-scale-line{font-size:11px!important;border-color:#6e8993!important;color:var(--text-muted,#4c6f79)!important;background:var(--glass,#ffffffbf)!important}.leaflet-bottom.leaflet-right{bottom:32px}.leaflet-tooltip.map-label{border:0;box-shadow:0 1px 5px #123a4d14;font-size:12px;font-weight:600;color:var(--text,#34576a);padding:3px 6px;background:var(--glass,#fffffff0)}.leaflet-tooltip.map-label:before{display:none}.vertex{background:var(--surface,#fff);border:2px solid #d88d29;border-radius:3px;box-shadow:0 1px 4px #183b4850}.fault-pin{background:none}.fault-pin span{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#e76543;color:#fff;font-weight:700;border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 10px #183b4850}.fault-pin span:first-letter{transform:rotate(45deg)}.sidebar{position:absolute;left:20px;top:20px;bottom:52px;width:300px;border-radius:11px;background:var(--surface,#fff);box-shadow:0 5px 25px #23475817;z-index:400;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line,#e4eaf0)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:20px 18px 14px;border-bottom:1px solid var(--line,#eef2f4);gap:10px}.sidebar-head h2{font-size:19px;margin-top:4px;letter-spacing:normal}.sidebar-head .eyebrow{font-size:11px}.sidebar-head .icon{color:var(--text-muted,#8da0ac)}.sidebar-content{padding:16px 17px;overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#d7e2e7 transparent}.sidebar-footer{height:36px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-top:1px solid var(--line,#edf2f5);padding:0 17px;font-size:11px;color:var(--text-muted,#97a6b0)}.sidebar-footer .dot{width:5px;height:5px}.sample-label{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.6px;font-weight:600;color:#a4854c;background:#fff7e9;border:1px solid #f2e6cf;padding:7px 8px;border-radius:5px;margin-bottom:14px}.sample-dot{width:4px;height:4px;border-radius:50%;background:#d7ac63}.region-picker{display:flex;gap:7px;margin-bottom:19px}.region-picker button{display:flex;align-items:center;justify-content:flex-start;flex:1;gap:7px;padding:9px 7px;text-align:left;border:1px solid var(--line,#e5ecef);min-width:0;background:var(--surface,#fbfcfd)}.region-picker button>svg{display:none}.region-picker strong{font-size:12px;display:block;color:var(--text,#435e6d)}.region-picker span:not(.flag){font-size:11px;color:var(--text-muted,#94a4ae);display:block;margin-top:3px;white-space:nowrap}.flag{font-size:11px;letter-spacing:.4px;border-radius:50%;height:23px;width:23px;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.eswatini{background:var(--surface-raised,#e8eefc);color:#566fac;border:2px solid #f1d98c}.mozambique{background:#e2f1df;color:#558d5e;border:2px solid #e8d78b}.overview-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:23px}.overview-stats button{position:relative;display:flex;align-items:flex-start;flex-direction:column;text-align:left;border:1px solid var(--line,#e5ecef);border-radius:8px;padding:13px 11px;gap:5px;background:var(--surface,#fff)}.overview-stats svg{color:var(--text-muted,#8ba7b1);margin-bottom:4px;width:16px;height:16px}.overview-stats strong{font-family:var(--font-ui);font-size:23px;letter-spacing:normal;font-weight:700;color:var(--text,#24485b)}.overview-stats span{font-size:11px;font-weight:400;color:var(--text-muted,#91a1ac)}.capacity-summary{padding-bottom:20px;border-bottom:1px solid var(--line,#edf2f5)}.capacity-summary h3{font-size:13px}.capacity-summary .link{font-size:11px}.capacity-number{display:flex;align-items:baseline;gap:7px;margin-top:17px}.capacity-number strong{font-size:24px;font-family:var(--font-ui);font-weight:700;letter-spacing:normal;color:var(--text,#22485a)}.capacity-number span{font-size:11px;color:var(--text-muted,#98a7b0)}.capacity-bar{height:6px;border-radius:3px;background:var(--surface-alt,#e8eff1);margin:10px 0 9px;overflow:hidden}.capacity-bar i{height:100%;background:#31968e;display:block;border-radius:3px}.capacity-summary .tiny{font-size:11px}.capacity-summary .dot{width:5px;height:5px}.section-title{display:flex;align-items:center;gap:7px;margin:18px 0 10px}.section-title h3{font-size:13px}.work-card{display:flex;align-items:center;gap:9px;width:100%;padding:10px 0;text-align:left;justify-content:flex-start;border:0;border-bottom:1px solid var(--line,#f0f4f6);border-radius:0;background:var(--surface,white)}.work-card>div{flex:1}.work-card>svg{color:var(--text-muted,#a6b5be);flex-shrink:0}.work-state{display:flex;align-items:center;justify-content:center;width:31px;height:33px;background:var(--surface-alt,#edf5f4);border-radius:7px;color:#5c9793;flex-shrink:0}.work-state.urgent{background:#fff0e7;color:#ce9c69}.work-card strong{font-size:12px;line-height:1.45;display:block;font-weight:600}.work-card span:not(.work-state){display:block;font-size:11px;color:var(--text-muted,#98a8b2);margin-top:4px;font-weight:400}.quick-analysis{margin-top:13px;display:flex;width:100%;gap:10px;padding:11px;text-align:left;justify-content:flex-start;background:var(--surface-alt,#f6fafb);border-color:var(--line,#e3edef);color:var(--text-muted,#58949a)}.quick-analysis div{flex:1}.quick-analysis strong{display:block;font-size:12px;color:var(--text-muted,#416c7a);font-weight:600}.quick-analysis span{display:block;font-size:11px;color:var(--text-muted,#91a9b2);margin-top:4px;font-weight:400}.floating{background:var(--glass,#fffffffa);border:1px solid var(--line,#dfe8ec);box-shadow:0 2px 10px #3556650c;border-radius:7px;font-size:12px;padding:10px 12px;color:var(--text-muted,#5d7d8a)}.floating.active{background:var(--surface-alt,#e7f4ef);color:#237e74;border-color:#b9dcd0}.map-toolbar{position:absolute;left:20px;top:20px;z-index:390;display:flex;align-items:center;gap:2px;padding:5px;border:1px solid var(--line,#dfe8ec);box-shadow:0 2px 12px #3556650e;border-radius:9px;background:var(--surface,#fff)}.map-toolbar.with-sidebar{left:336px}.map-toolbar button{border:none;background:none;border-radius:5px;padding:8px 9px;height:33px;color:var(--text-muted,#7a929f)}.map-toolbar button span{display:none;font-size:12px}.map-toolbar button.active{background:var(--surface-alt,#e6f4f1);color:#188b85}.map-toolbar button:hover{background:var(--surface-alt,#eff6f7)}.toolbar-divider{height:23px;width:1px;background:var(--surface-alt,#e9eff2);margin:0 3px}.map-view-controls{position:absolute;top:20px;right:20px;z-index:390;display:flex;gap:7px}.map-view-controls.with-inspector{right:360px}.map-status>button{margin-left:auto;white-space:nowrap}.map-status{position:absolute;bottom:0;left:0;right:0;height:31px;z-index:390;background:var(--glass,#ffffffed);border-top:1px solid var(--line,#e4ecee);display:flex;align-items:center;gap:20px;padding:0 20px;font-size:11px;color:var(--text-muted,#899da8)}.map-status span{white-space:nowrap}.map-status .status-model{margin-left:auto;color:var(--text-muted,#9baeb6);font-size:11px}.map-status .dot{width:5px;height:5px}.map-instruction{position:absolute;top:75px;left:75px;z-index:390;max-width:calc(100% - 115px);display:flex;align-items:center;gap:10px;background:#fff8e9;color:#94763a;padding:8px 10px 8px 13px;border:1px solid #edddb9;border-radius:7px;font-size:12px;box-shadow:0 2px 10px #725e2110}.map-instruction.with-sidebar{left:336px;max-width:calc(100% - 355px)}.map-instruction button{font-size:12px;padding:5px 7px;background:var(--surface-alt,#fffbf3);color:#94763a;border-color:#eee0c3;flex-shrink:0}.sync-banner{position:absolute;left:50%;bottom:47px;transform:translate(-50%);background:#fff6dc;padding:10px 13px;display:flex;align-items:center;gap:10px;z-index:500;border:1px solid #efdcaa;border-radius:8px;color:#a57b32;font-size:13px;box-shadow:var(--shadow)}.sync-banner button{font-size:12px;padding:6px 9px}.inventory-controls{display:flex;gap:7px;align-items:center;margin-bottom:10px}.inventory-controls select{min-width:0;width:100%;font-size:12px}.inventory-controls .primary{color:#fff;background:var(--teal);width:33px;height:33px;border-radius:6px}.project-filter{width:100%;font-size:12px;margin-bottom:13px}.list-heading{display:flex;align-items:center;justify-content:space-between;margin:14px 0 7px;font-size:12px;color:var(--text-muted,#879ba7)}.inventory-row{width:100%;display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--line,#eff3f5);border-radius:6px;padding:12px 5px;text-align:left;justify-content:flex-start}.inventory-row.selected{background:var(--surface-alt,#eaf5f1);border-color:#d2e8e2}.inventory-row>div{min-width:0;flex:1}.inventory-row strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:600;line-height:1.4}.inventory-row span:not(.asset-icon){display:block;font-size:11px;color:var(--text-muted,#97a8b3);margin-top:4px;font-weight:400}.inventory-row>svg{color:var(--text-muted,#9fb0bb);flex-shrink:0}.asset-icon{display:flex;align-items:center;justify-content:center;width:32px;height:34px;border-radius:8px;background:var(--surface-alt,#edf5f6);color:var(--text-muted,#58969d);flex-shrink:0}.asset-icon.planned{background:var(--surface-alt,#f3eef8);color:#a390b7}.asset-icon.large{width:46px;height:48px}.inspector{position:absolute;right:20px;top:20px;bottom:52px;width:324px;background:var(--surface,#fff);border:1px solid var(--line,#e3eaf0);border-radius:11px;box-shadow:var(--shadow);z-index:420;display:flex;flex-direction:column;overflow:hidden}.inspector-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line,#edf1f3);padding:11px 16px}.inspector-head .eyebrow{font-size:11px}.inspector-content{overflow:auto;padding:18px 17px;scrollbar-width:thin;scrollbar-color:#d7e2e7 transparent}.asset-heading{display:flex;align-items:center;gap:10px}.asset-heading h2{font-size:17px;line-height:1.4;letter-spacing:normal;margin-bottom:7px}.asset-actions{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}.asset-actions button{font-size:12px;padding:7px 10px}.mini-stats{display:flex;gap:22px;margin:16px 0;color:var(--text-muted,#8a9da8);font-size:12px}.mini-stats strong{color:var(--text-muted,#426677);font-size:17px;display:inline-block;margin-right:3px}.list-card{display:flex;align-items:center;gap:9px;justify-content:flex-start;text-align:left;width:100%;margin:6px 0;padding:10px;background:var(--surface,#fafcfd);border:1px solid var(--line,#e7eef1);min-width:0}.list-card>div{flex:1;min-width:0}.list-card strong{font-size:12px;display:block;line-height:1.4}.list-card span:not(.badge){font-size:11px;color:var(--text-muted,#94a6af);display:block;margin-top:4px;font-weight:400}.list-card svg{flex-shrink:0;color:var(--text-muted,#74949f)}.port-row{display:flex;align-items:center;gap:7px;padding:8px 5px;border:none;border-bottom:1px solid var(--line,#f0f4f6);border-radius:0;width:100%;font-size:12px;justify-content:flex-start}.port-row span{flex:1;text-align:left}.port-row>svg{color:var(--text-muted,#9bb0bb)}.properties{margin:20px 0;border-top:1px solid var(--line,#edf1f3);padding-top:7px}.properties>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:12px}.properties dt{color:var(--text-muted,#94a4ae);white-space:nowrap}.properties dd{margin:0;color:var(--text-muted,#526f7f);text-align:right;overflow-wrap:anywhere;font-size:12px}.notes{white-space:pre-wrap;font-size:12px;color:var(--text-muted,#7d94a1);background:var(--surface-alt,#f6f9fa);padding:11px;border:1px solid var(--line,#e8eff2);border-radius:6px}.asset-id{font-family:monospace;font-size:11px;color:var(--text-muted,#b5c2ca);word-break:break-all;margin-top:13px}.delete-asset{font-size:12px;margin-top:18px;width:100%;background:var(--surface,#fffbfa);border-color:#f2dfdb}.strand-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;max-height:260px;overflow:auto;padding:2px}.strand-grid button{padding:7px 3px;display:flex;align-items:center;gap:4px;font-size:11px;border-radius:4px;border-color:var(--line,#e4e9ec);background:var(--surface,#f9fbfc)}.strand-grid button i{width:6px;height:13px;border-radius:2px;border:1px solid #00000010}.strand-grid button.modeled{border:2px solid #299586;padding:6px 2px}.strand-grid button.reserved{background:#fff5e4;border-color:#e5c98c}.attachment{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--line,#eef2f4);text-decoration:none;color:var(--text-muted,#5f7f8e)}.attachment img{width:46px;height:40px;border-radius:5px;object-fit:cover}.attachment>div{flex:1;min-width:0}.attachment strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment span{font-size:11px;color:var(--text-muted,#9daeb7);display:block;margin-top:4px}.attachments{margin-top:22px}.attachments h3{font-size:13px}.upload-button{position:relative;font-size:11px;padding:5px 7px;cursor:pointer}.upload-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.empty{padding:25px 12px;text-align:center}.empty-mark{height:33px;width:33px;margin:0 auto 12px;border:1px dashed var(--line,#c6d9df);border-radius:10px;color:var(--text-muted,#85a5b3);font-size:24px}.empty h3{font-size:14px;color:var(--text-muted,#6f8999)}.empty p{font-size:12px;color:var(--text-muted,#9babb5)}.serviceability h3{margin-bottom:9px}.serviceability .field{margin:17px 0}.toast{position:fixed;z-index:2200;bottom:45px;left:50%;transform:translate(-50%);max-width:min(620px,calc(100vw - 30px));display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;box-shadow:0 5px 30px #14354633;font-size:13px}.toast.success{background:#174f4d;color:#e1f9ef;border:1px solid #1e6f64}.toast.error{background:#fff0ea;border:1px solid #efc6ba;color:#a14d36}.toast.error span{flex:1}.toast.error button{font-size:12px;padding:6px 8px;flex-shrink:0}.toast svg{flex-shrink:0}.loading-screen{display:flex;align-items:center;justify-content:center;gap:20px;height:100dvh;flex-direction:column;background:var(--surface-alt,#f0f7f6)}.modal-backdrop{position:fixed;inset:0;z-index:1500;background:#1637495e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:32px}.modal{width:580px;max-width:100%;max-height:calc(100dvh - 64px);background:var(--surface,#fff);border:1px solid var(--line,#e3ebef);border-radius:13px;box-shadow:0 20px 90px #0c2a4f40;display:flex;flex-direction:column;overflow:hidden;outline:none}.modal.wide{width:1100px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:23px 25px 19px;border-bottom:1px solid var(--line,#eaf0f4);gap:20px;flex-shrink:0}.modal-head h2{font-size:21px}.modal-head p{font-size:12px;margin:7px 0 0;color:var(--text-muted,#93a5af)}.modal-head .icon{margin:-3px -5px 0 0;color:var(--text-muted,#96a9b3)}.modal-body{padding:23px 25px;overflow:auto;scrollbar-width:thin;scrollbar-color:#ccdce3 transparent}.form{display:flex;flex-direction:column;gap:15px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:var(--text-muted,#63808f);min-width:0}.field>span,.field>label{font-size:12px}.field small{font-weight:400;font-size:12px;line-height:1.5;color:var(--text-muted,#94a5af)}.field input,.field select,.field textarea{width:100%}input,select,textarea{padding:9px 10px;border:1px solid var(--line,#dbe5eb);border-radius:6px;color:var(--text,#3b5c6e);background:var(--surface,#fcfdfe);min-height:35px;font-size:13px;line-height:1.35;min-width:0}input::placeholder,textarea::placeholder{color:var(--text-muted,#a6b5bf)}select{padding-right:23px}textarea{resize:vertical}input[type=checkbox]{min-height:0;accent-color:var(--teal);height:15px;width:15px;margin:0;flex-shrink:0}input[type=color]{padding:3px;height:36px;width:70px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex;align-items:center;gap:9px;font-size:13px;line-height:1.5;color:var(--text-muted,#617e8d);cursor:pointer}.check-list{max-height:250px;overflow:auto;background:var(--surface,#f8fbfc);border:1px solid var(--line,#e2ebf0);border-radius:7px;padding:10px;display:flex;flex-direction:column;gap:9px}.check-list .check{font-size:12px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;border-top:1px solid var(--line,#e8eef2);padding-top:17px;margin-top:3px}.form-actions button{font-size:13px}.error,.notice,.info{padding:11px 13px;border:1px solid;border-radius:7px;font-size:13px;line-height:1.65;margin:8px 0;overflow-wrap:anywhere}.error{border-color:#efd1cc;background:var(--surface-alt,#fff2ee);color:#ac5947}.notice{background:#fff9e9;border-color:#f0e3c0;color:#9b824f}.notice.small{font-size:12px;padding:8px 10px;display:flex;align-items:flex-start;gap:6px}.notice.small svg{flex-shrink:0;margin-top:2px}.info{background:var(--surface-alt,#edf7f9);border-color:var(--line,#d1e6ec);color:var(--text-muted,#527f91)}.callout{display:flex;align-items:center;gap:15px;padding:16px;border:1px solid var(--line,#dfebef);border-radius:8px;background:var(--surface,#f8fbfc);margin:14px 0}.callout>div{flex:1;min-width:0}.callout>svg{color:var(--text-muted,#7ba1ac);flex-shrink:0}.callout strong{font-size:13px}.callout p{font-size:12px;margin:5px 0 0;color:var(--text-muted,#8da3af)}.callout.subtle{background:var(--surface-alt,#f7fafb)}.callout select{max-width:190px}.callout button{font-size:12px;flex-shrink:0}.metrics{display:grid;gap:12px;margin:18px 0}.metrics.two{grid-template-columns:repeat(2,1fr)}.metrics.three{grid-template-columns:repeat(3,1fr)}.metrics.four{grid-template-columns:repeat(4,1fr)}.metrics>div{padding:14px;background:var(--surface-alt,#f6fafb);border:1px solid var(--line,#e5eef2);border-radius:8px}.metrics strong{display:block;font-size:20px;letter-spacing:normal;font-family:var(--font-ui);font-weight:700;color:var(--text,#2b5769);white-space:nowrap}.metrics span{display:block;margin-top:6px;font-size:11px;color:var(--text-muted,#98aeb9)}.inspector .metrics strong{font-size:19px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line,#e6eef2);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;font-size:12px;padding:11px 12px;white-space:nowrap;color:var(--text-muted,#9babb6)}.tabs button.active{border-color:#278c90;color:#187d85;background:var(--surface-alt,#f7fbfa)}.table-scroll{width:100%;overflow:auto;margin:12px 0}.table-scroll table{border-collapse:collapse;width:100%;font-size:12px}.table-scroll th{text-align:left;color:var(--text-muted,#8ca0ae);background:var(--surface-alt,#f6f9fb);font-size:12px;letter-spacing:.1px;font-weight:600;padding:10px 12px;white-space:nowrap;border-bottom:1px solid var(--line,#e3ecf1)}.table-scroll td{padding:10px 12px;border-bottom:1px solid var(--line,#edf2f5);color:var(--text-muted,#5c7a89);vertical-align:middle;line-height:1.5}.table-scroll tr:last-child td{border-bottom:0}.table-scroll select{font-size:12px;min-height:30px;padding:5px 25px 5px 8px}.table-scroll .badge{margin-left:7px}.result-card{border:1px solid var(--line,#e2eaf0);background:var(--surface,#fbfdfe);border-radius:8px;padding:14px;margin:12px 0}.result-card strong{font-size:13px}.result-card p{font-size:12px}.result-card .row{margin:7px 0}.workspace-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.workspace-cards .result-card{margin:0}.workspace-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.workspace-deletion-counts{margin:16px 0}.workspace-deletion-counts>div{display:flex;justify-content:space-between;gap:16px;padding:5px 0}.workspace-deletion-counts dd{margin:0;font-variant-numeric:tabular-nums}.upload-box{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 20px;gap:10px;background:var(--surface-alt,#f5fafb);border:1px dashed var(--line,#bcd6df);border-radius:9px;color:var(--text-muted,#77a4b3);text-align:center;cursor:pointer}.upload-box strong{font-size:13px;color:var(--text-muted,#528291)}.upload-box span{font-size:12px;color:var(--text-muted,#91afba);line-height:1.5}.upload-box input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.import-counts{display:flex;flex-wrap:wrap;gap:6px}.export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.export-card{border:1px solid var(--line,#e1ebef);border-radius:8px;background:var(--surface,#fbfdfe);padding:17px 13px;text-decoration:none;color:var(--text-muted,#5d8c9e);display:flex;flex-direction:column;gap:13px}.export-card strong{font-size:13px;color:var(--text,#385e70)}.export-card span{font-size:12px;line-height:1.6;color:var(--text-muted,#8ca4af)}.export-card>svg:last-child{align-self:flex-end}.export-card:hover{background:var(--surface-alt,#eff8f7);border-color:#b6d6d2}.delete-list{margin:18px 0;max-height:350px;overflow:auto}.delete-list>div{display:flex;gap:9px;align-items:center;padding:9px;border-bottom:1px solid var(--line,#edf2f5);font-size:12px}.delete-list .badge{min-width:100px}.help-steps{margin:0;padding-left:20px;color:var(--text-muted,#718b99);font-size:13px;line-height:1.9}.help-steps li{margin:12px 0;padding-left:5px}.help-steps strong{color:var(--text-muted,#3e6679)}.legend{display:flex;align-items:center;flex-wrap:wrap;gap:17px;font-size:12px;color:var(--text-muted,#8aa0ae);margin:10px 0}.diagram-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 13px}.diagram-bar button{font-size:12px}.diagram-canvas{overflow:hidden;background:var(--surface,#f8fbfc);border:1px solid var(--line,#e0e9ef);border-radius:8px;height:clamp(320px,58vh,620px);touch-action:none}.diagram-canvas>svg{display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none;touch-action:none;cursor:default}.diagram-card-handle{cursor:default}.diagram-card-handle:focus rect{stroke:#168a78;stroke-width:3}.diagram-tools{display:flex;flex-wrap:wrap;gap:7px}.diagram-wire{stroke-linejoin:round;stroke-linecap:round}.diagram-internal-key{color:var(--text-muted,#596f97)}.diagram-full-path{margin:16px 0;padding:16px;border:1px solid var(--line,#cbdce5);border-radius:10px}.diagram-full-path p,.diagram-path-steps{overflow-wrap:anywhere}.diagram-path-steps{display:grid;gap:10px;padding-left:24px}.diagram-path-steps li{padding:8px 10px;border-left:3px solid #cf862c;background:var(--surface,#f8fafb)}.diagram-path-steps span{display:block;margin-top:4px}.svg-title{font-size:12px;font-family:var(--font-ui);font-weight:600;fill:#3d6172}.svg-caption{font-size:11px;font-family:var(--font-ui);fill:#8ea4b1}.svg-port-label{font-size:12px;font-family:var(--font-ui);fill:#638292}.diagram-port{cursor:pointer}.diagram-port:hover rect{fill:#e9f5f2}.diagram-port:focus rect{stroke:#79c6cc;stroke-width:2}.trace-result{border-top:1px solid var(--line,#e4ecf1);padding-top:17px;margin-top:5px}.trace-result h3{font-size:13px}.trace-steps{list-style:none;padding:0;margin:20px 0}.trace-steps li{display:flex;gap:12px;align-items:flex-start;position:relative;padding:0 0 17px}.trace-steps li:not(:last-child):before{content:"";position:absolute;left:5px;top:13px;bottom:0;width:1px;background:var(--surface-raised,#d4e5e9)}.trace-steps strong{display:block;font-size:12px;color:var(--text-muted,#52798a);font-weight:600}.trace-steps span{display:block;font-size:12px;color:var(--text-muted,#9eb0b9);margin-top:4px}.trace-dot{margin-top:3px;width:11px;height:11px;border:2px solid #7db1b4;border-radius:50%;background:var(--surface,#fff);flex-shrink:0;z-index:1}.trace-dot.fiber{background:#359b96;border-color:#359b96}.trace-dot.splitter{background:#d9c0a0;border-color:#c0a37d;border-radius:2px}.otdr-grid{display:grid;grid-template-columns:340px 1fr;gap:28px}.waveform{border:1px solid var(--line,#e2ebf1);border-radius:8px;padding:14px;margin:0 0 15px}.waveform h3{font-size:13px}.waveform svg{display:block;width:100%;margin:12px 0 0}.event-table{max-height:230px}.fault-results{margin-top:22px}.fault-results h3{font-size:15px}.fault-results code{font-size:12px;color:var(--text-muted,#6d90a1)}.report-controls{display:flex;align-items:center;gap:9px;margin-bottom:24px}.report-controls select{margin-right:auto;max-width:400px;flex:1}.report-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:12px 0 20px}.report-title h2{font-size:25px;margin-top:8px}.report-title p{font-size:12px}.report-map{width:100%;height:auto;max-height:420px;border:1px solid var(--line,#dfebef);border-radius:8px}.print-report section h3{margin:25px 0 10px}.print-only{display:none}.login{height:100dvh;display:grid;grid-template-columns:1.12fr 1fr;background:var(--surface,#fcfefe);overflow:hidden}.login-art{position:relative;background:#163e4a;overflow:hidden;padding:38px 50px}.brand.light{color:#eaf7f8}.brand.light .brand-thin{color:var(--text-muted,#a0c6ca)}.brand.light .brand-mark{background:#327c80;color:#d3efea}.login-copy{position:relative;z-index:2;margin-top:75px;max-width:430px}.login-copy .eyebrow{color:var(--text-muted,#72a4ac);font-size:11px;letter-spacing:2px}.login-copy h1{font-size:clamp(35px,3.6vw,57px);line-height:1.16;font-weight:600;letter-spacing:normal;color:#effaf9;margin:24px 0}.login-copy h1 em{font-style:normal;color:#91d2bb}.login-copy p{color:var(--text-muted,#8fb4be);font-size:14px;line-height:1.9;max-width:320px}.login-network{position:absolute;bottom:-30px;left:0;width:100%;opacity:.5}.login-network svg{width:100%}.login-footer{position:absolute;bottom:24px;font-size:11px;color:var(--text-muted,#5f939f);z-index:2}.login-form{display:flex;align-items:center;justify-content:center;padding:40px}.login-form-inner{max-width:350px;width:100%}.login-form-inner>.badge{font-size:11px;letter-spacing:1px;background:var(--surface-alt,#ebf6f1);color:#5c9c8d;padding:7px 9px}.login-form h2{font-size:25px;letter-spacing:normal;margin-top:22px}.login-form-inner>p{color:var(--text-muted,#99adb8);font-size:13px;margin:10px 0 32px}.login-form .form{gap:20px}.login-form .field{gap:9px}.login-form input{height:43px;background:var(--surface,white);font-size:13px;border-color:var(--line,#dce8ed)}.login-form .primary{margin-top:7px;justify-content:space-between}.login-note{display:flex;align-items:center;gap:8px!important;font-size:11px!important;line-height:1.6!important;margin-top:26px!important;color:var(--text-muted,#a5b7c0)!important}.login-note svg{color:var(--text-muted,#95b3bb);flex-shrink:0}@media(min-width:1600px){.sidebar{width:325px}.map-toolbar.with-sidebar,.map-instruction.with-sidebar{left:361px}.topbar{gap:30px}.global-search{max-width:480px}}@media(max-width:1270px){.topbar{gap:15px;padding:0 17px}.workspace-select{min-width:170px;max-width:220px}.brand{font-size:23px}.map-view-controls{top:72px}.map-view-controls.with-inspector{right:360px}.map-toolbar.with-sidebar{left:334px}.map-toolbar button{padding:8px}.map-instruction{top:120px}.global-search{max-width:300px}.top-actions{gap:5px}.inspector{width:305px;right:14px}.map-view-controls.with-inspector{right:335px}.sidebar{left:14px;top:15px;bottom:47px}.inspector{top:15px;bottom:47px}.map-toolbar{top:15px}.map-toolbar.with-sidebar{left:329px}.map-status{gap:15px}.map-status .status-model{font-size:11px}.rail{width:66px}.rail button{font-size:11px}}@media(max-width:1050px){.global-search{display:none}.top-actions{margin-left:auto}.sidebar{width:270px}.sidebar-head{padding:18px 14px 13px}.sidebar-content{padding:14px}.map-toolbar.with-sidebar{left:299px}.map-instruction.with-sidebar{left:299px;max-width:calc(100% - 315px)}.map-view-controls.with-inspector{right:335px;top:120px}.map-view-controls span{display:none}.map-view-controls button{padding:9px}.otdr-grid{grid-template-columns:280px 1fr;gap:20px}.region-picker strong{font-size:11px}.region-picker span:not(.flag){font-size:11px}.overview-stats strong{font-size:21px}.legend{gap:12px}.metrics.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.topbar{height:62px;padding:0 12px;gap:12px}.workspace{height:calc(100dvh - 62px)}.brand{font-size:21px;gap:7px}.brand-mark{width:31px;height:31px;border-radius:8px}.brand-mark svg{width:20px}.top-divider{display:none}.workspace-select{min-width:0;max-width:210px;flex:1}.workspace-select select{font-size:12px}.workspace-select .eyebrow{font-size:11px}.top-actions .text-button span{display:none}.top-actions{gap:2px}.rail{width:56px;padding:12px 5px;gap:8px}.rail button{height:47px;font-size:11px;gap:5px}.rail svg{width:19px;height:19px}.rail .rail-spacer{min-height:0}.sidebar{width:280px;left:10px;top:10px;bottom:44px}.sidebar-head h2{font-size:18px}.map-toolbar.with-sidebar{left:305px;flex-direction:column;top:10px;padding:4px;gap:1px}.map-toolbar.with-sidebar .toolbar-divider{width:23px;height:1px;margin:3px 0}.map-toolbar.with-sidebar button{width:33px;height:33px}.map-toolbar{left:10px;top:10px;padding:4px}.map-toolbar button{padding:7px}.map-view-controls{top:60px;right:10px;flex-direction:column;gap:5px}.map-view-controls.with-inspector,.map-view-controls span{display:none}.inspector{top:10px;right:10px;bottom:44px;width:305px}.map-instruction{left:10px;top:auto;bottom:44px;max-width:calc(100% - 20px);font-size:12px}.map-instruction.with-sidebar{left:10px;top:auto;bottom:44px;max-width:calc(100% - 20px)}.map-status{padding:0 10px;gap:12px;font-size:11px;height:28px}.map-status .status-model{display:none}.map-status .link{font-size:11px;margin-left:auto}.leaflet-bottom.leaflet-right{bottom:27px}.modal-backdrop{padding:16px}.modal{max-height:calc(100dvh - 32px)}.modal-head{padding:18px 20px}.modal-body{padding:19px 20px}.modal-head h2{font-size:19px}.modal-head p{font-size:12px}.otdr-grid,.export-grid{grid-template-columns:1fr}.export-card{display:grid;grid-template-columns:30px 1fr 20px;gap:10px;align-items:center}.export-card span{grid-column:2;grid-row:2}.export-card>svg:first-child{grid-row:1/3}.export-card>svg:last-child{grid-row:1/3;grid-column:3;align-self:center}.login-art{padding:27px 28px}.login-copy{margin-top:60px}.login-copy h1{font-size:37px;letter-spacing:normal}.login-copy p{font-size:12px}.login-form{padding:30px}.login-form h2{font-size:22px}.login-network{bottom:40px}.report-controls{flex-wrap:wrap}.report-controls select{flex:auto;max-width:100%;width:100%}.report-controls button{font-size:12px}.diagram-bar{flex-wrap:wrap}.tabs button{padding:10px 8px;font-size:12px}.callout{flex-wrap:wrap}.callout select{max-width:100%}.sync-banner{width:calc(100% - 20px);font-size:12px;gap:7px;bottom:40px;padding:9px;justify-content:space-between}.sync-banner button{font-size:11px;flex-shrink:0}}@media(max-width:540px){.topbar{gap:8px;height:60px}.workspace{height:calc(100dvh - 60px)}.brand{font-size:18px;letter-spacing:-.7px}.brand-mark{width:29px;height:29px}.brand-mark svg{width:18px}.workspace-select{max-width:none}.workspace-select select{font-size:11px;max-width:180px}.top-actions .text-button{display:none}.top-actions .icon{width:27px;padding:5px}.avatar{width:27px;height:27px;font-size:11px}.rail{width:48px;padding:10px 3px}.rail button{font-size:6px;gap:5px;height:44px}.rail svg{width:18px;height:18px}.sidebar{left:8px;width:calc(100% - 16px);max-width:300px;bottom:40px;top:8px}.sidebar-content{padding:13px 14px}.sidebar-head{padding:16px 14px 12px}.map-toolbar.with-sidebar{display:none}.map-toolbar{left:8px;top:8px;max-width:calc(100% - 16px);gap:0;padding:3px}.map-toolbar button{width:31px;height:31px;padding:6px}.map-toolbar button svg{width:16px;height:16px}.map-toolbar .toolbar-divider{margin:0 1px}.map-view-controls{top:57px;right:8px}.inspector{width:calc(100% - 16px);max-width:340px;right:8px;top:8px;bottom:40px}.inspector-head{padding:8px 14px}.inspector-content{padding:15px}.map-status{gap:9px;font-size:11px;padding:0 8px;height:25px}.map-status .dot{width:4px;height:4px;margin-right:3px}.leaflet-control-attribution{font-size:11px!important;max-width:200px;text-align:right}.leaflet-bottom.leaflet-right{bottom:24px}.leaflet-control-scale-line{font-size:11px!important}.map-instruction,.map-instruction.with-sidebar{bottom:38px;padding:6px 8px;font-size:11px;gap:6px}.map-instruction button{font-size:11px;padding:4px}.modal-backdrop{padding:8px}.modal{max-height:calc(100dvh - 16px);border-radius:10px}.modal-head{padding:16px}.modal-body{padding:17px 16px}.modal-head h2{font-size:17px}.modal-head p{font-size:11px;line-height:1.6}.form-grid{gap:10px}.field>span,.field>label{font-size:12px}.field input,.field select{font-size:12px}.field small{font-size:11px}.metrics{gap:7px}.metrics>div{padding:10px}.metrics strong{font-size:17px}.metrics span{font-size:11px}.metrics.three{grid-template-columns:repeat(3,1fr)}.badge{font-size:11px}.table-scroll td{padding:9px;font-size:12px}.table-scroll th{padding:9px;font-size:11px}.report-title{display:block}.report-title h2{font-size:21px}.report-title>.badge{margin-bottom:10px}.diagram-bar .legend{font-size:11px;gap:9px}.upload-box{padding:23px 15px}.upload-box span{font-size:11px}.check{font-size:12px}.callout{padding:13px;gap:10px}.callout strong,.callout p{font-size:12px}.toast{bottom:34px;font-size:12px;padding:10px 12px}.login{display:flex;flex-direction:column;overflow:auto}.login-art{padding:23px 25px;height:175px;min-height:175px}.login-copy{margin:24px 0 0}.login-copy h1{font-size:24px;line-height:1.2;letter-spacing:normal;margin:0;max-width:260px}.login-copy h1 br:nth-child(2){display:none}.login-copy h1 em{display:block}.login-copy p,.login-copy .eyebrow,.login-footer{display:none}.login-art .brand{font-size:20px}.login-network{width:220px;right:-35px;left:auto;bottom:-12px;opacity:.4}.login-form{padding:30px 28px;flex:1;align-items:flex-start}.login-form-inner{max-width:360px}.login-form h2{font-size:23px;margin-top:18px}.login-form-inner>p{font-size:12px;margin-bottom:26px}.login-form .form{gap:18px}.login-form .field span,.login-form .field label{font-size:12px}.login-form input{font-size:13px}.login-note{font-size:11px!important}.help-steps{font-size:12px;line-height:1.8;padding-left:17px}.workspace-cards{grid-template-columns:1fr}.report-controls button{flex:1}.export-grid{gap:9px}.export-card{padding:13px}.export-card strong{font-size:12px}.export-card span{font-size:11px}.result-card{padding:12px}.tabs{gap:0}.tabs button{font-size:11px;padding:10px 7px}.modal-head .icon{width:28px;height:28px}.error,.notice,.info{font-size:12px}.delete-list>div{font-size:12px;gap:5px}.delete-list .badge{min-width:85px;font-size:11px}}@media print{@page{size:A4 landscape;margin:12mm}html,body{height:auto!important;background:var(--surface,white)!important;overflow:visible!important}.app{height:auto!important;overflow:visible!important}.topbar,.workspace,.toast,.modal-head,.no-print{display:none!important}.modal-backdrop{position:static!important;inset:auto!important;background:var(--surface,white)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;display:block!important;padding:0!important;height:auto!important}.modal{width:100%!important;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;display:block!important}.modal-body{overflow:visible!important;padding:0!important}.print-only{display:block!important}.print-report{color:var(--text,#000)}.print-report *{print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-title{break-inside:avoid}.report-map{height:280px;max-height:280px;break-inside:avoid}.table-scroll{overflow:visible!important}.table-scroll table{font-size:11px}.table-scroll td,.table-scroll th{padding:6px}.table-scroll tr{break-inside:avoid}.print-report section{break-inside:auto}.print-report section h3{break-after:avoid}.metrics{break-inside:avoid}.metrics.four{grid-template-columns:repeat(4,1fr)}.result-card,.legend{break-inside:avoid}}.mobile-inventory-search{display:none;align-items:center;gap:7px;border:1px solid var(--line,#e1eaef);border-radius:6px;padding:0 9px;margin-bottom:10px;color:var(--text-muted,#9aafb9)}.mobile-inventory-search input{background:none;border:none;width:100%;font-size:12px;padding:8px 0;outline:none}@media(max-width:1050px){.mobile-inventory-search{display:flex}}.attachment-row{display:flex;align-items:center;gap:6px}.attachment-row>.attachment{flex:1;min-width:0}.attachment-row>.icon{width:25px;height:25px;flex-shrink:0}.attachment-row>.attachment>div{min-width:0}.health-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.health-controls .field{flex:1;min-width:180px}.health-issue p,.change-impact p{overflow-wrap:anywhere}.health-issue{margin:12px 0}.impact-services{max-height:42vh;overflow:auto}.impact-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 0}.impact-comparison dt{font-size:12px;color:var(--muted)}.impact-comparison dd{margin:4px 0 0;font-size:14px}.change-impact .result-card{margin:10px 0}.change-impact .result-card strong,.health-issue strong{overflow-wrap:anywhere}.modal.wide:has(.construction){width:min(1320px,calc(100vw - 32px));max-width:1320px}.construction{color:var(--text,#1e293b)}.construction-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:12px;border-bottom:1px solid var(--line,#dbe3ed);margin-bottom:16px}.construction-tabs button{white-space:nowrap}.construction-tabs button.active{background:#153d64;color:#fff}.construction-context,.construction-inline{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.construction-context>.field{flex:1;min-width:220px;max-width:560px}.construction-picker{display:grid;grid-template-columns:minmax(90px,1fr) minmax(100px,1.2fr);gap:5px}.construction-picker input,.construction-picker select{min-width:0}.construction-picker small,.construction-picker .construction-inline{grid-column:1/-1}.construction-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0}.construction-stats button{display:flex;flex-direction:column;align-items:flex-start;padding:18px;background:var(--surface-alt,#f3f7fb);border:1px solid var(--line,#dbe3ed)}.construction-stats strong{font-size:30px}.construction-stats small{font-size:12px;color:var(--text-muted,#64748b);margin-top:5px}.construction-table{overflow:auto;margin:16px 0}.construction table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}.construction th{background:var(--surface-alt,#f1f5f9);padding:12px;white-space:nowrap}.construction td{padding:12px;border-bottom:1px solid var(--line,#e2e8f0);vertical-align:top}.construction td small{display:block;color:var(--text-muted,#64748b);font-size:12px;margin-top:4px;overflow-wrap:anywhere}.construction td button{margin:2px}.construction progress{display:block;max-width:160px;width:100%;height:7px;accent-color:#168a69;margin-top:8px}.construction-empty{text-align:center;padding:40px 20px;background:var(--surface,#f8fafc);border:1px dashed var(--line,#cbd5e1);border-radius:12px}.construction-callout{background:var(--surface-alt,#eaf5f0);color:#135f48;border-radius:8px;padding:12px 16px}.construction-warning{color:#925008}.construction-card,.construction-editor{margin:16px 0;border:1px solid var(--line,#cbd5e1);border-radius:10px;padding:18px;background:var(--surface,#f8fafc)}.construction-editor{border-top:4px solid #1c618c}.construction-editor .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.construction-editor input[type=checkbox]{width:18px;height:18px}.construction-file{display:inline-flex;gap:6px;align-items:center;padding:6px;margin:3px;background:var(--surface-raised,#e2e8f0);border-radius:5px;overflow-wrap:anywhere}.construction-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.construction-detail dt{font-size:13px;color:var(--text-muted,#64748b)}.construction-detail dd{margin:4px 0;overflow-wrap:anywhere}.construction pre{max-height:220px;overflow:auto;font-size:13px;background:var(--surface-alt,#eaf0f5);padding:12px}.construction-map{height:320px;border-radius:10px;margin:16px 0;z-index:0}.construction-actions{display:flex;flex-wrap:wrap}.construction-offline{max-width:800px;margin:40px auto;padding:24px}.construction-print{padding:20px;border:1px solid var(--line,#e2e8f0)}@media(max-width:650px){.construction-stats{grid-template-columns:repeat(2,1fr)}.construction-editor .form-grid,.construction-detail{grid-template-columns:1fr}.construction-map{height:230px}.construction-context{align-items:stretch}.modal.wide:has(.construction){width:calc(100vw - 12px)}.construction-picker{grid-template-columns:1fr}.construction-tabs{max-width:calc(100vw - 60px)}}@media print{body:has(.modal-backdrop:not([inert]) .construction) .app>*:not(.modal-backdrop):not(.window-layer),body:has(.modal-backdrop:not([inert]) .construction) .modal-head,.construction>*:not(.construction-print){display:none!important}body:has(.modal-backdrop:not([inert]) .construction) .modal-backdrop,body:has(.modal-backdrop:not([inert]) .construction) .modal,body:has(.modal-backdrop:not([inert]) .construction) .modal-body{position:static!important;max-height:none!important;height:auto!important;overflow:visible!important;background:var(--surface,white)!important;box-shadow:none!important;width:100%!important}.construction-print{display:block!important;border:0!important}}.geographic-view{position:absolute;inset:0}.map-mode-switcher.floating{position:absolute;right:20px;bottom:116px;z-index:410;padding:0;background:none;border:0;box-shadow:none}.map-mode-switcher.floating.with-inspector{right:360px}.map-view-picker{display:flex;align-items:center;gap:6px;width:fit-content}.map-view-picker .map-view-button{position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;color:var(--text,#173b51);background:#ffffffb8;border:1px solid rgba(255,255,255,.75);border-radius:12px;box-shadow:0 2px 10px #173b5126;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer}.map-view-picker .map-view-button:hover{background:#ffffffeb}.map-view-picker .map-view-button[aria-pressed=true]{background:#0b747bd9;color:#fff;border-color:#ffffffd9;box-shadow:0 0 0 2px #0b747b,0 2px 10px #173b5126}.map-view-button:focus-visible{outline:3px solid #e6a126;outline-offset:3px}.map-view-tooltip{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%);padding:5px 8px;border-radius:5px;background:#173b51;color:#fff;font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0}.map-view-button:hover .map-view-tooltip,.map-view-button:focus-visible .map-view-tooltip{opacity:1}.map-view-button:last-child .map-view-tooltip{left:auto;right:0;transform:none}.construction-map-picker{display:flex;justify-content:flex-end;margin-top:12px}.basemap-notice{position:absolute;z-index:450;bottom:40px;left:12px;max-width:min(370px,70%);padding:7px 11px;background:#fff7dc;color:#765517;border-radius:6px;font:12px var(--font-ui);pointer-events:none}.topology-container{position:absolute;inset:0}.topology-container.with-sidebar{left:320px}.topology-container.with-inspector{right:340px}.topology-view,.topology-map{height:100%;width:100%}.topology-map{background:var(--surface-alt,#f1f5f9);background-image:radial-gradient(#cedbe4 1px,transparent 1px);background-size:22px 22px}.topology-caption{position:absolute;left:16px;top:80px;z-index:400;display:flex;flex-direction:column;gap:5px;padding:12px;background:var(--glass,#ffffffed);border:1px solid var(--line,#dae4eb);border-radius:8px;max-width:310px;font-size:12px;color:var(--text-muted,#5c7485)}.topology-caption strong{color:var(--text,#24475b);font-size:14px}.topology-caption label{display:flex;align-items:center;gap:8px}.topology-caption input{width:170px;font-size:12px;padding:6px}.topology-matches{display:grid;gap:3px;max-height:200px;overflow:auto}.topology-matches button{text-align:left;font-size:12px}.topology-node{background:#16846b;border:3px solid white;border-radius:50%;box-shadow:0 1px 6px #23495a55}.topology-node.source{background:#123d54;display:grid;place-items:center;color:#fff;font:700 10px var(--font-ui)}.topology-node.planned{background:#94a3b8;border-style:dashed}.topology-node.selected{outline:4px solid #f0ad36}.topology-label{font-size:12px;color:var(--text,#24475b);border:0;box-shadow:0 1px 4px #23495a20}@media(max-width:950px){.topology-container.with-sidebar{left:290px}.topology-container.with-inspector{right:310px}.map-mode-switcher.floating{right:12px;bottom:110px}.topology-caption{max-width:245px}}@media(max-width:600px){.topology-container.with-sidebar{left:0}.topology-container.with-inspector{right:0}.map-mode-switcher.floating{right:8px;bottom:110px}.topology-caption{top:105px;left:10px;max-width:240px}.topology-caption>span{max-width:210px}}.topology-label{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topology-label.leaflet-tooltip-left{max-width:200px}.topology-compact .topology-label{display:none}.topology-compact .topology-node{width:12px!important;height:12px!important;margin-left:-6px!important;margin-top:-6px!important;border-width:2px}.topology-compact .topology-node.source{width:20px!important;height:20px!important;margin-left:-10px!important;margin-top:-10px!important;font-size:6px}@media(max-width:1200px){.map-mode-switcher.floating.with-inspector{right:335px}}@media(max-width:800px){.map-mode-switcher.floating.with-inspector{display:none}}.delivery-panel{min-width:0}.delivery-intro{max-width:900px;color:var(--text-muted,#506678);line-height:1.6}.delivery-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.delivery-panel fieldset{min-width:0;border:0;padding:0}.delivery-panel legend{font-weight:600;margin-bottom:16px}.delivery-panel .construction-table input{min-width:95px;max-width:180px}.delivery-panel .construction-table input[type=checkbox],.delivery-check input{width:18px;min-width:18px;height:18px;flex:0 0 18px}.delivery-check{display:flex;align-items:center;gap:9px;padding:8px 0;font-size:14px}.delivery-route-list{max-height:240px;overflow:auto;margin:12px 0}.delivery-form-field{border:1px solid var(--line,#d6e1e9);padding:14px;border-radius:8px;margin:12px 0}.delivery-detail{overflow-wrap:anywhere}.delivery-picker select{width:100%}.delivery-panel .primary{background:#176e78;color:#fff}@media(max-width:650px){.delivery-panel .form-grid,.delivery-metrics{grid-template-columns:1fr}.delivery-panel .construction-inline{gap:8px}.delivery-panel .construction-card{padding:12px}}.modal.wide:has(.fttx){width:min(1320px,calc(100vw - 32px));max-width:1320px}.fttx{min-width:0;color:var(--text,#203b48)}.fttx h3,.fttx h4{margin:0 0 10px}.fttx p{line-height:1.55}.fttx .muted{color:var(--text-muted,#647680);font-size:14px}.fttx-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(120deg,var(--surface-alt,#e7f3f1),var(--surface-alt,#f4f7fa));padding:25px;border:1px solid #d8e7e6;border-radius:14px;margin-bottom:18px}.fttx-hero h3{font-size:25px;margin:9px 0}.fttx-hero p{margin:0;max-width:720px;color:var(--text-muted,#526b76)}.fttx-hero>svg{flex-shrink:0;color:#197b7b}.fttx-stages{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:0;list-style:none;margin:16px 0}.fttx-stages li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted,#667e89);border-bottom:3px solid var(--line,#e4ebee);padding:0 0 12px}.fttx-stages li.current{color:#087973;border-color:#168982}.fttx-stages li span{border-radius:50%;background:var(--surface-alt,#edf3f4);width:24px;height:24px;display:grid;place-items:center;flex-shrink:0}.fttx-tabs{display:flex;gap:5px;overflow:auto;border-bottom:1px solid var(--line,#dce5ea);margin-bottom:20px;padding-bottom:8px}.fttx-tabs button{white-space:nowrap;border:0;background:transparent;padding:11px 14px}.fttx-tabs button[aria-selected=true]{background:#e0f1ed;color:#076b62;font-weight:700}.fttx-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0}.fttx-toolbar h3,.fttx-toolbar h4{margin:0 auto 0 0}.fttx-toolbar>.field{max-width:280px}.fttx button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px}.fttx input,.fttx select,.fttx textarea{max-width:100%;min-width:0}.fttx button:disabled{opacity:.45;cursor:not-allowed}.fttx textarea{min-height:90px}.fttx-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fttx-grid .field{min-width:0}.fttx-map{height:340px;position:relative;border:1px solid var(--line,#dbe6e7);border-radius:10px;overflow:hidden;margin:15px 0}.fttx-map .map-view-picker{position:absolute;top:10px;right:10px;z-index:500}.fttx-demand{max-height:400px;overflow:auto;margin:15px 0}.fttx-demand fieldset{border:1px solid var(--line,#dbe5e9);border-radius:9px;margin:10px 0;padding:14px}.fttx-demand legend{font-weight:600;padding:0 8px}.fttx-demand .fttx-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.fttx-section{border:1px solid var(--line,#dae5e8);border-radius:10px;padding:16px;margin:16px 0}.fttx-section summary{cursor:pointer;font-weight:600;line-height:1.5}.fttx-section[open]>summary{margin-bottom:16px}.fttx-section>.field{margin-top:16px}.fttx-check{display:flex;align-items:center;gap:9px;line-height:1.5;margin:10px 0;font-size:14px}.fttx-check input{width:17px;height:17px;flex-shrink:0}.fttx-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:15px 0}.fttx-stats>div{padding:15px 12px;border:1px solid var(--line,#dfe8eb);border-radius:9px;background:var(--surface,#f8fbfb)}.fttx-stats strong{font-size:20px;display:block;overflow-wrap:anywhere}.fttx-stats span{display:block;font-size:13px;color:var(--text-muted,#5c7380);margin-top:7px}.fttx-chain{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line,#dce6e8);border-radius:10px;padding:20px;background:var(--surface-alt,#f6faf9)}.fttx-chain>span{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600}.fttx-chain svg{width:19px;flex-shrink:0}.fttx-table{overflow:auto;max-width:100%}.fttx-table table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}.fttx-table th{background:var(--surface-alt,#f1f6f7);font-size:12px;color:var(--text-muted,#546e7a);text-transform:uppercase;white-space:nowrap}.fttx-table td,.fttx-table th{padding:12px;border-bottom:1px solid var(--line,#e3ebed)}.fttx-table input[type=number]{min-width:90px;width:130px}.fttx-table input[type=checkbox]{width:18px;height:18px}.fttx-issue{display:flex;align-items:flex-start;gap:9px;padding:9px 0;font-size:14px;line-height:1.5}.fttx-issue svg{flex-shrink:0;margin-top:2px;color:#aa731b}.fttx-issue.error{color:#a22b32}.fttx-alert{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px;padding:14px;background:var(--surface-alt,#eaf4ef);border:1px solid #cde3d7;border-radius:8px;margin:15px 0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.fttx-alert.error{background:var(--surface-alt,#fff1ee);border-color:#f0c8c2;color:#932c21}.fttx-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.fttx-package-grid article{padding:18px;border:1px solid var(--line,#dbe6e8);border-radius:10px;overflow-wrap:anywhere}.fttx-package-grid article p,.fttx-package-grid li{font-size:14px;line-height:1.55}.fttx-evidence{margin:15px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.fttx-evidence a{font-size:13px}@media(max-width:850px){.fttx-grid,.fttx-demand .fttx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fttx-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.fttx-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fttx-stages{grid-template-columns:repeat(3,1fr)}.fttx-chain{flex-wrap:wrap;justify-content:flex-start}}@media(max-width:500px){.modal.wide:has(.fttx){width:calc(100vw - 12px)}.fttx-hero{padding:17px}.fttx-hero h3{font-size:20px}.fttx-hero>svg{display:none}.fttx-grid,.fttx-demand .fttx-grid,.fttx-package-grid{grid-template-columns:1fr}.fttx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fttx-stages li{font-size:12px;gap:4px}.fttx-stages li span{width:20px;height:20px}.fttx-map{height:260px}.fttx-section{padding:10px}.fttx-chain>span{font-size:12px}.fttx-tabs{max-width:calc(100vw - 55px)}.fttx-toolbar>button{max-width:100%}}.fttx-pdf-options{width:100%;min-width:0;border:1px solid var(--line,#cddfe2);background:var(--surface-alt,#f5faf9);border-radius:10px;padding:18px;margin:12px 0}.fttx-pdf-options p{font-size:14px;color:var(--text-muted,#536c77);margin:6px 0 14px}.fttx-pdf-options small{display:block;margin-top:12px;color:var(--text-muted,#5b7480);font-size:13px;line-height:1.5}.fttx-pdf-options .fttx-grid{align-items:end;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto}.fttx-pdf-options .fttx-check{margin:0;min-height:40px}.fttx-pdf-options button{min-height:40px}@media(max-width:850px){.fttx-pdf-options .fttx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.fttx-pdf-options{padding:12px}.fttx-pdf-options .fttx-grid{grid-template-columns:1fr}}.construction-module-select{display:none}@media screen{.modal-backdrop:has(.construction){padding:12px}.modal.wide:has(.construction){width:min(1680px,calc(100vw - 24px));max-width:none;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.modal:has(.construction)>.modal-head{padding:14px 20px;gap:12px}.modal:has(.construction)>.modal-body{padding:14px 20px;flex:1;min-height:0}.modal:has(.construction.is-overview)>.modal-body{overflow:auto;display:flex;flex-direction:column}.construction.is-overview{height:100%;min-height:0;display:flex;flex-direction:column}.construction-tabs{flex-wrap:wrap;overflow:visible;gap:5px;padding-bottom:9px;margin:0 0 8px;flex-shrink:0;max-width:none}.construction-tabs button{padding:7px 10px;font-size:13px;min-height:34px}.construction-context{margin:0 0 10px;gap:8px;flex-shrink:0;align-items:flex-end}.construction-context>.field{min-width:0;max-width:640px}.construction-context .construction-picker{grid-template-columns:minmax(100px,.85fr) minmax(110px,1.15fr)}.construction-context .field{gap:4px}.construction-context input,.construction-context select{height:36px;font-size:13px}.construction-context>button{min-height:36px}.construction-overview{display:flex;flex-direction:column;flex:1;min-height:0}.construction-overview .construction-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0 0 12px;flex-shrink:0}.construction-overview .construction-stats button{padding:12px 14px;min-width:0;gap:2px}.construction-overview .construction-stats strong{font-size:clamp(22px,2.2vw,30px);line-height:1.1}.construction-overview .construction-stats span{font-size:13px}.construction-overview .construction-stats small{margin-top:2px;font-size:12px}.construction-production-heading{flex-shrink:0;margin-bottom:10px}.construction-production-heading h3{font-size:16px;margin:0 0 4px}.construction-production-heading p{font-size:13px;line-height:1.4;margin:0;color:var(--text-muted,#637985)}.construction-production-viewport{--production-row-height:44;flex:1;min-height:84px;overflow:auto}.construction-production-viewport table{table-layout:fixed;font-size:13px}.construction-production-viewport th{padding:9px 10px;font-size:12px}.construction-production-viewport td{height:44px;padding:7px 10px;vertical-align:middle;overflow-wrap:anywhere}.construction-production-viewport td:first-child{font-weight:600}.construction-progress-value{display:flex;gap:7px;align-items:center}.construction-progress-value progress{margin:0;flex:1;min-width:0}.construction-progress-value span{font-size:12px;flex-shrink:0}.construction-production-pagination{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px;flex-shrink:0;color:var(--text-muted,#536c77);font-size:13px}.construction-production-pagination>div{display:flex;align-items:center;gap:8px}.construction-production-pagination button{min-height:34px;padding:6px 10px;font-size:13px}.construction-overview .construction-empty{padding:20px;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:160px}.construction-overview .construction-empty p{max-width:550px}@media(max-width:850px){.construction-tabs{display:none}.construction-module-select{display:block;flex-shrink:0;margin-bottom:9px}.construction-module-select .field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.construction-module-select select{min-height:38px;font-size:14px}.construction-module-select label{font-size:13px}.construction-overview .construction-stats button{padding:10px 8px}.construction-overview .construction-stats span{font-size:12px}}@media(max-width:600px){.modal-backdrop:has(.construction){padding:6px}.modal.wide:has(.construction){width:calc(100vw - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)}.modal:has(.construction)>.modal-head{padding:10px 12px}.modal:has(.construction)>.modal-head h2{font-size:18px}.modal:has(.construction)>.modal-head p{margin-top:3px;line-height:1.3}.modal:has(.construction)>.modal-body{padding:10px 12px}.construction-context{gap:6px;margin-bottom:8px}.construction-context>.field{flex:1 1 0;min-width:0}.construction-context .construction-picker{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.construction-context>button{font-size:12px;padding:6px}.construction-context label{font-size:12px}.construction-overview .construction-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:9px}.construction-overview .construction-stats button{padding:7px 8px}.construction-overview .construction-stats strong{font-size:21px}.construction-overview .construction-stats small{font-size:11px;line-height:1.2}.construction-production-heading{margin-bottom:8px}.construction-production-heading h3{font-size:15px}.construction-production-heading p{font-size:12px}.construction-production-viewport{--production-row-height:112;min-height:112px}.construction-production-viewport table,.construction-production-viewport tbody{display:block}.construction-production-viewport thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.construction-production-viewport tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:112px;border-bottom:1px solid var(--line,#dce7ec);gap:3px 8px;padding:6px 0;align-content:center}.construction-production-viewport td{display:block;height:auto;padding:0;border:0;font-size:13px;line-height:1.2;min-width:0}.construction-production-viewport td:first-child{grid-column:1/-1;font-size:14px;margin-bottom:2px}.construction-production-viewport td[data-label]:before{content:attr(data-label);display:block;font-size:11px;color:var(--text-muted,#637985);margin-bottom:2px}.construction-production-pagination{font-size:12px;margin-top:6px;gap:5px}.construction-production-pagination>div{justify-content:space-between;width:100%;gap:6px}.construction-production-pagination button{font-size:12px;padding:6px 8px}}@media(max-height:650px){.modal:has(.construction)>.modal-head{padding-top:8px;padding-bottom:8px}.modal:has(.construction)>.modal-body{padding-top:8px;padding-bottom:8px}.construction-overview .construction-stats button{padding-top:6px;padding-bottom:6px}.construction-overview .construction-stats strong{font-size:20px}.construction-overview .construction-stats{margin-bottom:7px}.construction-production-heading p{font-size:12px}}}.map-default-actions{display:flex;flex-wrap:wrap;gap:8px}.map-default-message{padding:10px 12px;background:var(--teal-soft);border:1px solid var(--border);border-radius:7px;margin:0}.smart-connect-grid{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.5fr);gap:24px}.smart-connect section{min-width:0}.smart-connect details{margin:14px 0;padding:10px;background:var(--bg,#f4f7f9);border-radius:8px}.smart-connect summary{cursor:pointer;font-weight:600}.smart-connect button{margin:5px 6px 5px 0}.smart-connect .smart-record{display:block;width:100%;text-align:left;overflow-wrap:anywhere}.smart-stats{display:flex;flex-wrap:wrap;gap:8px}.smart-stats span{padding:7px 10px;background:var(--surface-alt,#e8f4f3);border-radius:6px;color:var(--text,#164b4d)}.smart-path,.smart-work{padding-left:24px}.smart-path li,.smart-work li{padding:9px 3px;border-bottom:1px solid var(--line,#d9e3e9);overflow-wrap:anywhere}.smart-path span{display:block;font-size:12px;margin-top:4px}.smart-work p{margin:6px 0}.smart-release{padding:14px;margin-top:16px;border:1px solid var(--line,#ccdce3);border-radius:8px}.smart-connect .check{align-items:flex-start}.smart-connect input,.smart-connect select,.smart-connect textarea{max-width:100%}@media(max-width:720px){.smart-connect-grid,.smart-connect .form-grid{grid-template-columns:minmax(0,1fr)}}.simulation-grid{display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1.5fr);gap:24px;margin-top:18px}.simulation-grid section{min-width:0}.otdr-simulator button{margin:6px 6px 6px 0}.otdr-simulator details{margin:12px 0}.simulation-chart{width:100%;overflow:hidden;border:1px solid var(--line,#d9e4eb);border-radius:9px}.simulation-chart svg{display:block;width:100%;cursor:crosshair}.simulation-watermark{font:600 12px var(--font-ui);fill:#765729}.simulation-fault{background:#fff5df}.simulation-location{padding:12px;background:var(--surface-alt,#eff7f5);border-radius:8px}.otdr-simulator .notice{padding:12px;background:#fff5df;color:#765118;border-radius:8px}.otdr-simulator td{overflow-wrap:anywhere}.otdr-simulator .table-scroll,.otdr-simulator input,.otdr-simulator select{max-width:100%}@media(max-width:760px){.simulation-grid,.otdr-simulator .form-grid{grid-template-columns:minmax(0,1fr)}.simulation-chart{min-height:120px}}.smart-connection-map{min-width:0}.smart-map-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.smart-map-toolbar .map-view-picker{margin-left:auto}.smart-connection-map>p{overflow-wrap:anywhere}.smart-map-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:12px 0;font-size:12px}.smart-map-legend>span{display:flex;align-items:center;gap:7px}.smart-map-line{width:25px;border-top:4px solid #087f8c}.smart-map-line.proposed{border-color:#d97706;border-top-style:dashed}.smart-map-join{width:12px;height:12px;border:3px solid #d97706;border-radius:50%}.smart-path-map{height:clamp(280px,55dvh,580px);width:100%;border:1px solid var(--line,#dfe8ec);border-radius:8px;z-index:0}.smart-path-map .leaflet-bottom{bottom:0}.smart-path-map .leaflet-tooltip{width:max-content;max-width:200px;white-space:normal;overflow-wrap:break-word}.smart-path-map .leaflet-popup-content{max-width:230px;overflow-wrap:anywhere}@media(max-width:600px){.smart-map-toolbar .map-view-picker{margin-left:0}.smart-path-map{height:clamp(260px,45dvh,360px)}.smart-path-map .leaflet-tooltip{max-width:130px;font-size:11px}}.smart-path .smart-step-trigger{display:block;width:100%;margin:0;padding:9px 10px;text-align:left;white-space:normal;overflow-wrap:anywhere;border:1px solid transparent;background:transparent;color:inherit;font:inherit}.smart-path .smart-step-trigger:hover,.smart-path .smart-step-trigger[aria-expanded=true]{background:var(--surface-alt,#edf6f6);border-color:#9bc6cb}.smart-path .smart-step-trigger:focus-visible{outline:2px solid #087f8c;outline-offset:2px}.smart-path .smart-step-hint{color:#08717d;font-weight:600}.smart-step-popover{position:fixed;z-index:2200;width:min(380px,calc(100vw - 24px));overflow:auto;overscroll-behavior:contain;background:var(--surface,#fff);color:var(--text,#183c56);border:1px solid #9bc6cb;border-radius:9px;padding:14px;box-shadow:0 8px 28px #163b5133;font-size:13px}.smart-step-details{white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.45;text-align:left}.smart-step-details p{margin:6px 0 10px}.smart-step-details dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:6px 10px;margin:0}.smart-step-details dt{color:var(--text-muted,#58717e);font-weight:500}.smart-step-details dd{margin:0}.smart-path-map .smart-map-step-tooltip{width:300px;max-width:min(300px,calc(100vw - 80px))}.modal-head>div:first-of-type{min-width:0;overflow-wrap:anywhere}.modal-head .modal-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.modal-head .modal-actions .icon{margin:0;width:36px;height:36px}@media screen{.modal-backdrop.is-map-expanded{padding:0;background:var(--surface,#fff);-webkit-backdrop-filter:none;backdrop-filter:none}.modal-backdrop.is-map-expanded>.modal{width:100%;max-width:100%;height:100%;max-height:100%;border:0;border-radius:0}.modal-backdrop.is-map-expanded>.modal>.modal-body{flex:1;min-height:0}.is-map-expanded .smart-path-map{height:max(260px,calc(var(--dialog-area-height,100dvh) - 280px))}}@media print{.modal-backdrop.is-map-expanded{width:100%!important;height:auto!important}}.home-map-popup .leaflet-popup-content{width:min(320px,calc(100vw - 132px))!important;max-height:min(380px,calc(100dvh - 210px));overflow:auto;margin:16px}.home-actions{color:var(--text,#183c56);font:13px/1.45 var(--font-ui);overflow-wrap:anywhere}.home-actions h3{margin:0 0 10px;font-size:16px}.home-actions h4{margin:12px 0 6px}.home-actions p{margin:8px 0}.home-actions button{white-space:normal;text-align:left;margin:4px 0;max-width:100%;overflow-wrap:anywhere}.home-actions>button,.home-actions section>button{display:block;width:100%}.home-action-buttons{display:flex;flex-wrap:wrap;gap:4px 8px;margin:10px 0}.home-action-buttons.secondary{border-top:1px solid var(--line,#dbe6eb);padding-top:8px}.home-actions .serviceability{border-top:1px solid var(--line,#dbe6eb);margin-top:12px;padding-top:12px}.home-actions .serviceability .list-card{width:100%;flex-wrap:wrap}.home-actions .serviceability .list-card>div{min-width:0}.home-actions .field{margin-top:8px}.home-actions select{width:100%;min-width:0}.network-map path[role=button]:focus-visible{outline:3px solid #f59e0b}.modal-head.is-draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.modal-head.is-dragging{cursor:grabbing}.modal-head.is-draggable:focus-visible{outline:2px solid #087f8c;outline-offset:-3px}.window-movement-hint{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media print{.modal{left:0!important;top:0!important}}.network-map.tool-planner{cursor:crosshair}.map-area:has(.home-map-popup) .map-instruction{display:none}.cabinet-catalog{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.cabinet-catalog section{min-width:0}.cabinet-trays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:16px 0}.cabinet-trays>div{display:flex;flex-direction:column;gap:3px;border:1px solid var(--border);border-radius:5px;padding:7px;background:var(--surface-alt,#f5f9fa);font-size:12px}.cabinet-port-table{width:100%;min-width:560px;margin-top:16px}.cabinet-port-table th,.cabinet-port-table td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.cabinet-port-table small,.cabinet-port-side>span{display:block;margin-bottom:6px}.cabinet-port-side{overflow-wrap:anywhere}@media(max-width:720px){.cabinet-catalog{grid-template-columns:minmax(0,1fr)}}.network-map.tool-cabinet{cursor:crosshair}.material-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.material-gallery-card{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left;padding:14px;gap:9px;min-width:0;overflow-wrap:anywhere}.material-gallery-image{display:grid;place-items:center;height:165px;background:var(--surface-alt,#f4f7f9);border-radius:6px;overflow:hidden}.material-gallery-image img{width:100%;height:100%;object-fit:contain}.material-gallery-image>span{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted,#607785)}.material-gallery-schematic{height:90px;display:block;overflow:hidden;border:1px solid var(--border);border-radius:5px}.material-gallery-schematic .material-schematic{height:90px;width:100%;pointer-events:none}.material-visual-actions{margin:12px 0}.material-visual-content{border:0;padding:0;margin:0;min-width:0}.material-photo-section{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:18px 0}.material-photo{width:100%;max-height:480px;object-fit:contain;background:var(--surface-alt,#f5f8fa);border:1px solid var(--border);border-radius:8px}.material-no-image{text-align:center;padding:45px;color:var(--text-muted,#607785);background:var(--surface-alt,#f5f8fa)}.material-drawing-layout{display:flex;gap:20px;align-items:flex-start}.material-drawing{flex:1;min-width:0;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface,#fff)}.material-schematic{width:100%;display:block;max-height:650px;-webkit-user-select:none;user-select:none}.material-schematic.is-editing{touch-action:none}.material-schematic [role=button]:focus{outline:none}.material-drawing-properties{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:12px}.material-drawing-properties .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-drawing-properties input,.material-drawing-properties textarea,.material-link-editor input{min-width:0;width:100%}.material-link-editor{margin:18px 0;padding:14px;border:1px solid var(--border);border-radius:7px}.material-link-editor summary{cursor:pointer;font-weight:600;margin-bottom:12px}.material-link-editor .row{margin-top:12px}.material-link-editor .row input{flex:1;min-width:120px}.material-pagination{margin-top:20px;flex-wrap:wrap;gap:12px}@media(max-width:900px){.material-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.material-gallery{grid-template-columns:minmax(0,1fr)}.material-drawing-layout{flex-direction:column}.material-drawing,.material-drawing-properties{width:100%}}.material-gallery-window{display:contents}.material-gallery-window .modal.wide{width:1240px}.modal-backdrop[inert]{pointer-events:none}.material-document-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.material-document-row>div:first-child,.material-document-row>strong{flex:1;min-width:180px}.material-document-row small{display:block;margin-top:5px}.material-document-tools{margin:12px 0}.material-document-tools .field{max-width:100px}.material-document-page{overflow:auto;max-height:65vh;border:1px solid var(--border);background:var(--surface-alt,#e8eef2);margin-top:15px}.material-document-page img{display:block;height:auto}.window-layer:not([hidden]){display:contents}.window-layer[hidden]{display:none}.optical-port-browser{margin-top:16px}.optical-port-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin:14px 0}.optical-port-card{border:1px solid var(--line);border-left:4px solid #718096;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}.optical-port-card.state-connected{border-left-color:#23856b}.optical-port-card.state-planned{border-left-color:#b7791f}.optical-port-card.state-reserved{border-left-color:#805ad5}.optical-port-address{text-align:left;display:flex;flex-direction:column;align-items:flex-start;white-space:normal;overflow-wrap:anywhere}.optical-port-card small,.optical-port-address span{overflow-wrap:anywhere}.optical-port-state{text-transform:capitalize;font-size:12px}.optical-history article{padding:14px 0;border-bottom:1px solid var(--line)}.optical-history pre{max-height:280px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.optical-history-change{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}.optical-history-change p{overflow-wrap:anywhere;font-family:monospace;font-size:12px}.optical-history article{overflow-wrap:anywhere}.length-fields{padding:12px;border:1px solid var(--line);border-radius:8px;margin:8px 0}.length-fields[open]>summary{margin-bottom:14px}.length-fields .check{display:flex;align-items:center;gap:8px;margin-bottom:14px}.length-fields .check input{width:auto}.length-fields fieldset{border:1px solid var(--line);padding:10px;margin:12px 0;min-width:0}.length-summary{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.length-summary dt,.length-summary dd{margin:0}.template-fields{border:0;padding:0;margin:0;min-width:0;display:grid;gap:1rem}.template-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}.containment-summary{padding:.75rem;background:var(--surface-soft,#f1f5f9);border-radius:.5rem}.front-panel-blocks{display:grid;gap:14px}.front-panel-block{border:1px solid var(--line,#ccd8e1);border-radius:8px;padding:12px;background:var(--surface,#f8fafc)}.front-panel-block h3{margin:0 0 4px}.front-panel-block header p{margin:0 0 10px;font-size:12px}.front-panel-ports{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:5px}.front-panel-port{min-width:0;padding:9px 3px;font-size:12px;overflow-wrap:anywhere;border:1px solid currentColor;border-radius:4px}.panel-state-available{background:var(--surface-alt,#edf7ef);color:#246b3b}.panel-state-connected{background:var(--surface-raised,#e8f1ff);color:#2159a1}.panel-state-planned{background:var(--surface-alt,#f1edfc);color:#705099}.panel-state-reserved{background:#fff3d7;color:#80550d}.front-panel-port.dimmed{opacity:.35}.front-panel-port.selected{outline:3px solid #087f8c;outline-offset:1px}.front-panel-legend{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.front-panel-legend span{padding:4px 8px;border-radius:4px;font-size:12px}.front-panel-selection{border:2px solid #087f8c}.front-panel footer{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.front-panel-block,.front-panel-selection{break-inside:avoid}.route-split-map{height:260px;border:1px solid var(--line,#ccd8e1);border-radius:8px;overflow:hidden}.route-split-map>.leaflet-container{height:100%;width:100%}.telemetry-map{height:min(60vh,600px);min-height:250px}.telemetry-map .leaflet-container{height:100%;width:100%}.telemetry-bindings,.telemetry-readings{max-height:440px;overflow:auto}.telemetry-bindings label{display:flex;align-items:center;gap:8px;margin:8px 0;overflow-wrap:anywhere}.telemetry-bindings input{flex-shrink:0;width:auto}.telemetry-json{white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;overflow:auto}.survey-map{height:320px;min-height:240px}.survey-map .leaflet-container{height:100%;width:100%}@media(max-width:600px){.survey-map{height:260px}}.otdr-records{display:grid;gap:12px;margin:16px 0}.otdr-records article{border:1px solid var(--border,#d7e0ea);padding:12px;border-radius:8px;overflow-wrap:anywhere}.otdr-records h3{margin:0 0 6px}.table-wrap{max-width:100%;overflow-x:auto}.document-table{overflow:auto;max-height:420px}.document-table table{min-width:100%;border-collapse:collapse}.document-table th,.document-table td{padding:.6rem;border-bottom:1px solid var(--border);max-width:300px;overflow-wrap:anywhere;vertical-align:top}.document-extracted{max-height:360px;overflow:auto;overflow-wrap:anywhere}.document-original{display:block;width:100%;height:auto;object-fit:contain}.document-source-hash{overflow-wrap:anywhere}.vocabulary-map-symbol svg{display:block;width:100%;height:100%}.signal-legend{font-size:12px;margin:8px 0}.signal-legend span{display:inline-flex;align-items:center;gap:5px}.signal-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;flex:none}.signal-legend p{font-size:12px;line-height:1.45;margin:8px 0}.monitoring-map-controls{position:absolute;top:16px;right:16px;z-index:610;width:290px;max-width:calc(100% - 90px);background:#fffffff5;border:1px solid var(--line,#dbe5ea);border-radius:8px;padding:10px;box-shadow:0 3px 12px #18323e18;font-size:12px}.monitoring-map-controls summary{cursor:pointer}.monitoring-map-controls label{display:block;margin-top:10px}.monitoring-map-controls select{width:100%}.activity-post{border:1px solid var(--line,#dbe5ea);border-radius:8px;padding:14px;margin:12px 0}.activity-post time{font-size:12px;color:var(--text-muted,#647786)}.activity-body{white-space:pre-wrap;overflow-wrap:anywhere}.activity-post blockquote{border-left:3px solid var(--line,#b5c9d2);margin:8px 0;padding:5px 10px;color:var(--text-muted,#647786);font-size:12px;overflow-wrap:anywhere}.activity-compose{margin-top:18px}.activity-compose details{margin:10px 0}.activity-compose details[open]{padding:10px;border:1px solid var(--line,#dbe5ea);border-radius:8px}.activity-compose summary{cursor:pointer}.activity-post .row.between{flex-wrap:wrap}.activity-post strong{min-width:0;overflow-wrap:anywhere}.activity-post .badge{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere;vertical-align:middle}.smart-batch-targets{max-height:320px;overflow:auto;display:grid;gap:6px;margin:12px 0}.smart-batch-order{padding-left:22px}.smart-batch-order li{margin:8px 0;overflow-wrap:anywhere}.smart-batch-order li>span{display:block;margin-bottom:5px}.smart-batch-form{min-width:0}@media(max-width:480px){.smart-batch-form .form-grid{grid-template-columns:minmax(0,1fr)}}.diagram-card-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px;margin:12px 0}.diagram-card-controls .result-card{min-width:0;margin:0;overflow-wrap:anywhere}.language-preference{margin:12px 0}.language-preference label{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.language-preference select{width:auto;min-width:130px;max-width:100%}.project-viewer{display:flex;flex-direction:column;height:100dvh;overflow:auto}.project-view-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px;border-bottom:1px solid var(--border)}.project-view-header h1{font-size:20px;margin:0}.project-view-header select{width:auto;max-width:260px}.project-view-main{padding:20px;min-width:0;width:100%}.project-view-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.project-view-map{position:relative;height:420px;min-height:240px;margin:16px 0;overflow:hidden;border-radius:10px}.project-view-map .leaflet-container{height:100%;width:100%}.project-view-map .map-view-picker{position:absolute;right:12px;top:12px;z-index:600}.project-access-choices{max-height:320px;overflow:auto;margin:16px 0}.project-details div{margin:12px 0}.project-details dt{font-weight:500}.project-details dd{margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:600px){.project-view-main,.project-view-header{padding:12px}.project-view-header select{max-width:100%}.project-view-map{height:340px}}.optical-port-picker{display:grid;gap:12px;min-width:0}.optical-port-picker select{min-width:0;max-width:100%}.inspector-ports{margin:12px 0}.inspector-ports .field{margin-bottom:12px}.inspector-ports .row{gap:6px}.capacity-read-notice{position:absolute;z-index:440;top:140px;left:16px;max-width:min(370px,calc(100% - 32px));padding:10px 12px;background:var(--surface,#fff);color:var(--ink);border:1px solid var(--border);border-radius:7px;font-size:13px}.capacity-read-notice button{margin-left:8px}.map-read-notice{position:absolute;left:50%;top:64px;transform:translate(-50%);z-index:700;max-width:calc(100% - 100px);padding:10px 14px;border-radius:8px;background:var(--surface,#fff);color:var(--text,#183c56);box-shadow:0 2px 12px #0002;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.network-read-notice{position:fixed;left:50%;top:74px;transform:translate(-50%);z-index:1700;max-width:calc(100% - 32px);padding:12px 16px;border-radius:8px;background:var(--surface,#fff);color:var(--text,#183c56);box-shadow:0 2px 16px #0003;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.site-equipment-row{margin-bottom:10px}.site-equipment-row>.list-card{width:100%}.site-equipment-row>.danger{margin-top:4px}.site-equipment-material-image{width:220px;max-width:100%;height:120px;object-fit:contain}.modal:has(.diagram-workspace){height:min(900px,calc(100dvh - 48px))}.modal-backdrop.is-map-expanded .modal:has(.diagram-workspace){height:100%}.modal:has(.diagram-workspace) .modal-body{display:flex;flex:1;min-height:0;overflow:hidden;padding:12px}.diagram-workspace{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;gap:8px}.diagram-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex:none}.diagram-toolbar button{font-size:12px;min-height:34px;padding:7px 10px}.diagram-toolbar button[aria-expanded=true]{background:var(--surface-raised, #e5f3f1);border-color:var(--teal, #158b80)}.diagram-workspace>.info{margin:0;padding:6px 10px}.diagram-stage{position:relative;flex:1;min-height:160px;min-width:0}.diagram-stage .diagram-canvas{height:100%;width:100%}.diagram-stage>.empty{height:100%;margin:0}.diagram-dropdown{position:absolute;z-index:2;top:0;right:0;width:min(480px,100%);max-height:100%;overflow:auto;padding:16px;background:var(--surface, #fff);border:1px solid var(--line, #cbdce5);border-radius:8px;box-shadow:0 8px 28px #0003;overscroll-behavior:contain}.diagram-dropdown>.row:first-child{position:sticky;top:-16px;background:var(--surface, #fff);z-index:1;margin:-16px -16px 12px;padding:12px 16px;border-bottom:1px solid var(--line, #cbdce5)}.diagram-dropdown h3{margin:0}.diagram-dropdown .diagram-card-controls{display:grid;grid-template-columns:1fr}.diagram-dropdown .row{flex-wrap:wrap}.diagram-dropdown .row.between{flex-wrap:nowrap}.diagram-dropdown .form-grid{grid-template-columns:1fr}.diagram-no-match{position:absolute;top:12px;left:12px;margin:0}@media(max-width:600px){.modal:has(.diagram-workspace){height:calc(100dvh - 16px)}.modal:has(.diagram-workspace) .modal-body{padding:6px}.diagram-toolbar{gap:4px}.diagram-toolbar button{padding:6px 8px}.diagram-dropdown{padding:12px}}.print-report td>small{display:block;margin-top:3px;overflow-wrap:anywhere}.chassis-card-choice{border-top:1px solid var(--line);padding:14px 0;overflow-wrap:anywhere}.card-choice-results{margin-top:12px}.card-choice-results>article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.card-choice-results p{margin:4px 0}@media(max-width:620px){.card-choice-results>article{grid-template-columns:minmax(0,1fr)}}.network-map.tool-select.leaflet-grab{cursor:default}.leaflet-dragging .network-map.tool-select{cursor:grabbing}.network-map .leaflet-bottom.leaflet-left{bottom:32px}.network-map .leaflet-control-zoom{opacity:.6;transition:opacity .15s ease}.network-map .leaflet-control-zoom:hover,.network-map .leaflet-control-zoom:focus-within{opacity:1}.network-map .leaflet-control-zoom a{width:32px;height:32px;line-height:32px;font-size:22px}.network-map .leaflet-control-zoom a:focus-visible{outline:3px solid var(--primary,#147f83);outline-offset:2px}@media(max-width:800px){.map-area .map-instruction,.map-area .map-instruction.with-sidebar{bottom:142px}}.record-popup-content{margin:0;padding:0;border:0;background:transparent}.record-popup-content>fieldset{min-width:0;margin:0;padding:0;border:0}.record-popup-content>fieldset>legend{display:none}.module-component{padding:.65rem 0;border-bottom:1px solid var(--border, #ccd5dc);overflow-wrap:anywhere}.map-area{--map-clear-left:12px;--map-clear-right:12px;--map-clear-width:100%}.map-control-deck{position:absolute;top:20px;left:var(--map-clear-left);right:var(--map-clear-right);z-index:390;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0;container-type:inline-size;pointer-events:none}.map-control-deck .map-toolbar,.map-control-deck .map-toolbar.with-sidebar,.map-control-deck .map-view-controls,.map-control-deck .map-view-controls.with-inspector{position:static;display:flex;flex-direction:row;flex-wrap:wrap;max-width:100%;min-width:0;gap:3px;pointer-events:auto}.map-control-deck .map-toolbar button{flex-shrink:0;width:auto}.map-control-deck .map-toolbar .toolbar-divider{width:1px;height:23px;margin:0 3px}.map-control-deck .map-toolbar button span,.map-control-deck .map-view-controls button span{display:none}.map-control-deck .map-view-controls{gap:6px}.map-control-deck .map-instruction-row{flex:0 0 100%;min-width:0;pointer-events:none}.map-control-deck .map-instruction,.map-control-deck .map-instruction.with-sidebar{position:static;top:auto;bottom:auto;left:auto;width:fit-content;max-width:min(440px,100%);margin:0;pointer-events:auto;align-items:center}.map-control-deck .map-instruction>span{flex:1;min-width:0;overflow-wrap:anywhere}.map-area .network-map .leaflet-bottom.leaflet-left{left:calc(var(--map-clear-left) - 2px)}.map-area .network-map .leaflet-bottom.leaflet-right{right:calc(var(--map-clear-right) - 2px)}.map-area .network-map .map-credits-details{max-width:min(300px,var(--map-clear-width))}.map-area .map-mode-switcher.floating,.map-area .map-mode-switcher.floating.with-inspector{display:block;right:var(--map-clear-right)}@container (min-width:650px){.map-control-deck .map-view-controls button span{display:inline}}@media(max-width:1270px){.map-control-deck{top:15px}}@media(max-width:800px){.map-control-deck{top:10px}}@media(max-width:600px){.map-control-deck{top:8px}}.map-area[data-map-controls-obscured=true]>.map-control-deck,.map-area[data-map-controls-obscured=true]>.map-mode-switcher.floating,.map-area[data-map-controls-obscured=true] .network-map .leaflet-control-zoom,.map-area[data-map-controls-obscured=true] .network-map .leaflet-control-scale{display:none}.map-area[data-map-controls-obscured=true]>.sidebar,.map-area[data-map-controls-obscured=true]>.inspector{bottom:70px}.map-area[data-map-controls-obscured=true] .network-map .leaflet-bottom.leaflet-right{right:10px}.map-area[data-map-controls-obscured=true] .network-map .map-credits-details{max-width:calc(100vw - 80px)}.patch-loss-profile{min-width:0;overflow-wrap:anywhere}.patch-loss-profile table{width:100%}.module-form-factor-options{min-width:0;margin:0;padding:0;border:0}.module-form-factor-options label{display:inline-flex;align-items:center;gap:6px;margin:4px 16px 4px 0}.module-form-factor-options input[type=checkbox]{width:auto}.bom-table{min-width:720px}.bom-table td:first-child{min-width:180px}.lot-cost-fields{grid-column:1 / -1;display:grid;gap:12px}.lot-cost-fields h3,.lot-cost-fields p{margin:0}.lot-cost-fields p{color:var(--muted);font-size:12px;line-height:1.6}.lot-cost-fields>label{display:flex;align-items:center;gap:8px}.lot-cost-fields input[type=checkbox]{width:auto}.material-cost-table{min-width:650px}.material-cost-table td small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.material-cost-table td{overflow-wrap:anywhere}.cable-drawing-map{height:380px;min-height:240px;max-height:55vh;margin:12px 0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.cable-draw-pin{background:#3b82c4;border:2px solid white;border-radius:50%;box-shadow:0 1px 4px #0005}.cable-path-points{max-height:110px;overflow:auto;padding-left:24px;overflow-wrap:anywhere}.cable-drawing .leaflet-container{cursor:crosshair}.cable-drawing .leaflet-marker-icon{cursor:pointer}.cable-map-density{position:absolute;z-index:500;top:10px;left:52px;right:10px;padding:6px 10px;background:var(--surface,#fff);border-radius:6px;pointer-events:none;font-size:12px}.map-control-deck .map-instruction.drawing-instruction{flex-wrap:wrap}.map-control-deck .map-instruction.drawing-instruction>span{flex:1 1 100%}@media screen{.inspector-head .eyebrow,.sidebar-head .eyebrow,.modal .eyebrow{font-size:14px;font-weight:600;letter-spacing:normal;line-height:1.5;color:var(--text,#253c4c)}.modal .modal-head h2,.modal:has(.construction)>.modal-head h2{font-size:22px;line-height:1.35;letter-spacing:normal;font-weight:600}.modal .modal-head p{font-size:14px;line-height:1.5;font-weight:400;color:var(--text,#425e6e)}.modal-body .field>label,.modal-body .field>span,.modal-body legend{font-size:13px;line-height:1.5;color:var(--text,#344f60)}.modal-body .dialog-flow{display:flex;flex-direction:column;gap:18px;min-width:0}.modal-body .dialog-flow>*{margin-block:0}.modal-body .dialog-flow .dialog-flow{gap:14px}.modal-body>:where(.field,.form-grid,fieldset,details,section,.row)+:where(.field,.form-grid,fieldset,details,section,.row){margin-top:16px}.modal-body>.field+.field,.modal-body .length-fields>.field+.field,.modal-body .cable-site-picker>.field+.field{margin-top:14px}.modal-body footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}.modal-body .dialog-flow>footer{margin-top:0;padding-top:16px;border-top:1px solid var(--line,#dce5eb)}.modal-body footer>button{max-width:100%}.cable-site-picker{min-width:0;margin:0;padding:14px 16px 16px;border:1px solid var(--line,#dce5eb);border-radius:8px}.cable-site-picker legend{padding:0 5px;font-weight:600}}@media screen and (max-width:600px){.modal .modal-head h2,.modal:has(.construction)>.modal-head h2{font-size:20px}.modal-body .dialog-flow{gap:16px}}.map-layer-checklist{display:grid;gap:14px}.map-layer-checklist .check{min-height:28px;color:var(--text,#344f60);font-size:14px}.map-layer-settings footer{justify-content:flex-end}.route-split-pick{height:clamp(280px,40vh,460px)}.route-split-pick>.leaflet-container{cursor:crosshair}.site-gps{display:flex;align-items:flex-start;gap:6px;margin:10px 0 0;font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.site-gps svg{flex:none;margin-top:2px}.inspector .properties:empty{display:none}.site-primary-actions,.site-secondary-actions{display:flex;flex-wrap:wrap;gap:8px}.site-primary-actions{margin-bottom:20px}.site-primary-actions button,.site-secondary-actions button{display:inline-flex;align-items:center;gap:6px}.site-equipment-list,.site-cables,.site-tools,.site-record-details{margin-top:20px;padding-top:16px;border-top:1px solid var(--line,#dce5eb)}.site-equipment-list>.section-title,.site-cables>.section-title,.site-tools>.section-title,.site-record-details>.section-title{margin-top:0}.site-record-details:has(.properties:empty){display:none}.site-record-details .properties{margin-top:0}.site-cable-row>div{min-width:0;overflow-wrap:anywhere}h1,h2,h3,h4,h5,h6,[role=heading],.eyebrow,.portal-eyebrow,.section-title,.rail button>span,[role=tab],th,legend,.svg-title,.fttx-table th{text-transform:capitalize}.brand,.brand *{text-transform:none}.asset-heading>div{min-width:0;flex:1}.site-primary-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;margin:16px 0 20px}.site-primary-actions button{display:block;width:100%;min-width:0;min-height:34px;padding:7px 4px;font-size:13px;line-height:1.2;text-align:center;white-space:normal;text-transform:capitalize}.site-secondary-actions button{font-size:13px;text-transform:capitalize}button.impact-action{color:#9f3238;border-color:#dfa0a4;background:#fff8f8}button.impact-action:hover,button.impact-action:focus-visible{border-color:#cc747b;background:#fff1f2;box-shadow:0 0 0 3px #d45d6814,0 0 10px #d45d681a}@media screen{:root[data-color-mode=dark] button.impact-action{color:#ffb5b9;border-color:#a26069;background:#2c242e}:root[data-color-mode=dark] button.impact-action:hover,:root[data-color-mode=dark] button.impact-action:focus-visible{border-color:#d78690;background:#392831;box-shadow:0 0 0 3px #ed809118,0 0 10px #ed809126}}.inspector-title-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.inspector-title-actions .icon{width:32px;height:32px;padding:6px}.card-primary-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;margin:16px 0 20px}.card-primary-actions:empty{display:none}.card-primary-actions button{display:block;width:100%;min-width:0;min-height:34px;padding:7px 4px;font-size:13px;line-height:1.2;text-align:center;white-space:normal;text-transform:capitalize}.card-section,.inspector-content>.attachments,.inspector-content>section:has(>.notes){margin-top:20px;padding-top:16px;border-top:1px solid var(--line,#dce5eb)}.card-section>.section-title,.inspector-content>section>h3{margin-top:0}.card-secondary-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}.card-secondary-actions button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 10px;font-size:13px;line-height:1.2;text-transform:capitalize}.card-secondary-actions>section{flex-basis:100%}.inspector-content .list-card>div{min-width:0;overflow-wrap:anywhere}.inspector-content .inspector-ports{display:grid;gap:12px}.inspector-content .inspector-ports>.hint{margin:0}.card-record-details .properties{border-top:0;padding-top:0;margin-bottom:0}.inspector-content .properties dt{white-space:normal;min-width:0;flex:1;overflow-wrap:anywhere}.inspector-content .properties dd{min-width:0;flex:1}.inspector-content .attachments>.row{gap:10px;margin-bottom:12px}.inspector-content .attachments h3{margin:0}.inspector-content .card-section>.hint{margin:0 0 12px}.inspector-content .card-secondary-actions button{max-width:100%;white-space:normal;overflow-wrap:anywhere}.inspector-content .inspector-ports>.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.inspector-content .inspector-ports>.row button{min-width:0;min-height:34px;padding:7px 4px;font-size:13px;line-height:1.2;white-space:normal}.inspector-content .card-primary-actions button,.inspector-content .card-secondary-actions button,.inspector-content .inspector-ports>.row button{font-size:12px}.asset-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.asset-title-row h2{flex:1;min-width:0;margin:0;overflow-wrap:anywhere}.asset-title-row .icon{flex-shrink:0;width:32px;height:32px;padding:6px}.inspector-content .card-secondary-actions button{flex:1 1 auto;justify-content:center;padding:7px 6px}.inspector-content .site-secondary-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.inspector-content .site-secondary-actions button{min-width:0;padding:7px 2px;gap:4px;white-space:nowrap}.inspector-content .site-secondary-actions button:nth-child(n+4){grid-column:1/-1;white-space:normal}.basemap-notice button{margin-left:10px;padding:5px 8px;font-size:12px;pointer-events:auto}.diagram-canvas svg.is-dragging,.diagram-canvas svg.is-dragging *{cursor:grabbing}.diagram-equipment-delete{cursor:pointer;color:var(--danger,#b3404a)}.diagram-equipment-delete>rect{fill:var(--surface,#fff);stroke:var(--line,#dce5eb)}.diagram-equipment-delete:hover>rect,.diagram-equipment-delete:focus>rect{stroke:currentColor;stroke-width:2}.diagram-status-note{margin:0 0 8px;padding:7px 10px;flex-shrink:0}.tap-fiber-overview{padding:15px;border:1px solid var(--border,#dce5eb);border-radius:12px;background:var(--surface-alt,#f2f7f8)}.tap-fiber-overview p{font-size:13px;color:var(--text-muted,#63808f);margin:9px 0 0}.tap-fiber-flow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px}.tap-fiber-flow>span{display:flex;align-items:center;gap:7px}.tap-fiber-flow strong{font-size:18px;font-weight:650}.tap-fiber-branch{color:var(--accent,#168a82);margin-left:auto}.tap-fiber-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,220px);gap:14px}.tap-fiber-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.tap-fiber-actions .check{margin:0}.tap-fiber-key{display:flex;gap:12px;flex-wrap:wrap;margin-right:auto;font-size:12px;color:var(--text-muted,#63808f)}.tap-fiber-key>span{display:flex;align-items:center;gap:5px}.tap-key-available{width:9px;height:9px;border:1px solid var(--border,#b3c6cc);border-radius:3px;background:var(--surface,#fff)}.tap-fiber-summary{padding:12px 14px;border:1px solid var(--border,#dce5eb);border-radius:10px;background:var(--surface,#fff);min-width:0}.tap-selection-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}.tap-selection-heading output{color:var(--text-muted,#63808f);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:70px}.tap-selection-heading button{margin-left:auto;font-size:12px}.tap-selection-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tap-selection-chips button{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;min-height:28px;font-size:12px}.tap-selection-chips i{width:9px;height:9px;border-radius:50%;border:1px solid #8a9ba7}.tap-fiber-tubes{display:grid;gap:16px}.tap-tube-card{border:1px solid var(--border,#dce5eb);border-radius:12px;background:var(--surface-alt,#f2f7f8);padding:12px}.tap-tube-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.tap-tube-heading>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tap-tube-heading h3{margin:0;font-size:14px}.tap-tube-heading span,.tap-tube-heading small{font-size:12px;color:var(--text-muted,#63808f)}.tap-tube-heading i{width:11px;height:22px;border-radius:5px;border:1px solid #8a9ba7}.tap-fiber-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.tap-fiber-tile{min-width:0;overflow:hidden;border:1px solid var(--border,#dce5eb);border-radius:9px;background:var(--surface,#fff)}.tap-fiber-tile.is-selected{border-color:var(--accent,#168a82);box-shadow:inset 0 0 0 1px var(--accent,#168a82)}.tap-fiber-tile:focus-within{outline:2px solid var(--accent,#168a82);outline-offset:2px}.tap-fiber-option{display:grid;gap:9px;padding:10px 10px 6px;cursor:pointer;min-width:0}.tap-fiber-tile.is-unavailable:not(.is-selected) .tap-fiber-option{cursor:not-allowed;color:var(--text-muted,#63808f)}.tap-fiber-tile-top{display:flex;align-items:center;justify-content:space-between;gap:7px}.tap-fiber-tile-top strong{font-size:16px;font-weight:650}.tap-fiber-option input{width:16px;height:16px;flex-shrink:0;margin:0;accent-color:var(--accent,#168a82)}.tap-fiber-identity{display:flex;align-items:center;gap:6px;font-size:12px;min-width:0;min-height:30px;overflow-wrap:anywhere}.tap-fiber-identity small{display:block;font-size:10px;color:var(--text-muted,#63808f)}.tap-fiber-swatch{width:14px;height:14px;border:1px solid #8a9ba7;border-radius:50%;flex-shrink:0}.tap-fiber-tile-status{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:2px 5px 6px 10px;min-height:28px}.tap-fiber-tile-status small{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--text-muted,#63808f)}.tap-fiber-tile-status .icon{padding:4px;min-width:25px;min-height:25px}.tap-fiber-detail li{margin-bottom:8px;overflow-wrap:anywhere}.tap-detail-identity{display:flex;align-items:center;gap:10px}.tap-detail-identity .tap-fiber-swatch{width:24px;height:24px}.tap-detail-supply{padding:12px;border-radius:9px;background:var(--surface-alt,#f2f7f8);border:1px solid var(--border,#dce5eb)}.tap-detail-supply p{margin:6px 0 0;overflow-wrap:anywhere}.tap-fiber-footer{position:sticky;bottom:-16px;background:var(--surface,#fff);padding:12px 0 4px;border-top:1px solid var(--border,#dce5eb);z-index:2}@media(max-width:700px){.tap-fiber-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:480px){.tap-fiber-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tap-fiber-filters{grid-template-columns:minmax(0,1fr);gap:8px}.tap-fiber-branch{margin-left:0}.tap-tube-card{padding:9px}.tap-fiber-option{padding:8px 7px 4px}.tap-fiber-tile-status{padding-left:7px}.tap-fiber-key{width:100%}}.strand-trace-steps{padding-left:26px;overflow-wrap:anywhere}.strand-trace-steps li{padding:12px;margin:10px 0;border:1px solid var(--border);border-radius:8px}.strand-trace-steps li div{margin:6px 0}.strand-trace-steps .badge{margin-left:10px}.home-connection{display:flex;flex-direction:column;gap:10px;padding:12px 0;overflow-wrap:anywhere}.home-connection p{margin:0}.home-connection+.home-connection{border-top:1px solid var(--border)}.olt-destination{padding:10px 0}.olt-destination .properties{margin:0 0 12px}.home-connection>button,.olt-destination>button{align-self:flex-start}.strand-trace-result>.olt-destination{margin-bottom:12px}.home-connection-header{margin:10px 0 12px;width:100%}.home-connection-summary{display:flex;flex-direction:column;gap:5px;margin:8px 0}.home-pop-pon{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:10px 12px;font-size:12px;border-color:var(--border)}.home-pop-pon-labels{display:flex;flex-wrap:wrap;gap:4px 14px;min-width:0;overflow-wrap:anywhere}.home-pop-pon-labels small{flex-basis:100%;font-weight:400;line-height:1.4}.home-trace-arrow{flex-shrink:0}.home-connection-summary>.hint{font-size:11px;margin:0}.strand-step-designers{display:flex;flex-wrap:wrap;gap:8px}.strand-step-designers button{font-size:12px;padding:5px 9px;min-height:30px}.properties .asset-site-link{text-align:left;white-space:normal;overflow-wrap:anywhere;padding:0;min-height:0}.serviceability-candidate{display:grid;gap:8px;margin-bottom:14px}.serviceability-candidate>.primary{justify-self:start}.house-connection-form{gap:16px}.house-connection-fields{border:0;margin:0;padding:0;min-width:0;display:grid;gap:16px}.connection-wizard-steps{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 24px;flex-wrap:wrap}.connection-wizard-steps li{flex:1;min-width:135px;padding:10px 14px;border-radius:8px;background:var(--bg);color:var(--muted);font-size:13px}.connection-wizard-steps [aria-current=step]{background:var(--teal-soft);color:var(--teal);font-weight:600}.serviceability-wizard{max-width:820px;margin:auto}.serviceability-heading h3{margin:0 0 6px}.serviceability-heading p{margin:0 0 20px}.serviceability-location{display:flex;gap:12px;padding:14px;border:1px solid var(--border);border-radius:10px;margin-bottom:18px}.serviceability-location span,.serviceability-site span{display:block;font-size:13px;color:var(--muted);margin-top:5px}.serviceability-filters{display:grid;grid-template-columns:1fr 2fr;gap:14px;margin-bottom:20px}.serviceability-results{display:grid;gap:12px}.serviceability-candidate{border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0}.serviceability-site{display:flex;gap:16px;align-items:center;flex:1;min-width:0}.serviceability-site strong{font-size:15px}.serviceability-candidate button{flex-shrink:0}.serviceability-footnote{margin-top:20px}.serviceability-empty{padding:20px;border:1px dashed var(--border);border-radius:10px}.house-connection-options{border-top:1px solid var(--border);padding-top:14px}.house-connection-options summary{cursor:pointer;margin-bottom:14px}.house-connection-form details .form{gap:14px}@media(max-width:600px){.serviceability-filters{grid-template-columns:1fr}.serviceability-candidate,.serviceability-site{align-items:flex-start;flex-direction:column}.serviceability-candidate button{width:100%}.connection-wizard-steps{gap:4px}.connection-wizard-steps li{min-width:0;padding:8px;font-size:11px}}.modal-backdrop:not(.is-map-expanded)>.modal:has(.onu-trace-card){width:660px}.modal:has(.onu-trace-card)>.modal-head{padding:16px 20px;align-items:center;gap:12px}.modal:has(.onu-trace-card)>.modal-head h2{font-size:18px}.modal:has(.onu-trace-card)>.modal-body{padding:16px 20px}.onu-trace-card .strand-trace-result{display:grid;gap:14px;min-width:0}.onu-trace-summary{display:grid;gap:8px}.onu-trace-status,.onu-trace-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}.onu-trace-name{font-size:16px;overflow-wrap:anywhere}.onu-trace-metrics{font-size:12px;color:var(--muted)}.onu-trace-card .olt-destination{margin:0;padding:12px;border:1px solid var(--border);border-radius:8px}.onu-destination-grid{display:grid;grid-template-columns:52px minmax(0,1fr);gap:9px 12px;margin:0;font-size:13px;line-height:1.45}.onu-destination-grid dt{color:var(--muted);font-weight:500}.onu-destination-grid dd{margin:0;min-width:0;overflow-wrap:anywhere}.onu-destination-grid .link{padding:0;min-height:0;text-align:left;white-space:normal;font-size:13px;line-height:1.45}.onu-port-address{display:block;margin:3px 0;font-size:12px;color:var(--muted)}.onu-equipment-details{margin-top:10px;padding-top:8px;border-top:1px solid var(--border);font-size:12px}.onu-equipment-details>summary{cursor:pointer;color:var(--muted)}.onu-equipment-details>.onu-destination-grid{margin-top:10px;grid-template-columns:88px minmax(0,1fr);font-size:12px}.onu-trace-card .onu-trace-actions{gap:8px;margin:0}.onu-trace-card .onu-trace-actions button{font-size:12px;padding:7px 10px;min-height:32px;flex:1}.onu-path-details{border:1px solid var(--border);border-radius:8px;overflow:hidden}.onu-path-details>summary{padding:11px 12px;cursor:pointer;font-size:13px;font-weight:600}.onu-path-details>summary>span{float:right;color:var(--muted);font-size:12px;font-weight:400}.onu-path-details .strand-trace-steps{padding:0 12px 0 30px;margin:0 0 12px;font-size:12px}.onu-path-details .strand-trace-steps li{padding:10px;margin:8px 0;border-radius:6px}.onu-path-details .strand-trace-steps li div{margin:5px 0}.onu-path-details .strand-step-designers{gap:6px}.onu-path-details .strand-step-designers button{font-size:11px;min-height:28px;padding:4px 7px}.onu-trace-card .onu-trace-note{font-size:11px;line-height:1.4;margin:0}@media(max-width:480px){.modal:has(.onu-trace-card)>.modal-head,.modal:has(.onu-trace-card)>.modal-body{padding:14px}.onu-destination-grid{grid-template-columns:42px minmax(0,1fr);gap:8px}.onu-trace-metrics{gap:5px 12px}}.connection-wizard-back{display:flex;align-items:center;gap:10px;margin:-10px 0 18px}.connection-wizard-back button{font-size:13px;padding:7px 14px;min-height:32px}.connection-wizard-back span{font-size:12px;color:var(--muted)}.serviceability-candidate.is-selected{border-color:var(--teal);background:var(--teal-soft)}.serviceability-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:14px 0 4px;border-top:1px solid var(--border);background:var(--surface,#fff);position:sticky;bottom:0}.serviceability-actions>div{min-width:0;overflow-wrap:anywhere;font-size:13px}.serviceability-actions span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.serviceability-actions>button{min-width:110px;flex-shrink:0}.modal-backdrop:not(.is-map-expanded)>.modal:has(.designer-site-picker){width:960px}.designer-site-picker{display:grid;gap:16px;min-width:0}.designer-site-filters{display:grid;grid-template-columns:2fr 1.2fr 1.2fr;gap:14px;align-items:end}.designer-site-results{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.designer-site-results .link{font-size:12px;padding:0}.designer-site-table{max-height:52vh;overflow:auto;border:1px solid var(--border);border-radius:8px}.designer-site-table table{width:100%;border-collapse:collapse;table-layout:auto;font-size:13px;margin:0}.designer-site-table th{position:sticky;top:0;background:var(--surface,#fff);z-index:1;text-align:left;padding:10px 14px;font-size:12px;color:var(--muted);white-space:nowrap}.designer-site-table td{padding:11px 14px;border-top:1px solid var(--border);vertical-align:middle;overflow-wrap:anywhere}.designer-site-table td:first-child{width:46%;min-width:0}.designer-site-table td:first-child strong{font-weight:550}.designer-site-table td:last-child{text-align:right;white-space:nowrap}.designer-site-table td:last-child button{font-size:12px;padding:6px 10px;min-height:32px}.designer-site-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.designer-site-pagination button{font-size:12px;padding:7px 10px}.designer-sites-empty{padding:24px 16px;border:1px dashed var(--border);border-radius:8px;text-align:center}.designer-sites-empty h3{margin:0 0 8px}.designer-sites-empty p{margin:0;color:var(--muted)}@media(max-width:600px){.designer-site-filters{grid-template-columns:1fr 1fr}.designer-site-filters>.field:first-child{grid-column:1/-1}.designer-site-table thead{display:none}.designer-site-table table,.designer-site-table tbody{display:block}.designer-site-row{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:12px;gap:8px;border-bottom:1px solid var(--border)}.designer-site-table td{display:block;padding:0;border:0}.designer-site-table td:first-child{width:auto;grid-column:1/-1}.designer-site-table td:nth-child(2){grid-column:1;grid-row:2;color:var(--muted)}.designer-site-table td:nth-child(3){grid-column:1;grid-row:3}.designer-site-table td:last-child{grid-column:2;grid-row:2/4;align-self:center}.designer-site-table{max-height:45vh}.designer-site-pagination{gap:6px}}.designer-site-table .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mdu-window,.mdu-layout{display:flex;flex-direction:column;gap:16px;min-width:0}.mdu-layout,.mdu-builder fieldset{padding:16px;border:1px solid var(--border);border-radius:8px;min-width:0}.mdu-unit-names{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;max-height:36vh;overflow:auto;padding:2px}.mdu-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:12px}.mdu-tabs [aria-selected=true]{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.mdu-distribution{padding:14px;border:1px solid var(--border);border-radius:8px}.mdu-table{overflow:auto;max-height:48vh;border:1px solid var(--border);border-radius:8px}.mdu-table table{width:100%;border-collapse:collapse}.mdu-table td,.mdu-table th{padding:12px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}.mdu-table th{position:sticky;top:0;background:var(--surface)}.mdu-table button,.mdu-window button{font-size:12px}.mdu-fiber-list{display:grid;gap:12px}.mdu-fiber-list .result-card{margin:0;overflow-wrap:anywhere}@media(max-width:600px){.mdu-layout,.mdu-builder fieldset{padding:10px}.mdu-table table{min-width:520px}.mdu-tabs button{flex:1}.mdu-window>.row{gap:8px}}.mdu-window fieldset{padding:14px;border:1px solid var(--border);border-radius:8px;min-width:0}.mdu-window{overflow-wrap:anywhere}.modal-backdrop:not(.is-map-expanded)>.modal:has(.physical-trace-card){width:820px}.physical-trace-card .strand-trace-result{display:grid;gap:14px;min-width:0}.physical-trace-card .strand-trace-result>p{margin:0}.trace-path-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:10px;background:var(--surface-alt,#f7fafb)}.trace-path-metrics>div{padding:14px 16px;display:grid;gap:4px}.trace-path-metrics>div+div{border-left:1px solid var(--border)}.trace-path-metrics strong{font-size:19px;font-weight:600;line-height:1.3}.trace-path-metrics span{font-size:11px;color:var(--muted)}.trace-site-route{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:10px 12px;background:var(--accent-soft);border-radius:8px;min-width:0}.trace-route-stop{display:flex;align-items:center;gap:5px;min-width:0;max-width:100%;color:var(--muted)}.trace-route-stop button{display:flex;align-items:center;gap:5px;border:0;padding:3px;background:transparent;color:var(--accent);font-size:12px;min-height:26px;text-align:left;white-space:normal;overflow-wrap:anywhere}.trace-route-stop svg{flex-shrink:0}.trace-route-stop button:hover{text-decoration:underline}.trace-timeline.strand-trace-steps,.trace-timeline.trace-steps{list-style:none;padding:4px 0 4px 36px;margin:0;overflow-wrap:anywhere}.trace-timeline.strand-trace-steps>li,.trace-timeline.trace-steps>li{--step-color:var(--accent);position:relative;padding:0 0 18px;margin:0;border:0;border-radius:0;display:block}.trace-timeline>li[data-edge-kind=fiber]{--step-color:#2778ad}.trace-timeline>li[data-edge-kind=splitter]{--step-color:#9262c3}.trace-timeline>li[data-edge-kind=splice]{--step-color:#b77925}.trace-timeline>li[data-inactive=true]{--step-color:#b77925}.trace-timeline.strand-trace-steps>li:not(:last-child):before,.trace-timeline.trace-steps>li:not(:last-child):before{content:"";position:absolute;left:-23px;top:25px;bottom:-5px;width:2px;height:auto;background:var(--border)}.trace-timeline>li[data-inactive=true]:not(:last-child):before{background:repeating-linear-gradient(to bottom,var(--border) 0 4px,transparent 4px 8px)}.trace-timeline .trace-timeline-marker{position:absolute;left:-36px;top:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--surface,#fff);border:1px solid var(--border);border-radius:50%;color:var(--step-color);z-index:1}.trace-timeline>li:first-child .trace-timeline-marker,.trace-timeline>li:last-child .trace-timeline-marker{border-color:var(--step-color)}.trace-timeline .trace-timeline-body{margin:0!important;padding:0 0 0 4px;min-width:0}.trace-timeline .trace-timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px;margin:0!important}.trace-timeline .trace-step-kind{font-size:11px;font-weight:600;color:var(--step-color)}.trace-timeline .trace-step-values{font-size:12px;color:var(--muted);white-space:nowrap}.trace-timeline .trace-edge-name{display:block;font-size:13px;font-weight:550;margin:4px 0;line-height:1.5}.trace-timeline .trace-port-pair{display:grid;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);align-items:center;gap:10px;margin:6px 0!important;padding:9px 11px;background:var(--surface-alt,#f7fafb);border:1px solid var(--border);border-radius:7px}.trace-timeline .trace-port-pair span{font-size:12px;line-height:1.5;color:var(--text,#17394a)}.trace-timeline .trace-port-pair svg{color:var(--muted)}.trace-timeline .strand-step-designers{display:flex;flex-wrap:wrap;gap:5px 14px;margin:4px 0!important}.trace-timeline .strand-step-designers button{display:inline-flex;align-items:center;gap:4px;padding:0;min-height:24px;font-size:11px;text-align:left;white-space:normal}.trace-timeline .trace-step-total{display:flex;gap:6px 12px;flex-wrap:wrap;margin:4px 0 0!important}.trace-timeline .trace-step-total span{font-size:10px;color:var(--muted);line-height:1.5}.trace-timeline .badge{margin:4px 0;font-size:10px}.onu-path-details .trace-timeline{padding:10px 14px 0 48px;margin:0}.trace-model-note{font-size:11px}.optical-path-details{border:1px solid var(--border);border-radius:8px;padding:12px}.optical-path-details>summary{font-size:13px;font-weight:550;cursor:pointer;margin-bottom:12px}.optical-path-details>summary>span{float:right;font-size:11px;font-weight:400;color:var(--muted)}@media(max-width:480px){.trace-path-metrics>div{padding:10px}.trace-path-metrics strong{font-size:16px}.trace-timeline .trace-port-pair{grid-template-columns:minmax(0,1fr);gap:4px}.trace-timeline .trace-port-pair svg{transform:rotate(90deg)}.trace-timeline .trace-timeline-heading{align-items:flex-start;flex-wrap:wrap;gap:3px}.trace-site-route{padding:8px}.trace-timeline .trace-step-values{font-size:11px}}.trace-timeline .trace-step-total span{font-size:11px}.physical-trace-card .trace-port-pair span{font-size:13px}.onu-trace-actions button{background:var(--surface,#fff);color:var(--ink,#17394a);border-color:var(--border)}:root[data-color-mode=dark] .trace-timeline>li[data-edge-kind=fiber]{--step-color:#86c5ef}:root[data-color-mode=dark] .trace-timeline>li[data-edge-kind=splitter]{--step-color:#c8aeec}:root[data-color-mode=dark] .trace-timeline>li[data-edge-kind=splice],:root[data-color-mode=dark] .trace-timeline>li[data-inactive=true]{--step-color:#efc582}.geofence-table td{vertical-align:middle}.geofence-table .row{gap:8px}.geofence-overlap{display:block;margin-top:5px;color:var(--text-muted,#64748b)}.geofence-counts{display:flex;flex-wrap:wrap;gap:10px 18px;padding:12px;background:var(--surface,#fff);border:1px solid var(--line,#dce5eb);border-radius:8px}.geofence-counts span{white-space:nowrap}.geofence-vertex{display:grid;place-items:center;background:var(--surface,#fff);border:2px solid #7c3aed;border-radius:50%;color:var(--text,#24374a);font:600 11px system-ui;box-shadow:0 1px 4px #0003;cursor:move}.geofence-map-label{font:600 12px system-ui;color:var(--text,#24374a);background:var(--surface,#fff);border:1px solid var(--line,#ccd5df);box-shadow:none;opacity:.9}.active-geofence-filter{position:absolute;z-index:410;left:50%;bottom:46px;transform:translate(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100% - 100px);padding:7px 10px;border:1px solid var(--line,#dce5eb);border-radius:9px;background:var(--surface,#fff);box-shadow:0 2px 9px #0002;font-size:12px}.active-geofence-filter span{min-width:0;overflow-wrap:anywhere}.active-geofence-filter button{flex-shrink:0;font-size:11px;padding:5px 7px}@media(max-width:600px){.active-geofence-filter{bottom:50px;flex-wrap:wrap;width:max-content;max-width:calc(100% - 30px)}.geofence-table td,.geofence-table th{padding:8px 6px}}.drawing-pointer-preview,.drawing-committed-path,.drawing-path-point{pointer-events:none}.site-hover-card{position:absolute;z-index:650;pointer-events:none;box-sizing:border-box;width:290px;max-width:calc(100% - 24px);max-height:calc(100% - 42px);overflow:hidden;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface,#fff);color:var(--text,#253c4c);box-shadow:0 8px 28px #10263826;font-family:var(--font-ui);font-size:12px;line-height:1.45}.site-hover-card header strong{display:block;font-size:15px;font-weight:600;overflow-wrap:anywhere}.site-hover-meta{display:flex;align-items:center;gap:8px;margin-top:6px;text-transform:capitalize;color:var(--text-muted,#66808d)}.site-hover-status{padding:2px 7px;border-radius:5px;background:var(--surface-alt,#f1f5f8);font-size:11px;font-weight:600}.site-hover-gps{margin-top:8px;color:var(--text-muted,#66808d);font-size:11px;font-variant-numeric:tabular-nums}.site-hover-counts{display:flex;gap:26px;margin:12px 0 0;padding-top:10px;border-top:1px solid var(--border)}.site-hover-counts div{display:flex;align-items:baseline;gap:7px}.site-hover-counts dt{color:var(--text-muted,#66808d);font-size:11px}.site-hover-counts dd{margin:0;font-size:15px;font-weight:600}.site-hover-equipment{list-style:none;margin:9px 0 0;padding:0}.site-hover-equipment li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-hover-upstream{border-top:1px solid var(--border);margin-top:10px;padding-top:9px}.site-hover-upstream p{margin:0 0 7px;color:var(--text-muted,#66808d);font-size:11px}.site-hover-upstream dl{display:grid;grid-template-columns:32px minmax(0,1fr);gap:4px 8px;margin:0 0 7px}.site-hover-upstream dt{font-weight:600;font-size:11px}.site-hover-upstream dd{margin:0;overflow-wrap:anywhere}.site-hover-upstream dd span{display:block;font-size:11px;color:var(--text-muted,#66808d)}.site-hover-card footer{margin-top:10px;color:var(--text-muted,#66808d);font-size:10px}.map-control-deck .map-toolbar .map-toolbar-toggle{border-left:1px solid var(--border);border-radius:0 5px 5px 0}.map-control-deck .map-toolbar .map-toolbar-toggle:only-child{border-left:0;border-radius:5px}.network-map.site-hover-open .map-label{visibility:hidden}.map-control-deck .map-toolbar .map-toolbar-grip{width:22px;padding:4px 2px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;color:var(--text-muted,#7a929f);border-right:1px solid var(--border);border-radius:5px 0 0 5px}.map-control-deck .map-toolbar.is-dragging .map-toolbar-grip{cursor:grabbing}.map-control-deck .map-toolbar.is-dragging{box-shadow:0 6px 22px #10263826;-webkit-user-select:none;user-select:none}.map-control-deck .map-toolbar .map-toolbar-grip:focus-visible{outline:2px solid var(--teal,#147f83);outline-offset:1px}.map-rendering-choice{display:grid;gap:7px;font-size:13px;font-weight:500}.map-rendering-choice select{width:100%}.vector-map-notice{max-width:calc(100% - 24px)}.native-network-map .maplibregl-canvas{cursor:default}.native-network-map .maplibregl-canvas:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.native-network-map.native-dragging .maplibregl-canvas{cursor:grabbing!important}.native-network-map .maplibregl-ctrl-bottom-right{bottom:22px}.native-network-map .maplibregl-ctrl-scale{margin-bottom:3px;background:var(--surface,#fff);color:var(--text,#234);border-color:var(--text-muted,#678);font-size:10px;opacity:.8}.native-network-map .maplibregl-ctrl-attrib{background:var(--surface,#fff);color:var(--text,#234);font-size:9px;opacity:.72}.native-network-map .maplibregl-ctrl-attrib a{color:inherit}.native-map-controls{position:absolute;bottom:45px;left:14px;z-index:650;display:flex;flex-direction:column;border:1px solid var(--line,#ccd);border-radius:5px;background:var(--surface,#fff);opacity:.7;box-shadow:0 2px 8px #0001;overflow:hidden}.native-map-controls:hover,.native-map-controls:focus-within{opacity:1}.native-map-controls button{display:flex;align-items:center;justify-content:center;gap:3px;width:34px;height:31px;padding:0;border:0;border-bottom:1px solid var(--line,#ccd);border-radius:0;background:transparent;color:var(--text,#234);font-size:9px}.native-map-controls button:last-child{border-bottom:0}.native-map-controls button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.native-map-controls button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.native-map-controls button:has(span){height:38px;flex-direction:column;gap:0}.native-pitch-control{position:absolute;bottom:225px;left:14px;z-index:650;width:min(235px,calc(100% - 28px));padding:10px 12px;border:1px solid var(--line,#dce5eb);border-radius:7px;background:var(--surface,#fff);color:var(--text,#253c4c);box-shadow:var(--shadow)}.native-pitch-control label{display:flex;gap:10px;align-items:center;font-size:11px}.native-pitch-control input{width:100%;min-width:0;accent-color:var(--accent);padding:0}.native-pitch-control>span{display:block;font-size:9px;line-height:1.5;margin-top:6px;color:var(--text-muted,#647986)}.native-map-tooltip{position:absolute;z-index:660;pointer-events:none;max-width:240px;background:var(--surface,#fff);color:var(--text,#253c4c);border:1px solid var(--line,#dce5eb);border-radius:6px;padding:7px 10px;font-size:11px;box-shadow:var(--shadow)}.native-map-tooltip span{display:block;margin-top:3px;font-size:10px}.native-home-popup{z-index:670}.native-home-popup .maplibregl-popup-content{background:var(--surface,#fff);color:var(--text,#253c4c);border:1px solid var(--line,#dce5eb);border-radius:9px;padding:20px 18px 14px;box-shadow:var(--shadow);max-height:min(430px,55vh);overflow:auto}.native-home-popup .maplibregl-popup-close-button{color:var(--text,#253c4c);font-size:22px;width:30px;height:30px}.native-gps-marker{width:20px;height:20px;border:3px solid #f59e0b;border-radius:50%;background:#f59e0b40;pointer-events:none}.native-gps-marker span{position:absolute;bottom:24px;left:50%;transform:translate(-50%);white-space:nowrap;border:1px solid var(--line,#dce5eb);background:var(--surface,#fff);color:var(--text,#253c4c);border-radius:4px;padding:4px 7px;font-size:10px}.native-fault-marker{display:grid;place-items:center;background:#dc4e43;color:#fff;border:2px solid white;border-radius:50%;width:26px;height:26px;font-weight:700}.native-edit-vertex{width:12px;height:12px;cursor:move}.native-feature-picker{position:absolute;left:58px;bottom:45px;z-index:680;width:min(290px,calc(100% - 70px));background:var(--surface,#fff);color:var(--text,#253c4c);border:1px solid var(--line,#dce5eb);border-radius:8px;padding:12px;box-shadow:var(--shadow)}.native-feature-picker header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:10px}.native-feature-picker header button{border:0;background:transparent;color:inherit;padding:5px}.native-feature-picker input{width:100%;font-size:12px;min-width:0}.native-feature-picker>div{max-height:200px;overflow:auto;margin-top:8px}.native-feature-picker>div button{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid var(--line,#dce5eb);background:transparent;color:inherit;font-size:12px;padding:8px}.native-feature-picker small{display:block;color:var(--text-muted,#647986);font-size:10px;margin-top:3px}.native-map-error{position:absolute;bottom:26px;left:60px;z-index:660;background:var(--surface,#fff);color:var(--text,#253c4c);border:1px solid var(--line,#dce5eb);border-radius:5px;padding:7px 10px;font-size:11px;max-width:calc(100% - 80px)}.cable-record-details>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;margin:0}.cable-record-details>summary::-webkit-details-marker{display:none}.cable-record-details>summary svg{flex-shrink:0;transition:transform .15s ease}.cable-record-details[open]>summary{margin-bottom:12px}.cable-record-details[open]>summary svg{transform:rotate(90deg)}.cable-record-details>summary:focus-visible{outline:2px solid var(--accent,#3b82c4);outline-offset:4px;border-radius:4px}.rail{min-height:0;gap:5px;padding-top:10px;padding-bottom:10px}.rail button{flex:0 0 auto;width:100%;height:48px;padding:6px 1px;gap:4px}.rail-spacer{min-height:0}.rail-utilities{display:flex;flex-direction:column;flex-shrink:0;gap:3px;border-top:1px solid var(--border);padding-top:5px}.rail-tools-menu{position:fixed;z-index:1200;width:min(248px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:8px;background:var(--surface,#fff);color:var(--text,#253c4c);border:1px solid var(--line,#dce5eb);border-radius:10px;box-shadow:0 6px 28px #173b5126}.rail-tools-heading{padding:7px 9px 9px;font-size:12px;font-weight:600;color:var(--text-muted,#647986)}.rail-tools-menu button{display:flex;width:100%;justify-content:flex-start;gap:10px;padding:11px 9px;border:0;font-size:12px;text-align:left}.rail-tools-menu button span{flex:1;text-transform:capitalize}.rail-tools-menu button svg{flex-shrink:0}@media(max-height:800px){.rail{gap:3px;padding-top:6px;padding-bottom:6px}.rail button{height:43px;font-size:10px;gap:3px}.rail button svg{width:18px;height:18px}}@media(max-height:630px){.rail{gap:2px}.rail button{height:36px;padding:3px 1px;gap:2px;font-size:9px}.rail button svg{height:16px;width:16px}}@media(max-width:600px){.rail button{font-size:9px}}.native-network-map .maplibregl-crosshair .maplibregl-canvas{cursor:crosshair!important}.modal.wide:has(.cable-run-form){width:760px}.modal-body .dialog-flow.cable-run-form{gap:12px}.cable-run-steps{display:flex;gap:8px;border-bottom:1px solid var(--line,#dce5eb);padding-bottom:12px}.cable-run-steps button{flex:1;min-width:0;padding:7px 10px;border:0;font-size:12px;justify-content:flex-start;background:var(--surface-alt,#f4f7fa)}.cable-run-steps button span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--line,#dce5eb);font-size:11px}.cable-run-steps button[aria-current=step]{color:var(--accent,#147f83);background:var(--accent-soft,#e9f5f2)}.cable-run-steps button[aria-current=step] span{background:var(--accent,#147f83);color:var(--accent-contrast,#fff)}.cable-run-path{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--surface-alt,#f4f7fa);border-radius:8px}.cable-run-path>div{flex:1;min-width:0}.cable-run-path strong{display:block;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.cable-run-path span{display:block;margin-top:2px;font-size:11px;color:var(--text-muted,#647986)}.cable-run-path button{font-size:11px;padding:7px 9px;flex-shrink:0}.cable-run-name-row{display:grid;grid-template-columns:2fr 1fr;gap:12px}.cable-run-form .field,.cable-run-form .form-grid{margin:0;min-width:0}.cable-run-form .form-grid{gap:12px}.cable-run-form .field input,.cable-run-form .field select,.cable-run-form .field textarea{font-size:13px;padding:8px 10px}.cable-run-form textarea{min-height:64px}.cable-material-summary{display:flex;align-items:center;flex-wrap:wrap;gap:9px 12px;padding:11px 12px;border:1px solid var(--line,#dce5eb);border-radius:8px}.cable-material-summary>div{flex:1;min-width:150px}.cable-material-summary strong{display:block;font-size:12px;line-height:1.5}.cable-material-summary span{display:block;font-size:11px;color:var(--text-muted,#647986);margin-top:2px}.cable-material-summary button{font-size:11px;padding:7px 9px}.cable-material-summary>svg{flex-shrink:0;color:var(--accent,#147f83)}.cable-run-job{font-size:12px;min-height:28px}.cable-run-options{padding:10px 12px;border:1px solid var(--line,#dce5eb);border-radius:7px}.cable-run-options>summary,.cable-snapshot-spans>summary{cursor:pointer;font-size:12px;font-weight:500;line-height:1.5}.cable-run-options[open]>summary{margin-bottom:14px}.cable-run-options>.field+.field,.cable-run-options>details{margin-top:14px}.cable-run-options .hint{font-size:11px;line-height:1.5;margin:10px 0}.cable-run-form .construction-card{padding:12px}.cable-run-form .construction-card>h3{margin-top:0;font-size:14px}.cable-run-form .construction-card>p{font-size:12px;margin:7px 0}.cable-run-form .construction-card details{margin-top:12px}.cable-run-form .construction-card summary{font-size:12px}.modal-body .cable-run-form>footer{position:sticky;bottom:-24px;z-index:2;justify-content:space-between;background:var(--surface,#fff);padding:12px 0;margin-bottom:-12px}.cable-run-form>footer button{font-size:12px;min-height:36px}.cable-run-form>footer .primary{margin-left:auto}.cable-material-results{display:grid;gap:7px}.cable-material-results>button{display:flex;gap:12px;text-align:left;padding:11px 12px}.cable-material-results>button>div{flex:1;min-width:0}.cable-material-results strong{display:block;font-size:13px;line-height:1.5}.cable-material-results div>span{display:block;font-size:11px;color:var(--text-muted,#647986);margin-top:3px}.cable-material-results>button>span,.cable-material-results svg{flex-shrink:0}@media(max-width:600px){.cable-run-steps{gap:5px}.cable-run-steps button{padding:6px;font-size:11px;gap:5px}.cable-run-path{align-items:flex-start}.cable-run-path button{max-width:100px;white-space:normal}.cable-run-name-row{grid-template-columns:minmax(0,1fr) 100px}.cable-material-summary>svg{display:none}.cable-material-summary>div{min-width:100%}.cable-run-form>footer button{flex:1;min-width:100px}.cable-run-form>footer .primary{margin-left:0}}.site-type-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:28.286px;border-radius:0;background:transparent;align-self:flex-start;margin-top:2px}.site-type-icon.small{padding:0;flex-basis:20px;width:20px;height:25.714px}.site-type-icon svg{display:block;width:100%;height:100%;flex-shrink:0}.site-drawing-marker svg{display:block;width:100%;height:100%}.site-symbol-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.site-symbol-legend>div{display:flex;align-items:center;gap:8px;font-size:13px}.site-hover-card header{display:flex;align-items:flex-start;gap:9px}.site-hover-card header>div{min-width:0;flex:1}.site-hover-card .site-hover-meta{flex-wrap:wrap;gap:4px 8px}.map-status{pointer-events:none}.cable-junction .result-card{margin:0;padding:12px}.junction-sites{display:grid;gap:7px;max-height:220px;overflow:auto}.junction-sites button{text-align:left;display:flex;justify-content:space-between;gap:12px;padding:10px}.junction-sites span{font-size:11px;color:var(--text-muted)}.junction-actions{display:flex;flex-wrap:wrap;gap:9px}.junction-actions button,.cable-junction footer button{font-size:12px}.strand-navigator{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-alt);margin-bottom:14px}.strand-navigator>div:first-child{flex:1;min-width:160px;align-self:center}.strand-navigator>div:first-child>span{display:block;font-size:11px;color:var(--text-muted);margin-top:4px}.strand-navigator .field{margin:0;width:90px}.strand-navigator button{font-size:12px;min-height:35px}.trace-display-tools{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:12px 0}.trace-display-tools button,.trace-display-tools label{font-size:12px}.trace-fiber-end{display:flex;flex-direction:column;gap:4px;min-width:0}.trace-fiber-end strong{font-size:12px;font-weight:500}.trace-fiber-end small{font-size:10px;color:var(--text-muted)}.trace-core-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;flex-wrap:wrap}.trace-core-chip i{display:inline-block;flex:0 0 10px;width:10px;height:10px;border-radius:50%;border:1px solid #8899aa}.trace-timeline li[data-selected=true] .trace-timeline-body{border-color:var(--accent,#087f8c);box-shadow:inset 3px 0 var(--accent,#087f8c)}.trace-timeline-compact .trace-timeline-body{padding:10px 12px}.trace-timeline-compact .trace-step-total,.trace-timeline-compact .trace-edge-name{display:none}.trace-timeline-compact .trace-port-pair{margin:6px 0}.trace-timeline-compact .strand-step-designers{margin-top:6px}@media(max-width:600px){.strand-navigator>div:first-child{flex-basis:100%}.strand-navigator{gap:8px}.strand-navigator button{padding:8px}.junction-sites button{flex-direction:column;gap:4px}}.diagram-path-dropdown{width:min(680px,100%)}.diagram-path-dropdown .diagram-full-path{border:0;padding:0;margin:0;min-width:0}.diagram-path-dropdown .trace-path-metrics{margin:12px 0}.diagram-path-dropdown .trace-timeline{margin:14px 0}.diagram-path-dropdown .trace-timeline-body{min-width:0}.diagram-path-dropdown .trace-site-route{margin:12px 0}.diagram-path-dropdown .trace-display-tools{gap:10px}@media(max-width:600px){.diagram-path-dropdown .trace-port-pair{grid-template-columns:minmax(0,1fr);gap:4px}.diagram-path-dropdown .trace-port-pair>svg{transform:rotate(90deg)}}@media(max-width:600px){.diagram-path-dropdown>.row:first-child{top:-12px;margin:-12px -12px 12px;padding:12px}}.street-view-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;min-height:34px;border:1px solid var(--border);border-radius:7px;background:var(--surface,#fff);color:var(--accent);font-size:12px;text-decoration:none;white-space:nowrap}.street-view-link:hover,.street-view-link:focus-visible{background:var(--accent-soft);text-decoration:underline}.form-actions:has(>.street-view-link){flex-wrap:wrap}.module-port-status{min-width:0;overflow-wrap:anywhere}.module-port-status p{margin:4px 0}.module-port-status small{display:block}.home-subscriber{margin:4px 0 10px;padding:0;overflow-wrap:anywhere;width:100%}.home-subscriber h3{margin:0 0 8px}.home-subscriber p{margin:4px 0}.home-subscriber .row{margin-top:8px;gap:8px}.home-subscriber button{font-size:12px}.home-subscriber .home-subscriber-number{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:8px 0}.service-status-legend{position:absolute;left:58px;bottom:28px;z-index:650;padding:10px 12px;max-width:calc(100% - 130px);border-radius:9px;border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:7px;box-shadow:0 2px 10px #0002;font-size:12px}.service-status-legend button{font-size:12px;padding:5px 8px}.service-status-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid;border-radius:6px;padding:4px 7px;font-size:12px;white-space:nowrap}.service-status-badge i{width:8px;height:8px;border-radius:50%}.site-service-status{display:flex;align-items:center;gap:8px;margin:8px 0}.service-area-notes{display:block;max-width:400px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:5px}.service-location-choice{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;padding:12px;overflow-wrap:anywhere}.service-area-actions{flex-wrap:wrap}.home-subscriber-actions.card-primary-actions{margin:10px 0}.home-subscriber .account-number-link{border:0;background:transparent;padding:0;color:var(--accent,#087f8c);font-weight:600;text-decoration:underline;overflow-wrap:anywhere}.customer-summary{display:block;padding:12px;border:1px solid var(--border,#e2e9ee);border-radius:10px;background:var(--surface-alt,#f4f7fa)}.customer-summary .asset-title-row{gap:6px;align-items:center}.customer-summary .asset-status-row{gap:7px;align-items:center}.asset-title-row .site-type-icon{align-self:center;margin:0}.customer-summary .site-gps{margin-top:8px}.customer-summary .home-subscriber{margin:6px 0 0}.customer-summary .home-subscriber-number{margin:0}.customer-summary .home-subscriber-actions{margin:10px 0 0}.street-view-popup-error{display:block;grid-column:1/-1;flex-basis:100%;font-size:12px;line-height:1.4;color:var(--danger,#b42318)}.street-view-viewer{display:block;width:100%;height:min(60vh,560px);min-height:240px;border:0;border-radius:8px;background:var(--surface-alt,#f4f7fa)}.context-help{display:grid;gap:1.3rem}.context-help section{display:grid;gap:.55rem}.context-help h3,.context-help p{margin:0}.context-help ol,.context-help ul{margin:0;padding-left:1.4rem;display:grid;gap:.7rem;line-height:1.55}.context-help-intro{display:flex;align-items:flex-start;gap:.8rem}.context-help-intro svg{flex-shrink:0;margin-top:.15rem}.context-help-checks{border-left:3px solid var(--accent,#178c94);padding:.8rem 1rem;background:var(--surface-2,rgba(22,140,148,.06));border-radius:4px}.context-help-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;padding-top:.5rem;border-top:1px solid var(--border,#dce5e9)}.context-help-footer a{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .8rem}.allocation-ownership{display:block;overflow-wrap:anywhere;color:var(--muted)}.allocation-members{display:grid;gap:.75rem;min-width:0}.allocation-members .result-card{min-width:0;margin:0;overflow-wrap:anywhere}.route-contents{display:grid;gap:16px;min-width:0}.route-contents-overview{display:flex;align-items:center;gap:20px;padding:16px;background:var(--surface-soft,#f3f7fa);border:1px solid var(--line,#dce5eb);border-radius:10px}.route-contents-length{display:grid;gap:3px;flex:none}.route-contents-length strong{font-size:22px;line-height:1.2;color:var(--text,#223e50)}.route-contents-length>span,.route-contents-note{font-size:12px;color:var(--muted,#617b8e);line-height:1.5}.route-contents-endpoints{display:flex;align-items:center;gap:10px;flex:1;min-width:0;font-size:13px}.route-contents-endpoints span{overflow-wrap:anywhere}.route-contents-endpoints svg{flex:none}.route-content-status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:20px;font-size:11px;line-height:1.4;white-space:nowrap;background:#e7f4ef;color:#23624e}.route-content-status.is-planned{background:#fff2d9;color:#805719}.route-contents-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.route-contents-tabs{display:flex;gap:4px;background:var(--surface-soft,#f3f7fa);border-radius:8px;padding:3px}.route-contents-tabs button,.route-contents-toolbar>.primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;min-height:34px}.route-contents-tabs button{border-color:transparent;background:transparent}.route-contents-tabs button[aria-selected=true]{background:var(--surface,#fff);border-color:var(--line,#dce5eb);color:var(--text,#223e50);box-shadow:0 1px 3px #172b4d12}.route-contents-tabs button>span{min-width:18px;font-size:11px;font-variant-numeric:tabular-nums}.route-contents-list{display:grid;gap:12px}.route-content-card{border:1px solid var(--line,#dce5eb);border-radius:10px;padding:14px;min-width:0}.route-content-card>header{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.route-content-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.route-content-title>svg{color:var(--muted,#617b8e);flex:none}.route-content-title h3{font-size:15px;line-height:1.4;margin:0;overflow-wrap:anywhere}.route-content-actions{display:flex;gap:6px;flex:none}.route-content-actions button.icon{width:30px;height:30px;min-width:30px;min-height:30px;padding:6px}.route-content-actions .route-content-delete{color:#b64848;border-color:#e8c8c8}.route-content-actions .route-content-delete:hover{background:#fff0f0;border-color:#c98282}.route-content-meta{display:flex;gap:6px 16px;flex-wrap:wrap;margin:10px 0 12px;font-size:12px;color:var(--muted,#617b8e);overflow-wrap:anywhere}.route-content-meta strong{color:var(--text,#223e50);font-weight:600}.route-content-usage{display:flex;height:6px;border-radius:5px;overflow:hidden;background:var(--surface-soft,#edf3f6)}.route-content-usage .used,.route-content-counts .used{background:#3b82b4}.route-content-usage .reserved,.route-content-counts .reserved{background:#d7a13e}.route-content-usage .available,.route-content-counts .available{background:#78b6a2}.route-content-counts{display:flex;gap:7px 16px;flex-wrap:wrap;margin:8px 0 0;font-size:12px;font-variant-numeric:tabular-nums}.route-content-counts>span{display:inline-flex;align-items:center;gap:5px}.route-content-counts i{width:7px;height:7px;border-radius:2px}.route-content-card details{margin-top:12px;border-top:1px solid var(--line,#dce5eb);padding-top:10px;font-size:12px}.route-content-card summary{cursor:pointer;color:var(--muted,#617b8e);font-weight:500}.route-content-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:14px 0 0}.route-content-card dt{color:var(--muted,#617b8e);font-size:11px;margin-bottom:4px}.route-content-card dd{margin:0;overflow-wrap:anywhere}.route-content-card details h4{font-size:12px;margin:14px 0 8px}.route-content-card details ul{padding-left:18px;margin:0;line-height:1.7}.route-contents-note{margin:0}.route-contents-empty{text-align:center;padding:24px 12px;border:1px dashed var(--line,#dce5eb);border-radius:8px;color:var(--muted,#617b8e)}:root[data-color-mode=dark] .route-contents-overview,:root[data-color-mode=dark] .route-contents-tabs{background:#182a36}:root[data-color-mode=dark] .route-content-status{background:#203f37;color:#a2dbc5}:root[data-color-mode=dark] .route-content-status.is-planned{background:#40351e;color:#e5c68b}:root[data-color-mode=dark] .route-content-actions .route-content-delete{color:#f0a3a3;border-color:#724b50}:root[data-color-mode=dark] .route-content-actions .route-content-delete:hover{background:#3a252a}@media(max-width:600px){.route-contents-overview{flex-wrap:wrap;gap:12px;padding:12px}.route-contents-endpoints{flex:1 1 100%;order:3}.route-contents-overview>.route-content-status{margin-left:auto}.route-content-card{padding:12px}.route-content-title{gap:6px}.route-content-title h3{font-size:14px}.route-content-card dl{grid-template-columns:1fr}}.kit-breakdown-fields{border:0;padding:0;margin:0;min-width:0;display:grid;gap:12px}.kit-component-code{display:block;overflow-wrap:anywhere}.kit-breakdown-fields details dl>div{display:flex;flex-wrap:wrap;gap:8px}.kit-breakdown-fields details dd{margin:0}.kit-component-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kit-breakdown-fields p,.kit-breakdown-fields h3,.kit-breakdown-fields h4{margin:0}.kit-breakdown-fields>button{justify-self:start}.kit-component-grid .construction-card{display:grid;gap:10px;min-width:0}.kit-component-grid h4{font-size:15px}.kit-component-grid .kit-component-code{font-size:11px}@media(max-width:640px){.kit-component-grid{grid-template-columns:1fr}}@media(max-width:640px){.kit-breakdown-fields .form-grid{grid-template-columns:1fr}}.stock-association-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stock-association-grid .construction-card{display:grid;gap:10px;min-width:0}.stock-association-grid h4,.stock-association-grid p{margin:0}.stock-association-grid h4{font-size:15px}.stock-association-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.stock-association-totals>div{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px}.stock-association-totals strong{font-size:22px}@media(max-width:640px){.stock-association-grid{grid-template-columns:1fr}.stock-association-totals{gap:6px}.stock-association-totals>div{padding:8px}.stock-association-totals span{font-size:12px}}.splice-port-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.splice-port-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;white-space:normal;overflow-wrap:anywhere;min-height:86px;padding:12px;font-size:13px}.splice-port-grid button.selected{border-color:var(--accent,#147d92);box-shadow:inset 0 0 0 1px var(--accent,#147d92)}.splice-port-grid button:disabled{opacity:.55}.splice-port-number{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600}.splice-port-number i{width:12px;height:12px;border:1px solid #758b97;border-radius:50%;display:inline-block}@media(max-width:700px){.splice-port-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:350px){.splice-port-grid{grid-template-columns:minmax(0,1fr)}}.smart-connect-grid>section>.field,.smart-release>.field,.smart-batch-form~.field{margin-block:12px}.cable-continuation-end{display:grid;gap:12px;margin:14px 0;padding:14px;border:1px solid var(--border);border-radius:10px;min-width:0}.cable-continuation-end .check{flex-wrap:wrap}.cable-continuation-review{max-height:320px;overflow:auto}@media print{.cable-continuation-review{max-height:none;overflow:visible}}.serial-custody-history{display:grid;gap:12px;margin:16px 0}.serial-custody-history .construction-card{display:grid;gap:6px}.serial-custody-history p{margin:0;overflow-wrap:anywhere}.serial-custody-detail{display:grid;gap:14px}.serial-custody-detail>p,.serial-custody-detail>h3{margin:0}.serial-custody-detail>button{justify-self:start}.serial-custody-history .construction-card{margin:0}.procurement-cards,.procurement-detail,.procurement-form fieldset{display:grid;gap:14px}.procurement-form fieldset{border:0;margin:0;padding:0;min-width:0}.procurement-cards{margin:16px 0}.procurement-cards .construction-card{margin:0;display:grid;gap:10px;min-width:0}.procurement-cards h3,.procurement-cards h4,.procurement-cards p,.procurement-detail>p,.procurement-detail>h3{margin:0}.procurement-cards button,.procurement-form fieldset>button{justify-self:start}.procurement-cards p{overflow-wrap:anywhere}.procurement-detail{min-width:0}.procurement-lines{min-width:0;margin:0}.procurement-lines table{min-width:570px}.procurement-lines td:first-child{min-width:180px}.procurement-lines small{display:block;margin-top:3px}.procurement-lines td:not(:first-child){white-space:nowrap}.procurement-allocation-summary{display:grid;gap:6px;padding:12px;border-radius:8px;background:var(--surface);border:1px solid var(--line)}.network-inventory .inventory-search{display:flex;align-items:center;gap:8px;margin-bottom:12px}.network-inventory .inventory-search input{min-width:0;flex:1}.inventory-pagination{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-top:14px}.inventory-pagination button{font-size:11px;padding:6px 8px}.inventory-pagination span{font-size:12px}.network-inventory .inventory-row{width:100%}.network-map.site-hover-open .leaflet-tooltip{visibility:hidden}.linear-hover-details{display:grid;grid-template-columns:54px minmax(0,1fr);gap:5px 10px;margin:12px 0}.linear-hover-details dt{color:var(--text-muted)}.linear-hover-details dd{margin:0;overflow-wrap:anywhere}.linear-hover-capacity{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:12px 0 0;padding-top:10px;border-top:1px solid var(--border);text-align:center}.linear-hover-capacity dt{font-size:10px;color:var(--text-muted)}.linear-hover-capacity dd{margin:3px 0 0;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.linear-hover-note{margin:8px 0 0;font-size:10px;color:var(--text-muted)}.map-line-preview{border:1px solid var(--line);border-radius:8px;padding:8px;background:repeating-conic-gradient(var(--surface-alt,#f4f7fa) 0 25%,var(--surface,#fff) 0 50%) 0/20px 20px}.map-line-preview svg{display:block;width:100%;height:72px}.map-line-color,.map-line-range{display:flex;align-items:center;gap:10px;min-width:0}.map-line-color input[type=color]{width:52px;height:36px;padding:3px;flex:none}.map-line-range input{min-width:0;flex:1}.map-line-range output{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.map-line-style .row{gap:6px;margin-top:6px}.map-line-style .row button{font-size:12px;padding:5px 10px}.workspace-line-styles{margin:20px 0 24px;padding-bottom:24px;border-bottom:1px solid var(--line)}.workspace-line-styles .workspace-line-fields{border:0;padding:0;margin:0;min-width:0;display:grid;gap:12px}.workspace-line-styles .tabs{margin:0}.workspace-line-styles .map-line-preview{max-width:100%}.modal-backdrop:not(.is-map-expanded)>.modal:has(.tap-fiber-compact){width:min(680px,calc(100vw - 24px))}.tap-fiber-compact{gap:10px}.tap-fiber-compact .tap-picker-instruction{margin:0;font-size:13px;color:var(--muted)}.tap-fiber-compact .tap-fiber-filters{gap:10px;grid-template-columns:minmax(0,1fr) minmax(110px,180px)}.tap-fiber-compact .tap-fiber-actions{gap:8px;font-size:12px}.tap-fiber-compact .tap-fiber-key{gap:8px}.tap-fiber-compact .tap-fiber-actions button{padding:5px 8px;font-size:12px}.tap-fiber-compact .tap-fiber-tubes{gap:10px}.tap-fiber-compact .tap-tube-card{padding:8px;border-radius:8px}.tap-fiber-compact .tap-tube-heading{margin-bottom:6px;gap:6px}.tap-fiber-compact .tap-tube-heading h3{font-size:12px}.tap-fiber-compact .tap-tube-heading i{height:14px}.tap-fiber-compact .tap-fiber-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.tap-fiber-compact .tap-fiber-tile{display:flex;align-items:stretch;border-radius:6px;min-height:44px}.tap-fiber-compact .tap-fiber-tile.is-selected{background:color-mix(in srgb,var(--accent,#168a82) 14%,var(--surface,#fff))}.tap-fiber-compact .tap-fiber-option{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 3px;flex:1;position:relative}.tap-fiber-compact .tap-fiber-option strong{font-size:14px}.tap-fiber-compact .tap-fiber-option input{position:absolute;opacity:0;width:100%;height:100%;inset:0;cursor:pointer}.tap-fiber-compact .tap-fiber-option input:disabled{cursor:not-allowed}.tap-fiber-compact .tap-fiber-option .tap-fiber-swatch{width:10px;height:20px;border-radius:3px}.tap-fiber-compact .tap-fiber-tile.is-selected .tap-fiber-option:after{content:"✓";font-size:12px;color:var(--accent,#168a82)}.tap-fiber-compact .tap-fiber-info{flex:0 0 25px;min-width:25px;padding:3px;border:0;border-left:1px solid var(--line);border-radius:0}.tap-fiber-compact .tap-selection-help{font-size:12px;color:var(--muted)}.tap-fiber-compact .tap-selection-help summary{cursor:pointer}.tap-fiber-compact .tap-selection-help p{margin:8px 0}.tap-fiber-compact .tap-fiber-footer{padding:8px 0 0;bottom:-16px;display:grid;gap:8px}.tap-fiber-compact .tap-fiber-summary{display:flex;align-items:center;gap:8px;padding:0;border:0;background:none;font-size:12px}.tap-fiber-compact .tap-fiber-summary output{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.tap-fiber-compact .tap-fiber-summary button{padding:4px 8px;font-size:12px}.tap-fiber-compact .tap-fiber-footer .form-actions{margin:0;padding:0;border:0}@media(max-width:540px){.tap-fiber-compact .tap-fiber-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tap-fiber-compact .tap-fiber-key{width:auto}.tap-fiber-compact .tap-fiber-filters{grid-template-columns:minmax(0,1fr) 110px}}@media(max-width:360px){.tap-fiber-compact .tap-fiber-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tap-fiber-compact .tap-fiber-filters{grid-template-columns:minmax(0,1fr)}}.modal:has(.tap-fiber-compact)>.modal-head{padding:14px 18px 12px}.modal:has(.tap-fiber-compact)>.modal-body{padding:14px 18px}.modal-body .dialog-flow.tap-fiber-compact{gap:10px}.tap-fiber-compact .tap-fiber-filters>.field:only-child{grid-column:1 / -1}.tap-fiber-compact .tap-fiber-footer{bottom:0}.app:has(>.drawing-lease-bar){display:flex;flex-direction:column}.app:has(>.drawing-lease-bar)>.topbar{flex-shrink:0}.app:has(>.drawing-lease-bar)>.workspace{height:auto;flex:1;min-height:0}.drawing-lease-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;padding:5px 14px;background:var(--surface);border-bottom:1px solid var(--line);font-size:12px;flex-shrink:0}.drawing-lease-bar>span,.drawing-lease-bar>div{display:flex;align-items:center;gap:7px}.drawing-lease-bar button{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;font-size:12px}.drawing-lease-bar.is-editor>span:first-child{color:var(--accent)}.archive-sites{display:grid;gap:8px}.archive-sites>button{display:flex;align-items:center;text-align:left;gap:12px;padding:12px}.archive-sites>button strong{flex:1;min-width:0;overflow-wrap:anywhere}.archive-sites>button span{font-size:12px}.archive-changes details{padding:12px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px}.archive-changes summary{cursor:pointer;overflow-wrap:anywhere}.archive-record-diff{display:grid;grid-template-columns:1fr 1fr;gap:12px}.archive-record-diff section{min-width:0}.archive-record-diff pre{max-height:320px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}@media(max-width:600px){.archive-record-diff{grid-template-columns:1fr}.drawing-lease-bar{padding:5px 8px}}.modal:has(.drawing-access-dialog){width:min(460px,calc(100vw - 24px))}.drawing-access-dialog{display:grid;gap:16px}.drawing-access-dialog p{margin:0;line-height:1.5;overflow-wrap:anywhere}.drawing-access-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.drawing-access-actions button{min-height:36px}.map-toolbar-items{display:contents}.map-toolbar-position{position:relative;flex-shrink:0}.map-control-deck .map-toolbar .map-toolbar-dock-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:5;width:170px;max-width:calc(100vw - 90px);padding:8px;display:flex;flex-direction:column;gap:4px;background:var(--surface,#fff);color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:0 5px 20px #10263830}.map-toolbar-dock-menu strong{padding:5px 7px;font-size:12px;font-weight:600}.map-control-deck .map-toolbar .map-toolbar-dock-menu button{display:flex;align-items:center;gap:8px;text-align:left;font-size:12px;width:100%;height:34px;padding:6px 8px}.map-toolbar-dock-menu button[aria-pressed=true]{background:var(--surface-alt,#e6f4f1);color:var(--accent)}.map-control-deck[data-toolbar-dock=top]{top:0;padding:6px;background:var(--surface,#fff);border:1px solid var(--border);border-top:0;border-radius:0 0 8px 8px}.map-control-deck[data-toolbar-dock=top] .map-toolbar{flex:1;border:0;padding:0;box-shadow:none;border-radius:0}.map-control-deck:is([data-toolbar-dock=left],[data-toolbar-dock=right]){top:8px;min-height:44px}.map-control-deck[data-toolbar-dock=left]{padding-left:56px}.map-control-deck[data-toolbar-dock=right]{padding-right:56px}.map-control-deck:is([data-toolbar-dock=left],[data-toolbar-dock=right])>.map-view-controls{margin-left:auto}.map-control-deck .map-toolbar:is([data-dock=left],[data-dock=right]){position:absolute;top:0;left:0;right:auto;width:46px;max-height:var(--toolbar-rail-height,65vh);flex-direction:column;flex-wrap:nowrap;padding:4px;gap:4px;align-items:stretch}.map-control-deck .map-toolbar[data-dock=right]{left:auto;right:0}.map-control-deck .map-toolbar:is([data-dock=left],[data-dock=right]) .map-toolbar-items{display:flex;flex-direction:column;gap:3px;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin}.map-control-deck .map-toolbar:is([data-dock=left],[data-dock=right]) button{padding:6px}.map-control-deck .map-toolbar:is([data-dock=left],[data-dock=right]) .toolbar-divider{height:1px;width:24px;margin:3px auto;flex-shrink:0}.map-control-deck .map-toolbar:is([data-dock=left],[data-dock=right]) .map-toolbar-toggle{border-left:0;border-top:1px solid var(--border);border-radius:0 0 5px 5px}.map-control-deck .map-toolbar[data-dock=left] .map-toolbar-dock-menu{top:0;left:calc(100% + 10px)}.map-control-deck .map-toolbar[data-dock=right] .map-toolbar-dock-menu{top:0;left:auto;right:calc(100% + 10px)}:root{--accent: #147f83;--accent-hover: #0f6267;--accent-soft: #e9f5f2;--accent-border: #bdded8;--focus: #478eaa;--teal: var(--accent);--teal-soft: var(--accent-soft);--muted: #607785}:root[data-theme=blue]{--accent: #2164b5;--accent-hover: #184c8c;--accent-soft: #edf4ff;--accent-border: #bdd3ee;--focus: #3978c5;--ink: #183955}:root[data-theme=green]{--accent: #217344;--accent-hover: #195834;--accent-soft: #edf7ef;--accent-border: #bfdcc8;--focus: #368253;--ink: #203e2c}.primary,.brand-mark,.construction-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.link{color:var(--accent)}.link:hover{color:var(--accent-hover)}.rail button.active,.rail button:hover,.map-toolbar button.active,.floating.active,.avatar,.fttx-tabs button[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}.tabs button.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.fttx-hero{background:linear-gradient(120deg,var(--accent-soft),#fff);border-color:var(--accent-border)}.fttx-hero>svg,.fttx-stages li.current{color:var(--accent)}.fttx-stages li.current{border-color:var(--accent)}.fttx-pdf-options{background:var(--accent-soft);border-color:var(--accent-border)}.construction progress{accent-color:var(--accent)}.map-view-picker .map-view-button[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 85%,transparent);box-shadow:0 0 0 2px var(--accent),0 2px 10px #173b5126}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[role=button]:focus-visible{outline-color:var(--focus)}.hint,.eyebrow,.rail button,.tabs button{color:#607785}.appearance{max-width:800px}.appearance-options{border:0;padding:0;margin:20px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.appearance-option{border:2px solid var(--border);border-radius:10px;padding:12px;cursor:pointer;background:#fff}.appearance-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.appearance-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.appearance-preview{display:flex;height:90px;background:#fff;border:1px solid #d8e2e8;border-radius:6px;overflow:hidden}.appearance-preview>i{background:var(--swatch);width:25%}.appearance-preview>span{flex:1;padding:14px}.appearance-preview b{display:block;background:#e7edf1;height:7px;margin-bottom:9px;border-radius:3px}.appearance-preview b:first-child{background:var(--swatch);width:65%}.appearance-label{display:flex;gap:8px;align-items:center;margin-top:12px;font-weight:600;font-size:14px}.appearance-label input{width:17px;height:17px;margin:0;accent-color:var(--accent);flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:600px){.appearance-options{grid-template-columns:1fr;gap:10px}.appearance-option{display:flex;align-items:center;gap:14px}.appearance-preview{width:90px;height:62px;flex-shrink:0}.appearance-preview>span{padding:10px}.appearance-label{margin:0}}@media screen and (max-width:600px)and (max-height:650px){.construction-overview .construction-stats{gap:4px;margin-bottom:6px}.construction-overview .construction-stats button{padding:3px 6px;gap:1px}.construction-overview .construction-stats strong{line-height:1}.construction-overview .construction-stats small{margin-top:0}.construction-production-heading{margin-bottom:5px}}@media screen{:root[data-color-mode=dark]{color:#dbe6ef;background:#101b28;--ink: #e5edf5;--muted: #a7b8c8;--border: #344659;--navy: #e5edf5;--surface: #182636;--surface-alt: #142231;--surface-raised: #203244;--canvas: #101b28;--text: #dbe6ef;--text-muted: #a7b8c8;--text-strong: #edf3f8;--line: #344659;--soft-line: #2c3d50;--glass: #182636ed;--shadow: 0 6px 28px #0006;--accent: #68d7cd;--accent-hover: #93e5de;--accent-soft: #173b40;--accent-border: #32656a;--focus: #8adcec}:root[data-color-mode=dark][data-theme=blue]{--accent:#8ac0ff;--accent-hover:#b0d5ff;--accent-soft:#1b3552;--accent-border:#355c89;--focus:#a0ceff}:root[data-color-mode=dark][data-theme=green]{--accent:#85d8a3;--accent-hover:#afe9c3;--accent-soft:#183b2d;--accent-border:#35664c;--focus:#a0e8bb}:root[data-color-mode=dark] .primary,:root[data-color-mode=dark] .primary:hover,:root[data-color-mode=dark] .brand-mark,:root[data-color-mode=dark] .construction-tabs button.active{color:#102630}:root[data-color-mode=dark] .hint,:root[data-color-mode=dark] .eyebrow,:root[data-color-mode=dark] .rail button,:root[data-color-mode=dark] .tabs button{color:var(--muted)}:root[data-color-mode=dark] .rail button.active,:root[data-color-mode=dark] .rail button:hover,:root[data-color-mode=dark] .tabs button.active{color:var(--accent)}:root[data-color-mode=dark] .appearance-option,:root[data-color-mode=dark] .appearance-preview{background:var(--surface);border-color:var(--border)}:root[data-color-mode=dark] .appearance-preview b{background:var(--line)}:root[data-color-mode=dark] .appearance-option:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}:root[data-color-mode=dark] .fttx-hero{background:linear-gradient(120deg,var(--accent-soft),var(--surface))}:root[data-color-mode=dark] .leaflet-container{background:#142230;color:var(--text)}:root[data-color-mode=dark] .fiber-basemap-street,:root[data-color-mode=dark] .fiber-basemap-terrain{filter:invert(1) hue-rotate(180deg) saturate(.65) brightness(.78) contrast(.92)}:root[data-color-mode=dark] .fiber-basemap-satellite{filter:brightness(.62) saturate(.8)}:root[data-color-mode=dark] .leaflet-bar a{background:var(--surface);color:var(--text);border-color:var(--border)}:root[data-color-mode=dark] .leaflet-bar a:hover{background:var(--surface-raised)}:root[data-color-mode=dark] .leaflet-bar a.leaflet-disabled{background:var(--surface-alt);color:var(--muted)}:root[data-color-mode=dark] .leaflet-popup-content-wrapper,:root[data-color-mode=dark] .leaflet-popup-tip,:root[data-color-mode=dark] .leaflet-tooltip{background:var(--surface);color:var(--text);border-color:var(--border)}:root[data-color-mode=dark] .leaflet-container a.leaflet-popup-close-button{color:var(--muted)}:root[data-color-mode=dark] .leaflet-tooltip-top:before{border-top-color:var(--surface)}:root[data-color-mode=dark] .leaflet-tooltip-bottom:before{border-bottom-color:var(--surface)}:root[data-color-mode=dark] .leaflet-tooltip-left:before{border-left-color:var(--surface)}:root[data-color-mode=dark] .leaflet-tooltip-right:before{border-right-color:var(--surface)}:root[data-color-mode=dark] .leaflet-control-attribution{background:#14223166;color:var(--muted)}:root[data-color-mode=dark] .leaflet-control-attribution a{color:var(--accent)}:root[data-color-mode=dark] .leaflet-control-scale-line{background:#142231bb;color:#e5edf5;border-color:#a7b8c8;text-shadow:none}:root[data-color-mode=dark] .map-view-picker .map-view-button{background:#182636d9;color:var(--text);border-color:var(--border)}:root[data-color-mode=dark] .map-view-picker .map-view-button:hover{background:var(--surface-raised)}:root[data-color-mode=dark] .map-view-picker .map-view-button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}:root[data-color-mode=dark] .topology-map{background-color:var(--canvas);background-image:radial-gradient(#344659 1px,transparent 1px)}:root[data-color-mode=dark] .topology-node.source{background:#245b76}:root[data-color-mode=dark] .diagram-canvas .svg-title,:root[data-color-mode=dark] .diagram-canvas .svg-port-label{fill:var(--text)}:root[data-color-mode=dark] .diagram-canvas .svg-caption{fill:var(--muted)}:root[data-color-mode=dark] .diagram-card-surface{fill:var(--surface);stroke:var(--border)}:root[data-color-mode=dark] .diagram-card-header{fill:var(--surface-raised);stroke:var(--border)}:root[data-color-mode=dark] .diagram-grid-dot{fill:var(--line)}:root[data-color-mode=dark] .diagram-port:hover rect{fill:var(--accent-soft)}:root[data-color-mode=dark] .diagram-port-selection{fill:#574423}.color-mode-preference{margin:12px 0}.color-mode-preference label{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.color-mode-preference select{width:auto;min-width:130px}.color-mode-toggle{position:relative;display:inline-flex;flex-shrink:0}.color-mode-save-note{position:absolute;top:100%;right:0;min-width:180px;z-index:1001;padding:8px;border-radius:6px;background:var(--surface,#fff);border:1px solid var(--border);color:var(--ink);font-size:12px}:root[data-color-mode=dark]{--surface-soft:#142231}:root[data-color-mode=dark] .badge{background:#293b4d;color:#c5d3df}:root[data-color-mode=dark] .badge.green{background:#173c2e;color:#92dfb2}:root[data-color-mode=dark] .badge.amber{background:#44331b;color:#f4ce85}:root[data-color-mode=dark] .badge.red{background:#46282c;color:#ffb5b1}:root[data-color-mode=dark] .green{color:#92dfb2}:root[data-color-mode=dark] .red-text{color:#ffb5b1!important}:root[data-color-mode=dark] .error,:root[data-color-mode=dark] .danger{background:#46282c;color:#ffb5b1;border-color:#875254}:root[data-color-mode=dark] .danger:hover{background:#583037}:root[data-color-mode=dark] .notice,:root[data-color-mode=dark] .callout,:root[data-color-mode=dark] .construction-callout,:root[data-color-mode=dark] .basemap-notice,:root[data-color-mode=dark] .otdr-simulator .notice{background:#3d331f;color:#f1d297;border-color:#75623d}:root[data-color-mode=dark] .toast.success{background:#173c2e;color:#92dfb2;border-color:#38634c}:root[data-color-mode=dark] .simulation-fault{background:#44331b}:root[data-color-mode=dark] .simulation-location{background:#173c36}:root[data-color-mode=dark] .delivery-panel .primary{background:var(--accent);color:#102630}:root[data-color-mode=dark] .modal-backdrop{background:#050b14a8}:root[data-color-mode=dark] .leaflet-control-attribution:has(.map-credits){background:#14223166!important}:root[data-color-mode=dark] .leaflet-control-attribution:has(.map-credits):hover,:root[data-color-mode=dark] .leaflet-control-attribution:has(.map-credits):focus-within,:root[data-color-mode=dark] .leaflet-control-attribution:has(.map-credits[open]){background:#142231ed!important}.gps-coordinate-preview{display:flex;gap:24px;flex-wrap:wrap;margin:0}.gps-coordinate-preview dt{color:var(--muted);font-size:13px}.gps-coordinate-preview dd{margin:4px 0 0;font-variant-numeric:tabular-nums}.gps-location-label{text-align:center;font-variant-numeric:tabular-nums}:root[data-color-mode=dark]{--bg:#142231}:root[data-color-mode=dark] .panel-state-available{background:#173c2e;color:#92dfb2}:root[data-color-mode=dark] .panel-state-connected{background:#1b3552;color:#a8cdff}:root[data-color-mode=dark] .panel-state-planned{background:#352b4b;color:#d5b8fa}:root[data-color-mode=dark] .panel-state-reserved,:root[data-color-mode=dark] .strand-grid button.reserved,:root[data-color-mode=dark] .sample-label,:root[data-color-mode=dark] .map-instruction,:root[data-color-mode=dark] .sync-banner{background:#44331b;color:#f4ce85;border-color:#75623d}:root[data-color-mode=dark] .map-instruction button{color:#f4ce85;border-color:#75623d}:root[data-color-mode=dark] .toast.error{background:#46282c;color:#ffb5b1;border-color:#875254}:root[data-color-mode=dark] .fttx-issue.error,:root[data-color-mode=dark] .fttx-alert.error{color:#ffb5b1}:root[data-color-mode=dark] a{color:var(--accent)}:root[data-color-mode=dark] .brand{color:var(--text-strong)}:root[data-color-mode=dark] .plot-surface{fill:var(--surface-alt)}:root[data-color-mode=dark] .plot-grid{stroke:var(--line)}:root[data-color-mode=dark] .svg-title,:root[data-color-mode=dark] .svg-port-label{fill:var(--text)}:root[data-color-mode=dark] .svg-caption{fill:var(--muted)}:root[data-color-mode=dark] .simulation-watermark{fill:#f4ce85}:root[data-color-mode=dark] .brand.light .brand-mark{background:var(--accent);color:#102630}}@media print{:root[data-color-mode=dark]{color-scheme:light}}.login-portal{--ink:#17233b;--muted:#627086;--line:#dbe0e9;--surface:#fff;--surface-alt:#f6f7fb;--text:#17233b;--text-muted:#627086;--focus:#3869d4;color-scheme:light;color:#f3f5fa;background:radial-gradient(ellipse at 23% 58%,#172c4c88,transparent 55%),#0b1424;min-height:100dvh;display:flex;flex-direction:column;padding:36px clamp(28px,5vw,88px) 24px;position:relative;isolation:isolate}.login-portal:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(#a7bad51a .7px,transparent .7px);background-size:24px 24px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 78%);mask-image:linear-gradient(90deg,#000,transparent 78%)}.portal-header,.portal-main,.portal-footer{width:100%;max-width:1400px;margin-inline:auto}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.login-portal .portal-brand{color:#f3f5fa;gap:11px;font-size:29px}.login-portal .portal-brand .brand-thin{color:#b5c3d6}.login-portal .portal-brand .brand-mark{background:#117f82;color:#fff;width:40px;height:40px;border-radius:10px;box-shadow:none}.portal-platform-label{color:#a6b5cb;font-size:10px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase}.portal-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,420px);gap:clamp(40px,6vw,110px);align-items:center;flex:1;padding-block:32px}.portal-story{min-width:0}.portal-intro{position:relative;z-index:1}.login-portal .portal-eyebrow{font-size:10px;font-weight:600;letter-spacing:1.8px;line-height:1.6;margin:0 0 23px;color:#b6c6df;display:flex;align-items:center;gap:11px}.portal-intro .portal-eyebrow>span:first-child{width:22px;height:2px;background:#edb36e;flex-shrink:0}.portal-intro h1{font-size:clamp(40px,4.35vw,70px);line-height:1.08;font-weight:550;letter-spacing:-2.5px;margin:0;color:#f5f7fc}.portal-intro h1>span{color:#8eaff4}.login-portal .portal-description{font-size:14px;line-height:1.8;color:#adbed5;max-width:430px;margin:22px 0 0}.portal-network{position:relative;width:min(100%,clamp(380px,55vh,580px));margin:8px auto 5px}.portal-network svg{width:100%;height:auto;display:block;overflow:visible}.portal-map-label{position:absolute;font-size:9px;font-weight:500;color:#cfdef2;background:#17263b;border:1px solid #41536c;border-radius:4px;padding:6px 9px;box-shadow:0 5px 15px #050b1633;white-space:nowrap}.portal-map-source{left:5%;top:46%}.portal-map-distribution{left:43%;top:48%}.portal-map-customer{right:9%;top:29%}.portal-map-caption{position:absolute;bottom:1%;left:0;color:#90a6c5;font-size:9px;display:flex;gap:8px;align-items:center}.portal-map-caption>span:first-child{width:16px;height:2px;background:#85acfa}.portal-capabilities{display:grid;grid-template-columns:.8fr 1fr 1.3fr;gap:20px;border-top:1px solid #2b3a50;padding-top:23px;margin-top:16px}.portal-capabilities>div{display:flex;gap:10px;min-width:0}.portal-capability-number{color:#7e95b7;font-size:10px;line-height:23px;font-variant-numeric:tabular-nums}.portal-capabilities strong{display:block;font-size:13px;font-weight:550;color:#e4eaf4;line-height:1.7}.portal-capabilities small{display:block;font-size:10px;color:#9baec9;line-height:1.7;margin-top:3px}.portal-access{background:#f7f8fb;color:#17233b;border:1px solid #ffffff4d;border-radius:16px;box-shadow:0 28px 80px #0004,0 1px #fff inset;overflow:hidden;position:relative}.portal-access:before{content:"";position:absolute;top:0;left:36px;width:42px;height:3px;background:#edb36e}.portal-access-inner{padding:40px 36px 30px}.portal-access-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.login-portal .portal-access .portal-eyebrow{color:#627086;margin:0;font-size:9px;letter-spacing:1.6px}.portal-access-heading>svg{color:#718099}.portal-access h2{margin:0;color:#17233b;font-size:32px;font-weight:600;letter-spacing:-1px;line-height:1.25}.login-portal .portal-access-description{color:#627086;font-size:13px;line-height:1.7;margin:11px 0 30px}.portal-credentials{display:flex;flex-direction:column;gap:21px}.portal-field{display:flex;flex-direction:column;gap:9px}.portal-field label{color:#34425a;font-size:12px;font-weight:550}.login-portal .portal-field input{background:#fff;color:#17233b;width:100%;min-width:0;height:50px;border:1px solid #cdd5e2;border-radius:7px;padding:0 14px;font-size:14px;box-shadow:0 1px 2px #17233b03}.login-portal input::placeholder{color:#758198;opacity:1}.login-portal input:focus-visible{outline:2px solid #3869d4;outline-offset:2px;border-color:#3869d4}.portal-password{position:relative}.login-portal .portal-password input{padding-right:50px}.login-portal .portal-password button{position:absolute;right:3px;top:3px;display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;border:0;box-shadow:none;border-radius:5px;color:#627086}.login-portal .portal-password button:hover{background:#edf1f9;color:#285dc7}.login-portal .portal-submit{min-height:50px;padding:13px 16px;border-radius:7px;border:1px solid #2a5ed0;background:#2a5ed0;color:#fff;font-size:13px;font-weight:550;display:flex;align-items:center;justify-content:space-between;margin-top:3px;box-shadow:0 3px 8px #2a5ed01a;transition:background .15s ease}.login-portal .portal-submit:hover:not(:disabled){background:#214da9;border-color:#214da9}.login-portal .portal-submit:disabled{opacity:.7;cursor:wait}.login-portal button:focus-visible{outline:2px solid #3869d4;outline-offset:3px}.login-portal .portal-error{margin:0;background:#fff0ed;border:1px solid #f1c4b9;color:#9e3524;padding:12px 14px;border-radius:7px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.portal-access-help{border-top:1px solid #dbe1eb;padding-top:23px;margin-top:27px;font-size:11px;line-height:1.8;color:#627086}.login-portal .portal-access-help p{margin:0 0 2px;color:#34425a;font-weight:550}.login-portal .portal-access-footer{margin:0;border-top:1px solid #e0e5ef;background:#edf0f6;padding:16px 24px;font-size:10px;color:#627086;display:flex;gap:8px;justify-content:center;align-items:center}.portal-footer{border-top:1px solid #243249;display:flex;justify-content:space-between;gap:20px;padding-top:19px;color:#91a3bd;font-size:10px;line-height:1.5}.portal-spinner{animation:portal-spin 1s linear infinite}@keyframes portal-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.portal-spinner{animation:none}.login-portal .portal-submit{transition:none}}@media(min-width:1600px){.portal-main{gap:110px;grid-template-columns:minmax(0,1fr) 440px}.portal-access-inner{padding:45px 40px 34px}}@media(max-width:1050px){.login-portal{padding:28px 32px 22px}.portal-main{gap:32px;grid-template-columns:minmax(0,1fr) minmax(320px,380px)}.portal-intro h1{font-size:42px;letter-spacing:-1.8px}.portal-access-inner{padding:34px 28px 28px}.portal-capabilities{gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.portal-capability-number{display:none}.portal-map-label{font-size:8px;padding:4px 6px}}@media(max-width:760px){.login-portal{padding:23px 22px 20px}.portal-header{max-width:440px}.login-portal .portal-brand{font-size:25px}.login-portal .portal-brand .brand-mark{width:35px;height:35px;border-radius:9px}.portal-platform-label{display:none}.portal-main{grid-template-columns:minmax(0,1fr);gap:27px;max-width:440px;flex:initial;padding-block:31px 28px}.portal-intro .portal-eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:13px}.portal-intro h1{font-size:35px;letter-spacing:-1.2px;line-height:1.13}.portal-description,.portal-network,.portal-capabilities{display:none}.portal-access{border-radius:12px}.portal-access-inner{padding:26px 25px 24px}.portal-access-heading{margin-bottom:18px}.portal-access h2{font-size:28px}.login-portal .portal-access-description{margin:8px 0 25px}.login-portal .portal-field input{font-size:16px}.portal-credentials{gap:18px}.portal-access-help{margin-top:23px;padding-top:19px}.portal-footer{margin-top:auto;max-width:440px;font-size:9px}.portal-footer>span:first-child{display:none}}@media(max-width:359px){.login-portal{padding-inline:16px}.portal-access-inner{padding-inline:20px}.portal-intro h1{font-size:31px}}
