/* V1207 — formulário de cliente: cabeçalho, obrigatoriedade clara e grade consistente. */
.cliente-form-v1207 { padding: 16px 18px 18px; }
.cliente-form-v1207 > #cliente-form { margin: 0; }
.cliente-form-v1207 .cliente-form-header {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  margin: 0 0 15px; padding: 0 0 14px; border-bottom: 1px solid var(--border, #dbe3ee);
}
.cliente-form-v1207 .cliente-form-titulo { min-width: 0; padding-left: 11px; border-left: 4px solid var(--primary, #f57916); }
.cliente-form-v1207 .cliente-form-titulo h3 { margin: 0 0 4px; padding: 0; border: 0; font-size: 20px; line-height: 1.3; font-weight: 750; color: var(--text, #142b49); }
.cliente-form-v1207 .cliente-form-titulo p { margin: 0; color: var(--text-secondary, #53647b); font-size: 12.5px; line-height: 1.4; }
.cliente-form-v1207 .cliente-codigo-header { flex: 0 0 min(330px, 42%); display: grid; grid-template-columns: minmax(145px, 1fr) 124px; align-items: center; gap: 10px; }
.cliente-form-v1207 .cliente-codigo-header label { color: var(--text-secondary, #53647b); font-size: 12px; font-weight: 650; line-height: 1.35; }
.cliente-form-v1207 .cliente-codigo-header input { box-sizing: border-box; width: 100%; min-width: 0; height: 38px; padding: 8px 11px; border: 1px solid var(--border, #cbd8e8); border-radius: 8px; background: #e1e9f4; color: #536780; font: inherit; font-size: 13px; }
.cliente-form-v1207 .cliente-secao-cabecalho { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.cliente-form-v1207 .cliente-secao-cabecalho h4 { margin: 0; padding-left: 9px; border-left: 3px solid var(--primary, #f57916); font-size: 15px; font-weight: 750; color: var(--text, #142b49); }
.cliente-form-v1207 .cliente-secao-cabecalho p { margin: 0; color: var(--text-secondary, #53647b); font-size: 12px; white-space: nowrap; }
.cliente-form-v1207 .cliente-obrigatorio { display: inline-block; margin-left: 2px; color: #dc2626; font-weight: 800; }
.cliente-form-v1207 .cliente-cadastro-secao { margin: 0 0 16px; padding: 0 0 5px; }
.cliente-form-v1207 .cliente-cadastro-secao + .cliente-cadastro-secao { padding-top: 15px; border-top: 1px solid var(--border, #dbe3ee); }
.cliente-form-v1207 .cliente-cadastro-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px 16px; align-items: start; }
.cliente-form-v1207 .cliente-cadastro-grid .field { min-width: 0; margin: 0; }
.cliente-form-v1207 .cliente-cadastro-grid .field label { display: block; min-height: 18px; margin: 0 0 6px; color: var(--text-secondary, #53647b); font-size: 12px; line-height: 1.35; font-weight: 650; }
.cliente-form-v1207 .cliente-cadastro-grid input,
.cliente-form-v1207 .cliente-cadastro-grid select,
.cliente-form-v1207 .cliente-cadastro-grid textarea { box-sizing: border-box; display: block; width: 100%; min-width: 0; min-height: 39px; padding: 8px 11px; border: 1px solid var(--border, #cbd8e8); border-radius: 8px; background: var(--surface, #fff); color: var(--text, #172b4d); font: inherit; font-size: 13px; }
.cliente-form-v1207 .cliente-cadastro-grid input:focus,
.cliente-form-v1207 .cliente-cadastro-grid select:focus,
.cliente-form-v1207 .cliente-cadastro-grid textarea:focus { outline: 2px solid rgba(12, 104, 220, .16); border-color: var(--primary, #0c68dc); }
.cliente-form-v1207 .cliente-cadastro-grid input:required:invalid,
.cliente-form-v1207 .cliente-cadastro-grid select:required:invalid { border-color: #e0a0a0; }
.cliente-form-v1207 .cliente-cadastro-grid input[readonly],
.cliente-form-v1207 .cliente-cadastro-grid input:disabled { background: #e5ebf4; color: var(--text-secondary, #53647b); }
.cliente-form-v1207 .cliente-cadastro-grid .cliente-field-razao { grid-column: span 2; }
.cliente-form-v1207 .cliente-ancora-field { grid-column: span 3 !important; }
.cliente-form-v1207 .cliente-ajuda { display: block; margin-top: 5px; color: var(--text-muted, #718096); font-size: 11px; line-height: 1.45; }
.cliente-form-v1207 .cliente-cadastro-acoes { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border, #dbe3ee); }
.cliente-form-v1207 .cliente-cadastro-acoes button { min-height: 38px; padding: 9px 16px; border-radius: 8px; font-weight: 650; }
@media (max-width: 1100px) {
  .cliente-form-v1207 .cliente-cadastro-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cliente-form-v1207 .cliente-ancora-field { grid-column: span 2 !important; }
}
@media (max-width: 760px) {
  .cliente-form-v1207 { padding: 14px; }
  .cliente-form-v1207 .cliente-form-header { align-items: stretch; flex-direction: column; gap: 12px; }
  .cliente-form-v1207 .cliente-codigo-header { flex: 1 1 auto; grid-template-columns: minmax(0, 1fr) minmax(110px, 150px); }
  .cliente-form-v1207 .cliente-cadastro-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .cliente-form-v1207 .cliente-field-razao { grid-column: span 2; }
  .cliente-form-v1207 .cliente-ancora-field { grid-column: span 2 !important; }
}
@media (max-width: 480px) {
  .cliente-form-v1207 .cliente-cadastro-grid { grid-template-columns: minmax(0, 1fr); }
  .cliente-form-v1207 .cliente-field-razao,
  .cliente-form-v1207 .cliente-ancora-field { grid-column: span 1 !important; }
  .cliente-form-v1207 .cliente-secao-cabecalho { align-items: flex-start; flex-direction: column; }
  .cliente-form-v1207 .cliente-codigo-header { grid-template-columns: minmax(0, 1fr) 110px; }
}
