/* t68: folha da central de Despesas do escritório.
   Tudo prefixado com .dp-. ⚠️ Nada de <header> nesta tela: a folha base cobra
   altura do TIPO (`header{height:76px}`, 48px abaixo de 760px), e isso já
   escondeu um botão atrás do título seguinte na t67. O cabeçalho usa a classe
   `pagina-topo`, que é do sistema e tem dono. */
.dp-pagina{display:flex;flex-direction:column;gap:14px;min-width:0;position:relative}
.dp-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.dp-topo h1{margin:0}
.dp-apoio{color:var(--muted);font-size:.85rem;margin:2px 0 0;max-width:86ch}
.dp-topo-acoes{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dp-mes{display:flex;align-items:center;gap:6px}
.dp-mes input{inline-size:auto;min-inline-size:148px;margin-top:0}
.dp-mes button{padding:8px 10px}

.dp-cartoes{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(196px,1fr))}
.dp-cartao{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface);min-width:0}
.dp-cartao-rotulo{margin:0;font-size:.8rem;color:var(--muted);font-weight:600}
.dp-cartao-valor{margin:4px 0 0;font-size:1.4rem;font-weight:700;line-height:1.15;overflow-wrap:anywhere}
.dp-definicao{margin-top:6px}
.dp-definicao summary{font-size:.76rem;color:var(--muted);cursor:pointer}
.dp-definicao p{margin:4px 0 0;font-size:.78rem;color:var(--muted)}
.dp-escopo{grid-column:1/-1;margin:0;font-size:.8rem;color:var(--muted)}

.dp-analise-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
 height:auto;min-height:0;padding:0;border:0;background:none}
