.app-header{padding:.5rem 1rem;background-color:var(--bg-card);display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 6px #00000014}.app-logo{cursor:pointer;padding:5px 20px;background-color:#0f1e34;border-radius:35px;border:1px solid #fff;margin-right:.75rem}.branding{display:flex;align-items:center;gap:.5rem}.theme-switch-wrap{display:flex;align-items:center!important;gap:.4rem}.user-menu{background:transparent}.user-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;cursor:pointer;background-color:var(--lumo-contrast-10pct)}.user-icon{width:24px;height:24px;color:var(--text-main)}.user-menu .menu-header{padding:8px 14px}.user-menu .menu-header-icon{color:var(--lumo-secondary-text-color)}.user-menu .menu-header-name{font-weight:600;font-size:.9rem}.user-menu .menu-header-username{font-size:.75rem;opacity:.7}.user-menu .menu-header-textblock{line-height:1.1}.right-controls{margin-left:auto;display:flex;align-items:center;gap:1rem}.app-footer{position:fixed;bottom:0;left:0;right:0;height:2rem;padding:.5rem 1rem;z-index:10;display:flex;align-items:center;justify-content:center;background-color:var(--bg-card);border-top:1px solid var(--border-color)}.footer-version{position:absolute;left:50%;transform:translate(-50%);font-weight:500}.footer-clock{position:absolute;right:4rem}:root{--bg-light: #ffffff;--bg-dark: #1b2130;--text-light: #111;--text-dark: #f2f2f2}.portfolio-view{padding:0 1rem 1rem;box-sizing:border-box;width:100%;overflow:hidden}.portfolio-layout{display:flex;gap:.5rem;width:100%;align-items:stretch;padding:.4rem 0;box-sizing:border-box;flex-wrap:nowrap;margin-bottom:.6rem}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:.4rem;flex:0 0 300px;min-width:300px}.stat-card{background:var(--bg-light);color:var(--text-light);border-radius:8px;padding:.35rem .45rem;box-shadow:0 2px 4px #00000047;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.stat-label{font-size:.72rem;font-weight:500}.stat-value{font-weight:600;font-size:.9rem;margin-top:.1rem}.charts-row{display:flex;gap:.5rem;width:100%;align-items:stretch}.chart-card{flex:1 1 0;min-width:260px;display:flex;flex-direction:column;background:var(--bg-light);border-radius:10px;padding:.5rem .6rem;box-shadow:0 2px 5px #00000047;min-height:260px}.chart-title{text-align:center;font-size:.85rem;font-weight:600;margin:.1rem 0 .25rem;color:var(--text-light);flex:0 0 auto}.chart-container{flex:1 1 auto;width:100%;min-height:200px}html.dark-mode .stat-card,html.dark-mode .chart-card{background:var(--bg-dark);color:var(--text-dark);box-shadow:0 2px 6px #ffffff0d}html.dark-mode .chart-title{color:var(--text-dark)}@media(max-width:1200px){.portfolio-layout{flex-direction:column}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));width:100%}.charts-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));width:100%}.chart-card{min-height:220px}.chart-container{min-height:160px}}@media(max-width:900px){.charts-row{display:flex;flex-direction:column}.chart-card{min-height:230px}.plant-grid{height:auto;min-height:40vh}}@media(max-width:768px){.plant-header{flex-direction:column;align-items:stretch;gap:.5rem}.plant-header h3{text-align:center}.filter-btn{align-self:center}.chart-card{min-height:200px}}.plant-header{margin:.6rem 0;padding:0}.plant-header h3{margin:0;font-size:1rem}.plant-grid{margin-top:.6rem;height:calc(55vh - 20px);font-size:.85rem;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #00000047}vaadin-grid.plant-grid::part(body-cell){cursor:pointer}vaadin-grid::part(severity-warning){--vaadin-grid-cell-background: rgba(255, 193, 7, .25)}vaadin-grid::part(severity-major){--vaadin-grid-cell-background: rgba(255, 87, 34, .28)}vaadin-grid::part(severity-critical){--vaadin-grid-cell-background: rgba(244, 67, 54, .3)}vaadin-grid[theme~=dark]::part(severity-warning){--vaadin-grid-cell-background: rgba(255, 200, 0, .25)}vaadin-grid[theme~=dark]::part(severity-major){--vaadin-grid-cell-background: rgba(255, 120, 60, .3)}vaadin-grid[theme~=dark]::part(severity-critical){--vaadin-grid-cell-background: rgba(255, 60, 60, .35)}vaadin-grid::part(severity-warning) [part~=body-cell]:first-child{border-left:4px solid #ffc107}vaadin-grid::part(severity-major) [part~=body-cell]:first-child{border-left:4px solid #ff5722}vaadin-grid::part(severity-critical) [part~=body-cell]:first-child{border-left:4px solid #f44336}.alarm-icon{font-size:1.1rem;line-height:1;transition:transform .2s ease}.alarm-icon:hover{transform:scale(1.2)}.plant-detail-view{height:100%;display:flex;flex-direction:column;padding:0 1rem 1rem;box-sizing:border-box;width:100%;overflow:hidden}.plant-detail-view .inverter-list{min-width:300px;overflow-y:auto}.plant-detail-view .heatmap-wrapper{background:var(--lumo-base-color);border-radius:var(--lumo-border-radius-l);box-shadow:var(--lumo-box-shadow-s);padding:1rem}.inverter-list{min-width:300px;height:100%;overflow-y:auto}.plant-header vaadin-button{background:transparent;border:none;color:var(--lumo-secondary-text-color);transition:color .2s ease}.plant-header vaadin-button:hover{color:var(--lumo-body-text-color)}#plant-body{opacity:1;transition:opacity .5s ease}#plant-body.fade-out{opacity:0}#plant-body.fade-in{opacity:1}.plant-title{color:var(--lumo-body-text-color);transition:color .3s ease}html.dark-mode .plant-title{color:#f2f2f2}.plant-search{color:var(--lumo-body-text-color);background-color:var(--lumo-base-color)}html.dark-mode .plant-search input{color:#f2f2f2;background-color:#0f1e34;border-color:#333}.plant-grid{--lumo-base-color: var(--lumo-contrast-10pct);color:var(--lumo-body-text-color)}html.dark-mode .plant-grid{--lumo-base-color: #1c1c1c;color:#eaeaea}html.dark-mode vaadin-text-field,html.dark-mode vaadin-combo-box{--vaadin-input-field-value-color: var(--lumo-body-text-color);--vaadin-input-field-placeholder-color: var(--lumo-secondary-text-color);--vaadin-input-field-caret-color: var(--lumo-primary-text-color);--vaadin-input-field-icon-color: var(--lumo-secondary-text-color);--vaadin-input-field-toggle-button-color: var(--lumo-secondary-text-color)}html.dark-mode vaadin-combo-box::part(toggle-button){color:var(--lumo-secondary-text-color)}html.dark-mode vaadin-combo-box-overlay::part(overlay){background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);box-shadow:0 12px 30px #0009}html.dark-mode vaadin-combo-box-item{color:var(--text-main);cursor:pointer}html.dark-mode vaadin-combo-box-item:hover{background-color:var(--lumo-contrast-10pct)}html.dark-mode vaadin-combo-box-item[selected]{background-color:var(--lumo-secondary-text-color);color:var(--text-main)}html.dark-mode vaadin-combo-box-item[focused]{background-color:var(--lumo-contrast-20pct)}.plant-tab-page::part(handle){background:var(--lumo-primary-color);border-radius:6px;width:4px;min-width:4px;transition:background-color .2s ease,box-shadow .2s ease}.plant-content-split::part(handle){background:var(--lumo-primary-color);border-radius:6px;width:40px;min-width:40px;transition:background-color .2s ease,box-shadow .2s ease}html{background-color:#f4f4f4;color:#111;transition:background-color .3s ease,color .3s ease}html.dark-mode{background-color:#0f1e34;color:#eee}body{padding-bottom:2.5rem}.app-header{background-color:#f4f4f4;color:#111;padding:.5rem 1rem;box-shadow:0 2px 6px #00000014;transition:background-color .3s ease,color .3s ease}html.dark-mode .app-header{background-color:#1e1e1e;color:#fff}.app-footer{position:fixed;left:0;right:0;bottom:0;z-index:1000;padding:.5rem 1rem;background:#f4f4f4;color:#111;border-top:1px solid rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:center;transition:background-color .3s ease,color .3s ease;font-size:.9rem;opacity:.9}html.dark-mode .app-footer{background:#0f1e34;color:#ddd;border-top:1px solid rgba(255,255,255,.15)}.theme-switch{position:relative;width:46px;height:24px;border-radius:999px;background:#ccc;cursor:pointer;transition:background .25s ease}.theme-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .25s ease,background .25s ease}html.dark-mode .theme-switch{background:#00a76d}html.dark-mode .theme-switch:after{transform:translate(22px);background:#0f1e34}.theme-icon{font-size:14px;opacity:.7;transition:opacity .2s ease}html.dark-mode .theme-icon:first-of-type{opacity:.3;filter:grayscale(1)}html.dark-mode .theme-icon:last-of-type{opacity:1}html:not(.dark-mode) .theme-icon:last-of-type{opacity:.3;filter:grayscale(1)}html,body{height:100%;margin:0}body{overflow:hidden;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{--lumo-primary-color: #00A76D;--lumo-primary-text-color: #00A76D;--lumo-base-color: #ffffff;--lumo-body-text-color: #1a1a1a;--lumo-contrast-10pct: rgba(0, 0, 0, .05);--lumo-contrast-20pct: rgba(0, 0, 0, .12);--bg-app: #e8e8e8;--bg-card: #ffffff;--text-main: #1a1a1a;--text-muted: #6b7280;--border-color: #e5e7eb;--lumo-secondary-text-color: #6b7280;--tag-success-bg: rgba(0, 167, 109, .12);--tag-success-border: rgba(0, 167, 109, .35);--tag-success-text: var(--text-main);--grid-resize-handle-color: var(--lumo-primary-color);--grid-resize-handle-hover: var(--lumo-primary-color)}html.dark-mode{--lumo-base-color: #121212;--lumo-body-text-color: #E0E0E0;--lumo-contrast-10pct: rgba(255, 255, 255, .08);--lumo-contrast-20pct: rgba(255, 255, 255, .16);--bg-app: #0f172a;--bg-card: #1e293b;--text-main: #f1f5f9;--text-muted: #94a3b8;--border-color: #334155;--lumo-secondary-text-color: #94a3b8;--tag-success-bg: rgba(0, 167, 109, .18);--tag-success-border: rgba(0, 167, 109, .45);--tag-success-text: #e7fff4;--grid-resize-handle-color: color-mix(in srgb, var(--border-color) 45%, var(--lumo-primary-color));--grid-resize-handle-hover: color-mix(in srgb, var(--lumo-primary-color) 85%, #fff)}vaadin-app-layout,vaadin-scroller,body{background-color:var(--bg-app);color:var(--text-main)}vaadin-split-layout::part(splitter){background-color:transparent}.stat-card,.chart-card,.plant-tile,.alert-list,.inverter-list{background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);border-radius:10px}.plant-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 10px;min-width:115px;border-radius:8px;background-color:var(--bg-card);color:var(--text-main);text-align:center;gap:4px;border:1px solid var(--border-color);flex:0 0 auto}.plant-tile span:first-child{font-size:.72rem;line-height:1.1;letter-spacing:.2px;white-space:normal;font-weight:500}.plant-tile span:last-child{font-size:14px;font-weight:600;line-height:1.1;white-space:nowrap}html.dark-mode .plant-tile{background-color:var(--bg-card);color:var(--text-main);border-color:var(--border-color)}.inverter-header,.inverter-cell{display:flex;align-items:center;width:100%;gap:.5rem}vaadin-grid-tree-toggle:not([dir=rtl])::part(toggle){color:var(--lumo-body-text-color);padding:.12rem .35rem;margin-right:.35rem;box-shadow:none;outline:none;cursor:pointer}vaadin-grid-tree-toggle:not([dir=rtl])::part(toggle):focus,vaadin-grid-tree-toggle:not([dir=rtl])::part(toggle):focus-visible,vaadin-grid-tree-toggle:not([dir=rtl])::part(toggle):active{outline:none;box-shadow:none}.string-count-header,.string-count{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s);white-space:nowrap}.tag{display:inline-flex;align-items:center;border-radius:999px;padding:.12rem .45rem;font-size:var(--lumo-font-size-s);font-weight:700;border:1px solid transparent;cursor:default;user-select:none;box-shadow:none!important;outline:none!important;transform:none!important}.tag-success{background:var(--tag-success-bg);border-color:var(--tag-success-border);color:var(--tag-success-text)}.tag:hover,.tag:focus,.tag:focus-visible,.tag:active{box-shadow:none!important;outline:none!important;filter:none!important;transform:none!important}.inverter-count{opacity:.75;font-size:.9em}.alert-list{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.alert-list vaadin-grid-cell-content{color:var(--text-main)}.alert-list vaadin-grid::part(header-cell){color:var(--text-muted);font-weight:600}.alert-actions{display:flex;gap:6px}.alert-actions vaadin-button{color:var(--text-main)}.alert-list vaadin-grid::part(row):hover{background-color:var(--lumo-contrast-10pct)}vaadin-login-overlay::part(backdrop){background:url(/images/proaktiv_bg.png) center / cover no-repeat}html.dark-mode vaadin-login-overlay::part(backdrop){background:linear-gradient(#0000008c,#0000008c),url(/images/proaktiv_bg.png) center / cover no-repeat}html.dark-mode vaadin-login-overlay::part(form){background:#fff;color:#1a1a1a}html.dark-mode vaadin-login-overlay{--lumo-body-text-color: #1a1a1a;--lumo-secondary-text-color: #6b7280}vaadin-login-overlay::part(brand){background-color:#1e1e1e;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background-image:url(/images/proaktiv_logo.png);background-repeat:no-repeat;background-position:center 25px;background-size:180px;min-height:200px;padding-top:90px}html.dark-mode vaadin-login-overlay::part(brand){background-color:#0f172a;color:#fff}.logout-confirm-dialog .logout-confirm-title,.comment-dialog h3,.admin-dialog h2,.report-request-dialog h2,.power-plant-admin-panel h3,.logger-admin-panel h3,.power-plant-form-dialog h2,.power-plant-order-dialog h2,.logger-form-dialog h2,.settings-dialog h2,.settings-dialog h3{font-weight:600;font-size:1.1rem;color:var(--lumo-body-text-color)!important}vaadin-confirm-dialog{--lumo-header-text-color: var(--lumo-body-text-color)}vaadin-dialog-overlay::part(backdrop),vaadin-dialog::part(backdrop){background:var(--lumo-shade-60pct)!important;background-color:var(--lumo-shade-60pct)!important}vaadin-dialog-overlay [slot=title]{color:var(--lumo-body-text-color)}html.dark-mode vaadin-dialog-overlay [slot=title]{color:#fff}vaadin-button[slot=submit]{--lumo-primary-color: #00A76D;--lumo-primary-color-50pct: color-mix(in srgb, #00A76D 50%, transparent);--lumo-primary-color-10pct: color-mix(in srgb, #00A76D 10%, transparent);cursor:pointer}vaadin-button:not([disabled]){cursor:pointer}vaadin-grid-cell-content{color:var(--text-main);font-size:.8rem}vaadin-grid::part(resize-handle):before{width:2px;background-color:var(--grid-resize-handle-color);opacity:.75;border-radius:2px}vaadin-dialog-overlay :where(h1,h2,h3,h4,h5,h6){color:var(--lumo-body-text-color)}vaadin-grid::part(resize-handle):hover:before,vaadin-grid::part(resize-handle):active:before{width:3px;background-color:var(--grid-resize-handle-hover);opacity:1}vaadin-grid::part(sorter){color:var(--text-muted)}html.dark-mode vaadin-grid::part(sorter){color:var(--text-muted)}.app-header,.app-footer{background-color:var(--bg-card);border-color:var(--border-color);color:var(--text-main)}::-webkit-scrollbar{width:8px!important}::-webkit-scrollbar-track{background:transparent!important}::-webkit-scrollbar-thumb{background:var(--border-color)!important;border-radius:6px!important}.plant-header h3{color:var(--text-main);transition:color .25s ease}.plant-header vaadin-text-field::part(input-field){background:#fff;color:#111;border-radius:6px;transition:background .25s ease,color .25s ease,border-color .25s ease}.plant-header vaadin-text-field::part(input){color:#111}.plant-header vaadin-text-field::part(input)::placeholder{color:#777}.plant-header vaadin-text-field vaadin-icon{color:#666;transition:color .25s ease}html.dark-mode .plant-header vaadin-text-field::part(input-field){background-color:#1b2a44;color:#f2f2f2;border-color:#fff3}html.dark-mode .plant-header vaadin-text-field::part(input-field):hover{border-color:#ffffff59}html.dark-mode .plant-header vaadin-text-field::part(input-field):focus-within{border-color:#00a76d}html.dark-mode .plant-header vaadin-text-field::part(input){color:#f2f2f2}html.dark-mode .plant-header vaadin-text-field::part(input)::placeholder{color:#ffffff73}html.dark-mode .plant-header vaadin-text-field vaadin-icon{color:#ffffffbf}vaadin-tabs.plant-tabs{display:inline-flex;width:fit-content;flex-grow:unset!important;max-width:100%;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:6px 0;margin-bottom:.5rem;box-shadow:0 2px 5px #00000047;--lumo-tabs-min-height: 32px;font-size:.8rem}vaadin-tabs.plant-tabs{--lumo-primary-color: #00A76D;--lumo-primary-text-color: #00A76D}vaadin-tabs.plant-tabs::part(tabs){gap:6px}vaadin-tabs.plant-tabs vaadin-tab{border-radius:10px!important;padding:.25rem .6rem;font-weight:500;line-height:1.2;color:var(--text-muted)!important;background:transparent!important;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease}vaadin-tabs.plant-tabs vaadin-tab:hover:not([selected]){background:var(--lumo-contrast-10pct)!important;color:var(--text-main)!important}vaadin-tabs.plant-tabs vaadin-tab[selected]{background-color:var(--lumo-primary-color)!important;color:#fff!important;font-weight:600!important;box-shadow:0 1px 3px #00000040!important}vaadin-tabs.plant-tabs vaadin-tab[selected]:hover{background:color-mix(in srgb,var(--lumo-primary-color) 90%,#000)!important}vaadin-tabs.plant-tabs::part(overflow){box-shadow:none!important}vaadin-tabs.plant-tabs::part(overflow):after{display:none!important}.comment-button{background:color-mix(in srgb,var(--lumo-primary-color) 90%,#000)!important;color:#fff!important}.heatmap-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1rem;color:var(--text-main)}.heatmap-card h3{color:var(--text-main);margin-bottom:.75rem}#heatmap-chart{background:transparent}vaadin-grid{background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color)}vaadin-grid::part(header-cell){background-color:var(--bg-card);color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--border-color);white-space:pre-line}html:not(.dark-mode) vaadin-grid::part(header-cell){background-color:var(--bg-card)!important;background-image:none!important}html:not(.dark-mode) vaadin-grid::part(header-row),html:not(.dark-mode) vaadin-grid::part(header-cell):before{background-color:var(--bg-card)!important}html:not(.dark-mode) vaadin-grid{--lumo-base-color: var(--bg-card) !important;--lumo-header-background-color: var(--bg-card) !important}vaadin-grid::part(cell){color:var(--text-main)}vaadin-grid[theme~=row-stripes]::part(row):nth-child(2n){background-color:var(--lumo-contrast-10pct)}html:not(.dark-mode) vaadin-grid::part(scroller){background:var(--bg-card)}html:not(.dark-mode) vaadin-tooltip{--vaadin-tooltip-background: #111827;--vaadin-tooltip-text-color: #f9fafb;--vaadin-tooltip-font-weight: 600}html.dark-mode vaadin-tooltip{--vaadin-tooltip-background: #f9fafb;--vaadin-tooltip-text-color: #111827;--vaadin-tooltip-font-weight: 600}html:not(.dark-mode) vaadin-tooltip::part(overlay){background:var(--vaadin-tooltip-background);color:var(--vaadin-tooltip-text-color);font-weight:var(--vaadin-tooltip-font-weight)}html.dark-mode vaadin-tooltip::part(overlay){background:var(--vaadin-tooltip-background);color:var(--vaadin-tooltip-text-color);font-weight:var(--vaadin-tooltip-font-weight)}.inv-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.inv-open-icon{color:var(--text-main);opacity:.85;transition:color .12s ease,opacity .12s ease,transform .12s ease-in-out}.inv-open-icon:hover{color:var(--lumo-primary-color);opacity:1;transform:scale(1.2)}.plant-header-card{background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 5px #00000047;padding:8px 10px;overflow:hidden}html.dark-mode .plant-header-card{box-shadow:0 2px 6px #ffffff0d}.plant-header-content{gap:8px}.plant-header-card .plant-tile{box-shadow:0 2px 4px #0000002e}html.dark-mode .plant-header-card .plant-tile{box-shadow:0 2px 6px #ffffff0a}.plant-card{background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 5px #00000047;overflow:hidden}html.dark-mode .plant-card{box-shadow:0 2px 6px #ffffff0d}.menu-entry{display:flex;align-items:center;gap:8px}.menu-entry-text{font-weight:500;font-size:var(--lumo-font-size-m)}.user-menu vaadin-menu-bar-button,.user-menu vaadin-menu-bar-item,.user-menu vaadin-menu-bar-overlay vaadin-context-menu-item,.user-menu vaadin-menu-bar-overlay vaadin-item{cursor:pointer}.user-avatar{cursor:pointer}.build-info-dialog{--lumo-header-text-color: var(--text-main)}html.dark-mode .build-info-dialog{--lumo-header-text-color: #ffffff}.build-info-dialog::part(overlay){color:var(--text-main);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 18px 40px #00000047;padding:0;overflow:hidden}.build-info-dialog::part(header){background:var(--bg-card);color:var(--text-main);padding:.8rem .6rem;border-bottom:1px solid var(--border-color)}.build-info-dialog::part(title){color:var(--lumo-header-text-color)!important;font-weight:700;font-size:1rem}.build-info-dialog::part(close-button){color:var(--text-muted)}.build-info-dialog::part(close-button):hover{color:var(--text-main)}html.dark-mode .build-info-dialog::part(close-button){color:#ffffffbf}html.dark-mode .build-info-dialog::part(close-button):hover{color:#fff}.build-info-dialog::part(content){background:var(--bg-card);padding:.9rem 1rem}.build-info-dialog::part(footer){background:var(--bg-card);padding:.75rem 1rem .9rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.build-info-dialog::part(backdrop){background:#0f172a47}html.dark-mode .build-info-dialog::part(backdrop){background:#0000009e}.build-info-dialog .build-info-grid{display:grid;grid-template-columns:140px 1fr;row-gap:.7rem;column-gap:1rem;align-items:center;min-width:0}.build-info-dialog .build-label{color:var(--text-muted);font-weight:600}.build-info-dialog .build-value{color:var(--text-main);font-weight:600;text-align:right;min-width:0;overflow-wrap:anywhere;word-break:break-word}.build-info-dialog vaadin-button[theme~=primary]{--lumo-primary-color: #00A76D;--lumo-primary-color-50pct: color-mix(in srgb, #00A76D 50%, transparent);--lumo-primary-color-10pct: color-mix(in srgb, #00A76D 10%, transparent);color:#fff;cursor:pointer}html:not(.dark-mode) .build-info-dialog::part(header){border-bottom:1px solid rgba(0,0,0,.14)}html:not(.dark-mode) .build-info-dialog::part(footer){border-top:1px solid rgba(0,0,0,.14)}.header-bar-label{padding:8px 12px;font-size:16px;font-weight:600}.inverter-heatmap{min-height:0;height:100%}.heatmap-table-wrap{height:100%}:root{--hm-left-col: clamp(80px, 12vw, 120px);--hm-cell: clamp(3px, .45vw, 8px);--hm-row-h: clamp(14px, 1.6vh, 24px);--hm-foot-h: 34px;--hm-grid: rgba(0,0,0,.25);--hm-left-bg: rgba(255,255,255,.95);--hm-foot-bg: transparent;--hm-na-bg: #505050;--hm-cell-border: rgba(0,0,0,.03)}html.dark-mode{--hm-grid: rgba(255,255,255,.25);--hm-left-bg: rgba(27,33,48,.92);--hm-foot-bg: transparent;--hm-na-bg: #505050;--hm-cell-border: rgba(255,255,255,.03)}.heatmap-table{background:transparent;border-radius:10px}.hm-inv{background:var(--hm-left-bg);color:var(--lumo-body-text-color);font-size:11px;font-weight:600;padding:0 10px;display:flex;align-items:center;border-right:1px solid var(--hm-grid);border-bottom:1px solid var(--hm-cell-border);white-space:nowrap}.hm-td{border-right:.03125rem solid var(--hm-cell-border);border-bottom:.03125rem solid var(--hm-cell-border);cursor:pointer}.hm-td.hm-na{background:var(--hm-na-bg)}.hm-corner-bottom{background:var(--hm-foot-bg);border-top-color:transparent!important;border-right-color:transparent!important}.hm-time{background:var(--hm-foot-bg);color:var(--lumo-body-text-color);border:none!important;font-size:9px;padding:2px;display:flex;align-items:flex-end;justify-content:flex-start;white-space:nowrap;user-select:none;transform:rotate(-45deg);transform-origin:left bottom;height:28px}.hm-time-hide{visibility:hidden}.hm-shared-tooltip{max-width:260px;padding:8px 10px;border-radius:8px;background:#14181ff5;color:#fff;font-size:12px;line-height:1.35;box-shadow:0 8px 24px #00000047;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px)}.inv-link{cursor:pointer;text-decoration:none}.inv-link:hover{text-decoration:underline;text-underline-offset:3px}.inv-drawer-root{position:fixed;inset:0;z-index:9999;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,visibility 0s linear .16s}.inv-drawer-root.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .16s ease,visibility 0s}.inv-drawer-close{position:absolute;top:.5rem;left:.5rem;z-index:2}.inv-drawer-backdrop{position:absolute;inset:0;background:#00000073}.inv-drawer{position:fixed!important;top:0;right:0;height:100%;width:clamp(360px,45vw,92vw);background:var(--lumo-base-color);border-left:1px solid var(--lumo-contrast-10pct);box-shadow:0 10px 30px #00000059;display:flex;flex-direction:column;transform:translate(100%);transition:transform .16s ease-out;min-width:0}.inv-drawer-root.is-open .inv-drawer{transform:translate(0)}.inv-drawer-header{padding:.85rem .9rem;border-bottom:1px solid var(--lumo-contrast-10pct)}.inv-drawer-header-row{align-items:center}.inv-drawer-head-left{min-width:0}.inv-drawer-title{margin:0;font-size:var(--lumo-font-size-l);color:var(--lumo-body-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-drawer-sub{display:block;opacity:.75;margin-top:.25rem;font-size:var(--lumo-font-size-s);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-drawer-spacer{flex:1 1 auto}.inv-drawer-body{overflow-y:auto;overflow-x:hidden!important;width:100%;min-width:0;flex:1 1 auto;padding:.9rem}.inv-strings-grid-wrap{width:100%;max-width:100%;overflow:hidden;margin:.5rem 0;min-width:0}.inv-sec{width:100%;min-width:0;overflow:visible!important;margin-top:.35rem}.inv-sec-title{display:block;margin:.55rem 0 .45rem;font-weight:700;opacity:.9;font-size:.825rem}.inv-drawer-loading{opacity:.8}.inv-drawer-error{color:var(--lumo-error-text-color)}.inv-drawer-muted{opacity:.65}.inv-kv{display:flex;justify-content:space-between;gap:1rem;padding:.6rem .65rem;border:1px solid var(--lumo-contrast-10pct);border-radius:12px;background:var(--lumo-contrast-5pct);margin-bottom:6px}.inv-k{opacity:.75;font-size:.825rem}.inv-v{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:.825rem}.inv-kv-grid.half,.inv-kv-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}.inv-kv-col{display:flex;flex-direction:column;gap:6px;min-width:0}@media(max-width:900px){.inv-kv-grid.half,.inv-kv-cols{grid-template-columns:1fr}}.inv-drawer-body .inv-kv{padding:.5rem .55rem;margin-bottom:0}.string-grid-clickable vaadin-grid-cell-content{cursor:pointer}.string-grid-clickable vaadin-grid::part(row):hover{background-color:var(--lumo-contrast-10pct)}.inverter-grid-clickable .tag{display:inline-flex;width:fit-content;max-width:100%}.inverter-list .inv-link:hover{text-decoration:underline}.inverter-list vaadin-grid-cell-content:hover{cursor:pointer}vaadin-date-picker vaadin-button[slot=today-button],vaadin-date-picker vaadin-button[slot=cancel-button],vaadin-date-picker-light vaadin-button[slot=today-button],vaadin-date-picker-light vaadin-button[slot=cancel-button]{display:none!important}html.dark-mode vaadin-date-picker::part(toggle-button),html.dark-mode vaadin-date-picker::part(clear-button){color:#ffffffbf}html.dark-mode vaadin-date-picker::part(toggle-button):hover,html.dark-mode vaadin-date-picker::part(clear-button):hover{color:#fff}html.dark-mode vaadin-date-picker::part(toggle-button),html.dark-mode vaadin-date-picker::part(clear-button){background:transparent}html.dark-mode vaadin-date-picker-light::part(toggle-button),html.dark-mode vaadin-date-picker-light::part(clear-button){color:#ffffffbf}html.dark-mode vaadin-date-picker-light::part(toggle-button):hover,html.dark-mode vaadin-date-picker-light::part(clear-button):hover{color:#fff}.auto-refresh-badge{gap:8px;opacity:.85;font-size:12px;padding:4px 8px;border-radius:999px;background:var(--lumo-contrast-5pct)}.auto-refresh-text{white-space:nowrap;color:var(--lumo-secondary-text-color)}.auto-refresh-icon{width:16px;height:16px;opacity:.85;transform-origin:50% 50%}.auto-refresh-icon.spinning{animation:probot-refresh-spin .65s ease-in-out 1}@keyframes probot-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}vaadin-grid.plant-grid::part(cell){transition:background-color .14s ease,box-shadow .14s ease}vaadin-grid.plant-grid::part(header-cell){display:flex;align-items:center}vaadin-grid vaadin-grid-sorter{display:flex;align-items:center;line-height:inherit;vertical-align:middle}vaadin-grid vaadin-grid-sorter::part(content){display:inline-flex;align-items:center}vaadin-grid vaadin-grid-sorter::part(indicators){margin-left:6px;margin-top:0!important;padding-top:0!important;transform:none!important}@supports (-moz-appearance: none){vaadin-grid vaadin-grid-sorter::part(content){position:relative;top:-1px}}vaadin-grid vaadin-grid-sorter:not([direction])::part(indicators){opacity:.9!important;visibility:visible!important}vaadin-grid vaadin-grid-sorter:hover::part(indicators),vaadin-grid vaadin-grid-sorter[direction]::part(indicators){opacity:1!important}:host(:not([direction])) [part=indicators]:before{color:var(--lumo-base-color)!important}vaadin-grid vaadin-grid-sorter::part(content){display:inline-flex;align-items:center;line-height:1}.alarm-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.25rem;padding:0 .45rem;border-radius:999px;font-size:12px;font-weight:700;line-height:1;border:1px solid rgba(0,0,0,.15);box-sizing:border-box}vaadin-grid-cell-content .alarm-badge{margin:0 auto}.alarm-badge--none{background:#0000000f;color:#0009;border-color:#0000001f}.alarm-badge--major{background:#d730272e;color:#d73027;border-color:#d7302759}.alarm-badge--minor{background:#fc8d592e;color:#fc8d59;border-color:#fc8d5959}.alarm-badge--warning{background:#fee08b59;color:#b7791f;border-color:#fee08b8c}.alarm-badge--normal{background:#1a98502e;color:#1a9850;border-color:#1a985059}:root.dark-mode .alarm-badge{border-color:#ffffff2e}:root.dark-mode .alarm-badge--none{background:#ffffff14;color:#ffffffa6;border-color:#ffffff29}.plant-tabs-right{gap:.75rem;min-width:0}.plant-tabs-info{gap:.625rem;min-width:0}.plant-tabs-divider{width:1px;height:36px;background:#ffffff1f;border-radius:99px;align-self:center}.plant-info-chip{display:flex;align-items:flex-start;gap:1.25rem;padding:.3rem .95rem;margin-bottom:.5rem;border-radius:8px;background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);min-width:0;max-width:620px;font-size:.875rem;box-shadow:0 2px 4px #0000002e}html.dark-mode .plant-info-chip{box-shadow:0 2px 6px #ffffff0a}.plant-chip-left{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;flex:0 0 auto;min-width:88px}.plant-info-chip__label{font-size:.78rem;color:var(--text-muted);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.plant-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:20px;padding:0 5px;border-radius:8px;background:var(--lumo-contrast-10pct);color:var(--text-main);border:1px solid var(--border-color);font-weight:700;font-size:.95rem;flex:0 0 auto;box-shadow:none}.plant-last-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.18rem}.plant-last-title{font-size:.76rem;color:var(--text-muted);white-space:nowrap}.plant-last-value{font-size:.875rem;line-height:1.3;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}.plant-chip--comment .plant-last-value{max-width:500px}.plant-chip--inspection,.plant-chip--comment{border-color:var(--border-color)}.plant-info-chip:hover{background-color:color-mix(in srgb,var(--bg-card) 92%,var(--lumo-contrast-10pct))}.plant-info-chip:hover .plant-last-value{color:var(--text-main)}.plant-last-info[style*="display: none"]{width:0!important;min-width:0!important;flex:0 0 0!important;padding:0!important;margin:0!important}.power-plant-order-grid,.power-plant-order-grid *{cursor:grab!important}.power-plant-order-grid.dragging,.power-plant-order-grid.dragging *{cursor:grabbing!important}.power-plant-order-grid [part~=header-cell],.power-plant-order-grid [part~=header-cell] *{cursor:default!important}.production-report-title{color:var(--lumo-body-text-color)}.production-report-plant-name{color:var(--lumo-body-text-color);font-size:.92rem;line-height:1.3}.production-report-button-wrap{display:inline-flex;align-items:center}.production-report-button.report-button-disabled{opacity:.45;filter:grayscale(1);pointer-events:none}.production-report-button-icon.report-button-spinner{animation:report-button-spin .9s linear infinite;transform-origin:center}@keyframes report-button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-field-label{display:block;font-size:var(--lumo-font-size-s);font-weight:600;color:var(--lumo-secondary-text-color);line-height:1.2;margin-top:.8rem}.field-wrapper{justify-content:flex-start}.web-url-link{display:block;width:100%;padding:8px 12px;border-radius:var(--lumo-border-radius-m);background:var(--lumo-contrast-5pct);color:var(--lumo-primary-text-color);text-decoration:underline;box-sizing:border-box}.settings-dialog::part(content){padding-top:.5rem}.settings-content{padding-top:.5rem}.settings-section-header{display:flex;flex-direction:column;gap:.25rem}.settings-section-description{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s)}.settings-row{padding:.875rem 1rem;border-radius:var(--lumo-border-radius-l);background:var(--lumo-contrast-5pct);box-sizing:border-box}.settings-field-label{font-weight:600;color:var(--lumo-body-text-color)}.settings-tab-icon{color:var(--lumo-secondary-text-color)}vaadin-grid vaadin-grid-sorter{display:inline-flex;align-items:center;line-height:normal}vaadin-grid vaadin-grid-sorter::part(content){display:inline-flex;align-items:center;line-height:normal}vaadin-grid vaadin-grid-sorter::part(indicators){display:inline-flex;align-items:center;justify-content:center;margin-left:6px;margin-top:0!important;padding-top:0!important}@supports (-moz-appearance: none){vaadin-grid vaadin-grid-sorter::part(content){transform:translateY(-7px)}vaadin-grid vaadin-grid-sorter::part(indicators){transform:translateY(-1px)}}.datetime-range-selector{width:auto!important;display:flex;flex-direction:column;gap:.5rem}.datetime-range-selector.compact{gap:.25rem}.datetime-range-selector-date-row{align-items:end;gap:.375rem}.datetime-range-selector-date-row.compact{gap:.25rem}.datetime-range-selector-date-picker{min-width:180px}.datetime-range-selector-nav-btn{margin-bottom:2px;padding:0;min-width:32px;width:32px;height:32px}.datetime-range-selector-quick-actions{flex-wrap:wrap;gap:.375rem}.datetime-range-slider-wrapper{width:100%}.datetime-range-selector-summary{font-size:.85rem;color:var(--lumo-secondary-text-color)}.datetime-window-selector{width:100%;display:flex;flex-direction:column;gap:.4rem}.datetime-window-selector.compact{gap:.2rem}.datetime-window-selector-date-row{align-items:end;gap:.25rem}.datetime-window-selector-date-row.compact{gap:.2rem}.datetime-window-selector-date-picker{min-width:180px}.datetime-window-selector-nav-btn{margin-bottom:2px;padding:0;min-width:32px;width:32px;height:32px}.datetime-window-slider-wrapper{width:100%}.datetime-point-selector{width:100%;display:flex;flex-direction:column;gap:.35rem}.datetime-point-selector.compact{gap:.2rem}.datetime-point-selector-date-row,.datetime-point-selector-slider-row{align-items:end;gap:.25rem}.datetime-point-selector-date-row.compact,.datetime-point-selector-slider-row.compact{gap:.2rem}datetime-point-slider .dtps{width:100%;display:flex;align-items:center;height:28px}datetime-point-slider .dtps-track{position:relative;width:100%;height:6px;border-radius:999px;background:#00a76d40;overflow:visible;z-index:1}datetime-point-slider .dtps-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--lumo-primary-color)}datetime-point-slider .dtps-future{position:absolute;top:0;bottom:0;border-radius:999px;pointer-events:none;z-index:1;background:repeating-linear-gradient(135deg,rgba(0,0,0,.08) 0px,rgba(0,0,0,.08) 6px,transparent 6px,transparent 12px),#80808026}.dark-mode datetime-point-slider .dtps-future{background:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0px,rgba(255,255,255,.08) 6px,transparent 6px,transparent 12px),#ffffff14}datetime-point-slider .dtps-thumb{position:absolute;top:50%;width:18px;height:18px;border-radius:50%;background:var(--lumo-primary-color);transform:translate(-50%,-50%);cursor:ew-resize;z-index:20;border:2px solid white;box-shadow:0 2px 8px #0000002e,0 0 0 1px #0000000a;display:flex;align-items:center;justify-content:center;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}datetime-point-slider .dtps-thumb:hover{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 4px 12px #00000038,0 0 0 1px #0000000d}datetime-point-slider .dtps-thumb:active{cursor:grabbing;transform:translate(-50%,-50%) scale(1.04)}datetime-point-slider .dtps-thumb:before{content:"";width:4px;height:4px;border-radius:50%;background:#fff;opacity:.95}datetime-point-slider .dtps-bubble{position:absolute;left:49%;top:calc(100% + 5px);transform:translate(-50%);padding:.2rem .45rem;border-radius:.45rem;font-size:.75rem;line-height:1.1;white-space:nowrap;background:var(--lumo-base-color, #fff);color:var(--lumo-body-text-color, #111);border:1px solid rgba(0,0,0,.12);box-shadow:0 4px 14px #00000026;pointer-events:none;z-index:30}datetime-point-slider .dtps-bubble:after{content:"";position:absolute;bottom:85%;left:50%;width:8px;height:8px;transform:translate(-50%) rotate(45deg);background:inherit;border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}datetime-point-slider .dtps-bubble.visible{opacity:1}
