Files
deerflow-code/web-code/components/qa/components/Sidebar.css
T
2026-05-27 19:43:15 +08:00

239 lines
3.9 KiB
CSS

.sidebar {
padding: 18px 14px;
}
.sidebar-section {
margin-bottom: 24px;
}
.sidebar-section-title {
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.8px;
color: var(--text-muted);
margin-bottom: 12px;
padding: 0 4px;
}
/* Phase stepper */
.phase-stepper {
display: flex;
flex-direction: column;
gap: 0;
}
.phase-step {
display: flex;
align-items: flex-start;
gap: 10px;
position: relative;
}
.phase-step:not(:last-child) .phase-step-line {
position: absolute;
left: 11px;
top: 24px;
bottom: 0;
width: 2px;
background: var(--border);
}
.phase-step-dot-col {
display: flex;
flex-direction: column;
align-items: center;
flex-shrink: 0;
padding-top: 3px;
}
.phase-step-dot {
width: 22px;
height: 22px;
border-radius: 50%;
border: 2px solid var(--border);
background: var(--surface);
display: flex;
align-items: center;
justify-content: center;
font-size: 10px;
font-weight: 700;
transition: all 0.2s;
position: relative;
z-index: 1;
}
.phase-step.active .phase-step-dot {
border-color: var(--accent);
background: var(--accent-soft);
color: var(--accent);
}
.phase-step.active.phase-diverging .phase-step-dot {
border-color: var(--yellow);
background: rgba(210, 153, 34, 0.15);
color: var(--yellow);
}
.phase-step.active.phase-closing .phase-step-dot {
border-color: var(--green);
background: rgba(63, 185, 80, 0.15);
color: var(--green);
}
.phase-step.done .phase-step-dot {
border-color: var(--green);
background: rgba(63, 185, 80, 0.15);
color: var(--green);
}
.phase-step-content {
flex: 1;
padding-bottom: 16px;
}
.phase-step-label {
font-size: 13px;
font-weight: 600;
color: var(--text-muted);
line-height: 22px;
transition: color 0.2s;
}
.phase-step.active .phase-step-label {
color: var(--text);
}
.phase-step.done .phase-step-label {
color: var(--text-muted);
}
.phase-step-sublabel {
font-size: 11px;
color: var(--text-muted);
margin-top: 2px;
}
/* Diverge round sub-steps */
.diverge-rounds {
display: flex;
flex-direction: column;
gap: 4px;
margin-top: 6px;
}
.diverge-round-item {
display: flex;
align-items: center;
gap: 6px;
font-size: 11px;
color: var(--text-muted);
padding: 2px 0;
}
.diverge-round-dot {
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--border);
flex-shrink: 0;
}
.diverge-round-item.active .diverge-round-dot {
background: var(--yellow);
box-shadow: 0 0 6px rgba(210, 153, 34, 0.5);
}
.diverge-round-item.done .diverge-round-dot {
background: var(--green);
}
.diverge-round-item.active {
color: var(--yellow);
}
.diverge-round-item.done {
color: var(--text-muted);
}
/* Connector line between phase steps */
.phase-connector {
width: 2px;
height: 8px;
background: var(--border);
margin-left: 10px;
}
/* Agent roster */
.agent-list {
display: flex;
flex-direction: column;
gap: 4px;
}
.agent-item {
display: flex;
align-items: center;
gap: 8px;
padding: 9px 10px;
border-radius: 10px;
transition: background 0.15s, color 0.15s, transform 0.15s;
background: transparent;
}
.agent-item-clickable {
cursor: pointer;
}
.agent-item-clickable:hover {
background: var(--surface-raised);
transform: translateX(2px);
}
.agent-item-active {
background: var(--accent-soft);
border-left: 2px solid var(--accent);
padding-left: 6px;
}
.agent-status-icon {
width: 18px;
height: 18px;
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
flex-shrink: 0;
}
.agent-status-idle {
color: var(--border);
}
.agent-status-thinking {
color: var(--yellow);
}
.agent-status-done {
color: var(--green);
}
.agent-item-info {
flex: 1;
overflow: hidden;
}
.agent-item-name {
font-size: 12px;
font-weight: 600;
color: var(--text);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.agent-item-dim {
font-size: 10px;
color: var(--text-muted);
}