.dp-analise-topo h2{margin:0;font-size:1.05rem}
.dp-analise-acoes{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dp-analise-acoes label{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted)}
.dp-grade{display:grid;gap:14px;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);margin-top:12px;align-items:start}
.dp-painel{min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.dp-painel h3{margin:0 0 8px;font-size:.92rem}

.dp-barras{display:flex;align-items:flex-end;gap:6px;block-size:170px}
.dp-barra-coluna{flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;block-size:100%}
.dp-barra{border:0;padding:0;inline-size:100%;background:var(--grafico-despesa,#b4601f);border-radius:3px 3px 0 0;min-block-size:2px;cursor:pointer}
.dp-barra:hover{filter:brightness(1.08)}
/* Competência futura é IDENTIFICADA, não escondida nem tratada como passado. */
.dp-barra.dp-futuro{background:repeating-linear-gradient(45deg,var(--grafico-despesa,#b4601f),var(--grafico-despesa,#b4601f) 3px,transparent 3px,transparent 6px)}
.dp-barra-valor{font-size:.66rem;text-align:center;color:var(--muted);white-space:nowrap;overflow:hidden}
.dp-barra-rotulo{font-size:.7rem;text-align:center;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dp-tabela-grafico{inline-size:100%;border-collapse:collapse;margin-top:10px;font-size:.8rem}
.dp-tabela-grafico th,.dp-tabela-grafico td{text-align:left;padding:3px 6px;border-bottom:1px solid var(--line)}
.dp-marca{font-size:.68rem;padding:0 5px;border-radius:999px;border:1px solid var(--line)}

.dp-rosca-area{display:flex;flex-direction:column;align-items:center;gap:4px}
.dp-rosca{inline-size:150px;block-size:150px}
.dp-rosca-numero{font-size:19px;font-weight:700;fill:var(--ink)}
.dp-rosca-unidade{font-size:9px;fill:var(--muted)}
.dp-legenda{list-style:none;margin:6px 0 0;padding:0;inline-size:100%;display:flex;flex-direction:column;gap:4px;font-size:.8rem}
.dp-legenda li{display:flex;align-items:center;gap:6px}
.dp-legenda-valor{margin-inline-start:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
.dp-chave{inline-size:10px;block-size:10px;border-radius:2px;display:inline-block}
.dp-nota{margin:8px 0 0;font-size:.78rem;color:var(--muted)}
.dp-fatia-0,.dp-chave.dp-fatia-0{stroke:#b4601f;background:#b4601f}
.dp-fatia-1,.dp-chave.dp-fatia-1{stroke:#3f6ea8;background:#3f6ea8}
.dp-fatia-2,.dp-chave.dp-fatia-2{stroke:#2f7d5a;background:#2f7d5a}
.dp-fatia-3,.dp-chave.dp-fatia-3{stroke:#8a5fbf;background:#8a5fbf}
.dp-fatia-4,.dp-chave.dp-fatia-4{stroke:#a3803a;background:#a3803a}
.dp-fatia-5,.dp-chave.dp-fatia-5{stroke:#6b6b6b;background:#6b6b6b}

.dp-filtros{display:grid;gap:8px;align-items:end;
 grid-template-columns:minmax(180px,2fr) repeat(4,minmax(130px,1fr))}
.dp-filtros label{display:flex;flex-direction:column;gap:2px;font-size:.8rem;color:var(--muted);min-width:0;margin:0}
.dp-filtros select,.dp-filtros input{inline-size:100%;min-inline-size:0;margin-top:0}
.dp-atalhos{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:center}
.dp-atalho{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:.82rem}
.dp-atalho-ativo{border-color:var(--accent,#ec7014);background:color-mix(in srgb,var(--accent,#ec7014) 10%,transparent);font-weight:600}
.dp-contagem{font-variant-numeric:tabular-nums;color:var(--muted)}
.dp-atalhos-nota{flex-basis:100%;margin:2px 0 0}

/* ⚠️ position:relative porque overflow não recorta descendente absoluto
   quando quem recorta é estático: os rótulos de leitor de tela escapavam e
   criavam rolagem fantasma. */
.dp-corpo{max-block-size:min(58vh,560px);overflow:auto;position:relative;contain:paint}
/* ⚠️ t87: a consulta padrão no desktop exigia rolagem LATERAL, e o que ficava
   para fora era o botão "Detalhes", ou seja, a ação. Medido: 45px de estouro
   em 1366px. Três mudanças juntas, nenhuma escondendo dado: respiro menor
   entre colunas, ação compacta e as duas datas na mesma coluna. */
.dp-sub-th{color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0}
.dp-datas .dp-referencia{font-variant-numeric:tabular-nums}
@media (max-width:1500px){
 .dp-tabela th,.dp-tabela td{padding-inline:5px}
 .dp-tabela{font-size:12px}
 .dp-tabela td.dp-acoes .secondary{padding:4px 8px;font-size:12px}
}
.dp-tabela{inline-size:100%;border-collapse:collapse;table-layout:fixed}
.dp-tabela th,.dp-tabela td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.dp-tabela thead th{position:sticky;top:0;background:var(--surface);z-index:2;font-size:.78rem;color:var(--muted)}
/* Larguras em PORCENTAGEM somando 100: misturar px e % sob table-layout:fixed
   já espremeu uma coluna de ações para 12px em outra tela deste sistema. */
.dp-tabela th:nth-child(1),.dp-tabela td:nth-child(1){width:22%}
.dp-tabela th:nth-child(2),.dp-tabela td:nth-child(2){width:12%}
.dp-tabela th:nth-child(3),.dp-tabela td:nth-child(3){width:10%}
.dp-tabela th:nth-child(4),.dp-tabela td:nth-child(4){width:8%}
.dp-tabela th:nth-child(5),.dp-tabela td:nth-child(5){width:8%}
.dp-tabela th:nth-child(6),.dp-tabela td:nth-child(6){width:9%}
.dp-tabela th:nth-child(7),.dp-tabela td:nth-child(7){width:9%}
.dp-tabela th:nth-child(8),.dp-tabela td:nth-child(8){width:9%}
.dp-tabela th:nth-child(9),.dp-tabela td:nth-child(9){width:8%}
.dp-tabela th:nth-child(10),.dp-tabela td:nth-child(10){width:5%}
.dp-celula-dupla{display:flex;flex-direction:column;gap:1px;min-width:0;align-items:flex-start}
/* O título é um <button> para abrir a gaveta, mas não pode PARECER um botão:
   com a moldura padrão, cada linha da tabela virava uma fileira de caixas. */
.dp-celula-dupla .link-forte{border:0;background:none;padding:0;text-align:left;
 font-weight:600;color:var(--ink,inherit);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.dp-celula-dupla .link-forte:hover{color:var(--accent,#ec7014)}
.dp-item .link-forte{border:0;background:none;padding:0;text-align:left;font-weight:600;
 text-decoration:underline;text-underline-offset:2px}
/* ⚠️ A REFERÊNCIA da Vobi é um UUID longo. Ela fica secundária e truncada; o
   título é a informação principal, e a referência completa vive na gaveta. */
.dp-referencia{font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dp-numero{text-align:right;font-variant-numeric:tabular-nums}
.dp-acoes{text-align:right}
.dp-linha-aberta{background:var(--paper))}
.dp-selo{display:inline-block;padding:1px 7px;border-radius:999px;font-size:.74rem;border:1px solid var(--line);white-space:nowrap}
.dp-aberta{background:rgba(120,120,120,.12)}
.dp-parcial{background:rgba(63,110,168,.14)}
.dp-paga{background:rgba(40,150,90,.14)}
.dp-anulada{background:rgba(120,120,120,.2);text-decoration:line-through}
.dp-vencida{background:rgba(190,60,40,.14)}
.dp-recorte{margin:0 0 10px;padding:10px 12px;border:1px solid rgba(190,60,40,.35);border-left-width:4px;border-radius:8px;background:rgba(190,60,40,.08);line-height:1.45}
.dp-recorte strong{display:block}
.dp-hoje{background:rgba(200,140,0,.16)}

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

.dp-gaveta{border:1px solid var(--line);border-radius:10px;padding:14px;background:var(--surface);
 max-block-size:min(84vh,860px);overflow:auto}
.dp-gaveta-sobreposta.dp-com-gaveta .dp-gaveta{position:fixed;inset-block:12px;inset-inline-end:12px;
 inline-size:min(460px,94vw);box-shadow:-10px 0 28px rgba(0,0,0,.2);z-index:40}
.dp-gaveta-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.dp-gaveta-topo h2{margin:4px 0 2px;font-size:1.1rem}
.dp-selos{margin:0;display:flex;gap:5px;flex-wrap:wrap}
.dp-referencia-completa{margin:2px 0 0;font-size:.76rem;color:var(--muted);overflow-wrap:anywhere}
.dp-gaveta-acoes{margin-top:12px}
.dp-gaveta h3{margin:14px 0 6px;font-size:.92rem}
.dp-ficha{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;margin:0;font-size:.85rem}
.dp-ficha dt{color:var(--muted)}
.dp-ficha dd{margin:0;overflow-wrap:anywhere}
.dp-pagamentos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:.85rem}
.dp-pagamentos li{border:1px solid var(--line);border-radius:8px;padding:8px}
.dp-pagamentos p{margin:0}
.dp-estornado{opacity:.75}
.dp-alerta{margin:10px 0;padding:8px 10px;border-radius:8px;background:rgba(200,140,0,.12);font-size:.85rem}
.dp-gaveta-rodape{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}
.dp-perigo{background:#a8362a;color:#fff;border:1px solid #a8362a;border-radius:6px;padding:9px 14px;font-size:.82rem;font-weight:600}
.dp-perigo:disabled{opacity:.5}

.dp-form{display:flex;flex-direction:column;gap:8px;margin-top:14px;
 border:1px solid var(--line);border-radius:10px;padding:12px}
.dp-form h3{margin:0}
.dp-form label{display:flex;flex-direction:column;gap:2px;font-size:.8rem;color:var(--muted);margin:0}
.dp-form input,.dp-form select,.dp-form textarea{margin-top:0}
.dp-form-acoes{display:flex;gap:8px;flex-wrap:wrap}
.dp-form-grade{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.dp-cadastro{max-inline-size:800px}

@media (max-width:1180px){
 .dp-grade{grid-template-columns:minmax(0,1fr)}
 .dp-filtros{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (max-width:760px){
 .dp-filtros{grid-template-columns:minmax(0,1fr)}
 .dp-corpo{max-block-size:none;overflow:visible;contain:none}
 .dp-gaveta-sobreposta.dp-com-gaveta .dp-gaveta{position:static;inline-size:auto;box-shadow:none;max-block-size:none}
 .dp-topo-acoes{inline-size:100%}
 .dp-mes{flex:1 1 100%}
}
