.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{--tnb-red: #ed1c3c;--navy: #0a285f;--navy-2: #183c75;--ink: #0b2459;--cyan: #08afcc;--cyan-2: #48bfe3;--cyan-soft: #a8ecff;--steel: #4682b4;--crit: #e9253d;--crit-bg: #ffe1e4;--crit-ink: #ba1630;--high: #f68710;--high-bg: #fff0dc;--high-ink: #b95400;--med: #f4c314;--med-bg: #fff8ca;--med-ink: #856400;--low: #13ae61;--low-bg: #dcf8e5;--low-ink: #14713c;--muted-bg: #e8eef5;--muted-ink: #526880;--page-bg: #061126;--page-grad: radial-gradient(circle at 75% 30%, #123d46 0, transparent 31%), linear-gradient(120deg, #071a45, #081221 48%, #11252a);--text: #eef4ff;--text-2: #c9daf1;--text-3: #9eb9d8;--sidebar-bg: rgba(2, 12, 35, .78);--sidebar-border: rgba(159, 184, 229, .26);--nav-active: linear-gradient(100deg, #073f59, #24132d);--navbar-bg: rgba(3, 19, 47, .72);--navbar-border: rgba(167, 205, 236, .28);--hero-grid: rgba(255, 255, 255, .035);--hero-bg: linear-gradient(110deg, #072b63, #073744 53%, #421221);--hero-border: rgba(86, 196, 244, .35);--hero-text: #d9e4f9;--panel-bg: rgba(4, 4, 46, .55);--panel-border: rgba(86, 196, 244, .22);--card-bg: #ffffff;--card-border: #c9d9e8;--card-text: #163665;--card-muted: #59718f;--chip-bg: rgba(255, 255, 255, .1);--chip-border: rgba(255, 255, 255, .27);--input-bg: #f7fbff;--input-border: rgba(179, 215, 243, .48);--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 9px;--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}.light-theme{--page-bg: #eef5fa;--page-grad: radial-gradient(circle at 80% 10%, #cceaf4, transparent 32%), linear-gradient(140deg, #f7fbff, #e9f1f8 55%, #dcecf1);--text: #0b2459;--text-2: #36587b;--text-3: #58718f;--sidebar-bg: #ffffff;--sidebar-border: #b9cadc;--nav-active: linear-gradient(100deg, #0e7697, #513360);--navbar-bg: rgba(255, 255, 255, .9);--navbar-border: #c6d6e6;--hero-grid: rgba(40, 111, 160, .08);--hero-bg: linear-gradient(120deg, #d7f3ff, #ddecf5 60%, #f6dce3);--hero-border: #b9d8ea;--hero-text: #385879;--panel-bg: #ffffff;--panel-border: #d3deeb;--chip-bg: rgba(255, 255, 255, .6);--chip-border: #9fb9d2}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--page-bg);background-image:var(--page-grad);background-attachment:fixed;color:var(--text);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.workspace{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr);color:var(--text);transition:grid-template-columns .18s ease}.workspace.sidebar-closed{grid-template-columns:0 minmax(0,1fr)}.sidebar{position:sticky;top:16px;align-self:start;width:236px;max-height:calc(100vh - 32px);overflow-y:auto;margin:16px 0 16px 16px;padding:26px 20px;border:1px solid var(--sidebar-border);border-radius:var(--radius-xl);background:var(--sidebar-bg);transition:transform .18s ease,opacity .18s ease}.light-theme .sidebar{box-shadow:0 12px 30px #35577826}.workspace.sidebar-closed .sidebar{transform:translate(-270px);opacity:0;pointer-events:none}.brand{padding:4px 0 20px;border-bottom:2px solid;border-image:linear-gradient(90deg,transparent,#64dffd,#ed214d,transparent) 1}.light-theme .brand{border-image:linear-gradient(90deg,transparent,#1caed0,#e7445d,transparent) 1}.brand-logo-row{display:flex;align-items:center;gap:9px}.brand-logo-row img{width:27px;height:27px;object-fit:contain}.eyebrow,.brand-kicker{display:block;color:var(--steel);font-size:.64rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.brand strong{display:block;margin-top:14px;font-size:1.5rem;line-height:1.08;letter-spacing:-.05em}.nav-label{display:block;margin:22px 0 8px;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.nav-item{display:flex;align-items:center;justify-content:space-between;width:100%;margin:2px 0;padding:10px 12px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text);font-size:.84rem;font-weight:700;text-align:left}.nav-item:hover,.nav-item.active{background:var(--nav-active);color:#fff}.nav-item .count{min-width:22px;padding:2px 7px;border-radius:999px;background:#ffffff24;font-size:.66rem;text-align:center}.subnav{margin:4px 0 0 8px;padding-left:9px;border-left:1px solid rgba(255,255,255,.18)}.light-theme .subnav{border-left-color:#c2d2e3}.sidebar-foot{margin-top:26px;padding-top:14px;border-top:1px solid var(--sidebar-border);font-size:.68rem;color:var(--text-3);line-height:1.5}.content{min-width:0;padding:16px 26px 40px 20px}.header-layout{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start}.icon-btn{display:grid;place-items:center;width:36px;height:36px;margin-top:8px;border:1px solid #b9c9df;border-radius:10px;background:#fff;color:var(--navy);font-size:1rem;font-weight:800;box-shadow:0 8px 20px #0003}.app-navbar{display:flex;align-items:center;gap:14px;min-height:52px;margin-bottom:14px;padding:8px 12px;border:1px solid var(--navbar-border);border-radius:16px;background:var(--navbar-bg);box-shadow:0 10px 28px #0000001f}.navbar-brand{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--text);font-size:.84rem;font-weight:850;letter-spacing:.12em}.navbar-brand img{width:25px;height:25px}.navbar-brand span{display:block;color:var(--text-3);font-size:.56rem;font-weight:650;letter-spacing:.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-actions{display:flex;align-items:center;gap:10px;margin-left:auto;min-width:0}.connection{display:inline-flex;align-items:center;gap:8px;max-width:320px;padding:7px 11px;border:1px solid #93e9c9;border-radius:999px;background:#eefff7;color:#087a5c;font-size:.74rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#13bb83}.theme-button{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(205,224,244,.55);border-radius:10px;background:#ffffff1a;color:var(--text)}.light-theme .theme-button{border-color:#b8cce1;background:#e8f3ff;color:#123b73}.profile-button{display:inline-flex;align-items:center;gap:8px;padding:5px 9px 5px 5px;border:1px solid rgba(205,224,244,.55);border-radius:12px;background:#ffffff17;color:var(--text);font-size:.76rem;font-weight:700}.light-theme .profile-button{border-color:#b8cce1;background:#edf5ff;color:#123b73}.avatar{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:linear-gradient(135deg,#75e4ff,#8472ef);color:#07224e;font-size:.64rem;font-weight:900}.profile-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:50;min-width:220px;padding:10px;border:1px solid var(--card-border);border-radius:12px;background:#fff;color:var(--card-text);box-shadow:0 14px 34px #041b334d}.profile-menu p{margin:2px 6px 10px;font-size:.74rem;color:var(--card-muted);line-height:1.45}.profile-menu p b{display:block;color:var(--card-text);font-size:.86rem}.profile-menu button{display:block;width:100%;margin-top:4px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--card-text);font-size:.78rem;font-weight:700;text-align:left}.profile-menu button:hover{background:#e8f4fc}.hero-panel{position:relative;overflow:hidden;padding:26px 32px;border:1px solid var(--hero-border);border-radius:32px;background-image:linear-gradient(var(--hero-grid) 1px,transparent 1px),linear-gradient(90deg,var(--hero-grid) 1px,transparent 1px),var(--hero-bg);background-size:34px 34px,34px 34px,auto;color:#fff}.light-theme .hero-panel{color:#092b5d}.hero-panel h2{max-width:900px;margin:12px 0 8px;font-size:clamp(1.7rem,2.7vw,2.55rem);line-height:.98;letter-spacing:-.06em}.hero-panel p{max-width:800px;margin:0;color:var(--hero-text);font-size:.82rem;line-height:1.55}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.pill-row span{padding:7px 11px;border:1px solid var(--chip-border);border-radius:999px;background:var(--chip-bg);font-size:.72rem;font-weight:750}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.metrics.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{padding:16px 18px;border:1px solid rgba(255,255,255,.83);border-radius:20px;background:linear-gradient(145deg,#fff,#e8ebf0);color:var(--ink)}.light-theme .metric{border-color:#d3deeb;box-shadow:0 5px 14px #3d71991a}.metric span{display:block;color:#63738d;font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.metric strong{display:block;margin:8px 0 5px;font-size:2.1rem;line-height:1;letter-spacing:-.03em}.metric p{margin:0;color:#62728b;font-size:.72rem;line-height:1.35}.c-cyan{color:#0fa2c3}.c-red{color:#e92e33}.c-orange{color:#fb7414}.c-green{color:#13865b}.c-navy{color:var(--navy)}.grid-2{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;margin-top:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.card{min-width:0;padding:18px 20px;border:1px solid var(--card-border);border-radius:18px;background:var(--card-bg);color:var(--card-text);box-shadow:0 8px 20px #1743711f}.card-kicker{margin:0 0 4px;color:var(--steel);font-size:.64rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.card h3{margin:0;color:#102d62;font-size:1.08rem;letter-spacing:-.02em}.card .sub{margin:4px 0 0;color:var(--card-muted);font-size:.76rem;line-height:1.45}.panel{margin-top:16px;padding:22px;border:1px solid var(--panel-border);border-radius:26px;background:var(--panel-bg)}.panel-heading{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.panel-heading h3{margin:4px 0;font-size:1.3rem;letter-spacing:-.03em}.panel-heading p{margin:0;color:var(--text-2);font-size:.78rem;max-width:720px;line-height:1.5}.kicker{display:block;color:#77ddf3;font-size:.64rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.light-theme .kicker{color:#087fa2}.bars{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}.bars li{display:grid;gap:5px}.bars .bar-label{display:flex;justify-content:space-between;gap:12px;font-size:.76rem;color:var(--card-text)}.bars .bar-label b{font-weight:800}.bar-track{height:10px;border-radius:4px;background:#e6edf5;overflow:hidden}.bar-track span{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--cyan)}.rank-list{display:grid;gap:7px;margin:14px 0 0;padding:0;list-style:none}.rank-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #dce6ef;border-radius:11px;background:#f7fbff}.rank-list li div{display:grid;min-width:0}.rank-list li b{overflow:hidden;color:#173763;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.rank-list li small{margin-top:2px;color:#5d7694;font-size:.66rem}.rank-list li>strong{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#fff0cd;color:#966000;font-size:.76rem}.empty{padding:18px;border:1px dashed #c9d9e8;border-radius:12px;color:var(--card-muted);font-size:.78rem;text-align:center}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:800;white-space:nowrap}.b-crit{background:var(--crit-bg);color:var(--crit-ink)}.b-high{background:var(--high-bg);color:var(--high-ink)}.b-med{background:var(--med-bg);color:var(--med-ink)}.b-low{background:var(--low-bg);color:var(--low-ink)}.b-muted{background:var(--muted-bg);color:var(--muted-ink)}.b-info{background:#e8f7ff;color:#096e98}.defect-chip{display:inline-block;margin:2px 3px 2px 0;padding:3px 7px;border-radius:6px;background:#eef4fa;color:#23406b;font-size:.66rem;font-weight:650;white-space:nowrap}.photo-dots{display:inline-flex;gap:3px}.photo-dots i{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#e8eef5;color:#7b8ea5;font-size:.58rem;font-style:normal;font-weight:800}.photo-dots i.on{background:var(--low-bg);color:var(--low-ink)}.table-controls{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px}.table-controls label,.form-grid label{display:grid;gap:5px;color:var(--text-2);font-size:.66rem;font-weight:750;letter-spacing:.03em;text-transform:uppercase}.table-controls input,.table-controls select{min-height:34px;min-width:150px;padding:7px 9px;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:#17355f;font-size:.78rem}.table-controls .search input{min-width:230px}.reset-btn{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:#ffffff1f;color:var(--cyan-soft)}.light-theme .reset-btn{color:#087fa2;background:#fff}.filter-summary{margin-left:auto;color:var(--cyan-soft);font-size:.74rem;font-weight:750}.light-theme .filter-summary{color:#087fa2}.table-wrap{overflow:auto;border-radius:16px;background:#fff}.table-wrap table{width:100%;border-collapse:collapse;color:#23334e;font-size:.78rem;text-align:left}.table-wrap th,.table-wrap td{padding:9px 10px;border-bottom:1px solid #e5eaf1;vertical-align:top}.table-wrap td{white-space:nowrap}.table-wrap td.wrap{white-space:normal;min-width:220px}.table-wrap th{position:sticky;top:0;z-index:1;background:#edf4fa;color:#405470;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.table-wrap th button{padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit}.table-wrap tbody tr:hover td{background:#f1f9ff}.table-wrap .num{text-align:right;font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem}.pagination{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;color:var(--text-2);font-size:.74rem}.pagination div{display:flex;align-items:center;gap:8px}.pagination button{padding:6px 10px;border:1px solid rgba(180,218,247,.5);border-radius:7px;background:#ffffff1f;color:var(--text);font-size:.72rem}.light-theme .pagination button{background:#fff;border-color:#b8cce1}.pagination button:disabled{opacity:.4;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border:0;border-radius:10px;background:var(--tnb-red);color:#fff;font-size:.78rem;font-weight:850;white-space:nowrap}.modal .field:disabled{background:var(--muted-bg);color:var(--card-text);border-color:var(--card-border);opacity:1;cursor:default}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-navy{background:var(--navy)}.btn-cyan{background:var(--cyan)}.btn-outline{border:1px solid rgba(224,239,255,.6);background:#ffffff1a;color:var(--text)}.light-theme .btn-outline{border-color:var(--steel);background:#fff;color:#1e5b8e}.btn-sm{padding:6px 10px;border-radius:7px;font-size:.7rem}.btn-ghost{white-space:nowrap;padding:6px 10px;border:1px solid #c5d6e6;border-radius:7px;background:#fff;color:var(--navy);font-size:.7rem;font-weight:800}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1 / -1}.card .form-grid label,.modal .form-grid label,.auth-card label{color:#46617e}.field{min-height:40px;padding:9px 11px;border:1px solid #b7cce0;border-radius:9px;background:#fff;color:#172b45;font-size:.84rem;text-transform:none;letter-spacing:0;font-weight:500}.field:focus,.table-controls input:focus,.table-controls select:focus{outline:2px solid var(--cyan-2);outline-offset:1px}.hint{color:var(--card-muted);font-size:.7rem;font-weight:500;text-transform:none;letter-spacing:0}.alert{margin:12px 0 0;padding:10px 12px;border-radius:10px;font-size:.78rem;line-height:1.5}.alert-error{background:#ffe9ed;color:#9e1830}.alert-ok{background:#dcf8e5;color:#14713c}.alert-warn{background:#fff4d6;color:#7a5a00}.alert-info{background:#e8f7ff;color:#075b80}.dropzone{display:grid;place-items:center;gap:8px;min-height:180px;padding:22px;border:2px dashed #9fc3dd;border-radius:16px;background:#f5fbff;color:var(--card-text);text-align:center;cursor:pointer;transition:background .15s,border-color .15s}.dropzone:hover,.dropzone.drag{border-color:var(--cyan);background:#e8f7fc}.dropzone strong{font-size:.95rem}.dropzone small{color:var(--card-muted);font-size:.72rem}.dropzone .file-name{padding:6px 10px;border-radius:8px;background:#fff;border:1px solid #c9d9e8;font-size:.78rem;font-weight:700}.file-queue{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none}.file-queue li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #dce6ef;border-radius:10px;background:#f7fbff}.file-queue li div{display:grid;flex:1;min-width:0}.file-queue li b{overflow:hidden;color:#173763;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.file-queue li small{color:#5d7694;font-size:.66rem}.file-queue .badge .loader{width:9px;height:9px;border-width:2px;margin-right:3px}.grid-2.even{grid-template-columns:1fr 1fr}.steps.two-col{grid-template-columns:1fr 1fr;column-gap:24px}.upload-result-block{margin-top:14px;padding-top:4px;border-top:1px solid #e5eaf1}.upload-result-block:first-child{border-top:0}.steps{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none;counter-reset:s}.steps li{position:relative;padding-left:30px;color:var(--card-muted);font-size:.76rem;line-height:1.5;counter-increment:s}.steps li:before{content:counter(s);position:absolute;left:0;top:0;display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#e8f7fc;color:#0a6481;font-size:.66rem;font-weight:900}.steps li b{color:var(--card-text)}.result-table{width:100%;margin-top:10px;border-collapse:collapse;font-size:.78rem}.result-table th,.result-table td{padding:8px 10px;border-bottom:1px solid #e5eaf1;text-align:left}.result-table th{color:#63768f;font-size:.64rem;text-transform:uppercase;letter-spacing:.05em}.result-table .num{text-align:right;font-weight:800}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:grid;place-items:center;overflow-y:auto;padding:28px;background:#020d23ad;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{position:relative;width:min(860px,100%);padding:28px;border-radius:22px;background:linear-gradient(145deg,#fff,#eef3f8);color:#14233b;box-shadow:0 24px 60px #00000061}.modal.narrow{width:min(560px,100%)}.modal-close{position:absolute;top:16px;right:16px;padding:6px 11px;border:0;border-radius:9px;background:var(--navy);color:#fff;font-size:.78rem;font-weight:800}.modal-caption{color:#e51e3d;font-size:.66rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.modal h3{margin:6px 40px 18px 0;color:var(--navy);font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:-.03em}.modal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.modal-summary article,.detail-grid,.reason-box{padding:16px;border:1px solid #e0e8f0;border-radius:16px;background:#fff}.modal-summary article>span:first-child,.reason-box>span{display:block;color:#63768f;font-size:.64rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.modal-summary strong{display:block;margin:10px 0 6px;color:#0b2a62;font-size:2rem;line-height:1}.reason-box{margin-top:12px;border-color:#bceaf3;background:#edfafe}.reason-box>span{color:#08738f}.reason-box ul{margin:8px 0 0;padding-left:18px;color:#28425f;font-size:.8rem;line-height:1.7}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:12px 0 0}.detail-grid dt{color:#5d718a;font-size:.64rem;font-weight:800;text-transform:uppercase}.detail-grid dd{margin:3px 0 0;color:#172740;font-size:.82rem;overflow-wrap:anywhere}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:16px}.temp-pass{display:inline-block;margin:6px 0;padding:10px 14px;border-radius:10px;background:#0a285f;color:#fff;font-family:ui-monospace,Menlo,monospace;font-size:1.1rem;font-weight:800;letter-spacing:.08em}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--page-grad)}.auth-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.8fr);gap:28px;width:min(1080px,100%);padding:40px;border:1px solid rgba(109,206,252,.34);border-radius:28px;background-image:linear-gradient(rgba(119,183,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(119,183,255,.07) 1px,transparent 1px),radial-gradient(circle at 87% 15%,#17617b 0,transparent 28%),linear-gradient(135deg,#071d4b,#091331 64%,#21112b);background-size:32px 32px,32px 32px,auto,auto;color:#fff}.light-theme .auth-shell{background-image:linear-gradient(rgba(45,120,173,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(45,120,173,.08) 1px,transparent 1px),radial-gradient(circle at 87% 15%,#8ed6e6 0,transparent 28%),linear-gradient(135deg,#dff4ff,#edf6fb 64%,#f8e8ed);color:#092b5e;border-color:#b9d8ea}.auth-copy{display:flex;flex-direction:column;justify-content:center}.home-eyebrow{display:inline-block;align-self:flex-start;padding:7px 10px;border-radius:999px;background:#2396c433;color:#a7f6ff;font-size:.62rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.light-theme .home-eyebrow{color:#036c8d;background:#47c5dd29}.auth-copy h1{max-width:560px;margin:18px 0 14px;font-size:clamp(2rem,4vw,3.6rem);line-height:.97;letter-spacing:-.07em}.auth-copy p{max-width:520px;margin:0;color:#cedcf4;font-size:.9rem;line-height:1.65}.light-theme .auth-copy p{color:#36587b}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:26px;max-width:560px}.flow div{padding:10px;border:1px solid rgba(161,223,249,.25);border-radius:12px;background:#07152a99}.light-theme .flow div{background:#ffffffb3;border-color:#b9d8ea}.flow span{display:block;color:#83ecff;font-size:.54rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.light-theme .flow span{color:#087fa2}.flow b{display:block;margin-top:5px;font-size:.74rem;line-height:1.25}.auth-card{align-self:center;padding:26px;border-radius:20px;background:#f5f8fc;color:var(--ink);box-shadow:0 12px 26px #00000047}.auth-card .brand-logo-row strong{font-size:.84rem;letter-spacing:.12em}.auth-card h2{margin:16px 0 4px;font-size:1.5rem;letter-spacing:-.04em}.auth-card>p{margin:0 0 18px;color:#59718f;font-size:.78rem}.auth-card form{display:grid;gap:12px}.auth-card label{display:grid;gap:5px;font-size:.66rem;font-weight:750;letter-spacing:.03em;text-transform:uppercase}.auth-card .btn{width:100%;padding:12px;margin-top:4px}.auth-foot{margin-top:14px;color:#63768f;font-size:.68rem;line-height:1.5}.loader{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.page-loading{display:grid;place-items:center;min-height:240px;color:var(--text-2);font-size:.84rem}.toast{position:fixed;right:18px;bottom:18px;z-index:4000;max-width:380px;padding:12px 14px;border-radius:12px;background:#0a285f;color:#fff;font-size:.8rem;box-shadow:0 12px 30px #00000059}.toast.error{background:#9e1830}@media (max-width: 1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:1fr 1fr}}@media (max-width: 1050px){.workspace,.workspace.sidebar-closed{display:block}.sidebar{position:fixed;z-index:2000;top:0;left:0;margin:14px;box-shadow:14px 16px 40px #00000061}.workspace.sidebar-closed .sidebar{transform:translate(calc(-100% - 24px))}.content{padding:14px}.grid-2,.grid-2.even,.steps.two-col{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr;padding:24px}}@media (max-width: 650px){.metrics,.metrics.cols-3,.grid-3,.form-grid,.modal-summary,.detail-grid,.flow{grid-template-columns:1fr 1fr}.connection,.navbar-brand span{display:none}.hero-panel{padding:20px;border-radius:22px}.table-controls label{flex:1 1 140px}.table-controls input,.table-controls select,.table-controls .search input{min-width:0;width:100%}.filter-summary{width:100%;margin-left:0}.modal{padding:20px 16px}}@media (max-width: 460px){.grid-3,.form-grid,.modal-summary,.detail-grid{grid-template-columns:1fr}}.metrics.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.modal.wide{width:min(1120px,100%)}.modal h3 .badge{vertical-align:middle;margin-left:6px;font-size:.72rem;letter-spacing:0}.modal-sub{margin:-10px 0 12px;color:#59718f;font-size:.78rem}.modal-sub a{color:#087fa2}.repair-section{margin-top:14px;padding:16px;border:1px solid #e0e8f0;border-radius:16px;background:#fff}.repair-section summary{cursor:pointer;list-style:none}.repair-section summary::-webkit-details-marker{display:none}.repair-section h4{margin:0;color:var(--navy);font-size:.95rem}.section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.inline-label{display:flex;align-items:center;gap:8px;color:#46617e;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.inline-label .field{min-height:34px;padding:6px 9px;font-size:.78rem;max-width:360px}.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stage-col{display:grid;align-content:start;gap:8px;padding:10px;border:1px solid #e5edf5;border-radius:14px;background:#f7fbff}.stage-head{display:flex;align-items:center;justify-content:space-between;color:#173763;font-size:.8rem}.photo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.photo-list:empty{display:none}.photo-card{margin:0;overflow:hidden;border:1px solid #dce6ef;border-radius:12px;background:#fff}.photo-thumb{display:grid;place-items:center;width:100%;aspect-ratio:4 / 3;padding:0;border:0;background:#e8eef5;color:#63768f;font-size:.66rem;cursor:zoom-in}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-card figcaption{display:grid;gap:4px;padding:7px 8px 8px}.photo-card figcaption .badge{justify-self:start;font-size:.6rem}.photo-card small{color:#63768f;font-size:.62rem;line-height:1.4}.ph-defect{color:#173763;font-size:.68rem;font-weight:750}.ph-del{padding:3px 8px;border:1px solid #f3c4cb;border-radius:6px;background:#fff;color:#ba1630;font-size:.62rem;font-weight:800}.add-photo{display:grid;place-items:center;gap:2px;min-height:84px;padding:10px;border:2px dashed #9fc3dd;border-radius:12px;background:#fff;color:#0a6481;text-align:center;cursor:pointer}.add-photo:hover{border-color:var(--cyan);background:#e8f7fc}.add-photo span{font-size:.8rem;font-weight:850}.add-photo small{color:#63768f;font-size:.64rem}.stage-progress{color:#075b80;font-size:.7rem}.stage-progress:empty{display:none}.checklist{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0 0;padding:0;list-style:none;font-size:.74rem;color:#ba1630}.checklist li.done{color:#14713c}.verify-box{margin-top:14px;padding:12px;border:1px solid #bceaf3;border-radius:12px;background:#edfafe}.verify-box label{display:grid;gap:5px;color:#08738f;font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.btn-green{background:#13865b}.btn-outline-dark{border:1px solid #b7cce0;background:#fff;color:var(--navy);text-decoration:none}.timeline{display:grid;gap:8px;margin:12px 0 0;padding:0 0 0 14px;border-left:2px solid #dce6ef;list-style:none}.timeline li{position:relative;display:grid;gap:2px;color:#173763;font-size:.76rem}.timeline li:before{content:"";position:absolute;left:-20px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--cyan);border:2px solid #fff}.timeline small{color:#63768f;font-size:.66rem}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;display:grid;place-items:center;padding:20px;background:#020a19e6;color:#fff;cursor:zoom-out}.lightbox img{max-width:100%;max-height:calc(100vh - 70px);border-radius:10px;box-shadow:0 20px 60px #00000080}.lb-hint{position:absolute;bottom:14px;font-size:.74rem;color:#c9daf1}@media (max-width: 1100px){.metrics.cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 760px){.stage-grid{grid-template-columns:1fr}.metrics.cols-5{grid-template-columns:1fr 1fr}}.page-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 18px;border:1px solid var(--hero-border);border-radius:18px;background-image:linear-gradient(var(--hero-grid) 1px,transparent 1px),linear-gradient(90deg,var(--hero-grid) 1px,transparent 1px),var(--hero-bg);background-size:24px 24px,24px 24px,auto;color:#fff}.light-theme .page-bar{color:#092b5d}.page-bar h2{margin:2px 0 0;font-size:1.25rem;letter-spacing:-.03em}.page-bar .pill-row{margin-top:0}.page-bar .pill-row span{padding:5px 10px;font-size:.68rem}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;margin-top:12px}.map-card{display:flex;flex-direction:column;padding:12px}.map-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.map-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.map-tool-btns{position:absolute;z-index:800;top:10px;right:10px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.map-tool-btns .btn-ghost,.map-tool-btns .seg{box-shadow:0 2px 8px #09254840}.map-tools label{display:grid;gap:4px;color:#46617e;font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.map-tools .field{min-height:34px;padding:6px 9px;font-size:.78rem}.map-tools #map-search{width:190px}.seg{display:inline-flex;overflow:hidden;border:1px solid #b7cce0;border-radius:9px}.seg button{padding:7px 11px;border:0;background:#fff;color:#183664;font-size:.74rem;font-weight:750}.seg button.on{background:var(--navy);color:#fff}.legend-row{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.legend-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #d3deeb;border-radius:999px;background:#fff;color:#23406b;font-size:.7rem;font-weight:650}.legend-chip b{color:#0a285f}.legend-chip i{width:10px;height:10px;border:1.5px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #b7cce0}.legend-chip i.ring{background:transparent;border:2.5px solid #ff7a00;box-shadow:none}.legend-chip.off{opacity:.45;text-decoration:line-through}.legend-chip.static{cursor:default;border-style:dashed}.map-frame{position:relative;overflow:hidden;height:calc(100vh - 250px);min-height:420px;border:1px solid #c4d6e6;border-radius:14px;background:#dceaf3}#ohdr-map{position:absolute;top:0;right:0;bottom:0;left:0}.leaflet-container{font-family:var(--font)}.leaflet-tooltip{font-size:.72rem}.map-card.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2500;display:flex;flex-direction:column;border-radius:0}.map-card.is-fullscreen .map-frame{flex:1;height:auto}.map-side{display:grid;align-content:start;gap:10px;max-height:calc(100vh - 140px);min-height:420px;overflow-y:auto;padding:14px}.pole-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.pole-panel h3{font-size:1.25rem}.pole-block{margin-top:8px;padding:10px;border:1px solid #dce6ef;border-radius:12px;background:#f7fbff;font-size:.76rem;color:#23406b}.pole-block.thermo{border-color:#ffd2a8;background:#fff8f1}.pole-block-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;color:#0a285f}.pole-block ul{margin:0 0 8px;padding-left:16px;line-height:1.55}.pole-block p{margin:0 0 8px;line-height:1.5}.pole-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.todo-head{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px;padding-top:10px;border-top:1px solid #dce6ef}.todo-list{display:grid;gap:4px;margin:6px 0 0;padding:0;list-style:none}.todo-list button{display:flex;width:100%;align-items:center;gap:9px;padding:7px 8px;border:0;border-radius:9px;background:transparent;color:inherit;text-align:left}.todo-list button:hover{background:#e8f4fc}.todo-list i{flex:0 0 auto;width:10px;height:10px;border-radius:50%}.todo-list span{display:grid;flex:1;min-width:0}.todo-list b{overflow:hidden;color:#173763;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.todo-list small{color:#5d7694;font-size:.64rem}.todo-list strong{padding:4px 8px;border-radius:999px;background:#fff0cd;color:#966000;font-size:.72rem}@media (max-width: 1050px){.map-layout{grid-template-columns:1fr}.map-frame{height:62vh;min-height:360px}.map-side{max-height:none;min-height:0}.page-bar .pill-row{width:100%}}@media (max-width: 650px){.map-tools{width:100%}.map-tools label{flex:1 1 140px}.map-tools #map-search{width:100%}.map-frame{height:58vh}.map-tool-btns{left:56px}}.stage-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stage-hint{margin-top:-4px;color:#63768f;font-size:.64rem}.kind-block{margin-top:10px}.kind-block+.kind-block{padding-top:10px;border-top:1px dashed #bceaf3}.kind-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#0a285f;font-size:.8rem}.kind-block.thermo .kind-head b{color:#b95400}.defect-list{display:grid;gap:4px;margin:6px 0 0;padding:0;list-style:none}.defect-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:6px 8px;border-radius:8px;background:#ffffffb3;color:#28425f;font-size:.78rem}.cov-row{display:inline-flex;gap:4px}.cov{padding:2px 7px;border-radius:999px;background:#eef2f6;color:#8a9bb0;font-size:.62rem;font-weight:800;white-space:nowrap}.cov.on{background:var(--low-bg);color:var(--low-ink)}.ph-remark{margin:0;padding:5px 7px;border-left:3px solid var(--low);border-radius:6px;background:#f1fbf4;color:#173763;font-size:.68rem;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.ph-remark.missing{border-left-color:var(--crit);background:#fff3f4;color:#ba1630;font-weight:700}.ph-actions{display:flex;justify-content:flex-end;gap:5px}.ph-edit{padding:3px 8px;border:1px solid #b7cce0;border-radius:6px;background:#fff;color:#0b4f73;font-size:.62rem;font-weight:800}.label-remark{display:grid;gap:4px;margin-top:2px;color:#173763;font-size:.64rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.label-remark .field{min-height:56px;resize:vertical}.lbl-hint{min-height:1em;color:#ba1630;font-weight:600}.label-noimg{display:grid;place-items:center;width:110px;height:82px;border-radius:8px;background:#e8eef5;color:#59718f;font-size:.66rem;text-align:center}.ph-labels{display:flex;flex-wrap:wrap;gap:3px}.ph-label{padding:2px 6px;border-radius:6px;background:#e8f4fc;color:#0b4f73;font-size:.6rem;font-weight:700;line-height:1.35}.ph-label.thermo{background:#fff0dc;color:#8a4300}.label-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4500;display:grid;place-items:center;overflow-y:auto;padding:20px;background:#020d23b8}.label-panel{width:min(760px,100%);padding:22px;border-radius:18px;background:#fff;color:#14233b;box-shadow:0 24px 60px #0006}.label-panel h3{margin:4px 0;color:var(--navy);font-size:1.25rem}.label-rows{display:grid;gap:10px;max-height:60vh;margin-top:12px;overflow-y:auto}.label-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:10px;border:1px solid #dce6ef;border-radius:12px;background:#f7fbff}.label-row img{width:110px;height:82px;border-radius:8px;object-fit:cover;background:#e8eef5}.label-row-body{display:grid;align-content:start;gap:6px;min-width:0}.label-row-body>b{overflow:hidden;color:#173763;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.chip-group{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.chip-group-head{min-width:52px;font-size:.62rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#087fa2}.chip-group-head.thermo{color:#b95400}.chip-toggle{padding:6px 10px;border:1px solid #b7cce0;border-radius:999px;background:#fff;color:#23406b;font-size:.72rem;font-weight:650;text-align:left}.chip-toggle.on{border-color:#087fa2;background:#087fa2;color:#fff}.chip-toggle.thermo.on{border-color:#c45a00;background:#c45a00}.pole-block.combined{border-color:#c9d9e8;background:#f7fbff}.kind-sub{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 4px}.kind-sub.thermo{padding-top:8px;border-top:1px dashed #ffd2a8}.kind-tag{padding:3px 8px;border-radius:6px;background:#e8f4fc;color:#0b4f73;font-size:.64rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.kind-tag.thermo{background:#fff0dc;color:#8a4300}.block-btn{width:100%;margin-top:8px}@media (max-width: 1100px){.stage-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.stage-grid.four,.label-row{grid-template-columns:1fr}.label-row img{width:100%;height:160px}}.b-manual{background:#f1eafb;color:#5b2d91}.kind-block.manual .kind-head b{color:#6b3fa0}.kind-head .md-del{margin-left:auto}.manual-meta{margin:4px 0 0;color:#59718f;font-size:.7rem;line-height:1.45}.kind-sub.manual{padding-top:8px;border-top:1px dashed #d9c8f0}.kind-tag.manual{background:#f1eafb;color:#5b2d91}.manual-by{margin:-4px 0 6px!important;color:#6d5a8a;font-size:.66rem}.chip-toggle.manual.on{border-color:#6b3fa0;background:#6b3fa0;color:#fff}.chip-toggle.is-open{border-style:dashed;background:#eef2f6;color:#8a9bb0;cursor:not-allowed}.chip-toggle.is-open small{font-size:.6rem}.chip-group-head.manual{color:#6b3fa0}.ph-label.manual{background:#f1eafb;color:#5b2d91}.add-defect-btn{border:1px dashed #a98bd3;background:#faf7ff;color:#5b2d91}.add-defect-btn:hover{background:#f1eafb}.ad-groups{display:grid;gap:8px;max-height:46vh;margin-top:12px;padding:10px;overflow-y:auto;border:1px solid #dce6ef;border-radius:12px;background:#f7fbff}.ad-group{display:grid;grid-template-columns:170px minmax(0,1fr);gap:8px;align-items:start}.ad-comp{padding-top:6px;color:#173763;font-size:.72rem;font-weight:800}.ad-chips{display:flex;flex-wrap:wrap;gap:5px}.ad-selected{margin:10px 0 0;color:#173763;font-size:.74rem;line-height:1.5}.ad-note{display:grid;gap:5px;margin-top:12px;color:#46617e;font-size:.66rem;font-weight:750;letter-spacing:.03em;text-transform:uppercase}.actions-box{margin-top:12px;padding:10px 12px;border:1px solid #cfe9d8;border-left:4px solid var(--low);border-radius:10px;background:#f4fbf6;color:#173763;font-size:.76rem}.actions-box>span{color:#14713c;font-size:.66rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.actions-box>span small{color:#59718f;font-weight:600;letter-spacing:0;text-transform:none}.actions-box ul{margin:6px 0 0;padding-left:18px;line-height:1.5}.actions-box .hint{margin:4px 0 0}@media (max-width: 760px){.ad-group{grid-template-columns:1fr;gap:4px}.ad-comp{padding-top:0}}.chat-fab{position:fixed;right:22px;bottom:22px;z-index:3000;box-shadow:0 12px 30px #00000059}.chat-panel{position:fixed;right:22px;bottom:22px;z-index:3000;display:flex;flex-direction:column;width:min(440px,calc(100vw - 32px));height:min(640px,calc(100vh - 44px));border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);color:var(--card-text);box-shadow:0 24px 60px #0006;overflow:hidden}.chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 16px 10px;border-bottom:1px solid #e5eaf1}.chat-head h3{margin:2px 0 0;color:var(--navy);font-size:1.1rem}.chat-list{flex:1;display:grid;align-content:start;gap:10px;padding:14px 16px;overflow-y:auto}.chat-intro .chip-group{margin-top:10px}.chat-msg{max-width:92%}.chat-msg.user{justify-self:end}.chat-msg.user .chat-text{border-radius:var(--radius-md) var(--radius-md) 4px var(--radius-md);background:var(--navy);color:#fff}.chat-msg.assistant .chat-text{border-radius:var(--radius-md) var(--radius-md) var(--radius-md) 4px;background:#f1f6fb}.chat-msg.error .chat-text{background:var(--crit-bg);color:var(--crit-ink)}.chat-text{padding:9px 12px;font-size:.82rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.chat-block{margin:8px 0 0}.chat-block .table-wrap{max-height:260px;border:1px solid #e5eaf1}.chat-input{display:flex;gap:8px;padding:10px 12px 4px;border-top:1px solid #e5eaf1}.chat-input textarea{flex:1;min-height:40px;max-height:120px;padding:9px 11px;border:1px solid var(--card-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--card-text);font:inherit;font-size:.82rem;resize:vertical}.chat-foot{margin:0;padding:2px 14px 10px;color:var(--card-muted);font-size:.64rem}@media (max-width: 650px){.chat-panel{top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:0}.chat-fab{right:14px;bottom:14px}}.chat-tagline{display:block;margin-top:2px;color:var(--card-muted);font-size:.7rem;font-style:italic}.chat-intro .chat-msg{margin-bottom:8px}.chat-fab{display:inline-flex;align-items:center;gap:8px;padding:6px 16px 6px 6px;border-radius:999px}.chat-fab .chat-avatar{width:40px;height:40px}.chat-avatar{flex:0 0 auto;width:30px;height:30px;border-radius:50%}.chat-avatar.lg{width:52px;height:52px}.chat-who{display:flex;align-items:center;gap:10px}.chat-msg.assistant{display:flex;align-items:flex-start;gap:8px}.chat-msg.assistant>div{min-width:0}.chat-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.chat-stats button{display:grid;gap:1px;padding:8px 10px;border:1px solid #dce6ef;border-radius:11px;background:#f7fbff;color:#59718f;font-size:.66rem;text-align:left;cursor:pointer}.chat-stats button b{color:#173763;font-size:1.05rem;font-weight:900}.chat-stats button:hover{border-color:var(--cyan)}.chat-places{display:grid;gap:8px}.chat-minimap{height:190px;border:1px solid #dce6ef;border-radius:12px;background:#0a285f}.chat-pin span{display:grid;place-items:center;width:24px;height:24px;border:2px solid #fff;border-radius:50%;background:var(--tnb-red);color:#fff;font-size:.68rem;font-weight:900;box-shadow:0 2px 6px #00000073}.chat-places ol{display:grid;gap:6px;margin:0;padding:0;list-style:none;max-height:300px;overflow-y:auto}.chat-places li{display:flex;gap:9px;padding:9px 10px;border:1px solid #dce6ef;border-radius:11px;background:#f7fbff}.chat-pin-n{flex:0 0 22px;display:grid;place-items:center;height:22px;border-radius:50%;background:var(--tnb-red);color:#fff;font-size:.66rem;font-weight:900}.chat-place-body{display:grid;gap:2px;min-width:0}.chat-place-body b{color:#173763;font-size:.8rem}.chat-place-body small{color:#5d7694;font-size:.68rem}.chat-place-info{color:#966000!important;font-weight:700}.chat-place-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.chat-place-actions .btn{text-decoration:none}
