/* t65: folha da tela de Motivos e retrabalho.
   Tudo aqui é prefixado com .mv- e vive dentro de .mv-pagina. Classe genérica
   em folha compartilhada já atravessou telas e escondeu o cabeçalho de todas
   elas abaixo de 760px; aqui nada tem nome que outra tela possa usar. */
.mv-pagina{display:flex;flex-direction:column;gap:12px;min-width:0;
 height:var(--altura-motivos,calc(100dvh - 200px));min-height:420px}

.mv-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.mv-topo h1{margin:0}
.mv-topo-acoes{display:flex;gap:8px;flex-wrap:wrap}
.mv-apoio{color:var(--muted);font-size:.85rem;margin:2px 0 0;max-width:80ch}

.mv-cartoes{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(196px,1fr))}
.mv-cartao{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface);min-width:0}
.mv-cartao h3{margin:0;font-size:.82rem;font-weight:600;color:var(--muted)}
.mv-valor{margin:4px 0 0;font-size:1.5rem;font-weight:700;line-height:1.1;overflow-wrap:anywhere}
.mv-alerta{margin:6px 0 0;font-size:.82rem;color:var(--accent-ink)}
.mv-detalhando{margin:0 0 10px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:.85rem;color:var(--muted);overflow-wrap:anywhere}
.mv-definicao{margin-top:6px}
.mv-definicao summary{font-size:.78rem;color:var(--muted);cursor:pointer}
.mv-definicao p{margin:4px 0 0;font-size:.8rem;color:var(--muted)}

.mv-destaques{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.mv-destaque{border:1px dashed var(--line);border-radius:10px;padding:8px 10px}
.mv-destaque-titulo{margin:0;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.mv-destaque-motivo{margin:2px 0 0;font-weight:600}
.mv-destaque-valor{margin:2px 0 0}
.mv-parcial{color:var(--muted);font-size:.8rem}

.mv-graficos{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface)}
.mv-graficos-topo{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mv-graficos-topo h2{margin:0;font-size:1rem}
.mv-graficos-corpo{display:grid;gap:16px;grid-template-columns:minmax(0,3fr) minmax(0,2fr);margin-top:10px}
.mv-grafico{min-width:0}
.mv-barras{display:flex;flex-direction:column;gap:6px}
.mv-barra-linha{display:grid;grid-template-columns:minmax(90px,1.2fr) minmax(0,3fr) auto;gap:8px;align-items:center}
.mv-barra-rotulo{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mv-barra-trilho{background:var(--paper));border-radius:999px;block-size:14px;overflow:hidden}
.mv-barra-preenchida{display:block;block-size:100%;border-radius:999px;min-inline-size:2px}
.mv-barra-valor{font-variant-numeric:tabular-nums;font-size:.82rem;white-space:nowrap}
.mv-tabela-grafico{inline-size:100%;border-collapse:collapse;margin-top:10px;font-size:.84rem}
.mv-tabela-grafico th,.mv-tabela-grafico td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--line)}
.mv-composicao{display:flex;block-size:22px;border-radius:999px;overflow:hidden;background:var(--paper))}
.mv-fatia{display:block;block-size:100%}
.mv-legenda{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:.84rem}
.mv-legenda li{display:flex;align-items:center;gap:6px}
.mv-ponto{inline-size:10px;block-size:10px;border-radius:50%;flex:0 0 auto}

/* Grade, não flex: com flex os seletores encostavam na borda direita e o
   botão "Mais filtros" caía sozinho numa linha nova. A grade mantém a fila
   lendo da esquerda para a direita em qualquer largura. */
.mv-filtros{display:grid;gap:8px;align-items:end;
 grid-template-columns:minmax(180px,2fr) repeat(3,minmax(130px,1fr)) auto}
.mv-filtros label{display:flex;flex-direction:column;gap:2px;font-size:.8rem;color:var(--muted);min-width:0}
.mv-filtros select,.mv-filtros input{min-inline-size:0;inline-size:100%}
.mv-filtros [data-mais-filtros]{white-space:nowrap;padding-block:6px}
.mv-filtros-extra{grid-column:1/-1;display:grid;gap:8px;align-items:end;
 grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}

.mv-selecao{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;
 border:1px solid var(--line);border-radius:10px;background:var(--surface)}

/* ⚠️ flex:1 1 0, nunca 1 1 auto: com base no conteúdo a área não cresce e a
   página inteira passa a rolar. position:relative porque overflow NÃO recorta
   descendente absoluto quando quem recorta é estático, e os rótulos de leitor
   de tela escapavam e criavam 800px de rolagem fantasma. */
.mv-area{flex:1 1 0;min-height:260px;display:flex;gap:12px;min-width:0;position:relative;overflow:hidden;contain:paint}
.mv-corpo{flex:1 1 0;min-width:0;overflow:auto;position:relative;
 display:flex;flex-direction:column;gap:12px;padding-inline-end:2px}
.mv-painel{flex:0 0 380px;max-inline-size:380px;overflow:auto;position:relative;
 border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--surface)}
