.comparison-table-wrap[data-v-6d6cbe42]{overflow-x:auto;margin-bottom:16px}.comparison-table[data-v-6d6cbe42]{width:100%;border-collapse:collapse;font-size:13px}.comparison-table th[data-v-6d6cbe42]{padding:10px 14px;background:#f1f5f9;border-bottom:2px solid #e2e8f0;font-weight:600;color:#475569;text-align:center;white-space:nowrap}.comparison-table th[data-v-6d6cbe42]:first-child{text-align:left}.comparison-table th.col-active[data-v-6d6cbe42]{background:#eff6ff;color:#2563eb}.comparison-table td[data-v-6d6cbe42]{padding:8px 14px;border-bottom:1px solid #e2e8f0;text-align:center;color:#334155}.comparison-table td.dim-cell[data-v-6d6cbe42]{text-align:left;font-weight:600;background:#f8fafc}.comparison-table td.best-cell[data-v-6d6cbe42]{background:#dcfce7;color:#166534;font-weight:600}.comparison-table td.col-active[data-v-6d6cbe42]{background:#eff6ff}.diff-analysis[data-v-6d6cbe42]{padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.diff-analysis b[data-v-6d6cbe42]{font-size:13px;color:#334155;margin-bottom:8px;display:block}.gantt-legend[data-v-6d6cbe42]{display:flex;gap:12px}.legend-item[data-v-6d6cbe42]{display:flex;align-items:center;gap:4px;font-size:12px;color:#64748b}.legend-item i[data-v-6d6cbe42]{width:12px;height:12px;border-radius:2px;display:inline-block}.gantt-container[data-v-6d6cbe42]{border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.gantt-header[data-v-6d6cbe42]{display:flex;border-bottom:2px solid #e2e8f0;background:#f1f5f9}.gantt-name-col[data-v-6d6cbe42]{width:100px;min-width:100px;padding:6px 10px;font-size:12px;font-weight:600;color:#475569;border-right:1px solid #e2e8f0;display:flex;align-items:center}.gantt-time-axis[data-v-6d6cbe42]{flex:1;display:flex;justify-content:space-between;padding:6px 4px}.time-tick[data-v-6d6cbe42]{font-size:10px;color:#94a3b8;font-family:monospace}.gantt-row[data-v-6d6cbe42]{display:flex;border-bottom:1px solid #e2e8f0;height:28px}.gantt-row[data-v-6d6cbe42]:last-child{border-bottom:none}.gantt-bar-area[data-v-6d6cbe42]{flex:1;position:relative;display:flex;align-items:center}.gantt-grid-svg[data-v-6d6cbe42]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.gantt-bar[data-v-6d6cbe42]{position:absolute;height:20px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;font-weight:600;cursor:pointer;transition:opacity .2s ease;overflow:hidden;white-space:nowrap;padding:0 4px}.gantt-bar[data-v-6d6cbe42]:hover{opacity:.85}.gantt-tooltip[data-v-6d6cbe42]{position:fixed;background:#1e293b;color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;z-index:1000;pointer-events:none;display:flex;flex-direction:column;gap:2px}.gantt-tooltip b[data-v-6d6cbe42]{font-size:13px}:root{--metro-blue: #1565c0;--metro-blue-light: #1e88e5;--metro-blue-dark: #0d47a1;--metro-blue-bg: #e3f2fd;--metro-blue-border: #90caf9;--navy: #0f2540;--navy-2: #16314f;--navy-3: #1d3a5c;--bg: #f4f6fa;--bg-card: #ffffff;--bg-sidebar: #0f2540;--bg-hover: #eef2f7;--border: #e3e8f0;--border-light: #f1f5f9;--border-focus: #1565c0;--text: #1e293b;--text-secondary: #475569;--text-muted: #64748b;--text-placeholder: #94a3b8;--text-on-dark: #e6edf6;--text-on-dark-muted: #8ea3bd;--success: #16a34a;--success-bg: #f0fdf4;--warning: #d97706;--warning-bg: #fffbeb;--danger: #dc2626;--danger-bg: #fef2f2;--info: #0ea5e9;--info-bg: #f0f9ff;--shadow-sm: 0 1px 2px rgba(15, 37, 64, .06);--shadow: 0 1px 3px rgba(15, 37, 64, .08), 0 1px 2px rgba(15, 37, 64, .04);--shadow-md: 0 4px 14px rgba(15, 37, 64, .08), 0 2px 6px rgba(15, 37, 64, .05);--shadow-lg: 0 12px 32px rgba(15, 37, 64, .12), 0 4px 12px rgba(15, 37, 64, .06);--radius: 8px;--radius-lg: 12px;--gap: 16px;--gap-lg: 20px;font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);background:var(--bg);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{border:0;cursor:pointer}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:14px;padding:18px 14px;border-right:0;background:linear-gradient(180deg,#0f2540,#0c1d33);box-shadow:2px 0 12px #0f25402e}.brand-block{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:var(--radius);background:transparent}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:9px;background:linear-gradient(135deg,#1e88e5,#0d47a1);color:#fff;font-size:16px;font-weight:800;letter-spacing:0;box-shadow:0 4px 10px #1565c073}.brand-block b{display:block;font-size:17px;color:#fff;letter-spacing:.01em}.brand-block small{display:block;margin-top:2px;color:var(--text-on-dark-muted);font-size:11px}.sys-status{display:flex;align-items:center;gap:7px;padding:7px 12px;margin:0 4px 2px;border-radius:var(--radius);background:#ffffff0f;font-size:11px;color:var(--text-on-dark-muted);font-variant-numeric:tabular-nums}.sys-status-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e2e}.nav-list{display:grid;gap:1px;overflow-y:auto;margin:0 2px;flex:1}.nav-group-title{margin:14px 10px 4px;font-size:10px;font-weight:700;letter-spacing:.12em;color:#5b7299;text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);color:var(--text-on-dark-muted);font-size:13.5px;transition:.15s ease}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item.router-link-active{color:#fff;font-weight:600;background:linear-gradient(90deg,#1e88e552,#1e88e514);box-shadow:inset 3px 0 0 var(--metro-blue-light)}.nav-dot{width:6px;height:6px;border-radius:50%;background:#3a5a82;flex-shrink:0}.nav-item.router-link-active .nav-dot{background:#4dabf5;box-shadow:0 0 6px #4dabf5b3}.sidebar-note{margin-top:auto;padding:12px;border-radius:var(--radius);background:#d977061f;border:1px solid rgba(217,119,6,.3)}.sidebar-note b,.sidebar-note span{display:block;color:#ffd9a8}.sidebar-note b{font-size:12px}.sidebar-note span{margin-top:6px;color:var(--text-on-dark-muted);font-size:11.5px;line-height:1.6}.workspace{min-width:0}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 28px;border-bottom:1px solid var(--border);background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px #0f25400a}.breadcrumb{margin:0 0 6px;color:var(--text-muted);font-size:11px;letter-spacing:.02em}.top-kicker,.kicker{margin:0 0 4px;color:var(--metro-blue);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.topbar h1{margin:0;font-size:22px;font-weight:700;color:var(--navy);letter-spacing:0}.top-actions{display:flex;align-items:center;gap:8px}.status-pill,.status-badge{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:4px 10px;border-radius:4px;font-size:12px;white-space:nowrap;font-weight:500}.status-pill{border:1px solid var(--metro-blue-border);background:var(--metro-blue-bg);color:var(--metro-blue-dark)}.status-success{border-color:#bbf7d0;background:var(--success-bg);color:#15803d}.status-warning{border-color:#fde68a;background:var(--warning-bg);color:#92400e}.status-danger{border-color:#fecaca;background:var(--danger-bg);color:#b91c1c}.status-info{border-color:var(--metro-blue-border);background:var(--metro-blue-bg);color:var(--metro-blue-dark)}.content{padding:24px 28px 40px}.page-stack{display:grid;gap:18px}.metric-card,.chart-card,.panel-card,.toolbar-card,.insight-card,.metro-card,.compare-card,.summary,.report-card,.opc-hero,.card,.demo-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow);transition:box-shadow .18s ease,transform .18s ease}.metric-card:hover,.chart-card:hover,.panel-card:hover,.metro-card:hover,.card:hover{box-shadow:var(--shadow-md)}.metric-card{min-height:120px;padding:16px}.metric-label{display:block;color:var(--text-muted);font-size:12px}.metric-card strong{display:block;margin:10px 0 6px;font-size:30px;line-height:1;color:var(--metro-blue-dark);font-weight:700}.metric-card small{color:var(--text-secondary);font-size:12px;line-height:1.45}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chart-card{min-height:240px;padding:18px}.chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.chart-head h3,.panel-card h3,.demo-panel h3{margin:0;font-size:16px;color:var(--text)}.chart-head span{color:var(--text-muted);font-size:12px}.panel-card,.demo-panel{padding:18px}.panel-note{color:var(--text-muted);font-size:13px;line-height:1.6;margin:0 0 12px}.bar-list{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:100px 1fr 42px;align-items:center;gap:10px;color:var(--text-secondary);font-size:13px}.bar-track{height:10px;border-radius:5px;background:#f1f5f9;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:inherit;background:var(--metro-blue)}.trend-svg{width:100%;height:160px}.grid-line{fill:none;stroke:#e2e8f0;stroke-width:1}.trend-line{fill:none;stroke:var(--metro-blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-dot{fill:var(--metro-blue-light);stroke:#fff;stroke-width:2}.trend-labels{display:flex;justify-content:space-between;color:var(--text-muted);font-size:11px}.toolbar-card{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 16px}.toolbar-card h3{margin:0;color:var(--text)}.search-input,.demo-input{color:var(--text);border:1px solid var(--border);border-radius:var(--radius);outline:none;background:#fff;transition:border-color .15s}.search-input:focus,.demo-input:focus{border-color:var(--metro-blue);box-shadow:0 0 0 3px #1565c01a}.search-input{min-width:240px;padding:9px 12px}.demo-input{width:100%;min-height:180px;padding:14px;line-height:1.7;resize:vertical}.primary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 16px;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;transition:.15s ease;white-space:nowrap}.primary-button{color:#fff;background:linear-gradient(135deg,#1e88e5,#0d47a1);border:1px solid var(--metro-blue);box-shadow:0 3px 10px #0d47a147}.primary-button:hover{background:linear-gradient(135deg,#1976d2,#0a3d8f);border-color:var(--metro-blue-dark);box-shadow:0 4px 14px #0d47a15c}.primary-button:disabled{opacity:.6;cursor:not-allowed}.ghost-button{color:var(--text-secondary);border:1px solid var(--border);background:#fff}.ghost-button:hover{color:var(--metro-blue);border-color:var(--metro-blue-border);background:var(--metro-blue-bg)}.small{min-height:33px;padding:0 12px;font-size:13px}.tiny{min-height:28px;padding:0 8px;font-size:12px}.danger-text{color:var(--danger)}.feedback-text{color:var(--text-muted);font-size:13px;margin:0}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:11px 12px;border-bottom:1px solid var(--border-light);text-align:left;white-space:nowrap;font-size:13px}th{color:var(--text);font-weight:600;background:#f8fafc;cursor:pointer;font-size:12px}td{color:var(--text-secondary)}tr:hover td{background:#f8fafc}.danger-row td{background:#fef2f2}.sort-mark{color:var(--text-muted);margin-left:3px}.inline-actions{display:flex;gap:8px}.reason-text{color:var(--danger);white-space:normal;font-size:12px}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.insight-card{padding:16px}.insight-card b,.insight-card span{display:block}.insight-card b{font-size:14px;color:var(--text)}.insight-card span{margin-top:8px;color:var(--text-muted);line-height:1.6;font-size:13px}.metro-card{min-height:220px;padding:18px;display:flex;align-items:center;justify-content:center}.metro-card img{max-width:100%;max-height:320px}.list-stack{display:grid;gap:8px;margin-top:12px}.mini-row{padding:10px 12px;border:1px solid var(--border-light);border-radius:var(--radius);background:#fafbfc}.mini-row b,.mini-row span,.mini-row em{display:block}.mini-row b{font-size:13px;color:var(--text)}.mini-row span{margin-top:4px;color:var(--text-muted);font-size:12px;line-height:1.5}.mini-row em{margin-top:6px;color:var(--warning);font-style:normal;font-size:12px}.empty-state{display:grid;place-items:center;min-height:150px;color:var(--text-muted);border:1px dashed var(--border);border-radius:var(--radius);font-size:13px}.summary{display:grid;gap:8px;padding:18px;color:var(--text-secondary);line-height:1.7;font-size:14px}.summary b{color:var(--text);font-weight:600}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.event-button{min-height:120px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);text-align:left;cursor:pointer;background:#fff;transition:.15s ease}.event-button:hover{border-color:var(--metro-blue-border);box-shadow:var(--shadow-sm)}.event-button.active{border-color:var(--metro-blue);background:var(--metro-blue-bg)}.event-button b,.event-button span{display:block}.event-button b{font-size:14px}.event-button span{margin-top:8px;color:var(--text-muted);line-height:1.55;font-size:13px}.bullet-list{margin:12px 0 0;padding-left:18px;color:var(--text-secondary);line-height:1.75;font-size:13px}.compare-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.compare-card h3{margin:0 0 10px;font-size:15px}.compare-card p{margin:0 0 8px;color:var(--text-muted);font-size:13px}.warning-summary{border-color:#fde68a}.demo-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.demo-label{color:var(--metro-blue);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.status-dot{color:var(--text-muted);font-size:12px}.demo-tip{margin-top:12px;color:var(--text-muted);font-size:12px;line-height:1.6}.analysis-box{display:grid;gap:10px;margin-top:14px}.ai-block{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:#fafbfc;animation:fadeIn .3s ease both}.ai-block b{color:var(--text);font-size:13px}.ai-block ul{margin:8px 0 0;padding-left:18px;color:var(--text-secondary);line-height:1.7;font-size:13px}.report-card{padding:24px}.report-card h2{margin:0 0 16px;font-size:26px;color:var(--text)}.report-card section{padding:14px 0;border-top:1px solid var(--border-light)}.report-card h3{margin:0 0 10px;color:var(--text)}.report-card li{margin-bottom:6px;color:var(--text-secondary);line-height:1.65}.opc-hero{padding:24px}.opc-hero h2{margin:0;font-size:clamp(28px,3.5vw,42px);color:var(--text)}.opc-hero p{margin-top:12px;max-width:800px;color:var(--text-secondary);line-height:1.75;font-size:16px}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{min-height:200px;padding:20px}.card-num{color:var(--metro-blue);font-weight:700;font-size:14px;letter-spacing:.08em}.card h3{margin:14px 0 10px;font-size:16px}.card p{color:var(--text-muted);line-height:1.65;font-size:13px}.final-slogan{padding:20px;border:1px solid var(--metro-blue-border);border-radius:var(--radius-lg);background:var(--metro-blue-bg);color:var(--metro-blue-dark);font-size:20px;font-weight:700;line-height:1.55;text-align:center}.compact-slogan{margin:0;font-size:16px}.optimizer-grid,.reschedule-grid,.agent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.agent-grid{grid-template-columns:.85fr 1.15fr}.optimizer-toolbar,.report-toolbar{justify-content:space-between}.optimizer-toolbar h3,.report-toolbar h3{margin:0 0 6px}.scheme-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.scheme-card{min-height:130px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);text-align:left;cursor:pointer;background:#fff;transition:.15s ease}.scheme-card:hover{border-color:var(--metro-blue-border)}.scheme-card.active{border-color:var(--metro-blue);background:var(--metro-blue-bg)}.scheme-card span,.scheme-card b,.scheme-card small,.scheme-card i{display:block}.scheme-card span,.scheme-card i{color:var(--metro-blue);font-style:normal;font-size:12px}.scheme-card b{margin:8px 0;font-size:18px;color:var(--text)}.scheme-card small{color:var(--text-muted);font-size:12px}.selected-scheme p{color:var(--text-muted);line-height:1.65;font-size:13px}.scheme-metrics,.impact-strip{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.scheme-metrics span,.impact-strip span{padding:5px 9px;border:1px solid var(--metro-blue-border);border-radius:var(--radius);color:var(--metro-blue-dark);background:var(--metro-blue-bg);font-size:12px}.assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.emergency-board{display:grid;grid-template-columns:1fr .85fr 1fr;gap:14px}.event-list{display:grid;gap:8px;margin:12px 0}.event-button.compact{min-height:auto;padding:12px}.compact-input{min-height:100px}.quick-prompts{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.report-lead{margin:0 0 12px;color:var(--text-muted);line-height:1.7;font-size:14px}.opc-visual-hero{grid-template-columns:.75fr 1.25fr}.opc-keywords{grid-template-columns:repeat(4,minmax(0,1fr))}.opc-matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.matrix-card{min-height:110px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}.matrix-card b,.matrix-card span{display:block}.matrix-card b{font-size:14px;color:var(--text)}.matrix-card span{margin-top:10px;color:var(--text-muted);line-height:1.6;font-size:13px}.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.timeline article{min-height:140px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}.timeline span,.timeline b,.timeline p{display:block}.timeline span{color:var(--metro-blue);font-weight:700;font-size:13px}.timeline b{margin:10px 0 6px;font-size:14px}.timeline p{margin:0;color:var(--text-muted);line-height:1.6;font-size:13px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;padding:48px min(6vw,80px);background:var(--bg)}.login-panel{max-width:640px;padding:32px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-md)}.login-panel h1{margin:0;font-size:clamp(42px,5.5vw,72px);line-height:1.1;color:var(--metro-blue-dark);font-weight:800}.login-panel h2{margin:14px 0 0;color:var(--text-secondary);font-size:clamp(18px,2vw,28px);line-height:1.4;font-weight:500}.login-panel p:not(.kicker){margin:18px 0;color:var(--text-muted);font-size:15px;line-height:1.75}.login-visual{position:relative;min-height:500px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:#f8fafc;box-shadow:var(--shadow)}.login-visual img,.login-visual svg{width:100%;height:100%;object-fit:contain;padding:20px}.login-brief{position:absolute;left:18px;right:18px;bottom:18px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:#fffffff2}.login-brief b,.login-brief span{display:block}.login-brief b{font-size:13px;color:var(--text)}.login-brief span{margin-top:4px;color:var(--text-muted);font-size:12px}.login-position-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.login-position-grid span{padding:10px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);background:#f8fafc;font-size:13px;text-align:center}.login-actions,.hero-actions-row{display:flex;flex-wrap:wrap;gap:10px}.presentation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.presentation-card{min-height:150px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;transition:.15s ease}.presentation-card:hover{border-color:var(--metro-blue-border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.presentation-card span,.presentation-card b,.presentation-card p{display:block}.presentation-card span{color:var(--metro-blue);font-weight:700;font-size:12px}.presentation-card b{margin:10px 0;font-size:16px}.presentation-card p{margin:0;color:var(--text-muted);line-height:1.55;font-size:13px}.asset-frame{position:relative;width:100%;min-height:180px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:#f8fafc}.asset-frame img{width:100%;height:100%;min-height:inherit;display:block;object-fit:cover}.asset-hero{min-height:400px}.asset-wide{min-height:240px}.asset-compact{min-height:160px}.asset-fallback{position:absolute;inset:0;display:grid;align-content:center;justify-items:start;gap:8px;padding:24px;background:#f8fafc}.asset-fallback b{color:var(--text);font-size:20px}.asset-fallback small{color:var(--text-muted);line-height:1.55}.asset-caption{display:block;margin-top:8px;color:var(--text-muted);font-size:12px;text-align:center}.fallback-line{width:60%;height:2px;border-radius:2px;background:var(--metro-blue);opacity:.4}.fallback-line.short{width:35%}.operation-hero,.asset-operation-card,.workflow-header,.presentation-hero,.opc-visual-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:center;padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}.operation-hero h2,.workflow-header h2,.presentation-hero h2{margin:0;font-size:clamp(26px,3.5vw,40px);color:var(--text)}.operation-hero p:not(.kicker),.workflow-header p:not(.kicker),.presentation-hero p:not(.kicker),.asset-operation-card p{color:var(--text-muted);line-height:1.7;font-size:14px}.asset-operation-card{grid-template-columns:300px 1fr}.asset-operation-card h3{margin:0;font-size:20px;color:var(--text)}.process-strip,.workflow-progress{display:grid;gap:8px}.process-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.process-strip span{padding:10px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);text-align:center;background:#fff;font-size:13px}.process-strip span.done{color:var(--success);border-color:#bbf7d0;background:var(--success-bg)}.workflow-progress{grid-template-columns:repeat(7,minmax(0,1fr))}.workflow-progress button{min-height:80px;padding:10px 8px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);text-align:left;cursor:pointer;background:#fff;font-size:12px;transition:.15s}.workflow-progress button b{display:block;color:var(--metro-blue);font-size:14px}.workflow-progress button span{display:block;margin-top:4px;font-size:11px}.workflow-progress button.active,.workflow-progress button.done{color:var(--text);border-color:var(--metro-blue-border);background:var(--metro-blue-bg)}.workflow-progress button.done{border-color:#bbf7d0;background:var(--success-bg)}.workflow-stage{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}.workflow-stage h3,.stage-result h3{margin:0 0 8px;font-size:16px}.workflow-stage p{color:var(--text-muted);line-height:1.7;font-size:14px}.stage-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.breadcrumb{margin:0 0 2px;color:var(--text-muted);font-size:12px}.source{max-width:360px;overflow:hidden;text-overflow:ellipsis}.data-table-shell{display:grid;gap:10px}.table-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.table-tools select{min-height:34px;padding:0 8px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);background:#fff}.table-tools span{margin-left:auto;color:var(--text-muted);font-size:12px}.detail-row td{background:#f8fafc}.detail-row pre{max-height:220px;margin:0;overflow:auto;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;font-size:12px}.empty-table{display:grid;place-items:center;min-height:100px;color:var(--text-muted);font-size:13px}.metro-track{position:relative;height:200px;border-radius:var(--radius);overflow:hidden;background:#f8fafc;border:1px solid var(--border-light)}.metro-node{position:absolute;transform:translate(-50%,-50%);text-align:center}.metro-node span{display:block;width:14px;height:14px;margin:0 auto 6px;border:2px solid #fff;border-radius:50%;background:var(--metro-blue)}.metro-node.duty span{background:var(--success)}.metro-node b{color:var(--text);font-size:11px;white-space:nowrap}.quick-demo-panel{position:fixed;right:18px;bottom:80px;z-index:30;width:220px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-md)}.quick-demo-panel.collapsed{width:auto}.quick-toggle{width:100%;min-height:34px;color:var(--text);border-bottom:1px solid var(--border);cursor:pointer;background:var(--metro-blue-bg);font-size:13px;font-weight:600}.quick-content{display:grid;gap:6px;padding:10px}.quick-content b{color:var(--text);font-size:12px}.quick-content button{min-height:30px;padding:0 8px;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fff;font-size:12px;text-align:left}.quick-content button:hover{border-color:var(--metro-blue-border);background:var(--metro-blue-bg)}.quick-content span{color:var(--warning);font-size:11px;line-height:1.45}.ai-float-button{position:fixed;right:18px;bottom:22px;z-index:31;min-height:42px;padding:0 16px;border-radius:var(--radius);color:#fff;font-weight:600;cursor:pointer;background:var(--metro-blue);font-size:13px;box-shadow:var(--shadow-md)}.ai-float-button:hover{background:var(--metro-blue-dark)}.drawer-mask{position:fixed;inset:0;z-index:40;display:grid;justify-items:end;background:#0000004d}.ai-drawer{width:min(420px,100vw);height:100vh;display:grid;grid-template-rows:auto auto 1fr auto auto;gap:14px;padding:20px;border-left:1px solid var(--border);background:#fff;box-shadow:var(--shadow-md)}.ai-drawer header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ai-drawer h3{margin:0;color:var(--text)}.context-box,.assistant-answer article,.assistant-custom{padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#fafbfc}.context-box b,.context-box span{display:block}.context-box span{margin-top:6px;color:var(--text-muted);font-size:13px}.assistant-answer{display:grid;align-content:start;gap:8px;overflow:auto}.assistant-answer p,.assistant-custom{margin:6px 0 0;color:var(--text-muted);line-height:1.6;font-size:13px}.rule-panel{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}.rule-panel h3{margin:0 12px 0 0;font-size:14px;white-space:nowrap}.quick-action-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:10px 14px;border:1px solid var(--metro-blue-border);border-radius:var(--radius-lg);background:var(--metro-blue-bg);margin-bottom:14px}.quick-action-bar span.label{font-size:12px;font-weight:600;color:var(--metro-blue-dark);margin-right:4px}.quick-action-bar button{min-height:30px;padding:0 10px;border:1px solid var(--metro-blue-border);border-radius:var(--radius);background:#fff;color:var(--metro-blue-dark);font-size:12px;cursor:pointer;white-space:nowrap}.quick-action-bar button:hover{background:var(--metro-blue);color:#fff;border-color:var(--metro-blue)}.data-source-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:4px;background:#f8fafc;font-size:11px;color:var(--text-muted);cursor:default}.data-source-badge .dot{width:6px;height:6px;border-radius:50%}.data-source-badge .dot.demo{background:var(--metro-blue)}.data-source-badge .dot.public{background:var(--success)}.data-source-badge .dot.engine{background:var(--warning)}.data-source-badge .dot.ai{background:var(--info)}.toast-container{position:fixed;top:18px;right:18px;z-index:100;display:grid;gap:8px}.toast{padding:10px 16px;border-radius:var(--radius);font-size:13px;color:#fff;background:var(--metro-blue-dark);box-shadow:var(--shadow-md);animation:slideIn .3s ease;max-width:380px}.toast.success{background:var(--success)}.toast.warning{background:var(--warning);color:#fff}.toast.error{background:var(--danger)}.dispatcher-confirm{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--warning);border-radius:var(--radius);background:var(--warning-bg);color:#92400e;font-size:12px;font-weight:500;line-height:1.5}.dispatcher-confirm:before{content:"⚠";font-size:13px}.stage-main{display:grid;gap:10px;align-content:start}.stage-result{display:grid;gap:10px;align-content:start;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:#fafbfc}.stage-result h3{margin:0 0 4px;font-size:14px;color:var(--text)}.stage-result .status-pill{align-self:start}.source-modal-mask{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:#0f172a73;animation:fadeIn .2s ease both}.source-modal{position:relative;width:min(640px,100%);max-height:80vh;overflow:auto;padding:28px;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-md);animation:slideIn .25s ease both}.source-modal h2{margin:0 0 6px;font-size:20px;color:var(--text)}.source-modal h3{margin:18px 0 8px;font-size:14px;color:var(--metro-blue-dark)}.source-modal ul{margin:0;padding-left:18px;color:var(--text-secondary);line-height:1.8;font-size:13px}.source-modal a{color:var(--metro-blue);text-decoration:underline}.close-btn{position:absolute;top:14px;right:14px;width:30px;height:30px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text-secondary);font-size:16px;cursor:pointer}.close-btn:hover{background:var(--bg-hover);color:var(--text)}.presentation-page{max-width:1280px;margin:0 auto}.agent-workbench{gap:16px}.agent-hero{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;align-items:stretch}.agent-hero-left{padding:20px 24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;border-left:4px solid var(--metro-blue)}.agent-hero-left h2{margin:6px 0 8px;font-size:22px;color:var(--text)}.agent-hero-left p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.7}.agent-hero-right{display:flex}.agent-status-card{flex:1;display:grid;gap:8px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#f8fafc}.status-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.status-label{color:var(--text-muted);white-space:nowrap}.status-pill.ok{background:#ecfdf5;color:#15803d;border-color:#bbf7d0}.status-pill.warn{background:#fffbeb;color:#b45309;border-color:#fde68a}.status-pill .dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.dot-ok{background:#16a34a}.dot-warn{background:#d97706}.agent-chat-grid{display:grid;grid-template-columns:340px 1fr;gap:16px}.agent-input-panel{align-content:start}.agent-chat-panel{display:flex;flex-direction:column;min-height:520px}.chat-scroll{flex:1;overflow-y:auto;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#fafbfc;max-height:560px}.chat-msg{display:flex;gap:10px;margin-bottom:14px}.chat-msg.user{flex-direction:row-reverse}.chat-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600;color:#fff;background:var(--metro-blue)}.chat-msg.user .chat-avatar{background:#64748b}.chat-body{max-width:78%}.chat-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted);margin-bottom:4px}.chat-msg.user .chat-meta{justify-content:flex-end}.chat-badge{padding:1px 7px;border-radius:10px;font-size:10px;font-weight:600}.badge-ai{background:#e3f2fd;color:var(--metro-blue-dark)}.badge-local{background:#f1f5f9;color:#475569}.chat-latency{font-variant-numeric:tabular-nums}.chat-content{padding:12px 14px;border-radius:var(--radius);background:#fff;border:1px solid var(--border);font-size:13px;line-height:1.75;color:var(--text)}.chat-msg.user .chat-content{background:var(--metro-blue-bg);border-color:var(--metro-blue-border)}.chat-content .md-h{color:var(--metro-blue-dark)}.chat-content .md-quote{display:block;color:#b45309;background:#fffbeb;border-left:3px solid #f59e0b;padding:2px 8px;margin:4px 0;font-size:12px}.typing{display:flex;gap:4px;align-items:center}.typing-dot{width:7px;height:7px;border-radius:50%;background:var(--metro-blue);animation:typingBlink 1.2s infinite ease-in-out both}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typingBlink{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.empty-state b{display:block;margin-bottom:6px;color:var(--text)}.empty-state .muted{display:block;margin-top:6px;color:var(--text-muted);font-size:12px}.roadmap-opc{margin-top:8px}.line-map-card{padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}.line-map-legend{display:flex;align-items:center;gap:18px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);font-size:12px;color:var(--text-secondary)}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:middle}.legend-dot.duty{background:#ff9800}.legend-dot.transfer{background:#1565c0}.legend-dot.normal{background:#90a4ae}.legend-tip{margin-left:auto;color:var(--text-muted)}.station-chips-wrap{margin-top:4px}.station-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#f8fafc;max-height:220px;overflow-y:auto}.station-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.station-chip:hover{border-color:var(--metro-blue);color:var(--metro-blue-dark)}.station-chip.selected{background:var(--metro-blue);border-color:var(--metro-blue);color:#fff}.station-chip.duty{border-color:#fdba74}.station-chip.transfer{border-color:var(--metro-blue-border);background:var(--metro-blue-bg)}.station-chip.selected.duty,.station-chip.selected.transfer{background:var(--metro-blue);border-color:var(--metro-blue);color:#fff}.station-chip .seq{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e2e8f0;font-size:10px;font-weight:600;color:var(--text-secondary)}.station-chip.selected .seq{background:#ffffff4d;color:#fff}.station-chip .cd{font-size:10px;color:var(--text-muted)}.station-chip.selected .cd{color:#ffffffd9}.station-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.station-detail-grid .muted{color:var(--text-muted);font-size:11px}.segment-flow-card,.dispatch-scene-card,.impact-map-card{padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}.impact-map-card{display:grid;place-items:center}.optimizer-toolbar-actions{display:flex;align-items:center;gap:8px}.asset-hero .asset-frame img{width:100%;max-height:460px;object-fit:contain}.source-strip{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#f8fafc}.source-strip-text{display:grid;gap:4px}.source-strip-text b{color:var(--text);font-size:14px}.source-strip-text span{color:var(--text-secondary);font-size:12px;line-height:1.6}.source-strip-text .muted{color:var(--text-muted);font-size:11px}.asset-compact .asset-frame img{width:100%;max-height:160px;object-fit:contain}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media(max-width:1200px){.app-shell,.login-page{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.nav-list,.metric-grid,.metric-grid.four,.dashboard-grid,.optimizer-grid,.reschedule-grid,.event-grid,.card-grid,.agent-grid,.operation-hero,.asset-operation-card,.workflow-header,.workflow-stage,.presentation-hero,.opc-visual-hero,.emergency-board,.scheme-board,.assignment-grid,.opc-matrix,.timeline,.presentation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-grid,.agent-hero,.agent-chat-grid{grid-template-columns:1fr}}@media(max-width:760px){.content,.topbar,.sidebar,.login-page{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.nav-list,.metric-grid,.metric-grid.four,.dashboard-grid,.optimizer-grid,.reschedule-grid,.event-grid,.card-grid,.agent-grid,.compare-card,.operation-hero,.asset-operation-card,.workflow-header,.workflow-progress,.workflow-stage,.process-strip,.presentation-hero,.opc-visual-hero,.emergency-board,.scheme-board,.assignment-grid,.opc-matrix,.timeline,.presentation-grid,.login-position-grid{grid-template-columns:1fr}.login-visual{min-height:300px}}:root{--ink-950: #06111f;--ink-900: #0a1628;--ink-800: #10243d;--signal-cyan: #22d3ee;--signal-blue: #3b82f6;--signal-amber: #f59e0b;--signal-rose: #e879f9;--signal-green: #34d399}body{background:radial-gradient(circle at 15% 0%,rgba(34,211,238,.12),transparent 28%),radial-gradient(circle at 82% 10%,rgba(245,158,11,.08),transparent 26%),linear-gradient(180deg,#eef4fb,#f7fafc 44%,#eef3f8)}.vibe-login-page{position:relative;min-height:100vh;isolation:isolate;grid-template-columns:minmax(460px,.95fr) minmax(520px,1.05fr);gap:clamp(28px,4vw,60px);align-items:center;padding:clamp(32px,5vw,72px);overflow:hidden;background:var(--ink-950)}.login-bg,.login-shade{position:absolute;inset:0}.login-bg{z-index:-3;width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.05)}.login-shade{z-index:-2;background:linear-gradient(90deg,#030a14f0,#050f1ec7 42%,#050f1e61),radial-gradient(circle at 66% 46%,rgba(34,211,238,.18),transparent 28%)}.vibe-login-panel{max-width:720px;padding:clamp(28px,4vw,46px);border:1px solid rgba(148,163,184,.22);background:linear-gradient(145deg,#0a1628e0,#0812229e);box-shadow:0 28px 80px #00000061;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.vibe-login-panel .kicker,.command-hero .kicker,.premium-presentation-hero .kicker{color:var(--signal-cyan)}.vibe-login-panel h1{color:#fff;text-shadow:0 0 32px rgba(34,211,238,.28)}.vibe-login-panel h2{color:#dbeafe;font-weight:650}.vibe-login-panel p:not(.kicker){color:#b8c7da;max-width:660px}.login-command-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:22px 0}.login-command-strip span,.command-tags span{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border:1px solid rgba(34,211,238,.26);border-radius:8px;color:#dff9ff;background:#0612229e;box-shadow:inset 0 0 18px #22d3ee14;font-size:12px;text-align:center}.login-metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 24px}.login-metric-row article{min-height:92px;padding:16px;border:1px solid rgba(148,163,184,.2);border-radius:10px;background:#ffffff0f}.login-metric-row b{display:block;color:#fff;font-size:34px;line-height:1;font-variant-numeric:tabular-nums}.login-metric-row span{display:block;margin-top:8px;color:#9fb2c9;font-size:12px}.ghost-button.on-dark,.command-hero .ghost-button,.premium-presentation-hero .ghost-button{color:#dbeafe;border-color:#94a3b847;background:#0f172a52}.ghost-button.on-dark:hover,.command-hero .ghost-button:hover,.premium-presentation-hero .ghost-button:hover{color:#fff;border-color:#22d3ee8c;background:#22d3ee21}.vibe-login-console{min-height:640px;padding:16px;border-color:#94a3b83d;border-radius:18px;background:linear-gradient(160deg,#fffffff0,#e2e8f0d6);box-shadow:0 28px 90px #00000052}.console-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:#334155;font-size:11px}.console-topline b{color:var(--ink-900);font-size:13px}.console-map-window{height:440px;border:1px solid #dbe6f1;border-radius:14px;overflow:hidden;background:#fff}.console-map-window img{width:100%;height:100%;object-fit:contain;transform:scale(4.2);transform-origin:52% 45%;filter:saturate(1.45) contrast(1.18);padding:0}.console-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.console-flow article{padding:12px;border:1px solid #dbe6f1;border-radius:10px;background:#f8fbff}.console-flow b,.console-flow span{display:block}.console-flow b{color:var(--signal-blue);font-size:12px}.console-flow span{margin-top:6px;color:#475569;font-size:12px}.vibe-login-console .login-brief{left:16px;right:16px;bottom:16px;border-color:#3b82f629;background:#f8fbfff5}.app-shell{background:radial-gradient(circle at 22% 0%,rgba(34,211,238,.08),transparent 24%),radial-gradient(circle at 92% 14%,rgba(245,158,11,.06),transparent 22%)}.sidebar{background:linear-gradient(180deg,#0a1628fa,#050c18fa),radial-gradient(circle at top,rgba(34,211,238,.18),transparent 36%)}.brand-mark{background:conic-gradient(from 180deg,var(--signal-cyan),var(--signal-blue),var(--signal-rose),var(--signal-amber),var(--signal-cyan));color:var(--ink-950);box-shadow:0 0 24px #22d3ee5c}.topbar{border-bottom-color:#94a3b838;background:#f7fafcd6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.content{max-width:1540px;margin:0 auto}.command-hero,.premium-presentation-hero,.module-hero{position:relative;grid-template-columns:1.04fr .96fr;display:grid;gap:18px;align-items:center;overflow:hidden;border:0;border-radius:18px;padding:clamp(20px,3vw,34px);color:#e5f4ff;background:linear-gradient(135deg,#050f1df5,#0a2037e6),radial-gradient(circle at 72% 34%,rgba(34,211,238,.2),transparent 34%);box-shadow:0 20px 60px #0f254038}.command-hero:before,.premium-presentation-hero:before,.module-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(148,163,184,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.07) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(90deg,black,transparent 78%);mask-image:linear-gradient(90deg,black,transparent 78%)}.command-hero>*,.premium-presentation-hero>*,.module-hero>*{position:relative;z-index:1}.command-hero h2,.premium-presentation-hero h2,.module-hero h2{color:#fff;max-width:720px}.command-hero p:not(.kicker),.premium-presentation-hero p:not(.kicker),.module-hero p:not(.kicker){color:#b8c7da;max-width:740px}.command-tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 18px}.command-hero .asset-frame,.premium-presentation-hero .asset-frame,.module-hero .asset-frame{min-height:340px;border-color:#94a3b838;background:#0f172a99}.command-hero .asset-caption,.premium-presentation-hero .asset-caption,.module-hero .asset-caption{position:absolute;left:12px;bottom:12px;margin:0;padding:7px 10px;border-radius:7px;color:#dbeafe;background:#050c18b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.module-hero .asset-frame img{min-height:340px}.module-hero .primary-button{margin-top:4px}.metric-card{position:relative;overflow:hidden;border-color:#94a3b833;background:linear-gradient(180deg,#fff,#f7fbff)}.metric-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:linear-gradient(180deg,var(--signal-cyan),var(--signal-amber))}.metric-card strong{color:var(--ink-900)}.cockpit-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}.network-preview-card{display:grid;align-items:start;justify-content:stretch;min-height:440px;padding:18px}.network-preview{height:360px;overflow:hidden;border:1px solid #dbe6f1;border-radius:12px;background:#fff}.network-preview.large{width:100%;height:min(64vh,680px)}.network-preview img{width:100%;height:100%;object-fit:contain;transform:scale(4.2);transform-origin:52% 45%;filter:saturate(1.45) contrast(1.18);padding:0}.mission-card{background:linear-gradient(180deg,#fff,#f8fbff),radial-gradient(circle at 100% 0%,rgba(245,158,11,.12),transparent 30%)}.premium-map-card{display:block;padding:18px}.premium-map-card .asset-frame{min-height:min(64vh,640px);background:#fff}.premium-map-card .asset-frame img{width:100%;height:100%;object-fit:contain;transform:scale(4.2);transform-origin:52% 45%;filter:saturate(1.45) contrast(1.18);padding:0}.line-map-card:not(.premium-map-card) .asset-frame img{object-fit:contain;padding:12px}.premium-scene-card{position:relative;padding:0;overflow:hidden;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:var(--ink-900);box-shadow:0 18px 46px #0f25402e}.premium-scene-card .asset-frame{border:0;border-radius:0;min-height:360px}.premium-scene-card .asset-caption{display:none}.scene-overlay-panel{position:absolute;left:18px;bottom:18px;width:min(440px,calc(100% - 36px));padding:16px;border:1px solid rgba(34,211,238,.24);border-radius:12px;color:#dbeafe;background:#050c18c2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.scene-overlay-panel b,.scene-overlay-panel span{display:block}.scene-overlay-panel b{color:#fff;font-size:15px}.scene-overlay-panel span{margin-top:8px;color:#b8c7da;font-size:12px;line-height:1.6}.presentation-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.presentation-card{position:relative;overflow:hidden;border-color:#94a3b838;background:linear-gradient(180deg,#fff,#f8fbff),radial-gradient(circle at 100% 0%,rgba(34,211,238,.1),transparent 34%)}.presentation-card:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,var(--signal-cyan),var(--signal-blue),var(--signal-amber))}.chart-card,.panel-card,.toolbar-card,.line-map-card,.source-strip{border-color:#94a3b838}.bar-track{background:#e9eff6}.bar-track i{background:linear-gradient(90deg,var(--signal-blue),var(--signal-cyan))}.trend-line{stroke:var(--signal-blue)}.trend-dot{fill:var(--signal-cyan)}@media(max-width:1200px){.vibe-login-page,.command-hero,.premium-presentation-hero,.module-hero,.cockpit-grid{grid-template-columns:1fr}.vibe-login-console{min-height:520px}}@media(max-width:760px){.vibe-login-page{padding:20px}.login-command-strip,.login-metric-row,.console-flow{grid-template-columns:1fr}.vibe-login-console{min-height:460px}.console-map-window{height:300px}.network-preview,.network-preview.large,.premium-map-card .asset-frame{height:340px;min-height:340px}}.metrox-shell{grid-template-columns:264px minmax(0,1fr)}.metrox-sidebar{padding:16px 12px 14px;background:#0c2238}.metrox-brand{min-height:58px;padding-bottom:14px}.metrox-brand b{font-size:18px}.metrox-brand small{color:#91a7ba}.metrox-mark{position:relative;width:36px;height:36px;flex:0 0 36px;border:1px solid #3e7896;border-radius:6px;background:#123b57}.metrox-mark i{position:absolute;left:8px;width:20px;height:3px;border-radius:1px;background:#55c8d0;transform:rotate(-24deg)}.metrox-mark i:nth-child(1){top:10px}.metrox-mark i:nth-child(2){top:17px;background:#fff}.metrox-mark i:nth-child(3){top:24px}.product-switcher{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:12px 5px 8px;padding:3px;border:1px solid #29465e;border-radius:5px;background:#102a41}.product-switcher a{display:grid;min-height:30px;place-items:center;border-radius:3px;color:#8fa8bc;font-size:10px;font-weight:800}.product-switcher a.active{background:#24516b;color:#fff}.tenant-context{display:flex;align-items:center;gap:9px;margin:4px 5px 7px;padding:9px;border-bottom:1px solid #29445c;color:#91a7ba}.tenant-context div{min-width:0}.tenant-context b,.tenant-context span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-context b{color:#dbe6ef;font-size:11px}.tenant-context span{margin-top:3px;font-size:9px}.metrox-sidebar nav p{margin-top:14px}.metrox-sidebar nav a{gap:9px;min-height:34px}.metrox-sidebar nav a svg{flex:0 0 auto;color:#7192a9}.metrox-sidebar nav a.router-link-active svg{color:#59cbd1}.metrox-sidebar .sidebar-boundary b{display:flex;align-items:center;gap:6px}.metrox-topbar .ghost-button{display:inline-flex;align-items:center;gap:6px}.metrox-topbar .icon-command{display:grid;place-items:center}.metrox-dashboard{gap:18px}.metrox-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #d9e2ea;border-radius:6px;background:#fff}.metrox-kpi-grid article{min-height:112px;padding:18px 20px;border-right:1px solid #e1e8ee}.metrox-kpi-grid article:last-child{border-right:0}.metrox-kpi-grid span,.metrox-kpi-grid small{display:block;color:#738497;font-size:11px}.metrox-kpi-grid strong{display:block;margin:10px 0 7px;color:#153650;font-size:29px;font-variant-numeric:tabular-nums}.metrox-kpi-grid .pending-value{color:#a56b11;font-size:20px}.metrox-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:16px}.operation-rows{display:grid}.operation-rows article{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:56px;padding:8px 17px;border-bottom:1px solid #e5ebf0}.operation-rows article:last-child{border-bottom:0}.operation-rows article>span{color:#6d8294;font-size:11px;font-variant-numeric:tabular-nums}.operation-rows b,.operation-rows small{display:block}.operation-rows b{color:#213b50;font-size:12px}.operation-rows small{margin-top:3px;color:#7d8e9d;font-size:10px}.operation-rows i{padding:4px 7px;border-radius:3px;background:#eff5f8;color:#3c647e;font-size:9px;font-style:normal}.operation-rows i.approved{background:#edf8f1;color:#20804a}.operation-rows i.awaiting_review{background:#fff6df;color:#8a6212}.source-summary{display:grid;gap:0;padding:4px 16px 12px}.source-chart-wrap{position:relative;min-height:224px;border-bottom:1px solid #e5ebf0}.source-chart{width:100%;height:224px}.source-chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:#81919e;font-size:10px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.source-summary article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;min-height:52px;border-bottom:1px solid #e5ebf0;color:#496174}.source-summary article:last-child{border-bottom:0}.source-summary svg{color:#207899}.source-summary span{font-size:11px}.source-summary b{color:#163a54;font-size:18px}.panel-link{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 16px;border-top:1px solid #e1e8ee;color:#0f6d9c;font-size:11px;font-weight:700}.template-strip-grid{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));overflow-x:auto}.template-strip-grid button{min-width:145px;min-height:118px;padding:14px;border-right:1px solid #e2e8ee;border-bottom:3px solid transparent;background:#fff;color:#253f54;text-align:left}.template-strip-grid button:last-child{border-right:0}.template-strip-grid button:hover{background:#f7fafc}.template-strip-grid button.active{border-bottom-color:#1784a5;background:#f2f9fb}.template-strip-grid span,.template-strip-grid b,.template-strip-grid small{display:block}.template-strip-grid span{color:#1680a0;font-size:9px;font-weight:800;text-transform:uppercase}.template-strip-grid b{margin:8px 0 6px;font-size:12px}.template-strip-grid small{color:#748696;font-size:9px;line-height:1.55}.metrox-empty-state{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:126px;padding:24px;color:#5f7486}.metrox-empty-state>svg{color:#3d829d}.metrox-empty-state b{color:#2b4559;font-size:13px}.metrox-empty-state p{margin:6px 0 0;font-size:11px;line-height:1.6}.module-workspace{min-height:420px}.module-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:54px;padding:8px 14px;border-bottom:1px solid #e1e8ee}.segmented-view{display:inline-grid;grid-auto-flow:column;padding:3px;border:1px solid #d7e1e9;border-radius:4px;background:#f4f7f9}.segmented-view button{min-height:29px;padding:0 11px;border-radius:3px;background:transparent;color:#627688;font-size:10px}.segmented-view button.active{background:#fff;color:#164b67;box-shadow:0 1px 3px #1430461f}.module-workspace>.metrox-empty-state{min-height:350px}.toolbar-actions{display:flex;gap:8px}.schedule-empty-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;min-height:490px}.schedule-empty-grid>.metrox-empty-state{align-self:center}.schedule-empty-grid aside{display:flex;flex-direction:column;gap:11px;padding:20px;border-left:1px solid #e1e8ee;background:#f8fafb;color:#6d7f8e;font-size:11px;line-height:1.55}.schedule-empty-grid aside b{color:#29455a;font-size:13px}.schedule-empty-grid aside a{margin-top:auto;color:#0f6d9c;font-weight:700}.industry-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.industry-template-grid article{display:flex;min-height:250px;flex-direction:column;padding:20px;border:1px solid #dbe3ea;border-top:3px solid #cbd7df;border-radius:6px;background:#fff}.industry-template-grid article.active{border-top-color:#1785a6;box-shadow:0 5px 18px #194b6314}.industry-template-grid header{display:flex;justify-content:space-between;color:#177d9c;font-size:9px;font-weight:800}.industry-template-grid h3{margin:17px 0 8px;color:#1f3c52;font-size:18px}.industry-template-grid p{min-height:44px;margin:0;color:#6f8190;font-size:11px;line-height:1.65}.industry-template-grid dl{display:grid;gap:8px;margin:17px 0}.industry-template-grid dl div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px}.industry-template-grid dt{color:#8796a3;font-size:10px}.industry-template-grid dd{margin:0;color:#3d566a;font-size:10px}.industry-template-grid button{margin-top:auto}.rail-rule-table{overflow:hidden}.rail-rule-table header,.rail-rule-table article{display:grid;grid-template-columns:100px 180px minmax(260px,1fr) 180px;align-items:center;min-height:48px;padding:0 18px;border-bottom:1px solid #e2e8ee}.rail-rule-table header{min-height:40px;background:#f5f8fa;color:#718293;font-size:10px;font-weight:800}.rail-rule-table article{color:#52697b;font-size:11px}.rail-rule-table article b{color:#29455a}.rail-rule-table article i{color:#8a6519;font-size:10px;font-style:normal}.registry-create-panel{overflow:hidden}.registry-form{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;align-items:end;gap:12px;padding:16px}.registry-form label{min-width:0}.registry-form label>span{display:block;margin-bottom:6px;color:#526a7d;font-size:10px;font-weight:700}.registry-form input,.registry-form select,.catalog-form input{width:100%;height:38px;padding:0 10px;border:1px solid #ccd8e1;border-radius:4px;background:#fff;color:#213a4f;outline:none}.registry-form input:focus,.registry-form select:focus,.catalog-form input:focus{border-color:#247c9a;box-shadow:0 0 0 3px #247c9a17}.registry-form .primary-button{min-height:38px;white-space:nowrap}.registry-feedback{margin:0;padding:9px 16px;border-top:1px solid #e3e9ee;color:#267248;font-size:11px}.registry-feedback.danger{color:#a33a35}.registry-table-panel{overflow:hidden}.registry-table-scroll{max-width:100%;overflow-x:auto}.registry-table{width:100%;min-width:760px;border-collapse:collapse}.registry-table th,.registry-table td{height:45px;padding:7px 14px;border-bottom:1px solid #e4eaf0;color:#50677a;font-size:10px;text-align:left}.registry-table th{height:39px;background:#f5f8fa;color:#6e8191;font-weight:800}.registry-table tbody tr:hover{background:#f8fafb}.module-toolbar>b{color:#29455a;font-size:12px}.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.catalog-form{display:grid;grid-template-columns:140px 1fr 1.4fr auto;gap:8px;padding:13px 15px;border-bottom:1px solid #e2e8ee}.catalog-form .primary-button{min-height:38px}.catalog-list{display:grid;max-height:350px;overflow:auto}.catalog-list article{display:grid;grid-template-columns:1fr 120px 1.4fr;gap:10px;align-items:center;min-height:47px;padding:8px 15px;border-bottom:1px solid #e5ebf0}.catalog-list b{color:#29455a;font-size:11px}.catalog-list span,.catalog-list small{color:#718292;font-size:10px}.schedule-create-panel{overflow:hidden}.schedule-create-panel .module-toolbar span{color:#758695;font-size:10px}.schedule-create-form{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(2,minmax(190px,1fr)) auto;align-items:end;gap:12px;padding:14px}.schedule-create-form label>span{display:block;margin-bottom:6px;color:#526a7d;font-size:10px;font-weight:700}.schedule-create-form input,.manual-assignment-panel select{width:100%;height:38px;padding:0 10px;border:1px solid #ccd8e1;border-radius:4px;background:#fff;color:#213a4f}.schedule-create-form .primary-button{min-height:38px}.schedule-workspace-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px;min-height:560px}.schedule-plan-list{align-self:start;overflow:hidden}.schedule-plan-list>button{display:grid;width:100%;min-height:72px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #e3e9ee;border-left:3px solid transparent;background:#fff;text-align:left}.schedule-plan-list>button:hover{background:#f7fafb}.schedule-plan-list>button.active{border-left-color:#1681a3;background:#f2f8fa}.schedule-plan-list>button b,.schedule-plan-list>button small{display:block}.schedule-plan-list>button b{overflow:hidden;color:#29455a;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.schedule-plan-list>button small{margin-top:5px;color:#7b8b98;font-size:9px}.schedule-plan-list>button i,.schedule-state-stack i{padding:4px 7px;border-radius:3px;background:#eef3f6;color:#5f7382;font-size:9px;font-style:normal;white-space:nowrap}.schedule-plan-list i.warning,.schedule-state-stack i.warning{background:#fff4dc;color:#875f12}.schedule-plan-list i.success,.schedule-state-stack i.success{background:#eaf7ef;color:#247548}.schedule-plan-list .metrox-empty-state{grid-template-columns:32px minmax(0,1fr);min-height:260px;padding:20px}.schedule-plan-list .metrox-empty-state .ghost-button{grid-column:1 / -1}.schedule-detail-panel{min-width:0;overflow:hidden}.schedule-detail-panel>.metrox-empty-state{min-height:520px}.schedule-detail-header{display:flex;min-height:98px;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid #e1e8ee}.schedule-detail-header span,.schedule-detail-header p{color:#718595;font-size:10px}.schedule-detail-header h3{margin:6px 0;color:#203e54;font-size:18px;letter-spacing:0}.schedule-detail-header p{margin:0}.schedule-state-stack{display:grid;justify-items:end;gap:7px}.schedule-state-stack small{color:#6d8191;font-size:10px}.schedule-state-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:12px 18px;border-bottom:1px solid #e3e9ee;background:#f8fafb}.schedule-state-flow span{position:relative;min-height:26px;padding-top:15px;color:#84939f;font-size:9px;text-align:center}.schedule-state-flow span:before{position:absolute;top:4px;left:50%;z-index:2;width:8px;height:8px;border:2px solid #bdc9d1;border-radius:50%;background:#f8fafb;content:""}.schedule-state-flow span:after{position:absolute;top:8px;left:calc(-50% + 5px);width:100%;height:1px;background:#d4dde4;content:""}.schedule-state-flow span:first-child:after{display:none}.schedule-state-flow span.reached:before,.schedule-state-flow span.current:before{border-color:#1883a4;background:#1883a4}.schedule-state-flow span.reached:after{background:#6eaabe}.schedule-state-flow span.current{color:#176e8b;font-weight:800}.schedule-command-bar{display:flex;min-height:55px;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid #e2e8ee}.schedule-command-bar>span{min-width:0;margin-left:auto;color:#6e8191;font-size:10px;text-align:right}.solver-run-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #e1e8ee;background:#f8fafb}.solver-run-strip>span{min-height:58px;padding:11px 14px;border-right:1px solid #e1e8ee}.solver-run-strip>span:last-child{border-right:0}.solver-run-strip small,.solver-run-strip b{display:block}.solver-run-strip small{color:#7b8c99;font-size:9px}.solver-run-strip b{margin-top:6px;color:#29485d;font-size:10px}.manual-assignment-panel{display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;padding:13px 16px;border-bottom:1px solid #e1e8ee;background:#fbfcfd}.manual-assignment-panel>div b,.manual-assignment-panel>div span{display:block}.manual-assignment-panel>div b{color:#29455a;font-size:11px}.manual-assignment-panel>div span{margin-top:4px;color:#7a8996;font-size:9px;line-height:1.5}.manual-assignment-panel form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(220px,1.6fr) auto auto;align-items:center;gap:8px}.lock-check{display:inline-flex;align-items:center;gap:5px;color:#536b7d;font-size:10px}.lock-check input{width:14px;height:14px}.schedule-data-tabs{display:flex;gap:18px;min-height:44px;padding:0 17px;border-bottom:1px solid #e1e8ee}.schedule-data-tabs button{border-bottom:2px solid transparent;background:transparent;color:#6c7f8e;font-size:10px}.schedule-data-tabs button.active{border-bottom-color:#1883a4;color:#175975;font-weight:800}.schedule-table-scroll{min-height:260px;overflow-x:auto}.schedule-table-scroll table{width:100%;min-width:720px;border-collapse:collapse}.schedule-table-scroll th,.schedule-table-scroll td{min-height:44px;padding:10px 13px;border-bottom:1px solid #e5ebef;color:#536a7b;font-size:10px;text-align:left}.schedule-table-scroll th{background:#f6f8fa;color:#718392;font-weight:800}.schedule-table-scroll td b,.schedule-table-scroll td small{display:block}.schedule-table-scroll td b{color:#29465a}.schedule-table-scroll td small{margin-top:3px;color:#8a98a3}.schedule-table-scroll .metrox-empty-state{min-height:230px}.danger-state{padding:3px 6px;border-radius:3px;background:#fff0ed;color:#a33d35;font-size:9px;font-style:normal}.text-button.danger{color:#a23b35}.workspace-feedback{position:sticky;bottom:12px;z-index:5;margin:0 auto;padding:10px 14px;border:1px solid #b8ddc6;border-radius:4px;background:#eff9f3;color:#247247;font-size:10px;box-shadow:0 5px 16px #2340501f}.workspace-feedback.danger{border-color:#efc2bc;background:#fff3f1;color:#9d3c35}.approval-queue{overflow:hidden}.approval-queue>a{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:18px;padding:12px 17px;border-bottom:1px solid #e2e8ee}.approval-queue>a:hover{background:#f7fafb}.approval-queue>a b,.approval-queue>a small{display:block}.approval-queue>a b{color:#29455a;font-size:12px}.approval-queue>a small{margin-top:5px;color:#7b8c99;font-size:9px}.approval-queue>a i{color:#8b6415;font-size:10px;font-style:normal}.employee-capability-panel,.rail-map-panel{overflow:hidden}.rail-geo-map-shell{position:relative;min-height:500px;background:#eef3f6}.rail-geo-map{position:relative;z-index:1;width:100%;height:500px;background:transparent}.rail-map-fallback{position:absolute;inset:0;z-index:0;width:100%;height:100%;background:#eef3f6;pointer-events:none}.rail-map-fallback .geo-grid{fill:none;stroke:#dfe7ec;stroke-width:1;stroke-dasharray:3 7}.rail-map-fallback .fallback-route-halo{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:11}.rail-map-fallback .fallback-route{fill:none;stroke:#0084a9;stroke-linecap:round;stroke-linejoin:round;stroke-width:5}.rail-map-fallback circle{fill:#fff;stroke:#006f91;stroke-width:2.2}.rail-map-status{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:#eef3f6e6;color:#587083;font-size:11px}.rail-map-status.error{color:#a3423d}.rail-map-source{position:absolute;right:10px;bottom:10px;z-index:2;display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid rgba(155,174,187,.75);border-radius:3px;background:#fffffff0;color:#64798a;font-size:8px}.rail-map-source a{color:#0e6d91;font-weight:700}.rail-geo-map-shell .maplibregl-ctrl-group{border-radius:3px;box-shadow:0 1px 5px #19314133}.rail-geo-map-shell .maplibregl-popup-content{padding:9px 11px;border-radius:3px;color:#29455a;box-shadow:0 3px 12px #1931412e}.rail-geo-map-shell .maplibregl-popup-content strong,.rail-geo-map-shell .maplibregl-popup-content span{display:block}.rail-geo-map-shell .maplibregl-popup-content strong{font-size:11px}.rail-geo-map-shell .maplibregl-popup-content span{margin-top:3px;color:#758695;font-size:8px}.employee-capability-selector{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);align-items:end;gap:20px;padding:14px 16px;border-bottom:1px solid #e2e8ee}.employee-capability-selector label span{display:block;margin-bottom:6px;color:#526a7d;font-size:10px;font-weight:700}.employee-capability-selector select,.capability-actions select,.capability-actions input{width:100%;height:36px;padding:0 9px;border:1px solid #ccd8e1;border-radius:4px;background:#fff;color:#29455a}.employee-capability-selector p{margin:0 0 8px;color:#788996;font-size:10px}.capability-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #e2e8ee}.capability-summary-grid article{min-height:112px;padding:15px;border-right:1px solid #e2e8ee}.capability-summary-grid article:last-child{border-right:0}.capability-summary-grid b{display:block;margin-bottom:10px;color:#29455a;font-size:11px}.capability-summary-grid article div{display:flex;flex-wrap:wrap;gap:5px}.capability-summary-grid span{padding:4px 6px;border-radius:3px;background:#eef5f7;color:#24667d;font-size:9px}.capability-summary-grid small{color:#84929e;font-size:9px;line-height:1.5}.capability-actions{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr))}.capability-actions form{display:grid;grid-template-columns:100px minmax(140px,1fr) auto;align-items:center;gap:8px;min-height:62px;padding:10px 15px;border-right:1px solid #e2e8ee;border-bottom:1px solid #e2e8ee}.capability-actions form:nth-child(2n){border-right:0}.capability-actions form b{color:#3a5569;font-size:10px}.capability-actions .certification-form{grid-template-columns:100px 120px minmax(130px,1fr) 150px auto;grid-column:1 / -1;border-right:0}.capability-actions .availability-form{grid-template-columns:140px minmax(190px,1fr) minmax(190px,1fr) auto;grid-column:1 / -1;border-right:0}.certification-form label{display:grid;grid-template-columns:auto minmax(100px,1fr);align-items:center;gap:6px}.certification-form label span{color:#6d8191;font-size:9px;white-space:nowrap}@media(max-width:1200px){.metrox-shell{grid-template-columns:228px minmax(0,1fr)}.metrox-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrox-kpi-grid article:nth-child(2){border-right:0}.metrox-kpi-grid article:nth-child(-n+2){border-bottom:1px solid #e1e8ee}.industry-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registry-form{grid-template-columns:repeat(2,minmax(150px,1fr))}.registry-form .primary-button{min-height:38px}.schedule-create-form{grid-template-columns:repeat(2,minmax(180px,1fr))}.schedule-workspace-grid{grid-template-columns:250px minmax(0,1fr)}.manual-assignment-panel{grid-template-columns:1fr}.capability-summary-grid,.solver-run-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-summary-grid article:nth-child(2){border-right:0}.capability-summary-grid article:nth-child(-n+2){border-bottom:1px solid #e2e8ee}.capability-actions .certification-form,.capability-actions .availability-form{grid-template-columns:100px 1fr 1fr}}@media(max-width:820px){.metrox-shell{display:block}.metrox-sidebar{position:static;width:100%;height:auto}.metrox-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px}.metrox-sidebar nav p{grid-column:1 / -1}.sidebar-boundary{display:none}.enterprise-topbar{position:static;align-items:flex-start}.data-state,.user-menu{display:none}.enterprise-content{padding:16px}.metrox-dashboard-grid,.schedule-empty-grid{grid-template-columns:1fr}.schedule-empty-grid aside{border-top:1px solid #e1e8ee;border-left:0}.industry-template-grid,.capability-grid{grid-template-columns:1fr}.catalog-form{grid-template-columns:1fr 1fr}.rail-rule-table{overflow-x:auto}.rail-rule-table header,.rail-rule-table article{min-width:760px}.schedule-workspace-grid{grid-template-columns:1fr}.schedule-plan-list{max-height:340px;overflow-y:auto}.schedule-command-bar{align-items:flex-start;flex-wrap:wrap}.schedule-command-bar>span{width:100%;margin-left:0;text-align:left}.manual-assignment-panel form{grid-template-columns:1fr 1fr}.employee-capability-selector,.capability-actions{grid-template-columns:1fr}.rail-geo-map-shell,.rail-geo-map{min-height:420px;height:420px}.rail-map-source{left:8px;right:8px;align-items:flex-start;flex-direction:column}.capability-actions form,.capability-actions .certification-form,.capability-actions .availability-form{grid-column:auto;grid-template-columns:1fr 1fr;border-right:0}}@media(max-width:560px){.metrox-kpi-grid{grid-template-columns:1fr}.metrox-kpi-grid article{border-right:0;border-bottom:1px solid #e1e8ee}.metrox-kpi-grid article:last-child{border-bottom:0}.page-heading{align-items:flex-start;flex-direction:column}.metrox-empty-state{grid-template-columns:36px minmax(0,1fr)}.metrox-empty-state .ghost-button{grid-column:1 / -1}.segmented-view{max-width:100%;overflow-x:auto}.registry-form,.catalog-form,.schedule-create-form,.manual-assignment-panel form{grid-template-columns:1fr}.schedule-state-flow{overflow-x:auto;grid-template-columns:repeat(5,minmax(90px,1fr))}.capability-summary-grid{grid-template-columns:1fr}.capability-summary-grid article{border-right:0;border-bottom:1px solid #e2e8ee}.capability-actions form,.capability-actions .certification-form,.capability-actions .availability-form{grid-template-columns:1fr}}.metrox-logo-window{display:block;overflow:hidden;background:#fff}.metrox-logo-window img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 47%}.metrox-login{grid-template-columns:minmax(600px,1.18fr) minmax(430px,.82fr);background:#f1f4f8}.metrox-login .login-brand-pane{justify-content:flex-start;padding:42px 60px 34px;background:#071b36;background-image:none}.metrox-login .login-brand-lockup{justify-content:space-between}.metrox-login .login-brand-lockup>span{padding:7px 10px;border:1px solid #294763;border-radius:4px;color:#a9bfd5;font-size:11px}.login-logo-window{width:250px;height:122px;border-radius:6px}.login-product-story{width:min(720px,100%);margin:auto 0;padding:58px 0 72px}.login-product-story .eyebrow{color:#68b9ff}.login-product-story h1{margin:0;color:#f5f8fc;font-size:clamp(38px,4vw,62px);line-height:1.18;letter-spacing:0}.login-product-story h1 em{color:#4d8dff;font-style:normal}.login-product-story>p:not(.eyebrow){max-width:590px;margin:22px 0 0;color:#9eb3c9;font-size:15px;line-height:1.8}.login-workflow-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:44px;border-top:1px solid #31506e}.login-workflow-rail article{position:relative;min-height:84px;padding:18px 16px 0 0}.login-workflow-rail article:before{position:absolute;top:-4px;left:0;width:8px;height:8px;border-radius:50%;background:#4d8dff;content:""}.login-workflow-rail span,.login-workflow-rail b{display:block}.login-workflow-rail span{color:#4d8dff;font:700 11px Consolas,monospace}.login-workflow-rail b{margin-top:8px;color:#eaf1f8;font-size:16px}.metrox-login .login-principles{margin-top:auto}.metrox-login .login-principles span{display:grid;gap:5px;color:#7f98b0;line-height:1.45;text-align:left}.metrox-login .login-principles b{color:#dce7f1;font-size:12px}.metrox-login .login-form-pane{padding:44px;background:#f1f4f8}.metrox-login .login-form-card{width:min(460px,100%);padding:40px;border:0;border-top:4px solid #1554e8;border-radius:6px;box-shadow:0 20px 52px #1025421f}.metrox-login .login-form-card h2{margin:0;color:#071b36;font-size:28px}.login-mobile-brand{display:none}.quick-login-panel{display:grid;grid-template-columns:1fr repeat(3,auto);align-items:center;gap:6px;margin-top:18px;padding-top:16px;border-top:1px solid #e1e7ee}.quick-login-panel>div b,.quick-login-panel>div span{display:block}.quick-login-panel>div b{color:#263d53;font-size:11px}.quick-login-panel>div span{margin-top:3px;color:#8997a5;font-size:9px}.quick-login-panel button{display:grid;width:42px;height:38px;place-items:center;border:1px solid #d5dfe8;border-radius:4px;background:#f8fafc;color:#28516e}.quick-login-panel button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.quick-login-panel button:hover{border-color:#1554e8;background:#eff4ff;color:#1554e8}.metrox-brand{justify-content:center;min-height:90px;padding:0 4px 13px}.metrox-shell .primary-button,.metrox-login .primary-button{background:#1554e8!important}.metrox-sidebar nav a.router-link-active{border-left-color:#4d8dff;background:#163758}.metrox-sidebar nav a.router-link-active svg{color:#70a2ff}.product-switcher a.active{background:#24539a}.sidebar-logo-window{width:190px;height:88px;border-radius:5px}.dashboard-heading{align-items:center}.dashboard-primary-action{display:inline-flex;min-height:40px;align-items:center;gap:8px;padding:0 16px;color:#fff;font-size:12px;font-weight:800}.quick-start-panel{overflow:hidden}.setup-progress{color:#1554e8;font-size:11px;font-weight:800}.quick-start-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.quick-start-flow>a{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:112px;padding:20px 18px;border-right:1px solid #e1e8ee;color:#6d8090}.quick-start-flow>a:last-child{border-right:0}.quick-start-flow>a:hover,.quick-start-flow>a.current{background:#f5f8ff}.quick-start-flow>a.current{box-shadow:inset 0 -3px #1554e8}.quick-start-flow .step-number{position:absolute;top:10px;left:12px;color:#8b99a6;font:700 9px Consolas,monospace}.quick-start-flow svg{color:#496b82}.quick-start-flow a.complete svg,.quick-start-flow a.complete .step-number{color:#16855d}.quick-start-flow b,.quick-start-flow small{display:block}.quick-start-flow b{color:#1d3a51;font-size:13px}.quick-start-flow small{margin-top:6px;color:#7c8c99;font-size:10px}.quick-start-flow i{padding:4px 6px;border-radius:3px;background:#eef3f6;color:#667d8e;font-size:9px;font-style:normal;white-space:nowrap}.quick-start-flow a.current i{background:#e8efff;color:#1554e8}.quick-start-flow a.complete i{background:#eaf7f1;color:#1b7856}.focused-entry-panel{overflow:hidden}.focused-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.focused-entry-grid>a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:76px;padding:14px 18px;border-right:1px solid #e1e8ee;color:#537086}.focused-entry-grid>a:last-child{border-right:0}.focused-entry-grid>a:hover{background:#f7f9fc;color:#1554e8}.focused-entry-grid b,.focused-entry-grid span{display:block}.focused-entry-grid b{color:#213f56;font-size:12px}.focused-entry-grid span{margin-top:4px;color:#7e8e9b;font-size:9px}.practice-reference-section{margin-top:6px;padding-top:20px;border-top:1px solid #d9e2ea}.section-intro-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px}.section-intro-row h3{margin:0;color:#16324a;font-size:20px}.section-intro-row p:not(.eyebrow){margin:6px 0 0;color:#6f8191;font-size:11px}.practice-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.practice-reference-grid article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;min-height:190px;padding:18px;border:1px solid #dbe3ea;border-radius:6px;background:#fff}.practice-reference-grid article>svg{color:#1554e8}.practice-reference-grid span{color:#1554e8;font-size:9px;font-weight:800}.practice-reference-grid h4{margin:7px 0;color:#213e55;font-size:14px}.practice-reference-grid p{margin:0;color:#6d7f8e;font-size:10px;line-height:1.7}.practice-reference-grid a{display:inline-flex;grid-column:2;align-items:center;gap:5px;align-self:end;color:#1554e8;font-size:10px;font-weight:800}.practice-loading{margin:0;padding:22px;border:1px solid #dbe3ea;background:#fff;color:#7b8c99;font-size:11px}@media(max-width:1200px){.quick-start-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-start-flow>a:nth-child(2){border-right:0}.quick-start-flow>a:nth-child(-n+2){border-bottom:1px solid #e1e8ee}.practice-reference-grid{grid-template-columns:1fr}}@media(max-width:1024px){.metrox-login{grid-template-columns:1fr}.metrox-login .login-brand-pane{display:none}.login-mobile-brand{display:block;width:190px;height:86px;margin:-16px 0 18px}.focused-entry-grid{grid-template-columns:1fr}.focused-entry-grid>a{border-right:0;border-bottom:1px solid #e1e8ee}}@media(max-width:620px){.metrox-login .login-form-pane{padding:18px}.metrox-login .login-form-card{padding:28px 22px}.quick-start-flow{grid-template-columns:1fr}.quick-start-flow>a{border-right:0;border-bottom:1px solid #e1e8ee}.section-intro-row{align-items:flex-start;flex-direction:column}}.login-starfield{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}.metrox-login .login-brand-pane{isolation:isolate;overflow:hidden;background:linear-gradient(145deg,#06162b,#08223e 56%,#071a31)}.metrox-login .login-brand-pane:before{position:absolute;z-index:0;content:"";pointer-events:none}.metrox-login .login-brand-pane:before{right:-12%;bottom:18%;width:62%;height:1px;background:linear-gradient(90deg,transparent,rgba(91,175,255,.65),transparent);box-shadow:0 -76px #5bafff14,0 76px #5bafff14;transform:rotate(-18deg)}.metrox-login .login-brand-pane>:not(.login-starfield){position:relative;z-index:1}.metrox-login .login-workflow-rail{grid-template-columns:repeat(5,minmax(0,1fr))}.metrox-login .login-product-story{padding-bottom:54px}.metrox-login .login-product-story h1{max-width:780px;font-size:52px}.metrox-login .login-form-card{position:relative;overflow:hidden}.metrox-login .login-form-card:before{position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,#1554e8,#2f8eea,#20a6a3);content:""}.metrox-login .quick-login-panel{grid-template-columns:1fr}.metrox-login .quick-login-panel>div{display:flex;align-items:baseline;justify-content:space-between}.metrox-login .quick-login-panel>button{display:flex;width:100%;height:38px;align-items:center;justify-content:flex-start;gap:9px;padding:0 11px}.metrox-login .quick-login-panel>button span{position:static;width:auto;height:auto;overflow:visible;clip:auto;color:inherit;font-size:10px;font-weight:700}.guided-scheduling-page{max-width:1280px}.guided-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 0 13px;border-bottom:1px solid #d7e1e9}.guided-page-header h2{margin:0;color:#132f48;font-size:27px}.guided-page-header>div>p:last-child{margin:8px 0 0;color:#64798a;font-size:12px}.guided-header-actions{display:flex;align-items:center;gap:10px}.guided-header-actions .ghost-button{display:inline-flex;min-height:36px;align-items:center;gap:7px;padding:0 12px}.workflow-saved-state{display:inline-flex;align-items:center;gap:6px;color:#287052;font-size:10px;white-space:nowrap}.guided-time-estimate{display:inline-flex;min-height:34px;align-items:center;gap:7px;padding:0 10px;border:1px solid #cfdbe4;border-radius:4px;background:#fff;color:#4d677b;font-size:10px;white-space:nowrap}.guided-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;border:1px solid #d8e2ea;border-radius:6px;background:#fff}.guided-stepper button{position:relative;display:grid;min-height:72px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;padding:10px 14px;border-right:1px solid #e2e8ed;background:#fff;color:#738493;text-align:left}.guided-stepper button:last-child{border-right:0}.guided-stepper button:after{position:absolute;right:0;bottom:0;left:0;height:3px;background:transparent;content:""}.guided-stepper button.active{background:#f4f8ff;color:#174f84}.guided-stepper button.active:after{background:#1554e8}.guided-stepper button.complete{color:#1c7656}.guided-stepper button>i{display:grid;width:28px;height:28px;place-items:center;border:1px solid #c9d5df;border-radius:50%;color:#687d8e;font-size:10px;font-style:normal;font-weight:800}.guided-stepper button.active>i{border-color:#1554e8;background:#1554e8;color:#fff}.guided-stepper button.complete>i{border-color:#29956c;background:#eaf7f1;color:#1b7856}.guided-stepper b,.guided-stepper small{display:block}.guided-stepper b{color:inherit;font-size:11px}.guided-stepper small{margin-top:4px;color:#8a98a4;font-size:9px}.guided-stage{min-height:540px;overflow:hidden}.guided-stage-heading{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:13px;padding:20px 22px;border-bottom:1px solid #e1e8ed}.guided-stage-heading.result,.guided-stage-heading:has(>i.state-label){grid-template-columns:44px minmax(0,1fr) auto}.guided-stage-heading>span{display:grid;width:42px;height:42px;place-items:center;border:1px solid #c8d7e3;border-radius:6px;background:#edf5fb;color:#176a98}.guided-stage-heading p,.guided-stage-heading h3,.guided-stage-heading small{margin:0}.guided-stage-heading p{color:#1554e8;font-size:9px;font-weight:800}.guided-stage-heading h3{margin-top:4px;color:#18354d;font-size:19px}.guided-stage-heading small{display:block;margin-top:5px;color:#718494;font-size:10px}.guided-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:24px}.guided-form-grid label{min-width:0}.guided-form-grid label.wide{grid-column:span 2}.guided-form-grid label>span,.guided-textarea-label>span,.guided-note-field>span{display:flex;justify-content:space-between;margin-bottom:7px;color:#415c71;font-size:10px;font-weight:800}.guided-form-grid input,.guided-form-grid select,.guided-textarea-label textarea,.guided-note-field textarea{width:100%;border:1px solid #cbd6df;border-radius:4px;background:#fff;color:#183249;font:inherit;outline:none}.guided-form-grid input,.guided-form-grid select{height:40px;padding:0 11px}.guided-form-grid input:disabled{background:#f5f8fa;color:#536d80}.guided-textarea-label textarea,.guided-note-field textarea{padding:11px 12px;line-height:1.65;resize:vertical}.guided-form-grid input:focus,.guided-form-grid select:focus,.guided-textarea-label textarea:focus,.guided-note-field textarea:focus{border-color:#2b70d9;box-shadow:0 0 0 3px #1554e814}.guided-inline-tip,.guided-generation-boundary{display:flex;align-items:center;gap:11px;margin:0 24px 22px;padding:12px 14px;border-left:3px solid #d69a24;background:#fff9eb;color:#6b6148}.guided-inline-tip span,.guided-generation-boundary span{display:grid;gap:3px;font-size:10px;line-height:1.5}.guided-inline-tip b,.guided-generation-boundary b{color:#463d28;font-size:11px}.guided-people-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px;padding:24px}.guided-textarea-label{display:block}.guided-textarea-label>span b{color:#1554e8}.guided-people-layout>div>.text-button{margin-top:8px}.reference-roster-box{display:flex;min-height:310px;flex-direction:column;align-items:flex-start;padding:22px;border:1px dashed #bfcdd8;border-radius:6px;background:#f8fafc;color:#326681}.reference-roster-box h4{margin:16px 0 8px;color:#203f56;font-size:15px}.reference-roster-box p{margin:0;color:#6f8190;font-size:10px;line-height:1.7}.reference-upload{display:inline-flex;min-height:38px;align-items:center;gap:7px;margin-top:18px;padding:0 12px;cursor:pointer}.reference-upload input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.reference-template-button{margin-top:7px;padding-left:0}.reference-result{display:flex;align-items:flex-start;gap:8px;margin-top:auto;padding-top:18px;color:#24724d}.reference-result span,.reference-result b{display:block}.reference-result span{font-size:9px;line-height:1.5}.reference-result b{color:#24583f;font-size:10px}.guided-rule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:24px 24px 10px}.guided-rule-list label{display:grid;min-height:94px;grid-template-columns:20px minmax(0,1fr) auto;align-items:flex-start;gap:10px;padding:15px;border:1px solid #d8e1e8;border-radius:5px;background:#fff}.guided-rule-list label:has(input:checked){border-color:#9ab6d9;background:#f7faff}.guided-rule-list input{width:15px;height:15px;margin-top:2px;accent-color:#1554e8}.guided-rule-list b,.guided-rule-list small{display:block}.guided-rule-list b{color:#263f54;font-size:12px}.guided-rule-list small{margin-top:6px;color:#748593;font-size:9px;line-height:1.55}.guided-rule-list i{color:#7c8c98;font-size:8px;font-style:normal}.guided-note-field{display:block;padding:10px 24px 24px}.guided-review-grid,.guided-result-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:24px}.guided-review-grid article,.guided-result-summary article{min-height:108px;padding:16px;border:1px solid #dce4ea;border-right:0;background:#fff}.guided-review-grid article:first-child,.guided-result-summary article:first-child{border-radius:5px 0 0 5px}.guided-review-grid article:last-child,.guided-result-summary article:last-child{border-right:1px solid #dce4ea;border-radius:0 5px 5px 0}.guided-review-grid span,.guided-review-grid b,.guided-review-grid small,.guided-result-summary span,.guided-result-summary b{display:block}.guided-review-grid span,.guided-result-summary span{color:#728493;font-size:9px}.guided-review-grid b,.guided-result-summary b{margin-top:9px;color:#213f55;font-size:14px}.guided-result-summary b{font-size:24px}.guided-review-grid small{margin-top:8px;overflow:hidden;color:#6e8190;font-size:9px;line-height:1.55;text-overflow:ellipsis}.guided-stage>.system-alert{margin:0 24px 18px}.guided-generation-boundary{border-left-color:#19799a;background:#f1f8fb;color:#4d6d7e}.guided-generation-boundary b{color:#214a60}.guided-result-table{margin:0 24px;overflow-x:auto;border:1px solid #dbe3e9;border-radius:5px}.guided-result-table table{width:100%;min-width:760px;border-collapse:collapse}.guided-result-table th,.guided-result-table td{height:44px;padding:9px 12px;border-bottom:1px solid #e4eaee;color:#506779;font-size:10px;text-align:left}.guided-result-table th{height:38px;background:#f5f8fa;color:#6f8190;font-weight:800}.guided-result-table td b,.guided-result-table td small{display:block}.guided-result-table td b{color:#243f54}.guided-result-table td small{margin-top:3px;color:#85939e;font-size:8px}.guided-violation-list{display:grid;gap:7px;margin:14px 24px 0;padding:13px 14px;border-left:3px solid #c85248;background:#fff4f2}.guided-violation-list b{color:#873a34;font-size:10px}.guided-violation-list span{color:#8c504b;font-size:9px}.guided-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:18px 24px 24px}.guided-result-actions .primary-button,.guided-result-actions .ghost-button,.guided-stage-footer .primary-button,.guided-stage-footer .ghost-button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;padding:0 13px}.guided-feedback{margin:0 24px 16px;padding:10px 12px;border-left:3px solid #26845b;background:#eff8f3;color:#2b6d4e;font-size:10px}.guided-feedback.danger{border-left-color:#c54b43;background:#fff2f0;color:#913f39}.guided-stage-footer{display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:12px 24px;border-top:1px solid #e1e8ed;background:#fafcfd}.employee-manager-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px 12px}.employee-manager-toolbar>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.employee-manager-toolbar .primary-button,.employee-manager-toolbar .ghost-button,.employee-manager-toolbar .text-button{display:inline-flex;min-height:36px;align-items:center;gap:7px;padding:0 11px}.employee-import-button{position:relative;cursor:pointer}.employee-import-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.employee-manager-table,.candidate-assessment-table{margin:0 22px;overflow-x:auto;border:1px solid #d8e2e9;border-radius:5px;background:#fff}.employee-manager-table table,.candidate-assessment-table table{width:100%;min-width:1120px;border-collapse:collapse}.candidate-assessment-table table{min-width:960px}.employee-manager-table th,.employee-manager-table td,.candidate-assessment-table th,.candidate-assessment-table td{padding:8px 9px;border-bottom:1px solid #e4eaef;color:#4b6477;font-size:10px;text-align:left;vertical-align:middle}.employee-manager-table th,.candidate-assessment-table th{height:38px;background:#f4f7f9;color:#5f7485;font-weight:800;white-space:nowrap}.employee-manager-table tbody tr:last-child td,.candidate-assessment-table tbody tr:last-child td{border-bottom:0}.employee-manager-table input,.employee-manager-table select{width:100%;min-width:82px;height:34px;padding:0 8px;border:1px solid #cbd7e0;border-radius:3px;background:#fff;color:#213d54;font:inherit;outline:none}.employee-manager-table input:focus,.employee-manager-table select:focus{border-color:#2b70d9;box-shadow:0 0 0 2px #1554e814}.employee-manager-table select.availability-ready{border-color:#9fcbb8;background:#f1faf5;color:#247454}.employee-manager-table select.availability-blocked{border-color:#e3b2ae;background:#fff5f3;color:#a24b44}.employee-hours-inputs{display:grid;min-width:125px;grid-template-columns:1fr auto 1fr;align-items:center;gap:5px}.employee-hours-inputs input{min-width:48px}.employee-delete-button{display:grid;width:32px;height:32px;place-items:center;border:1px solid transparent;border-radius:3px;background:transparent;color:#758694}.employee-delete-button:hover:not(:disabled){border-color:#e5b6b2;background:#fff5f3;color:#aa4a43}.employee-delete-button:disabled{cursor:not-allowed;opacity:.35}.employee-manager-note{display:flex;align-items:center;gap:9px;margin:12px 22px 22px;padding:10px 12px;border-left:3px solid #4b819f;background:#f2f7fa;color:#587184;font-size:10px;line-height:1.55}.constraint-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px 22px 10px}.constraint-groups>section{overflow:hidden;border:1px solid #d9e2e9;border-radius:5px;background:#fff}.constraint-groups>section>header{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 14px;border-bottom:1px solid #e3e9ee;background:#f5f8fa;color:#285673}.constraint-groups header b,.constraint-groups header small{display:block}.constraint-groups header b{color:#28485f;font-size:12px}.constraint-groups header small{margin-top:3px;color:#7b8c98;font-size:9px}.constraint-groups section>label{display:grid;min-height:72px;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:9px;padding:13px 14px;border-bottom:1px solid #edf1f4}.constraint-groups section>label:last-child{border-bottom:0}.constraint-groups input{width:15px;height:15px;margin-top:2px;accent-color:#1554e8}.constraint-groups label b,.constraint-groups label small{display:block}.constraint-groups label b{color:#2c475c;font-size:11px}.constraint-groups label small{margin-top:5px;color:#758693;font-size:9px;line-height:1.5}.constraint-groups label i{color:#7d8d99;font-size:8px;font-style:normal;white-space:nowrap}.candidate-assessment-table{margin-top:0}.candidate-assessment-table td{line-height:1.45}.candidate-assessment-table td b,.candidate-assessment-table td small{display:block}.candidate-assessment-table td b{color:#254257}.candidate-assessment-table td small{margin-top:3px;color:#81909b;font-size:8px}.candidate-assessment-table tr.blocked{background:#fcf7f6}.eligibility-label{display:inline-flex;align-items:center;gap:5px;font-weight:800;white-space:nowrap}.eligibility-label.eligible{color:#227653}.eligibility-label.blocked{color:#a44b44}.state-label.neutral{border-color:#c5d4df;background:#f5f8fa;color:#546f82}.guided-permission-note{margin:-8px 24px 20px;color:#8c6740;font-size:10px}.dashboard-guide-card{display:grid;grid-template-columns:44px minmax(0,1fr);align-content:start;gap:7px 12px;padding:20px}.dashboard-guide-icon{display:grid;width:42px;height:42px;grid-row:span 2;place-items:center;border-radius:5px;background:#eaf1ff;color:#1554e8}.dashboard-guide-card h3{margin:0;color:#203e55;font-size:16px}.dashboard-guide-card ol{display:grid;grid-column:1 / -1;gap:10px;margin:18px 0;padding-left:22px;color:#64798a;font-size:10px}.dashboard-guide-card li::marker{color:#1554e8;font-weight:800}.dashboard-guide-card .primary-button{display:inline-flex;min-height:39px;grid-column:1 / -1;align-items:center;justify-content:center;gap:8px}.rail-simulation-badge{padding:7px 10px;border:1px solid #b8d5df;border-radius:4px;background:#eff8fa;color:#176b82;font-size:10px;font-weight:800;white-space:nowrap}.line-summary-bar.operational{grid-template-columns:48px minmax(0,1fr) auto}.line-summary-bar.operational dl{display:grid;grid-template-columns:repeat(3,auto);gap:22px;margin:0}.line-summary-bar.operational dl div{display:grid;gap:3px}.line-summary-bar.operational dt{color:#78909f;font-size:8px}.line-summary-bar.operational dd{margin:0;color:#284a60;font-size:12px;font-weight:800}.rail-direction-legend{display:flex;gap:8px}.rail-direction-legend span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #d4dfe7;border-radius:3px;color:#567184;font-size:9px}.rail-geo-map-shell{min-height:560px;background:linear-gradient(rgba(44,80,107,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(44,80,107,.045) 1px,transparent 1px),#edf3f6;background-size:36px 36px}.rail-geo-map{height:560px}.rail-live-status{position:absolute;top:12px;left:12px;z-index:4;display:grid;min-width:210px;grid-template-columns:1fr auto;gap:5px 16px;padding:10px 12px;border:1px solid rgba(158,180,194,.9);border-radius:4px;background:#fffffff2;box-shadow:0 4px 14px #203b4f1f}.rail-live-status>span{display:flex;align-items:center;gap:6px;color:#226d80;font-size:9px;font-weight:800}.rail-live-status>span i{width:7px;height:7px;border-radius:50%;background:#28a26a;box-shadow:0 0 0 4px #28a26a1a}.rail-live-status>span i.paused{background:#d08a27;box-shadow:0 0 0 4px #d08a271a}.rail-live-status b{color:#1d3e54;font:700 11px Consolas,monospace}.rail-live-status small{grid-column:1 / -1;color:#6e8190;font-size:8px}.rail-live-control{position:absolute;top:12px;right:50px;z-index:4;display:inline-flex;height:34px;align-items:center;gap:6px;padding:0 10px;border:1px solid #cbd8e1;border-radius:4px;background:#fffffff5;color:#315c74;font-size:9px;font-weight:800}.rail-map-fallback circle.transfer{stroke:#ef8b23;stroke-width:3}.rail-map-legend{position:absolute;right:12px;bottom:12px;left:12px;z-index:3;display:flex;min-height:34px;align-items:center;gap:15px;padding:6px 10px;border:1px solid rgba(162,181,193,.85);border-radius:3px;background:#fffffff0;color:#617787;font-size:8px}.rail-map-legend span{display:flex;align-items:center;gap:5px}.rail-map-legend i{width:9px;height:9px;border:2px solid #006f91;border-radius:50%;background:#fff}.rail-map-legend i.transfer{width:11px;height:11px;border-color:#ef8b23;border-width:3px}.rail-map-legend i.train{width:11px;height:11px;border:3px solid #fff;background:#f26a2e;box-shadow:0 0 0 1px #dd5e28}.rail-map-legend small{margin-left:auto;color:#87949e;font-size:7px}.transfer-station-panel{overflow:hidden}.transfer-station-panel .panel-heading>span{color:#e07624;font-size:10px;font-weight:800}.line10-station-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.line10-station-grid article{position:relative;display:grid;min-height:88px;grid-template-columns:24px 14px minmax(0,1fr);align-items:start;gap:7px;padding:15px 10px;border-right:1px solid #e3e9ee;border-bottom:1px solid #e3e9ee}.line10-station-grid article:nth-child(5n){border-right:0}.line10-station-grid article>span{color:#83939f;font:700 8px Consolas,monospace}.line10-station-grid article>i{width:12px;height:12px;margin-top:1px;border:3px solid #0084a9;border-radius:50%;background:#fff}.line10-station-grid article.transfer>i{border-color:#ef8b23}.line10-station-grid b,.line10-station-grid small{display:block}.line10-station-grid b{color:#2a465a;font-size:10px}.line10-station-grid small{margin-top:6px;color:#8996a1;font-size:8px}.line10-station-grid p{display:flex;flex-wrap:wrap;gap:3px;margin:6px 0 0}.line10-station-grid em{padding:2px 4px;border-radius:2px;background:#fff1e5;color:#a45117;font-size:7px;font-style:normal}.rail-workflow-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #d8e2e9;border-radius:5px;background:#fff}.rail-workflow-stepper span{position:relative;display:flex;min-height:54px;align-items:center;gap:8px;padding:9px 14px;border-right:1px solid #e2e8ed;color:#748694}.rail-workflow-stepper span:last-child{border-right:0}.rail-workflow-stepper i{display:grid;width:25px;height:25px;place-items:center;border:1px solid #c7d3dc;border-radius:50%;font-size:9px;font-style:normal}.rail-workflow-stepper b{font-size:10px}.rail-workflow-stepper span.active{box-shadow:inset 0 -3px #1554e8;color:#1554e8}.rail-workflow-stepper span.active i{border-color:#1554e8;background:#1554e8;color:#fff}.rail-workflow-stepper span.complete{color:#24825d}.rail-workflow-stepper span.complete i{border-color:#2f976f;background:#edf8f3}.guided-upload-panel .upload-row{min-height:112px;align-items:center}@media(max-width:1100px){.constraint-groups{grid-template-columns:1fr}.guided-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-stepper{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto}.guided-review-grid,.guided-result-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-review-grid article:nth-child(2),.guided-result-summary article:nth-child(2){border-right:1px solid #dce4ea}.line10-station-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.line10-station-grid article:nth-child(5n){border-right:1px solid #e3e9ee}.line10-station-grid article:nth-child(3n){border-right:0}}@media(max-width:760px){.guided-page-header,.line-summary-bar.operational{align-items:flex-start;flex-direction:column}.guided-header-actions,.employee-manager-toolbar{width:100%;align-items:flex-start;flex-direction:column}.guided-header-actions{flex-direction:column-reverse}.employee-manager-toolbar>div{width:100%}.employee-manager-toolbar .primary-button,.employee-manager-toolbar .ghost-button{flex:1 1 160px}.guided-stage-heading,.guided-stage-heading.result,.guided-stage-heading:has(>i.state-label){grid-template-columns:40px minmax(0,1fr)}.guided-stage-heading>i.state-label{grid-column:2;justify-self:start}.guided-people-layout,.guided-rule-list,.guided-form-grid,.guided-review-grid,.guided-result-summary{grid-template-columns:1fr}.guided-form-grid label.wide{grid-column:auto}.guided-review-grid article,.guided-result-summary article{border-right:1px solid #dce4ea;border-radius:0}.guided-review-grid article:first-child,.guided-result-summary article:first-child{border-radius:5px 5px 0 0}.guided-review-grid article:last-child,.guided-result-summary article:last-child{border-radius:0 0 5px 5px}.guided-stage-footer{align-items:stretch;flex-direction:column-reverse;gap:8px}.line-summary-bar.operational{display:flex}.line-summary-bar.operational dl{width:100%;justify-content:space-between}.rail-geo-map-shell,.rail-geo-map{min-height:470px;height:470px}.rail-live-status{right:52px;min-width:0}.rail-live-control span,.rail-map-legend small{display:none}.rail-map-legend{overflow-x:auto;white-space:nowrap}.line10-station-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.line10-station-grid article:nth-child(3n){border-right:1px solid #e3e9ee}.line10-station-grid article:nth-child(2n){border-right:0}.rail-workflow-stepper{grid-template-columns:repeat(4,minmax(120px,1fr));overflow-x:auto}}.enterprise-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh;background:#f2f5f8}.enterprise-sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;padding:18px 12px;background:#102a43;color:#d8e4ee}.enterprise-brand{display:flex;align-items:center;gap:10px;min-height:58px;padding:0 8px 18px;border-bottom:1px solid #28445d}.metrox-brand{justify-content:flex-start;min-height:58px;padding:0 8px 18px}.metrox-logo-window.sidebar-logo-window{display:inline-flex;width:auto;height:38px;align-items:center;gap:9px;overflow:visible;border-radius:0;background:transparent;color:#f5f9ff;font-size:17px;font-weight:800}.metrox-logo-window.sidebar-logo-window img{width:38px;height:38px;object-fit:contain;filter:brightness(0) invert(1)}.sidebar-logo-window em{color:#5aa1ff;font-style:normal}.enterprise-sidebar nav{flex:1;overflow:auto;padding:2px 0 12px}.enterprise-sidebar nav p{margin:17px 10px 7px;color:#6f8aa1;font-size:10px;font-weight:800}.enterprise-sidebar nav a{display:flex;min-height:36px;align-items:center;gap:10px;padding:0 10px;border-left:2px solid transparent;color:#b8c9d7;font-size:12px}.enterprise-sidebar nav a:hover{background:#173852;color:#fff}.enterprise-sidebar nav a.router-link-active{border-left-color:#42c1c7;background:#1b405c;color:#fff}.sidebar-boundary{display:grid;gap:5px;margin:10px 5px 0;padding:12px;border-top:1px solid #2a465f;color:#91a8bc;font-size:10px;line-height:1.55}.sidebar-boundary b{color:#d3e0e9}.enterprise-workspace{min-width:0}.enterprise-topbar{position:sticky;top:0;z-index:20;display:flex;min-height:68px;align-items:center;justify-content:space-between;padding:10px 24px;border-bottom:1px solid #d9e1e9;background:#fffffff7}.enterprise-topbar p{margin:0 0 3px;color:#77889a;font-size:10px}.enterprise-topbar h1{margin:0;color:#16324a;font-size:19px}.topbar-actions{display:flex;align-items:center;gap:10px}.data-state{padding:7px 10px;border:1px solid #d6e1e8;border-radius:4px;background:#f7fafc;color:#4d6477;font-size:10px}.data-state i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#35b26f}.user-menu{padding-left:12px;border-left:1px solid #dbe3ea;text-align:right}.user-menu b,.user-menu span{display:block}.user-menu b{color:#20394e;font-size:12px}.user-menu span{margin-top:2px;color:#7b8b9a;font-size:9px}.icon-command{display:grid;width:34px;height:34px;place-items:center;border:1px solid #d7e0e8;border-radius:4px;background:#fff;color:#365069}.enterprise-content{padding:22px 24px 40px}.business-page{display:grid;max-width:1600px;gap:16px;margin:0 auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 0 12px;border-bottom:1px solid #d8e1e9}.page-heading.compact{align-items:center}.page-heading h2{margin:0;color:#16324a;font-size:25px}.page-heading p:not(.eyebrow){max-width:830px;margin:7px 0 0;color:#64788b;font-size:13px;line-height:1.65}.eyebrow{margin:0 0 8px;color:#18789a;font-size:11px;font-weight:800}.classification-note{padding:7px 10px;border:1px solid #dccd9b;border-radius:4px;background:#fff9e8;color:#765b12;font-size:10px;white-space:nowrap}.business-panel{border:1px solid #dbe3ea;border-radius:6px;background:#fff;box-shadow:0 2px 8px #13314b0a}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border-bottom:1px solid #e3e9ef}.panel-heading h3{margin:0;color:#20394e;font-size:15px}.panel-heading p{margin:4px 0 0;color:#7b8c9b;font-size:10px}.primary-button,.ghost-button,.text-button{font:inherit;cursor:pointer}.primary-button{border-radius:4px!important;background:#0f6d9c!important;box-shadow:none!important}.ghost-button{border-radius:4px!important}.text-button{padding:5px 8px;border:0;background:transparent;color:#0f6d9c;font-size:11px;font-weight:700}@media(max-width:1100px){.enterprise-shell{grid-template-columns:200px minmax(0,1fr)}}@media(max-width:760px){.enterprise-shell{display:block}.enterprise-sidebar{position:static;width:100%;height:auto}.enterprise-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.enterprise-sidebar nav p,.sidebar-boundary{display:none}.enterprise-topbar{position:static;padding:10px 14px}.data-state,.user-menu{display:none}.enterprise-content{padding:14px}.page-heading{align-items:flex-start;flex-direction:column}}
