/* Chat-native assistant: scoped rules, no competing chat layout overrides. */
.inline-ai-answer { --work-accent: var(--brand); --work-tint: var(--brand-pale); --work-surface: var(--surface); --work-line: var(--line); --work-text: var(--ink); --work-muted: var(--muted); }
.ai-avatar { background: var(--brand-soft); color: var(--brand-strong); border: 1px solid var(--line-strong); display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 13px; font-size: 24px; }
.composer-toolbar .ai-composer-trigger { color: var(--brand-strong); background: var(--brand-soft); border-radius: 9px; }
.inline-ai-hint { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; padding: 7px 10px; margin: 4px 0; border-radius: 10px; background: var(--brand-pale); font-size: 11px; color: var(--ink-soft); }
.inline-ai-hint[hidden] { display: none; }
.inline-ai-topic { display: flex; flex: 1 1 100%; align-items: center; flex-wrap: wrap; gap: 7px; min-width: 0; }
.inline-ai-topic label { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; min-width: 0; }
.inline-ai-topic select { max-width: min(230px, 55vw); min-width: 0; padding: 4px; border: 1px solid var(--line); border-radius: 6px; font: inherit; color: var(--ink); background: var(--surface); }
.inline-ai-topic input { flex: 0 0 auto; }
.inline-ai-hint button { border: 1px solid var(--line); border-radius: 7px; padding: 4px 7px; background: var(--surface); color: var(--brand-strong); cursor: pointer; font: inherit; }
.inline-ai-hint button:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.inline-ai-consent-notice { flex: 1 1 100%; min-width: 0; border-top: 1px solid var(--line); padding-top: .5rem; overflow-wrap: anywhere; }
.inline-ai-consent-notice p { margin: 0 0 .5rem; line-height: 1.6; color: var(--ink); }
.inline-ai-consent-notice > div { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; }
.inline-ai-consent-notice small { flex: 1 1 9rem; font-size: inherit; }
.inline-ai-consent-notice button { min-height: 2rem; }
.inline-ai-consent-notice button.primary { color: var(--surface); background: var(--brand-strong); border-color: var(--brand-strong); }
.message-row.is-ai { width: min(790px, 96%); max-width: 96%; align-items: flex-start; }
.message-row.is-ai .message-stack { flex: 1 1 auto; width: 0; min-width: 0; max-width: none; }
.message-bubble.inline-ai-answer { display: block; width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; padding: 17px 20px; border: 1px solid var(--line-strong); background: var(--surface); border-radius: 6px 18px 18px 18px; white-space: normal; overflow-wrap: anywhere; }
.inline-ai-answer > header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 7px; color: var(--brand-strong); padding-bottom: 10px; border-bottom: 1px solid var(--line); font-weight: 700; }
.inline-ai-answer > header small { font-weight: 400; font-size: 10px; color: var(--muted); }
.inline-ai-answer .ai-answer { font-size: 14px; line-height: 1.75; padding: 8px 0; min-width: 0; }
.inline-ai-answer[data-ai-state="pending"] .ai-answer { color: var(--muted); }
.inline-ai-answer[data-ai-state="failed"] { border-color: var(--ui-coral); }
.inline-ai-answer > footer { display: flex; flex-wrap: wrap; gap: 6px; border-top: 1px solid var(--line); padding-top: 10px; margin-top: 10px; }
.inline-ai-answer .work-button { max-width: 100%; min-height: 32px; font-size: 11px; padding: 5px 9px; white-space: normal; }
.inline-ai-answer .ai-sources button { white-space: normal; overflow-wrap: anywhere; text-align: left; }
.inline-ai-answer .ai-proposals > div { flex-wrap: wrap; }
.inline-ai-answer .ai-proposals strong, .inline-ai-answer .ai-proposals p { overflow-wrap: anywhere; min-width: 0; }
.inline-ai-files { display: flex; flex-direction: column; gap: 5px; margin-top: 8px; }
.inline-ai-files button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: left; }
@media (max-width: 720px) {
  .message-row.is-ai { width: 100%; max-width: 100%; gap: 7px; }
  .message-row.is-ai > .ai-avatar { flex-basis: 28px; width: 28px; height: 28px; border-radius: 9px; font-size: 18px; }
  .message-bubble.inline-ai-answer { padding: 11px; border-radius: 5px 13px 13px; }
  .inline-ai-answer .ai-answer { font-size: 13px; }
  .inline-ai-answer > header small { font-size: 9px; }
  .inline-ai-hint { font-size: 10px; padding: 5px 7px; }
  .inline-ai-consent-notice small { flex-basis: 100%; }
}
