/* Central fiscal e Cadastro da empresa (desenho "SellerHub — cadastro e central fiscal"), tema escuro grafite. */
.tela-central-fiscal .nf-cab { align-items: flex-start; gap: 16px; }
.cf-migalha { margin: 0 0 6px; font-size: 13px; color: var(--sub); }
.cf-migalha a { color: var(--sub); text-decoration: none; }
.cf-migalha a:hover { color: var(--texto); }
.cf-empresa { display: flex; align-items: center; gap: 10px; padding: 8px 14px; border: 1px solid var(--borda); border-radius: var(--raio); background: var(--cartao); min-width: 260px; }
.cf-empresa div { display: flex; flex-direction: column; line-height: 1.3; }
.cf-empresa strong { font-size: 13px; }
.cf-empresa .sub { font-size: 12px; }
.cf-empresa-ico { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 6px; background: var(--marca-clara); color: var(--azul-texto); }

/* Trilha das 4 etapas */
.cf-trilha { display: flex; list-style: none; margin: 4px 0 18px; padding: 14px 18px; gap: 0; border: 1px solid var(--borda); border-radius: var(--raio); background: var(--cartao); counter-reset: etapa; }
.cf-trilha li { flex: 1; display: flex; align-items: center; position: relative; }
.cf-trilha li:not(:last-child)::after { content: ''; flex: 1; height: 1px; background: var(--borda-forte); margin: 0 12px; }
.cf-trilha a { display: inline-flex; align-items: center; gap: 10px; color: var(--sub); text-decoration: none; font-size: 14px; white-space: nowrap; }
.cf-num { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--borda-forte); font-size: 13px; font-weight: 600; }
.cf-trilha li.atual a { color: var(--texto); font-weight: 600; }
.cf-trilha li.atual .cf-num { background: var(--marca); border-color: var(--marca); color: #fff; }
.cf-trilha li.feito .cf-num { background: var(--ok-fundo); border-color: transparent; color: var(--ok); }
.cf-trilha li.feito a { color: var(--texto); }

/* Colunas: principal + lateral */
.cf-colunas { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
.cf-principal { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
section.cf-principal { display: block; }
.cf-lateral { display: flex; flex-direction: column; gap: 16px; }
.tela-central-fiscal .cartao h2 { font-size: 16px; margin: 0 0 6px; }
.tela-central-fiscal .cartao > .sub:first-of-type { margin-top: 0; }

.cf-grade-4, .cf-grade-3 { display: grid; gap: 12px; margin: 12px 0; }
.cf-grade-4 { grid-template-columns: 1fr 1.6fr 1fr .6fr; }
.cf-grade-3 { grid-template-columns: 1.4fr 1fr 1.2fr; }
.cf-grade-4 label, .cf-grade-3 label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--sub); }
.cf-grade-4 input, .cf-grade-4 select, .cf-grade-3 input, .cf-grade-3 select { width: 100%; }
.cf-grade-4 input:disabled, .cf-grade-4 select:disabled { opacity: .75; }

/* Cartões de regime */
.cf-cartoes-regime { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 14px 0 6px; }
.cf-regime-opcao { position: relative; cursor: pointer; }
.cf-regime-opcao input { position: absolute; top: 14px; right: 14px; accent-color: var(--marca); }
.cf-regime-cartao { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 14px 40px 14px 14px; border: 1px solid var(--borda); border-radius: var(--raio); background: var(--cartao-2);
  transition: border-color var(--dur-micro, 150ms) var(--curva, ease), background var(--dur-micro, 150ms) var(--curva, ease); }
.cf-regime-cartao strong { font-size: 14px; color: var(--texto); }
.cf-regime-cartao span { font-size: 12px; color: var(--sub); line-height: 1.4; }
.cf-regime-opcao:hover .cf-regime-cartao { border-color: var(--borda-forte); }
.cf-regime-opcao input:checked + .cf-regime-cartao { border-color: var(--marca); background: var(--marca-clara); }
.cf-regime-opcao input:focus-visible + .cf-regime-cartao { outline: 2px solid var(--azul-texto); outline-offset: 2px; }

/* Interruptor (excesso de sublimite) */
.cf-alternar-linha { display: flex; align-items: center; gap: 10px; position: relative; }
.cf-alternar-linha input { position: absolute; opacity: 0; width: 38px; height: 22px; margin: 0; cursor: pointer; }
.cf-alternar-linha i { flex: none; width: 38px; height: 22px; border-radius: 11px; background: var(--borda-forte); position: relative; transition: background var(--dur-micro, 150ms); }
.cf-alternar-linha i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform var(--dur-micro, 150ms) var(--curva, ease); }
.cf-alternar-linha input:checked + i { background: var(--marca); }
.cf-alternar-linha input:checked + i::after { transform: translateX(16px); }
.cf-alternar-linha input:focus-visible + i { outline: 2px solid var(--azul-texto); outline-offset: 2px; }

