/* NFS-e do Livro Caixa (2026-10-09): telas de notas e de configuração + visualizador da DANFSe.
   Dogmas: fonte ≥ 13px na interface (a DANFSe é a réplica do documento oficial e segue o leiaute dele), sem pastel nem
   fundo translúcido colorido (selo = cor sólida viva), botões verde/amarelo/vermelho, celular primeiro. */

.nfse-amb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-left:5px solid var(--green);border-radius:12px;padding:10px 14px;margin:0 0 12px;background:var(--panel2);font-size:14px}
.nfse-amb.teste{border-left-color:#e53935}
.nfse-amb .nfse-amb-tag{font-weight:800;font-size:13px;padding:3px 10px;border-radius:8px;background:#22c55e;color:#06210f}
.nfse-amb.teste .nfse-amb-tag{background:#e53935;color:#fff}
.nfse-amb.teste .nfse-amb-txt{color:#e53935;font-weight:700}

.nfse-st{display:inline-block;font-size:13px;font-weight:800;padding:2px 8px;border-radius:8px;white-space:nowrap;border:1px solid transparent}
.nfse-st.aguardando,.nfse-st.erro_transitorio{background:#f2b632;color:#1a1400}
.nfse-st.pendente{background:#4aa3ff;color:#04223f}
.nfse-st.bloqueada,.nfse-st.rejeitada{background:#e53935;color:#fff}
.nfse-st.emitida{background:#22c55e;color:#06210f}
.nfse-st.cancelada{background:#64748b;color:#fff}
.nfse-teste{display:inline-block;font-size:13px;font-weight:800;color:#e53935}

.nfse-cont{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.nfse-cont span{font-size:13px;color:var(--muted)}
.nfse-cont b{color:#4aa3ff}

/* Lista: tabela no desktop, cartões no celular. Matriz FIXA de botões (docs/49 §8): o que não se aplica fica opaco. */
.nfse-tabela{width:100%;border-collapse:collapse;font-size:14px}
.nfse-tabela th,.nfse-tabela td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.nfse-tabela th{font-size:13px;color:var(--muted);font-weight:700;white-space:nowrap}
.nfse-tabela td.num,.nfse-tabela th.num{text-align:right;white-space:nowrap}
.nfse-tabela .nfse-erro{display:block;color:#e53935;font-size:13px;margin-top:4px;text-align:left}
.nfse-tabela .nfse-desc{display:block;color:var(--muted);font-size:13px;max-width:none}
.nfse-matriz{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-width:360px}
.nfse-matriz .btn{margin:0;width:100%;min-height:36px;padding:6px 8px;font-size:13px;white-space:nowrap}
/* Desabilitado = contorno neutro (opacidade sobre amarelo/vermelho viraria caramelo/marrom — cor proibida). */
.nfse-matriz .btn:disabled,.nfse-receb .btn:disabled{background:transparent;color:var(--muted);border:1px solid var(--line);opacity:.55;cursor:not-allowed}
.nfse-receb{margin-top:6px}
.nfse-receb .btn{margin:0;width:100%;min-height:36px;font-size:13px}
.nfse-receb .nfse-ok{display:block;font-size:13px;color:var(--pos);font-weight:700;text-align:center;padding:6px 0}
.nfse-cards{display:none}
.nfse-card{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:12px;margin-bottom:10px}
.nfse-card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.nfse-card-top strong{font-size:15px}
.nfse-card dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:8px 0;font-size:14px}
.nfse-card dt{color:var(--muted);font-size:13px}
.nfse-card dd{margin:0;text-align:right;overflow-wrap:anywhere}
.nfse-card .nfse-matriz{min-width:0}
.nfse-card .nfse-erro{color:#e53935;font-size:13px;margin:6px 0}
@media (max-width:899px){
  .nfse-tabela-wrap{display:none}
  .nfse-cards{display:block}
}

/* Formulários (rascunho e configuração). */
.nfse-form .row3{display:grid;grid-template-columns:1fr;gap:0 12px}
@media (min-width:700px){.nfse-form .row3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.nfse-form fieldset{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0 0 12px}
.nfse-form legend{font-size:13px;font-weight:800;color:var(--muted);padding:0 6px}
.nfse-form textarea.input{min-height:96px;resize:vertical}
.nfse-dica{font-size:13px;color:var(--muted);margin:4px 0 0;text-align:justify}
.nfse-aviso-campo{font-size:13px;color:#f2b632;margin:4px 0 0}
.nfse-faltas{margin:6px 0 0 18px;padding:0;font-size:14px}
.nfse-cert dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0;font-size:14px}
.nfse-cert dt{color:var(--muted)}
.nfse-cert dd{margin:0;overflow-wrap:anywhere}
.nfse-eco{border:1px solid var(--line);border-left:5px solid #4aa3ff;border-radius:12px;padding:12px 14px;background:var(--panel2);font-size:14px;margin:10px 0}
.nfse-eco.ok{border-left-color:#22c55e}
.nfse-eco.bad{border-left-color:#e53935}

/* Chave liga/desliga (sim/não): checkbox com aparência de chave. */
.nfse-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:700;user-select:none}
.nfse-toggle input{appearance:none;-webkit-appearance:none;width:46px;height:26px;border-radius:13px;background:#64748b;position:relative;cursor:pointer;margin:0;flex:none;transition:background .15s}
.nfse-toggle input::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .15s}
.nfse-toggle input:checked{background:#22c55e}
.nfse-toggle input:checked::after{left:23px}
.nfse-toggle input.perigo:checked{background:#e53935}

/* Visualizador da DANFSe em tela cheia por cima do app (popup), nota ajustada sem rolagem. */
.nfse-danfse-overlay{position:fixed;inset:0;z-index:1000;background:#1b1f26}
.nfse-danfse-barra{position:absolute;left:0;right:0;top:0;min-height:56px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#000;color:#fff;flex-wrap:wrap}
.nfse-danfse-barra strong{flex:1 1 auto;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nfse-danfse-barra .btn{margin:0;width:auto;flex:0 0 auto}
.nfse-danfse-barra .btn.neutral{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}
.nfse-danfse-aviso{font-size:13px;font-weight:800;color:#f2b632}
.nfse-danfse-aviso.teste{color:#ff5a55}
.nfse-danfse-palco{position:absolute;left:0;right:0;top:56px;bottom:0;display:flex;align-items:flex-start;justify-content:center;padding:10px;overflow:hidden}
.nfse-danfse-folha{background:#fff;color:#000;border-radius:6px;padding:8px;box-shadow:0 10px 40px rgba(0,0,0,.5);font-size:14px}
@media (max-width:640px){.nfse-danfse-palco{top:104px}}
/* Página nomeada: só a impressão da DANFSe sai em A4 sem margem (sem cabeçalho/rodapé do navegador); o resto do app
   continua com a margem padrão da impressão. */
@page nfse-danfse{size:A4 portrait;margin:0}
@media print{
  body.nfse-danfse-aberto>*:not(.nfse-danfse-overlay){display:none!important}
  body.nfse-danfse-aberto{background:#fff!important}
  .nfse-danfse-overlay{position:static;background:#fff;page:nfse-danfse}
  .nfse-danfse-barra{display:none}
  .nfse-danfse-palco{position:static;padding:0;display:block;overflow:visible}
  .nfse-danfse-folha{box-shadow:none;border-radius:0;padding:8mm;margin:0 auto;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* DANFSE-INICIO — desenho da DANFSe v2.0 (porte de danfe.css do SPED AUDIT Web). Também embutido no arquivo
   .html autocontido enviado por e-mail (src/nfse/danfse.js lê este trecho). Letras pequenas = leiaute oficial. */
.danfe-legal.dnf-danfse{width:1000px;margin:0 auto;padding:12px 12px 8px;background:#fff;color:#111;font-family:Arial,Helvetica,sans-serif;font-size:10px;line-height:1.15;text-align:left}
.dnf-danfse *{box-sizing:border-box}
.dnf-danfse .dnf-box{border:1px solid #111;overflow:hidden;background:#fff;min-height:28px;padding:3px 5px;border-radius:0}
.dnf-danfse .dnf-label{display:block;font-size:8px;text-transform:uppercase;font-weight:400;line-height:1.05;margin-bottom:1px;color:#333}
.dnf-danfse .dnf-value{display:block;font-size:12px;font-weight:700;line-height:1.12;min-height:13px;overflow-wrap:anywhere}
.dnf-danfse .dnf-center{text-align:center}
.dnf-danfse .dnf-right{text-align:right}
.dnf-danfse .dnf-row{display:grid;margin-top:-1px}
.dnf-danfse .dnf-row .dnf-box+.dnf-box{margin-left:-1px}
.dnf-danfse .dnf-flex{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.dnf-danfse .dnf-section-title{font-size:11px;font-weight:900;text-transform:uppercase;color:#111;background:#e9edf2;border:1px solid #111;padding:2px 6px;margin:7px 0 0;line-height:1.25;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.dnf-danfse .dnf-add{display:grid;grid-template-columns:1fr;margin-top:-1px}
.dnf-danfse .dnf-add .dnf-box{min-height:auto;padding:3px 5px}
.dnf-danfse .dnf-add .dnf-text{font-size:11px;line-height:1.2;font-weight:400;text-align:justify}
.dnf-danfse-head{display:flex;align-items:center;gap:10px;border:1px solid #111;border-radius:4px;padding:6px 9px;margin-bottom:4px}
.dnf-danfse-brand{display:flex;align-items:center;gap:7px;flex:1 1 0;min-width:0}
.dnf-danfse-title{flex:1 1 0;text-align:center}
.dnf-danfse-title strong{display:block;font-size:19px;font-weight:900;line-height:1;letter-spacing:.5px}
.dnf-danfse-title span{display:block;font-size:8px;color:#444;line-height:1.1}
.dnf-danfse-amb{flex:1 1 0;text-align:right;font-size:8px;line-height:1.35;color:#333}
.dnf-danfse .dnf-full{width:100%}
.dnf-danfse .dnf-full .dnf-value{font-size:15px;font-weight:900;letter-spacing:.6px;font-family:ui-monospace,Menlo,Consolas,monospace}
.dnf-danfse .dnf-note{text-align:center;font-size:9px;font-style:italic;color:#555;border:1px dashed #999;padding:2px;margin-top:-1px}
.dnf-danfse .dnf-nfse-logo{height:36px;width:auto;display:block}
.dnf-danfse .dnf-sem-validade{display:block;color:#c00;font-weight:800;font-size:10px;margin-top:2px}
.dnf-danfse .dnf-chave-qr{display:flex;gap:8px;align-items:stretch}
.dnf-danfse .dnf-chave-qr-txt{flex:1 1 auto;min-width:0}
.dnf-danfse .dnf-qr{width:84px;height:84px;flex:none;align-self:center;margin:2px 4px;image-rendering:pixelated}
.dnf-danfse .dnf-box.dnf-destaque{background:#e3e3e3;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.dnf-danfse .dnf-box.dnf-destaque .dnf-value{font-size:15px;font-weight:800}
.dnf-sistema{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:8px 2px 0;color:#000;text-align:left;font-family:Arial,Helvetica,sans-serif}
.dnf-sistema strong{display:block;font-size:12px;line-height:1.2}
.dnf-sistema span{display:block;font-size:11px;line-height:1.25}
/* DANFSE-FIM */
