.chart-time { position: absolute; left: 8px; right: 8px; bottom: -9px; display: flex; justify-content: space-between; color: #78d9ff; font-size: 14px; }
.chart-line { left: 8px; right: 8px; }
.sparkline { left: 8px; width: calc(100% - 16px); }
.thermal-card { position: relative; }
.audio-switch { position: absolute; z-index: 3; top: 12px; right: 13px; display: flex; align-items: center; gap: 5px; color: #b9c5cc; font-size: 9px; cursor: pointer; }
.audio-switch input { display: none; }
.audio-switch span { width: 27px; height: 15px; padding: 2px; border-radius: 12px; background: #53616a; }
.audio-switch span:after { content: ''; display: block; width: 11px; height: 11px; border-radius: 50%; background: white; transition: transform .15s; }
.audio-switch input:checked + span { background: #31c653; }
.audio-switch input:checked + span:after { transform: translateX(12px); }
.alarm-actions { display: grid; justify-items: center; gap: 7px; }
.status.warning { background: #ff9b18; box-shadow: 0 0 15px #ff9b1866; }
.snooze { border: 1px solid #ffffff44; border-radius: 4px; padding: 5px 7px; background: #08131dcc; color: white; font-size: 8px; cursor: pointer; }
.thermal-card.prealarm { animation: prealarm-pulse 1.2s ease-in-out infinite alternate; }
.thermal-card.alarm { animation: alarm-flash .55s steps(2,end) infinite; }
@keyframes prealarm-pulse { to { box-shadow: 0 0 30px #ff9b1877, inset 0 0 25px #ff9b1822; } }
@keyframes alarm-flash { 50% { border-color: #fff; box-shadow: 0 0 42px #ff2020, inset 0 0 45px #ff202055; } }
.alarm-overlay { position: fixed; z-index: 10000; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(80, 0, 0, .82); backdrop-filter: blur(7px); animation: overlay-alarm-pulse .7s ease-in-out infinite alternate; }
.alarm-overlay-content { width: min(720px, 94vw); padding: clamp(28px, 5vw, 60px); border: 3px solid #ff3030; border-radius: 18px; background: rgba(12, 4, 7, .82); box-shadow: 0 0 70px #ff202088; text-align: center; }
.alarm-overlay-title { color: #ff3030; font-size: clamp(72px, 13vw, 160px); font-weight: 1000; line-height: .9; letter-spacing: 8px; text-shadow: 0 0 28px #ff202099; }
.alarm-overlay-zone { margin-top: 25px; color: #fff; font-size: clamp(30px, 5vw, 64px); font-weight: 800; }
.alarm-overlay-label { margin-top: 28px; color: #ffb6b6; font-size: clamp(12px, 1.5vw, 18px); letter-spacing: 2px; }
.alarm-overlay-temperature { margin: 4px 0 30px; font-size: clamp(58px, 9vw, 110px); font-weight: 900; }
.alarm-overlay-temperature span { margin-left: 8px; font-size: .42em; }
.alarm-overlay button { min-width: 240px; padding: 17px 25px; border: 2px solid #fff; border-radius: 7px; background: #fff; color: #750000; font-size: 16px; font-weight: 900; cursor: pointer; }
.alarm-overlay-buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.alarm-overlay button.overlay-snooze{background:transparent;color:#fff}
.alarm-overlay button.remote-selected,.alarm-overlay button:focus{outline:6px solid #35d9ff;outline-offset:5px;box-shadow:0 0 28px #35d9ff,0 0 55px #fff8;transform:scale(1.04)}
@keyframes overlay-alarm-pulse { to { background: rgba(125, 0, 0, .9); } }
