/* Conversa: composição própria, com os tokens e controles do design system. */
.assistant-shell {
  display:flex;flex-direction:column;gap:var(--card-section-gap);min-width:0;
  height:var(--assistant-height,calc(100dvh - 160px));min-height:240px;
}
.assistant-heading { margin-bottom:0;flex-shrink:0 }
.assistant-usage { display:grid;gap:2px;color:var(--color-text-muted);font-size:var(--text-caption);margin-right:var(--space-2) }
.assistant-usage-meter { display:flex;align-items:center;gap:var(--space-2);font-variant-numeric:tabular-nums }
.assistant-usage progress { appearance:none;width:72px;height:4px;border:0;border-radius:var(--radius-pill);overflow:hidden;background:var(--color-border);accent-color:var(--color-gold) }
.assistant-usage progress::-webkit-progress-bar { background:var(--color-border) }
.assistant-usage progress::-webkit-progress-value { background:var(--color-gold) }
.assistant-usage progress::-moz-progress-bar { background:var(--color-gold) }
.assistant-usage--warning { color:var(--color-warning) }
.assistant-usage--warning progress::-webkit-progress-value { background:var(--color-warning) }
.assistant-usage--warning progress::-moz-progress-bar { background:var(--color-warning) }
.assistant-usage--danger { color:var(--color-danger) }
.assistant-usage--danger progress::-webkit-progress-value { background:var(--color-danger) }
.assistant-usage--danger progress::-moz-progress-bar { background:var(--color-danger) }
.assistant-chat-log { display:flex;flex-direction:column;gap:var(--space-5);flex:1;min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-4) }
.assistant-chat-log>* { flex-shrink:0 }
.assistant-chat-log:focus-visible { outline:2px solid var(--color-gold);outline-offset:2px }
.assistant-empty-state { display:grid;gap:var(--space-5);margin:var(--space-5) 0;min-width:0 }
.assistant-empty-state h2 { font-size:clamp(22px,2.5vw,32px);line-height:1.3;margin:0;font-weight:600;max-width:28ch }
.assistant-start-cards { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3) }
.assistant-action-form { margin:0;min-width:0 }
.assistant-start-card { display:grid;gap:var(--space-1);align-content:start;text-align:left;width:100%;height:100%;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);cursor:pointer;overflow-wrap:anywhere }
.assistant-start-card .ui-icon { color:var(--color-gold);margin-bottom:var(--space-2) }
.assistant-start-card strong { font-size:20px;font-weight:600 }
.assistant-start-card span { color:var(--color-text-muted);font-size:var(--text-body) }
.assistant-start-card small { color:var(--color-text-muted);font-size:var(--text-caption) }
.assistant-start-card:hover { border-color:var(--color-gold);background:var(--color-surface-raised) }
.assistant-start-card:focus-visible { outline:none;box-shadow:var(--focus-ring) }
.assistant-start-help>p { color:var(--color-text-muted);font-size:var(--text-caption);margin:0 0 var(--space-2) }
.assistant-help-shortcuts { display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--space-2) }
.assistant-help-chip,.assistant-all-help>summary { font-size:var(--text-body);font-weight:400;border-radius:var(--radius-pill);min-height:44px;padding:var(--space-2) var(--space-3) }
.assistant-all-help>summary { display:flex;align-items:center;border:1px solid var(--color-border);cursor:pointer;list-style:none }
.assistant-all-help>summary::-webkit-details-marker { display:none }
.assistant-all-help>summary:hover { background:var(--color-surface-raised) }
.assistant-all-help-list { display:grid;gap:var(--space-2);padding:var(--space-3) 0 }
.assistant-all-help-list .ui-btn { text-align:left;white-space:normal;justify-content:flex-start }
.assistant-all-help-list>a { padding:var(--space-2);min-height:44px }
.assistant-chat-row { display:flex;min-width:0;width:100% }
.assistant-chat-row--user { justify-content:flex-end }
.assistant-chat-row--user .assistant-bubble { max-width:min(85%,68ch);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);background:var(--color-gold-soft);font-size:16px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere }
.assistant-chat-row--assistant .assistant-bubble { display:grid;gap:var(--space-3);width:100%;max-width:68ch;min-width:0;font-size:16px;line-height:1.6 }
.assistant-bubble-text { margin:0;font-weight:400;white-space:pre-wrap;overflow-wrap:anywhere }
.assistant-chat-truncated { margin:0;color:var(--color-text-muted);font-size:var(--text-caption);text-align:center }
.assistant-message-card { min-width:0;overflow-wrap:anywhere;background:transparent;border:0;border-radius:0;box-shadow:none }
.assistant-message-card .ui-card-header { padding:var(--space-2) 0;flex-wrap:wrap }
.assistant-message-card .ui-card-title { white-space:normal;overflow:visible;text-overflow:clip }
.assistant-message-card .ui-card-support { padding:0 0 var(--space-3);font-size:var(--text-body) }
.assistant-message-card .ui-card-body { border:0 }
.assistant-message-card .ui-row { padding:var(--space-3) 0 }
.assistant-message-card .ui-row-meta { font-size:var(--text-body) }
.assistant-message-card .ui-card-action { min-height:32px;white-space:normal }
.assistant-content-text { white-space:pre-wrap;line-height:1.6;overflow-wrap:anywhere }
.assistant-consulted { margin:0;color:var(--color-text-muted);font-size:var(--text-caption) }
.assistant-sources { display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:var(--space-3) 0 0 }
.assistant-source { display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);color:var(--color-gold);font-size:var(--text-body);text-decoration:none;min-height:32px;overflow-wrap:anywhere }
.assistant-source:hover { background:var(--color-surface-raised);text-decoration:underline }
.assistant-proposed-action { background:var(--color-gold-soft);border-left:3px solid var(--color-gold);border-radius:var(--radius-md);padding:var(--space-4) }
.assistant-proposed-action .ui-card-header { padding-top:0 }
.assistant-proposed-action .ui-row { border:0 }
.assistant-preview-edit { border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);margin:var(--space-3) 0 }
.assistant-preview-edit>summary { cursor:pointer;min-height:32px;display:flex;align-items:center;color:var(--color-gold);font-weight:600 }
.assistant-composer-dock { flex-shrink:0;display:grid;gap:var(--space-2);min-width:0;background:var(--color-bg) }
.assistant-composer { margin:0;min-width:0;display:grid;gap:var(--space-2) }
.assistant-composer-box { display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg) }
.assistant-composer-box:focus-within { border-color:var(--color-gold) }
.assistant-composer textarea.ui-input { width:100%;min-width:0;min-height:44px;max-height:calc(6 * 25.6px + 16px);border:0;border-radius:var(--radius-sm);background:transparent;padding:8px;font-size:16px!important;line-height:1.6;resize:none;box-sizing:border-box;overflow-y:auto }
.assistant-composer textarea::placeholder { color:var(--color-text-muted);opacity:1 }
.assistant-composer textarea:focus-visible { outline:2px solid var(--color-gold);outline-offset:0;box-shadow:none }
.assistant-send { width:44px;height:44px;min-height:44px;padding:0;border-radius:var(--radius-pill);align-self:end }
.assistant-send .ui-icon { transform:rotate(-90deg) }
.assistant-input-hint { grid-column:1/-1;display:flex;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;color:var(--color-text-muted);font-size:var(--text-caption);padding:0 var(--space-2) }
.assistant-composer-meta { display:flex;justify-content:space-between;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-caption);min-height:20px }
.assistant-composer-meta>a { color:var(--color-text-muted) }
.assistant-status { display:inline-flex;align-items:center;gap:var(--space-2) }
.assistant-status:not(:empty)::before { content:"";width:6px;height:6px;border-radius:var(--radius-pill);background:var(--color-gold) }
.assistant-review-notice { margin:0;color:var(--color-text-muted);font-size:var(--text-caption) }
.assistant-quota-notice { margin:0;color:var(--color-danger);font-size:var(--text-body) }
.assistant-network-error { margin:0;flex-wrap:wrap }
.assistant-network-error[hidden] { display:none }
.assistant-shell button:disabled,.assistant-shell textarea:disabled { opacity:.6;cursor:not-allowed }
.assistant-history { position:fixed;inset:0 0 0 auto;margin:0;width:min(420px,100%);max-width:100%;height:100dvh;max-height:100dvh;box-sizing:border-box;overflow-y:auto;padding:var(--space-5);background:var(--color-surface);color:var(--color-text);border:0;border-left:1px solid var(--color-border);box-shadow:var(--shadow-md) }
.assistant-history::backdrop { background:var(--color-gold-soft);backdrop-filter:blur(2px) }
.assistant-history-heading { display:flex;align-items:center;justify-content:space-between;gap:var(--space-3) }
.assistant-history-heading h2 { margin:0;font-size:var(--text-page-title) }
.assistant-history-list { display:grid;gap:var(--space-2) }
.assistant-history-list a { display:grid;gap:var(--space-1);padding:var(--space-3);min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;overflow-wrap:anywhere }
.assistant-history-list a:hover,.assistant-history-list a[aria-current] { background:var(--color-gold-soft);border-color:var(--color-gold) }
.assistant-history-list small { color:var(--color-text-muted) }
@media(max-width:600px) {
  .assistant-shell { gap:var(--space-3) }
  .assistant-usage { margin-right:auto }
  .assistant-usage progress { width:44px }
  .assistant-usage small { max-width:14ch;line-height:1.4 }
  .assistant-chat-log { padding:var(--space-1) var(--space-1) var(--space-3) }
  .assistant-empty-state { margin:var(--space-2) 0;gap:var(--space-4) }
  .assistant-start-cards { grid-template-columns:1fr }
  .assistant-start-card { grid-template-columns:24px minmax(0,1fr);gap:2px var(--space-3);padding:var(--space-3) }
  .assistant-start-card>.ui-icon { grid-row:1/4;margin-top:2px;margin-bottom:0 }
  .assistant-start-card strong { font-size:18px }
  .assistant-start-card small { grid-column:2 }
  .assistant-chat-row--user .assistant-bubble { max-width:92%;padding:var(--space-3) }
  .assistant-composer-box { padding:var(--space-2) }
  .assistant-history { padding:var(--space-4) }
}
