:root{--bg-primary: #0a1628;--bg-secondary: #111d33;--bg-card: #162440;--bg-card-hover: #1a2d4f;--border-color: #1e3a5f;--text-primary: #e8edf5;--text-secondary: #8899b4;--text-muted: #5a6e8a;--accent-blue: #3b82f6;--accent-cyan: #06b6d4;--accent-green: #10b981;--accent-yellow: #f59e0b;--accent-red: #ef4444;--accent-purple: #8b5cf6;--accent-orange: #f97316;--shadow-lg: 0 4px 24px rgba(0,0,0,.4);--radius: 8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}#root{min-height:100vh}.app-layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;top:52px;left:0;bottom:0;z-index:100}.sidebar-logo{padding:20px 16px;border-bottom:1px solid var(--border-color)}.sidebar-logo h1{font-size:16px;color:var(--accent-cyan);font-weight:700;letter-spacing:1px}.sidebar-logo p{font-size:11px;color:var(--text-muted);margin-top:4px}.sidebar-nav{flex:1;padding:12px 8px}.nav-item{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius);color:var(--text-secondary);text-decoration:none;font-size:14px;transition:all .2s;margin-bottom:4px;cursor:pointer}.nav-item:hover{background:var(--bg-card);color:var(--text-primary)}.nav-item.active{background:linear-gradient(135deg,#3b82f626,#06b6d426);color:var(--accent-cyan);border:1px solid rgba(6,182,212,.3)}.nav-item .nav-icon{font-size:18px;width:24px;text-align:center}.nav-section-title{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;padding:16px 16px 8px}.main-content{flex:1;margin-left:220px;margin-top:52px;padding:0;min-height:calc(100vh - 52px)}.page-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.page-header h2{font-size:20px;font-weight:600}.page-header-actions{display:flex;gap:8px}.header-btn{padding:6px 16px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.header-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.header-btn.active{background:#06b6d426;border-color:var(--accent-cyan);color:var(--accent-cyan)}.dashboard{padding:20px;display:flex;flex-direction:column;gap:16px}.dashboard-row{display:grid;gap:16px}.dashboard-row.cols-2{grid-template-columns:1fr 1fr}.dashboard-row.cols-3{grid-template-columns:1fr 1fr 1fr}.dashboard-row.cols-1-2{grid-template-columns:2fr 3fr}.dashboard-row.cols-2-1{grid-template-columns:3fr 2fr}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);overflow:hidden}.card-header{padding:12px 16px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.card-title .icon{font-size:16px}.card-body{padding:16px}.card-body.no-padding{padding:0}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.success{background:#10b98126;color:var(--accent-green);border:1px solid rgba(16,185,129,.3)}.status-badge.warning{background:#f59e0b26;color:var(--accent-yellow);border:1px solid rgba(245,158,11,.3)}.status-badge.danger{background:#ef444426;color:var(--accent-red);border:1px solid rgba(239,68,68,.3)}.status-badge.info{background:#3b82f626;color:var(--accent-blue);border:1px solid rgba(59,130,246,.3)}.metric-card{display:flex;flex-direction:column;gap:4px}.metric-label{font-size:12px;color:var(--text-muted)}.metric-value{font-size:24px;font-weight:700}.metric-value.success{color:var(--accent-green)}.metric-value.warning{color:var(--accent-yellow)}.metric-value.danger{color:var(--accent-red)}.metric-value.info{color:var(--accent-blue)}.metric-sub{font-size:12px;color:var(--text-muted)}.progress-bar{height:6px;background:#ffffff0d;border-radius:3px;overflow:hidden;margin-top:4px}.progress-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.progress-bar-fill.success{background:var(--accent-green)}.progress-bar-fill.warning{background:var(--accent-yellow)}.progress-bar-fill.danger{background:var(--accent-red)}.progress-bar-fill.info{background:var(--accent-blue)}.prerun-bar{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:12px 24px;display:flex;align-items:center;gap:24px;position:sticky;bottom:0}.prerun-bar .config-group{display:flex;align-items:center;gap:8px}.prerun-bar .config-label{font-size:13px;color:var(--text-secondary);white-space:nowrap}.prerun-bar .config-options{display:flex;gap:4px}.config-btn{padding:4px 14px;border-radius:4px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s}.config-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.config-btn.active{background:#06b6d426;border-color:var(--accent-cyan);color:var(--accent-cyan)}.dispatch-list{list-style:none}.dispatch-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}.dispatch-item:last-child{border-bottom:none}.dispatch-num{width:24px;height:24px;border-radius:50%;background:var(--accent-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.dispatch-content{flex:1}.dispatch-action{font-size:14px;font-weight:500;color:var(--text-primary)}.dispatch-reason{font-size:12px;color:var(--text-muted);margin-top:2px}.dispatch-actions-btns{display:flex;gap:8px;margin-top:16px}.btn-primary{padding:8px 20px;border-radius:6px;border:none;background:linear-gradient(135deg,var(--accent-blue),var(--accent-cyan));color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{padding:8px 20px;border-radius:6px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.indicator-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.indicator-item{padding:12px;background:#ffffff05;border-radius:6px;border:1px solid rgba(255,255,255,.05)}.indicator-item .ind-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.indicator-item .ind-id{font-size:11px;color:var(--text-muted);font-family:monospace}.indicator-item .ind-name{font-size:13px;font-weight:500;color:var(--text-primary)}.indicator-item .ind-value{font-size:20px;font-weight:700;margin:4px 0}.indicator-item .ind-target{font-size:11px;color:var(--text-muted)}.verification-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.verification-item{padding:12px;background:#ffffff05;border-radius:6px;border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between}.verification-item .label{font-size:13px;color:var(--text-secondary)}.verification-item .value{font-size:16px;font-weight:600}.gate-steps{display:flex;align-items:center;gap:0;padding:8px 0}.gate-step{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.gate-step .step-circle{width:36px;height:36px;border-radius:50%;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;background:var(--bg-primary)}.gate-step.completed .step-circle{border-color:var(--accent-green);background:#10b98126;color:var(--accent-green)}.gate-step.current .step-circle{border-color:var(--accent-cyan);background:#06b6d426;color:var(--accent-cyan);animation:pulse 2s infinite}.gate-step.pending .step-circle{border-color:var(--border-color);color:var(--text-muted)}.gate-step .step-label{font-size:11px;color:var(--text-muted)}.gate-step.completed .step-label{color:var(--accent-green)}.gate-step.current .step-label{color:var(--accent-cyan)}.gate-connector{width:60px;height:2px;background:var(--border-color);margin:0 4px 18px}.gate-connector.completed{background:var(--accent-green)}@keyframes pulse{0%,to{box-shadow:0 0 #06b6d466}50%{box-shadow:0 0 0 8px #06b6d400}}.weight-slider{display:flex;align-items:center;gap:8px}.weight-slider label{font-size:12px;color:var(--text-secondary);min-width:40px}.weight-slider input[type=range]{flex:1;-webkit-appearance:none;height:4px;background:var(--border-color);border-radius:2px;outline:none}.weight-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent-cyan);cursor:pointer}.weight-slider .weight-value{font-size:12px;color:var(--accent-cyan);min-width:30px;text-align:right}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.chart-container{width:100%;height:100%;min-height:250px}.overlay-comparison{display:flex;gap:16px;min-height:320px}.overlay-dim-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.overlay-dim-tab{padding:4px 12px;font-size:12px;border-radius:4px;cursor:pointer;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-color);transition:all .2s ease}.overlay-dim-tab:hover{color:var(--text-primary);border-color:var(--accent)}.overlay-dim-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.overlay-content{display:flex;gap:16px;flex:1;min-height:280px}.overlay-chart-area{flex:1;min-width:0;min-height:280px}.overlay-indicators{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:8px}.overlay-indicator-title{font-size:12px;color:var(--text-muted);padding-bottom:6px;border-bottom:1px solid var(--border-color);margin-bottom:2px}.overlay-indicator-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.oi-label{font-size:12px;color:var(--text-muted)}.oi-value{font-size:13px;font-weight:600;color:var(--text-primary)}.text-success{color:#34d399}.text-warning{color:#fbbf24}.text-danger{color:#f87171}.operator-indicators-row{display:flex;gap:16px;flex-wrap:wrap}.operator-indicator-card{flex:1 1 220px;min-width:220px;background:#0f172a99;border-radius:8px;border-top:3px solid #475569;padding:12px 14px;transition:border-color .2s}.operator-indicator-card.status-good{border-top-color:#34d399}.operator-indicator-card.status-warning{border-top-color:#fbbf24}.operator-indicator-card.status-danger{border-top-color:#f87171}.oic-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border-color)}.oic-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;opacity:.9;transition:opacity .2s}.oic-icon svg{width:22px;height:22px}.operator-indicator-card:hover .oic-icon{opacity:1}.oic-name{font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.oic-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.oic-status-good .oic-status-dot{background:#34d399}.oic-status-warning .oic-status-dot{background:#fbbf24}.oic-status-danger .oic-status-dot{background:#f87171}.oic-indicator-list{display:flex;flex-direction:column;gap:8px}.oic-indicator-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.oic-label{font-size:12px;color:var(--text-muted);white-space:nowrap}.oic-value-group{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;justify-content:flex-end}.oic-value{font-size:14px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.oic-unit{font-size:11px;color:var(--text-muted)}.oic-delta{font-size:11px;font-weight:600}.oic-delta.trend-up{color:#34d399}.oic-delta.trend-down{color:#f87171}.oic-delta.trend-stable{color:#94a3b8}.oic-target{font-size:10px;color:#64748b;background:#64748b26;padding:1px 5px;border-radius:3px}.asset-config-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:16px}.acp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.acp-title{font-size:15px;font-weight:600;color:#e2e8f0}.acp-subtitle{font-size:12px;color:#64748b;margin-left:10px}.acp-stats{display:flex;gap:16px}.acp-stat{font-size:12px;color:#94a3b8}.acp-stat-val{font-weight:700;color:#06b6d4;margin-right:2px}.acp-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color);margin-bottom:12px}.acp-tab{padding:6px 16px;font-size:12px;color:#94a3b8;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s}.acp-tab:hover{color:#e2e8f0}.acp-tab.active{color:#06b6d4;border-bottom-color:#06b6d4}.acp-content{min-height:120px}.acp-categories{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.acp-category-card{background:#0f172a99;border:1px solid var(--border-color);border-radius:6px;padding:10px}.acp-cat-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.acp-cat-icon{font-size:16px}.acp-cat-name{font-size:13px;font-weight:600;color:#e2e8f0;flex:1}.acp-cat-count{font-size:11px;color:#64748b}.acp-cat-devices{display:flex;flex-wrap:wrap;gap:6px}.acp-device-chip{background:#06b6d414;border:1px solid rgba(6,182,212,.2);border-radius:4px;padding:4px 8px;min-width:80px}.acp-chip-id{font-size:12px;font-weight:600;color:#22d3ee;font-family:Consolas,Courier New,monospace}.acp-chip-name{font-size:10px;color:#94a3b8;margin-top:1px}.acp-chip-points{font-size:10px;color:#64748b;margin-top:1px}.acp-table-wrap{overflow-x:auto}.acp-table{width:100%;border-collapse:collapse;font-size:12px}.acp-table th{text-align:left;padding:6px 8px;background:#0f172acc;color:#94a3b8;font-weight:600;border-bottom:1px solid var(--border-color);white-space:nowrap}.acp-table td{padding:5px 8px;border-bottom:1px solid rgba(51,65,85,.3);color:#cbd5e1;white-space:nowrap}.acp-table tbody tr:hover{background:#06b6d40a}.acp-cell-id{font-family:Consolas,Courier New,monospace;color:#22d3ee;font-weight:500}.acp-cell-range{color:#94a3b8;font-style:italic}.acp-cell-tbd{color:#f59e0b;font-style:italic}.acp-source-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:11px;font-weight:500}.acp-source-badge.scada{background:#22d3ee1f;color:#22d3ee}.acp-source-badge.ems,.acp-source-badge.ems-scada,.acp-source-badge.ems-meter{background:#34d3991f;color:#34d399}.acp-source-badge.pmu,.acp-source-badge.pmu-protection{background:#fbbf241f;color:#fbbf24}.acp-source-badge.online-analyzer{background:#f871711f;color:#f87171}.acp-source-badge.calc-dcs{background:#a78bfa1f;color:#a78bfa}.acp-type-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:11px;background:#64748b26;color:#94a3b8}.acp-type-badge.blast-furnace{background:#fb923c1f;color:#fb923c}.acp-type-badge.coke-oven{background:#f871711f;color:#f87171}.acp-type-badge.converter{background:#a78bfa1f;color:#a78bfa}.acp-type-badge.holder{background:#22d3ee1f;color:#22d3ee}.acp-type-badge.boiler{background:#fbbf241f;color:#fbbf24}.acp-type-badge.trt{background:#34d3991f;color:#34d399}.acp-type-badge.ccpp{background:#60a5fa1f;color:#60a5fa}.acp-type-badge.mixer{background:#f472b61f;color:#f472b6}.acp-type-badge.flare{background:#f871711f;color:#f87171}.acp-notes{margin-top:12px;padding-top:10px;border-top:1px dashed rgba(100,116,139,.3)}.acp-note{font-size:11px;color:#f59e0b;padding:2px 0;line-height:1.5}.owc-panel{background:#0f172a99;border:1px solid var(--border-color);border-radius:8px;padding:14px 16px}.owc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.owc-header-left{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.owc-header-right{flex-shrink:0}.owc-title{font-size:13px;font-weight:600;color:#e2e8f0}.owc-formula{font-size:11px;color:#94a3b8;font-family:Consolas,Courier New,monospace}.owc-apply-status{font-size:11px;color:#64748b;padding:2px 8px;border-radius:4px;background:#64748b1a}.owc-apply-status.applied{color:#34d399;background:#34d3991f}.owc-mode-bar{display:flex;gap:6px;margin-bottom:8px}.owc-mode-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid rgba(51,65,85,.5);border-radius:6px;background:#1e293b80;color:#94a3b8;font-size:12px;cursor:pointer;transition:all .15s}.owc-mode-btn:hover{border-color:#06b6d466;background:#06b6d40f}.owc-mode-btn.active{border-color:#06b6d4;background:#06b6d41f;color:#e2e8f0}.owc-mode-icon{font-size:14px;line-height:1}.owc-mode-label{font-size:12px}.owc-mode-desc{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:6px 10px;background:#0f172a80;border-radius:5px;border-left:3px solid #06b6d4}.owc-mode-desc-text{font-size:11px;color:#94a3b8}.owc-mode-scenario{font-size:11px;color:#64748b;margin-left:auto;white-space:nowrap}.owc-controls{margin-bottom:10px}.owc-weight-section{padding:8px 0}.owc-weight-sliders{display:flex;flex-direction:column;gap:6px}.owc-slider-row{display:flex;align-items:center;gap:8px}.owc-slider-label{font-size:12px;min-width:80px;text-align:right;font-weight:500}.owc-slider{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#33415580;border-radius:2px;outline:none;cursor:pointer}.owc-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--slider-color, #06b6d4);cursor:pointer;border:2px solid rgba(255,255,255,.2);box-shadow:0 0 6px #0000004d}.owc-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--slider-color, #06b6d4);cursor:pointer;border:2px solid rgba(255,255,255,.2)}.owc-slider-value{font-size:12px;color:#e2e8f0;min-width:36px;text-align:right;font-family:Consolas,Courier New,monospace}.owc-weight-sum{font-size:11px;color:#94a3b8;margin-top:6px;padding:4px 8px;background:#0f172a80;border-radius:4px;text-align:right;font-family:Consolas,Courier New,monospace}.owc-sum-ok{color:#34d399;font-weight:600}.owc-presets{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}.owc-preset-label{font-size:11px;color:#64748b}.owc-preset-btn{font-size:11px;padding:3px 8px;border:1px solid rgba(51,65,85,.5);border-radius:4px;background:#1e293b80;color:#94a3b8;cursor:pointer;transition:all .15s}.owc-preset-btn:hover{border-color:#06b6d466;background:#06b6d40f;color:#e2e8f0}.owc-single-obj-section{padding:8px 0}.owc-single-obj-label{font-size:12px;color:#94a3b8;margin-bottom:6px}.owc-single-obj-buttons{display:flex;gap:6px;flex-wrap:wrap}.owc-obj-btn{font-size:12px;padding:5px 12px;border:1px solid rgba(51,65,85,.5);border-radius:6px;background:#1e293b80;color:#94a3b8;cursor:pointer;transition:all .15s}.owc-obj-btn:hover{border-color:var(--obj-color, rgba(6, 182, 212, .4));background:#06b6d40f}.owc-obj-btn.active{border-color:var(--obj-color, #06b6d4);background:color-mix(in srgb,var(--obj-color, #06b6d4) 12%,transparent);color:#e2e8f0;font-weight:500}.owc-constraints-section{margin-top:10px}.owc-constraints-label{font-size:11px;color:#64748b;margin-bottom:4px;display:block}.owc-constraints-list{display:flex;gap:6px;flex-wrap:wrap}.owc-constraint-badge{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;background:#fbbf2414;border:1px solid rgba(251,191,36,.2)}.owc-constraint-name{font-size:11px;color:#fbbf24}.owc-constraint-type{font-size:10px;color:#64748b}.owc-lex-section{padding:8px 0}.owc-lex-label{font-size:12px;color:#94a3b8;margin-bottom:8px}.owc-lex-list{display:flex;flex-direction:column;gap:4px}.owc-lex-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:5px;background:#0f172a80;border-left:3px solid var(--obj-color, #06b6d4)}.owc-lex-rank{font-size:14px;font-weight:700;color:var(--obj-color, #06b6d4);min-width:20px;text-align:center}.owc-lex-name{font-size:12px;color:#e2e8f0;flex:1}.owc-lex-arrows{display:flex;flex-direction:column;gap:1px}.owc-lex-arrow{font-size:8px;padding:0 4px;border:none;background:transparent;color:#64748b;cursor:pointer;line-height:1}.owc-lex-arrow:hover:not(:disabled){color:#e2e8f0}.owc-lex-arrow:disabled{color:#64748b4d;cursor:not-allowed}.owc-lex-arrow-down{font-size:14px;color:#475569;margin-left:auto;padding-right:4px}.owc-pareto-section{padding:8px 0}.owc-pareto-info{display:flex;gap:10px;align-items:flex-start;padding:10px;background:#0f172a80;border-radius:6px;border:1px dashed rgba(100,116,139,.3);margin-bottom:10px}.owc-pareto-icon{font-size:24px;line-height:1}.owc-pareto-text p{font-size:12px;color:#94a3b8;margin:0 0 4px}.owc-pareto-note{font-size:11px;color:#f59e0b;margin:4px 0 0!important}.owc-pareto-objectives{display:flex;gap:12px;flex-wrap:wrap}.owc-pareto-obj{display:flex;align-items:center;gap:6px;font-size:12px;color:#cbd5e1}.owc-pareto-obj-dot{width:8px;height:8px;border-radius:50%;background:var(--obj-color, #06b6d4);box-shadow:0 0 6px var(--obj-color, rgba(6, 182, 212, .4))}.owc-footer{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(51,65,85,.3)}.owc-apply-btn{padding:5px 16px;border:1px solid #06b6d4;border-radius:6px;background:#06b6d41f;color:#22d3ee;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.owc-apply-btn:hover{background:#06b6d433}.owc-apply-btn.applied{border-color:#34d399;background:#34d3991f;color:#34d399;cursor:default}.owc-audit-note{font-size:10px;color:#475569;font-style:italic}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);position:relative;overflow:hidden}.login-bg-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 600px 400px at 20% 30%,rgba(59,130,246,.08),transparent),radial-gradient(ellipse 500px 350px at 80% 70%,rgba(6,182,212,.06),transparent);pointer-events:none}.login-card{position:relative;width:400px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:40px 36px 32px;box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:32px}.login-logo{display:flex;justify-content:center;margin-bottom:16px}.login-title{font-size:24px;font-weight:700;color:var(--text-primary);letter-spacing:1px}.login-subtitle{font-size:13px;color:var(--text-muted);margin-top:6px}.login-form{display:flex;flex-direction:column;gap:18px}.login-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);border-radius:6px;padding:10px 14px;font-size:13px;color:#f87171;display:flex;align-items:center;gap:8px}.login-field label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px}.login-field input{width:100%;padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px;outline:none;transition:border-color .2s}.login-field input:focus{border-color:var(--accent-cyan)}.login-field input::placeholder{color:var(--text-muted)}.login-options{display:flex;align-items:center;justify-content:space-between}.login-remember{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer}.login-remember input[type=checkbox]{accent-color:var(--accent-cyan);width:16px;height:16px}.login-btn{width:100%;padding:12px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;background:linear-gradient(135deg,#3b82f6,#06b6d4);color:#fff}.login-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-btn.register-btn{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-muted);font-weight:400}.login-btn.register-btn:hover:not(:disabled){border-color:var(--accent-cyan);color:var(--accent-cyan)}.login-footer{text-align:center;margin-top:24px;font-size:11px;color:var(--text-muted)}.app-header{position:fixed;top:0;left:0;right:0;height:52px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:200}.header-left{display:flex;align-items:center;gap:24px}.header-brand{display:flex;align-items:center;gap:10px}.header-title{font-size:16px;font-weight:700;background:linear-gradient(135deg,#3b82f6,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.5px}.header-customer{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);padding-left:24px;border-left:1px solid var(--border-color)}.header-customer-icon{font-size:16px}.header-right{display:flex;align-items:center;gap:16px}.header-search{position:relative}.header-search-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;padding:6px 10px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;transition:all .2s}.header-search-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.header-search-dropdown{position:absolute;top:40px;right:0;width:320px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);overflow:hidden;z-index:300}.header-search-input{width:100%;padding:10px 14px;background:var(--bg-primary);border:none;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:14px;outline:none}.header-search-input::placeholder{color:var(--text-muted)}.header-search-results{list-style:none;max-height:300px;overflow-y:auto}.header-search-item{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:background .15s}.header-search-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.search-item-type{font-size:14px;width:20px;text-align:center}.header-search-empty{padding:20px 14px;text-align:center;font-size:13px;color:var(--text-muted)}.header-user{position:relative}.header-user-btn{display:flex;align-items:center;gap:8px;background:none;border:1px solid transparent;border-radius:6px;padding:4px 10px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.header-user-btn:hover{background:var(--bg-card);border-color:var(--border-color)}.header-avatar{display:flex;align-items:center;background:var(--bg-card);border-radius:50%;padding:4px;color:var(--accent-cyan)}.header-username{font-size:13px}.header-user-menu{position:absolute;top:44px;right:0;width:220px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);overflow:hidden;z-index:300}.user-menu-info{padding:14px 16px;display:flex;flex-direction:column;gap:2px}.user-menu-name{font-size:14px;font-weight:600;color:var(--text-primary)}.user-menu-role{font-size:12px;color:var(--text-muted)}.user-menu-divider{height:1px;background:var(--border-color)}.user-menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:12px 16px;background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.user-menu-item:hover{background:var(--bg-card-hover);color:var(--accent-red)}.progress-bar-container{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius)}.progress-bar-track{flex:1;height:8px;background:var(--bg-primary);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#06b6d4);border-radius:4px;transition:width .5s ease}.progress-bar-fill[style*="width: 100"]{background:linear-gradient(90deg,#10b981,#06b6d4)}.progress-bar-label{font-size:12px;color:var(--text-secondary);white-space:nowrap;min-width:120px}.result-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.result-item{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--bg-primary);border-radius:6px}.result-label{font-size:12px;color:var(--text-muted)}.result-value{font-size:16px;font-weight:600;color:var(--text-primary)}.result-value.status-pass{color:var(--accent-green)}.indicator-card{position:relative}.metric-value-row{display:flex;align-items:baseline;gap:4px}.metric-unit{font-size:12px;color:var(--text-muted)}.mini-chart{margin-top:8px;border-top:1px solid var(--border-color);padding-top:8px}.dashboard-row.indicator-categories-row{display:flex;flex-wrap:wrap;gap:16px}.indicator-categories-row .indicator-category-card{flex:1 1 calc(33.333% - 11px);min-width:280px}.indicator-detail-row{display:flex;align-items:center;gap:12px;padding:8px 4px;border-bottom:1px solid rgba(30,58,95,.3)}.indicator-detail-row:last-child{border-bottom:none}.ind-name{font-size:13px;color:var(--text-secondary);flex:1}.ind-value{font-size:14px;font-weight:600;color:var(--text-primary);min-width:80px;text-align:right}.ind-target{font-size:12px;color:var(--text-muted);min-width:100px}.ind-status{font-size:11px;padding:2px 8px;border-radius:4px;min-width:50px;text-align:center}.ind-status.status-normal{background:#10b98126;color:#34d399}.ind-status.status-warning{background:#f59e0b26;color:#fbbf24}.ind-status.status-critical{background:#ef444426;color:#f87171}.indicator-table{width:100%;border-collapse:collapse;font-size:13px}.indicator-table thead{background:var(--bg-primary)}.indicator-table th{padding:10px 14px;text-align:left;color:var(--text-muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.indicator-table td{padding:10px 14px;color:var(--text-secondary);border-bottom:1px solid rgba(30,58,95,.3)}.indicator-table tbody tr:hover{background:var(--bg-card-hover)}.status-badge-sm{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.status-badge-sm.status-normal{background:#10b98126;color:#34d399}.status-badge-sm.status-warning{background:#f59e0b26;color:#fbbf24}.status-badge-sm.status-critical{background:#ef444426;color:#f87171}.risk-badge-sm{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.risk-badge-sm.risk-low{background:#10b9811f;color:#34d399}.risk-badge-sm.risk-medium{background:#f59e0b1f;color:#fbbf24}.risk-badge-sm.risk-high{background:#ef44441f;color:#f87171}.decision-gate-card{border-left:3px solid var(--accent-cyan)}.gate-meta{display:flex;gap:24px;font-size:12px;color:var(--text-muted);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.gate-checks{display:flex;flex-direction:column;gap:8px}.gate-check-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-primary);border-radius:6px;border:1px solid transparent;transition:all .2s}.gate-check-item.approved{border-color:#10b9814d;background:#10b9810a}.gate-check-left{display:flex;align-items:center;gap:12px}.gate-check-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.gate-check-icon.pending{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.gate-check-icon.pass{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.gate-check-name{font-size:14px;font-weight:500;color:var(--text-primary)}.gate-check-desc{font-size:12px;color:var(--text-muted);margin-top:2px}.gate-check-right{display:flex;align-items:center;gap:12px}.gate-check-result{font-size:12px;padding:2px 10px;border-radius:4px}.gate-check-result.status-normal{background:#10b98126;color:#34d399}.gate-check-result.status-warning{background:#f59e0b26;color:#fbbf24}.gate-check-result.status-critical{background:#ef444426;color:#f87171}.gate-approve-btn{padding:5px 14px;border:1px solid var(--accent-cyan);border-radius:6px;background:#06b6d41f;color:#22d3ee;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.gate-approve-btn:hover{background:#06b6d433;border-color:#22d3ee}.gate-approved-label{font-size:12px;color:var(--accent-green);font-weight:500}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:28px;width:380px;box-shadow:0 8px 40px #00000080}.modal-content h3{font-size:18px;font-weight:600;margin-bottom:12px}.modal-content p{font-size:14px;color:var(--text-secondary);margin-bottom:24px;line-height:1.5}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-btn{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid var(--border-color)}.modal-btn.cancel{background:var(--bg-primary);color:var(--text-secondary)}.modal-btn.cancel:hover{border-color:var(--text-muted)}.modal-btn.confirm{background:linear-gradient(135deg,#3b82f6,#06b6d4);color:#fff;border:none}.modal-btn.confirm:hover{opacity:.9}.asset-tree{margin-top:8px;margin-left:20px;border-top:1px solid var(--border-color);padding-top:4px}.asset-tree-header{display:flex;align-items:center;gap:8px;padding:10px 16px 6px}.asset-tree-icon{font-size:14px}.asset-tree-title{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:600}.asset-tree-header-clickable{cursor:pointer;border-radius:4px;transition:background .15s}.asset-tree-header-clickable:hover{background:#ffffff0a}.asset-tree-content{padding:0 4px}.asset-tree-category{margin-bottom:2px}.asset-tree-cat-header{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:13px;transition:all .15s;-webkit-user-select:none;user-select:none}.asset-tree-cat-header:hover{background:var(--bg-card);color:var(--text-primary)}.asset-tree-cat-header.expanded{color:var(--accent-cyan)}.asset-tree-chevron{flex-shrink:0;transition:transform .2s}.asset-tree-chevron.rotated{transform:rotate(90deg)}.asset-tree-cat-icon{font-size:14px;width:18px;text-align:center}.asset-tree-cat-name{flex:1;font-weight:500}.asset-tree-cat-count{font-size:11px;background:#3b82f626;color:var(--accent-blue);padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}.asset-tree-devices{padding-left:12px}.asset-tree-device{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 24px;border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:12px;transition:all .15s}.asset-tree-device:hover{background:var(--bg-card-hover);color:var(--text-primary)}.asset-tree-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.asset-tree-status-dot.status-online{background:var(--accent-green);box-shadow:0 0 4px #10b98180}.asset-tree-status-dot.status-warning{background:var(--accent-yellow);box-shadow:0 0 4px #f59e0b80}.asset-tree-status-dot.status-offline{background:var(--accent-red);box-shadow:0 0 4px #ef444480}.asset-tree-device-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-tree-device-type{font-size:10px;color:var(--text-muted);background:#8b5cf61a;padding:1px 5px;border-radius:3px;white-space:nowrap}.asset-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;justify-content:flex-end;animation:fadeIn .2s ease}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.asset-detail-panel{width:480px;max-width:90vw;height:100vh;background:var(--bg-secondary);border-left:1px solid var(--border-color);overflow-y:auto;animation:slideInRight .25s ease;display:flex;flex-direction:column}.asset-detail-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#3b82f60d,#06b6d40d)}.asset-detail-title-row{display:flex;align-items:flex-start;gap:12px}.asset-detail-cat-icon{font-size:24px;margin-top:2px}.asset-detail-device-name{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.asset-detail-cat-name{font-size:12px;color:var(--text-muted);margin-top:4px}.asset-detail-close{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s;flex-shrink:0}.asset-detail-close:hover{background:var(--bg-card-hover);color:var(--text-primary)}.asset-detail-twin{padding:20px 24px;border-bottom:1px solid var(--border-color);background:#0a162880}.asset-detail-twin svg{width:100%;height:auto;max-height:200px}.asset-detail-section{padding:16px 24px;border-bottom:1px solid var(--border-color)}.asset-detail-section-title{font-size:13px;font-weight:600;color:var(--accent-cyan);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.asset-detail-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.asset-detail-info-grid .info-item{display:flex;flex-direction:column;gap:2px}.asset-detail-info-grid .info-label{font-size:11px;color:var(--text-muted)}.asset-detail-info-grid .info-value{font-size:13px;color:var(--text-primary);font-weight:500}.asset-detail-sampling-table{width:100%;border-collapse:collapse;font-size:12px}.asset-detail-sampling-table th{text-align:left;padding:6px 8px;color:var(--text-muted);font-weight:500;font-size:11px;border-bottom:1px solid var(--border-color)}.asset-detail-sampling-table td{padding:6px 8px;color:var(--text-secondary);border-bottom:1px solid rgba(30,58,95,.4)}.asset-detail-sampling-table tr:hover td{color:var(--text-primary);background:#3b82f60d}@keyframes twinFlowRight{0%{transform:translate(-6px);opacity:0}50%{opacity:1}to{transform:translate(6px);opacity:0}}@keyframes twinFlowUp{0%{transform:translateY(4px);opacity:0}50%{opacity:1}to{transform:translateY(-4px);opacity:0}}@keyframes twinPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes twinRotate{0%{transform-origin:center;transform:rotate(0)}to{transform-origin:center;transform:rotate(360deg)}}@keyframes twinFlame{0%,to{transform:scaleY(1) translateY(0);opacity:.8}50%{transform:scaleY(1.2) translateY(-2px);opacity:1}}@keyframes twinDiaphragm{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.twin-flow-dot{animation:twinFlowRight 1.5s infinite}.twin-flow-up{animation:twinFlowUp 1.5s infinite}.twin-pulse{animation:twinPulse 2s infinite}.twin-rotate{animation:twinRotate 3s linear infinite}.twin-flame{animation:twinFlame .8s infinite}.twin-diaphragm{animation:twinDiaphragm 3s ease-in-out infinite}.scheme-actions{position:relative;display:flex;align-items:center;gap:6px}.scheme-btn{font-size:12px!important;padding:4px 10px!important;white-space:nowrap}.scheme-btn.active{border-color:var(--accent-cyan)!important;color:var(--accent-cyan)!important;background:#06b6d41a!important}.scheme-save-msg{position:absolute;top:100%;right:0;margin-top:6px;background:#10b98126;color:var(--accent-green);border:1px solid rgba(16,185,129,.3);border-radius:6px;padding:6px 12px;font-size:12px;white-space:nowrap;z-index:20;animation:fadeIn .2s ease;pointer-events:none}.scheme-dropdown{position:absolute;top:100%;right:0;margin-top:6px;width:280px;max-height:320px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 32px #0006;z-index:30;animation:fadeIn .15s ease}.scheme-dropdown-header{padding:10px 14px;font-size:12px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--bg-secondary)}.scheme-dropdown-empty{padding:20px 14px;text-align:center;color:var(--text-muted);font-size:13px}.scheme-dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.04)}.scheme-dropdown-item:last-child{border-bottom:none}.scheme-dropdown-item:hover{background:#3b82f614}.scheme-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.scheme-item-name{font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheme-item-meta{font-size:11px;color:var(--text-muted)}.scheme-item-delete{flex-shrink:0;width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s}.scheme-item-delete:hover{background:#ef444426;color:var(--accent-red)}.scheme-save-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;animation:fadeIn .2s ease}.scheme-save-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px;width:360px;max-width:90vw;box-shadow:0 16px 48px #00000080;animation:slideInRight .2s ease}.scheme-save-dialog h4{margin:0 0 16px;font-size:16px;color:var(--text-primary)}.scheme-save-form{display:flex;flex-direction:column;gap:12px}.scheme-save-input{width:100%;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.scheme-save-input:focus{border-color:var(--accent-blue)}.scheme-save-input::placeholder{color:var(--text-muted)}.scheme-save-preview{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary)}.scheme-save-preview span{background:var(--bg-primary);padding:4px 10px;border-radius:4px}.scheme-save-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.prerun-tab-bar{display:flex;gap:4px;background:var(--bg-primary);border-radius:8px;padding:4px;margin-bottom:16px}.prerun-tab{flex:1;padding:10px 20px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-align:center}.prerun-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.prerun-tab.active{background:var(--accent-blue);color:#fff;box-shadow:0 2px 8px #3b82f64d}.prerun-instance-list{min-height:200px}.instance-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.instance-list-title{display:flex;align-items:center;gap:8px}.instance-count{font-size:14px;color:var(--text-secondary);font-weight:500}.instance-list-actions{display:flex;gap:8px}.instance-create-btn{font-size:13px!important;padding:6px 14px!important}.template-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;min-width:260px;box-shadow:0 8px 24px #0000004d;z-index:100;animation:fadeIn .15s ease-out}.template-dropdown-header{padding:10px 14px;font-size:12px;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.5px}.template-dropdown-empty{padding:20px 14px;font-size:13px;color:var(--text-muted);text-align:center}.template-dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.03)}.template-dropdown-item:last-child{border-bottom:none}.template-dropdown-item:hover{background:#3b82f61a}.template-dropdown-item-name{font-size:13px;color:var(--text-primary);font-weight:500}.template-dropdown-item-meta{font-size:11px;color:var(--text-muted)}.instance-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:16px;margin-bottom:12px;transition:border-color .2s,box-shadow .2s;animation:slideInRight .2s ease-out}.instance-card:hover{border-color:var(--accent-blue);box-shadow:0 2px 12px #3b82f614}.instance-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.instance-card-name{font-size:15px;font-weight:600;color:var(--text-primary)}.instance-card-status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.3px}.instance-card-status.pending{background:#94a3b826;color:var(--text-muted)}.instance-card-status.running{background:#3b82f626;color:var(--accent-blue)}.instance-card-status.completed{background:#10b98126;color:var(--accent-green)}.instance-card-status.failed{background:#ef444426;color:var(--accent-red)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.status-dot.pending{background:var(--text-muted)}.status-dot.running{background:var(--accent-blue);animation:pulse-dot 1.5s ease-in-out infinite}.status-dot.completed{background:var(--accent-green)}.status-dot.failed{background:var(--accent-red)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.instance-card-meta{display:flex;gap:20px;font-size:12px;color:var(--text-secondary);margin-bottom:12px}.instance-card-meta span{display:flex;align-items:center;gap:4px}.instance-card-actions{display:flex;gap:8px}.instance-action-btn{padding:5px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.instance-action-btn:hover{background:var(--bg-tertiary, var(--bg-secondary));border-color:var(--accent-blue);color:var(--text-primary)}.instance-action-btn.start{border-color:var(--accent-green);color:var(--accent-green)}.instance-action-btn.start:hover{background:#10b9811a}.instance-action-btn.stop{border-color:var(--accent-red);color:var(--accent-red)}.instance-action-btn.stop:hover{background:#ef44441a}.instance-action-btn.view{border-color:var(--accent-blue);color:var(--accent-blue)}.instance-action-btn.view:hover{background:#3b82f61a}.instance-action-btn.delete{border-color:var(--text-muted);color:var(--text-muted)}.instance-action-btn.delete:hover{border-color:var(--accent-red);color:var(--accent-red);background:#ef44440d}.instance-progress-bar{background:var(--bg-primary);border-radius:4px;height:6px;overflow:hidden;margin-top:10px}.instance-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-blue),var(--accent-green));border-radius:4px;transition:width 1s linear}.instance-result-preview{margin-top:12px;padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-color)}.instance-result-preview h4{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.instance-result-indicators{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}.instance-result-indicator{display:flex;flex-direction:column;gap:2px}.instance-result-indicator .label{font-size:11px;color:var(--text-muted)}.instance-result-indicator .value{font-size:14px;font-weight:600;color:var(--accent-green)}.instance-result-indicator .value.negative{color:var(--accent-red)}.instance-result-recommendation{font-size:12px;color:var(--text-secondary);padding:8px 12px;background:#10b98114;border-radius:6px;border-left:3px solid var(--accent-green)}.instance-notification{position:fixed;bottom:24px;right:24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:12px 20px;font-size:13px;color:var(--text-primary);box-shadow:0 8px 24px #0000004d;z-index:1000;animation:slideInRight .25s ease-out}.instance-empty-state{text-align:center;padding:48px 20px;color:var(--text-muted)}.instance-empty-state .empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.instance-empty-state .empty-text{font-size:14px;margin-bottom:4px}.instance-empty-state .empty-hint{font-size:12px;opacity:.7}
