.sidebar {
  position: sticky; top: 20px; align-self: start;
  min-width: 320px; width: auto; display: flex; flex-direction: column; gap: 14px;
}
.panel {
  background: var(--panel); border: 1px solid var(--line);
  border-radius: 10px; padding: 16px;
}
.panel--vars { padding: 0; overflow: hidden; }
.panel__head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 14px; border-bottom: 1px solid var(--line2);
}
.eyebrow {
  font: 600 11px/1 var(--font-sans);
  text-transform: uppercase; letter-spacing: 0.8px;
  color: var(--muted); margin: 0 0 10px;
}
.summary__project { display: flex; align-items: center; gap: 12px; }
.summary__avatar  {
  width: 44px; height: 44px; border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font: 700 15px/1 var(--font-sans); flex-shrink: 0;
}
.summary__name { font: 600 14px/1 var(--font-sans); }
.summary__path {
  font: 11.5px/1.4 var(--font-mono); color: var(--muted);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.summary__rows {
  margin: 14px 0 0; display: flex; flex-direction: column; gap: 8px;
  font-size: 12.5px;
}
.summary__row {
  display: flex; justify-content: space-between; gap: 10px;
}
.summary__row dt { color: var(--muted); margin: 0; }
.summary__row dd { margin: 0; color: var(--ink); text-align: right; }

.target-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 4px;
}
.target-list__item {
  display: flex; align-items: center; justify-content: flex-end; gap: 8px;
}
.target-list__name { color: var(--ink); }
.target-indicators { display: inline-flex; gap: 3px; }

.indicator {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; border-radius: var(--r-sm);
  font: 700 10px/1 var(--font-sans);
}
.indicator--build  { background: var(--info-soft);    color: var(--info);    }
.indicator--deploy { background: var(--danger-soft);  color: var(--danger);  }
.indicator--upload { background: var(--success-soft); color: var(--success); }
.indicator--backup { background: var(--warn-soft);    color: var(--warn);    }
.vars {
  list-style: none; margin: 0; padding: 10px 14px;
  font: 11.5px/1.7 var(--font-mono);
  max-height: 240px; overflow-y: auto;
}
.vars li { display: flex; justify-content: space-between; }
.vars li span:last-child { color: var(--muted); }