:root{
  --navy:#12294a; --navy2:#1c3a63; --ink:#1b2430; --muted:#64748b; --line:#e4e9f0;
  --bg:#f4f6fa; --card:#fff; --accent:#2f6fed; --green:#059669; --red:#dc2626;
  --slate:#475569;
  --shadow:0 1px 3px rgba(16,32,64,.06),0 1px 2px rgba(16,32,64,.04);
  --shadow2:0 6px 24px rgba(16,32,64,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
.hidden{display:none !important}

/* ---------- LOGIN ---------- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(150deg,#0e2440,#1c3a63 60%,#2f6fed 160%);padding:20px}
.login-card{background:#fff;border-radius:16px;box-shadow:var(--shadow2);padding:34px 32px;width:100%;max-width:390px}
.login-card .logo{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--navy),var(--accent));
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;font-weight:700;margin-bottom:18px}
.login-card h1{font-size:19px;margin-bottom:4px}
.login-card p.sub{font-size:13px;color:var(--muted);margin-bottom:22px}
.login-card .fld{margin-bottom:14px}
.erro{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:9px 12px;border-radius:8px;font-size:13px;margin-bottom:14px}
.dica{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.dica code{background:#f1f5f9;padding:1px 5px;border-radius:4px;font-size:11.5px}

/* ---------- SHELL ---------- */
.app{max-width:1280px;margin:0 auto;padding:0 20px 60px}
header.top{display:flex;align-items:center;justify-content:space-between;padding:18px 0 14px;flex-wrap:wrap;gap:12px}
.brand{display:flex;align-items:center;gap:12px}
.brand .logo{width:38px;height:38px;border-radius:9px;background:linear-gradient(135deg,var(--navy),var(--accent));
  display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:17px}
.brand h1{font-size:17px;font-weight:700;letter-spacing:-.2px}
.brand .sub{font-size:11.5px;color:var(--muted);font-weight:500}
.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
select,input,textarea{font-family:inherit;font-size:13px;padding:8px 11px;border:1px solid var(--line);
  border-radius:8px;background:#fff;color:var(--ink);outline:none;width:100%}
select:focus,input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,111,237,.12)}
.filters select{width:auto;min-width:150px}
nav.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:22px;align-items:center}
nav.tabs button{background:none;border:none;padding:11px 16px;font-family:inherit;font-size:14px;font-weight:600;
  color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
nav.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}
nav.tabs button:hover{color:var(--ink)}
.view{display:none}
.view.active{display:block;animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:none;transform:none}}

/* ---------- KPI ---------- */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow)}
.kpi .label{font-size:11.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.kpi .value{font-size:22px;font-weight:700;margin-top:6px;letter-spacing:-.5px}
.kpi .foot{font-size:11.5px;color:var(--muted);margin-top:3px}
.kpi.hl{background:linear-gradient(135deg,var(--navy),var(--navy2));border:none;color:#fff}
.kpi.hl .label{color:#b7c6df} .kpi.hl .foot{color:#9db0cf}
.kpi.alerta .value{color:var(--red)}

/* ---------- PAINÉIS ---------- */
.grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-bottom:14px;align-items:start}
.grid2b{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow)}
.panel h3{font-size:13.5px;font-weight:700;margin-bottom:2px}
.panel .psub{font-size:11.5px;color:var(--muted);margin-bottom:12px}
.chart-wrap{position:relative;height:240px}

/* ---------- TABELA ---------- */
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;
  font-weight:600;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:11px 10px;border-bottom:1px solid var(--line);font-size:13px}
