.weather-sensor-group { grid-column:1 / -1; width:100%; min-width:0; border:1px solid var(--border); border-radius:8px; background:var(--panel, #fff); overflow:hidden; }
.weather-sensor-group[data-selected="true"] { border-color:color-mix(in srgb,var(--sensor-group-color) 35%,var(--border)); }
.weather-sensor-group > summary { display:flex; align-items:center; gap:7px; min-height:34px; padding:6px 9px; color:var(--ink, #243648); font:inherit; font-size:.82rem; font-weight:500; cursor:pointer; list-style:none; user-select:none; -webkit-tap-highlight-color:transparent; }
.weather-sensor-group > summary::-webkit-details-marker { display:none; }
.weather-sensor-group > summary::after { content:''; width:6px; height:6px; margin:0 2px 2px 3px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); flex-shrink:0; color:var(--muted); transition:transform .15s; }
.weather-sensor-group[open] > summary::after { transform:rotate(225deg); margin-top:4px; }
.weather-sensor-group[open] > summary { background:color-mix(in srgb,var(--sensor-group-color) 6%,transparent); }
.weather-sensor-group > summary:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; border-radius:8px; }
.weather-sensor-group-icon { width:17px; height:17px; flex:0 0 17px; stroke:var(--sensor-group-color); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.weather-sensor-group-title { min-width:0; }
.weather-sensor-count { margin-left:auto; padding:1px 6px; border-radius:5px; background:color-mix(in srgb,var(--muted) 8%,transparent); color:var(--muted); font-size:11px; font-weight:500; font-variant-numeric:tabular-nums; white-space:nowrap; }
.weather-sensor-group[data-selected="true"] .weather-sensor-count { color:var(--sensor-group-color); background:color-mix(in srgb,var(--sensor-group-color) 10%,transparent); }
.weather-sensor-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:6px; padding:6px 7px 8px; border-top:1px solid var(--border); }
.weather-sensor-options > * { min-width:0; }
.weather-sensor-groups { max-height:none !important; overflow:visible !important; }
body.dark-mode .weather-sensor-group { background:#172333; --sensor-group-color: #8ab9e0 !important; }
@media(hover:hover) { .weather-sensor-group > summary:hover { background:color-mix(in srgb,var(--sensor-group-color) 9%,transparent); } }
@media(max-width:600px) { .weather-sensor-options { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:360px) { .weather-sensor-options { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .weather-sensor-group > summary::after { transition:none; } }

.weather-sensor-options[data-stacked="true"] { grid-template-columns:minmax(0,1fr); }
.weather-sensor-options[data-stacked="true"] .metric-label,
#chipBar .weather-sensor-options[data-stacked="true"] .sensor-label { white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; }
