/* ===== Relatórios → Faturamento por produto (rodada 10, fato_Venda). Cores e fontes do CRM; destaque por cor do número,
   selo ou fundo suave da linha inteira. Sem faixa colorida na lateral. ===== */
.ft { color:#1A1A1A; font-size:14px; line-height:1.45; }
.ft * { box-sizing:border-box; }
.ft button, .ft input, .ft select { font:inherit; color:inherit; }
.ft-topo { display:flex; align-items:flex-end; gap:16px; margin-bottom:14px; flex-wrap:wrap; }
.ft-voltar { font-size:.8rem; color:#7A6F65; text-decoration:none; }
.ft-voltar:hover { color:#D94030; text-decoration:underline; }
.ft-titulo { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:2px 0 4px; }
.ft-titulo h1 { margin:0; }
.ft-frescor { font-size:12px; color:#5A4630; background:#F4ECDF; border:1px solid #E6D7C2; border-radius:999px; padding:2px 10px; white-space:nowrap; cursor:help; }
.ft-sub { color:#5C5C5C; margin:0; font-size:.9rem; max-width:820px; }
.ft-btn { height:32px; border-radius:8px; padding:0 14px; font-size:.86rem; font-weight:600; cursor:pointer; border:1px solid #D9CCBA; background:#FFFFFF; color:#1A1A1A; white-space:nowrap; }
.ft-btn:hover:not(:disabled) { background:#F4ECDF; }
.ft-btn:disabled { opacity:.55; cursor:default; }
.ft-btn.sm { height:28px; padding:0 10px; font-size:.8rem; }

.ft-filtros { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:16px; padding:12px 16px; background:#fff; border-radius:12px; border:1px solid #EDE3D7; }
.ft-flabel { font-size:11px; font-weight:700; color:#5C5C5C; text-transform:uppercase; letter-spacing:.05em; white-space:nowrap; }
.ft-sel { height:32px; border:1px solid #D4C4B0; border-radius:8px; padding:0 10px; background:#fff; font-size:13px; font-weight:600; cursor:pointer; max-width:260px; }
.ft-data { font-size:12px; color:#5C5C5C; display:inline-flex; align-items:center; gap:6px; }
.ft-data input { height:32px; border:1px solid #D4C4B0; border-radius:8px; padding:0 8px; font-size:13px; }
.ft-chave { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#3D3832; margin-left:auto; cursor:pointer; }
.ft-chave input { accent-color:#D94030; width:16px; height:16px; }

.ft-card { background:#fff; border:1px solid #EDE3D7; border-radius:14px; padding:16px 18px; margin-bottom:16px; }
.ft-card-tit { font-size:13px; font-weight:700; margin-bottom:12px; }
.ft-aviso { background:#FDFAF7; border:1px solid #EDE3D7; border-radius:12px; padding:14px 16px; color:#5C5C5C; }
.ft-vazio { color:#7A6F65; font-size:.9rem; padding:8px 0; }
.ft-nota { font-size:11.5px; color:#9A8F84; margin-top:8px; }

.ft-tab { width:100%; border-collapse:collapse; font-size:13px; }
.ft-tab th { text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:#7A6F65; font-weight:700; padding:8px 10px; border-bottom:1px solid #EDE3D7; white-space:nowrap; }
.ft-tab td { padding:8px 10px; border-bottom:1px solid #F4ECDF; vertical-align:middle; }
.ft-tab .n { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.ft-tab .b { font-weight:700; }
.ft-tab .mut { color:#7A6F65; }
.ft-tab tbody tr { cursor:pointer; }
.ft-tab tbody tr:hover { background:#FDFAF7; }
.ft-tab tbody tr.sel { background:#FBF1E6; }
.ft-tab tfoot td { font-weight:800; border-top:1px solid #E3D6C5; border-bottom:0; }
.ft-lnk { border:0; background:none; padding:0; cursor:pointer; font-weight:650; text-align:left; }
.ft-lnk:hover { color:#D94030; text-decoration:underline; }
.ft-emp { color:#1A1A1A; text-decoration:none; font-weight:650; }
.ft-emp:hover { color:#D94030; text-decoration:underline; }

.ft-selo { display:inline-flex; align-items:center; padding:2px 9px; border-radius:999px; font-size:12px; font-weight:650; border:1px solid transparent; white-space:nowrap; margin-right:4px; }
.ft-selo.atraso { background:#FBE9E6; color:#A12A1C; border-color:#E8A79E; }
.ft-selo.vencer { background:#FFF3C4; color:#6E5A00; border-color:#E6CF5C; }
.ft-selo.ok { background:#F2EFEB; color:#6B6258; border-color:#E4DED6; }

@media (max-width: 720px) {
    .ft-chave { margin-left:0; }
    .ft-tab th:nth-child(2), .ft-tab td:nth-child(2) { display:none; }
}