.mv-painel-sobreposto.mv-com-painel .mv-painel{position:absolute;inset-block:0;inset-inline-end:0;
 flex-basis:min(420px,94%);max-inline-size:min(420px,94%);box-shadow:-8px 0 24px rgba(0,0,0,.18);z-index:5}
.mv-painel-topo{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mv-painel-topo h2{margin:0;font-size:1rem}
.mv-fila-posicao{margin:6px 0;font-size:.85rem;color:var(--muted)}
.mv-ficha{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;margin:10px 0;font-size:.86rem}
.mv-ficha dt{color:var(--muted)}
.mv-ficha dd{margin:0;overflow-wrap:anywhere}
.mv-form{display:flex;flex-direction:column;gap:8px}
.mv-form label{display:flex;flex-direction:column;gap:2px;font-size:.82rem;color:var(--muted)}
.mv-form textarea{resize:vertical}
.mv-form-acoes{display:flex;gap:8px;flex-wrap:wrap}
.mv-lote-lista{margin:0;padding-inline-start:18px;font-size:.84rem;max-block-size:160px;overflow:auto}
.mv-historico ol{margin:6px 0 0;padding-inline-start:18px;font-size:.84rem}
.mv-historico li{margin-bottom:8px}
.mv-historico p{margin:2px 0 0}

.mv-tabela{inline-size:100%;border-collapse:collapse;table-layout:fixed}
.mv-tabela th,.mv-tabela td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.mv-tabela thead th{position:sticky;top:0;background:var(--surface);z-index:2;font-size:.8rem;color:var(--muted)}
/* Larguras em PORCENTAGEM somando 100. Misturar px e % sob table-layout:fixed
   já espremeu a coluna de ações para 12px e o botão saiu do alcance. */
.mv-tabela th:nth-child(1),.mv-tabela td:nth-child(1){width:4%}
.mv-tabela th:nth-child(2),.mv-tabela td:nth-child(2){width:30%}
.mv-tabela th:nth-child(3),.mv-tabela td:nth-child(3){width:14%}
.mv-tabela th:nth-child(4),.mv-tabela td:nth-child(4){width:14%}
.mv-tabela th:nth-child(5),.mv-tabela td:nth-child(5){width:9%}
.mv-tabela th:nth-child(6),.mv-tabela td:nth-child(6){width:11%}
.mv-tabela th:nth-child(7),.mv-tabela td:nth-child(7){width:11%}
.mv-tabela th:nth-child(8),.mv-tabela td:nth-child(8){width:7%}
.mv-tabela.mv-compacta th:nth-child(1),.mv-tabela.mv-compacta td:nth-child(1){width:5%}
.mv-tabela.mv-compacta th:nth-child(2),.mv-tabela.mv-compacta td:nth-child(2){width:40%}
.mv-tabela.mv-compacta th:nth-child(3),.mv-tabela.mv-compacta td:nth-child(3){width:15%}
.mv-tabela.mv-compacta th:nth-child(4),.mv-tabela.mv-compacta td:nth-child(4){width:14%}
.mv-tabela.mv-compacta th:nth-child(5),.mv-tabela.mv-compacta td:nth-child(5){width:16%}
.mv-tabela.mv-compacta th:nth-child(6),.mv-tabela.mv-compacta td:nth-child(6){width:10%}
/* ⚠️ span, nunca display:block no <td>: a célula deixa de ser célula e a
   tabela perde o alinhamento das colunas. */
.mv-celula-dupla{display:flex;flex-direction:column;gap:1px;min-width:0;overflow-wrap:anywhere}
.mv-col-acoes{position:sticky;right:0;background:var(--surface);text-align:right}
.mv-linha-aberta{background:var(--paper))}
.mv-check{display:inline-flex;align-items:center}
.mv-pin{display:inline-block;padding:1px 7px;border-radius:999px;font-size:.78rem;border:1px solid var(--line);white-space:nowrap}
.mv-pin-ok{background:rgba(40,150,90,.12)}
.mv-pin-falta{background:rgba(200,140,0,.14)}
.mv-situacao{font-size:.8rem}
.mv-situacao-rejected{color:var(--muted);text-decoration:line-through}

.mv-cartoes-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.mv-cartao-item{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface)}
.mv-cartao-item p{margin:3px 0}
.mv-cartao-topo{display:flex;align-items:center;gap:8px}
.mv-vazio{border:1px dashed var(--line);border-radius:10px;padding:20px;text-align:center}
.mv-vazio h3{margin:0 0 6px}
.mv-erro{border:1px solid var(--line);border-radius:10px;padding:16px}

@media (max-width:1180px){
 .mv-graficos-corpo{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
 .mv-pagina{height:auto;min-height:0}
 .mv-area{flex:0 0 auto;overflow:visible;contain:none}
 .mv-corpo{overflow:visible}
 .mv-painel{flex-basis:auto;max-inline-size:none}
 .mv-painel-sobreposto.mv-com-painel .mv-painel{position:static;box-shadow:none;max-inline-size:none}
 .mv-filtros,.mv-filtros-extra{grid-template-columns:minmax(0,1fr)}
 .mv-valor{font-size:1.3rem}
}
