/* ===== Step Hover Popup ===== */

.factory-step-popup {
  position: fixed;
  z-index: 9999;
  display: none;
  background: var(--bg-primary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 10px 14px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  min-width: 160px;
  max-width: 340px;
  max-height: 380px;
  overflow-y: auto;
}

.fsp-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.fsp-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
}

.fsp-status {
  font-size: 10px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: var(--radius-full);
  white-space: nowrap;
}

.fsp-done { background: rgba(16,185,129,0.1); color: var(--status-online); }
.fsp-active { background: var(--accent-light); color: var(--accent); }
.fsp-pending { background: var(--bg-tertiary); color: var(--text-muted); }
.fsp-error { background: rgba(239,68,68,0.1); color: #EF4444; }

.fsp-time {
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 2px;
}

.fsp-loading {
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 6px;
}

.fsp-detail-title {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-secondary);
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px solid var(--border);
}

.fsp-item {
  font-size: 11px;
  color: var(--text-primary);
  padding: 3px 0;
  line-height: 1.4;
}

.fsp-item strong {
  color: var(--accent);
}

.fsp-content {
  font-size: 11px;
  color: var(--text-secondary);
  line-height: 1.5;
  margin-top: 4px;
  white-space: pre-wrap;
  word-break: break-word;
}

.fsp-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 600;
  padding: 1px 5px;
  border-radius: var(--radius-full);
  vertical-align: middle;
}

.fsp-badge-submitted { background: rgba(16,185,129,0.1); color: var(--status-online); }
.fsp-badge-pending { background: var(--bg-tertiary); color: var(--text-muted); }
.fsp-badge-skipped { background: rgba(245,158,11,0.1); color: #F59E0B; }

.fsp-more {
  font-size: 10px;
  color: var(--accent);
  margin-top: 4px;
  cursor: pointer;
  font-weight: 500;
}
.fsp-more:hover {
  text-decoration: underline;
}

.fsp-toggle {
  font-size: 10px;
  color: var(--accent);
  cursor: pointer;
  margin-top: 6px;
  padding: 2px 0;
  font-weight: 600;
}
.fsp-toggle:hover {
  text-decoration: underline;
}

.fsp-error {
  font-size: 11px;
  color: #EF4444;
  margin-top: 4px;
}

.fsp-harness-link {
  color: var(--accent);
  text-decoration: none;
  font-size: 11px;
}
.fsp-harness-link:hover {
  text-decoration: underline;
}
