/* Painel LICE Digital. Paleta tirada do site da agencia:
   fundo #030D15, cartao #11181E, borda #263545, texto #E0E6ED,
   laranja #DF5D1B e azul #3C85C0. Tema unico, escuro, igual a marca. */

:root{
  --bg:#030D15;
  --card:#11181E;
  --card2:#162029;
  --linha:#263545;
  --txt:#E0E6ED;
  --fraco:#8A9AAB;
  --acento:#DF5D1B;
  --acento-claro:#F07A3D;
  --bom:#4FB477;
  --ruim:#E06A5A;
  --serie1:#DF5D1B;
  --serie2:#3C85C0;
  --raio:12px;
}

*{box-sizing:border-box}

body{
  margin:0;background:var(--bg);color:var(--txt);
  font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

.pagina{max-width:1180px;margin:0 auto;padding:28px 18px 64px}

/* ---------- topo ---------- */
.cabecalho{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding-bottom:20px;border-bottom:1px solid var(--linha);margin-bottom:26px;
}
.marca{display:flex;align-items:center;gap:14px}
.marca img{height:30px;width:auto;display:block}
.marca .barra{width:1px;height:26px;background:var(--linha)}
.marca .cliente{font-size:15px;font-weight:600;letter-spacing:.01em}
.cabecalho .direita{margin-left:auto;display:flex;align-items:center;gap:10px}

.btn{
  appearance:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;
  border:1px solid var(--linha);background:var(--card);color:var(--txt);
  border-radius:999px;padding:9px 16px;transition:.15s;display:inline-flex;
  align-items:center;gap:7px;line-height:1;
}
.btn:hover{border-color:var(--acento);color:#fff}
.btn:disabled{opacity:.5;cursor:default}
.btn.fantasma{background:none;border:none;color:var(--fraco);font-weight:500;padding:9px 6px}
.btn.fantasma:hover{color:var(--txt)}
.btn .giro{
  width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;
  border-radius:50%;display:inline-block;animation:rodar .7s linear infinite;
}
@keyframes rodar{to{transform:rotate(360deg)}}

h1{font-size:28px;line-height:1.15;margin:0 0 6px;font-weight:700;letter-spacing:-.02em}
.sub{color:var(--fraco);font-size:12.5px;margin:0}

/* ---------- periodo ---------- */
.periodo{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 8px}
.periodo button{
  appearance:none;cursor:pointer;border:1px solid var(--linha);
  background:var(--card);color:var(--fraco);border-radius:999px;
  padding:9px 16px;font-size:13px;font-weight:600;font-family:inherit;transition:.15s;
}
.periodo button:hover{color:var(--txt);border-color:#35485c}
.periodo button.ativo{background:var(--acento);border-color:var(--acento);color:#fff}

.datas{
  display:none;gap:10px;align-items:flex-end;flex-wrap:wrap;
  background:var(--card);border:1px solid var(--linha);border-radius:var(--raio);
  padding:14px 16px;margin:12px 0 0;
}
.datas.aberto{display:flex}
.datas label{display:block;font-size:11px;color:var(--fraco);margin-bottom:5px;
  letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.datas input{
  font-family:inherit;font-size:14px;padding:9px 11px;border-radius:8px;
  border:1px solid var(--linha);background:var(--bg);color:var(--txt);
  color-scheme:dark;
}
.datas input:focus{outline:none;border-color:var(--acento)}
.datas .erro{color:var(--ruim);font-size:12px;align-self:center}

/* ---------- blocos ---------- */
.bloco{margin-top:40px}
.rotulo{
  font-size:20px;font-weight:700;letter-spacing:-.01em;margin:0 0 14px;
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
}
.rotulo::before{
  content:"";width:4px;height:19px;background:var(--acento);
  border-radius:2px;align-self:center;flex:none;
}
.rotulo em{
  font-style:normal;font-size:12px;font-weight:500;color:var(--fraco);
  letter-spacing:0;
}
.sublabel{color:var(--fraco);font-size:12.5px;margin:22px 0 10px;font-weight:600}

/* ---------- quadros de numero ---------- */
.tiles{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.tiles.grandes{grid-template-columns:repeat(3,1fr)}
.tile{
  background:var(--card);border:1px solid var(--linha);border-radius:var(--raio);
  padding:20px 22px;
}
.tiles.grandes .tile{padding:26px 26px 24px}
.tile .t{color:var(--fraco);font-size:12.5px;margin-bottom:8px;font-weight:600}
.tiles.grandes .tile .t{font-size:13px}
.tile .v{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.tiles.grandes .tile .v{font-size:36px}
.tile .c{font-size:12px;margin-top:8px;min-height:16px}
.var.bom{color:var(--bom);font-weight:700}
.var.ruim{color:var(--ruim);font-weight:700}
.var.neutro{color:var(--fraco)}
.destaque{border-color:#3a3020;background:linear-gradient(180deg,#1b1711,var(--card))}

/* ---------- grafico ---------- */
.grafico{background:var(--card);border:1px solid var(--linha);
  border-radius:var(--raio);padding:18px 16px 12px}
.legenda{display:flex;gap:18px;font-size:12px;color:var(--fraco);
  margin-bottom:12px;align-items:center;flex-wrap:wrap}
.legenda .q{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:7px}

/* Moldura de proporcao fixa para o SVG. O jeito "width:100%;height:auto" com
   viewBox o Safari do Mac e do iPhone calcula errado e o desenho sai torto ou
   some. Com altura em porcentagem e o SVG posicionado por cima, funciona em
   todo navegador. */
.tela{position:relative;width:100%;height:0;overflow:hidden}
.tela > svg{position:absolute;top:0;left:0;width:100%;height:100%;display:block}
.legenda .fraco{margin-left:auto;opacity:.75;font-size:11px}

/* ---------- criativos ---------- */
.criativos{display:grid;gap:14px;margin-bottom:12px;
  grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
.crt{background:var(--card);border:1px solid var(--linha);border-radius:var(--raio);
  overflow:hidden;text-decoration:none;color:inherit;display:block;transition:.15s}
.crt:hover{border-color:var(--acento)}
.crt-img{aspect-ratio:1;background:var(--card2);position:relative;
  display:grid;place-items:center;overflow:hidden}
.crt-vazio{font-size:11px;color:var(--fraco);letter-spacing:.06em;
  text-transform:uppercase;font-weight:600}
.crt-img img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block}
.crt-corpo{padding:12px 14px 14px}
.crt-nome{font-size:12px;font-weight:600;line-height:1.35;margin-bottom:9px;min-height:32px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.crt-linha{display:flex;justify-content:space-between;font-size:11.5px;
  color:var(--fraco);margin-top:4px}
.crt-linha b{color:var(--txt);font-weight:700}

/* ---------- funil ---------- */
.funil{background:var(--card);border:1px solid var(--linha);border-radius:var(--raio);
  padding:20px 18px 16px;margin-bottom:12px}
.funil-rolar{overflow-x:auto}
.funil-corpo{min-width:580px}
.funil-etapas{display:grid;margin-top:10px}
.funil-etapas .col{text-align:center;padding:0 8px}
.funil-etapas .nome{display:block;font-size:11.5px;color:var(--fraco);
  line-height:1.35;min-height:31px}
.funil-etapas .valor{display:block;font-size:18px;font-weight:700;
  margin-top:4px;letter-spacing:-.01em}
.funil-etapas .taxa{display:block;font-size:11px;color:var(--fraco);margin-top:3px}
.funil-nota{font-size:11.5px;color:var(--fraco);margin-top:14px;line-height:1.5}
.taxa{font-size:11.5px;color:var(--fraco);margin-top:4px}

/* ---------- tabela ---------- */
table{width:100%;border-collapse:collapse;font-size:13px;
  background:var(--card);border:1px solid var(--linha);
  border-radius:var(--raio);overflow:hidden}
th{color:var(--fraco);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  text-align:right;padding:12px 15px;font-weight:700;border-bottom:1px solid var(--linha)}
th:first-child{text-align:left}
td{padding:11px 15px;text-align:right;border-bottom:1px solid var(--linha)}
td:first-child{text-align:left}
tr:last-child td{border-bottom:none}
tbody tr:hover{background:var(--card2)}
.bom{color:var(--bom);font-weight:700}
.ruim{color:var(--ruim);font-weight:700}

.link-produto{color:inherit;text-decoration:none;border-bottom:1px solid transparent;
  transition:.15s}
.link-produto:hover{color:var(--acento-claro);border-bottom-color:var(--acento-claro)}
.link-produto::after{content:"\2197";font-size:11px;margin-left:6px;opacity:.45}

.vazio{color:var(--fraco);font-size:13px;background:var(--card);
  border:1px solid var(--linha);border-radius:var(--raio);padding:18px 20px}
.nota{color:var(--fraco);font-size:12px;margin-top:40px;line-height:1.7;
  border-top:1px solid var(--linha);padding-top:18px}
.nota b{color:var(--txt);font-weight:600}
.carregando{color:var(--fraco);font-size:14px;padding:48px 0;text-align:center}

/* ---------- entrada ---------- */
.entrada{max-width:400px;margin:10vh auto;padding:0 16px}
.entrada .topo-marca{text-align:center;margin-bottom:26px}
.entrada .topo-marca img{height:34px;width:auto}
.entrada .caixa{background:var(--card);border:1px solid var(--linha);
  border-radius:16px;padding:30px 28px}
.entrada h2{font-size:20px;margin:0 0 8px;font-weight:700}
.entrada p{color:var(--fraco);font-size:13px;margin:0 0 20px;line-height:1.55}
.entrada label{display:block;font-size:11px;color:var(--fraco);margin-bottom:7px;
  letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.entrada input{width:100%;padding:12px 13px;font-size:15px;border-radius:9px;
  border:1px solid var(--linha);background:var(--bg);color:var(--txt);
  font-family:inherit;margin-bottom:16px}
.entrada input:focus{outline:none;border-color:var(--acento)}
.entrada button{width:100%;padding:12px;border:none;border-radius:9px;
  background:var(--acento);color:#fff;font-size:14px;font-weight:700;
  font-family:inherit;cursor:pointer;transition:.15s}
.entrada button:hover{background:var(--acento-claro)}
.entrada button:disabled{opacity:.55;cursor:default}
.entrada .aviso{font-size:13px;margin-top:14px;min-height:18px;line-height:1.5}
.entrada .aviso.erro{color:var(--ruim)}
.entrada .aviso.certo{color:var(--bom)}
.entrada .voltar{background:none;color:var(--fraco);font-weight:500;
  margin-top:12px;font-size:12px;text-decoration:underline}
.entrada .voltar:hover{background:none;color:var(--txt)}
.rodape-marca{text-align:center;color:var(--fraco);font-size:11px;margin-top:22px;
  letter-spacing:.04em}

@media (max-width:900px){
  .tiles.grandes{grid-template-columns:repeat(2,1fr)}
  .tiles.grandes .tile .v{font-size:30px}
}
@media (max-width:620px){
  .pagina{padding:20px 14px 52px}
  h1{font-size:22px}
  .rotulo{font-size:17px}
  .tiles{grid-template-columns:1fr}
  .tiles.grandes{grid-template-columns:1fr}
  .tiles.grandes .tile{padding:20px}
  .tiles.grandes .tile .v{font-size:28px}
  .marca img{height:24px}
  .cabecalho .direita{width:100%;margin-left:0;justify-content:flex-start}
  .datas input{width:100%}
  .datas > div{flex:1 1 140px}
}
