.signal-bars{vertical-align:middle;align-items:flex-end;gap:2px;height:14px;display:inline-flex}.signal-bars__bar{background:color-mix(in srgb, var(--hc-text-secondary,#8a8a8a) 35%, transparent);border-radius:1px;width:3px;display:block}.signal-bars__bar--1{height:4px}.signal-bars__bar--2{height:7px}.signal-bars__bar--3{height:10px}.signal-bars__bar--4{height:13px}.signal-bars__bar--filled{background:var(--hc-accent,#3d8bfd)}.device-telemetry{color:var(--hc-text-secondary,#8a8a8a);align-items:center;gap:10px;margin-top:4px;font-size:11px;line-height:1.2;display:flex}.device-telemetry__battery{align-items:center;gap:4px;display:inline-flex}.device-telemetry__battery-icon{flex-shrink:0}.device-telemetry__mains{color:var(--hc-accent,#3d8bfd);align-items:center;display:inline-flex}.device-telemetry__mains-icon{flex-shrink:0}.device-telemetry__battery--ok{color:var(--hc-accent,#3d8bfd)}.device-telemetry__battery--low{color:#d48806}.device-telemetry__battery--critical{color:var(--hc-alarm,#cf1322)}.device-telemetry .signal-bars__bar--filled{background:currentColor}.device-telemetry .signal-bars{color:var(--hc-accent,#3d8bfd)}.device-telemetry--stale .device-telemetry__battery--ok,.device-telemetry--stale .device-telemetry__mains,.device-telemetry--stale .signal-bars{color:#d9972f}.placement-history-link{width:22px;height:22px;color:var(--hc-text-secondary);border-radius:4px;justify-content:center;align-items:center;line-height:1;display:inline-flex}.placement-history-link:hover,.placement-history-link:focus-visible{color:var(--hc-accent);background:var(--hc-card-bg-elevated)}.env-card__spark-link{height:100%;color:inherit;display:block}.sensor-card{background:var(--hc-card-bg);border:1px solid var(--hc-border);border-radius:var(--hc-radius);flex-direction:column;gap:10px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;overflow:hidden}.sensor-card:hover,.sensor-card:focus-within{transform:translateY(-1px);box-shadow:0 4px 14px #0000002e}.sensor-card--alarm,.sensor-card--unbound{border-color:rgba(var(--hc-alarm-rgb), .45)}.sensor-card--plan-highlight,.env-card--plan-highlight{box-shadow:0 0 0 2px var(--hc-accent), 0 4px 14px #0000002e}.sensor-card--command-ok{border-color:var(--hc-accent);box-shadow:0 0 0 1px var(--hc-accent)}.sensor-card__unsaved{margin-top:2px;font-size:11px;display:block}.sensor-card__command-error{font-size:11px}.sensor-card__head{align-items:center;gap:12px;min-width:0;display:flex}.sensor-card__shape{background:var(--hc-card-bg-elevated);border:1px solid var(--hc-border);width:44px;height:44px;color:var(--hc-text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;transition:color .3s,box-shadow .3s;display:flex}.sensor-card__shape--active{color:var(--hc-accent)}.sensor-card__shape--pulse{animation:1.5s ease-in-out 3 hc-soft-pulse-custom}.sensor-card__shape--alarm{color:var(--hc-alarm);animation:2s ease-in-out infinite hc-soft-pulse-alarm}.sensor-card__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sensor-card__control{flex-shrink:0;align-items:center;margin-left:auto;display:flex}.sensor-card__name{color:var(--hc-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.sensor-card__value{color:var(--hc-text);font-size:20px;font-weight:650;line-height:1.2}.sensor-card__value--alarm{color:var(--hc-alarm)}.sensor-card__foot{border-top:1px solid var(--hc-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding-top:8px;display:flex}.sensor-card__meta{align-items:center;gap:8px;min-width:0;font-size:11px;display:flex}.sensor-card__status{color:var(--hc-text-secondary);flex-shrink:0;align-items:center;gap:5px;font-size:11px;line-height:1;display:inline-flex}.sensor-card__status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.sensor-card__status--fresh{color:var(--hc-accent)}.sensor-card__status--stale{color:#d9972f}.sensor-card__status--unbound{color:var(--hc-alarm)}.sensor-card__time{color:var(--hc-text-secondary);white-space:nowrap;font-size:11px}.sensor-card__time:before{content:"·";color:var(--hc-text-secondary);margin-right:8px}.sensor-card__meta .device-telemetry{margin-top:0}.sensor-card__actions{align-items:center;gap:2px;margin-left:auto;display:flex}.sensor-card__actions .ant-btn{justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 4px;font-size:12px;display:inline-flex}.sensor-card__actions .ant-btn.ant-btn-icon-only,.sensor-card__actions .placement-history-link{width:24px;padding:0;font-size:14px}.sensor-card__controls{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.sensor-card__controls .ant-switch,.sensor-card__control .ant-switch{flex-shrink:0;width:64px;min-width:64px}.sensor-card__controls .ant-slider{align-self:stretch;width:100%;margin:4px 0 0}@keyframes hc-soft-pulse-custom{0%,to{box-shadow:0 0 0 0 rgba(var(--hc-pulse-rgb,var(--hc-accent-rgb)), 0)}50%{box-shadow:0 0 10px 2px rgba(var(--hc-pulse-rgb,var(--hc-accent-rgb)), .35)}}@keyframes hc-soft-pulse-accent{0%,to{box-shadow:0 0 0 0 rgba(var(--hc-accent-rgb), 0)}50%{box-shadow:0 0 10px 2px rgba(var(--hc-accent-rgb), .35)}}@keyframes hc-soft-pulse-alarm{0%,to{box-shadow:0 0 0 0 rgba(var(--hc-alarm-rgb), .1)}50%{box-shadow:0 0 12px 3px rgba(var(--hc-alarm-rgb), .45)}}@media (prefers-reduced-motion:reduce){.sensor-card,.sensor-card__shape{transition:none!important;animation:none!important;transform:none!important}.sensor-card--command-ok,.sensor-card--plan-highlight{transition:none!important}}@media (width<=520px){.sensor-card{padding:12px 13px}.sensor-card__shape{width:36px;height:36px;font-size:16px}}
