/* ---------- charts / misc (reports, ads, goals) ---------- */
.chart { display:flex; align-items:flex-end; gap:10px; height:150px; margin-top:12px; }
.chart .col { flex:1; display:flex; flex-direction:column; align-items:center; gap:6px; height:100%; justify-content:flex-end; }
.chart .pair { display:flex; align-items:flex-end; gap:3px; height:120px; width:100%; justify-content:center; }
.chart .b { width:42%; max-width:22px; border-radius:6px 6px 0 0; min-height:2px; transition:height .5s ease-out; }
.chart .b.in, .chart .b.inc { background: hsl(var(--success)); }
.chart .b.out { background: hsl(var(--destructive)); }
.chart .b.ad { background: var(--gradient-yellow); }
.chart .lbl { font-size:.68rem; color:hsl(var(--muted-foreground)); }
.legend { display:flex; gap:14px; font-size:.78rem; margin-top:8px; color:hsl(var(--muted-foreground)); }
.dot { display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:5px; vertical-align:middle; }
.chips { display:flex; gap:6px; flex-wrap:wrap; }
.chip { padding:7px 14px; border-radius:999px; font-size:.8rem; font-weight:700; border:1.5px solid hsl(var(--border)); }
.chip.on { background: var(--gradient-yellow); border-color:transparent; color:hsl(var(--secondary-foreground)); }
.light { display:inline-block; width:12px; height:12px; border-radius:50%; margin-right:6px; vertical-align:middle; }
.light.ok { background:hsl(var(--success)); } .light.late { background:#e8a400; }
.light.down { background:hsl(var(--destructive)); } .light.none { background:hsl(var(--muted-foreground)); }
.monthnav { display:flex; gap:8px; align-items:center; margin-bottom:12px; flex-wrap:wrap; }
.monthnav input { max-width:170px; }
.sb-switch { padding:10px 6px; border-top:1px solid hsl(0 0% 100% / .08); margin-top:10px; }
.sb-switch .chip { color:#fff; border-color:hsl(0 0% 100% / .2); font-size:.72rem; padding:5px 10px; }
.sb-switch .chip.on { color:hsl(var(--secondary-foreground)); }
.sb-switch .cap { font-size:.68rem; color:hsl(0 0% 100% / .5); margin:6px 0 5px; text-transform:uppercase; letter-spacing:.05em; }
.topswitch { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; padding:10px 16px 0; max-width:760px; margin:0 auto; }
@media (min-width: 900px) { .topswitch { display:none; } }
@media print {
  .sidebar, .nav, .no-print, .hero-actions, .topswitch { display:none !important; }
  main.with-sidebar { margin-left:0 !important; }
  body { background:#fff; color:#000; padding:0; }
  .hero { background:#fff !important; color:#000 !important; padding:0 0 8px; }
  .hero h1, .hero p, .hero-eyebrow { color:#000 !important; }
  .wrap { margin:0; max-width:none; }
  .card { box-shadow:none; border:1px solid #ccc; break-inside:avoid; animation:none; }
}
