:root{--sc-accent: #f97316;--sc-accent-hover: #ea580c;--sc-accent-2: #fb923c;--sc-accent-deep: #ea580c;--sc-accent-contrast: #ffffff;--sc-accent-grad: linear-gradient(135deg, #fb923c 0%, #f97316 52%, #ea580c 100%);--sc-accent-soft: color-mix(in srgb, var(--sc-accent) 14%, transparent);--sc-bg: #f6f6f4;--sc-fg: #1c1917;--sc-muted: #6b7280;--sc-surface: #ffffff;--sc-surface-2: #ffffff;--sc-border: rgb(17 24 39 / .1);--sc-glass: rgb(255 255 255 / .62);--sc-glass-2: rgb(255 255 255 / .8);--sc-glass-border: rgb(17 24 39 / .08);--sc-input-bg: rgb(255 255 255 / .72);--sc-mesh: radial-gradient(1100px 620px at 12% -8%, rgb(249 115 22 / .1), transparent 60%), radial-gradient(1000px 700px at 112% 4%, rgb(56 128 255 / .08), transparent 55%), radial-gradient(900px 820px at 50% 120%, rgb(249 115 22 / .05), transparent 60%), linear-gradient(180deg, #f8f7f5, #eceef1);--sc-success: #16a34a;--sc-warning: #d97706;--sc-danger: #dc2626;--sc-info: #2563eb;--sc-radius: 14px;--sc-radius-sm: 10px;--sc-blur: 16px;--sc-shadow: 0 10px 30px -14px rgb(17 24 39 / .28);--sc-shadow-lg: 0 26px 56px -20px rgb(17 24 39 / .32);--sc-glow: 0 10px 26px -8px rgb(249 115 22 / .45);--sc-ring: 0 0 0 3px rgb(249 115 22 / .3);color-scheme:light}:root[data-theme=dark]{--sc-bg: #0a0b0f;--sc-fg: #f4f4f5;--sc-muted: #9aa1ac;--sc-surface: #14161c;--sc-surface-2: #1b1e27;--sc-border: rgb(255 255 255 / .08);--sc-glass: rgb(255 255 255 / .045);--sc-glass-2: rgb(255 255 255 / .075);--sc-glass-border: rgb(255 255 255 / .09);--sc-input-bg: rgb(255 255 255 / .04);--sc-mesh: radial-gradient(1200px 700px at 6% -8%, rgb(249 115 22 / .22), transparent 58%), radial-gradient(1100px 780px at 116% 6%, rgb(56 128 255 / .17), transparent 56%), radial-gradient(820px 820px at 90% 120%, rgb(45 212 191 / .1), transparent 60%), radial-gradient(700px 700px at 45% 50%, rgb(249 115 22 / .05), transparent 60%), linear-gradient(180deg, #0b0d12, #0a0b0f);--sc-success: #22c55e;--sc-warning: #f59e0b;--sc-danger: #ef4444;--sc-info: #3b82f6;--sc-shadow: 0 14px 38px -16px rgb(0 0 0 / .7);--sc-shadow-lg: 0 30px 64px -22px rgb(0 0 0 / .78);--sc-glow: 0 12px 30px -8px rgb(249 115 22 / .5);color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--sc-bg: #0a0b0f;--sc-fg: #f4f4f5;--sc-muted: #9aa1ac;--sc-surface: #14161c;--sc-surface-2: #1b1e27;--sc-border: rgb(255 255 255 / .08);--sc-glass: rgb(255 255 255 / .045);--sc-glass-2: rgb(255 255 255 / .075);--sc-glass-border: rgb(255 255 255 / .09);--sc-input-bg: rgb(255 255 255 / .04);--sc-mesh: radial-gradient(1200px 700px at 6% -8%, rgb(249 115 22 / .22), transparent 58%), radial-gradient(1100px 780px at 116% 6%, rgb(56 128 255 / .17), transparent 56%), radial-gradient(820px 820px at 90% 120%, rgb(45 212 191 / .1), transparent 60%), radial-gradient(700px 700px at 45% 50%, rgb(249 115 22 / .05), transparent 60%), linear-gradient(180deg, #0b0d12, #0a0b0f);--sc-success: #22c55e;--sc-warning: #f59e0b;--sc-danger: #ef4444;--sc-info: #3b82f6;--sc-shadow: 0 14px 38px -16px rgb(0 0 0 / .7);--sc-shadow-lg: 0 30px 64px -22px rgb(0 0 0 / .78);--sc-glow: 0 12px 30px -8px rgb(249 115 22 / .5)}}*{box-sizing:border-box}html{scrollbar-color:var(--sc-glass-border) transparent}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--sc-bg);color:var(--sc-fg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--sc-mesh);background-attachment:fixed;pointer-events:none}::selection{background:color-mix(in srgb,var(--sc-accent) 35%,transparent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--sc-glass-border);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--sc-accent) 45%,transparent)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:1rem 1.5rem;border-bottom:1px solid var(--sc-glass-border)}.brand{font-weight:700;color:var(--sc-accent);letter-spacing:-.01em}.app-main{flex:1;padding:2.5rem 1.5rem;max-width:72rem;margin:0 auto;width:100%}.app-main h1{margin:0 0 .5rem}.app-main p{color:var(--sc-muted)}.app-footer{padding:1rem 1.5rem;border-top:1px solid var(--sc-glass-border);color:var(--sc-muted);font-size:.875rem}a{color:var(--sc-accent)}button,input,select,textarea{font:inherit}h1{font-size:1.7rem;font-weight:700;letter-spacing:-.022em;line-height:1.15}h2{letter-spacing:-.015em}.layout{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"sidebar topbar" "sidebar main" "sidebar footer"}.layout__topbar{grid-area:topbar;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.5rem;border-bottom:1px solid var(--sc-glass-border);background:var(--sc-glass);backdrop-filter:blur(var(--sc-blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--sc-blur)) saturate(140%)}.layout__sidebar{grid-area:sidebar;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;border-right:1px solid var(--sc-glass-border);background:var(--sc-glass);backdrop-filter:blur(var(--sc-blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--sc-blur)) saturate(140%);padding:1.1rem .85rem;display:flex;flex-direction:column;gap:.3rem}.layout__main{grid-area:main;padding:1.75rem 2rem;max-width:112rem;width:100%;margin:0 auto;animation:sc-fade-up .4s ease both}.layout__footer{grid-area:footer;color:var(--sc-muted);font-size:.85rem;padding:1rem 1.75rem;border-top:1px solid var(--sc-glass-border)}@keyframes sc-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes auth-aurora{0%{transform:rotate(-7deg) scale(1.02)}to{transform:rotate(9deg) scale(1.08)}}@keyframes auth-ribbon-warm{0%{transform:translate3d(-2rem,0,0) rotate(-18deg)}to{transform:translate3d(4rem,1.4rem,0) rotate(-14deg)}}@keyframes auth-ribbon-cool{0%{transform:translate3d(2rem,1rem,0) rotate(-23deg)}to{transform:translate3d(-4rem,-1rem,0) rotate(-27deg)}}.nav-link{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border-radius:var(--sc-radius-sm);color:var(--sc-fg);text-decoration:none;font-weight:500;border:1px solid transparent;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.nav-link:hover{background:var(--sc-glass-2);border-color:var(--sc-glass-border)}.nav-link--active{background:var(--sc-accent-grad);color:var(--sc-accent-contrast);box-shadow:var(--sc-glow)}.nav-link--active:hover{background:var(--sc-accent-grad);border-color:transparent}.icon{display:inline-block;vertical-align:middle;flex:none}.nav-link__icon{color:var(--sc-muted)}.nav-link:hover .nav-link__icon,.nav-link--active .nav-link__icon{color:currentColor}.topbar-actions{display:flex;align-items:center;gap:.6rem;min-width:0;flex-wrap:wrap;justify-content:flex-end}.tenant-select{display:inline-flex;align-items:center;gap:.45rem;min-width:12rem;max-width:22rem}.tenant-select__label{color:var(--sc-muted);font-size:.82rem;white-space:nowrap}.tenant-select__control{min-width:0;max-width:15rem;height:2.25rem;border:1px solid var(--sc-glass-border);border-radius:var(--sc-radius-sm);background:var(--sc-glass-2);color:var(--sc-fg);padding:0 2rem 0 .7rem}.theme-toggle,.lang-switch__btn,.user-menu__button{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .7rem;border:1px solid var(--sc-glass-border);border-radius:var(--sc-radius-sm);background:var(--sc-glass-2);color:var(--sc-fg);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.theme-toggle:hover,.lang-switch__btn:hover,.user-menu__button:hover{border-color:color-mix(in srgb,var(--sc-accent) 40%,var(--sc-glass-border));transform:translateY(-1px)}.flag{width:1.25rem;height:.875rem;border-radius:2px;display:block;flex:none;box-shadow:0 0 0 1px #00000040;overflow:hidden}.lang-switch{position:relative;display:inline-block}.lang-switch__code{font-size:.8rem;font-weight:600;letter-spacing:.02em}.lang-switch__caret{font-size:.7rem;color:var(--sc-muted)}.lang-switch__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;border:0;padding:0;background:transparent;cursor:default}.lang-switch__menu{position:absolute;right:0;top:calc(100% + .4rem);z-index:40;min-width:9rem;margin:0;padding:.35rem;list-style:none;background:var(--sc-surface-2);border:1px solid var(--sc-glass-border);border-radius:var(--sc-radius);box-shadow:var(--sc-shadow-lg);backdrop-filter:blur(var(--sc-blur));-webkit-backdrop-filter:blur(var(--sc-blur))}.lang-switch__opt{display:flex;align-items:center;gap:.55rem;width:100%;padding:.5rem .6rem;border:0;border-radius:var(--sc-radius-sm);background:transparent;color:var(--sc-fg);cursor:pointer;font-size:.9rem;text-align:left;transition:background .15s ease}.lang-switch__opt:hover{background:var(--sc-glass-2)}.lang-switch__opt--active{background:var(--sc-accent-soft);color:var(--sc-accent);font-weight:600}.user-menu{position:relative}.user-menu__dropdown{position:absolute;right:0;top:calc(100% + .4rem);min-width:12rem;background:var(--sc-surface-2);border:1px solid var(--sc-glass-border);border-radius:var(--sc-radius);box-shadow:var(--sc-shadow-lg);backdrop-filter:blur(var(--sc-blur));-webkit-backdrop-filter:blur(var(--sc-blur));padding:.5rem;z-index:40}.user-menu__item{display:block;width:100%;text-align:left;padding:.55rem .6rem;border:0;border-radius:var(--sc-radius-sm);background:transparent;color:var(--sc-fg);cursor:pointer;transition:background .15s ease}.user-menu__item:hover{background:var(--sc-glass-2)}.card{position:relative;background:var(--sc-glass);border:1px solid var(--sc-glass-border);border-radius:var(--sc-radius);padding:1.25rem;box-shadow:var(--sc-shadow);backdrop-filter:blur(var(--sc-blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--sc-blur)) saturate(140%);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.card:before{content:"";position:absolute;inset:0 0 auto;height:1px;border-radius:var(--sc-radius) var(--sc-radius) 0 0;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .18),transparent);pointer-events:none}.card__title{margin:0 0 .9rem;font-size:1rem;font-weight:600;letter-spacing:-.01em}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid transparent;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);white-space:nowrap}.badge--online{background:color-mix(in srgb,var(--sc-success) 18%,transparent);color:var(--sc-success);border-color:color-mix(in srgb,var(--sc-success) 35%,transparent)}.badge--offline{background:color-mix(in srgb,var(--sc-muted) 18%,transparent);color:var(--sc-muted);border-color:color-mix(in srgb,var(--sc-muted) 30%,transparent)}.badge--warning{background:color-mix(in srgb,var(--sc-warning) 18%,transparent);color:var(--sc-warning);border-color:color-mix(in srgb,var(--sc-warning) 35%,transparent)}.badge--danger{background:color-mix(in srgb,var(--sc-danger) 18%,transparent);color:var(--sc-danger);border-color:color-mix(in srgb,var(--sc-danger) 35%,transparent)}.badge--info{background:color-mix(in srgb,var(--sc-info) 18%,transparent);color:var(--sc-info);border-color:color-mix(in srgb,var(--sc-info) 35%,transparent)}.badge--success{background:color-mix(in srgb,var(--sc-success) 18%,transparent);color:var(--sc-success);border-color:color-mix(in srgb,var(--sc-success) 35%,transparent)}.badge__dot{width:.5rem;height:.5rem;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.battery{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600}.battery--ok{color:var(--sc-success)}.battery--low{color:var(--sc-warning)}.battery--critical{color:var(--sc-danger)}.battery--unknown{color:var(--sc-muted)}.spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--sc-glass-border);border-top-color:var(--sc-accent);border-radius:50%;animation:sc-spin .7s linear infinite}@keyframes sc-spin{to{transform:rotate(360deg)}}.state-block{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;text-align:center;color:var(--sc-muted)}.state-block__title{font-weight:600;color:var(--sc-fg);margin:0}.pagination{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .95rem;border-radius:var(--sc-radius-sm);border:1px solid var(--sc-glass-border);background:var(--sc-glass-2);color:var(--sc-fg);cursor:pointer;font-weight:500;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--sc-accent) 40%,var(--sc-glass-border));transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--sc-accent-grad);border-color:transparent;color:var(--sc-accent-contrast);box-shadow:var(--sc-glow)}.btn--primary:hover:not(:disabled){filter:brightness(1.05);border-color:transparent;transform:translateY(-1px);box-shadow:var(--sc-glow),0 0 0 1px color-mix(in srgb,var(--sc-accent) 50%,transparent)}.btn--danger{background:linear-gradient(135deg,#f87171,var(--sc-danger));border-color:transparent;color:#fff;box-shadow:0 10px 26px -8px #dc262673}.btn--danger:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field__label{font-weight:600;font-size:.82rem;letter-spacing:.01em;color:var(--sc-muted)}.field__control,.field select,.field input{padding:.6rem .75rem;border:1px solid var(--sc-glass-border);border-radius:var(--sc-radius-sm);background:var(--sc-input-bg);color:var(--sc-fg);width:100%;transition:border-color .16s ease,box-shadow .16s ease}.field__control:focus,.field input:focus,.field select:focus,.field__control:focus-visible,.field input:focus-visible,.field select:focus-visible{outline:none;border-color:var(--sc-accent);box-shadow:var(--sc-ring)}select.field__control,.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:2.2rem;background-image:linear-gradient(45deg,transparent 50%,var(--sc-muted) 50%),linear-gradient(135deg,var(--sc-muted) 50%,transparent 50%);background-position:calc(100% - 1.1rem) center,calc(100% - .75rem) center;background-size:6px 6px,6px 6px;background-repeat:no-repeat}select option,select optgroup{background-color:var(--sc-surface-2);color:var(--sc-fg)}.field__error{color:var(--sc-danger);font-size:.85rem}.field--switch{flex-direction:row;align-items:center;gap:.5rem}.field--switch input[type=checkbox]{flex:0 0 auto;width:auto}input[type=checkbox],input[type=radio]{accent-color:var(--sc-accent)}.admin-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-data-table--sensors{min-width:86rem;table-layout:fixed}.admin-data-table--subsensors{min-width:54rem;table-layout:fixed}.admin-data-table--virtual-sensors{min-width:72rem;table-layout:fixed}.admin-data-table th,.admin-data-table td{padding:.38rem .55rem;vertical-align:middle}.admin-data-table th{white-space:nowrap}.admin-data-table td{overflow-wrap:anywhere}.admin-data-table td code{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.admin-data-table--sensors th:nth-child(1),.admin-data-table--sensors td:nth-child(1){width:9.5rem}.admin-data-table--sensors th:nth-child(2),.admin-data-table--sensors td:nth-child(2){width:13.2rem}.admin-data-table--sensors th:nth-child(3),.admin-data-table--sensors td:nth-child(3){width:12.2rem}.admin-data-table--sensors th:nth-child(4),.admin-data-table--sensors td:nth-child(4){width:11rem}.admin-data-table--sensors th:nth-child(5),.admin-data-table--sensors td:nth-child(5){width:14rem}.admin-data-table--sensors th:nth-child(6),.admin-data-table--sensors td:nth-child(6){width:5.2rem}.admin-data-table--sensors th:nth-child(7),.admin-data-table--sensors td:nth-child(7){width:7rem}.admin-data-table--sensors th:nth-child(8),.admin-data-table--sensors td:nth-child(8){width:6.6rem}.admin-data-table--sensors th:nth-child(9),.admin-data-table--sensors td:nth-child(9){width:4.3rem}.admin-data-table--sensors th:nth-child(10),.admin-data-table--sensors td:nth-child(10){width:11.1rem}.admin-data-table--subsensors th:nth-child(1),.admin-data-table--subsensors td:nth-child(1){width:14rem}.admin-data-table--subsensors th:nth-child(2),.admin-data-table--subsensors td:nth-child(2){width:22rem}.admin-data-table--subsensors th:nth-child(3),.admin-data-table--subsensors td:nth-child(3){width:6rem}.admin-data-table--subsensors th:nth-child(4),.admin-data-table--subsensors td:nth-child(4){width:10rem}.admin-data-table--subsensors th:nth-child(5),.admin-data-table--subsensors td:nth-child(5){width:7rem}.admin-data-table--subsensors th:nth-child(6),.admin-data-table--subsensors td:nth-child(6){width:11rem}.admin-data-table--virtual-sensors th:nth-child(1),.admin-data-table--virtual-sensors td:nth-child(1){width:16rem}.admin-data-table--virtual-sensors th:nth-child(2),.admin-data-table--virtual-sensors td:nth-child(2){width:10rem}.admin-data-table--virtual-sensors th:nth-child(3),.admin-data-table--virtual-sensors td:nth-child(3),.admin-data-table--virtual-sensors th:nth-child(4),.admin-data-table--virtual-sensors td:nth-child(4){width:13rem}.admin-data-table--virtual-sensors th:nth-child(5),.admin-data-table--virtual-sensors td:nth-child(5),.admin-data-table--virtual-sensors th:nth-child(7),.admin-data-table--virtual-sensors td:nth-child(7){width:6rem}.admin-data-table--virtual-sensors th:nth-child(6),.admin-data-table--virtual-sensors td:nth-child(6){width:9rem}.admin-data-table--virtual-sensors th:nth-child(8),.admin-data-table--virtual-sensors td:nth-child(8){width:9rem}.admin-data-table--virtual-sensors .admin-row-actions--three{grid-template-columns:1fr}.admin-data-table--virtual-sensors .admin-row-actions .btn{justify-content:center;min-width:7.25rem;white-space:nowrap}.virtual-sensor-source-list{display:flex;flex-wrap:wrap;gap:.35rem;min-width:10rem}.virtual-sensor-source-chip{display:inline-flex;max-width:14rem;align-items:center;padding:.2rem .5rem;border:1px solid color-mix(in srgb,var(--sc-border) 82%,transparent);border-radius:999px;background:color-mix(in srgb,var(--sc-surface-2) 82%,transparent);color:var(--sc-text);font-size:.82rem;line-height:1.2;overflow-wrap:anywhere}.admin-table-row--editing{background:color-mix(in srgb,var(--sc-accent) 5%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--sc-accent) 16%,transparent) inset}.admin-table-row--selected{background:color-mix(in srgb,var(--sc-accent) 7%,transparent);box-shadow:3px 0 0 var(--sc-accent) inset}.admin-table-control{height:2.3rem;min-width:0;margin:0;font-size:.94rem}.admin-table-control--name,.admin-table-control--model,.admin-table-control--zone{width:100%}.admin-table-control--order{width:4.8rem}.admin-table-button{min-height:2.3rem;justify-content:center;white-space:nowrap}.admin-row-actions{display:grid;grid-template-columns:minmax(4.8rem,1fr) minmax(5rem,1fr);gap:.45rem;align-items:center}.admin-row-actions--three{grid-template-columns:repeat(3,minmax(4.8rem,1fr))}.diagnostics-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.7rem;margin:.9rem 0 1rem}.diagnostics-access-kv{display:grid;gap:.32rem;min-width:0;padding:.68rem .75rem;border:1px solid color-mix(in srgb,var(--sc-border) 84%,transparent);border-radius:var(--sc-radius-sm);background:color-mix(in srgb,var(--sc-surface) 72%,transparent)}.diagnostics-access-kv--origin{grid-column:span 2}.diagnostics-access-kv span,.diagnostics-access-footnote span{color:var(--sc-muted);font-size:.78rem;font-weight:700}.diagnostics-access-kv code,.diagnostics-access-footnote code{color:var(--sc-fg);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem;overflow-wrap:anywhere;white-space:normal}.diagnostics-access-route code{overflow:hidden;color:var(--sc-fg);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.diagnostics-access-route-list{display:grid;gap:.5rem}.diagnostics-access-route{display:grid;grid-template-columns:minmax(10rem,1fr) auto minmax(10rem,1fr);gap:.75rem;align-items:center;min-width:0;padding:.62rem .75rem;border:1px solid color-mix(in srgb,var(--sc-border) 82%,transparent);border-radius:var(--sc-radius-sm);background:color-mix(in srgb,var(--sc-input-bg) 70%,transparent)}.diagnostics-access-route__public{display:flex;min-width:0;gap:.55rem;align-items:center}.diagnostics-access-route__arrow{color:var(--sc-muted);font-weight:800}.diagnostics-access-route__upstream{justify-self:end;max-width:100%}.diagnostics-access-footnote{display:flex;flex-wrap:wrap;gap:.55rem;align-items:stretch;margin-top:.8rem;color:var(--sc-muted)}.diagnostics-access-footnote__item{display:inline-grid;gap:.18rem;min-width:min(100%,10rem);padding:.45rem .55rem;border:1px solid color-mix(in srgb,var(--sc-border) 80%,transparent);border-radius:var(--sc-radius-sm);background:color-mix(in srgb,var(--sc-surface) 68%,transparent)}.admin-section-note{margin:.25rem 0 .9rem;color:var(--sc-muted);font-size:.92rem}.admin-inline-section{margin:.75rem 0 1rem;padding:.9rem 0;border-block:1px solid var(--sc-border)}.admin-inline-section h4{margin:0 0 .75rem}.virtual-sensor-form{display:grid;gap:.85rem}.virtual-sensor-edit-panel{border-color:color-mix(in srgb,var(--sc-accent) 18%,var(--sc-border));background:color-mix(in srgb,var(--sc-surface) 48%,transparent);scroll-margin-top:5rem}.virtual-sensor-form__fields{display:grid;grid-template-columns:minmax(14rem,1.4fr) minmax(10rem,1fr) minmax(5.5rem,.45fr) minmax(14rem,1.2fr);gap:.75rem;align-items:end}.virtual-sensor-form .field{margin-bottom:0}.virtual-sensor-form fieldset{min-width:0;margin:0;padding:0;border:0}.virtual-sensor-form__subtract{display:grid;gap:.5rem}.virtual-sensor-form__subtract-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.virtual-sensor-form__subtract-count{flex:0 0 auto;padding:.2rem .55rem;border:1px solid color-mix(in srgb,var(--sc-accent) 20%,var(--sc-border));border-radius:999px;background:color-mix(in srgb,var(--sc-accent) 8%,transparent);color:color-mix(in srgb,var(--sc-accent) 72%,var(--sc-text));font-size:.78rem;font-weight:700}.virtual-sensor-form__subtract-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));max-height:17rem;overflow:auto;gap:.55rem;padding:.5rem;border:1px solid var(--sc-border);border-radius:.55rem;background:color-mix(in srgb,var(--sc-surface) 76%,transparent)}.virtual-sensor-form__subtract-option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:center;min-width:0;min-height:3.5rem;padding:.55rem .65rem;border:1px solid color-mix(in srgb,var(--sc-border) 82%,transparent);border-radius:.5rem;background:color-mix(in srgb,var(--sc-surface-2) 84%,transparent);color:var(--sc-text);cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.virtual-sensor-form__subtract-option:hover{border-color:color-mix(in srgb,var(--sc-accent) 28%,var(--sc-border));transform:translateY(-1px)}.virtual-sensor-form__subtract-option--selected{border-color:color-mix(in srgb,var(--sc-accent) 62%,var(--sc-border));background:color-mix(in srgb,var(--sc-accent) 12%,var(--sc-surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--sc-accent) 26%,transparent) inset}.virtual-sensor-form__subtract-input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.virtual-sensor-form__subtract-marker{display:inline-grid;width:1.55rem;height:1.55rem;place-items:center;border:1px solid color-mix(in srgb,var(--sc-border) 80%,transparent);border-radius:999px;color:var(--sc-muted);background:color-mix(in srgb,var(--sc-surface) 86%,transparent)}.virtual-sensor-form__subtract-option--selected .virtual-sensor-form__subtract-marker{border-color:transparent;background:var(--sc-accent-grad);color:var(--sc-accent-contrast);box-shadow:var(--sc-glow)}.virtual-sensor-form__subtract-copy{display:grid;min-width:0;gap:.18rem}.virtual-sensor-form__subtract-name{overflow:visible;overflow-wrap:anywhere;line-height:1.25;text-overflow:clip;white-space:normal}.virtual-sensor-form__subtract-device{min-width:0;overflow:hidden;color:var(--sc-muted);font-size:.74rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.virtual-sensor-form__footer{display:grid;grid-template-columns:minmax(9rem,auto) 1fr auto;gap:.75rem;align-items:center}.virtual-sensor-form__active{margin:0}.virtual-sensor-form__formula{min-width:0;margin:0;color:var(--sc-muted);font-size:.86rem}.virtual-sensor-form__formula code{white-space:nowrap}.virtual-sensor-form__actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.virtual-sensor-form__actions .btn{justify-content:center;min-width:7rem;white-space:nowrap}.admin-checkbox-list{display:grid;max-height:8.5rem;overflow:auto;gap:.35rem;padding:.45rem .55rem;border:1px solid var(--sc-border);border-radius:.45rem;background:color-mix(in srgb,var(--sc-surface) 78%,transparent)}.admin-checkbox-row{display:flex;gap:.45rem;align-items:center;color:var(--sc-text);font-size:.92rem}.alarm-rule-editor{max-width:56rem;scroll-margin-top:5rem}.alarm-rule-editor__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem}.alarm-rule-editor__delivery{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(15rem,.8fr);gap:.85rem;align-items:stretch;margin:1rem 0}.alarm-rule-channels,.alarm-rule-status{padding:.8rem;border:1px solid color-mix(in srgb,var(--sc-border) 84%,transparent);border-radius:var(--sc-radius-sm);background:color-mix(in srgb,var(--sc-surface) 70%,transparent);box-shadow:0 12px 30px -24px #1118276b}.alarm-rule-panel-heading{display:flex;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:.7rem}.alarm-rule-panel-heading h4{margin:0;color:var(--sc-fg);font-size:.92rem}.alarm-rule-panel-heading__meta,.alarm-rule-status__badge{flex:0 0 auto;padding:.24rem .52rem;border:1px solid var(--sc-border);border-radius:999px;color:var(--sc-muted);font-size:.78rem;font-weight:700;line-height:1;white-space:nowrap}.alarm-rule-channel-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.55rem}.alarm-rule-channel-card{position:relative;display:flex;gap:.62rem;align-items:center;min-height:3.8rem;padding:.68rem .75rem;border:1px solid color-mix(in srgb,var(--sc-border) 88%,transparent);border-radius:var(--sc-radius-sm);background:color-mix(in srgb,var(--sc-input-bg) 76%,transparent);color:var(--sc-fg);cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.alarm-rule-channel-card:hover{border-color:color-mix(in srgb,var(--sc-accent) 32%,var(--sc-border));background:color-mix(in srgb,var(--sc-accent) 5%,var(--sc-input-bg))}.alarm-rule-channel-card--selected{border-color:color-mix(in srgb,var(--sc-accent) 55%,var(--sc-border));background:color-mix(in srgb,var(--sc-accent) 10%,var(--sc-input-bg));box-shadow:0 0 0 1px color-mix(in srgb,var(--sc-accent) 14%,transparent) inset}.alarm-rule-channel-card__input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.alarm-rule-channel-card__input:focus-visible+.alarm-rule-channel-card__check{box-shadow:var(--sc-ring)}.alarm-rule-channel-card__check{position:relative;display:inline-grid;flex:0 0 1.35rem;width:1.35rem;height:1.35rem;place-items:center;border:1px solid color-mix(in srgb,var(--sc-muted) 38%,transparent);border-radius:.42rem;background:color-mix(in srgb,var(--sc-surface) 86%,transparent)}.alarm-rule-channel-card--selected .alarm-rule-channel-card__check{border-color:transparent;background:var(--sc-accent-grad)}.alarm-rule-channel-card--selected .alarm-rule-channel-card__check:after{content:"";width:.42rem;height:.72rem;border:solid var(--sc-accent-contrast);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.alarm-rule-channel-card__body{display:grid;min-width:0;gap:.18rem}.alarm-rule-channel-card__name{overflow:hidden;font-size:.92rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.alarm-rule-channel-card__meta{color:var(--sc-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.alarm-rule-channel-list__empty{margin:0;color:var(--sc-muted);font-size:.9rem}.alarm-rule-status{display:grid;align-content:start}.alarm-rule-status__badge--active{border-color:color-mix(in srgb,var(--sc-success) 32%,transparent);background:color-mix(in srgb,var(--sc-success) 13%,transparent);color:var(--sc-success)}.alarm-rule-status__badge--paused{border-color:color-mix(in srgb,var(--sc-muted) 32%,transparent);background:color-mix(in srgb,var(--sc-muted) 13%,transparent);color:var(--sc-muted)}.alarm-rule-status-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.28rem;border:1px solid var(--sc-border);border-radius:var(--sc-radius-sm);background:color-mix(in srgb,var(--sc-input-bg) 82%,transparent)}.alarm-rule-status-toggle__option{min-height:2.4rem;padding:.5rem .65rem;border:1px solid transparent;border-radius:calc(var(--sc-radius-sm) - 3px);background:transparent;color:var(--sc-muted);font:inherit;font-size:.9rem;font-weight:750;cursor:pointer;transition:color .16s ease,background .16s ease,box-shadow .16s ease}.alarm-rule-status-toggle__option:hover{color:var(--sc-fg)}.alarm-rule-status-toggle__option:focus-visible{outline:none;box-shadow:var(--sc-ring)}.alarm-rule-status-toggle__option--active{border-color:color-mix(in srgb,var(--sc-accent) 32%,transparent);background:var(--sc-surface);color:var(--sc-accent);box-shadow:0 8px 20px -14px #11182780}.alarm-rule-editor__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.alarm-rule-editor__actions .btn{justify-content:center}@media (max-width: 980px){.diagnostics-access-kv--origin{grid-column:span 1}.alarm-rule-editor__delivery,.virtual-sensor-form__fields{grid-template-columns:1fr}.virtual-sensor-form__footer{grid-template-columns:1fr;align-items:stretch}.virtual-sensor-form__actions{justify-content:stretch}.virtual-sensor-form__actions .btn{flex:1 1 9rem}}@media (max-width: 560px){.virtual-sensor-form__subtract-list{grid-template-columns:1fr}.virtual-sensor-form__actions{flex-direction:column}.virtual-sensor-form__actions .btn{flex:0 0 auto;width:100%}.virtual-sensor-form__formula code{white-space:normal}}.metric-picker-trigger{min-width:0}.metric-picker-trigger>span{color:var(--sc-muted);font-size:.84rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(760px 420px at 50% 12%,rgb(249 115 22 / .16),transparent 62%),#0a0b0f8f;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}.metric-modal{width:min(72rem,100%);max-height:min(88vh,56rem);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--sc-glass-border);border-radius:var(--sc-radius);background:linear-gradient(180deg,color-mix(in srgb,var(--sc-surface) 90%,transparent),var(--sc-glass)),var(--sc-surface);box-shadow:var(--sc-shadow-lg)}.metric-modal__header{position:relative;display:block;padding:1.25rem 4.25rem 1rem 1.35rem;border-bottom:1px solid var(--sc-glass-border)}.metric-modal__header h2{margin:0;font-size:1.35rem;line-height:1.15}.metric-modal__header p{max-width:55rem;margin:.45rem 0 0;color:var(--sc-muted)}.metric-modal__eyebrow{margin:0 0 .35rem!important;color:var(--sc-accent)!important;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.metric-modal__close{position:absolute;top:1rem;right:1.2rem;width:2.35rem;height:2.35rem;border:1px solid var(--sc-glass-border);border-radius:50%;background:var(--sc-glass-2);color:var(--sc-fg);cursor:pointer;font-size:1.35rem;line-height:1}.metric-modal__summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.35rem;border-bottom:1px solid var(--sc-glass-border);background:color-mix(in srgb,var(--sc-accent) 7%,transparent)}.metric-auto-toggle{display:flex;align-items:center;gap:.75rem}.metric-auto-toggle label{display:grid;gap:.15rem}.metric-auto-toggle small,.metric-modal__counter span{color:var(--sc-muted);font-size:.82rem}.metric-modal__counter{min-width:10rem;display:grid;gap:.1rem;justify-items:end;align-content:center}.metric-modal__sections{overflow:auto;padding:1.1rem 1.35rem 1.25rem}.metric-modal__section+.metric-modal__section{margin-top:1.5rem}.metric-modal__section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.metric-modal__section-head h3{margin:0;font-size:1rem}.metric-modal__section-head p{max-width:42rem;margin:0;color:var(--sc-muted);font-size:.9rem;text-align:right}.metric-modal__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:.8rem}.metric-modal__grid--formula{grid-template-columns:repeat(auto-fit,minmax(21rem,1fr))}.metric-option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;min-height:7.25rem;padding:.85rem;border:1px solid var(--sc-glass-border);border-radius:var(--sc-radius-sm);background:var(--sc-glass);cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.metric-option:hover{border-color:color-mix(in srgb,var(--sc-accent) 38%,var(--sc-glass-border));transform:translateY(-1px)}.metric-option--selected{border-color:color-mix(in srgb,var(--sc-accent) 62%,var(--sc-glass-border));background:color-mix(in srgb,var(--sc-accent) 10%,var(--sc-glass));box-shadow:0 14px 30px -20px color-mix(in srgb,var(--sc-accent) 70%,transparent)}.metric-option__check{padding-top:.2rem}.metric-option__body{min-width:0;display:grid;gap:.55rem;color:var(--sc-muted);font-size:.88rem;line-height:1.42}.metric-option__title{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;color:var(--sc-fg);font-weight:700}.metric-option code{padding:.1rem .35rem;border:1px solid var(--sc-glass-border);border-radius:7px;background:color-mix(in srgb,var(--sc-surface-2) 70%,transparent);color:var(--sc-fg);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78em;overflow-wrap:anywhere}.metric-option__meta{display:flex;align-items:center;gap:.35rem}.metric-option__formula{display:grid;gap:.55rem}.metric-option pre{margin:0;max-width:100%;overflow:hidden;padding:.65rem;border:1px solid var(--sc-glass-border);border-radius:var(--sc-radius-sm);background:color-mix(in srgb,var(--sc-surface-2) 88%,transparent)}.metric-option pre code{display:block;padding:0;border:0;background:transparent;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.76rem}.metric-modal__footer{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.35rem;border-top:1px solid var(--sc-glass-border);background:color-mix(in srgb,var(--sc-surface) 75%,transparent)}.sensor-identity{display:inline-flex;align-items:baseline;gap:.26rem;max-width:100%;vertical-align:baseline}.sensor-identity__content{min-width:0}.sensor-identity__trigger{display:inline-flex;align-items:center;justify-content:center;width:.86rem;height:.86rem;padding:0;border:1px solid transparent;border-radius:999px;background:transparent;color:color-mix(in srgb,var(--sc-muted) 56%,transparent);cursor:help;opacity:.18;transform:translateY(.08em);transition:border-color .16s ease,color .16s ease,opacity .16s ease,background .16s ease}.sensor-identity:hover .sensor-identity__trigger,.sensor-identity:focus-within .sensor-identity__trigger{border-color:color-mix(in srgb,var(--sc-muted) 22%,transparent);opacity:.62}.sensor-identity__trigger:hover,.sensor-identity__trigger:focus-visible{border-color:color-mix(in srgb,var(--sc-muted) 44%,transparent);background:color-mix(in srgb,var(--sc-surface) 32%,transparent);color:var(--sc-muted);opacity:1}.sensor-identity__trigger:focus-visible{outline:none;box-shadow:var(--sc-ring)}.sensor-identity-tip{position:fixed;left:var(--sensor-tip-left);top:var(--sensor-tip-top);z-index:1000;width:min(15rem,calc(100vw - 1rem));padding:.52rem .62rem;color:var(--sc-fg);background:color-mix(in srgb,var(--sc-surface) 52%,transparent);border:1px solid color-mix(in srgb,var(--sc-border) 68%,transparent);border-radius:10px;box-shadow:0 16px 32px -26px color-mix(in srgb,var(--sc-fg) 52%,transparent);backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);pointer-events:none;transform:translate(-50%,calc(-100% - .45rem))}.sensor-identity-tip[data-placement=bottom]{transform:translate(-50%,.45rem)}.sensor-identity-tip__grid{display:grid;gap:.26rem;margin:0}.sensor-identity-tip__grid>div{display:grid;grid-template-columns:3.9rem minmax(0,1fr);gap:.5rem;align-items:baseline}.sensor-identity-tip dt{color:color-mix(in srgb,var(--sc-muted) 76%,transparent);font-size:.66rem;font-weight:600}.sensor-identity-tip dd{min-width:0;margin:0}.sensor-identity-tip code{display:block;overflow:hidden;color:var(--sc-fg);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.69rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.chart-tip{background:color-mix(in srgb,var(--sc-surface) 72%,transparent);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);border:1px solid var(--sc-border);border-radius:12px;box-shadow:var(--sc-shadow-lg);padding:.5rem .7rem;min-width:6.5rem}.chart-tip__date{font-weight:600;font-size:.74rem;letter-spacing:.01em;color:var(--sc-fg);margin-bottom:.35rem}.chart-tip__row{display:flex;align-items:center;gap:.45rem;line-height:1.55}.chart-tip__dot{width:.5rem;height:.5rem;border-radius:50%;flex:none;box-shadow:0 0 6px currentColor}.chart-tip__name{font-size:.78rem;color:var(--sc-fg)}.chart-tip__val{margin-left:auto;padding-left:.6rem;font-weight:700;font-size:.95rem;font-variant-numeric:tabular-nums;color:var(--sc-fg)}.chart-box{position:relative}.chart-box--zoomable,.chart-box--zoomed,.chart-box--zoomed .recharts-wrapper{cursor:zoom-in}.chart-zoom-reset{position:absolute;top:.35rem;right:.35rem;z-index:2;display:inline-flex;width:1.75rem;height:1.75rem;align-items:center;justify-content:center;border:1px solid var(--sc-glass-border);border-radius:999px;background:color-mix(in srgb,var(--sc-surface) 62%,transparent);color:var(--sc-muted);cursor:pointer;box-shadow:var(--sc-shadow-sm);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .18s ease,color .18s ease,background .18s ease}.chart-zoom-reset:hover{border-color:color-mix(in srgb,var(--sc-accent) 42%,var(--sc-glass-border));background:color-mix(in srgb,var(--sc-surface) 78%,transparent);color:var(--sc-fg)}.chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.25rem;margin:.4rem 0 0;padding:0;list-style:none}.chart-legend__item{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem}.chart-legend__btn{display:inline-flex;align-items:center;gap:.4rem;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}.chart-legend__btn:hover .chart-legend__label{color:var(--sc-accent)}.chart-legend__item--off .chart-legend__label,.chart-legend__item--off .chart-legend__stats{color:var(--sc-muted);font-weight:400}.chart-legend__item--off .chart-legend__dot{opacity:.3}.chart-legend__dot{width:.6rem;height:.6rem;border-radius:50%;flex:none}.chart-legend__label{font-weight:600;color:var(--sc-fg)}.chart-legend__stats{color:var(--sc-muted);font-variant-numeric:tabular-nums}.lora-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.lora-controls+.lora-controls{margin-top:1rem}.lora-controls>*{flex:1 1 12rem;min-width:0}.lora-selected-sensor{margin:.9rem 0 0;color:var(--sc-muted);font-size:.9rem}.frame-loss-kpis{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.frame-loss-kpi{display:flex;flex-direction:column;gap:.1rem}.frame-loss-kpi__value{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--sc-fg)}.frame-loss-kpi__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--sc-muted)}.gw-filter{display:flex;flex-wrap:wrap;gap:.5rem}.gw-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .8rem;border:1px solid var(--sc-glass-border);border-radius:999px;background:var(--sc-glass-2);color:var(--sc-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,opacity .16s ease}.gw-chip:not(.gw-chip--on){opacity:.6}.gw-chip:hover{opacity:1}.gw-chip__dot{width:.6rem;height:.6rem;border-radius:50%;flex:none}.gw-chip--on{background:color-mix(in srgb,currentColor 12%,var(--sc-glass-2));box-shadow:0 0 0 1px color-mix(in srgb,currentColor 30%,transparent) inset}.auth-screen{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,3vw,2.5rem);overflow:hidden;background:linear-gradient(118deg,rgb(249 115 22 / .09),transparent 34%),linear-gradient(242deg,rgb(37 99 235 / .1),transparent 36%),linear-gradient(180deg,color-mix(in srgb,var(--sc-bg) 92%,#ffffff),var(--sc-bg))}.auth-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.auth-stage:before{content:"";position:absolute;top:-34%;right:-34%;bottom:-34%;left:-34%;background:conic-gradient(from 136deg at 48% 50%,transparent 0deg,rgb(249 115 22 / .22) 48deg,rgb(37 99 235 / .14) 118deg,rgb(20 184 166 / .12) 172deg,transparent 244deg,rgb(249 115 22 / .13) 316deg,transparent 360deg);filter:blur(44px) saturate(130%);opacity:.78;transform:rotate(0) scale(1.02);animation:auth-aurora 22s ease-in-out infinite alternate}.auth-stage:after,.auth-stage__grid{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.auth-stage:after{background:linear-gradient(rgb(17 24 39 / .055) 1px,transparent 1px),linear-gradient(90deg,rgb(17 24 39 / .055) 1px,transparent 1px);background-size:3.2rem 3.2rem;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 74%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 74%,transparent);opacity:.55}.auth-stage__grid{background:repeating-linear-gradient(112deg,transparent 0 4.4rem,rgb(249 115 22 / .08) 4.4rem 4.46rem,transparent 4.46rem 9rem);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);opacity:.85}.auth-stage__ribbon,.auth-stage__trace{position:absolute;display:block}.auth-stage__ribbon{width:min(70rem,120vw);height:clamp(8rem,16vw,15rem);border-radius:999px;filter:blur(24px);mix-blend-mode:screen;opacity:.36}.auth-stage__ribbon--warm{top:7%;left:-16%;background:linear-gradient(90deg,transparent,rgb(249 115 22 / .62),transparent);transform:rotate(-18deg);animation:auth-ribbon-warm 18s ease-in-out infinite alternate}.auth-stage__ribbon--cool{right:-20%;bottom:5%;background:linear-gradient(90deg,transparent,rgb(37 99 235 / .45),rgb(20 184 166 / .34),transparent);transform:rotate(-23deg);animation:auth-ribbon-cool 20s ease-in-out infinite alternate}.auth-stage__trace{width:min(38rem,64vw);height:9rem;border-top:1px solid rgb(249 115 22 / .28);border-right:1px solid rgb(37 99 235 / .18);opacity:.5;transform:skew(-18deg)}.auth-stage__trace--one{top:16%;right:9%}.auth-stage__trace--two{left:8%;bottom:15%;width:min(32rem,58vw);border-top-color:#14b8a63d;border-right-color:#f973162e;transform:skew(-18deg) rotate(180deg)}.auth-card{position:relative;z-index:1;isolation:isolate;width:100%;max-width:27.5rem;background:linear-gradient(180deg,#ffffffe6,#ffffffc2) padding-box,linear-gradient(135deg,#ffffffb8,#f973165c,#2563eb3d) border-box;border:1px solid transparent;border-radius:24px;padding:clamp(1.55rem,4vw,2.4rem);box-shadow:0 36px 90px -34px #0f172a80,0 14px 34px -24px #f973169e,inset 0 1px #ffffff8c;backdrop-filter:blur(28px) saturate(165%);-webkit-backdrop-filter:blur(28px) saturate(165%);overflow:hidden;animation:sc-fade-up .45s ease both}.auth-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(115deg,rgb(255 255 255 / .26),transparent 31%),repeating-linear-gradient(90deg,rgb(255 255 255 / .05) 0 1px,transparent 1px 9px);opacity:.58;pointer-events:none}.auth-card:after{content:"";position:absolute;inset:auto -22% -44% -22%;z-index:0;height:58%;background:linear-gradient(90deg,transparent,rgb(249 115 22 / .22),rgb(37 99 235 / .12),transparent);filter:blur(18px);pointer-events:none}.auth-card>*{position:relative;z-index:1}.auth-card__brand{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.65rem}.auth-card form{margin:0}.auth-card h1{margin:0 0 .55rem;text-align:center;letter-spacing:0}.auth-card p{margin:0 0 1.55rem;text-align:center;color:color-mix(in srgb,var(--sc-muted) 86%,var(--sc-fg))}.auth-card .field{margin-bottom:1rem}.auth-card .field__label{letter-spacing:0}.auth-card .field__control{min-height:2.85rem;background:#ffffffc7;border-color:#0f172a1c;box-shadow:inset 0 1px #ffffff85}.auth-card .btn--primary{width:100%;min-height:2.9rem;margin-top:.25rem;justify-content:center}:root[data-theme=dark] .auth-screen{background:linear-gradient(118deg,rgb(249 115 22 / .16),transparent 34%),linear-gradient(242deg,rgb(37 99 235 / .18),transparent 36%),linear-gradient(180deg,#090a0f,#0d1118)}:root[data-theme=dark] .auth-stage:after{background:linear-gradient(rgb(255 255 255 / .045) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .045) 1px,transparent 1px)}:root[data-theme=dark] .auth-stage__grid{background:repeating-linear-gradient(112deg,transparent 0 4.4rem,rgb(249 115 22 / .12) 4.4rem 4.46rem,transparent 4.46rem 9rem)}:root[data-theme=dark] .auth-card{background:linear-gradient(180deg,#101219e6,#0c0e15c7) padding-box,linear-gradient(135deg,#ffffff2e,#f9731670,#2563eb5c) border-box;box-shadow:0 38px 96px -34px #000000e0,0 18px 40px -26px #f97316a3,inset 0 1px #ffffff1f}:root[data-theme=dark] .auth-card:before{background:linear-gradient(115deg,rgb(255 255 255 / .1),transparent 31%),repeating-linear-gradient(90deg,rgb(255 255 255 / .035) 0 1px,transparent 1px 9px)}:root[data-theme=dark] .auth-card .field__control{background:#fff1;border-color:#ffffff1c;box-shadow:inset 0 1px #ffffff14}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .auth-screen{background:linear-gradient(118deg,rgb(249 115 22 / .16),transparent 34%),linear-gradient(242deg,rgb(37 99 235 / .18),transparent 36%),linear-gradient(180deg,#090a0f,#0d1118)}:root:not([data-theme=light]) .auth-stage:after{background:linear-gradient(rgb(255 255 255 / .045) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .045) 1px,transparent 1px)}:root:not([data-theme=light]) .auth-stage__grid{background:repeating-linear-gradient(112deg,transparent 0 4.4rem,rgb(249 115 22 / .12) 4.4rem 4.46rem,transparent 4.46rem 9rem)}:root:not([data-theme=light]) .auth-card{background:linear-gradient(180deg,#101219e6,#0c0e15c7) padding-box,linear-gradient(135deg,#ffffff2e,#f9731670,#2563eb5c) border-box;box-shadow:0 38px 96px -34px #000000e0,0 18px 40px -26px #f97316a3,inset 0 1px #ffffff1f}:root:not([data-theme=light]) .auth-card:before{background:linear-gradient(115deg,rgb(255 255 255 / .1),transparent 31%),repeating-linear-gradient(90deg,rgb(255 255 255 / .035) 0 1px,transparent 1px 9px)}:root:not([data-theme=light]) .auth-card .field__control{background:#fff1;border-color:#ffffff1c;box-shadow:inset 0 1px #ffffff14}}@media (max-width: 560px){.auth-screen{align-items:stretch;padding:max(1rem,env(safe-area-inset-top)) max(.9rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(.9rem,env(safe-area-inset-left))}.auth-stage__trace{display:none}.auth-stage:after{background-size:2.45rem 2.45rem;opacity:.36}.auth-card{align-self:center;border-radius:20px}.auth-card__brand .logo__mark{width:4.15rem;height:4.15rem}.auth-card__brand .logo__wordmark{font-size:1.48rem}}.alert--error{background:color-mix(in srgb,var(--sc-danger) 14%,transparent);color:var(--sc-danger);border:1px solid color-mix(in srgb,var(--sc-danger) 35%,transparent);border-radius:var(--sc-radius-sm);padding:.6rem .8rem;margin-bottom:1rem;font-size:.9rem}.logo{display:inline-flex;align-items:center;gap:.45rem;color:var(--sc-fg);white-space:nowrap}.logo__mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.45rem;height:2.45rem;background:transparent}.logo__img{display:block;width:100%;height:100%;object-fit:contain}.logo__img--dark{display:none}:root[data-theme=dark] .logo__img--light{display:none}:root[data-theme=dark] .logo__img--dark{display:block}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .logo__img--light{display:none}:root:not([data-theme=light]) .logo__img--dark{display:block}}.logo__wordmark{color:var(--sc-fg);font-size:1rem;font-weight:800;line-height:1;letter-spacing:0}.logo__wordmark span{color:var(--sc-accent)}.auth-card__brand .logo__mark{width:4.6rem;height:4.6rem}.auth-card__brand .logo__wordmark{font-size:1.65rem}.logo--login{gap:.75rem}.museum-logo{display:inline-flex;align-items:center;background:#fff;border-radius:10px;padding:.3rem .55rem;box-shadow:0 1px 2px #0000001f}.museum-logo img{display:block;height:1.75rem;width:auto}.museum-logo--lg img{height:2.6rem}.sidebar-brand{display:flex;justify-content:center;padding:.4rem .25rem .9rem;margin-bottom:.6rem;border-bottom:1px solid var(--sc-glass-border)}.museum-logo--xl{width:100%;justify-content:center;padding:.7rem .85rem;border-radius:12px}.museum-logo--xl img{height:auto;width:100%;max-width:11rem}.tenant-logo{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;padding:.3rem .55rem;box-shadow:0 1px 2px #0000001f}.tenant-logo img{display:block;height:1.75rem;width:auto}.tenant-logo--lg img{height:2.6rem}.tenant-logo--text{background:var(--sc-glass-2);color:var(--sc-fg);border:1px solid var(--sc-glass-border);text-align:center;font-weight:700;line-height:1.15}.tenant-logo--xl{width:100%;min-height:4.2rem;padding:.7rem .85rem;border-radius:12px}.tenant-logo--xl img{height:auto;width:100%;max-width:11rem;max-height:4.8rem;object-fit:contain}.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}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.topbar-start{display:flex;align-items:center;gap:.75rem;min-width:0}.layout__topbar .logo__mark{width:3rem;height:3rem}.layout__topbar .logo__wordmark{font-size:1.18rem}.nav-toggle{display:none;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--sc-glass-border);border-radius:var(--sc-radius-sm);background:var(--sc-glass-2);color:var(--sc-fg);cursor:pointer;flex:none}.nav-backdrop{display:none}@media (max-width: 820px){.layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"topbar" "main" "footer"}.nav-toggle{display:inline-flex}.layout__sidebar{position:fixed;top:0;left:0;bottom:0;z-index:60;height:100dvh;width:min(80vw,19rem);transform:translate(-105%);transition:transform .22s ease;border-right:1px solid var(--sc-glass-border);background:var(--sc-surface);box-shadow:var(--sc-shadow-lg);overscroll-behavior:contain}.layout__sidebar--open{transform:translate(0)}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;border:0;padding:0;background:#00000073;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);cursor:default}.metric-modal-backdrop{align-items:stretch;padding:.6rem}.metric-modal{max-height:calc(100dvh - 1.2rem)}.metric-modal__header,.metric-modal__summary,.metric-modal__section-head,.metric-modal__footer{flex-direction:column;align-items:stretch}.metric-modal__section-head p,.metric-modal__counter{text-align:left;justify-items:start}.metric-modal__grid,.metric-modal__grid--formula{grid-template-columns:minmax(0,1fr)}.metric-option pre code{font-size:.72rem}.nav-link{padding:.8rem .9rem;font-size:1rem}.layout__topbar{padding:.6rem .8rem;gap:.5rem}.topbar-start{flex:0 0 auto;gap:.45rem}.layout__main{padding:1rem .85rem 1.5rem}.layout__footer{padding:.85rem .9rem}h1{font-size:1.35rem}.card{padding:.95rem}.tenant-select{min-width:0;flex:1 1 auto}.tenant-select__label{display:none}.tenant-select__control{min-width:0;max-width:100%;width:100%}.theme-toggle__label,.user-menu__name{display:none}.topbar-actions{flex-wrap:nowrap;flex:1 1 auto;gap:.45rem}.layout__topbar .logo__wordmark{display:none}.layout__topbar .logo__mark{width:2.65rem;height:2.65rem}.layout__main table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.pagination{flex-wrap:wrap}}@media (max-width: 768px){.theme-toggle__label{display:none}}
