:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e)}#app{width:100%;min-height:100vh}.login-container[data-v-1ed778ce]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:24px}.login-card[data-v-1ed778ce]{width:100%;max-width:440px;background:#1e1e2ecc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d;padding:48px 40px}.login-header[data-v-1ed778ce]{text-align:center;margin-bottom:40px}.logo[data-v-1ed778ce]{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:16px;margin-bottom:24px}.logo svg[data-v-1ed778ce]{width:36px;height:36px;color:#fff}.login-header h1[data-v-1ed778ce]{font-size:1.75rem;font-weight:700;color:#fff;margin:0 0 8px}.login-header p[data-v-1ed778ce]{font-size:.95rem;color:#fff9;margin:0}.login-form[data-v-1ed778ce]{display:flex;flex-direction:column;gap:24px}.form-group[data-v-1ed778ce]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-1ed778ce]{font-size:.875rem;font-weight:500;color:#ffffffe6}.form-group input[data-v-1ed778ce]{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.95rem;transition:all .3s ease}.form-group input[data-v-1ed778ce]:focus{outline:none;border-color:#3b82f6;background:#ffffff14;box-shadow:0 0 0 3px #3b82f61a}.form-group input[data-v-1ed778ce]::placeholder{color:#ffffff4d}.form-group input[data-v-1ed778ce]:disabled{opacity:.5;cursor:not-allowed}.password-input[data-v-1ed778ce]{position:relative}.password-input input[data-v-1ed778ce]{padding-right:48px}.toggle-password[data-v-1ed778ce]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffff80;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.toggle-password[data-v-1ed778ce]:hover{color:#fffc}.toggle-password svg[data-v-1ed778ce]{width:20px;height:20px}.form-options[data-v-1ed778ce]{display:flex;align-items:center;justify-content:space-between;gap:16px}.checkbox-label[data-v-1ed778ce]{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#ffffffb3;cursor:pointer}.checkbox-label input[type=checkbox][data-v-1ed778ce]{width:16px;height:16px;cursor:pointer}.forgot-password[data-v-1ed778ce]{background:none;border:none;color:#3b82f6;font-size:.875rem;font-weight:500;cursor:pointer;padding:0;transition:color .3s ease}.forgot-password[data-v-1ed778ce]:hover{color:#60a5fa}.error-message[data-v-1ed778ce]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:.875rem}.error-message svg[data-v-1ed778ce]{width:20px;height:20px;flex-shrink:0}.login-button[data-v-1ed778ce]{width:100%;padding:14px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px}.login-button[data-v-1ed778ce]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #3b82f64d}.login-button[data-v-1ed778ce]:active:not(:disabled){transform:translateY(0)}.login-button[data-v-1ed778ce]:disabled{opacity:.6;cursor:not-allowed}.loading-spinner[data-v-1ed778ce]{display:flex;align-items:center;justify-content:center;gap:8px}.loading-spinner svg[data-v-1ed778ce]{width:20px;height:20px;animation:spin-1ed778ce 1s linear infinite}@keyframes spin-1ed778ce{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-footer[data-v-1ed778ce]{margin-top:32px;text-align:center}.login-footer p[data-v-1ed778ce]{font-size:.8rem;color:#fff6;margin:0}.modal-overlay[data-v-1ed778ce]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.modal-content[data-v-1ed778ce]{position:relative;width:100%;max-width:440px;background:#1e1e2ef2;border-radius:16px;border:1px solid rgba(255,255,255,.1);padding:40px;box-shadow:0 8px 32px #00000080}.modal-close[data-v-1ed778ce]{position:absolute;top:16px;right:16px;background:none;border:none;color:#ffffff80;cursor:pointer;padding:4px;display:flex;transition:color .3s ease}.modal-close[data-v-1ed778ce]:hover{color:#ffffffe6}.modal-close svg[data-v-1ed778ce]{width:24px;height:24px}.modal-content h2[data-v-1ed778ce]{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 16px}.modal-content p[data-v-1ed778ce]{font-size:.95rem;color:#ffffffb3;margin:0 0 24px;line-height:150%}.reset-button[data-v-1ed778ce]{width:100%;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px}.reset-button[data-v-1ed778ce]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #3b82f64d}.reset-button[data-v-1ed778ce]:disabled{opacity:.6;cursor:not-allowed}.reset-success[data-v-1ed778ce]{text-align:center;padding:24px 0}.reset-success svg[data-v-1ed778ce]{width:64px;height:64px;color:#10b981;margin-bottom:24px}.reset-success h3[data-v-1ed778ce]{font-size:1.25rem;font-weight:600;color:#fff;margin:0 0 12px}.reset-success p[data-v-1ed778ce]{margin-bottom:32px}.reset-success strong[data-v-1ed778ce]{color:#3b82f6}.close-modal-button[data-v-1ed778ce]{padding:12px 32px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.close-modal-button[data-v-1ed778ce]:hover{background:#ffffff26;border-color:#ffffff4d}@media (max-width: 480px){.login-card[data-v-1ed778ce]{padding:32px 24px}.login-header h1[data-v-1ed778ce]{font-size:1.5rem}.form-options[data-v-1ed778ce]{flex-direction:column;align-items:flex-start}}.app-header[data-v-5b26053a]{background:#1e1e2ecc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);padding:16px 24px 0;position:sticky;top:0;z-index:100}.header-content[data-v-5b26053a]{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.header-left[data-v-5b26053a]{display:flex;align-items:center;gap:16px}.logo[data-v-5b26053a]{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;flex-shrink:0}.logo svg[data-v-5b26053a]{width:28px;height:28px;color:#fff}.header-title h1[data-v-5b26053a]{font-size:1.25rem;font-weight:700;color:#fff;margin:0;line-height:1.2}.header-title p[data-v-5b26053a]{font-size:.8rem;color:#ffffff80;margin:2px 0 0}.header-right[data-v-5b26053a]{position:relative;display:flex;align-items:center;gap:12px}.filter-button[data-v-5b26053a]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffb3;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;position:relative}.filter-button[data-v-5b26053a]:hover{background:#ffffff14;border-color:#fff3;color:#fff}.filter-button.active[data-v-5b26053a]{background:#3b82f626;border-color:#3b82f666;color:#60a5fa}.filter-button svg[data-v-5b26053a]{width:18px;height:18px;flex-shrink:0}.filter-badge[data-v-5b26053a]{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#3b82f6;border-radius:10px;color:#fff;font-size:.75rem;font-weight:700}.user-info[data-v-5b26053a]{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .3s ease}.user-info[data-v-5b26053a]:hover{background:#ffffff14;border-color:#fff3}.user-avatar[data-v-5b26053a]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;flex-shrink:0}.user-avatar svg[data-v-5b26053a]{width:20px;height:20px;color:#fff}.user-details[data-v-5b26053a]{display:flex;flex-direction:column;gap:2px;min-width:0}.user-name[data-v-5b26053a]{font-size:.9rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role[data-v-5b26053a]{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.dropdown-icon[data-v-5b26053a]{width:16px;height:16px;color:#ffffff80;flex-shrink:0;transition:transform .3s ease}.user-info:hover .dropdown-icon[data-v-5b26053a]{color:#fffc}.user-menu-overlay[data-v-5b26053a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998}.user-menu[data-v-5b26053a]{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:#1e1e2efa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 32px #0006;z-index:999;overflow:hidden}.menu-header[data-v-5b26053a]{padding:20px;background:#ffffff05}.menu-user-info[data-v-5b26053a]{display:flex;gap:12px}.menu-user-avatar[data-v-5b26053a]{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;flex-shrink:0}.menu-user-avatar svg[data-v-5b26053a]{width:24px;height:24px;color:#fff}.menu-user-details[data-v-5b26053a]{display:flex;flex-direction:column;gap:4px;min-width:0}.menu-user-name[data-v-5b26053a]{font-size:.95rem;font-weight:600;color:#fff;line-height:1.3}.menu-user-email[data-v-5b26053a]{font-size:.8rem;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-user-role[data-v-5b26053a]{display:inline-flex;align-items:center;padding:4px 10px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:6px;align-self:flex-start;margin-top:4px}.menu-divider[data-v-5b26053a]{height:1px;background:#ffffff1a}.menu-items[data-v-5b26053a]{padding:8px}.menu-item[data-v-5b26053a]{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;border-radius:8px;color:#fffc;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:left}.menu-item[data-v-5b26053a]:hover:not(:disabled){background:#ffffff0d;color:#fff}.menu-item svg[data-v-5b26053a]{width:18px;height:18px;flex-shrink:0}.menu-item.logout[data-v-5b26053a]{color:#fca5a5}.menu-item.logout[data-v-5b26053a]:hover:not(:disabled){background:#ef44441a;color:#ef4444}.menu-item[data-v-5b26053a]:disabled{opacity:.5;cursor:not-allowed}.spinner[data-v-5b26053a]{animation:spin-5b26053a 1s linear infinite}@keyframes spin-5b26053a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.menu-enter-active[data-v-5b26053a],.menu-leave-active[data-v-5b26053a]{transition:all .2s ease}.menu-enter-from[data-v-5b26053a],.menu-leave-to[data-v-5b26053a]{opacity:0;transform:translateY(-8px)}.filters-panel[data-v-5b26053a]{padding:16px 0;border-top:1px solid rgba(255,255,255,.05);margin-top:16px}.filters-content[data-v-5b26053a]{max-width:1400px;margin:0 auto;display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.filter-group[data-v-5b26053a]{flex:1;min-width:200px;display:flex;flex-direction:column;gap:8px}.filter-group label[data-v-5b26053a]{font-size:.85rem;font-weight:500;color:#fff9;text-transform:uppercase;letter-spacing:.05em}.filter-input-wrapper[data-v-5b26053a]{position:relative;display:flex;align-items:center}.filter-icon[data-v-5b26053a]{position:absolute;left:12px;width:18px;height:18px;color:#fff6;pointer-events:none}.filter-input[data-v-5b26053a]{width:100%;padding:10px 40px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.9rem;transition:all .3s ease}.filter-input[data-v-5b26053a]::placeholder{color:#ffffff4d}.filter-input[data-v-5b26053a]:focus{outline:none;background:#ffffff14;border-color:#3b82f680}.clear-input[data-v-5b26053a]{position:absolute;right:8px;padding:6px;background:none;border:none;color:#ffffff80;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.clear-input[data-v-5b26053a]:hover{color:#fff}.clear-input svg[data-v-5b26053a]{width:16px;height:16px}.clear-all-button[data-v-5b26053a]{padding:10px 20px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;white-space:nowrap}.clear-all-button[data-v-5b26053a]:hover{background:#ef444440;border-color:#ef444480}.clear-all-button svg[data-v-5b26053a]{width:16px;height:16px}.filters-enter-active[data-v-5b26053a],.filters-leave-active[data-v-5b26053a]{transition:all .3s ease}.filters-enter-from[data-v-5b26053a]{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.filters-enter-to[data-v-5b26053a],.filters-leave-from[data-v-5b26053a]{opacity:1;max-height:200px}.filters-leave-to[data-v-5b26053a]{opacity:0;max-height:0;padding-top:0;padding-bottom:0}@media (max-width: 768px){.app-header[data-v-5b26053a]{padding:12px 16px 0}.header-title h1[data-v-5b26053a]{font-size:1.1rem}.header-title p[data-v-5b26053a],.user-details[data-v-5b26053a]{display:none}.user-menu[data-v-5b26053a]{right:-8px;width:260px}.filter-button span[data-v-5b26053a]:not(.filter-badge){display:none}.filters-content[data-v-5b26053a]{flex-direction:column}.filter-group[data-v-5b26053a]{width:100%}.clear-all-button[data-v-5b26053a]{width:100%;justify-content:center}}.modal-overlay[data-v-859856c8]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container[data-v-859856c8]{background:#fff;border-radius:12px;max-width:540px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header[data-v-859856c8]{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #e5e7eb}.modal-header h2[data-v-859856c8]{margin:0;font-size:20px;font-weight:600;color:#111827}.close-btn[data-v-859856c8]{background:none;border:none;font-size:32px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;line-height:1}.close-btn[data-v-859856c8]:hover{background:#f3f4f6;color:#111827}.modal-form[data-v-859856c8]{padding:24px}.form-group[data-v-859856c8]{margin-bottom:20px}.form-group label[data-v-859856c8]{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:#374151}.form-input[data-v-859856c8]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s;font-family:inherit}.form-input[data-v-859856c8]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input.disabled[data-v-859856c8]{background:#f9fafb;color:#6b7280;cursor:not-allowed}.form-hint[data-v-859856c8]{display:block;margin-top:4px;font-size:12px;color:#6b7280}textarea.form-input[data-v-859856c8]{resize:vertical;min-height:80px}.checkbox-group[data-v-859856c8]{margin-bottom:24px}.checkbox-label[data-v-859856c8]{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.checkbox-input[data-v-859856c8]{width:18px;height:18px;cursor:pointer}.error-message[data-v-859856c8]{padding:12px;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;margin-bottom:20px}.modal-actions[data-v-859856c8]{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid #e5e7eb}.btn[data-v-859856c8]{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-cancel[data-v-859856c8]{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-cancel[data-v-859856c8]:hover{background:#f9fafb}.btn-save[data-v-859856c8]{background:#3b82f6;color:#fff}.btn-save[data-v-859856c8]:hover:not(:disabled){background:#2563eb;box-shadow:0 2px 8px #3b82f64d}.btn-save[data-v-859856c8]:disabled{opacity:.6;cursor:not-allowed}.site-list[data-v-d5ddbe45]{background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:24px}.site-list-header[data-v-d5ddbe45]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.site-list-header h2[data-v-d5ddbe45]{display:flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:600;color:#f3f4f6;margin:0}.header-icon[data-v-d5ddbe45]{width:28px;height:28px;color:#3b82f6}.refresh-btn[data-v-d5ddbe45]{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;padding:8px;cursor:pointer;transition:all .3s ease}.refresh-btn[data-v-d5ddbe45]:hover:not(:disabled){background:#3b82f633;transform:scale(1.05)}.refresh-btn[data-v-d5ddbe45]:disabled{opacity:.5;cursor:not-allowed}.refresh-btn svg[data-v-d5ddbe45]{width:20px;height:20px;color:#60a5fa}.refresh-btn svg.spinning[data-v-d5ddbe45]{animation:spin-d5ddbe45 1s linear infinite}@keyframes spin-d5ddbe45{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading[data-v-d5ddbe45],.empty-state[data-v-d5ddbe45]{text-align:center;padding:48px;color:#9ca3af}.empty-state svg[data-v-d5ddbe45]{width:64px;height:64px;margin-bottom:16px;opacity:.5}.empty-state p[data-v-d5ddbe45]{margin:8px 0}.empty-state-hint[data-v-d5ddbe45]{font-size:.9rem;color:#6b7280;font-style:italic}.sites-table[data-v-d5ddbe45]{width:100%}.table-header[data-v-d5ddbe45]{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr .8fr .8fr 1.5fr 1.2fr;gap:12px;padding:12px 16px;background:#0f172acc;border-radius:8px;margin-bottom:8px;font-size:.75rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.sortable[data-v-d5ddbe45]{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px;transition:color .2s}.sortable[data-v-d5ddbe45]:hover{color:#60a5fa}.sort-icon[data-v-d5ddbe45]{width:14px;height:14px;flex-shrink:0;transition:transform .2s}.sort-icon.desc[data-v-d5ddbe45]{transform:rotate(180deg)}.site-row-container[data-v-d5ddbe45]{margin-bottom:8px}.site-row[data-v-d5ddbe45]{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr .8fr .8fr 1.5fr 1.2fr;gap:12px;padding:16px;background:#0f172a99;border:1px solid rgba(148,163,184,.1);border-radius:8px;cursor:pointer;transition:all .3s ease;align-items:center}.site-row[data-v-d5ddbe45]:hover{background:#0f172acc;border-color:#3b82f64d}.site-row.expanded[data-v-d5ddbe45]{border-bottom-left-radius:0;border-bottom-right-radius:0;background:#0f172ae6;border-color:#3b82f680}.col-name[data-v-d5ddbe45]{display:flex;align-items:center;gap:8px}.expand-icon[data-v-d5ddbe45]{width:20px;height:20px;color:#9ca3af;transition:transform .3s ease;flex-shrink:0}.site-row.expanded .expand-icon[data-v-d5ddbe45]{transform:rotate(180deg)}.expand-icon svg[data-v-d5ddbe45]{width:100%;height:100%}.site-name-wrapper[data-v-d5ddbe45]{display:flex;flex-direction:column;gap:2px}.site-name[data-v-d5ddbe45]{font-weight:600;color:#f3f4f6;font-size:.95rem}.device-id[data-v-d5ddbe45]{font-size:.75rem;color:#6b7280;font-family:monospace}.col-client[data-v-d5ddbe45],.col-hostname[data-v-d5ddbe45],.col-location[data-v-d5ddbe45],.col-grid[data-v-d5ddbe45],.col-pv[data-v-d5ddbe45],.col-bess[data-v-d5ddbe45],.col-soc[data-v-d5ddbe45],.col-devices[data-v-d5ddbe45],.col-updated[data-v-d5ddbe45]{color:#e5e7eb;font-size:.875rem}.status-badge[data-v-d5ddbe45]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;color:#000;text-transform:uppercase}.importing[data-v-d5ddbe45]{color:#ef4444;font-weight:600}.exporting[data-v-d5ddbe45]{color:#34d399;font-weight:600}.soc-low[data-v-d5ddbe45]{color:#ef4444;font-weight:600}.soc-normal[data-v-d5ddbe45]{color:#34d399;font-weight:600}.no-data[data-v-d5ddbe45]{color:#6b7280;font-style:italic}.timestamp[data-v-d5ddbe45]{font-size:.8rem;color:#9ca3af}.col-actions[data-v-d5ddbe45]{display:flex;gap:8px;justify-content:flex-end}.action-btn[data-v-d5ddbe45]{display:flex;align-items:center;justify-content:center;padding:8px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#60a5fa;cursor:pointer;transition:all .2s ease}.action-btn[data-v-d5ddbe45]:hover{background:#3b82f633;border-color:#3b82f680;transform:scale(1.05)}.action-btn svg[data-v-d5ddbe45]{width:18px;height:18px}.edit-btn[data-v-d5ddbe45]{background:#fbbf241a;border-color:#fbbf244d;color:#fbbf24}.edit-btn[data-v-d5ddbe45]:hover{background:#fbbf2433;border-color:#fbbf2480}.config-btn[data-v-d5ddbe45]{background:#8b5cf61a;border-color:#8b5cf64d;color:#a78bfa}.config-btn[data-v-d5ddbe45]:hover{background:#8b5cf633;border-color:#8b5cf680}.accordion-content[data-v-d5ddbe45]{padding:24px;background:#0f172af2;border:1px solid rgba(59,130,246,.5);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.devices-header[data-v-d5ddbe45]{margin-bottom:16px}.devices-header h3[data-v-d5ddbe45]{display:flex;align-items:center;gap:12px;font-size:1rem;font-weight:600;color:#f3f4f6;margin:0}.live-badge[data-v-d5ddbe45]{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:12px;font-size:.7rem;font-weight:700;color:#34d399;text-transform:uppercase;letter-spacing:.05em}.live-dot[data-v-d5ddbe45]{width:6px;height:6px;border-radius:50%;background:#34d399;animation:pulse-dot-d5ddbe45 2s ease-in-out infinite}@keyframes pulse-dot-d5ddbe45{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.devices-grid[data-v-d5ddbe45]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.device-card[data-v-d5ddbe45]{background:#1e293bcc;border:1px solid rgba(148,163,184,.2);border-radius:8px;padding:16px;transition:all .3s ease}.device-card.live-device[data-v-d5ddbe45]{border-color:#34d3994d;box-shadow:0 0 12px #34d3991a}.live-indicator[data-v-d5ddbe45]{display:inline-block;margin-left:8px;padding:2px 8px;background:#34d39933;border-radius:4px;font-size:.7rem;font-weight:600;color:#34d399;text-transform:uppercase}.device-header[data-v-d5ddbe45]{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.1)}.device-icon[data-v-d5ddbe45]{width:32px;height:32px;flex-shrink:0}.device-icon svg[data-v-d5ddbe45]{width:100%;height:100%}.device-info[data-v-d5ddbe45]{flex:1;min-width:0}.device-type[data-v-d5ddbe45]{font-weight:600;color:#f3f4f6;font-size:.95rem}.device-serial[data-v-d5ddbe45]{font-size:.75rem;color:#9ca3af;font-family:monospace}.device-status[data-v-d5ddbe45]{padding:4px 8px;border-radius:8px;font-size:.7rem;font-weight:600;text-transform:uppercase}.device-status.enabled[data-v-d5ddbe45]{background:#34d39933;color:#34d399}.device-status.disabled[data-v-d5ddbe45]{background:#6b728033;color:#9ca3af}.device-details[data-v-d5ddbe45]{display:flex;flex-direction:column;gap:16px}.detail-section[data-v-d5ddbe45]{background:#0f172a80;border-radius:6px;padding:12px}.section-title[data-v-d5ddbe45]{font-size:.85rem;font-weight:600;color:#60a5fa;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.data-section[data-v-d5ddbe45]{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;padding:16px;margin-bottom:16px}.data-header[data-v-d5ddbe45]{margin-bottom:12px}.data-title[data-v-d5ddbe45]{font-size:.95rem;font-weight:600;color:#60a5fa;text-transform:uppercase;letter-spacing:.05em}.data-grid[data-v-d5ddbe45]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.data-item[data-v-d5ddbe45]{display:flex;flex-direction:column;gap:4px;padding:12px;background:#0f172a99;border-radius:6px}.data-label[data-v-d5ddbe45]{font-size:.7rem;color:#9ca3af;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.data-value[data-v-d5ddbe45]{font-size:1.1rem;color:#60a5fa;font-weight:700;font-family:monospace}.config-accordion[data-v-d5ddbe45]{background:#0f172a66;border:1px solid rgba(148,163,184,.2);border-radius:6px;overflow:hidden}.config-accordion-header[data-v-d5ddbe45]{display:flex;align-items:center;gap:8px;padding:12px;cursor:pointer;transition:all .2s ease;background:#0f172a99;border-bottom:1px solid transparent}.config-accordion-header[data-v-d5ddbe45]:hover{background:#0f172acc}.config-accordion-header.expanded[data-v-d5ddbe45]{border-bottom-color:#94a3b833}.config-accordion-header span[data-v-d5ddbe45]{font-size:.85rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.accordion-icon[data-v-d5ddbe45]{width:16px;height:16px;color:#9ca3af;transition:transform .3s ease;flex-shrink:0}.config-accordion-header.expanded .accordion-icon[data-v-d5ddbe45]{transform:rotate(180deg)}.config-accordion-content[data-v-d5ddbe45]{padding:12px;background:#0f172a4d}.detail-row[data-v-d5ddbe45]{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;padding:4px 0}.detail-label[data-v-d5ddbe45]{color:#9ca3af;font-weight:500}.detail-value[data-v-d5ddbe45]{color:#e5e7eb;font-family:monospace;font-size:.75rem;text-align:right}.alarms-section[data-v-d5ddbe45]{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.alarms-title[data-v-d5ddbe45]{display:flex;align-items:center;gap:8px;color:#fca5a5}.alarms-title svg[data-v-d5ddbe45]{width:16px;height:16px}.alarms-list[data-v-d5ddbe45]{display:flex;flex-direction:column;gap:8px}.alarm-item[data-v-d5ddbe45]{padding:10px 12px;background:#0f172a99;border-left:3px solid #ef4444;border-radius:4px;color:#fca5a5;font-size:.85rem;line-height:1.5;display:flex;align-items:center;gap:8px;font-family:system-ui,-apple-system,sans-serif}@media (max-width: 1600px){.table-header[data-v-d5ddbe45],.site-row[data-v-d5ddbe45]{grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr 1fr .8fr .8fr 1fr}.col-location[data-v-d5ddbe45]{display:none}}@media (max-width: 1200px){.table-header[data-v-d5ddbe45],.site-row[data-v-d5ddbe45]{grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr .8fr 1fr}.col-client[data-v-d5ddbe45],.col-devices[data-v-d5ddbe45]{display:none}}@media (max-width: 768px) and (orientation: portrait){.sites-table[data-v-d5ddbe45]{overflow-x:auto}.table-header[data-v-d5ddbe45]{display:none}.site-row[data-v-d5ddbe45]{grid-template-columns:1fr;gap:8px}.col-name[data-v-d5ddbe45],.col-location[data-v-d5ddbe45],.col-status[data-v-d5ddbe45],.col-grid[data-v-d5ddbe45],.col-pv[data-v-d5ddbe45],.col-bess[data-v-d5ddbe45],.col-soc[data-v-d5ddbe45],.col-devices[data-v-d5ddbe45],.col-updated[data-v-d5ddbe45]{display:flex;justify-content:space-between;padding:4px 0}.col-name[data-v-d5ddbe45]:before{content:"Site: ";font-weight:600;color:#9ca3af}.col-client[data-v-d5ddbe45]:before{content:"Client: ";font-weight:600;color:#9ca3af}.col-hostname[data-v-d5ddbe45]:before{content:"Hostname: ";font-weight:600;color:#9ca3af}.col-location[data-v-d5ddbe45]:before{content:"Location: ";font-weight:600;color:#9ca3af}.col-status[data-v-d5ddbe45]:before{content:"Status: ";font-weight:600;color:#9ca3af}.col-grid[data-v-d5ddbe45]:before{content:"Grid: ";font-weight:600;color:#9ca3af}.col-pv[data-v-d5ddbe45]:before{content:"PV: ";font-weight:600;color:#9ca3af}.col-bess[data-v-d5ddbe45]:before{content:"BESS: ";font-weight:600;color:#9ca3af}.col-soc[data-v-d5ddbe45]:before{content:"SOC: ";font-weight:600;color:#9ca3af}.col-devices[data-v-d5ddbe45]:before{content:"Devices: ";font-weight:600;color:#9ca3af}.col-updated[data-v-d5ddbe45]:before{content:"Updated: ";font-weight:600;color:#9ca3af}.col-actions[data-v-d5ddbe45]{margin-top:8px;justify-content:flex-start}.devices-grid[data-v-d5ddbe45]{grid-template-columns:1fr}}.card[data-v-0f43a48a]{background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:20px;transition:all .3s ease}.card[data-v-0f43a48a]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.card.warning[data-v-0f43a48a]{border-color:#fbbf244d}.card.error[data-v-0f43a48a]{border-color:#ef44444d}.card-header[data-v-0f43a48a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.title-section[data-v-0f43a48a]{display:flex;align-items:center;gap:8px}.icon[data-v-0f43a48a]{width:24px;height:24px;color:#fbbf24}.card-header h3[data-v-0f43a48a]{font-size:1rem;font-weight:600;color:#f3f4f6;margin:0}.status-badge[data-v-0f43a48a]{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;color:#000;text-transform:uppercase}.metrics[data-v-0f43a48a]{display:flex;flex-direction:column;gap:16px}.metric-large[data-v-0f43a48a]{text-align:center;padding:16px;background:#3b82f61a;border-radius:8px}.metric-large .value[data-v-0f43a48a]{font-size:2.5rem;font-weight:700;color:#60a5fa;line-height:1}.metric-large .label[data-v-0f43a48a]{font-size:.875rem;color:#9ca3af;margin-top:4px}.metric-row[data-v-0f43a48a]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric[data-v-0f43a48a]{background:#0f172a99;padding:12px;border-radius:8px}.metric-label[data-v-0f43a48a]{font-size:.75rem;color:#9ca3af;margin-bottom:4px}.metric-value[data-v-0f43a48a]{font-size:1rem;font-weight:600;color:#e5e7eb}.error-message[data-v-0f43a48a]{margin-top:16px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;font-size:.875rem;color:#fca5a5;display:flex;align-items:center;gap:8px}.error-icon[data-v-0f43a48a]{width:16px;height:16px;flex-shrink:0}.card[data-v-160e3456]{background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:20px;transition:all .3s ease}.card[data-v-160e3456]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.card.warning[data-v-160e3456]{border-color:#fbbf244d}.card.error[data-v-160e3456]{border-color:#ef44444d}.card-header[data-v-160e3456]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.title-section[data-v-160e3456]{display:flex;align-items:center;gap:8px}.icon[data-v-160e3456]{width:24px;height:24px;color:#fbbf24}.card-header h3[data-v-160e3456]{font-size:1rem;font-weight:600;color:#f3f4f6;margin:0}.status-badge[data-v-160e3456]{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;color:#000;text-transform:uppercase}.metrics[data-v-160e3456]{display:flex;flex-direction:column;gap:12px}.metric-large[data-v-160e3456]{text-align:center;padding:16px;background:#fbbf241a;border-radius:8px}.metric-large .value[data-v-160e3456]{font-size:2.5rem;font-weight:700;color:#fbbf24;line-height:1}.metric-large .label[data-v-160e3456]{font-size:.875rem;color:#9ca3af;margin-top:4px}.metric-row[data-v-160e3456]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric[data-v-160e3456]{background:#0f172a99;padding:12px;border-radius:8px}.metric-label[data-v-160e3456]{font-size:.75rem;color:#9ca3af;margin-bottom:4px}.metric-value[data-v-160e3456]{font-size:1rem;font-weight:600;color:#e5e7eb}.error-message[data-v-160e3456]{margin-top:16px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;font-size:.875rem;color:#fca5a5;display:flex;align-items:center;gap:8px}.error-icon[data-v-160e3456]{width:16px;height:16px;flex-shrink:0}.card[data-v-7db03b7a]{background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:20px;transition:all .3s ease}.card[data-v-7db03b7a]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.card.warning[data-v-7db03b7a]{border-color:#fbbf244d}.card.error[data-v-7db03b7a]{border-color:#ef44444d}.card-header[data-v-7db03b7a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.title-section[data-v-7db03b7a]{display:flex;align-items:center;gap:8px}.icon[data-v-7db03b7a]{width:24px;height:24px;color:#3b82f6}.card-header h3[data-v-7db03b7a]{font-size:1rem;font-weight:600;color:#f3f4f6;margin:0}.status-badge[data-v-7db03b7a]{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;color:#000;text-transform:uppercase}.mode-indicator[data-v-7db03b7a]{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;border-radius:8px;margin-bottom:16px;color:#000;font-weight:600}.mode-icon[data-v-7db03b7a]{font-size:1.25rem}.mode-text[data-v-7db03b7a]{font-size:.875rem}.metrics[data-v-7db03b7a]{display:flex;flex-direction:column;gap:16px}.metric-large[data-v-7db03b7a]{text-align:center;padding:16px;background:#3b82f61a;border-radius:8px}.metric-large .value[data-v-7db03b7a]{font-size:2.5rem;font-weight:700;color:#60a5fa;line-height:1}.metric-large .label[data-v-7db03b7a]{font-size:.875rem;color:#9ca3af;margin-top:4px}.soc-container[data-v-7db03b7a]{background:#0f172a99;padding:16px;border-radius:8px}.soc-label[data-v-7db03b7a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.875rem}.soc-label span[data-v-7db03b7a]:first-child{color:#9ca3af}.soc-value[data-v-7db03b7a]{font-weight:700;font-size:1rem}.soc-bar[data-v-7db03b7a]{width:100%;height:12px;background:#1f2937cc;border-radius:6px;overflow:hidden;margin-bottom:8px}.soc-fill[data-v-7db03b7a]{height:100%;transition:width .5s ease,background-color .3s ease;border-radius:6px}.capacity-label[data-v-7db03b7a]{text-align:center;font-size:.75rem;color:#9ca3af}.metric-row[data-v-7db03b7a]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric[data-v-7db03b7a]{background:#0f172a99;padding:12px;border-radius:8px}.metric-label[data-v-7db03b7a]{font-size:.75rem;color:#9ca3af;margin-bottom:4px}.metric-value[data-v-7db03b7a]{font-size:1rem;font-weight:600;color:#e5e7eb}.error-message[data-v-7db03b7a]{margin-top:16px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;font-size:.875rem;color:#fca5a5;display:flex;align-items:center;gap:8px}.error-icon[data-v-7db03b7a]{width:16px;height:16px;flex-shrink:0}.energy-flow[data-v-98e4bf80]{background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:24px}.energy-flow h2[data-v-98e4bf80]{font-size:1.25rem;font-weight:600;margin:0 0 24px;color:#f3f4f6}.flow-container[data-v-98e4bf80]{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:0;margin-bottom:32px;min-height:200px}.flow-node[data-v-98e4bf80]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;background:#0f172acc;border:2px solid rgba(148,163,184,.2);border-radius:16px;transition:all .3s ease}.flow-node[data-v-98e4bf80]:hover{transform:scale(1.05);box-shadow:0 8px 24px #0000004d}.pv-node[data-v-98e4bf80]{border-color:#fbbf2466}.center-node[data-v-98e4bf80]{border-color:#3b82f666}.bess-node[data-v-98e4bf80]{border-color:#34d39966}.node-icon[data-v-98e4bf80]{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#3b82f61a}.pv-node .node-icon[data-v-98e4bf80]{background:#fbbf241a;color:#fbbf24}.center-node .node-icon[data-v-98e4bf80]{background:#3b82f61a;color:#3b82f6}.bess-node .node-icon[data-v-98e4bf80]{background:#34d3991a;color:#34d399}.node-icon svg[data-v-98e4bf80]{width:28px;height:28px}.node-label[data-v-98e4bf80]{font-size:.875rem;color:#9ca3af;font-weight:500}.node-value[data-v-98e4bf80]{font-size:1.5rem;font-weight:700;color:#e5e7eb}.node-value.importing[data-v-98e4bf80]{color:#ef4444}.node-value.exporting[data-v-98e4bf80],.node-value.charging[data-v-98e4bf80]{color:#34d399}.node-value.discharging[data-v-98e4bf80]{color:#3b82f6}.node-status[data-v-98e4bf80]{font-size:.75rem;color:#6b7280;text-transform:uppercase;font-weight:600}.flow-path[data-v-98e4bf80]{position:relative;height:3px;width:100%}.flow-line[data-v-98e4bf80]{width:100%;height:100%;color:#94a3b84d;transition:color .3s ease}.flow-path.active .flow-line[data-v-98e4bf80]{color:#3b82f6cc}.flow-particles[data-v-98e4bf80]{position:absolute;top:50%;left:0;width:100%;height:3px;transform:translateY(-50%)}.particle[data-v-98e4bf80]{position:absolute;width:8px;height:8px;background:#3b82f6;border-radius:50%;box-shadow:0 0 10px #3b82f6;animation:flowAnimation-98e4bf80 2s linear infinite}.particle[data-v-98e4bf80]:nth-child(2){animation-delay:.6s}.particle[data-v-98e4bf80]:nth-child(3){animation-delay:1.2s}.particle.reverse[data-v-98e4bf80]{animation:flowAnimationReverse-98e4bf80 2s linear infinite}.particle.reverse[data-v-98e4bf80]:nth-child(2){animation-delay:.6s}.particle.reverse[data-v-98e4bf80]:nth-child(3){animation-delay:1.2s}@keyframes flowAnimation-98e4bf80{0%{left:0%;opacity:0}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}@keyframes flowAnimationReverse-98e4bf80{0%{left:100%;opacity:0}10%{opacity:1}90%{opacity:1}to{left:0%;opacity:0}}.summary-bar[data-v-98e4bf80]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:20px;background:#0f172a99;border-radius:8px}.summary-item[data-v-98e4bf80]{display:flex;flex-direction:column;gap:4px}.summary-label[data-v-98e4bf80]{font-size:.875rem;color:#9ca3af}.summary-value[data-v-98e4bf80]{font-size:1.5rem;font-weight:700;color:#e5e7eb}.summary-value.positive[data-v-98e4bf80]{color:#34d399}.summary-value.negative[data-v-98e4bf80]{color:#ef4444}@media (max-width: 1024px){.flow-container[data-v-98e4bf80]{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto;gap:16px}.flow-path[data-v-98e4bf80]{transform:rotate(90deg);width:80px;margin:0 auto}}.alert-panel[data-v-2581bdaa]{background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(239,68,68,.3);border-radius:12px;padding:20px;margin-bottom:24px}.alert-header[data-v-2581bdaa]{display:flex;align-items:center;margin-bottom:16px}.alert-header h2[data-v-2581bdaa]{display:flex;align-items:center;gap:8px;font-size:1.125rem;font-weight:600;color:#fca5a5;margin:0}.header-icon[data-v-2581bdaa]{width:24px;height:24px}.alert-list[data-v-2581bdaa]{display:flex;flex-direction:column;gap:12px}.alert-item[data-v-2581bdaa]{display:flex;align-items:flex-start;gap:16px;padding:16px;background:#0f172acc;border-radius:8px;border-left:4px solid;transition:all .3s ease}.alert-item[data-v-2581bdaa]:hover{background:#0f172af2;transform:translate(4px)}.alert-item.critical[data-v-2581bdaa]{border-left-color:#dc2626;background:#dc26260d}.alert-item.error[data-v-2581bdaa]{border-left-color:#ef4444;background:#ef44440d}.alert-item.warning[data-v-2581bdaa]{border-left-color:#fbbf24;background:#fbbf240d}.alert-item.info[data-v-2581bdaa]{border-left-color:#3b82f6;background:#3b82f60d}.alert-icon[data-v-2581bdaa]{flex-shrink:0;width:24px;height:24px}.alert-icon svg[data-v-2581bdaa]{width:100%;height:100%}.alert-content[data-v-2581bdaa]{flex:1;display:flex;flex-direction:column;gap:8px}.alert-meta[data-v-2581bdaa]{display:flex;align-items:center;gap:12px;font-size:.75rem}.alert-severity[data-v-2581bdaa]{font-weight:700;letter-spacing:.05em}.alert-type[data-v-2581bdaa]{padding:2px 8px;background:#94a3b81a;border-radius:4px;color:#94a3b8;font-weight:600}.alert-time[data-v-2581bdaa]{color:#6b7280}.alert-message[data-v-2581bdaa]{font-size:.875rem;color:#e5e7eb;line-height:1.5}.acknowledge-btn[data-v-2581bdaa]{flex-shrink:0;padding:8px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#60a5fa;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.acknowledge-btn[data-v-2581bdaa]:hover:not(:disabled){background:#3b82f633;border-color:#3b82f680}.acknowledge-btn[data-v-2581bdaa]:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.alert-item[data-v-2581bdaa]{flex-direction:column;gap:12px}.alert-meta[data-v-2581bdaa]{flex-wrap:wrap}.acknowledge-btn[data-v-2581bdaa]{width:100%}}.dashboard[data-v-6a2a5e5a]{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#e0e0e0;padding:24px}.dashboard-header[data-v-6a2a5e5a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:0 8px}.dashboard-header h1[data-v-6a2a5e5a]{font-size:2rem;font-weight:600;color:#fff;margin:0}.site-name[data-v-6a2a5e5a]{font-size:.875rem;color:#9ca3af;margin:4px 0 0}.status-indicator[data-v-6a2a5e5a]{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:.9rem;font-weight:500}.status-indicator.operational[data-v-6a2a5e5a]{background:#34d3991a;color:#34d399}.status-indicator.warning[data-v-6a2a5e5a]{background:#fbbf241a;color:#fbbf24}.status-dot[data-v-6a2a5e5a]{width:8px;height:8px;border-radius:50%;animation:pulse-6a2a5e5a 2s ease-in-out infinite}.status-indicator.operational .status-dot[data-v-6a2a5e5a]{background:#34d399}.status-indicator.warning .status-dot[data-v-6a2a5e5a]{background:#fbbf24}@keyframes pulse-6a2a5e5a{0%,to{opacity:1}50%{opacity:.5}}.loading[data-v-6a2a5e5a]{text-align:center;padding:48px;font-size:1.2rem;color:#9ca3af}.dashboard-content[data-v-6a2a5e5a]{display:flex;flex-direction:column;gap:24px}.main-grid[data-v-6a2a5e5a]{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:24px}.pv-section[data-v-6a2a5e5a]{grid-column:1;grid-row:1}.grid-section[data-v-6a2a5e5a]{grid-column:2;grid-row:1}.flow-section[data-v-6a2a5e5a]{grid-column:1 / -1;grid-row:2}.bess-section[data-v-6a2a5e5a]{grid-column:1 / -1;grid-row:3}section h2[data-v-6a2a5e5a]{font-size:1.25rem;font-weight:600;margin:0 0 16px;color:#f3f4f6}.component-grid[data-v-6a2a5e5a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}@media (max-width: 1200px){.main-grid[data-v-6a2a5e5a]{grid-template-columns:1fr}.pv-section[data-v-6a2a5e5a],.grid-section[data-v-6a2a5e5a],.flow-section[data-v-6a2a5e5a],.bess-section[data-v-6a2a5e5a]{grid-column:1}}@media (max-width: 768px){.dashboard[data-v-6a2a5e5a]{padding:16px}.dashboard-header[data-v-6a2a5e5a]{flex-direction:column;align-items:flex-start;gap:16px}.dashboard-header h1[data-v-6a2a5e5a]{font-size:1.5rem}}.modal-overlay[data-v-cb5cb24d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.modal-content[data-v-cb5cb24d]{position:relative;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;background:#1e1e2ef2;border-radius:16px;border:1px solid rgba(255,255,255,.1);padding:40px;box-shadow:0 8px 32px #00000080}.modal-close[data-v-cb5cb24d]{position:absolute;top:16px;right:16px;background:none;border:none;color:#ffffff80;cursor:pointer;padding:4px;display:flex;transition:color .3s ease}.modal-close[data-v-cb5cb24d]:hover{color:#ffffffe6}.modal-close svg[data-v-cb5cb24d]{width:24px;height:24px}.modal-content h2[data-v-cb5cb24d]{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 24px}.user-form[data-v-cb5cb24d]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-cb5cb24d]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-cb5cb24d]{font-size:.875rem;font-weight:500;color:#ffffffe6}.form-group input[data-v-cb5cb24d],.form-group select[data-v-cb5cb24d]{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.95rem;transition:all .3s ease}.form-group input[data-v-cb5cb24d]:focus,.form-group select[data-v-cb5cb24d]:focus{outline:none;border-color:#3b82f6;background:#ffffff14;box-shadow:0 0 0 3px #3b82f61a}.form-group input[data-v-cb5cb24d]::placeholder{color:#ffffff4d}.form-group input[data-v-cb5cb24d]:disabled,.form-group select[data-v-cb5cb24d]:disabled{opacity:.5;cursor:not-allowed}.password-input[data-v-cb5cb24d]{position:relative}.password-input input[data-v-cb5cb24d]{padding-right:48px}.toggle-password[data-v-cb5cb24d]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffff80;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.toggle-password[data-v-cb5cb24d]:hover{color:#fffc}.toggle-password svg[data-v-cb5cb24d]{width:20px;height:20px}.field-note[data-v-cb5cb24d]{font-size:.8rem;color:#ffffff80;margin:0}.reset-password-button[data-v-cb5cb24d]{padding:10px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#60a5fa;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease;align-self:flex-start}.reset-password-button[data-v-cb5cb24d]:hover{background:#3b82f633;border-color:#3b82f680}.password-reset-section[data-v-cb5cb24d]{padding:16px;background:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:8px;display:flex;flex-direction:column;gap:12px}.password-reset-actions[data-v-cb5cb24d]{display:flex;gap:8px}.cancel-reset-button[data-v-cb5cb24d],.confirm-reset-button[data-v-cb5cb24d]{flex:1;padding:10px 16px;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-reset-button[data-v-cb5cb24d]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fffc}.cancel-reset-button[data-v-cb5cb24d]:hover{background:#ffffff1a}.confirm-reset-button[data-v-cb5cb24d]{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.confirm-reset-button[data-v-cb5cb24d]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.confirm-reset-button[data-v-cb5cb24d]:disabled{opacity:.6;cursor:not-allowed}.checkbox-label[data-v-cb5cb24d]{display:flex;align-items:center;gap:8px;font-size:.95rem;color:#ffffffe6;cursor:pointer}.checkbox-label input[type=checkbox][data-v-cb5cb24d]{width:18px;height:18px;cursor:pointer}.error-message[data-v-cb5cb24d]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:.875rem}.error-message svg[data-v-cb5cb24d]{width:20px;height:20px;flex-shrink:0}.form-actions[data-v-cb5cb24d]{display:flex;gap:12px;margin-top:8px}.cancel-button[data-v-cb5cb24d],.save-button[data-v-cb5cb24d]{flex:1;padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-button[data-v-cb5cb24d]{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}.cancel-button[data-v-cb5cb24d]:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.save-button[data-v-cb5cb24d]{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.save-button[data-v-cb5cb24d]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #3b82f64d}.save-button[data-v-cb5cb24d]:disabled,.cancel-button[data-v-cb5cb24d]:disabled{opacity:.6;cursor:not-allowed}.loading-spinner[data-v-cb5cb24d]{display:flex;align-items:center;justify-content:center;gap:8px}.loading-spinner svg[data-v-cb5cb24d]{width:20px;height:20px;animation:spin-cb5cb24d 1s linear infinite}@keyframes spin-cb5cb24d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 640px){.modal-content[data-v-cb5cb24d]{padding:24px}.modal-content h2[data-v-cb5cb24d]{font-size:1.25rem}}.user-management[data-v-ef798ba0]{padding:24px;max-width:1400px;margin:0 auto}.header[data-v-ef798ba0]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:24px}.header-content h1[data-v-ef798ba0]{font-size:2rem;font-weight:700;color:#fff;margin:0 0 8px}.header-content p[data-v-ef798ba0]{font-size:1rem;color:#fff9;margin:0}.create-button[data-v-ef798ba0]{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.create-button[data-v-ef798ba0]:hover{transform:translateY(-2px);box-shadow:0 8px 16px #3b82f64d}.create-button svg[data-v-ef798ba0]{width:20px;height:20px}.error-banner[data-v-ef798ba0]{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;margin-bottom:24px}.error-banner svg[data-v-ef798ba0]{width:20px;height:20px;flex-shrink:0}.dismiss-button[data-v-ef798ba0]{margin-left:auto;background:none;border:none;color:#fca5a5;cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .3s ease}.dismiss-button[data-v-ef798ba0]:hover{color:#ef4444}.dismiss-button svg[data-v-ef798ba0]{width:16px;height:16px}.loading-container[data-v-ef798ba0]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;gap:16px}.loading-spinner svg[data-v-ef798ba0]{width:48px;height:48px;color:#3b82f6;animation:spin-ef798ba0 1s linear infinite}@keyframes spin-ef798ba0{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p[data-v-ef798ba0]{color:#fff9;font-size:1rem}.users-table-container[data-v-ef798ba0]{background:#1e1e2e99;border-radius:12px;border:1px solid rgba(255,255,255,.1);overflow:hidden}.users-table[data-v-ef798ba0]{width:100%;border-collapse:collapse}.users-table thead[data-v-ef798ba0]{background:#ffffff0d}.users-table th[data-v-ef798ba0]{padding:16px 20px;text-align:left;font-size:.875rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em}.users-table tbody tr[data-v-ef798ba0]{border-top:1px solid rgba(255,255,255,.1);transition:background .2s ease}.users-table tbody tr[data-v-ef798ba0]:hover{background:#ffffff08}.users-table tbody tr.current-user[data-v-ef798ba0]{background:#3b82f60d}.users-table td[data-v-ef798ba0]{padding:16px 20px;color:#ffffffe6;font-size:.95rem}.user-name[data-v-ef798ba0]{display:flex;align-items:center;gap:8px}.you-badge[data-v-ef798ba0]{padding:2px 8px;background:#3b82f633;border:1px solid rgba(59,130,246,.4);border-radius:4px;font-size:.75rem;font-weight:600;color:#60a5fa}.role-badge[data-v-ef798ba0]{display:inline-block;padding:4px 12px;border-radius:6px;font-size:.875rem;font-weight:500;text-transform:capitalize}.role-badge-admin[data-v-ef798ba0]{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.role-badge-manager[data-v-ef798ba0]{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.role-badge-operator[data-v-ef798ba0]{background:#10b98126;color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.status-badge[data-v-ef798ba0]{display:inline-block;padding:4px 12px;border-radius:6px;font-size:.875rem;font-weight:500}.status-active[data-v-ef798ba0]{background:#10b98126;color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.status-inactive[data-v-ef798ba0]{background:#6b728026;color:#9ca3af;border:1px solid rgba(107,114,128,.3)}.actions[data-v-ef798ba0]{display:flex;gap:8px}.action-button[data-v-ef798ba0]{padding:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.action-button svg[data-v-ef798ba0]{width:16px;height:16px}.edit-button[data-v-ef798ba0]{color:#60a5fa}.edit-button[data-v-ef798ba0]:hover{background:#3b82f626;border-color:#3b82f64d}.delete-button[data-v-ef798ba0]{color:#fca5a5}.delete-button[data-v-ef798ba0]:hover{background:#ef444426;border-color:#ef44444d}.empty-state[data-v-ef798ba0]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center}.empty-state svg[data-v-ef798ba0]{width:64px;height:64px;color:#ffffff4d;margin-bottom:16px}.empty-state h3[data-v-ef798ba0]{font-size:1.25rem;font-weight:600;color:#fff;margin:0 0 8px}.empty-state p[data-v-ef798ba0]{font-size:.95rem;color:#ffffff80;margin:0}.modal-overlay[data-v-ef798ba0]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.modal-content[data-v-ef798ba0]{position:relative;width:100%;max-width:440px;background:#1e1e2ef2;border-radius:16px;border:1px solid rgba(255,255,255,.1);padding:40px;box-shadow:0 8px 32px #00000080}.delete-confirm[data-v-ef798ba0]{text-align:center}.delete-icon[data-v-ef798ba0]{width:64px;height:64px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:#ef444426;border-radius:50%}.delete-icon svg[data-v-ef798ba0]{width:32px;height:32px;color:#ef4444}.modal-content h2[data-v-ef798ba0]{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 16px}.modal-content p[data-v-ef798ba0]{font-size:.95rem;color:#ffffffb3;margin:0 0 32px;line-height:150%}.modal-content p strong[data-v-ef798ba0]{color:#fff}.modal-actions[data-v-ef798ba0]{display:flex;gap:12px;justify-content:center}.cancel-button[data-v-ef798ba0],.delete-confirm-button[data-v-ef798ba0]{padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-button[data-v-ef798ba0]{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}.cancel-button[data-v-ef798ba0]:hover{background:#ffffff26;border-color:#ffffff4d}.delete-confirm-button[data-v-ef798ba0]{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;color:#fff}.delete-confirm-button[data-v-ef798ba0]:hover{transform:translateY(-2px);box-shadow:0 8px 16px #ef44444d}@media (max-width: 1200px){.users-table-container[data-v-ef798ba0]{overflow-x:auto}.users-table[data-v-ef798ba0]{min-width:900px}}@media (max-width: 768px){.user-management[data-v-ef798ba0]{padding:16px}.header[data-v-ef798ba0]{flex-direction:column;align-items:stretch}.create-button[data-v-ef798ba0]{width:100%;justify-content:center}.header-content h1[data-v-ef798ba0]{font-size:1.5rem}}.device-form[data-v-fedcbe1a]{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000001a;max-width:800px;margin:0 auto}.form-header[data-v-fedcbe1a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.form-header h3[data-v-fedcbe1a]{margin:0;font-size:24px;color:#1a1a1a}.btn-close[data-v-fedcbe1a]{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.btn-close[data-v-fedcbe1a]:hover{background:#f0f0f0;color:#1a1a1a}.form-section[data-v-fedcbe1a]{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e0e0e0}.form-section[data-v-fedcbe1a]:last-of-type{border-bottom:none}.form-section h4[data-v-fedcbe1a]{margin:0 0 16px;font-size:16px;font-weight:600;color:#333}.form-row[data-v-fedcbe1a]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}.form-grid[data-v-fedcbe1a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}label[data-v-fedcbe1a]{display:flex;flex-direction:column;font-size:14px;font-weight:500;color:#555;position:relative}label input[data-v-fedcbe1a],label select[data-v-fedcbe1a]{margin-top:6px;padding:8px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:14px;transition:all .2s}label input[data-v-fedcbe1a]:focus,label select[data-v-fedcbe1a]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.switch-label[data-v-fedcbe1a]{flex-direction:row;align-items:center;gap:12px}.switch[data-v-fedcbe1a]{width:44px;height:24px;position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#d0d0d0;border-radius:12px;cursor:pointer;transition:background .2s}.switch[data-v-fedcbe1a]:checked{background:#2563eb}.switch[data-v-fedcbe1a]:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s}.switch[data-v-fedcbe1a]:checked:before{transform:translate(20px)}.unit[data-v-fedcbe1a]{position:absolute;right:12px;top:34px;color:#999;font-size:13px;pointer-events:none}.form-actions[data-v-fedcbe1a]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #e0e0e0}.btn-primary[data-v-fedcbe1a],.btn-secondary[data-v-fedcbe1a]{padding:10px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary[data-v-fedcbe1a]{background:#2563eb;color:#fff}.btn-primary[data-v-fedcbe1a]:hover{background:#1d4ed8}.btn-secondary[data-v-fedcbe1a]{background:#f0f0f0;color:#333}.btn-secondary[data-v-fedcbe1a]:hover{background:#e0e0e0}.global-options-panel[data-v-7b458817]{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 4px #00000014;margin-bottom:24px}.panel-header[data-v-7b458817]{margin-bottom:20px}.panel-header h3[data-v-7b458817]{margin:0 0 8px;font-size:20px;color:#1a1a1a;font-weight:600}.panel-description[data-v-7b458817]{margin:0;font-size:14px;color:#666}.options-grid[data-v-7b458817]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:20px}.option-item[data-v-7b458817]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s}.option-item[data-v-7b458817]:hover{background:#f3f4f6;border-color:#d1d5db}.option-checkbox[data-v-7b458817]{width:20px;height:20px;cursor:pointer;accent-color:#2563eb;flex-shrink:0}.option-info[data-v-7b458817]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.option-label[data-v-7b458817]{font-size:14px;font-weight:500;color:#1a1a1a}.option-key[data-v-7b458817]{font-size:12px;color:#6b7280;font-family:monospace}.panel-actions[data-v-7b458817]{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid #e5e7eb}.btn-add-option[data-v-7b458817]{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s}.btn-add-option[data-v-7b458817]:hover{background:#f9fafb;border-color:#9ca3af}.save-indicator[data-v-7b458817]{display:flex;gap:8px}.btn-save[data-v-7b458817],.btn-reset[data-v-7b458817]{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-save[data-v-7b458817]{background:#2563eb;color:#fff}.btn-save[data-v-7b458817]:hover:not(:disabled){background:#1d4ed8}.btn-save[data-v-7b458817]:disabled{opacity:.5;cursor:not-allowed}.btn-reset[data-v-7b458817]{background:#f3f4f6;color:#374151}.btn-reset[data-v-7b458817]:hover{background:#e5e7eb}.modal-overlay[data-v-7b458817]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.modal-content[data-v-7b458817]{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 4px 12px #00000026}.modal-content h4[data-v-7b458817]{margin:0 0 20px;font-size:18px;color:#1a1a1a}.form-group[data-v-7b458817]{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.form-group label[data-v-7b458817]{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500;color:#374151}.form-group input[data-v-7b458817],.form-group select[data-v-7b458817]{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.form-group input[data-v-7b458817]:focus,.form-group select[data-v-7b458817]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.modal-actions[data-v-7b458817]{display:flex;gap:8px;justify-content:flex-end}.btn-primary[data-v-7b458817],.btn-secondary[data-v-7b458817]{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary[data-v-7b458817]{background:#2563eb;color:#fff}.btn-primary[data-v-7b458817]:hover{background:#1d4ed8}.btn-secondary[data-v-7b458817]{background:#f3f4f6;color:#374151}.btn-secondary[data-v-7b458817]:hover{background:#e5e7eb}.error-message[data-v-7b458817]{margin-top:16px;padding:12px;background:#fee;color:#dc2626;border-radius:6px;font-size:14px}.site-configuration[data-v-7872eddd]{padding:24px;max-width:1400px;margin:0 auto}.config-header[data-v-7872eddd]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:24px}.header-info[data-v-7872eddd]{display:flex;align-items:flex-start;gap:16px}.btn-back[data-v-7872eddd]{padding:8px 16px;background:#fff;border:1px solid #d0d0d0;border-radius:6px;cursor:pointer;font-size:14px;color:#555;transition:all .2s}.btn-back[data-v-7872eddd]:hover{background:#f8f8f8;border-color:#999}.site-info[data-v-7872eddd]{flex:1}.editable-field[data-v-7872eddd]{position:relative;display:inline-flex;align-items:center;gap:8px}.editable-field.inline[data-v-7872eddd]{display:inline-flex}.site-name-input[data-v-7872eddd]{font-size:28px;font-weight:600;color:#1a1a1a;border:none;background:transparent;outline:none;padding:4px 8px;margin:0;border-radius:4px;transition:all .2s;font-family:inherit;width:auto;min-width:200px}.site-name-input[data-v-7872eddd]:hover,.site-name-input[data-v-7872eddd]:focus{background:#f8f9fa;box-shadow:0 0 0 2px #e3e8ef}.client-name-input[data-v-7872eddd]{font-size:14px;color:#666;border:none;background:transparent;outline:none;padding:2px 6px;margin:0;border-radius:4px;transition:all .2s;font-family:inherit;width:auto;min-width:120px}.client-name-input[data-v-7872eddd]:hover,.client-name-input[data-v-7872eddd]:focus{background:#f8f9fa;box-shadow:0 0 0 2px #e3e8ef}.edit-icon[data-v-7872eddd]{width:14px;height:14px;color:#999;opacity:0;transition:opacity .2s;flex-shrink:0}.editable-field:hover .edit-icon[data-v-7872eddd]{opacity:1}.site-details[data-v-7872eddd]{margin:8px 0 0;font-size:14px;color:#666;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.version-badge[data-v-7872eddd]{display:inline-block;padding:2px 8px;background:#2563eb1a;border:1px solid rgba(37,99,235,.3);border-radius:12px;font-size:.75rem;font-weight:600;color:#2563eb;text-transform:uppercase;letter-spacing:.05em}.header-actions[data-v-7872eddd]{display:flex;gap:12px;align-items:center}.btn-add[data-v-7872eddd]{padding:10px 24px;background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-add[data-v-7872eddd]:hover{background:#1d4ed8}.btn-save-send[data-v-7872eddd]{display:flex;align-items:center;gap:8px;padding:10px 24px;background:#10b981;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #10b9814d}.btn-save-send[data-v-7872eddd]:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.btn-save-send[data-v-7872eddd]:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-save-send svg[data-v-7872eddd]{width:18px;height:18px}.loading[data-v-7872eddd],.error[data-v-7872eddd]{text-align:center;padding:48px;font-size:16px}.error[data-v-7872eddd]{color:#dc2626;background:#fee;border-radius:8px}.form-overlay[data-v-7872eddd]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;overflow-y:auto}.devices-section[data-v-7872eddd]{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 4px #00000014}.section-header[data-v-7872eddd]{margin-bottom:24px}.section-header h3[data-v-7872eddd]{margin:0 0 8px;font-size:20px;color:#1a1a1a;font-weight:600}.section-header p[data-v-7872eddd]{margin:0;font-size:14px;color:#666}.empty-state[data-v-7872eddd]{text-align:center;padding:64px 24px;background:#f9fafb;border-radius:12px;border:2px dashed #d0d0d0}.empty-state p[data-v-7872eddd]{margin:0 0 24px;font-size:16px;color:#666}.btn-primary[data-v-7872eddd]{padding:12px 32px;background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-primary[data-v-7872eddd]:hover{background:#1d4ed8}.devices-list[data-v-7872eddd]{display:flex;flex-direction:column;gap:16px}.device-card[data-v-7872eddd]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s}.device-card.disabled[data-v-7872eddd]{opacity:.6}.device-card[data-v-7872eddd]:hover{background:#fff;border-color:#d1d5db}.device-header[data-v-7872eddd]{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.device-type-badge[data-v-7872eddd]{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-emi[data-v-7872eddd]{background:#dbeafe;color:#1e40af}.badge-grid[data-v-7872eddd]{background:#fef3c7;color:#92400e}.badge-pv[data-v-7872eddd]{background:#d1fae5;color:#065f46}.badge-ess[data-v-7872eddd]{background:#e0e7ff;color:#3730a3}.badge-other[data-v-7872eddd]{background:#f3f4f6;color:#374151}.device-connection[data-v-7872eddd]{padding:4px 10px;background:#f3f4f6;border-radius:4px;font-size:12px;color:#6b7280;font-weight:500}.device-status[data-v-7872eddd]{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;color:#666}.status-dot[data-v-7872eddd]{width:8px;height:8px;border-radius:50%;background:#d0d0d0}.status-dot.active[data-v-7872eddd]{background:#10b981}.device-body[data-v-7872eddd]{margin-bottom:16px}.device-info[data-v-7872eddd]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.info-row[data-v-7872eddd]{display:flex;gap:12px;font-size:14px}.info-row .label[data-v-7872eddd]{color:#666;font-weight:500;min-width:80px}.info-row .value[data-v-7872eddd]{color:#1a1a1a;font-family:monospace}.device-config h4[data-v-7872eddd]{margin:0 0 12px;font-size:14px;color:#666;font-weight:500}.config-grid[data-v-7872eddd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;background:#f9fafb;padding:16px;border-radius:8px}.config-item[data-v-7872eddd]{display:flex;justify-content:space-between;gap:12px;font-size:13px}.config-key[data-v-7872eddd]{color:#666;font-weight:500}.config-value[data-v-7872eddd]{color:#1a1a1a;font-family:monospace}.device-actions[data-v-7872eddd]{display:flex;gap:8px;padding-top:16px;border-top:1px solid #f0f0f0}.btn-icon[data-v-7872eddd],.btn-edit[data-v-7872eddd],.btn-delete[data-v-7872eddd]{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid #d0d0d0;background:#fff;color:#555}.btn-icon[data-v-7872eddd]{padding:8px 12px;font-weight:600}.btn-icon[data-v-7872eddd]:disabled{opacity:.3;cursor:not-allowed}.btn-icon[data-v-7872eddd]:not(:disabled):hover{background:#f8f8f8;border-color:#999}.btn-edit[data-v-7872eddd]:hover{background:#f0f9ff;border-color:#2563eb;color:#2563eb}.btn-delete[data-v-7872eddd]{margin-left:auto;color:#dc2626}.btn-delete[data-v-7872eddd]:hover{background:#fee;border-color:#dc2626}.debug-panel[data-v-a67a2caa]{position:fixed;bottom:0;left:0;right:0;background:#14141efa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1);z-index:1000;display:flex;flex-direction:column;max-height:400px;transition:max-height .3s ease}.debug-panel.collapsed[data-v-a67a2caa]{max-height:48px}.debug-header[data-v-a67a2caa]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#1e1e2ecc;border-bottom:1px solid rgba(255,255,255,.1);cursor:pointer;-webkit-user-select:none;user-select:none}.header-left[data-v-a67a2caa]{display:flex;align-items:center;gap:12px}.debug-header .icon[data-v-a67a2caa]{width:20px;height:20px;color:#3b82f6;flex-shrink:0}.debug-header h3[data-v-a67a2caa]{margin:0;font-size:.9rem;font-weight:600;color:#fff}.connection-status[data-v-a67a2caa]{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;font-size:.75rem;font-weight:500;color:#fca5a5;transition:all .3s ease}.connection-status.connected[data-v-a67a2caa]{background:#34d3991a;border-color:#34d3994d;color:#34d399}.status-dot[data-v-a67a2caa]{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse-a67a2caa 2s ease-in-out infinite}@keyframes pulse-a67a2caa{0%,to{opacity:1}50%{opacity:.5}}.message-count[data-v-a67a2caa]{font-size:.75rem;color:#ffffff80;padding:4px 8px;background:#ffffff0d;border-radius:4px}.header-actions[data-v-a67a2caa]{display:flex;align-items:center;gap:8px}.action-btn[data-v-a67a2caa]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffb3;cursor:pointer;transition:all .2s ease}.action-btn[data-v-a67a2caa]:hover{background:#ffffff1a;border-color:#fff3;color:#fff}.action-btn svg[data-v-a67a2caa]{width:16px;height:16px}.connect-btn[data-v-a67a2caa],.disconnect-btn[data-v-a67a2caa]{width:auto;padding:0 12px;gap:6px;font-size:.8rem;font-weight:500}.connect-btn[data-v-a67a2caa]{background:#34d3991a;border-color:#34d3994d;color:#34d399}.connect-btn[data-v-a67a2caa]:hover{background:#34d39933;border-color:#34d39980}.disconnect-btn[data-v-a67a2caa]{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}.disconnect-btn[data-v-a67a2caa]:hover{background:#ef444433;border-color:#ef444480}.toggle-btn svg[data-v-a67a2caa]{transition:transform .3s ease}.debug-content[data-v-a67a2caa]{flex:1;overflow-y:auto;min-height:0}.empty-state[data-v-a67a2caa]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;color:#ffffff80}.empty-state svg[data-v-a67a2caa]{width:48px;height:48px;color:#ffffff4d}.empty-state p[data-v-a67a2caa]{margin:0;font-size:1rem;font-weight:600;color:#ffffffb3}.empty-state span[data-v-a67a2caa]{font-size:.875rem}.messages-container[data-v-a67a2caa]{padding:8px;display:flex;flex-direction:column;gap:8px}.message[data-v-a67a2caa]{background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:10px 12px;transition:all .2s ease}.message[data-v-a67a2caa]:hover{background:#ffffff0a;border-color:#ffffff26}.message-info[data-v-a67a2caa]{border-left:3px solid #3b82f6}.message-success[data-v-a67a2caa]{border-left:3px solid #10b981}.message-error[data-v-a67a2caa]{border-left:3px solid #ef4444;background:#ef44440d}.message-data[data-v-a67a2caa]{border-left:3px solid #8b5cf6}.message-header[data-v-a67a2caa]{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.message-time[data-v-a67a2caa]{font-family:Monaco,Menlo,Courier New,monospace;font-size:.75rem;color:#ffffff80;flex-shrink:0}.message-event[data-v-a67a2caa]{font-family:Monaco,Menlo,Courier New,monospace;font-size:.8rem;font-weight:600;color:#3b82f6;flex-shrink:0}.message-type-badge[data-v-a67a2caa]{padding:2px 8px;background:#ffffff1a;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;color:#ffffffb3}.message-data[data-v-a67a2caa]{font-family:Monaco,Menlo,Courier New,monospace;font-size:.8rem;color:#ffffffe6;margin:0;white-space:pre-wrap;word-wrap:break-word;line-height:1.5;background:#0003;padding:8px;border-radius:4px}@media (max-width: 768px){.debug-panel[data-v-a67a2caa]{max-height:300px}.debug-header h3[data-v-a67a2caa]{font-size:.8rem}.connection-status[data-v-a67a2caa],.message-count[data-v-a67a2caa]{font-size:.7rem}}.main-app[data-v-38f24a9d]{min-height:calc(100vh - 81px);padding-bottom:48px}.site-list-view[data-v-38f24a9d]{padding:24px;min-height:calc(100vh - 81px)}.users-view[data-v-38f24a9d],.config-view[data-v-38f24a9d]{min-height:calc(100vh - 81px)}.dashboard-view[data-v-38f24a9d]{min-height:100vh}.back-button-container[data-v-38f24a9d]{padding:24px 24px 0}.back-button[data-v-38f24a9d]{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#60a5fa;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.back-button[data-v-38f24a9d]:hover{background:#3b82f633;border-color:#3b82f680;transform:translate(-4px)}.back-button svg[data-v-38f24a9d]{width:20px;height:20px}@media (max-width: 768px){.site-list-view[data-v-38f24a9d],.back-button-container[data-v-38f24a9d]{padding:16px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e)}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff}.loading-spinner svg{width:48px;height:48px;animation:spin 1s linear infinite}.loading-spinner span{font-size:1rem;font-weight:500;color:#ffffffb3}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.authenticated-app{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e)}
