[hidden]{display:none!important}@font-face{font-family:Nunito;src:url(/fonts/Nunito-Variable.woff2?v=1.14.0) format("woff2"),url(/fonts/Nunito-Variable.ttf?v=1.14.0) format("truetype");font-weight:200 1000;font-style:normal;font-display:swap}:root{--font-system: "Nunito", -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 8.5 12 16l7.5-7.5L18 7l-6 6-6-6-1.5 1.5Z'/%3E%3C/svg%3E")}:root{--text-11: 11px;--text-12: 12px;--text-13: 13px;--text-14: 14px;--text-15: 15px;--text-17: 17px;--text-20: 20px;--text-22: 22px;--text-28: 28px;--leading-tight: 1.2;--leading-normal: 1.38;--leading-body: 1.47;--tracking-tight: -.022em;--tracking-normal: -.01em;--tracking-wide: 0;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px}:root{--radius-2xs: 4px;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 16px;--radius-pill: 9999px}:root{--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 0 0 .5px rgba(0, 0, 0, .04);--shadow-md: 0 1px 3px rgba(0, 0, 0, .06), 0 0 0 .5px rgba(0, 0, 0, .05);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .08), 0 0 0 .5px rgba(0, 0, 0, .05);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .12), 0 0 0 .5px rgba(0, 0, 0, .08);--shadow-focus-ring: 0 0 0 3px rgba(41, 117, 115, .32);--shadow-focus-ring-danger: 0 0 0 3px rgba(255, 59, 48, .32)}:root{--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1);--ease-accelerate: cubic-bezier(.4, 0, 1, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-snappy: cubic-bezier(.4, .6, .3, 1);--dur-80: 80ms;--dur-120: .12s;--dur-200: .2s;--dur-250: .25s;--dur-400: .4s}:root{--system-blue: #007aff;--system-blue-dark: #0062cc;--system-red: #ef4444;--system-green: #16813e;--system-orange: #ff9500;--system-yellow: #ffcc00;--system-purple: #af52de;--system-teal: #5ac8fa;--system-pink: #ec4899;--system-indigo: #6366f1;--system-brown: #a1724e;--system-cyan: #06b6d4;--system-lime: #65a30d;--accent-white: #ffffff;--accent-lightgray: #c7c7cc;--accent-gray: #8e8e93;--accent-slate: #48484a;--accent-black: #1c1c1e;--system-gray-1: #8e8e93;--system-gray-2: #aeaeb2;--system-gray-3: #c7c7cc;--system-gray-4: #d1d1d6;--system-gray-5: #e5e5ea;--system-gray-6: #f2f2f7;--control-fill-primary: rgba(120, 120, 128, .08);--control-fill-secondary: rgba(120, 120, 128, .12);--separator: rgba(60, 60, 67, .12);--separator-opaque: rgba(60, 60, 67, .18)}:root{--brand: #0d847b;--brand-strong: #0b6f68;--brand-dark: #095d56;--brand-ink: #0b6f68;--brand-press: color-mix(in srgb, var(--brand) 82%, #000000);--brand-tint: rgba(13, 132, 123, .14);--brand-tint-strong: rgba(13, 132, 123, .26)}:root{--bg: #f5f5f7;--bg-elevated: #ffffff;--fg: #1c1c1e;--fg-secondary: rgba(60, 60, 67, .6);--card: #ffffff;--primary: var(--brand-ink);--primary-dark: var(--brand-dark);--muted: rgba(60, 60, 67, .72);--border: var(--separator);--border-opaque: var(--separator-opaque);--controlBorder: rgba(0, 0, 0, .18);--chipBg: var(--control-fill-primary);--chipBorder: rgba(0, 0, 0, .14);--btnSecondaryBg: var(--control-fill-primary);--btnSecondaryFg: var(--fg);--btnSecondaryBorder: transparent;--dangerBg: var(--system-red);--dangerFg: #ffffff;--dangerBorder: transparent;--successBg: var(--system-green, #16813e);--successFg: #ffffff;--successBorder: transparent;--badgeBg: #ffffff;--badgeFg: #000000;--badgeRing: var(--successBg, #16813e);--chatUnreadInk: var(--system-green, #16813e);--warningBg: var(--system-orange);--warningFg: #ffffff;--space-card-gap: var(--space-3);--space-card-padding: var(--space-4);--space-card-padding-comfortable: var(--space-5);--space-card-padding-wide: var(--space-6);--radius-card: var(--radius-lg);--radius-card-lg: var(--radius-xl);--shadow-card: var(--shadow-sm)}@media(prefers-color-scheme:dark){:root{--bg: #000000;--bg-elevated: #1c1c1e;--fg: #f2f2f7;--fg-secondary: rgba(235, 235, 245, .6);--card: #1c1c1e;--brand-ink: #83d2cc;--brand-tint: rgba(13, 132, 123, .2);--brand-tint-strong: rgba(13, 132, 123, .32);--primary: var(--brand-ink);--primary-dark: var(--brand);--muted: rgba(235, 235, 245, .72);--system-gray-1: #8e8e93;--system-gray-2: #636366;--system-gray-3: #48484a;--system-gray-4: #3a3a3c;--system-gray-5: #2c2c2e;--system-gray-6: #1c1c1e;--system-red: #ef4444;--system-green: #16813e;--system-orange: #ff9f0a;--system-yellow: #ffd60a;--system-purple: #bf5af2;--system-teal: #64d2ff;--system-pink: #f472b6;--system-indigo: #818cf8;--system-brown: #bd8c63;--system-lime: #a3e635;--system-cyan: #22d3ee;--control-fill-primary: rgba(118, 118, 128, .24);--control-fill-secondary: rgba(118, 118, 128, .32);--separator: rgba(84, 84, 88, .65);--separator-opaque: rgba(84, 84, 88, .8);--border: var(--separator);--border-opaque: var(--separator-opaque);--controlBorder: rgba(255, 255, 255, .15);--chipBg: var(--control-fill-primary);--chipBorder: rgba(255, 255, 255, .12);--btnSecondaryBg: var(--control-fill-primary);--btnSecondaryFg: var(--fg);--btnSecondaryBorder: transparent;--dangerBg: var(--system-red);--successBg: var(--system-green, #16813e);--warningBg: var(--system-orange);--badgeBg: #ffffff;--badgeFg: #000000;--badgeRing: var(--successBg, #16813e);--chatUnreadInk: #30d158;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .28), 0 0 0 .5px rgba(255, 255, 255, .05);--shadow-md: 0 1px 3px rgba(0, 0, 0, .34), 0 0 0 .5px rgba(255, 255, 255, .06);--shadow-lg: 0 6px 18px rgba(0, 0, 0, .5), 0 0 0 .5px rgba(255, 255, 255, .06);--shadow-popover: 0 12px 32px rgba(0, 0, 0, .62), 0 0 0 .5px rgba(255, 255, 255, .08);--shadow-focus-ring: 0 0 0 3px rgba(131, 210, 204, .45);--shadow-focus-ring-danger: 0 0 0 3px rgba(239, 68, 68, .4);--shadow-card: var(--shadow-sm)}}html[data-theme=light]{--bg: #f5f5f7;--bg-elevated: #ffffff;--fg: #1c1c1e;--fg-secondary: rgba(60, 60, 67, .6);--card: #ffffff;--brand-ink: #0b6f68;--brand-tint: rgba(13, 132, 123, .14);--brand-tint-strong: rgba(13, 132, 123, .26);--primary: var(--brand-ink);--primary-dark: var(--brand-dark);--muted: rgba(60, 60, 67, .72);--system-red: #ef4444;--system-green: #16813e;--system-orange: #ff9500;--control-fill-primary: rgba(120, 120, 128, .08);--control-fill-secondary: rgba(120, 120, 128, .12);--separator: rgba(60, 60, 67, .12);--separator-opaque: rgba(60, 60, 67, .18);--border: var(--separator);--border-opaque: var(--separator-opaque);--controlBorder: rgba(0, 0, 0, .18);--chipBg: var(--control-fill-primary);--chipBorder: rgba(0, 0, 0, .14);--btnSecondaryBg: var(--control-fill-primary);--btnSecondaryFg: var(--fg);--btnSecondaryBorder: transparent;--dangerBg: var(--system-red);--successBg: var(--system-green, #16813e);--chatUnreadInk: var(--system-green, #16813e);--warningBg: var(--system-orange)}html[data-theme=dark]{--bg: #000000;--bg-elevated: #1c1c1e;--fg: #f2f2f7;--fg-secondary: rgba(235, 235, 245, .6);--card: #1c1c1e;--brand-ink: #83d2cc;--brand-tint: rgba(13, 132, 123, .2);--brand-tint-strong: rgba(13, 132, 123, .32);--primary: var(--brand-ink);--primary-dark: var(--brand);--muted: rgba(235, 235, 245, .72);--system-gray-1: #8e8e93;--system-gray-2: #636366;--system-gray-3: #48484a;--system-gray-4: #3a3a3c;--system-gray-5: #2c2c2e;--system-gray-6: #1c1c1e;--system-red: #ef4444;--system-green: #16813e;--system-pink: #f472b6;--system-indigo: #818cf8;--system-brown: #bd8c63;--system-cyan: #22d3ee;--system-orange: #ff9f0a;--control-fill-primary: rgba(118, 118, 128, .24);--control-fill-secondary: rgba(118, 118, 128, .32);--separator: rgba(84, 84, 88, .65);--separator-opaque: rgba(84, 84, 88, .8);--border: var(--separator);--border-opaque: var(--separator-opaque);--controlBorder: rgba(255, 255, 255, .15);--chipBg: var(--control-fill-primary);--chipBorder: rgba(255, 255, 255, .12);--btnSecondaryBg: var(--control-fill-primary);--btnSecondaryFg: var(--fg);--btnSecondaryBorder: transparent;--dangerBg: var(--system-red);--successBg: var(--system-green, #16813e);--chatUnreadInk: #30d158;--warningBg: var(--system-orange);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .28), 0 0 0 .5px rgba(255, 255, 255, .05);--shadow-md: 0 1px 3px rgba(0, 0, 0, .34), 0 0 0 .5px rgba(255, 255, 255, .06);--shadow-lg: 0 6px 18px rgba(0, 0, 0, .5), 0 0 0 .5px rgba(255, 255, 255, .06);--shadow-popover: 0 12px 32px rgba(0, 0, 0, .62), 0 0 0 .5px rgba(255, 255, 255, .08);--shadow-focus-ring: 0 0 0 3px rgba(131, 210, 204, .45);--shadow-focus-ring-danger: 0 0 0 3px rgba(239, 68, 68, .4);--shadow-card: var(--shadow-sm)}html,body{font-family:var(--font-system);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html{background-color:var(--card)}#topbar-mount{view-transition-name:sa-topbar}#topbar-mount:empty{display:block;background:var(--card);border-bottom:1px solid var(--separator, var(--border));height:calc(68px + env(safe-area-inset-top,0px));box-sizing:border-box;position:sticky;top:0;z-index:1000}@media(max-width:520px){#topbar-mount:empty{height:calc(60px + env(safe-area-inset-top,0px))}}button{font-family:inherit}input,select,textarea{background:transparent;color:var(--fg);border:1px solid var(--controlBorder);border-radius:var(--radius-md);font-family:inherit;transition:border-color var(--dur-120) var(--ease-standard),box-shadow var(--dur-120) var(--ease-standard),background-color var(--dur-120) var(--ease-standard)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus-ring)}textarea{width:100%;max-width:100%;resize:vertical;line-height:var(--leading-body)}.btn:focus-visible,button:focus-visible,a:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.btn-alarm:focus-visible{box-shadow:var(--shadow-focus-ring-danger)}.theme-chip{background:var(--chipBg);border:1px solid var(--chipBorder);color:var(--fg);border-radius:var(--radius-pill)}body .btn,body .topbar-btn,body .topbar-theme-chip,body .topbar-icon-btn,body .device-action-btn,body .custom-alarm-btn,body .info-preset-btn{box-shadow:none!important;border:1px solid transparent!important}body .btn:is(:hover,[data-sa-hover]),body .btn:focus-visible,body .topbar-btn:is(:hover,[data-sa-hover]),body .topbar-btn:focus-visible,body .topbar-theme-chip:is(:hover,[data-sa-hover]),body .topbar-theme-chip:focus-visible,body .topbar-icon-btn:is(:hover,[data-sa-hover]),body .topbar-icon-btn:focus-visible,body .device-action-btn:is(:hover,[data-sa-hover]),body .device-action-btn:focus-visible,body .custom-alarm-btn:is(:hover,[data-sa-hover]),body .custom-alarm-btn:focus-visible,body .info-preset-btn:is(:hover,[data-sa-hover]),body .info-preset-btn:focus-visible,body .sa-dialog-actions button:not(.sa-dialog-ok):is(:hover,[data-sa-hover]),body .sa-dialog-actions button:not(.sa-dialog-ok):focus-visible{filter:brightness(.92);outline:none}body .btn:active,body .topbar-btn:active,body .topbar-theme-chip:active,body .topbar-icon-btn:active,body .device-action-btn:active,body .custom-alarm-btn:active,body .info-preset-btn:active,body .sa-dialog-actions button:active{filter:brightness(.86)}html[data-theme=light] body .btn-secondary:is(:hover,[data-sa-hover]),html[data-theme=light] body .btn-secondary:focus-visible,html[data-theme=light] body .device-action-btn:is(:hover,[data-sa-hover]),html[data-theme=light] body .device-action-btn:focus-visible,html[data-theme=light] body .info-preset-btn:not(.selected):is(:hover,[data-sa-hover]),html[data-theme=light] body .info-preset-btn:not(.selected):focus-visible,html[data-theme=light] body .topbar-btn:is(:hover,[data-sa-hover]),html[data-theme=light] body .topbar-btn:focus-visible,html[data-theme=light] body .topbar-theme-chip:is(:hover,[data-sa-hover]),html[data-theme=light] body .topbar-theme-chip:focus-visible,html[data-theme=light] body .topbar-icon-btn:is(:hover,[data-sa-hover]),html[data-theme=light] body .topbar-icon-btn:focus-visible,html[data-theme=light] body .sa-dialog-actions button:not(.sa-dialog-ok):is(:hover,[data-sa-hover]),html[data-theme=light] body .sa-dialog-actions button:not(.sa-dialog-ok):focus-visible{background-color:#00000014}html[data-theme=dark] body .btn-secondary:is(:hover,[data-sa-hover]),html[data-theme=dark] body .btn-secondary:focus-visible,html[data-theme=dark] body .device-action-btn:is(:hover,[data-sa-hover]),html[data-theme=dark] body .device-action-btn:focus-visible,html[data-theme=dark] body .info-preset-btn:not(.selected):is(:hover,[data-sa-hover]),html[data-theme=dark] body .info-preset-btn:not(.selected):focus-visible,html[data-theme=dark] body .topbar-btn:is(:hover,[data-sa-hover]),html[data-theme=dark] body .topbar-btn:focus-visible,html[data-theme=dark] body .topbar-theme-chip:is(:hover,[data-sa-hover]),html[data-theme=dark] body .topbar-theme-chip:focus-visible,html[data-theme=dark] body .topbar-icon-btn:is(:hover,[data-sa-hover]),html[data-theme=dark] body .topbar-icon-btn:focus-visible,html[data-theme=dark] body .sa-dialog-actions button:not(.sa-dialog-ok):is(:hover,[data-sa-hover]),html[data-theme=dark] body .sa-dialog-actions button:not(.sa-dialog-ok):focus-visible{background-color:#ffffff14}@media(prefers-color-scheme:light){html:not([data-theme]) body .btn-secondary:is(:hover,[data-sa-hover]),html:not([data-theme]) body .btn-secondary:focus-visible,html:not([data-theme]) body .device-action-btn:is(:hover,[data-sa-hover]),html:not([data-theme]) body .device-action-btn:focus-visible,html:not([data-theme]) body .info-preset-btn:not(.selected):is(:hover,[data-sa-hover]),html:not([data-theme]) body .info-preset-btn:not(.selected):focus-visible,html:not([data-theme]) body .topbar-btn:is(:hover,[data-sa-hover]),html:not([data-theme]) body .topbar-btn:focus-visible,html:not([data-theme]) body .topbar-theme-chip:is(:hover,[data-sa-hover]),html:not([data-theme]) body .topbar-theme-chip:focus-visible,html:not([data-theme]) body .topbar-icon-btn:is(:hover,[data-sa-hover]),html:not([data-theme]) body .topbar-icon-btn:focus-visible,html:not([data-theme]) body .sa-dialog-actions button:not(.sa-dialog-ok):is(:hover,[data-sa-hover]),html:not([data-theme]) body .sa-dialog-actions button:not(.sa-dialog-ok):focus-visible{background-color:#00000014}}@media(prefers-color-scheme:dark){html:not([data-theme]) body .btn-secondary:is(:hover,[data-sa-hover]),html:not([data-theme]) body .btn-secondary:focus-visible,html:not([data-theme]) body .device-action-btn:is(:hover,[data-sa-hover]),html:not([data-theme]) body .device-action-btn:focus-visible,html:not([data-theme]) body .info-preset-btn:not(.selected):is(:hover,[data-sa-hover]),html:not([data-theme]) body .info-preset-btn:not(.selected):focus-visible,html:not([data-theme]) body .topbar-btn:is(:hover,[data-sa-hover]),html:not([data-theme]) body .topbar-btn:focus-visible,html:not([data-theme]) body .topbar-theme-chip:is(:hover,[data-sa-hover]),html:not([data-theme]) body .topbar-theme-chip:focus-visible,html:not([data-theme]) body .topbar-icon-btn:is(:hover,[data-sa-hover]),html:not([data-theme]) body .topbar-icon-btn:focus-visible,html:not([data-theme]) body .sa-dialog-actions button:not(.sa-dialog-ok):is(:hover,[data-sa-hover]),html:not([data-theme]) body .sa-dialog-actions button:not(.sa-dialog-ok):focus-visible{background-color:#ffffff14}}html[data-theme=light] body .topbar-btn-install:is(:hover,[data-sa-hover]),html[data-theme=light] body .topbar-btn-install:focus-visible,html[data-theme=dark] body .topbar-btn-install:is(:hover,[data-sa-hover]),html[data-theme=dark] body .topbar-btn-install:focus-visible,html:not([data-theme]) body .topbar-btn-install:is(:hover,[data-sa-hover]),html:not([data-theme]) body .topbar-btn-install:focus-visible{background-color:var(--brand, #0d847b)}html[data-theme=light] body .topbar-btn-geo:is(:hover,[data-sa-hover]),html[data-theme=light] body .topbar-btn-geo:focus-visible,html[data-theme=dark] body .topbar-btn-geo:is(:hover,[data-sa-hover]),html[data-theme=dark] body .topbar-btn-geo:focus-visible,html:not([data-theme]) body .topbar-btn-geo:is(:hover,[data-sa-hover]),html:not([data-theme]) body .topbar-btn-geo:focus-visible{background-color:var(--dangerBg, #ef4444)}html[data-theme=light] body .topbar-btn-chat.has-unread:is(:hover,[data-sa-hover]),html[data-theme=light] body .topbar-btn-chat.has-unread:focus-visible,html[data-theme=dark] body .topbar-btn-chat.has-unread:is(:hover,[data-sa-hover]),html[data-theme=dark] body .topbar-btn-chat.has-unread:focus-visible,html:not([data-theme]) body .topbar-btn-chat.has-unread:is(:hover,[data-sa-hover]),html:not([data-theme]) body .topbar-btn-chat.has-unread:focus-visible{background-color:var(--successBg, #16813e)}body .btn:focus-visible,body .topbar-btn:focus-visible,body .topbar-theme-chip:focus-visible,body .topbar-icon-btn:focus-visible,body .device-action-btn:focus-visible,body .custom-alarm-btn:focus-visible,body .info-preset-btn:focus-visible,body .sa-dialog-actions button:not(.sa-dialog-ok):focus-visible{box-shadow:var(--shadow-focus-ring)!important}body .btn.sa-action-sent{box-shadow:0 0 0 3px #3b82f633!important}body .btn.btn-alarm.sa-action-sent{box-shadow:0 0 0 3px color-mix(in srgb,var(--dangerBg) 45%,transparent)!important}body .btn.btn-clear.sa-action-sent{box-shadow:0 0 0 3px color-mix(in srgb,var(--successBg) 45%,transparent)!important}@media(prefers-reduced-motion:reduce){body .btn:hover,body .btn:focus-visible,body .topbar-btn:hover,body .topbar-btn:focus-visible,body .topbar-theme-chip:hover,body .topbar-theme-chip:focus-visible,body .topbar-icon-btn:hover,body .topbar-icon-btn:focus-visible,body .device-action-btn:hover,body .device-action-btn:focus-visible,body .custom-alarm-btn:hover,body .custom-alarm-btn:focus-visible,body .info-preset-btn:hover,body .info-preset-btn:focus-visible,body .sa-dialog-actions button:hover,body .sa-dialog-actions button:not(.sa-dialog-ok):focus-visible{transition:none}}body.sa-button-borders .btn,body.sa-button-borders .topbar-btn,body.sa-button-borders .topbar-theme-chip,body.sa-button-borders .topbar-icon-btn,body.sa-button-borders .device-action-btn,body.sa-button-borders .custom-alarm-btn,body.sa-button-borders .info-preset-btn{border:1px solid var(--separator-opaque, var(--separator, rgba(60,60,67,.29)))!important}body.sa-alarm-alarm .btn,body.sa-alarm-alarm .topbar-btn,body.sa-alarm-alarm .topbar-theme-chip,body.sa-alarm-alarm .topbar-icon-btn,body.sa-alarm-alarm .device-action-btn,body.sa-alarm-alarm .custom-alarm-btn,body.sa-alarm-alarm .info-preset-btn,body.sa-alarm-alarm .sa-dialog-actions button,body.sa-alarm-ok .btn,body.sa-alarm-ok .topbar-btn,body.sa-alarm-ok .topbar-theme-chip,body.sa-alarm-ok .topbar-icon-btn,body.sa-alarm-ok .device-action-btn,body.sa-alarm-ok .custom-alarm-btn,body.sa-alarm-ok .info-preset-btn,body.sa-alarm-ok .sa-dialog-actions button{transition:filter 80ms ease,background-color 80ms ease,transform var(--dur-120, .12s) var(--ease-snappy, ease)!important}body.sa-alarm-alarm .btn:is(:hover,[data-sa-hover]),body.sa-alarm-alarm .btn:focus-visible,body.sa-alarm-alarm .topbar-btn:is(:hover,[data-sa-hover]),body.sa-alarm-alarm .topbar-btn:focus-visible,body.sa-alarm-alarm .topbar-theme-chip:is(:hover,[data-sa-hover]),body.sa-alarm-alarm .topbar-theme-chip:focus-visible,body.sa-alarm-alarm .topbar-icon-btn:is(:hover,[data-sa-hover]),body.sa-alarm-alarm .topbar-icon-btn:focus-visible,body.sa-alarm-alarm .device-action-btn:is(:hover,[data-sa-hover]),body.sa-alarm-alarm .device-action-btn:focus-visible,body.sa-alarm-alarm .info-preset-btn:is(:hover,[data-sa-hover]),body.sa-alarm-alarm .info-preset-btn:focus-visible,body.sa-alarm-alarm .sa-dialog-actions button:not(.sa-dialog-ok):is(:hover,[data-sa-hover]),body.sa-alarm-alarm .sa-dialog-actions button:not(.sa-dialog-ok):focus-visible,body.sa-alarm-ok .btn:is(:hover,[data-sa-hover]),body.sa-alarm-ok .btn:focus-visible,body.sa-alarm-ok .topbar-btn:is(:hover,[data-sa-hover]),body.sa-alarm-ok .topbar-btn:focus-visible,body.sa-alarm-ok .topbar-theme-chip:is(:hover,[data-sa-hover]),body.sa-alarm-ok .topbar-theme-chip:focus-visible,body.sa-alarm-ok .topbar-icon-btn:is(:hover,[data-sa-hover]),body.sa-alarm-ok .topbar-icon-btn:focus-visible,body.sa-alarm-ok .device-action-btn:is(:hover,[data-sa-hover]),body.sa-alarm-ok .device-action-btn:focus-visible,body.sa-alarm-ok .info-preset-btn:is(:hover,[data-sa-hover]),body.sa-alarm-ok .info-preset-btn:focus-visible,body.sa-alarm-ok .sa-dialog-actions button:not(.sa-dialog-ok):is(:hover,[data-sa-hover]),body.sa-alarm-ok .sa-dialog-actions button:not(.sa-dialog-ok):focus-visible{filter:brightness(.85)!important}body.sa-alarm-alarm .custom-alarm-buttons-grid .custom-alarm-btn,body.sa-alarm-ok .custom-alarm-buttons-grid .custom-alarm-btn{border-color:transparent!important}body .custom-alarm-buttons-grid .custom-alarm-btn:is(:hover,[data-sa-hover]),body .custom-alarm-buttons-grid .custom-alarm-btn:focus-visible{border-color:transparent}body.sa-button-borders .custom-alarm-buttons-grid .custom-alarm-btn:is(:hover,[data-sa-hover]),body.sa-button-borders .custom-alarm-buttons-grid .custom-alarm-btn:focus-visible{border-color:var(--separator-opaque, var(--separator, rgba(60,60,67,.29)))!important}.device-action-btn{border-radius:var(--radius-sm);padding:6px 10px;font-size:var(--text-12);border:1px solid var(--btnSecondaryBorder);background:var(--btnSecondaryBg);color:var(--btnSecondaryFg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1;font-weight:var(--weight-medium);transition:background-color var(--dur-120) var(--ease-standard),transform var(--dur-120) var(--ease-snappy)}.device-action-btn:active{transform:scale(.97)}.device-action-btn.danger{background:var(--dangerBg);color:var(--dangerFg);border-color:var(--dangerBorder)}@media(prefers-reduced-motion:no-preference){html.js body{opacity:0;transition:opacity .16s cubic-bezier(.22,1,.36,1),background-color .12s ease}html.js body.sa-page-ready{opacity:1}html.js[data-sa-nav] body{transform:translate(22px);transition:opacity .16s cubic-bezier(.22,1,.36,1),transform .16s cubic-bezier(.22,1,.36,1),background-color .12s ease}html.js[data-sa-nav=back] body{transform:translate(-22px)}html.js[data-sa-nav] body.sa-page-ready{transform:none}@supports (view-transition-name: none){html.js[data-sa-nav] body{opacity:1;transform:none;transition:background-color .12s ease}}html.js body.sa-page-alarm{opacity:1;transform:none;transition:background-color .12s ease}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.btn,.topbar-btn,.topbar-theme-chip,.device-action-btn{transition:transform var(--dur-120) var(--ease-snappy),opacity var(--dur-120) var(--ease-standard),background-color var(--dur-120) var(--ease-standard)}.topbar-theme-chip{position:relative;justify-content:center}.topbar-theme-sizer{visibility:hidden;pointer-events:none}.topbar-theme-chip #theme-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.btn:active,.topbar-btn:active,.topbar-theme-chip:active,.device-action-btn:active{transform:scale(.97);opacity:.92}@media(prefers-reduced-motion:reduce){body{transition:none!important}.btn,.topbar-btn,.topbar-theme-chip,.device-action-btn{transition:none;transform:none!important}}.sa-spinner{display:inline-block;box-sizing:border-box;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:saGlobalSpin .75s linear infinite;vertical-align:-3px;flex-shrink:0}.sa-spinner--xs{width:12px;height:12px;border-width:1.5px;vertical-align:-1px}.sa-spinner--sm{width:14px;height:14px;border-width:2px;vertical-align:-2px}.sa-spinner--md{width:18px;height:18px;border-width:2px}.sa-spinner--lg{width:24px;height:24px;border-width:2.5px}@keyframes saGlobalSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.sa-spinner{animation:saGlobalSpinFallback 1.4s steps(12,end) infinite}@keyframes saGlobalSpinFallback{to{transform:rotate(360deg)}}}.sa-skeleton{display:block;background:linear-gradient(90deg,color-mix(in srgb,var(--separator, rgba(60,60,67,.29)) 55%,transparent),color-mix(in srgb,var(--separator, rgba(60,60,67,.29)) 25%,transparent),color-mix(in srgb,var(--separator, rgba(60,60,67,.29)) 55%,transparent));background-size:200% 100%;border-radius:var(--radius-sm, 6px);animation:saSkeletonShimmer 1.2s ease-in-out infinite;min-height:14px}.sa-skeleton-row{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--separator, rgba(60,60,67,.29));border-radius:var(--radius-md, 10px);background:var(--card, #ffffff);margin:6px 0}@keyframes saSkeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.sa-skeleton{animation:none;opacity:.65}}.sa-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:28px 20px;color:var(--muted, #8e8e93);border-radius:var(--radius-lg, 14px);border:1px dashed var(--separator, rgba(60,60,67,.29));background:color-mix(in srgb,var(--card, #ffffff) 60%,transparent)}.sa-empty-state__icon{font-size:36px;line-height:1;opacity:.7;margin-bottom:4px}.sa-empty-state__title{font-size:var(--text-16, 16px);font-weight:var(--weight-semibold, 590);color:var(--fg, #1c1c1e)}.sa-empty-state__desc{font-size:var(--text-14, 14px);color:var(--muted, #8e8e93);max-width:320px;line-height:1.45}.sa-empty-state--compact{padding:16px 12px;gap:4px;border-style:solid}.sa-empty-state--inline{flex-direction:row;padding:12px 14px;gap:12px;text-align:left}.sa-empty-state--inline .sa-empty-state__icon{font-size:22px;margin-bottom:0}.settings-search-row input[type=search]{width:100%;box-sizing:border-box;padding:10px 14px;font-size:var(--text-14, 14px);border:1px solid var(--separator, var(--border));border-radius:var(--radius-md, 10px);background:var(--card, #ffffff);color:var(--fg, #1c1c1e);transition:border-color .18s var(--ease-standard, ease),box-shadow .18s var(--ease-standard, ease)}.settings-search-row input[type=search]:focus{outline:none;border-color:var(--brand-strong, #0b6f68);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand, #0d847b) 30%,transparent)}.settings-search-hidden{display:none!important}.settings-search-highlight{box-shadow:0 0 0 2px color-mix(in srgb,var(--brand, #0d847b) 45%,transparent);transition:box-shadow .18s var(--ease-standard, ease)}.settings-search-results{margin-top:8px;border:1px solid var(--separator, rgba(60,60,67,.29));border-radius:var(--radius-md, 10px);background:var(--card, #ffffff);padding:10px}.settings-search-results-title{font-size:12px;color:var(--muted, #8e8e93);margin-bottom:8px}.settings-search-results-list{display:flex;flex-direction:column;gap:6px}.settings-search-result-item{appearance:none;-webkit-appearance:none;border:1px solid var(--separator, rgba(60,60,67,.29));border-radius:var(--radius-sm, 8px);background:transparent;color:var(--fg, #1c1c1e);text-align:left;cursor:pointer;padding:8px 10px}.settings-search-result-item:hover{background:var(--brand-tint, rgba(13, 132, 123, .14))}.settings-search-result-item:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring, 0 0 0 3px rgba(0, 122, 255, .28))}.settings-search-result-meta{font-size:11px;color:var(--muted, #8e8e93)}.settings-search-result-title{font-size:13px;font-weight:var(--weight-semibold, 590);margin-top:2px}.settings-search-result-snippet{font-size:12px;color:var(--muted, #8e8e93);margin-top:4px;line-height:1.35}.settings-search-results-empty{font-size:12px;color:var(--muted, #8e8e93);padding:4px 0}body.settings-search-only-results .settings-tabs-nav,body.settings-search-only-results .settings-tab-panel{display:none!important}.sa-shortcuts-overlay{position:fixed;inset:0;z-index:10001;background:color-mix(in srgb,#000000 55%,transparent);display:flex;align-items:center;justify-content:center;padding:16px;-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px)}.sa-shortcuts-sheet{width:min(520px,96vw);max-height:80vh;overflow:auto;background:var(--card, #ffffff);color:var(--fg, #1c1c1e);border:1px solid var(--separator, rgba(60,60,67,.29));border-radius:var(--radius-lg, 14px);box-shadow:var(--shadow-lg, 0 24px 60px rgba(0,0,0,.32));padding:18px 18px 16px}.sa-shortcuts-title{font-size:var(--text-18, 17px);font-weight:var(--weight-semibold, 590);margin-bottom:12px}.sa-shortcuts-section{font-size:var(--text-12, 12px);text-transform:uppercase;letter-spacing:.04em;color:var(--muted, #8e8e93);margin-top:10px;margin-bottom:6px}.sa-shortcuts-list{display:flex;flex-direction:column;gap:4px}.sa-shortcuts-row{display:flex;align-items:center;gap:12px;padding:8px 4px;border-top:1px solid var(--separator, rgba(60,60,67,.2))}.sa-shortcuts-row:first-of-type{border-top:none}.sa-shortcuts-keys{display:inline-flex;align-items:center;gap:4px;min-width:120px}.sa-shortcuts-plus{color:var(--muted, #8e8e93);font-size:12px}.sa-shortcuts-label{color:var(--fg, #1c1c1e);font-size:var(--text-14, 14px)}.sa-kbd{display:inline-block;padding:2px 7px;border-radius:6px;border:1px solid var(--separator, rgba(60,60,67,.29));background:color-mix(in srgb,var(--card, #ffffff) 80%,transparent);color:var(--fg, #1c1c1e);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1;box-shadow:0 1px #00000014;min-width:18px;text-align:center}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--system-red, #ef4444)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--system-red, #ef4444) 22%,transparent)!important}.sa-field-hint{display:block;margin-top:4px;font-size:var(--text-12, 12px);line-height:1.35;color:var(--muted, #8e8e93)}.sa-field-hint--error{color:var(--system-red, #ef4444)}.sa-field-hint--ok{color:var(--system-green, #16813e)}.sa-list .empty,ul.sa-list li.empty,ul.events li.empty{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted, #8e8e93);padding:24px 16px;font-size:var(--text-14, 14px);border:1px dashed var(--separator, rgba(60,60,67,.29));border-radius:var(--radius-md, 10px);margin:4px 0;background:color-mix(in srgb,var(--card, #ffffff) 60%,transparent)}.sa-skip-link{position:absolute;top:0;left:8px;z-index:10000;padding:10px 16px;background:var(--brand-strong, #0b6f68);color:#fff;text-decoration:none;font-weight:var(--weight-semibold, 590);font-size:var(--text-14, 14px);border-radius:var(--radius-md, 10px);transform:translateY(-100%);transition:transform .18s var(--ease-standard)}.sa-skip-link:focus,.sa-skip-link:focus-visible{transform:translateY(8px);box-shadow:var(--shadow-lg);outline:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.offline-banner{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--dangerBg);color:var(--dangerFg);text-align:center;padding:8px 12px;padding-bottom:max(8px,calc(env(safe-area-inset-bottom,0px) + 8px));font-size:var(--text-13);font-weight:var(--weight-semibold)}.offline-banner.visible{display:block}@media(pointer:coarse){html,body{touch-action:manipulation;-ms-touch-action:manipulation;overscroll-behavior-y:contain}}.btn,.topbar-btn,.topbar-theme-chip,.info-preset-btn,.info-preset-chip-remove{-webkit-tap-highlight-color:transparent}input[type=checkbox]:not(.plain-checkbox){appearance:none;-webkit-appearance:none;-moz-appearance:none;width:34px;height:21px;min-width:34px;border-radius:var(--radius-pill);background:var(--system-gray-4, #d1d1d6);border:0;position:relative;cursor:pointer;flex-shrink:0;vertical-align:middle;transition:background-color var(--dur-250) var(--ease-standard);box-shadow:inset 0 0 0 .5px #0000000a}input[type=checkbox]:not(.plain-checkbox):before{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #00000026,0 1px 1.5px #0000001f;transition:transform var(--dur-250) var(--ease-spring),box-shadow var(--dur-200) var(--ease-standard)}input[type=checkbox]:not(.plain-checkbox):checked{background:var(--brand)}input[type=checkbox]:not(.plain-checkbox):checked:before{transform:translate(13px)}input[type=checkbox]:not(.plain-checkbox):focus-visible{outline:none;box-shadow:inset 0 0 0 .5px #0000000a,var(--shadow-focus-ring)}input[type=checkbox]:not(.plain-checkbox):disabled{opacity:.5;cursor:not-allowed}@media(prefers-reduced-motion:reduce){input[type=checkbox]:not(.plain-checkbox),input[type=checkbox]:not(.plain-checkbox):before{transition:none}}@media(prefers-color-scheme:dark){input[type=checkbox]:not(.plain-checkbox){background:#39393d;box-shadow:inset 0 0 0 .5px #ffffff0d}input[type=checkbox]:not(.plain-checkbox):checked{background:var(--brand)}}html[data-theme=dark] input[type=checkbox]:not(.plain-checkbox){background:#39393d;box-shadow:inset 0 0 0 .5px #ffffff0d}html[data-theme=dark] input[type=checkbox]:not(.plain-checkbox):checked{background:var(--brand)}html[data-theme=light] input[type=checkbox]:not(.plain-checkbox){background:var(--system-gray-4, #d1d1d6)}html[data-theme=light] input[type=checkbox]:not(.plain-checkbox):checked{background:var(--brand)}input[type=radio]{accent-color:var(--brand)}label:has(>input[type=checkbox]:not(.plain-checkbox)){align-items:center!important}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=url],input[type=number],input[type=search],input[type=date],input[type=time]{padding:10px 12px;font-size:16px;line-height:var(--leading-body)}select{padding:9px 12px;font-size:15px;line-height:var(--leading-normal)}input:disabled,select:disabled,textarea:disabled,button:disabled{opacity:.6;cursor:not-allowed}
