/* Fase 4 — Assistente sem custo variável (voz, OCR, pontuação, risco, respostas rápidas).
 * Carregado pelo layouts/base.php junto com os outros módulos. */

/* Ditado / OCR ---------------------------------------------------------- */
.assistant-btn svg { width: 18px; height: 18px; }
.assistant-dialog__transcript { min-height: 120px; max-height: 40vh; overflow: auto; padding: var(--sp-3); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-2); font-size: var(--fs-md); line-height: 1.5; white-space: pre-wrap; }
.assistant-dialog__transcript .is-interim { color: var(--ink-3); }
.assistant-dialog__transcript:empty::before { content: attr(data-placeholder); color: var(--ink-3); }
.assistant-mic { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; border: 0; background: var(--primary); color: #fff; cursor: pointer; box-shadow: var(--shadow-md); transition: transform .15s; }
.assistant-mic svg { width: 32px; height: 32px; }
.assistant-mic.is-listening { background: var(--danger); animation: assistant-pulse 1.2s ease-in-out infinite; }
.assistant-mic:disabled { opacity: .5; cursor: default; }
@keyframes assistant-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(198, 40, 40, .45); } 50% { box-shadow: 0 0 0 14px rgba(198, 40, 40, 0); } }
.assistant-status { font-size: var(--fs-sm); color: var(--ink-2); min-height: 20px; }
.assistant-progress { height: 6px; border-radius: 3px; background: var(--surface-2); overflow: hidden; }
.assistant-progress > span { display: block; height: 100%; width: 0; background: var(--primary); transition: width .2s; }
.assistant-preview { max-width: 100%; max-height: 180px; border-radius: var(--r-md); border: 1px solid var(--border); object-fit: contain; background: var(--surface-2); }
.assistant-ocr-text { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: var(--fs-xs); max-height: 160px; overflow: auto; white-space: pre-wrap; background: var(--surface-2); border-radius: var(--r-md); padding: var(--sp-2) var(--sp-3); color: var(--ink-2); }
.assistant-review { outline: 2px solid var(--warning); outline-offset: 1px; background: var(--warning-soft, #FFF4E5); }
.assistant-review-note { font-size: var(--fs-xs); color: var(--warning); }
.quote-item.assistant-new { animation: assistant-flash 1.4s ease-out; }
@keyframes assistant-flash { from { background: var(--primary-soft); } to { background: transparent; } }
.assistant-unknown { font-size: var(--fs-xs); color: var(--ink-2); }
.assistant-unknown li { margin: 2px 0; }

/* Pontuação / risco ------------------------------------------------------ */
.assistant-card .card__header h3 { display: inline-flex; align-items: center; gap: 6px; }
.assistant-score { display: flex; gap: var(--sp-4); align-items: center; }
.assistant-score__ring { --score: 0; flex: none; width: 72px; height: 72px; border-radius: 50%; display: grid; place-content: center; text-align: center; line-height: 1; background: conic-gradient(var(--ring, var(--primary)) calc(var(--score) * 1%), var(--surface-2) 0); position: relative; }
.assistant-score__ring::before { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: var(--surface); }
.assistant-score__ring strong, .assistant-score__ring span { position: relative; }
.assistant-score__ring strong { font-size: var(--fs-xl); }
.assistant-score__ring span { font-size: 10px; color: var(--ink-3); }
.assistant-score__ring--quente { --ring: var(--danger); }
.assistant-score__ring--morno { --ring: var(--warning); }
.assistant-score__ring--frio { --ring: var(--info, #2F5BD6); }
.assistant-reasons { margin: 6px 0 0; padding-left: 18px; font-size: var(--fs-xs); color: var(--ink-2); }
.assistant-reasons li { margin: 1px 0; }
.assistant-temp--quente { background: var(--danger-soft); color: var(--danger); }
.assistant-temp--morno { background: var(--warning-soft); color: var(--warning); }
.assistant-temp--frio { background: var(--info-soft); color: var(--info); }
.assistant-temp--na { background: var(--surface-2); color: var(--ink-3); }
.assistant-temp-sm { font-size: 10px; padding: 1px 6px; line-height: 16px; }
.assistant-risk { margin-top: var(--sp-3); padding: var(--sp-3); border-radius: var(--r-md); border: 1px solid var(--border); background: var(--surface-2); font-size: var(--fs-sm); }
.assistant-risk--alto { border-color: var(--danger); background: var(--danger-soft); }
.assistant-risk--medio { border-color: var(--warning); background: var(--warning-soft); }
.assistant-risk-badge--alto { background: var(--danger-soft); color: var(--danger); }
.assistant-risk-badge--medio { background: var(--warning-soft); color: var(--warning); }
.assistant-risk-badge--baixo { background: var(--success-soft); color: var(--success); }
.assistant-risk-hint { margin-top: var(--sp-2); }

/* Resumo antes da visita ------------------------------------------------- */
.assistant-brief__grid { display: grid; gap: var(--sp-3); grid-template-columns: 1fr; }
@media (min-width: 720px) { .assistant-brief__grid { grid-template-columns: 1fr 1fr; } }
.assistant-brief__label { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-xs); font-weight: 600; text-transform: uppercase; letter-spacing: .03em; color: var(--ink-3); margin-bottom: 4px; }
.assistant-brief__label svg { width: 14px; height: 14px; }
.assistant-brief__list { list-style: none; margin: 0; padding: 0; font-size: var(--fs-sm); }
.assistant-brief__list li { padding: 2px 0; }

/* Respostas rápidas ------------------------------------------------------ */
.assistant-replies > summary::-webkit-details-marker { display: none; }
.assistant-replies > summary { list-style: none; }
.assistant-reply { padding: var(--sp-2) 0; }
.assistant-reply--row { padding: var(--sp-3) var(--sp-5); border-top: 1px solid var(--border); }
.assistant-reply--row.is-inactive { opacity: .55; }
.assistant-reply__text { min-height: 64px; resize: vertical; }
.assistant-reply__preview { color: var(--ink-2); margin-top: 4px; }

/* Comprovante do cliente ------------------------------------------------- */
.assistant-receipt { display: grid; gap: var(--sp-3); grid-template-columns: 1fr; align-items: start; }
@media (min-width: 560px) { .assistant-receipt { grid-template-columns: 96px minmax(0, 1fr); } }
.assistant-receipt td { word-break: break-word; overflow-wrap: anywhere; }
.assistant-receipt table { width: 100%; table-layout: auto; }
.assistant-receipt__thumb { width: 96px; height: 96px; object-fit: cover; border-radius: var(--r-md); border: 1px solid var(--border); background: var(--surface-2); display: block; }
.assistant-receipt__none { width: 96px; height: 96px; border-radius: var(--r-md); border: 1px dashed var(--border); display: grid; place-content: center; color: var(--ink-3); }
.assistant-receipt table { font-size: var(--fs-sm); }
.assistant-receipt th { font-weight: 500; color: var(--ink-2); padding-right: var(--sp-3); white-space: nowrap; }
.assistant-match--ok { color: var(--success); font-weight: 600; }
.assistant-match--no { color: var(--danger); font-weight: 600; }
.assistant-match--na { color: var(--ink-3); }