tbody tr.clicavel{cursor:pointer}
tbody tr.clicavel:hover{background:#f7f9fd}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tag{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px}
.t-fin{background:#e8f0fe;color:#1a56db}
.t-emp{background:#e6f6f4;color:#0f766e}
.t-con{background:#f3ebff;color:#6d28d9}
.t-out{background:#f1f5f9;color:#475569}
.st{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600}
.st::before{content:"";width:7px;height:7px;border-radius:50%}
.st-ativo{color:var(--green)} .st-ativo::before{background:var(--green)}
.st-quitado{color:var(--muted)} .st-quitado::before{background:var(--muted)}
.st-atraso{color:var(--red)} .st-atraso::before{background:var(--red)}
.bar-mini{height:6px;background:#eef2f7;border-radius:4px;overflow:hidden;margin-top:4px;width:86px}
.bar-mini>i{display:block;height:100%;background:var(--accent);border-radius:4px}
.vazio{padding:40px 20px;text-align:center;color:var(--muted);font-size:13px}

/* ---------- BOTÕES ---------- */
.btn{font-family:inherit;font-size:13px;font-weight:600;padding:9px 15px;border-radius:8px;
  border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;width:auto}
.btn:hover{background:#f7f9fd}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:#255cd0}
.btn.primary:disabled{opacity:.6;cursor:not-allowed}
.btn.sm{padding:5px 10px;font-size:12px}
.btn.link{background:none;border:none;color:var(--accent);padding:4px}

/* ---------- MODAL ---------- */
.overlay{position:fixed;inset:0;background:rgba(16,28,48,.5);display:none;align-items:flex-start;
  justify-content:center;z-index:50;padding:34px 16px;overflow-y:auto}
.overlay.open{display:flex}
.modal{background:#fff;border-radius:14px;max-width:900px;width:100%;box-shadow:var(--shadow2);overflow:hidden}
.modal-head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;
  align-items:flex-start;gap:12px}
.modal-head h2{font-size:17px;font-weight:700}
.modal-head .mh-sub{font-size:12.5px;color:var(--muted);margin-top:3px}
.x{background:none;border:none;font-size:24px;color:var(--muted);cursor:pointer;line-height:1;padding:0 4px}
.modal-body{padding:20px 22px;max-height:68vh;overflow-y:auto}
.dl{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.dl .k{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.dl .v{font-size:15px;font-weight:700;margin-top:3px}
.sched th,.sched td{padding:7px 9px;font-size:12px}
.rowpaid{color:var(--muted)}
.chip{display:inline-block;background:#f1f5f9;border:1px solid var(--line);border-radius:6px;
  padding:3px 8px;font-size:11.5px;margin:0 5px 5px 0}

/* ---------- FORMULÁRIO ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.fld{display:flex;flex-direction:column;gap:5px}
.fld label{font-size:12px;font-weight:600;color:var(--slate)}
.fld .hint{font-size:11px;color:var(--muted)}
.full{grid-column:1/-1}
.preview-box{margin-top:18px;padding:16px;background:#f7f9fd;border:1px solid var(--line);border-radius:10px}
.pv-kpis{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:10px}
.pv-kpis .k{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase}
.pv-kpis .v{font-size:17px;font-weight:700}

/* ---------- AVISOS ---------- */
.toast{position:fixed;bottom:24px;right:24px;background:var(--navy);color:#fff;padding:12px 18px;
  border-radius:10px;box-shadow:var(--shadow2);font-size:13px;z-index:100;opacity:0;
  transform:translateY(10px);transition:all .25s;pointer-events:none;max-width:380px}
.toast.show{opacity:1;transform:none}
.toast.erro{background:var(--red)}
.legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px}
.legend span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--slate)}
.legend i{width:10px;height:10px;border-radius:3px}
.foot-note{font-size:11.5px;color:var(--muted);margin-top:26px;text-align:center;line-height:1.7}

@media(max-width:900px){
  .kpis{grid-template-columns:repeat(2,1fr)}
  .grid2,.grid2b,.form-grid{grid-template-columns:1fr}
  .dl{grid-template-columns:repeat(2,1fr)}
}

/* ---------- IMPORTAÇÃO ---------- */
.dropzone{border:2px dashed #c7d5ea;border-radius:12px;padding:34px 20px;text-align:center;
  background:#fafbfe;transition:all .2s;margin-top:10px}
.dropzone.ativo{border-color:var(--accent);background:#eef4ff}
.dz-icone{font-size:30px;color:var(--accent);line-height:1}
.dz-titulo{font-size:15px;font-weight:700;margin-top:8px}
.dz-sub{font-size:13px;color:var(--muted);margin-top:4px}
.dz-bancos{font-size:11.5px;color:var(--muted);margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.imp-resumo{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.imp-card{border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:#fff;min-width:120px}
.imp-card .n{font-size:20px;font-weight:700}
.imp-card .l{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:600;letter-spacing:.3px}
.imp-card.novo .n{color:var(--green)} .imp-card.atualiza .n{color:var(--accent)}
.imp-card.erro .n{color:var(--red)} .imp-card.diverg .n{color:#d97706}
.acao{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}
.a-criar{background:#dcfce7;color:#15803d}
.a-atualizar{background:#dbeafe;color:#1d4ed8}
.a-ignorar{background:#f1f5f9;color:#475569}
.a-erro{background:#fee2e2;color:#b91c1c}
.div-linha{font-size:12px;color:#92400e;background:#fffbeb;border-left:3px solid #d97706;
  padding:5px 9px;border-radius:0 6px 6px 0;margin-top:4px}
.aviso-linha{font-size:12px;color:var(--muted);background:#f8fafc;border-left:3px solid #cbd5e1;
  padding:5px 9px;border-radius:0 6px 6px 0;margin-top:4px}
.carregando{text-align:center;padding:30px;color:var(--muted);font-size:13px}

/* ---------- CHAT ---------- */
.chat{flex:1;overflow-y:auto;padding:12px 2px;display:flex;flex-direction:column;gap:12px}
.msg{max-width:86%;padding:11px 14px;border-radius:12px;font-size:13.5px;line-height:1.6;white-space:pre-wrap}
.msg.eu{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}
.msg.bot{align-self:flex-start;background:#f1f5f9;border-bottom-left-radius:4px}
.msg strong{font-weight:700}
.msg.pensando{color:var(--muted);font-style:italic}
.chat-envio{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--line)}
.chat-vazio{color:var(--muted);font-size:13px;text-align:center;padding:30px 10px}
.sugestao{display:block;width:100%;text-align:left;background:#f8fafc;border:1px solid var(--line);
  border-radius:8px;padding:8px 11px;font-size:12.5px;margin-bottom:6px;cursor:pointer;font-family:inherit;color:var(--ink)}
.sugestao:hover{background:#eef4ff;border-color:var(--accent)}
.idx-linha{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;
  border-bottom:1px solid var(--line);font-size:13px}
.idx-linha:last-child{border-bottom:none}
.idx-nome{font-weight:600}
.idx-ref{font-size:11px;color:var(--muted)}
.idx-valor{font-variant-numeric:tabular-nums;font-weight:600}

/* O input de arquivo cobre a área de soltar, transparente.
   Assim clicar em qualquer ponto abre o seletor, o teclado alcança o campo
   e leitores de tela o anunciam — melhor que esconder com display:none. */
.dropzone{position:relative}
.input-arquivo{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}
.dropzone > *:not(.input-arquivo){position:relative;z-index:3;pointer-events:none}
.dropzone .btn.link{pointer-events:auto}
.input-arquivo:focus{outline:2px solid var(--accent);outline-offset:2px}

/* Selo de origem da leitura: diz ao usuário o quanto precisa conferir. */
.selo{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;
  font-size:11px;font-weight:700;letter-spacing:.3px;vertical-align:middle;cursor:help}
.selo.origem-ocr{background:#fef3c7;color:#92400e}
.selo.origem-ia{background:#e0e7ff;color:#3730a3}
.dz-bancos div{line-height:1.5}

/* Repartição juros x amortização dentro do cartão */
.kpi .reparticao{display:flex;flex-direction:column;gap:2px;margin-top:8px;
  font-size:11px;color:var(--muted)}
.kpi .reparticao .pt{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}
.kpi .reparticao .pt.juros{background:#f59e0b}
.kpi .reparticao .pt.amort{background:#2f6fed}

/* Projeção */
.proj-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.chart-wrap.alta{height:360px}
.proj-topo select{width:auto;min-width:190px}

/* Origem do dado e conferência de duplicidade */
.selo.o-ficha{background:#dcfce7;color:#166534}
.selo.o-planilha{background:#fef3c7;color:#92400e}
.selo.o-manual{background:#e2e8f0;color:#475569}
.conferencia{padding:0 18px 4px}
.conf-origem{font-size:12px;color:var(--muted);padding-bottom:10px}
.conf-ok{font-size:12px;color:#166534;padding-bottom:12px}
.conf-caixa{border:1px solid #fde68a;background:#fffbeb;border-radius:10px;padding:12px 14px;margin-bottom:14px}
.conf-caixa summary{font-weight:600;font-size:13px;color:#92400e;cursor:pointer}
.conf-aviso{font-size:12px;color:#92400e;margin:8px 0 12px;line-height:1.5}
.conf-grupo{background:#fff;border-radius:8px;padding:10px 12px;margin-bottom:10px;
  border-left:3px solid #f59e0b}
.conf-grupo.g-alta{border-left-color:#dc2626}
.conf-motivo{font-size:12px;font-weight:600;margin-bottom:8px}
.conf-item{display:grid;grid-template-columns:52px 1fr auto;gap:4px 10px;
  align-items:baseline;font-size:12px;padding:4px 0;border-top:1px solid #f1f5f9}
.conf-id{color:var(--muted);font-variant-numeric:tabular-nums}
.conf-meta{grid-column:2;color:var(--muted);font-size:11px}
.conf-valor{grid-column:3;grid-row:1;font-weight:600}
.conf-rodape{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.5}
.selo.origem-aprendido{background:#dbeafe;color:#1e40af}
.selo.o-invest{background:#ede9fe;color:#5b21b6}

/* Faixa que diz sobre qual base o usuário está analisando */
.faixa-base{font-size:12px;padding:8px 12px;border-radius:8px;margin-bottom:14px;
  border:1px solid transparent}
.faixa-base.ok{background:#f0fdf4;color:#166534;border-color:#bbf7d0}
.faixa-base.atencao{background:#fffbeb;color:#92400e;border-color:#fde68a}
.faixa-base.neutra{background:#f8fafc;color:#64748b;border-color:#e2e8f0}
.filters #f-base{font-weight:600}

/* Bens e garantias */
.bem-card{border:1px solid var(--linha,#e2e8f0);border-radius:10px;padding:14px 16px;
  margin-bottom:12px;background:#fff}
.bem-topo{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;
  padding-bottom:10px;border-bottom:1px solid #f1f5f9;margin-bottom:8px}
.bem-nome{font-weight:600;font-size:14px}
.bem-meta{color:var(--muted);font-size:12px;margin-top:2px}
.bem-valor{text-align:right;font-weight:600;white-space:nowrap}
.bem-cobertura{font-size:11px;font-weight:500;margin-top:3px}
.bem-cobertura.boa{color:#166534}
.bem-cobertura.baixa{color:#b45309}
.vinc{display:grid;grid-template-columns:170px 1fr auto;gap:10px;align-items:baseline;
  font-size:12px;padding:5px 0}
.vinc.liberado{opacity:.55}
.vinc-papel{font-weight:600;color:#475569}
.vinc-meta{color:var(--muted)}
.import-contrato{display:flex;justify-content:space-between;align-items:center;gap:14px;
  flex-wrap:wrap;margin-top:14px;padding:12px 14px;border:1px dashed #cbd5e1;border-radius:10px}
.bem-valor .sem-valor{font-weight:400;font-size:12px;color:var(--muted)}

/* Anexos do contrato */
.selo.o-anexo{background:#dbeafe;color:#1e40af}
.selo.o-semanexo{background:#f1f5f9;color:#94a3b8}
.arq-caixa{border:1px solid var(--linha,#e2e8f0);border-radius:10px;padding:10px 12px;margin-bottom:16px}
.arq-topo{display:flex;justify-content:space-between;align-items:center;gap:10px;
  flex-wrap:wrap;margin-bottom:8px}
.arq-tipo{width:auto;min-width:150px;display:inline-block;margin-right:6px;
  font-size:12px;padding:5px 8px}
.arq-item{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  padding:6px 0;border-top:1px solid #f1f5f9;font-size:12px}
.arq-nome{font-weight:600;text-align:left}
.arq-meta{color:var(--muted);font-size:11px;flex:1}
.arq-remover{color:#b91c1c}
.arq-vazio{font-size:12px;color:var(--muted);line-height:1.5;padding-top:4px}

/* Conferência de duplicidade: alertas já liberados */
.conf-ciente{margin-left:8px}
.conf-grupo.g-ciente{border-left-color:#94a3b8;opacity:.85}
.conf-conferidos{margin-bottom:14px}

/* Garantias agrupadas por natureza */
.gar-grupo{border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;margin-bottom:12px}
.gar-cabecalho{display:flex;justify-content:space-between;align-items:baseline;
  gap:10px;flex-wrap:wrap;margin-bottom:4px}
.gar-titulo{font-weight:600;font-size:13.5px}
.gar-resumo{font-size:11px;color:var(--muted)}
.gar-total{font-weight:600;font-size:13px}
.gar-nota{font-size:11px;color:var(--muted);line-height:1.5;margin-bottom:8px}
.gar-linha{display:grid;grid-template-columns:1fr auto auto;gap:4px 12px;
  align-items:baseline;font-size:12px;padding:6px 0;border-top:1px solid #f1f5f9}
.gar-contrato{font-weight:600}
.gar-detalhe{grid-column:1;color:var(--muted);font-size:11px}
.gar-pct{font-variant-numeric:tabular-nums;color:#1e40af;font-weight:600}
.gar-valor{font-variant-numeric:tabular-nums;font-weight:600}
.gar-fatia{height:5px;border-radius:3px;background:#e2e8f0;overflow:hidden;
  grid-column:1/-1;margin-top:2px}
.gar-fatia i{display:block;height:100%;background:#3b82f6}

/* Escolha do grupo */
.grupos-card{max-width:520px}
.grupos-lista{display:flex;flex-direction:column;gap:8px;margin:18px 0 4px}
.grupo-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  width:100%;text-align:left;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;
  background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.grupo-item:hover{border-color:#2f6fed;background:#f8fafc}
.grupo-nome{font-weight:600;font-size:14px}
.grupo-meta{font-size:11.5px;color:var(--muted)}
.grupos-vazio{font-size:12.5px;color:var(--muted);line-height:1.6;padding:10px 0}
.grupos-novo{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}
.grupos-novo input{flex:1}
.grupo-atual{display:flex;align-items:center;gap:6px;padding:2px 8px 2px 10px;
  border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc}
.grupo-rotulo{font-size:10px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--muted);font-weight:600}
.grupo-atual select{border:none;background:transparent;font-weight:600;padding:4px 2px;width:auto}

/* Empresa reconhecida na importação */
.imp-empresa{width:auto;min-width:150px;font-size:11.5px;padding:4px 6px}
.imp-conf{font-size:10px;margin-top:2px;font-weight:600}
.conf-exata{color:#166534}
.conf-provavel{color:#92400e}
.conf-duvidosa{color:#b45309}
.conf-nenhuma{color:#b91c1c}
select.conf-exata{border-color:#86efac}
select.conf-duvidosa,select.conf-nenhuma{border-color:#fca5a5}
.gar-cabecalho-linha{font-size:10px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--muted);font-weight:600;border-top:none}
.gar-linha.liberado{opacity:.55}

/* Importação em dois passos */
.passo-empresa, .passo-arquivos { display:flex; gap:12px; align-items:flex-start; margin-top:14px }
.passo-num { width:26px; height:26px; border-radius:50%; background:#1e3a8a; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:600;
  flex-shrink:0; margin-top:2px }
.dropzone.travada { opacity:.5; pointer-events:none; position:relative }
.dz-bloqueio { margin-top:10px; font-size:12px; color:#b45309; font-weight:600 }
.imp-conf.conf-divergente { color:#b45309 }
select.imp-empresa.conf-divergente { border-color:#f59e0b; background:#fffbeb }
.imp-conf.conf-neutra { color:#94a3b8 }

/* Roteiro de primeira vez */
.roteiro { border:1px solid #bfdbfe; background:#eff6ff; border-radius:12px;
  padding:14px 16px; margin-bottom:16px }
.roteiro-topo h3 { font-size:14px; margin:0 }
.passo { display:flex; gap:12px; align-items:flex-start; padding:10px 0;
  border-top:1px solid #dbeafe }
.passo:first-of-type { border-top:none }
.passo-marca { width:24px; height:24px; border-radius:50%; background:#fff;
  border:1px solid #93c5fd; color:#1e3a8a; display:flex; align-items:center;
  justify-content:center; font-size:12px; font-weight:600; flex-shrink:0 }
.passo.feito .passo-marca { background:#16a34a; border-color:#16a34a; color:#fff }
.passo.feito .passo-titulo { color:#166534 }
.passo-titulo { font-weight:600; font-size:13px }
.passo-detalhe { font-size:11.5px; color:var(--muted); line-height:1.5; margin-top:2px }
.passo-alerta { font-size:11.5px; color:#b45309; font-weight:600; margin-top:4px }

/* Migração e fechamento */
.migracao-faixa { display:flex; gap:12px; align-items:center; flex-wrap:wrap }
.barra-mig { flex:1; min-width:120px; height:7px; border-radius:4px; background:#fde68a; overflow:hidden }
.barra-mig i { display:block; height:100%; background:#16a34a }
.tarefa { display:flex; gap:12px; align-items:flex-start; padding:12px 0;
  border-top:1px solid #f1f5f9 }
.tarefa-marca { width:24px; height:24px; border-radius:50%; background:#fef3c7; color:#b45309;
  display:flex; align-items:center; justify-content:center; font-weight:700; flex-shrink:0 }
.tarefa.ok .tarefa-marca { background:#dcfce7; color:#166534 }
.tarefa-titulo { font-weight:600; font-size:13px }
.tarefa-num { font-weight:400; color:var(--muted); font-size:12px; margin-left:6px }
.tarefa-detalhe { font-size:11.5px; color:var(--muted); line-height:1.5; margin-top:2px }

/* Usuários e acessos */
.selo.papel-admin { background:#ede9fe; color:#5b21b6 }
.selo.papel-operador { background:#dbeafe; color:#1e40af }
.selo.papel-consulta { background:#f1f5f9; color:#475569 }
.acesso-novo { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; align-items:center }
.acesso-novo select { width:auto; min-width:170px; flex:1 }
.acesso-item { display:flex; gap:10px; align-items:baseline; flex-wrap:wrap;
  padding:8px 0; border-top:1px solid #f1f5f9; font-size:12px }
.acesso-alvo { flex:1 }
.acesso-nivel { color:var(--muted); font-size:11px }
.acesso-vazio { font-size:12px; color:#b45309; line-height:1.5; padding:10px 0 }
.senha-provisoria { margin-top:14px; padding:12px 14px; border-radius:10px;
  background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; font-size:12.5px; line-height:1.7 }
.cred { font-family:ui-monospace,Menlo,Consolas,monospace; background:#fff;
  padding:2px 8px; border-radius:6px; border:1px solid #bbf7d0; font-size:13px }

/* ---------- TROCA DE GRUPO ---------- */
/* Cobrir a tela durante a troca não é enfeite: enquanto as consultas não
   voltam, o que está atrás pertence ao grupo anterior — e número certo de
   cliente errado é o pior tipo de erro que este sistema pode mostrar. */
.carregando-tela{position:fixed;inset:0;background:rgba(248,250,252,.86);backdrop-filter:blur(2px);
  display:none;align-items:center;justify-content:center;z-index:80}
.carregando-tela.open{display:flex}
.ct-caixa{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow2);
  padding:26px 34px;text-align:center;min-width:260px}
.ct-giro{width:26px;height:26px;margin:0 auto 12px;border-radius:50%;
  border:3px solid #e2e8f0;border-top-color:var(--accent);animation:ct-rodar .8s linear infinite}
@keyframes ct-rodar{to{transform:rotate(360deg)}}
.ct-titulo{font-size:14.5px;font-weight:700;color:var(--ink)}
.ct-sub{font-size:12.5px;color:var(--muted);margin-top:4px}

/* ---------- EXCLUSÃO ---------- */
.btn.perigo{border-color:#fecaca;color:#b91c1c;background:#fff}
.btn.perigo:hover{background:#fef2f2}
.btn.perigo-cheio{background:#dc2626;border-color:#dc2626;color:#fff}
.btn.perigo-cheio:hover{background:#b91c1c}
.btn.perigo-cheio:disabled{opacity:.5;cursor:not-allowed}
.exc-num{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:14px 0}
.exc-num div{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.exc-num .n{font-size:18px;font-weight:700}
.exc-num .l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.exc-aviso{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 14px;
  font-size:13px;color:#7f1d1d;line-height:1.5}
.exc-opcao{border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:12px}
.exc-opcao h4{font-size:13.5px;margin-bottom:4px}
.exc-opcao .psub{margin:0 0 10px}
.grupo-inativo{display:flex;align-items:center;justify-content:space-between;gap:10px;
  border:1px dashed var(--line);border-radius:10px;padding:9px 12px;margin-bottom:6px;font-size:13px}
.reconferindo{opacity:.55;pointer-events:none;transition:opacity .12s}

/* ---------- CAMADA DIDÁTICA ----------
   A ferramenta ensina. Tooltips nos títulos de coluna, um tutorial dobrável
   que explica consórcio do zero, e glossários "entenda cada coluna" abaixo
   das tabelas — visíveis, porque tooltip escondido não ensina ninguém. */
th.expl{cursor:help;text-decoration:underline dotted #94a3b8;text-underline-offset:3px}
.tutor{background:linear-gradient(180deg,#f0f7ff,#fff);border:1px solid #bfdbfe;
  border-radius:14px;margin-bottom:16px;overflow:hidden}
.tutor summary{cursor:pointer;padding:14px 18px;font-weight:700;font-size:14px;color:#1e3a8a;
  list-style:none;display:flex;align-items:center;gap:10px}
.tutor summary::before{content:"🎓";font-size:18px}
.tutor summary::after{content:"mostrar";margin-left:auto;font-size:11.5px;font-weight:600;
  color:#2563eb;border:1px solid #bfdbfe;border-radius:20px;padding:3px 12px;background:#fff}
.tutor[open] summary::after{content:"esconder"}
.tutor .corpo{padding:4px 20px 18px;font-size:13px;line-height:1.6;color:#1f2937}
.tutor .corpo p{margin:8px 0;max-width:900px}
/* Grade 3x2 com respiro: uma ideia por card, uma frase por ideia. */
.tutor .passos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:6px 0 12px}
@media (max-width:900px){.tutor .passos{grid-template-columns:repeat(2,1fr)}}
.tutor .passo{background:#fff;border:1px solid #dbeafe;border-radius:12px;padding:16px 16px 14px}
.tutor .passo .n{display:inline-flex;width:26px;height:26px;border-radius:50%;background:#2563eb;
  color:#fff;font-size:13px;font-weight:700;align-items:center;justify-content:center;margin-bottom:10px}
.tutor .passo strong{display:block;font-size:14px;margin-bottom:5px;color:#0f172a}
.tutor .passo span{font-size:12.5px;color:#64748b;line-height:1.6}
.tutor-mais{margin-top:4px;border-top:1px dashed #bfdbfe;padding-top:8px}
.tutor-mais summary{cursor:pointer;font-size:12.5px;font-weight:600;color:#2563eb;list-style:none;padding:4px 0}
.tutor-mais p{font-size:12.5px;color:#475569;line-height:1.7}
.glossario{margin-top:10px;border:1px dashed var(--line);border-radius:10px}
.glossario summary{cursor:pointer;padding:9px 14px;font-size:12.5px;font-weight:600;color:#2563eb;list-style:none}
.glossario summary::before{content:"❓ "}
.glossario dl{padding:2px 16px 12px;margin:0;font-size:12.5px;line-height:1.55}
.glossario dt{font-weight:700;margin-top:8px;color:var(--ink)}
.glossario dd{margin:1px 0 0;color:#475569}

/* ---------- CONFIANÇA DA ANÁLISE ---------- */
.conf-wrap{display:flex;align-items:center;gap:8px}
.conf-barra{flex:0 0 64px;height:7px;border-radius:4px;background:#e2e8f0;overflow:hidden}
.conf-barra i{display:block;height:100%;border-radius:4px}
.conf-alta i{background:#16a34a}.conf-media i{background:#d97706}.conf-baixa i{background:#dc2626}
.conf-num{font-size:11.5px;font-weight:700}
.conf-alta .conf-num{color:#16a34a}.conf-media .conf-num{color:#b45309}.conf-baixa .conf-num{color:#dc2626}

/* ---------- MOTIVOS DO VEREDITO ---------- */
.motivos{margin-top:12px;display:grid;gap:7px}
.motivo{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.55;
  border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:#fff}
.motivo .ic{flex:0 0 auto;font-weight:800;font-size:13px;width:18px;text-align:center}
.motivo.pro{border-color:#bbf7d0;background:#f0fdf4}.motivo.pro .ic{color:#16a34a}
.motivo.contra{border-color:#fecaca;background:#fef2f2}.motivo.contra .ic{color:#dc2626}
.motivo.atencao{border-color:#fde68a;background:#fffbeb}.motivo.atencao .ic{color:#b45309}

/* ---------- GUIA (o que fazer agora) ---------- */
.guia{background:#fff;border:1px solid var(--line);border-left:4px solid #2563eb;
  border-radius:12px;padding:14px 16px;margin-bottom:16px}
.guia h3{font-size:13px;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.guia h3::before{content:"🧭"}
.guia .passo-guia{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid #f1f5f9}
.guia .passo-guia:first-of-type{border-top:0}
.guia .pg-txt{flex:1;font-size:12.5px;line-height:1.5;color:#475569}
.guia .pg-txt strong{display:block;color:var(--ink);font-size:13px;margin-bottom:2px}
.guia .btn{white-space:nowrap}

/* ---------- PENDÊNCIAS ---------- */
.badge{display:inline-flex;min-width:18px;height:18px;padding:0 5px;border-radius:10px;
  background:#dc2626;color:#fff;font-size:11px;font-weight:700;align-items:center;
  justify-content:center;margin-left:4px;vertical-align:1px}
.pend-card{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;background:#fff;overflow:hidden}
.pend-card.travada{border-left:4px solid #dc2626}
.pend-card.aberta{border-left:4px solid #d97706}
.pend-topo{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:12px 16px;flex-wrap:wrap}
.pend-topo .quem{font-size:11.5px;color:var(--muted)}
.pend-itens{border-top:1px solid #f1f5f9;padding:6px 16px 12px}
.pend-item{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px dashed #f1f5f9}
.pend-item:first-child{border-top:0}
.pend-item .marca{flex:0 0 auto;font-weight:800;width:16px;text-align:center}
.pend-item.obrig .marca{color:#dc2626}.pend-item.opc .marca{color:#94a3b8}
.pend-item .txt{flex:1;font-size:12.5px;line-height:1.5;color:#475569}
.pend-item .txt strong{color:var(--ink)}
.pend-item .txt .destrava{color:#16a34a;font-weight:600}

/* ---------- SAÚDE DA LEITURA + MODO ASSISTIDO ---------- */
.saude-leitura{border-radius:10px;padding:12px 16px;font-size:13px;line-height:1.55;margin-bottom:12px}
.saude-leitura.ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#14532d}
.saude-leitura.atencao{background:#fffbeb;border:1px solid #fde68a;color:#713f12}
.saude-leitura.erro{background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d}
.assistido-caixa{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;
  padding:10px 14px;margin-top:8px;font-size:12.5px;line-height:1.6;color:#1e3a8a}

/* ---------- DOU LANCE? RECOMENDAÇÃO-PRIMEIRO ---------- */
.rec-abertura{border-radius:12px;padding:14px 18px;font-size:13.5px;line-height:1.6;margin-bottom:14px}
.rec-abertura.ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#14532d}
.rec-abertura.neutra{background:#f8fafc;border:1px solid var(--line);color:#334155}
.rec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(430px,1fr));gap:12px}
.rec-card{border:1px solid #bbf7d0;border-radius:12px;padding:14px 16px;background:#fff}
.rec-card.avaliar{border-color:#fde68a}
.rec-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.rec-selo{background:#16a34a;color:#fff;font-size:10.5px;font-weight:800;border-radius:14px;
  padding:3px 11px;white-space:nowrap;letter-spacing:.4px}
.rec-selo.aval{background:#d97706}
.rec-acao{margin-top:10px;font-size:15.5px;color:#0f172a}
.rec-acao strong{font-size:19px;color:#16a34a}
.rec-pct{display:block;font-size:11.5px;color:#64748b;margin-top:2px}
.rec-numeros{display:flex;gap:16px;flex-wrap:wrap;margin-top:9px;font-size:12px;color:#475569;align-items:center}
.rec-esperar{margin-top:14px;border:1px dashed var(--line);border-radius:10px;padding:4px 14px 10px}
.rec-esperar summary{cursor:pointer;font-size:12.5px;font-weight:600;color:#64748b;padding:7px 0;list-style:none}
.rec-ajustes{margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:4px 14px 12px;background:#f8fafc}
.rec-ajustes summary{cursor:pointer;font-size:12.5px;font-weight:600;color:#334155;padding:7px 0;list-style:none}

/* ---------- GRUPOS ---------- */
.grupo-bloco{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fbfcfe}
.grupo-bloco-titulo{font-size:12.5px;font-weight:700;color:#0f172a}
.grupo-bloco-titulo span{font-weight:400;color:#94a3b8;font-size:11.5px;margin-left:6px}
.chip-lance{display:inline-flex;align-items:center;gap:6px;background:#eef2ff;border:1px solid #dbe3f8;
  border-radius:14px;padding:3px 10px;margin:2px 4px 2px 0;font-size:11.5px;color:#1e3a8a}
.chip-lance a{color:#94a3b8;text-decoration:none;font-weight:700;font-size:13px}
.chip-lance a:hover{color:#dc2626}

/* ---------- DOU LANCE? GRUPO-PRIMEIRO ---------- */
.lg-grupo{border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:10px;overflow:hidden}
.lg-grupo.tem-lance{border-color:#bbf7d0}
.lg-grupo summary{cursor:pointer;list-style:none;padding:13px 16px}
.lg-grupo summary::-webkit-details-marker{display:none}
.lg-grupo[open] summary{border-bottom:1px solid #f1f5f9;background:#fbfdfc}
.lg-resumo{display:flex;justify-content:space-between;align-items:center;gap:12px}
.lg-meta{font-size:11.5px;color:#94a3b8;margin-left:8px;font-weight:400}
.lg-acao{font-size:13px;color:#334155;margin-top:4px}
.rec-selo.esp{background:#94a3b8}
.lg-corpo{padding:10px 16px 14px}


/* rodapé fixo do modal — o botão de concluir nunca some no scroll */
.modal-rodape{position:sticky;bottom:-1px;background:#fff;padding:12px 0 2px;
  border-top:1px solid var(--line);text-align:right;margin-top:14px}
.mini-badge{font-size:9.5px;font-weight:600;color:#b45309;background:#fffbeb;
  border:1px solid #fde68a;border-radius:8px;padding:1px 6px;margin-top:5px;
  display:block;width:fit-content;line-height:1.4;white-space:nowrap}

/* ---------- SIMULAR ---------- */
.sim-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.vazio-sim{padding:26px 0;text-align:center}
.vazio-sim .vazio-titulo{font-size:14px;font-weight:700;margin-bottom:4px}
.vazio-sim .psub{max-width:460px;margin:0 auto}

.sim-cota{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden}
.sim-cota-cab{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:11px 14px;background:#f7f9fd;border-bottom:1px solid var(--line)}
.sim-cota-nome{font-size:13.5px;font-weight:700}
.sim-hist-item{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 14px;border-bottom:1px solid #f1f5f9;cursor:pointer}
.sim-hist-item:last-child{border-bottom:none}
.sim-hist-item:hover{background:#f7f9fd}
.sim-hist-data{font-size:12.5px;font-weight:600}
.sim-hist-nums{display:flex;align-items:center;gap:10px;white-space:nowrap}
.sim-cet{font-size:15px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.sim-selo{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px}
.sim-selo.pagar{background:#e6f6f4;color:#0f766e}
.sim-selo.avaliar{background:#fff7ed;color:#c2870b}

.sim-trilha{display:flex;align-items:center;margin-bottom:16px}
.sim-passo{display:flex;align-items:center;gap:9px;cursor:default}
.sim-passo.feito{cursor:pointer}
.sim-passo-n{width:25px;height:25px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;background:#fff;color:var(--muted);border:1.5px solid var(--line)}
.sim-passo.atual .sim-passo-n{background:var(--accent);color:#fff;border-color:var(--accent)}
.sim-passo.feito .sim-passo-n{background:#e8f0fe;color:var(--accent);border-color:#cfe0f8}
.sim-passo-r{font-size:12.5px;color:var(--muted);font-weight:600}
.sim-passo.atual .sim-passo-r{color:var(--ink);font-weight:700}
.sim-linha{flex:1;height:1px;background:var(--line);margin:0 14px}

.sim-manual{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.sim-arq{font-size:12.5px;padding:8px 11px;border:1px solid var(--line);border-radius:8px;margin-top:7px}
.sim-rodape{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}
.btn.grande{padding:11px 22px;font-size:14px}

.sim-prem{padding:11px 0;border-bottom:1px solid #f1f5f9}
.sim-prem:last-child{border-bottom:none}
.sim-prem-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:3px}
.sim-prem-topo label{font-size:12.5px;font-weight:600}
.sim-prem-campo{display:flex;align-items:center;gap:6px;white-space:nowrap}
.sim-prem-campo input{width:88px;text-align:right;font-variant-numeric:tabular-nums}
.sim-prem-un{font-size:11.5px;color:var(--muted)}

.sim-campo{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:9px 0;border-bottom:1px solid #f1f5f9}
.sim-campo-rot{font-size:12.5px;color:var(--slate)}
.sim-campo-val{text-align:right}
.sim-campo-val input{width:150px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.sim-campo-org{font-size:11px;color:var(--muted);margin-top:2px}

.sim-perg{padding:12px 0;border-bottom:1px solid #f1f5f9}
.sim-perg:last-child{border-bottom:none}
.sim-perg-txt{font-size:13px;font-weight:600;margin-bottom:2px}
.sim-opcoes{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.sim-op{border:1.5px solid var(--line);background:#fff;color:var(--slate);border-radius:20px;
  padding:6px 13px;font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer}
.sim-op:hover{border-color:#cfe0f8}
.sim-op.on{border-color:var(--accent);background:#e8f0fe;color:#1a56db}

.sim-veredito{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;
  border-radius:12px;padding:18px 22px;margin-bottom:14px}
.sim-veredito.avaliar,
.sim-veredito.nao_compensa{background:linear-gradient(135deg,#7c5c07,#a37a0d)}
.sim-ver-rot{font-size:10.5px;letter-spacing:.9px;text-transform:uppercase;color:#b7c6df;font-weight:600}
.sim-veredito.avaliar .sim-ver-rot,
.sim-veredito.nao_compensa .sim-ver-rot{color:#f3dfae}
.sim-ver-t{font-size:21px;font-weight:700;margin:5px 0 8px}
.sim-ver-motivos{margin:0;padding-left:18px;font-size:13px;line-height:1.55}
.sim-ver-motivos li{margin-bottom:3px;color:#dbe6f2}
.sim-veredito.avaliar .sim-ver-motivos li,
.sim-veredito.nao_compensa .sim-ver-motivos li{color:#f7edd6}

.sim-blocos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:1000px){.sim-blocos{grid-template-columns:1fr}}
.sim-bloco{position:relative;background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:18px;box-shadow:var(--shadow)}
.sim-bloco.destaque{border-color:#cfe0f8;box-shadow:0 0 0 3px rgba(47,111,237,.08),var(--shadow)}
.sim-bloco-n{position:absolute;top:-9px;left:18px;width:20px;height:20px;border-radius:5px;
  background:var(--navy);color:#fff;font-size:11.5px;font-weight:700;display:flex;
  align-items:center;justify-content:center}
.sim-bloco-cab h4{font-size:14px;font-weight:700;margin:4px 0 2px}
.sim-num-linha{display:flex;gap:22px;margin:12px 0}
.sim-num .v{display:block;font-size:23px;font-weight:700;letter-spacing:-.5px;color:var(--navy)}
.sim-num .l{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}
.sim-tab{width:100%;border-collapse:collapse;font-size:12.5px;margin:10px 0 0}
.sim-tab th{font-size:10.5px;padding:4px 6px}
.sim-tab td{padding:6px}
.sim-tab tr.foco td{background:#eaf0f6;font-weight:700}
.sim-tab .verde{color:var(--green);font-weight:700}
.sim-tab .verm{color:var(--red);font-weight:700}
.sim-conc{background:#16202a;color:#fff;border-radius:8px;padding:11px 13px;margin-top:12px;
  font-size:12.5px;line-height:1.5}
.sim-conc b{color:#ffc77d}
.sim-ressalva{margin-top:8px;padding-top:8px;border-top:1px solid #2c3947;font-size:11.5px;color:#aebdcd}


/* ---- etapa 1: o que o leitor procura em cada documento ---- */
.sim-lidos-previa{margin-top:16px;padding:14px 16px;background:#f7f9fc;border:1px solid var(--line);
  border-radius:10px}
.sim-previa-t{font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);
  font-weight:700;margin-bottom:8px}
.sim-previa-l{margin:0;padding-left:17px;font-size:12.5px;line-height:1.6;color:var(--slate)}
.sim-previa-l li{margin-bottom:4px}
.sim-previa-l b{color:var(--ink)}

/* ---- etapa 2: a leitura em português, antes de qualquer número ---- */
.sim-situacao{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;
  border-radius:12px;padding:16px 20px;margin-bottom:12px}
.sim-situacao.pagar_lance{background:linear-gradient(135deg,#7c2d12,#9a3412)}
.sim-situacao.manual{background:linear-gradient(135deg,#334155,#475569)}
.sim-sit-rot{font-size:10.5px;letter-spacing:.9px;text-transform:uppercase;color:#b7c6df;font-weight:600}
.sim-sit-t{font-size:16px;font-weight:600;margin-top:5px;line-height:1.45}

/* ---- a conferência do documento contra ele mesmo ---- */
.sim-confs{display:grid;gap:8px;margin-bottom:12px}
.sim-conf{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--green);
  border-radius:8px;padding:10px 14px}
.sim-conf.alerta{border-left-color:#d97706;background:#fffbeb}
.sim-conf-t{font-size:13px;font-weight:600;color:var(--ink)}
.sim-conf.alerta .sim-conf-t{color:#92400e}

/* ---- premissa que veio do documento ---- */
.sim-prem.doc{border-left:3px solid var(--accent);padding-left:11px}
.sim-prem-org{font-size:12px;color:var(--slate);line-height:1.5;margin:4px 0 2px}
.sim-prem-selo{display:inline-block;font-size:10px;letter-spacing:.5px;text-transform:uppercase;
  font-weight:700;border-radius:4px;padding:2px 6px;margin-right:6px;
  background:#e8f0fe;color:#1a56db}
.sim-prem-selo.media{background:#fef3c7;color:#92400e}
.sim-prem-nota{font-size:12px;color:#92400e;background:#fffbeb;border-radius:6px;
  padding:7px 10px;margin-bottom:8px;line-height:1.5}

/* ---- a conta do veredito, à vista ---- */
.sim-ver-conta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 0 14px;
  padding:12px 14px;background:rgba(255,255,255,.08);border-radius:9px}
.sim-ver-conta .l{display:block;font-size:11px;color:#b7c6df;margin-bottom:2px}
.sim-ver-conta .v{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}
.sim-ver-conta .v.verde{color:#6ee7b7}
.sim-ver-conta .v.verm{color:#fca5a5}
.sim-ver-conta .op{font-size:18px;color:#93a7c4;font-weight:700}
.sim-ver-ctx{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.18)}
.sim-ctx-rot{font-size:10.5px;letter-spacing:.9px;text-transform:uppercase;color:#93a7c4;
  font-weight:600;margin-bottom:6px}
.sim-ver-ctx ul{margin:0 0 6px;padding-left:18px;font-size:12.5px;line-height:1.55;color:#cbd8e8}
.sim-ver-ctx .psub{color:#93a7c4;font-size:11.5px}

/* ---- o mesmo esforço nas duas rotas ---- */
.sim-esforco{font-size:12.5px;color:var(--slate);background:#f7f9fc;border-radius:8px;
  padding:9px 12px;margin-bottom:10px;line-height:1.5}

/* ---- a pergunta que decide: margem de equilíbrio ---- */
.sim-equilibrio{background:rgba(255,255,255,.1);border-radius:9px;padding:13px 15px;margin-bottom:13px}
.sim-eq-rot{font-size:10.5px;letter-spacing:.9px;text-transform:uppercase;color:#93a7c4;
  font-weight:600;margin-bottom:5px}
.sim-eq-t{font-size:15px;line-height:1.5;font-weight:500}
.sim-eq-t b{color:#ffc77d;font-weight:700}
.sim-eq-s{font-size:11.5px;color:#b7c6df;line-height:1.5;margin-top:6px}


/* ---------------- escolha do sistema (após o login) ---------------- */
.sistemas-card{max-width:720px}
.sistemas-lista{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 4px}
.sistema-item{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;
  padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-family:inherit}
.sistema-item:hover{border-color:#2f6fed;background:#f8fafc}
.sistema-nome{font-weight:700;font-size:15px;color:var(--navy)}
.sistema-meta{font-size:12.5px;color:var(--muted);line-height:1.4}
@media (max-width:640px){.sistemas-lista{grid-template-columns:1fr}}
/* quatro sistemas: grade 2 × 2 */
