/* Interface própria da Planilha de Demanda — specs.md §6. A base (barra, botões, layout, campos, pendências, prévia,
   avisos e diálogos) vem do kit: ../../compartilhado/css/ui.css. */

.pd-livre { margin: -6px 0 14px; }
.pd-extenso { margin: -8px 0 12px; font-style: italic; }

/* Valor atualizado (calculado, só leitura) */
.pd-atualizado { display: flex; flex-direction: column; gap: 2px; border: 1px solid var(--uern-line); background: var(--uern-muted);
                 border-radius: 4px; padding: 8px 10px; margin: 0 0 14px; outline: none; }
.pd-atualizado__rotulo { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--uern-ink-3); }
.pd-atualizado__valor { font-size: 15px; font-weight: 600; color: var(--uern-navy); font-variant-numeric: tabular-nums; }

/* Resumo do controle de saldo */
.pd-resumo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 10px; }
.pd-resumo__item { border: 1px solid var(--uern-line); border-radius: 4px; padding: 6px 8px; min-width: 0; }
.pd-resumo__item span { display: block; font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--uern-ink-3); }
.pd-resumo__item strong { display: block; font-size: 13px; color: var(--uern-ink); font-variant-numeric: tabular-nums;
                          white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pd-resumo__item.is-negativo strong { color: var(--ui-danger); }

/* Avisos da importação */
.pd-importacao { border: 1px solid var(--ui-warning); background: var(--ui-warning-bg); color: var(--ui-warning);
                 border-radius: 4px; padding: 8px 10px; margin-bottom: 10px; font-size: 12px; outline: none; }
.pd-importacao ul { margin: 6px 0; padding-left: 18px; max-height: 160px; overflow: auto; }
.pd-importacao li { margin: 2px 0; }
.pd-importacao__acoes { display: flex; justify-content: flex-end; }

/* Lista de lançamentos: linha compacta que expande para edição */
.pd-lista { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.pd-vazio { font-size: 13px; color: var(--uern-ink-3); padding: 10px; border: 1px dashed var(--uern-line); border-radius: 4px; text-align: center; }
.pd-item { border: 1px solid var(--uern-line); border-left: 4px solid var(--uern-navy); border-radius: 4px; background: #fff; }
.pd-item--aditivo { border-left-color: var(--uern-cyan); }
.pd-item--apostilamento { border-left-color: var(--uern-blue); }
.pd-item.is-aberto { border-color: var(--uern-navy); box-shadow: 0 1px 4px rgba(27, 30, 51, .12); }
.pd-item__cab { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto auto 12px; align-items: center; gap: 8px; width: 100%;
                padding: 6px 8px; background: none; border: 0; font: inherit; text-align: left; cursor: pointer; color: var(--uern-ink); }
.pd-item__cab:focus-visible { outline: 2px solid var(--uern-cyan); outline-offset: -2px; }
.pd-item__seq { font-size: 11px; color: var(--uern-ink-3); font-variant-numeric: tabular-nums; }
.pd-item__rotulo { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pd-item__valor, .pd-item__saldo { font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pd-item__saldo { color: var(--uern-ink-3); min-width: 92px; text-align: right; }
.pd-item__saldo.is-negativo { color: var(--ui-danger); font-weight: 600; }
.pd-item__alerta { width: 8px; height: 8px; border-radius: 50%; }
.pd-item__alerta.is-erro { background: var(--ui-danger); }
.pd-item__alerta.is-aviso { background: var(--ui-warning); }
.pd-item__corpo { padding: 4px 10px 10px; border-top: 1px solid var(--uern-line); }
.pd-item__corpo .field { margin-bottom: 8px; }
.pd-item__corpo input:disabled { background: #f2f2f2; color: var(--uern-ink-3); cursor: not-allowed; }
.pd-item__corpo > .check { margin: 0 0 8px; }
.pd-item__ferramentas { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.pd-acoes { display: flex; flex-wrap: wrap; gap: 6px; }

/* Diálogo de importação */
/* Janela larga e alta, de altura fixa: o texto ocupa o espaço livre e encolhe quando o resumo aparece, para a
   janela em si nunca rolar (o resumo e o texto rolam por dentro) */
dialog.pd-dlg-importar { width: min(960px, calc(100vw - 32px)); height: min(820px, calc(100vh - 32px)); max-height: none; }
.pd-dlg-importar .dialog { height: 100%; box-sizing: border-box; }
.pd-imp-texto { width: 100%; box-sizing: border-box; font-family: Consolas, 'Courier New', monospace; font-size: 12px;
                flex: 1 1 auto; min-height: 120px; resize: none; }
.pd-dlg-importar .pd-imp-resumo { flex: 0 1 auto; min-height: 80px; margin-top: 0; }
.pd-imp-resumo { border: 1px solid var(--uern-line); border-radius: 4px; padding: 10px 12px; margin-top: 10px; font-size: 13px;
                 max-height: 280px; overflow: auto; }
.pd-imp-resumo dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 12px; margin: 0 0 8px; }
.pd-imp-resumo dt { color: var(--uern-ink-3); }
.pd-imp-resumo dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.pd-imp-resumo h3 { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; margin: 10px 0 4px; }
.pd-imp-resumo ul { margin: 0; padding-left: 18px; }
.pd-imp-resumo .is-erro { color: var(--ui-danger); }
.pd-imp-resumo .is-aviso { color: var(--ui-warning); }
.pd-imp-resumo .is-ok { color: var(--ui-success); }
.pd-imp-erro { color: var(--ui-danger); font-weight: 600; }

#dlg-formato { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
#dlg-formato .seg span { display: flex; justify-content: center; width: 100%; text-align: center; white-space: normal; }
