/* Original tender chat palette, spacing and bubbles from DetalleLicitacionView. */
.document-chat.document-chat {
  width: 100%; max-width: none; box-sizing: border-box; margin: 10px 0 0; padding: 0;
  border: 1px solid rgba(37,99,235,.14); border-radius: 28px; color: #0f172a;
  background: radial-gradient(circle at top left,rgba(37,99,235,.1),transparent 34%),linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  box-shadow: 0 20px 60px rgba(15,23,42,.08); overflow: hidden;
}
.document-chat.document-chat > header { padding: 26px 28px 20px; border-bottom: 1px solid rgba(148,163,184,.18); }
.document-chat.document-chat .eyebrow { color: #2563eb; font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.document-chat.document-chat h3 { color: #0f172a; font-size: 1.35rem; margin: 8px 0 0; }
.document-chat.document-chat header p { color: #64748b; line-height: 1.55; margin: 8px 0 0; }
.document-chat.document-chat button { border: 1px solid rgba(37,99,235,.18); border-radius: 14px; color: #1d4ed8; background: #fff; font-weight: 800; }
.document-chat.document-chat button:hover:not(:disabled) { border-color: rgba(37,99,235,.42); box-shadow: 0 10px 24px rgba(37,99,235,.12); }
.document-chat.document-chat button:focus-visible,.document-chat.document-chat a:focus-visible,.document-chat.document-chat textarea:focus-visible { outline-color: #2563eb; }
.document-chat.document-chat .preparation { margin: 18px 28px 0; padding: 14px 16px; background: #eff6ff; border: 1px solid rgba(37,99,235,.12); border-radius: 16px; color: #1e3a8a; }
.document-chat.document-chat .preparation small { color: #64748b; }
.document-chat.document-chat .suggestions { padding: 18px 28px 0; gap: 10px; }
.document-chat.document-chat .suggestions button { border-radius: 999px; color: #1e3a8a; }
.document-chat.document-chat .messages { display: flex; flex-direction: column; gap: 16px; height: min(54vh,560px); min-height: 360px; margin: 0; padding: 24px 28px; box-sizing: border-box; }
.document-chat.document-chat .message { align-self: flex-start; max-width: min(78%,840px); box-sizing: border-box; margin: 0; padding: 14px 16px; border-radius: 22px; background: #fff; border: 1px solid rgba(148,163,184,.18); box-shadow: 0 10px 26px rgba(15,23,42,.06); }
.document-chat.document-chat .message.user { align-self: flex-end; margin-left: 0; background: linear-gradient(135deg,#1d4ed8,#2563eb); color: #fff; border-color: transparent; }
.document-chat.document-chat .answer { font-size: .96rem; line-height: 1.58; }
.document-chat.document-chat .citations button { background: #eff6ff; }
.document-chat.document-chat .warning { padding: 12px 16px; border: 1px solid #fed7aa; border-radius: 16px; background: #fff7ed; color: #9a3412; }
.document-chat.document-chat .error { margin: 0 28px 16px; }
.document-chat.document-chat > form { padding: 18px 28px 20px; border-top: 1px solid rgba(148,163,184,.18); background: rgba(255,255,255,.72); }
.document-chat.document-chat form label { color: #64748b; font-size: .82rem; }
.document-chat.document-chat .composer { gap: 12px; }
.document-chat.document-chat .composer textarea { border: 1px solid rgba(148,163,184,.28); border-radius: 18px; min-height: 54px; padding: 13px 15px; color: #0f172a; background: #fff; }
.document-chat.document-chat .composer button { min-width: 118px; border-color: transparent; background: linear-gradient(135deg,#1d4ed8,#2563eb); color: #fff; }
.document-chat.document-chat .excerpt-dialog { border-color: rgba(37,99,235,.14); border-radius: 22px; color: #0f172a; }
.document-chat.document-chat footer a { color: #2563eb; }
.document-chat.document-chat .pdf-citation nav { background: #eff6ff; }
.document-chat.document-chat .pdf-citation select { border-color: rgba(37,99,235,.18); color: #1d4ed8; }
@media(max-width:680px) {
  .document-chat.document-chat { border-radius: 20px; }
  .document-chat.document-chat > header { padding: 18px 14px 14px; }
  .document-chat.document-chat h3 { font-size: 1.08rem; }
  .document-chat.document-chat .preparation { margin: 14px 14px 0; }
  .document-chat.document-chat .suggestions { display: grid; grid-template-columns: 1fr; padding: 14px 14px 0; }
  .document-chat.document-chat .suggestions button { border-radius: 14px; text-align: left; }
  .document-chat.document-chat .messages { height: auto; min-height: 300px; max-height: 54vh; padding: 16px 14px; }
  .document-chat.document-chat .message { max-width: 92%; padding: 11px 12px; border-radius: 16px; }
  .document-chat.document-chat > form { padding: 14px; }
  .document-chat.document-chat .composer { flex-direction: column; }
  .document-chat.document-chat .composer textarea { min-height: 92px; }
}

/* Reserve the visible area for the conversation; keep the composer in view. */
.document-chat.document-chat {
  display: flex; flex-direction: column;
  height: calc(100dvh - 220px); min-height: 360px; overflow: auto;
}
.document-chat.document-chat > header,
.document-chat.document-chat .preparation,
.document-chat.document-chat .suggestions,
.document-chat.document-chat > form { flex: 0 0 auto; }
.document-chat.document-chat > header { padding: 16px 24px 12px; }
.document-chat.document-chat .preparation { margin: 12px 24px 0; padding: 10px 14px; gap: 6px 12px; }
.document-chat.document-chat .suggestions { padding: 10px 24px 0; }
.document-chat.document-chat .messages { flex: 1 1 0; height: auto; min-height: 0; max-height: none; padding: 14px 24px; overflow-y: auto; overscroll-behavior: contain; }
.document-chat.document-chat .message { flex-shrink: 0; }
.document-chat.document-chat > form { position: sticky; bottom: 0; padding: 12px 24px; background: #fff; z-index: 1; }
.document-chat.document-chat .composer textarea { box-sizing: border-box; min-height: 54px; max-height: 100px; resize: none; }
@media(max-width:680px) {
  .document-chat.document-chat { height: calc(100dvh - 240px); min-height: 360px; }
  .document-chat.document-chat > header { padding: 12px 14px 10px; }
  .document-chat.document-chat .preparation { margin: 8px 14px 0; padding: 8px 10px; font-size: 12px; }
  .document-chat.document-chat .preparation button { padding: 6px 10px; }
  .document-chat.document-chat .suggestions { display: flex; flex-wrap: nowrap; overflow-x: auto; padding: 8px 14px 0; }
  .document-chat.document-chat .suggestions button { flex: 0 0 auto; font-size: 12px; padding: 8px 10px; }
  .document-chat.document-chat .messages { min-height: 0; max-height: none; padding: 10px 14px; }
  .document-chat.document-chat > form { padding: 10px 14px; }
  .document-chat.document-chat .composer { flex-direction: row; align-items: stretch; }
  .document-chat.document-chat .composer button { min-width: 72px; padding: 8px 10px; }
  .document-chat.document-chat .composer textarea { min-height: 54px; }
}

