.toast-container[data-v-51804866]{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast[data-v-51804866]{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:14px 18px;background:#fff;border:1px solid var(--border-color);border-radius:14px;box-shadow:0 12px 32px #0b1d331f;min-width:280px;max-width:400px}.toast.success[data-v-51804866]{border-color:#22c55e4d;background:linear-gradient(135deg,#22c55e0f,#fff)}.toast.error[data-v-51804866]{border-color:#dc26264d;background:linear-gradient(135deg,#dc26260f,#fff)}.toast.warning[data-v-51804866]{border-color:#f59e0b4d;background:linear-gradient(135deg,#f59e0b0f,#fff)}.toast.info[data-v-51804866]{border-color:#1a6dff4d;background:linear-gradient(135deg,#1a6dff0f,#fff)}.toast-icon[data-v-51804866]{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast-icon svg[data-v-51804866]{width:100%;height:100%}.toast.success .toast-icon[data-v-51804866]{color:var(--industrial-green)}.toast.error .toast-icon[data-v-51804866]{color:var(--industrial-red)}.toast.warning .toast-icon[data-v-51804866]{color:var(--industrial-yellow)}.toast.info .toast-icon[data-v-51804866]{color:var(--industrial-blue)}.toast-message[data-v-51804866]{flex:1;font-size:13px;font-weight:500;color:var(--text-primary);line-height:1.4}.toast-close[data-v-51804866]{width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;border-radius:6px;transition:all .2s ease;flex-shrink:0}.toast-close[data-v-51804866]:hover{background:var(--metal-dark);color:var(--text-primary)}.toast-close svg[data-v-51804866]{width:14px;height:14px}.toast-enter-active[data-v-51804866],.toast-leave-active[data-v-51804866]{transition:all .35s cubic-bezier(.34,1.56,.64,1)}.toast-enter-from[data-v-51804866]{opacity:0;transform:translate(40px) scale(.95)}.toast-leave-to[data-v-51804866]{opacity:0;transform:translate(40px) scale(.9)}:root{--color-primary: #0071e3;--color-primary-light: #2997ff;--color-primary-glow: rgba(0, 113, 227, .18);--color-success: #248a3d;--color-success-light: #30d158;--color-success-glow: rgba(36, 138, 61, .16);--color-warning: #b76e00;--color-warning-glow: rgba(183, 110, 0, .14);--color-danger: #d70015;--color-danger-light: #ff453a;--industrial-bg: #f5f5f7;--industrial-bg-secondary: #fbfbfd;--industrial-bg-card: rgba(255, 255, 255, .86);--metal-dark: #eef1f5;--metal-mid: #e5e8ee;--metal-light: #f5f5f7;--metal-bright: #c7c7cc;--industrial-blue: var(--color-primary);--industrial-blue-glow: var(--color-primary-glow);--industrial-green: var(--color-success);--industrial-green-glow: var(--color-success-glow);--industrial-red: var(--color-danger);--industrial-amber: var(--color-warning);--industrial-amber-glow: var(--color-warning-glow);--industrial-yellow: var(--color-primary);--industrial-yellow-glow: var(--color-primary-glow);--input-border: rgba(60, 60, 67, .16);--surface-line: rgba(60, 60, 67, .12);--text-primary: #1d1d1f;--text-secondary: #3a3a3c;--text-muted: #86868b;--border-color: rgba(60, 60, 67, .12);--border-bright: rgba(0, 113, 227, .28);--font-display: "SF Mono", "Cascadia Mono", "Consolas", monospace;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;background:linear-gradient(180deg,#fbfbfd,#f5f5f7 48%,#eef2f7);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(60,60,67,.1);background:#fbfbfdc7;-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px)}.topbar-inner{max-width:1360px;margin:0 auto;padding:12px 28px;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);gap:20px;align-items:center}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:38px;height:38px;border:1px solid rgba(60,60,67,.1);border-radius:11px;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 10px 26px #00000014}.brand-mark svg{width:25px;height:25px}.brand-text{display:flex;flex-direction:column;gap:1px;min-width:0}.brand-title{font-size:15px;font-weight:700;line-height:1.15}.brand-sub{max-width:260px;overflow:hidden;color:var(--text-muted);font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.primary-nav{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px;border:1px solid rgba(60,60,67,.1);border-radius:999px;background:#76768014}.nav-chip{min-height:34px;display:flex;align-items:center;gap:7px;padding:7px 12px;border:0;border-radius:999px;color:var(--text-secondary);font-size:13px;font-weight:600;line-height:1;text-decoration:none;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.nav-chip:hover{background:#ffffffb8;color:var(--text-primary)}.nav-chip.active{background:#fff;color:var(--color-primary);box-shadow:0 4px 16px #00000014}.chip-icon{width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center}.chip-icon svg{width:100%;height:100%;stroke-linecap:round;stroke-linejoin:round}.chip-label{font-size:13px;font-weight:600}.account-panel{display:flex;justify-content:flex-end;align-items:center;gap:10px}.role-badge{border-radius:999px;padding:4px 9px;background:#7676801a;color:var(--text-secondary);font-size:11px;font-weight:700}.role-badge.admin{color:var(--color-danger)}.role-badge.maintenance{color:var(--color-warning)}.role-badge.operator{color:var(--color-success)}.role-badge.machine{color:var(--color-primary)}.account-name{max-width:160px;overflow:hidden;color:var(--text-secondary);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.icon-btn{width:34px;height:34px;padding:0;border:1px solid rgba(60,60,67,.14);border-radius:999px;background:#ffffffdb;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.icon-btn:hover{background:#fff;border-color:#0071e352;color:var(--color-primary);transform:translateY(-1px)}.icon-btn.danger{color:var(--color-danger)}.icon-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.app-main{flex:1;width:100%;max-width:1360px;margin:0 auto;padding:32px 28px 36px}.status-footer{border-top:1px solid rgba(60,60,67,.1);background:#fbfbfdc7;-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px)}.status-inner{max-width:1360px;margin:0 auto;padding:10px 28px;display:flex;justify-content:space-between;align-items:center;color:var(--text-muted);font-size:12px}.status-left{display:flex;align-items:center;gap:8px;color:var(--color-success);font-weight:600}.status-pulse{width:7px;height:7px;border-radius:50%;background:var(--color-success-light)}.card{position:relative;border:1px solid rgba(60,60,67,.1);border-radius:18px;background:#ffffffd1;box-shadow:0 18px 50px #0000000d;padding:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.card h3{margin-bottom:18px;color:var(--text-primary);font-size:17px;font-weight:700;line-height:1.25}.form-item label{display:block;margin-bottom:7px;color:var(--text-secondary);font-size:13px;font-weight:600}.form-item input,.form-item select,input,select{border:1px solid var(--input-border);border-radius:12px;background:#ffffffeb;color:var(--text-primary);font:inherit;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.form-item input,.form-item select{width:100%;padding:11px 12px;font-size:14px}.form-item input:focus,.form-item select:focus,input:focus,select:focus{outline:none;border-color:#0071e385;box-shadow:0 0 0 4px #0071e31f;background:#fff}button{min-height:38px;border:1px solid rgba(60,60,67,.14);border-radius:999px;background:#ffffffe6;color:var(--text-primary);cursor:pointer;font:inherit;font-size:14px;font-weight:600;padding:9px 16px;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}button:hover:not(:disabled){background:#fff;border-color:#0071e342;transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:focus-visible{outline:0;box-shadow:0 0 0 4px #0071e326}button:disabled{cursor:not-allowed;opacity:.48}.btn-primary{border:0;background:var(--color-primary);color:#fff;box-shadow:0 10px 24px #0071e333}.btn-primary:hover:not(:disabled){background:#0077ed;box-shadow:0 14px 28px #0071e33d}.btn-secondary{background:#7676801a;color:var(--text-primary)}.btn-danger{color:var(--color-danger)}.btn-icon,.title-icon svg,.chip-icon svg{display:inline-flex;align-items:center;justify-content:center;stroke-linecap:round;stroke-linejoin:round}.tag{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}@media (max-width: 1180px){.topbar-inner{grid-template-columns:1fr;gap:12px}.primary-nav{justify-content:flex-start;overflow-x:auto}.account-panel{justify-content:flex-start}}@media (max-width: 768px){.topbar-inner{padding:10px 16px;gap:10px}.app-main{padding:20px 16px 28px}.chip-label,.account-name,.status-center{display:none}.nav-chip{padding:8px 10px}.status-inner{padding:10px 16px}}@media (max-width: 640px){.topbar{position:sticky}.topbar-inner{padding:10px 12px 8px}.brand{gap:10px}.brand-mark{width:34px;height:34px;border-radius:10px}.brand-mark svg{width:23px;height:23px}.brand-title{font-size:14px}.brand-sub{max-width:210px;font-size:11px}.primary-nav{width:100%;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity}.primary-nav::-webkit-scrollbar{display:none}.nav-chip{min-width:42px;flex:0 0 auto;scroll-snap-align:start}.chip-icon{width:17px;height:17px}.account-panel{width:100%;justify-content:space-between}.role-badge{padding:4px 8px}.app-main{padding:18px 12px 28px}.card{border-radius:18px;padding:18px;box-shadow:0 12px 34px #0000000d}.card h3{margin-bottom:14px;font-size:16px}button{min-height:42px;padding:10px 14px}.form-item input,.form-item select,input,select{min-height:44px;font-size:16px}.status-footer{display:none}}.dashboard[data-v-cfb36302]{max-width:1400px;margin:0 auto}.container[data-v-cfb36302]{display:grid;grid-template-columns:1fr 1fr;gap:22px}.input-card[data-v-cfb36302]:after{content:none}.form-row[data-v-cfb36302]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.label-icon[data-v-cfb36302]{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;background:#0071e31a;border-radius:50%;margin-right:7px;font-size:11px;font-weight:700;color:var(--color-primary)}.input-with-unit[data-v-cfb36302]{position:relative;display:flex;align-items:center}.input-with-unit input[data-v-cfb36302]{padding-right:45px}.unit[data-v-cfb36302]{position:absolute;right:12px;font-family:var(--font-display);font-size:12px;color:var(--text-muted);pointer-events:none}.digital-input[data-v-cfb36302]{font-variant-numeric:tabular-nums;font-size:15px}.form-actions[data-v-cfb36302]{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.btn-secondary[data-v-cfb36302]{display:flex;align-items:center;gap:6px;background:#7676801a}.btn-icon[data-v-cfb36302]{font-size:10px;font-weight:800}.result-card[data-v-cfb36302]:after{content:none}.empty-state[data-v-cfb36302]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-icon[data-v-cfb36302]{width:64px;height:64px;color:var(--text-muted);margin-bottom:16px;opacity:.5}.empty-icon svg[data-v-cfb36302]{width:100%;height:100%}.empty-state p[data-v-cfb36302]{color:var(--text-secondary);font-size:14px;margin-bottom:8px}.empty-hint[data-v-cfb36302]{font-size:12px;color:var(--text-muted)}.result-content[data-v-cfb36302]{display:flex;flex-direction:column;gap:16px}.result-highlight[data-v-cfb36302]{background:linear-gradient(180deg,#0071e31a,#0071e30d);border:1px solid rgba(0,113,227,.12);border-radius:20px;padding:28px 24px;text-align:center;position:relative;overflow:hidden}.result-highlight[data-v-cfb36302]:before{content:none}.highlight-label[data-v-cfb36302]{font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-weight:600}.highlight-value[data-v-cfb36302]{font-size:54px;font-weight:700;color:var(--color-primary);line-height:1.05}.compensation-badge[data-v-cfb36302]{display:inline-flex;align-items:center;gap:4px;margin-top:12px;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600}.compensation-badge.positive[data-v-cfb36302]{background:#16a34a1a;color:var(--color-success)}.compensation-badge.negative[data-v-cfb36302]{background:#f59e0b1a;color:var(--color-warning)}.explanation-box[data-v-cfb36302]{background:#76768014;border:1px solid var(--border-color);border-radius:16px;padding:16px}.box-header[data-v-cfb36302]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.box-icon[data-v-cfb36302]{width:16px;height:16px;background:#0071e31a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px}.explanation-box p[data-v-cfb36302]{font-size:13px;color:var(--text-secondary);line-height:1.6;margin:0}.params-panel[data-v-cfb36302]{background:#76768014;border:1px solid var(--border-color);border-radius:16px;padding:16px}.panel-header[data-v-cfb36302]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.panel-grid[data-v-cfb36302]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.panel-item[data-v-cfb36302]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#ffffffb8;border-radius:12px}.item-label[data-v-cfb36302]{font-size:11px;color:var(--text-muted)}.item-value[data-v-cfb36302]{font-size:13px;font-weight:500;color:var(--text-primary)}.btn-submit[data-v-cfb36302]{width:100%;padding:14px;font-size:14px}.warning-hint[data-v-cfb36302]{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#f59e0b0f;border:1px solid rgba(183,110,0,.16);border-radius:14px;font-size:12px;color:var(--color-warning)}@media (max-width: 768px){.container[data-v-cfb36302],.form-row[data-v-cfb36302]{grid-template-columns:1fr}.highlight-value[data-v-cfb36302]{font-size:36px}.panel-grid[data-v-cfb36302]{grid-template-columns:1fr}}@media (max-width: 640px){.dashboard[data-v-cfb36302]{max-width:100%}.container[data-v-cfb36302]{gap:14px}.form-row[data-v-cfb36302]{gap:12px}.form-actions[data-v-cfb36302]{flex-direction:column-reverse;gap:10px;margin-top:18px;padding-top:16px}.form-actions button[data-v-cfb36302],.btn-submit[data-v-cfb36302]{width:100%}.result-highlight[data-v-cfb36302]{padding:22px 16px}.highlight-value[data-v-cfb36302]{font-size:42px}.panel-item[data-v-cfb36302]{padding:12px}}.dashboard .card[data-v-cfb36302]{border-radius:22px}.label-icon[data-v-cfb36302],.box-icon[data-v-cfb36302],.btn-icon[data-v-cfb36302]{display:inline-flex;align-items:center;justify-content:center;font-weight:700}.form-actions button[data-v-cfb36302],.btn-submit[data-v-cfb36302]{border-radius:999px;position:relative;overflow:hidden}.form-actions button[data-v-cfb36302]:before,.btn-submit[data-v-cfb36302]:before{content:none}.form-actions button[data-v-cfb36302]:hover:before,.btn-submit[data-v-cfb36302]:hover:before{transform:none}.result-highlight[data-v-cfb36302]{box-shadow:inset 0 1px #ffffffb8}.device[data-v-921fd864]{max-width:1400px;margin:0 auto}.container[data-v-921fd864]{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:24px}.status-card[data-v-921fd864]:after{content:"STATUS";position:absolute;top:20px;right:20px;font-family:var(--font-display);font-size:10px;color:var(--text-muted);letter-spacing:2px;opacity:.5}.status-display[data-v-921fd864]{display:flex;flex-direction:column;align-items:center;padding:20px 0}.status-indicator[data-v-921fd864]{display:flex;flex-direction:column;align-items:center;gap:16px}.indicator-ring[data-v-921fd864]{width:100px;height:100px;border-radius:50%;background:conic-gradient(from 0deg,var(--metal-dark),var(--metal-mid),var(--metal-dark));display:flex;align-items:center;justify-content:center;position:relative}.indicator-core[data-v-921fd864]{width:84px;height:84px;border-radius:50%;background:var(--industrial-bg);display:flex;align-items:center;justify-content:center}.status-icon[data-v-921fd864]{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.status-icon svg[data-v-921fd864]{width:100%;height:100%}.status-icon.online[data-v-921fd864]{color:var(--industrial-green);filter:drop-shadow(0 0 10px var(--industrial-green-glow))}.status-icon.offline[data-v-921fd864]{color:var(--industrial-red);opacity:.6}.status-label[data-v-921fd864]{font-size:14px;font-weight:600;padding:8px 20px;border-radius:4px;text-transform:uppercase;letter-spacing:1px}.status-label.online[data-v-921fd864],.status-label.idle[data-v-921fd864]{background:#22c55e1a;border:1px solid var(--industrial-green);color:var(--industrial-green)}.status-label.running[data-v-921fd864]{background:#1a6dff1a;border:1px solid var(--industrial-blue);color:var(--industrial-blue);animation:pulse-glow-921fd864 1.5s infinite}@keyframes pulse-glow-921fd864{0%,to{box-shadow:0 0 10px #1a6dff33}50%{box-shadow:0 0 20px #1a6dff66}}.status-label.completed[data-v-921fd864]{background:#22c55e1a;border:1px solid var(--industrial-green);color:var(--industrial-green)}.status-label.error[data-v-921fd864]{background:#ef44441a;border:1px solid var(--industrial-red);color:var(--industrial-red)}.connection-status[data-v-921fd864]{display:flex;align-items:center;gap:8px;font-size:12px;font-family:var(--font-display)}.connection-status.online[data-v-921fd864]{color:var(--industrial-green)}.connection-status.offline[data-v-921fd864]{color:var(--text-muted)}.connection-dot[data-v-921fd864]{width:8px;height:8px;border-radius:50%;background:currentColor}.connection-status.online .connection-dot[data-v-921fd864]{box-shadow:0 0 10px currentColor;animation:blink-921fd864 1s infinite}@keyframes blink-921fd864{0%,to{opacity:1}50%{opacity:.4}}.info-panel[data-v-921fd864]{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.info-row[data-v-921fd864]{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color)}.info-row[data-v-921fd864]:last-child{border-bottom:none}.info-label[data-v-921fd864]{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.info-value[data-v-921fd864]{font-size:13px;font-weight:500;color:var(--text-primary)}.angle-card[data-v-921fd864]:after{content:"MONITOR";position:absolute;top:20px;right:20px;font-family:var(--font-display);font-size:10px;color:var(--text-muted);letter-spacing:2px;opacity:.5}.angle-grid[data-v-921fd864]{display:flex;flex-direction:column;gap:16px}.angle-box[data-v-921fd864]{background:var(--industrial-bg);border:1px solid var(--border-color);border-radius:4px;padding:16px;position:relative;overflow:hidden}.angle-box[data-v-921fd864]:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--industrial-blue)}.angle-header[data-v-921fd864]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.angle-title[data-v-921fd864]{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.angle-value[data-v-921fd864]{font-size:32px;font-weight:600;color:var(--text-secondary);margin-bottom:12px}.angle-value.has-value[data-v-921fd864]{color:var(--industrial-blue);text-shadow:0 0 20px var(--industrial-blue-glow)}.angle-value.good[data-v-921fd864]{color:var(--industrial-green);text-shadow:0 0 20px var(--industrial-green-glow)}.angle-value.warning[data-v-921fd864]{color:var(--industrial-yellow)}.angle-value.error[data-v-921fd864]{color:var(--industrial-red)}.angle-bar[data-v-921fd864]{height:4px;background:var(--metal-dark);border-radius:2px;overflow:hidden}.bar-fill[data-v-921fd864]{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));border-radius:2px;transition:width .5s ease}.bar-fill.actual[data-v-921fd864]{background:linear-gradient(90deg,var(--color-success),var(--color-success-light))}.deviation-box[data-v-921fd864]:before{background:var(--industrial-yellow)}.deviation-indicator[data-v-921fd864]{padding:8px 0}.indicator-scale[data-v-921fd864]{height:6px;background:linear-gradient(90deg,var(--color-danger) 0%,var(--color-warning) 25%,var(--color-success) 50%,var(--color-warning) 75%,var(--color-danger) 100%);border-radius:3px;position:relative}.scale-marker[data-v-921fd864]{position:absolute;top:-3px;width:12px;height:12px;background:#fff;border-radius:50%;transform:translate(-50%);box-shadow:0 0 10px #ffffff80}.control-card[data-v-921fd864]:after{content:"CONTROL";position:absolute;top:20px;right:20px;font-family:var(--font-display);font-size:10px;color:var(--text-muted);letter-spacing:2px;opacity:.5}.control-grid[data-v-921fd864]{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.control-btn[data-v-921fd864]{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--industrial-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);text-align:left;transition:all .3s ease}.control-btn[data-v-921fd864]:hover:not(:disabled){background:var(--metal-dark);border-color:var(--border-bright)}.control-btn[data-v-921fd864]:disabled{opacity:.4;cursor:not-allowed}.control-btn.start[data-v-921fd864]:hover:not(:disabled){border-color:var(--industrial-green);box-shadow:0 0 20px #22c55e1a}.control-btn.complete[data-v-921fd864]:hover:not(:disabled){border-color:var(--industrial-blue);box-shadow:0 0 20px #1a6dff1a}.control-btn.reset[data-v-921fd864]:hover:not(:disabled){border-color:var(--industrial-red);box-shadow:0 0 20px #ef44441a}.btn-icon[data-v-921fd864]{width:36px;height:36px;background:var(--metal-dark);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-icon svg[data-v-921fd864]{width:20px;height:20px}.btn-text[data-v-921fd864]{display:flex;flex-direction:column}.text-main[data-v-921fd864]{font-size:14px;font-weight:500}.text-sub[data-v-921fd864]{font-size:10px;color:var(--text-muted);font-family:var(--font-display);letter-spacing:.5px}.auto-refresh[data-v-921fd864]{padding-top:16px;border-top:1px solid var(--border-color)}.toggle-label[data-v-921fd864]{display:flex;align-items:center;gap:12px;cursor:pointer}.toggle-label input[data-v-921fd864]{display:none}.toggle-slider[data-v-921fd864]{width:48px;height:24px;background:var(--metal-dark);border-radius:12px;position:relative;transition:all .3s ease;border:1px solid var(--border-color)}.toggle-slider[data-v-921fd864]:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--text-muted);border-radius:50%;transition:all .3s ease}.toggle-label input:checked+.toggle-slider[data-v-921fd864]{background:#22c55e33;border-color:var(--industrial-green)}.toggle-label input:checked+.toggle-slider[data-v-921fd864]:after{left:26px;background:var(--industrial-green);box-shadow:0 0 10px var(--industrial-green-glow)}.toggle-text[data-v-921fd864]{display:flex;flex-direction:column}.toggle-main[data-v-921fd864]{font-size:13px;font-weight:500}.toggle-sub[data-v-921fd864]{font-size:10px;color:var(--text-muted);font-family:var(--font-display);letter-spacing:.5px}.flow-card[data-v-921fd864]:after{content:"WORKFLOW";position:absolute;top:20px;right:20px;font-family:var(--font-display);font-size:10px;color:var(--text-muted);letter-spacing:2px;opacity:.5}.status-flow[data-v-921fd864]{display:flex;align-items:center;justify-content:center;gap:60px;padding:30px}.flow-step[data-v-921fd864]{display:flex;align-items:center;position:relative}.step-connector[data-v-921fd864]{position:absolute;left:-50px;width:40px;height:2px}.connector-line[data-v-921fd864]{width:100%;height:100%;background:var(--metal-dark)}.flow-step.completed .connector-line[data-v-921fd864]{background:var(--industrial-green)}.step-node[data-v-921fd864]{display:flex;flex-direction:column;align-items:center;gap:12px}.node-ring[data-v-921fd864]{width:64px;height:64px;border-radius:50%;background:var(--metal-dark);display:flex;align-items:center;justify-content:center;position:relative}.flow-step.active .node-ring[data-v-921fd864]{background:var(--industrial-blue);box-shadow:0 0 30px var(--industrial-blue-glow);animation:pulse-ring-921fd864 2s infinite}@keyframes pulse-ring-921fd864{0%,to{box-shadow:0 0 20px var(--industrial-blue-glow)}50%{box-shadow:0 0 40px var(--industrial-blue-glow)}}.flow-step.completed .node-ring[data-v-921fd864]{background:var(--industrial-green)}.node-core[data-v-921fd864]{width:52px;height:52px;border-radius:50%;background:var(--industrial-bg-card);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.node-core svg[data-v-921fd864]{width:24px;height:24px}.flow-step.active .node-core[data-v-921fd864]{color:var(--industrial-blue)}.flow-step.completed .node-core[data-v-921fd864]{color:var(--industrial-green)}.step-info[data-v-921fd864]{display:flex;flex-direction:column;align-items:center;gap:4px}.step-number[data-v-921fd864]{font-size:10px;color:var(--text-muted);font-family:var(--font-display);letter-spacing:1px}.step-label[data-v-921fd864]{font-size:13px;font-weight:500;color:var(--text-secondary)}.flow-step.active .step-label[data-v-921fd864]{color:var(--industrial-blue)}.flow-step.completed .step-label[data-v-921fd864]{color:var(--industrial-green)}@media (max-width: 1024px){.container[data-v-921fd864]{grid-template-columns:1fr 1fr}.status-flow[data-v-921fd864]{flex-direction:column;gap:30px}.step-connector[data-v-921fd864]{display:none}}@media (max-width: 768px){.container[data-v-921fd864]{grid-template-columns:1fr}}@media (max-width: 640px){.device[data-v-921fd864]{max-width:100%}.container[data-v-921fd864]{gap:14px;margin-bottom:14px}.status-display[data-v-921fd864]{padding:8px 0 14px}.indicator-ring[data-v-921fd864]{width:82px;height:82px}.indicator-core[data-v-921fd864]{width:68px;height:68px}.status-icon[data-v-921fd864]{width:32px;height:32px}.info-row[data-v-921fd864]{align-items:flex-start;flex-direction:column;gap:4px}.angle-grid[data-v-921fd864],.control-grid[data-v-921fd864]{gap:10px}.angle-value[data-v-921fd864]{font-size:28px}.control-btn[data-v-921fd864]{width:100%;padding:13px 14px}.status-flow[data-v-921fd864]{align-items:stretch;padding:10px 0 0}.flow-step[data-v-921fd864]{justify-content:flex-start}.step-node[data-v-921fd864]{align-items:flex-start;flex-direction:row;gap:12px}.node-ring[data-v-921fd864]{width:48px;height:48px}.node-core[data-v-921fd864]{width:38px;height:38px}.node-core svg[data-v-921fd864]{width:19px;height:19px}.step-info[data-v-921fd864]{align-items:flex-start}}.device .card[data-v-921fd864]{border-radius:18px}.control-btn[data-v-921fd864]{border-radius:14px;position:relative;overflow:hidden}.control-btn[data-v-921fd864]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(112deg,transparent 0%,rgba(255,255,255,.24) 50%,transparent 100%);transform:translate(-125%);transition:transform .45s ease}.control-btn[data-v-921fd864]:hover:not(:disabled):before{transform:translate(125%)}.btn-icon svg[data-v-921fd864],.title-icon svg[data-v-921fd864],.node-core svg[data-v-921fd864],.status-icon svg[data-v-921fd864]{stroke-linecap:round;stroke-linejoin:round}.indicator-ring[data-v-921fd864]{box-shadow:inset 0 0 0 2px #ffffff6b,0 10px 28px #0b1d331f}.status-card[data-v-921fd864]:after,.angle-card[data-v-921fd864]:after,.control-card[data-v-921fd864]:after,.flow-card[data-v-921fd864]:after{content:none}.indicator-ring[data-v-921fd864]{background:#0071e314;box-shadow:inset 0 1px #fffc}.indicator-core[data-v-921fd864],.node-core[data-v-921fd864]{background:#fff}.status-icon.online[data-v-921fd864]{filter:none}.status-label[data-v-921fd864]{border-radius:999px;letter-spacing:0;text-transform:none}.status-label.online[data-v-921fd864],.status-label.idle[data-v-921fd864],.status-label.running[data-v-921fd864],.status-label.completed[data-v-921fd864],.status-label.error[data-v-921fd864]{border:0;animation:none}.angle-box[data-v-921fd864],.control-btn[data-v-921fd864]{background:#76768014;border-radius:16px}.angle-box[data-v-921fd864]:before,.control-btn[data-v-921fd864]:before{content:none}.angle-icon[data-v-921fd864]{width:22px;height:22px;border-radius:50%;background:#0071e31a;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.angle-value.has-value[data-v-921fd864],.angle-value.good[data-v-921fd864]{text-shadow:none}.device .card[data-v-921fd864]{border-radius:22px}.history[data-v-76362809]{max-width:1400px;margin:0 auto}.toolbar[data-v-76362809]{margin-bottom:20px;display:flex;gap:12px}.toolbar button[data-v-76362809]{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--industrial-bg-card);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;transition:all .3s ease}.toolbar button[data-v-76362809]:hover:not(:disabled){background:var(--metal-dark);border-color:var(--border-bright)}.toolbar button[data-v-76362809]:disabled{opacity:.5;cursor:not-allowed}.btn-icon[data-v-76362809]{width:16px;height:16px;display:flex;align-items:center;justify-content:center}.btn-icon svg[data-v-76362809]{width:100%;height:100%}.btn-refresh[data-v-76362809]:hover:not(:disabled){border-color:var(--industrial-blue);color:var(--industrial-blue)}.btn-clear[data-v-76362809]:hover:not(:disabled){border-color:var(--industrial-red);color:var(--industrial-red)}.table-container[data-v-76362809]{background:var(--industrial-bg-card);border:1px solid var(--border-color);border-radius:4px;overflow:hidden;box-shadow:0 4px 20px #0b1d3314}.table-container[data-v-76362809]:before{content:"";display:block;height:2px;background:linear-gradient(90deg,var(--industrial-yellow) 0%,var(--industrial-blue) 100%)}.data-table[data-v-76362809]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-76362809],.data-table td[data-v-76362809]{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.data-table th[data-v-76362809]{background:var(--industrial-bg-secondary);font-weight:600;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.data-table tbody tr[data-v-76362809]{transition:background .2s ease}.data-table tbody tr[data-v-76362809]:hover{background:#1a6dff08}.row-alt[data-v-76362809]{background:#ffffff05}.cell-id[data-v-76362809]{font-family:var(--font-display)}.id-badge[data-v-76362809]{display:inline-block;padding:4px 10px;background:var(--metal-dark);border-radius:3px;font-size:12px;color:var(--text-primary)}.material-tag[data-v-76362809]{display:inline-block;padding:4px 10px;background:#1a6dff1a;border:1px solid var(--industrial-blue);border-radius:3px;font-size:11px;color:var(--industrial-blue)}.highlight[data-v-76362809]{color:var(--color-primary);font-weight:500}.deviation-badge[data-v-76362809]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:3px;font-family:var(--font-display);font-size:12px;font-weight:500}.deviation-badge.success[data-v-76362809]{background:#16a34a1a;color:var(--color-success)}.deviation-badge.warning[data-v-76362809]{background:#f59e0b1a;color:var(--color-warning)}.deviation-badge.error[data-v-76362809]{background:#dc26261a;color:var(--color-danger)}.deviation-badge.default[data-v-76362809]{background:var(--metal-dark);color:var(--text-muted)}.status-badge[data-v-76362809]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:3px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge .status-dot[data-v-76362809]{width:6px;height:6px;border-radius:50%}.status-badge.success[data-v-76362809]{background:#16a34a1a;color:var(--color-success)}.status-badge.success .status-dot[data-v-76362809]{background:var(--industrial-green);box-shadow:0 0 6px var(--industrial-green-glow)}.status-badge.running[data-v-76362809]{background:#1a6dff1a;color:var(--industrial-blue)}.status-badge.running .status-dot[data-v-76362809]{background:var(--industrial-blue);box-shadow:0 0 6px var(--industrial-blue-glow);animation:blink 1s infinite}.status-badge.error[data-v-76362809]{background:#ef44441a;color:var(--industrial-red)}.status-badge.error .status-dot[data-v-76362809]{background:var(--industrial-red)}.status-badge.offline[data-v-76362809]{background:var(--metal-dark);color:var(--text-muted)}.status-badge.pending[data-v-76362809]{background:#f5a6231a;color:var(--industrial-yellow)}.status-badge.pending .status-dot[data-v-76362809]{background:var(--industrial-yellow);animation:blink 1.5s infinite}.cell-time[data-v-76362809]{color:var(--text-secondary);font-size:12px}.btn-detail[data-v-76362809]{padding:6px;background:transparent;border:1px solid var(--border-color);border-radius:3px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.btn-detail[data-v-76362809]:hover{background:var(--metal-dark);border-color:var(--industrial-blue);color:var(--industrial-blue)}.btn-detail svg[data-v-76362809]{width:16px;height:16px;display:block}.empty-cell[data-v-76362809]{padding:60px 20px}.empty-content[data-v-76362809]{display:flex;flex-direction:column;align-items:center;color:var(--text-muted)}.empty-icon[data-v-76362809]{width:48px;height:48px;margin-bottom:16px;opacity:.4}.empty-icon svg[data-v-76362809]{width:100%;height:100%}.empty-content p[data-v-76362809]{font-size:14px;margin-bottom:8px}.empty-hint[data-v-76362809]{font-family:var(--font-display);font-size:11px;letter-spacing:1px}.modal-overlay[data-v-76362809]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-76362809]{background:var(--industrial-bg-card);border:1px solid var(--border-color);border-radius:4px;width:90%;max-width:600px;max-height:80vh;overflow:auto;box-shadow:0 20px 60px #0b1d331f}.modal-header[data-v-76362809]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color);background:var(--industrial-bg-secondary)}.modal-title[data-v-76362809]{display:flex;align-items:center;gap:12px}.modal-title .title-icon[data-v-76362809]{width:36px;height:36px;background:linear-gradient(135deg,#1a6dff14,#1a6dff0a);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.modal-title .title-icon svg[data-v-76362809]{width:20px;height:20px}.title-text[data-v-76362809]{display:flex;flex-direction:column}.title-text .main[data-v-76362809]{font-size:16px;font-weight:600;color:var(--text-primary)}.title-text .sub[data-v-76362809]{font-size:10px;color:var(--text-muted);font-family:var(--font-display);letter-spacing:1px}.close-btn[data-v-76362809]{width:32px;height:32px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.close-btn[data-v-76362809]:hover{background:var(--metal-dark);border-color:var(--industrial-red);color:var(--industrial-red)}.close-btn svg[data-v-76362809]{width:16px;height:16px}.modal-body[data-v-76362809]{padding:24px}.detail-section[data-v-76362809]{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.detail-section[data-v-76362809]:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.section-header[data-v-76362809]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.section-icon[data-v-76362809]{font-size:16px}.section-title[data-v-76362809]{font-size:13px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.detail-grid[data-v-76362809]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item[data-v-76362809]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--industrial-bg);border:1px solid var(--border-color);border-radius:4px}.detail-item.full-width[data-v-76362809]{grid-column:1 / -1;flex-direction:column;align-items:flex-start;gap:8px}.detail-item.highlight[data-v-76362809]{border-color:var(--industrial-yellow);background:#f5a6230d}.item-label[data-v-76362809]{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.item-value[data-v-76362809]{font-size:13px;font-weight:500;color:var(--text-primary)}.item-value.accent[data-v-76362809]{color:var(--industrial-yellow);font-size:16px}.item-value.explanation[data-v-76362809]{font-size:12px;line-height:1.6;color:var(--text-secondary)}.item-value.success[data-v-76362809]{color:var(--industrial-green)}.item-value.warning[data-v-76362809]{color:var(--industrial-yellow)}.item-value.error[data-v-76362809]{color:var(--industrial-red)}@media (max-width: 1024px){.data-table[data-v-76362809]{font-size:12px}.data-table th[data-v-76362809],.data-table td[data-v-76362809]{padding:10px 12px}}@media (max-width: 768px){.table-container[data-v-76362809]{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table[data-v-76362809]{min-width:800px}.detail-grid[data-v-76362809]{grid-template-columns:1fr}}@media (max-width: 640px){.history[data-v-76362809]{max-width:100%}.toolbar[data-v-76362809]{flex-direction:column;gap:10px}.toolbar button[data-v-76362809]{width:100%;justify-content:center}.modal-overlay[data-v-76362809]{align-items:flex-end;padding:12px}.modal[data-v-76362809]{width:100%;max-height:calc(100svh - 24px);border-radius:22px}.modal-header[data-v-76362809]{padding:16px 18px}.modal-body[data-v-76362809]{padding:18px}.detail-item[data-v-76362809]{align-items:flex-start;flex-direction:column;gap:6px}}.table-container[data-v-76362809],.modal[data-v-76362809]{border-radius:16px}.toolbar button[data-v-76362809],.btn-detail[data-v-76362809],.close-btn[data-v-76362809]{border-radius:10px;position:relative;overflow:hidden}.toolbar button[data-v-76362809]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(112deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);transform:translate(-125%);transition:transform .45s ease}.toolbar button[data-v-76362809]:hover:before{transform:translate(125%)}.status-badge .status-dot[data-v-76362809]{box-shadow:0 0 0 4px #ffffff73}.table-container[data-v-76362809]:before{content:none}.table-container[data-v-76362809],.modal[data-v-76362809]{border-radius:22px;box-shadow:0 18px 50px #0000000d}.toolbar button[data-v-76362809],.btn-detail[data-v-76362809],.close-btn[data-v-76362809],.detail-item[data-v-76362809],.id-badge[data-v-76362809],.material-tag[data-v-76362809],.deviation-badge[data-v-76362809],.status-badge[data-v-76362809]{border-radius:999px}.detail-item[data-v-76362809]{border-radius:16px;background:#76768014}.modal-overlay[data-v-76362809]{background:#00000047;-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px)}.section-icon[data-v-76362809]{width:24px;height:24px;border-radius:50%;background:#0071e31a;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}.login-page[data-v-a703f706]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#fbfbfd,#f5f5f7 60%,#eef2f8);padding:32px 20px}.login-container[data-v-a703f706]{width:100%;max-width:432px;background:#ffffffc7;border:1px solid rgba(60,60,67,.1);border-radius:28px;padding:42px;box-shadow:0 30px 80px #0000001a;-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);position:relative;overflow:hidden}.login-container[data-v-a703f706]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:28px;box-shadow:inset 0 1px #ffffffd9;pointer-events:none}.login-header[data-v-a703f706]{text-align:center;margin-bottom:30px}.logo[data-v-a703f706]{width:72px;height:72px;margin:0 auto 18px;background:#fff;border:1px solid rgba(60,60,67,.1);border-radius:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px #0000001a}.logo svg[data-v-a703f706]{width:42px;height:38px}.login-header h1[data-v-a703f706]{font-size:25px;font-weight:700;color:var(--text-primary);margin-bottom:7px;line-height:1.18}.subtitle[data-v-a703f706]{font-size:13px;font-weight:600;color:var(--text-muted)}.login-tabs[data-v-a703f706]{display:flex;gap:4px;margin-bottom:26px;padding:4px;background:#7676801a;border-radius:999px;border:1px solid rgba(60,60,67,.1)}.tab-btn[data-v-a703f706]{min-height:40px;flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;background:transparent;border:0;border-radius:999px;color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.tab-btn[data-v-a703f706]:hover{color:var(--text-primary)}.tab-btn.active[data-v-a703f706]{background:#fff;color:var(--color-primary);box-shadow:0 8px 22px #00000014}.tab-icon[data-v-a703f706]{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}.tab-icon svg[data-v-a703f706]{width:16px;height:16px}.login-form[data-v-a703f706]{margin-bottom:24px}.form-group[data-v-a703f706]{margin-bottom:16px}.form-group label[data-v-a703f706]{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--text-secondary)}.form-group input[data-v-a703f706]{width:100%;height:46px;padding:0 15px;background:#ffffffeb;border:1px solid rgba(60,60,67,.16);border-radius:14px;font-size:15px;color:var(--text-primary);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.form-group input[data-v-a703f706]:focus{outline:none;border-color:#0071e385;box-shadow:0 0 0 4px #0071e31f;background:#fff}.form-group input[data-v-a703f706]::placeholder{color:var(--text-muted)}.form-hint[data-v-a703f706]{display:flex;align-items:center;gap:8px;padding:12px;background:#0071e30d;border:1px solid rgba(0,113,227,.12);border-radius:14px;font-size:12px;color:var(--text-secondary);margin-bottom:16px}.hint-icon[data-v-a703f706]{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}.hint-icon svg[data-v-a703f706]{width:16px;height:16px}.role-hints[data-v-a703f706]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.role-hint[data-v-a703f706]{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-secondary)}.role-tag[data-v-a703f706]{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600}.role-tag.admin[data-v-a703f706]{background:#d7001514;color:var(--color-danger)}.role-tag.maintenance[data-v-a703f706]{background:#0071e314;color:var(--color-primary)}.role-tag.operator[data-v-a703f706]{background:#248a3d14;color:var(--color-success)}.error-message[data-v-a703f706]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#d7001514;border:1px solid rgba(215,0,21,.16);border-radius:14px;color:var(--color-danger);font-size:13px;margin-bottom:16px}.error-icon[data-v-a703f706]{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}.error-icon svg[data-v-a703f706]{width:16px;height:16px}.login-btn[data-v-a703f706]{width:100%;height:46px;padding:0 24px;background:var(--color-primary);border:0;border-radius:999px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,transform .18s ease;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px}.login-btn[data-v-a703f706]:hover:not(:disabled){background:#0077ed;box-shadow:0 14px 28px #0071e33d;transform:translateY(-1px)}.login-btn[data-v-a703f706]:disabled{opacity:.6;cursor:not-allowed}.loading-spinner[data-v-a703f706]{width:16px;height:16px;border:2px solid var(--border-color);border-top-color:var(--text-primary);border-radius:50%;animation:spin-a703f706 1s linear infinite}@keyframes spin-a703f706{to{transform:rotate(360deg)}}.demo-accounts[data-v-a703f706]{padding-top:24px;border-top:1px solid var(--border-color)}.demo-title[data-v-a703f706]{text-align:center;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:12px}.demo-list[data-v-a703f706]{display:flex;flex-direction:column;gap:8px}.demo-item[data-v-a703f706]{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:#76768014;border:1px solid transparent;border-radius:14px;cursor:pointer;transition:background .18s ease,border-color .18s ease}.demo-item[data-v-a703f706]:hover{border-color:#0071e32e;background:#0071e30f}.demo-type[data-v-a703f706]{font-size:11px;font-weight:700;color:var(--color-primary)}.demo-cred[data-v-a703f706]{font-size:12px;color:var(--text-secondary)}@media (max-width: 480px){.login-page[data-v-a703f706]{align-items:flex-start;min-height:100svh;padding:18px 12px}.login-container[data-v-a703f706]{padding:30px 22px;border-radius:24px}.login-header h1[data-v-a703f706]{font-size:22px}.tab-btn[data-v-a703f706]{padding:10px;font-size:13px}.login-tabs[data-v-a703f706]{margin-bottom:20px}.demo-item[data-v-a703f706]{align-items:flex-start;flex-direction:column;gap:3px}}@media (max-width: 360px){.login-container[data-v-a703f706]{padding:24px 16px}.login-header h1[data-v-a703f706]{font-size:20px}.subtitle[data-v-a703f706]{font-size:12px}}.machine-select-page[data-v-50f5dfef]{max-width:1200px;margin:0 auto}.machines-grid[data-v-50f5dfef]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.machine-card[data-v-50f5dfef]{background:var(--industrial-bg-card);border:1px solid var(--border-color);border-radius:18px;padding:24px;cursor:pointer;transition:all .28s ease;position:relative;overflow:hidden}.machine-card[data-v-50f5dfef]:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;transition:all .3s ease}.machine-card.online[data-v-50f5dfef]:before{background:var(--industrial-green)}.machine-card.offline[data-v-50f5dfef]:before{background:var(--industrial-red)}.machine-card.maintenance[data-v-50f5dfef]:before{background:var(--industrial-yellow)}.machine-card[data-v-50f5dfef]:hover{border-color:var(--border-bright);box-shadow:0 18px 32px #0f172a24;transform:translateY(-4px)}.machine-card.online[data-v-50f5dfef]:hover{box-shadow:0 8px 24px #22c55e1a}.status-indicator[data-v-50f5dfef]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.status-dot[data-v-50f5dfef]{width:8px;height:8px;border-radius:50%;animation:pulse-50f5dfef 2s infinite}.machine-card.online .status-dot[data-v-50f5dfef]{background:var(--industrial-green);box-shadow:0 0 10px var(--industrial-green-glow)}.machine-card.offline .status-dot[data-v-50f5dfef]{background:var(--industrial-red)}.machine-card.maintenance .status-dot[data-v-50f5dfef]{background:var(--industrial-yellow);box-shadow:0 0 10px var(--industrial-yellow-glow)}@keyframes pulse-50f5dfef{0%,to{opacity:1}50%{opacity:.5}}.status-text[data-v-50f5dfef]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.machine-card.online .status-text[data-v-50f5dfef]{color:var(--industrial-green)}.machine-card.offline .status-text[data-v-50f5dfef]{color:var(--industrial-red)}.machine-card.maintenance .status-text[data-v-50f5dfef]{color:var(--industrial-yellow)}.machine-info[data-v-50f5dfef]{margin-bottom:16px}.machine-name[data-v-50f5dfef]{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.machine-id[data-v-50f5dfef]{font-size:12px;color:var(--text-muted);font-family:var(--font-display);margin-bottom:8px}.machine-location[data-v-50f5dfef]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.location-icon[data-v-50f5dfef]{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center}.location-icon svg[data-v-50f5dfef]{width:14px;height:14px}.machine-meta[data-v-50f5dfef]{margin-bottom:16px}.last-active[data-v-50f5dfef]{font-size:11px;color:var(--text-muted);font-family:var(--font-display)}.machine-action[data-v-50f5dfef]{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border-color);font-size:13px;color:var(--text-secondary);transition:all .3s ease}.machine-admin-actions[data-v-50f5dfef]{position:absolute;top:12px;right:12px;display:flex;gap:6px;opacity:0;transition:opacity .2s ease;z-index:10}.machine-card:hover .machine-admin-actions[data-v-50f5dfef]{opacity:1}.admin-btn[data-v-50f5dfef]{width:28px;height:28px;border-radius:6px;border:none;background:#ffffffe6;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 2px 6px #0000001a}.admin-btn svg[data-v-50f5dfef]{width:14px;height:14px}.admin-btn.edit[data-v-50f5dfef]{color:var(--industrial-blue)}.admin-btn.edit[data-v-50f5dfef]:hover{background:var(--industrial-blue);color:#fff}.admin-btn.delete[data-v-50f5dfef]{color:var(--color-danger)}.admin-btn.delete[data-v-50f5dfef]:hover{background:var(--color-danger);color:#fff}.machine-card:hover .machine-action[data-v-50f5dfef]{color:var(--industrial-yellow)}.action-arrow[data-v-50f5dfef]{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;transition:transform .3s ease}.action-arrow svg[data-v-50f5dfef]{width:16px;height:16px}.machine-card:hover .action-arrow[data-v-50f5dfef]{transform:translate(4px)}.machine-card.add-machine[data-v-50f5dfef]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;border-style:dashed;background:transparent}.machine-card.add-machine[data-v-50f5dfef]:before{display:none}.machine-card.add-machine[data-v-50f5dfef]:hover{border-color:var(--industrial-yellow);background:#f5a6230d}.add-icon[data-v-50f5dfef]{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--metal-dark);border:2px solid var(--border-color);font-size:24px;color:var(--industrial-yellow);margin-bottom:12px;transition:all .3s ease}.machine-card.add-machine:hover .add-icon[data-v-50f5dfef]{border-color:var(--industrial-yellow);background:#f5a6231a}.add-text[data-v-50f5dfef]{font-size:14px;color:var(--text-secondary);font-weight:500}.modal-overlay[data-v-50f5dfef]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-content[data-v-50f5dfef]{background:var(--industrial-bg-card);border:1px solid var(--border-color);border-radius:16px;padding:32px;width:100%;max-width:400px;box-shadow:0 20px 60px #0b1d331f}.modal-content h3[data-v-50f5dfef]{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:24px;text-align:center}.form-group[data-v-50f5dfef]{margin-bottom:16px}.form-group label[data-v-50f5dfef]{display:block;margin-bottom:6px;font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-group input[data-v-50f5dfef]{width:100%;padding:12px 16px;background:var(--industrial-bg);border:1px solid var(--border-color);border-radius:6px;font-size:14px;color:var(--text-primary);transition:all .3s ease}.form-group input[data-v-50f5dfef]:focus{outline:none;border-color:var(--industrial-yellow)}.modal-actions[data-v-50f5dfef]{display:flex;gap:12px;margin-top:24px}.modal-actions button[data-v-50f5dfef]{flex:1;padding:12px 24px;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-cancel[data-v-50f5dfef]{background:var(--metal-dark);border:1px solid var(--border-color);color:var(--text-secondary)}.btn-cancel[data-v-50f5dfef]:hover{border-color:var(--border-bright);color:var(--text-primary);box-shadow:0 10px 18px #0f172a14}.btn-confirm[data-v-50f5dfef]{background:linear-gradient(135deg,var(--industrial-blue) 0%,#1A6DFF 100%);border:1px solid var(--industrial-blue);color:#fff;font-weight:600;position:relative;overflow:hidden}.btn-confirm[data-v-50f5dfef]:hover:not(:disabled){box-shadow:0 14px 28px #1a6dff4d;transform:translateY(-1px)}.btn-confirm[data-v-50f5dfef]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.34) 50%,transparent 100%);transform:translate(-125%);transition:transform .45s ease}.btn-confirm[data-v-50f5dfef]:hover:before{transform:translate(125%)}.btn-confirm[data-v-50f5dfef]:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.machines-grid[data-v-50f5dfef]{grid-template-columns:1fr}}@media (max-width: 640px){.machine-select-page[data-v-50f5dfef]{max-width:100%}.machines-grid[data-v-50f5dfef]{gap:14px}.machine-card[data-v-50f5dfef]{padding:18px}.machine-admin-actions[data-v-50f5dfef]{opacity:1}.machine-action[data-v-50f5dfef]{gap:10px}.modal-overlay[data-v-50f5dfef]{align-items:flex-end;padding:12px}.modal-content[data-v-50f5dfef]{max-width:none;border-radius:22px;padding:22px}.modal-actions[data-v-50f5dfef]{flex-direction:column-reverse}}.machine-card[data-v-50f5dfef]{border-radius:22px;background:#ffffffd1;box-shadow:0 18px 50px #0000000d}.machine-card[data-v-50f5dfef]:before{width:0}.machine-card[data-v-50f5dfef]:hover{border-color:#0071e338;box-shadow:0 24px 60px #00000014;transform:translateY(-2px)}.status-dot[data-v-50f5dfef]{animation:none}.machine-card:hover .machine-action[data-v-50f5dfef]{color:var(--color-primary)}.machine-card.add-machine[data-v-50f5dfef]:hover{border-color:#0071e33d;background:#0071e30d}.add-icon[data-v-50f5dfef]{background:#0071e31a;border:0;color:var(--color-primary)}.modal-overlay[data-v-50f5dfef]{background:#00000047;-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px)}.user-management[data-v-d6e82e08]{max-width:1200px;margin:0 auto}.toolbar[data-v-d6e82e08]{display:flex;gap:12px;margin-bottom:20px}.data-table th[data-v-d6e82e08]{background:var(--industrial-bg)}.data-table td[data-v-d6e82e08]{font-size:14px}.role-badge[data-v-d6e82e08]{display:inline-block;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500}.role-badge.admin[data-v-d6e82e08]{background:#dc26261a;color:var(--color-danger)}.role-badge.maintenance[data-v-d6e82e08]{background:#f59e0b1a;color:var(--color-warning)}.role-badge.operator[data-v-d6e82e08]{background:#16a34a1a;color:var(--color-success)}.btn-text[data-v-d6e82e08]{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:13px;padding:4px 8px;margin-right:8px}.btn-text[data-v-d6e82e08]:hover{text-decoration:underline}.btn-text.danger[data-v-d6e82e08]{color:var(--color-danger)}.loading[data-v-d6e82e08],.empty[data-v-d6e82e08]{text-align:center;padding:40px;color:var(--text-muted)}.modal-overlay[data-v-d6e82e08]{background:#0b1d3380;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal[data-v-d6e82e08]{border-radius:14px}.form-item[data-v-d6e82e08]{margin-bottom:16px}.form-item label[data-v-d6e82e08]{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.form-item input[data-v-d6e82e08],.form-item select[data-v-d6e82e08]{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:10px;background:var(--industrial-bg);color:var(--text-primary);font-size:14px}.modal-actions[data-v-d6e82e08]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-primary[data-v-d6e82e08]{background:linear-gradient(135deg,var(--color-primary) 0%,#2563EB 100%);color:#fff;border:none;padding:10px 20px;border-radius:10px;font-size:14px;cursor:pointer}.btn-primary[data-v-d6e82e08]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-d6e82e08]{padding:10px 20px;border-radius:10px;font-size:14px;cursor:pointer;border:1px solid var(--border-color);background:var(--industrial-bg);color:var(--text-primary)}@media (max-width: 640px){.user-management[data-v-d6e82e08]{max-width:100%}.toolbar[data-v-d6e82e08]{align-items:stretch;flex-direction:column;gap:10px}.toolbar button[data-v-d6e82e08]{width:100%;justify-content:center}.card[data-v-d6e82e08]{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table[data-v-d6e82e08]{min-width:620px}.modal-overlay[data-v-d6e82e08]{align-items:flex-end;padding:12px}.modal[data-v-d6e82e08]{width:100%;max-height:calc(100svh - 24px);overflow-y:auto;border-radius:22px}.modal-actions[data-v-d6e82e08]{flex-direction:column-reverse}.modal-actions button[data-v-d6e82e08]{width:100%}}.operation-log[data-v-e24e3f0d]{max-width:1400px;margin:0 auto}.toolbar[data-v-e24e3f0d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px;flex-wrap:wrap}.filter-group[data-v-e24e3f0d]{display:flex;gap:8px;align-items:center}.filter-input[data-v-e24e3f0d],.filter-select[data-v-e24e3f0d]{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--industrial-bg);color:var(--text-primary);font-size:13px}.filter-input[data-v-e24e3f0d]{width:140px}.filter-select[data-v-e24e3f0d]{width:130px}.data-table[data-v-e24e3f0d]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-e24e3f0d],.data-table td[data-v-e24e3f0d]{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color)}.data-table th[data-v-e24e3f0d]{font-weight:600;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.time-cell[data-v-e24e3f0d]{font-family:var(--font-display);font-size:12px;color:var(--text-muted);white-space:nowrap}.detail-cell[data-v-e24e3f0d]{color:var(--text-secondary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge[data-v-e24e3f0d]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.role-badge.admin[data-v-e24e3f0d]{background:#dc26261a;color:var(--color-danger)}.role-badge.maintenance[data-v-e24e3f0d]{background:#f59e0b1a;color:var(--color-warning)}.role-badge.operator[data-v-e24e3f0d]{background:#16a34a1a;color:var(--color-success)}.role-badge.machine[data-v-e24e3f0d]{background:#1a6dff1a;color:var(--color-primary)}.action-badge[data-v-e24e3f0d]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;background:var(--metal-dark);color:var(--text-secondary)}.target-tag[data-v-e24e3f0d]{font-size:11px;color:var(--text-muted);font-family:var(--font-display)}.loading[data-v-e24e3f0d],.empty[data-v-e24e3f0d]{text-align:center;padding:40px;color:var(--text-muted)}.pagination[data-v-e24e3f0d]{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.pagination button[data-v-e24e3f0d]{padding:6px 14px;border:1px solid var(--border-color);border-radius:6px;background:var(--industrial-bg-card);color:var(--text-primary);cursor:pointer;font-size:13px}.pagination button[data-v-e24e3f0d]:disabled{opacity:.4;cursor:not-allowed}.btn-secondary[data-v-e24e3f0d],.btn-text[data-v-e24e3f0d]{padding:8px 14px;border-radius:6px;font-size:13px;cursor:pointer;border:none}.btn-secondary[data-v-e24e3f0d]{background:var(--metal-dark);color:var(--text-primary)}.btn-text[data-v-e24e3f0d]{background:none;color:var(--text-muted)}.btn-text[data-v-e24e3f0d]:hover{color:var(--text-primary)}@media (max-width: 640px){.operation-log[data-v-e24e3f0d]{max-width:100%}.toolbar[data-v-e24e3f0d]{align-items:stretch;flex-direction:column}.filter-group[data-v-e24e3f0d]{align-items:stretch;flex-direction:column;width:100%}.filter-input[data-v-e24e3f0d],.filter-select[data-v-e24e3f0d],.filter-group button[data-v-e24e3f0d],.toolbar>button[data-v-e24e3f0d]{width:100%}.card[data-v-e24e3f0d]{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table[data-v-e24e3f0d]{min-width:820px}.pagination[data-v-e24e3f0d]{min-width:520px;justify-content:flex-start}}.training-page[data-v-6314f8d9]{max-width:1400px;margin:0 auto}.container[data-v-6314f8d9]{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.upload-section[data-v-6314f8d9]{margin-bottom:20px}.upload-area[data-v-6314f8d9]{display:block;border:2px dashed var(--border-bright);border-radius:12px;padding:32px;text-align:center;cursor:pointer;transition:all .2s ease;position:relative}.upload-area[data-v-6314f8d9]:hover{border-color:var(--color-primary);background:#1a6dff05}.upload-area.has-file[data-v-6314f8d9]{border-color:var(--color-success);border-style:solid}.file-input[data-v-6314f8d9]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upload-content[data-v-6314f8d9]{display:flex;flex-direction:column;align-items:center;gap:8px}.upload-icon[data-v-6314f8d9]{font-size:32px}.upload-text[data-v-6314f8d9]{font-size:13px;font-weight:600;color:var(--text-secondary)}.upload-hint[data-v-6314f8d9]{font-size:11px;color:var(--text-muted);font-family:var(--font-display)}.upload-status[data-v-6314f8d9]{font-size:12px;font-weight:600}.upload-status.success[data-v-6314f8d9]{color:var(--color-success)}.upload-status.error[data-v-6314f8d9]{color:var(--color-danger)}.params-section[data-v-6314f8d9]{margin-bottom:16px}.form-row[data-v-6314f8d9]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.form-item label[data-v-6314f8d9]{display:block;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.form-item input[data-v-6314f8d9],.form-item select[data-v-6314f8d9]{width:100%;padding:9px 12px;border:1px solid var(--input-border);border-radius:8px;background:#fff;color:var(--text-primary);font-size:13px}.form-item input[data-v-6314f8d9]:focus,.form-item select[data-v-6314f8d9]:focus{outline:none;border-color:var(--color-primary)}.model-badge[data-v-6314f8d9]{display:inline-block;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600}.model-badge.ready[data-v-6314f8d9]{background:#16a34a14;color:var(--color-success)}.model-badge.training[data-v-6314f8d9]{background:#1a6dff14;color:var(--color-primary)}.model-badge.none[data-v-6314f8d9]{background:var(--metal-dark);color:var(--text-muted)}.action-row[data-v-6314f8d9]{display:flex;gap:12px}.action-row .btn-primary[data-v-6314f8d9],.action-row .btn-secondary[data-v-6314f8d9]{flex:1}.empty-hint[data-v-6314f8d9]{text-align:center;padding:24px;color:var(--text-muted);font-size:13px}.predict-actions[data-v-6314f8d9]{display:flex;gap:12px;margin:16px 0}.predict-actions button[data-v-6314f8d9]{flex:1}.predict-result[data-v-6314f8d9],.iterative-result[data-v-6314f8d9]{margin-top:16px;padding:16px;background:var(--industrial-bg);border-radius:10px}.result-header[data-v-6314f8d9]{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text-primary)}.result-class[data-v-6314f8d9]{padding:2px 8px;border-radius:4px;font-size:12px}.result-class.small[data-v-6314f8d9]{background:#f59e0b1f;color:var(--color-warning)}.result-class.good[data-v-6314f8d9]{background:#16a34a1f;color:var(--color-success)}.result-class.large[data-v-6314f8d9]{background:#dc26261f;color:var(--color-danger)}.prob-bars[data-v-6314f8d9]{display:flex;flex-direction:column;gap:6px}.prob-row[data-v-6314f8d9]{display:flex;align-items:center;gap:10px}.prob-label[data-v-6314f8d9]{width:36px;font-size:11px;font-weight:600;color:var(--text-muted)}.prob-value[data-v-6314f8d9]{width:44px;text-align:right;font-family:var(--font-display);font-size:11px;color:var(--text-secondary)}.prob-bar-track[data-v-6314f8d9]{flex:1;height:8px;background:var(--metal-dark);border-radius:4px;overflow:hidden}.prob-bar-fill[data-v-6314f8d9]{height:100%;border-radius:4px;transition:width .4s ease}.prob-bar-fill.bar-0[data-v-6314f8d9]{background:var(--color-warning)}.prob-bar-fill.bar-1[data-v-6314f8d9]{background:var(--color-success)}.prob-bar-fill.bar-2[data-v-6314f8d9]{background:var(--color-danger)}.final-angle[data-v-6314f8d9]{margin-top:12px;display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.highlight-value[data-v-6314f8d9]{font-size:24px;font-weight:700;color:var(--color-primary);font-family:var(--font-display)}.offset-badge[data-v-6314f8d9]{font-size:11px;color:var(--text-muted);background:var(--metal-dark);padding:2px 8px;border-radius:4px}.result-header.success[data-v-6314f8d9]{color:var(--color-success)}.result-header.fail[data-v-6314f8d9]{color:var(--color-danger)}.progress-card[data-v-6314f8d9]{margin-top:0}.progress-header[data-v-6314f8d9]{margin-bottom:20px}.progress-stats[data-v-6314f8d9]{display:flex;gap:24px;margin-bottom:12px;flex-wrap:wrap}.stat-item[data-v-6314f8d9]{display:flex;flex-direction:column;gap:4px}.stat-label[data-v-6314f8d9]{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-6314f8d9]{font-size:14px;font-weight:600;color:var(--text-primary);font-family:var(--font-display)}.stat-value.highlight[data-v-6314f8d9]{color:var(--color-success)}.stat-value.msg[data-v-6314f8d9]{font-size:12px;font-family:var(--font-body);font-weight:400;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-bar-track[data-v-6314f8d9]{height:6px;background:var(--metal-dark);border-radius:3px;overflow:hidden}.progress-bar-fill[data-v-6314f8d9]{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));border-radius:3px;transition:width .4s ease}.charts-row[data-v-6314f8d9]{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}.chart-box[data-v-6314f8d9]{background:var(--industrial-bg);border-radius:10px;padding:16px}.chart-title[data-v-6314f8d9]{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.chart-canvas[data-v-6314f8d9]{width:100%;height:180px}.chart-canvas svg[data-v-6314f8d9]{width:100%;height:100%}.confusion-section[data-v-6314f8d9]{margin-top:24px}.confusion-table[data-v-6314f8d9]{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px}.confusion-table th[data-v-6314f8d9],.confusion-table td[data-v-6314f8d9]{padding:10px 14px;text-align:center;border:1px solid var(--border-color)}.confusion-table th[data-v-6314f8d9]{background:var(--industrial-bg);font-weight:600;color:var(--text-muted);font-size:11px}.cm-label[data-v-6314f8d9]{text-align:left;font-weight:600;color:var(--text-secondary)}.cm-cell[data-v-6314f8d9]{font-family:var(--font-display);font-size:14px;color:var(--text-muted)}.cm-diag[data-v-6314f8d9]{background:#16a34a14;color:var(--color-success);font-weight:700}@media (max-width: 768px){.container[data-v-6314f8d9],.charts-row[data-v-6314f8d9],.form-row[data-v-6314f8d9]{grid-template-columns:1fr}}@media (max-width: 640px){.training-page[data-v-6314f8d9]{max-width:100%}.container[data-v-6314f8d9]{gap:14px;margin-bottom:14px}.upload-area[data-v-6314f8d9]{padding:24px 16px}.action-row[data-v-6314f8d9],.predict-actions[data-v-6314f8d9]{flex-direction:column;gap:10px}.progress-stats[data-v-6314f8d9]{gap:12px}.stat-item[data-v-6314f8d9]{width:100%}.stat-value.msg[data-v-6314f8d9]{max-width:100%;white-space:normal}.final-angle[data-v-6314f8d9]{align-items:flex-start;flex-direction:column}.confusion-section[data-v-6314f8d9]{overflow-x:auto;-webkit-overflow-scrolling:touch}.confusion-table[data-v-6314f8d9]{min-width:560px}}.training-page .card[data-v-6314f8d9]{border-radius:22px}.upload-area[data-v-6314f8d9],.predict-result[data-v-6314f8d9],.iterative-result[data-v-6314f8d9],.chart-box[data-v-6314f8d9]{border-radius:18px;background:#76768014}.upload-icon[data-v-6314f8d9]{width:44px;height:44px;border-radius:14px;background:#0071e31a;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}.progress-bar-fill[data-v-6314f8d9]{background:var(--color-primary)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid rgba(60,60,67,.1)}.page-title{display:flex;align-items:center;gap:11px;font-size:26px;font-weight:700;line-height:1.1;color:var(--text-primary)}.title-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:#0071e31a;color:var(--color-primary)}.title-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.page-subtitle{font-size:13px;color:var(--text-muted);font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000047;-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-content{background:var(--industrial-bg-card);border:1px solid var(--border-color);border-radius:20px;padding:28px;width:100%;box-shadow:0 24px 64px #00000024}.modal-content h3{font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:20px}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border-color)}.data-table th{background:#76768014;color:var(--text-muted);font-weight:600;font-size:12px}.data-table tr:hover td{background:#1a6dff05}.data-table .empty-cell{text-align:center;padding:48px 16px;color:var(--text-muted)}.toolbar{display:flex;gap:12px;margin-bottom:20px;align-items:center}.digital-display{font-family:var(--font-display);font-variant-numeric:tabular-nums}.table-container{background:var(--industrial-bg-card);border:1px solid var(--border-color);border-radius:18px;overflow:hidden;box-shadow:0 18px 50px #0000000d}@media (max-width: 768px){.page-header{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:18px;padding-bottom:14px}.page-title{font-size:23px}}@media (max-width: 640px){.page-title{gap:9px;font-size:22px}.title-icon{width:30px;height:30px;border-radius:10px}.title-icon svg{width:16px;height:16px}.page-subtitle{font-size:12px}.toolbar{align-items:stretch;flex-direction:column;gap:10px}.toolbar button{width:100%;justify-content:center}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:760px}.data-table th,.data-table td{padding:11px 12px;white-space:nowrap}.modal-overlay{align-items:flex-end;padding:12px}.modal-content{max-height:calc(100vh - 24px);overflow-y:auto;border-radius:22px;padding:22px}}
