:root{
  --bg:#0b1220; --bg2:#121c2f; --card:#16223a; --linha:#233150;
  --txt:#e8eefc; --txt2:#93a4c4; --verde:#35d07f; --verm:#ff5c6c;
  --azul:#5b9cff; --amarelo:#ffc046; --cinza:#7d8ba6;
}
@media (prefers-color-scheme: light){
  :root{
    --bg:#f4f6fb; --bg2:#ffffff; --card:#ffffff; --linha:#dde3ee;
    --txt:#111a2e; --txt2:#5a6b8a; --verde:#0f9d58; --verm:#d93025;
    --azul:#1a63d8; --amarelo:#b8860b; --cinza:#7d8ba6;
  }
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{
  margin:0;background:var(--bg);color:var(--txt);
  font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}
.oculto{display:none !important}

/* ------------------------------------------------------------------ login */
#login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.cartao-login{background:var(--card);border:1px solid var(--linha);border-radius:16px;padding:28px 22px;width:100%;max-width:360px}
.cartao-login h1{margin:0 0 4px;font-size:22px}
.sub{margin:0 0 18px;color:var(--txt2);font-size:13px}
input[type=password]{
  width:100%;padding:13px 14px;border-radius:10px;border:1px solid var(--linha);
  background:var(--bg2);color:var(--txt);font-size:16px;margin-bottom:10px
}
button{
  width:100%;padding:13px;border:0;border-radius:10px;background:var(--azul);
  color:#fff;font-size:16px;font-weight:600;cursor:pointer
}
button:disabled{opacity:.6}
button.ghost{width:auto;background:transparent;color:var(--txt2);border:1px solid var(--linha);padding:7px 12px;font-size:13px;font-weight:500}
.erro{color:var(--verm);font-size:13px;min-height:18px;margin:8px 0 0}

/* -------------------------------------------------------------------- app */
header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 16px 10px;gap:12px}
header h1{margin:0;font-size:19px}
.aviso-topo{
  margin:0 16px 12px;padding:9px 12px;border-radius:9px;font-size:12px;line-height:1.4;
  background:color-mix(in srgb,var(--amarelo) 16%,transparent);
  border:1px solid color-mix(in srgb,var(--amarelo) 40%,transparent);color:var(--txt)
}
.abas{display:flex;gap:6px;padding:0 16px 12px;overflow-x:auto;scrollbar-width:none}
.abas::-webkit-scrollbar{display:none}
.aba{
  width:auto;flex:0 0 auto;background:var(--card);color:var(--txt2);border:1px solid var(--linha);
  padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600
}
.aba.ativa{background:var(--azul);color:#fff;border-color:var(--azul)}
.painel{padding:0 16px 28px}
.titulo-secao{font-size:15px;margin:6px 0 12px}

.destaque{background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:3px;margin-bottom:14px}
.rotulo{font-size:12px;color:var(--txt2);text-transform:uppercase;letter-spacing:.5px}
.rotulo-min{font-size:11px;color:var(--txt2);margin-top:6px}
.valor{font-size:34px;font-weight:700;letter-spacing:-.5px}
.delta{font-size:15px;font-weight:600}
.pos{color:var(--verde)} .neg{color:var(--verm)} .neutro{color:var(--txt2)}

.grade-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.card{background:var(--card);border:1px solid var(--linha);border-radius:12px;padding:13px}
.card .t{font-size:11px;color:var(--txt2);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px}
.card .v{font-size:19px;font-weight:700}
.card .n{font-size:11px;color:var(--txt2);margin-top:3px}

.caixa-grafico{background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:15px;margin-bottom:14px}
.caixa-grafico h2{font-size:14px;margin:0 0 12px;color:var(--txt2);font-weight:600}
.grafico{width:100%;overflow:hidden}
.grafico svg{display:block;width:100%;height:auto}
.nota{font-size:11.5px;color:var(--txt2);margin:10px 0 0;line-height:1.5}
.legenda{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:12px;color:var(--txt2)}
.legenda span{display:flex;align-items:center;gap:5px}
.legenda i{width:12px;height:3px;border-radius:2px;display:inline-block}

.posicao{background:var(--card);border:1px solid var(--linha);border-radius:12px;padding:13px 15px;margin-bottom:9px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.posicao .tk{font-size:16px;font-weight:700}
.posicao .info{font-size:11.5px;color:var(--txt2);margin-top:2px}
.posicao .ret{font-size:17px;font-weight:700;text-align:right}
.vazio{color:var(--txt2);font-size:13px;padding:16px;text-align:center;background:var(--card);border:1px solid var(--linha);border-radius:12px}

.alerta{background:color-mix(in srgb,var(--verm) 12%,transparent);border:1px solid color-mix(in srgb,var(--verm) 35%,transparent);border-radius:11px;padding:12px 14px;margin-bottom:9px;font-size:13px;line-height:1.5}

table{width:100%;border-collapse:collapse;font-size:12.5px}
th,td{padding:8px 6px;text-align:right;border-bottom:1px solid var(--linha)}
th:first-child,td:first-child{text-align:left}
th{color:var(--txt2);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px}
.rolagem{overflow-x:auto}

footer{padding:14px 16px 30px;font-size:11px;color:var(--txt2);text-align:center;line-height:1.6}
