:root{--cereja:#e50145;--laranja:#f15a22;--amarelo:#efd600;--verde:#0c893e;--roxo:#6b4e9e;--fundo:#fff8f2;--cartao:#fff;--texto:#2b2b2b;--suave:#7a7a7a;--borda:#f0e4d8}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--fundo);color:var(--texto);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.container{max-width:1080px;margin:0 auto;padding:24px 20px 64px}.topo{margin-bottom:20px}.topo h1{font-size:24px;color:var(--cereja);margin-bottom:4px}.subtitulo{color:var(--suave);font-size:14px}.loading{padding:40px 0;text-align:center;color:var(--suave)}.aviso,.aviso-erro{background:#fff3f0;border:1px solid #f3c8bd;color:#8a2f1c;border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.aviso{background:#fffaf0;border-color:var(--borda);color:var(--suave);flex-direction:column;align-items:flex-start}.filtros{align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px}.filtros,.periodos{display:flex;flex-wrap:wrap}.periodos{gap:8px}.pill{border:1px solid var(--borda);background:var(--cartao);color:var(--texto);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer}.pill:disabled{opacity:.5;cursor:default}.pill-ativo{background:var(--cereja);border-color:var(--cereja);color:#fff;font-weight:700}.datas{display:flex;gap:12px;flex-wrap:wrap}.datas label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--suave)}.datas input[type=date]{border:1px solid var(--borda);border-radius:8px;padding:6px 8px;font-size:13px;background:var(--cartao);color:var(--texto)}.nota-limites{margin-bottom:16px;padding:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:28px}@media (max-width:640px){.cards{grid-template-columns:1fr}}.card{background:var(--cartao);border:1px solid var(--borda);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:6px}.card-label{font-size:13px;color:var(--suave)}.card-valor{font-size:22px;font-weight:700;color:var(--texto)}.secao{margin-bottom:32px}.secao h2{font-size:16px;margin-bottom:12px;color:var(--texto)}.secao-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.secao-cabecalho h2{margin-bottom:0}.canais-grafico{display:flex;gap:8px;flex-wrap:wrap}.nota-d1{padding:0 0 12px}.tabela-scroll{overflow-x:auto;background:var(--cartao);border:1px solid var(--borda);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:13px;min-width:560px}td,th{text-align:left;padding:10px 14px;border-bottom:1px solid var(--borda);white-space:nowrap}th{color:var(--suave);font-weight:600;background:#fffdfb}tbody tr:last-child td{border-bottom:none}.vazio{text-align:center;color:var(--suave);white-space:normal}.grafico-canal{background:var(--cartao);border:1px solid var(--borda);border-radius:12px;padding:16px}.grafico-linha{display:flex;gap:8px}.eixo-cac{display:flex;flex-direction:column;justify-content:space-between;font-size:11px;color:var(--suave);min-width:64px;text-align:right;padding:6px 0}.grafico-corpo{position:relative;flex:1 1;min-width:0}.grafico-svg{width:100%;height:220px;display:block}.ponto-grafico{cursor:pointer}.eixo-datas{display:flex;justify-content:space-between;font-size:11px;color:var(--suave);margin-top:4px}.tooltip-grafico{position:absolute;transform:translate(-50%,-115%);background:var(--texto);color:#fff;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.5;white-space:nowrap;pointer-events:none;box-shadow:0 6px 16px rgba(0,0,0,.18);z-index:5}.tooltip-grafico strong{display:block;margin-bottom:2px}.nota{padding:10px 4px}.nota,.rodape{font-size:12px;color:var(--suave)}.rodape{margin-top:24px;display:flex;flex-direction:column;gap:6px}.rodape code{background:var(--borda);padding:2px 6px;border-radius:6px}.link{background:none;border:none;color:var(--roxo);text-decoration:underline;cursor:pointer;font-size:12px;padding:0}.btn-secundario{border:1px solid #8a2f1c;background:transparent;color:#8a2f1c;border-radius:999px;padding:4px 12px;font-size:13px;cursor:pointer}