.AuditBadge_badgeGroup__UN3yw{display:flex;align-items:center;gap:6px}.AuditBadge_warningBadge__J1D8f{display:flex;align-items:center;gap:4px;padding:6px 12px;background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.3);border-radius:20px;cursor:pointer;transition:all .2s}.AuditBadge_warningBadge__J1D8f:hover{background:rgba(245,158,11,.25)}.AuditBadge_warningIcon__9_uWC{color:#f59e0b;font-weight:700;font-size:14px}.AuditBadge_warningCount__0mc5R{color:#f59e0b;font-weight:600;font-size:13px}.AuditBadge_errorBadge__94Xc_{display:flex;align-items:center;gap:4px;padding:6px 12px;background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);border-radius:20px;cursor:pointer;transition:all .2s}.AuditBadge_errorBadge__94Xc_:hover{background:rgba(239,68,68,.25)}.AuditBadge_errorIcon__NDMYF{color:#ef4444;font-weight:700;font-size:14px}.AuditBadge_errorCount__0ZwxG{color:#ef4444;font-weight:600;font-size:13px}.Header_header__MvnS2{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.Header_logo__j7oID{display:flex;align-items:center;gap:8px;text-decoration:none}.Header_logoIcon__LPn5c{font-size:24px}.Header_logoText__gtMNE{font-size:20px;font-weight:700;color:#d31212}.Header_nav__EE71E{display:flex;gap:24px}.Header_navLink__Q_hTB{color:var(--text-secondary);font-weight:500;text-decoration:none;transition:color .2s;background:none;cursor:pointer;padding:8px 0;border:none;border-bottom:2px solid transparent}.Header_navLink__Q_hTB:hover{color:var(--text-primary)}.Header_navLink__Q_hTB.Header_active__t8h51{color:var(--text-primary);border-bottom:2px solid var(--accent)}.Header_user__1ezj_{display:flex;align-items:center;gap:16px}.Header_email__xgEsW{color:var(--text-secondary);font-size:14px}.Header_signOut__POp0l{padding:8px 16px;font-size:14px;font-weight:500;color:var(--text-primary);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s}.Header_signOut__POp0l:hover{background:var(--border)}.Header_roleBadge__fukWp{padding:4px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;background:#374151;color:#d1d5db}.Header_roleBadge__fukWp[data-role=admin]{background:#dc2626;color:#fff}.Header_roleBadge__fukWp[data-role=operator]{background:#059669;color:#fff}.Header_roleBadge__fukWp[data-role=installer]{background:#2563eb;color:#fff}.Header_roleBadge__fukWp[data-role=viewer]{background:#6b7280;color:#fff}.AuditLog_container__lxSHg{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px}.AuditLog_header__4Y_kc{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.AuditLog_header__4Y_kc h2{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.AuditLog_actions__R1djd{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.AuditLog_filter__8_g_9{padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:14px}.AuditLog_checkbox__pf6_R{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:14px;cursor:pointer}.AuditLog_checkbox__pf6_R input{cursor:pointer}.AuditLog_clearBtn__kfrPx{padding:8px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.AuditLog_clearBtn__kfrPx:hover{background:var(--bg-secondary);color:var(--text-primary)}.AuditLog_acknowledgeBtn__frDuM{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:opacity .2s}.AuditLog_acknowledgeBtn__frDuM:hover{opacity:.9}.AuditLog_table__ZD6DV{width:100%;border-collapse:collapse}.AuditLog_table__ZD6DV th{text-align:left;padding:12px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:600;text-transform:uppercase}.AuditLog_table__ZD6DV td{padding:12px;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:14px}.AuditLog_table__ZD6DV tr.AuditLog_acknowledged__srGbq{opacity:.6}.AuditLog_timestamp__mEjiG{white-space:nowrap;color:var(--text-secondary)}.AuditLog_severity__GaySc{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.AuditLog_severityInfo__JM622{background:rgba(59,130,246,.15);color:#3b82f6}.AuditLog_severityWarning__F9UhF{background:rgba(245,158,11,.15);color:#f59e0b}.AuditLog_severityError__rf2kG{background:rgba(239,68,68,.15);color:#ef4444}.AuditLog_clickable__BEEGl{cursor:pointer;transition:opacity .15s}.AuditLog_clickable__BEEGl:hover{opacity:.7}.AuditLog_messageCode__fElQg{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:11px;padding:2px 6px;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.1);border-radius:3px;color:var(--text-secondary);white-space:nowrap}.AuditLog_message__IqkkH{max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.AuditLog_pagination__6xwqz{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}.AuditLog_pagination__6xwqz button{padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:opacity .2s}.AuditLog_pagination__6xwqz button:disabled{opacity:.5;cursor:not-allowed}.AuditLog_pagination__6xwqz button:hover:not(:disabled){background:var(--bg-card)}.AuditLog_empty__DC0F_,.AuditLog_loading__xLrxS{text-align:center;padding:40px;color:var(--text-secondary)}.StatCard_card__KaFl3{display:flex;align-items:center;gap:16px;padding:24px;background:var(--bg-card);border-radius:12px;border:1px solid var(--border)}.StatCard_icon__SZhOm{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;font-size:24px}.StatCard_icon__SZhOm[data-color=green]{background:rgba(34,197,94,.15);color:#22c55e}.StatCard_icon__SZhOm[data-color=blue]{background:rgba(59,130,246,.15);color:#3b82f6}.StatCard_icon__SZhOm[data-color=yellow]{background:rgba(245,158,11,.15);color:#f59e0b}.StatCard_icon__SZhOm[data-color=red]{background:rgba(239,68,68,.15);color:#ef4444}.StatCard_content__3g7jI{flex:1 1}.StatCard_value__nBsKm{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.2}.StatCard_unit__VEefv{font-size:16px;font-weight:400;color:var(--text-secondary);margin-left:4px}.StatCard_title__Gus46{font-size:14px;color:var(--text-secondary);margin-top:4px}.BatteryTable_container__WNEzT{background:var(--bg-card);border-radius:12px;border:1px solid var(--border);overflow:visible;position:relative}.BatteryTable_loadingOverlay__KYM0I{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:100;border-radius:12px;color:var(--text-primary);font-size:14px}.BatteryTable_loadingSpinner__y77cn{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:BatteryTable_spin__HlXW8 1s linear infinite}@keyframes BatteryTable_spin__HlXW8{to{transform:rotate(1turn)}}.BatteryTable_table__gVkE1{width:100%;border-collapse:collapse}.BatteryTable_table__gVkE1 th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--bg-primary);border-bottom:1px solid var(--border)}.BatteryTable_table__gVkE1 td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.BatteryTable_table__gVkE1 tr:last-child td{border-bottom:none}.BatteryTable_table__gVkE1 tbody tr{cursor:pointer}.BatteryTable_table__gVkE1 tbody tr:hover{background:rgba(0,0,0,.02)}.BatteryTable_serial__le_00{display:flex;flex-direction:column;gap:4px;white-space:nowrap}.BatteryTable_serialNumber__I_A4s{font-weight:600;color:var(--text-primary)}.BatteryTable_serialLink__3HVsl{cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:transparent;text-decoration-color:transparent;transition:-webkit-text-decoration-color .15s;transition:text-decoration-color .15s;transition:text-decoration-color .15s,-webkit-text-decoration-color .15s}.BatteryTable_serialLink__3HVsl:hover{color:#3b82f6;-webkit-text-decoration-color:#3b82f6;text-decoration-color:#3b82f6}.BatteryTable_model__gkE3K{font-size:12px;color:var(--text-secondary)}.BatteryTable_setupBadge__aLosr{display:inline-block;padding:2px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:#f59e0b;background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.3);border-radius:4px}.BatteryTable_status__JLlMd{display:inline-block;padding:4px 12px;border-radius:9999px;font-size:12px;font-weight:500;text-transform:capitalize}.BatteryTable_statusCharging__HAq2y{background:rgba(34,197,94,.15);color:#22c55e}.BatteryTable_statusDischarging__aQvN7{background:rgba(245,158,11,.15);color:#f59e0b}.BatteryTable_statusIdle__uKUxC{background:rgba(59,130,246,.15);color:#3b82f6}.BatteryTable_statusOffline__rKRfG{background:hsla(220,9%,46%,.15);color:#6b7280}.BatteryTable_statusFault__8_gXQ{background:rgba(239,68,68,.15);color:#ef4444}.BatteryTable_statusPending__1CV5u{background:rgba(168,85,247,.15);color:#a855f7;animation:BatteryTable_pulse__VfDVo 1.5s ease-in-out infinite}@keyframes BatteryTable_pulse__VfDVo{0%,to{opacity:1}50%{opacity:.6}}.BatteryTable_soc__wQ6uG{display:flex;align-items:center;gap:12px}.BatteryTable_socBar__2Q5kr{width:60px;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.BatteryTable_socFill__mpX2h{height:100%;border-radius:4px;transition:width .3s}.BatteryTable_socFill__mpX2h[data-level=high]{background:#22c55e}.BatteryTable_socFill__mpX2h[data-level=medium]{background:#f59e0b}.BatteryTable_socFill__mpX2h[data-level=low]{background:#ef4444}.BatteryTable_socValue__uhCyf{font-size:14px;font-weight:500;color:var(--text-primary);min-width:50px}.BatteryTable_power__0v0K0{font-weight:500}.BatteryTable_power__0v0K0[data-direction=discharge]{color:#f59e0b}.BatteryTable_power__0v0K0[data-direction=charge]{color:#22c55e}.BatteryTable_power__0v0K0[data-direction=idle]{color:var(--text-secondary)}.BatteryTable_lastSeen__EzPM8{color:var(--text-secondary);font-size:14px}.BatteryTable_tariff__RTf8h{font-size:14px;color:var(--text-primary)}.BatteryTable_noTariff__XUsH0{color:var(--text-secondary);font-style:italic}.BatteryTable_group__t4Hz3{font-size:14px;color:var(--text-primary)}.BatteryTable_noGroup__Ik1ZN{color:var(--text-secondary)}.BatteryTable_actions__XF1f_{position:relative}.BatteryTable_actionBtn__YJLdb{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:16px;transition:all .2s}.BatteryTable_actionBtn__YJLdb:hover{background:var(--border);color:var(--text-primary)}.BatteryTable_dropdown__cHKEm{position:absolute;right:0;top:100%;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:8px 0;min-width:160px;z-index:200;box-shadow:0 10px 25px rgba(0,0,0,.1)}.BatteryTable_dropdown__cHKEm button{display:block;width:100%;padding:10px 16px;text-align:left;background:transparent;border:none;color:var(--text-primary);font-size:14px;cursor:pointer;transition:background .2s}.BatteryTable_dropdown__cHKEm button:hover{background:rgba(0,0,0,.05)}.BatteryTable_dropdown__cHKEm hr{border:none;border-top:1px solid var(--border);margin:8px 0}.BatteryTable_dropdown__cHKEm .BatteryTable_danger__0Btwm{color:#ef4444}.BatteryTable_dropdown__cHKEm .BatteryTable_danger__0Btwm:hover{background:rgba(239,68,68,.1)}.BatteryTable_empty__LaNEP,.BatteryTable_loading__gUsEp{padding:48px;text-align:center;color:var(--text-secondary)}.BatteryTable_sortable__3Wm3Z{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.BatteryTable_sortable__3Wm3Z:hover{color:var(--text-primary)}.BatteryTable_filterable__BCiOn{position:relative}.BatteryTable_headerWithFilter__oXZyV{display:flex;align-items:center;gap:4px;position:relative}.BatteryTable_filterBtn__JmRGj{padding:2px 4px;font-size:10px;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;opacity:.5;transition:opacity .2s}.BatteryTable_filterBtn__JmRGj.BatteryTable_filterActive__049AG,.BatteryTable_filterBtn__JmRGj:hover{opacity:1}.BatteryTable_filterBtn__JmRGj.BatteryTable_filterActive__049AG{color:var(--accent)}.BatteryTable_filterDropdown__PklAC{position:absolute;top:100%;left:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:4px 0;min-width:140px;z-index:200;box-shadow:0 10px 25px rgba(0,0,0,.1)}.BatteryTable_filterDropdown__PklAC button{display:block;width:100%;padding:8px 12px;text-align:left;background:transparent;border:none;color:var(--text-primary);font-size:13px;cursor:pointer;transition:background .2s;text-transform:capitalize}.BatteryTable_filterDropdown__PklAC button:hover{background:rgba(0,0,0,.05)}.BatteryTable_filterDropdown__PklAC .BatteryTable_filterSelected__JA546{background:rgba(59,130,246,.1);color:var(--accent)}.BatteryTable_filterEmpty__SNzrz{display:block;padding:8px 12px;color:var(--text-secondary);font-size:13px;font-style:italic}.BatteryTable_checkboxCol__Bpb3C{width:40px;text-align:center}.BatteryTable_checkbox___e_i6{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.BatteryTable_notReady__K95Je td{color:var(--text-secondary);opacity:.5}.BatteryTable_notReady__K95Je td:first-child,.BatteryTable_notReady__K95Je td:nth-child(2){opacity:1}.BatteryTable_notReady__K95Je:hover td{opacity:.75}.BatteryTable_selectedRow__JaXrc{background:rgba(59,130,246,.1)!important}.BatteryTable_selectedRow__JaXrc:hover{background:rgba(59,130,246,.15)!important}.BatteryTable_bulkBar__9xMxS{display:flex;align-items:center;gap:16px;padding:12px 16px;min-height:56px;background:var(--bg-secondary);border-bottom:1px solid var(--border);border-radius:12px 12px 0 0}.BatteryTable_bulkBarActive__NIjGT{background:rgba(59,130,246,.1)}.BatteryTable_bulkCount__vd1sW{font-size:14px;font-weight:500;color:var(--text-primary)}.BatteryTable_bulkPlaceholder__IAISA{font-size:14px;color:var(--text-secondary);display:flex;align-items:center;gap:16px}.BatteryTable_clearFilters__BFy__{padding:4px 8px;font-size:12px;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:4px;cursor:pointer;transition:all .2s}.BatteryTable_clearFilters__BFy__:hover{background:rgba(59,130,246,.1)}.BatteryTable_bulkActions__mJzLi{display:flex;gap:8px;flex:1 1}.BatteryTable_bulkActions__mJzLi button{padding:6px 12px;font-size:13px;font-weight:500;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s}.BatteryTable_bulkActions__mJzLi button:hover{background:var(--border)}.BatteryTable_bulkDanger__gDLRG{color:#ef4444!important}.BatteryTable_bulkDanger__gDLRG:hover{background:rgba(239,68,68,.1)!important;border-color:rgba(239,68,68,.3)!important}.BatteryTable_bulkClear__RDT2k{padding:6px 12px;font-size:13px;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:color .2s}.BatteryTable_bulkClear__RDT2k:hover{color:var(--text-primary)}.BatteryTable_controlCell__m6me6,.BatteryTable_inverterCell__XIAMY,.BatteryTable_tariffCell__9ddSn{cursor:pointer}.BatteryTable_controlCell__m6me6:hover,.BatteryTable_inverterCell__XIAMY:hover,.BatteryTable_tariffCell__9ddSn:hover{background:rgba(0,0,0,.03)}.BatteryTable_inverterCell__XIAMY{font-size:12px}.BatteryTable_controlMode__aFxuB{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}.BatteryTable_controlWarning__63wVX{background:rgba(239,68,68,.15);color:#ef4444}.BatteryTable_controlAuto__DDTnG{background:rgba(59,130,246,.15);color:#3b82f6}.BatteryTable_controlCharge__z8dM0{background:rgba(34,197,94,.15);color:#22c55e}.BatteryTable_controlDischarge__BvFhi{background:rgba(245,158,11,.15);color:#f59e0b}.BatteryTable_controlIdle__J6GKr{background:hsla(220,9%,46%,.15);color:#6b7280}.BatteryTable_controlSelfUse__5Vt_Y{background:rgba(168,85,247,.15);color:#a855f7}.BatteryTable_warningIcon__PxGRJ{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:#ef4444;color:#fff;border-radius:50%;font-size:10px;font-weight:700}.ControlModeModal_overlay__USGpg{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000}.ControlModeModal_modal__FZ93Z{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;width:100%;max-width:450px;max-height:90vh;overflow-y:auto}.ControlModeModal_modal__FZ93Z h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.ControlModeModal_subtitle__PHGT4{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.ControlModeModal_modeList__Zvvkf{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.ControlModeModal_modeOption__fsJU8{display:flex;flex-direction:column;align-items:flex-start;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.ControlModeModal_modeOption__fsJU8:hover{background:hsla(0,0%,100%,.05);border-color:var(--accent)}.ControlModeModal_modeOption__fsJU8.ControlModeModal_selected___woXr{background:rgba(59,130,246,.1);border-color:var(--accent)}.ControlModeModal_modeOption__fsJU8.ControlModeModal_forceCharge__twAwv.ControlModeModal_selected___woXr{background:rgba(34,197,94,.1);border-color:#22c55e}.ControlModeModal_modeOption__fsJU8.ControlModeModal_forceDischarge__Xuaw8.ControlModeModal_selected___woXr{background:rgba(245,158,11,.1);border-color:#f59e0b}.ControlModeModal_modeHeader__yDPuh{display:flex;align-items:center;gap:8px}.ControlModeModal_modeName__9x_da{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.ControlModeModal_modeTag__P8ban{font-size:10px;font-weight:500;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:rgba(59,130,246,.2);color:#3b82f6}.ControlModeModal_modeDesc__qyNEt{font-size:12px;color:var(--text-secondary)}.ControlModeModal_forceSettings__Oohoy{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:20px}.ControlModeModal_settingGroup__gTSvU{margin-bottom:16px}.ControlModeModal_settingGroup__gTSvU:last-child{margin-bottom:0}.ControlModeModal_settingLabel__qNGcx{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.ControlModeModal_settingLabel__qNGcx strong{color:var(--text-primary)}.ControlModeModal_sliderContainer__XEQQS{padding:0 4px}.ControlModeModal_slider__GJryH{width:100%;height:6px;border-radius:3px;background:var(--border);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer}.ControlModeModal_slider__GJryH::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg-card);box-shadow:0 2px 4px rgba(0,0,0,.3)}.ControlModeModal_slider__GJryH::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg-card);box-shadow:0 2px 4px rgba(0,0,0,.3)}.ControlModeModal_sliderLabels__aHEnF{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary);margin-top:4px}.ControlModeModal_durationPresets__3g520{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ControlModeModal_presetBtn__CieOE{padding:6px 12px;font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s}.ControlModeModal_presetBtn__CieOE:hover{background:var(--border);color:var(--text-primary)}.ControlModeModal_presetBtn__CieOE.ControlModeModal_presetActive__2Of0R{background:rgba(59,130,246,.1);border-color:var(--accent);color:var(--accent)}.ControlModeModal_customDuration__uUHnF{display:flex;align-items:center;gap:8px}.ControlModeModal_customInput__75Km_{flex:1 1;padding:8px 12px;font-size:13px;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:6px;outline:none;transition:border-color .2s}.ControlModeModal_customInput__75Km_:focus{border-color:var(--accent)}.ControlModeModal_customInput__75Km_::placeholder{color:var(--text-secondary)}.ControlModeModal_customHint__ynCLw{font-size:11px;color:var(--text-secondary)}.ControlModeModal_actions__qY_6H{display:flex;gap:12px;justify-content:flex-end}.ControlModeModal_cancelBtn__juFi0{padding:10px 20px;font-size:14px;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.ControlModeModal_cancelBtn__juFi0:hover{background:var(--border);color:var(--text-primary)}.ControlModeModal_confirmBtn__8Jwfa{padding:10px 20px;font-size:14px;font-weight:500;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:8px;cursor:pointer;transition:all .2s}.ControlModeModal_confirmBtn__8Jwfa:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.ControlModeModal_confirmBtn__8Jwfa:disabled{opacity:.5;cursor:not-allowed}.page_page__ZU32B{min-height:100vh;display:flex;flex-direction:column}.page_main__GlU4n{flex:1 1;padding:32px;max-width:1400px;margin:0 auto;width:100%}.page_header__kVzhN{margin-bottom:32px}.page_header__kVzhN h1{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.page_subtitle__iAJUg{color:var(--text-secondary);font-size:14px}.page_stats__L5b4y{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:20px;gap:20px;margin-bottom:32px}.page_section__61PEw{margin-bottom:32px}.page_sectionHeader__a4Fw5{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page_sectionHeader__a4Fw5 h2{font-size:20px;font-weight:600;color:var(--text-primary)}.page_setupFilter__4z7IN{display:flex;align-items:center;gap:8px;padding:10px 16px;margin-bottom:12px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);border-radius:8px;font-size:13px;color:#f59e0b;cursor:pointer}.page_setupFilter__4z7IN input[type=checkbox]{accent-color:#f59e0b}.page_refreshBtn__kvmAp{padding:8px 16px;font-size:14px;font-weight:500;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s}.page_refreshBtn__kvmAp:hover{background:var(--border)}.page_message__abnJo{position:fixed;top:80px;right:32px;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;z-index:1000;animation:page_slideIn__TYhrx .3s ease}@keyframes page_slideIn__TYhrx{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.page_success__Xb9nl{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);color:#22c55e}.page_error__Jil8M{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);color:#ef4444}.page_loadingPage__fHGrz{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-secondary)}.page_spinner__1WnEQ{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:page_spin__W_8_q 1s linear infinite}@keyframes page_spin__W_8_q{to{transform:rotate(1turn)}}.page_modalOverlay__OBdlJ{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000}.page_modal__OJIkq{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;width:100%;max-width:400px;max-height:80vh;overflow-y:auto}.page_modal__OJIkq h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.page_modalSubtitle__KEPZU{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.page_tariffList__IlvY3{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.page_tariffOption__6HUT_{display:flex;flex-direction:column;align-items:flex-start;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.page_tariffOption__6HUT_:hover{background:rgba(0,0,0,.03);border-color:var(--accent)}.page_tariffOption__6HUT_.page_selected__GuR9L{background:rgba(59,130,246,.1);border-color:var(--accent)}.page_tariffName__vmJsg{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.page_tariffDesc__fH0ea{font-size:12px;color:var(--text-secondary)}.page_modalClose__WivqM{width:100%;padding:12px;font-size:14px;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.page_modalClose__WivqM:hover{background:var(--border);color:var(--text-primary)}.page_confirmModal__KKvvS{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;width:100%;max-width:400px}.page_confirmModal__KKvvS h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.page_confirmText__4LsTz{font-size:14px;color:var(--text-secondary);margin-bottom:24px;line-height:1.5}.page_confirmText__4LsTz strong{color:var(--text-primary)}.page_confirmButtons__UWycX{display:flex;gap:12px;justify-content:flex-end}.page_confirmCancel__fwTxV{padding:10px 20px;font-size:14px;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.page_confirmCancel__fwTxV:hover{background:var(--border);color:var(--text-primary)}.page_confirmOk__DpmI_{padding:10px 20px;font-size:14px;font-weight:500;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:8px;cursor:pointer;transition:all .2s}.page_confirmOk__DpmI_:hover{background:#2563eb;border-color:#2563eb}.page_page__oJq_o{min-height:100vh;display:flex;flex-direction:column}.page_main__90TRU{flex:1 1;padding:32px;max-width:1400px;margin:0 auto;width:100%}.page_pageHeader__s21FK{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page_pageHeader__s21FK h1{font-size:24px;font-weight:700;color:var(--text-primary)}.page_statsRow__dDZnA{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px;margin-bottom:32px}.page_selectorRow__WcmX2{display:flex;align-items:center;gap:16px;margin-bottom:24px}.page_selectorRow__WcmX2 label{font-size:14px;font-weight:600;color:var(--text-secondary)}.page_select__dDQlf{padding:10px 14px;font-size:14px;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;outline:none;cursor:pointer;min-width:280px}.page_select__dDQlf:focus{border-color:var(--accent)}.page_periodsSection__AK0Uh{margin-bottom:32px}.page_periodsSection__AK0Uh h2{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.page_periodsList__9CJM1{display:flex;flex-direction:column;gap:8px}.page_periodCard__Tsd3_{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s}.page_periodCard__Tsd3_:hover{border-color:var(--accent)}.page_periodCardActive__wcDsd{border-color:var(--accent);background:rgba(59,130,246,.05)}.page_periodInfo__Hduxi{display:flex;align-items:center;gap:16px}.page_periodName__EyWFy{font-size:15px;font-weight:600;color:var(--text-primary)}.page_periodDates__POaWx{font-size:13px;color:var(--text-secondary)}.page_periodPrices__5upff{font-size:12px;color:var(--text-secondary)}.page_periodBadge__oSAp3{display:inline-block;padding:3px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;background:rgba(34,197,94,.15);color:#22c55e}.page_reportSection__QQRB2{margin-top:32px}.page_reportSection__QQRB2 h2{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.page_summaryCards__7F96n{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;margin-bottom:24px}.page_chartContainer__g0jnN{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:20px}.page_chartTitle__Hfg7J{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.page_chartLegend__5THqu{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.page_legendItem__oCzaV{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.page_legendDot__hZO_8{width:10px;height:10px;border-radius:50%}.page_fleetTable__ea4dH{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:32px}.page_fleetTable__ea4dH th{text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background:var(--bg-secondary)}.page_fleetTable__ea4dH td,.page_fleetTable__ea4dH th{padding:12px 16px;border-bottom:1px solid var(--border)}.page_fleetTable__ea4dH td{font-size:14px;color:var(--text-primary)}.page_fleetTable__ea4dH tr:last-child td{border-bottom:none}.page_fleetTable__ea4dH tr:hover td{background:hsla(0,0%,100%,.02)}.page_batteryCell__SYbgv{display:flex;flex-direction:column;gap:2px}.page_serialNumber__rbjE8{font-family:monospace;font-size:13px;color:var(--text-primary);font-weight:600}.page_displayName__wPHCy{font-size:12px;color:var(--text-secondary)}.page_savings__4olV1{color:#22c55e;font-weight:600}.page_empty__7ckm8,.page_loading__4d3IW{text-align:center;padding:48px;color:var(--text-secondary);font-size:14px}.page_tooltip__qMDB7{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:12px;box-shadow:0 4px 12px rgba(0,0,0,.3)}.page_tooltipLabel__I4XIM{font-weight:600;color:var(--text-primary);margin-bottom:6px}.page_tooltipRow__yoEdi{display:flex;justify-content:space-between;gap:16px;color:var(--text-secondary);line-height:1.8}.page_tooltipValue__k6Gmn{font-weight:500;color:var(--text-primary)}.LogViewer_logViewer__g7igQ{background:#0d1117;border:1px solid var(--border);border-radius:12px;margin-bottom:20px;overflow:hidden}.LogViewer_toolbar__rikt7{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border);gap:12px}.LogViewer_toolbarLeft__xmgEN,.LogViewer_toolbarRight__y47S9{display:flex;align-items:center;gap:8px}.LogViewer_indicator__1CR9F{width:8px;height:8px;border-radius:50%;flex-shrink:0}.LogViewer_indicatorOnline__5tpcr{background:#22c55e;box-shadow:0 0 6px rgba(34,197,94,.5)}.LogViewer_indicatorOffline__ScTR9{background:#6b7280}.LogViewer_indicatorLabel__F_oc_{font-size:12px;color:var(--text-secondary);font-weight:500}.LogViewer_snapshotTime__RXzcX{font-size:11px;color:var(--text-secondary);opacity:.7}.LogViewer_levelSelect__JNaiS{padding:3px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:12px;cursor:pointer}.LogViewer_autoScrollLabel__x2Ozt{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.LogViewer_autoScrollLabel__x2Ozt input{cursor:pointer}.LogViewer_toolbarBtn__vd_D1{padding:4px 10px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s;white-space:nowrap}.LogViewer_toolbarBtn__vd_D1:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.LogViewer_toolbarBtn__vd_D1:disabled{opacity:.4;cursor:not-allowed}.LogViewer_logContainer__NY3YU{height:400px;overflow-y:auto;padding:8px 0;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px;line-height:1.6}.LogViewer_logContainer__NY3YU::-webkit-scrollbar{width:8px}.LogViewer_logContainer__NY3YU::-webkit-scrollbar-track{background:transparent}.LogViewer_logContainer__NY3YU::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.1);border-radius:4px}.LogViewer_logContainer__NY3YU::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.2)}.LogViewer_logLine__PiPBX{padding:1px 12px;display:flex;gap:8px;white-space:pre}.LogViewer_logLine__PiPBX:hover{background:hsla(0,0%,100%,.03)}.LogViewer_logTs__wYazg{color:#6b7280;flex-shrink:0}.LogViewer_logLevel__JglEf{flex-shrink:0;font-weight:600;width:60px}.LogViewer_logMsg__Z0DbC{color:#c9d1d9;white-space:pre-wrap;word-break:break-word}.LogViewer_logError__e1Yy0 .LogViewer_logLevel__JglEf{color:#ef4444}.LogViewer_logError__e1Yy0 .LogViewer_logMsg__Z0DbC{color:#fca5a5}.LogViewer_logWarning__HpOlv .LogViewer_logLevel__JglEf{color:#f59e0b}.LogViewer_logWarning__HpOlv .LogViewer_logMsg__Z0DbC{color:#fcd34d}.LogViewer_logInfo__ZUtQn .LogViewer_logLevel__JglEf{color:#3b82f6}.LogViewer_logDebug__sq_mk .LogViewer_logLevel__JglEf{color:#6b7280}.LogViewer_logDebug__sq_mk .LogViewer_logMsg__Z0DbC{color:#9ca3af}.LogViewer_loadMore__IeCcI{text-align:center;padding:4px 12px;font-size:11px;border-bottom:1px solid hsla(0,0%,100%,.06);margin-bottom:4px}.LogViewer_emptyState__BEGlV,.LogViewer_loadMore__IeCcI{color:#6b7280;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.LogViewer_emptyState__BEGlV{display:flex;align-items:center;justify-content:center;height:100%;font-size:13px}.page_page__XWIuV{min-height:100vh;background:var(--bg-primary)}.page_main__1oxMK{padding:24px;max-width:1400px;margin:0 auto}.page_backLink__DTOqn{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);text-decoration:none;font-size:14px;margin-bottom:16px;cursor:pointer;transition:color .15s}.page_backLink__DTOqn:hover{color:var(--text-primary)}.page_infoHeader__huhge{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;margin-bottom:24px}.page_infoCard__xMhV7{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px 16px}.page_infoLabel__0zRBu{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:4px}.page_infoValue__DdcG2{font-size:18px;font-weight:600;color:var(--text-primary)}.page_infoValueSmall__keC4R{font-size:14px;font-weight:500;color:var(--text-primary)}.page_timeRange__hNdLU{display:flex;gap:8px;margin-bottom:20px}.page_timeBtn__O6XC4{padding:6px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.page_timeBtn__O6XC4:hover{border-color:#3b82f6;color:#3b82f6}.page_timeBtnActive__4qfWL{background:#3b82f6;color:#fff;border-color:#3b82f6}.page_chartSection__iuGEy{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}.page_chartTitle__Ru81N{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.page_chartEmpty__aN3ca{text-align:center;padding:40px;color:var(--text-secondary);font-size:14px}.page_loading__3SGk2{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--text-secondary)}.page_statusBadge__xi3nk{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase}.page_statusBadge__xi3nk[data-status=charging]{background:rgba(59,130,246,.15);color:#3b82f6}.page_statusBadge__xi3nk[data-status=discharging]{background:rgba(34,197,94,.15);color:#22c55e}.page_statusBadge__xi3nk[data-status=idle]{background:hsla(220,9%,46%,.15);color:#6b7280}.page_statusBadge__xi3nk[data-status=online]{background:rgba(34,197,94,.15);color:#22c55e}.page_statusBadge__xi3nk[data-status=offline]{background:rgba(239,68,68,.15);color:#ef4444}.page_actionBar__KmAYW{display:flex;gap:8px;margin-bottom:20px}.page_viewLogsBtn__nRRCA{padding:6px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.page_viewLogsBtn__nRRCA:hover{border-color:#3b82f6;color:#3b82f6}.page_decommissionBtn__NAn16{padding:6px 16px;border-radius:6px;border:1px solid rgba(239,68,68,.3);background:transparent;color:#ef4444;font-size:13px;cursor:pointer;transition:all .15s}.page_decommissionBtn__NAn16:hover{border-color:#ef4444;background:rgba(239,68,68,.1)}.page_wizard__OsSkS{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:24px}.page_wizardTitle__MuPLU{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.page_wizardSubtitle__kCk_i{font-size:13px;color:var(--text-secondary);margin-bottom:24px}.page_wizardSteps__uPX9H{display:flex;gap:0;margin-bottom:24px;border-bottom:1px solid var(--border)}.page_wizardStep__U_Q_y{padding:8px 20px;font-size:13px;font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent;cursor:default}.page_wizardStepActive__nG0Y6{color:#3b82f6;border-bottom-color:#3b82f6}.page_wizardStepDone__05oPH{color:#22c55e}.page_wizardStepClickable__cfREN{cursor:pointer;transition:color .15s}.page_wizardStepClickable__cfREN:hover{color:#3b82f6}.page_tabPanel__LSedU{display:none}.page_tabPanelActive__qM_rq{display:block}.page_tabContent__Yk8N1{display:flex;flex-direction:column;height:100%}.page_tabContentBody__LQkbJ{flex:1 1}.page_formGroup__duxqo{margin-bottom:16px}.page_formGroup__duxqo label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.page_formInput__LHSrd{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:14px}.page_formInput__LHSrd:focus{outline:none;border-color:#3b82f6}.page_formSelect__6EWX4{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:14px}.page_formRow__wY7xU{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.page_formActions__BzLX3{display:flex;gap:8px;margin-top:20px}.page_primaryBtn__dOS6u{padding:8px 20px;border-radius:6px;border:none;background:#3b82f6;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.page_primaryBtn__dOS6u:hover:not(:disabled){background:#2563eb}.page_primaryBtn__dOS6u:disabled{opacity:.5;cursor:not-allowed}.page_secondaryBtn__FxEBY{padding:8px 20px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .15s}.page_secondaryBtn__FxEBY:hover{border-color:var(--text-secondary)}.page_successBtn__JYGN9{padding:8px 20px;border-radius:6px;border:none;background:#22c55e;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.page_successBtn__JYGN9:hover:not(:disabled){background:#16a34a}.page_successBtn__JYGN9:disabled{opacity:.5;cursor:not-allowed}.page_testSteps__JTygR{display:flex;flex-direction:column;gap:12px}.page_testStep__n6myk{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:8px;border:1px solid var(--border);background:var(--bg-primary)}.page_testStepIcon__aN8dg{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.page_testStepPending__sbFnB .page_testStepIcon__aN8dg{background:hsla(220,9%,46%,.15);color:#6b7280}.page_testStepRunning__viNyY .page_testStepIcon__aN8dg{background:rgba(59,130,246,.15);color:#3b82f6;animation:page_pulse__aCgyO 1.5s infinite}.page_testStepPass__BNh3E .page_testStepIcon__aN8dg{background:rgba(34,197,94,.15);color:#22c55e}.page_testStepFail___4R93 .page_testStepIcon__aN8dg{background:rgba(239,68,68,.15);color:#ef4444}@keyframes page_pulse__aCgyO{0%,to{opacity:1}50%{opacity:.5}}.page_testStepInfo__HuJo_{flex:1 1}.page_testStepName__CD2JM{font-size:14px;font-weight:500;color:var(--text-primary)}.page_testStepDetail__BXbJd{font-size:12px;color:var(--text-secondary);margin-top:2px}.page_testStepTime__W_7qY{font-size:11px;color:var(--text-secondary);opacity:.7;margin-top:2px}.page_testStepAction__PyeT4{flex-shrink:0}.page_runTestBtn__wkpBn{padding:6px 16px;border-radius:6px;border:1px solid #3b82f6;background:transparent;color:#3b82f6;font-size:13px;cursor:pointer;transition:all .15s}.page_runTestBtn__wkpBn:hover:not(:disabled){background:#3b82f6;color:#fff}.page_runTestBtn__wkpBn:disabled{opacity:.4;cursor:not-allowed}.page_commissionSection___ajXa{padding:20px}.page_testSummary__CR6H2{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}.page_testSummaryTitle__y_ckA{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.page_testSummaryRow__1Kcj9{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:13px}.page_testSummaryPass__HJjKC{color:#22c55e;font-weight:700;width:16px;text-align:center}.page_testSummaryFail__lHD5Y{color:#ef4444;font-weight:700;width:16px;text-align:center}.page_testSummaryNotRun__SF1kL{color:var(--text-secondary);font-weight:700;width:16px;text-align:center}.page_testSummaryName___PKZp{flex:1 1;color:var(--text-primary)}.page_testSummaryTime__O_gNA{color:var(--text-secondary);font-size:12px}.page_commissionMessage__iLf7_{font-size:14px;color:var(--text-secondary);margin-bottom:16px;text-align:center}.page_commissionWarning__tOl51{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:13px;color:#f59e0b}.page_warningBtn__tVwYV{padding:8px 20px;border-radius:6px;border:1px solid #f59e0b;background:rgba(245,158,11,.15);color:#f59e0b;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.page_warningBtn__tVwYV:hover:not(:disabled){background:rgba(245,158,11,.25)}.page_warningBtn__tVwYV:disabled{opacity:.5;cursor:not-allowed}.page_notCommissioned__A0eFw{background:var(--bg-card);border:1px solid rgba(245,158,11,.3);border-radius:12px;padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.page_message__msP_Z{padding:10px 16px;border-radius:8px;font-size:13px;margin-bottom:16px}.page_messageSuccess__iYZG3{background:rgba(34,197,94,.15);color:#22c55e;border:1px solid rgba(34,197,94,.3)}.page_messageError__UEDCz{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.page_testLockedMessage__FE_Ga{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:24px;text-align:center;color:#f59e0b;font-size:14px}.page_settingsCategory__qsLvk{margin-bottom:24px}.page_settingsCategoryTitle__EGedF{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border)}.page_settingsGrid__xUihD{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 24px;gap:12px 24px}.page_settingsGrid__xUihD .page_formGroup__duxqo label{display:flex;align-items:center;gap:6px}.page_resetBtn__q0g10{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0 2px;opacity:.5;transition:all .15s;display:inline-flex;align-items:center}.page_resetBtn__q0g10:hover{opacity:1;color:#3b82f6}.page_restartBadge___lq5Q{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:#f59e0b;background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.3);border-radius:3px;padding:1px 5px}.page_numberInputGroup__UGW6j{display:flex;align-items:center;gap:6px}.page_numberInputGroup__UGW6j .page_formInput__LHSrd{flex:1 1}.page_settingUnit__8v0MM{font-size:12px;color:var(--text-secondary);min-width:24px}.page_checkboxGroup__ZkjoR{display:flex;align-items:center;gap:8px;padding:8px 0}.page_checkboxGroup__ZkjoR input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6;cursor:pointer}.page_checkboxLabel__p9_GG{font-size:14px;color:var(--text-secondary)}.admin_page__vpQeZ{min-height:100vh;display:flex;flex-direction:column}.admin_main__YMwzf{flex:1 1;padding:32px;max-width:1200px;margin:0 auto;width:100%}.admin_pageHeader__ixPuh{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin_pageHeader__ixPuh h1{font-size:24px;font-weight:700;color:var(--text-primary)}.admin_addBtn__rc5ho{padding:10px 20px;font-size:14px;font-weight:500;color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer;transition:all .2s}.admin_addBtn__rc5ho:hover{background:#2563eb}.admin_addBtn__rc5ho:disabled{opacity:.5;cursor:not-allowed}.admin_table__YVX8y{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.admin_table__YVX8y th{text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background:var(--bg-secondary)}.admin_table__YVX8y td,.admin_table__YVX8y th{padding:12px 16px;border-bottom:1px solid var(--border)}.admin_table__YVX8y td{font-size:14px;color:var(--text-primary)}.admin_table__YVX8y tr:last-child td{border-bottom:none}.admin_table__YVX8y tr:hover td{background:hsla(0,0%,100%,.02)}.admin_badge__PuCa0{display:inline-block;padding:3px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:4px}.admin_badgePreset__UduQs{background:#e5e7eb;color:#4b5563}.admin_badgeAdmin__VAdem{background:#dc2626;color:#fff}.admin_badgeOperator__JTBAs{background:#059669;color:#fff}.admin_badgeInstaller__esQLG{background:#2563eb;color:#fff}.admin_badgeViewer__xjv0Q{background:#6b7280;color:#fff}.admin_badgeActive__SMRbC{background:rgba(34,197,94,.15);color:#22c55e}.admin_badgeInactive__p_I6R{background:rgba(239,68,68,.15);color:#ef4444}.admin_actionBtn__No2WV{padding:6px 12px;font-size:12px;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s;margin-right:6px}.admin_actionBtn__No2WV:hover{background:var(--border);color:var(--text-primary)}.admin_actionBtnDanger__jolYI{color:#ef4444;border-color:rgba(239,68,68,.3)}.admin_actionBtnDanger__jolYI:hover{background:rgba(239,68,68,.1);color:#ef4444}.admin_modalOverlay__tOWV1{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000}.admin_modal__LAek5{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;width:100%;max-width:480px;max-height:80vh;overflow-y:auto}.admin_modal__LAek5 h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:20px}.admin_formGroup__U4EUY{margin-bottom:16px}.admin_formGroup__U4EUY label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.admin_formInput__O_XIx{width:100%;padding:10px 12px;font-size:14px;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;outline:none;box-sizing:border-box}.admin_formInput__O_XIx:focus{border-color:var(--accent)}.admin_formSelect__4Zodh{cursor:pointer}.admin_formRow__LvFEu{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.admin_formActions__Iat6e{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.admin_cancelBtn__62YmS{padding:10px 20px;font-size:14px;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer}.admin_cancelBtn__62YmS:hover{background:var(--border);color:var(--text-primary)}.admin_submitBtn__Ai_OP{padding:10px 20px;font-size:14px;font-weight:500;color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer}.admin_submitBtn__Ai_OP:hover{background:#2563eb}.admin_submitBtn__Ai_OP:disabled{opacity:.5;cursor:not-allowed}.admin_message__UwNnL{position:fixed;top:80px;right:32px;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;z-index:1001}.admin_success__P1DXz{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);color:#22c55e}.admin_error__gAtTl{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);color:#ef4444}.admin_empty__UvtdV{text-align:center;padding:48px;color:var(--text-secondary)}