.branding-header[data-v-4cb4c096]{background:linear-gradient(135deg,var(--color-info) 0%,#2a5298 100%);color:#fff;padding:15px 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.logo-link[data-v-4cb4c096]{display:flex}.left-branding[data-v-4cb4c096]{display:flex;align-items:center;gap:15px}.logo[data-v-4cb4c096]{height:50px;width:50px;object-fit:contain}.product-info h1[data-v-4cb4c096]{margin:0;font-size:20px;font-weight:600}.product-info p[data-v-4cb4c096]{margin:0;font-size:13px;opacity:.9}.right-branding[data-v-4cb4c096]{display:flex;align-items:center;gap:16px}.company-name[data-v-4cb4c096]{font-size:16px;font-weight:500}.user-info[data-v-4cb4c096]{font-size:13px;opacity:.85}.logout-btn[data-v-4cb4c096]{padding:6px 14px;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:4px;font-size:13px;cursor:pointer}.logout-btn[data-v-4cb4c096]:hover{background:#ffffff40}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5}#app{min-height:100vh;display:flex;flex-direction:column}.app-layout{display:flex;flex:1}.sidebar{width:200px;background:var(--color-info);display:flex;flex-direction:column;padding-top:10px;flex-shrink:0}.nav-item{display:flex;align-items:center;gap:10px;padding:14px 20px;color:#ffffffbf;text-decoration:none;font-size:14px;font-weight:500;transition:background .2s,color .2s}.nav-item:hover{background:#ffffff1a;color:#fff}.nav-item.active{background:#ffffff26;color:#fff;border-left:3px solid #4fc3f7}.nav-icon{font-size:16px}.sidebar{transition:width .2s}.sidebar.collapsed{width:52px}.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:14px 0}.sidebar-toggle{background:none;border:none;color:#fff9;font-size:11px;cursor:pointer;padding:6px 10px 6px 0;text-align:right;width:100%}.sidebar-toggle:hover{color:#fff}@media (max-width: 768px){.sidebar{width:52px}.sidebar:not(.collapsed){width:52px}.nav-label{display:none}.nav-item{justify-content:center;padding:14px 0}.sidebar-toggle{display:none}}.main-content{flex:1;overflow:auto}.login-page[data-v-6cdddb17]{min-height:100vh;background:linear-gradient(135deg,#1e3c72,#2a5298);display:flex;align-items:center;justify-content:center}.login-box[data-v-6cdddb17]{background:#fff;border-radius:12px;padding:40px;width:360px;box-shadow:0 10px 30px #0000004d}.login-header[data-v-6cdddb17]{text-align:center;margin-bottom:30px}.logo[data-v-6cdddb17]{height:60px;width:60px;object-fit:contain;margin-bottom:10px}.login-header h1[data-v-6cdddb17]{margin:0;font-size:22px;color:#1e3c72}.login-header p[data-v-6cdddb17]{margin:4px 0 0;font-size:13px;color:#666}.login-form[data-v-6cdddb17]{display:flex;flex-direction:column;gap:14px}input[data-v-6cdddb17]{padding:10px 14px;border:1px solid #ccc;border-radius:6px;font-size:14px}input[data-v-6cdddb17]:focus{outline:2px solid #2a5298;border-color:#2a5298}input[data-v-6cdddb17]:disabled{background:#f5f5f5;cursor:not-allowed}button[data-v-6cdddb17]{padding:12px;background:#1e3c72;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:700;cursor:pointer}button[data-v-6cdddb17]:hover:not(:disabled){background:#2a5298}button[data-v-6cdddb17]:disabled{opacity:.6;cursor:not-allowed}.error[data-v-6cdddb17]{color:#dc3545;font-size:13px;margin:0}.forgot-link[data-v-6cdddb17]{font-size:12px;color:#2a5298;text-align:center;text-decoration:none}.forgot-link[data-v-6cdddb17]:hover{text-decoration:underline}.login-page[data-v-c096b693]{min-height:100vh;background:linear-gradient(135deg,#1e3c72,#2a5298);display:flex;align-items:center;justify-content:center}.login-box[data-v-c096b693]{background:#fff;border-radius:12px;padding:40px;width:360px;box-shadow:0 10px 30px #0000004d}.login-header[data-v-c096b693]{text-align:center;margin-bottom:30px}.logo[data-v-c096b693]{height:60px;width:60px;object-fit:contain;margin-bottom:10px}.login-header h1[data-v-c096b693]{margin:0;font-size:22px;color:#1e3c72}.login-header p[data-v-c096b693]{margin:4px 0 0;font-size:13px;color:#666}.login-form[data-v-c096b693]{display:flex;flex-direction:column;gap:14px}input[data-v-c096b693]{padding:10px 14px;border:1px solid #ccc;border-radius:6px;font-size:14px}input[data-v-c096b693]:focus{outline:2px solid #2a5298;border-color:#2a5298}input[data-v-c096b693]:disabled{background:#f5f5f5;cursor:not-allowed}button[data-v-c096b693]{padding:12px;background:#1e3c72;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:700;cursor:pointer}button[data-v-c096b693]:hover:not(:disabled){background:#2a5298}button[data-v-c096b693]:disabled{opacity:.6;cursor:not-allowed}.error[data-v-c096b693]{color:#dc3545;font-size:13px;margin:0}.sent-box[data-v-c096b693]{display:flex;flex-direction:column;gap:16px}.sent-msg[data-v-c096b693]{font-size:14px;color:#374151;line-height:1.6;text-align:center}.forgot-link[data-v-c096b693]{font-size:12px;color:#2a5298;text-align:center;text-decoration:none}.forgot-link[data-v-c096b693]:hover{text-decoration:underline}.login-page[data-v-a5279190]{min-height:100vh;background:linear-gradient(135deg,#1e3c72,#2a5298);display:flex;align-items:center;justify-content:center}.login-box[data-v-a5279190]{background:#fff;border-radius:12px;padding:40px;width:360px;box-shadow:0 10px 30px #0000004d}.login-header[data-v-a5279190]{text-align:center;margin-bottom:30px}.logo[data-v-a5279190]{height:60px;width:60px;object-fit:contain;margin-bottom:10px}.login-header h1[data-v-a5279190]{margin:0;font-size:22px;color:#1e3c72}.login-header p[data-v-a5279190]{margin:4px 0 0;font-size:13px;color:#666}.login-form[data-v-a5279190]{display:flex;flex-direction:column;gap:14px}input[data-v-a5279190]{padding:10px 14px;border:1px solid #ccc;border-radius:6px;font-size:14px}input[data-v-a5279190]:focus{outline:2px solid #2a5298;border-color:#2a5298}input[data-v-a5279190]:disabled{background:#f5f5f5;cursor:not-allowed}button[data-v-a5279190]{padding:12px;background:#1e3c72;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:700;cursor:pointer}button[data-v-a5279190]:hover:not(:disabled){background:#2a5298}button[data-v-a5279190]:disabled{opacity:.6;cursor:not-allowed}.error[data-v-a5279190]{color:#dc3545;font-size:13px;margin:0}.sent-box[data-v-a5279190]{display:flex;flex-direction:column;gap:16px}.sent-msg[data-v-a5279190]{font-size:14px;color:#374151;text-align:center;line-height:1.6}.forgot-link[data-v-a5279190]{font-size:12px;color:#2a5298;text-align:center;text-decoration:none}.forgot-link[data-v-a5279190]:hover{text-decoration:underline}.process-grid-wrap[data-v-10bc4488]{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg)}.process-grid[data-v-10bc4488]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-md)}.value-card[data-v-10bc4488]{border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);border-top:3px solid var(--border-light);transition:background var(--transition-base),opacity var(--transition-base)}.value-card.card-active[data-v-10bc4488]{background:var(--bg-surface)}.value-card.card-inactive[data-v-10bc4488]{background:var(--color-gray-100);opacity:.65}.value-card.card-ok[data-v-10bc4488]{border-top-color:var(--color-success)}.value-card.card-warn[data-v-10bc4488]{border-top-color:var(--color-warning)}.value-card.card-critical[data-v-10bc4488]{border-top-color:var(--color-danger)}.value-card.card-neutral[data-v-10bc4488]{border-top-color:var(--border-light)}.card-label[data-v-10bc4488]{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.card-value[data-v-10bc4488]{display:flex;align-items:baseline;gap:var(--space-xs);margin-bottom:var(--space-sm)}.value-number[data-v-10bc4488]{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1}.value-unit[data-v-10bc4488]{font-size:var(--font-size-sm);color:var(--text-secondary)}.fill-bar-wrap[data-v-10bc4488]{background:var(--color-gray-200);border-radius:2px;height:5px;overflow:hidden;margin-bottom:var(--space-xs)}.fill-bar[data-v-10bc4488]{height:100%;border-radius:2px;transition:width .5s ease}.fill-bar.fill-ok[data-v-10bc4488]{background:var(--color-success)}.fill-bar.fill-warn[data-v-10bc4488]{background:var(--color-warning)}.fill-bar.fill-critical[data-v-10bc4488]{background:var(--color-danger)}.fill-bar.fill-neutral[data-v-10bc4488]{background:var(--color-gray-400)}.card-target[data-v-10bc4488]{font-size:var(--font-size-xs);color:var(--text-tertiary)}.prefill-section[data-v-10bc4488]{border:1px dashed var(--color-warning);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);background:var(--color-warning-bg)}.prefill-header[data-v-10bc4488]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-warning-text);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.5px}.prefill-batch[data-v-10bc4488]{margin-left:var(--space-sm);font-weight:var(--font-weight-bold)}.prefill-grid[data-v-10bc4488]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-sm)}.value-card.card-prefill[data-v-10bc4488]{background:var(--bg-surface);opacity:.9;border-top-color:var(--color-warning)}.process-grid-wrap[data-v-10bc4488]{position:relative}.system-event-overlay[data-v-10bc4488]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);background:#00000073;border-radius:var(--radius-lg);pointer-events:none}.overlay-icon[data-v-10bc4488]{font-size:2rem;color:#ef4444}.overlay-text[data-v-10bc4488]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fff;text-align:center;letter-spacing:.3px}.trend-chart[data-v-3b963334]{display:flex;flex-direction:column;height:100%;padding:var(--space-lg);gap:var(--space-md)}.tag-checkboxes[data-v-3b963334]{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-xs);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-surface);max-width:500px}.tag-checkbox[data-v-3b963334]{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap}.tag-checkbox input[type=checkbox][data-v-3b963334]{cursor:pointer}.tag-checkbox[data-v-3b963334]:hover{color:var(--text-primary)}.chart-type-btn[data-v-3b963334]{padding:var(--space-xs) var(--space-md);border:1px solid var(--border-default);background:var(--bg-surface);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.chart-type-btn[data-v-3b963334]:hover{background:var(--color-gray-100);border-color:var(--border-hover)}.chart-toolbar[data-v-3b963334]{display:flex;align-items:center;gap:var(--space-xl);flex-wrap:wrap}.chart-mode-tabs[data-v-3b963334]{display:flex;gap:2px;background:var(--color-gray-200);border-radius:var(--radius-md);padding:2px}.chart-mode-tabs button[data-v-3b963334]{padding:var(--space-xs) var(--space-lg);border:none;background:transparent;border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast)}.chart-mode-tabs button.active[data-v-3b963334]{background:var(--bg-surface);color:var(--text-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.chart-options[data-v-3b963334]{display:flex;align-items:center;gap:var(--space-sm)}.option-label[data-v-3b963334]{font-size:var(--font-size-sm);color:var(--text-secondary)}.form-select[data-v-3b963334]{min-width:120px;font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-default);border-radius:var(--radius-sm)}.form-input[data-v-3b963334]{padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.canvas-wrap[data-v-3b963334]{position:relative;flex:1;min-height:300px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-md)}.chart-overlay[data-v-3b963334]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);color:var(--text-secondary);background:#ffffffd9;border-radius:var(--radius-lg);z-index:2}.chart-overlay.error[data-v-3b963334]{color:var(--color-danger)}.chart-legend[data-v-3b963334]{display:flex;gap:var(--space-xl);flex-wrap:wrap;font-size:var(--font-size-xs);color:var(--text-secondary)}.legend-item[data-v-3b963334]{display:flex;align-items:center;gap:var(--space-xs)}.legend-dot[data-v-3b963334]{width:10px;height:10px;border-radius:2px;display:inline-block}.legend-dot.ok[data-v-3b963334]{background:#28a74599}.legend-dot.warn[data-v-3b963334]{background:#ffc107bf}.legend-dot.critical[data-v-3b963334]{background:#dc3545bf}.legend-dot.temp[data-v-3b963334]{background:#dc3545;border-radius:50%}.legend-note[data-v-3b963334]{font-style:italic}.alarm-strip[data-v-a0efb874]{background:var(--bg-surface);border-top:2px solid var(--border-light);padding:var(--space-md) var(--space-lg);margin:var(--space-lg) 0 0 0}.alarm-section-header[data-v-a0efb874]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.alarm-section-title[data-v-a0efb874]{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px}.alarm-section-title.critical[data-v-a0efb874]{color:var(--color-danger)}.alarm-section-title.clear[data-v-a0efb874]{color:var(--color-success)}.history-link[data-v-a0efb874]{font-size:var(--font-size-sm);color:var(--color-info);text-decoration:none}.history-link[data-v-a0efb874]:hover{text-decoration:underline}.alarm-list[data-v-a0efb874]{display:flex;flex-direction:column;gap:var(--space-xs)}.alarm-row[data-v-a0efb874]{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.alarm-row.active[data-v-a0efb874]{background:var(--color-danger-bg)}.alarm-row.active.sev-medium[data-v-a0efb874]{background:var(--color-warning-bg)}.alarm-row.resolved[data-v-a0efb874]{opacity:.55;background:var(--color-gray-100)}.alarm-severity-dot[data-v-a0efb874]{width:8px;height:8px;border-radius:50%;background:var(--color-danger);flex-shrink:0}.sev-medium .alarm-severity-dot[data-v-a0efb874]{background:var(--color-warning)}.alarm-resolved-icon[data-v-a0efb874]{color:var(--color-success);font-size:var(--font-size-sm)}.alarm-name[data-v-a0efb874]{font-weight:var(--font-weight-semibold);flex:1;color:var(--text-primary)}.alarm-meta[data-v-a0efb874]{color:var(--text-secondary);min-width:80px}.alarm-time[data-v-a0efb874]{color:var(--text-tertiary);font-size:var(--font-size-xs);min-width:70px}.acked-header[data-v-a0efb874]{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;padding:var(--space-xs) 0;letter-spacing:.5px}.alarm-row.acked[data-v-a0efb874]{opacity:.7;background:var(--color-gray-100)}.alarm-acked-icon[data-v-a0efb874]{color:var(--color-success)}.system-event-banner[data-v-a0efb874]{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);background:#7c1d1d;border-left:4px solid #ef4444;border-radius:var(--radius-sm);margin-bottom:var(--space-md);color:#fff}.system-event-icon[data-v-a0efb874]{font-size:var(--font-size-xl);flex-shrink:0;animation:pulse 1s infinite}.system-event-content[data-v-a0efb874]{display:flex;flex-direction:column;flex:1}.system-event-title[data-v-a0efb874]{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:1px;opacity:.85}.system-event-names[data-v-a0efb874]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.3px}.system-event-note[data-v-a0efb874]{font-size:var(--font-size-xs);opacity:.6;text-align:right;min-width:160px}.recent-list[data-v-a0efb874]{margin-top:var(--space-xs)}.btn-ack[data-v-a0efb874]{padding:2px var(--space-sm);border:1px solid var(--color-danger);background:transparent;color:var(--color-danger);border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;font-weight:var(--font-weight-semibold);transition:all var(--transition-fast);flex-shrink:0}.btn-ack[data-v-a0efb874]:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn-ack[data-v-a0efb874]:disabled{opacity:.5;cursor:not-allowed}.btn-ack.acked[data-v-a0efb874]{border-color:var(--color-success);color:var(--color-success)}.dashboard-page[data-v-0a81c5d2]{display:flex;flex-direction:column;height:100%;background:var(--bg-page)}.status-bar[data-v-0a81c5d2]{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--color-primary-dark);flex-wrap:wrap;align-items:center}.status-pill[data-v-0a81c5d2]{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:#ffffff1f;color:#fff;cursor:default}.prefill-badge[data-v-0a81c5d2]{font-size:var(--font-size-xs);background:var(--color-info-bg);color:var(--color-info);padding:1px var(--space-xs);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);margin-left:var(--space-xs)}.state-dot[data-v-0a81c5d2]{width:7px;height:7px;border-radius:50%;background:#fff;animation:pulse-0a81c5d2 2s infinite}@keyframes pulse-0a81c5d2{0%,to{opacity:1}50%{opacity:.4}}.elapsed[data-v-0a81c5d2]{opacity:.7;font-size:var(--font-size-xs);margin-left:var(--space-xs)}.state-pill.pill-running[data-v-0a81c5d2]{background:#4fc3f740}.state-pill.pill-complete[data-v-0a81c5d2]{background:#28a74540}.state-pill.pill-fault[data-v-0a81c5d2]{background:#dc354559}.state-pill.pill-idle[data-v-0a81c5d2]{background:#ffffff14}.alarm-pill[data-v-0a81c5d2]{cursor:pointer}.alarm-pill.pill-critical[data-v-0a81c5d2]{background:#dc354580}.alarm-pill.pill-medium[data-v-0a81c5d2]{background:#ffc10759}.alarm-pill.pill-clear[data-v-0a81c5d2]{background:#28a74540}.alarm-pill.pill-system-event[data-v-0a81c5d2]{background:#ef4444bf;animation:pulse-0a81c5d2 1s infinite}.state-alarms[data-v-0a81c5d2]{margin-top:var(--space-xs)}.alarm-count-badge[data-v-0a81c5d2]{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:2px var(--space-sm);border-radius:var(--radius-sm)}.alarm-count-badge.critical[data-v-0a81c5d2]{background:var(--color-danger-bg);color:var(--color-danger-text)}.alarm-count-badge.medium[data-v-0a81c5d2]{background:var(--color-warning-bg);color:var(--color-warning-text)}.alarm-count-badge.system-event[data-v-0a81c5d2]{background:#7c1d1d;color:#fca5a5}.dashboard-body[data-v-0a81c5d2]{flex:1;overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.cards-row[data-v-0a81c5d2]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.card[data-v-0a81c5d2]{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm)}.state-header[data-v-0a81c5d2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.state-badge[data-v-0a81c5d2]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-xl)}.state-badge.badge-running[data-v-0a81c5d2]{background:var(--color-info-bg);color:var(--color-info)}.state-badge.badge-complete[data-v-0a81c5d2]{background:var(--color-success-bg);color:var(--color-success)}.state-badge.badge-fault[data-v-0a81c5d2]{background:var(--color-danger-bg);color:var(--color-danger)}.state-badge.badge-idle[data-v-0a81c5d2]{background:var(--color-gray-100);color:var(--text-secondary)}.state-timer[data-v-0a81c5d2]{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);font-variant-numeric:tabular-nums}.state-meta[data-v-0a81c5d2]{display:flex;gap:var(--space-md);font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-xs)}.state-meta.secondary[data-v-0a81c5d2]{color:var(--text-tertiary)}.stage-progress[data-v-0a81c5d2]{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-md)}.stage-item[data-v-0a81c5d2]{font-size:var(--font-size-xs);padding:2px var(--space-sm);border-radius:var(--radius-sm);background:var(--color-gray-100);color:var(--text-tertiary);border:1px solid var(--border-light)}.stage-item.active[data-v-0a81c5d2]{background:var(--color-info);color:#fff;border-color:var(--color-info)}.stage-item.completed[data-v-0a81c5d2]{background:var(--color-success-bg);color:var(--color-success-text);border-color:transparent}.main-view.has-summary[data-v-0a81c5d2]{display:grid;grid-template-columns:1fr 320px}.grid-pane[data-v-0a81c5d2]{overflow:hidden}.batch-summary-pane[data-v-0a81c5d2]{border-left:2px solid var(--color-success);background:var(--color-success-bg);display:flex;flex-direction:column;overflow:hidden}.summary-header[data-v-0a81c5d2]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--color-success);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.summary-header.aborted[data-v-0a81c5d2]{background:var(--color-danger)}.summary-close[data-v-0a81c5d2]{background:none;border:none;color:#fff;cursor:pointer;font-size:var(--font-size-base)}.summary-body[data-v-0a81c5d2]{flex:1;overflow-y:auto;padding:var(--space-sm) var(--space-md)}.summary-row[data-v-0a81c5d2]{display:flex;justify-content:space-between;font-size:var(--font-size-sm);padding:3px 0;border-bottom:1px solid rgba(40,167,69,.2)}.summary-row span[data-v-0a81c5d2]:first-child{color:var(--text-secondary)}.summary-row span[data-v-0a81c5d2]:last-child{font-weight:var(--font-weight-medium)}.summary-sep[data-v-0a81c5d2]{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;color:var(--color-success-text);margin:var(--space-sm) 0 var(--space-xs) 0}.last-batch-header[data-v-0a81c5d2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.card-title[data-v-0a81c5d2]{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.badge[data-v-0a81c5d2]{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.badge-success[data-v-0a81c5d2]{background:var(--color-success-bg);color:var(--color-success-text)}.badge-warning[data-v-0a81c5d2]{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-danger[data-v-0a81c5d2]{background:var(--color-danger-bg);color:var(--color-danger-text)}.batch-id-row[data-v-0a81c5d2]{display:flex;gap:var(--space-md);align-items:center;margin-bottom:var(--space-xs)}.cycle-time[data-v-0a81c5d2]{font-size:var(--font-size-sm);margin-bottom:var(--space-sm)}.muted[data-v-0a81c5d2]{color:var(--text-secondary);font-size:var(--font-size-sm)}.material-summary[data-v-0a81c5d2]{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-md)}.mat-line[data-v-0a81c5d2]{display:flex;gap:var(--space-sm);align-items:center;font-size:var(--font-size-sm)}.mat-name[data-v-0a81c5d2]{flex:1;color:var(--text-secondary)}.mat-val[data-v-0a81c5d2]{font-weight:var(--font-weight-medium);min-width:70px;text-align:right}.mat-dev[data-v-0a81c5d2]{font-size:var(--font-size-xs);min-width:50px;text-align:right}.ok[data-v-0a81c5d2]{color:var(--color-success)}.warn[data-v-0a81c5d2]{color:var(--color-warning)}.critical[data-v-0a81c5d2]{color:var(--color-danger)}.view-link[data-v-0a81c5d2]{font-size:var(--font-size-sm);color:var(--color-info);text-decoration:none}.view-link[data-v-0a81c5d2]:hover{text-decoration:underline}.view-toggle-bar[data-v-0a81c5d2]{display:flex;justify-content:space-between;align-items:center}.toggle-buttons[data-v-0a81c5d2]{display:flex;gap:2px;background:var(--color-gray-200);border-radius:var(--radius-md);padding:2px}.toggle-btn[data-v-0a81c5d2]{padding:var(--space-xs) var(--space-xl);border:none;background:transparent;font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast)}.toggle-btn.active[data-v-0a81c5d2]{background:var(--bg-surface);color:var(--text-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.ws-status[data-v-0a81c5d2]{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--text-tertiary)}.ws-dot[data-v-0a81c5d2]{width:6px;height:6px;border-radius:50%;background:var(--color-gray-400)}.ws-status.connected .ws-dot[data-v-0a81c5d2]{background:var(--color-success)}.main-view[data-v-0a81c5d2]{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);min-height:320px;overflow:hidden}.batch-list[data-v-48c59e52]{display:flex;flex-direction:column;height:100%}.record-id-cell[data-v-48c59e52]{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--text-tertiary)}.filter-bar[data-v-48c59e52]{display:flex;gap:var(--space-sm);align-items:center;padding:var(--space-md) var(--space-lg);background:var(--bg-surface);border-bottom:1px solid var(--border-light);flex-wrap:wrap}.search-input[data-v-48c59e52]{width:110px}.filter-sep[data-v-48c59e52]{font-size:var(--font-size-sm);color:var(--text-tertiary)}.form-input[data-v-48c59e52],.form-select[data-v-48c59e52]{padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family)}.form-select[data-v-48c59e52]{min-width:0}.table-wrap[data-v-48c59e52]{flex:1;overflow-y:auto}.table-state[data-v-48c59e52]{padding:var(--space-4xl);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-sm)}.table-state.error[data-v-48c59e52]{color:var(--color-danger)}.table[data-v-48c59e52]{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table thead[data-v-48c59e52]{position:sticky;top:0;background:var(--color-gray-100);z-index:1}.table th[data-v-48c59e52]{padding:var(--space-sm) var(--space-md);text-align:left;font-weight:var(--font-weight-semibold);border-bottom:2px solid var(--border-light);white-space:nowrap}.table td[data-v-48c59e52]{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-light)}.table tbody tr[data-v-48c59e52]:hover{background:var(--bg-hover)}.table tbody tr.selected[data-v-48c59e52]{background:var(--color-info-bg)}.sortable[data-v-48c59e52]{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable[data-v-48c59e52]:hover{color:var(--text-primary);background:var(--color-gray-200)}.sort-icon[data-v-48c59e52]{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-left:2px}.badge[data-v-48c59e52]{padding:2px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap}.badge-success[data-v-48c59e52]{background:var(--color-success-bg);color:var(--color-success-text)}.badge-warning[data-v-48c59e52]{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-danger[data-v-48c59e52]{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge-info[data-v-48c59e52]{background:var(--color-info-bg);color:var(--color-info-text)}.text-secondary[data-v-48c59e52]{color:var(--text-secondary)}.text-sm[data-v-48c59e52]{font-size:var(--font-size-sm)}.pagination[data-v-48c59e52]{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-md);border-top:1px solid var(--border-light)}.page-info[data-v-48c59e52]{font-size:var(--font-size-sm);color:var(--text-secondary)}.btn[data-v-48c59e52]{padding:var(--space-xs) var(--space-lg);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;font-family:var(--font-family)}.btn[data-v-48c59e52]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-48c59e52]{background:var(--color-gray-600);color:#fff}.btn-ghost[data-v-48c59e52]{background:transparent;color:var(--text-secondary);border:1px solid var(--border-default)}.btn-ghost[data-v-48c59e52]:hover{background:var(--bg-hover)}.batch-drawer[data-v-a13c7cb1]{display:flex;flex-direction:column;height:100%;background:var(--bg-surface)}.drawer-id[data-v-a13c7cb1]{font-size:var(--font-size-xs);color:var(--text-tertiary);font-family:var(--font-family-mono);margin:0}.drawer-header[data-v-a13c7cb1]{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-lg) var(--space-xl);border-bottom:2px solid var(--border-light);background:var(--color-gray-50);flex-shrink:0}.drawer-title[data-v-a13c7cb1]{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0}.drawer-subtitle[data-v-a13c7cb1]{font-size:var(--font-size-sm);color:var(--text-secondary);margin:2px 0 0}.drawer-actions[data-v-a13c7cb1]{display:flex;gap:var(--space-sm);align-items:center}.btn-close[data-v-a13c7cb1]{width:30px;height:30px;border:1px solid var(--border-default);background:var(--bg-surface);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);display:flex;align-items:center;justify-content:center}.btn-close[data-v-a13c7cb1]:hover{background:var(--color-danger-bg);border-color:var(--color-danger)}.drawer-body[data-v-a13c7cb1]{flex:1;overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.drawer-loading[data-v-a13c7cb1]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:var(--font-size-sm)}.section-title[data-v-a13c7cb1]{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:1px solid var(--border-light)}.detail-table[data-v-a13c7cb1]{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.detail-table th[data-v-a13c7cb1]{padding:var(--space-xs) var(--space-sm);text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-secondary);font-size:var(--font-size-xs)}.detail-table td[data-v-a13c7cb1]{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border-light)}.detail-grid[data-v-a13c7cb1]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs) var(--space-lg)}.detail-item[data-v-a13c7cb1]{display:flex;flex-direction:column;gap:2px}.detail-full[data-v-a13c7cb1]{grid-column:1 / -1}.detail-label[data-v-a13c7cb1]{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.detail-value[data-v-a13c7cb1]{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary)}.ok[data-v-a13c7cb1]{color:var(--color-success)}.warn[data-v-a13c7cb1]{color:var(--color-warning)}.critical[data-v-a13c7cb1]{color:var(--color-danger)}.detail-value.ok[data-v-a13c7cb1]{color:var(--color-success)}.detail-value.warn[data-v-a13c7cb1]{color:var(--color-warning)}.detail-value.critical[data-v-a13c7cb1]{color:var(--color-danger)}.qa-section[data-v-a13c7cb1]{background:var(--color-gray-50);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-lg)}.qa-form[data-v-a13c7cb1]{display:flex;flex-direction:column;gap:var(--space-md)}.form-row[data-v-a13c7cb1]{display:flex;flex-direction:column;gap:var(--space-xs)}.form-label[data-v-a13c7cb1]{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase}.form-input[data-v-a13c7cb1],.form-select[data-v-a13c7cb1]{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);background:var(--bg-surface)}.form-input[data-v-a13c7cb1]:focus,.form-select[data-v-a13c7cb1]:focus{outline:2px solid var(--color-info);border-color:var(--color-info)}.remarks[data-v-a13c7cb1]{min-height:70px;resize:vertical}.qa-actions[data-v-a13c7cb1]{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-md)}.save-confirm[data-v-a13c7cb1]{font-size:var(--font-size-sm);color:var(--color-success);font-weight:var(--font-weight-medium)}.btn[data-v-a13c7cb1]{padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;font-family:var(--font-family);transition:opacity var(--transition-base)}.btn[data-v-a13c7cb1]:hover:not(:disabled){opacity:.9}.btn[data-v-a13c7cb1]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-a13c7cb1]{background:var(--color-info);color:#fff}.btn-secondary[data-v-a13c7cb1]{background:var(--color-gray-600);color:#fff}.modal-overlay[data-v-a13c7cb1]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-content[data-v-a13c7cb1]{background:var(--bg-surface);padding:var(--space-3xl);border-radius:var(--radius-xl);min-width:400px;max-width:480px;box-shadow:var(--shadow-2xl)}.warning-modal[data-v-a13c7cb1]{border:2px solid var(--color-danger)}.modal-content h3[data-v-a13c7cb1]{margin:0 0 var(--space-xl) 0;color:var(--text-primary);font-size:var(--font-size-2xl)}.modal-content p[data-v-a13c7cb1]{margin:var(--space-md) 0;color:var(--text-secondary);font-size:var(--font-size-base)}.dialog-sub[data-v-a13c7cb1]{font-size:var(--font-size-sm)!important;color:var(--text-tertiary)!important}.modal-actions[data-v-a13c7cb1]{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-xl)}.alarm-row-active[data-v-a13c7cb1]{background:#f8d7da66}.alarm-row-resolved[data-v-a13c7cb1]{opacity:.75}.alarm-name-cell[data-v-a13c7cb1]{font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.badge-resolved[data-v-a13c7cb1]{background:var(--color-gray-200);color:var(--text-secondary)}.alarm-history[data-v-bbcc008b]{display:flex;flex-direction:column;height:100%}.record-id-cell[data-v-bbcc008b]{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--text-tertiary)}.filter-bar[data-v-bbcc008b]{display:flex;gap:var(--space-sm);align-items:center;padding:var(--space-md) var(--space-lg);background:var(--bg-surface);border-bottom:1px solid var(--border-light);flex-wrap:wrap}.sep[data-v-bbcc008b]{font-size:var(--font-size-sm);color:var(--text-tertiary)}.form-input[data-v-bbcc008b],.form-select[data-v-bbcc008b]{padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family)}.table-wrap[data-v-bbcc008b]{flex:1;overflow-y:auto}.table-state[data-v-bbcc008b]{padding:var(--space-4xl);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-sm)}.table-state.error[data-v-bbcc008b]{color:var(--color-danger)}.table[data-v-bbcc008b]{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table thead[data-v-bbcc008b]{position:sticky;top:0;background:var(--color-gray-100);z-index:1}.table th[data-v-bbcc008b]{padding:var(--space-sm) var(--space-md);text-align:left;font-weight:var(--font-weight-semibold);border-bottom:2px solid var(--border-light);white-space:nowrap}.table td[data-v-bbcc008b]{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-light)}.row-active[data-v-bbcc008b]{background:#f8d7da4d}.table tbody tr[data-v-bbcc008b]:hover{background:var(--bg-hover)}.alarm-name-cell[data-v-bbcc008b],.mono[data-v-bbcc008b]{font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.muted[data-v-bbcc008b]{color:var(--text-tertiary)}.badge[data-v-bbcc008b]{padding:2px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.badge-danger[data-v-bbcc008b]{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge-warning[data-v-bbcc008b]{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-resolved[data-v-bbcc008b]{background:var(--color-gray-200);color:var(--text-secondary)}.load-more[data-v-bbcc008b]{padding:var(--space-md);text-align:center;border-top:1px solid var(--border-light)}.btn[data-v-bbcc008b]{padding:var(--space-xs) var(--space-lg);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;font-family:var(--font-family)}.btn[data-v-bbcc008b]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-bbcc008b]{background:var(--color-gray-600);color:#fff}.reports-tab[data-v-76b1f281]{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg);overflow-y:auto;height:100%}.reports-toolbar[data-v-76b1f281]{display:flex;justify-content:space-between;align-items:center}.period-tabs[data-v-76b1f281]{display:flex;gap:2px;background:var(--color-gray-200);border-radius:var(--radius-md);padding:2px}.period-btn[data-v-76b1f281]{padding:var(--space-xs) var(--space-lg);border:none;background:transparent;font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast)}.period-btn.active[data-v-76b1f281]{background:var(--bg-surface);color:var(--text-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.logsheet-panel[data-v-76b1f281]{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.logsheet-panel-title[data-v-76b1f281]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.logsheet-filters[data-v-76b1f281]{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:flex-end}.filter-group[data-v-76b1f281]{display:flex;flex-direction:column;gap:4px}.filter-group label[data-v-76b1f281]{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-semibold);text-transform:uppercase}.form-select[data-v-76b1f281],.form-input[data-v-76b1f281]{padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);background:var(--bg-base);color:var(--text-primary)}.limit-input[data-v-76b1f281]{width:80px}.logsheet-actions[data-v-76b1f281]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap}.logsheet-note[data-v-76b1f281]{font-size:var(--font-size-xs);color:var(--text-tertiary)}.logsheet-error[data-v-76b1f281]{font-size:var(--font-size-sm);color:var(--color-danger);padding:var(--space-xs) 0}.spinner[data-v-76b1f281]{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-76b1f281 .7s linear infinite;margin-right:var(--space-xs);vertical-align:middle}@keyframes spin-76b1f281{to{transform:rotate(360deg)}}.slide-down-enter-active[data-v-76b1f281],.slide-down-leave-active[data-v-76b1f281]{transition:all .2s ease}.slide-down-enter-from[data-v-76b1f281],.slide-down-leave-to[data-v-76b1f281]{opacity:0;transform:translateY(-8px)}.reports-loading[data-v-76b1f281]{text-align:center;padding:var(--space-4xl);color:var(--text-tertiary);font-size:var(--font-size-sm)}.reports-error[data-v-76b1f281]{text-align:center;padding:var(--space-4xl);color:var(--color-danger);font-size:var(--font-size-sm)}.charts-row[data-v-76b1f281]{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-lg)}.chart-panel[data-v-76b1f281]{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-lg)}.chart-title[data-v-76b1f281]{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 2px}.chart-note[data-v-76b1f281]{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:0 0 var(--space-md) 0}.canvas-wrap[data-v-76b1f281]{position:relative;height:240px}.canvas-wrap.small[data-v-76b1f281]{height:220px}.mat-table[data-v-76b1f281]{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);margin-top:var(--space-md)}.mat-table th[data-v-76b1f281]{padding:var(--space-xs) var(--space-md);text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-secondary);font-size:var(--font-size-xs);border-bottom:2px solid var(--border-light)}.mat-table td[data-v-76b1f281]{padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--border-light)}.ok[data-v-76b1f281]{color:var(--color-success)}.warn[data-v-76b1f281]{color:var(--color-warning)}.critical[data-v-76b1f281]{color:var(--color-danger)}.muted[data-v-76b1f281]{color:var(--text-tertiary);font-size:var(--font-size-sm)}.stat-cards[data-v-76b1f281]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.stat-card[data-v-76b1f281]{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs);text-align:center}.stat-label[data-v-76b1f281]{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--text-tertiary)}.stat-value[data-v-76b1f281]{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.stat-value.ok[data-v-76b1f281]{color:var(--color-success)}.stat-value.warn[data-v-76b1f281]{color:var(--color-warning)}.stat-value.critical[data-v-76b1f281]{color:var(--color-danger)}.btn[data-v-76b1f281]{padding:var(--space-xs) var(--space-lg);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;font-family:var(--font-family)}.btn[data-v-76b1f281]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-76b1f281]{background:var(--color-gray-600);color:#fff}.btn-primary[data-v-76b1f281]{background:var(--color-primary);color:#fff}.records-page[data-v-db316268]{display:flex;flex-direction:column;height:100%;background:var(--bg-page)}.tab-bar[data-v-db316268]{display:flex;gap:0;background:var(--bg-surface);border-bottom:2px solid var(--border-light);padding:0 var(--space-lg);flex-shrink:0}.tab-btn[data-v-db316268]{padding:var(--space-md) var(--space-xl);border:none;background:transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all var(--transition-fast);font-family:var(--font-family)}.tab-btn[data-v-db316268]:hover{color:var(--text-primary)}.tab-btn.active[data-v-db316268]{color:var(--color-info);border-bottom-color:var(--color-info);font-weight:var(--font-weight-semibold)}.content-area[data-v-db316268]{flex:1;display:grid;grid-template-columns:1fr;overflow:hidden;transition:grid-template-columns var(--transition-slow)}.content-area.has-drawer[data-v-db316268]{grid-template-columns:1fr 420px}.main-panel[data-v-db316268]{overflow:hidden;display:flex;flex-direction:column;border-right:1px solid var(--border-light)}.drawer-panel[data-v-db316268]{overflow:hidden;display:flex;flex-direction:column;background:var(--bg-surface)}.drawer-enter-active[data-v-db316268],.drawer-leave-active[data-v-db316268]{transition:transform var(--transition-slow),opacity var(--transition-slow)}.drawer-enter-from[data-v-db316268],.drawer-leave-to[data-v-db316268]{transform:translate(30px);opacity:0}.diagram-container[data-v-2b6f96c0]{display:flex;gap:20px;justify-content:center;width:100%}.legend[data-v-2b6f96c0]{min-width:150px;max-width:150px;background:#f9f9f9;border:2px solid #ccc;border-radius:8px;padding:15px;height:fit-content;align-self:flex-start}.legend h4[data-v-2b6f96c0]{margin:0 0 15px;font-size:14px;color:#333}.legend-item[data-v-2b6f96c0]{display:flex;align-items:center;margin-bottom:10px;font-size:12px}.color-box[data-v-2b6f96c0]{width:20px;height:20px;margin-right:10px;border:1px solid #666}.color-box.weight[data-v-2b6f96c0]{background:#b3e5fc}.color-box.volume[data-v-2b6f96c0]{background:#b2ebf2}.color-box.time[data-v-2b6f96c0]{background:#bcaaa4}.color-box.valve[data-v-2b6f96c0]{background:#fff;border:2px solid #1E88E5}.color-box.temp[data-v-2b6f96c0]{background:#ffcdd2}.color-box.warn-band[data-v-2b6f96c0]{background:#fff3cd;border:1px solid #856404}.process-diagram[data-v-2b6f96c0]{width:100%;max-width:1000px;display:block}text[data-v-2b6f96c0]{fill:#333;-webkit-user-select:none;user-select:none}rect[cursor=pointer][data-v-2b6f96c0]:hover,circle[cursor=pointer][data-v-2b6f96c0]:hover{opacity:.8;stroke-width:3}.modal-overlay[data-v-d6a12fd0]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-d6a12fd0]{background:#fff;padding:25px;border-radius:8px;min-width:400px;box-shadow:0 4px 6px #0000001a}h3[data-v-d6a12fd0]{margin:0 0 20px;color:#333}.form-group[data-v-d6a12fd0]{margin-bottom:15px}label[data-v-d6a12fd0]{display:block;margin-bottom:5px;font-size:14px;color:#666}input[data-v-d6a12fd0]{width:70%;padding:8px;border:1px solid #ccc;border-radius:4px;font-size:16px}.unit[data-v-d6a12fd0]{margin-left:10px;font-size:14px;color:#666}.range-info[data-v-d6a12fd0]{font-size:13px;color:#666;margin-bottom:15px}.errors[data-v-d6a12fd0]{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:10px;border-radius:4px;margin-bottom:15px}.errors p[data-v-d6a12fd0]{margin:0;font-size:13px}.actions[data-v-d6a12fd0]{display:flex;gap:10px;justify-content:flex-end}button[data-v-d6a12fd0]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-primary[data-v-d6a12fd0]{background:#007bff;color:#fff}.btn-secondary[data-v-d6a12fd0]{background:#6c757d;color:#fff}button[data-v-d6a12fd0]:hover{opacity:.9}.activity-log[data-v-fc2d69cc]{position:fixed;top:140px;right:20px;width:400px;max-height:250px;background:#fff;border:2px solid #ccc;border-radius:8px;box-shadow:0 4px 6px #0000001a;overflow:hidden;z-index:100;transition:max-height .3s ease}.activity-log.minimized[data-v-fc2d69cc]{max-height:45px}.log-header[data-v-fc2d69cc]{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#f0f0f0;border-bottom:1px solid #ccc;cursor:pointer;-webkit-user-select:none;user-select:none}.log-header[data-v-fc2d69cc]:hover{background:#e8e8e8}.log-header h4[data-v-fc2d69cc]{margin:0;font-size:14px;color:#333}.toggle-btn[data-v-fc2d69cc]{background:none;border:none;font-size:12px;cursor:pointer;padding:0;color:#666}.log-entries[data-v-fc2d69cc]{max-height:200px;overflow-y:auto;padding:10px}.log-entry[data-v-fc2d69cc]{padding:5px 0;font-size:12px;font-family:Courier New,monospace;border-bottom:1px solid #eee}.log-entry[data-v-fc2d69cc]:last-child{border-bottom:none}.timestamp[data-v-fc2d69cc]{color:#666;font-weight:700;margin-right:8px}.log-entry.info .message[data-v-fc2d69cc]{color:#06c}.log-entry.success .message[data-v-fc2d69cc]{color:#28a745;font-weight:700}.log-entry.error .message[data-v-fc2d69cc]{color:#dc3545;font-weight:700}.log-entries[data-v-fc2d69cc]::-webkit-scrollbar{width:6px}.log-entries[data-v-fc2d69cc]::-webkit-scrollbar-track{background:#f1f1f1}.log-entries[data-v-fc2d69cc]::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.log-entries[data-v-fc2d69cc]::-webkit-scrollbar-thumb:hover{background:#555}.modal-overlay[data-v-a1258506]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.audit-modal[data-v-a1258506]{background:#fff;border-radius:12px;width:90%;max-width:1200px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 25px #0000004d}.modal-header[data-v-a1258506]{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:2px solid #e0e0e0}.modal-header h3[data-v-a1258506]{margin:0;font-size:20px;color:#333}.close-btn[data-v-a1258506]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-a1258506]:hover{color:#333}.filters[data-v-a1258506]{padding:15px 30px;background:#f9f9f9;border-bottom:1px solid #e0e0e0;display:flex;gap:10px;align-items:center}.filters select[data-v-a1258506]{padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:14px}.btn-refresh[data-v-a1258506]{padding:6px 12px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-refresh[data-v-a1258506]:hover{background:#0056b3}.loading[data-v-a1258506],.no-data[data-v-a1258506]{padding:40px;text-align:center;color:#666}.audit-table-container[data-v-a1258506]{flex:1;overflow:auto;padding:20px 30px}.audit-table[data-v-a1258506]{width:100%;border-collapse:collapse;font-size:13px}.audit-table thead[data-v-a1258506]{position:sticky;top:0;background:#f5f5f5;z-index:1}.audit-table th[data-v-a1258506]{padding:12px 10px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.audit-table td[data-v-a1258506]{padding:10px;border-bottom:1px solid #eee}.audit-table tbody tr[data-v-a1258506]:hover{background:#f9f9f9}.audit-table tbody tr.failure[data-v-a1258506]{background:#fff5f5}.status-badge[data-v-a1258506]{padding:3px 8px;border-radius:3px;font-size:11px;font-weight:700;text-transform:uppercase}.status-badge.success[data-v-a1258506]{background:#d4edda;color:#155724}.status-badge.failure[data-v-a1258506]{background:#f8d7da;color:#721c24}.reason-cell[data-v-a1258506]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changes-cell[data-v-a1258506]{max-width:300px;font-family:monospace;font-size:11px;word-wrap:break-word}.audit-table-container[data-v-a1258506]::-webkit-scrollbar{width:8px;height:8px}.audit-table-container[data-v-a1258506]::-webkit-scrollbar-track{background:#f1f1f1}.audit-table-container[data-v-a1258506]::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.audit-table-container[data-v-a1258506]::-webkit-scrollbar-thumb:hover{background:#555}.recipe-editor[data-v-39eb2328]{background:var(--bg-page);min-height:100vh;display:flex;flex-direction:column}.controls-bar[data-v-39eb2328]{background:var(--bg-surface);padding:var(--space-md) var(--space-xl);border-bottom:2px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:var(--z-sticky);gap:var(--space-md);flex-wrap:wrap}.left-controls[data-v-39eb2328]{display:flex;gap:var(--space-md);align-items:center}.right-controls[data-v-39eb2328]{display:flex;gap:var(--space-md)}.tolerance-area[data-v-39eb2328]{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm)}.tolerance-label[data-v-39eb2328]{font-size:var(--font-size-sm);color:var(--text-secondary);margin-right:6px;cursor:help;border-bottom:1px dashed var(--text-secondary);white-space:nowrap}.pct-input[data-v-39eb2328]{width:52px;padding:3px 5px;border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);text-align:center}.pct-symbol[data-v-39eb2328]{font-size:var(--font-size-sm);color:var(--text-secondary)}.band-label[data-v-39eb2328]{font-size:10px;font-weight:700;padding:2px 4px;border-radius:3px}.band-label.warn[data-v-39eb2328]{background:#fff3cd;color:#856404}.band-label.alarm[data-v-39eb2328]{background:#ffe0b2;color:#e65100}.band-label.crit[data-v-39eb2328]{background:#ffcdd2;color:#b71c1c}.recipe-name-area[data-v-39eb2328]{display:flex;align-items:center;gap:var(--space-sm)}.recipe-name-display[data-v-39eb2328]{font-weight:var(--font-weight-bold);color:var(--text-primary)}.recipe-name-input[data-v-39eb2328]{padding:4px 8px;border:1px solid var(--color-info);border-radius:var(--radius-sm);font-size:var(--font-size-base);width:200px}.btn-icon[data-v-39eb2328]{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 4px}select[data-v-39eb2328]{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--font-size-base);min-width:220px}.status-badge[data-v-39eb2328]{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.status-badge.draft[data-v-39eb2328]{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-badge.approved[data-v-39eb2328]{background:var(--color-success-bg);color:var(--color-success-text)}button[data-v-39eb2328]{padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);transition:opacity var(--transition-base)}button[data-v-39eb2328]:hover:not(:disabled){opacity:.9}button[data-v-39eb2328]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-39eb2328]{background:var(--color-info);color:var(--text-inverse)}.btn-secondary[data-v-39eb2328]{background:var(--color-gray-600);color:var(--text-inverse)}.btn-success[data-v-39eb2328]{background:var(--color-success);color:var(--text-inverse)}.btn-warning[data-v-39eb2328]{background:var(--color-warning);color:var(--text-primary)}.btn-danger[data-v-39eb2328]{background:var(--color-danger);color:var(--text-inverse)}.main-content[data-v-39eb2328]{flex:1;padding:var(--space-xl);overflow:auto}.modal-overlay[data-v-39eb2328]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-content[data-v-39eb2328]{background:var(--bg-surface);padding:var(--space-3xl);border-radius:var(--radius-xl);min-width:450px;box-shadow:var(--shadow-2xl)}.warning-modal[data-v-39eb2328]{border:2px solid var(--color-danger)}.modal-content h3[data-v-39eb2328]{margin:0 0 var(--space-xl) 0;color:var(--text-primary);font-size:var(--font-size-2xl)}.modal-content p[data-v-39eb2328]{margin:var(--space-md) 0;color:var(--text-secondary);font-size:var(--font-size-base)}.modal-content label[data-v-39eb2328]{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);margin:var(--space-md) 0 var(--space-xs) 0}.modal-content input[data-v-39eb2328]{width:100%;padding:var(--space-md);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--font-size-base);margin-bottom:var(--space-sm);box-sizing:border-box}.modal-content input[data-v-39eb2328]:focus{outline:2px solid var(--color-info);border-color:var(--color-info)}.recipe-info[data-v-39eb2328]{font-weight:var(--font-weight-bold);color:var(--text-primary);background:var(--color-gray-100);padding:var(--space-md);border-radius:var(--radius-sm)}.warning-text[data-v-39eb2328]{color:var(--color-danger);font-weight:var(--font-weight-medium)}.modal-actions[data-v-39eb2328]{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-xl)}.recipe-loader[data-v-c65a1896]{background:var(--bg-page);min-height:100vh;display:flex;flex-direction:column}.controls-bar[data-v-c65a1896]{background:var(--bg-surface);padding:var(--space-md) var(--space-xl);border-bottom:2px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:var(--z-sticky)}.controls-left h2[data-v-c65a1896]{margin:0;font-size:var(--font-size-2xl);color:var(--text-primary)}.schedule-banner[data-v-c65a1896]{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-bottom:3px solid var(--color-warning);padding:var(--space-lg) var(--space-xl);display:flex;justify-content:space-between;align-items:center}.banner-content[data-v-c65a1896]{display:flex;align-items:center;gap:var(--space-lg)}.banner-icon[data-v-c65a1896]{font-size:32px}.banner-text[data-v-c65a1896]{font-size:var(--font-size-base);color:var(--text-primary)}.banner-actions[data-v-c65a1896]{display:flex;gap:var(--space-sm)}.status-badge[data-v-c65a1896]{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);margin-left:var(--space-sm)}.status-badge.pending[data-v-c65a1896]{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-badge.approved[data-v-c65a1896]{background:var(--color-success-bg);color:var(--color-success-text)}.main-content[data-v-c65a1896]{flex:1;padding:var(--space-xl);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:var(--space-xl);align-items:start}.log-card[data-v-c65a1896]{grid-column:1 / -1}.action-card[data-v-c65a1896]{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-light)}.card-header[data-v-c65a1896]{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-xl);border-bottom:1px solid var(--border-light);background:var(--bg-page)}.card-icon[data-v-c65a1896]{font-size:28px;line-height:1;flex-shrink:0}.card-header h3[data-v-c65a1896]{margin:0 0 var(--space-xs) 0;font-size:var(--font-size-lg);color:var(--text-primary)}.card-header p[data-v-c65a1896]{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.card-body[data-v-c65a1896]{padding:var(--space-xl);flex:1}.card-footer[data-v-c65a1896]{padding:var(--space-md) var(--space-xl) var(--space-xl)}.result-panel[data-v-c65a1896]{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);animation:slideDown-c65a1896 .2s ease}@keyframes slideDown-c65a1896{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.result-panel.success[data-v-c65a1896]{background:#f0fdf4;border-left:4px solid var(--color-success)}.result-panel.error[data-v-c65a1896]{background:#fef2f2;border-left:4px solid var(--color-danger)}.result-icon[data-v-c65a1896]{font-size:20px;font-weight:700;flex-shrink:0;margin-top:2px}.result-panel.success .result-icon[data-v-c65a1896]{color:var(--color-success)}.result-panel.error .result-icon[data-v-c65a1896]{color:var(--color-danger)}.result-body[data-v-c65a1896]{flex:1}.result-body strong[data-v-c65a1896]{display:block;font-size:var(--font-size-sm);margin-bottom:2px;color:var(--text-primary)}.result-body p[data-v-c65a1896]{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.result-detail[data-v-c65a1896]{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.detail-chip[data-v-c65a1896]{display:inline-block;background:#0000000f;border-radius:var(--radius-sm);padding:2px 8px;font-size:var(--font-size-xs);color:var(--text-primary)}.detail-chip em[data-v-c65a1896]{font-style:normal;color:var(--text-secondary);margin-right:2px}.result-dismiss[data-v-c65a1896]{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:14px;padding:2px 4px;line-height:1;flex-shrink:0}.result-dismiss[data-v-c65a1896]:hover{color:var(--text-primary)}.form-group[data-v-c65a1896]{margin-bottom:var(--space-lg)}.form-group label[data-v-c65a1896]{display:block;margin-bottom:var(--space-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-size-sm)}.label-hint[data-v-c65a1896]{font-weight:400;color:var(--text-secondary);font-size:var(--font-size-xs)}.form-select[data-v-c65a1896],.form-input[data-v-c65a1896]{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--font-size-base);background:var(--bg-surface);color:var(--text-primary)}.form-select[data-v-c65a1896]:focus,.form-input[data-v-c65a1896]:focus{outline:2px solid var(--color-info);border-color:var(--color-info)}.form-select[data-v-c65a1896]:disabled,.form-input[data-v-c65a1896]:disabled{opacity:.6;cursor:not-allowed}.warning-text[data-v-c65a1896]{color:var(--color-warning-text);background:var(--color-warning-bg);padding:var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin:0}.error-text[data-v-c65a1896]{color:var(--color-danger);font-size:var(--font-size-sm);margin-top:var(--space-sm)}.btn[data-v-c65a1896]{padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:opacity var(--transition-base)}.btn-full[data-v-c65a1896]{width:100%;padding:var(--space-md)}.btn[data-v-c65a1896]:hover:not(:disabled){opacity:.9}.btn[data-v-c65a1896]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-c65a1896]{background:var(--color-info);color:var(--text-inverse)}.btn-secondary[data-v-c65a1896]{background:var(--color-gray-600);color:var(--text-inverse)}.btn-success[data-v-c65a1896]{background:var(--color-success);color:var(--text-inverse)}.btn-danger[data-v-c65a1896]{background:var(--color-danger);color:var(--text-inverse)}.btn-sm[data-v-c65a1896]{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm)}.users-page[data-v-b60f0409]{padding:24px;max-width:960px}.page-header[data-v-b60f0409]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h2[data-v-b60f0409]{font-size:20px;font-weight:700;color:#111}.users-table[data-v-b60f0409]{width:100%;border-collapse:collapse;font-size:14px}.users-table th[data-v-b60f0409],.users-table td[data-v-b60f0409]{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left}.users-table th[data-v-b60f0409]{background:#f3f4f6;font-weight:600;color:#374151}.users-table tr.inactive td[data-v-b60f0409]{color:#9ca3af}.center[data-v-b60f0409]{text-align:center;color:#6b7280;padding:20px}.role-badge[data-v-b60f0409]{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700;background:#e5e7eb;color:#374151}.role-badge.it[data-v-b60f0409]{background:#fef3c7;color:#92400e}.role-badge.manager[data-v-b60f0409]{background:#dbeafe;color:#1e40af}.role-badge.engineer[data-v-b60f0409]{background:#dcfce7;color:#166534}.role-badge.qc[data-v-b60f0409]{background:#ede9fe;color:#5b21b6}.role-badge.operator[data-v-b60f0409]{background:#f3f4f6;color:#374151}.status-badge[data-v-b60f0409]{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700}.status-badge.active[data-v-b60f0409]{background:#dcfce7;color:#166534}.status-badge.inactive[data-v-b60f0409]{background:#fee2e2;color:#991b1b}.actions[data-v-b60f0409]{display:flex;gap:6px}.btn-sm[data-v-b60f0409]{padding:4px 10px;font-size:12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer}.btn-sm[data-v-b60f0409]:hover{background:#f3f4f6}.btn-danger[data-v-b60f0409]{border-color:#fca5a5;color:#dc2626}.btn-danger[data-v-b60f0409]:hover{background:#fee2e2}.btn-primary[data-v-b60f0409]{padding:8px 16px;background:#1e3c72;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer}.btn-primary[data-v-b60f0409]:hover:not(:disabled){background:#2a5298}.btn-primary[data-v-b60f0409]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-b60f0409]{padding:8px 16px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:14px;cursor:pointer}.btn-secondary[data-v-b60f0409]:hover{background:#f3f4f6}.modal-overlay[data-v-b60f0409]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-b60f0409]{background:#fff;border-radius:10px;padding:28px;width:380px;box-shadow:0 10px 40px #0003}.modal h3[data-v-b60f0409]{font-size:16px;font-weight:700;margin-bottom:18px;color:#111}.field[data-v-b60f0409]{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.field label[data-v-b60f0409]{font-size:12px;font-weight:600;color:#374151}.field input[data-v-b60f0409],.field select[data-v-b60f0409]{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.field input[data-v-b60f0409]:focus,.field select[data-v-b60f0409]:focus{outline:2px solid #2a5298;border-color:#2a5298}.error[data-v-b60f0409]{color:#dc2626;font-size:13px;margin:0 0 10px}.modal-actions[data-v-b60f0409]{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.alert-error[data-v-b60f0409]{background:#fee2e2;color:#991b1b;padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:14px}:root{--color-primary: #1e3c72;--color-primary-light: #2a5298;--color-primary-dark: #15284f;--color-accent: #4fc3f7;--color-accent-dark: #0288d1;--color-success: #28a745;--color-success-bg: #d4edda;--color-success-text: #155724;--color-warning: #ffc107;--color-warning-bg: #fff3cd;--color-warning-text: #856404;--color-danger: #dc3545;--color-danger-bg: #f8d7da;--color-danger-text: #721c24;--color-info: #501567;--color-info-bg: #d1ecf1;--color-info-text: #0c5460;--color-white: #ffffff;--color-black: #000000;--color-gray-50: #f9f9f9;--color-gray-100: #f5f5f5;--color-gray-200: #e0e0e0;--color-gray-300: #ccc;--color-gray-400: #999;--color-gray-500: #666;--color-gray-600: #424242;--color-gray-700: #333;--color-gray-800: #2E4057;--bg-page: #f5f5f5;--bg-surface: #ffffff;--bg-hover: #f9f9f9;--bg-disabled: #e0e0e0;--text-primary: #333;--text-secondary: #666;--text-tertiary: #999;--text-inverse: #ffffff;--border-light: #e0e0e0;--border-default: #ccc;--border-dark: #666;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 40px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-family-mono: "Courier New", Courier, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .15);--shadow-xl: 0 10px 25px rgba(0, 0, 0, .2);--shadow-2xl: 0 10px 30px rgba(0, 0, 0, .3);--z-base: 1;--z-dropdown: 10;--z-sticky: 50;--z-header: 100;--z-overlay: 1000;--z-modal: 2000;--z-tooltip: 3000;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--sidebar-width: 200px;--header-height: 80px;--color-weight: #B3E5FC;--color-volume: #B2EBF2;--color-time: #BCAAA4;--color-valve: #ffffff;--color-temp: #FFCDD2;--color-pipe: #666}.btn{padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:opacity var(--transition-base);font-family:var(--font-family)}.btn:hover:not(:disabled){opacity:.9}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-info);color:var(--text-inverse)}.btn-secondary{background:var(--color-gray-600);color:var(--text-inverse)}.btn-success{background:var(--color-success);color:var(--text-inverse)}.btn-warning{background:var(--color-warning);color:var(--text-primary)}.btn-danger{background:var(--color-danger);color:var(--text-inverse)}.form-input,.form-select{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:var(--font-family);transition:border-color var(--transition-base),outline var(--transition-base)}.form-input:focus,.form-select:focus{outline:2px solid var(--color-info);border-color:var(--color-info)}.form-select{min-width:200px}.badge{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);display:inline-block}.badge-success{background:var(--color-success-bg);color:var(--color-success-text)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge-info{background:var(--color-info-bg);color:var(--color-info-text)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-content{background:var(--bg-surface);padding:var(--space-3xl);border-radius:var(--radius-xl);min-width:400px;max-width:90vw;box-shadow:var(--shadow-2xl)}.modal-header{margin:0 0 var(--space-xl) 0;font-size:var(--font-size-2xl);color:var(--text-primary)}.modal-actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-xl)}.card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm)}.card-header{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-lg);color:var(--text-primary)}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table thead{position:sticky;top:0;background:var(--color-gray-100);z-index:var(--z-base)}.table th{padding:var(--space-md) var(--space-md);text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-primary);border-bottom:2px solid var(--border-light)}.table td{padding:var(--space-md);border-bottom:1px solid var(--border-light)}.table tbody tr:hover{background:var(--bg-hover)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-xl)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-inverse{color:var(--text-inverse)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-right{text-align:right}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.controls-bar{background:var(--bg-surface);padding:var(--space-md) var(--space-xl);border-bottom:2px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:var(--z-sticky)}.controls-left,.controls-right{display:flex;gap:var(--space-md);align-items:center}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f5f5f5;color:#333}.text-center{text-align:center}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mb-10{margin-bottom:10px}.mb-20{margin-bottom:20px}button{font-family:inherit}button:focus{outline:2px solid #007bff;outline-offset:2px}input[type=number],input[type=text],select{font-family:inherit}input:focus,select:focus{outline:2px solid #007bff;outline-offset:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}
