:root{--sidebar-bg:#0f172a;--sidebar-hover:#1e293b;--sidebar-active:#1e293b;--sidebar-text:#94a3b8;--sidebar-text-active:#fff;--sidebar-section-label:#475569;--header-bg:#fff;--header-text:#0f172a;--header-border:#e2e8f0;--bg-main:#f8fafc;--bg-card:#fff;--bg-row-alt:#f8fafc;--border-color:#e2e8f0;--border-subtle:#f1f5f9;--text-main:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--color-primary:#0f172a;--color-primary-hover:#1e293b;--color-accent:#0284c7;--color-active:#10b981;--color-active-bg:#ecfdf5;--color-inactive:#f43f5e;--color-inactive-bg:#fff1f2;--card-radius:10px;--btn-radius:6px;--input-radius:6px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-card:0 1px 3px 0 #0000000a, 0 1px 2px -1px #00000005;--shadow-hover:0 4px 6px -1px #0000000f, 0 2px 4px -2px #00000008;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}[data-theme=dark]{--sidebar-bg:#070b14;--sidebar-hover:#111827;--sidebar-active:#172033;--sidebar-text:#94a3b8;--sidebar-text-active:#f8fafc;--sidebar-section-label:#374151;--header-bg:#0b0f19;--header-text:#f8fafc;--header-border:#1e293b;--bg-main:#030712;--bg-card:#0b0f19;--bg-row-alt:#0f1420;--border-color:#1e293b;--border-subtle:#111827;--text-main:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#64748b;--color-primary:#fff;--color-primary-hover:#e2e8f0;--color-accent:#38bdf8;--color-active:#34d399;--color-active-bg:#34d39914;--color-inactive:#fb7185;--color-inactive-bg:#fb718514;--shadow-sm:0 1px 2px 0 #0003;--shadow-card:0 1px 3px 0 #0000004d;--shadow-hover:0 4px 12px 0 #0006}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:13px;line-height:1.5}.app-container{width:100%;min-height:100vh;display:flex}.sidebar{background-color:var(--sidebar-bg);width:220px;color:var(--sidebar-text);border-right:1px solid #ffffff0d;flex-direction:column;flex-shrink:0;display:flex}.sidebar-brand{border-bottom:1px solid #ffffff0f;flex-shrink:0;align-items:center;gap:11px;height:58px;padding:0 18px;display:flex}.brand-badge-logo{color:#fff;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:flex;box-shadow:0 2px 4px #0284c740}.brand-title-text{color:#fff;letter-spacing:-.01em;font-size:13px;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.nav-section-label{color:var(--sidebar-section-label);letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:none;user-select:none;padding:10px 10px 4px;font-size:9.5px;font-weight:700}.nav-section-label:first-child{padding-top:4px}.nav-divider{background:#ffffff0d;height:1px;margin:6px 0}.nav-link{color:var(--sidebar-text);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:7px;align-items:center;gap:9px;width:100%;padding:9px 10px;font-family:inherit;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:flex}.nav-link:hover{background-color:var(--sidebar-hover);color:#e2e8f0}.nav-link.active{background-color:var(--sidebar-active);color:var(--sidebar-text-active);font-weight:600}.nav-link svg{opacity:.7;flex-shrink:0}.nav-link.active svg{opacity:1}.nav-count-badge{color:var(--sidebar-text);font-size:10px;font-family:var(--font-mono);background:#ffffff12;border-radius:4px;flex-shrink:0;margin-left:auto;padding:1px 6px;font-weight:600}.nav-link.active .nav-count-badge{color:#fff;background:#ffffff24}.content-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.top-header{background-color:var(--header-bg);height:58px;color:var(--header-text);border-bottom:1px solid var(--header-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:0 24px;display:flex}.header-breadcrumbs{letter-spacing:-.01em;flex:1;align-items:center;gap:6px;min-width:0;font-size:14px;font-weight:600;display:flex}.header-breadcrumbs .breadcrumb-root{color:var(--text-muted);font-weight:500}.header-breadcrumbs .breadcrumb-sep{color:var(--border-color);font-weight:400}.header-breadcrumbs .breadcrumb-current{color:var(--text-main)}.header-right-tools{flex-shrink:0;align-items:center;gap:8px;display:flex}.header-sync-indicator{color:var(--text-muted);border-right:1px solid var(--border-color);align-items:center;gap:5px;padding-right:10px;font-size:11px;display:flex}.sync-dot{background:var(--color-active);border-radius:50%;flex-shrink:0;width:6px;height:6px}.sync-dot.syncing{background:var(--color-accent);animation:1s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.btn{border-radius:var(--btn-radius);cursor:pointer;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-sm);white-space:nowrap;justify-content:center;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover{background:var(--border-subtle);color:var(--text-main);border-color:#cbd5e1}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:600}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}[data-theme=dark] .btn-primary{color:#0f172a;background-color:#fff;border-color:#fff}[data-theme=dark] .btn-primary:hover{background-color:#e2e8f0}.btn-sm{padding:4px 9px;font-size:11px}.btn-danger{color:var(--color-inactive);border-color:var(--border-color);background:var(--bg-card)}.btn-danger:hover{background:var(--color-inactive-bg);border-color:var(--color-inactive);color:var(--color-inactive)}.btn-icon{border-radius:var(--btn-radius);padding:5px 7px;line-height:0}.workspace-body{flex-direction:column;flex:1;gap:18px;padding:20px 24px 40px;display:flex;overflow-y:auto}.page-section-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.page-title{color:var(--text-main);letter-spacing:-.02em;font-size:16px;font-weight:700}.page-last-sync{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.stats-grid-four{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (width<=1100px){.stats-grid-four{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.stats-grid-four{grid-template-columns:1fr}}.stat-box-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--card-radius);box-shadow:var(--shadow-card);flex-direction:column;gap:6px;padding:16px 18px;transition:border-color .15s,box-shadow .15s;display:flex}.stat-box-card:hover{box-shadow:var(--shadow-hover);border-color:#cbd5e1}.stat-box-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-weight:600}.stat-box-number{font-size:30px;font-weight:700;font-family:var(--font-mono);color:var(--text-main);letter-spacing:-.02em;align-items:baseline;gap:5px;line-height:1.1;display:flex}.stat-box-number .stat-unit{color:var(--text-muted);font-size:12px;font-weight:500;font-family:var(--font-sans);letter-spacing:0}.stat-box-subtext{color:var(--text-secondary);font-size:11.5px;font-weight:400}.overview-split-row{grid-template-columns:1fr 1fr;align-items:start;gap:18px;display:grid}@media (width<=900px){.overview-split-row{grid-template-columns:1fr}}.panel-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--card-radius);box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.panel-toolbar{border-bottom:1px solid var(--border-color);background:var(--bg-card);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:13px 20px;display:flex}.panel-title{color:var(--text-main);letter-spacing:-.01em;align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.panel-title-sub{color:var(--text-muted);font-size:11px;font-weight:400}.panel-actions{align-items:center;gap:8px;display:flex}.search-input-simple{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--input-radius);color:var(--text-main);outline:none;width:200px;padding:5px 10px;font-size:12px;transition:all .12s}.search-input-simple:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #0284c71a}.industrial-table{border-collapse:collapse;text-align:left;width:100%;font-size:12.5px}.industrial-table th{background:var(--bg-main);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:10px 20px;font-size:10.5px;font-weight:700}.industrial-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-main);vertical-align:middle;padding:14px 20px}.industrial-table tr:last-child td{border-bottom:none}.industrial-table tbody tr:nth-child(2n) td{background-color:var(--bg-row-alt)}.industrial-table tr:hover td{background-color:var(--border-subtle)!important}.mono-val{font-family:var(--font-mono);font-size:12px}.status-indicator{align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.status-indicator .status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-indicator.active{color:var(--color-active)}.status-indicator.active .status-dot{background-color:var(--color-active);box-shadow:0 0 0 2px #10b9812e}.status-indicator.offline{color:var(--color-inactive)}.status-indicator.offline .status-dot{background-color:var(--color-inactive);box-shadow:0 0 0 2px #f43f5e2e}.motor-status{align-items:center;gap:5px;font-size:11.5px;font-weight:600;display:inline-flex}.motor-status .motor-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.motor-status.running{color:var(--color-active)}.motor-status.running .motor-dot{background:var(--color-active)}.motor-status.standby{color:var(--text-muted)}.motor-status.standby .motor-dot{background:var(--text-muted)}.chart-stats-strip{background:var(--bg-main);border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:18px;padding:9px 20px;font-size:11.5px;display:flex}.chart-stat-chip{align-items:baseline;gap:5px;display:flex}.chart-stat-chip label{color:var(--text-muted);font-weight:500}.chart-stat-chip span{font-family:var(--font-mono);color:var(--text-main);font-weight:600}.live-badge{color:var(--color-active);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:4px;font-size:9.5px;font-weight:700;display:inline-flex}.live-badge .live-dot{background:var(--color-active);border-radius:50%;width:5px;height:5px;animation:2s infinite pulse}.filter-button-group{background:var(--bg-main);border:1px solid var(--border-color);border-radius:6px;padding:2px;display:flex}.filter-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:500;transition:all .12s}.filter-btn:hover{color:var(--text-main)}.filter-btn.active{background:var(--bg-card);color:var(--text-main);font-weight:600;box-shadow:0 1px 2px #0000000f}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 20px;display:flex}.empty-state-icon{width:36px;height:36px;color:var(--border-color);margin-bottom:4px}.empty-state-title{color:var(--text-secondary);font-size:13px;font-weight:600}.empty-state-desc{color:var(--text-muted);max-width:280px;font-size:11.5px;line-height:1.5}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;width:100%;max-width:440px;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001f,0 8px 10px -6px #00000014}.modal-box-lg{width:95%;max-width:820px}.modal-title-bar{background:var(--bg-card);border-bottom:1px solid var(--border-color);color:var(--text-main);justify-content:space-between;align-items:center;padding:15px 20px;font-size:14px;font-weight:600;display:flex}.modal-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:18px;line-height:1;transition:color .12s,background .12s}.modal-close-btn:hover{color:var(--text-main);background:var(--border-subtle)}.modal-form-body{flex-direction:column;gap:14px;padding:18px 20px;display:flex}.modal-form-actions{border-top:1px solid var(--border-color);background:var(--bg-main);justify-content:flex-end;gap:8px;padding:13px 20px;display:flex}.form-field{flex-direction:column;gap:5px;display:flex}.form-field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:700}.form-input{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--input-radius);color:var(--text-main);outline:none;padding:8px 11px;font-family:inherit;font-size:13px;transition:border-color .12s,box-shadow .12s}.form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #0284c71a}.field-tip{color:var(--text-muted);font-size:11px}.form-error-banner{background:var(--color-inactive-bg);border:1px solid var(--color-inactive);color:var(--color-inactive);border-radius:6px;padding:8px 11px;font-size:11.5px}
