:root{--bg:var(--tg-theme-bg-color,#fff);--bg-secondary:var(--tg-theme-secondary-bg-color,#f2f2f7);--text:var(--tg-theme-text-color,#000);--hint:var(--tg-theme-hint-color,#8e8e93);--link:var(--tg-theme-link-color,#2481cc);--accent:var(--tg-theme-button-color,#2481cc);--accent-text:var(--tg-theme-button-text-color,#fff);--section:var(--tg-theme-section-bg-color,var(--tg-theme-bg-color,#fff));--separator:color-mix(in srgb, var(--hint) 25%, transparent);--ok:#34c759;--off:#ff3b30;--soon:#ff9500;--radius:14px;--pad:16px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg-secondary);color:var(--text);overscroll-behavior-y:none;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4}#root{min-height:100vh;flex-direction:column;min-height:100dvh;display:flex}.screen{padding:var(--pad);padding-bottom:calc(var(--pad) + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:14px;display:flex}.title{margin:4px 0 0;font-size:22px;font-weight:700}.subtitle{color:var(--hint);margin:0;font-size:14px}.card{background:var(--section);border-radius:var(--radius);flex-direction:column;gap:8px;padding:14px;display:flex}.card--status{border-left:4px solid var(--ok)}.card--status.is-off{border-left-color:var(--off)}.card--status.is-soon{border-left-color:var(--soon)}.card__head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.card__label{font-size:17px;font-weight:600}.card__addr{color:var(--hint);font-size:14px}.status{align-items:center;gap:7px;font-size:15px;font-weight:600;display:flex}.status--ok{color:var(--ok)}.status--off{color:var(--off)}.status--soon{color:var(--soon)}.dot{background:currentColor;border-radius:50%;flex:none;width:9px;height:9px}.meta{color:var(--hint);font-size:14px}.reason{color:var(--hint);border-top:1px solid var(--separator);padding-top:8px;font-size:13px;font-style:italic}button{font:inherit;cursor:pointer;border:none}.btn{background:var(--accent);color:var(--accent-text);border-radius:var(--radius);width:100%;padding:14px;font-size:16px;font-weight:600;transition:opacity .15s}.btn:active{opacity:.7}.btn:disabled{opacity:.4;cursor:default}.btn--ghost{background:var(--section);color:var(--link)}.btn--danger{color:var(--off);background:0 0;align-self:flex-start;width:auto;padding:8px 0;font-size:14px;font-weight:500}.input{border-radius:var(--radius);background:var(--section);width:100%;color:var(--text);font:inherit;border:none;outline:none;padding:13px 14px}.input::placeholder{color:var(--hint)}.list{background:var(--section);border-radius:var(--radius);-webkit-overflow-scrolling:touch;max-height:55vh;overflow:hidden auto}.list__item{border-bottom:1px solid var(--separator);color:var(--text);text-align:left;background:0 0;width:100%;padding:13px 14px;display:block}.list__item:last-child{border-bottom:none}.list__item:active{background:var(--bg-secondary)}.empty{text-align:center;color:var(--hint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:40px 20px;display:flex}.empty__icon{font-size:48px}.row{border-bottom:1px solid var(--separator);justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.row:last-child{border-bottom:none}.seg{gap:6px;display:flex}.seg__btn{background:var(--bg-secondary);color:var(--text);border-radius:9px;flex:1;padding:9px 0;font-size:14px;font-weight:500}.seg__btn.is-active{background:var(--accent);color:var(--accent-text)}.switch{background:var(--separator);border-radius:16px;flex:none;width:51px;height:31px;transition:background .2s;position:relative}.switch.is-on{background:var(--ok)}.switch:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.switch.is-on:after{transform:translate(20px)}.spinner{border:2px solid var(--separator);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;margin:30px auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error{white-space:pre-line;background:color-mix(in srgb, var(--off) 12%, transparent);color:var(--off);border-radius:var(--radius);padding:12px 14px;font-size:14px}.footer{flex-direction:column;gap:8px;margin-top:auto;padding-top:8px;display:flex}
