.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;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-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:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.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{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-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{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{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/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{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.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{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e5e7eb;background:#0b1120;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,select,textarea{font:inherit}button{color:#f8fafc;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:9px 12px}button:hover:not(:disabled){background:#334155}button:disabled{opacity:.5;cursor:not-allowed}.app-shell{grid-template-columns:280px 1fr;min-height:100vh;display:grid}.sidebar{background:#020617;border-right:1px solid #1e293b;padding:20px}.brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.brand-mark{background:#2563eb;border-radius:14px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand h1{margin:0;font-size:18px}.brand p{color:#94a3b8;margin:2px 0 0;font-size:13px}nav{gap:8px;display:grid}nav button{text-align:left;background:0 0;align-items:center;gap:10px;width:100%;display:flex}nav button.active{background:#1d4ed8;border-color:#3b82f6}.main-panel{padding:24px;overflow:auto}.page-stack{gap:16px;display:grid}.page-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-title.compact{align-items:center}.page-title h1{margin:0 0 4px;font-size:28px}.page-title p,.muted{color:#94a3b8;margin:0}.card{background:#0f172ad9;border:1px solid #1e293b;border-radius:18px;padding:16px;box-shadow:0 12px 30px #0000002e}.card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-header h2{margin:0;font-size:18px}.card-actions{flex-wrap:wrap;gap:8px;display:flex}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.kpi{gap:8px;display:grid}.kpi span{color:#94a3b8}.kpi strong{font-size:34px}.table-wrap{border:1px solid #1e293b;border-radius:12px;max-height:520px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #1e293b;padding:10px 12px}th{z-index:1;color:#cbd5e1;background:#111827;position:sticky;top:0}.status-pill{border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-pill.ok{color:#86efac;background:#16a34a33}.status-pill.bad{color:#fca5a5;background:#dc262633}.error-box,.success-box{border-radius:14px;padding:12px 14px}.error-box{color:#fecaca;background:#7f1d1d59;border:1px solid #7f1d1d}.success-box{color:#bbf7d0;background:#16653459;border:1px solid #166534}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}label{color:#cbd5e1;gap:6px;display:grid}select,textarea{color:#e5e7eb;background:#020617;border:1px solid #334155;border-radius:12px;width:100%;padding:10px 12px}textarea{resize:vertical;min-height:180px;margin:12px 0}.empty-state,.map-placeholder{color:#94a3b8;border:1px dashed #334155;border-radius:14px;padding:24px}.flow-wrap{background:#0f172a;border:1px solid #1e293b;border-radius:14px;height:560px;overflow:hidden}.topology-node{white-space:pre-line;color:#e5e7eb;background:#111827;border:1px solid #334155;border-radius:12px;padding:8px}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.kpi-grid,.form-row{grid-template-columns:1fr}}.router-map-wrap{background:#0f172a;border:1px solid #1e293b;border-radius:14px;height:min(72vh,760px);min-height:560px;position:relative;overflow:hidden}.router-map{width:100%;height:100%}.router-popup{color:#0f172a;gap:4px;min-width:180px;display:grid}.router-popup strong{font-size:14px}.leaflet-container{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.map-controls{z-index:1000;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:calc(100% - 24px);display:flex;position:absolute;top:12px;right:12px}.map-toggle{color:#e5e7eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020617e0;border:1px solid #1e293be6;border-radius:999px;grid-template-columns:none;align-items:center;gap:7px;width:auto;padding:8px 10px;font-size:13px;display:inline-flex;box-shadow:0 10px 24px #00000038}.map-toggle input{margin:0}.map-status{z-index:1000;color:#e5e7eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020617e0;border:1px solid #1e293be6;border-radius:12px;max-width:calc(100% - 24px);padding:8px 10px;font-size:13px;position:absolute;bottom:12px;left:12px;box-shadow:0 10px 24px #00000038}.map-status.warn{color:#fed7aa;border-color:#92400ee6}.map-details-grid{grid-template-columns:1fr;align-items:stretch;gap:16px;display:grid}.dashboard-map-first .router-details-panel{min-height:0}.router-details-panel{color:#e5e7eb;background:linear-gradient(#0f172af5,#020617fa);border:1px solid #1e293b;border-radius:18px;min-height:0;padding:16px;overflow:auto;box-shadow:0 16px 38px #00000047}.router-details-panel.empty{color:#94a3b8;flex-direction:column;justify-content:center;display:flex}.router-details-panel.empty h3{color:#f8fafc}.details-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.details-header h3{color:#f8fafc;margin:0;font-size:1.1rem}.details-header p{color:#94a3b8;margin:4px 0 0;font-size:.9rem}.icon-button{color:#f8fafc;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:10px;justify-content:center;align-items:center;padding:8px;display:inline-flex}.icon-button:hover:not(:disabled){background:#1e293b}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.details-section{border-top:1px solid #1e293b;margin-top:12px;padding-top:12px}.section-title{letter-spacing:.08em;text-transform:uppercase;color:#93c5fd;margin-bottom:8px;font-size:.78rem;font-weight:800}.detail-row{border-bottom:1px solid #1e293bd9;justify-content:space-between;gap:12px;padding:7px 0;font-size:.9rem;display:flex}.detail-row span{color:#94a3b8}.detail-row strong{text-align:right;color:#f8fafc;word-break:break-word}.problem-card{background:#7f1d1d38;border:1px solid #f8717173;border-radius:12px;gap:4px;margin-top:8px;padding:10px;display:grid}.problem-card strong{color:#fecaca}.problem-card span,.router-details-panel .muted{color:#94a3b8;font-size:.88rem}.inline-error{color:#fecaca;background:#7f1d1d40;border:1px solid #f871718c;border-radius:10px;padding:10px;font-size:.9rem}.local-control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.control-tile{color:#e5e7eb;background:#0f172aeb;border:1px solid #334155;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:42px;font-size:.86rem;font-weight:700;display:flex}.control-tile:hover:not(:disabled){background:#1e40af4d;border-color:#3b82f6}.control-tile:disabled{color:#64748b;background:#0f172a7a}.mini-table{gap:6px;display:grid}.mini-table-row{background:#0f172a94;border:1px solid #1e293b;border-radius:10px;justify-content:space-between;gap:8px;padding:8px;font-size:.86rem;display:flex}.mini-table-row span{color:#cbd5e1}.mini-table-row strong{color:#f8fafc;text-align:right}@media (width<=980px){.map-details-grid{grid-template-columns:1fr}.router-details-panel{min-height:auto}}.map-toggle.disabled{opacity:.55;cursor:not-allowed}.map-toggle.disabled input{cursor:not-allowed}.site-menu-popup .leaflet-popup-content-wrapper{color:#e5e7eb;background:#020617f5;border:1px solid #334155e6;border-radius:16px;box-shadow:0 20px 48px #00000061}.site-menu-popup .leaflet-popup-tip{background:#020617f5;border:1px solid #334155e6}.site-menu-popup .leaflet-popup-content{margin:12px;width:300px!important;max-width:300px!important}.site-menu{gap:12px;max-height:360px;display:grid;overflow:hidden}.site-menu-header{border-bottom:1px solid #334155bf;gap:2px;padding-bottom:10px;display:grid}.site-menu-header strong{color:#f8fafc;font-size:15px}.site-menu-header span,.site-menu-header small{color:#94a3b8}.site-menu-section{gap:7px;display:grid}.site-menu-switches-section{min-height:0}.site-menu-switch-list{overscroll-behavior:contain;gap:7px;max-height:170px;padding-right:4px;display:grid;overflow-y:auto}.site-menu-switch-list::-webkit-scrollbar{width:8px}.site-menu-switch-list::-webkit-scrollbar-track{background:#0f172acc;border-radius:999px}.site-menu-switch-list::-webkit-scrollbar-thumb{background:#475569f2;border-radius:999px}.site-menu-switch-list::-webkit-scrollbar-thumb:hover{background:#64748bf2}.site-menu-section-title{color:#cbd5e1;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.site-menu-section button{text-align:left;background:#0f172af5;border-color:#334155e6;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 10px;display:flex}.site-menu-section button small{color:#93c5fd;font-size:11px}.site-menu-empty{color:#94a3b8;border:1px dashed #334155d9;border-radius:12px;padding:9px 10px;font-size:13px}.port-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.port-summary-grid div{background:#02061773;border:1px solid #1e293b;border-radius:12px;gap:2px;padding:10px;display:grid}.port-summary-grid strong{color:#f8fafc;font-size:18px}.port-summary-grid span{color:#94a3b8;font-size:12px}.switch-port-table{max-height:420px;overflow:auto}@media (width<=900px){.port-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.switch-details-panel{width:100%}.switch-identity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;display:grid}.port-filter-row{flex-wrap:wrap;gap:8px;margin:10px 0 12px;display:flex}.port-filter-row button{color:#cbd5e1;background:#0f172ad1;border:1px solid #334155;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.port-filter-row button:hover{color:#f8fafc;border-color:#60a5fa}.port-filter-row button.active{color:#dbeafe;background:#2563eb57;border-color:#60a5fa}.switch-port-table-full{background:#0206176b;border:1px solid #1e293b;border-radius:14px;max-height:560px;overflow:hidden auto}.switch-port-header,.switch-port-row{grid-template-columns:1.1fr .95fr .65fr 1.3fr .55fr .75fr 1.2fr;align-items:center;gap:10px;display:grid}.switch-port-header{z-index:2;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;background:#0f172afa;border-bottom:1px solid #1e293b;padding:9px 10px;font-size:12px;font-weight:800;position:sticky;top:0}.switch-port-row{color:#e5e7eb;border-bottom:1px solid #1e293bbf;min-height:58px;padding:9px 10px;font-size:13px}.switch-port-row:last-child{border-bottom:none}.switch-port-row:hover{background:#0f172ab3}.switch-port-row strong,.switch-port-row small{display:block}.switch-port-row small{color:#94a3b8;line-height:1.35}.port-status-pill{text-transform:capitalize;border:1px solid #334155;border-radius:999px;align-items:center;width:fit-content;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.port-status-pill.ok{color:#bbf7d0;background:#16a34a2e;border-color:#22c55eb3}.port-status-pill.warn{color:#fde68a;background:#f59e0b24;border-color:#f59e0bb3}.port-status-pill.muted{color:#cbd5e1;background:#33415540;border-color:#64748bb3}.port-status-pill.neutral{color:#bfdbfe;background:#2563eb24;border-color:#60a5fa8c}.port-alerts{margin-top:4px;color:#fca5a5!important}.table-empty{padding:16px}@media (width<=1200px){.port-summary-grid.extended{grid-template-columns:repeat(4,minmax(0,1fr))}.switch-port-header,.switch-port-row{grid-template-columns:1fr 1fr}.switch-port-header span:nth-child(n+3){display:none}}@media (width<=760px){.switch-identity-grid{grid-template-columns:1fr}.port-summary-grid.extended{grid-template-columns:repeat(2,minmax(0,1fr))}}.visual-switch-toolbar{justify-content:space-between;align-items:flex-start;gap:14px;margin:16px 0 10px;display:flex}.visual-switch-toolbar strong,.visual-switch-toolbar span{display:block}.visual-switch-toolbar strong{color:#f8fafc;font-size:15px}.visual-switch-toolbar span{color:#94a3b8;margin-top:2px;font-size:12px}.meraki-switch-shell{background:radial-gradient(circle at 18% 12%,#3b82f614,#0000 26%),linear-gradient(#0f172af5,#020617eb);border:1px solid #1e293b;border-radius:16px;padding:16px;overflow-x:auto;box-shadow:inset 0 1px #ffffff0d,0 12px 26px #0000002e}.meraki-switch-main{align-items:center;gap:18px;min-width:max-content;display:flex}.meraki-port-pair-grid{grid-template-columns:repeat(var(--meraki-port-columns,12), 34px);align-items:center;gap:8px;display:grid}.meraki-port-pair{grid-template-rows:46px 46px;justify-items:center;gap:5px;display:grid}.meraki-uplink-group,.meraki-stack-group{border-left:1px solid #94a3b838;grid-auto-columns:34px;grid-auto-flow:column;align-items:center;gap:8px;padding-left:16px;display:grid}.meraki-stack-group{border-top:1px solid #94a3b838;border-left:0;width:max-content;margin-top:16px;padding:14px 0 0}.meraki-port{color:#dbeafe;cursor:pointer;background:0 0;border:0;width:34px;height:46px;padding:0;position:relative}.meraki-port:disabled{cursor:default;opacity:.35}.meraki-port:hover:not(:disabled) .meraki-port-jack{transform:translateY(-1px);box-shadow:0 0 0 2px #93c5fdd9,0 10px 18px #00000047}.meraki-port.is-selected .meraki-port-jack{outline-offset:2px;outline:2px solid #f8fafc;box-shadow:0 0 0 4px #3b82f647,0 12px 18px #00000059}.meraki-port-label{color:#dbeafe;white-space:nowrap;font-size:11px;font-weight:800;line-height:1;position:absolute;left:50%;transform:translate(-50%)}.meraki-port-label.label-top{top:-2px}.meraki-port-label.label-bottom{bottom:-2px}.meraki-port-jack{color:#ecfeff;border:2px solid #0f172aeb;border-radius:2px;place-items:center;height:24px;transition:transform .12s,box-shadow .12s;display:grid;position:absolute;top:12px;left:2px;right:2px;box-shadow:inset 0 1px #ffffff2e,0 6px 12px #0000003d}.label-top+.meraki-port-jack{top:18px}.port-empty-glyph{background:#0f172ab3;border-radius:1px;width:12px;height:7px;box-shadow:inset 0 1px #ffffff2e}.port-uplink-glyph,.port-sfp-glyph{letter-spacing:.02em;font-size:12px;font-weight:900;line-height:1}.meraki-port.port-enabled .meraki-port-jack{background:#238616}.meraki-port.port-reduced .meraki-port-jack{background:repeating-linear-gradient(45deg,#238616 0 3px,#f8fafc 3px 5px,#238616 5px 8px)}.meraki-port.port-warning .meraki-port-jack{background:#b45309}.meraki-port.port-error .meraki-port-jack{background:#dc2626}.meraki-port.port-disabled .meraki-port-jack{color:#475569;background:#cbd5e1}.meraki-port.port-disconnected .meraki-port-jack,.meraki-port.is-empty .meraki-port-jack{color:#94a3b8;background:#30343b}.meraki-port.has-active-poe .meraki-port-jack svg{filter:drop-shadow(0 0 5px #ffffffb3)}.meraki-port.is-trunk:after{content:"";background:#bfdbfe;border:1px solid #0f172a;border-radius:999px;width:6px;height:6px;position:absolute;top:8px;right:-1px}.meraki-port-key{background:#0f172a6b;border-top:1px solid #1e293b;border-bottom:1px solid #1e293b;margin:12px -16px}.meraki-port-key summary{cursor:pointer;color:#f8fafc;-webkit-user-select:none;user-select:none;padding:10px 16px;font-weight:900}.meraki-port-key-grid{grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px 18px;padding:10px 16px 14px;display:grid}.meraki-port-key-grid span{color:#cbd5e1;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.key-square{border:1px solid #0f172a8c;border-radius:1px;width:16px;height:16px;display:inline-block}.key-square.enabled{background:#238616}.key-square.reduced{background:repeating-linear-gradient(45deg,#238616 0 4px,#f8fafc 4px 6px,#238616 6px 10px)}.key-square.warning{background:#b45309}.key-square.error{background:#dc2626}.key-square.disabled{background:#cbd5e1}.key-square.disconnected{background:#30343b}.key-icon{color:#cbd5e1;text-align:center;width:18px;font-style:normal;font-weight:900}.key-icon.muted{color:#94a3b8}.selected-port-card{background:#0206176b;border:1px solid #1e293b;border-radius:16px;margin:12px 0 14px;padding:14px}.selected-port-card.empty{color:#94a3b8;gap:3px;display:grid}.selected-port-card.empty strong{color:#e2e8f0}.selected-port-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.selected-port-heading span:first-child{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;display:block}.selected-port-heading strong{color:#f8fafc;margin-top:2px;font-size:20px;display:block}.selected-port-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;display:grid}.selected-port-alerts{color:#fecaca;background:#7f1d1d29;border:1px solid #ef444459;border-radius:12px;gap:5px;margin-top:12px;padding:10px;display:grid}.selected-port-alerts strong{color:#fee2e2}.selected-port-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}@media (width<=1100px){.visual-switch-toolbar{display:grid}.meraki-port-key-grid{grid-template-columns:repeat(2,minmax(170px,1fr))}.selected-port-grid,.selected-port-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.meraki-port-key-grid,.selected-port-grid,.selected-port-actions{grid-template-columns:1fr}}.selected-port-grid.expanded{grid-template-columns:repeat(4,minmax(0,1fr))}.selected-port-actions.active-actions .control-tile:not(:disabled){cursor:pointer;opacity:1}.safe-control-note{color:#bfdbfe;background:#1e40af1f;border:1px solid #60a5fa47;border-radius:12px;margin-top:10px;padding:9px 10px;font-size:12px;line-height:1.45}.action-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#020617b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.action-modal{color:#e5e7eb;background:linear-gradient(#0f172afa,#020617fa);border:1px solid #334155f2;border-radius:18px;width:min(760px,100%);max-height:min(760px,92vh);padding:16px;overflow:auto;box-shadow:0 24px 80px #0000008c}.action-modal-header{border-bottom:1px solid #334155bf;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:12px;display:flex}.action-modal-header span{color:#93c5fd;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900;display:block}.action-modal-header h4{color:#f8fafc;margin:3px 0 0;font-size:20px}.action-modal-header .icon-button{color:#cbd5e1;font-size:24px;line-height:1}.action-modal-description{color:#cbd5e1;margin:12px 0;line-height:1.55}.action-modal-port-context,.action-form-grid,.action-preview-grid{gap:10px;margin-top:12px;display:grid}.action-modal-port-context{grid-template-columns:repeat(4,minmax(0,1fr))}.action-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.action-field{background:#02061761;border:1px solid #1e293be6;border-radius:12px;gap:6px;padding:10px;display:grid}.action-field span{color:#94a3b8;font-size:12px;font-weight:800}.action-field input,.action-field select{color:#f8fafc;background:#0f172af5;border:1px solid #334155;border-radius:10px;outline:none;width:100%;padding:9px 10px}.action-field input:focus,.action-field select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #3b82f62e}.action-field strong{color:#f8fafc;font-size:14px}.action-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-preview-grid>div{background:#02061761;border:1px solid #1e293be6;border-radius:14px;padding:12px}.action-preview-grid>div>strong{color:#f8fafc;margin-bottom:8px;display:block}.action-preview-row{border-top:1px solid #3341558c;justify-content:space-between;gap:12px;padding:7px 0;font-size:13px;display:flex}.action-preview-row:first-of-type{border-top:none}.action-preview-row span{color:#94a3b8}.action-preview-row em{color:#e5e7eb;text-align:right;font-style:normal}.action-modal-footer{border-top:1px solid #334155bf;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;padding-top:12px;display:flex}.ghost-button{color:#cbd5e1;background:#0f172abf;border:1px solid #334155;border-radius:12px;padding:9px 12px;font-weight:800}.ghost-button:hover{color:#f8fafc;border-color:#60a5fa}@media (width<=1000px){.action-modal-port-context,.action-form-grid,.selected-port-grid.expanded{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.action-modal-port-context,.action-form-grid,.action-preview-grid,.selected-port-grid.expanded{grid-template-columns:1fr}.action-modal-footer{flex-direction:column;align-items:stretch}}.apply-confirm-check{color:#fde68a;background:#713f1229;border:1px solid #facc1552;border-radius:12px;align-items:flex-start;gap:10px;margin-top:12px;padding:10px 12px;font-size:13px;font-weight:800;line-height:1.45;display:flex}.apply-confirm-check input{accent-color:#facc15;margin-top:2px}.action-result-box{margin-top:12px}.action-success-box{color:#bbf7d0;background:#14532d33;border:1px solid #22c55e59;border-radius:12px;gap:4px;margin-top:12px;padding:10px 12px;font-size:13px;display:grid}.action-success-box strong{color:#dcfce7}.apply-button:not(:disabled){cursor:pointer;opacity:1;color:#dcfce7;background:#16653461;border-color:#22c55e8c}.port-summary-grid.extended{grid-template-columns:repeat(9,minmax(0,1fr))}.switch-port-header,.switch-port-row{grid-template-columns:1.05fr .85fr .55fr 1.15fr .45fr .65fr 1.25fr 1.05fr}.connected-clients-card{background:#0f172a61;border:1px solid #334155cc;border-radius:14px;margin-top:12px;padding:12px}.connected-clients-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px;display:flex}.connected-clients-header strong{color:#f8fafc}.connected-clients-header span{color:#94a3b8;font-size:12px;font-weight:700}.connected-client-list{gap:8px;display:grid}.connected-client-row{background:#02061757;border:1px solid #1e293bd9;border-radius:12px;grid-template-columns:1.4fr 1fr;align-items:start;gap:10px;padding:9px 10px;display:grid}.connected-client-row strong,.connected-client-row span,.connected-client-row small{display:block}.connected-client-row strong{color:#e0f2fe;font-size:13px}.connected-client-row span,.connected-client-row small{color:#94a3b8;font-size:12px;line-height:1.35}@media (width<=1200px){.port-summary-grid.extended{grid-template-columns:repeat(3,minmax(0,1fr))}.switch-port-header,.switch-port-row{grid-template-columns:1fr 1fr}}@media (width<=760px){.connected-client-row{grid-template-columns:1fr}}.port-trunk-glyph{color:#bfdbfef2;letter-spacing:-.02em;font-size:10px;font-weight:800;line-height:1}.router-map .leaflet-interactive{cursor:pointer}.meraki-port-key:not([open]){background:0 0}.meraki-port-key:not([open]) summary{border-bottom:0}.switch-port-header,.switch-port-row{grid-template-columns:.7fr .75fr .45fr .95fr .35fr .55fr 1.05fr .9fr!important;gap:6px!important;padding-left:8px!important;padding-right:8px!important}.switch-port-header{letter-spacing:.055em!important;font-size:10px!important}.switch-port-row{min-height:50px!important;font-size:12px!important}.switch-port-row small{font-size:11px!important}.port-status-pill{padding:2px 6px!important;font-size:11px!important}.switch-metrics-panel{background:#0206175c;border:1px solid #334155d9;border-radius:14px;margin:0 0 14px;padding:12px}.metrics-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.metrics-header strong,.metrics-header span,.metrics-header small{display:block}.metrics-header strong{color:#f8fafc}.metrics-header span,.metrics-header small{color:#94a3b8;font-size:12px}.metrics-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.metric-value{background:#0f172a73;border:1px solid #1e293bd9;border-radius:12px;padding:8px}.metric-value span,.metric-value strong{display:block}.metric-value span{color:#94a3b8;font-size:11px}.metric-value strong{color:#f8fafc;margin-top:2px;font-size:15px}.metrics-placeholder{color:#94a3b8;background:#0f172a4d;border:1px dashed #334155e6;border-radius:12px;padding:10px 12px;font-size:12px}@media (width<=1200px){.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.metrics-header .ghost-button.compact{white-space:nowrap;min-height:30px;padding:6px 10px}.metrics-source-row{color:#94a3b8;flex-wrap:wrap;gap:10px 18px;margin:0 0 10px;font-size:12px;display:flex}.metrics-source-row strong{color:#e2e8f0}.metric-chart-card{background:linear-gradient(#0f172a9e,#0206175c);border:1px solid #1e293bd9;border-radius:14px;margin-top:10px;padding:10px 12px;overflow:hidden}.metric-chart-card.empty{color:#94a3b8;font-size:12px}.metric-chart-card.empty strong,.metric-chart-card.empty span{display:block}.metric-chart-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.metric-chart-title strong{color:#f8fafc;font-size:13px}.metric-chart-title span{color:#94a3b8;font-size:11px}.metric-chart-card svg{width:100%;height:210px;display:block}.chart-axis{stroke:#94a3b86b;stroke-width:1px}.chart-grid-line{stroke:#3341558c;stroke-width:1px;stroke-dasharray:4 5}.chart-label{fill:#94a3b8;font-size:10px}.chart-line{fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;opacity:.95}.chart-line.series-0,.series-dot.series-0{stroke:#38bdf8;background:#38bdf8}.chart-line.series-1,.series-dot.series-1{stroke:#22c55e;background:#22c55e}.chart-line.series-2,.series-dot.series-2{stroke:#f59e0b;background:#f59e0b}.chart-line.series-3,.series-dot.series-3{stroke:#ef4444;background:#ef4444}.chart-line.series-4,.series-dot.series-4{stroke:#a78bfa;background:#a78bfa}.metric-chart-legend{color:#cbd5e1;flex-wrap:wrap;gap:6px 12px;margin-top:4px;font-size:11px;display:flex}.metric-chart-legend span{align-items:center;gap:5px;display:inline-flex}.series-dot{border-radius:99px;width:9px;height:9px;display:inline-block}.metrics-debug-details{color:#94a3b8;border:1px solid #334155cc;border-radius:12px;margin-top:10px;padding:8px 10px;font-size:12px}.metrics-debug-details summary{cursor:pointer;color:#bfdbfe;font-weight:700}.metrics-debug-details pre{white-space:pre-wrap;color:#cbd5e1;background:#02061785;border-radius:10px;max-height:260px;padding:10px;overflow:auto}@media (width<=900px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-chart-title{flex-direction:column;align-items:flex-start}}.switch-metrics-panel.improved{background:linear-gradient(#0f172aad,#0206176b);padding:14px}.metrics-header.improved{align-items:center;margin-bottom:12px}.metrics-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.time-window-group{background:#02061773;border:1px solid #334155d9;border-radius:999px;gap:4px;padding:3px;display:inline-flex}.time-window-group button{color:#94a3b8;background:0 0;border:0;border-radius:999px;min-height:28px;padding:5px 10px;font-size:12px;font-weight:800}.time-window-group button:hover:not(:disabled),.time-window-group button.active{color:#f8fafc;background:#2563ebd9}.metrics-source-row.improved{background:#02061747;border:1px solid #1e293bb3;border-radius:12px;margin-bottom:12px;padding:8px 10px}.metrics-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.metric-chart-card.improved{min-height:330px;margin-top:0}.metric-chart-title>div{gap:2px;display:grid}.metric-chart-title small{color:#94a3b8;font-size:11px;line-height:1.35}.metric-chart-card.improved svg{height:245px}.metric-chart-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.metric-last-sample{color:#64748b;white-space:nowrap;font-size:11px}@media (width<=1500px){.metrics-dashboard-grid{grid-template-columns:1fr}}@media (width<=900px){.metrics-header.improved{flex-direction:column;align-items:flex-start}.metrics-toolbar{justify-content:flex-start}}.metrics-dashboard-stack{grid-template-columns:1fr;gap:12px;display:grid}.metrics-dashboard-stack .metric-chart-card.improved{width:100%;min-height:360px}.metrics-dashboard-stack .metric-chart-card.improved svg{width:100%;height:280px}.compact-source-row{align-items:center;gap:8px 16px}.switch-metrics-panel.improved{margin-top:14px}.metric-chart-card.improved.full-width-chart{padding:10px 12px 8px;min-height:0!important}.metric-chart-canvas{width:100%;position:relative}.metric-chart-card.improved.full-width-chart svg{display:block;width:100%!important;height:300px!important}.metrics-dashboard-stack .metric-chart-card.improved.full-width-chart svg{height:300px!important}.chart-hover-line{stroke:#e2e8f0a6;stroke-width:1px;stroke-dasharray:3 4;pointer-events:none}.chart-point{stroke:#020617;stroke-width:2px;pointer-events:none}.chart-point.series-0{fill:#38bdf8}.chart-point.series-1{fill:#22c55e}.chart-point.series-2{fill:#f59e0b}.chart-point.series-3{fill:#ef4444}.chart-point.series-4{fill:#a78bfa}.metric-hover-tooltip{color:#cbd5e1;z-index:20;pointer-events:none;background:#020617f0;border:1px solid #60a5fa73;border-radius:12px;min-width:190px;max-width:320px;padding:8px 10px;font-size:11px;position:absolute;top:14px;transform:translate(-50%);box-shadow:0 14px 30px #00000061}.metric-hover-tooltip strong,.metric-hover-tooltip span{align-items:center;gap:6px;display:flex}.metric-hover-tooltip strong{color:#f8fafc;margin-bottom:5px}.metric-hover-tooltip span{white-space:nowrap;justify-content:space-between}.metric-hover-tooltip b{color:#f8fafc;margin-left:auto}.metrics-dashboard-stack{gap:10px!important}.metric-chart-title{margin-bottom:2px!important}.metric-chart-footer{margin-top:2px!important}.page-stack,.card,.card-header,.form-row,.form-row>label{min-width:0}.form-row select,.form-row textarea,.form-row input{text-overflow:ellipsis;min-width:0;max-width:100%;overflow:hidden}.card{max-width:100%}.switch-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.switch-sibling-nav{color:#cbd5e1;background:#0206176b;border:1px solid #334155e6;border-radius:999px;align-items:center;gap:6px;padding:4px 6px;display:inline-flex}.switch-sibling-nav span{text-align:center;color:#93c5fd;min-width:42px;font-size:12px;font-weight:900}.icon-button.compact{border-radius:999px;width:30px;height:30px;min-height:30px;padding:0;font-weight:900}.topology-page .card-actions{justify-content:flex-end;min-width:0}.topology-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.topology-kpis>div{background:#0f172ab3;border:1px solid #1e293b;border-radius:14px;gap:3px;padding:12px;display:grid}.topology-kpis strong{color:#f8fafc;font-size:24px}.topology-kpis span{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.topology-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;max-width:100%;display:flex}.topology-select-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;max-width:360px;font-size:12px;font-weight:900;display:inline-flex}.topology-select-label select{color:#e2e8f0;background:#020617b8;border:1px solid #334155e6;border-radius:10px;min-width:180px;max-width:280px;padding:7px 28px 7px 10px;font-weight:800}.topology-toggles{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.topology-toggle{color:#cbd5e1;white-space:nowrap;background:#02061794;border:1px solid #334155e6;border-radius:999px;grid-template-columns:none;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.topology-toggle input{margin:0}.topology-help{color:#bfdbfe;background:#1e40af1c;border:1px solid #60a5fa3d;border-radius:12px;margin-bottom:10px;padding:9px 11px;font-size:13px;line-height:1.45}.topology-flow-wrap{background:radial-gradient(circle at 28% 35%,#1e40af21,#0000 34%),linear-gradient(90deg,#0f172ad1,#020617f5),#0b1120;height:min(68vh,720px);min-height:560px}.topology-flow-wrap .react-flow__pane{cursor:grab}.topology-flow-wrap .react-flow__node{color:#e5e7eb;background:#0f172af5;border:1px solid #475569eb;border-radius:14px;padding:0;box-shadow:0 12px 28px #00000047}.topology-node-card{border-radius:14px;gap:5px;min-height:82px;padding:10px 11px;display:grid;overflow:hidden}.topology-node-topline{justify-content:space-between;align-items:center;gap:8px;display:flex}.topology-node-type{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900;overflow:hidden}.topology-node-alert{color:#fecaca;text-transform:uppercase;background:#7f1d1d80;border:1px solid #f87171a6;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:900}.topology-node-title{color:#f8fafc;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;line-height:1.2;overflow:hidden}.topology-node-subtitle{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.2;overflow:hidden}.topology-node-badges{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;display:flex}.topology-node-badge{color:#cbd5e1;background:#0f172ab8;border:1px solid #64748b9e;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:900;line-height:1.2}.topology-node-badge.good{color:#bbf7d0;background:#14532d61;border-color:#22c55e85}.topology-node-badge.warn{color:#fde68a;background:#78350f5c;border-color:#f59e0b99}.topology-node-badge.info{color:#bae6fd;background:#0c4a6e5c;border-color:#0ea5e980}.topology-node-badge.purple{color:#e9d5ff;background:#581c8757;border-color:#a855f77a}.topology-node-badge.muted{color:#94a3b8}.topology-handle{opacity:0;pointer-events:none}.topology-flow-wrap .react-flow__node.topology-node-network{background:#1e40af4d;border-color:#60a5fae6}.topology-flow-wrap .react-flow__node.topology-node-network .topology-node-card{background:linear-gradient(135deg,#1e40af73,#0f172ad6)}.topology-flow-wrap .react-flow__node.topology-node-appliance{border-color:#22c55ec7}.topology-flow-wrap .react-flow__node.topology-node-appliance .topology-node-card{box-shadow:inset 4px 0 #22c55ed9}.topology-flow-wrap .react-flow__node.topology-node-zabbix-router{border-color:#f97316cc}.topology-flow-wrap .react-flow__node.topology-node-zabbix-router .topology-node-card{box-shadow:inset 4px 0 #f97316d9}.topology-flow-wrap .react-flow__node.topology-node-switch{border-color:#0ea5e9c7}.topology-flow-wrap .react-flow__node.topology-node-switch .topology-node-card{box-shadow:inset 4px 0 #0ea5e9d9}.topology-flow-wrap .react-flow__node.topology-node-wireless{border-color:#a855f7c7}.topology-flow-wrap .react-flow__node.topology-node-wireless .topology-node-card{box-shadow:inset 4px 0 #a855f7d9}.topology-flow-wrap .react-flow__node.topology-node-wan-uplink{border-color:#f59e0bc7}.topology-flow-wrap .react-flow__node.topology-node-vpn-peer{border-color:#f472b6c7}.topology-flow-wrap .react-flow__node.topology-node-unmapped,.topology-flow-wrap .react-flow__node.topology-node-other{border-color:#94a3b894}.topology-flow-wrap .react-flow__node.topology-node-problem{border-color:#f87171f2;box-shadow:0 0 0 2px #f871712e,0 16px 32px #00000059}.topology-flow-wrap .react-flow__edge-path{stroke:#94a3b8b3}.topology-flow-wrap .react-flow__edge-site-gateway .react-flow__edge-path{stroke:#22c55edb}.topology-flow-wrap .react-flow__edge-site-switch .react-flow__edge-path{stroke:#0ea5e9db}.topology-flow-wrap .react-flow__edge-site-wireless .react-flow__edge-path{stroke:#a855f7db}.topology-flow-wrap .react-flow__edge-wan-uplink .react-flow__edge-path{stroke:#f59e0be6}.topology-flow-wrap .react-flow__edge-auto-vpn .react-flow__edge-path,.topology-flow-wrap .react-flow__edge-third-party-vpn .react-flow__edge-path{stroke:#f472b6e6}.topology-legend{color:#cbd5e1;background:#020617d6;border:1px solid #334155e6;border-radius:999px;flex-wrap:wrap;gap:8px;padding:7px 10px;font-size:12px;font-weight:800;display:flex;box-shadow:0 10px 28px #00000040}.topology-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot,.legend-ring{background:#64748b;border-radius:999px;width:10px;height:10px;display:inline-block}.legend-dot.network{background:#60a5fa}.legend-dot.appliance{background:#22c55e}.legend-dot.switch{background:#0ea5e9}.legend-dot.wireless{background:#a855f7}.legend-dot.zabbix{background:#f97316}.legend-ring.problem{background:0 0;border:2px solid #f87171}@media (width<=1100px){.topology-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.topology-controls{justify-content:flex-start}}@media (width<=700px){.topology-kpis{grid-template-columns:1fr}.topology-toggles{justify-content:flex-start}.topology-select-label,.topology-select-label select{width:100%;max-width:100%}}.topology-flow-wrap .react-flow__viewport{transform-origin:50%}.topology-flow-wrap .react-flow__edge-label{fill:#cbd5e1;font-weight:800}@media (width>=1200px){.topology-flow-wrap{height:min(66vh,700px);min-height:540px}}.topology-cache-note{color:#cbd5e1;background:#0ea5e917;border:1px solid #38bdf859;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.4}.topology-cache-note strong{color:#e0f2fe}.topology-flow-wrap .react-flow__controls{z-index:20;border:1px solid #94a3b88c;border-radius:12px;bottom:14px;left:14px;overflow:hidden;box-shadow:0 12px 28px #00000059}.topology-flow-wrap .react-flow__controls-button{color:#0f172a;background:#f8fafcf5;border-bottom:1px solid #94a3b880;width:34px;height:34px}.topology-flow-wrap .react-flow__controls-button:hover{background:#dbeafe}.topology-flow-wrap .react-flow__controls-button svg{fill:#0f172a}.topology-flow-wrap .react-flow__edge-path{stroke-width:1.7px;stroke-opacity:.82}.topology-flow-wrap .react-flow__edge-switch-uplink .react-flow__edge-path{stroke:#7dd3fcdb;stroke-width:1.9px}@media (width>=1500px){.topology-flow-wrap{height:min(80vh,980px);min-height:700px}}.topology-page .page-title,.topology-page .page-title p{margin-bottom:0}.topology-page .card:has(.topology-flow-wrap) .card-body{flex-direction:column;min-height:calc(100vh - 300px);display:flex}.topology-flow-wrap{flex:auto;height:calc(100vh - 330px);min-height:760px}.topology-map-note{color:#94a3b8;background:#0f172a80;border:1px solid #334155bf;border-radius:12px;padding:8px 11px;font-size:12px;line-height:1.4}@media (width>=1500px){.topology-page .card:has(.topology-flow-wrap){min-height:calc(100vh - 225px)}.topology-flow-wrap{height:calc(100vh - 315px);min-height:820px}}@media (height<=850px){.topology-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.topology-kpis>div{padding:8px 10px}.topology-kpis strong{font-size:18px}.topology-kpis span{font-size:10px}.topology-flow-wrap{min-height:620px}}.topology-flow-wrap{min-height:720px}.topology-flow-wrap .react-flow__node{box-shadow:0 8px 22px #0000003d}.topology-node-card{gap:4px;min-height:72px;padding:8px 10px}.topology-node-title{font-size:12px}.topology-node-subtitle{font-size:10px}.topology-node-badge{padding:2px 5px;font-size:9px}.topology-map-note{display:none}@media (width>=1500px){.topology-flow-wrap{min-height:740px}}@media (height<=900px){.topology-flow-wrap{height:calc(100vh - 285px);min-height:650px}}.topology-mini-button{color:#dbeafe;cursor:pointer;white-space:nowrap;background:#0f172ad9;border:1px solid #94a3b859;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.topology-mini-button:hover{background:#0e749059;border-color:#38bdf8bf}.topology-flow-wrap .react-flow__node.draggable .topology-node-card{cursor:grab}.topology-flow-wrap .react-flow__node.dragging .topology-node-card{cursor:grabbing;box-shadow:0 14px 36px #38bdf840}.topology-page{gap:6px}.topology-page .page-title{min-height:0;margin:0}.topology-page .page-title h1{margin:0;font-size:22px}.topology-page .page-title p,.topology-help,.topology-kpis,.topology-map-note{display:none!important}.topology-page .card:has(.topology-flow-wrap){min-height:calc(100vh - 105px)}.topology-page .card:has(.topology-flow-wrap) .card-body{min-height:calc(100vh - 155px);padding-top:8px}.topology-flow-wrap{height:calc(100vh - 175px)!important;min-height:520px!important}.topology-cache-note{padding:5px 9px;font-size:11px}.topology-page .card-header{padding-top:9px;padding-bottom:9px}.topology-node-badge.muted{color:#cbd5e1;background:#1e293b80;border-color:#64748b73}@media (height<=850px){.topology-flow-wrap{height:calc(100vh - 160px)!important;min-height:460px!important}.topology-node-card{min-height:66px}}.global-status-page{gap:14px}.global-status-title{align-items:flex-start;margin-bottom:-4px}.global-status-title h1{font-size:24px}.global-status-toolbar{background:#0206176b;border:1px solid #1e293b;border-radius:14px;flex-wrap:wrap;justify-content:flex-start;align-items:end;gap:10px;padding:10px;display:flex}.global-status-toolbar label{gap:4px;width:min(260px,100%)}.global-status-toolbar label span{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:900}.global-status-toolbar select{min-width:0;height:38px}.global-status-toolbar button{height:38px}.global-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.global-card-actions select{min-width:170px}.global-hero-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.global-mini-kpi{background:linear-gradient(#0f172af2,#020617eb);border:1px solid #1e293b;border-radius:16px;gap:4px;min-height:74px;padding:12px 14px;display:grid}.global-mini-kpi span{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.global-mini-kpi strong{color:#f8fafc;font-size:24px;line-height:1.1}.global-mini-kpi.good{border-color:#22c55e59}.global-mini-kpi.warn{border-color:#f59e0b73}.global-mini-kpi.bad{border-color:#f871718c}.global-status-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid #94a3b840;border-radius:999px;align-items:center;width:fit-content;padding:4px 9px;font-size:12px;font-weight:900;display:inline-flex}.global-status-badge.good{color:#86efac;background:#16a34a29;border-color:#22c55e61}.global-status-badge.warn{color:#fcd34d;background:#f59e0b24;border-color:#f59e0b61}.global-status-badge.bad{color:#fca5a5;background:#dc26262e;border-color:#f8717173}.global-status-badge.muted{color:#cbd5e1;background:#64748b2e}.fleet-timeline-list{gap:10px;max-height:48vh;padding-right:4px;display:grid;overflow:auto}.fleet-router-row{text-align:left;background:0 0;border:1px solid #0000;border-radius:14px;width:100%;padding:0;display:block}.fleet-router-row:hover,.fleet-router-row.selected{background:#1e40af21;border-color:#60a5fa73}.connectivity-card{background:#0206178a;border:1px solid #1e293b;border-radius:14px;gap:8px;padding:10px 12px;display:grid}.connectivity-card-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.connectivity-card-header>div:first-child{gap:2px;min-width:180px;display:grid}.connectivity-card-header strong{color:#f8fafc}.connectivity-card-header span,.connectivity-card-right span{color:#94a3b8;font-size:12px}.connectivity-card-right{align-items:center;gap:8px;display:flex}.timeline-track{background:#0f172af2;border:1px solid #1e293bf2;border-radius:999px;height:22px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05}.timeline-segment{min-width:2px;position:absolute;top:0;bottom:0}.timeline-segment.up{background:linear-gradient(90deg,#22c55e,#84cc16)}.timeline-segment.down,.timeline-segment.problem{background:linear-gradient(90deg,#ef4444,#f97316);box-shadow:0 0 18px #f8717180}.timeline-segment.unknown{background:repeating-linear-gradient(45deg,#64748b99,#64748b99 7px,#33415599 7px 14px)}.timeline-axis{color:#64748b;justify-content:space-between;font-size:11px;display:flex}.global-lower-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:14px;display:grid}.attention-list{gap:8px;display:grid}.attention-row{text-align:left;background:#02061780;border:1px solid #1e293b;border-radius:12px;grid-template-columns:minmax(180px,1fr) auto auto auto;align-items:center;gap:10px;width:100%;display:grid}.attention-row div{gap:2px;display:grid}.attention-row span,.attention-row small,.attention-row div span{color:#94a3b8}.triage-list{gap:10px;display:grid}.triage-list div{grid-template-columns:30px 1fr;align-items:start;gap:10px;display:grid}.triage-list strong{color:#f8fafc;background:#1d4ed8;border-radius:999px;place-items:center;width:26px;height:26px;display:grid}.triage-list span{color:#cbd5e1}.health-signal-list{gap:8px;display:grid}.health-signal-row{background:#02061773;border:1px solid #1e293b;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.health-signal-row div{gap:3px;display:grid}.health-signal-row strong{color:#f8fafc}.health-signal-row span{color:#94a3b8;font-size:12px}.health-signal-row em{color:#f8fafc;font-size:20px;font-style:normal;font-weight:900}.health-signal-row.good{border-color:#22c55e59}.health-signal-row.warn{border-color:#f59e0b73}.health-signal-row.bad{border-color:#f871718c}.global-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.router-detail-hero{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.router-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.router-meta-grid div,.status-row,.problem-row,.log-row{background:#02061773;border:1px solid #1e293b;border-radius:12px;padding:9px 10px}.router-meta-grid div{gap:4px;display:grid}.router-meta-grid span,.status-row small,.log-row span,.problem-row small{color:#94a3b8;font-size:12px}.router-meta-grid strong,.status-row strong{color:#f8fafc;word-break:break-word}.series-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.sparkline-wrap{background:#02061773;border:1px solid #1e293b;border-radius:12px;padding:8px}.sparkline-label{color:#94a3b8;justify-content:space-between;margin-bottom:4px;font-size:12px;display:flex}.sparkline-label strong{color:#f8fafc}.sparkline{width:100%;height:80px;display:block}.sparkline polyline{stroke:#38bdf8}.sparkline.orange polyline{stroke:#fb923c}.sparkline.blue polyline{stroke:#38bdf8}.sparkline-empty{color:#64748b;border:1px dashed #334155;border-radius:12px;place-items:center;height:114px;display:grid}.wan-vpn-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.wan-vpn-panel h3{margin:0 0 8px;font-size:15px}.status-row{grid-template-columns:1fr auto;gap:4px 8px;margin-bottom:8px;display:grid}.status-row small{grid-column:1/-1}.status-row.compact{grid-template-columns:1fr auto;padding:7px 9px}.vpn-summary-line{align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.vpn-summary-line strong{color:#f8fafc;font-size:28px}.vpn-summary-line span{color:#94a3b8}.vpn-warning{color:#fecaca;background:#7f1d1d47;border:1px solid #f8717173;border-radius:12px;margin-bottom:8px;padding:8px 10px}.problem-list,.log-list{gap:8px;max-height:360px;margin-top:10px;padding-right:4px;display:grid;overflow:auto}.problem-row{grid-template-columns:100px 1fr auto;align-items:center;gap:10px;display:grid}.problem-row strong{color:#fca5a5}.log-row{grid-template-columns:160px 70px 80px 1fr;align-items:center;gap:10px;display:grid}.log-row p{color:#cbd5e1;margin:0}.log-row em{color:#fcd34d;font-style:normal}@media (width<=1200px){.global-hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.global-detail-grid,.global-lower-grid{grid-template-columns:1fr}}@media (width<=760px){.global-hero-grid,.router-detail-hero,.router-meta-grid,.wan-vpn-grid,.series-grid,.attention-row,.problem-row,.log-row{grid-template-columns:1fr}.global-status-title{flex-direction:column;align-items:stretch}.global-status-toolbar{align-items:stretch}.global-status-toolbar label{width:100%}}.global-status-heading-card{border-bottom:1px solid #1e293be6;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;padding:2px 0 12px;display:grid}.global-status-heading-card .global-status-title{margin-bottom:0}.global-status-heading-card .global-status-title h1{margin-bottom:6px;line-height:1.1}.global-status-heading-card .global-status-title p{margin:0}.global-status-heading-card .global-status-toolbar{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(190px,240px) minmax(190px,240px) auto;align-self:end;align-items:end;gap:10px;width:auto;min-width:0;padding:0;display:grid}.global-status-heading-card .global-status-toolbar label{gap:5px;width:auto;min-width:0;display:grid}.global-status-heading-card .global-status-toolbar label span{white-space:nowrap;line-height:1}.global-status-heading-card .global-status-toolbar select,.global-status-heading-card .global-status-toolbar button{box-sizing:border-box;height:40px;line-height:1.2}.global-status-heading-card .global-status-toolbar select{width:100%;padding-top:0;padding-bottom:0}.global-detail-grid{align-items:stretch}.global-detail-grid>.card{height:100%;min-height:0}.global-detail-grid>.card:nth-child(3),.global-detail-grid>.card:nth-child(4){min-height:318px}.wan-vpn-grid{align-items:start;height:100%}.wan-vpn-panel{align-content:start;min-width:0;display:grid}.wan-vpn-panel .status-row{min-height:48px}.wan-vpn-panel .status-row.compact{min-height:38px}@media (width<=1300px){.global-status-heading-card{grid-template-columns:1fr;align-items:stretch}.global-status-heading-card .global-status-toolbar{grid-template-columns:repeat(2,minmax(180px,1fr)) auto}}@media (width<=760px){.global-status-heading-card .global-status-toolbar{grid-template-columns:1fr}}.attention-row-with-reasons{grid-template-columns:minmax(180px,1fr) auto auto auto}.attention-reasons{flex-wrap:wrap;grid-column:1/-1;gap:6px;margin-top:2px;display:flex!important}.attention-reasons em{color:#cbd5e1;background:#0f172abd;border:1px solid #94a3b83d;border-radius:999px;padding:4px 8px;font-size:11px;font-style:normal;font-weight:800}.attention-reasons em.warn{color:#fcd34d;background:#78350f3d;border-color:#f59e0b73}.attention-reasons em.bad{color:#fecaca;background:#7f1d1d47;border-color:#f871717a}.timeline-subtitle{color:#94a3b8;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.timeline-hover,.sparkline-tooltip{z-index:12;color:#cbd5e1;pointer-events:none;white-space:normal;background:#020617f5;border:1px solid #60a5fa7a;border-radius:10px;gap:2px;min-width:180px;max-width:280px;padding:8px 10px;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 16px 35px #0000006b}.timeline-hover strong,.sparkline-tooltip strong{color:#f8fafc}.timeline-hover span,.sparkline-tooltip span{color:#94a3b8;font-size:11px}.timeline-hover.meraki{border-color:#fb923c80}.sparkline-canvas{position:relative}.sparkline{height:118px}.sparkline-crosshair{stroke:#e2e8f08c;stroke-width:1px;stroke-dasharray:4 4}.sparkline-dot{fill:#f8fafc;stroke:#0f172a;stroke-width:2px}.sparkline-tooltip{top:4px}.meraki-history-card{background:#02061759;border:1px solid #1e293b;border-radius:12px;gap:8px;margin-top:12px;padding:10px;display:grid}.meraki-event-track{background:#0f172abd;border:1px solid #1e293bf2;border-radius:999px;height:32px;position:relative}.meraki-event-baseline{background:#94a3b859;height:2px;position:absolute;top:50%;left:8px;right:8px;transform:translateY(-50%)}.meraki-event-dot{border:2px solid #020617eb;border-radius:999px;width:10px;height:10px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffff29}.meraki-event-dot.info{background:#38bdf8}.meraki-event-dot.warn{background:#fb923c;box-shadow:0 0 16px #fb923c6b}.meraki-no-events{color:#64748b;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.compact-preview{max-height:258px}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020617b8;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.logs-modal{background:#0f172a;border:1px solid #60a5fa52;border-radius:18px;grid-template-rows:auto auto 1fr;width:min(1240px,96vw);max-height:88vh;display:grid;overflow:hidden;box-shadow:0 30px 90px #0000008c}.logs-modal-header{border-bottom:1px solid #1e293b;justify-content:space-between;align-items:start;gap:16px;padding:16px;display:flex}.logs-modal-header h2{color:#f8fafc;margin:0 0 4px}.logs-modal-header p{color:#94a3b8;margin:0}.logs-modal-filters{border-bottom:1px solid #1e293b;grid-template-columns:minmax(240px,1fr) minmax(150px,190px) minmax(150px,190px) auto;align-items:center;gap:10px;padding:12px 16px;display:grid}.logs-modal-filters input,.logs-modal-filters select{height:38px}.logs-modal-filters span{color:#94a3b8;white-space:nowrap}.logs-modal-list{gap:8px;padding:12px 16px 16px;display:grid;overflow:auto}.log-row.expanded{grid-template-columns:190px 90px 110px minmax(0,1fr)}@media (width<=900px){.logs-modal-filters,.log-row.expanded{grid-template-columns:1fr}}.logs-modal-filters{grid-template-columns:minmax(320px,1fr) minmax(220px,260px) minmax(220px,260px) auto}.logs-modal-filters input,.logs-modal-filters select{text-overflow:clip;min-width:0;height:46px;padding:0 14px;font-size:15px;line-height:46px;overflow:visible}.logs-modal-filters select{appearance:auto;white-space:nowrap}.logs-modal-filters span{padding-left:2px;font-size:15px}.log-row.expanded{align-items:start}.log-row.expanded p{gap:8px;min-width:0;display:grid}.log-details{background:#0f172a8c;border:1px solid #60a5fa33;border-radius:10px;margin-top:4px;padding:7px 9px}.log-details summary{cursor:pointer;color:#93c5fd;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:800}.log-details pre{white-space:pre-wrap;word-break:break-word;color:#cbd5e1;max-height:260px;margin:8px 0 0;font-size:12px;line-height:1.45;overflow:auto}@media (width<=980px){.logs-modal-filters{grid-template-columns:1fr}}.global-router-drilldown{gap:14px;display:grid}.global-router-lower-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.connection-history-stack{gap:12px;display:grid}.connection-history-stack .connectivity-card,.connection-history-stack .meraki-history-card{margin:0}.full-width-history{margin-top:0}.router-detail-hero.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.wan-vpn-grid.balanced{align-items:start;height:auto}.wan-detail-row{background:#02061773;border:1px solid #1e293b;border-radius:14px;margin-bottom:10px;padding:10px}.wan-detail-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.wan-detail-head strong{color:#f8fafc}.wan-detail-grid{grid-template-columns:140px minmax(0,1fr);gap:5px 10px;display:grid}.wan-detail-grid span{color:#94a3b8;font-size:12px}.wan-detail-grid strong{color:#e2e8f0;word-break:break-word;font-size:12px}.tool-console{gap:12px;display:grid}.tool-grid{grid-template-columns:minmax(180px,240px) minmax(220px,1fr) minmax(160px,220px) auto;align-items:end;gap:10px;display:grid}.tool-grid label{gap:5px;min-width:0;display:grid}.tool-grid label span{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:900}.tool-grid input,.tool-grid select{width:100%;min-width:0;height:40px}.tool-grid button{height:40px}.danger-button{color:#fecaca!important;background:#7f1d1d59!important;border-color:#f871718c!important}.tool-result{background:#02061773;border:1px solid #60a5fa38;border-radius:12px;padding:9px 10px}.tool-result summary{cursor:pointer;color:#93c5fd;font-weight:900}.tool-result pre{white-space:pre-wrap;word-break:break-word;color:#cbd5e1;max-height:300px;font-size:12px;overflow:auto}.error-box.compact,.warning-box{border-radius:12px;padding:9px 10px;font-size:13px}.warning-box{color:#fcd34d;background:#78350f38;border:1px solid #f59e0b59}.fleet-timeline-list{gap:6px;max-height:none;overflow:visible}.fleet-timeline-list .connectivity-card{gap:5px;padding:7px 9px}.fleet-timeline-list .connectivity-card-header{grid-template-columns:minmax(155px,220px) minmax(0,1fr) auto;gap:8px;display:grid}.fleet-timeline-list .timeline-subtitle{display:none}.fleet-timeline-list .timeline-track{grid-area:1/2;align-self:center;height:14px}.fleet-timeline-list .timeline-axis{grid-column:2;font-size:10px}.fleet-timeline-list .connectivity-card-right{grid-area:1/3}@media (width<=1300px){.global-router-lower-grid,.tools-logs-grid{grid-template-columns:1fr}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.router-detail-hero.compact,.tool-grid,.wan-detail-grid,.fleet-timeline-list .connectivity-card-header{grid-template-columns:1fr}.fleet-timeline-list .timeline-track,.fleet-timeline-list .timeline-axis,.fleet-timeline-list .connectivity-card-right{grid-area:auto/1}}.fleet-timeline-list .connectivity-card-header{grid-template-columns:minmax(120px,170px) minmax(0,1fr) minmax(88px,auto)}.fleet-timeline-list .connectivity-card-header>div:first-child{min-width:0}.fleet-timeline-list .connectivity-card-header>div:first-child strong,.fleet-timeline-list .connectivity-card-header>div:first-child span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fleet-timeline-list .connectivity-card-right{white-space:nowrap;justify-content:end}.global-router-drilldown>.card:first-child{grid-column:1/-1}.connection-history-stack .timeline-track{width:100%}.fleet-timeline-list{gap:5px}.fleet-timeline-list .connectivity-card{grid-template-rows:auto auto;grid-template-columns:minmax(96px,145px) auto minmax(0,1fr);align-items:center;gap:3px 8px;padding:5px 7px;display:grid}.fleet-timeline-list .connectivity-card-header{display:contents}.fleet-timeline-list .connectivity-card-header>div:first-child{grid-area:1/1/span 2;align-self:center;min-width:0}.fleet-timeline-list .connectivity-card-right{white-space:nowrap;grid-area:1/2/span 2;justify-content:end;align-self:center;gap:5px}.fleet-timeline-list .connectivity-card-right .global-status-badge{padding:2px 7px;font-size:10px}.fleet-timeline-list .timeline-track{grid-area:1/3;align-self:end;width:100%;height:12px}.fleet-timeline-list .timeline-axis{grid-area:2/3;margin-top:0;font-size:9px;line-height:1}.fleet-timeline-list .timeline-hover{z-index:50}.tool-result pre{max-height:420px}.tool-result .tool-result-summary{gap:8px;margin:8px 0 10px;display:grid}.tool-result-pill-row{flex-wrap:wrap;gap:6px;display:flex}.tool-result-pill{color:#dbeafe;background:#1e40af2e;border:1px solid #60a5fa47;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.tool-result.pretty{gap:12px;padding:12px;display:grid}.tool-result.pretty pre{max-height:260px}.tool-result-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.tool-result-header>div{gap:3px;display:grid}.tool-result-header strong{color:#f8fafc;font-size:16px}.tool-result-header span{color:#94a3b8;font-size:12px}.tool-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.tool-replies{border-top:1px solid #1e293b;padding-top:10px}.tool-replies h4{color:#e2e8f0;margin:0 0 8px}.tool-reply-grid{gap:5px;display:grid}.tool-reply-row{color:#cbd5e1;border:1px solid #1e293b;border-radius:10px;grid-template-columns:70px 110px minmax(0,1fr);align-items:center;gap:10px;padding:6px 8px;display:grid}.tool-simple-grid{border:1px solid #1e293b;border-radius:12px;grid-template-columns:180px minmax(0,1fr);gap:7px 12px;padding:10px;display:grid}.tool-simple-grid span{color:#94a3b8}.tool-simple-grid strong{color:#f8fafc;word-break:break-word}.tool-raw-details{border-top:1px solid #1e293b;padding-top:8px}.tool-raw-details summary{color:#93c5fd;cursor:pointer;font-weight:800}.tool-note{color:#94a3b8;font-size:12px;line-height:1.4}.wan-hostline{background:#02061759;border:1px solid #1e293b;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px 10px;margin-bottom:10px;padding:8px 10px;display:grid}.wan-hostline span{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:900}.wan-hostline strong{color:#f8fafc;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fleet-timeline-list .connectivity-card{padding:4px 6px;grid-template-columns:minmax(86px,130px) minmax(82px,auto) minmax(0,1fr)!important}.fleet-timeline-list .timeline-track{min-width:0;width:100%!important}@media (width<=1200px){.tool-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wan-hostline{grid-template-columns:auto minmax(0,1fr)}}@media (width<=760px){.tool-stat-grid{grid-template-columns:1fr 1fr}.tool-simple-grid{grid-template-columns:1fr}}.port-filter-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin:10px 0 12px;display:flex}.port-filter-toolbar .port-filter-row{margin:0}.port-search-label{flex:320px;gap:4px;min-width:min(360px,100%);max-width:520px;display:grid}.port-search-label span{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:900}.port-search-label input{color:#e2e8f0;background:#020617b8;border:1px solid #334155eb;border-radius:12px;width:100%;padding:9px 11px;font-weight:700}.port-search-label input::placeholder{color:#64748b}.topology-parent-editor{gap:12px;display:grid}.topology-parent-editor p{color:#cbd5e1;margin:0;font-size:13px;line-height:1.45}.topology-parent-form{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end;gap:10px;display:grid}.topology-parent-form label{gap:5px;display:grid}.topology-parent-form label span,.topology-parent-count{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:900}.topology-parent-form select{color:#e2e8f0;background:#020617b8;border:1px solid #334155e6;border-radius:10px;min-width:0;padding:8px 10px;font-weight:800}.topology-parent-list{gap:7px;display:grid}.topology-parent-row{color:#cbd5e1;background:#0f172a8c;border:1px solid #334155bf;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.topology-parent-row strong{color:#f8fafc}.topology-parent-row button{color:#fecaca;background:#7f1d1d38;border:1px solid #f8717159;border-radius:999px;padding:5px 9px;font-weight:800}@media (width<=900px){.topology-parent-form{grid-template-columns:1fr}}.fleet-timeline-list .connectivity-card-right{min-width:0}.topology-edit-hint{color:#cbd5e1;white-space:nowrap;background:#1e40af29;border:1px solid #60a5fa47;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.port-search-label small{color:#94a3b8;margin-top:4px;font-size:11px}.fleet-timeline-list .connectivity-card{grid-template-columns:minmax(78px,118px) minmax(58px,auto) minmax(0,1fr)}.fleet-timeline-list .connectivity-card-right span{display:none}.fleet-timeline-list .timeline-track{min-width:280px}@media (width<=900px){.topology-edit-hint{white-space:normal;border-radius:12px}.fleet-timeline-list .timeline-track{min-width:0}}.firewall-rule-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.firewall-rule-kpis>div{background:#0f172a94;border:1px solid #334155cc;border-radius:14px;padding:10px 12px}.firewall-rule-kpis strong{color:#f8fafc;font-size:22px;line-height:1;display:block}.firewall-rule-kpis span{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:900}.firewall-rule-kpis .warn{background:#7f1d1d2e;border-color:#f8717161}.firewall-rule-kpis .watch{background:#78350f29;border-color:#fbbf2459}.firewall-filter-toolbar{grid-template-columns:minmax(280px,1fr) minmax(130px,170px) minmax(150px,190px) auto;align-items:end;gap:10px;margin-bottom:12px;display:grid}.firewall-filter-toolbar label{gap:5px;min-width:0;display:grid}.firewall-filter-toolbar label>span,.firewall-search-label span{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:900}.firewall-filter-toolbar input,.firewall-filter-toolbar select{color:#e2e8f0;background:#020617b8;border:1px solid #334155eb;border-radius:12px;width:100%;min-width:0;padding:9px 11px;font-weight:800}.firewall-checkbox-label{white-space:nowrap;background:#0f172a8c;border:1px solid #334155bf;border-radius:12px;flex-direction:row;padding:10px 12px;grid-template-columns:none!important;align-items:center!important;gap:8px!important;display:flex!important}.firewall-checkbox-label input{width:auto}.firewall-risk-pill{white-space:nowrap;color:#cbd5e1;background:#1e293b8c;border:1px solid #94a3b840;border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:11px;font-weight:900;display:inline-flex}.firewall-risk-pill.high{color:#fecaca;background:#7f1d1d47;border-color:#f871717a}.firewall-risk-pill.medium{color:#fde68a;background:#78350f38;border-color:#fbbf247a}.firewall-risk-pill.low{color:#bfdbfe;background:#1e40af33;border-color:#60a5fa5c}.policy-allow{color:#86efac}.policy-deny{color:#fca5a5}@media (width<=1050px){.firewall-filter-toolbar{grid-template-columns:1fr 1fr}.firewall-rule-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.firewall-filter-toolbar,.firewall-rule-kpis{grid-template-columns:1fr}}.global-status-toolbar select{min-width:190px}.connection-history-stack .connectivity-card-right{justify-content:end}.meraki-title-row{gap:3px;display:grid}.meraki-title-row small{color:#94a3b8;text-transform:none;letter-spacing:0;font-size:11px;font-weight:600;line-height:1.35}.wan-vpn-panel{min-width:0}.wan-detail-row{padding:12px}.wan-detail-grid{grid-template-columns:minmax(145px,170px) minmax(0,1fr);align-items:baseline;gap:7px 14px}.wan-detail-grid span{color:#93a4ba;font-size:12px;line-height:1.25}.wan-detail-grid strong{color:#f8fafc;overflow-wrap:anywhere;font-size:12px;line-height:1.25}.wan-vpn-panel .status-row.compact{background:#0206175c;border:1px solid #1e293b;border-radius:12px;align-items:center;min-height:38px;padding:8px 10px}.connection-history-stack .connectivity-card .global-status-badge+span{margin-left:0}@media (width<=1100px){.wan-vpn-grid.balanced{grid-template-columns:1fr}}.meraki-history-card.calibrated{gap:6px}.meraki-history-card.calibrated .meraki-event-track{height:28px}.meraki-axis{color:#64748b;margin-top:-2px;padding:0 2px}.meraki-event-list{gap:6px;margin-top:4px;display:grid}.meraki-event-row{background:#02061757;border:1px solid #1e293bd9;border-radius:10px;grid-template-columns:minmax(155px,185px) minmax(70px,90px) minmax(0,1fr);align-items:baseline;gap:10px;padding:7px 9px;display:grid}.meraki-event-row span,.meraki-event-row strong,.meraki-event-row p{min-width:0;margin:0;font-size:12px}.meraki-event-row span{color:#93a4ba}.meraki-event-row strong{color:#bae6fd}.meraki-event-row p{color:#e5edf8;overflow-wrap:anywhere}.wan-vpn-grid.balanced{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px}.wan-vpn-panel{align-content:start;gap:10px;display:grid}.wan-vpn-panel h3{align-items:center;min-height:22px;margin:0;display:flex}.wan-detail-row{margin:0}.wan-detail-grid{grid-template-columns:minmax(132px,150px) minmax(0,1fr);gap:8px 12px}.wan-vpn-panel .status-row.compact{grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid}.vpn-summary-line{align-items:baseline;gap:9px;min-height:36px;display:flex}@media (width<=850px){.meraki-event-row{grid-template-columns:1fr}}.metric-data-coverage{color:#fbbf24;margin-left:auto;font-size:11px}.meraki-history-card.calibrated .meraki-event-track{height:38px;overflow:visible}.meraki-event-dot{transition:transform .12s,box-shadow .12s,opacity .12s}.meraki-event-dot:hover{z-index:8;transform:translate(-50%,-50%)scale(1.45)}.meraki-event-dot.info{background:#38bdf8;border-color:#bae6fdf2;box-shadow:0 0 0 2px #38bdf824,0 0 12px #38bdf880}.meraki-event-dot.warn{background:#f59e0b;border-color:#fef3c7f2;box-shadow:0 0 0 2px #f59e0b29,0 0 12px #f59e0b80}.meraki-event-dot.bad{background:#ef4444;border-color:#fecacaf2;box-shadow:0 0 0 2px #ef444429,0 0 12px #ef444480}.wan-vpn-grid.balanced{grid-template-columns:minmax(420px,1fr) minmax(420px,1fr);gap:22px}.wan-detail-row{background:linear-gradient(#0f172ab8,#02061761);border-color:#4755698c}.wan-detail-head{border-bottom:1px solid #334155bf;margin-bottom:10px;padding-bottom:10px}.wan-detail-grid.refined{gap:0;display:grid}.wan-field-row{border-bottom:1px solid #1e293b94;grid-template-columns:175px minmax(0,1fr);align-items:center;gap:14px;min-height:28px;display:grid}.wan-field-row:last-child{border-bottom:0}.wan-field-row span{color:#9fb0c7;font-size:12px}.wan-field-row strong{color:#eaf2ff;overflow-wrap:anywhere;justify-self:start;font-size:12px}.vpn-summary-line strong{color:#dbeafe}.vpn-peer-row{background:#02061752;border-color:#334155b8;transition:border-color .12s,background .12s,transform .12s}.vpn-peer-row.good{background:linear-gradient(90deg,#1665342e,#02061740);border-color:#22c55e61}.vpn-peer-row.warn{background:linear-gradient(90deg,#92400e33,#02061740);border-color:#f59e0b6b}.vpn-peer-row.bad{background:linear-gradient(90deg,#7f1d1d38,#02061740);border-color:#ef444470}.vpn-peer-row:hover{border-color:#60a5fa73;transform:translateY(-1px)}.status-chip{letter-spacing:.02em;text-transform:uppercase;color:#cbd5e1;background:#0f172abf;border:1px solid #94a3b840;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:3px 9px;font-size:11px;display:inline-flex}.status-chip.good{color:#bbf7d0;background:#16653473;border-color:#22c55e6b}.status-chip.warn{color:#fde68a;background:#78350f7a;border-color:#f59e0b73}.status-chip.bad{color:#fecaca;background:#7f1d1d8c;border-color:#ef44447a}@media (width<=1000px){.wan-vpn-grid.balanced{grid-template-columns:1fr}.wan-field-row{grid-template-columns:145px minmax(0,1fr)}}.meraki-history-card.event-log-mode{gap:8px}.meraki-history-card.event-log-mode .meraki-event-list.compact-event-log{gap:5px;margin-top:2px;display:grid}.meraki-event-row.refined{grid-template-columns:minmax(150px,190px) minmax(68px,86px) minmax(0,1fr);min-height:30px;padding:6px 9px}.meraki-event-row.refined.info strong{color:#bae6fd}.meraki-event-row.refined.warn strong{color:#fde68a}.meraki-event-row.refined.bad strong{color:#fecaca}.wan-vpn-grid.balanced{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.wan-detail-grid.refined{width:100%;grid-template-columns:1fr!important;gap:0!important;display:grid!important}.wan-field-row{width:100%;min-width:0;grid-template-columns:165px minmax(0,1fr)!important;gap:14px!important;display:grid!important}.wan-field-row strong{white-space:normal;word-break:normal;overflow-wrap:anywhere;min-width:0;line-height:1.35}.wan-field-row span{white-space:nowrap;min-width:0}.metric-chart-footer{align-items:center}.metric-chart-footer .metric-chart-legend{width:100%}.x-axis-label{fill:#64748b;font-size:11px}@media (width<=1000px){.wan-field-row{grid-template-columns:140px minmax(0,1fr)!important}}.auth-shell{min-height:100vh;color:var(--text-primary,#f8fbff);background:radial-gradient(circle at 0 0,#2563eb3d,#0000 36%),#07111f;justify-content:center;align-items:center;padding:24px;display:flex}.auth-card{background:#0f172af0;border:1px solid #94a3b838;border-radius:22px;width:min(460px,100%);padding:28px;box-shadow:0 22px 70px #00000059}.auth-mark{color:#fff;background:linear-gradient(135deg,#2563eb,#22c55e);border-radius:14px;place-items:center;width:42px;height:42px;margin-bottom:16px;font-weight:900;display:grid}.auth-card h1{margin:0 0 8px;font-size:24px}.auth-card p{color:var(--text-secondary,#9fb2cc);line-height:1.45}.auth-button{color:#fff;background:#2563eb;border-radius:12px;justify-content:center;align-items:center;margin-top:12px;padding:11px 16px;font-weight:800;text-decoration:none;display:inline-flex}.auth-error{background:#ef44441f;border:1px solid #ef444447;border-radius:12px;padding:10px 12px;color:#fecaca!important}.auth-note{margin-top:16px;font-size:12px}.sidebar-user{color:var(--text-secondary,#9fb2cc);border-top:1px solid #94a3b829;margin-top:auto;padding:14px}.sidebar-user-name{color:var(--text-primary,#f8fbff);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.sidebar-user-email{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;overflow:hidden}.sidebar-logout{color:#bfdbfe;align-items:center;gap:7px;margin-top:10px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.alert-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.alert-stat{align-items:center;gap:12px;min-height:62px;display:flex}.alert-stat svg{color:#60a5fa}.alert-stat.danger svg{color:#f87171}.alert-stat.warning svg{color:#f59e0b}.alert-stat.success svg{color:#22c55e}.alert-stat strong{font-size:24px;line-height:1;display:block}.alert-stat span{color:var(--text-secondary,#64748b);margin-top:4px;font-size:12px;display:block}.filter-row.inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-row.inline input,.filter-row.inline select{background:var(--surface,#fff);min-height:36px;color:var(--text-primary,#0f172a);border:1px solid #94a3b852;border-radius:10px;padding:7px 10px}.filter-row.inline input{min-width:260px}.alert-chip{text-transform:capitalize;min-height:24px;color:var(--text-primary,#0f172a);white-space:nowrap;background:#94a3b81f;border:1px solid #94a3b847;border-radius:999px;justify-content:center;align-items:center;padding:3px 9px;font-size:11px;font-weight:800;display:inline-flex}.alert-chip.danger,.alert-chip.disaster{color:#b91c1c;background:#ef44441f;border-color:#ef444459}.alert-chip.warning{color:#92400e;background:#f59e0b21;border-color:#f59e0b59}.alert-chip.info{color:#1d4ed8;background:#3b82f61f;border-color:#3b82f64d}.alert-chip.success{color:#15803d;background:#22c55e1f;border-color:#22c55e52}.alert-chip.muted{color:#64748b;background:#64748b1f}.small-button{min-height:30px;color:var(--text-primary,#0f172a);cursor:pointer;background:#0f172a08;border:1px solid #94a3b84d;border-radius:9px;align-items:center;gap:6px;font-weight:800;display:inline-flex}.rule-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.rule-card{background:#0f172a06;border:1px solid #94a3b838;border-radius:14px;padding:14px}.rule-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.rule-card p{color:var(--text-secondary,#64748b);font-size:13px;line-height:1.4}.rule-meta{flex-wrap:wrap;gap:7px;display:flex}.rule-meta span{color:var(--text-secondary,#64748b);background:#94a3b821;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.muted-list p{color:var(--text-secondary,#64748b);margin:6px 0}.alert-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 18px;display:grid}.alert-detail-grid div{background:#0f172a06;border:1px solid #94a3b833;border-radius:12px;padding:10px}.alert-detail-grid span{color:var(--text-secondary,#64748b);margin-bottom:4px;font-size:11px;display:block}.alert-modal h3{margin:14px 0 6px}.alert-modal p{color:var(--text-secondary,#64748b)}@media (width<=1100px){.alert-stat-grid,.alert-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.alert-stat-grid,.alert-detail-grid{grid-template-columns:1fr}.filter-row.inline input{min-width:100%}}.alerts-kpi-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.alerts-kpi-row .card{padding:12px 14px}.alert-stat.compact{gap:10px;min-height:42px}.alert-stat.compact strong{font-size:20px}.alert-stat.acknowledged svg{color:#a78bfa}.alert-stat.muted svg{color:#94a3b8}.alert-chip.acknowledged{color:#7c3aed;background:#8b5cf621;border-color:#8b5cf657}.alert-action-row{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;display:flex}.alert-action-row .small-button,.alert-modal-actions .small-button{padding:4px 9px}.small-button:disabled{opacity:.45;cursor:not-allowed}.alerts-filter-row{justify-content:flex-end}.toggle-line{color:var(--text-secondary,#94a3b8);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.toggle-line input{accent-color:#2563eb}.subtle-note{color:var(--text-secondary,#94a3b8);margin:10px 0 0;font-size:12px}.subtle-note.inline-note{margin:0}.rule-grid.refined{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.rule-card-button{text-align:left;width:100%;color:inherit;cursor:pointer}.rule-card-button:hover{background:#3b82f612;border-color:#60a5fa6b}.alert-modal-actions{border-top:1px solid #94a3b82e;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:14px;display:flex}.danger-button{color:#ef4444!important;border-color:#ef444459!important}.info-callout{color:var(--text-secondary,#bfdbfe);background:#3b82f614;border:1px solid #3b82f640;border-radius:12px;align-items:center;gap:8px;margin-top:16px;padding:12px;font-weight:700;display:flex}@media (width<=1200px){.alerts-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.alerts-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.alerts-filter-row{justify-content:stretch}.filter-row.inline input,.filter-row.inline select{width:100%;min-width:0}}.site-alert-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.site-alert-card{text-align:left;width:100%;color:inherit;cursor:pointer;background:#0f172a06;border:1px solid #94a3b83d;border-radius:14px;padding:12px}.site-alert-card:hover,.site-alert-card.active{background:#3b82f614;border-color:#60a5fa75}.site-alert-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.site-alert-top strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.site-alert-top span{background:#94a3b829;border-radius:999px;justify-content:center;align-items:center;min-width:30px;height:26px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.site-alert-card p{color:var(--text-secondary,#64748b);margin:0;font-size:12px;line-height:1.35}.site-group-actions{justify-content:flex-end;display:flex}.compact-callout{margin:0 0 12px;padding:9px 11px}@media (width<=720px){.site-alert-grid{grid-template-columns:1fr}}.compact-alerts-page .card-header{align-items:center}.compact-kpis .card{padding:10px 12px}.alert-classification-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid}.class-summary-card{text-align:left;background:#0f172a3d;border:1px solid #94a3b83d;border-radius:13px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:1px 10px;min-height:58px;padding:9px 12px;display:grid}.class-summary-card strong{grid-row:1/span 2;font-size:22px;line-height:1}.class-summary-card span{font-size:13px;font-weight:900}.class-summary-card em{color:var(--text-secondary,#94a3b8);font-size:11px;font-style:normal;font-weight:700}.class-summary-card.active,.class-summary-card:hover{background:#3b82f61a;border-color:#60a5fa80}.class-summary-card.disaster strong,.disaster-action{color:#fca5a5!important}.class-summary-card.warning strong,.warning-action{color:#fcd34d!important}.compact-alerts-toolbar{background:#02061740;border:1px solid #94a3b82e;border-radius:12px;justify-content:flex-start;gap:7px;margin-bottom:10px;padding:8px}.compact-alerts-toolbar input{flex:260px;min-width:220px}.compact-alerts-toolbar select{flex:0 150px;min-width:130px}.compact-alerts-toolbar .toggle-line{grid-template-columns:none;width:auto;display:inline-flex}.classification-actions{min-width:430px}.classification-actions .small-button,.alert-modal-actions .small-button{white-space:nowrap;min-width:fit-content}.alerts-page .table-wrap{max-height:66vh}.alerts-page table{min-width:1320px}.alerts-page th:last-child,.alerts-page td:last-child{min-width:450px}.alerts-page td:nth-child(7){min-width:260px}.compact-rules{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.compact-rules .rule-card{padding:11px}.compact-rules .rule-card p{margin:8px 0}@media (width<=980px){.alert-classification-strip{grid-template-columns:1fr}.classification-actions{min-width:0}.alerts-page table{min-width:1120px}}.main-alert-review-table .table-wrap,.marked-queue-table .table-wrap{max-height:58vh}.main-alert-review-table table{min-width:1180px}.marked-queue-table table{min-width:920px}.main-alert-review-table th:last-child,.main-alert-review-table td:last-child{width:360px;min-width:360px}.marked-queue-table th:last-child,.marked-queue-table td:last-child{width:190px;min-width:190px}.classification-actions,.marked-actions{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.classification-actions .small-button,.marked-actions .small-button{min-width:112px;color:var(--text-primary,#e2e8f0);justify-content:center;padding:7px 11px;overflow:visible}.classification-actions .neutral-action,.marked-actions .neutral-action,.marked-actions .clear-action{min-width:86px}.small-button.disaster-action,.small-button.warning-action,.small-button.neutral-action,.small-button.clear-action{background:#0f172ab8}.small-button.disaster-action.selected,.small-button.warning-action.selected{background:#3b82f61f;border-color:currentColor;box-shadow:inset 0 0 0 1px}.marked-queue-table .alert-chip.disaster,.marked-queue-table .alert-chip.warning{justify-content:center;min-width:118px}.small-button.disaster-action.selected,.small-button.warning-action.selected{box-shadow:0 0 0 2px #ffffff3d,inset 0 0 0 1px #ffffff59!important}.history-pager-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.history-pager-actions select{min-width:120px}.history-alert-table .table-wrap{max-height:52vh}.compact-alerts-toolbar select:first-of-type{flex:260px;min-width:220px}.combined-problem-toolbar-note{color:#94a3b8;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 12px;font-size:12px;display:flex}.combined-problem-toolbar-note span{background:#0f172a73;border:1px solid #94a3b82e;border-radius:999px;padding:5px 9px}.combined-problem-table .table-wrap{max-height:620px;overflow:auto}.combined-problem-table table{min-width:1220px}.combined-problem-table th:last-child,.combined-problem-table td:last-child{width:260px;min-width:260px}.combined-problem-table .alert-action-row .small-button{white-space:nowrap;justify-content:center;min-width:74px}.alerts-page.compact-alerts-page{gap:10px}.alerts-page .page-title.compact{margin-bottom:0}.human-alert-kpis{flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:8px;display:flex!important}.human-alert-kpis .card{border-radius:14px;flex:0 0 168px;width:168px;padding:8px 10px!important}.human-alert-kpis .alert-stat.compact{gap:8px;min-height:34px}.human-alert-kpis .alert-stat.compact strong{font-size:18px}.human-alert-kpis .alert-stat.compact span{white-space:nowrap;margin-top:2px;font-size:11px}.alerts-review-toolbar{background:#02061740;border:1px solid #94a3b82e;border-radius:12px;grid-template-columns:minmax(210px,300px) minmax(180px,280px) 210px 140px 125px 155px auto;align-items:center;gap:8px;margin-bottom:8px;padding:8px;display:grid}.alerts-review-toolbar input,.alerts-review-toolbar select{color:#e5e7eb;background:#020617;border:1px solid #94a3b852;border-radius:10px;width:100%;min-width:0;min-height:34px;padding:7px 10px;font-size:12px}.alerts-review-toolbar .alerts-timeline-filter{min-width:210px}.alerts-review-toolbar .toggle-line{white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;width:auto;font-size:12px;display:inline-flex}.combined-problem-toolbar-note{gap:6px!important;margin:6px 0 8px!important}.combined-problem-toolbar-note span{font-size:11px;padding:4px 8px!important}.history-page-buttons{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.history-page-buttons .small-button{min-height:26px;padding:4px 8px;font-size:11px}.combined-problem-table .table-wrap{max-height:58vh!important}.combined-problem-table table{table-layout:fixed;font-size:12px;min-width:1060px!important}.combined-problem-table td:nth-child(5),.combined-problem-table td:nth-child(6){overflow-wrap:anywhere;line-height:1.35}.combined-problem-table .alert-action-row{gap:6px;min-width:264px;flex-wrap:nowrap!important}.combined-problem-table .alert-action-row .small-button,.marked-queue-table .alert-action-row .small-button,.alert-modal-actions .small-button{justify-content:center;min-height:28px;font-size:12px;line-height:1;white-space:nowrap!important;text-overflow:clip!important;min-width:78px!important;padding:5px 8px!important;overflow:visible!important}.small-button.disaster-action{color:#fff!important;text-shadow:none!important;background:#b91c1c!important;border-color:#fca5a5!important}.small-button.warning-action{color:#111827!important;text-shadow:none!important;background:#f59e0b!important;border-color:#fde68a!important}.small-button.neutral-action,.small-button.clear-action{color:#f8fafc!important;text-shadow:none!important;background:#172033!important;border-color:#475569!important}.alert-chip{max-width:100%}.alert-chip.muted{color:#a8b3c7!important}.marked-queue-table table{font-size:12px;min-width:860px!important}.marked-queue-table th,.marked-queue-table td{padding:8px 9px}@media (width<=1450px){.alerts-review-toolbar{grid-template-columns:minmax(180px,1fr) minmax(170px,1fr) 210px 130px 115px 145px}.alerts-review-toolbar .toggle-line{justify-content:flex-start}}@media (width<=1050px){.alerts-review-toolbar{grid-template-columns:1fr 1fr}.alerts-review-toolbar .alerts-timeline-filter{min-width:0}.human-alert-kpis .card{flex-basis:calc(50% - 6px);width:auto}}@media (width<=650px){.alerts-review-toolbar{grid-template-columns:1fr}.human-alert-kpis .card{flex-basis:100%}}.alerts-review-toolbar{flex-wrap:wrap!important;justify-content:flex-start!important;align-items:center!important;gap:8px!important;padding:8px!important;display:flex!important}.alerts-review-toolbar>svg{display:none!important}.alerts-review-toolbar input,.alerts-review-toolbar select,.alerts-review-toolbar .toolbar-toggle{box-sizing:border-box!important;flex:none!important;height:34px!important;min-height:34px!important}.alerts-review-toolbar .alerts-search{width:280px!important;max-width:280px!important}.alerts-review-toolbar .alerts-host-filter{width:250px!important;max-width:250px!important}.alerts-review-toolbar .alerts-timeline-filter{width:210px!important;min-width:210px!important;max-width:210px!important}.alerts-review-toolbar .alerts-status-filter,.alerts-review-toolbar .alerts-source-filter{width:135px!important;max-width:135px!important}.alerts-review-toolbar .alerts-class-filter{width:165px!important;max-width:165px!important}.alerts-review-toolbar .toolbar-toggle{color:#f8fafc!important;justify-content:center!important;align-items:center!important;width:92px!important;min-width:92px!important;padding:0 10px!important;display:inline-flex!important}.alerts-review-toolbar .toolbar-toggle.selected{color:#fff!important;background:#1d4ed8!important;border-color:#93c5fd!important}.combined-problem-table .alert-action-row,.marked-queue-table .alert-action-row,.alert-modal-actions{flex-wrap:nowrap!important;align-items:center!important;gap:6px!important;display:flex!important}.combined-problem-table .alert-action-row .small-button,.marked-queue-table .alert-action-row .small-button,.alert-modal-actions .small-button{white-space:nowrap!important;text-overflow:clip!important;border-radius:8px!important;justify-content:center!important;align-items:center!important;width:auto!important;min-width:72px!important;height:30px!important;min-height:30px!important;padding:0 10px!important;font-size:12px!important;font-weight:800!important;line-height:1!important;display:inline-flex!important;overflow:visible!important}.combined-problem-table .alert-action-row .neutral-action,.marked-queue-table .alert-action-row .neutral-action,.marked-queue-table .alert-action-row .clear-action{min-width:68px!important}.small-button.disaster-action{color:#fff!important;background:#dc2626!important;border-color:#fecaca!important}.small-button.warning-action{color:#111827!important;background:#f59e0b!important;border-color:#fde68a!important}.small-button.neutral-action,.small-button.clear-action{color:#f8fafc!important;background:#1e293b!important;border-color:#64748b!important}.small-button.disaster-action *,.small-button.warning-action *,.small-button.neutral-action *,.small-button.clear-action *{color:inherit!important}@media (width<=900px){.alerts-review-toolbar .alerts-search,.alerts-review-toolbar .alerts-host-filter,.alerts-review-toolbar .alerts-timeline-filter,.alerts-review-toolbar .alerts-status-filter,.alerts-review-toolbar .alerts-source-filter,.alerts-review-toolbar .alerts-class-filter,.alerts-review-toolbar .toolbar-toggle{width:100%!important;min-width:0!important;max-width:100%!important}}.filter-clear-button,.card-actions .filter-clear-button{color:#f8fafc!important;text-shadow:none!important;white-space:nowrap!important;background:#1e293b!important;border-color:#64748b!important;justify-content:center!important;align-items:center!important;min-width:118px!important;height:36px!important;min-height:36px!important;padding:0 14px!important;line-height:1!important;display:inline-flex!important;overflow:visible!important}.filter-clear-button:hover,.card-actions .filter-clear-button:hover{color:#fff!important;background:#334155!important;border-color:#94a3b8!important}.alerts-review-toolbar .toolbar-toggle{color:#f8fafc!important;width:116px!important;min-width:116px!important;height:36px!important;min-height:36px!important;text-shadow:none!important;white-space:nowrap!important;background:#1e293b!important;border-color:#64748b!important;padding:0 14px!important;line-height:1!important;overflow:visible!important}.alerts-review-toolbar .toolbar-toggle:hover,.alerts-review-toolbar .toolbar-toggle.selected{color:#fff!important;background:#1d4ed8!important;border-color:#93c5fd!important}.combined-problem-table .table-wrap{overflow-x:hidden!important}.combined-problem-table table{table-layout:fixed!important;width:100%!important;min-width:0!important}.combined-problem-table th,.combined-problem-table td{padding:8px!important}.combined-problem-table th:first-child,.combined-problem-table td:first-child{width:86px!important}.combined-problem-table th:nth-child(2),.combined-problem-table td:nth-child(2){width:72px!important}.combined-problem-table th:nth-child(3),.combined-problem-table td:nth-child(3){width:82px!important}.combined-problem-table th:nth-child(4),.combined-problem-table td:nth-child(4){width:70px!important}.combined-problem-table th:nth-child(5),.combined-problem-table td:nth-child(5){width:140px!important}.combined-problem-table th:nth-child(6),.combined-problem-table td:nth-child(6){width:auto!important}.combined-problem-table th:nth-child(7),.combined-problem-table td:nth-child(7){white-space:nowrap!important;width:68px!important}.combined-problem-table th:nth-child(8),.combined-problem-table td:nth-child(8){width:220px!important;min-width:220px!important}.combined-problem-table .alert-action-row{flex-wrap:nowrap!important;justify-content:flex-start!important;gap:5px!important;width:100%!important;min-width:0!important}.combined-problem-table .alert-action-row .small-button{white-space:nowrap!important;text-overflow:clip!important;border-radius:8px!important;height:30px!important;min-height:30px!important;padding:0 8px!important;font-size:12px!important;font-weight:800!important;line-height:1!important;overflow:visible!important}.combined-problem-table .alert-action-row .disaster-action,.combined-problem-table .alert-action-row .warning-action{min-width:70px!important}.combined-problem-table .alert-action-row .neutral-action{min-width:58px!important}.rule-builder-note,.rule-message{color:#93a4bd;margin-bottom:10px;font-size:13px}.rule-message{color:#dbeafe;background:#2563eb29;border:1px solid #60a5fa59;border-radius:10px;padding:8px 10px}.rule-builder-grid{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) minmax(360px,1.35fr);gap:12px;display:grid}.rule-card{background:#0f172ab8;border:1px solid #94a3b82e;border-radius:14px;min-width:0;padding:12px}.disaster-rule-card{border-color:#ef444447}.warning-rule-card{border-color:#f59e0b52}.router-rule-card{border-color:#60a5fa3d}.rule-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.rule-card-header strong{color:#f8fafc;font-size:14px;line-height:1.2;display:block}.rule-card-header span,.empty-rule-hint,.rule-count-pill{color:#94a3b8;font-size:12px}.rule-check{color:#dbeafe;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.rule-check input{accent-color:#2563eb;width:15px;height:15px}.rule-inline-fields{grid-template-columns:1fr 96px;gap:8px;margin-bottom:8px;display:grid}.rule-inline-fields label,.router-minutes{color:#94a3b8;gap:4px;font-size:12px;display:grid}.rule-inline-fields input,.rule-add-row select,.router-rule-row select,.router-rule-row input{color:#f8fafc;background:#020817;border:1px solid #94a3b852;border-radius:9px;outline:none;min-width:0;height:34px;padding:0 10px}.rule-inline-fields input[type=number],.router-rule-row input[type=number]{text-align:center;padding:0 4px}.rule-add-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:8px;display:grid}.rule-add-row .small-button,.rule-save-button{white-space:nowrap!important;min-width:76px!important;height:34px!important}.rule-chip-list{flex-wrap:wrap;align-items:center;gap:6px;min-height:32px;display:flex}.rule-chip{color:#e2e8f0;cursor:pointer;background:#1e293bd1;border:1px solid #94a3b847;border-radius:999px;align-items:center;gap:5px;max-width:100%;padding:6px 8px;font-size:12px;font-weight:700;display:inline-flex}.rule-chip:hover{color:#fff;border-color:#f87171bf}.router-rule-list{gap:8px;display:grid}.router-rule-row{background:#02081773;border:1px solid #94a3b824;border-radius:12px;grid-template-columns:24px minmax(145px,1fr) 128px 86px 78px;align-items:end;gap:8px;padding:8px;display:grid}.router-rule-row strong{color:#f8fafc;text-overflow:ellipsis;white-space:nowrap;align-self:center;font-size:13px;overflow:hidden}.router-rule-row .clear-action{color:#fff!important;min-width:72px!important;height:34px!important}.rule-count-pill{color:#bfdbfe;white-space:nowrap;background:#60a5fa1f;border-radius:999px;padding:5px 8px}.rule-match-summary{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 8px;display:flex}.rule-match-table .table-wrap{max-height:260px;overflow:auto}.rule-match-table table{table-layout:fixed;width:100%}.rule-match-table th:first-child,.rule-match-table td:first-child{width:120px}.rule-match-table th:nth-child(2),.rule-match-table td:nth-child(2){width:145px}.rule-match-table th:nth-child(3),.rule-match-table td:nth-child(3){width:80px}.rule-match-table th:nth-child(4),.rule-match-table td:nth-child(4){width:150px}.rule-match-table th:nth-child(5),.rule-match-table td:nth-child(5){width:auto}.rule-match-table th:nth-child(6),.rule-match-table td:nth-child(6),.rule-match-table th:nth-child(7),.rule-match-table td:nth-child(7){white-space:nowrap;width:72px}.rule-match-table th:nth-child(8),.rule-match-table td:nth-child(8){width:92px}@media (width<=1500px){.rule-builder-grid{grid-template-columns:1fr 1fr}.router-rule-card{grid-column:1/-1}}@media (width<=900px){.rule-builder-grid,.rule-inline-fields,.router-rule-row{grid-template-columns:1fr}.rule-card-header,.rule-match-summary{align-items:flex-start}}.two-column-rules{grid-template-columns:minmax(420px,1fr) minmax(420px,1fr)!important}.device-rule-card{border-color:#94a3b83d}.device-rule-row,.router-rule-row.device-rule-row{grid-template-columns:minmax(92px,auto) minmax(180px,1fr) minmax(92px,auto) 76px minmax(92px,auto) 76px 84px!important;align-items:center!important}.device-rule-row .router-minutes{align-items:center}.device-rule-row input[type=number]{width:64px}.severity-toggle.disaster-toggle{color:#fecaca}.severity-toggle.warning-toggle{color:#fcd34d}.global-zabbix-problems-fullwidth{width:100%}.global-zabbix-problems-note{color:#93a4bd;margin-bottom:10px;font-size:13px}.global-zabbix-problems-fullwidth .table-wrap{max-height:420px;overflow:auto}.global-zabbix-problems-fullwidth table{table-layout:fixed;width:100%;min-width:1180px}.global-zabbix-problems-fullwidth th,.global-zabbix-problems-fullwidth td{vertical-align:top;padding-left:14px;padding-right:14px}.global-zabbix-problems-fullwidth th:first-child,.global-zabbix-problems-fullwidth td:first-child{width:96px}.global-zabbix-problems-fullwidth th:nth-child(2),.global-zabbix-problems-fullwidth td:nth-child(2){width:120px}.global-zabbix-problems-fullwidth th:nth-child(3),.global-zabbix-problems-fullwidth td:nth-child(3){width:170px}.global-zabbix-problems-fullwidth th:nth-child(4),.global-zabbix-problems-fullwidth td:nth-child(4){width:230px}.global-zabbix-problems-fullwidth th:nth-child(5),.global-zabbix-problems-fullwidth td:nth-child(5){width:auto}.global-zabbix-problems-fullwidth th:nth-child(6),.global-zabbix-problems-fullwidth td:nth-child(6){white-space:nowrap;text-align:right;width:96px}.global-zabbix-problems-fullwidth td:nth-child(3),.global-zabbix-problems-fullwidth td:nth-child(4),.global-zabbix-problems-fullwidth td:nth-child(5){white-space:normal;overflow-wrap:anywhere;line-height:1.35}@media (width<=1400px){.two-column-rules{grid-template-columns:1fr!important}.device-rule-row,.router-rule-row.device-rule-row{grid-template-columns:minmax(92px,auto) minmax(150px,1fr) minmax(92px,auto) 76px minmax(92px,auto) 76px 84px!important}}@media (width<=900px){.device-rule-row,.router-rule-row.device-rule-row{grid-template-columns:1fr!important}}.small-button.save-action,.rule-save-button{color:#fff!important;white-space:nowrap!important;min-width:104px!important;height:36px!important;text-shadow:none!important;background:#2563eb!important;border-color:#60a5fa!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;padding:0 14px!important;font-weight:900!important;line-height:1!important;display:inline-flex!important;overflow:visible!important}.small-button.save-action:hover:not(:disabled),.rule-save-button:hover:not(:disabled){color:#fff!important;background:#1d4ed8!important}.small-button.save-action:disabled,.rule-save-button:disabled{color:#e2e8f0!important}.rule-message{overflow-wrap:anywhere;word-break:break-word;max-height:96px;overflow:auto}.topology-flow-wrap.topology-editing{background:linear-gradient(#60a5fa0e 1px,#0000 1px) 0 0/22px 22px,linear-gradient(90deg,#60a5fa0e 1px,#0000 1px) 0 0/22px 22px,radial-gradient(circle at 30% 24%,#3b82f62e,#0000 32%),#08111f;border-color:#60a5fa61;box-shadow:inset 0 0 0 1px #60a5fa1f,0 18px 40px #00000047}.topology-flow-wrap.topology-editing .topology-handle{opacity:1;pointer-events:auto;z-index:8;touch-action:none;background:#2563eb;border:2px solid #dbeafe;width:14px;height:14px;box-shadow:0 0 0 4px #2563eb38}.topology-flow-wrap.topology-editing .react-flow__pane{cursor:crosshair}.topology-flow-wrap.topology-editing .react-flow__node .topology-node-card{cursor:grab}.topology-flow-wrap .react-flow__node.topology-node-zabbix-host,.topology-flow-wrap .react-flow__node.topology-node-zabbix-router{border-color:#f97316d1}.topology-flow-wrap .react-flow__node.topology-node-zabbix-host .topology-node-card,.topology-flow-wrap .react-flow__node.topology-node-zabbix-router .topology-node-card{box-shadow:inset 4px 0 #f97316e0}.topology-flow-wrap .react-flow__edge-manual-link .react-flow__edge-path,.topology-flow-wrap .react-flow__edge-manual.topology-edge .react-flow__edge-path,.topology-flow-wrap .topology-edge-manual .react-flow__edge-path{stroke:#facc15f5;stroke-width:2.4px;stroke-dasharray:7 5}.topology-flow-wrap .topology-edge-selected .react-flow__edge-path{filter:drop-shadow(0 0 6px #facc15cc);stroke:#fef08a!important;stroke-width:4px!important;stroke-dasharray:none!important}.topology-toolbox{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:12px;display:grid}.topology-tool-panel{background:#02061757;border:1px solid #334155bf;border-radius:14px;gap:10px;padding:12px;display:grid}.topology-tool-heading{color:#f8fafc;font-size:13px;font-weight:900}.topology-tool-help,.topology-toolbox-empty,.topology-selected-line{color:#cbd5e1;font-size:12px;line-height:1.4}.topology-zabbix-add-row{grid-template-columns:minmax(150px,220px) minmax(220px,1fr) auto;align-items:center;gap:8px;display:grid}.topology-zabbix-add-row input,.topology-zabbix-add-row select{color:#e5e7eb;background:#020617d1;border:1px solid #334155e6;border-radius:10px;min-width:0;height:38px;padding:8px 10px;font-weight:800}.topology-solid-button{color:#fff;white-space:nowrap;background:#1d4ed8;border:1px solid #60a5fa99;border-radius:10px;min-height:36px;padding:8px 12px;font-size:12px;font-weight:900}.topology-solid-button:hover:not(:disabled){background:#2563eb}.topology-solid-button.danger{color:#fff;background:#991b1b;border-color:#f8717199}.topology-solid-button.danger:hover:not(:disabled){background:#b91c1c}.topology-chip-list{flex-wrap:wrap;gap:7px;display:flex}.topology-device-chip{color:#fed7aa;background:#7c2d1247;border:1px solid #f973166b;border-radius:999px;align-items:center;gap:7px;padding:6px 9px;font-size:12px;font-weight:900;display:inline-flex}.topology-device-chip button{color:#fff7ed;background:#02061759;border-color:#fed7aa6b;border-radius:999px;place-items:center;width:18px;min-width:18px;height:18px;padding:0;line-height:1;display:inline-grid}.topology-line-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.compact-error{padding:8px 10px;font-size:12px}@media (width<=1100px){.topology-toolbox,.topology-zabbix-add-row{grid-template-columns:1fr}}.topology-canvas-tools{color:#e5e7eb;background:#020617db;border:1px solid #60a5fa6b;border-radius:14px;gap:8px;min-width:260px;max-width:min(420px,42vw);padding:10px;display:grid;box-shadow:0 18px 36px #0000005c}.topology-canvas-tools-title{color:#f8fafc;text-transform:uppercase;letter-spacing:.07em;font-size:12px;font-weight:950}.topology-canvas-tools-selected{color:#cbd5e1;overflow-wrap:anywhere;font-size:12px;font-weight:750;line-height:1.35}.topology-canvas-tools-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.topology-canvas-tools .topology-solid-button{min-width:128px}@media (width<=900px){.topology-canvas-tools{max-width:72vw}}.topology-flow-wrap .react-flow__edge-site-switch .react-flow__edge-path,.topology-flow-wrap .react-flow__edge-switch-uplink .react-flow__edge-path,.topology-flow-wrap .react-flow__edge-site-component .react-flow__edge-path,.topology-flow-wrap .react-flow__edge-manual-link .react-flow__edge-path,.topology-flow-wrap .topology-edge-wired-link .react-flow__edge-path{stroke:#facc15f5!important;stroke-width:2.2px!important;stroke-dasharray:none!important}.topology-flow-wrap .react-flow__edge-site-wireless .react-flow__edge-path,.topology-flow-wrap .topology-edge-wireless-link .react-flow__edge-path{stroke:#facc15f5!important;stroke-width:2.4px!important;stroke-dasharray:7 6!important}.topology-flow-wrap .react-flow__edge-text{fill:#f8fafc;font-size:10px;font-weight:900}.topology-flow-wrap .react-flow__edge-textbg{fill:#0f172aeb}.topology-node-badge.metric{color:#fef3c7;background:#713f1261;border-color:#facc1594}.unifi-page .compact-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.unifi-page .compact-toolbar button{white-space:nowrap;color:#f8fafc;align-items:center;gap:8px;display:inline-flex}.unifi-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.unifi-status-grid>div{background:#02061773;border:1px solid #1e293b;border-radius:14px;min-width:0;padding:12px}.unifi-status-grid span{color:#94a3b8;margin-bottom:5px;font-size:12px;display:block}.unifi-status-grid strong{color:#e5e7eb;overflow-wrap:anywhere;font-size:14px;display:block}.unifi-page .card-actions select{min-width:260px}.small-empty{margin-top:12px;padding:14px}@media (width<=1100px){.unifi-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.unifi-status-grid{grid-template-columns:1fr}.unifi-page .card-actions select{min-width:180px}}.user-search-page .page-title.compact{align-items:flex-start}.user-search-toolbar{grid-template-columns:minmax(320px,1fr) 180px auto;align-items:end;gap:12px;display:grid}.user-search-toolbar label{gap:6px;min-width:0;display:grid}.user-search-toolbar label span{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:850}.user-search-toolbar input,.user-search-toolbar select{width:100%;min-height:40px}.button-readable,.user-search-toolbar button.button-readable{white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-width:112px;min-height:40px;padding:0 16px;font-weight:900;line-height:1;display:inline-flex}.button-readable.primary{color:#fff!important;background:#2563eb!important;border:1px solid #93c5fd8c!important}.button-readable.dark{color:#f8fafc!important;background:#111827!important;border:1px solid #334155!important}.client-dashboard-layout{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.client-dashboard-layout.single-dashboard{grid-template-columns:1fr}.source-pill-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.source-pill{white-space:nowrap;color:#e5e7eb;background:#0f172acc;border:1px solid #334155;border-radius:999px;justify-content:center;align-items:center;padding:3px 8px;font-size:11px;font-weight:950;display:inline-flex}.source-pill.meraki{color:#dbeafe;background:#1d4ed838;border-color:#60a5fa8c}.source-pill.unifi{color:#dcfce7;background:#16653438;border-color:#4ade808c}.integration-check-list{gap:8px;margin-top:14px;display:grid}.integration-check-row{border:1px solid var(--border);border-radius:8px;grid-template-columns:auto minmax(90px,150px) 1fr;align-items:center;gap:10px;padding:9px 11px;display:grid}.integration-check-row>span:last-child{color:var(--muted);overflow-wrap:anywhere}.link-button{color:#93c5fd;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:850}.link-button:hover{color:#bfdbfe;text-decoration:underline}.selected-client-chip{color:#f8fafc;white-space:nowrap;align-items:center;gap:7px;font-weight:900;display:inline-flex}.client-match-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;max-height:none;padding-right:0;display:grid;overflow:visible}.client-match-card{text-align:left;color:#e5e7eb;cursor:pointer;background:#0f172a9e;border:1px solid #1e293b;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px;display:grid}.client-match-card:hover,.client-match-card.active{background:#1e40af3d;border-color:#60a5fabf}.client-match-main{gap:3px;display:grid}.client-match-main strong{color:#f8fafc;overflow-wrap:anywhere;font-size:14px}.client-match-main span,.client-match-meta span{color:#94a3b8;overflow-wrap:anywhere;font-size:12px}.client-match-meta{gap:5px;min-width:130px;display:grid}.client-troubleshooting-stack{gap:14px;display:grid}.client-hero-card{background:linear-gradient(135deg,#1e40af42,#0f172ab3);border:1px solid #60a5fa47;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.client-hero-card h2{color:#f8fafc;overflow-wrap:anywhere;margin:8px 0 4px;font-size:23px;line-height:1.1}.client-hero-card p{color:#cbd5e1;overflow-wrap:anywhere;margin:0}.client-hero-eyebrow{display:flex}.client-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.client-metric-card{background:#02061775;border:1px solid #1e293b;border-radius:16px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;padding:13px;display:grid}.client-metric-icon{color:#bfdbfe;background:#2563eb2e;border:1px solid #60a5fa3d;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.client-metric-card span{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:900}.client-metric-card strong{color:#f8fafc;overflow-wrap:anywhere;margin-top:3px;font-size:15px;display:block}.client-metric-card small{color:#94a3b8;overflow-wrap:anywhere;margin-top:3px;display:block}.client-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.client-section-card{background:#02061761;border:1px solid #1e293b;border-radius:16px;padding:14px}.client-path-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid}.client-path-row div,.kv-grid div{min-width:0}.client-path-row span,.kv-grid span{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:850;display:block}.client-path-row strong,.kv-grid strong{color:#f8fafc;overflow-wrap:anywhere}.user-source-grid{gap:10px;display:grid}.user-source-card{background:#0206176b;border:1px solid #1e293b;border-radius:14px;padding:12px}.source-card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.source-card-head strong{color:#f8fafc;overflow-wrap:anywhere;min-width:0}.detail-section{gap:10px;display:grid}.detail-section h3{color:#e5e7eb;margin:0;font-size:14px;font-weight:950}.compact-kv{grid-template-columns:repeat(2,minmax(0,1fr))}.small-copy{margin-top:10px;font-size:12px}.user-search-page .table-wrap table th,.user-search-page .table-wrap table td{vertical-align:top}@media (width<=1500px){.client-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-detail-grid{grid-template-columns:1fr}}@media (width<=1150px){.client-dashboard-layout,.client-match-list,.client-match-card{grid-template-columns:1fr}}@media (width<=850px){.user-search-toolbar,.client-metric-grid,.client-path-row,.compact-kv{grid-template-columns:1fr}.client-hero-card{flex-direction:column}}.user-search-page{gap:14px}.user-search-page>.card:first-of-type{background:linear-gradient(135deg,#0f172af0,#080f1ef0);border-color:#60a5fa38;padding:16px}.user-search-page>.card:first-of-type .card-header{margin-bottom:12px}.search-support-row{color:#94a3b8;justify-content:space-between;align-items:center;gap:16px;margin-top:11px;font-size:12px;display:flex}.integration-diagnostics{flex:none;position:relative}.integration-diagnostics summary{color:#cbd5e1;cursor:pointer;align-items:center;gap:7px;font-weight:800;list-style:none;display:inline-flex}.integration-diagnostics summary::-webkit-details-marker{display:none}.integration-dot{background:#f59e0b;border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 3px #f59e0b1f}.integration-dot.ok{background:#22c55e;box-shadow:0 0 0 3px #22c55e1f}.integration-diagnostics-panel{z-index:40;background:#0b1220;border:1px solid #334155;border-radius:14px;width:min(620px,78vw);padding:16px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 24px 60px #00000073}.integration-diagnostics-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.integration-diagnostics-head div,.integration-summary-grid div{gap:3px;display:grid}.integration-diagnostics-head strong{color:#f8fafc;font-size:15px}.integration-diagnostics-head span,.integration-summary-grid span{color:#94a3b8}.integration-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.integration-summary-grid div{background:#0206177a;border:1px solid #1e293b;border-radius:10px;padding:10px}.integration-summary-grid strong{color:#f8fafc}.client-search-empty-state{background:linear-gradient(135deg,#0f172a61,#0206172e);border:1px dashed #334155;border-radius:18px;justify-content:center;align-items:center;gap:18px;min-height:260px;padding:36px;display:flex}.client-search-empty-state h2{color:#f8fafc;margin:0 0 7px;font-size:18px}.client-search-empty-state p{color:#94a3b8;max-width:620px;margin:0;line-height:1.55}.client-search-empty-icon{color:#93c5fd;background:#2563eb24;border:1px solid #60a5fa47;border-radius:16px;flex:none;place-items:center;width:54px;height:54px;display:grid}.client-search-workspace{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:14px;display:grid}.client-search-workspace>.card{min-width:0}.client-search-workspace>.card:first-child{max-height:calc(100vh - 32px);position:sticky;top:12px;overflow:hidden}.client-search-workspace>.card:first-child .client-match-list{grid-template-columns:1fr;max-height:calc(100vh - 125px);padding-right:5px;overflow-y:auto}.client-search-workspace .client-match-card{border-radius:11px;grid-template-columns:1fr;gap:9px;padding:11px}.client-search-workspace .client-match-meta{grid-template-columns:auto 1fr;align-items:center;min-width:0}.client-monitoring-section{background:#080f1eb8;border:1px solid #60a5fa42;border-radius:16px;gap:12px;padding:15px;display:grid}.client-monitoring-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.client-monitoring-head h3{color:#f8fafc;margin:3px 0 4px;font-size:17px}.client-monitoring-head p{color:#94a3b8;margin:0;font-size:12px}.section-kicker{color:#60a5fa;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:900}.client-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.client-chart-grid .metric-chart-card{min-height:260px}.client-chart-grid .metric-chart-card svg{min-height:175px}@media (width<=1250px){.client-search-workspace{grid-template-columns:280px minmax(0,1fr)}.client-chart-grid{grid-template-columns:1fr}}@media (width<=900px){.search-support-row,.client-monitoring-head{flex-direction:column;align-items:flex-start}.integration-diagnostics-panel{width:auto;max-height:calc(100vh - 120px);position:fixed;top:90px;left:16px;right:16px;overflow:auto}.client-search-workspace{grid-template-columns:1fr}.client-search-workspace>.card:first-child{max-height:none;position:static}.client-search-workspace>.card:first-child .client-match-list{max-height:360px}}@media (width<=600px){.integration-summary-grid{grid-template-columns:1fr}.client-search-empty-state{align-items:flex-start;padding:24px}}.client-search-workspace{grid-template-columns:1fr}.client-search-workspace>.card:first-child{max-height:none;position:static}.client-search-workspace>.card:first-child .client-match-list{max-height:260px;padding-right:5px;overflow-y:auto}.client-search-workspace .client-match-card{background:0 0;border:0;border-bottom:1px solid #1e293b;border-radius:0;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);min-height:54px;padding:9px 12px}.client-search-workspace .client-match-card:first-child{border-top:1px solid #1e293b}.client-search-workspace .client-match-card:hover{background:#1e293b7a}.client-search-workspace .client-match-card.active{background:#334155b8;box-shadow:inset 3px 0 #60a5fa}.client-search-workspace .client-match-meta{grid-template-columns:90px minmax(180px,1fr) minmax(140px,.7fr);gap:12px;display:grid}.client-search-workspace .client-match-meta>span:last-child{grid-column:auto}.client-hero-card{background:#0c1423;border:1px solid #263449;border-left:4px solid #38bdf8;border-radius:10px;padding:14px 16px}.client-hero-card h2{font-size:20px}.client-section-tabs{border-bottom:1px solid #263449;gap:24px;display:flex}.client-section-tabs button{color:#94a3b8;cursor:pointer;background:0 0;border:0;min-height:40px;padding:0 2px;font-weight:850;position:relative}.client-section-tabs button:hover{color:#e2e8f0}.client-section-tabs button.active{color:#f8fafc}.client-section-tabs button.active:after{content:"";background:#38bdf8;height:2px;position:absolute;bottom:-1px;left:0;right:0}.source-records-details{border-top:1px solid #263449;padding-top:10px}.source-records-details summary{color:#94a3b8;cursor:pointer;font-size:12px;font-weight:800}.source-records-content{margin-top:10px}.client-metric-grid{background:#0c1423;border:1px solid #263449;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:hidden}.client-metric-card{background:0 0;border:1px solid #263449;border-top:0;border-left:0;border-radius:0;grid-template-columns:1fr;min-height:82px;padding:13px 15px}.client-metric-card:nth-child(3n){border-right:0}.client-metric-card:nth-last-child(-n+3){border-bottom:0}.client-metric-icon{display:none}.client-detail-grid{gap:12px}.client-section-card,.client-monitoring-section{background:#0c1423;border-color:#263449;border-radius:10px}.client-monitoring-section{padding:16px}.client-chart-grid .metric-chart-card{border-radius:8px}@media (width<=950px){.client-search-workspace .client-match-card{grid-template-columns:1fr}.client-search-workspace .client-match-meta{grid-template-columns:auto 1fr}.client-search-workspace .client-match-meta>span:last-child{grid-column:1/-1}}@media (width<=700px){.client-metric-grid{grid-template-columns:1fr}.client-metric-card,.client-metric-card:nth-child(3n),.client-metric-card:nth-last-child(-n+3){border-bottom:1px solid #263449;border-right:0}.client-metric-card:last-child{border-bottom:0}}.brand-logo{background:#f8fafcf5;border:1px solid #94a3b852;padding:5px;overflow:hidden}.brand-logo img{object-fit:contain;width:100%;height:100%;display:block}.auth-shell{background:radial-gradient(circle at 22% 18%,#3b82f647,#0000 34%),radial-gradient(circle at 78% 12%,#22c55e21,#0000 28%),linear-gradient(135deg,#020617,#0b1120 48%,#111827)}.auth-card.auth-card-polished{text-align:center;background:linear-gradient(#0f172af5,#020617f5),radial-gradient(circle at top,#60a5fa2e,#0000 45%);border-color:#60a5fa38;width:min(520px,100%);padding:34px}.auth-logo-wrap{background:#f8fafcf5;border:1px solid #ffffff26;border-radius:18px;place-items:center;width:108px;height:76px;margin:0 auto 18px;padding:10px;display:grid;box-shadow:0 18px 42px #00000047}.auth-logo-wrap img{object-fit:contain;width:100%;height:100%;display:block}.auth-eyebrow{color:#93c5fd;text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px;font-size:11px;font-weight:900}.auth-card.auth-card-polished h1{letter-spacing:-.03em;font-size:30px}.auth-card.auth-card-polished .auth-button{background:linear-gradient(135deg,#2563eb,#1d4ed8);width:100%;min-height:46px;margin-top:18px;box-shadow:0 12px 26px #2563eb47}.site-menu-section button.has-device-problem{background:linear-gradient(135deg,#7f1d1db8,#1e293bf5);border-color:#f87171d1;box-shadow:inset 4px 0 #ef4444f2,0 0 0 1px #ef44441f}.site-menu-section button.has-device-problem span{color:#fee2e2;font-weight:900}.site-menu-section button.has-device-problem small,.device-problem-label{text-align:right;font-weight:900;color:#fecaca!important}.switch-header-actions{flex-wrap:wrap;align-items:center}.switch-select-label{align-items:center;gap:8px;min-width:280px;display:flex}.switch-select-label span{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.switch-select{color:#f8fafc;background:#020617f5;border:1px solid #60a5fa61;border-radius:10px;min-width:210px;min-height:36px;padding:7px 10px}.connected-refresh-button{color:#dbeafe;background:#2563eb29;border-color:#60a5fa61;align-items:center;gap:6px;font-weight:800;display:inline-flex}.connected-refresh-button:hover:not(:disabled){background:#2563eb47}@media (width<=720px){.switch-select-label{min-width:100%}.switch-select{width:100%}}.device-problem-hover-wrap{position:relative}.device-problem-hover-card{z-index:9999;color:#f8fafc;text-align:left;pointer-events:none;background:#0f172afa;border:1px solid #f8717173;border-radius:14px;width:320px;max-width:70vw;padding:12px;display:none;position:absolute;top:0;left:calc(100% + 10px);box-shadow:0 18px 40px #0f172a5c}.device-problem-hover-wrap:hover .device-problem-hover-card,.device-problem-hover-wrap:focus .device-problem-hover-card,.device-problem-hover-wrap:focus-within .device-problem-hover-card{display:block}.device-problem-hover-card>strong{color:#fecaca;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:12px;display:block}.device-problem-hover-row{border-top:1px solid #94a3b82e;grid-template-columns:10px 1fr;gap:8px;padding:8px 0;display:grid}.device-problem-hover-row:first-of-type{border-top:0}.device-problem-hover-row em{color:#fca5a5;font-size:11px;font-style:normal;font-weight:800;display:block}.device-problem-hover-row span:not(.problem-severity-dot){color:#f8fafc;font-size:12px;line-height:1.35;display:block}.device-problem-hover-row small,.device-problem-more{color:#cbd5e1;margin-top:3px;font-size:11px;display:block}.problem-severity-dot{background:#f59e0b;border-radius:999px;width:9px;height:9px;margin-top:4px}.problem-severity-dot.severity-4,.problem-severity-dot.severity-5{background:#ef4444}.problem-severity-dot.severity-2,.problem-severity-dot.severity-3{background:#f59e0b}.problem-severity-dot.severity-1{background:#60a5fa}.topology-zabbix-device-form input{min-height:36px;color:var(--text-primary,#0f172a);background:#0f172a0a;border:1px solid #94a3b847;border-radius:10px;padding:7px 10px}@media (width<=900px){.device-problem-hover-card{top:calc(100% + 8px);left:0}}.global-status-page{--ops-accent:#2f9b8f;--ops-accent-soft:#2f9b8f24;--ops-line:#94a3b829;--ops-panel:#11181fe0;--ops-panel-deep:#0a0f14f0}.global-status-page .global-status-heading-card{border:1px solid var(--ops-line);border-left:4px solid var(--ops-accent);background:linear-gradient(120deg,#2f9b8f14,#11181feb 38%);border-radius:14px;padding:18px 20px}.global-status-page .global-status-title h1{letter-spacing:-.025em}.global-status-page .global-status-title p{color:#9aa7b2;max-width:760px}.global-status-page .global-status-toolbar button{color:#07110f;background:#2f9b8f;border-color:#2f9b8f;font-weight:800}.global-status-page .global-status-toolbar select{background:#111820;border-color:#94a3b838}.operations-summary{border:1px solid var(--ops-line);background:var(--ops-panel);border-radius:14px;grid-template-columns:minmax(240px,.8fr) minmax(0,1.6fr);gap:0;display:grid;overflow:hidden;box-shadow:0 14px 30px #00000029}.operations-summary-lead{border-right:1px solid var(--ops-line);background:var(--ops-panel-deep);align-content:center;gap:5px;padding:20px 22px;display:grid}.operations-summary-lead>span{color:#75c9be;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.operations-summary-lead strong{color:#f3f5f4;font-size:20px;font-weight:760}.operations-summary-lead small{color:#87949e}.operations-summary-stats{grid-template-columns:repeat(5,minmax(105px,1fr));display:grid}.operations-summary-stats>div{border-right:1px solid var(--ops-line);align-content:center;gap:4px;min-height:96px;padding:14px 18px;display:grid}.operations-summary-stats>div:last-child{border-right:0}.operations-summary-stats span{color:#87949e;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:750}.operations-summary-stats strong{color:#dbe5e2;font-size:23px;font-weight:760}.operations-summary-stats .warn strong{color:#e7b75f}.operations-summary-stats .bad strong{color:#ef8177}.global-status-page>.card,.global-status-page .global-lower-grid>.card,.global-status-page .global-router-drilldown .card{border-color:var(--ops-line);background:var(--ops-panel);box-shadow:0 10px 26px #00000021}.global-status-page .card-header{border-bottom-color:var(--ops-line)}.global-status-page .card-header h2,.global-status-page .card-header h3{letter-spacing:-.012em}.global-status-page .fleet-router-row{border-color:var(--ops-line);background:#0a0f1485}.global-status-page .fleet-router-row:hover{background:#2f9b8f12;border-color:#2f9b8f80}.global-status-page .health-signal-row,.global-status-page .attention-row{border-color:var(--ops-line);background:#0a0f1475}.global-status-page .global-mini-kpi{border-color:var(--ops-line);box-shadow:none;background:#0a0f148c;border-radius:8px}.global-status-page .sparkline-blue{stroke:#4eb1a5}.global-status-page .timeline-segment.up{box-shadow:none;background:#3a9f91}.global-status-page .global-status-badge.good{color:#91d5ca;background:#2f9b8f1f;border-color:#2f9b8f52}.router-marker-tooltip.leaflet-tooltip{color:#eef2f1;background:#0a0f14f7;border:1px solid #94a3b847;border-radius:12px;min-width:250px;max-width:360px;padding:0;box-shadow:0 16px 36px #00000061}.router-marker-tooltip.leaflet-tooltip:before{border-top-color:#0a0f14f7}.router-marker-tooltip-body{gap:5px;padding:11px 13px;display:grid}.router-marker-tooltip-body>strong{font-size:14px}.router-marker-tooltip-body>span{color:#9aa7b2;font-size:12px}.router-marker-problems{border-top:1px solid #ef817740;gap:5px;margin-top:4px;padding-top:8px;display:grid}.router-marker-problems em{color:#ef8177;font-size:12px;font-style:normal;font-weight:800}.router-marker-problems small{color:#d8dfdd;line-height:1.3}.router-marker-healthy{color:#75c9be;margin-top:3px}.section-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.router-wan-monitoring{gap:12px;display:grid}.wan-port-status-list{gap:8px;display:grid}.wan-port-status{background:#0a0f146b;border:1px solid #94a3b829;border-radius:9px;justify-content:space-between;gap:12px;padding:9px 10px;display:flex}.wan-port-status>div{align-items:center;gap:8px;display:flex}.wan-port-status span{color:#75c9be;text-transform:uppercase;font-size:11px;font-weight:800}.wan-port-status small{color:#9aa7b2;text-align:right}.wan-live-readout{border:1px solid #94a3b829;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.wan-live-readout .detail-row{border-bottom:1px solid #94a3b81f;margin:0;padding:9px 10px}.router-metric-window{flex-wrap:wrap}.router-wan-chart-stack{gap:12px;display:grid}.router-wan-chart-stack .metric-chart-card{min-height:250px}@media (width<=1050px){.operations-summary{grid-template-columns:1fr}.operations-summary-lead{border-right:0;border-bottom:1px solid var(--ops-line)}.operations-summary-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.operations-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-summary-stats>div{border-bottom:1px solid var(--ops-line)}.wan-live-readout{grid-template-columns:1fr}}.client-search-card{z-index:20;position:relative}.client-search-card .search-support-row{margin-top:8px}.client-search-dropdown{z-index:1;background:#0d1821;border:1px solid #34444f;border-radius:8px;width:100%;margin-top:8px;position:relative;overflow:hidden;box-shadow:0 18px 42px #00000075}.client-search-dropdown-head{color:#8fa0aa;border-bottom:1px solid #26343e;justify-content:space-between;padding:7px 10px;font-size:11px;display:flex}.client-search-dropdown-head strong{color:#dce6ea}.client-search-dropdown .client-match-list{scrollbar-gutter:stable;max-height:min(360px,42vh);padding:0;display:block;overflow:hidden auto}.client-search-dropdown .client-match-card{text-align:left;background:0 0;border:0;border-bottom:1px solid #23313a;border-radius:0;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);width:100%;min-height:42px;padding:7px 10px;display:grid}.client-search-dropdown .client-match-card.active{background:#172a31;box-shadow:inset 3px 0 #45a99c}.client-search-dropdown .client-match-main,.client-search-dropdown .client-match-meta{min-width:0}.client-search-dropdown .client-match-meta{grid-template-columns:minmax(120px,.7fr) minmax(170px,1fr) minmax(150px,.8fr);align-items:center;gap:12px;display:grid}.client-search-dropdown .source-pill-row{flex-wrap:wrap;min-width:0}.client-search-dropdown .client-match-meta>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.client-search-workspace{display:block}.client-search-workspace>.card{padding:14px 16px}.client-search-workspace>.card>.card-header{display:none}.client-troubleshooting-stack{gap:0}.client-focus-header{background:0 0;border-bottom:1px solid #293640;justify-content:space-between;align-items:center;gap:16px;padding:0 0 9px;display:flex}.client-focus-header h2{margin:3px 0 2px;font-size:19px}.client-focus-header p{color:#8fa0aa;margin:0;font-size:12px}.client-focus-header .source-pill{background:0 0;border:0;padding:0}.client-focus-header .source-pill.meraki{color:#62a7d8}.client-focus-header .source-pill.unifi{color:#9a8ddb}.client-path-strip{border-bottom:1px solid #293640;grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.client-path-strip>div{border-right:1px solid #22303a;min-width:0;padding:9px 8px}.client-path-strip>div:last-child{border-right:0}.client-path-strip span{color:#81929c;margin-bottom:3px;font-size:10px;display:block}.client-path-strip strong{overflow-wrap:anywhere;color:#e7edf2;font-size:12px;display:block}.client-path-strip strong.good{color:#55c98d}.client-path-strip strong.warn{color:#e5b454}.client-path-strip strong.bad{color:#ed746b}.client-troubleshooting-stack>.client-metric-grid,.client-troubleshooting-stack>.client-detail-grid{display:none}.client-monitoring-section{background:0 0;border:0;border-radius:0;padding:13px 0 0}.client-monitoring-head{align-items:center;margin-bottom:7px}.client-monitoring-head h3{margin:0;font-size:17px}.client-monitoring-head p{margin-top:2px}.client-evidence-source{color:#d6b45e;font-size:12px}.client-chart-grid{gap:16px}.client-chart-grid .metric-chart-card{background:#0b151d;border-radius:4px;min-height:225px}.client-events-section{margin-top:13px}.client-section-heading{justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.client-section-heading h3{margin:0;font-size:17px}.client-section-heading span{color:#8fa0aa;font-size:12px}.client-events-section .table-wrap{border:0}.client-events-section table{font-size:12px}.event-source.meraki{color:#62a7d8}.event-source.unifi{color:#9a8ddb}.source-records-details{margin-top:9px}@media (width<=1050px){.client-search-dropdown .client-match-meta{grid-template-columns:minmax(110px,.7fr) minmax(150px,1fr)}.client-search-dropdown .client-match-meta>span:last-child{grid-column:1/-1}.client-path-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.client-search-dropdown .client-match-card{grid-template-columns:1fr}.client-search-dropdown .client-match-meta{grid-template-columns:auto 1fr}.client-search-dropdown .client-match-list{max-height:min(420px,48vh)}.client-path-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.client-chart-grid{grid-template-columns:1fr}}.security-coverage-page{max-width:1500px}.coverage-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.coverage-header h1{margin:3px 0 5px}.coverage-header p{color:#94a3b8;margin:0}.coverage-notice{color:#eabf76;background:#eabf7612;border:1px solid #eabf7659;border-radius:9px;align-items:flex-start;gap:10px;padding:11px 13px;display:flex}.coverage-notice>div{gap:3px;display:grid}.coverage-notice span,.coverage-notice small{color:#aab5c2}.coverage-notice small{overflow-wrap:anywhere}.page-eyebrow{color:#75c9be;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.coverage-summary{background:#071019;border:1px solid #1e293b;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.coverage-summary>div{border-right:1px solid #1e293b;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 15px;display:flex}.coverage-summary>div:last-child{border-right:0}.coverage-summary span{color:#94a3b8;font-size:12px}.coverage-summary strong{font-size:20px}.coverage-summary .attention strong{color:#ef8177}.coverage-summary .review strong{color:#eabf76}.coverage-workspace{background:#071019;border:1px solid #1e293b;border-radius:10px;overflow:hidden}.coverage-tabs{border-bottom:1px solid #1e293b;gap:0;display:flex}.coverage-tabs button{color:#94a3b8;background:0 0;border:0;border-radius:0;padding:12px 16px}.coverage-tabs button.active{color:#e5eef5;background:#2f9b8f12;box-shadow:inset 0 -2px #2f9b8f}.coverage-tabs button span{color:#64748b;margin-left:8px;font-size:11px}.coverage-toolbar{border-bottom:1px solid #1e293b;align-items:center;gap:10px;padding:10px 12px;display:flex}.coverage-toolbar label{background:#020617;border:1px solid #263549;border-radius:7px;flex:1;align-items:center;gap:8px;padding:0 10px;display:flex}.coverage-toolbar input{background:0 0;border:0;width:100%;padding:9px 0}.coverage-toolbar select{min-width:140px}.coverage-toolbar>span{color:#64748b;text-align:right;min-width:65px;font-size:12px}.coverage-table-wrap{min-height:300px;max-height:calc(100vh - 330px);overflow:auto}.coverage-table{border-collapse:collapse;width:100%;font-size:13px}.coverage-table th{z-index:1;color:#8291a3;text-align:left;letter-spacing:.05em;text-transform:uppercase;background:#0b1520;border-bottom:1px solid #263549;padding:9px 12px;font-size:11px;position:sticky;top:0}.coverage-table th button{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:flex}.coverage-table th button.active,.coverage-table th button:hover{color:#d7e5e8}.coverage-table td{vertical-align:top;border-bottom:1px solid #1e293bb8;padding:10px 12px}.coverage-table tbody tr:hover{background:#2f9b8f0b}.coverage-table td strong,.coverage-table td small{display:block}.coverage-table td small{color:#718096;margin-top:3px}.coverage-description{color:#c5d0da;margin-top:2px;line-height:1.3;display:block}.coverage-state{text-transform:capitalize;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.coverage-state.good{color:#75c9be;background:#2f9b8f1f}.coverage-state.warn{color:#eabf76;background:#eabf761a}.coverage-state.muted{color:#94a3b8;background:#94a3b81a}.coverage-finding{align-items:center;gap:6px;display:inline-flex}.coverage-finding.bad{color:#ef8177}.coverage-finding.paused{color:#94a3b8}.coverage-empty{color:#718096;text-align:center;padding:40px}@media (width<=900px){.coverage-summary{grid-template-columns:1fr 1fr}.coverage-summary>div:nth-child(2){border-right:0}.coverage-tabs{overflow-x:auto}.coverage-toolbar{flex-wrap:wrap}.coverage-toolbar label{min-width:100%}}.main-panel .security-coverage-page{width:100%;max-width:none}.security-coverage-page .coverage-toolbar label{flex:auto;width:auto;min-width:280px;display:flex}.security-coverage-page .coverage-toolbar input{width:100%;min-width:0;display:block}.security-coverage-page .coverage-toolbar select{flex:0 0 170px;width:170px;min-width:170px;display:block}.sidebar .compound-nav{gap:6px;display:grid}.compound-nav .nav-group{gap:3px;display:grid}.compound-nav .nav-group-toggle{color:#cbd5e1;grid-template-columns:18px 1fr 16px;align-items:center;gap:9px;min-height:39px;display:grid}.compound-nav .nav-group-toggle.group-active{color:#f1f5f9;background:#1e293b6b;border-color:#334155}.compound-nav .nav-group-toggle[aria-expanded=true] .nav-group-chevron{transform:rotate(180deg)}.compound-nav .nav-group-chevron{color:#64748b;transition:transform .16s}.compound-nav .nav-group-pages{border-left:1px solid #263549;gap:3px;margin:0 0 3px 13px;padding-left:10px;display:grid}.compound-nav .nav-group-pages button{color:#94a3b8;min-height:35px;padding:7px 10px;font-size:13px}.compound-nav .nav-group-pages button.active{color:#fff;background:#1d4ed8;border-color:#3b82f6}.selected-client-rmm{color:#c7d2dc;margin:2px 0;font-size:12px;line-height:1.3;display:block}.switch-client-description{color:#c5d0da;margin-top:2px;font-size:12px;line-height:1.25;display:block}
