.sensor-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 1rem; }
.sensor-grid > *, .sensor-card, #sensor-form, #sensor-secret { min-width: 0; overflow-wrap: anywhere; }
.sensor-stat { display: flex; flex-direction: column; gap: .35rem; padding: 1rem; border: 1px solid var(--color-border); border-radius: .5rem; }
.sensor-stat strong { font-size: 1.5rem; }
.sensor-card { padding: 1rem; border: 1px solid var(--color-border); border-radius: .5rem; }
#sensor-form select, #sensor-form input { max-width: 100%; min-width: 0; }
#sensor-rules option { white-space: normal; overflow-wrap: anywhere; }
#sensor-secret pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.sensor-card .button, #sensor-form .button { white-space: normal; max-width: 100%; overflow-wrap: anywhere; }
#sensor-editor[hidden], #sensor-secret[hidden] { display: none; }
@media (max-width: 640px) { .sensor-card, .sensor-stat, #sensor-secret pre { padding: .7rem; } }