.cf-outros { margin: 4px 0 12px; font-size: 13px; }
.cf-outros summary { color: var(--azul-texto); cursor: pointer; }
.cf-alerta { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: var(--raio); background: var(--alerta-fundo); border: 1px solid rgba(245, 165, 36, .3); margin: 8px 0 14px; font-size: 13px; }
.cf-alerta strong { color: var(--alerta); }
.cf-alerta span { color: var(--sub); }
.cf-alerta.ok { background: var(--ok-fundo); border-color: rgba(62, 207, 114, .3); }
.cf-alerta.ok strong { color: var(--ok); }
.cf-acoes-dir { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; margin-top: 12px; }

/* Perfil fiscal (lateral) */
.cf-perfil dl, .cf-importados dl, .cf-lista { margin: 10px 0; display: flex; flex-direction: column; }
.cf-perfil dl > div, .cf-importados dl > div, .cf-lista > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--linha); font-size: 13px; }
.cf-perfil dl > div:last-child, .cf-importados dl > div:last-child, .cf-lista > div:last-child { border-bottom: 0; }
.cf-perfil dt, .cf-importados dt, .cf-lista dt { color: var(--sub); }
.cf-perfil dd, .cf-importados dd, .cf-lista dd { margin: 0; text-align: right; color: var(--texto); }
.cf-aviso-lateral { display: flex; flex-direction: column; gap: 4px; padding: 12px; border-radius: var(--raio); background: var(--alerta-fundo); font-size: 13px; }
.cf-aviso-lateral strong { color: var(--alerta); }
.cf-aviso-lateral span { color: var(--sub); }

/* Central fiscal */
.cf-faixa { display: grid; grid-template-columns: 2fr repeat(4, 1fr); gap: 16px; padding: 14px 18px; margin-bottom: 14px; }
.cf-faixa > div { display: flex; flex-direction: column; gap: 3px; font-size: 13px; }
.cf-faixa > div + div { border-left: 1px solid var(--linha); padding-left: 16px; }
.cf-faixa .nf-pilula { align-self: flex-start; }
.cf-abas { display: flex; gap: 4px; border-bottom: 1px solid var(--borda); margin-bottom: 16px; overflow-x: auto; }
.cf-abas a { padding: 10px 14px; color: var(--sub); text-decoration: none; font-size: 14px; border-bottom: 2px solid transparent; white-space: nowrap; transition: color var(--dur-controle, 210ms); }
.cf-abas a:hover { color: var(--texto); }
.cf-abas a.ativo { color: var(--texto); border-bottom-color: var(--marca); font-weight: 600; }
.cf-banner { display: flex; flex-direction: column; gap: 3px; padding: 12px 16px; border-radius: var(--raio); background: var(--alerta-fundo); border: 1px solid rgba(245, 165, 36, .3); margin-bottom: 16px; font-size: 13px; }
.cf-banner strong { color: var(--alerta); font-size: 14px; }
.cf-banner span { color: var(--sub); }
.cf-banner.ok { background: var(--ok-fundo); border-color: rgba(62, 207, 114, .3); }
.cf-banner.ok strong { color: var(--ok); }
.cf-grade-status { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 16px; }
.cf-status { display: flex; flex-direction: column; gap: 8px; }
.cf-status-cab { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.cf-status h3 { margin: 0; font-size: 14px; }
.cf-status p { margin: 0; flex: 1; font-size: 13px; }
.cf-status a, .cf-importados > a { color: var(--azul-texto); text-decoration: none; font-size: 13px; }
.cf-checklist { list-style: none; margin: 10px 0 0; padding: 0; }
.cf-checklist li { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto 20px; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--linha); }
.cf-checklist-curta li { grid-template-columns: 22px minmax(0, 1fr) auto; }
.cf-checklist li:last-child { border-bottom: 0; }
.cf-checklist li div { display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.cf-checklist li .sub { font-size: 12px; }
.cf-check { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; font-size: 12px; font-weight: 600; background: var(--cartao-2); color: var(--sub); }
.cf-checklist-curta .cf-check { width: 12px; height: 12px; }
.cf-check.ok { background: var(--ok-fundo); color: var(--ok); }
.cf-check.alerta { background: var(--alerta-fundo); color: var(--alerta); }
.cf-seta { color: var(--sub); text-decoration: none; font-size: 18px; text-align: center; }
.cf-seta:hover { color: var(--texto); }
.cf-proxima p { margin: 6px 0; font-size: 13px; }
.cf-proxima .nf-botao { margin-top: 8px; width: 100%; justify-content: center; text-align: center; }
.cf-rodape { margin-top: 14px; font-size: 12px; }

@media (max-width: 1100px) {
  .cf-colunas { grid-template-columns: 1fr; }
  .cf-grade-status, .cf-cartoes-regime { grid-template-columns: repeat(2, 1fr); }
  .cf-faixa { grid-template-columns: repeat(2, 1fr); }
  .cf-faixa > div + div { border-left: 0; padding-left: 0; }
}
@media (max-width: 640px) {
  .cf-grade-4, .cf-grade-3, .cf-grade-status, .cf-cartoes-regime, .cf-faixa { grid-template-columns: 1fr; }
  .cf-trilha { flex-wrap: wrap; gap: 10px; }
  .cf-trilha li:not(:last-child)::after { display: none; }
  .tela-central-fiscal .nf-cab { flex-direction: column; }
}
