:root{
  --bg:#0c0d10; --bg2:#15171c; --card:#171a20; --line:#262a32;
  --gold:#c8a14a; --gold2:#e6c878; --txt:#e9ecf1; --mut:#8b91a0;
  --q:#e08a4c; --qbg:#3a2415; --m:#d8b53e; --mbg:#332c12; --f:#5aa0d8; --fbg:#14283a;
  --ok:#2ec47a;
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(1200px 600px at 50% -10%,#1a1c22 0%,var(--bg) 60%);
  color:var(--txt);font:15px/1.5 "Segoe UI",Roboto,Arial,sans-serif;min-height:100vh}
a{color:var(--gold2);text-decoration:none}
.wrap{max-width:720px;margin:0 auto;padding:40px 20px}
.wrap.wide{max-width:1180px}
.brand{margin-bottom:24px}
.brand.row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.logo{font-size:30px;font-weight:800;letter-spacing:.5px}
.logo span{color:var(--gold)}
.tag{color:var(--mut);margin:4px 0 0;font-size:14px}
.card{background:linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--line);
  border-radius:16px;padding:26px;margin-bottom:20px;box-shadow:0 10px 30px rgba(0,0,0,.3)}
h1{font-size:22px;margin:0 0 8px}
h2{font-size:18px;margin:0}
.sub{color:var(--mut);margin:0 0 22px}
.alert{background:#3a1a1a;border:1px solid #6b2b2b;color:#f3c0c0;padding:12px 16px;
  border-radius:10px;margin-bottom:18px}
/* upload */
.drop{display:block;border:2px dashed var(--line);border-radius:14px;padding:38px 20px;
  text-align:center;cursor:pointer;transition:.15s;background:#0f1115}
.drop:hover,.drop.over{border-color:var(--gold);background:#13161c}
.drop.has{border-color:var(--ok)}
.ico{font-size:34px;color:var(--gold);margin-bottom:8px}
.drop-txt{font-weight:600}
.hint{color:var(--mut);font-size:13px;margin-top:6px}
.btn{display:inline-block;border:1px solid var(--line);background:#1d2128;color:var(--txt);
  padding:11px 20px;border-radius:10px;font-weight:600;cursor:pointer;transition:.15s;font-size:14px}
.btn:hover{border-color:var(--gold)}
.btn.primary{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#1a1405;border:none}
.btn.primary:hover{filter:brightness(1.07)}
.btn.ghost{background:transparent}
.btn:disabled{opacity:.45;cursor:not-allowed}
#go{width:100%;margin-top:16px}
.steps{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.steps li{display:flex;align-items:center;gap:12px;color:var(--mut);font-size:14px}
.steps span{width:24px;height:24px;border-radius:50%;background:var(--gold);color:#1a1405;
  display:grid;place-items:center;font-weight:800;font-size:13px;flex:0 0 auto}
.foot{text-align:center;color:var(--mut);font-size:12px;margin-top:10px}
/* metrics */
.metrics{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;margin-bottom:20px}
.metric{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 10px;text-align:center}
.metric b{display:block;font-size:24px;font-weight:800}
.metric span{color:var(--mut);font-size:11px}
.metric.hot b{color:var(--gold2)}
.metric.q b{color:var(--q)} .metric.m b{color:var(--m)} .metric.f b{color:var(--f)}
/* export */
.export-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.filtro{color:var(--mut);font-size:14px;display:flex;align-items:center;gap:8px}
select,input[type=search]{background:#0f1115;border:1px solid var(--line);color:var(--txt);
  padding:9px 12px;border-radius:9px;font-size:14px}
select:focus,input:focus{outline:none;border-color:var(--gold)}
.export-btns{display:flex;gap:12px;flex-wrap:wrap}
/* table */
.table-tools{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}
#busca{min-width:280px;flex:1}
.chips{display:flex;gap:8px}
.chip{border:1px solid var(--line);background:#1d2128;color:var(--mut);padding:7px 14px;
  border-radius:20px;cursor:pointer;font-size:13px;font-weight:600}
.chip.active{background:var(--gold);color:#1a1405;border-color:var(--gold)}
.table-scroll{overflow:auto;max-height:70vh;border-radius:10px;border:1px solid var(--line)}
table{width:100%;border-collapse:collapse;font-size:13px}
thead th{position:sticky;top:0;background:#1f2530;color:var(--gold2);text-align:left;
  padding:11px 12px;font-weight:700;white-space:nowrap;z-index:1}
thead th.sortable{cursor:pointer;user-select:none}
thead th.sortable:hover{background:#27303d}
thead th.sortable i{display:inline-block;width:0;margin-left:6px;border-left:4px solid transparent;
  border-right:4px solid transparent;opacity:.25;vertical-align:middle}
thead th.sortable i::after{content:"";display:inline-block}
thead th.sortable i{border-top:5px solid var(--mut)}
thead th.sortable.asc i{border-top:none;border-bottom:5px solid var(--gold2);opacity:1}
thead th.sortable.desc i{border-bottom:none;border-top:5px solid var(--gold2);opacity:1}
tbody td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:top}
tbody tr:hover{background:#1a1e26}
.nome{font-weight:600}
.cod,.muted{color:var(--mut);font-size:11px}
.contato div{color:var(--mut);font-size:12px}
.contato a{font-size:12px;display:inline-block;margin-top:2px}
.center{text-align:center}.nowrap{white-space:nowrap}.small{font-size:12px;color:var(--mut)}
.score{font-weight:800;color:var(--gold2)}
.acao{color:var(--mut);font-size:12px;min-width:200px}
.badge{padding:3px 9px;border-radius:20px;font-size:11px;font-weight:800;letter-spacing:.3px}
.badge.quente{background:var(--qbg);color:var(--q)}
.badge.morno{background:var(--mbg);color:var(--m)}
.badge.frio{background:var(--fbg);color:var(--f)}
@media(max-width:900px){.metrics{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.metrics{grid-template-columns:repeat(2,1fr)}.acao{display:none}}
