/*
 * Панель ассистента и trace runs (таск 06). Тот же стиль, что application.css:
 * белые карточки на светло-сером фоне, зелёный акцент.
 */

.assistant-panel {
  margin-top: 24px;
  padding: 16px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 10px;
}

.assistant-frame { display: block; width: 100%; }

.assistant-panel__title { margin: 0 0 12px; font-size: 18px; }

.assistant-message {
  display: flex; flex-direction: column; align-items: flex-start;
  margin-bottom: 14px;
}
.assistant-message--user { align-items: flex-end; }
.assistant-message__role {
  margin-top: 4px;
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--muted);
}
.assistant-message__meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.assistant-message__meta .badge { margin-top: 0; text-transform: none; letter-spacing: normal; }
.assistant-message__meta a { text-transform: none; }
.assistant-message__content {
  max-width: 75%; padding: 10px 14px; border-radius: 12px;
  overflow-wrap: anywhere;
}
.assistant-message__content p { margin: 0; }
.assistant-message__content p + p { margin-top: 8px; }
.assistant-message--user .assistant-message__content {
  background: #e3f2e4;
}
.assistant-message--assistant .assistant-message__content {
  background: var(--bg);
}

.assistant-waiting {
  padding: 8px 10px; border-left: 3px solid var(--accent);
  color: var(--muted); font-style: italic;
}

.assistant-form { display: flex; gap: 8px; margin-top: 12px; align-items: stretch; }
.assistant-input {
  flex: 1; min-width: 0; min-height: 48px; resize: vertical;
  padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px;
  color: var(--ink);
}
.assistant-input:focus { outline: 2px solid var(--accent); outline-offset: -1px; }
.assistant-form .btn { flex: 0 0 auto; }

.badge--agent-completed { background: #e3f2e3; color: var(--accent-dark); }
.badge--agent-failed { background: #fdeaea; color: #b23b3b; }
.badge--agent-queued, .badge--agent-running { background: #fff6df; color: #9a7b1c; }
.badge--step-tool { background: #eef1f6; color: #4a5261; }
.badge--step-model { background: #f3edfa; color: #6b46a8; }

.trace-summary { margin-bottom: 16px; }
.trace-error { color: #b23b3b; }
.trace-table { width: 100%; border-collapse: collapse; background: var(--card); font-size: 13px; }
.trace-table th, .trace-table td { border: 1px solid var(--line); padding: 6px 8px; text-align: left; vertical-align: top; }
.trace-table th { background: var(--bg); }
.trace-table__mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; word-break: break-word; max-width: 420px; }
