/* Cadastro de clientes do SISGE — campos proporcionais e sem vazios. */
.sge-cpf { flex: 0 0 280px !important; max-width: 280px !important; }
.sge-cep { flex: 0 0 190px !important; max-width: 190px !important; }

.sge-grid-cadastro,
.sge-grid-endereco,
.sge-grid-cobranca {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

/* Linha 1: tipo, nome/razão e fantasia */
.sge-grid-cadastro .sge-tipo { grid-column: span 2; }
.sge-grid-cadastro .sge-nome-razao { grid-column: span 6; }
.sge-grid-cadastro .sge-nome-fantasia { grid-column: span 4; }
/* Linha 2: código, cliente desde, situação e contribuinte */
.sge-grid-cadastro .sge-codigo { grid-column: span 2; max-width: 110px !important; }
.sge-grid-cadastro .sge-cliente-desde { grid-column: span 4; }
.sge-grid-cadastro .sge-situacao { grid-column: span 4; }
.sge-grid-cadastro .sge-contribuinte { grid-column: span 4; }
.sge-codigo.sge-codigo-topo { max-width: 160px !important; margin: 0 0 14px !important; }
/* Linha 3: inscrições */
.sge-grid-cadastro .sge-ie,
.sge-grid-cadastro .sge-im,
.sge-grid-cadastro .sge-crt { grid-column: span 4; }
/* Linha 4: SUFRAMA, RG e órgão */
.sge-grid-cadastro .sge-suframa,
.sge-grid-cadastro .sge-rg,
.sge-grid-cadastro .sge-orgao { grid-column: span 4; }

/* Endereço principal: Endereço | Número | Complemento / Bairro | Cidade | UF */
.sge-grid-endereco .sge-span-endereco { grid-column: span 8; }
.sge-grid-endereco .sge-span-numero { grid-column: span 1; max-width: none !important; }
.sge-grid-endereco .sge-span-complemento { grid-column: span 3; max-width: none !important; }
.sge-grid-endereco .sge-span-bairro { grid-column: span 5; }
.sge-grid-endereco .sge-span-cidade { grid-column: span 6; }
.sge-grid-endereco .sge-span-uf { grid-column: span 1; max-width: none !important; }

/* Cobrança: CEP | Endereço | Número | Complemento / Bairro | Cidade | UF */
.sge-grid-cobranca .sge-span-cep { grid-column: span 2; max-width: none !important; }
.sge-grid-cobranca .sge-span-endereco { grid-column: span 7; }
.sge-grid-cobranca .sge-span-numero { grid-column: span 1; max-width: none !important; }
.sge-grid-cobranca .sge-span-complemento { grid-column: span 2; max-width: none !important; }
.sge-grid-cobranca .sge-span-bairro { grid-column: span 5; }
.sge-grid-cobranca .sge-span-cidade { grid-column: span 6; }
.sge-grid-cobranca .sge-span-uf { grid-column: span 1; max-width: none !important; }

@media (max-width: 1100px) {
  .sge-grid-cadastro .sge-tipo,
  .sge-grid-cadastro .sge-nome-razao,
  .sge-grid-cadastro .sge-nome-fantasia { grid-column: span 6; }
  .sge-grid-cadastro .sge-codigo,
  .sge-grid-cadastro .sge-cliente-desde,
  .sge-grid-cadastro .sge-situacao,
  .sge-grid-cadastro .sge-contribuinte,
  .sge-grid-cadastro .sge-ie,
  .sge-grid-cadastro .sge-im,
  .sge-grid-cadastro .sge-crt,
  .sge-grid-cadastro .sge-suframa,
  .sge-grid-cadastro .sge-rg,
  .sge-grid-cadastro .sge-orgao { grid-column: span 4; }
  .sge-grid-endereco, .sge-grid-cobranca { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
  .sge-grid-endereco .sge-span-endereco, .sge-grid-cobranca .sge-span-endereco { grid-column: span 4; }
  .sge-grid-endereco .sge-span-numero, .sge-grid-cobranca .sge-span-numero { grid-column: span 1; }
  .sge-grid-endereco .sge-span-complemento, .sge-grid-cobranca .sge-span-complemento { grid-column: span 1; }
  .sge-grid-cobranca .sge-span-cep { grid-column: span 1; }
  .sge-grid-endereco .sge-span-bairro, .sge-grid-cobranca .sge-span-bairro { grid-column: span 3; }
  .sge-grid-endereco .sge-span-cidade, .sge-grid-cobranca .sge-span-cidade { grid-column: span 2; }
  .sge-grid-endereco .sge-span-uf, .sge-grid-cobranca .sge-span-uf { grid-column: span 1; }
}
@media (max-width: 760px) {
  .sge-cpf, .sge-cep { flex: 1 1 100% !important; max-width: none !important; }
  .sge-grid-cadastro, .sge-grid-endereco, .sge-grid-cobranca { grid-template-columns: minmax(0, 1fr) !important; }
  .sge-grid-cadastro > *, .sge-grid-endereco > *, .sge-grid-cobranca > * { grid-column: auto !important; max-width: none !important; }
}
