.gauge-card[data-v-72218ce6]{background:#fff;border-radius:10px;border:1px solid #e2e8f0;border-top:3px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;padding:16px 12px 12px;display:flex;flex-direction:column;align-items:center;width:100%;min-height:195px;text-align:center;position:relative;transition:box-shadow .2s ease,transform .2s ease}.gauge-card[data-v-72218ce6]:hover{box-shadow:0 6px 20px #00000017;transform:translateY(-2px)}.title[data-v-72218ce6]{text-align:center;font-size:11px;font-weight:600;color:#64748b;margin:0 0 8px;text-transform:uppercase;letter-spacing:.6px;height:20px;width:100%}.gauge-container[data-v-72218ce6]{position:relative;width:100%;height:140px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin-bottom:5px;gap:0px}.digital-twin-value[data-v-72218ce6]{font-size:12px;color:#94a3b8;margin-bottom:-20px;font-weight:600;height:20px;line-height:20px;font-variant-numeric:tabular-nums}.gauge-canvas[data-v-72218ce6]{position:relative;z-index:2}.range-min[data-v-72218ce6]{position:absolute;left:15px;bottom:30px;font-size:11px;color:#cbd5e1;z-index:4;font-variant-numeric:tabular-nums}.range-max[data-v-72218ce6]{position:absolute;right:15px;bottom:30px;font-size:11px;color:#cbd5e1;z-index:4;font-variant-numeric:tabular-nums}.range-min.out-of-range[data-v-72218ce6],.range-max.out-of-range[data-v-72218ce6]{color:#dc2626;font-weight:700}.real-value[data-v-72218ce6]{font-weight:700;font-size:22px;margin-top:-45px;z-index:3;position:relative;height:30px;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.date-filter-bar[data-v-44729606]{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.date-filter-label[data-v-44729606]{font-size:13px;font-weight:600;color:#475569;white-space:nowrap}.date-input[data-v-44729606]{padding:6px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:inherit;color:#0f172a;background:#fff;outline:none;transition:border-color .15s}.date-input[data-v-44729606]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.date-input[data-v-44729606]:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.date-arrow[data-v-44729606]{color:#94a3b8;font-size:16px}.btn-date[data-v-44729606]{padding:6px 14px;font-size:13px;font-weight:500;border-radius:8px;border:none;cursor:pointer;font-family:inherit;transition:background .15s,transform .1s}.btn-date[data-v-44729606]:disabled{opacity:.45;cursor:not-allowed}.btn-date-apply[data-v-44729606]{background:#2563eb;color:#fff}.btn-date-apply[data-v-44729606]:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.btn-date-clear[data-v-44729606]{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}.btn-date-clear[data-v-44729606]:hover{background:#fecaca}.dashboard-chart[data-v-44729606]{background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;padding:24px}.chart-controls[data-v-44729606]{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.chart-controls label[data-v-44729606]{font-size:13px;font-weight:500;color:#475569}.interval-selector[data-v-44729606]{padding:7px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:inherit;color:#0f172a;background:#f8fafc;cursor:pointer;transition:border-color .15s;outline:none}.interval-selector[data-v-44729606]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.show-points-label[data-v-44729606]{display:inline-flex;align-items:center;gap:6px;margin-left:8px;cursor:pointer;font-size:13px;font-weight:500;color:#475569;-webkit-user-select:none;user-select:none}.show-points-label input[type=checkbox][data-v-44729606]{accent-color:#2563eb;width:14px;height:14px;cursor:pointer}.field-controls[data-v-44729606]{margin-bottom:20px}.field-controls h3[data-v-44729606]{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.field-checkboxes[data-v-44729606]{display:flex;flex-wrap:wrap;gap:8px}.field-checkbox[data-v-44729606]{display:inline-flex;align-items:center;padding:5px 12px;border-radius:20px;border:1px solid #e2e8f0;background:#f8fafc;cursor:pointer;font-size:12px;font-weight:500;color:#475569;transition:background .15s,border-color .15s,color .15s;-webkit-user-select:none;user-select:none}.field-checkbox input[type=checkbox][data-v-44729606]{display:none}.field-checkbox[data-v-44729606]:has(input:checked){background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.field-checkbox[data-v-44729606]:hover{border-color:#93c5fd;color:#1d4ed8}.chart-header[data-v-44729606]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.zoom-controls[data-v-44729606]{display:flex;gap:6px}.zoom-btn[data-v-44729606]{padding:6px 12px;font-size:13px;font-weight:500;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s;font-family:inherit}.zoom-btn[data-v-44729606]:hover{background:#f1f5f9;border-color:#cbd5e1}.zoom-btn[data-v-44729606]:active{transform:scale(.95)}.reset-btn[data-v-44729606]{color:#2563eb;border-color:#bfdbfe}.reset-btn[data-v-44729606]:hover{background:#eff6ff;border-color:#93c5fd}.current-date[data-v-44729606]{font-size:13px;font-weight:600;color:#475569;padding:5px 12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.chart-container[data-v-44729606]{height:500px;position:relative}.chart[data-v-44729606]{height:100%}.no-data[data-v-44729606]{display:flex;align-items:center;justify-content:center;height:100%;color:#94a3b8;font-size:15px}.login-wrapper[data-v-d60dfdbc]{min-height:100vh;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-card[data-v-d60dfdbc]{background:#fff;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 4px 24px #00000014;padding:40px 36px;width:100%;max-width:380px}.login-brand[data-v-d60dfdbc]{text-align:center;margin-bottom:32px}.login-logo[data-v-d60dfdbc]{width:200px;height:200px;object-fit:contain;display:block;margin:0 auto 10px}.login-title[data-v-d60dfdbc]{font-size:22px;font-weight:700;color:#0f172a;margin:0 0 6px;letter-spacing:-.3px}.login-sub[data-v-d60dfdbc]{font-size:13px;color:#64748b;margin:0}.login-form[data-v-d60dfdbc]{display:flex;flex-direction:column;gap:16px}.field-group[data-v-d60dfdbc]{display:flex;flex-direction:column;gap:6px}.field-label[data-v-d60dfdbc]{font-size:13px;font-weight:600;color:#374151}.field-input[data-v-d60dfdbc]{padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;color:#0f172a;background:#f8fafc;outline:none;transition:border-color .15s,box-shadow .15s}.field-input[data-v-d60dfdbc]:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1a}.field-input[data-v-d60dfdbc]:disabled{opacity:.5;cursor:not-allowed}.error-msg[data-v-d60dfdbc]{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;font-size:13px;font-weight:500;padding:10px 14px;border-radius:8px}.btn-login[data-v-d60dfdbc]{margin-top:4px;padding:11px;background:#2563eb;color:#fff;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;font-family:inherit;transition:background .15s,transform .1s,box-shadow .15s}.btn-login[data-v-d60dfdbc]:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-login[data-v-d60dfdbc]:disabled{opacity:.5;cursor:not-allowed;transform:none}.admin-wrapper[data-v-07a0be0d]{min-height:100vh;background:#f1f5f9;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.admin-topbar[data-v-07a0be0d]{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 4px #0000000f;display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:62px}.btn-back[data-v-07a0be0d]{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s;width:145px}.btn-back[data-v-07a0be0d]:hover{background:#f1f5f9;color:#0f172a}.admin-brand[data-v-07a0be0d]{display:flex;align-items:center;gap:10px}.admin-logo[data-v-07a0be0d]{width:30px;height:30px;object-fit:contain}.admin-title[data-v-07a0be0d]{font-size:16px;font-weight:700;color:#0f172a}.admin-content[data-v-07a0be0d]{max-width:900px;margin:0 auto;padding:28px 24px;display:flex;flex-direction:column;gap:20px}.admin-card[data-v-07a0be0d]{background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a;padding:24px}.admin-card .date-range-row[data-v-07a0be0d]{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px}.admin-card .date-field[data-v-07a0be0d]{display:flex;flex-direction:column;gap:5px}.admin-card .date-field-label[data-v-07a0be0d]{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.admin-card .admin-date-input[data-v-07a0be0d]{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:inherit;color:#0f172a;background:#f8fafc;outline:none;transition:border-color .15s}.admin-card .admin-date-input[data-v-07a0be0d]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.admin-card .date-range-arrow[data-v-07a0be0d]{font-size:18px;color:#94a3b8;padding-bottom:8px}.admin-card .btn-clear-dates[data-v-07a0be0d]{padding:8px 14px;font-size:12px;font-weight:500;color:#dc2626;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;cursor:pointer;font-family:inherit;align-self:flex-end;transition:background .15s}.admin-card .btn-clear-dates[data-v-07a0be0d]:hover{background:#fecaca}.admin-card .num-grid[data-v-07a0be0d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.admin-card .num-field[data-v-07a0be0d]{display:flex;flex-direction:column;gap:4px}.admin-card .num-label[data-v-07a0be0d]{font-size:13px;font-weight:600;color:#0f172a}.admin-card .num-desc[data-v-07a0be0d]{font-size:12px;color:#64748b;margin:0 0 10px}.admin-card .num-input-row[data-v-07a0be0d]{display:flex;align-items:center;gap:8px}.admin-card .num-input[data-v-07a0be0d]{width:72px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:15px;font-weight:600;text-align:center;font-family:inherit;color:#0f172a;background:#f8fafc;outline:none;transition:border-color .15s}.admin-card .num-input[data-v-07a0be0d]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.admin-card .num-btn[data-v-07a0be0d]{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:400;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:background .15s;line-height:1;-webkit-user-select:none;user-select:none}.admin-card .num-btn[data-v-07a0be0d]:hover{background:#e2e8f0;color:#0f172a}.admin-section-header[data-v-07a0be0d]{margin-bottom:16px}.admin-section-title[data-v-07a0be0d]{font-size:15px;font-weight:600;color:#0f172a;margin:0 0 4px}.admin-section-desc[data-v-07a0be0d]{font-size:13px;color:#64748b;margin:0}.check-grid[data-v-07a0be0d]{display:flex;flex-wrap:wrap;gap:8px}.check-chip[data-v-07a0be0d]{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;border:1px solid #e2e8f0;background:#f8fafc;cursor:pointer;font-size:13px;font-weight:500;color:#475569;transition:background .15s,border-color .15s,color .15s;-webkit-user-select:none;user-select:none}.check-chip input[type=checkbox][data-v-07a0be0d]{display:none}.check-chip.active[data-v-07a0be0d]{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.check-chip[data-v-07a0be0d]:hover{border-color:#93c5fd;color:#1d4ed8}.interval-grid[data-v-07a0be0d]{display:flex;flex-wrap:wrap;gap:8px}.radio-chip[data-v-07a0be0d]{display:inline-flex;align-items:center;padding:8px 20px;border-radius:20px;border:1px solid #e2e8f0;background:#f8fafc;cursor:pointer;font-size:13px;font-weight:500;color:#475569;transition:background .15s,border-color .15s,color .15s;-webkit-user-select:none;user-select:none}.radio-chip input[type=radio][data-v-07a0be0d]{display:none}.radio-chip.active[data-v-07a0be0d]{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;font-weight:600}.radio-chip[data-v-07a0be0d]:hover{border-color:#93c5fd;color:#1d4ed8}.admin-footer[data-v-07a0be0d]{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:4px 0 8px}.toggle-row[data-v-07a0be0d]{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label[data-v-07a0be0d]{font-size:14px;font-weight:500;color:#0f172a}.toggle-switch[data-v-07a0be0d]{position:relative;width:44px;height:24px;background:#cbd5e1;border-radius:12px;flex-shrink:0;transition:background .2s}.toggle-switch.on[data-v-07a0be0d]{background:#2563eb}.toggle-knob[data-v-07a0be0d]{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s}.toggle-switch.on .toggle-knob[data-v-07a0be0d]{transform:translate(20px)}.btn-save[data-v-07a0be0d]{padding:10px 28px;background:#2563eb;color:#fff;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;font-family:inherit;transition:background .15s,transform .1s,box-shadow .15s}.btn-save[data-v-07a0be0d]:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.save-ok[data-v-07a0be0d]{display:none}.toast[data-v-07a0be0d]{position:fixed;top:20px;right:24px;z-index:9999;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;background:#16a34a;color:#fff;font-size:13px;font-weight:600;border-radius:10px;box-shadow:0 4px 16px #16a34a59;pointer-events:none}.toast-enter-active[data-v-07a0be0d]{animation:toast-in-07a0be0d .3s ease}.toast-leave-active[data-v-07a0be0d]{animation:toast-in-07a0be0d .25s ease reverse}@keyframes toast-in-07a0be0d{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.fade-enter-active[data-v-07a0be0d],.fade-leave-active[data-v-07a0be0d]{transition:opacity .4s}.fade-enter-from[data-v-07a0be0d],.fade-leave-to[data-v-07a0be0d]{opacity:0}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:#f1f5f9;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#0f172a}.auth-loading[data-v-970b948d]{min-height:100vh;background:#f1f5f9;display:flex;align-items:center;justify-content:center}.auth-spinner[data-v-970b948d]{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin-970b948d .7s linear infinite}@keyframes spin-970b948d{to{transform:rotate(360deg)}}.app[data-v-970b948d]{min-height:100vh;background:#f1f5f9}.topbar[data-v-970b948d]{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 4px #0000000f;display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:62px}.topbar-right[data-v-970b948d]{display:flex;align-items:center;gap:12px}.btn-logout[data-v-970b948d]{padding:6px 14px;font-size:13px;font-weight:500;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.btn-logout[data-v-970b948d]:hover{background:#fee2e2;color:#dc2626;border-color:#fecaca}.btn-settings[data-v-970b948d]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:background .15s,color .15s,transform .2s}.btn-settings[data-v-970b948d]:hover{background:#eff6ff;color:#2563eb;border-color:#bfdbfe;transform:rotate(45deg)}.topbar-brand[data-v-970b948d]{display:flex;align-items:center;gap:10px}.topbar-logo[data-v-970b948d]{width:36px;height:36px;object-fit:contain}.topbar-title[data-v-970b948d]{font-size:18px;font-weight:700;color:#0f172a;letter-spacing:-.3px}.topbar-sub[data-v-970b948d]{font-size:11px;font-weight:500;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;padding:2px 10px;border-radius:20px;margin-left:4px;text-transform:uppercase;letter-spacing:.5px}.status-badge[data-v-970b948d]{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;transition:background .3s,border-color .3s}.status-ok[data-v-970b948d]{background:#dcfce7;color:#16a34a;border:1px solid #bbf7d0}.status-loading[data-v-970b948d]{background:#fef9c3;color:#ca8a04;border:1px solid #fde047}.status-dot[data-v-970b948d]{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.status-ok .status-dot[data-v-970b948d]{animation:pulse-ok-970b948d 2s ease-in-out infinite}.status-loading .status-dot[data-v-970b948d]{animation:pulse-loading-970b948d .8s ease-in-out infinite}@keyframes pulse-ok-970b948d{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}@keyframes pulse-loading-970b948d{0%,to{opacity:1}50%{opacity:.3}}.status-time[data-v-970b948d]{font-size:11px;opacity:.65;font-weight:400}.main-content[data-v-970b948d]{max-width:1600px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:20px}.section-card[data-v-970b948d]{background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;padding:24px}.section-head[data-v-970b948d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.section-title[data-v-970b948d]{font-size:15px;font-weight:600;color:#0f172a;margin:0}.action-bar[data-v-970b948d]{display:flex;gap:8px}.btn[data-v-970b948d]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;border-radius:8px;border:none;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s;white-space:nowrap;font-family:inherit}.btn[data-v-970b948d]:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary[data-v-970b948d]{background:#2563eb;color:#fff}.btn-primary[data-v-970b948d]:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-ghost[data-v-970b948d]{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}.btn-ghost[data-v-970b948d]:hover{background:#f1f5f9;color:#0f172a;border-color:#cbd5e1}.gauges-grid[data-v-970b948d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
