/* =========================================================
   emissao.css: editor de nota fiscal e cadastros da emissão
   (redesenho de 29/09/2026). Tudo prefixado .emi-. Tokens de
   css/visual-2026.css (--n-*, --verde-lavoura), com reserva.
   ========================================================= */
.emi-ed{--emi-borda:var(--n-200,#e4e7e2);--emi-fundo:var(--n-50,#f7f8f6);--emi-sec:var(--n-500,#667065);--emi-texto:var(--n-900,#0f1f14);--emi-verde:var(--verde-lavoura,#2f6b34);color:var(--emi-texto);}

/* Topo: voltar, título com situação, ações */
.emi-topo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:4px 0 16px;margin-bottom:16px;border-bottom:1px solid var(--emi-borda);}
.emi-voltar{border:1px solid var(--emi-borda);background:#fff;border-radius:999px;min-height:40px;padding:0 14px;font-weight:600;font-size:.85rem;cursor:pointer;color:var(--emi-texto);}
.emi-voltar:hover{background:var(--emi-fundo);}
.emi-topo-titulo{flex:1 1 280px;min-width:0;}
.emi-topo-titulo h3{margin:0 0 4px;font-size:1.25rem;font-weight:700;letter-spacing:-.01em;}
.emi-topo-acoes{display:flex;gap:8px;flex-wrap:wrap;}

/* Grade: formulário e painel lateral fixo */
.emi-grade{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start;}
.emi-principal{display:flex;flex-direction:column;gap:16px;min-width:0;}
.emi-lateral{position:sticky;top:76px;}
.emi-lateral-caixa{background:#fff;border:1px solid var(--emi-borda);border-radius:14px;padding:18px;box-shadow:0 1px 2px rgba(15,31,20,.04),0 8px 24px rgba(15,31,20,.06);display:flex;flex-direction:column;gap:14px;}
.emi-lateral-botoes{display:flex;flex-direction:column;gap:8px;}
.emi-lateral-botoes .ctb-btn{width:100%;min-height:46px;font-size:.95rem;}
.emi-lateral-botoes .ctb-btn:disabled{opacity:.5;cursor:not-allowed;}

/* Cartões */
.emi-card{background:#fff;border:1px solid var(--emi-borda);border-radius:14px;padding:18px 20px;}
.emi-card-cab{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.emi-card-n{width:26px;height:26px;border-radius:8px;background:var(--emi-fundo);border:1px solid var(--emi-borda);color:var(--emi-sec);font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none;}
.emi-card-t{margin:0;font-size:1rem;font-weight:700;flex:1;}
.emi-card-acoes{display:flex;gap:6px;}
.emi-card-corpo>*+*{margin-top:12px;}

/* Campos: rótulo em cima, grade que se ajusta */
.emi-campos{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px 14px;}
.emi-campo{display:flex;flex-direction:column;gap:5px;min-width:0;}
.emi-campo-largo{grid-column:span 2;}
.emi-rot{font-size:.78rem;font-weight:600;color:var(--emi-sec);letter-spacing:.01em;}
.emi-campo .ctb-input,.emi-campo .ctb-select,.emi-ed .emi-busca{width:100%;min-height:42px;}
.emi-campo textarea.ctb-input{min-height:84px;padding:10px;resize:vertical;}
.emi-ed .ctb-input:focus,.emi-ed .ctb-select:focus{outline:none;border-color:var(--emi-verde);box-shadow:0 0 0 3px rgba(47,107,52,.15);}
.emi-dica{margin:0;font-size:.82rem;color:var(--emi-sec);}
.emi-dica-aviso{color:#7a5406;}
.emi-dica-inline{font-size:.78rem;color:var(--emi-sec);font-weight:400;}

/* Busca por código, nome ou documento */
.emi-picker{position:relative;}
.emi-ed .emi-busca,.ctb .emi-busca{padding-left:36px !important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23667065' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 12px center;}

/* Ficha do cadastro escolhido */
.emi-ficha-caixa{border:1px solid var(--emi-borda);background:var(--emi-fundo);border-radius:10px;padding:12px 14px;}
.emi-ficha{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px 16px;margin:0;}
.emi-ficha dt{font-size:.72rem;color:var(--emi-sec);font-weight:600;text-transform:uppercase;letter-spacing:.03em;}
.emi-ficha dd{margin:2px 0 0;font-size:.92rem;font-weight:500;overflow-wrap:anywhere;}
.emi-ficha-acoes{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px;align-items:center;}

/* Produtos */
.emi-item{border:1px solid var(--emi-borda);border-radius:12px;padding:12px 14px;}
.emi-item+.emi-item{margin-top:10px;}
.emi-item-topo{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.emi-item-n{font-weight:700;font-size:.85rem;flex:1;}
.emi-item-total{font-weight:700;font-variant-numeric:tabular-nums;}
.emi-campos-item{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));}
/* Quantidade com a unidade e preço com o "por": campo e seletor lado a lado */
.emi-par{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:6px;}
.emi-par .ctb-input,.emi-par .ctb-select{width:100%;min-height:42px;}
.emi-conta{grid-column:1 / -1;margin:0;padding:8px 12px;border-radius:8px;background:var(--emi-fundo);border:1px solid var(--emi-borda);font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--emi-texto);}
.emi-conta-erro{background:#fdecea;border-color:#f3c3be;color:#8c1d18;}
.emi-add{border:1px dashed var(--n-300,#d3d8d1);background:transparent;color:var(--emi-verde);font-weight:600;font-size:.88rem;border-radius:10px;min-height:44px;padding:0 16px;cursor:pointer;}
.emi-add:hover{background:var(--emi-fundo);border-color:var(--emi-verde);}
.emi-vazio{margin:0 0 10px;color:var(--emi-sec);font-size:.9rem;}

/* Transporte */
.emi-sub{border-top:1px solid var(--n-100,#f0f2ee);padding-top:14px;}
.emi-sub>*+*{margin-top:10px;}
.emi-sub-cab{display:flex;align-items:center;gap:10px;}
.emi-sub-cab h5{margin:0;font-size:.9rem;font-weight:700;flex:1;}
.emi-placas,.emi-parcelas{display:flex;flex-direction:column;gap:8px;}
.emi-placa,.emi-parcela{display:grid;grid-template-columns:150px 140px 72px minmax(0,1fr) auto;gap:8px;align-items:center;}
.emi-parcela{grid-template-columns:110px 170px minmax(0,200px) auto;}
.emi-placa-rot{font-size:.82rem;font-weight:600;color:var(--emi-sec);}
.emi-placa-num{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.emi-placa-uf{text-transform:uppercase;text-align:center;}
.emi-ed .emi-invalido{border-color:#b3261e !important;box-shadow:0 0 0 3px rgba(179,38,30,.12);}

/* Painel lateral: total, tributos, situação */
.emi-total{display:flex;flex-direction:column;gap:2px;}
.emi-total span{font-size:.8rem;color:var(--emi-sec);font-weight:600;}
.emi-total strong{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.emi-tribs{display:flex;flex-direction:column;gap:4px;margin-top:10px;border-top:1px solid var(--n-100,#f0f2ee);padding-top:10px;}
.emi-trib{display:flex;justify-content:space-between;font-size:.88rem;font-variant-numeric:tabular-nums;}
.emi-trib span:first-child{color:var(--emi-sec);}
.emi-status{border-radius:10px;padding:10px 12px;font-weight:700;font-size:.9rem;}
.emi-status-ok{background:#e7f3e8;color:#2f6b34;}
.emi-status-erro{background:#fdecea;color:#b3261e;}
.emi-lista{margin:8px 0 0;padding-left:18px;font-size:.84rem;display:flex;flex-direction:column;gap:4px;}
.emi-lista-erro{color:#8c1d18;}
.emi-lista-aviso{color:#7a5406;}
.emi-pre{white-space:pre-wrap;font:inherit;font-size:.82rem;margin:0;}

/* Cadastros */
.emi-busca-linha{margin:0 0 12px;max-width:520px;}
.emi-busca-linha .emi-busca{width:100%;min-height:42px;}
.emi-codigo{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;font-size:.82rem;background:var(--n-100,#f0f2ee);border-radius:6px;padding:2px 8px;}

@media (max-width:1100px){
  .emi-grade{grid-template-columns:1fr;}
  .emi-lateral{position:static;}
}
@media (max-width:640px){
  .emi-card{padding:14px;}
  .emi-campo-largo{grid-column:auto;}
  .emi-campos{grid-template-columns:1fr;}
  .emi-placa,.emi-parcela{grid-template-columns:1fr 80px;}
  .emi-placa-rot{grid-column:1 / -1;}
  .emi-placa-rntc{grid-column:1 / -1;}
  .emi-topo-acoes{width:100%;}
  .emi-topo-acoes .ctb-btn{flex:1;}
}

/* Botões de nota nova, logo acima dos filtros da lista em andamento */
.ctb-emi-novas{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 10px;}
@media (max-width:640px){.ctb-emi-novas .ctb-btn{flex:1 1 100%;}}
