.analytics-filter-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:14px;align-items:end;margin-bottom:22px;padding:18px}.analytics-filter-actions{display:flex;gap:10px}.analytics-filter-actions .button{white-space:nowrap}.heatmap-panel{margin-top:22px}.catch-map{height:520px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface-2)}.catch-map .leaflet-control-attribution{font-size:10px}.catch-map .leaflet-popup-content-wrapper,.catch-map .leaflet-popup-tip{background:var(--surface);color:var(--text)}.catch-map .leaflet-popup-content{font-family:Inter,sans-serif;line-height:1.45}.analytics-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}.hour-chart{display:grid;grid-template-columns:repeat(24,1fr);gap:5px;align-items:end;height:220px}.hour-column{display:grid;grid-template-rows:1fr 18px;gap:5px;height:100%;text-align:center}.hour-column>span{align-self:end;display:block;min-height:3px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--blue),#126fae);box-shadow:0 0 12px rgba(40,169,255,.2)}.hour-column small{color:var(--muted);font-size:9px}.species-analytics-list{display:grid;gap:10px}.species-analytics-list>div{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(127,145,165,.04)}.species-badge{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(40,169,255,.12);color:var(--blue);font-weight:800}.species-analytics-list strong,.species-analytics-list small{display:block}.species-analytics-list small{margin-top:3px;color:var(--muted);font-size:10px}.species-analytics-list b{font:800 22px Manrope}@media(max-width:1100px){.analytics-filter-bar{grid-template-columns:1fr 1fr}.analytics-filter-actions{grid-column:1/-1}.analytics-layout{grid-template-columns:1fr}.catch-map{height:440px}}@media(max-width:650px){.analytics-filter-bar{grid-template-columns:1fr}.analytics-filter-actions{grid-column:auto;flex-direction:column-reverse}.catch-map{height:360px}.hour-chart{gap:2px}.hour-column small{font-size:8px}}
