.in-app-shell{background:var(--app-bg);color:var(--app-text);font-family:IBM Plex Sans,Inter,Segoe UI,Helvetica Neue,Arial,sans-serif;min-height:100vh}.in-app-shell.shell-only{background:#0000;min-height:0}.in-app-shell,.in-app-shell *{box-sizing:border-box}.in-app-top-nav{grid-gap:18px;align-items:center;background:var(--in-app-top-bg);border-bottom:1px solid var(--in-app-border);color:var(--in-app-top-text);display:grid;gap:18px;grid-template-columns:minmax(236px,1fr) minmax(260px,390px) minmax(300px,1fr);height:76px;padding:0 22px 0 16px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.in-app-top-actions,.in-app-top-left{align-items:center;display:flex;min-width:0}.in-app-top-left{gap:10px}.in-app-menu-button{background:var(--in-app-accent);border:0;border-radius:6px;color:#fff;display:inline-flex;width:40px}.in-app-logo-block,.in-app-menu-button{align-items:center;cursor:pointer;height:40px;justify-content:center}.in-app-logo-block{background:var(--in-app-logo-bg);border:0;color:#4b5563;display:flex;font-size:12px;font-weight:800;overflow:hidden;width:130px}.in-app-logo-block:disabled{cursor:default}.in-app-logo-block img{max-height:30px;max-width:88%;object-fit:contain}.in-app-search{align-items:center;display:flex;position:relative}.in-app-search input{background:#fff;border:1px solid color-mix(in srgb,var(--in-app-accent) 70%,#fff);border-radius:999px;color:#111827;font-size:13px;height:30px;outline:none;padding:0 36px 0 14px;width:100%}.in-app-search input:disabled{opacity:1}.in-app-search input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--in-app-accent) 16%,#0000)}.in-app-search-icon{color:var(--in-app-accent);font-size:18px;pointer-events:none;position:absolute;right:10px}.in-app-top-actions{gap:16px;justify-content:flex-end}.in-app-grid-wrap,.in-app-profile-wrap{min-width:0;position:relative}.in-app-grid-button,.in-app-icon-button,.in-app-profile{background:#0000;border:0;color:var(--in-app-accent);cursor:pointer}.in-app-grid-button,.in-app-icon-button{align-items:center;display:inline-flex;height:36px;justify-content:center;position:relative;width:36px}.in-app-grid-button .material-symbols-outlined,.in-app-icon-button .material-symbols-outlined{font-size:31px;line-height:1}.in-app-alert-badge{background:#dc2626;border:2px solid var(--in-app-top-bg);border-radius:999px;color:#fff;font-size:9px;font-weight:900;height:16px;justify-content:center;line-height:1;min-width:16px;padding:0 3px;position:absolute;right:1px;top:1px}.in-app-alert-badge,.in-app-profile{align-items:center;display:inline-flex}.in-app-profile{color:var(--app-text-muted);font-size:13px;gap:6px;max-width:250px;min-width:0}.in-app-profile-icon{color:var(--in-app-accent);flex:0 0 auto;font-size:30px}.in-app-profile-avatar{border-radius:999px;flex:0 0 auto;height:30px;object-fit:cover;width:30px}.in-app-profile-copy{grid-gap:1px;display:grid;gap:1px;min-width:0;text-align:left}.in-app-profile-name,.in-app-profile-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.in-app-profile-name{font-size:13px;line-height:1.1}.in-app-profile-role{color:var(--app-text-muted);font-size:11px;line-height:1.1}.in-app-profile-menu{background:var(--app-surface);border:1px solid var(--in-app-border);border-radius:8px;box-shadow:0 18px 42px #11182729;min-width:190px;padding:6px;position:absolute;right:0;top:calc(100% + 10px);z-index:120}.in-app-profile-menu[hidden]{display:none}.in-app-profile-menu-item{align-items:center;background:#0000;border:0;border-radius:6px;color:var(--app-text);cursor:pointer;display:flex;font-size:13px;font-weight:800;gap:8px;padding:10px 12px;text-align:left;width:100%}.in-app-profile-menu-item:hover{background:color-mix(in srgb,var(--in-app-accent) 10%,#fff)}.in-app-profile-menu-item.danger{color:#b91c1c}.in-app-profile-menu-item.danger:hover{background:#dc26261a}.in-app-profile-menu-item.disabled{cursor:not-allowed;opacity:.5}.in-app-profile-menu-icon{flex:0 0 auto;font-size:18px}.in-app-switcher{background:var(--in-app-switcher-bg);border:1px solid var(--in-app-border);border-radius:8px;box-shadow:0 18px 42px #11182729;display:none;gap:8px;grid-template-columns:repeat(3,48px);min-width:96px;padding:10px;position:absolute;right:-8px;top:calc(100% + 10px);z-index:110}.in-app-grid-wrap:focus-within .in-app-switcher,.in-app-grid-wrap:hover .in-app-switcher{display:grid}.in-app-switcher-item{align-items:center;background:#0000;border:0;border-radius:6px;color:var(--app-text);cursor:pointer;display:flex;height:48px;justify-content:center;padding:0;width:48px}.in-app-switcher-item:hover{background:var(--in-app-switcher-hover-bg)}.in-app-switcher-icon{align-items:center;background:color-mix(in srgb,var(--in-app-accent) 10%,#fff);border-radius:6px;color:var(--in-app-accent);display:inline-flex;flex:0 0 auto;height:42px;justify-content:center;width:42px}.in-app-switcher-icon img{max-height:34px;max-width:34px;object-fit:contain}.in-app-body{background:var(--app-bg);display:grid;grid-template-columns:64px minmax(0,1fr);min-height:calc(100vh - 76px)}.in-app-side-nav{align-self:start;background:var(--in-app-side-bg);color:#fff;height:calc(100vh - 76px);overflow:hidden;position:-webkit-sticky;position:sticky;top:76px;transition:width .18s ease;width:64px}.side-expanded .in-app-body{grid-template-columns:220px minmax(0,1fr)}.side-expanded .in-app-side-nav{width:220px}.in-app-side-children,.in-app-side-list{list-style:none;margin:0;padding:10px 0}.in-app-side-children{display:none;padding:2px 0 8px}.side-expanded .in-app-side-children:not([hidden]){display:block}.in-app-side-item{align-items:center;background:#0000;border:0;border-radius:0;color:#ffffffe6;cursor:pointer;display:grid;grid-template-columns:64px 1fr 28px;min-height:44px;padding:0;text-align:left;width:100%}.in-app-side-item:hover{background:var(--in-app-side-hover-bg)}.in-app-side-item.active{background:var(--in-app-side-active-bg);color:var(--in-app-side-active-text)}.in-app-side-item.disabled{cursor:not-allowed;opacity:.46}.in-app-side-chevron,.in-app-side-icon{font-size:20px;justify-self:center}.in-app-side-label{font-size:13px;font-weight:800;min-width:0;opacity:0;overflow:hidden;text-overflow:ellipsis;transition:opacity .12s ease;white-space:nowrap}.side-expanded .in-app-side-label{opacity:1}.in-app-side-chevron{opacity:0;transform:rotate(-90deg);transition:opacity .12s ease,transform .12s ease}.side-expanded .in-app-side-chevron{opacity:1}.in-app-side-item.expanded .in-app-side-chevron{transform:rotate(0deg)}.in-app-side-children .in-app-side-item{color:#ffffffc7;min-height:36px}.in-app-side-children .in-app-side-icon{font-size:18px}.in-app-main{background:var(--app-bg);color:var(--app-text);min-width:0}.in-app-page-toolbar{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb,var(--app-surface-muted) 94%,#0000);border-bottom:1px solid var(--app-border);display:flex;gap:16px;justify-content:space-between;margin-left:64px;min-height:54px;padding:8px 20px;z-index:80}.side-expanded .in-app-page-toolbar{margin-left:220px}.in-app-page-toolbar__left,.in-app-page-toolbar__right{align-items:center;display:flex;gap:12px;min-width:0}.in-app-page-toolbar__right{margin-left:auto}.in-app-shell.dark{--app-bg:var(--app-dark-bg);--app-surface:var(--app-dark-surface);--app-surface-muted:var(--app-dark-surface-muted);--app-text:var(--app-dark-text);--app-text-muted:var(--app-dark-text-muted);--app-border:var(--app-dark-border);--app-card-bg:var(--app-dark-card-bg);--app-card-text:var(--app-dark-card-text);--in-app-border:var(--app-dark-border);--in-app-logo-bg:#d9d9d9;--in-app-switcher-bg:var(--app-dark-surface);--in-app-switcher-hover-bg:#ffffff14}.in-app-shell.dark,.in-app-shell.dark .in-app-body,.in-app-shell.dark .in-app-main{background:var(--app-bg);color:var(--app-text)}.in-app-shell.dark .bg-white,.in-app-shell.dark .bg-white\/75,.in-app-shell.dark .bg-white\/90{background-color:var(--app-surface);border-color:var(--app-border);color:var(--app-text)}.in-app-shell.dark .bg-\[color\:var\(--muted\)\]{background-color:var(--app-surface-muted);border-color:var(--app-border);color:var(--app-text)}.in-app-shell.dark .text-\[color\:var\(--muted-foreground\)\]{color:var(--app-text-muted)}.in-app-shell.dark .text-red-600{color:#fca5a5}.in-app-shell.dark .text-red-800{color:#fecaca}.in-app-shell.dark .in-app-top-nav{background:var(--in-app-side-bg);border-bottom-color:#ffffff24;box-shadow:0 1px 0 #ffffff14;color:#fff}.in-app-shell.dark .in-app-logo-block{background:var(--in-app-logo-bg);color:#4b5563}.in-app-shell.dark .in-app-grid-button,.in-app-shell.dark .in-app-icon-button,.in-app-shell.dark .in-app-profile,.in-app-shell.dark .in-app-profile-icon{color:#fff}.in-app-shell.dark .in-app-profile-role{color:var(--app-text-muted)}.in-app-shell.dark .in-app-search input{background:#fffffff2;border-color:#ffffffb8;color:#111827}.in-app-shell.dark .in-app-alert-badge{border-color:var(--in-app-side-bg)}.in-app-shell.dark .in-app-profile-menu,.in-app-shell.dark .in-app-switcher{background-color:var(--app-surface);border-color:var(--app-border);color:var(--app-text)}.in-app-shell.dark .in-app-profile-menu-item,.in-app-shell.dark .in-app-switcher-icon,.in-app-shell.dark .in-app-switcher-item{color:var(--app-text)}.in-app-shell.dark .in-app-profile-menu-item:hover{background:#ffffff14}.in-app-shell.dark .in-app-profile-menu-item.danger{color:#fca5a5}.in-app-shell.dark .in-app-switcher-icon{background:#ffffff1a}.in-app-shell.dark input,.in-app-shell.dark select,.in-app-shell.dark textarea{background-color:var(--app-surface-muted);border-color:var(--app-border);color:var(--app-text)}.in-app-shell.dark input::placeholder,.in-app-shell.dark textarea::placeholder{color:var(--app-text-muted)}.in-app-shell.dark table,.in-app-shell.dark td,.in-app-shell.dark th{color:inherit}.in-app-shell.dark .app-card,.in-app-shell.dark .dashboard-card,.in-app-shell.dark [data-dashboard-surface]{background:var(--app-card-bg);border-color:var(--app-border);color:var(--app-card-text)}.in-app-shell.is-dark,.in-app-shell[data-theme=dark]{--app-bg:var(--app-dark-bg);--app-surface:var(--app-dark-surface);--app-surface-muted:var(--app-dark-surface-muted);--app-text:var(--app-dark-text);--app-text-muted:var(--app-dark-text-muted);--app-border:var(--app-dark-border);--app-card-bg:var(--app-dark-card-bg);--app-card-text:var(--app-dark-card-text);--in-app-border:var(--app-dark-border);background:var(--app-bg);color:var(--app-text)}.in-app-shell.is-dark .in-app-body,.in-app-shell.is-dark .in-app-main,.in-app-shell[data-theme=dark] .in-app-body,.in-app-shell[data-theme=dark] .in-app-main{background:var(--app-bg);color:var(--app-text)}.in-app-shell.is-dark .bg-white,.in-app-shell.is-dark .bg-white\/75,.in-app-shell.is-dark .bg-white\/90,.in-app-shell[data-theme=dark] .bg-white,.in-app-shell[data-theme=dark] .bg-white\/75,.in-app-shell[data-theme=dark] .bg-white\/90{background-color:var(--app-surface);border-color:var(--app-border);color:var(--app-text)}.in-app-shell.is-dark .bg-\[color\:var\(--muted\)\],.in-app-shell[data-theme=dark] .bg-\[color\:var\(--muted\)\]{background-color:var(--app-surface-muted);border-color:var(--app-border);color:var(--app-text)}.in-app-shell.is-dark .text-\[color\:var\(--muted-foreground\)\],.in-app-shell[data-theme=dark] .text-\[color\:var\(--muted-foreground\)\]{color:var(--app-text-muted)}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24;line-height:1}@media (max-width:820px){.in-app-top-nav{gap:10px;grid-template-areas:"left actions" "search search";grid-template-columns:1fr auto;height:auto;min-height:76px;padding:10px 12px 12px 16px}.in-app-top-left{grid-area:left}.in-app-search{grid-area:search}.in-app-top-actions{gap:6px;grid-area:actions}.in-app-profile-copy{display:none}.in-app-body{min-height:calc(100vh - 118px)}.in-app-side-nav{height:calc(100vh - 118px);top:118px}.in-app-page-toolbar{align-items:flex-start;flex-direction:column}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:IBM Plex Sans,Inter,Segoe UI,Helvetica Neue,Arial,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width:768px){body{font-size:14px}}.error-boundary{align-items:center;background:#f5f5f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.error-content{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;max-width:500px;padding:40px;text-align:center}.error-icon{color:#f44336;font-size:64px;margin-bottom:20px}.error-content h2{color:#333;font-size:24px;margin:0 0 16px}.error-content p{color:#666;line-height:1.5;margin:0 0 24px}.reload-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:background .3s}.reload-button:hover{background:#5568d3}.error-details{background:#f5f5f5;border-radius:8px;margin-top:24px;padding:16px;text-align:left}.error-details summary{color:#666;cursor:pointer;font-weight:500;margin-bottom:12px}.error-details pre{color:#333;font-size:12px;margin:0;overflow-x:auto}.in-app-main>.account-page,.in-app-main>.admin-page,.in-app-main>.alarm-summary-page,.in-app-main>.dashboard,.in-app-main>.device-selection,.in-app-main>.home-page{min-width:0;width:100%}.in-app-main .account-page__content,.in-app-main .admin-page__content,.in-app-main .alarm-summary-page__content,.in-app-main .dashboard-content,.in-app-main .device-selection-content,.in-app-main .home-page__content{margin:0!important;max-width:none!important;padding-left:clamp(16px,1.6vw,28px)!important;padding-right:clamp(16px,1.6vw,28px)!important;width:100%}body.walchem-shell-dark,body.walchem-shell-dark .App,body.walchem-shell-dark .in-app-shell{--walchem-dark-bg:#303030;--walchem-dark-surface:#3a3a3a;--walchem-dark-surface-muted:#454545;--walchem-dark-text:#f8fafc;--walchem-dark-text-muted:#cbd5e1;--walchem-dark-border:#ffffff24;background:var(--walchem-dark-bg)!important;color:var(--walchem-dark-text)!important}body.walchem-shell-dark .admin-page,body.walchem-shell-dark .admin-page__content,body.walchem-shell-dark .alarm-summary-page,body.walchem-shell-dark .alarm-summary-page__content,body.walchem-shell-dark .dashboard,body.walchem-shell-dark .dashboard-content,body.walchem-shell-dark .device-selection,body.walchem-shell-dark .device-selection-content,body.walchem-shell-dark .home-page,body.walchem-shell-dark .home-page__content{background:var(--walchem-dark-bg)!important;color:var(--walchem-dark-text)!important}body.walchem-shell-dark .in-app-logo-block{background:#0000!important}body.walchem-shell-dark .in-app-logo-block img{max-height:40px;max-width:100%}body.walchem-shell-dark .in-app-switcher-icon{background:#0000!important}body.walchem-shell-dark .in-app-search input{background:#fff!important;border-color:#ffffffbf!important;color:#111827!important}body.walchem-shell-dark .in-app-search input::placeholder{color:#64748b!important}body.walchem-shell-dark .in-app-search-icon{color:var(--in-app-accent)!important}body.walchem-shell-dark .in-app-page-toolbar{background:var(--walchem-dark-bg)!important;border-bottom-color:var(--walchem-dark-border)!important;box-shadow:none!important;color:var(--walchem-dark-text)!important}body.walchem-shell-dark .admin-actions,body.walchem-shell-dark .admin-card,body.walchem-shell-dark .admin-hero,body.walchem-shell-dark .alarm-summary-hero,body.walchem-shell-dark .alarm-summary-item,body.walchem-shell-dark .alarm-summary-stat,body.walchem-shell-dark .dashboard-alarms-panel,body.walchem-shell-dark .devices-table-container,body.walchem-shell-dark .empty-state,body.walchem-shell-dark .graph-favorites-panel,body.walchem-shell-dark .home-hero,body.walchem-shell-dark .home-loading,body.walchem-shell-dark .home-stat{background:var(--walchem-dark-surface)!important;border-color:var(--walchem-dark-border)!important;color:var(--walchem-dark-text)!important}body.walchem-shell-dark .facility-name,body.walchem-shell-dark .home-hero h1,body.walchem-shell-dark .home-hero__copy,body.walchem-shell-dark .home-stat,body.walchem-shell-dark .home-stat span,body.walchem-shell-dark .loading-text,body.walchem-shell-dark .serial-value{color:var(--walchem-dark-text)!important}body.walchem-shell-dark .alarm-preview,body.walchem-shell-dark .alarms-loading,body.walchem-shell-dark .facility-filter-label,body.walchem-shell-dark .home-hero__eyebrow{color:var(--walchem-dark-text-muted)!important}body.walchem-shell-dark .facility-filter-clear,body.walchem-shell-dark .facility-filter-menu,body.walchem-shell-dark .facility-filter-option,body.walchem-shell-dark .facility-filter-toggle,body.walchem-shell-dark input,body.walchem-shell-dark select,body.walchem-shell-dark textarea{background:var(--walchem-dark-surface-muted)!important;border-color:var(--walchem-dark-border)!important;color:var(--walchem-dark-text)!important}body.walchem-shell-dark .facility-filter-option span,body.walchem-shell-dark .facility-filter-value{color:var(--walchem-dark-text)!important}body.walchem-shell-dark .facility-filter-clear:hover,body.walchem-shell-dark .facility-filter-option.checked,body.walchem-shell-dark .facility-filter-option:hover{background:#ffffff14!important;border-color:#fff3!important}body.walchem-shell-dark .devices-table,body.walchem-shell-dark .devices-table td,body.walchem-shell-dark .devices-table th{color:var(--walchem-dark-text)!important}body.walchem-shell-dark .devices-table tbody tr,body.walchem-shell-dark .devices-table-row{background:var(--walchem-dark-surface)!important}body.walchem-shell-dark .devices-table tbody tr:hover,body.walchem-shell-dark .devices-table-row:hover{background:var(--walchem-dark-surface-muted)!important}body.walchem-shell-dark input::placeholder,body.walchem-shell-dark textarea::placeholder{color:var(--walchem-dark-text-muted)!important}body.walchem-shell-dark .admin-actions,body.walchem-shell-dark .admin-hero{background:#0000!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}.admin-page{background:linear-gradient(180deg,#f8fafc,#eef4fb);min-height:100vh}.admin-page__content{margin:0 auto;max-width:1480px;padding:24px 20px 40px}.admin-hero{align-items:flex-end;display:flex;gap:20px;justify-content:space-between;margin-bottom:22px}.admin-hero__eyebrow{color:#64748b;font-size:12px;font-weight:800;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}.admin-hero h1{color:#0f172a;font-size:clamp(30px,4vw,48px);line-height:1.05;margin:0}.admin-hero__copy{color:#475569;font-size:15px;line-height:1.6;margin:10px 0 0;max-width:700px}.admin-hero__stats{display:flex;flex-wrap:wrap;gap:12px}.admin-stat{background:#ffffffe6;border-radius:18px;box-shadow:0 10px 22px #0f172a14;min-width:140px;padding:16px 18px}.admin-stat span{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.admin-stat strong{color:#0f172a;font-size:28px}.admin-empty,.admin-loading{color:#64748b}.admin-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.admin-action-button{align-items:center;background:#ffffffe0;border:1px solid #94a3b83d;border-radius:999px;box-shadow:0 10px 22px #0f172a14;color:#0f172a;cursor:pointer;display:inline-flex;font-size:14px;font-weight:800;gap:10px;padding:14px 18px}.admin-action-button svg{font-size:18px}.admin-action-button.is-active{background:linear-gradient(135deg,#0f172a,#334155);border-color:#0000;color:#fff}.admin-card,.admin-list-card{background:#fffffff0;border:1px solid #94a3b824;border-radius:24px;box-shadow:0 18px 40px #0f172a14}.admin-card{padding:20px}.admin-card--panel{margin-bottom:20px}.admin-card__header{align-items:flex-start;display:flex;gap:12px;margin-bottom:18px}.admin-card__header svg{color:#0f172a;font-size:20px;margin-top:2px}.admin-card__header h2,.admin-list-card h2{color:#0f172a;font-size:20px;margin:0}.admin-card__header p{color:#64748b;font-size:14px;line-height:1.5;margin:4px 0 0}.admin-form{gap:14px}.admin-form,.admin-form label{display:flex;flex-direction:column}.admin-form label{gap:8px}.admin-form span{color:#334155;font-size:13px;font-weight:700}.admin-form input,.admin-form select,.admin-form textarea{background:#fff;border:1px solid #94a3b83d;border-radius:16px;box-shadow:inset 0 1px 0 #fffc;color:#0f172a;font-size:14px;padding:12px 14px;width:100%}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.admin-form input:disabled,.admin-form select:disabled,.admin-form textarea:disabled,.admin-primary-button:disabled{cursor:not-allowed;opacity:.7}.admin-form__row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form__actions,.admin-settings-status{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.admin-settings-status{margin:0 0 16px}.admin-settings-pill{align-items:center;background:#0f172a0f;border-radius:999px;color:#475569;display:inline-flex;font-size:12px;font-weight:800;letter-spacing:.04em;min-height:30px;padding:6px 12px;text-transform:uppercase}.admin-settings-pill.is-active{background:#0d94881f;color:#0f766e}.admin-settings-pill.is-muted{background:#ef44441a;color:#991b1b}.admin-primary-button{align-items:center;background:linear-gradient(135deg,#0f172a,#334155);border:0;border-radius:999px;box-shadow:0 14px 28px #0f172a29;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:800;gap:8px;justify-content:center;padding:12px 16px}.admin-primary-button:hover{transform:translateY(-1px)}.admin-form__note{color:#64748b;font-size:13px;line-height:1.6;margin:0}.admin-subscription-group{display:flex;flex-direction:column;gap:10px}.admin-subscription-group__header{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:4px 2px 0}.admin-subscription-group__header h3{color:#0f172a;font-size:16px;margin:0}.admin-subscription-group__header span{color:#64748b;font-size:13px;font-weight:800}.admin-controller-group,.admin-user-group{display:flex;flex-direction:column;gap:10px}.admin-controller-group__header,.admin-user-group__header{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:4px 2px 0}.admin-controller-group__header h3,.admin-user-group__header h3{color:#0f172a;font-size:16px;margin:0}.admin-user-group__header p{color:#64748b;font-size:13px;margin:4px 0 0}.admin-controller-group__header span,.admin-user-group__header span{color:#64748b;font-size:13px;font-weight:800}.admin-user-group__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.admin-lists{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-lists--single{grid-template-columns:1fr}.admin-list-card{padding:20px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.admin-dialog-search,.admin-list-search{display:block}.admin-list-search{margin-top:12px}.admin-dialog-search{margin-top:-2px}.admin-dialog-search input,.admin-list-search input{background:#fff;border:1px solid #94a3b838;border-radius:12px;color:#0f172a;font-size:14px;line-height:1.4;outline:none;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.admin-dialog-search input:focus,.admin-list-search input:focus{border-color:#1c39698c;box-shadow:0 0 0 3px #1c39691f}.admin-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.admin-list__item{align-items:flex-start;background:#0f172a08;border:1px solid #94a3b81f;border-radius:16px;display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.admin-list__item strong{color:#0f172a}.admin-list__item span{color:#64748b;font-size:13px}.admin-user-item{align-items:stretch;flex-direction:column;gap:14px}.admin-user-item__top{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.admin-user-item__identity{display:flex;flex-direction:column;gap:4px}.admin-user-status{border-radius:999px;flex:0 0 auto;font-size:12px;font-weight:800;letter-spacing:.04em;padding:6px 12px;text-transform:uppercase}.admin-user-status.is-active{background:#0d94881f;color:#0f766e}.admin-user-status.is-pending{background:#f59e0b29;color:#92400e}.admin-user-status.is-disabled{background:#ef444424;color:#991b1b}.admin-user-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start}.admin-user-role-control{display:flex}.admin-user-role-select{background:#fffffff2;border:1px solid #94a3b838;border-radius:999px;box-shadow:0 8px 18px #0f172a14;color:#0f172a;cursor:pointer;font-size:13px;font-weight:800;padding:10px 12px}.admin-user-role-select:disabled{cursor:not-allowed;opacity:.62}.admin-user-action-button{background:#fffffff2;border:1px solid #94a3b838;border-radius:999px;box-shadow:0 8px 18px #0f172a14;color:#0f172a;cursor:pointer;font-size:13px;font-weight:800;padding:10px 14px}.admin-user-action-button:hover{transform:translateY(-1px)}.admin-user-action-button:disabled{cursor:not-allowed;opacity:.62;transform:none}.admin-user-card[role=button]{cursor:pointer}.admin-user-card.is-selected{border-color:#1c39696b;box-shadow:0 18px 38px #1c396924}.admin-user-card__edit{align-self:flex-start;margin-top:12px}.admin-user-action-button--danger{border-color:#ef44442e;color:#991b1b}.admin-organization-delete-button{background:#fee2e2b8;border-color:#b91c1c47;box-shadow:none;color:#991b1b}.admin-organization-delete-button:hover:not(:disabled){background:#fee2e2;border-color:#b91c1c6b}.admin-account-list{grid-gap:12px;display:grid;gap:12px;margin-top:18px}.admin-site-card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.admin-site-card{align-content:start}.admin-facilities-map-shell{margin-top:18px}.admin-facilities-toolbar{align-items:center;background:#0f172a08;border:1px solid #94a3b829;border-radius:14px;display:flex;gap:12px;justify-content:space-between;margin-top:12px;padding:12px 14px}.admin-facility-selection{align-items:center;color:#334155;display:flex;flex-wrap:wrap;font-size:13px;gap:10px}.admin-facility-selection strong{color:#0f172a}.admin-facility-list{align-items:start;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.admin-facility-card{min-height:150px}.admin-address-dialog{max-width:560px}.admin-site-tools{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);margin-top:18px}.admin-site-map{background:linear-gradient(#0f172a0f 1px,#0000 0),linear-gradient(90deg,#0f172a0f 1px,#0000 0),linear-gradient(135deg,#dbeafe,#ecfeff 45%,#f0fdf4);background-size:44px 44px,44px 44px,100% 100%;border:1px solid #94a3b82e;border-radius:12px;min-height:460px;overflow:hidden;position:relative}.admin-site-map iframe{border:0;height:460px;width:100%}.admin-site-map .admin-empty{display:grid;inset:0;margin:0;padding:20px;place-items:center;position:absolute;text-align:center}.admin-site-map__pin{background:#0f766e;border:0;border-radius:999px;box-shadow:0 10px 22px #0f172a33;color:#fff;cursor:pointer;display:grid;height:34px;padding:0;place-items:center;position:absolute;transform:translate(-50%,-50%);width:34px}.admin-site-assignment{display:flex;flex-direction:column;gap:12px}.admin-site-assignment label{display:flex;flex-direction:column;gap:8px}.admin-site-assignment span{color:#334155;font-size:13px;font-weight:700}.admin-site-assignment select{background:#fff;border:1px solid #94a3b83d;border-radius:16px;color:#0f172a;font-size:14px;padding:12px 14px;width:100%}.admin-address-field{position:relative}.admin-address-suggestions{background:#fff;border:1px solid #94a3b83d;border-radius:14px;box-shadow:0 16px 34px #0f172a24;display:grid;left:0;max-height:132px;overflow:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.admin-address-suggestions button{background:#0000;border:0;border-bottom:1px solid #94a3b824;color:#0f172a;cursor:pointer;padding:10px 12px;text-align:left}.admin-address-suggestions button:hover{background:#0f172a0a}.admin-controller-checklist--compact{max-height:300px}.admin-selection-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.admin-selection-tile{cursor:pointer;min-height:66px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.admin-selection-tile:hover{background:#1c39690a;border-color:#1c396957}.admin-selection-tile.is-selected{background:#0d94881a;border-color:#0f766e8c;box-shadow:inset 0 0 0 1px #0d94881f}.admin-user-card{grid-gap:12px;background:#0f172a08;border:1px solid #94a3b824;border-radius:16px;display:grid;gap:12px;padding:16px}.admin-user-card__actions,.admin-user-card__main,.admin-user-card__meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.admin-user-card__main{justify-content:space-between}.admin-user-card h3{color:#0f172a;font-size:16px;margin:0}.admin-user-card p,.admin-user-card__meta{color:#64748b;font-size:13px;margin:0}.admin-status{border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.04em;padding:6px 12px;text-transform:uppercase}.admin-status.is-active{background:#0d94881f;color:#0f766e}.admin-status.is-muted{background:#0f172a14;color:#475569}.admin-controller-checklist{grid-gap:8px;display:grid;gap:8px;max-height:430px;overflow:auto;padding-right:4px}.admin-controller-option{grid-gap:10px;align-items:start;background:#ffffffd1;border:1px solid #94a3b824;border-radius:12px;color:#334155;display:grid;font-size:13px;gap:10px;grid-template-columns:18px minmax(0,1fr);line-height:1.4;padding:10px 12px}.admin-controller-option input{height:16px;margin-top:1px;width:16px}.admin-controller-option input:disabled+span{color:#94a3b8}.admin-controller-option span{display:flex;flex-direction:column;gap:3px;min-width:0}.admin-controller-option strong{color:inherit;font-size:13px}.admin-controller-option small{color:#64748b;font-size:12px;line-height:1.35}.admin-controller-option input:disabled+span small{color:#94a3b8}.admin-modal-backdrop{align-items:center;background:#0f172a6b;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.admin-assignment-dialog{background:#fff;border-radius:18px;box-shadow:0 24px 70px #0f172a47;display:flex;flex-direction:column;gap:16px;max-height:min(760px,calc(100vh - 48px));padding:20px;width:min(760px,100%)}.admin-assignment-dialog__actions,.admin-assignment-dialog__header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.admin-assignment-dialog__header h2{color:#0f172a;font-size:20px;margin:0}.admin-assignment-dialog__header p{color:#64748b;font-size:14px;font-weight:700;margin:4px 0 0}.admin-assignment-dialog .admin-controller-checklist{max-height:min(520px,calc(100vh - 250px))}.admin-assignment-dialog__actions{align-items:center;flex-wrap:wrap;justify-content:flex-end;padding-top:2px}body.walchem-shell-dark .admin-page,body.walchem-shell-dark .admin-page__content{background:#303030!important;color:#f8fafc!important}body.walchem-shell-dark .admin-card,body.walchem-shell-dark .admin-list-card,body.walchem-shell-dark .admin-list__item,body.walchem-shell-dark .admin-loading,body.walchem-shell-dark .admin-user-card{background:#3a3a3a!important;border:1px solid #ffffff24!important;box-shadow:none!important;color:#f8fafc!important}body.walchem-shell-dark .admin-actions,body.walchem-shell-dark .admin-hero{background:#0000!important;border:0!important;box-shadow:none!important;color:#f8fafc!important}body.walchem-shell-dark .admin-card__header h2,body.walchem-shell-dark .admin-hero h1,body.walchem-shell-dark .admin-list-card h2,body.walchem-shell-dark .admin-list__item strong,body.walchem-shell-dark .admin-stat strong,body.walchem-shell-dark .admin-user-card h3,body.walchem-shell-dark .admin-user-item__identity strong{color:#f8fafc!important}body.walchem-shell-dark .admin-card__header p,body.walchem-shell-dark .admin-empty,body.walchem-shell-dark .admin-form span,body.walchem-shell-dark .admin-form__note,body.walchem-shell-dark .admin-hero__copy,body.walchem-shell-dark .admin-hero__eyebrow,body.walchem-shell-dark .admin-list__item span,body.walchem-shell-dark .admin-loading,body.walchem-shell-dark .admin-stat span,body.walchem-shell-dark .admin-user-card p,body.walchem-shell-dark .admin-user-card__meta,body.walchem-shell-dark .admin-user-item__identity span{color:#cbd5e1!important}body.walchem-shell-dark .admin-action-button,body.walchem-shell-dark .admin-stat,body.walchem-shell-dark .admin-user-action-button,body.walchem-shell-dark .admin-user-role-select{background:#454545!important;border:1px solid #ffffff24!important;box-shadow:none!important;color:#f8fafc!important}body.walchem-shell-dark .admin-action-button.is-active,body.walchem-shell-dark .admin-primary-button{background:#1c3969!important;color:#fff!important}body.walchem-shell-dark .admin-organization-delete-button{background:#7f1d1d38!important;border-color:#f8717152!important;color:#fecaca!important}body.walchem-shell-dark .admin-card__header svg{color:#f8fafc!important}body.walchem-shell-dark .admin-dialog-search input,body.walchem-shell-dark .admin-form input,body.walchem-shell-dark .admin-form select,body.walchem-shell-dark .admin-form textarea,body.walchem-shell-dark .admin-list-search input,body.walchem-shell-dark .admin-site-assignment select{background:#454545!important;border:1px solid #ffffff24!important;box-shadow:none!important;color:#f8fafc!important}body.walchem-shell-dark .admin-dialog-search input::placeholder,body.walchem-shell-dark .admin-form input::placeholder,body.walchem-shell-dark .admin-form textarea::placeholder,body.walchem-shell-dark .admin-list-search input::placeholder{color:#94a3b8!important}body.walchem-shell-dark .admin-status.is-active,body.walchem-shell-dark .admin-user-status.is-active{background:#14b8a62e!important;color:#99f6e4!important}body.walchem-shell-dark .admin-status.is-muted{background:#ffffff14!important;color:#cbd5e1!important}body.walchem-shell-dark .admin-user-status.is-pending{background:#f59e0b2e!important;color:#fde68a!important}body.walchem-shell-dark .admin-user-action-button--danger,body.walchem-shell-dark .admin-user-status.is-disabled{color:#fecaca!important}body.walchem-shell-dark .admin-user-status.is-disabled{background:#ef44442e!important}body.walchem-shell-dark .admin-settings-pill{background:#ffffff14!important;color:#cbd5e1!important}body.walchem-shell-dark .admin-settings-pill.is-active{background:#14b8a62e!important;color:#99f6e4!important}body.walchem-shell-dark .admin-settings-pill.is-muted{background:#ef44442e!important;color:#fecaca!important}body.walchem-shell-dark .admin-assignment-dialog,body.walchem-shell-dark .admin-controller-option{background:#454545!important;border:1px solid #ffffff24!important;color:#f8fafc!important}body.walchem-shell-dark .admin-selection-tile.is-selected{background:#0d948833!important;border-color:#5eead494!important}body.walchem-shell-dark .admin-address-suggestions{background:#454545!important;border-color:#ffffff24!important}body.walchem-shell-dark .admin-address-suggestions button{border-bottom-color:#ffffff1f!important;color:#f8fafc!important}body.walchem-shell-dark .admin-address-suggestions button:hover{background:#ffffff14!important}body.walchem-shell-dark .admin-site-map{background:linear-gradient(#ffffff0f 1px,#0000 0),linear-gradient(90deg,#ffffff0f 1px,#0000 0),#3a3a3a!important;background-size:44px 44px,44px 44px,100% 100%!important;border-color:#ffffff24!important}body.walchem-shell-dark .admin-assignment-dialog__header h2{color:#f8fafc!important}body.walchem-shell-dark .admin-assignment-dialog__header p,body.walchem-shell-dark .admin-controller-option,body.walchem-shell-dark .admin-site-assignment span{color:#cbd5e1!important}@media (max-width:1100px){.admin-hero{align-items:start;display:grid}.admin-lists,.admin-site-tools{grid-template-columns:1fr}}@media (max-width:768px){.admin-page__content{padding:18px 14px 32px}.admin-form__row{grid-template-columns:1fr}.admin-user-card__edit{width:100%}.admin-user-item__top{flex-direction:column}}.alarm-summary-page{background:linear-gradient(180deg,#f8fafc,#eef4fb);min-height:100vh}.alarm-summary-page__content{margin:0 auto;max-width:1480px;padding:24px 20px 40px}.alarm-summary-hero{align-items:center;background:#ffffffe6;border:1px solid #94a3b829;border-radius:28px;box-shadow:0 20px 40px #0f172a14;display:flex;gap:28px;justify-content:space-between;margin-bottom:24px;padding:26px 28px}.alarm-summary-hero__eyebrow{color:#64748b;font-size:12px;font-weight:800;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}.alarm-summary-hero h1{color:#0f172a;font-size:clamp(30px,4vw,48px);line-height:1.05;margin:0}.alarm-summary-hero__copy{color:#475569;font-size:15px;line-height:1.6;margin:10px 0 0;max-width:700px}.alarm-summary-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(126px,1fr));min-width:min(100%,620px)}.alarm-summary-stat{background:#ffffffe6;border-radius:18px;box-shadow:0 10px 22px #0f172a14;min-width:0;padding:18px}.alarm-summary-stat span{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.alarm-summary-stat strong{color:#0f172a;font-size:28px}.alarm-summary-empty,.alarm-summary-loading{align-items:center;background:#ffffffeb;border:1px solid #94a3b824;border-radius:24px;box-shadow:0 18px 40px #0f172a14;color:#64748b;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:240px}.alarm-summary-empty svg{color:#b91c1c;font-size:28px}.alarm-summary-list{grid-gap:14px;display:grid;gap:14px}.alarm-summary-item{grid-gap:14px;align-items:flex-start;background:#fffffff0;border:1px solid #94a3b824;border-radius:22px;box-shadow:0 16px 32px #0f172a12;display:grid;gap:14px;grid-template-columns:auto minmax(0,1fr);padding:18px 20px}.alarm-summary-item__badge{align-items:center;background:#b91c1c14;border-radius:999px;color:#991b1b;display:inline-flex;font-size:12px;font-weight:800;gap:8px;letter-spacing:.06em;padding:8px 12px;text-transform:uppercase}.alarm-summary-item__body h2{color:#0f172a;font-size:18px;margin:0 0 6px}.alarm-summary-item__body p,.alarm-summary-item__body span{color:#475569;font-size:14px;line-height:1.5;margin:0}body.walchem-shell-dark .alarm-summary-page,body.walchem-shell-dark .alarm-summary-page__content{background:#303030!important;color:#f8fafc!important}body.walchem-shell-dark .alarm-summary-empty,body.walchem-shell-dark .alarm-summary-hero,body.walchem-shell-dark .alarm-summary-item,body.walchem-shell-dark .alarm-summary-loading,body.walchem-shell-dark .alarm-summary-stat{background:#3a3a3a!important;border:1px solid #ffffff24!important;box-shadow:none!important;color:#f8fafc!important}body.walchem-shell-dark .alarm-summary-hero{border-radius:28px;padding:26px 28px}body.walchem-shell-dark .alarm-summary-empty p,body.walchem-shell-dark .alarm-summary-hero__copy,body.walchem-shell-dark .alarm-summary-hero__eyebrow,body.walchem-shell-dark .alarm-summary-item__body p,body.walchem-shell-dark .alarm-summary-item__body span,body.walchem-shell-dark .alarm-summary-loading,body.walchem-shell-dark .alarm-summary-stat span{color:#cbd5e1!important}body.walchem-shell-dark .alarm-summary-empty h2,body.walchem-shell-dark .alarm-summary-hero h1,body.walchem-shell-dark .alarm-summary-item__body h2,body.walchem-shell-dark .alarm-summary-stat strong{color:#f8fafc!important}body.walchem-shell-dark .alarm-summary-item__badge{background:#f8717129!important;color:#fecaca!important}@media (max-width:1100px){.alarm-summary-hero{align-items:start;display:grid}.alarm-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}}@media (max-width:768px){.alarm-summary-page__content{padding:18px 14px 32px}.alarm-summary-item,.alarm-summary-stats{grid-template-columns:1fr}}.account-page{background:linear-gradient(180deg,#f8fafc,#eef4fb);min-height:100vh}.account-page__content{margin:0 auto;max-width:1480px;padding:24px 20px 40px}.account-hero{align-items:flex-end;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px}.account-hero__eyebrow{color:#64748b;font-size:12px;font-weight:800;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}.account-hero h1{color:#0f172a;font-size:clamp(30px,4vw,48px);line-height:1.05;margin:0}.account-hero__copy{color:#475569;font-size:15px;line-height:1.6;margin:10px 0 0;max-width:720px}.account-controller-card,.account-empty,.account-loading,.account-profile-card,.account-settings-card,.account-summary-card{background:#fffffff0;border:1px solid #94a3b824;box-shadow:0 18px 40px #0f172a14}.account-profile-card{align-items:center;border-radius:20px;display:flex;gap:12px;min-width:280px;padding:16px 18px}.account-profile-card svg{color:#1c3969;flex:0 0 auto;font-size:24px}.account-profile-card div{grid-gap:4px;display:grid;gap:4px;min-width:0}.account-profile-card span,.account-profile-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-profile-card strong{color:#0f172a;font-size:14px}.account-profile-card span{color:#64748b;font-size:12px;font-weight:700}.account-summary-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,220px));margin-bottom:20px}.account-summary-card{border-radius:18px;min-width:0;padding:18px}.account-summary-card span{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.account-summary-card strong{color:#0f172a;font-size:28px;line-height:1}.account-settings-form{grid-gap:18px;display:grid;gap:18px}.account-settings-card{border-radius:18px;padding:20px}.account-settings-card__header{align-items:flex-start;display:flex;gap:12px;margin-bottom:18px}.account-settings-card__header svg{color:#1c3969;flex:0 0 auto;font-size:20px;margin-top:2px}.account-settings-card__header h2{color:#0f172a;font-size:20px;margin:0}.account-settings-card__header p{color:#64748b;font-size:14px;line-height:1.5;margin:4px 0 0}.account-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.account-field,.account-form-grid label{display:flex;flex-direction:column;gap:8px}.account-field--wide{grid-column:1/-1}.account-field>span,.account-form-grid span{color:#334155;font-size:13px;font-weight:800}.account-form-grid input,.account-form-grid select{background:#fff;border:1px solid #94a3b83d;border-radius:12px;color:#0f172a;font-size:14px;padding:12px 14px;width:100%}.account-form-grid input:disabled{background:#f8fafc;color:#64748b}.account-form-grid input:focus,.account-form-grid select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.account-checkbox-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.account-checkbox-option{align-items:center;background:#fff;border:1px solid #94a3b838;border-radius:12px;color:#334155;cursor:pointer;display:inline-flex!important;flex-direction:row!important;gap:10px;min-height:46px;padding:10px 12px}.account-checkbox-option input{flex:0 0 auto;height:16px;width:16px}.account-checkbox-option:has(input:checked){background:#eef6ff;border-color:#1c39695c}.account-checkbox-option span{min-width:0;overflow-wrap:anywhere}.account-toggle-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.account-toggle-row label{align-items:center;background:#0f172a08;border:1px solid #94a3b833;border-radius:12px;color:#334155;display:inline-flex;font-size:13px;font-weight:800;gap:10px;padding:10px 12px}.account-toggle-row input{height:16px;width:16px}.account-toggle-row span{align-items:center;display:inline-flex;gap:8px}.account-form-actions{display:flex;justify-content:flex-end}.account-save-button{align-items:center;background:#1c3969;border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:800;gap:8px;justify-content:center;padding:12px 16px}.account-save-button:disabled{cursor:wait;opacity:.7}.account-empty,.account-loading{align-items:center;border-radius:24px;color:#64748b;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:220px}.account-empty svg{color:#64748b;font-size:28px}.account-empty h2,.account-empty p{margin:0}.account-controller-list{grid-gap:12px;display:grid;gap:12px}.account-controller-card{align-items:center;border-radius:18px;display:flex;gap:16px;justify-content:space-between;padding:18px 20px}.account-controller-card__main{align-items:flex-start;display:flex;gap:14px;min-width:0}.account-controller-card__status{align-items:center;border-radius:999px;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:900;gap:8px;justify-content:center;min-width:86px;padding:8px 10px;text-transform:uppercase}.account-controller-card__status.is-on{background:#e9f8ef;border:1px solid #b8ebcb;color:#1e7a44}.account-controller-card__status.is-off{background:#f1f5f9;border:1px solid #dbe4ef;color:#64748b}.account-controller-card h2{color:#0f172a;font-size:17px;margin:0 0 4px}.account-controller-card p,.account-controller-card span{color:#64748b;font-size:13px;line-height:1.5;margin:0}.account-toggle-button{border:0;border-radius:8px;color:#fff;cursor:pointer;flex:0 0 auto;font-size:13px;font-weight:800;min-width:106px;padding:10px 14px}.account-toggle-button.is-on{background:#64748b}.account-toggle-button.is-off{background:#667eea}.account-toggle-button:disabled{cursor:wait;opacity:.7}body.walchem-shell-dark .account-page,body.walchem-shell-dark .account-page__content{background:#303030!important;color:#f8fafc!important}body.walchem-shell-dark .account-controller-card,body.walchem-shell-dark .account-empty,body.walchem-shell-dark .account-loading,body.walchem-shell-dark .account-profile-card,body.walchem-shell-dark .account-settings-card,body.walchem-shell-dark .account-summary-card{background:#3a3a3a!important;border-color:#ffffff24!important;box-shadow:none!important;color:#f8fafc!important}body.walchem-shell-dark .account-controller-card h2,body.walchem-shell-dark .account-hero h1,body.walchem-shell-dark .account-profile-card strong,body.walchem-shell-dark .account-settings-card__header h2,body.walchem-shell-dark .account-summary-card strong{color:#f8fafc!important}body.walchem-shell-dark .account-controller-card p,body.walchem-shell-dark .account-controller-card span,body.walchem-shell-dark .account-empty,body.walchem-shell-dark .account-form-grid span,body.walchem-shell-dark .account-hero__copy,body.walchem-shell-dark .account-hero__eyebrow,body.walchem-shell-dark .account-loading,body.walchem-shell-dark .account-profile-card span,body.walchem-shell-dark .account-settings-card__header p,body.walchem-shell-dark .account-summary-card span{color:#cbd5e1!important}body.walchem-shell-dark .account-form-grid input,body.walchem-shell-dark .account-form-grid select{background:#454545!important;border-color:#ffffff24!important;color:#f8fafc!important}body.walchem-shell-dark .account-form-grid input:disabled{color:#94a3b8!important}body.walchem-shell-dark .account-toggle-row label{background:#454545!important;border-color:#ffffff24!important;color:#f8fafc!important}@media (max-width:820px){.account-controller-card,.account-hero{align-items:stretch;flex-direction:column}.account-form-grid{grid-template-columns:1fr}.account-profile-card{min-width:0}.account-summary-grid{grid-template-columns:1fr}.account-toggle-button{width:100%}}.home-page{min-height:100vh}.home-page__content{margin:0 auto;max-width:1400px;padding:24px 20px 36px}.home-favorites,.home-hero,.home-stats{background:#ffffffe0;border:1px solid #94a3b829;border-radius:28px;box-shadow:0 20px 40px #0f172a14}.home-hero{align-items:center;display:flex;gap:18px;justify-content:space-between;padding:26px 28px}.home-hero__eyebrow{color:#177a90;font-size:16px;font-weight:800;letter-spacing:.16em;margin:0 0 8px;text-transform:uppercase}.home-hero h1{color:#0f172a;font-size:38px;line-height:1.05;margin:0}.home-hero__copy{color:#475569;font-size:16px;margin:10px 0 0;max-width:720px}.home-stats{grid-gap:14px;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}.home-stat,.home-stats{display:grid;padding:18px}.home-stat{grid-gap:8px;background:linear-gradient(180deg,#ffffffe6,#f8fafcf2);border:1px solid #94a3b81f;border-radius:22px;color:#0f172a;gap:8px}.home-stat svg{color:#177a90}.home-stat span{color:#64748b;font-size:13px;font-weight:700}.home-stat strong{font-size:34px;line-height:1}.home-stat--online svg{color:#16a34a}.home-stat--offline svg{color:#dc2626}.home-stat--alarm svg{color:#d97706}.home-loading{background:#ffffffe0;border-radius:22px;color:#64748b;margin-top:18px;padding:24px}.home-favorites{margin-top:18px;padding:20px}.home-section-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.home-section-heading h2{color:#0f172a;font-size:24px;margin:0}.home-section-heading>span{align-items:center;background:#eef6ff;border-radius:999px;color:#1c3969;display:inline-flex;font-weight:800;height:34px;justify-content:center;min-width:34px;padding:0 10px}.home-favorites-empty{background:#f8fafc;border-radius:8px;color:#64748b;font-weight:700;padding:18px}.home-favorites-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.home-favorite-card{align-items:stretch;background:#fff;border:1px solid #94a3b82e;border-radius:8px;color:#0f172a;cursor:pointer;display:flex;flex-direction:column;gap:9px;min-height:172px;padding:16px;text-align:left;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.home-favorite-card:focus-visible,.home-favorite-card:hover{border-color:#1c396957;box-shadow:0 12px 26px #0f172a1a;outline:none;transform:translateY(-1px)}.home-favorite-card.has-alarms{background:#fffbeb;border-color:#d9770659}.home-favorite-card__top{align-items:center;display:flex;gap:12px;justify-content:space-between}.home-favorite-card__top svg{fill:currentColor;color:#d97706}.home-favorite-card strong{color:#0f172a;font-size:16px;line-height:1.25}.home-favorite-card span{color:#64748b;font-size:13px;font-weight:700}.home-favorite-card p{color:#334155;font-size:13px;font-weight:800;margin:auto 0 0}.home-favorite-status{align-items:center;border-radius:999px;display:inline-flex;font-size:11px!important;font-weight:800!important;min-height:24px;padding:4px 9px}.home-favorite-status.online{background:#e8f5e9;color:#2e7d32}.home-favorite-status.offline{background:#ffebee;color:#c62828}.home-favorite-status.unknown{background:#eee;color:#616161}body.walchem-shell-dark .home-favorites,body.walchem-shell-dark .home-hero,body.walchem-shell-dark .home-loading,body.walchem-shell-dark .home-stats{background:#3a3a3a!important;border:1px solid #ffffff24!important;box-shadow:none!important;color:#f8fafc!important}body.walchem-shell-dark .home-stat{background:#3a3a3a!important;border:1px solid #ffffff24!important;color:#f8fafc!important}body.walchem-shell-dark .home-favorite-card strong,body.walchem-shell-dark .home-hero h1,body.walchem-shell-dark .home-section-heading h2,body.walchem-shell-dark .home-stat strong{color:#f8fafc!important}body.walchem-shell-dark .home-favorite-card span,body.walchem-shell-dark .home-favorites-empty,body.walchem-shell-dark .home-hero__copy,body.walchem-shell-dark .home-loading,body.walchem-shell-dark .home-stat span{color:#cbd5e1!important}body.walchem-shell-dark .home-favorite-card,body.walchem-shell-dark .home-favorites-empty{background:#2f2f2f!important;border-color:#ffffff24!important}body.walchem-shell-dark .home-favorite-card p{color:#e5e7eb!important}@media (max-width:1200px){.home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{align-items:flex-start;flex-direction:column}}@media (max-width:720px){.home-page__content{padding:16px 14px 24px}.home-hero h1{font-size:30px}.home-stats{grid-template-columns:1fr}}.device-selection{background:#f5f5f5;min-height:100vh}.facility-filter-dropdown{min-width:280px;position:relative}.facility-filter-toggle{align-items:center;background:#fff;border:1px solid #1c396924;border-radius:8px;box-shadow:0 8px 20px #0f172a0f;color:#0f172a;cursor:pointer;display:inline-flex;font-size:13px;gap:12px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;width:100%}.facility-filter-toggle:focus-visible,.facility-filter-toggle:hover{border-color:#1c396957;box-shadow:0 12px 26px #0f172a1a;outline:none}.facility-filter-icon{align-items:center;background:#eef6ff;border-radius:8px;color:#1c3969;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.facility-filter-copy{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.facility-filter-label{color:#64748b;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.facility-filter-value{color:#0f172a;font-weight:800;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-filter-chevron{color:#64748b;flex:0 0 auto;transition:transform .2s ease}.facility-filter-chevron.open{transform:rotate(180deg)}.facility-filter-menu{background:#fff;border:1px solid #94a3b838;border-radius:8px;box-shadow:0 18px 40px #0f172a29;min-width:320px;padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:140}.facility-filter-menu-header{align-items:center;border-bottom:1px solid #94a3b829;display:flex;gap:14px;justify-content:space-between;margin-bottom:8px;padding:8px 8px 10px}.facility-filter-menu-header div{display:flex;flex-direction:column;gap:3px;min-width:0}.facility-filter-menu-header strong{color:#0f172a;font-size:14px}.facility-filter-menu-header span{color:#64748b;font-size:12px;font-weight:700}.facility-filter-clear{align-items:center;background:#f8fafc;border:1px solid #94a3b838;border-radius:8px;color:#334155;cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:6px;padding:8px 10px}.facility-filter-clear:disabled{cursor:not-allowed;opacity:.5}.facility-filter-options{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto;padding-right:2px}.facility-filter-option{grid-gap:10px;align-items:center;background:#fff;border:1px solid #0000;border-radius:8px;color:#0f172a;cursor:pointer;display:grid;font-size:13px;font-weight:700;gap:10px;grid-template-columns:24px minmax(0,1fr);line-height:1.3;padding:9px 10px;text-align:left;transition:background .2s ease,border-color .2s ease}.facility-filter-option:hover{background:#f8fafc;border-color:#94a3b82e}.facility-filter-option.checked{background:#eef6ff;border-color:#1c396933;color:#1c3969}.facility-filter-checkbox{opacity:0;pointer-events:none;position:absolute}.facility-filter-check{align-items:center;background:#94a3b81f;border-radius:999px;color:#0000;display:inline-flex;grid-column:1;height:22px;justify-content:center;width:22px}.facility-filter-check+span{display:block;min-width:0;overflow-wrap:anywhere}.facility-filter-option.checked .facility-filter-check{background:#1c3969;color:#fff}.device-selection-content{margin:0 auto;max-width:1400px;padding:30px 20px}.device-selection-toolbar{grid-gap:12px;background:#ffffffeb;border:1px solid #94a3b829;border-radius:8px;box-shadow:0 12px 30px #0f172a0f;display:grid;gap:12px;margin-bottom:18px;padding:14px}.device-selection-toolbar__main{align-items:center;display:flex;gap:16px;justify-content:space-between}.device-selection-toolbar__copy{display:flex;flex-direction:column;gap:3px;min-width:0}.device-selection-toolbar__copy span{color:#64748b;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.device-selection-toolbar__copy strong{color:#0f172a;font-size:18px;line-height:1.2}.facility-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.facility-filter-chip{align-items:center;background:#eef6ff;border:1px solid #1c396924;border-radius:999px;color:#1c3969;cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:7px;max-width:260px;min-height:30px;padding:6px 10px 6px 12px}.facility-filter-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-filter-chip svg{flex:0 0 auto}.loading-text{color:#666;font-size:12px;font-style:italic}.load-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background .3s;white-space:nowrap}.load-button:hover:not(:disabled){background:#5568d3}.load-button:disabled{cursor:not-allowed;opacity:.6}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-top-color:#667eea;height:40px;margin:0 auto 20px;width:40px}.devices-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.devices-table{border-collapse:collapse;font-size:14px;table-layout:fixed;width:100%}.devices-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.devices-table td,.devices-table th{border-bottom:1px solid #e9ecef;box-sizing:border-box;padding:14px 12px;text-align:left;vertical-align:middle}.devices-table tbody tr{height:84px}.devices-table th{color:#495057;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.devices-table-row{cursor:pointer;transition:background .2s ease}.devices-table-row:focus-visible,.devices-table-row:hover{background:#f3f5ff;outline:none}.devices-table-row.has-alarms{background:#fff7f7}.devices-table-row.has-alarms:focus-visible,.devices-table-row.has-alarms:hover{background:#ffecec}.devices-table-row.online{border-left:4px solid #4caf50}.devices-table-row.offline{border-left:4px solid #f44336}.devices-table-row.unknown{border-left:4px solid #9e9e9e}.status-badge{border-radius:999px;font-size:11px;font-weight:700;padding:4px 10px;text-transform:uppercase}.status-badge.online{background:#e8f5e9;color:#2e7d32}.status-badge.offline{background:#ffebee;color:#c62828}.status-badge.unknown{background:#eee;color:#616161}.facility-cell{min-width:0}.facility-stack{display:flex;flex-direction:column;gap:4px;min-width:0}.facility-name{color:#111827;font-size:15px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.serial-cell{color:#6b7280}.serial-value{color:#9ca3af;display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favorite-button{align-items:center;background:#fff;border:1px solid #dbe0eb;border-radius:8px;color:#94a3b8;cursor:pointer;display:inline-flex;height:36px;justify-content:center;transition:color .2s ease,border-color .2s ease,background .2s ease;width:36px}.favorite-button:focus-visible,.favorite-button:hover{border-color:#d97706;color:#d97706;outline:none}.favorite-button.active{background:#fffbeb;border-color:#fbbf24;color:#d97706}.favorite-button.active svg{fill:currentColor}.alarms-loading{color:#666;font-size:12px}.alarm-cell{display:flex;flex-direction:column;gap:6px;min-height:44px}.alarm-cell-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;gap:8px;letter-spacing:.4px;padding:8px 12px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.alarm-cell-active .alarm-cell-badge{background:#ffe8ea;border:1px solid #f3b7bd;color:#b42318}.alarm-cell-clear .alarm-cell-badge{background:#e9f8ef;border:1px solid #b8ebcb;color:#1e7a44}.alarm-preview{color:#7a1c23;display:block;font-size:12px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alarm-dot{background:currentColor;border-radius:50%;height:8px;width:8px}.devices-table td:first-child,.devices-table th:first-child{width:92px}.devices-table td:nth-child(2),.devices-table th:nth-child(2){width:120px}.devices-table td:nth-child(3),.devices-table th:nth-child(3){width:40%}.devices-table td:nth-child(4),.devices-table th:nth-child(4){width:20%}.devices-table td:nth-child(5),.devices-table th:nth-child(5){width:30%}@media (max-width:768px){.facility-filter-dropdown{min-width:0;width:100%}.facility-filter-toggle{justify-content:space-between;width:100%}.facility-filter-menu{left:0;min-width:0;right:auto;width:100%}.device-selection-toolbar{align-items:stretch}.device-selection-toolbar__main{align-items:stretch;flex-direction:column}.facility-filter-value{max-width:100%}.devices-table td,.devices-table th{padding:12px 10px}.devices-table tbody tr{height:92px}}@media (max-width:480px){.device-selection-content{padding:20px 10px}.devices-table tbody tr{height:auto}.alarm-cell-badge{font-size:11px;padding:7px 10px}}.water-chemistry-cards{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:24px}.current-readings-header{align-items:flex-start;display:flex;flex-direction:row;gap:16px;justify-content:space-between;margin-bottom:20px}.current-readings-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;justify-content:flex-end}.subscription-status{align-items:center;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:10px;color:#6b7280;display:inline-flex;font-size:10px;font-weight:700;min-height:32px;padding:6px 8px;text-transform:uppercase;white-space:nowrap}.subscription-status.subscribed{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.subscription-status.unsubscribed{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.live-data-block{align-items:center;border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font:inherit;gap:8px;min-height:40px;min-width:120px;padding:9px 14px;text-align:left;transition:background .2s ease,transform .2s ease}.live-data-block,.live-data-block.connected,.live-data-block.disconnected{background:#1c3969}.live-data-block:hover:not(:disabled){background:#122a51;transform:translateY(-1px)}.live-data-block:disabled{cursor:not-allowed;opacity:.68}.live-data-icon{align-items:center;color:#fff;display:flex;flex-shrink:0;font-size:14px;justify-content:center}.live-data-block.connected .live-data-icon,.live-data-block.disconnected .live-data-icon{color:#fff}.live-data-copy{display:flex;flex-direction:column;gap:0;min-width:0}.live-data-label{color:#fff;font-size:13px;font-weight:800;letter-spacing:0;text-transform:none}.current-readings-title-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.section-title{color:#333;font-size:20px;font-weight:600;margin:0}.section-subtitle{color:#6b7280;font-size:13px;line-height:1.45;margin:0;max-width:680px}.current-readings-body{display:block}.cards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.reading-card{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s}.reading-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.reading-card:focus-visible{border-color:#667eea;box-shadow:0 0 0 3px #667eea33;outline:none}.reading-card.active{background:#f3f5ff;border-color:#667eea}.card-icon{flex-shrink:0;font-size:32px}.card-content{flex:1 1}.card-label{color:#666;font-size:14px;font-weight:500;margin:0 0 8px}.card-value{color:#333;font-size:24px;font-weight:700;margin:0}.empty-state,.loading-state{color:#999;padding:40px 20px;text-align:center}.loading-state .spinner{margin:0 auto 16px}@media (max-width:768px){.current-readings-header{flex-direction:column}.current-readings-body{display:block}.live-data-block{width:-webkit-fit-content;width:fit-content}.cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.cards-grid{grid-template-columns:1fr}.reading-card{padding:16px}.card-value{font-size:20px}}.trend-charts{animation:trendReveal .28s ease-out;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:24px}@keyframes trendReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.trend-charts{animation:none}}.charts-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.time-range-selector{align-items:center;background:#f5f5f5;border-radius:8px;display:flex;gap:8px;padding:8px 12px}.charts-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.graph-loading-button{align-items:center;background:#eef2ff;border:1px solid #d4d9ea;border-radius:8px;color:#2d3f77;cursor:not-allowed;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:8px 12px}.graph-loading-spinner{animation:spin .8s linear infinite;border:2px solid #2d3f7733;border-radius:50%;border-top-color:#2d3f77;height:14px;width:14px}.time-range-selector select{background:#0000;border:none;color:#333;cursor:pointer;font-size:14px;outline:none}.axis-assignment-panel{background:#fafbff;border:1px solid #e6e8ef;border-radius:12px;margin-bottom:16px;padding:16px}.axis-assignment-header h3{color:#333;font-size:15px;margin:0 0 4px}.axis-assignment-header p{color:#666;font-size:13px;margin:0 0 12px}.axis-assignment-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.axis-assignment-item{align-items:center;background:#fff;border:1px solid #e4e7ef;border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.axis-assignment-label{color:#333;font-size:13px;font-weight:600}.axis-assignment-select{background:#fff;border:1px solid #d9d9d9;border-radius:8px;color:#333;font-size:13px;padding:6px 10px}.charts-container{display:flex;flex-direction:column;gap:24px}.chart-card{width:100%}.chart-card h3{color:#333;font-size:16px;font-weight:600;margin:0 0 16px}.history-list{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto}.history-item{align-items:center;background:#fafafa;border:1px solid #ececec;border-radius:8px;display:flex;gap:10px;padding:10px 12px}.history-badge{border-radius:999px;font-size:12px;font-weight:700;padding:4px 8px}.history-badge.on{background:#e6f6ea;color:#2f8a45}.history-badge.off{background:#fdebec;color:#b23a48}.history-time{color:#555;font-size:13px}.empty-state,.loading-state{align-items:center;color:#666;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.empty-state{text-align:center}.loading-state .spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}@media (max-width:768px){.trend-charts{padding:16px}.charts-header{align-items:flex-start;flex-direction:column}.charts-controls,.time-range-selector{width:100%}.graph-loading-button{justify-content:center;width:100%}.axis-assignment-item{align-items:flex-start;flex-direction:column}.axis-assignment-select{width:100%}}.dashboard{background:#f5f5f5;min-height:100vh}.dashboard-loading{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:100vh}.dashboard-loading .spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:50px;width:50px}.dashboard-content{margin:0 auto;max-width:1600px;padding:20px}.dashboard-main{display:flex;flex-direction:column;gap:20px}.controller-action-bar{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 4px #0f172a0f;display:flex;gap:16px;justify-content:space-between;padding:14px 16px}.controller-action-copy{min-width:0}.controller-action-title{color:#111827;font-size:16px;font-weight:800;margin:0}.controller-action-copy span{color:#6b7280;display:block;font-size:13px;margin-top:3px}.live-connect-button{align-items:center;background:#1c3969;border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:800;gap:8px;justify-content:center;min-height:40px;padding:9px 14px;transition:background .2s ease,transform .2s ease;white-space:nowrap}.live-connect-button:hover:not(:disabled){background:#122a51;transform:translateY(-1px)}.live-connect-button:disabled{cursor:not-allowed;opacity:.68}.graph-favorites-panel{background:#fff;border-radius:12px;box-shadow:0 2px 4px #00000014;padding:18px 20px}.graph-favorites-header h2{color:#333;font-size:20px;margin:0}.graph-favorites-subtitle{color:#6b7280;font-size:13px;margin:8px 0 14px}.graph-favorites-save-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.graph-favorite-name-input{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:13px;min-width:220px;padding:8px 10px}.graph-favorite-name-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1f;outline:none}.graph-favorites-save-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:9px 14px}.graph-favorites-save-button:hover{background:#5568d3}.graph-favorites-empty{color:#666;font-size:14px;margin:0}.graph-favorites-list{display:flex;flex-direction:column;gap:10px}.graph-favorite-item{align-items:center;background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.graph-favorite-main{min-width:0}.graph-favorite-name{color:#333;font-size:14px;font-weight:700;margin:0}.graph-favorite-meta{color:#6b7280;font-size:12px;margin:4px 0 0}.graph-favorite-actions{display:flex;gap:8px}.graph-favorite-apply,.graph-favorite-delete{border:none;border-radius:7px;cursor:pointer;font-size:12px;font-weight:700;padding:7px 10px}.graph-favorite-apply{background:#e8f5e9;color:#2e7d32}.graph-favorite-delete{background:#ffebee;color:#c62828}.thresholds-panel{background:#fff;border-radius:12px;box-shadow:0 2px 4px #00000014;padding:18px 20px}.thresholds-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.thresholds-header h2{color:#333;font-size:20px;margin:0}.thresholds-save-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:9px 14px}.thresholds-save-button:hover{background:#5568d3}.thresholds-subtitle{color:#6b7280;font-size:13px;margin:8px 0 14px}.thresholds-empty{color:#666;font-size:14px;margin:0}.thresholds-table-wrap{overflow-x:auto}.thresholds-table{border-collapse:collapse;table-layout:fixed;width:100%}.thresholds-table td,.thresholds-table th{border-bottom:1px solid #e5e7eb;font-size:13px;padding:10px 8px;text-align:left;vertical-align:middle}.thresholds-table th{color:#6b7280;font-size:11px;letter-spacing:.4px;text-transform:uppercase}.threshold-input{border:1px solid #d1d5db;border-radius:6px;font-size:13px;max-width:120px;padding:7px 8px;width:100%}.threshold-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1f;outline:none}.threshold-state{border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;padding:4px 9px}.threshold-high,.threshold-low{background:#ffebee;color:#c62828}.threshold-high-high,.threshold-low-low{background:#c62828;color:#fff}.threshold-ok{background:#e8f5e9;color:#2e7d32}.threshold-unset{background:#f3f4f6;color:#6b7280}.threshold-triggered{background:#ffebee;color:#c62828}.threshold-armed{background:#fff8e1;color:#ef6c00}.dashboard-alarms-panel{background:#fff;border-radius:12px;box-shadow:0 2px 4px #00000014;padding:18px 20px}.dashboard-alarms-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.dashboard-alarms-header h2{color:#333;font-size:20px;margin:0}.alarms-count-badge{border-radius:999px;font-size:12px;font-weight:700;padding:6px 10px}.alarms-count-badge.active{background:#ffebee;color:#c62828}.alarms-count-badge.clear{background:#e8f5e9;color:#2e7d32}.dashboard-alarms-empty{color:#666;font-size:14px;margin:0}.dashboard-alarms-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.dashboard-alarm-item{background:#fafafa;border:1px solid #efefef;border-radius:8px;display:flex;gap:14px;justify-content:space-between;padding:10px 12px}.dashboard-alarm-main{min-width:0}.dashboard-alarm-title{color:#333;font-size:14px;font-weight:600;margin:0}.dashboard-alarm-message{color:#666;font-size:12px;margin:4px 0 0}.dashboard-alarm-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.dashboard-alarm-severity{background:#e3f2fd;border-radius:999px;color:#1565c0;font-size:11px;font-weight:700;padding:3px 8px;text-transform:uppercase}.dashboard-alarm-severity.severity-critical,.dashboard-alarm-severity.severity-high{background:#ffebee;color:#c62828}.dashboard-alarm-severity.severity-medium,.dashboard-alarm-severity.severity-warning{background:#fff8e1;color:#ef6c00}.dashboard-alarm-severity.severity-info,.dashboard-alarm-severity.severity-low{background:#e8f5e9;color:#2e7d32}.dashboard-alarm-type{background:#eef2ff;border-radius:999px;color:#3730a3;font-size:11px;font-weight:700;padding:3px 8px;text-transform:uppercase}.dashboard-alarm-time{color:#777;font-size:11px}@media (max-width:768px){.controller-action-bar{align-items:stretch;flex-direction:column}.live-connect-button{width:100%}.graph-favorite-item,.thresholds-header{align-items:flex-start;flex-direction:column}.dashboard-content{padding:10px}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-container{align-items:center;background:radial-gradient(circle at top left,#22d3ee3d,#0000 32%),radial-gradient(circle at bottom right,#f59e0b2e,#0000 30%),linear-gradient(135deg,#07111f,#091424 48%,#0d1726);display:flex;justify-content:center;min-height:100vh;padding:24px}.login-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#07111fe0;border:1px solid #94a3b82e;border-radius:28px;box-shadow:0 30px 80px #0206176b;color:#e5eefb;max-width:460px;overflow:hidden;padding:44px;position:relative;width:100%}.login-card:before{background:radial-gradient(circle,#22d3ee38 0,#22d3ee00 72%);border-radius:50%;content:"";height:180px;left:-80px;pointer-events:none;position:absolute;top:-80px;width:180px}.login-card>*{position:relative;z-index:1}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#f8fafc;font-size:40px;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.login-header p{color:#8ea1bf;font-size:12px;letter-spacing:.18em;text-transform:uppercase}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{align-items:center;color:#d7e2f1;display:flex;font-size:14px;font-weight:500;gap:8px}.form-group label .icon{color:#22d3ee}.form-group input{background:#0f172aeb;border:1px solid #94a3b838;border-radius:14px;color:#f8fafc;font-size:16px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.form-group input::placeholder{color:#64748b}.form-group input:focus{border-color:#22d3ee;box-shadow:0 0 0 4px #22d3ee24;outline:none}.login-button{align-items:center;background:linear-gradient(135deg,#14b8a6,#22d3ee 48%,#f59e0b);border:none;border-radius:14px;color:#08111f;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;margin-top:10px;padding:14px;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){box-shadow:0 18px 38px #14b8a657;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6}.login-reset-link{align-self:center;background:#0000;border:0;color:#8ea1bf;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;justify-content:center;margin-top:2px;padding:4px 0 0;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease,transform .2s ease,opacity .2s ease}.login-reset-link:hover:not(:disabled){color:#d7e2f1;transform:translateY(-1px)}.login-reset-link:disabled{cursor:not-allowed;opacity:.55;text-decoration:none}.login-footer{margin-top:20px;text-align:center}.login-footer .note{color:#8ea1bf;font-size:12px;font-style:italic}@media (max-width:480px){.login-card{padding:32px 22px}.login-header h1{font-size:32px}}.App{background:linear-gradient(180deg,#f8fafc,#eef4fb);min-height:100vh;width:100%}body{background:#eef4fb;margin:0}.container{margin:0 auto;max-width:1400px;padding:20px}.loading-state{align-items:center;color:#8ea1bf;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:28px 0}.spinner{animation:app-spin .85s linear infinite;border:3px solid #94a3b83d;border-radius:50%;border-top-color:#22d3ee;height:36px;width:36px}@keyframes app-spin{to{transform:rotate(1turn)}}@media (max-width:768px){.container{padding:10px}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 #0000001a,0 2px 15px 0 #0000000d;box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1;word-break:break-word}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}