/* =====================================================================================
   EFICÁCIA CRM — Revisões (mod-revisoes)                     (pedido abcab273, 2ª ronda)
   Lista global dos pedidos de manutenção. Prefixo rev-; aproveita ds-* e os modais sup-*.

   O QUE ESTE FICHEIRO NÃO TEM, E É DE PROPÓSITO: chips, KPIs, cabeçalho, tabela, badges
   e molduras de campo NÃO estão aqui — são `.ds-chips`/`.ds-chip`, `.ds-lst-kpis`/
   `.ds-lst-kpi`, `.ds-lst-cab*`, `.ds-table` e `.ds-badge` do design system. A auditoria
   de 29/08 ao módulo irmão (Afixações) apagou exactamente três clones destes, e com eles
   os defeitos que o dono viu a olho: título com 7px a 390px, chips sem alvo de toque em
   ecrã táctil, e cores de marca escritas à mão em vez dos tokens. Aqui não se voltam a
   escrever. O que fica são espaçamentos e três blocos que o design system não tem.
   ===================================================================================== */

.rev-page { display: flex; flex-direction: column; gap: 16px; }
.rev-card { padding: 16px; }

/* Só o espaçamento entre as duas filas de chips — o resto vem do `.ds-chips`. */
.rev-chips { margin-bottom: 10px; }

/* O KPI informativo (Custo total) usa a mesma moldura dos KPIs-filtro mas NÃO é um
   botão: sem `aria-pressed`, sem cursor de clique e sem hover que prometa ação. É a
   distinção da casa entre `.ds-lst-kpi` (filtro) e um número que só informa. */
.rev-kpi-info { cursor: default; }
.rev-kpi-info:hover { border-color: var(--border); box-shadow: none; }

.rev-tabela { width: 100%; }
.rev-tabela-mini { width: 100%; margin-top: 6px; }
.rev-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
/* Coluna das ações por linha: encolhe ao conteúdo e não rouba largura ao texto. */
.rev-c-acoes { width: 1%; white-space: nowrap; text-align: right; }
.rev-sub { font-size: 12px; color: var(--ink-500, #6E6668); }
.rev-vazio { text-align: center; color: var(--ink-500, #6E6668); padding: 22px 0; }

.rev-det-meta { font-weight: 600; color: var(--ink-700, #4A4245); margin: 0 0 4px; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.rev-det-datas { font-size: 12px; color: var(--ink-500, #6E6668); margin: 0 0 10px; }
.rev-det-desc { color: var(--ink-600, #5B5355); margin: 0 0 10px; white-space: pre-wrap; }
.rev-aviso { margin: 0 0 12px; }

.rev-sec { margin: 0 0 14px; padding: 12px 14px; border: 1px solid rgba(15, 12, 41, 0.08); border-radius: 12px; background: var(--paper-50, #F7F8FA); }
.rev-sec-cab { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; flex-wrap: wrap; }
.rev-sec-cab .ds-btn { margin-left: auto; }

.rev-foot-esticar { flex: 1; }

/* O rodapé de custo: uma linha só, com as três parcelas em cima do total. Vai ANTES do
   fim do corpo e nunca por baixo de um paginador — um total impresso depois dos botões
   de página lê-se como o total DA PÁGINA. */
.rev-custo { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; padding: 10px 14px; border: 1px solid rgba(15, 12, 41, 0.08); border-radius: 12px; background: var(--paper-50, #F7F8FA); font-weight: 600; }
.rev-custo strong { margin-left: auto; font-size: 18px; }

.rev-suporte-fixo { display: flex; align-items: center; gap: 6px; margin: 2px 0 0; }

/* --- a viatura da deslocação (3ª ronda) ---
   Uma linha própria acima da conta, com o ícone do camião: é a resposta a «quem foi e com
   quê», que é diferente de «quanto custou». Juntá-las na mesma frase dava um parágrafo
   que ninguém lê até ao fim no telemóvel. */
.rev-viatura { display: flex; align-items: center; gap: 6px; margin: 2px 0 6px; flex-wrap: wrap; }
.rev-viatura svg { flex: none; color: var(--ink-500, #6E6668); }

/* A nota que substituiu a tabela de materiais dentro do formulário de edição: diz o que
   lá está e manda tratar disso no ecrã da revisão. Sem moldura — é ajuda, não um bloco. */
.rev-nota-mat .ds-help { margin: 2px 0 0; }

.rev-sep { border-top: 1px solid rgba(15, 12, 41, 0.08); padding-top: 10px; margin-top: 4px; }
.rev-sep h4 { margin: 0; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-500, #6E6668); }

/* --- filtro de datas ---
   Fila própria por baixo dos chips: dentro do `.ds-chips` (que em mobile é uma faixa de
   scroll horizontal) os campos de data ficavam fora do ecrã. */
.rev-datas { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 14px; }
.rev-data { width: 150px; }
.rev-data-lbl { font-size: 12px; font-weight: 600; color: var(--ink-500, #6E6668); }

/* --- a lista da viatura não pode ficar cortada (diretiva do dono, 01/09) ---
   O `.sup-dialog-body` do mod-suporte.css tem `overflow-y:auto`, e o menu do
   ds-combobox é `position:absolute` DENTRO dele: numa modal com um campo só, o
   corpo mede pouco mais do que o input e o menu era cortado à primeira linha —
   escrevia-se a matrícula sem se ver o que a pesquisa devolvia. Aqui não há nada
   para percorrer (uma ajuda e um campo), por isso o corpo deixa de recortar e o
   menu abre por cima do rodapé, como qualquer dropdown. Fica preso a ESTA modal:
   o formulário de edição é comprido e precisa mesmo do scroll. */
.rev-dlg-viatura .sup-dialog-body { overflow: visible; }
.rev-dlg-viatura .ds-combobox-menu { max-height: min(280px, 40dvh); }
