.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{--brand-green: #10b078;--brand-navy: #101828;--header-bg: #0b1220;--bg: #eef2f6;--bg-elevated: #ffffff;--bg-card: #ffffff;--border: #d8dee8;--border-strong: #c5cedb;--text: #152033;--text-muted: #5b6b7f;--accent: #10b078;--accent-soft: rgba(16, 176, 120, .12);--ok: #0f9f6e;--warn: #c58a12;--danger: #d64545;--info: #2f7ec8;--radius: 10px;--font: "Inter", system-ui, sans-serif;--display: "Inter", system-ui, sans-serif;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 14px rgba(16, 24, 40, .06);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);font-optical-sizing:auto;font-feature-settings:"liga" 1,"calt" 1;color:var(--text);background:var(--bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;min-height:58px;padding:0 1.25rem;background:var(--header-bg);border-bottom:1px solid rgba(16,176,120,.22);box-shadow:0 2px 10px #0000002e}.topbar-brand{display:flex;align-items:center;gap:.75rem;min-width:0}.brand{display:flex;align-items:center;padding:.2rem 0}.brand.active{background:transparent}.brand-logo{display:block;height:32px;width:auto;max-width:150px;object-fit:contain}.brand-divider{width:1px;height:22px;background:#ffffff24}.brand-product{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#e8eef59e;white-space:nowrap}.nav{display:flex;align-items:center;gap:.2rem;min-width:0;overflow-x:auto}.nav a{flex-shrink:0;padding:.45rem .85rem;border-radius:8px;color:#e8eef5ad;font-size:.9rem;font-weight:560;border:1px solid transparent;transition:background .15s ease,color .15s ease}.nav a:hover{color:#fff;background:#ffffff0f}.nav a.active{color:#fff;background:#10b0782e;border-color:#10b07859}.topbar-user{display:flex;align-items:center;gap:.75rem}.user-meta{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.user-name{font-size:.86rem;font-weight:600;color:#e8eef5}.user-role{font-size:.72rem;color:#e8eef580}.main{flex:1;min-width:0}.main-inner{width:100%;max-width:none;margin:0;padding:1.25rem 1.5rem 2.25rem}.main-inner--wide{width:100%;max-width:none;margin:0;padding:1.25rem 2rem 2.25rem}.main-inner--wide .plant-detail,.dash,.plants,.payments-page,.alerts-page,.invoices-page,.maintenances-page,.clients-page,.cm-page{width:100%;max-width:none}.alerts-page{display:flex;flex-direction:column;gap:1.15rem;width:100%;max-width:none}.alerts-center{gap:.85rem}.alerts-center .page-header{margin:0;padding:.15rem .1rem .2rem;border:0;border-radius:0;background:transparent;box-shadow:none}.alerts-center .page-header h1{font-size:1.4rem}.alerts-center .page-header p{margin-top:.2rem;font-size:.84rem}.diagnostic-suite-panel{margin-bottom:1rem}.diagnostic-suite-block{margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--border)}.diagnostic-suite-block h3{margin:0 0 .5rem;font-size:.95rem}.diagnostic-suite-cases{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.diagnostic-suite-case-head{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;font-size:.86rem}.diagnostic-suite-case-detail{margin:.25rem 0 .35rem .15rem;padding-left:.65rem;border-left:2px solid var(--danger);font-size:.8rem;line-height:1.45}.diagnostic-suite-case-detail ul{margin:.3rem 0 0;padding-left:1.1rem}.alerts-panel{display:flex;flex-direction:column;gap:.75rem}.alerts-toolbar{display:flex;flex-direction:column;gap:.7rem;padding:.8rem .95rem;border:1px solid var(--border);border-radius:14px;background:#fff}.alerts-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;flex-wrap:wrap}.alerts-count{margin:0;color:var(--text-muted);font-size:.8rem;font-weight:650;white-space:nowrap}.alerts-filters{width:100%;justify-content:flex-start;gap:.5rem}.alerts-filters .input,.alerts-filters .select{min-width:0}.alerts-filters .select:first-child{flex:0 0 auto;min-width:7.5rem}.alerts-filters .alerts-family{flex:0 0 auto;min-width:11rem}.alerts-filters .alerts-search{flex:1 1 280px;min-width:200px;max-width:none}.alert-plant-list{display:flex;flex-direction:column;gap:.65rem;padding:0;width:100%;max-width:none;margin:0}.alert-plant-card{border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.alert-plant-card.has-open{border-color:var(--border)}.alert-plant-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.42rem .7rem;background:#f8fafc;border-bottom:1px solid var(--border)}.alert-plant-card.is-collapsed .alert-plant-card-head{border-bottom:0}.alert-plant-card-toggle{display:flex;flex:1 1 auto;align-items:center;gap:.55rem;min-width:0;margin:0;padding:.15rem .1rem;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer}.alert-plant-card-toggle:hover h3{color:var(--brand-green)}.alert-plant-chevron{width:.42rem;height:.42rem;flex:0 0 auto;margin-top:-.05rem;border-right:1.6px solid #5b6b7f;border-bottom:1.6px solid #5b6b7f;transform:rotate(-45deg)}.alert-plant-chevron.is-open{margin-top:.12rem;transform:rotate(45deg)}.alert-plant-open{flex:0 0 auto;font-size:.76rem;font-weight:650;color:var(--text-muted);white-space:nowrap}.alert-plant-open:hover{color:var(--brand-navy)}.alert-plant-card-title{min-width:0}.alert-plant-card-title h3{margin:0;font-size:.88rem;font-family:var(--display);font-weight:700;color:var(--brand-navy);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-plant-card-title p{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.12rem 0 0;font-size:.75rem}.alert-plant-card-body{display:flex;flex-direction:column}.alert-plant-more{width:100%;padding:.45rem .8rem;border:0;border-top:1px solid var(--border);background:#f8fafc;color:var(--text-muted);font-size:.78rem;font-weight:650;text-align:center}.alert-plant-more:hover{background:#eef3f8;color:var(--brand-navy)}.alerts-family-bar,.plant-alert-panel .alert-family-chips{padding:.75rem .9rem 0}.plant-alert-panel .alert-family-chips{padding:.85rem 1.05rem;border-bottom:1px solid #e8edf3;background:#fff}.alert-family-chips{display:flex;flex-wrap:wrap;gap:.4rem}.alert-family-chip{border:1px solid transparent;background:transparent;color:var(--text-muted);border-radius:999px;padding:.24rem .68rem;font-size:.76rem;font-weight:650;line-height:1.2}.alert-family-chip:hover{background:#f3f6fa;color:var(--brand-navy)}.alert-family-chip.is-active{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff;box-shadow:0 1px 2px #10182829}.alert-family-chip.is-comunicacao.is-active{background:var(--info);border-color:var(--info)}.alert-family-chip.is-rede.is-active,.alert-family-chip.is-geracao.is-active{background:#9a6b0a;border-color:#9a6b0a}.alert-family-chip.is-cc.is-active{background:var(--danger);border-color:var(--danger)}.alert-family-chip.is-portal.is-active{background:#243044;border-color:#243044}.alert-open-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .65rem;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text-muted);font-size:.78rem;font-weight:700;white-space:nowrap}.alert-compact{display:flex;align-items:flex-start;gap:.7rem;padding:.48rem .85rem .48rem .8rem;border-bottom:1px solid #e8edf3;background:#fff}.alert-compact:last-child{border-bottom:none}.alert-compact:hover{background:#f6f8fb}.alert-compact.resolved{opacity:.72}.alert-compact-rail{width:7px;height:7px;flex:0 0 7px;margin-top:.38rem;border-radius:50%;background:var(--border-strong)}.alert-compact.family-comunicacao .alert-compact-rail{background:var(--info)}.alert-compact.family-rede .alert-compact-rail,.alert-compact.family-geracao .alert-compact-rail{background:var(--warn)}.alert-compact.family-cc .alert-compact-rail{background:var(--danger)}.alert-compact.family-portal .alert-compact-rail{background:var(--brand-navy)}.alert-compact.resolved .alert-compact-rail{background:var(--ok)}.alert-compact-body{flex:1 1 auto;min-width:0}.alert-compact-line{display:flex;align-items:center;gap:.7rem;min-width:0;min-height:1.5rem}.alert-pill{flex:0 0 6.4rem;font-size:.72rem;font-weight:700;letter-spacing:0;color:var(--text-muted);white-space:nowrap}.alert-pill.danger{color:var(--danger)}.alert-pill.warn{color:#9a6b0a}.alert-pill.info{color:var(--info)}.alert-pill.pending{color:var(--text-muted)}.alert-compact-when{flex:0 0 auto;font-size:.72rem;color:#8b97a8;font-variant-numeric:tabular-nums;white-space:nowrap}.alert-compact-type{flex:0 1 auto;min-width:7.5rem;font-size:.75rem;font-weight:650;color:var(--brand-navy);letter-spacing:-.015em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-compact-msg{flex:1 100 auto;min-width:0;margin:0;font-size:.75rem;font-weight:500;line-height:1.2;color:#7d8b9c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-compact-meta{display:flex;flex:0 1 auto;justify-content:flex-end;gap:.45rem;min-width:0;overflow:hidden}.alert-compact-meta.is-end{margin-left:auto}.alert-compact-meta span{min-width:0;max-width:24rem;font-size:.75rem;font-weight:550;color:#8b97a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-compact-meta .is-plant{color:var(--text-muted);font-weight:650}.alert-compact-meta .is-manual{color:var(--danger);font-weight:700}.alert-compact-meta .is-ok,.alert-compact-meta .is-info{color:var(--ok);font-weight:700}.alert-compact-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:.1rem;margin-left:.1rem;padding-left:.45rem;border-left:1px solid #e6ebf2}.alert-compact-actions .btn,.alert-compact-actions .btn-sm,.alert-compact-actions .alert-resolve{background:transparent;border-color:transparent;box-shadow:none;color:#7d8b9c;padding:.16rem .42rem;border-radius:999px;font-size:.74rem;font-weight:650}.alert-compact-actions .btn:hover,.alert-compact-actions .btn-sm:hover{background:#eef2f6;color:var(--brand-navy);box-shadow:none}.alert-compact-actions .alert-resolve{background:var(--brand-navy);color:#fff;padding:.18rem .62rem}.alert-compact-actions .alert-resolve:hover{background:#1c2942;color:#fff}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 1.5rem;margin-bottom:.25rem;padding:1.35rem 1.5rem;border-radius:16px;border:1px solid rgba(16,176,120,.16);background:radial-gradient(720px 220px at 0% -30%,rgba(16,176,120,.14),transparent 55%),radial-gradient(520px 180px at 100% 0%,rgba(16,24,40,.04),transparent 50%),linear-gradient(180deg,#fff,#f5f8f7);box-shadow:0 1px 2px #1018280a,0 10px 28px #1018280d}.page-header h1{margin:0;font-family:var(--display);font-size:clamp(1.45rem,2.2vw,1.85rem);font-weight:600;letter-spacing:-.028em;color:var(--brand-navy)}.page-header p{margin:.4rem 0 0;max-width:42rem;color:var(--text-muted);font-size:.92rem;line-height:1.5}.page-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.85rem;margin-bottom:1.15rem}.stat{position:relative;padding:.95rem 1rem .95rem 1.05rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-sm);overflow:hidden}.stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand-green)}.stat .label{color:var(--text-muted);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.stat .value{margin-top:.35rem;font-family:var(--display);font-size:1.65rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--brand-navy);line-height:1.1}.panel{border:1px solid var(--border);background:var(--bg-card);border-radius:16px;box-shadow:0 1px 2px #1018280a,0 12px 28px #1018280b;overflow:hidden}.panel-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;padding:.95rem 1.25rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fbfcfd,#f7f9fb)}.panel-header h2{margin:0;font-size:.95rem;font-family:var(--display);font-weight:650;color:var(--brand-navy)}.filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.filter-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;color:var(--text-muted);font-weight:600;white-space:nowrap}tr.row-alert td{background:#d645450a}.input,.select,.btn{border-radius:8px;border:1px solid var(--border-strong);background:#fff;color:var(--text);padding:.5rem .75rem;font-size:.9rem}.input:focus,.select:focus{outline:2px solid rgba(16,176,120,.35);outline-offset:0;border-color:var(--brand-green)}.btn{background:var(--accent);color:#fff;border-color:transparent;font-weight:650;transition:background .15s ease,box-shadow .15s ease}.btn:hover{background:#0e9a68;box-shadow:0 2px 8px #10b07847}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn.secondary{background:#fff;color:var(--text);border-color:var(--border-strong);box-shadow:none}.btn.secondary:hover{background:#f4f7fa;box-shadow:none}.btn.danger{background:#d645451a;color:var(--danger);border-color:#d6454559}.btn-sm{padding:.35rem .7rem;font-size:.82rem}.topbar .btn.secondary{background:transparent;color:#e8eef5;border-color:#ffffff2e}.topbar .btn.secondary:hover{background:#ffffff14}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.7rem 1rem;border-bottom:1px solid var(--border);white-space:nowrap;font-size:.9rem}th{color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;background:#f8fafc}tr:last-child td{border-bottom:none}tr:hover td{background:#f5faf8}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .5rem;border-radius:6px;font-size:.72rem;font-weight:700;border:1px solid transparent}.badge.ok{background:#0f9f6e1f;color:var(--ok);border-color:#0f9f6e40}.badge.warn{background:#c58a121f;color:var(--warn);border-color:#c58a1240}.badge.danger{background:#d645451a;color:var(--danger);border-color:#d6454547}.badge.pending{background:#92682a1f;color:#7a5518;border-color:#92682a52}.badge.info{background:#2f7ec81a;color:var(--info);border-color:#2f7ec840}.badge.opt-off{background:#6b8cae24;color:#4a657a;border-color:#6b8cae66}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(ellipse 60% 50% at 15% 0%,rgba(16,176,120,.18),transparent 55%),linear-gradient(165deg,#05070b,#0b1220 55%,#101828)}.login-card{width:min(400px,100%);padding:2rem;border-radius:12px;border:1px solid rgba(16,176,120,.22);background:#0b1220eb;box-shadow:0 16px 40px #00000059;text-align:center;color:#e8eef5}.login-logo{display:block;width:min(240px,100%);height:auto;margin:0 auto .85rem;object-fit:contain}.login-kicker,.login-card p{color:#e8eef59e;margin:0 0 1.35rem;font-size:.92rem}.login-card .form-stack{text-align:left}.login-card .input{background:#00000059;border-color:#ffffff24;color:#e8eef5}.login-card .form-stack label{color:#e8eef5a6}.form-stack{display:flex;flex-direction:column;gap:.85rem}.form-stack label{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;color:var(--text-muted)}.error-banner{padding:.7rem .85rem;border-radius:8px;background:#d645451a;border:1px solid rgba(214,69,69,.3);color:#b42318;margin-bottom:1rem;font-size:.9rem}.login-card .error-banner{color:#ffb4ab;background:#e86a5c26}.muted{color:var(--text-muted)}.map-link{color:var(--brand-green);font-weight:600;text-decoration:underline;text-underline-offset:2px}.map-link:hover{color:#0e9a68}.detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}.dash{display:flex;flex-direction:column;gap:1.15rem;width:100%;max-width:none}.dash-hero{display:grid;grid-template-columns:1.35fr 1fr;gap:1.25rem;align-items:stretch;padding:1.35rem 1.5rem;border-radius:16px;border:1px solid rgba(16,176,120,.16);background:radial-gradient(1200px 280px at 8% -40%,rgba(16,176,120,.16),transparent 55%),radial-gradient(900px 240px at 100% 0%,rgba(16,24,40,.05),transparent 50%),linear-gradient(180deg,#fff,#f7faf9);box-shadow:0 1px 2px #1018280a,0 10px 28px #1018280d;overflow:hidden}.dash-kicker{margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-green)}.dash-hero h1{margin:0;font-family:var(--display);font-size:clamp(1.45rem,2.2vw,1.85rem);font-weight:700;letter-spacing:-.03em;color:var(--brand-navy)}.dash-lead{margin:.45rem 0 0;max-width:38rem;color:var(--text-muted);font-size:.95rem;line-height:1.45}.dash-hero-side{display:flex;flex-direction:column;justify-content:space-between;gap:.85rem}.dash-pulse{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem .95rem;border-radius:10px;border:1px solid var(--border);background:#ffffffd1}.dash-pulse strong{display:block;font-size:.92rem;color:var(--brand-navy)}.dash-pulse span:last-child{display:block;margin-top:.15rem;font-size:.8rem;color:var(--text-muted)}.dash-pulse-dot{width:10px;height:10px;margin-top:.35rem;border-radius:50%;background:var(--text-muted);box-shadow:0 0 #5b6b7f59;flex-shrink:0}.dash-pulse.ok .dash-pulse-dot{background:var(--ok);animation:dash-pulse 2s ease-out infinite;box-shadow:0 0 #0f9f6e73}.dash-pulse.alert .dash-pulse-dot{background:var(--danger);animation:dash-pulse-alert 1.6s ease-out infinite;box-shadow:0 0 #d6454566}.dash-pulse.ok{border-color:#0f9f6e47;background:#0f9f6e0f}.dash-pulse.alert{border-color:#d6454547;background:#d645450f}@keyframes dash-pulse{0%{box-shadow:0 0 #0f9f6e73}70%{box-shadow:0 0 0 10px #0f9f6e00}to{box-shadow:0 0 #0f9f6e00}}@keyframes dash-pulse-alert{0%{box-shadow:0 0 #d6454566}70%{box-shadow:0 0 0 10px #d6454500}to{box-shadow:0 0 #d6454500}}.dash-quick{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem}.dash-kpi{position:relative;padding:1.05rem 1.15rem 1.1rem;border-radius:14px;border:1px solid var(--border);background:var(--bg-card);box-shadow:0 1px 2px #1018280a,0 8px 20px #1018280a;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.dash-kpi:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.dash-kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--brand-green)}.dash-kpi.tone-ok:before{background:var(--ok)}.dash-kpi.tone-warn:before{background:var(--warn)}.dash-kpi.tone-danger:before{background:var(--danger)}.dash-kpi-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dash-kpi-label{font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.dash-eye-btn{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border:0;border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0}.dash-eye-btn:hover{color:var(--brand-navy);background:#1018280f}.dash-kpi-chip{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;color:var(--text-muted);background:#eef2f6;border:1px solid var(--border)}.dash-kpi-chip.ok{color:var(--ok);background:#0f9f6e1a;border-color:#0f9f6e38}.dash-kpi-chip.warn{color:var(--warn);background:#c58a121a;border-color:#c58a1238}.dash-kpi-chip.danger{color:var(--danger);background:#d645451a;border-color:#d6454538}.dash-kpi-value{margin-top:.45rem;font-family:var(--display);font-size:2rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--brand-navy);line-height:1}.dash-kpi-meta{margin:.55rem 0 0;font-size:.8rem;color:var(--text-muted)}.dash-kpi-meta a{color:var(--brand-green);font-weight:650}.dash-kpi-meta a:hover{text-decoration:underline;text-underline-offset:2px}.dash-meter{margin-top:.65rem;height:6px;border-radius:999px;background:#e8eef5;overflow:hidden}.dash-meter>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0e9a68,#2dd4a0);transition:width .35s ease}.dash-panels{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem}.dash-panel-sub{margin:.2rem 0 0;font-size:.78rem;color:var(--text-muted);font-weight:500}.dash-provider-list,.dash-alert-list{display:flex;flex-direction:column;gap:.35rem;padding:.75rem}.dash-provider-row{display:block;padding:.7rem .8rem;border-radius:8px;border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.dash-provider-row:hover{background:#f5faf8;border-color:#10b07838}a.dash-invoice-row{text-decoration:none;color:inherit;border-radius:8px;border:1px solid transparent;transition:background .15s ease,border-color .15s ease}a.dash-invoice-row:hover{background:#f5faf8;border-color:#10b07838}.dash-invoice-meta{flex-wrap:wrap;justify-content:flex-end;max-width:12rem}.dash-provider-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.dash-provider-head strong{font-size:.92rem;text-transform:capitalize;color:var(--brand-navy)}.dash-provider-head span{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.dash-bar{height:8px;border-radius:999px;background:#e8eef5;overflow:hidden}.dash-bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#10b078bf,#10b07859);transition:width .35s ease}.dash-alert-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .8rem;border-radius:8px;border:1px solid rgba(214,69,69,.12);background:#d6454508}.dash-alert-right{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.dash-alert-left{display:flex;align-items:flex-start;gap:.65rem;min-width:0}.dash-alert-left strong{display:block;font-size:.9rem;text-transform:capitalize;color:var(--brand-navy)}.dash-alert-left span{display:block;margin-top:.1rem;font-size:.76rem;color:var(--text-muted)}.dash-empty,.dash-empty-state{padding:1.1rem .85rem}.dash-empty-state{display:flex;align-items:flex-start;gap:.7rem;border-radius:8px;border:1px dashed var(--border);background:#f8fafc}.dash-empty-state strong{display:block;color:var(--brand-navy);font-size:.9rem}.dash-empty-state p{margin:.2rem 0 0;font-size:.8rem}.plants{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:none}.plants-hero{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:1rem 1.5rem;align-items:center;padding:1.15rem 1.35rem;border-radius:16px;border:1px solid var(--border);background:linear-gradient(135deg,rgba(16,176,120,.07) 0%,transparent 42%),linear-gradient(180deg,#fff,#f7f9fb);box-shadow:var(--shadow-sm)}.plants-hero h1{margin:0;font-family:var(--display);font-size:clamp(1.45rem,2.2vw,1.85rem);font-weight:700;letter-spacing:-.035em;color:var(--brand-navy)}.plants-hero-side{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.75rem 1rem}.plants-hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.plants-hero-actions .btn{white-space:nowrap}.plants-live-hint{margin:0;max-width:15rem;font-size:.7rem;line-height:1.35;color:var(--text-muted);text-align:right}.plants-summary{display:flex;gap:.5rem}.plants-status-bar{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.15rem 1.1rem;padding:.45rem .85rem;border:1px solid var(--border);border-radius:4px;background:#fff}.plants-status-chip{position:relative;display:inline-flex;align-items:center;gap:.4rem;margin:0;padding:.35rem .1rem .5rem;border:0;border-radius:0;background:transparent;color:#334155;font-size:.86rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap}.plants-status-chip:hover{color:var(--brand-navy);background:transparent}.plants-status-chip.is-active{color:var(--brand-navy);background:transparent;font-weight:600}.plants-status-chip.is-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#e8922a}.plants-status-chip.online.is-active,.plants-status-chip.alarme.is-active,.plants-status-chip.offline.is-active{color:var(--brand-navy);background:transparent}.plants-status-label{font-weight:inherit}.plants-status-count{font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit}.plants-status-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0;box-shadow:none}.plants-status-dot.online{background:#22c55e;box-shadow:none}.plants-status-dot.alarme{background:#ef4444;box-shadow:none}.plants-status-dot.offline{background:#cbd5e1;box-shadow:none}.plants-summary-item{min-width:5.2rem;padding:.7rem .9rem;border-radius:14px;border:1px solid rgba(16,24,40,.07);background:#ffffffe0;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.plants-summary-item span{display:block;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.plants-summary-item strong{display:block;margin-top:.3rem;font-family:var(--display);font-size:1.35rem;letter-spacing:-.03em;color:var(--brand-navy);line-height:1}.plants-summary-item.alert{border-color:#d6454538;background:#d6454512}.plants-summary-item.alert strong{color:var(--danger)}.plants-scan-msg{padding:.75rem 1rem;border-radius:12px;border:1px solid rgba(16,176,120,.2);background:#10b07812;color:var(--ok);font-size:.84rem;font-weight:600}.plants-panel{width:100%;overflow:visible;border:1px solid #d0d7e2;border-radius:12px;background:#fff;box-shadow:none}.plants-panel-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.7rem 1rem;padding:.75rem 1rem;border-bottom:1px solid #d0d7e2;background:#f8fafc}.plants-panel-copy h2{margin:0;font-family:var(--display);font-size:1rem;font-weight:700;color:var(--brand-navy)}.plants-panel-copy p{margin:.2rem 0 0;font-size:.78rem;color:var(--text-muted)}.plants-toolbar-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;max-width:100%}.plants-view-switch{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}.plants-view-switch button{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:0;border-right:1px solid var(--border);background:#fff;color:var(--text-muted)}.plants-view-switch button:last-child{border-right:0}.plants-view-switch button.is-active{background:#10b0781f;color:#0f766e}.plants-map{position:relative;z-index:0;isolation:isolate;height:calc(100vh - 250px);min-height:520px}.plants-map-canvas{position:relative;z-index:1;height:100%;width:100%;background:#e7eef2}.plants-map .leaflet-power-lines-pane,.plants-map .leaflet-power-lines-pane *{pointer-events:none}.plants-map .leaflet-container{height:100%;width:100%;font-family:var(--font);background:#e7eef2}.plants-map path.leaflet-interactive:focus,.plants-map path.leaflet-interactive:focus-visible,.plants-map .leaflet-interactive:focus,.plants-map .leaflet-interactive:focus-visible{outline:none}.plant-map-pin{background:transparent;border:0}.leaflet-marker-icon.plant-map-pin:hover{z-index:1200!important}.plant-map-dot{display:block;box-sizing:border-box;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px #10182859}.plant-map-dot.is-selected{outline:2px solid #101828;transform:scale(1.35)}.plants-map-legend{position:absolute;z-index:2;top:12px;left:12px;max-height:calc(100% - 24px);overflow:auto;display:flex;flex-direction:column;gap:.28rem;min-width:9.5rem;padding:.65rem .75rem;border-radius:10px;background:#fff;border:1px solid rgba(16,24,40,.08);box-shadow:0 8px 24px #1018281f;font-size:.75rem;color:var(--text)}.plants-map-legend strong{margin-bottom:.1rem;font-size:.72rem;letter-spacing:.01em}.plants-map-legend span{display:flex;align-items:center;gap:.4rem}.plants-map-legend i{width:.65rem;height:.65rem;border-radius:50%;flex-shrink:0}.plants-map-legend i.online{background:#14b8a6}.plants-map-legend i.alarme{background:#dc2626}.plants-map-legend i.offline{background:#94a3b8}.plants-map-legend p{margin:.25rem 0 0;color:var(--text-muted)}.plants-map-grid{display:flex;flex-direction:column;gap:.28rem;margin-top:.45rem;padding-top:.45rem;border-top:1px solid rgba(16,24,40,.08)}.plants-map-grid i{border-radius:2px}.plants-map-grid i.celesc-low{background:#93c5fd}.plants-map-grid i.celesc-warn{background:#ffda5d}.plants-map-grid i.celesc-mid{background:#fab278}.plants-map-grid i.celesc-high{background:#ee1c25}.plants-map-grid i.power-69{background:#8b93a0}.plants-map-grid i.power-138{background:#6b6254}.plants-map-grid i.power-230{background:#3d4f66}.plants-map-grid i.power-500{background:#3d6f78}.plants-map-grid i.feeder-line,.plants-map-grid i.feeder-swatch{width:.95rem;height:0;border-radius:0;background:transparent;border-top:2px solid #c2410c}.plants-map-grid i.feeder-swatch{border-top-color:currentColor;border-top-width:3px;margin-top:.35rem}.plants-feeder-search{display:block;margin:.1rem 0 .3rem}.plants-feeder-search input{width:100%;padding:.32rem .45rem;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font:inherit;font-size:.75rem}.plants-feeder-results{list-style:none;margin:0 0 .25rem;padding:0;display:flex;flex-direction:column;gap:.15rem}.plants-feeder-results button{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;width:100%;padding:.28rem .4rem;border:0;border-radius:6px;background:#f4f7fa;color:var(--brand-navy);font:inherit;font-size:.74rem;font-weight:700;text-align:left;cursor:pointer}.plants-feeder-results button span{color:var(--text-muted);font-size:.68rem;font-weight:550}.plants-feeder-clear{align-self:flex-start;margin-top:.15rem;padding:.18rem .45rem;border:1px solid rgba(16,24,40,.14);border-radius:6px;background:#fff;color:var(--text);font:inherit;font-size:.68rem;font-weight:650;cursor:pointer}.plants-map-filters{display:flex;flex-wrap:wrap;gap:.25rem}.plants-map-filters button{padding:.12rem .38rem;border:1px solid rgba(16,24,40,.14);border-radius:6px;background:#fff;color:var(--text);font:inherit;font-size:.68rem;font-weight:650;cursor:pointer}.plants-map-filters button.is-active{background:#0f766e;border-color:#0f766e;color:#fff}.plants-celesc-sync{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.plants-celesc-sync span{font-size:.72rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.plants-filter-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:650;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.plants-map-sync{padding:.38rem .65rem;border:1px solid #0f766e;border-radius:8px;background:#0f766e;color:#fff;font:inherit;font-size:.75rem;font-weight:650;cursor:pointer;white-space:nowrap}.plants-map-sync:disabled{cursor:progress;opacity:.7}.plants-map .leaflet-tooltip.celesc-tip{padding:0;border:none;border-radius:2px;background:#ffffffb8;color:#1a1a1a;box-shadow:0 2px 10px #00000029;font-family:Arial,Helvetica,sans-serif}.plants-map .leaflet-tooltip.celesc-tip.leaflet-tooltip-top:before{border-top-color:#ffffffb8}.plants-map .leaflet-tooltip.celesc-tip.leaflet-tooltip-bottom:before{border-bottom-color:#ffffffb8}.plants-map .leaflet-tooltip.celesc-tip.leaflet-tooltip-left:before{border-left-color:#ffffffb8}.plants-map .leaflet-tooltip.celesc-tip.leaflet-tooltip-right:before{border-right-color:#ffffffb8}.celesc-tip-title{padding:.28rem .85rem;background:#0067b1c7;color:#fff;font-weight:700;text-align:center}.celesc-tip-row{display:flex;justify-content:space-between;gap:1.1rem;padding:.12rem .45rem;font-size:.78rem}.celesc-tip-row.is-normal,.celesc-tip-row.is-off{font-weight:700}.celesc-tip-row.is-normal{background:#f8e0c8b8}.celesc-tip-row.is-off{background:#c0e8f8b8}.plants-map .leaflet-tooltip:not(.celesc-tip){background:#ffffff9e;border-color:#10182814;box-shadow:0 6px 16px #10182814;opacity:.78!important}.plants-map .leaflet-tooltip:not(.celesc-tip).leaflet-tooltip-top:before{border-top-color:#ffffff9e}.plants-map .leaflet-tooltip:not(.celesc-tip).leaflet-tooltip-bottom:before{border-bottom-color:#ffffff9e}.plants-map .leaflet-tooltip:not(.celesc-tip).leaflet-tooltip-left:before{border-left-color:#ffffff9e}.plants-map .leaflet-tooltip:not(.celesc-tip).leaflet-tooltip-right:before{border-right-color:#ffffff9e}.plants-map .leaflet-tooltip{padding:.4rem .55rem;border:1px solid rgba(16,24,40,.08);border-radius:8px;box-shadow:0 8px 20px #1018281f;font-family:var(--font);font-size:.75rem;line-height:1.35}.plants-search{flex:1 1 220px;min-width:180px;max-width:280px}.plants-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:.78rem;font-weight:600;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.plants-toggle.on{color:#a12d2d;border-color:#d6454547;background:#d6454512}.plants-toggle.dim.on{color:var(--brand-navy);border-color:#10182829;background:#1018280d}.plants-table-head{display:grid;grid-template-columns:minmax(14rem,2.2fr) 6.5rem 4.5rem 6rem minmax(6.5rem,.8fr) minmax(8.5rem,1fr) minmax(7.5rem,.9fr) 7rem 5.5rem;gap:.5rem .85rem;align-items:center;min-height:2.9rem;padding:.5rem 1.25rem;border-bottom:1px solid #e5e8ec;background:#fff;font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:none;color:#4b5563}.plants-th-name{text-align:left}.plants-th-icon,.plants-th-inv,.plants-th-sync{text-align:center}.plants-th-num{text-align:left}.plants-th-sort.plants-th-num{justify-content:flex-start}.plants-th-actions{text-align:center}.plants-th-sort{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;width:100%;margin:0;padding:.1rem 0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;white-space:nowrap}.plants-th-sort:hover{color:#0f172a}.plants-th-sort.is-active{color:#1d4ed8}.plants-th-sort-icon{font-size:.7rem;opacity:.55;line-height:1}.plants-th-sort.is-active .plants-th-sort-icon{opacity:1}.plants-list{display:flex;flex-direction:column;background:#fff}.plants-queue+.plants-queue{border-top:1px solid var(--border)}.plants-queue-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.7rem 1rem .55rem;background:#f3f5f8;border-bottom:1px solid #d0d7e2}.plants-queue-head h3{margin:0;font-size:.86rem;font-family:var(--display);font-weight:700;color:var(--brand-navy)}.plants-queue-head p{margin:.12rem 0 0;font-size:.74rem;color:#64748b}.plants-queue-count{flex-shrink:0;min-width:1.75rem;padding:.18rem .45rem;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:.76rem;font-weight:700;text-align:center;color:var(--brand-navy)}.plants-queue-action .plants-queue-head{background:#d645450d}.plants-queue-action .plants-queue-head h3,.plants-queue-action .plants-queue-count{color:var(--danger)}.plants-queue-action .plants-queue-count{border-color:#d6454538;background:#d6454514}.plants-queue-treatment .plants-queue-head{background:#c4953a14}.plants-queue-treatment .plants-queue-head h3,.plants-queue-treatment .plants-queue-count{color:#7a5518}.plants-queue-treatment .plants-queue-count{border-color:#92682a40;background:#c4953a1f}.plant-rank{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.45rem;height:1.45rem;border-radius:5px;font-size:.7rem;font-weight:700;color:#475569;background:#e2e8f0}.plants-queue-treatment .plant-rank{background:#f3e8c8;color:#7a5518}.plant-row{position:relative;display:grid;grid-template-columns:minmax(14rem,2.2fr) 6.5rem 4.5rem 6rem minmax(6.5rem,.8fr) minmax(8.5rem,1fr) minmax(7.5rem,.9fr) 7rem 5.5rem;align-items:center;gap:.5rem .85rem;min-height:3.75rem;padding:.6rem 1.25rem;border-bottom:1px solid #eceff2;background:#fff;transition:background .1s ease;box-shadow:none;overflow:visible}.plant-actions-menu.is-open{z-index:40}.plant-row:last-child{border-bottom:none}.plant-row:hover{background:#f5f6f8!important}.plant-col-icon{display:flex;justify-content:center}.plant-cell-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;border-radius:50%;color:#fff;background:#22c7b8;box-shadow:0 0 0 3px #22c7b829}.plant-cell-icon.is-partial,.plant-cell-icon.is-treatment{background:#f2a93b;box-shadow:0 0 0 3px #f2a93b2e}.plant-cell-icon.is-off,.plant-cell-icon.is-alert{background:#e5484d;box-shadow:0 0 0 3px #e5484d29}.plant-cell-icon.is-unknown{background:#b8c0cc;box-shadow:0 0 0 3px #94a3b829}.plant-cell-icon-count{position:absolute;top:-.42rem;right:-.55rem;min-width:1rem;padding:0 .22rem;border:1.5px solid #fff;border-radius:999px;background:#b42318;color:#fff;font-size:.6rem;font-style:normal;font-weight:700;line-height:.95rem;text-align:center}.plant-pin{flex-shrink:0;margin-right:.25rem;color:#6b7280;vertical-align:-1px}.plant-row.has-alert,.plant-row.has-alert.is-offline,.plant-row.has-alert.is-alarme,.plant-row.awaiting-fix,.plant-row.has-maint:not(.has-alert):not(.awaiting-fix){box-shadow:none}.plant-row.inactive{opacity:.7}.plant-col-status{display:inline-flex;align-items:center;gap:.4rem;min-width:0;justify-self:start;color:#1e293b;font-size:.82rem;font-weight:600}.plant-status-dot{width:.55rem;height:.55rem;border-radius:50%;flex-shrink:0;background:#16a34a}.plant-status-dot.alarme{background:#dc2626}.plant-status-dot.offline{background:#94a3b8}.plant-status-text{white-space:nowrap}.plant-col-name{min-width:0}.plant-name-link{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;font-size:.84rem;font-weight:600;color:#374151;letter-spacing:0;white-space:nowrap;overflow:hidden;line-height:1.3;text-transform:none}.plant-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.plant-name-link:hover{color:#1d4ed8}.plant-meta-line{margin:.22rem 0 0;font-size:.76rem;line-height:1.25;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plant-location{color:#64748b}.plant-location.is-link{color:#475569;text-decoration:none}.plant-location.is-link:hover{color:#1d4ed8;text-decoration:underline}.plant-alert-hint{color:#64748b;font-weight:500}.plant-row.is-alarme .plant-alert-hint{color:#b91c1c}.plant-row.is-offline .plant-alert-hint{color:#475569}.plant-col-inv{display:block;width:100%;text-align:center;font-size:.84rem;font-weight:600;font-variant-numeric:tabular-nums;color:#4b5563}.plant-col-inv .is-alarm{color:#b42318}.plant-col-inv .is-partial{color:#c27a12}.plant-col-inv .is-off{color:#d93036}.plant-col-num{display:flex;width:100%;align-items:baseline;justify-content:flex-start;gap:.18rem;font-size:.84rem;font-weight:500;color:#4b5563;font-variant-numeric:tabular-nums;text-align:left}.plant-col-prod.is-zero{color:#d93036;font-weight:600}.plant-col-num strong{font-size:.84rem;font-weight:700;color:#0f172a}.plant-unit{font-size:.68rem;font-weight:600;color:#64748b}.plant-col-sync{display:block;width:100%;text-align:center;font-size:.78rem;font-weight:500;font-variant-numeric:tabular-nums;color:#334155;white-space:nowrap}.plant-empty{color:#94a3b8;font-weight:500}.plant-type-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:.95rem;height:.95rem;color:#64748b;opacity:1}.plant-type-icon--telhado,.plant-type-icon--solo,.plant-type-icon--misto{color:#64748b}.plant-row-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:0;min-width:0;width:100%}.plant-actions-menu{position:relative;display:inline-flex;justify-content:center;width:auto}.plant-actions-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;margin:0;padding:.28rem .55rem;border:1px solid #d0d7e2;border-radius:6px;background:#fff;color:#334155;font-size:.76rem;font-weight:650;white-space:nowrap;cursor:pointer}.plant-actions-trigger:hover,.plant-actions-menu.is-open .plant-actions-trigger{border-color:#94a3b8;color:#0f172a;background:#f8fafc}.plant-actions-dropdown{position:absolute;top:calc(100% + .25rem);right:0;z-index:30;min-width:8.5rem;padding:.3rem;border:1px solid #d0d7e2;border-radius:8px;background:#fff;box-shadow:0 8px 24px #0f172a1f}.plant-actions-item{display:block;width:100%;margin:0;padding:.45rem .6rem;border:0;border-radius:5px;background:transparent;color:#334155;font-size:.8rem;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.plant-actions-item:hover{background:#f1f5f9;color:#0f172a}.plant-actions-item--primary{color:#1d4ed8}.plant-actions-item:disabled{opacity:.55;cursor:not-allowed}.plant-actions-hint{margin:.2rem .35rem .15rem;font-size:.68rem;color:#94a3b8}.plant-link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:.1rem 0;color:#475569;font-size:.76rem;font-weight:650;text-decoration:none;cursor:pointer;white-space:nowrap}.plant-link-btn:hover,.plant-link-btn--primary{color:#1d4ed8}.plant-link-btn:disabled{opacity:.55;cursor:not-allowed}.plant-row-kwp,.plant-row-power{display:flex;align-items:baseline;gap:.28rem;min-width:0;font-variant-numeric:tabular-nums;color:var(--brand-navy)}.plant-row-kwp strong,.plant-row-power strong{font-family:var(--font);font-size:.95rem;font-weight:650;letter-spacing:-.01em;line-height:1.15}.plant-row-kwp>span,.plant-row-power>span{font-family:var(--font);font-size:.72rem;font-weight:550;color:var(--text-muted)}.plant-row-kwp-empty,.plant-row-power-empty,.plant-row-power-loading{color:var(--text-muted);font-size:.9rem}.plant-row-power--live strong{color:#1f6b4a}.plant-row-power--day strong{color:#2a5f8f}.plant-row-power--live.is-refreshing,.plant-row-power--day.is-refreshing{opacity:.72}.plant-chip{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.01em;line-height:1.2;white-space:nowrap;background:#eef2f6;color:#5b6b7f}.plant-chip--emoji,.plant-chip--icon{justify-content:center;gap:.2rem;min-width:1.85rem;height:1.85rem;padding:0 .4rem;font-size:.92rem;font-weight:500;line-height:1;background:transparent}.plant-chip--icon svg{display:block;flex-shrink:0}.plant-chip--emoji em,.plant-chip--icon em{font-style:normal;font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums;color:#c45b55}.plant-chip.ok,.plant-chip.ok.plant-chip--emoji,.plant-chip.ok.plant-chip--icon{color:#0f7a56;background:#0f9f6e1a}.plant-chip.warn{color:#8a6208;background:#c58a121f}.plant-chip.warn.plant-chip--emoji,.plant-chip.warn.plant-chip--icon{color:#9a7418;background:#c58a121a}.plant-chip.danger{color:#b42318;background:#d645451a}.plant-chip.danger.plant-chip--emoji,.plant-chip.danger.plant-chip--icon{color:#c43b35;background:#d645451a}.plant-chip.pending{color:#7a5518;background:#c4953a24}.plant-chip.pending.plant-chip--emoji,.plant-chip.pending.plant-chip--icon{color:#8a6a28;background:#c4953a1f}.plant-row-alert-cell{min-width:0}.plant-issue{display:flex;flex-direction:column;gap:.08rem;min-width:0}.plant-issue strong{font-size:.82rem;font-weight:650;letter-spacing:-.01em;color:#8a97a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.plant-issue-msg{font-size:.72rem;font-weight:500;color:var(--text-muted);line-height:1.3;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.plant-issue.is-alert strong{color:#c45b55}.plant-issue.is-offline strong{color:#5b6b7f}.plant-issue.is-offline .plant-issue-msg{color:#7a8798}.plant-issue.is-pending strong,.plant-issue.is-maint strong{color:#a4844a}.plant-issue time{font-size:.7rem;font-weight:500;color:#9aa8b8}.plant-issue.is-quiet{font-size:.8rem;font-weight:550;color:#9aa8b8}.plants-empty{padding:1.25rem}.plants-empty-state{margin:1.25rem;padding:1.6rem;border-radius:14px;border:1px dashed var(--border-strong);background:#fbfcfd;text-align:center}.plants-empty-state strong{display:block;color:var(--brand-navy);font-family:var(--display)}.plants-empty-state p{margin:.35rem 0 0}.payments-page{display:flex;flex-direction:column;gap:1.15rem;width:100%;max-width:none}.payments-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.1rem 1.5rem;padding:1.35rem 1.5rem;border-radius:16px;border:1px solid rgba(16,176,120,.16);background:radial-gradient(720px 220px at 0% -30%,rgba(16,176,120,.16),transparent 55%),radial-gradient(520px 180px at 100% 0%,rgba(16,24,40,.05),transparent 50%),linear-gradient(180deg,#fff,#f5f8f7);box-shadow:0 1px 2px #1018280a,0 10px 28px #1018280d}.payments-hero-copy{flex:1 1 280px;min-width:0;max-width:40rem;display:flex;flex-direction:column;justify-content:center}.payments-title-row{display:flex;align-items:center;gap:.45rem;margin:.15rem 0 .4rem}.payments-title-row h1{margin:0;font-family:var(--display);font-size:clamp(1.55rem,2.4vw,1.85rem);font-weight:700;letter-spacing:-.03em;color:var(--brand-navy);line-height:1.15}.payments-eye-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:0;border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer}.payments-eye-btn:hover,.payments-eye-btn[aria-pressed=true]{color:var(--brand-navy);background:#1018280f}.payments-money{display:inline-block;transition:filter .18s ease}.payments-money.is-hidden{filter:blur(8px);-webkit-user-select:none;user-select:none}.payments-hero-copy .dash-lead{margin:0;font-size:.92rem;line-height:1.5;max-width:38rem}.payments-env-pill{display:inline-flex;align-items:center;gap:.4rem;margin-top:.85rem;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--border);background:#ffffffd9;font-size:.76rem;font-weight:600;color:var(--text-muted)}.payments-env-pill.is-warn{border-color:#c58a1259;background:#c58a1214;color:#8a6208}.payments-env-dot{width:7px;height:7px;border-radius:50%;background:var(--ok)}.payments-env-dot.is-sandbox{background:var(--warn)}.payments-env-dot.is-prod{background:var(--ok)}.payments-kpi-grid{display:grid;grid-template-columns:repeat(3,max-content);gap:.55rem;flex:0 0 auto;width:max-content;max-width:100%}.payments-kpi{display:flex;flex-direction:column;gap:.12rem;width:9.75rem;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--border);background:#fffffff2;box-shadow:var(--shadow-sm)}.payments-kpi span{font-size:.64rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.payments-kpi strong{font-family:var(--display);font-size:1.12rem;color:var(--brand-navy);letter-spacing:-.02em;line-height:1.15;word-break:break-word}.payments-kpi small{font-size:.72rem;color:var(--text-muted);line-height:1.3}.payments-kpi.is-ok strong{color:var(--ok)}.payments-progress{height:4px;margin-top:.15rem;border-radius:999px;background:#10182814;overflow:hidden}.payments-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f9f6e,#10b078);transition:width .35s ease}@media(max-width:900px){.payments-kpi-grid{grid-template-columns:1fr;width:100%}.payments-kpi{width:100%}.payments-hero-copy{max-width:none}}.payments-panel{overflow:visible;padding:1.05rem 1.25rem 1.2rem;border-radius:16px}.payments-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.payments-toolbar h2{margin:0;font-size:1rem;color:var(--brand-navy)}.payments-toolbar .dash-panel-sub{margin:.15rem 0 0}.payments-filters{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.payments-search{width:min(320px,100%);max-width:100%;flex:1 1 220px}.payments-chips{display:flex;flex-wrap:wrap;gap:.35rem;padding:.7rem 0 .45rem}.payments-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.32rem .65rem;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--text-muted);font-size:.8rem;font-weight:600}.payments-chip em{font-style:normal;min-width:1.2rem;padding:.02rem .35rem;border-radius:999px;background:#1018280f;font-size:.72rem;text-align:center}.payments-chip.is-active{border-color:#10b07873;background:var(--accent-soft);color:var(--brand-navy)}.payments-chip.is-active em{background:#10b0782e;color:var(--ok)}.payments-list{padding-top:.25rem}.payments-empty{padding:1.5rem .5rem;text-align:center}.payments-table{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:visible;background:#fff}.payments-table-head,.payments-row{display:grid;grid-template-columns:minmax(0,1fr) 6.5rem minmax(7.5rem,10rem) minmax(8.5rem,12rem);gap:.85rem;align-items:center;padding:.65rem .85rem}.payments-table-head{background:#f7f9fb;border-bottom:1px solid var(--border);border-radius:10px 10px 0 0;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.payments-table-head .is-num,.payments-table-head .is-actions{text-align:right}.payments-row{border-bottom:1px solid #eef2f6;min-height:54px}.payments-row:last-child{border-bottom:0;border-radius:0 0 10px 10px}.payments-row:hover{background:#fafbfc}.payments-row.is-paid{background:#0f9f6e08}.payments-name-row{display:flex;align-items:center;gap:.4rem;min-width:0}.payments-name{font-size:.9rem;font-weight:700;color:var(--brand-navy);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payments-nf{flex:0 0 auto;font-size:.65rem;font-weight:700;letter-spacing:.03em;color:var(--info);border:1px solid rgba(47,126,200,.35);background:#2f7ec814;border-radius:4px;padding:.05rem .3rem;line-height:1.2}.payments-adiado{flex:0 0 auto;font-size:.65rem;font-weight:700;letter-spacing:.03em;color:var(--info);border:1px solid rgba(47,126,200,.4);background:#2f7ec81a;border-radius:4px;padding:.05rem .3rem;line-height:1.2}.payments-row.is-adiado{opacity:.78}.payments-avisado{flex:0 0 auto;font-size:.65rem;font-weight:700;letter-spacing:.03em;color:var(--ok);border:1px solid rgba(16,176,120,.4);background:#10b0781a;border-radius:4px;padding:.05rem .3rem;line-height:1.2}.payments-meta{margin-top:.12rem;font-size:.73rem;color:var(--text-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payments-col-value{font-family:var(--display);font-size:.92rem;font-weight:700;color:var(--brand-navy);font-variant-numeric:tabular-nums;text-align:right}.payments-value-stack{display:flex;flex-direction:column;align-items:flex-end;gap:.05rem;line-height:1.15}.payments-value-old{font-size:.72rem;font-weight:500;color:var(--text-muted);text-decoration:line-through;text-decoration-thickness:1.5px;opacity:.85}.payments-value-new{font-size:.92rem;font-weight:700;color:var(--brand-navy)}.payments-valor-preview{margin:.35rem 0 0;font-size:.86rem}.payments-col-status{display:flex;flex-direction:column;gap:.08rem;min-width:0}.payments-status{font-size:.82rem;font-weight:700;color:var(--text-muted)}.payments-status.is-ok{color:var(--ok)}.payments-status.is-warn{color:var(--warn)}.payments-status.is-danger{color:var(--danger)}.payments-status.is-info{color:var(--info)}.payments-status-sub{font-size:.72rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payments-col-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.3rem;min-width:0}.payments-col-actions .btn{padding:.34rem .55rem;font-size:.76rem;white-space:nowrap;max-width:100%}.payments-more{position:relative}.payments-more-btn{min-width:2.2rem;padding-left:.45rem;padding-right:.45rem;letter-spacing:.08em}.payments-menu{position:fixed;z-index:80;min-width:200px;padding:.3rem;border-radius:10px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.1rem}.payments-menu.is-up{transform:translateY(-100%)}.payments-menu button,.payments-menu-link{width:100%;text-align:left;border:0;background:transparent;padding:.5rem .6rem;border-radius:8px;color:var(--text);font-size:.84rem;font-weight:600;text-decoration:none;display:block}.payments-menu button:hover,.payments-menu-link:hover{background:#1018280d}.payments-banner-dismiss{margin-left:.75rem;border:0;background:transparent;color:inherit;font-size:.78rem;font-weight:700;text-decoration:underline;opacity:.85}.payments-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a7a;display:flex;align-items:center;justify-content:center;z-index:80;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.payments-modal{background:#fff;border-radius:14px;padding:1.15rem 1.25rem 1.1rem;width:min(480px,100%);box-shadow:0 22px 60px #0f172a47;display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--border)}.payments-modal-head h3{margin:.1rem 0 .25rem;color:var(--brand-navy);font-family:var(--display);font-size:1.2rem}.dash-alerts-modal{width:min(720px,100%);max-height:min(86vh,780px)}.dash-alerts-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.dash-alerts-modal-provider{text-transform:capitalize}.dash-alerts-modal-client{font-size:.92rem;color:var(--brand-navy)}.dash-alerts-modal-code{margin:0 0 .35rem}.dash-alerts-modal-list{display:flex;flex-direction:column;gap:.55rem;overflow:auto;max-height:min(62vh,540px);padding-right:.1rem}.dash-alerts-modal-list .alert-plant-card{box-shadow:none}.dash-alerts-modal-list .alert-compact-actions .btn-sm{padding:.2rem .42rem}.dash-alerts-modal-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-left:auto}.payments-modal-hint{margin:0;padding:.55rem .7rem;border-radius:8px;background:#2f7ec814;border:1px solid rgba(47,126,200,.18);color:var(--text);font-size:.82rem;line-height:1.4}.payments-modal--wide{width:min(720px,100%);max-height:min(92vh,900px);overflow:auto}.payments-modal-section{display:flex;flex-direction:column;gap:.55rem;padding-top:.35rem;border-top:1px solid var(--border)}.payments-modal-section h4{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.payments-modal-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.payments-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--brand-navy)}.payments-modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.payments-field--full{grid-column:1 / -1}.payments-field--span2{grid-column:span 2}.payments-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.payments-field span{font-weight:600;color:var(--text-muted);font-size:.76rem}.payments-modal-actions{display:flex;justify-content:flex-end;gap:.45rem;margin-top:.15rem}@media(max-width:900px){.payments-table-head{display:none}.payments-table-head,.payments-row{grid-template-columns:1fr auto;gap:.35rem .75rem}.payments-col-value,.payments-col-status{grid-column:1;text-align:left}.payments-col-actions{grid-column:2;grid-row:1 / span 3;align-self:start}.payments-meta{white-space:normal}.payments-modal-grid{grid-template-columns:1fr}.payments-field--span2{grid-column:auto}}.invoices-page{display:flex;flex-direction:column;gap:1.15rem;width:100%;max-width:none}.invoice-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.invoice-stat{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;min-height:7.5rem;margin:0;padding:1rem 1.1rem .95rem;border:1px solid #e6ebf2;border-radius:16px;background:#fff;box-shadow:0 1px 2px #1018280a;color:var(--brand-navy);text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.invoice-stat:hover{border-color:#d3dce8;box-shadow:0 10px 24px #1018280f}.invoice-stat:focus-visible{outline:2px solid rgba(16,176,120,.45);outline-offset:2px}.invoice-stat.is-on{border-color:#10b07880;background:linear-gradient(180deg,#fff,#f3fbf7);box-shadow:0 0 0 3px #10b0781f}.invoice-stat-kicker{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;letter-spacing:-.01em;color:#5b6b7f}.invoice-stat-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-green);box-shadow:0 0 0 4px #10b0781f;flex:0 0 auto}.invoice-stat.tone-ok .invoice-stat-dot{background:var(--ok);box-shadow:0 0 0 4px #0f9f6e1f}.invoice-stat.tone-warn .invoice-stat-dot{background:var(--warn);box-shadow:0 0 0 4px #c58a1229}.invoice-stat.tone-danger .invoice-stat-dot{background:var(--danger);box-shadow:0 0 0 4px #d6454524}.invoice-stat strong{font-size:2rem;font-weight:600;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums;color:var(--brand-navy)}.invoice-stat-meta{margin-top:auto;max-width:18rem;font-size:.78rem;font-weight:500;line-height:1.35;color:#7d8b9c}.invoices-page .panel-header.invoices-toolbar{background:#fff;padding:1rem 1.15rem 1.05rem}.invoices-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:.85rem}.invoices-toolbar-top{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.invoices-filters{display:grid;grid-template-columns:12.5rem minmax(14rem,1.5fr) repeat(5,minmax(8.5rem,1fr));gap:.5rem;padding:.55rem;border:1px solid #e8edf3;border-radius:12px;background:#f6f8fb}.invoices-filters .select,.invoices-filters .input{width:100%;min-width:0}@media(max-width:1180px){.invoices-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}.invoices-table-wrap{width:100%;overflow-x:auto}.invoices-table{width:100%;min-width:1080px;border-collapse:collapse}.invoices-table th,.invoices-table td{padding:.72rem .85rem;vertical-align:middle;border-bottom:1px solid #eef2f6;white-space:nowrap;font-size:.84rem;color:#243044}.invoices-table thead th{padding:.62rem .85rem;background:#f7f9fb;color:#7d8b9c;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.invoices-table tbody tr:last-child td{border-bottom:0}.invoices-table tbody tr:hover td{background:#f8fafc}.invoices-table tbody tr.is-absent td{background:#fffdf8}.invoices-table tbody tr.is-emission-overdue td{background:#fffaf2}.invoices-table tbody tr.is-emission-overdue td:first-child{box-shadow:inset 3px 0 #c58a12}.invoices-table .is-num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--brand-navy)}.invoices-table .is-actions{width:6.4rem;text-align:right}.invoices-client-name{display:block;max-width:18rem;overflow:hidden;text-overflow:ellipsis;font-weight:650;color:var(--brand-navy)}.invoices-client-name:hover{color:var(--brand-green)}.invoices-client-meta,.invoices-note{display:block;margin-top:.16rem;max-width:18rem;overflow:hidden;text-overflow:ellipsis;font-size:.74rem;font-weight:500;color:#8b97a8}.invoices-uc,.invoices-date{color:#5b6b7f;font-variant-numeric:tabular-nums}.invoices-status{display:flex;flex-wrap:wrap;gap:.28rem}.invoice-actions{display:inline-flex;justify-content:flex-end}.invoice-actions-trigger{display:inline-flex;align-items:center;gap:.32rem;margin:0;padding:.28rem .55rem;border:1px solid #d5dde8;border-radius:8px;background:#fff;color:#334155;font-size:.76rem;font-weight:650;cursor:pointer}.invoice-actions-trigger:hover,.invoice-actions-trigger.is-open{border-color:#b7c3d4;background:#f8fafc;color:var(--brand-navy)}.invoice-actions-trigger:disabled{opacity:.55;cursor:not-allowed}.invoice-actions-trigger svg{transition:transform .15s ease}.invoice-actions-trigger.is-open svg{transform:rotate(180deg)}.invoice-actions-menu{position:fixed;z-index:80;min-width:11.5rem;padding:.3rem;border:1px solid #e1e7ef;border-radius:10px;background:#fff;box-shadow:0 12px 32px #10182824;transform:translate(-100%)}.invoice-actions-menu.is-up{transform:translate(-100%,-100%)}.invoice-actions-menu button,.invoice-actions-menu a{display:block;width:100%;margin:0;padding:.48rem .65rem;border:0;border-radius:7px;background:transparent;color:#243044;font-size:.82rem;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.invoice-actions-menu button:hover,.invoice-actions-menu a:hover{background:#f4f7fb;color:var(--brand-navy)}.invoice-actions-menu button:disabled{opacity:.5;cursor:not-allowed}.plant-detail{display:flex;flex-direction:column;gap:1.15rem;width:100%;max-width:none}.plant-production-tools{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.plant-production-nav,.plant-production-periods{display:inline-flex;align-items:center;gap:.1rem;background:transparent}.plant-production-nav button,.plant-production-periods button{border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.plant-production-nav button{width:1.7rem;height:1.7rem;font-size:1.05rem;line-height:1}.plant-production-nav button:hover,.plant-production-periods button:hover{color:var(--brand-navy)}.plant-production-nav button:disabled{opacity:.35;cursor:default}.plant-production-nav span,.plant-production-nav .period-date-trigger{min-width:7.2rem;padding:.2rem .45rem;text-align:center;font-size:.82rem;font-weight:700;color:var(--brand-navy);text-transform:capitalize}.plant-production-nav .period-date-trigger{width:auto;height:auto;border-radius:8px;line-height:1.3}.plant-production-nav .period-date-trigger:hover,.plant-production-nav .period-date-trigger.is-open{background:#f3f6fa;color:var(--brand-navy)}.period-date-pop{position:fixed;z-index:80;width:18.25rem;padding:.7rem .7rem .75rem;border:1px solid #e6ebf2;border-radius:14px;background:#fff;box-shadow:0 16px 40px #10182824}.period-date-head{display:grid;grid-template-columns:1.8rem 1fr 1.8rem;align-items:center;gap:.25rem;margin-bottom:.45rem}.period-date-head strong{font-size:.84rem;font-weight:650;text-align:center;text-transform:capitalize;color:var(--brand-navy)}.period-date-head button{width:1.8rem;height:1.8rem;border:0;border-radius:8px;background:transparent;color:#5b6b7f;font-size:1.05rem;line-height:1;cursor:pointer}.period-date-head button:hover:not(:disabled){background:#f3f6fa;color:var(--brand-navy)}.period-date-head button:disabled{opacity:.35;cursor:default}.period-date-week,.period-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.15rem}.period-date-week span{padding:.15rem 0 .3rem;font-size:.68rem;font-weight:650;text-align:center;text-transform:uppercase;color:#8b97a8}.period-date-grid button,.period-date-months button{border:0;border-radius:8px;background:transparent;color:var(--brand-navy);font-size:.78rem;font-weight:600;cursor:pointer}.period-date-grid button{height:2rem}.period-date-grid button:hover:not(:disabled),.period-date-months button:hover:not(:disabled){background:#f3f6fa}.period-date-grid button.is-selected,.period-date-months button.is-selected{background:var(--brand-green);color:#fff}.period-date-grid button:disabled,.period-date-months button:disabled{color:#c5cedb;cursor:default}.period-date-months{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.period-date-months button{height:2.35rem}.plant-production-periods button{padding:.28rem .55rem;font-size:.8rem;font-weight:600}.plant-production-periods button.active{color:var(--brand-green);box-shadow:inset 0 -2px 0 var(--brand-green);border-radius:0}.plant-production-sync{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;padding:0;border:0;border-radius:999px;background:#f2f5f6;color:#667085;cursor:pointer}.plant-production-sync:hover{color:var(--brand-navy);background:#e7eef0}.plant-production-sync:disabled{cursor:progress}.plant-production-sync.is-busy svg{animation:plant-production-spin .8s linear infinite}@keyframes plant-production-spin{to{transform:rotate(360deg)}}.plant-production-inline{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem 1.15rem;margin:0;padding:.35rem 1rem 0;color:var(--text-muted);font-size:.78rem}.plant-production-inline strong{color:var(--brand-navy);font-weight:700}.plant-production-metrics{display:flex;flex-wrap:wrap;gap:1.35rem 2rem;margin:0;padding:.85rem 1.35rem .15rem}.plant-production-metrics div{min-width:0;padding:0;background:none}.plant-production-metrics span{display:block;color:var(--text-muted);font-size:.75rem;font-weight:500}.plant-production-metrics strong{display:block;margin-top:.12rem;font-family:var(--display);font-size:1.05rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--brand-navy);letter-spacing:-.02em}.plant-production-bar{fill:#10b078;stroke:none;transition:opacity .15s ease}.plant-production-error{margin:.75rem 1.25rem 0}.plant-production-stage{position:relative;margin:.55rem .55rem .7rem;padding:.15rem .2rem .1rem;transition:opacity .2s ease}.plant-production-stage.is-loading{opacity:.55}.plant-production-plot,.plant-production-frame{position:relative}.plant-production-ylabels,.plant-production-xlabels{pointer-events:none}.plant-production-ylabels{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.plant-production-ylabels span,.plant-production-xlabels span{position:absolute;color:#98a2b3;font-size:.68rem;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.plant-production-ylabels span{transform:translate(-100%,-50%)}.plant-production-xlabels{position:relative;height:1rem;margin-top:.35rem}.plant-production-cursor{position:absolute;z-index:2;width:9px;height:9px;margin:-5px 0 0 -5px;border:2px solid #fff;border-radius:50%;background:#10b078;box-shadow:0 0 0 1px #10b07859;pointer-events:none}.plant-production-peak{position:absolute;z-index:1;top:.2rem;left:4.35rem;display:flex;flex-direction:column;gap:.12rem;min-width:7.4rem;padding:.55rem .75rem .55rem .85rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-sm);overflow:hidden}.plant-production-peak:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand-green)}.plant-production-peak strong{font-family:var(--display);font-size:1.2rem;font-weight:700;color:var(--brand-navy);letter-spacing:-.03em;line-height:1.1}.plant-production-peak span{font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.plant-production-empty{margin:.2rem .9rem .85rem;color:var(--text-muted)}.plant-production-chart{width:100%;height:auto;display:block;cursor:crosshair}.plant-production-grid,.plant-production-axis{stroke:#eef2f6;stroke-width:1;vector-effect:non-scaling-stroke}.plant-production-area{stroke:none}.plant-production-line{fill:none;stroke:#0f9f6e;stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.plant-production-guide{stroke:#d5dee6;stroke-width:1px;vector-effect:non-scaling-stroke}.plant-production-dot{fill:#10b078;stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke}.plant-production-plot.is-hovering .plant-production-bar{opacity:.38}.plant-production-plot.is-hovering .plant-production-bar.is-active{opacity:1}.plant-production-label{fill:#98a2b3;font-size:9px;font-weight:500;font-family:var(--font);font-variant-numeric:tabular-nums}.plant-production-xlabel{font-size:9px}.plant-production-tip{position:absolute;z-index:2;transform:translate(-50%,calc(-100% - 10px));display:flex;flex-direction:column;gap:.02rem;padding:.28rem .48rem;border-radius:6px;border:1px solid #e6ebf1;background:#fff;color:var(--brand-navy);pointer-events:none;box-shadow:0 4px 14px #10182814;white-space:nowrap}.plant-production-tip strong{font-size:.75rem;font-weight:650;color:var(--brand-navy);font-variant-numeric:tabular-nums}.plant-production-tip span{font-size:.68rem;color:var(--text-muted)}.plant-production-tip.is-below{transform:translate(-50%,14px)}.plant-production-tip.is-left{transform:translate(calc(-100% - 8px),calc(-100% - 10px))}.plant-production-tip.is-right{transform:translate(8px,calc(-100% - 10px))}.plant-production-tip.is-below.is-left{transform:translate(calc(-100% - 8px),14px)}.plant-production-tip.is-below.is-right{transform:translate(8px,14px)}.plant-production-series{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;margin:.15rem .4rem .4rem}.plant-production.panel{overflow:visible}.plant-production-series button{display:inline-flex;align-items:center;gap:.35rem;max-width:none;padding:.22rem .6rem;border:1px solid #d7dee6;border-radius:999px;background:#fff;color:#475467;font-size:.72rem;font-weight:600;cursor:pointer}.plant-production-series button.is-on{color:var(--brand-navy);background:#f4fbf8;border-color:#d7ebe3}.plant-production-series button i{flex:none;width:.55rem;height:.55rem;border-radius:50%;opacity:1}.plant-production-series button span{white-space:nowrap}.plant-production-tip span{display:flex;align-items:center;gap:.3rem}.plant-production-tip span i{width:.4rem;height:.4rem;border-radius:50%}.plant-production-legend{display:flex;justify-content:center;align-items:center;gap:.4rem;margin:.05rem 0 .35rem;font-size:.74rem;font-weight:650;color:var(--text-muted)}.plant-production-legend i{display:inline-block;width:.9rem;height:1.5px;border-radius:99px;background:#10b078}.inverter-telemetry-body{display:grid;grid-template-columns:minmax(13rem,15.5rem) minmax(0,1fr);gap:.9rem;align-items:stretch}.inverter-telemetry-side{--telemetry-accent: var(--accent);display:flex;flex-direction:column;min-height:0;border:1px solid #e8ebef;border-radius:8px;background:#f6f7f9;overflow:hidden}.inverter-telemetry-side-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.8rem .85rem;border-bottom:1px solid #e3e7ec}.inverter-telemetry-side-head strong{color:#344054;font-size:.86rem;font-weight:500}.inverter-telemetry-side-actions{display:flex;gap:.4rem}.inverter-telemetry-side-actions button{display:grid;place-items:center;width:1.4rem;height:1.4rem;padding:0;border:1px solid #e3e7ec;border-radius:50%;background:#e9ecf0;color:#475467;font-size:.82rem;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.inverter-telemetry-side-actions button:hover:not(:disabled){background:#fff;color:var(--telemetry-accent)}.inverter-telemetry-side-actions button:disabled{opacity:.45;cursor:default}.inverter-telemetry-list{max-height:22rem;overflow-y:auto;padding:.45rem .4rem .6rem;scrollbar-width:thin;scrollbar-color:#d0d5dd transparent}.inverter-telemetry-list::-webkit-scrollbar{width:6px}.inverter-telemetry-list::-webkit-scrollbar-thumb{border-radius:99px;background:#d0d5dd}.telemetry-tree-section+.telemetry-tree-section{margin-top:.2rem}.telemetry-tree-section-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .45rem .4rem;border:0;background:none;color:#344054;font-size:.82rem;font-weight:500;text-align:left;cursor:pointer}.telemetry-tree-section-head:hover{color:var(--telemetry-accent)}.telemetry-tree-chevron{flex:none;color:#98a2b3;transition:transform .18s ease}.telemetry-tree-chevron.is-down:not(.is-open){transform:rotate(-90deg)}.telemetry-tree-chevron.is-right.is-open{transform:rotate(90deg)}.telemetry-tree-nodes{padding-bottom:.2rem}.telemetry-tree-row{display:flex;align-items:center;gap:.45rem;min-height:1.75rem;padding:0 .45rem 0 .2rem;border-radius:4px;color:#475467;font-size:.78rem;cursor:pointer;transition:color .15s ease,background .15s ease}.telemetry-tree-row:hover{background:#eef0f3;color:var(--telemetry-accent)}.telemetry-tree-row.is-on{color:var(--telemetry-accent)}.telemetry-tree-toggle,.telemetry-tree-spacer{flex:none;display:grid;place-items:center;width:1rem;height:1rem;padding:0;border:0;background:none;color:#667085;cursor:pointer}.telemetry-tree-toggle:hover .telemetry-tree-chevron{color:var(--telemetry-accent)}.telemetry-tree-label{flex:1;min-width:0;overflow:hidden;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.telemetry-tree-label small{margin-left:.35rem;color:#98a2b3;font-size:.66rem}.telemetry-tree-children{margin-left:1.45rem}.telemetry-tree-row em{flex:none;color:#b0b7c3;font-size:.66rem;font-style:normal;font-weight:500}.telemetry-tree input:indeterminate{border-color:var(--telemetry-accent);background:var(--telemetry-accent)}.telemetry-tree input:indeterminate:after{content:"";width:.45rem;height:1.5px;border-radius:1px;background:#fff}.telemetry-tree input{flex:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;display:grid;place-items:center;width:.9rem;height:.9rem;margin:0;border:1px solid #d0d5dd;border-radius:3px;background:#fff;cursor:pointer;transition:background .15s ease,border-color .15s ease}.telemetry-tree-row:hover input{border-color:var(--telemetry-accent)}.telemetry-tree input:checked{border-color:var(--telemetry-accent);background:var(--telemetry-accent)}.telemetry-tree input:checked:after{content:"";width:.24rem;height:.46rem;margin-top:-.1rem;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.telemetry-tree input:focus-visible{outline:2px solid rgba(16,176,120,.35);outline-offset:1px}.inverter-telemetry-main{display:flex;flex-direction:column;min-width:0}.inverter-telemetry-main .plant-production-plot{display:flex;flex:1;flex-direction:column;min-height:18rem}.inverter-telemetry-main .plant-production-frame{flex:1;min-height:0}.inverter-telemetry .inverter-telemetry-main .plant-production-chart{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.chart-legend{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin:.15rem .2rem .5rem}.chart-legend button,.chart-legend span{display:inline-flex;align-items:center;gap:.35rem;padding:0;border:0;background:none;color:#475467;font-size:.72rem;font-weight:500}.chart-legend button{cursor:pointer;transition:color .15s ease}.chart-legend button.is-off{color:#b0b7c3}.chart-legend button.is-off i{opacity:.3}.chart-legend i{flex:none;width:.55rem;height:.55rem;border-radius:50%}.plant-production.chart-modern .plant-production-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.6rem 1rem;margin:.2rem 1rem .6rem;padding:.75rem .9rem;border-radius:8px;background:#f6f7f9}.plant-production.chart-modern .plant-production-stats div{min-width:0;padding:0;border-left:0}.plant-production.chart-modern .plant-production-stats span{color:#98a2b3;font-size:.7rem;font-weight:400}.plant-production.chart-modern .plant-production-stats strong{margin-top:.15rem;color:#1d2939;font-size:1.05rem;font-weight:600}.inverter-telemetry-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem 1rem;margin-bottom:.75rem;padding:.75rem .9rem;border-radius:8px;background:#f6f7f9}.inverter-telemetry-stats span{display:block;color:#98a2b3;font-size:.7rem}.inverter-telemetry-stats strong{display:flex;align-items:baseline;gap:.2rem;margin-top:.15rem;color:var(--brand-navy);font-size:1.05rem;font-weight:600;font-variant-numeric:tabular-nums}.inverter-telemetry-stats small{color:#475467;font-size:.72rem;font-weight:500}.inverter-telemetry-stats em{margin-left:.35rem;color:#98a2b3;font-size:.7rem;font-style:normal;font-weight:400}.inverter-telemetry-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:.1rem 0 .35rem}.inverter-telemetry-legend{display:flex;flex:1;align-items:center;gap:.75rem;min-width:0}.inverter-telemetry-legend-viewport{flex:1;min-width:0;overflow:hidden}.inverter-telemetry-legend-track{position:relative;display:flex;gap:1.1rem;width:max-content;transition:transform .28s ease}.inverter-telemetry-legend-pager{display:flex;flex:none;align-items:center;gap:.2rem;color:#667085;font-size:.7rem;font-variant-numeric:tabular-nums}.inverter-telemetry-legend-pager button{display:grid;place-items:center;width:1.3rem;height:1.3rem;padding:0;border:0;border-radius:4px;background:none;color:#475467;cursor:pointer}.inverter-telemetry-legend-pager button:hover:not(:disabled){background:#f2f4f7;color:var(--accent)}.inverter-telemetry-legend-pager button:disabled{color:#d0d5dd;cursor:default}.chart-card-tip dl::-webkit-scrollbar{width:6px}.chart-card-tip dl::-webkit-scrollbar-thumb{border-radius:99px;background:#d0d5dd}.inverter-telemetry-zoom-hint{flex:none;color:#98a2b3;font-size:.68rem;white-space:nowrap}.inverter-telemetry-zoom-reset{flex:none;padding:.15rem .55rem;border:1px solid #d7dee6;border-radius:999px;background:#fff;color:var(--brand-navy);font-size:.68rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer}.inverter-telemetry-zoom-reset:hover{background:#f4fbf8;border-color:#d7ebe3}.inverter-telemetry-frame.is-zoomed .plant-production-chart{cursor:grab}.inverter-telemetry-frame.is-dragging .plant-production-chart{cursor:grabbing}.inverter-telemetry-frame .plant-production-chart{touch-action:pan-y;-webkit-user-select:none;user-select:none}.chart-grid-dashed{stroke:#e6eaef;stroke-dasharray:4 4}.chart-baseline,.chart-axis-line{stroke:#d9dee5;stroke-width:1px;vector-effect:non-scaling-stroke}.chart-guide{stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.inverter-telemetry-frame .plant-production-cursor,.chart-modern .plant-production-cursor{width:8px;height:8px;margin:-4px 0 0 -4px;border-width:1.5px;box-shadow:0 1px 3px #10182833}.chart-card-tip{position:absolute;z-index:3;top:50%;min-width:14rem;padding:.65rem .8rem .55rem;border:1px solid rgba(228,233,239,.7);border-radius:10px;background:#ffffff8c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);box-shadow:0 10px 28px #1018281a;transform:translate(16px,-50%);pointer-events:none;display:flex;flex-direction:column;max-height:calc(100% - 8px)}.chart-card-tip.is-measured{width:max-content;max-width:calc(100% - 8px)}.chart-card-tip.is-left{transform:translate(calc(-100% - 16px),-50%)}.chart-card-tip header{padding-bottom:.45rem;margin-bottom:.4rem;border-bottom:1px solid rgba(208,215,224,.6);color:var(--brand-navy);font-size:.74rem;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.chart-card-tip header,.chart-card-tip dl{text-shadow:0 0 3px rgba(255,255,255,.9)}.chart-card-tip dl{display:flex;flex-direction:column;gap:.32rem;min-height:0;margin:0;padding-right:.2rem;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d0d5dd transparent}.chart-card-tip dl.is-columns{display:grid;grid-template-columns:repeat(2,minmax(0,auto));column-gap:1.6rem;row-gap:.32rem}.chart-card-tip footer{flex:none;margin-top:.45rem;padding-top:.35rem;border-top:1px solid rgba(208,215,224,.6);color:#98a2b3;font-size:.66rem;white-space:nowrap}.chart-card-tip dl div{display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.chart-card-tip dt{display:flex;align-items:center;gap:.45rem;color:#475467;font-size:.72rem;white-space:nowrap}.chart-card-tip dt i{flex:none;width:.5rem;height:.5rem;border-radius:50%}.chart-card-tip dd{margin:0;color:var(--brand-navy);font-size:.74rem;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.inverter-telemetry-legend-track button{display:flex;flex:none;align-items:center;gap:.35rem;padding:0;border:0;background:none;color:#475467;font-size:.72rem;font-weight:600;text-align:left;white-space:nowrap;cursor:pointer;transition:opacity .2s ease}.inverter-telemetry-legend-track button.is-hidden{opacity:0;pointer-events:none}.inverter-telemetry-legend-track button:hover span{text-decoration:line-through}.inverter-telemetry-legend i{flex:none;width:.55rem;height:.55rem;border-radius:50%}.plant-production-ylabels .chart-axis-unit{font-weight:700}.inverter-telemetry-empty{margin:1.5rem 0;text-align:center}@media(max-width:860px){.inverter-telemetry-body{grid-template-columns:minmax(0,1fr)}.inverter-telemetry-list{max-height:12rem}}.grid-flow-zero{stroke:#98a2b3;stroke-width:1px;vector-effect:non-scaling-stroke}.grid-flow-limit{stroke:#dc2626;stroke-width:1.25px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.grid-flow-limit-label{position:absolute;right:.4rem;transform:translateY(calc(-100% - 2px));color:#dc2626;font-size:.66rem;font-weight:650;pointer-events:none;white-space:nowrap}.plant-inspect .plant-production-stats .grid-flow-now strong{font-weight:650}.grid-flow-now.is-export strong{color:#b45309!important}.grid-flow-now.is-import strong{color:#1d4ed8!important}.grid-flow-alert strong{color:#dc2626!important;font-weight:650!important}.grid-flow-note{margin:0;padding:0 1rem .35rem;color:#b42318;font-size:.74rem}.plant-detail-hero{display:grid;grid-template-columns:1.4fr .9fr;gap:1.25rem;align-items:stretch;padding:1.35rem 1.5rem;border-radius:16px;border:1px solid rgba(16,176,120,.16);background:radial-gradient(1100px 280px at 0% -40%,rgba(16,176,120,.16),transparent 55%),radial-gradient(520px 180px at 100% 0%,rgba(16,24,40,.05),transparent 50%),linear-gradient(180deg,#fff,#f7faf9);box-shadow:0 1px 2px #1018280a,0 10px 28px #1018280d}.plant-detail-hero.tone-alerta,.plant-detail-hero.tone-offline{background:radial-gradient(1100px 280px at 0% -40%,rgba(214,69,69,.12),transparent 55%),linear-gradient(180deg,#fff,#faf7f7);border-color:#d645452e}.plant-detail-back{display:inline-block;margin-bottom:.45rem;font-size:.84rem;font-weight:650;color:var(--text-muted)}.plant-detail-back:hover{color:var(--brand-green)}.plant-detail-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.plant-detail-hero h1{margin:0;font-family:var(--display);font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:700;letter-spacing:-.03em;color:var(--brand-navy)}.plant-detail-uuid{margin:.4rem 0 0;font-size:.8rem;color:var(--text-muted);word-break:break-all}.plant-detail-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem}.plant-detail-hero-side{display:flex;flex-direction:column;justify-content:space-between;gap:.85rem;align-items:stretch}.plant-detail-hero-side .btn{align-self:flex-end}.plant-detail-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;padding:.7rem .85rem;border-radius:12px;font-size:.84rem;border:1px solid transparent}.plant-detail-banner button{margin-left:auto;border:0;background:transparent;color:inherit;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap}.plant-detail-banner strong{font-size:.82rem;letter-spacing:.02em;text-transform:uppercase}.plant-detail-banner.danger{background:#d6454514;border-color:#d6454547;color:var(--danger)}.plant-detail-banner.ok{background:#0f9f6e14;border-color:#0f9f6e47;color:var(--ok)}.plant-offline-banner{display:flex;flex-direction:column;gap:.55rem;padding:.65rem .8rem .7rem;border-radius:12px;background:#fff;border:1px solid rgba(214,69,69,.18);box-shadow:inset 3px 0 #d64545}.plant-offline-banner-head{display:flex;align-items:center;gap:.45rem .55rem;min-width:0}.plant-offline-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);flex:none;box-shadow:0 0 0 3px #d6454524}.plant-offline-banner-head strong{font-size:.84rem;font-weight:650;color:var(--text);letter-spacing:0;text-transform:none}.plant-offline-hint{color:var(--text-muted);font-size:.78rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plant-offline-banner-head button{margin-left:auto;border:0;background:transparent;color:var(--danger);font-size:.78rem;font-weight:650;white-space:nowrap;padding:0}.plant-offline-banner-head button:hover{text-decoration:underline}.plant-offline-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}.plant-offline-chips li{display:flex;align-items:baseline;gap:.35rem;max-width:100%;min-width:0;padding:.18rem .55rem;border-radius:999px;background:#d645450f;border:1px solid rgba(214,69,69,.14);color:var(--text);font-size:.74rem;line-height:1.35}.plant-offline-chips strong{font-weight:650;letter-spacing:0;text-transform:none;font-size:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plant-offline-chips span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.7rem;white-space:nowrap}.plant-offline-chips li:has(button){padding:0;background:transparent;border:0}.plant-offline-chips button{border:1px dashed rgba(214,69,69,.35);background:transparent;color:var(--danger);border-radius:999px;padding:.18rem .55rem;font-size:.74rem;font-weight:650;line-height:1.35}.plant-offline-chips button:hover{background:#d645450f}.plant-detail-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:1rem}.plants-list>.plant-row.is-selected,.plants-queue>article.plant-row.is-selected{background:#10b0781f;box-shadow:inset 3px 0 #10b078}.plant-inspect{position:fixed;top:66px;right:12px;bottom:12px;z-index:35;width:min(1440px,calc((100vw - 520px)*1.56));display:flex;flex-direction:column;background:#f4f7f8;border:1px solid var(--border);border-radius:12px;box-shadow:-16px 8px 40px #10182829}.plant-inspect-head{flex-shrink:0;padding:.85rem 1rem 0;background:#fff;border-bottom:1px solid var(--border)}.plant-inspect-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.plant-inspect-heading{min-width:0}.plant-inspect-name{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .55rem}.plant-inspect-head h2{margin:0;font-family:var(--display);font-size:1.2rem;font-weight:650;letter-spacing:-.03em;color:var(--brand-navy)}.plant-inspect-status{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;font-size:.72rem;font-weight:650;line-height:1.3}.plant-inspect-status.is-ok{color:#0f9f6e;background:#10b0781f}.plant-inspect-status.is-partial{color:#b54708;background:#e0a10629}.plant-inspect-status.is-offline,.plant-inspect-status.is-alerta{color:#d64545;background:#d645451a}.plant-inspect-meta{margin:.2rem 0 0;font-size:.78rem;color:var(--text-muted)}.plant-inspect-title-side{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.plant-outage-pick{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.55rem}.plant-outage-pick>span{font-size:.78rem;color:var(--text-muted);margin-right:.15rem}.plant-outage-plant{min-width:14rem;max-width:100%;height:2rem;padding:0 .55rem;font-size:.8rem}.plant-inspect-close{width:2rem;height:2rem;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font-size:1.45rem;line-height:1}.plant-inspect-close:hover{background:#1018280f;color:var(--brand-navy)}.plant-inspect-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.plant-inspect-tabs{display:flex;gap:.25rem;margin-top:.85rem;overflow-x:auto}.plant-inspect-tabs button{border:0;border-radius:999px;background:transparent;padding:.38rem .75rem;color:var(--text-muted);font-size:.82rem;font-weight:650;white-space:nowrap}.plant-inspect-tabs button.is-active{color:#0f9f6e;background:#10b0781f}.plant-inspect-body{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding:1rem 1.1rem 1.25rem}.plant-inspect-body>*{flex:0 0 auto}.plant-inspect-body>.panel{margin:0;overflow:visible}.loading-dots{display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:7.5rem}.loading-dots span{width:9px;height:9px;border-radius:50%;background:var(--brand-green);animation:loading-dot 1.05s infinite ease-in-out}.loading-dots span:nth-child(2){animation-delay:.16s}.loading-dots span:nth-child(3){animation-delay:.32s}@keyframes loading-dot{0%,70%,to{opacity:.2;transform:scale(.85)}35%{opacity:1;transform:scale(1)}}.plant-inspect-pending,.plant-production-loading{display:flex;align-items:center;justify-content:center;min-height:11rem}.plant-inspect-pending{flex:1;min-height:100%}.plant-device-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:12px;background:#fff}.plant-device-summary span{display:block;font-size:.75rem;color:var(--text-muted)}.plant-device-summary strong{display:block;margin-top:.2rem;font-family:var(--display);font-size:1.35rem;color:var(--brand-navy)}.plant-inspect .plant-production-chart{width:100%;height:220px}.plant-inspect .panel{border-radius:16px;box-shadow:0 1px 2px #1018280a}.plant-inspect .plant-production .panel-header{align-items:center;padding:.8rem 1rem .15rem;border-bottom:0;background:#fff}.plant-inspect .plant-production .dash-panel-sub{max-width:34rem}.plant-inspect .plant-production-nav,.plant-inspect .plant-production-periods{padding:.12rem;border-radius:999px;background:#f2f5f6}.plant-inspect .plant-production-periods button{border-radius:999px}.plant-inspect .plant-production-periods button.active{color:var(--brand-navy);background:#fff;border-radius:999px;box-shadow:0 1px 2px #10182814}.plant-inspect .plant-production-inline{justify-content:flex-start;gap:0;padding:.2rem 1rem .45rem}.plant-inspect .plant-production-inline span+span{margin-left:.8rem;padding-left:.8rem;border-left:1px solid var(--border)}.plant-inspect .plant-production-stage{margin:0 .7rem .55rem}.plant-inspect .plant-device-summary{gap:0;padding:0;overflow:hidden;box-shadow:0 1px 2px #1018280a}.plant-inspect .plant-device-summary div{padding:.85rem 1rem}.plant-inspect .plant-device-summary div+div{box-shadow:inset 1px 0 0 var(--border)}.plant-inspect .plant-insight-card{box-shadow:0 1px 2px #1018280a}.plant-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.plant-kpi{display:flex;align-items:flex-start;gap:.65rem;min-width:0;padding:.8rem .85rem;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 1px 2px #1018280a}.plant-kpi>i{display:grid;flex:none;place-items:center;width:2rem;height:2rem;border-radius:10px;background:#f2faf7;color:#0f9f6e}.plant-kpi span,.plant-kpi em{display:block;font-size:.72rem;font-style:normal;font-weight:500;color:#667085}.plant-kpi strong{display:block;margin-top:.08rem;font-family:var(--font);font-size:.95rem;font-weight:600;letter-spacing:-.02em;color:var(--brand-navy);font-variant-numeric:tabular-nums}.plant-kpi em{margin-top:.12rem;color:#98a2b3}.plant-inspect .plant-production-stats{display:flex;flex-wrap:wrap;gap:.35rem 0;padding:.1rem 1rem .55rem}.plant-inspect .plant-production-stats div{min-width:7rem;padding:0 1rem;border-left:1px solid #e7edf0}.plant-inspect .plant-production-stats div:first-child{padding-left:0;border-left:0}.plant-inspect .plant-production-stats span{display:block;font-size:.72rem;font-weight:500;color:#667085}.plant-inspect .plant-production-stats strong{display:block;margin-top:.08rem;font-family:var(--font);font-size:.86rem;font-weight:500;letter-spacing:0;color:#344054;font-variant-numeric:tabular-nums}.plant-inspect-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.plant-inspect-summary div{padding:.65rem .75rem;border-radius:12px;background:#fff;border:1px solid var(--border)}.plant-inspect-summary span{display:block;font-size:.72rem;color:var(--text-muted)}.plant-inspect-summary strong{display:block;margin-top:.15rem;font-family:var(--display);font-size:1.02rem;color:var(--brand-navy)}.plant-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.plant-insight-col{display:flex;flex-direction:column;gap:1rem;min-width:0}.plant-insight-card{display:flex;flex-direction:column;gap:.7rem;min-width:0;padding:.8rem .9rem .85rem;border-radius:16px;border:1px solid var(--border);background:#fff}.plant-insight-card .loading-dots{min-height:3rem}.plant-insight-card header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.plant-insight-heading{min-width:0}.plant-insight-card h3{display:flex;align-items:center;gap:.45rem;margin:0;font-family:var(--font);font-size:.9rem;font-weight:600;letter-spacing:-.01em;color:var(--brand-navy)}.plant-insight-heading p{margin:.16rem 0 0 2.2rem;font-size:.72rem;font-weight:600;color:var(--text-muted)}.plant-insight-title-icon,.plant-insight-metric>i,.plant-insight-now>i{display:grid;flex:0 0 auto;place-items:center;width:1.6rem;height:1.6rem;border-radius:8px;background:#f2faf7;color:#0f9f6e}.plant-insight-title-icon svg,.plant-insight-metric>i svg,.plant-insight-now>i svg{width:14px;height:14px}.plant-insight-card header a{margin:0;font-size:.78rem;font-weight:700;color:var(--brand-green);white-space:nowrap}.plant-insight-production{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;align-items:center}.plant-insight-now,.plant-insight-metric{display:flex;align-items:center;gap:.65rem;min-width:0}.plant-insight-metric div,.plant-insight-now div{min-width:0}.plant-insight-metric span,.plant-insight-now span,.plant-insight-gauge>span{display:block;font-size:.75rem;font-weight:500;line-height:1.25;color:#667085}.plant-insight-metric strong,.plant-insight-now strong{display:block;margin-top:.06rem;font-family:var(--font);font-size:.84rem;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1.25;color:#344054;overflow-wrap:break-word}.plant-insight-metric.is-ok strong,.plant-insight-metric.is-warn strong,.plant-insight-metric.is-danger strong{display:flex;align-items:center;gap:.35rem}.plant-insight-dot{width:.45rem;height:.45rem;border-radius:50%;background:#98a2b3}.plant-insight-metric.is-ok .plant-insight-dot{background:#10b078}.plant-insight-metric.is-warn .plant-insight-dot{background:#e0a106}.plant-insight-metric.is-danger .plant-insight-dot{background:#d64545}.plant-insight-gauge{display:flex;flex-direction:column;align-items:center;gap:.28rem;justify-self:center}.plant-insight-ring{position:relative;width:52px;height:52px;display:grid;place-items:center;text-align:center}.plant-insight-ring svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.plant-insight-ring-track,.plant-insight-ring-value{fill:none;stroke-width:5}.plant-insight-ring-track{stroke:#e7eef0}.plant-insight-ring-value{stroke:#10b078;stroke-linecap:round}.plant-insight-ring strong{position:relative;margin:0;font-family:var(--font);font-size:.86rem;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:0;color:#344054}.plant-insight-energy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem .75rem;margin:0;padding-top:.65rem;border-top:1px solid #eef2f4}.plant-insight-install,.plant-insight-eco,.plant-insight-climate-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.55rem .75rem;margin:0}.plant-insight-climate-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.7rem}.plant-insight-card--climate h3{font-family:var(--font);font-size:.92rem;font-weight:600}.plant-insight-card--climate h3 em{margin-left:.15rem;font-family:var(--font);font-size:.7rem;font-style:normal;font-weight:500;color:#98a2b3}.plant-insight-climate-now{display:flex;align-items:center;gap:.45rem}.plant-insight-climate-now>i{display:grid;flex:none;place-items:center;width:1.85rem;height:1.85rem;border-radius:999px;background:#f2faf7;color:#e0a106}.plant-insight-climate-now>i svg{width:15px;height:15px}.plant-insight-climate-now strong{font-family:var(--font);font-size:1.15rem;font-weight:600;letter-spacing:-.02em;color:var(--brand-navy)}.plant-insight-climate-now span{color:#667085;font-size:.8rem;font-weight:500}.plant-insight-climate .plant-insight-metric span{font-size:.7rem;font-weight:500}.plant-insight-climate .plant-insight-metric strong{font-size:.84rem;font-weight:500}.plant-insight-climate>p,.plant-insight-empty{margin:.7rem 0 0;padding-top:.6rem;border-top:1px solid #eef2f4;font-size:.72rem;font-weight:500;color:#98a2b3;line-height:1.4}.plant-insight-empty{margin:0;padding-top:0;border-top:0;font-size:.84rem;color:var(--text-muted)}.plant-insight-card>.plant-insight-empty{margin:0}@media(max-width:960px){.plant-inspect{left:12px;width:auto}.plant-inspect-summary,.plant-insight-grid,.plant-insight-production,.plant-insight-energy,.plant-insight-eco,.plant-insight-install,.plant-insight-climate-metrics,.plant-kpi-row{grid-template-columns:1fr}}.plant-section-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.plant-section-card{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.95rem 1rem 1rem;text-align:left;border-radius:14px;border:1px solid var(--border);background:#fff;box-shadow:0 1px 2px #1018280a;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.plant-section-card:hover{border-color:#10b07873;box-shadow:0 8px 22px #1018280f}.plant-section-card span{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-green)}.plant-section-card strong{font-family:var(--display);font-size:1.02rem;font-weight:700;letter-spacing:-.02em;color:var(--brand-navy)}.plant-section-card em{font-style:normal;font-size:.8rem;color:var(--text-muted)}.plant-section-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:.75rem;background:#1018287a}.plant-section-modal{display:flex;flex-direction:column;width:min(1280px,calc(100vw - 1.5rem));height:calc(100vh - 1.5rem);overflow:hidden;border-radius:16px;border:1px solid var(--border);background:#fff;box-shadow:0 22px 60px #0f172a47}.plant-section-modal-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;border-bottom:1px solid var(--border);background:#f7faf9}.plant-section-modal-bar p{margin:0;font-family:var(--display);font-size:.95rem;font-weight:700;color:var(--brand-navy)}.plant-section-modal-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.plant-section-modal-body>.panel,.plant-section-modal-body>.plant-invoices{flex:1;min-height:0;margin:0;display:flex;flex-direction:column;overflow:hidden;border:0;border-radius:0;box-shadow:none}.plant-section-modal-body>.panel>.panel-header{flex-shrink:0}.plant-section-modal-body .topology-wrap,.plant-section-modal-body .plant-invoices-table-wrap,.plant-section-modal-body .plant-alert-timeline,.plant-section-modal-body .plant-production-stage{flex:1;min-height:0;overflow:auto}.plant-section-modal-body .plant-alert-timeline{max-height:none}.plant-section-modal-body .hybrid-topology,.plant-section-modal-body .hybrid-topology.topo-shell{min-height:420px;height:100%}.plant-invoices{margin-top:.15rem}.plant-invoices-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.plant-extra-toggle{opacity:.72}.plant-extra-toggle:hover{opacity:1}.plant-extra-form{margin:0 .9rem 1rem;padding:.9rem;border:1px solid var(--border, #d8dde6);border-radius:8px;background:color-mix(in srgb,var(--panel, #fff) 92%,#e8eef6)}.plant-extra-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.plant-extra-form-grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem}.plant-extra-form-grid label>span{color:var(--muted, #667085)}.plant-extra-phone{display:flex;align-items:stretch;gap:0}.plant-extra-phone-prefix{display:inline-flex;align-items:center;padding:0 .65rem;border:1px solid var(--border, #d8dde6);border-right:0;border-radius:6px 0 0 6px;background:color-mix(in srgb,var(--panel, #fff) 80%,#dbe4f0);color:var(--muted, #667085);font-size:.85rem;font-weight:600;letter-spacing:.02em;-webkit-user-select:none;user-select:none;white-space:nowrap}.plant-extra-phone .input{border-radius:0 6px 6px 0;flex:1;min-width:0}.plant-extra-check{flex-direction:row!important;align-items:center;gap:.45rem!important;margin-top:1.4rem}.plant-extra-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.85rem}.plant-extra-units{display:flex;flex-direction:column;gap:.5rem}.plant-extra-toolbar{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.75rem;margin:0 .9rem .85rem}.plant-extra-uc-filter{min-width:0;flex:1 1 240px;margin:0}.plant-extra-toolbar-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.plant-extra-unit-chip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem;border:1px solid var(--border, #d8dde6);border-radius:8px}.plant-extra-unit-chip.active{border-color:color-mix(in srgb,var(--accent, #2f6fed) 55%,#d8dde6);background:color-mix(in srgb,var(--accent, #2f6fed) 8%,transparent)}.plant-extra-unit-chip.inactive{opacity:.65}.plant-extra-unit-select{border:0;background:transparent;text-align:left;cursor:pointer;padding:0;display:flex;flex-direction:column;gap:.15rem}.plant-extra-unit-actions{display:flex;gap:.35rem}.plant-extra-actions{display:flex;flex-wrap:wrap;gap:.3rem}.plant-uc-filter{display:flex;align-items:center;gap:.55rem;min-width:0;margin:0 1rem .75rem}.plant-uc-filter-label{flex:0 0 auto;font-size:.66rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#98a2b3}.plant-uc-filter-track{display:flex;flex-wrap:wrap;gap:.15rem;min-width:0;flex:1;padding:.16rem;border-radius:14px;background:#f2f5f6}.plant-uc-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;border-radius:999px;padding:.28rem .72rem;display:inline-flex;align-items:baseline;gap:.35rem;max-width:16rem;cursor:pointer;white-space:nowrap;color:#667085;font:inherit;font-size:.74rem;font-weight:600}.plant-uc-chip strong{font-weight:700;color:inherit}.plant-uc-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:#98a2b3}.plant-uc-chip.is-on{background:#fff;color:var(--brand-navy);box-shadow:0 1px 2px #10182814}.plant-uc-chip.is-on span{color:#667085}.plant-uc-chip.is-paused:not(.is-on){opacity:.62}.plant-uc-chip:disabled{cursor:not-allowed}.plant-invoices-table-wrap{min-width:0;margin:0 1rem .85rem;width:calc(100% - 2rem);overflow-x:auto;border:1px solid #e6ebf1;border-radius:14px;background:#fff}.plant-invoices-table{width:100%;min-width:0;border-collapse:collapse}.plant-invoices-table th,.plant-invoices-table td{padding:.42rem .55rem;border-bottom:1px solid #eef2f6;font-size:.75rem;font-weight:500;color:#344054;white-space:nowrap;vertical-align:middle}.plant-invoices-table th{position:sticky;top:0;z-index:1;background:#f8fafb;color:#98a2b3;font-size:.66rem;font-weight:650;letter-spacing:.03em;text-transform:uppercase}.plant-invoices-table tbody tr:last-child td{border-bottom:0}.plant-invoices-table tbody tr:hover td{background:#f7fbf9}.plant-invoices-table td strong{display:block;font-size:.8rem;font-weight:650;color:var(--brand-navy)}.plant-invoices-table .badge{padding:.08rem .38rem;border-radius:999px;font-size:.66rem;font-weight:650}.plant-inspect .plant-invoices{min-width:0;overflow:hidden}.plant-invoices-table .plant-invoice-kwh{white-space:nowrap;font-variant-numeric:tabular-nums}.plant-invoice-actions-cell{width:1%;white-space:nowrap;vertical-align:middle}.plant-invoice-options-btn{min-width:0;padding:.22rem .55rem}.plant-invoice-options-menu{position:fixed;z-index:80;display:flex;flex-direction:column;gap:.15rem;padding:.35rem;border-radius:10px;border:1px solid var(--border-strong);background:#fff;box-shadow:0 10px 28px #0f172a29}.plant-invoice-options-item{display:block;width:100%;text-align:left;padding:.45rem .65rem;border:0;border-radius:7px;background:transparent;color:var(--text);font:inherit;font-size:.84rem;cursor:pointer}.plant-invoice-options-item:hover:not(:disabled){background:#f4f7fa}.plant-invoice-options-item.primary{color:var(--primary, #1d4f7a);font-weight:600}.plant-invoice-options-item.danger{color:var(--danger)}.plant-invoice-options-item:disabled{opacity:.45;cursor:not-allowed}.plant-invoices-more{display:flex;justify-content:center;padding:.35rem .9rem 1rem}.plant-invoices-more-btn{min-width:12rem}.report-preview-backdrop{z-index:90;padding:1rem;backdrop-filter:none;-webkit-backdrop-filter:none}.report-preview-modal{width:min(920px,100%);height:min(92vh,1100px);max-height:92vh;padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.65rem;overflow:hidden}.report-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.report-preview-actions{display:flex;gap:.4rem;flex-shrink:0}.report-preview-frame{flex:1 1 auto;width:100%;min-height:0;border:1px solid var(--border);border-radius:10px;background:#525659}.muted.tiny{font-size:.72rem;margin-top:.15rem}.plant-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.9rem}.plant-info-item{padding:.7rem .8rem;border-radius:8px;border:1px solid var(--border);background:#f8fafc}.plant-info-item.wide{grid-column:1 / -1}.plant-info-item span{display:block;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.plant-info-item strong{display:block;margin-top:.3rem;font-size:.92rem;font-weight:650;color:var(--brand-navy);word-break:break-word}.plant-alert-timeline{display:flex;flex-direction:column;gap:0;padding:.35rem 0 0;max-height:640px;overflow-y:auto}.plant-alert-timeline .alert-compact{border:0;border-radius:0;border-bottom:1px solid #e8edf3;box-shadow:none}.plant-alert-timeline .plants-empty-state{margin:.85rem}.plant-alert-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;justify-content:flex-end}.plant-alert-toolbar .select{min-width:10.5rem;padding:.35rem .55rem;font-size:.84rem}.plant-alert-item{padding:.75rem .85rem;border-radius:8px;border:1px solid var(--border);background:#fff}.plant-alert-item.open{border-color:#d6454538;background:linear-gradient(90deg,#d645450d,#fff 40%)}.plant-alert-item.resolved{opacity:.78}.plant-alert-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.plant-alert-head time{font-size:.76rem;color:var(--text-muted);white-space:nowrap}.plant-alert-item p{margin:0;font-size:.86rem;line-height:1.4;color:var(--text)}.plant-alert-sn{display:inline-block;margin-top:.4rem;font-size:.74rem;font-weight:650;color:var(--text-muted)}.plant-alert-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.55rem}.plant-alert-foot .plant-alert-sn{margin-top:0}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;justify-content:flex-end;background:#1018286b}.drawer-panel{width:min(560px,100vw);height:100%;overflow:auto;background:var(--bg, #fff);box-shadow:-12px 0 40px #1018282e;display:flex;flex-direction:column}.alert-snapshot-drawer{width:min(640px,100vw)}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.2rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg, #fff);z-index:1}.drawer-header h2{margin:.15rem 0 .2rem;font-size:1.15rem}.drawer-kicker{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.drawer-body{padding:1rem 1.2rem 1.6rem;display:flex;flex-direction:column;gap:.9rem}.alert-snapshot-drawer .drawer-header{align-items:center;padding:.95rem 1.1rem}.alert-snapshot-drawer .drawer-header>div{min-width:0}.alert-snapshot-drawer .drawer-header h2{font-size:1.05rem;line-height:1.25;overflow-wrap:anywhere}.alert-snapshot-drawer .drawer-body{gap:.75rem;padding:.9rem 1.1rem 1.4rem}.alert-snapshot-drawer .topo-metrics{gap:.4rem}.alert-snapshot-drawer .topo-metric{padding:.5rem .6rem}.alert-snapshot-drawer .topo-metric strong{display:block;font-size:.84rem;overflow:visible;overflow-wrap:anywhere;-webkit-line-clamp:unset}.alert-snapshot-drawer .climate-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.alert-snapshot-message{margin:0;padding:.7rem .8rem;border-radius:10px;border:1px solid var(--border);background:#f8fafc;font-size:.88rem;line-height:1.45}.alert-snapshot-plant-inverters{margin-top:.7rem}.alert-snapshot-inv-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:start;padding:.5rem .6rem;border:1px solid var(--border);border-radius:8px;background:#fff}.alert-snapshot-inv-row strong{display:block;font-size:.84rem;overflow-wrap:anywhere}.alert-snapshot-inv-row .muted{display:block;margin-top:.12rem;font-size:.78rem;line-height:1.35}.alert-snapshot-mppts{display:flex;flex-direction:column;gap:.5rem}.alert-snapshot-mppt{border:1px solid var(--border);border-radius:10px;padding:.6rem .7rem;background:#fff}.alert-snapshot-mppt.is-focus,.alert-snapshot-mppt li.is-focus{border-color:#d6454573;background:#d645450d;box-shadow:inset 3px 0 #d64545a6}.alert-snapshot-mppt header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:.35rem .8rem;margin-bottom:.45rem}.alert-snapshot-mppt header .muted{text-align:right;font-size:.8rem;font-variant-numeric:tabular-nums}.alert-snapshot-mppt ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.alert-snapshot-mppt li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem .75rem;padding:.42rem .5rem;border-radius:8px;border:1px solid rgba(16,24,40,.06);background:#f8fafc;font-size:.84rem}.alert-snapshot-mppt li strong{display:block}.alert-snapshot-mppt li>span:last-child{text-align:right;font-size:.8rem;font-variant-numeric:tabular-nums;white-space:nowrap}.alert-snapshot-drawer .drawer-header .btn{flex-shrink:0}@media(max-width:520px){.alert-snapshot-drawer .climate-metrics,.alert-snapshot-mppt header,.alert-snapshot-mppt li,.alert-snapshot-inv-row{grid-template-columns:1fr}.alert-snapshot-mppt header .muted,.alert-snapshot-mppt li>span:last-child{text-align:left;white-space:normal}}.btn:disabled{opacity:.45;cursor:not-allowed}.kv{display:grid;grid-template-columns:140px 1fr;gap:.4rem .8rem;padding:1rem 1.15rem}.kv dt{color:var(--text-muted);font-size:.85rem}.kv dd{margin:0}.topology-wrap{padding:0;overflow-x:auto}.plant-device-list-wrap{margin:0 1rem 1rem}.plant-device-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem;font-size:.78rem}.plant-device-list{border:1px solid #e6ebf1;border-radius:14px;background:#fff;overflow:hidden}.plant-device-list-head,.plant-device-row{display:grid;grid-template-columns:minmax(8.5rem,1.15fr) 4.2rem minmax(7rem,1.35fr) 6.5rem 7rem;align-items:center;column-gap:.75rem}.plant-device-list-head{padding:.48rem 1rem;background:#f8fafb;color:#98a2b3;font-size:.66rem;font-weight:650;letter-spacing:.03em;text-transform:uppercase}.plant-device-list-head span:nth-child(2),.plant-device-status{justify-self:center}.plant-device-list-head span:nth-child(n+4),.plant-device-num{justify-self:end;text-align:right}.plant-device-row{width:100%;border:0;border-top:1px solid #eef2f6;background:#fff;padding:.72rem 1rem;text-align:left;cursor:pointer;font:inherit;color:var(--brand-navy)}.plant-device-row:hover{background:#f7fbf9}.plant-device-id strong{display:block;font-size:.82rem;font-weight:650;color:var(--brand-navy)}.plant-device-id small{display:block;margin-top:.08rem;color:#667085;font-size:.75rem;font-weight:500}.plant-device-model{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:#344054}.plant-device-num{font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:600;color:#101828}.plant-device-num small{margin-left:.22rem;font-size:.68rem;font-weight:600;color:#98a2b3}.plant-device-status{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem}.plant-device-back{display:inline-flex;align-items:center;gap:.2rem;margin:0 0 .35rem;padding:0;border:0;background:transparent;color:#667085;font:inherit;font-size:.78rem;font-weight:650;cursor:pointer}.plant-device-back:hover{color:var(--brand-navy)}.hybrid-topology.topo-shell.is-detail{grid-template-columns:1fr}.hybrid-topology.topo-shell.is-detail .topo-sidebar{display:none}.inverter-overview{display:flex;flex-direction:column;gap:.75rem;margin:0 0 .75rem}.inverter-card{border:1px solid #e6ebf1;border-radius:14px;background:#fff;overflow:hidden}.inverter-card>h3,.inverter-links>summary,.inverter-fold>summary{margin:0;padding:.75rem 1rem;border-bottom:1px solid #eef2f6;color:var(--brand-navy);font-size:.92rem;font-weight:650}.inverter-links>summary,.inverter-fold>summary{cursor:pointer;list-style:none}.inverter-links>summary::-webkit-details-marker,.inverter-fold>summary::-webkit-details-marker{display:none}.inverter-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.inverter-fold>summary:after{content:"";width:.42rem;height:.42rem;border-right:1.6px solid #98a2b3;border-bottom:1.6px solid #98a2b3;transform:rotate(45deg);transition:transform .15s ease}.inverter-fold[open]>summary:after{transform:rotate(-135deg)}.inverter-fold:not([open])>summary{border-bottom:0}.inverter-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem 1.25rem;padding:.9rem 1rem 1rem}.inverter-fields p{display:flex;flex-direction:column;gap:.15rem;margin:0;min-width:0}.inverter-fields span{color:#98a2b3;font-size:.72rem;font-weight:600}.inverter-fields strong{color:#344054;font-size:.84rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inverter-card-empty{margin:0;padding:.9rem 1rem 1rem;color:#98a2b3;font-size:.8rem}.inverter-flow{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(9.5rem,.85fr) minmax(0,1fr);gap:.35rem .85rem;align-items:center;padding:.55rem .85rem .9rem}.inverter-flow-cc,.inverter-flow-ca{min-width:0}.inverter-flow-head,.inverter-flow-row{display:grid;grid-template-columns:minmax(5.6rem,1.2fr) repeat(3,minmax(3.2rem,.7fr));gap:.3rem .55rem;align-items:center}.inverter-flow-cc.has-day .inverter-flow-head,.inverter-flow-cc.has-day .inverter-flow-row{grid-template-columns:minmax(5.6rem,1.15fr) repeat(4,minmax(3.4rem,.72fr))}.inverter-flow-head{padding:0 .35rem .3rem;color:#98a2b3;font-size:.66rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase}.inverter-flow-head span:nth-child(2){color:#667085}.inverter-flow-head span:first-child,.inverter-flow-row strong{text-align:left}.inverter-flow-head span:not(:first-child),.inverter-flow-row>span{text-align:right;white-space:nowrap}.inverter-mppt{padding:.28rem .4rem .32rem;border-radius:10px;background:#f8fafb}.inverter-mppt+.inverter-mppt{margin-top:.35rem}.inverter-mppt-title{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.08rem;padding:.05rem .1rem .22rem;border-bottom:1px solid #e6ebf1}.inverter-mppt-title strong{color:var(--brand-navy);font-size:.78rem;font-weight:700}.inverter-mppt-title em{color:#344054;font-style:normal;font-size:.72rem;font-weight:650;white-space:nowrap}.inverter-mppt-power{margin-left:auto;color:var(--brand-navy);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.inverter-flow-cc .inverter-flow-row{padding-left:.2rem}.inverter-flow-row{padding:.12rem .1rem;color:#344054;font-size:.78rem;font-variant-numeric:tabular-nums}.inverter-flow-row strong{display:flex;flex-direction:row;align-items:baseline;gap:.35rem;min-width:0;color:var(--brand-navy);font-size:.78rem;font-weight:650;white-space:nowrap}.inverter-flow-row strong small{color:#667085;font-size:.68rem;font-weight:600}.inverter-volt{color:var(--brand-navy);font-weight:700}.inverter-flow-row.is-off,.inverter-flow-row.is-off strong,.inverter-flow-row.is-off strong small,.inverter-flow-row.is-off .inverter-volt{color:#98a2b3;font-weight:600}.inverter-flow-row.is-empty,.inverter-mppt.is-empty .inverter-mppt-title strong,.inverter-mppt.is-empty .inverter-mppt-title em,.inverter-mppt.is-empty .inverter-mppt-power{text-decoration-line:line-through;text-decoration-style:dashed;text-decoration-color:#98a2b3;text-decoration-thickness:1px}.inverter-flow-row.is-empty strong,.inverter-flow-row.is-empty strong small,.inverter-flow-row.is-empty>span{text-decoration-line:line-through;text-decoration-style:dashed;text-decoration-color:#98a2b3}.inverter-flow-row.has-reading>span,.inverter-flow-row.has-reading .inverter-volt{color:#b54708;font-weight:700}.inverter-flow-mid{display:flex;align-items:center;justify-content:center;min-width:0}.inverter-flow-art{width:100%;height:3.6rem;overflow:visible}.inverter-flow-track,.inverter-flow-energy{fill:none;stroke-linecap:butt;stroke-width:7}.inverter-flow-track{stroke:#e7ebf0}.inverter-flow-track-out{stroke:#f3f5f7}.inverter-flow-energy,.inverter-flow-energy-out{stroke:#d0d5dd;stroke-dasharray:10 8}.inverter-flow.is-live .inverter-flow-energy{stroke:#10b078;animation:inverter-flow-move .7s linear infinite}.inverter-flow.is-live .inverter-flow-energy-out{stroke:#8fd9bf;animation:inverter-flow-move .7s linear infinite}.inverter-flow-box{fill:#fff;stroke:#d0d5dd;stroke-width:1.6}.inverter-flow.is-live .inverter-flow-box,.inverter-flow.is-live .inverter-flow-nub{stroke:#10b078}.inverter-flow-nub{fill:#fff;stroke:#d0d5dd;stroke-width:1.6}.inverter-flow-label{fill:#344054;font-size:11px;font-weight:700;text-anchor:middle;font-family:Inter,system-ui,sans-serif}@keyframes inverter-flow-move{to{stroke-dashoffset:-36}}@media(max-width:980px){.inverter-flow{grid-template-columns:1fr;align-items:stretch}.inverter-flow-art{height:3.2rem}}.inverter-overview .plant-production{margin:0;border:1px solid #e6ebf1;border-radius:14px;box-shadow:none}.inverter-links .hybrid-preview,.inverter-links .unilinear,.inverter-links .topo-canvas{padding:.6rem .4rem .8rem}@media(max-width:860px){.inverter-fields{grid-template-columns:1fr}}.hybrid-topology.topo-shell,.hybrid-topology{display:grid;grid-template-columns:260px 1fr;gap:.95rem;min-height:420px;padding:0}.topo-sidebar.inverter-list,.inverter-list{display:flex;flex-direction:column;gap:.45rem;max-height:720px;overflow-y:auto;padding:.7rem;border-radius:12px;border:1px solid var(--border);background:linear-gradient(180deg,#f8fafc,#fff)}.inverter-list-header{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700;padding:0 .15rem .45rem;border-bottom:1px solid var(--border);margin-bottom:.2rem}.inverter-list-header em{font-style:normal;font-family:var(--display);font-size:.9rem;color:var(--brand-navy)}.inverter-list-item{position:relative;display:flex;gap:.65rem;align-items:flex-start;text-align:left;width:100%;padding:.7rem .75rem;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.inverter-list-item:hover{border-color:#10b07866;box-shadow:var(--shadow-sm)}.inverter-list-item.active{background:var(--accent-soft);border-color:#10b07873}.inverter-list-item.active:not(.has-alert):not(.has-hotspot){box-shadow:inset 3px 0 0 var(--brand-green)}.inverter-list-item.has-alert{border-color:#d6454573;background:linear-gradient(90deg,#d6454512,#fff 55%);box-shadow:inset 3px 0 #d64545}.inverter-list-item.has-hotspot{border-color:#d9770680;background:linear-gradient(90deg,#d977061a,#fff 55%);box-shadow:inset 3px 0 #d97706}.inverter-list-item.has-alert.has-hotspot{border-color:#d6454580;background:linear-gradient(90deg,#d6454514,#d977061a 42%,#fff 72%);box-shadow:inset 3px 0 #d64545,inset 7px 0 #d97706}.inverter-list-item.active.has-alert{box-shadow:inset 3px 0 #d64545}.inverter-list-item.active.has-hotspot:not(.has-alert){box-shadow:inset 3px 0 #d97706}.inverter-list-item.active.has-alert.has-hotspot{box-shadow:inset 3px 0 #d64545,inset 7px 0 #d97706}.topo-side-badges{position:absolute;top:.45rem;right:.5rem;display:flex;flex-direction:column;align-items:flex-end;gap:.22rem}.topo-side-badge{position:static;font-size:.62rem!important;padding:.1rem .35rem!important}.topo-hotspot-note{margin:0 0 .75rem;padding:.55rem .7rem;border-radius:8px;background:#d9770614;color:#9a3412;font-size:.82rem;line-height:1.4}.unilinear-legend-hotspot{color:#b45309!important;font-weight:600}.unilinear-legend-opt-off{color:#4a657a;font-weight:600}.unilinear-legend-opt-off:before{content:"";display:inline-block;width:.55rem;height:.55rem;margin-right:.35rem;border-radius:999px;background:#6b8cae;vertical-align:middle}.topo-metric strong.opt-off-text{color:#4a657a}.inverter-list-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0;padding-right:2.4rem}.inverter-list-copy strong{font-size:.9rem;font-family:var(--display);color:var(--brand-navy)}.inverter-list-copy small{color:var(--text-muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inverter-list-copy small.inverter-list-plant{color:var(--brand-navy);font-weight:600;font-size:.8rem}.status-dot{width:10px;height:10px;border-radius:50%;margin-top:0;flex-shrink:0;background:var(--ok);box-shadow:0 0 0 4px #0f9f6e1f}.status-dot.warn{background:var(--warn);box-shadow:0 0 0 3px #c58a1224}.status-dot.pending{background:#b45309;box-shadow:0 0 0 3px #b4530929}.status-dot.off{background:var(--danger);box-shadow:0 0 0 3px #d6454524}.status-dot.opt_off{background:#6b8cae;box-shadow:0 0 0 3px #6b8cae33}.inverter-list-item.has-opt-off:not(.has-alert){border-color:#6b8cae73;background:linear-gradient(90deg,#6b8cae1a,#fff 42%)}.hybrid-preview.topo-main,.hybrid-preview{display:flex;flex-direction:column;gap:.85rem;min-width:0;overflow:hidden;padding:.85rem;border-radius:12px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow-sm)}.hybrid-preview.topo-main:has(.mode-optimizer){overflow:visible}.hybrid-preview-header.topo-toolbar,.hybrid-preview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.topo-kicker{margin:0 0 .2rem;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-green)}.hybrid-preview-header h3{margin:0;font-family:var(--display);font-size:1.15rem;color:var(--brand-navy);letter-spacing:-.02em}.hybrid-preview-header p{margin:.25rem 0 0}.topo-auto{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .65rem;border-radius:8px;border:1px solid var(--border-strong);background:#f8fafc;font-size:.82rem;font-weight:650;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.topo-auto.on{color:var(--brand-green);border-color:#10b07859;background:#10b07814}.topo-live-error{margin:0;padding:.55rem .75rem;border-radius:8px;border:1px solid rgba(197,138,18,.3);background:#c58a1214;color:var(--warn);font-size:.84rem;font-weight:600}.link-stage{position:relative;margin:.65rem;border-radius:14px;overflow:hidden;color:var(--brand-navy);background:#f8fafb;border:1px solid #eef2f6}.link-sync{position:absolute;top:.7rem;right:.8rem;z-index:1;padding:.16rem .5rem;border-radius:999px;border:1px solid #e6ebf1;background:#fff;color:#667085;font-size:.68rem;font-weight:700}.link-sync.is-live{color:var(--ok);border-color:#0f9f6e47;background:#10b07814}.link-scroll{overflow-x:auto;padding:1rem .85rem 1.15rem}.link-board{margin:0 auto}.link-hero{display:flex;align-items:center;justify-content:center;gap:1.15rem;min-height:188px}.link-art{width:118px;height:auto;flex:0 0 auto;filter:drop-shadow(0 8px 14px rgba(16,24,40,.08))}.link-id{width:min(320px,100%);padding:.85rem .95rem .8rem;border-radius:14px;border:1px solid #e6ebf1;background:#fff;box-shadow:none}.link-id header{display:flex;align-items:flex-start;gap:.55rem}.link-id header strong{display:block;color:var(--brand-navy);font-size:1.02rem;font-weight:750}.link-id header small,.link-copy small,.link-id-metrics span{display:block;color:#667085;font-size:.75rem}.link-dot{width:.55rem;height:.55rem;margin-top:.35rem;border-radius:999px;background:var(--brand-green);box-shadow:0 0 0 4px #10b07824;flex:0 0 auto}.link-dot.is-off{background:#98a2b3;box-shadow:none}.link-dot.is-alert{background:#f07167;box-shadow:0 0 0 4px #f0716729}.link-dot.is-wait{background:#f5b942;box-shadow:none}.link-id-metrics{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:end;margin-top:.8rem;padding-top:.75rem;border-top:1px solid #eef2f6}.link-id-metrics strong{display:block;margin-top:.12rem;color:var(--brand-navy);font-size:1.45rem;font-weight:750;letter-spacing:-.03em}.link-fan{display:block;margin-top:.15rem}.link-cols{display:flex;align-items:flex-start;margin:0 auto}.link-col{min-width:0}.link-mppt,.link-leaf{display:flex;width:100%;margin:0;padding:.72rem .75rem .65rem;border-radius:12px;border:1px solid #e6ebf1;background:#fff;box-shadow:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.link-mppt{flex-direction:column;align-items:stretch;gap:.45rem}.link-mppt-head{display:flex;align-items:flex-start;gap:.6rem}.link-mppt.is-focused,.link-leaf.is-focused{border-color:#10b0788c;box-shadow:0 0 0 1px #10b07859}.link-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--brand-green);background:#10b0781a;flex:0 0 auto}.link-copy{display:flex;flex-direction:column;gap:.08rem;min-width:0}.link-copy strong{color:var(--brand-navy);font-size:.92rem;font-weight:750}.link-status{display:inline-flex;align-items:center;gap:.32rem;margin-top:.2rem;color:var(--ok);font-size:.72rem;font-weight:700}.link-status i{width:.42rem;height:.42rem;border-radius:999px;background:currentColor}.link-status.is-off{color:#98a2b3}.link-status.is-alert{color:#d64545}.link-status.is-wait{color:#b54708}.link-status.is-opt{color:#4a657a}.link-id-metrics .link-status{margin-top:.28rem;padding:.16rem .5rem .16rem .4rem;border-radius:999px;background:#10b0781a}.link-id-metrics .link-status.is-off,.link-id-metrics .link-status.is-wait{background:#f2f4f7}.link-id-metrics .link-status.is-alert{background:#d645451a}.link-split{display:block;width:100%;height:18px}.link-leaves{display:grid;grid-template-columns:repeat(var(--n, 2),minmax(0,1fr));gap:.45rem}.link-stack{display:flex;flex-direction:column;gap:.45rem;margin-top:.55rem;padding-left:.7rem;border-left:2px solid var(--brand-green)}.link-leaf{flex-direction:column;gap:.45rem;min-width:0}.link-leaf-top{display:flex;align-items:flex-start;gap:.5rem}.link-meters{display:flex;flex-direction:column;gap:.28rem;width:100%;margin:.15rem 0 0}.link-meters div{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding-top:.32rem;border-top:1px solid #eef2f6}.link-meters dt{color:#667085;font-size:.7rem;font-weight:600}.link-meters dd{margin:0;color:var(--brand-navy);font-size:.84rem;font-weight:750}.link-mppt.is-empty,.link-leaf.is-empty{border-style:dashed;opacity:.78}.link-mppt.is-empty strong,.link-mppt.is-empty small,.link-mppt.is-empty dd,.link-leaf.is-empty strong,.link-leaf.is-empty small,.link-leaf.is-empty dd{text-decoration:line-through dashed #98a2b3}.link-leaf.is-opt-off{border-color:#6b8cae8c}@media(max-width:720px){.link-hero{flex-direction:column;min-height:0}.link-id-metrics strong{font-size:1.25rem}}.unilinear-wrap{display:flex;flex-direction:column;gap:.55rem;min-width:0;max-width:100%}.unilinear-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;margin:0;padding:.15rem .1rem .45rem;border:0;background:transparent;color:var(--text-muted);font-size:.78rem;line-height:1.35}.unilinear-legend strong{color:var(--brand-navy);font-weight:700;flex-shrink:0}.unilinear-legend span{min-width:0}.unilinear-legend-sync{margin-left:auto;padding:.12rem .45rem;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--text-muted);font-size:.72rem;font-weight:700;white-space:nowrap}.unilinear-legend-sync.live{color:var(--ok);border-color:#0f9f6e4d;background:#0f9f6e14}.unilinear-scroll{display:flex;justify-content:flex-start;align-items:flex-start;overflow-x:auto;overflow-y:hidden;max-width:100%;border-radius:12px;border:1px solid #e6ebf1;background:#fff;-webkit-overflow-scrolling:touch;box-shadow:none}.unilinear-svg{display:block;width:auto;max-width:none;height:auto}.unilinear-wrap.mode-string .unilinear-svg{min-width:0;min-height:0}.unilinear-wrap.mode-optimizer .unilinear-scroll{overflow-x:auto;overflow-y:auto;max-height:min(68vh,860px);overscroll-behavior:contain}.unilinear-wrap.mode-optimizer .unilinear-legend{align-items:flex-start}.unilinear-wrap.mode-optimizer .unilinear-legend-sync{margin-left:0}.hybrid-details{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;min-width:0}.node-panel-head .badge{max-width:min(100%,220px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.alert-mini-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.alert-mini-list li{display:block}.alert-mini-row{display:flex;flex-direction:column;gap:.35rem;min-width:0;padding:.6rem .7rem;border:1px solid var(--border);border-radius:10px;background:#fff}.alert-mini-row.is-open{border-color:#d6454547;background:#d645450a}.alert-mini-head{display:flex;align-items:center;gap:.4rem;min-width:0}.alert-mini-head .badge{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-mini-telem{margin-left:auto;flex-shrink:0;padding:.16rem .45rem;font-size:.72rem;line-height:1.2}.alert-mini-when{display:block;font-size:.78rem;font-weight:650;color:var(--brand-navy)}.alert-mini-msg{display:-webkit-box;margin-top:.12rem;font-size:.8rem;line-height:1.35;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.alert-mini-row .alert-jump{display:block;width:auto;min-width:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}.alert-mini-row .alert-jump:hover{background:transparent;border-color:transparent;box-shadow:none}.alert-mini-row:has(.alert-jump:hover){border-color:#d6454559}.alert-jump{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;width:100%;text-align:left;background:#fff;border:1px solid var(--border);border-radius:10px;color:inherit;padding:.65rem .7rem;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.alert-jump-static{cursor:default}.alert-jump-static:hover{border-color:var(--border);background:#fff;box-shadow:none}.alert-jump:hover{background:#d645450d;border-color:#d6454547;box-shadow:var(--shadow-sm)}.live-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;justify-content:flex-end}.climate-panel{padding:.85rem 1rem;border-radius:12px;border:1px solid var(--border);background:#f8fafc}.climate-panel p{margin:.45rem 0 0;line-height:1.45;font-size:.9rem}.climate-panel.tone-ok{border-color:#0f9f6e59;background:#0f9f6e0f}.climate-panel.tone-warn{border-color:#c58a1266;background:#c58a1212}.climate-panel.tone-info{border-color:#2f7ec859;background:#2f7ec80f}.climate-panel.tone-muted{opacity:.9}.climate-panel-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.climate-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem;margin-top:.7rem}.climate-metric{padding:.55rem .65rem;border-radius:8px;border:1px solid rgba(16,24,40,.06);background:#ffffffbf}.climate-metric span{display:block;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.climate-metric strong{display:block;margin-top:.2rem;font-family:var(--display);font-size:.95rem;color:var(--brand-navy)}.topology-layout{display:grid;grid-template-columns:1fr 280px;gap:1rem;min-height:320px}.topology-svg{width:100%;min-height:360px;border-radius:12px;border:1px solid var(--border);background-color:#eef2f6}.node-panel{padding:.9rem;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,#f8fafc,#fff)}.node-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem;flex-wrap:nowrap}.node-panel-head-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.topo-hist-filter{min-width:0;width:auto;padding:.22rem .4rem;font-size:.75rem}.node-panel h3{margin:0;flex:1;min-width:0;font-family:var(--display);font-size:.9rem;line-height:1.2;color:var(--brand-navy)}.topo-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.topo-metric{padding:.6rem .7rem;border-radius:8px;border:1px solid var(--border);background:#fff}.topo-metric.wide{grid-column:1 / -1}.topo-metric span{display:block;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.topo-metric strong{display:-webkit-box;margin-top:.25rem;font-size:.9rem;font-weight:650;color:var(--brand-navy);overflow:hidden;word-break:break-word;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical}.topo-empty-alerts{display:flex;align-items:center;gap:.55rem;padding:.85rem .7rem;border-radius:8px;border:1px dashed var(--border);background:#fff}.topo-empty-alerts p{margin:0}.crud-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;padding:1rem 1.15rem}.crud-form.compact{padding:.65rem 0}.crud-form .full{grid-column:1 / -1}.crud-field{display:flex;flex-direction:column;gap:.3rem}.crud-field.full{grid-column:1 / -1}.crud-check{display:flex;align-items:center;gap:.45rem;font-size:.9rem;color:var(--text);align-self:end;padding-bottom:.35rem}.success-banner{margin-bottom:1rem;padding:.75rem 1rem;border-radius:8px;background:#3dcf8e26;border:1px solid rgba(61,207,142,.35);color:var(--ok)}.clients-page,.cm-page{width:100%;max-width:none;display:flex;flex-direction:column;gap:1.15rem;padding-bottom:1rem;min-width:0}.cm-topo-panel,.equip-list,.equip-card,.equip-card-body,.mppt-stack{max-width:100%;min-width:0}.clients-kicker{margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-green)}.clients-hero,.cm-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.1rem 1.5rem;padding:1.35rem 1.5rem;border-radius:16px;border:1px solid rgba(16,176,120,.16);background:radial-gradient(720px 220px at 0% -30%,rgba(16,176,120,.16),transparent 55%),radial-gradient(520px 180px at 100% 0%,rgba(16,24,40,.05),transparent 50%),linear-gradient(180deg,#fff,#f5f8f7);box-shadow:0 1px 2px #1018280a,0 10px 28px #1018280d}.clients-hero-copy,.cm-hero-copy{flex:1 1 280px;min-width:0}.clients-hero h1,.cm-hero h1{margin:0;font-family:var(--display);font-size:clamp(1.55rem,2.4vw,1.9rem);font-weight:700;letter-spacing:-.03em;color:var(--brand-navy);line-height:1.15}.clients-hero-copy>p:last-child,.cm-hero-copy>p:last-child{margin:.4rem 0 0;max-width:38rem;color:var(--text-muted);font-size:.92rem;line-height:1.5}.clients-hero-cta{flex:0 0 auto}.cm-back{display:inline-flex;margin-bottom:.45rem;font-size:.78rem;font-weight:600;color:var(--text-muted);text-decoration:none}.cm-back:hover{color:var(--brand-green)}.clients-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;width:100%;padding:.85rem 1rem;border-radius:14px;border:1px solid var(--border);background:#ffffffe0;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.clients-search{flex:1 1 280px;min-width:200px}.clients-panel{width:100%;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 1px 2px #1018280a,0 12px 28px #1018280b}.clients-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.95rem 1.25rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fbfcfd,#f7f9fb)}.clients-panel-header h2{margin:0;font-family:var(--display);font-size:.95rem;font-weight:650;color:var(--brand-navy)}.clients-table{display:flex;flex-direction:column;width:100%}.clients-table-head,.clients-table-row{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(9rem,1.15fr) 7.5rem 7rem 12rem;gap:.75rem 1rem;align-items:center;padding:.85rem 1.25rem}.clients-table-head{border-bottom:1px solid var(--border);background:#f8fafb;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.clients-table-row{border-top:1px solid rgba(216,222,232,.7);background:#fff;min-height:4.6rem;transition:background .15s ease,transform .15s ease}.clients-table-row:first-of-type{border-top:none}.clients-table-row:hover{background:linear-gradient(90deg,#10b0780d,#fff 42%)}.clients-table-row.is-inactive{opacity:.78}.clients-col-name{display:flex;align-items:center;gap:.8rem;min-width:0}.clients-avatar{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2.45rem;height:2.45rem;border-radius:12px;background:linear-gradient(145deg,#10b0782e,#10b0780d),#edf7f2;border:1px solid rgba(16,176,120,.18);color:#0b7a54;font-family:var(--display);font-size:.78rem;font-weight:700;letter-spacing:.02em}.clients-name-text{display:flex;flex-direction:column;gap:.12rem;min-width:0}.clients-name-text strong{font-family:var(--display);font-size:.96rem;font-weight:650;color:var(--brand-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clients-uuid{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clients-col-provider,.clients-col-power,.clients-col-status{min-width:0}.clients-provider-pill{display:inline-flex;max-width:100%;padding:.32rem .65rem;border-radius:999px;border:1px solid rgba(16,24,40,.08);background:#f3f6f8;font-size:.76rem;font-weight:650;color:#425466;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clients-col-power{display:flex;align-items:baseline;gap:.28rem;color:var(--brand-navy)}.clients-col-power em{font-style:normal;font-family:var(--display);font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.clients-col-power span{font-size:.72rem;font-weight:650;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.clients-status{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .6rem;border-radius:999px;font-size:.76rem;font-weight:700}.clients-status i{width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.clients-status.ok{color:#0f9f6e;background:#0f9f6e1a}.clients-status.warn{color:#a87410;background:#c58a121f}.clients-col-actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:.4rem}.clients-empty{margin:1.5rem 1.25rem;padding:1.5rem;border-radius:12px;border:1px dashed var(--border-strong);background:#fbfcfd;text-align:center}.clients-empty strong{display:block;color:var(--brand-navy);font-family:var(--display)}.clients-empty p{margin:.35rem 0 0}.client-manage-actions{display:flex;gap:.65rem;align-items:flex-end;flex-wrap:wrap}.cm-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;width:100%;padding:.45rem;border-radius:16px;border:1px solid var(--border);background:#ffffffbf;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cm-tab{display:flex;align-items:center;gap:.7rem;min-height:4.1rem;padding:.7rem .85rem;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text-muted);text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.cm-tab-step{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:9px;background:#eef2f6;color:#6b7c90;font-family:var(--display);font-size:.72rem;font-weight:700}.cm-tab-copy{display:flex;flex-direction:column;gap:.1rem;min-width:0}.cm-tab strong{font-size:.9rem;font-weight:700;color:var(--brand-navy)}.cm-tab span{font-size:.72rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-tab:hover:not(:disabled){background:#10b0780f}.cm-tab.active{background:#fff;border-color:#10b07847;box-shadow:0 6px 18px #1018280f}.cm-tab.active .cm-tab-step{background:#10b07824;color:#0b7a54}.cm-tab:disabled{opacity:.42;cursor:not-allowed}.cm-provider-pick{display:flex;flex-direction:column;gap:.25rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.cm-provider-pick .select{min-width:11rem;text-transform:none;letter-spacing:0;font-weight:600;font-size:.9rem}.cm-members-wrap{display:flex;flex-direction:column;gap:.5rem}.cm-members-hint{margin:0}.cm-members{display:flex;flex-wrap:wrap;gap:.5rem}.cm-member-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--text-muted);font-size:.84rem;font-weight:600;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,color .15s ease}.cm-member-chip em{font-style:normal;font-size:.72rem;font-weight:500;opacity:.75}.cm-member-chip.active{border-color:#10b07866;background:#10b0781a;color:var(--brand-navy)}.cm-form-panel,.cm-topo-panel{width:100%;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 1px 2px #1018280a,0 12px 28px #1018280b;overflow:visible}.cm-form-panel{display:flex;flex-direction:column;gap:0}.cm-section{padding:1.35rem 1.5rem 1.45rem;border-top:1px solid rgba(216,222,232,.85)}.cm-section:first-child{border-top:0}.cm-section-head{margin-bottom:1rem}.cm-section-kicker{margin:0 0 .2rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.cm-section-head h3{margin:0;font-family:var(--display);font-size:1.08rem;color:var(--brand-navy)}.cm-section-note{grid-column:1 / -1;margin:-.15rem 0 .45rem;font-size:.84rem;color:var(--text-muted);line-height:1.45}.cm-section-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem 1.05rem;align-items:start}.cm-section-grid.compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.55rem .65rem;align-items:end}.cm-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.cm-field.full{grid-column:1 / -1}.cm-extra-phones{display:flex;flex-direction:column;gap:.45rem}.cm-extra-phones-row{display:flex;align-items:stretch;gap:.45rem}.cm-extra-phones-row .plant-extra-phone{flex:1;min-width:0}.cm-extra-phones-actions{display:flex}.cm-extra-phones-hint{margin:0;font-size:.75rem;line-height:1.35;color:var(--text-muted, #667085)}.cm-field .input,.cm-field .select{width:100%;border-radius:10px}.date-input-br{position:relative;width:100%}.date-input-br:after{content:"";position:absolute;right:.7rem;top:50%;width:.95rem;height:.95rem;transform:translateY(-50%);pointer-events:none;border:1.5px solid #8a97a8;border-radius:3px;box-sizing:border-box;background:linear-gradient(#8a97a8,#8a97a8) 20% 0 / 12% 28% no-repeat,linear-gradient(#8a97a8,#8a97a8) 68% 0 / 12% 28% no-repeat;opacity:.85;z-index:0}.date-input-br .input{width:100%;padding-right:2.4rem;position:relative;z-index:0}.date-input-br__picker{position:absolute;top:0;right:0;width:2.4rem;height:100%;margin:0;padding:0;border:0;opacity:.01;cursor:pointer;z-index:1}.date-input-br__picker::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer;opacity:0}.cm-field-label{display:flex;align-items:baseline;gap:.4rem;font-size:.78rem;font-weight:650;color:var(--text-muted)}.cm-field-label em{font-style:normal;font-size:.68rem;font-weight:500;color:#8a97a8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.cm-check{display:flex;align-items:center;gap:.45rem;font-size:.9rem;color:var(--text);align-self:end;padding-bottom:.4rem}.cm-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem;padding:1rem 1.5rem;border-top:1px solid var(--border);background:linear-gradient(180deg,#fbfcfd,#f5f7fa);position:sticky;bottom:0;z-index:2}.cm-topo-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.85rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);background:radial-gradient(520px 140px at 0% 0%,rgba(16,176,120,.1),transparent 60%),#fff}.cm-topo-header h2{margin:.15rem 0 0;font-family:var(--display);font-size:1.25rem;color:var(--brand-navy)}.cm-inline-create{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr)) auto;gap:.75rem .85rem;align-items:end;padding:1rem 1.15rem;margin:1.1rem 1.25rem .35rem;border:1px dashed rgba(16,176,120,.35);border-radius:14px;background:linear-gradient(180deg,rgba(16,176,120,.05),transparent 80%),#f8fafb}.cm-inline-create.compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;margin:.7rem 0 0;padding:.75rem .8rem}.cm-module-details{margin:.9rem 0;padding:.8rem .95rem;border-radius:12px;border:1px solid var(--border);background:#fcfdfe}.cm-module-details summary{cursor:pointer;font-size:.85rem;font-weight:650;color:var(--text-muted)}.cm-module-details[open] summary{margin-bottom:.7rem;color:var(--brand-navy)}.equip-list{display:flex;flex-direction:column;gap:.85rem;padding:1.15rem 1.35rem 1.5rem}.equip-card{border:1px solid var(--border);border-radius:14px;background:#fff;overflow:visible;box-shadow:0 1px 2px #10182808;transition:border-color .15s ease,box-shadow .15s ease}.equip-card.open{border-color:#10b07847;box-shadow:0 8px 22px #1018280f}.equip-card-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border:0;border-radius:14px 14px 0 0;background:transparent;cursor:pointer;text-align:left;color:inherit}.equip-card.open .equip-card-head{border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(16,176,120,.06),transparent)}.equip-card-body{padding:1.25rem 1.5rem 1.5rem;overflow:visible;min-width:0}.equip-card-body>.cm-section-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.equip-card-body>.cm-inline-create{margin-left:0;margin-right:0;width:100%}.cm-inv-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin:.85rem 0 1.25rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:12px;background:#f7faf9}.mppt-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:100%;min-width:0}.mppt-stack--optimizers{grid-template-columns:1fr;gap:1.15rem}.mppt-block{min-width:0;display:flex;flex-direction:column;gap:.55rem;border:1px solid rgba(216,222,232,.95);border-radius:14px;padding:.95rem 1rem 1.05rem;background:linear-gradient(180deg,#fff,#fbfcfd)}.opt-cadastro-block{padding:.85rem .9rem .95rem}.opt-cadastro-table{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.opt-cadastro-head,.opt-cadastro-row{display:grid;grid-template-columns:minmax(9rem,1.8fr) 4.5rem 6.5rem auto;gap:.55rem .65rem;align-items:center;padding:.45rem .75rem}.opt-cadastro-head{background:#f3f6f9;border-bottom:1px solid rgba(216,222,232,.95);font-size:.72rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:#6b7785}.opt-cadastro-body{max-height:min(28rem,55vh);overflow:auto}.opt-cadastro-row{border-top:1px solid rgba(216,222,232,.75);min-width:0}.opt-cadastro-row:first-child{border-top:none}.opt-cadastro-row:nth-child(2n){background:#fafbfc}.opt-cadastro-row.is-shaded{background:linear-gradient(90deg,#e8a8381f,#e8a8380a)}.opt-cadastro-id{display:flex;flex-direction:column;gap:.1rem;min-width:0}.opt-cadastro-id strong{font-size:.88rem;font-weight:650;color:var(--brand-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opt-cadastro-id span{font-size:.72rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#8a97a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opt-cadastro-mods{width:100%;min-width:0;padding-inline:.45rem;text-align:center}.opt-cadastro-shade{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;margin:0;cursor:pointer;-webkit-user-select:none;user-select:none}.opt-cadastro-shade input{width:1rem;height:1rem;accent-color:#c9841a}.opt-cadastro-shade-label{font-size:.8rem;color:#5b6775}.opt-cadastro-pct{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem;min-width:0}.opt-cadastro-pct .input{width:100%;min-width:0;text-align:right;padding-inline:.45rem}.opt-cadastro-pct .input:disabled{opacity:.45;background:#f3f5f7}.opt-cadastro-pct>span{font-size:.8rem;font-weight:600;color:#8a97a8}.opt-cadastro-row .btn{white-space:nowrap;justify-self:end}.opt-cadastro-footer{display:flex;justify-content:flex-end;padding-top:.15rem}.mppt-block-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.1rem}.mppt-block-head strong{font-family:var(--display);color:var(--brand-navy)}.mppt-block .cm-section-grid.compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.5rem .55rem;align-items:end}.mppt-block .cm-inline-create.compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.5rem .55rem;margin:.15rem 0 0;padding:.7rem .75rem}.string-stack{display:flex;flex-direction:column;gap:0;margin-top:.15rem;border:1px solid var(--border);border-radius:12px;overflow:visible;background:#fff}.string-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:.45rem .5rem;align-items:end;padding:.55rem .65rem;border-top:1px solid rgba(216,222,232,.8);min-width:0}.string-row:first-child{border-top:none}.string-row:nth-child(2n){background:#fafbfc}.string-row .cm-field,.string-row .input,.mppt-block .cm-field,.mppt-block .input{min-width:0;width:100%}.string-row .cm-check{padding-bottom:.4rem;white-space:nowrap}.string-row .btn,.mppt-block .cm-section-grid.compact .btn,.mppt-block .cm-inline-create.compact .btn{white-space:nowrap;flex-shrink:0}@media(max-width:1280px){.mppt-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.mppt-stack{grid-template-columns:1fr}}@media(max-width:960px){.client-row{grid-template-columns:1fr;align-items:start}.client-row-meta,.client-row-actions{align-items:flex-start;justify-content:flex-start}.clients-hero,.cm-hero{padding:1.15rem}.cm-tabs{grid-template-columns:1fr 1fr}.cm-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cm-inline-create{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.cm-section-grid.compact,.cm-inline-create.compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.string-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.string-row .cm-check,.string-row .btn{grid-column:span 1}.opt-cadastro-head{display:none}.opt-cadastro-row{grid-template-columns:minmax(0,1fr) 4rem 5.5rem auto;grid-template-areas:"id id id id" "shade pct pct save"}.opt-cadastro-id{grid-area:id}.opt-cadastro-shade{grid-area:shade}.opt-cadastro-pct{grid-area:pct}.opt-cadastro-row .btn{grid-area:save}.clients-table-head{display:none}.clients-table-row{grid-template-columns:1fr auto;grid-template-areas:"name status" "provider provider" "power actions";gap:.55rem .75rem;padding:1rem 1.05rem}.clients-col-name{grid-area:name}.clients-col-provider{grid-area:provider}.clients-col-power{grid-area:power}.clients-col-status{grid-area:status;justify-self:end}.clients-col-actions{grid-area:actions;justify-content:flex-start}.topbar{grid-template-columns:1fr;gap:.65rem;padding:.75rem 1rem}.topbar-brand{justify-content:space-between}.brand-product{display:none}.nav{width:100%;padding-bottom:.15rem}.topbar-user{width:100%;justify-content:space-between}.user-meta{align-items:flex-start}.detail-grid,.dash-hero,.dash-kpis,.dash-panels,.plants-hero,.plant-detail-hero,.plant-detail-grid,.plant-section-grid,.topology-layout,.hybrid-topology,.hybrid-details{grid-template-columns:1fr}.plant-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-quick,.plants-hero-side{justify-content:flex-start}.invoices-filters,.invoice-stats{grid-template-columns:1fr 1fr}.plant-detail-hero-side .btn{align-self:flex-start}.plant-info-grid{grid-template-columns:1fr}.plants-panel-top{flex-direction:column;align-items:stretch}.plants-toolbar-bar{width:100%}.plants-search{max-width:none;flex:1 1 100%}.plants-table-head{display:none}.plant-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;grid-template-areas:"name name actions" "comm alert actions" "inv prod actions" "pot cap actions" "sync sync actions";padding:.85rem 1rem;gap:.35rem .75rem}.plant-col-name{grid-area:name}.plant-col-comm{grid-area:comm;justify-content:flex-start}.plant-col-alert{grid-area:alert;justify-content:flex-start}.plant-col-inv{grid-area:inv;text-align:left}.plant-col-num{justify-content:flex-start;text-align:left}.plant-col-prod{grid-area:prod}.plant-col-power{grid-area:pot}.plant-col-cap{grid-area:cap}.plant-col-sync{grid-area:sync;text-align:left;color:#94a3b8}.plant-row-actions{justify-content:flex-end}.plant-row-actions{grid-area:actions;flex-direction:column;flex-wrap:wrap;align-items:flex-end;align-self:start;gap:.35rem}.plant-alert-hint{max-width:100%;white-space:normal}.alert-compact-line{flex-wrap:wrap;row-gap:.2rem}.alert-compact-meta{flex-basis:100%;justify-content:flex-start;padding-left:7.1rem}.alert-compact-actions{margin-left:auto;border-left:0;padding-left:0}.alert-compact-msg{margin-left:0}.alert-compact-type{flex:1 1 auto}.alert-plant-card-head{align-items:flex-start;flex-wrap:wrap}.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.inverter-list{max-height:220px;flex-direction:row;overflow-x:auto}.inverter-list-item{min-width:220px}.topo-metrics{grid-template-columns:1fr}.topo-side-badges{position:static;flex-direction:row;flex-wrap:wrap;margin-top:.15rem}.inverter-list-copy{padding-right:0}}@media(max-width:560px){.plant-section-grid,.dash-kpis,.invoice-stats,.invoices-filters{grid-template-columns:1fr}.dash-provider-head{flex-direction:column;align-items:flex-start;gap:.15rem}}.maintenances-page{display:flex;flex-direction:column;gap:1.15rem;width:100%;max-width:none}.maintenance-form-panel{margin-bottom:1.15rem;overflow:hidden;border-radius:16px;border:1px solid rgba(16,176,120,.18);background:linear-gradient(180deg,rgba(16,176,120,.06),transparent 7rem),#fff;box-shadow:0 1px 2px #1018280a,0 12px 28px #1018280b}.maintenance-form-header{align-items:flex-start;gap:1rem;border-bottom:1px solid var(--border);margin-bottom:0;padding-bottom:1rem}.maintenance-form-kicker{margin:0 0 .2rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-green, #10b078)}.maintenance-form{display:flex;flex-direction:column;gap:1.15rem;padding:1rem 1.15rem 1.15rem}.maintenance-form-section h3{margin:0 0 .65rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.maintenance-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem 1rem}.maintenance-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;color:var(--text-muted)}.maintenance-form .input,.maintenance-form .select,.maintenance-form textarea{width:100%}.maintenance-form textarea.input{resize:vertical;min-height:5.5rem;line-height:1.45}.maintenance-form-wide{grid-column:1 / -1}.maintenance-plant-picker{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(180px,1.2fr);gap:.5rem}.maintenance-form-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.55rem;padding-top:.35rem;border-top:1px solid var(--border)}.maintenances-panel .panel-header{align-items:flex-start}.maintenances-toolbar{gap:.85rem 1rem}.maintenances-filters{flex:1 1 520px;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.maintenances-filters .select,.maintenances-filters .input{min-width:0}.maintenances-filters>.select:first-child{flex:0 0 auto;min-width:7.5rem}.maintenance-filter-plant{display:grid;grid-template-columns:minmax(110px,.85fr) minmax(150px,1.15fr);gap:.4rem;flex:1 1 280px;max-width:340px;min-width:220px}.maintenances-search{flex:1 1 160px;min-width:140px;max-width:240px}.maintenances-table-wrap{overflow-x:auto;width:100%}.maintenances-table{width:100%;min-width:960px;border-collapse:collapse;table-layout:fixed}.maintenances-table th,.maintenances-table td{padding:.75rem .85rem;vertical-align:middle;text-align:left;border-bottom:1px solid var(--border)}.maintenances-table thead th{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:#f8fafc;white-space:nowrap}.maintenances-table tbody tr:hover{background:#f5faf8}.maintenances-table tbody tr.is-overdue{background:linear-gradient(90deg,rgba(214,69,69,.06),transparent 28%)}.maintenances-table th:nth-child(1),.maintenances-table td:nth-child(1){width:22%}.maintenances-table th:nth-child(2),.maintenances-table td:nth-child(2){width:9%}.maintenances-table th:nth-child(3),.maintenances-table td:nth-child(3){width:9%}.maintenances-table th:nth-child(4),.maintenances-table td:nth-child(4){width:11%}.maintenances-table th:nth-child(5),.maintenances-table td:nth-child(5){width:9%;white-space:nowrap}.maintenances-table th:nth-child(6),.maintenances-table td:nth-child(6){width:14%}.maintenances-col-actions{width:18rem;white-space:nowrap}.maintenances-col-plant{min-width:0}.maintenances-billing-cell{display:flex;flex-direction:column;gap:.2rem;align-items:flex-start}.maintenances-billing-meta{font-size:.72rem;color:var(--text-muted)}.maintenance-check{flex-direction:row!important;align-items:center;gap:.45rem!important;font-size:.88rem!important;color:var(--brand-navy)!important;padding-top:1.55rem}.maintenances-plant-link{display:block;font-weight:650;color:var(--brand-navy);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.maintenances-plant-link:hover{color:var(--brand-green, #10b078)}.maintenances-plant-meta{display:block;margin-top:.2rem;font-size:.78rem;color:var(--text-muted)}.maintenances-tipo{font-size:.88rem;font-weight:600;color:var(--brand-navy)}.maintenances-col-actions{width:15rem;white-space:nowrap}.maintenances-row-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.plant-maint-empty{margin:0;padding:.75rem 1.1rem 1.1rem}.plant-maint-body{padding:.75rem 1.1rem 1rem}.plant-maint-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem}.plant-maint-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;flex-shrink:0}.plant-maint-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .55rem;min-width:0}.plant-maint-chip{display:inline-flex;align-items:baseline;gap:.3rem;max-width:100%;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border);background:#f8fafc;font-size:.8rem;font-weight:550;color:var(--brand-navy);line-height:1.3}.plant-maint-chip em{font-style:normal;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.plant-maint-details{margin-top:.75rem;padding:.75rem .85rem;border-radius:8px;border:1px solid var(--border);background:#f8fafc;display:flex;flex-direction:column;gap:.55rem}.plant-maint-details p{margin:0;font-size:.86rem;color:var(--brand-navy);line-height:1.4}.plant-maint-details p>span{display:block;margin-bottom:.15rem;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.plant-maint-details-obs{white-space:pre-wrap}.plant-maint-details .btn{align-self:flex-start;margin-top:.15rem}@media(max-width:720px){.maintenance-plant-picker,.maintenance-filter-plant{grid-template-columns:1fr}.maintenances-filters{justify-content:stretch}.maintenance-filter-plant,.maintenances-search{max-width:none;flex:1 1 100%}.plant-maint-summary{align-items:flex-start}}.fill-notice{margin-bottom:1rem;padding:.6rem .9rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--info) 40%,transparent);background:color-mix(in srgb,var(--info) 10%,transparent);word-break:break-all}.fill-schema-row{cursor:pointer}.fill-legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;padding:0 1rem .6rem;font-size:.8rem}.fill-legend span{display:inline-flex;align-items:center;gap:.35rem}.fill-table td{vertical-align:top}.fill-strip{display:flex;gap:1px;min-width:460px}.fill-strip+.fill-strip{margin-top:3px}.fill-cell{display:inline-block;width:4px;height:14px;border-radius:1px;background:color-mix(in srgb,var(--danger) 55%,transparent)}.fill-legend .fill-cell{width:10px;height:10px}.fill-cell.ok{background:var(--ok)}.fill-cell.partial{background:var(--warn)}.fill-cell.empty{background:color-mix(in srgb,currentColor 25%,transparent)}.fill-cell.before{background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 15%,transparent)}.fill-bar-wrap{display:flex;align-items:center;gap:.5rem;white-space:nowrap;font-variant-numeric:tabular-nums}.fill-bar{width:80px;height:6px;border-radius:3px;overflow:hidden;background:color-mix(in srgb,currentColor 12%,transparent)}.fill-bar-value{height:100%;background:var(--danger)}.fill-bar-value.ok{background:var(--ok)}.fill-bar-value.partial{background:var(--warn)}.fill-actions{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}
