/* Envios FBA — mesmo padrão escuro do SellerHub: cartões, tabelas legíveis, fotos pequenas, pouca cor. */
.pagina-fba .fba-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.pagina-fba .fba-kpi { text-decoration: none; color: inherit; }
.pagina-fba .fba-kpi:hover { border-color: var(--borda-forte); }
.pagina-fba .fba-kpi strong { font-size: 26px; }
.pagina-fba .fba-kpi small { color: var(--sub); font-size: 12px; }
@media (max-width: 1100px) { .pagina-fba .fba-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .pagina-fba .fba-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.fba-etapa, .fba-alerta, .fba-cx-sit { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; vertical-align: middle; border: 1px solid var(--borda-forte); color: var(--sub); }
.fba-etapa.atencao { color: var(--alerta); border-color: rgba(245, 165, 36, .35); background: var(--alerta-fundo); }
.fba-etapa.info { color: var(--info); border-color: rgba(91, 147, 255, .35); background: var(--info-fundo); }
.fba-etapa.ok { color: var(--ok); border-color: rgba(62, 207, 114, .35); background: var(--ok-fundo); }
.fba-alerta.erro { color: var(--erro); border-color: rgba(255, 107, 94, .35); background: var(--erro-fundo); }
.fba-alerta.atencao { color: var(--alerta); border-color: rgba(245, 165, 36, .35); }
.pagina-fba h1 .fba-etapa, .pagina-fba h1 .fba-alerta { font-size: 13px; margin-left: 6px; }

.fba-filtros { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.fba-tabela td, .fba-itens td { vertical-align: top; }
.pagina-fba .botao-contorno.pequeno, .pagina-fba .botao-primario.pequeno { padding: 4px 10px; font-size: 12.5px; }

.fba-passos { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; padding: 0; margin: 12px 0; counter-reset: passo; }
.fba-passos li { counter-increment: passo; flex: 1 1 110px; padding: 8px 10px; border: 1px solid var(--borda); border-radius: 8px; font-size: 12.5px; color: var(--sub); background: var(--cartao); }
.fba-passos li::before { content: counter(passo) '. '; }
.fba-passos li.feito { color: var(--texto); border-color: var(--borda-forte); }
.fba-passos li.atual { color: var(--texto); border-color: var(--marca); box-shadow: inset 0 -2px 0 var(--marca); font-weight: 600; }

.fba-progresso { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 900px) { .fba-progresso { grid-template-columns: 1fr 1fr; } }
.fba-prog span { display: block; font-size: 12px; color: var(--sub); }
.fba-prog b { font-size: 13px; }
.fba-barra { height: 6px; border-radius: 999px; background: var(--cartao-2); overflow: hidden; margin: 4px 0; }
.fba-barra i { display: block; height: 100%; background: var(--marca); }

.fba-diverg { border-color: rgba(255, 107, 94, .4); }
.fba-diverg h2 { color: var(--erro); font-size: 15px; display: flex; gap: 6px; align-items: center; }
.fba-diverg ul { margin: 6px 0 0; padding-left: 18px; }

.fba-acoes { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.fba-secao { margin-top: 14px; }
.fba-secao > h2, .fba-secao > summary h2 { font-size: 16px; margin: 0 0 10px; display: inline-flex; gap: 8px; align-items: center; }
.fba-secao > summary { cursor: pointer; list-style: none; }
.fba-secao > summary::-webkit-details-marker { display: none; }
.fba-form { display: grid; gap: 10px; }
.fba-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.fba-inline { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0; }
.fba-inline input:not([type=checkbox]):not([type=radio]), .fba-mini input:not([type=checkbox]):not([type=radio]), .fba-mini select { max-width: 220px; }
.fba-num { width: 76px; }
.fba-lote { width: 110px; }
.fba-check { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; color: var(--sub); }
.fba-mini { margin-top: 4px; font-size: 13px; }
.fba-mini > summary { cursor: pointer; color: var(--azul-texto); font-size: 12.5px; }
.fba-mini form { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; align-items: center; }

.fba-incluir { display: grid; gap: 8px; margin-bottom: 12px; }
.fba-busca-produto { position: relative; display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.fba-busca-campo { flex: 1 1 320px; }
.fba-resultados { position: absolute; top: 100%; left: 0; z-index: 20; width: min(640px, 100%); max-height: 340px; overflow-y: auto; margin: 4px 0 0; padding: 4px; list-style: none;
  background: var(--cartao); border: 1px solid var(--borda-forte); border-radius: 10px; box-shadow: 0 16px 40px rgba(0, 0, 0, .45); }
.fba-resultados li button { display: flex; gap: 10px; align-items: center; width: 100%; padding: 6px 8px; border: 0; border-radius: 8px; background: none; color: inherit; text-align: left; cursor: pointer; }
.fba-resultados li button:hover, .fba-resultados li button:focus { background: var(--cartao-2); }
.fba-resultados img, .fba-resultados .vazia { width: 36px; height: 36px; border-radius: 6px; object-fit: cover; flex: none; background: var(--cartao-2); }

.fba-leitor { border-color: var(--borda-forte); }
.fba-ler { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.fba-codigo { flex: 1 1 240px; }
.fba-codigo input { font-size: 18px; letter-spacing: .5px; }
.fba-retorno { margin-top: 10px; min-height: 22px; font-weight: 600; }
.fba-retorno.ok { color: var(--ok); }
.fba-retorno.erro { color: var(--erro); }
.fba-leitor.flash-ok { box-shadow: 0 0 0 2px rgba(62, 207, 114, .5); }
.fba-leitor.flash-erro { box-shadow: 0 0 0 2px rgba(255, 107, 94, .6); }
.fba-ambiguos { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }

.fba-caixas { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.fba-caixa { border: 1px solid var(--borda); border-radius: 10px; padding: 12px; background: var(--cartao-2); display: grid; gap: 8px; align-content: start; }
.fba-caixa.fechada { border-color: var(--borda-forte); }
.fba-caixa.expedida { opacity: .8; }
.fba-cx-sit.aberta { color: var(--alerta); }
.fba-cx-sit.fechada { color: var(--info); }
.fba-cx-sit.expedida { color: var(--ok); }
.fba-cx-itens { width: 100%; border-collapse: collapse; font-size: 13px; }
.fba-cx-itens td { padding: 3px 4px; border-top: 1px solid var(--linha); }

.fba-doc-req { display: inline-block; margin-right: 6px; }
.fba-doc-req.ok { color: var(--ok); }
.fba-doc-req.falta { color: var(--erro); }
.fba-upload { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin-bottom: 10px; }
.fba-docs { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.fba-nf { margin-top: 12px; }
.fba-nf h3 { font-size: 14px; margin: 0 0 6px; }
.fba-nf-prob { color: var(--erro); margin: 0 0 8px; padding-left: 18px; font-size: 13px; }
.fba-nf-pend td { background: var(--erro-fundo); }
.fba-hist { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 4px; font-size: 13px; max-height: 360px; overflow-y: auto; }
.fba-livro td { font-size: 12.5px; }
.fba-perigo summary h2 { color: var(--erro); }

/* ——— Ordem de envio (desenho do usuário, 2026-10-21) ——— */
.fba-ordem { max-width: 1680px; }
.fba-trilha { font-size: 14px; color: var(--sub); margin-bottom: 6px; }
.fba-trilha a { color: var(--azul-texto); text-decoration: none; }
.fba-trilha span { color: var(--texto); }
.fba-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.fba-cab h1 { margin: 0; font-size: 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.fba-cab .subtitulo { margin: 6px 0 0; }
.fba-cab .botao-primario { display: inline-flex; gap: 8px; align-items: center; padding: 11px 18px; }

.fba-passos2 { margin-top: 16px; padding: 16px 22px 12px; }
.fba-passos2 ol { display: flex; list-style: none; margin: 0; padding: 0; gap: 0; }
.fba-passos2 li { flex: 1; display: flex; align-items: center; gap: 12px; color: var(--sub); font-size: 14px; position: relative; }
.fba-passos2 li:not(:last-child)::after { content: ''; flex: 1; border-top: 2px dotted var(--borda-forte); margin: 0 14px; min-width: 20px; }
.fba-passos2 li b { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--borda-forte); background: var(--cartao-2); color: var(--texto); font-size: 15px; }
.fba-passos2 li.atual { color: var(--texto); font-weight: 600; }
.fba-passos2 li.atual b { background: var(--marca); border-color: var(--marca-escura); color: #fff; box-shadow: 0 0 0 4px var(--marca-clara); }
.fba-passos2 li.feito { color: var(--texto); }
.fba-passos2 li.feito b { color: var(--ok); border-color: rgba(62, 207, 114, .5); }
.fba-passos2 li span { white-space: nowrap; }
.fba-passos2 > p { margin: 8px 0 0; }
@media (max-width: 900px) { .fba-passos2 ol { flex-wrap: wrap; gap: 10px; } .fba-passos2 li { flex: 1 1 45%; } .fba-passos2 li::after { display: none; } }

.fba-inds { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.fba-ind { display: flex; gap: 16px; align-items: center; padding: 16px 20px; border: 1px solid var(--borda); border-radius: 10px; background: var(--cartao); }
.fba-ind-ico { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 10px; background: var(--cartao-2); color: var(--sub); flex: none; }
.fba-ind:first-child .fba-ind-ico { background: var(--marca-clara); color: var(--azul-texto); }
.fba-ind span { color: var(--sub); font-size: 14px; }
.fba-ind strong { display: block; font-size: 22px; margin-top: 2px; }
@media (max-width: 900px) { .fba-inds { grid-template-columns: 1fr 1fr; } }

.fba-abas { display: flex; gap: 4px; border-bottom: 1px solid var(--borda); margin: 20px 0 16px; overflow-x: auto; }
.fba-abas a { padding: 12px 22px; color: var(--texto); text-decoration: none; border-bottom: 3px solid transparent; white-space: nowrap; font-size: 15px; }
.fba-abas a.ativa { color: var(--azul-texto); border-bottom-color: var(--marca); font-weight: 600; }
.fba-abas a:hover { color: var(--azul-texto); }

.fba-colunas { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 20px; align-items: start; }
@media (max-width: 1200px) { .fba-colunas { grid-template-columns: 1fr; } }
.fba-principal > .fba-painel > * + * { margin-top: 16px; }
.fba-principal .fba-secao { margin-top: 0; }
.fba-lateral { display: grid; gap: 16px; position: sticky; top: 16px; }
.fba-sec-cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.fba-sec-cab h2 { margin: 0; font-size: 18px; display: inline-flex; gap: 10px; align-items: center; }
.fba-sec-acoes { display: flex; gap: 10px; }
.fba-sec-acoes .botao-primario, .fba-sec-acoes .botao-contorno { display: inline-flex; gap: 6px; align-items: center; }
.fba-secao > h2 { font-size: 18px; }

.fba-busca-produto { margin-bottom: 12px; }
.fba-busca-campo { flex: 1 1 360px; display: flex; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid var(--borda-forte); border-radius: 8px; background: var(--fundo); }
.fba-busca-campo .ico { color: var(--sub); flex: none; }
.fba-busca-campo input { flex: 1; border: 0; background: none; color: var(--texto); padding: 10px 0; font: inherit; outline: none; }
.fba-busca-qtd { display: inline-flex; gap: 8px; align-items: center; }
.fba-importar { display: grid; gap: 8px; margin-bottom: 12px; padding: 12px; border: 1px dashed var(--borda-forte); border-radius: 8px; }
.fba-importar textarea { width: 100%; font-family: ui-monospace, Menlo, monospace; font-size: 13px; }
.fba-arquivo { cursor: pointer; display: inline-flex; gap: 6px; align-items: center; }

.fba-itens th { font-weight: 600; }
.fba-itens td { vertical-align: middle; }
.fba-foto { width: 56px; height: 56px; border-radius: 8px; object-fit: contain; background: #fff; }
.fba-foto.vazia { display: grid; place-items: center; background: var(--cartao-2); color: var(--sub); }
.fba-nome { display: block; max-width: 280px; line-height: 1.35; }
.fba-link { color: var(--azul-texto); cursor: pointer; display: inline-flex; gap: 6px; align-items: center; list-style: none; }
.fba-link::-webkit-details-marker { display: none; }
.fba-sit { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; white-space: nowrap; }
.fba-sit.atencao { background: var(--alerta-fundo); color: var(--alerta); }
.fba-sit.erro { background: var(--erro-fundo); color: var(--erro); }
.fba-sit.ok { background: var(--ok-fundo); color: var(--ok); }
.fba-sit.info { background: var(--info-fundo); color: var(--info); }
.fba-sit.neutro { background: var(--cartao-2); color: var(--sub); }
.fba-pop, .fba-menu { position: relative; }
.fba-pop > .fba-pop-form, .fba-menu-corpo { position: absolute; z-index: 25; top: calc(100% + 6px); left: 0; min-width: 300px; display: grid; gap: 8px; padding: 12px;
  background: var(--cartao); border: 1px solid var(--borda-forte); border-radius: 10px; box-shadow: 0 16px 40px rgba(0, 0, 0, .45); }
.fba-menu > summary { list-style: none; cursor: pointer; padding: 4px 10px; border-radius: 6px; color: var(--sub); font-size: 18px; line-height: 1; }
.fba-menu > summary::-webkit-details-marker { display: none; }
.fba-menu > summary:hover { background: var(--cartao-2); color: var(--texto); }
.fba-menu-corpo { left: auto; right: 0; }
.fba-menu-corpo .fba-pop-form, .fba-mini .fba-pop-form { position: static; box-shadow: none; border: 0; padding: 6px 0 0; min-width: 0; }

.fba-dados-form { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px 16px; }
.fba-dados-form .fba-obs { grid-column: 1 / -1; }
.fba-dados-form textarea { width: 100%; }
@media (max-width: 1100px) { .fba-dados-form { grid-template-columns: 1fr 1fr; } }
.fba-duas { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 1100px) { .fba-duas { grid-template-columns: 1fr; } }
.fba-upload-rapido { margin: 0; align-items: center; }
.fba-ok { color: var(--ok); display: inline-flex; gap: 4px; align-items: center; }
.fba-mini-tab td, .fba-mini-tab th { font-size: 13px; padding: 6px 8px; }
.fba-sub { font-size: 14px; margin: 16px 0 4px; }

.fba-proxima .sub { margin: 0 0 12px; }
.fba-pend-cont { display: inline-flex; gap: 6px; align-items: center; padding: 4px 12px; border-radius: 999px; background: var(--alerta-fundo); color: var(--alerta); font-size: 13px; font-weight: 600; }
.fba-pend { list-style: none; margin: 0 0 14px; padding: 0; border: 1px solid var(--borda); border-radius: 8px; overflow: hidden; }
.fba-pend li + li { border-top: 1px solid var(--borda); }
.fba-pend a { display: flex; gap: 12px; align-items: center; padding: 12px 14px; color: var(--texto); text-decoration: none; }
.fba-pend a:hover { background: var(--cartao-2); }
.fba-pend a .ico-mini:first-child { color: var(--alerta); }
.fba-pend a span { flex: 1; }
.fba-acao { display: flex; width: 100%; justify-content: center; gap: 8px; align-items: center; padding: 12px; text-decoration: none; }
.fba-proxima form.fba-inline { display: block; }
.fba-acao:disabled { background: var(--cartao-2); border-color: var(--borda-forte); color: var(--sub); cursor: not-allowed; }
.fba-resumo h2, .fba-proxima h2, .fba-diverg h2 { font-size: 18px; margin: 0 0 12px; display: inline-flex; gap: 10px; align-items: center; }
.fba-resumo dl { display: grid; grid-template-columns: auto 1fr; gap: 10px 18px; margin: 0; font-size: 14px; }
.fba-resumo dt { color: var(--sub); display: flex; gap: 8px; align-items: center; }
.fba-resumo dd { margin: 0; }
.fba-perigo > summary { cursor: pointer; color: var(--erro); font-weight: 600; }
.fba-perigo form { margin-top: 8px; display: grid; gap: 8px; }

/* O atributo hidden sempre vence o display dos componentes desta tela. */
.pagina-fba [hidden] { display: none !important; }
.fba-dados-form .campo-rotulado { min-width: 0; }
.fba-dados-form input, .fba-dados-form select, .fba-dados-form textarea { width: 100%; min-width: 0; max-width: none; box-sizing: border-box; }
.fba-passos-derivados li span { display: grid; }
.fba-passos-derivados li small { color: var(--sub); font-weight: 400; font-size: 12px; }
.fba-marcos { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; }
.fba-marcos li { display: flex; gap: 10px; align-items: flex-start; color: var(--sub); }
.fba-marcos li.ok { color: var(--texto); }
.fba-marcos li.ok .ico-mini { color: var(--ok); }
.fba-marcos li span { display: grid; }
.fba-marcos small { color: var(--sub); font-size: 12px; }
.fba-resumo dd small { display: block; }
.fba-modal-var { max-width: min(1200px, calc(100vw - 32px)); width: 100%; }
.fba-modal-var form { display: grid; gap: 12px; }
.fba-var-lista { max-height: 55vh; overflow-y: auto; }
.fba-var-bloq td { opacity: .6; }
.fba-modal-var footer { justify-content: flex-end; }
