/* NEXFC Contábil: Livro Fiscal (espec 3.5 e 6). Só classes liv- e só os tokens de base.css.
   Crédito em verde (--ok) e débito em terracota (--atencao), adaptados da paleta do protótipo de 28/09. */

.liv-tela { min-width: 0; }
.liv-aviso {
  margin: 0 0 14px; padding: 10px 14px;
  border-radius: var(--raio); border-left: 4px solid var(--acento);
  background: var(--info-bg); color: var(--tinta); font-size: .92rem;
}
.liv-seletor { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: flex-end; }
.liv-campo-cliente { flex: 1 1 280px; }
.liv-campo-comp { flex: 0 1 200px; }
.liv-cab { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 4px 0 12px; }
.liv-cab-nome { margin: 0; font-size: 1.15rem; min-width: 0; overflow-wrap: anywhere; }

.liv-faixa-simples {
  margin: 0 0 14px; padding: 10px 14px; border-radius: var(--raio);
  background: var(--atencao-bg); color: var(--atencao); border: 1px dashed var(--atencao); font-weight: 500;
}
.liv-faixa-simples p { margin: 0; }
.liv-aviso-resumo { margin: 0 0 12px; color: var(--fraca); font-weight: 500; }

/* área de importar (arrastar e soltar) */
.liv-solta {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px;
  margin: 0 0 16px; padding: 16px; border: 2px dashed var(--forte); border-radius: var(--raio); background: var(--carta);
}
.liv-solta-ativa { border-color: var(--acento); background: var(--info-bg); }
.liv-solta-texto { display: flex; flex-direction: column; gap: 2px; margin: 0; flex: 1 1 260px; min-width: 0; }
.liv-escolher { white-space: normal; text-align: center; }

.liv-resultado h3 { margin-bottom: 6px; }
.liv-resultado h4 { margin: 10px 0 4px; }
.liv-lista { margin: 0; padding-left: 1.1rem; }
.liv-lista li { margin-bottom: 4px; overflow-wrap: anywhere; }
.liv-cod { font-family: var(--fonte-num); font-variant-numeric: tabular-nums; letter-spacing: .01em; }

.liv-abas { margin-top: 4px; flex-wrap: wrap; overflow-x: visible; }
.liv-n { margin-left: 6px; }
.liv-conteudo { min-width: 0; }

/* placar */
.liv-placar { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 0 0 16px; }
.liv-ficha {
  display: flex; flex-direction: column; gap: 2px; min-width: 0;
  padding: 12px 14px; border-radius: var(--raio); border: 1px solid var(--linha); border-top: 4px solid var(--linha);
  background: var(--carta); box-shadow: var(--sombra);
}
.liv-ficha-rot { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--fraca); }
.liv-ficha-valor { font-family: var(--fonte-titulo); font-size: 1.35rem; font-weight: 600; text-align: left; color: var(--tinta); overflow-wrap: anywhere; white-space: normal; }
.liv-ficha-sub { font-size: .82rem; color: var(--sutil); }
.liv-ficha-cred { border-top-color: var(--ok); }
.liv-ficha-cred .liv-ficha-valor { color: var(--ok); }
.liv-ficha-deb { border-top-color: var(--atencao); }
.liv-ficha-deb .liv-ficha-valor { color: var(--atencao); }
.liv-ficha-saldo { border-top-color: var(--acento); background: var(--carta-2); }

.liv-cred { color: var(--ok); }
.liv-deb { color: var(--atencao); }
.liv-situacao { white-space: nowrap; }
.liv-nota-selo { margin: 8px 0 0; font-size: .9rem; color: var(--fraca); }
.liv-total th, .liv-total td { font-weight: 700; border-top: 2px solid var(--linha); }

/* memória de cálculo */
.liv-memoria { padding-bottom: 8px; }
.liv-mem-bloco { border-top: 1px solid var(--linha); }
.liv-mem-bloco summary {
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
  padding: 10px 4px; cursor: pointer; font-weight: 600; list-style-position: inside;
}
.liv-mem-bloco summary > span:first-child { min-width: 0; }
.liv-mem-linha {
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
  padding: 6px 4px 6px 22px; border-top: 1px dashed var(--linha); font-size: .9rem;
}
.liv-mem-desc { color: var(--fraca); min-width: 0; overflow-wrap: anywhere; }

/* notas e tabelas */
.liv-riscada td { color: var(--sutil); }
.liv-riscada .liv-cod { text-decoration: line-through; }
.liv-participante { min-width: 160px; }
.liv-acoes { white-space: nowrap; }
.liv-acoes-caixa { display: inline-flex; flex-wrap: nowrap; gap: 4px; }
.liv-partes { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 0 16px; }
.liv-parte h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.liv-ibs-info .liv-lista li { margin-bottom: 6px; }

/* alertas */
.liv-alertas { list-style: none; margin: 0; padding: 0; }
.liv-alerta {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 6px 12px; align-items: start;
  padding: 10px 0; border-top: 1px solid var(--linha);
}
.liv-alerta:first-child { border-top: 0; }
.liv-alerta-texto { min-width: 0; overflow-wrap: anywhere; }
.liv-alerta-feito .liv-alerta-texto { color: var(--sutil); }
.liv-feitos summary { cursor: pointer; font-weight: 600; }

/* regras de CFOP (Ajustes) */
.liv-regras td { vertical-align: middle; }
.liv-regras select, .liv-nome-regra {
  min-height: 32px; padding: 3px 6px; border: 1px solid var(--forte); border-radius: var(--raio); background: var(--carta);
}
.liv-nome-regra { width: 100%; min-width: 180px; }
.liv-celula { white-space: nowrap; }
.liv-status { display: inline-block; margin-left: 4px; }
.liv-nova-regra h3 { margin-bottom: 4px; }
.liv-campo-nome { flex: 1 1 240px; }

.liv-folha p { margin-bottom: 8px; }

@media (max-width: 640px) {
  .liv-solta { padding: 12px; }
  .liv-escolher { width: 100%; }
  .liv-placar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .liv-ficha { padding: 10px; }
  .liv-ficha-valor { font-size: 1.1rem; }
  .liv-campo-comp { flex: 1 1 100%; }
  .liv-alerta { grid-template-columns: minmax(0, 1fr); }
  .liv-partes { grid-template-columns: minmax(0, 1fr); }
  .liv-mem-linha { padding-left: 8px; }
}
