:root{--cereja:#e50145;--laranja:#f15a22;--amarelo:#efd600;--verde:#0c893e;--roxo:#6b4e9e;--fundo:#fff8f2;--cartao:#fff;--texto:#2b2b2b;--suave:#7a7a7a;--borda:#f0e4d8;--ruim:#d1293d;--medio:#c98a12;--bom:#0c893e}*{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:1120px;margin:0 auto;padding:32px 20px 64px}.topo{margin-bottom:24px}.topo h1{font-size:28px;color:var(--cereja);margin-bottom:4px}.subtitulo{color:var(--suave);font-size:14px}.subtitulo a{color:var(--cereja);font-weight:600;text-decoration:none}.subtitulo a:hover{text-decoration:underline}.loading{padding:48px 0;text-align:center;color:var(--suave)}.alerta-erro{background:#fdecec;border:1px solid #f4b8bd;color:#9c1c2b;border-radius:10px;padding:14px 16px;margin-bottom:20px;font-size:14px}.filtros{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;background:var(--cartao);border:1px solid var(--borda);border-radius:14px;padding:16px 20px}.filtros label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--suave);font-weight:600;flex:1 1;min-width:220px}.busca,.filtros select{padding:9px 12px;border-radius:8px;border:1px solid var(--borda);font-size:14px;color:var(--texto);background:#fff}.blocos{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));grid-gap:20px;gap:20px;margin-bottom:28px}.cartao{background:var(--cartao);border:1px solid var(--borda);border-radius:16px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.cartao h2{font-size:17px;margin-bottom:14px}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px}.stat{background:var(--fundo);border:1px solid var(--borda);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.stat-titulo{font-size:12px;color:var(--suave);font-weight:600}.stat-valor{font-size:20px;font-weight:700}.stat-bom .stat-valor{color:var(--bom)}.stat-medio .stat-valor{color:var(--medio)}.stat-ruim .stat-valor{color:var(--ruim)}.rodape-cartao{margin-top:12px;font-size:12px;color:var(--suave)}.detalhamento{background:var(--cartao);border:1px solid var(--borda);border-radius:16px;padding:20px;margin-bottom:24px}.detalhamento-topo{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;flex-wrap:wrap}.detalhamento-topo h2{font-size:17px}.busca{min-width:220px}.tabela-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--borda);white-space:nowrap}th{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.vazio,th{color:var(--suave)}.vazio{text-align:center;padding:24px}.tag{padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.tag-aereo{background:rgba(107,78,158,.12);color:var(--roxo)}.tag-hospedagem{background:rgba(241,90,34,.12);color:var(--laranja)}.rodape{font-size:12px;color:var(--suave);text-align:center;padding-top:12px;border-top:1px solid var(--borda)}.abas{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.abas button{padding:8px 18px;border-radius:999px;border:1px solid var(--borda);background:#fff;color:var(--suave);font-weight:600;font-size:14px;cursor:pointer}.abas button.aba-ativa{background:var(--cereja);color:#fff}.abas button.aba-ativa,.abas button:hover{border-color:var(--cereja)}.historico{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.grafico-card{background:var(--cartao);border:1px solid var(--borda);border-radius:16px;padding:20px}.grafico-card h2{font-size:17px;margin-bottom:4px}.grafico-desc{font-size:12px;color:var(--suave);margin-bottom:14px}.grafico-wrap{width:100%}.grafico-svg{width:100%;height:auto;display:block}.grafico-grade{stroke:var(--borda);stroke-width:1}.grafico-eixo-texto{font-size:10px;fill:var(--suave)}.grafico-legenda{display:flex;gap:16px;margin-top:10px;font-size:12px;color:var(--suave);flex-wrap:wrap}.legenda-item{display:flex;align-items:center;gap:6px}.legenda-item i{width:10px;height:10px;display:inline-block}.grafico-vazio{font-size:13px;color:var(--suave);padding:20px 0}