.voice-hint {
  margin: 7px 2px 0;
  color: var(--muted);
  font-size: 10px;
  text-align: center;
}

.actions button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.pending-file img {
  width: 44px;
  height: 44px;
  margin-right: 8px;
  border-radius: 8px;
  object-fit: cover;
}

.file img {
  display: block;
  width: 100%;
  max-height: 180px;
  margin-bottom: 7px;
  border-radius: 8px;
  object-fit: cover;
}

.file span { display: block; }

.preview-dialog { width: min(920px, calc(100% - 24px)); }
.preview-dialog img { width: 100%; max-height: 75vh; object-fit: contain; }
.preview-dialog button { position: sticky; top: 0; max-width: 120px; margin-bottom: 10px; }

.retry-command {
  margin-top: 8px;
  padding: 7px 10px;
  border: 1px solid var(--red);
  border-radius: 9px;
  color: var(--red);
  background: #fff;
  font-size: 11px;
  font-weight: 800;
}

.mobile-summary { width: 92%; max-width: 92%; }
.mobile-summary > strong { display: block; margin-bottom: 8px; }
.mobile-summary section + section { margin-top: 8px; }
.mobile-summary b { font-size: 11px; }
.mobile-summary ul { margin: 4px 0 0; padding-left: 18px; }
.mobile-summary li + li { margin-top: 3px; }
.live-progress { border-left: 3px solid var(--accent); opacity: .92; }
.live-progress ol { margin: 8px 0 0; padding-left: 20px; color: var(--muted); }
.live-progress li[aria-current="step"] { color: var(--text); font-weight: 650; }
