.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--bg: #f0f2f5;--bg-gradient: none;--bg-primary: #ffffff;--bg-secondary: #f8f9fb;--bg-solid: #ffffff;--bg-hover: #f4f5f7;--panel: #ffffff;--panel-solid: #ffffff;--surface: #ffffff;--surface-solid: #fafbfc;--card: #ffffff;--card-solid: #ffffff;--card2: #f8f9fb;--card-bg: #ffffff;--popup-bg: #ffffff;--dropdown-bg: #ffffff;--dropdown-hover: #f4f5f7;--dropdown-text: #1a1d23;--modal-bg: #ffffff;--text: #1a1d23;--text-secondary: #5f6878;--text-tertiary: #8b95a5;--muted: #6b7280;--text-inverse: #ffffff;--input-bg: #f4f5f7;--border: #e5e8ed;--border-light: #f0f1f4;--border-accent: rgba(14, 165, 233, .4);--border-focus: rgba(14, 165, 233, .6);--shadow: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .06);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .03);--shadow-glow: 0 0 0 3px rgba(14, 165, 233, .15);--accent: #0ea5e9;--accent-dark: #0284c7;--accent-light: #38bdf8;--accent-soft: rgba(14, 165, 233, .08);--accent-glow: rgba(14, 165, 233, .15);--accent-gradient: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);--accent-gradient-hover: linear-gradient(135deg, #0284c7 0%, #0891b2 100%);--accent2: #06b6d4;--accent2-soft: rgba(6, 182, 212, .1);--accent2-gradient: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .1);--danger-text: #dc2626;--success: #10b981;--success-soft: rgba(16, 185, 129, .1);--success-text: #059669;--warning: #f59e0b;--warning-soft: rgba(245, 158, 11, .1);--warning-text: #d97706;--info: #6366f1;--info-soft: rgba(99, 102, 241, .1);--neu-shadow: 0 1px 3px rgba(0, 0, 0, .04);--neu-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .03);--neu-border: 1px solid var(--border);--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(255, 255, 255, .9);--glass-blur: blur(12px);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 9999px}html.dark-mode{--bg: #0f1117;--bg-gradient: none;--bg-primary: #161921;--bg-secondary: #1f2331;--bg-solid: #161921;--bg-hover: #252a38;--panel: #161921;--panel-solid: #161921;--surface: #1a1d27;--surface-solid: #1a1d27;--card: #1a1d27;--card-solid: #1a1d27;--card2: #1f2331;--card-bg: #1a1d27;--popup-bg: #1f2331;--dropdown-bg: #1f2331;--dropdown-hover: #252a38;--dropdown-text: #e8eaed;--modal-bg: #161921;--text: #e8eaed;--text-secondary: #9ba3b5;--text-tertiary: #6b7280;--muted: #6b7280;--text-inverse: #0f1117;--input-bg: #1f2331;--border: #252a38;--border-light: #1f2331;--border-accent: rgba(56, 189, 248, .5);--border-focus: rgba(56, 189, 248, .7);--accent: #38bdf8;--accent-dark: #7dd3fc;--accent-soft: rgba(56, 189, 248, .12);--accent-glow: rgba(56, 189, 248, .2);--shadow: 0 1px 3px rgba(0, 0, 0, .2), 0 0 0 1px rgba(255, 255, 255, .03);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .3);--shadow-glow: 0 0 0 3px rgba(56, 189, 248, .2);--neu-shadow: 0 1px 3px rgba(0, 0, 0, .2);--neu-border: 1px solid var(--border);--glass-bg: rgba(22, 25, 33, .9);--glass-border: rgba(255, 255, 255, .06);--danger-text: #f87171;--success-text: #34d399;--warning-text: #fbbf24}html.dark-mode body{background:var(--bg)}html.dark-mode aside.sidebar,html.dark-mode .sidebar{background:var(--panel)!important;border-color:var(--border)!important}html.dark-mode .sidebar .btn{background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important}html.dark-mode .sidebar .btn:hover{background:var(--bg-hover)!important;border-color:var(--border-accent)!important}html.dark-mode .card{background:var(--card)!important;border-color:var(--border)!important;color:var(--text)!important}html.dark-mode .modal-card{background:var(--modal-bg)!important;border-color:var(--border)!important;color:var(--text)!important}html.dark-mode [style*="background: #f8fafc"],html.dark-mode [style*="background:#f8fafc"],html.dark-mode [style*="background: #fff"],html.dark-mode [style*="background:#fff"],html.dark-mode [style*="background: #ffffff"],html.dark-mode [style*="background:#ffffff"],html.dark-mode [style*="background: white"],html.dark-mode [style*="background:white"],html.dark-mode [style*="background: #fafbfc"],html.dark-mode [style*="background:#fafbfc"]{background:var(--bg-secondary)!important;color:var(--text)!important}html.dark-mode [style*="color: #1a1f2e"],html.dark-mode [style*="color:#1a1f2e"],html.dark-mode [style*="color: #000"],html.dark-mode [style*="color:#000"],html.dark-mode [style*="color: black"],html.dark-mode [style*="color:black"]{color:var(--text)!important}html.dark-mode select,html.dark-mode select option{background:var(--input-bg, #1e293b)!important;color:var(--text, #fff)!important}select[style*="background: #2a2a2a"] option,select[style*="background:#2a2a2a"] option,select[style*="background: #333"] option,select[style*="background:#333"] option{background:#2a2a2a!important;color:#fff!important}html:not(.dark-mode) input[style*="background: #2a"],html:not(.dark-mode) input[style*="background:#2a"],html:not(.dark-mode) textarea[style*="background: #2a"],html:not(.dark-mode) textarea[style*="background:#2a"],html:not(.dark-mode) select[style*="background: #2a"],html:not(.dark-mode) select[style*="background:#2a"]{background:var(--input-bg, #f1f5f9)!important;color:var(--text, #1e293b)!important;border-color:var(--border, #cbd5e1)!important}html:not(.dark-mode) [style*="background: rgba(0,0,0"],html:not(.dark-mode) [style*="background:rgba(0,0,0"],html:not(.dark-mode) [style*="background: #1e"],html:not(.dark-mode) [style*="background:#1e"],html:not(.dark-mode) [style*="background: #15"],html:not(.dark-mode) [style*="background:#15"],html:not(.dark-mode) [style*="background: #0f"],html:not(.dark-mode) [style*="background:#0f"],html:not(.dark-mode) [style*="background: #12"],html:not(.dark-mode) [style*="background:#12"],html:not(.dark-mode) [style*="background: #1a"],html:not(.dark-mode) [style*="background:#1a"],html:not(.dark-mode) [style*="background: #24"],html:not(.dark-mode) [style*="background:#24"]{background:var(--card)!important;color:var(--text)!important}html:not(.dark-mode) [style*="background: rgba(0,0,0,0.6)"],html:not(.dark-mode) [style*="background:rgba(0,0,0,0.6)"],html:not(.dark-mode) [style*="background: rgba(0,0,0,.6)"],html:not(.dark-mode) [style*="background:rgba(0,0,0,.6)"]{background:#00000080!important}html:not(.dark-mode) .card[style*=background],html:not(.dark-mode) .modal-content,html:not(.dark-mode) .popup-content{background:var(--card)!important;color:var(--text)!important}html:not(.dark-mode) [style*="background: var(--card)"]{background:var(--card)!important;color:var(--text)!important}html:not(.dark-mode) [style*="color: #f1f5f9"],html:not(.dark-mode) [style*="color:#f1f5f9"],html:not(.dark-mode) [style*="color: #e2e8f0"],html:not(.dark-mode) [style*="color:#e2e8f0"],html:not(.dark-mode) [style*="color: #fff"],html:not(.dark-mode) [style*="color:#fff"],html:not(.dark-mode) [style*="color: white"],html:not(.dark-mode) [style*="color:white"]{color:var(--text)!important}html.dark-mode table{color:var(--text)}html.dark-mode table th{color:var(--muted)!important;background:var(--bg-secondary)!important}html.dark-mode table td{color:var(--text)!important;border-color:var(--border)!important}html.dark-mode table thead tr{background:var(--bg-secondary)!important}html.dark-mode table tbody tr{background:transparent!important}html.dark-mode table tbody tr:hover{background:var(--bg-hover)!important}html.dark-mode .input,html.dark-mode input[type=text],html.dark-mode input[type=password],html.dark-mode input[type=email],html.dark-mode input[type=number],html.dark-mode input[type=date],html.dark-mode input[type=time],html.dark-mode input[type=search],html.dark-mode select,html.dark-mode textarea{background:var(--bg-secondary)!important;color:var(--text)!important;border-color:var(--border)!important}html.dark-mode .input:focus,html.dark-mode input:focus,html.dark-mode select:focus,html.dark-mode textarea:focus{border-color:var(--border-focus)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}html.dark-mode .input::placeholder,html.dark-mode input::placeholder,html.dark-mode textarea::placeholder{color:var(--muted)!important}html.dark-mode select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L2 4h8z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 10px center!important;background-size:12px!important;padding-right:30px!important}html.dark-mode select option{background:var(--dropdown-bg)!important;color:var(--dropdown-text)!important;padding:10px!important}html.dark-mode select option:hover,html.dark-mode select option:focus,html.dark-mode select option:checked{background:var(--dropdown-hover)!important;color:var(--text)!important}html.dark-mode .btn{background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important}html.dark-mode .btn:hover{background:var(--bg-hover)!important;border-color:var(--border-accent)!important}html.dark-mode .btn.primary,html.dark-mode .btn-primary{background:var(--accent-gradient)!important;color:#fff!important;border-color:transparent!important}html.dark-mode .btn.primary:hover,html.dark-mode .btn-primary:hover{background:var(--accent-gradient-hover)!important}html.dark-mode .btn.danger{background:var(--danger-soft)!important;color:var(--danger-text)!important;border-color:#ef44444d!important}html.dark-mode .badge{background:var(--surface)!important;color:var(--text-secondary)!important}html.dark-mode .badge.ok{background:var(--success-soft)!important;color:var(--success-text)!important}html.dark-mode .badge.bad{background:var(--danger-soft)!important;color:var(--danger-text)!important}html.dark-mode .badge.warn{background:var(--warning-soft)!important;color:var(--warning-text)!important}html.dark-mode .tabs{background:var(--bg-secondary)!important}html.dark-mode .tab{color:var(--text-secondary)!important}html.dark-mode .tab:hover{color:var(--text)!important;background:var(--surface)!important}html.dark-mode .tab.active{background:var(--surface)!important;color:var(--text)!important}html.dark-mode .stat-card{background:var(--card)!important;color:var(--text)!important}html.dark-mode .stat-card .value{color:var(--text)!important}html.dark-mode .stat-card .label{color:var(--muted)!important}html.dark-mode .config-tile{background:var(--card)!important;border-color:var(--border)!important}html.dark-mode .config-tile:hover{background:var(--bg-hover)!important;border-color:var(--border-accent)!important}html.dark-mode .config-tile .label{color:var(--text)!important}html.dark-mode ::-webkit-scrollbar-track{background:var(--bg-secondary)!important}html.dark-mode ::-webkit-scrollbar-thumb{background:var(--surface)!important}html.dark-mode ::-webkit-scrollbar-thumb:hover{background:var(--muted)!important}html.dark-mode [data-tooltip]:after{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)!important}html.dark-mode .gridTile{background:var(--card)!important;border-color:var(--border)!important}html.dark-mode .gridTileHeader{background:var(--bg-secondary)!important;border-color:var(--border)!important}html.dark-mode .gridTileTitle{color:var(--text)!important}html.dark-mode .side-panel{background:var(--panel)!important;border-color:var(--border)!important}html.dark-mode .side-panel-header{color:var(--muted)!important}html.dark-mode .progress-bar{background:var(--bg-secondary)!important}html.dark-mode .empty-state{color:var(--muted)!important}html.dark-mode .empty-state .title{color:var(--text)!important}html.compact-mode{font-size:12px}html.compact-mode .sidebar{padding:8px!important}html.compact-mode .sidebar .btn{padding:6px 8px!important;font-size:12px!important}html.compact-mode main.main-content{padding:8px!important}html.compact-mode .card{padding:12px!important}html.compact-mode h1{font-size:1.5rem!important}html.compact-mode h2{font-size:1.25rem!important}html.topbar-layout .topbar-nav{display:flex!important}html.topbar-layout main.main-content{margin-left:0!important;padding-top:110px!important}.topbar-nav{display:none;position:fixed;top:0;left:0;right:0;z-index:100;background:var(--panel);border-bottom:1px solid var(--border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);flex-direction:column}.topbar-nav-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--border-light)}.topbar-nav-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--text)}.topbar-nav-logo img{height:28px}.topbar-nav-user{display:flex;align-items:center;gap:12px}.topbar-nav-menu{display:flex;align-items:center;padding:0 12px;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch}.topbar-nav-menu::-webkit-scrollbar{height:0}.topbar-menu-item{position:relative;padding:12px 16px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;border:none;background:transparent;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:all var(--transition-fast);border-radius:8px;margin:4px 0}.topbar-menu-item:hover{background:#3b82f614;color:var(--text)}.topbar-menu-item.active{background:#3b82f61f;color:var(--accent);font-weight:600}.topbar-menu-item svg{width:16px;height:16px}.topbar-menu-item .dropdown-arrow{width:10px;height:10px;margin-left:4px;transition:transform var(--transition-fast)}.topbar-menu-item:hover .dropdown-arrow,.topbar-menu-item.open .dropdown-arrow{transform:rotate(180deg)}.topbar-dropdown{position:absolute;top:100%;left:0;min-width:220px;background:var(--dropdown-bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #00143c26;padding:6px;z-index:200;opacity:0;visibility:hidden;transform:translateY(8px);transition:all var(--transition-fast)}.topbar-menu-item:hover .topbar-dropdown,.topbar-menu-item.open .topbar-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.topbar-dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:13px;color:var(--text-secondary);cursor:pointer;border-radius:8px;border:none;background:transparent;width:100%;text-align:left;transition:all var(--transition-fast)}.topbar-dropdown-item:hover{background:#3b82f614;color:var(--text)}.topbar-dropdown-item.active{background:#3b82f61f;color:var(--accent);font-weight:500}.topbar-dropdown-item svg{width:16px;height:16px;opacity:.7}.topbar-dropdown-divider{height:1px;background:var(--border);margin:6px 0}html.sidebar-layout .topbar-nav{display:none!important}html.sidebar-layout aside.sidebar{display:flex!important}aside.sidebar.sidebar-collapsed{width:60px!important}aside.sidebar.sidebar-collapsed .sidebar-collapsed-item{position:relative}aside.sidebar.sidebar-collapsed .sidebar-collapsed-item:after{content:attr(title);position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:8px;padding:6px 10px;background:var(--popup-bg);color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;z-index:1000;box-shadow:var(--shadow);pointer-events:none}aside.sidebar.sidebar-collapsed .sidebar-collapsed-item:hover:after{opacity:1;visibility:visible}.sidebar-collapse-btn{opacity:1;transition:transform .15s,background .15s!important}.sidebar-collapse-btn:hover{background:var(--accent, #3b82f6)!important;color:#fff!important;box-shadow:0 2px 12px #3b82f64d!important}aside.sidebar.sidebar-collapsed .sidebar-collapse-btn{opacity:1;right:-14px}html.sticky-topbar .topbar-nav{position:fixed}html.sticky-topbar.topbar-layout main.main-content{padding-top:110px!important}html:not(.sticky-topbar) .topbar-nav{position:relative}html:not(.sticky-topbar).topbar-layout main.main-content{padding-top:16px!important}html.sticky-topbar .main-topbar{position:sticky;top:0;z-index:50;background:var(--bg);margin:-16px -16px 16px;padding:16px;border-bottom:1px solid var(--border)}html.dark-mode .topbar-nav{background:var(--bg-primary);border-color:var(--border)}html.dark-mode .topbar-dropdown{background:var(--dropdown-bg);border-color:var(--border);box-shadow:0 12px 40px #0006}html.dark-mode .topbar-menu-item:hover,html.dark-mode .topbar-dropdown-item:hover{background:#3b82f626}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-dark)}.h1{font-size:32px;font-weight:700;letter-spacing:-.03em;color:var(--text);line-height:1.2}.h2{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.h3{font-size:18px;font-weight:600;color:var(--text)}.h4{font-size:14px;font-weight:600;color:var(--text)}.small{font-size:12px;color:var(--text-secondary);letter-spacing:.01em}button,input,select,textarea{font:inherit;color:inherit}.btn{position:relative;padding:10px 18px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;font-weight:500;font-size:13px;transition:all var(--transition-normal);outline:none;box-shadow:var(--shadow);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{border-color:var(--border-accent);background:var(--bg-hover);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98);box-shadow:var(--shadow-inset)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;pointer-events:none}.btn.primary,.btn-primary{background:var(--accent);border:none;color:#fff;box-shadow:0 1px 3px #2563eb33;font-weight:600}.btn.primary:hover,.btn-primary:hover{background:var(--accent-dark);box-shadow:0 2px 8px #2563eb4d;transform:translateY(-1px)}.btn.secondary,.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn.secondary:hover,.btn-secondary:hover{background:var(--accent-soft);border-color:var(--border-accent);color:var(--accent)}.btn.success,.btn-success{background:var(--success);border:none;color:#fff;box-shadow:0 1px 3px #10b98133}.btn.success:hover,.btn-success:hover{box-shadow:0 2px 8px #10b9814d;transform:translateY(-1px)}.btn.danger,.btn-danger{background:var(--danger-soft);border-color:#ef44444d;color:var(--danger)}.btn.danger:hover,.btn-danger:hover{background:#ef444433;border-color:var(--danger);box-shadow:0 2px 8px #ef444433}.btn.warning,.btn-warning{background:var(--warning-soft);border-color:#f59e0b4d;color:var(--warning)}.btn.warning:hover,.btn-warning:hover{background:#f59e0b33;border-color:var(--warning)}.btn.ghost,.btn-ghost{background:transparent;border:none;box-shadow:none;color:var(--text-secondary)}.btn.ghost:hover,.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}.btn.icon-btn,.btn-icon{padding:8px;min-width:36px;min-height:36px}.btn.sm,.btn-sm{padding:6px 12px;font-size:12px;border-radius:var(--radius-sm)}.btn.lg,.btn-lg{padding:14px 24px;font-size:15px;border-radius:var(--radius-lg)}.input,input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=time],select,textarea{padding:11px 16px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--input-bg);color:var(--text);outline:none;width:100%;font-size:14px;transition:all var(--transition-normal);box-shadow:none}.input:focus,input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--muted)}.bookmark-textarea::placeholder{color:#9ca3af!important;opacity:1}select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23718096' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:all var(--transition-normal);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);opacity:.3}.card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.card.interactive:hover{cursor:pointer}.health-row{transition:background var(--transition-fast, .12s)}.health-row:hover{background:var(--bg-hover)}.card-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title{font-size:16px;font-weight:600;color:var(--text);margin:0}.card-subtitle{font-size:13px;color:var(--muted);margin-top:2px}.card-body{padding:20px}.card-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:10px}.card.accent{border-left:3px solid var(--accent)}.card.success{border-left:3px solid var(--success)}.card.warning{border-left:3px solid var(--warning)}.card.danger{border-left:3px solid var(--danger)}.card.glow{box-shadow:var(--shadow),var(--shadow-glow)}.card.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:14px 16px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}.table th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:#00143c05}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:#3b82f608}.table tbody tr.event-row-clickable{cursor:pointer}.table tbody tr.event-row-clickable:hover{background:#3b82f61a}.table tbody tr.event-row-clickable:active{background:#3b82f62e}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:100px;font-size:11px;font-weight:600;letter-spacing:.02em;background:#00143c0d;color:var(--text-secondary)}.badge.ok{color:var(--success);background:var(--success-soft)}.badge.bad{color:var(--danger);background:var(--danger-soft)}.badge.warn{color:var(--warning);background:var(--warning-soft)}.badge-online{color:var(--success);background:var(--success-soft)}.badge-offline{color:var(--text-tertiary);background:var(--bg-hover)}.badge-warning{color:var(--warning);background:var(--warning-soft)}.badge-info{color:var(--info);background:var(--info-soft)}.alert{padding:12px 16px;border-radius:var(--radius-md);font-size:13px;display:flex;align-items:flex-start;gap:10px;border-left:3px solid transparent}.alert-success{background:var(--success-soft);border-left-color:var(--success);color:var(--success-text)}.alert-warning{background:var(--warning-soft);border-left-color:var(--warning);color:var(--warning-text)}.alert-error{background:var(--danger-soft);border-left-color:var(--danger);color:var(--danger-text)}.alert-info{background:var(--info-soft);border-left-color:var(--info);color:var(--accent)}.kbd{font-size:11px;font-family:SF Mono,Fira Code,Consolas,monospace;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;padding:3px 8px;background:#00143c08}hr.sep{border:none;border-top:1px solid var(--border);margin:18px 0}aside{background:var(--panel)!important;border-right:1px solid var(--border)!important}.playerFrame{width:100%;aspect-ratio:16 / 9;max-height:calc(100vh - 260px);background:#0f1117;border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;position:relative;box-shadow:var(--shadow)}.diagBtn{position:absolute;top:14px;right:14px;z-index:20;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-normal)}.diagBtn:hover{background:#000c;border-color:#fff6;transform:scale(1.05)}.diagMini{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;width:min(500px,calc(100% - 32px));border-radius:20px;border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:20px;box-shadow:0 20px 60px #00145026}.diagClose{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.diagClose:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.diagLines{font-size:13px;color:var(--text-secondary);line-height:1.7;padding-right:40px}.diagLines .ok{color:var(--success);font-weight:600}.diagLines .warn{color:var(--warning);font-weight:600}.diagMiniFooter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.linkBtn{border:none;background:transparent;color:var(--accent);padding:0;cursor:pointer;font-size:13px;font-weight:500;transition:color var(--transition-fast)}.linkBtn:hover{color:var(--accent-dark);text-decoration:underline}.diagModalBackdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:#00143c66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}.diagModal{width:min(1000px,100%);max-height:min(85vh,750px);border-radius:24px;border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:0 32px 80px #00145033;display:flex;flex-direction:column}.diagModalHeader{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px}.diagModalBody{padding:20px 24px;overflow:auto;overflow-x:hidden}.diagJson{margin:0;font-size:12px;font-family:SF Mono,Fira Code,monospace;color:var(--text-secondary);background:#00143c08;border:1px solid var(--border);border-radius:14px;padding:16px}.diagDetails{font-size:14px;color:var(--text-secondary)}.diagDetailsSection{margin-bottom:20px}.diagDetailsTitle{font-weight:600;margin:0 0 12px;color:var(--text);font-size:15px}.diagDetailsGrid{display:grid;grid-template-columns:180px 1fr;gap:10px 16px}.diagKvKey{color:var(--muted)}.diagKvVal{color:var(--text-secondary)}.diagDivider{height:1px;background:var(--border);margin:18px 0}.diagPills{display:flex;flex-wrap:wrap;gap:10px}.diagPill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:100px;font-size:12px;font-weight:500;border:1px solid var(--border);background:var(--card)}.diagPillOk{border-color:#10b98140;color:var(--success);background:var(--success-soft)}.diagPillWarn{border-color:#f59e0b40;color:var(--warning);background:var(--warning-soft)}.diagPillBad{border-color:#ef444440;color:var(--danger);background:var(--danger-soft)}.videoCover,.videoContain{width:100%;height:100%;background:#000}.videoCover{object-fit:cover}.videoContain{object-fit:contain}.gridToolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:relative;z-index:100}.gridSurface{display:grid;gap:6px;width:100%}.gridTile{position:relative;background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);min-width:0;display:grid;grid-template-rows:auto 1fr;transition:all var(--transition-normal)}.gridTile:hover{border-color:var(--border-accent);box-shadow:var(--shadow-hover)}.gridTile.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft),var(--shadow-hover)}.gridTile.selected .gridTileHeader{background:var(--accent-soft)}.gridTileHeader{padding:6px 10px;display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#00143c05}.gridTileTitle{font-weight:600;font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:32vw;color:var(--text)}.gridTileBody{aspect-ratio:16 / 9;background:#1a1f2e}.gridTileEmpty{padding:24px;color:var(--muted);font-size:13px;text-align:center}.gridLayoutMenu{position:absolute;right:0;top:52px;background:var(--panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:16px;padding:8px;display:grid;gap:4px;min-width:200px;z-index:20;box-shadow:0 16px 48px #00145026}.gridLayoutMenuItem{text-align:left;padding:12px 16px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;font-size:14px;transition:all var(--transition-fast)}.gridLayoutMenuItem:hover{background:#3b82f60d;border-color:var(--border)}.gridLayoutMenuItem.active{background:var(--accent-soft);border-color:var(--border-accent);color:var(--accent)}.gridBottomBar{position:fixed;bottom:0;left:0;right:0;background:#fffffff2;border-top:1px solid var(--border);padding:8px 16px;display:flex;align-items:center;gap:8px;z-index:100;transition:transform .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.gridBottomBar::-webkit-scrollbar{height:3px}.gridBottomBar::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.gridBottomBar.hidden{transform:translateY(100%)}.gridBottomBar .bar-group{display:flex;gap:4px;align-items:center;padding:0 8px;border-right:1px solid var(--border);flex-shrink:0}.gridBottomBar .bar-group:last-child{border-right:none}.gridBottomBar .bar-label{font-size:9px;text-transform:uppercase;font-weight:600;opacity:.4;letter-spacing:.5px;margin-right:4px;white-space:nowrap}.gridBottomBar .btn,.gridBottomBar button,.gridBottomBar select{white-space:nowrap;flex-shrink:0}.gridFilterChips{display:flex;gap:6px;padding:4px 0;overflow-x:auto;flex-wrap:wrap;align-items:center}.gridFilterChip{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500;border:1px solid var(--border);background:var(--bg-primary);color:var(--text);cursor:pointer;white-space:nowrap;transition:all .15s}.gridFilterChip:hover:not(.active){background:var(--bg-hover)}.gridFilterChip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.gridPageIndicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 0 4px}.gridPageDot{width:8px;height:8px;border-radius:50%;background:var(--border);cursor:pointer;transition:all .2s}.gridPageDot.active{background:var(--accent);transform:scale(1.3)}.gridPageDot:hover:not(.active){background:var(--text-secondary)}.gridTile.dragging{opacity:.4;transform:scale(.95)!important}.gridTile.drag-over{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent),inset 0 0 30px #3b82f626!important}.gridTile.hero .gridTileHeader{padding:16px 20px}.gridTile.hero .gridTileTitle{font-size:16px}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.4}}html.dark-mode .gridBottomBar{background:#1a1d27f2;border-color:#ffffff14}html.dark-mode .gridFilterChip{background:#ffffff0d;border-color:#ffffff1a;color:var(--text)}html.dark-mode .gridFilterChip.active{background:var(--accent);border-color:var(--accent);color:#fff}html.dark-mode .gridFilterChip:hover:not(.active){background:#ffffff1a}html.dark-mode .gridTile{box-shadow:0 2px 8px #0000004d}html.dark-mode .gridTile:hover{box-shadow:0 4px 16px #0006}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00143c59;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;justify-content:center;align-items:flex-start;padding:80px 24px;z-index:9999}.modal-card{position:relative;z-index:10000;width:min(960px,100%);max-height:calc(100vh - 100px);overflow-y:auto;background:var(--panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:0 32px 80px #00145033}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#00143c08;border-radius:5px}::-webkit-scrollbar-thumb{background:#001e5026;border-radius:5px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#001e5040;background-clip:content-box}.glow{box-shadow:0 8px 32px #3b82f633}.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.neumorphic{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;animation:pulse-dot 2s infinite}.status-dot.online{background:var(--success)}.status-dot.offline{background:var(--danger);animation:none}.status-dot.warning{background:var(--warning)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeIn{animation:fadeIn .3s ease}.animate-slideUp{animation:slideUp .4s ease}.animate-slideDown{animation:slideDown .4s ease}.animate-scaleIn{animation:scaleIn .3s ease}.animate-pulse{animation:pulse 2s infinite}.skeleton{background:linear-gradient(90deg,#00143c0d 25%,#00143c1a,#00143c0d 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}.config-tile{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow)}.config-tile:hover{border-color:var(--border-accent);box-shadow:var(--shadow-hover);transform:translateY(-3px);background:#fff}.config-tile:active{transform:translateY(0)}.config-tile .icon{font-size:24px;color:var(--accent)}.config-tile .label{font-weight:600;font-size:14px;color:var(--text)}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.stat-card .value{font-size:32px;font-weight:700;color:var(--text);line-height:1;margin-bottom:6px}.stat-card .label{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stat-card.accent{background:var(--accent-gradient);border:none}.stat-card.accent .value,.stat-card.accent .label{color:#fff}.progress-bar{height:8px;background:#00143c14;border-radius:100px;overflow:hidden}.progress-bar .fill{height:100%;background:var(--accent-gradient);border-radius:100px;transition:width var(--transition-smooth)}.progress-bar.success .fill{background:var(--success)}.progress-bar.warning .fill{background:var(--warning)}.progress-bar.danger .fill{background:var(--danger)}.tabs{display:flex;gap:4px;padding:4px;background:#00143c0a;border-radius:14px;width:fit-content}.tab{padding:10px 20px;border-radius:10px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-weight:500;font-size:13px;transition:all var(--transition-fast)}.tab:hover{color:var(--text);background:#00143c0a}.tab.active{background:#fff;color:var(--text);box-shadow:0 2px 8px #00143c14}.empty-state{text-align:center;padding:60px 24px;color:var(--muted)}.empty-state .icon{font-size:48px;margin-bottom:16px;opacity:.4}.empty-state .title{font-size:18px;font-weight:600;color:var(--text);margin-bottom:8px}.empty-state .description{font-size:14px;max-width:360px;margin:0 auto}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:8px 12px;background:var(--text);color:#fff;font-size:12px;font-weight:500;border-radius:8px;white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--transition-fast);pointer-events:none;z-index:100}[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(-4px)}.mobile-menu-toggle{display:none;position:fixed;top:12px;left:12px;z-index:1001;width:44px;height:44px;border-radius:12px;border:1px solid var(--border);background:var(--card);cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--shadow)}.mobile-menu-toggle svg{width:24px;height:24px;stroke:var(--text)}.mobile-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00143c80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}.mobile-overlay.active{display:block}.language-switcher{display:flex;gap:4px;padding:4px;background:#00143c0a;border-radius:10px}.language-btn{padding:6px 12px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-weight:500;font-size:12px;transition:all var(--transition-fast)}.language-btn:hover{background:#00143c0f}.language-btn.active{background:#fff;color:var(--accent);box-shadow:0 1px 4px #00143c1a}@media(pointer:coarse){button,.btn,a,[role=button]{min-height:44px}*{touch-action:manipulation}}@media(max-width:768px){.h1{font-size:20px}.h2{font-size:15px}#root>div{display:block!important;grid-template-columns:1fr!important}.modal-backdrop{padding:12px}.modal-card{padding:16px;border-radius:20px;max-height:calc(100vh - 24px);max-width:calc(100vw - 24px)!important;width:100%!important}.gridTileTitle{max-width:50vw}.mobile-menu-toggle{display:flex}aside.sidebar{position:fixed!important;left:0;top:0;bottom:0;width:280px!important;max-width:85vw!important;transform:translate(-100%);transition:transform .3s ease;z-index:1000;overflow-y:auto!important;-webkit-overflow-scrolling:touch}aside.sidebar.open{transform:translate(0)}main.main-content{padding:60px 10px 10px!important;width:100%!important;max-width:100vw!important;overflow-x:hidden!important;box-sizing:border-box!important}.gridSurface{grid-template-columns:1fr!important}.card{border-radius:16px;overflow:hidden}.table-wrapper{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}.table th,.table td{padding:10px 12px;font-size:13px;white-space:nowrap}table{min-width:100%}.btn{padding:10px 14px;font-size:13px;min-height:44px}.btn.btn-sm,.btn-sm{min-height:36px;padding:6px 10px;font-size:12px}.input,input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=time],select,textarea{padding:12px 14px;font-size:16px;min-height:44px;box-sizing:border-box;max-width:100%}select{min-width:0!important}.gridToolbar{flex-direction:column;align-items:stretch;gap:10px}.stat-card .value{font-size:24px}.config-tile{height:80px}.tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:8px 14px;white-space:nowrap;flex-shrink:0}.empty-state{padding:40px 16px}.empty-state .icon{font-size:40px}.empty-state .title{font-size:16px}[data-tooltip]:after{display:none}.playerFrame{border-radius:12px;max-height:calc(100vh - 160px)}.diagMini{width:calc(100% - 24px);padding:16px}.diagModal{max-height:90vh}.diagDetailsGrid{grid-template-columns:1fr;gap:8px}.diagKvKey{font-weight:600;margin-top:8px}.gridTile{border-radius:12px}.gridTileHeader{padding:10px 12px}.gridTileTitle{font-size:13px;max-width:60vw}::-webkit-scrollbar{width:4px;height:4px}.modal-backdrop .card,.modal-backdrop>div>.card{max-width:calc(100vw - 24px)!important;box-sizing:border-box!important}body,#root{overflow-x:hidden;max-width:100vw}}@media(max-width:480px){.h1{font-size:18px}.h2{font-size:14px}.h3,body{font-size:13px}main.main-content{padding:56px 8px 8px!important}.mobile-menu-toggle{top:8px;left:8px;width:42px;height:42px}.card{border-radius:12px;padding:12px}.btn{padding:10px 12px;font-size:12px;border-radius:10px;min-height:42px}.stat-card{padding:12px}.stat-card .value{font-size:20px}.stat-card .label{font-size:11px}.config-tile{height:70px}.config-tile .icon{font-size:20px}.config-tile .label{font-size:12px}.badge{padding:4px 8px;font-size:10px}.modal-card{padding:12px;border-radius:16px}aside.sidebar{width:260px!important;max-width:80vw!important}}@media(min-width:769px)and (max-width:1024px){aside.sidebar{width:220px!important}.gridSurface{gap:12px}}@supports (padding: env(safe-area-inset-top)){@media(max-width:768px){main.main-content{padding-left:max(10px,env(safe-area-inset-left))!important;padding-right:max(10px,env(safe-area-inset-right))!important;padding-bottom:max(10px,env(safe-area-inset-bottom))!important}.mobile-menu-toggle{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left))}aside.sidebar{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}}html.topbar-layout .app-container{flex-direction:column!important}html.topbar-layout aside.sidebar{display:none!important}html.topbar-layout main.main-content{margin-left:0!important;width:100%!important}html.sticky-topbar nav[style*="height: 50px"]{position:sticky;top:0;z-index:100}.topbar-nav{display:flex;flex-direction:column;background:var(--panel);border-bottom:1px solid var(--border);box-shadow:0 2px 8px #0000000d}.topbar-nav .topbar-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border)}.topbar-nav .topbar-menu{display:flex;align-items:center;gap:2px;padding:4px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.topbar-menu-item{position:relative;display:inline-flex;align-items:center;gap:4px;padding:8px 14px;background:transparent;border:none;border-radius:6px;color:var(--text);cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap;transition:all var(--transition-fast)}.topbar-menu-item:hover{background:var(--accent-soft)}.topbar-menu-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.topbar-menu-item .dropdown-arrow{width:12px;height:12px;opacity:.6;transition:transform var(--transition-fast)}.topbar-menu-item.open .dropdown-arrow{transform:rotate(180deg)}.topbar-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:var(--dropdown-bg);border:1px solid var(--border);border-radius:12px;padding:6px;box-shadow:0 12px 32px #00000026;z-index:1000;animation:slideDown .2s ease}.topbar-dropdown-item{display:block;width:100%;padding:10px 14px;text-align:left;background:transparent;border:none;border-radius:8px;color:var(--text);cursor:pointer;font-size:13px;transition:all var(--transition-fast)}.topbar-dropdown-item:hover{background:var(--accent-soft)}.topbar-dropdown-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}html.dark-mode .topbar-nav{background:var(--panel);box-shadow:0 2px 8px #0003}html.dark-mode .topbar-dropdown{background:var(--dropdown-bg);box-shadow:0 12px 32px #0006}@media(max-width:768px){html.topbar-layout .topbar-menu{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:2px;scrollbar-width:none;-ms-overflow-style:none}html.topbar-layout .topbar-menu::-webkit-scrollbar{display:none}.topbar-menu-item{padding:8px 12px;font-size:12px;min-height:40px;flex-shrink:0}.topbar-dropdown{position:fixed;top:auto;left:12px;right:12px;bottom:12px;min-width:auto;max-height:60vh;overflow-y:auto;animation:slideUp .2s ease}}.stream-player-container{position:relative;display:flex;align-items:center;justify-content:center}.stream-loading-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:16px;z-index:10}.stream-spinner{width:48px;height:48px;position:relative;animation:spinnerRotate 1.2s linear infinite}.stream-spinner:before,.stream-spinner:after{content:"";position:absolute;width:10px;height:10px;background:#fff;border-radius:50%}.stream-spinner:before{top:0;left:50%;transform:translate(-50%);box-shadow:0 38px #fff,17px 17px #fffc,-17px 17px #fffc,19px -7px #fff9,-19px -7px #fff9}@keyframes spinnerRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stream-status-text{color:#fff;font-size:14px;font-weight:500;text-shadow:0 1px 4px rgba(0,0,0,.6)}.stream-error-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;z-index:10;padding:24px}.stream-error-icon{font-size:48px;color:#ef4444;text-shadow:0 2px 8px rgba(0,0,0,.4)}.stream-error-text{color:#fff;font-size:18px;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.6)}.stream-error-detail{color:#ffffffb3;font-size:13px;max-width:300px;text-shadow:0 1px 3px rgba(0,0,0,.5)}.stream-diagnostics{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:15}.stream-diagnostics-toggle{color:#10b981;background:transparent;border:none;cursor:pointer;font-size:13px;text-decoration:underline;text-decoration-color:#10b98180;padding:8px 12px}.stream-diagnostics-toggle:hover{color:#34d399}.stream-diagnostics-log{background:#000000d9;border-radius:8px;padding:12px 16px;min-width:280px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stream-diagnostics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.15)}.stream-diagnostics-title{font-size:13px;font-weight:600;color:#fff}.stream-diagnostics-close{width:24px;height:24px;border:none;background:#ffffff1a;border-radius:4px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .15s}.stream-diagnostics-close:hover{background:#fff3}.stream-log-entry{display:flex;gap:12px;padding:4px 0;font-size:13px;color:#fff}.stream-log-entry.success .stream-log-message{color:#10b981}.stream-log-entry.error .stream-log-message{color:#ef4444}.stream-log-time{color:#fff9;font-family:monospace;font-size:12px}.stream-log-message{flex:1}.side-panel{width:180px;background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;padding:8px;gap:12px;overflow-y:auto;position:relative}.side-panel-collapsed{width:32px;background:var(--panel);border-left:1px solid var(--border);display:flex;align-items:flex-start;justify-content:center;padding-top:8px}.side-panel-expand-btn,.side-panel-collapse-btn{width:24px;height:24px;border:none;background:var(--surface);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background .2s,color .2s}.side-panel-expand-btn:hover,.side-panel-collapse-btn:hover{background:var(--accent-soft);color:var(--accent)}.side-panel-collapse-btn{position:absolute;top:8px;right:8px}.side-panel-section{display:flex;flex-direction:column;gap:8px}.side-panel-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding-bottom:4px;border-bottom:1px solid var(--border-light)}.side-panel-live-btn{width:100%;padding:8px 12px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;background:var(--surface);color:var(--text-secondary)}.side-panel-live-btn.active{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.side-panel-controls{display:flex;justify-content:center;gap:4px}.side-panel-btn{width:28px;height:28px;border:1px solid var(--border);background:var(--surface);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .15s}.side-panel-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.side-panel-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.side-panel-btn.primary:hover{background:var(--accent-dark)}.side-panel-actions{display:flex;justify-content:center;gap:6px;margin-top:4px}.ptz-pad{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:4px;width:100px;height:100px;margin:0 auto}.ptz-btn{width:100%;height:100%;border:1px solid var(--border);background:var(--surface);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .1s}.ptz-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ptz-btn:active{background:var(--accent);color:#fff;transform:scale(.95)}.ptz-up{grid-column:2;grid-row:1}.ptz-left{grid-column:1;grid-row:2}.ptz-center{grid-column:2;grid-row:2;background:var(--accent-soft)}.ptz-right{grid-column:3;grid-row:2}.ptz-down{grid-column:2;grid-row:3}.ptz-zoom{display:flex;align-items:center;justify-content:center;gap:8px}.ptz-zoom-label{font-size:11px;color:var(--muted)}.ptz-speed{display:flex;flex-direction:column;gap:4px}.ptz-speed-label{font-size:11px;color:var(--muted)}.ptz-speed-slider{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:2px;outline:none}.ptz-speed-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:var(--accent);border-radius:50%;cursor:pointer}.ptz-presets{display:flex;flex-direction:column;gap:6px}.ptz-presets-label{font-size:11px;color:var(--muted)}.ptz-preset-btns{display:flex;flex-wrap:wrap;gap:4px}.ptz-preset-btn{width:24px;height:24px;border:1px solid var(--border);background:var(--surface);border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;color:var(--text-secondary);transition:all .15s}.ptz-preset-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.side-panel-info{display:flex;flex-direction:column;gap:6px}.side-panel-info-row{display:flex;justify-content:space-between;font-size:11px}.side-panel-info-label{color:var(--muted)}.side-panel-info-value{color:var(--text);font-weight:500}.side-panel-info-value.online{color:var(--success)}.side-panel-info-value.offline{color:var(--danger)}.side-panel-capabilities{display:flex;flex-direction:column;gap:8px}.capability-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--surface);border-radius:6px;font-size:11px}.capability-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.capability-indicator.supported{background:var(--success);box-shadow:0 0 6px var(--success)}.capability-indicator.not-supported{background:var(--muted);opacity:.5}.capability-label{flex:1;color:var(--text);font-weight:500}.capability-status{color:var(--muted);font-size:10px}html.dark-mode .side-panel{background:var(--panel)}html.dark-mode .ptz-btn:active{background:var(--accent)}.grid-map-entity,.kiosk-map-entity{background:transparent!important;border:none!important}.leaflet-control-zoom{border:none!important;box-shadow:0 1px 4px #0000004d!important}.leaflet-control-zoom a{width:24px!important;height:24px!important;line-height:24px!important;font-size:14px!important}.heading-accent{position:relative;display:inline-block}.heading-accent:after{content:"";position:absolute;bottom:-4px;left:0;width:40px;height:3px;background:var(--accent-gradient);border-radius:2px}@keyframes pulse-live{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}.live-indicator{width:10px;height:10px;background:#ef4444;border-radius:50%;animation:pulse-live 2s infinite}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glow-accent{box-shadow:0 0 20px #3b82f64d}.glow-success{box-shadow:0 0 20px #10b9814d}.glow-danger{box-shadow:0 0 20px #ef44444d}.status-glow{position:relative}.status-glow:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;background:currentColor;opacity:.3;filter:blur(4px)}.border-gradient{position:relative;background:var(--card);border-radius:var(--radius-lg)}.border-gradient:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:var(--accent-gradient);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.data-cell{padding:12px 16px;border-bottom:1px solid var(--border);transition:all var(--transition-fast)}.data-cell:hover{background:var(--accent-soft)}.icon-container{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent);transition:all var(--transition-normal)}.icon-container:hover{background:var(--accent);color:#fff;transform:scale(1.05)}.icon-container.success{background:var(--success-soft);color:var(--success)}.icon-container.warning{background:var(--warning-soft);color:var(--warning)}.icon-container.danger{background:var(--danger-soft);color:var(--danger)}.input-group{display:flex;align-items:stretch;gap:0}.input-group .input,.input-group input{border-radius:0;margin:0 -1px}.input-group .input:first-child,.input-group input:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.input-group .input:last-child,.input-group input:last-child,.input-group .btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.input-group .btn{border-radius:0}.fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--accent-gradient);color:#fff;border:none;box-shadow:0 4px 20px #3b82f666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal);z-index:100}.fab:hover{transform:scale(1.1);box-shadow:0 6px 28px #3b82f680}.fab svg{width:24px;height:24px}.split-view{display:grid;grid-template-columns:1fr 1fr;gap:20px;height:100%}@media(max-width:1024px){.split-view{grid-template-columns:1fr}}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--border)}.timeline-item{position:relative;padding-bottom:20px}.timeline-item:before{content:"";position:absolute;left:-20px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-primary)}.timeline-item.success:before{background:var(--success)}.timeline-item.warning:before{background:var(--warning)}.timeline-item.danger:before{background:var(--danger)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:500;background:var(--surface);color:var(--text-secondary);border:1px solid var(--border);transition:all var(--transition-fast)}.chip:hover{background:var(--bg-hover)}.chip.accent{background:var(--accent-soft);color:var(--accent);border-color:var(--border-accent)}.chip.success{background:var(--success-soft);color:var(--success)}.chip.warning{background:var(--warning-soft);color:var(--warning)}.chip.danger{background:var(--danger-soft);color:var(--danger)}.chip .chip-remove{width:14px;height:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0000001a;cursor:pointer;margin-left:2px;margin-right:-4px}.chip .chip-remove:hover{background:var(--danger);color:#fff}.notification-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:var(--danger);border-radius:50%;border:2px solid var(--bg-primary)}.notification-dot.count{width:auto;height:auto;min-width:18px;padding:2px 6px;font-size:10px;font-weight:700;color:#fff;text-align:center}.skeleton{background:linear-gradient(90deg,var(--surface) 0%,var(--bg-hover) 50%,var(--surface) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.divider-text{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.divider-text:before,.divider-text:after{content:"";flex:1;height:1px;background:var(--border)}.kbd-combo{display:inline-flex;align-items:center;gap:4px}.kbd-combo .kbd+.kbd:before{content:"+";margin-right:4px;opacity:.5}.hover-reveal{opacity:0;transition:opacity var(--transition-fast)}.hover-trigger:hover .hover-reveal{opacity:1}html.dark-mode .heading-accent:after{opacity:.8}html.dark-mode .border-gradient:before{opacity:.6}html.dark-mode .icon-container{background:#3b82f626}html.dark-mode .icon-container:hover{box-shadow:0 0 20px #3b82f666}html.dark-mode .chip{background:var(--surface)}html.dark-mode .skeleton{background:linear-gradient(90deg,var(--surface) 0%,var(--bg-hover) 50%,var(--surface) 100%);background-size:200% 100%}html.dark-mode .card:hover{box-shadow:0 8px 32px #0006,0 0 40px #3b82f61a}html.dark-mode .grid-pattern{background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:20px 20px}@media print{body{background:#fff!important;color:#000!important}.sidebar,.topbar-nav,.fab,.btn,.mobile-menu-toggle{display:none!important}.card{box-shadow:none!important;border:1px solid #ddd!important;break-inside:avoid}.modal-backdrop{display:none!important}main.main-content{padding:0!important;margin:0!important;width:100%!important}}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>*{grid-column:span 1!important}}.btn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.gridTile .gridTileTitle{min-width:0;overflow:hidden;text-overflow:ellipsis}@media(max-width:1280px){.gridTileBtnLabel{display:none}.gridTileBtn{padding:4px 8px!important}.gridFilterChip{padding:3px 10px;font-size:11px}}@media(max-width:1024px){.gridFilterChips{gap:4px}.gridFilterChip{padding:3px 8px;font-size:11px}}.btn-group,[class*=actions],[class*=Actions]{flex-wrap:wrap}
