/* Empréstimos — página pública de autorização do cliente */
.emp-publica {
  margin: 0;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
  background: var(--de-marfim);
  color: var(--de-grafite);
}
.emp-publica-caixa {
  width: 100%;
  max-width: 480px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--de-borda);
  border-radius: 16px;
  padding: 24px;
}
.emp-publica-caixa h1 { margin: 0 0 12px; font-size: 1.5rem; line-height: 1.25; }
.emp-publica-caixa p { margin: 0 0 12px; line-height: 1.5; }
.emp-principal {
  display: block;
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  padding: 12px 20px;
  border: 0;
  border-radius: 12px;
  background: var(--de-laranja-principal);
  color: var(--de-grafite);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.emp-principal:disabled { opacity: .6; cursor: default; }
.emp-publica-caixa .emp-erro { margin: 12px 0 0; }
.emp-publica-caixa .emp-principal + p { margin: 12px 0 0; } /* "Válido até" não cola no botão */
.emp-erro { color: #B3261E; /* sem token de erro em tokens.css */ font-weight: 600; }
@media (min-width: 560px) {
  .emp-principal { width: auto; min-width: 200px; }
}

/* Empréstimos — tela da plataforma (#emprestimos; view em ui/ e controlador ao lado). Molde: esteira.css. */
.emp-wrap{display:flex;flex-direction:column;gap:16px;}
.emp-cabeca,.emp-detalhe-cabeca{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;}
.emp-vendedor{margin-left:8px;color:var(--de-texto-secundario,#5D6068);}

/* pílula de situação: tons do grupo nas cores de status do design */
.emp-sit{display:inline-block;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;line-height:1.3;white-space:nowrap;}
.emp-tom-success{background:var(--de-status-contrato-fundo,#DFF1E4);color:var(--de-status-contrato-texto,#175E34);}
.emp-tom-info{background:var(--de-status-atendimento-fundo,#E3EDFD);color:var(--de-status-atendimento-texto,#1E4E9C);}
.emp-tom-warning{background:var(--de-status-novo-fundo,#FDE3CE);color:var(--de-status-novo-texto,#7A3206);}
.emp-tom-danger{background:var(--de-status-frio-fundo,#FBE5E5);color:var(--de-status-frio-texto,#8E2A26);}
.emp-tom-neutral{background:var(--de-status-seminteresse-fundo,#F0EDE7);color:var(--de-status-seminteresse-texto,#4F4E49);}
/* cartões e blocos com tom: fundo claro, texto escuro do próprio tom */
/* telas.css pinta todo .card de branco com !important: o tom do cartão (recusa em vermelho, aviso em laranja) precisa do mesmo peso. */
.card.emp-tom-success{background:var(--de-status-contrato-fundo,#DFF1E4) !important;}
.card.emp-tom-info{background:var(--de-status-atendimento-fundo,#E3EDFD) !important;}
.card.emp-tom-warning{background:var(--de-status-novo-fundo,#FDE3CE) !important;}
.card.emp-tom-danger{background:var(--de-status-frio-fundo,#FBE5E5) !important;}
.card.emp-tom-neutral{background:var(--de-status-seminteresse-fundo,#F0EDE7) !important;}
.card.emp-tom-success,.card.emp-tom-warning,.card.emp-tom-danger,.card.emp-tom-neutral,.card.emp-tom-info{border-color:transparent !important;}

/* resumo da lista e filtros */
.emp-resumo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.emp-resumo-cartao{display:flex;flex-direction:column;gap:2px;}
.card.emp-resumo-cartao{padding:14px 16px !important;border-radius:16px !important;margin-bottom:0;} /* sem o padding 32px !important de .card */
.emp-resumo-cartao b{font-size:24px;line-height:1.1;}
.emp-filtros{flex-wrap:wrap;gap:6px;}
.emp-vazio{text-align:center;padding:24px 16px;}

/* tabela: no celular vira pilha de cartões com o nome da coluna (data-label), como na esteira */
.emp-tabela td small{display:block;color:var(--de-texto-secundario,#5D6068);}

/* formulários: campos em duas colunas; no celular, uma */
.emp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;}
.emp-form > h2,.emp-form > p,.emp-form > fieldset,.emp-form > button,.emp-form > .emp-erro{grid-column:1 / -1;}
.emp-campo{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;min-width:0;}
.emp-campo input,.emp-campo select{min-height:44px;box-sizing:border-box;width:100%;}
.emp-campo [aria-invalid="true"],.emp-form [aria-invalid="true"]{border-color:#B3261E;}
.emp-campo-erro{display:block;color:#B3261E;font-size:13px;font-weight:600;}
.emp-bloco{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:0;padding:12px 0 0;border:0;border-top:1px solid var(--de-borda,#DEDBD5);}
.emp-bloco > legend{font-weight:800;padding:0 0 4px;}
.emp-bloco > p,.emp-bloco > .emp-referencia{grid-column:1 / -1;}
.emp-referencia{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}

/* produto e prazos: cartões tocáveis */
.emp-produtos,.emp-prazos{display:grid;gap:8px;margin:0;padding:0;border:0;}
.emp-produto,.emp-prazo{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid var(--de-borda,#DEDBD5);border-radius:12px;cursor:pointer;}
.emp-produto-off{opacity:.6;cursor:default;}
/* style.css estica todo input que não é checkbox para 100% (e 44px de altura): o rádio volta ao tamanho de rádio. */
.emp-produto input[type="radio"],.emp-prazo input[type="radio"]{flex:0 0 18px;width:18px;min-width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--de-laranja-principal,#FF7617);}
.emp-produto > span:first-of-type{flex:1 1 auto;min-width:0;}
.emp-produto:has(input:checked),.emp-prazo:has(input:checked){border-color:var(--de-laranja-principal,#FF7617);background:var(--de-laranja-claro,#FFF7F0);}

/* passos do fluxo, avisos e documentos */
.emp-passo{display:flex;flex-direction:column;gap:10px;}
.emp-form.emp-passo{display:grid;}
.emp-passos{display:flex;gap:6px;list-style:none;margin:0;padding:0;}
.emp-passos li{flex:1 1 0;height:6px;border-radius:999px;background:var(--de-borda,#DEDBD5);}
.emp-passos li[aria-current="step"],.emp-passos li.emp-feito{background:var(--de-laranja-principal,#FF7617);}
.emp-aviso{padding:12px 16px;}
.emp-aviso p{margin:0;}
.emp-acoes{flex-wrap:wrap;gap:8px;}
.emp-aguardando{font-weight:700;}
.emp-motivos{margin:0;padding-left:20px;}
.emp-motivos-bloco{padding:12px 16px;border-radius:12px;}
.emp-anexos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.emp-anexo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--de-borda,#DEDBD5);}
.emp-anexo small{display:block;color:var(--de-texto-secundario,#5D6068);}
/* telas.css dá 52px e padding horizontal com !important a todo input: o seletor de arquivo fica com o botão desalinhado. */
.emp-anexo input[type="file"]{height:auto;min-height:44px;padding:8px 10px !important;line-height:1.4;}
.emp-anexo-ok small{color:var(--de-status-contrato-texto,#175E34);font-weight:700;}
.emp-linha-do-tempo ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;}
.emp-linha-do-tempo small{margin-left:8px;color:var(--de-texto-secundario,#5D6068);}
.emp-wrap [aria-busy="true"]{cursor:progress;}

@media (max-width: 760px) {
  .emp-tabela thead { display: none; }
  .emp-tabela, .emp-tabela tbody, .emp-tabela tr, .emp-tabela td { display: block; width: 100%; }
  .emp-tabela tr { border: 1px solid var(--de-borda, #DEDBD5); border-radius: 14px; padding: 10px 14px; margin-bottom: 12px; background: var(--de-branco, #FFFFFF); }
  .emp-tabela td { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border: 0; padding: 6px 0; text-align: right; }
  .emp-tabela td::before { content: attr(data-label); flex: none; font-size: 12px; font-weight: 700; color: var(--de-texto-secundario, #5D6068); text-align: left; }
  .emp-tabela td small { margin: 0 0 0 8px; }
  /* Prova de tela (390 px): as regras gerais de tabela-vira-cartão (telas.css, com !important) punham cartão dentro de
     cartão, td com 18px 20px e quebra solta do CPF. Aqui: sem moldura externa, uma linha por campo, rótulo à esquerda. */
  .emp-wrap .card.table-scroll { padding: 0 !important; border: 0 !important; background: transparent !important; overflow: visible; }
  .emp-wrap .emp-tabela { border: 0 !important; border-radius: 0 !important; background: transparent !important; }
  .emp-wrap .emp-tabela tr { display: block !important; padding: 6px 14px !important; }
  .emp-wrap .emp-tabela td { display: grid !important; grid-template-columns: max-content minmax(0, 1fr); column-gap: 12px; align-items: baseline; padding: 8px 0 !important; background: transparent !important; }
  .emp-wrap .emp-tabela td::before { grid-row: 1 / span 2; }
  .emp-wrap .emp-tabela td > * { grid-column: 2; justify-self: end; min-width: 0; }
  .emp-wrap .emp-tabela td small { margin: 2px 0 0 !important; }
  .emp-wrap .emp-tabela td[data-label=""] { display: block !important; border-bottom: 0 !important; }
  .emp-wrap .emp-tabela td[data-label=""]::before { display: none; }
  .emp-wrap .emp-tabela td[data-label=""] button { width: 100%; }
}
@media (max-width: 640px) {
  .emp-form, .emp-bloco, .emp-referencia { grid-template-columns: 1fr; }
  .card.emp-resumo-cartao { padding: 10px 12px !important; border-radius: 14px !important; } /* 3 lado a lado, sem o padding 32px de .card */
  .emp-resumo-cartao span { font-size: 12px; line-height: 1.25; }
  .emp-cabeca .emp-principal { width: 100%; }
  .emp-filtros { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; } /* uma faixa que rola, não 4 linhas de botões */
  .emp-filtros .button { flex: none; }
  .emp-wrap .card:not(.table-scroll):not(.emp-resumo-cartao) { padding: 18px 16px !important; } /* 32px de .card come um terço da largura em 390 px */
}

/* Cabeçalho da lista: Atualizar + Nova simulação (dono, 03/10) */
.emp-cabeca-acoes{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.emp-secundario{min-height:44px;padding:0 20px;border-radius:12px;border:1px solid var(--de-borda-interna,#DEDBD5);background:var(--de-branco,#fff);color:var(--de-texto,#181818);font-weight:600;cursor:pointer}
.emp-secundario:disabled{opacity:.6;cursor:default}
@media (max-width:767px){.emp-cabeca-acoes{width:100%}.emp-cabeca-acoes>*{flex:1}}
