.duration-warning {
  margin: .75rem 0 0;
  color: var(--warn);
  line-height: 1.5;
}

.dialog-progress {
  padding: 1rem;
  margin: 1rem 0;
  background: #23332d;
  border: 1px solid #3d6956;
  border-radius: 6px;
}
.dialog-progress strong { font-size: .9rem; }
.dialog-progress span {
  color: var(--muted);
  font-size: .8rem;
  font-variant-numeric: tabular-nums;
}
.update-status.checking,
.update-status.adding,
.update-status.verifying,
.update-status.removing {
  color: var(--accent);
  border-color: #3d6956;
}
.update-status.checking::before,
.update-status.adding::before,
.update-status.verifying::before,
.update-status.removing::before {
  content: '◌';
  display: inline-block;
  margin-right: .35rem;
  animation: update-spin 1s linear infinite;
}
.update-status.verified { color: var(--accent); border-color: #3d6956; }
.update-status.failed { color: var(--warn); border-color: #806844; }
.update-status.not_attempted { opacity: .65; }
.update-summary {
  padding: .85rem 1rem;
  margin: 1rem 0;
  border-radius: 6px;
}
.update-summary.applying { background: #23332d; }
.update-summary.completed { background: #20372e; color: var(--accent); border: 1px solid #3d6956; }
.update-summary.failed { background: #352e21; color: #f5d99b; border: 1px solid #756447; }
@keyframes update-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .update-status::before { animation: none !important; }
}
