.vz2-chart-card { min-height: 330px; display: grid; gap: 12px; }
.vz2-chart-stage { position: relative; min-height: 250px; }
.vz2-chart-stage canvas { width: 100% !important; max-height: 290px; }
.vz2-chart-toolbar { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; align-items: center; }
.vz2-chart-state { min-height: 230px; display: grid; place-items: center; text-align: center; border: 1px dashed var(--vz2-border-2); border-radius: var(--vz2-radius); color: var(--vz2-muted); background: rgba(255,255,255,.025); }
.vz2-heatmap { display: grid; grid-template-columns: repeat(12, minmax(18px, 1fr)); gap: 5px; }
.vz2-heatmap i { aspect-ratio: 1; border-radius: 5px; background: color-mix(in srgb, var(--vz2-accent) calc(var(--v, 0) * 1%), rgba(255,255,255,.07)); border: 1px solid rgba(255,255,255,.04); }
.vz2-calendar { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.vz2-calendar button { min-height: 46px; border: 1px solid var(--vz2-border-1); border-radius: 10px; background: rgba(255,255,255,.035); color: var(--vz2-txt); }
.vz2-calendar button[aria-current="date"] { border-color: var(--vz2-accent); background: color-mix(in srgb, var(--vz2-accent) 18%, transparent); }
.vz2-timeline { display: grid; gap: 12px; }
.vz2-timeline-item { display: grid; grid-template-columns: 28px 1fr; gap: 12px; }
.vz2-timeline-item::before { content: ""; width: 14px; height: 14px; margin-top: 5px; border-radius: 50%; background: var(--vz2-accent); box-shadow: 0 0 0 6px color-mix(in srgb, var(--vz2-accent) 14%, transparent); }
.vz2-map { min-height: 260px; border-radius: var(--vz2-radius); border: 1px solid var(--vz2-border-1); background: radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--vz2-accent) 22%, transparent), transparent 24%), linear-gradient(135deg, rgba(255,255,255,.035), transparent), #101827; position: relative; overflow: hidden; }
.vz2-map::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(96,165,250,.10) 1px, transparent 1px), linear-gradient(90deg, rgba(96,165,250,.10) 1px, transparent 1px); background-size: 38px 38px; opacity: .55; }
.vz2-map-pin { position: absolute; left: calc(var(--x) * 1%); top: calc(var(--y) * 1%); width: 14px; height: 14px; border-radius: 50%; background: var(--vz2-accent); box-shadow: 0 0 0 7px color-mix(in srgb, var(--vz2-accent) 18%, transparent); }
