.spatial-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.spatial-card--light{background:#fff}.spatial-card-head{flex-shrink:0;justify-content:space-between;align-items:baseline;gap:8px;padding:12px 16px 8px;display:flex}.spatial-card-title{letter-spacing:.04em;text-transform:uppercase;color:#0f172a;margin:0;font-size:.8125rem;font-weight:700}.spatial-card-meta{color:#64748b;white-space:nowrap;font-size:.6875rem;font-weight:600}.spatial-card-body{flex-direction:column;flex:1;min-height:0;padding:0 16px 12px;display:flex}.spatial-card-body--chart-only{padding:0 8px 8px}.spatial-svg-wrap--fill{background:0 0;flex:1;min-height:0}.spatial-card--heatmap .spatial-card-body--chart-only{gap:6px;padding:4px 8px 8px}.ba-heatmap-wrap{flex:1;align-items:stretch;min-height:0;display:flex;overflow:auto}.ba-heatmap{border-collapse:separate;border-spacing:3px;table-layout:fixed;width:100%;font-size:.6875rem}.ba-heatmap-corner{background:0 0;border:none;width:22%}.ba-heatmap-col-head,.ba-heatmap-row-head{letter-spacing:.03em;text-transform:uppercase;color:#64748b;text-align:center;vertical-align:middle;background:0 0;border:none;padding:4px 2px;font-size:.5625rem;font-weight:700}.ba-heatmap-row-head{text-align:right;white-space:nowrap;padding-right:6px}.ba-heatmap-cell{text-align:center;vertical-align:middle;cursor:default;border:1px solid #94a3b840;border-radius:6px;min-height:42px;padding:6px 2px;transition:box-shadow .12s}.ba-heatmap-cell:hover{box-shadow:inset 0 0 0 2px #2563eb73}.ba-heatmap-count{font-size:.8125rem;font-weight:800;line-height:1.1;display:block}.ba-heatmap-pct{opacity:.92;margin-top:2px;font-size:.5625rem;font-weight:700;display:block}.ba-heatmap-empty{opacity:.45;font-size:.75rem;font-weight:600}.ba-heatmap-hover,.ba-heatmap-hint{color:#64748b;text-align:center;flex-shrink:0;min-height:1.25rem;padding:2px 4px 0;font-size:.625rem;font-weight:600}.ba-heatmap-hover{color:#334155;flex-direction:column;gap:2px;display:flex}.ba-beehive-legend{color:#334155;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;padding:6px 8px 4px;font-size:10px;font-weight:800;display:flex}.ba-beehive-legend-item{align-items:center;gap:4px;display:inline-flex}.ba-beehive-legend-swatch{border-radius:999px;flex-shrink:0;width:11px;height:11px}.spatial-card--batter-arrival .spatial-svg-wrap{min-height:220px}.ba-arrival-tooltip{min-width:140px;font-size:11px;line-height:1.45}.ba-arrival-tooltip b{margin-right:4px;font-weight:800}.ba-heatmap-hover strong{color:#0f172a;font-size:.6875rem}.spatial-svg-wrap{background:#f8fafc;border-radius:8px;flex:1;min-height:0;overflow:hidden}.spatial-svg-wrap svg{width:100%;height:100%;display:block}.spatial-kpi-row{flex-shrink:0;gap:12px;margin-top:8px;display:flex}.spatial-kpi{color:#94a3b8;font-size:.6875rem;font-weight:600}.spatial-kpi b{color:#e2e8f0;margin-right:3px;font-weight:800}.spatial-card--light .spatial-kpi b{color:#0f172a}.spatial-tooltip{z-index:50;pointer-events:none;color:#f1f5f9;background:#0f172af0;border:1px solid #94a3b840;border-radius:6px;padding:6px 10px;font-size:.6875rem;line-height:1.45;position:fixed;box-shadow:0 4px 16px #00000059}.spatial-zone-grid{flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.spatial-zone-chip{color:#cbd5e1;background:#ffffff08;border-radius:6px;justify-content:space-between;align-items:center;padding:4px 8px;font-size:.625rem;font-weight:600;display:flex}.spatial-zone-chip span:last-child{color:#e2e8f0;font-weight:800}.spatial-scoring-list{flex-direction:column;flex-shrink:0;gap:4px;max-height:88px;margin:8px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.spatial-scoring-list li{color:#94a3b8;border-bottom:1px solid #94a3b81f;justify-content:space-between;gap:8px;padding:3px 0;font-size:.6875rem;font-weight:600;display:flex}.spatial-scoring-list li span:first-child{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.spatial-scoring-list li span:last-child{color:#e2e8f0;white-space:nowrap;font-weight:800}
