:root{--bg:#070b10;--bg-elev:#0d131b;--surface:rgba(17,24,33,.78);--surface-2:hsla(0,0%,100%,.035);--surface-hover:hsla(0,0%,100%,.06);--border:rgba(148,163,184,.12);--border-strong:rgba(148,163,184,.22);--text:#e6edf3;--text-muted:#8b98a8;--text-faint:#5b6776;--accent:#22d3ee;--accent-2:#3b82f6;--accent-soft:rgba(34,211,238,.12);--ok:#34d399;--ok-soft:rgba(52,211,153,.12);--warn:#fbbf24;--warn-soft:rgba(251,191,36,.12);--alarm:#f43f5e;--alarm-soft:rgba(244,63,94,.14);--track:rgba(148,163,184,.14);--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;--radius-sm:8px;--radius:14px;--radius-lg:20px;--shadow:0 1px 0 hsla(0,0%,100%,.04) inset,0 12px 32px -12px rgba(0,0,0,.6);--ease:cubic-bezier(0.22,1,0.36,1);--header-h:56px;--footer-h:28px;--nav-w:68px;--nav-h:58px;--gutter:20px;--light-blue:var(--accent);--yellow:var(--warn);--red:var(--alarm);--green:var(--ok);color-scheme:dark}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(1200px 600px at 70% -10%,rgba(34,211,238,.08),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(59,130,246,.07),transparent 60%),#070b10;background:radial-gradient(1200px 600px at 70% -10%,rgba(34,211,238,.08),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(59,130,246,.07),transparent 60%),var(--bg);color:#e6edf3;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:14px;line-height:1.5;overflow:hidden}button,input,select{color:inherit;font:inherit}button{background:none;border:0;cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{border-radius:6px;outline:2px solid #22d3ee;outline:2px solid var(--accent);outline-offset:2px}.mono{-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-family:var(--font-mono);font-variant-numeric:tabular-nums}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background:rgba(148,163,184,.18);border-radius:8px}::-webkit-scrollbar-track{background:transparent}.app{display:grid;grid-template-areas:"nav header" "nav main" "nav footer";grid-template-columns:68px minmax(0,1fr);grid-template-columns:var(--nav-w) minmax(0,1fr);grid-template-rows:56px minmax(0,1fr) 28px;grid-template-rows:var(--header-h) minmax(0,1fr) var(--footer-h);height:100dvh}.app-main{grid-area:main;min-height:0;overflow-x:hidden;overflow-y:auto}.page{-webkit-animation:fadeInUp .5s cubic-bezier(.22,1,.36,1) both;animation:fadeInUp .5s cubic-bezier(.22,1,.36,1) both;-webkit-animation:fadeInUp .5s var(--ease) both;animation:fadeInUp .5s var(--ease) both;display:flex;flex-direction:column;gap:20px;gap:var(--gutter);margin:0 auto;max-width:1600px;padding:20px;padding:var(--gutter)}.page-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.page-eyebrow{color:#22d3ee;color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.page-title{font-size:clamp(22px,2.4vw,28px);font-weight:700;letter-spacing:-.02em}.page-subtitle{color:#8b98a8;color:var(--text-muted);margin-top:2px}.grid{grid-gap:20px;grid-gap:var(--gutter);display:grid;gap:20px;gap:var(--gutter)}.chip{align-items:center;background:hsla(0,0%,100%,.035);background:var(--surface-2);border:1px solid rgba(148,163,184,.12);border:1px solid var(--border);border-radius:999px;color:#8b98a8;color:var(--text-muted);display:inline-flex;font-size:11px;font-weight:600;gap:6px;height:24px;letter-spacing:.04em;padding:0 10px;text-transform:uppercase;white-space:nowrap}.chip--ok{background:rgba(52,211,153,.12);background:var(--ok-soft);color:#34d399;color:var(--ok)}.chip--ok,.chip--warn{border-color:transparent}.chip--warn{background:rgba(251,191,36,.12);background:var(--warn-soft);color:#fbbf24;color:var(--warn)}.chip--alarm{background:rgba(244,63,94,.14);background:var(--alarm-soft);border-color:transparent;color:#f43f5e;color:var(--alarm)}.chip--accent{background:rgba(34,211,238,.12);background:var(--accent-soft);border-color:transparent;color:#22d3ee;color:var(--accent)}.dot{background:currentColor;border-radius:50%;flex:none;height:7px;width:7px}.dot--pulse{-webkit-animation:pulse 2s infinite;animation:pulse 2s infinite;box-shadow:0 0 0 0 currentColor}.btn{align-items:center;background:hsla(0,0%,100%,.035);background:var(--surface-2);border:1px solid rgba(148,163,184,.22);border:1px solid var(--border-strong);border-radius:10px;display:inline-flex;font-size:13px;font-weight:600;gap:8px;height:36px;justify-content:center;padding:0 14px;transition:background .2s,border-color .2s,-webkit-transform .1s;transition:background .2s,border-color .2s,transform .1s;transition:background .2s,border-color .2s,transform .1s,-webkit-transform .1s;white-space:nowrap}.btn:hover{background:hsla(0,0%,100%,.06);background:var(--surface-hover)}.btn:active{-webkit-transform:translateY(1px);transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.45;-webkit-transform:none;transform:none}.btn--primary{background:linear-gradient(135deg,#22d3ee,#3b82f6);background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:transparent;color:#031018}.btn--primary:hover{background:linear-gradient(135deg,#67e8f9,#60a5fa)}.btn--sm{font-size:12px;height:30px;padding:0 10px}.segmented{background:hsla(0,0%,100%,.035);background:var(--surface-2);border:1px solid rgba(148,163,184,.12);border:1px solid var(--border);border-radius:10px;display:inline-flex;gap:2px;max-width:100%;overflow-x:auto;padding:3px;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.segmented button{border-radius:8px;color:#8b98a8;color:var(--text-muted);font-size:12px;font-weight:600;height:30px;padding:0 12px;transition:background .2s,color .2s;white-space:nowrap}.segmented button:hover{color:#e6edf3;color:var(--text)}.segmented button[aria-pressed=true]{background:hsla(0,0%,100%,.08);box-shadow:0 1px 2px rgba(0,0,0,.4);color:#e6edf3;color:var(--text)}.input{background:rgba(0,0,0,.25);border:1px solid rgba(148,163,184,.22);border:1px solid var(--border-strong);border-radius:10px;height:38px;min-width:0;outline:none;padding:0 12px;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:#22d3ee;border-color:var(--accent);box-shadow:0 0 0 3px rgba(34,211,238,.12);box-shadow:0 0 0 3px var(--accent-soft)}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(8px);transform:translateY(8px)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(8px);transform:translateY(8px)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,currentColor 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,currentColor 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion:reduce){*,:after,:before{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:1024px){:root{--gutter:16px;--nav-w:64px}}@media (max-width:767px){:root{--header-h:52px;--gutter:14px}.app{grid-template-areas:"header" "main" "nav";grid-template-columns:minmax(0,1fr);grid-template-rows:56px minmax(0,1fr) calc(58px + env(safe-area-inset-bottom));grid-template-rows:var(--header-h) minmax(0,1fr) calc(var(--nav-h) + env(safe-area-inset-bottom))}}.app--embed{--header-h:46px;--footer-h:0px;--nav-w:52px;--nav-h:50px;--gutter:14px}.app--embed .footer{display:none}.app--embed .stat{padding:12px 14px}.app--embed .stat-value{font-size:20px;margin-top:4px}.app--embed .stat-icon{height:26px;width:26px}.footer{align-items:center;background:rgba(7,11,16,.6);border-top:1px solid var(--border);color:var(--text-faint);display:flex;font-size:11.5px;gap:24px;grid-area:footer;overflow:hidden;padding:0 var(--gutter);white-space:nowrap}.footer strong{color:var(--text-muted);font-weight:600;margin-left:4px}.footer-right{margin-left:auto}@media (max-width:767px){.footer{display:none}}.header{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(7,11,16,.6);border-bottom:1px solid var(--border);gap:20px;grid-area:header;padding:0 var(--gutter);position:relative;z-index:20}.header,.header-brand{align-items:center;display:flex}.header-brand{flex:none}.header-brand img{display:block;height:22px;width:auto}.header-title{align-items:baseline;border-left:1px solid var(--border);display:flex;gap:10px;min-width:0;padding-left:20px}.header-product{color:var(--text-muted);font-weight:500;white-space:nowrap}.header-sep{color:var(--text-faint)}.header-title h1{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{align-items:center;display:flex;gap:14px;margin-left:auto}.header-clock{align-items:flex-end;display:flex;flex-direction:column;font-size:13px;line-height:1.15}.header-clock small{color:var(--text-muted);font-family:var(--font-sans);font-size:11px}.header-bell{border:1px solid var(--border);border-radius:10px;color:var(--text-muted);display:grid;height:34px;place-items:center;position:relative;transition:color .2s,background .2s;width:34px}.header-bell:hover{background:var(--surface-hover);color:var(--text)}.header-bell.has-alarms{color:var(--warn)}.header-badge{background:var(--warn);border-radius:999px;box-shadow:0 0 0 3px var(--bg);color:#1a1200;display:grid;font-size:11px;font-weight:700;height:18px;min-width:18px;padding:0 5px;place-items:center;position:absolute;right:-6px;top:-6px}.header-avatar{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:50%;color:#031018;display:grid;flex:none;font-size:12px;font-weight:700;height:32px;place-items:center;width:32px}@media (max-width:1100px){.header-product,.header-sep{display:none}}@media (max-width:767px){.header{gap:12px}.header-brand img{height:20px}.header-title{padding-left:12px}.header-title h1{font-size:14px}.header-avatar,.header-clock,.header-hide-sm{display:none}.header-actions{gap:10px}.header-actions .chip{padding:0 8px}}@media (max-width:340px){.header-title{display:none}}.app--embed .header{gap:12px}.app--embed .header-brand img{height:18px}.app--embed .header-title{padding-left:12px}.app--embed .header-title h1{font-size:13.5px}.app--embed .header-avatar,.app--embed .header-clock,.app--embed .header-product,.app--embed .header-sep{display:none}.app--embed .header-actions{gap:8px}.app--embed .header-bell{border-radius:8px;height:32px;width:32px}.app--embed .header-actions .chip{height:22px}.nav{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(7,11,16,.72);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:18px;grid-area:nav;padding:14px 0;z-index:30}.nav-logo{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:12px;box-shadow:0 8px 24px -8px rgba(34,211,238,.6);color:#031018;display:grid;font-size:18px;font-weight:800;height:40px;place-items:center;width:40px}.nav-list{gap:6px;list-style:none;padding:0 10px;width:100%}.nav-item,.nav-list{display:flex;flex-direction:column}.nav-item{align-items:center;border-radius:12px;color:var(--text-muted);gap:4px;padding:10px 4px;position:relative;transition:color .2s,background .2s}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-item.active:before{background:var(--accent);border-radius:0 3px 3px 0;bottom:12px;box-shadow:0 0 12px var(--accent);content:"";left:-10px;position:absolute;top:12px;width:3px}.nav-icon{font-size:17px;line-height:1;position:relative}.nav-badge{background:var(--warn);border-radius:50%;box-shadow:0 0 0 2px var(--bg);height:8px;position:absolute;right:-6px;top:-3px;width:8px}.nav-label{font-size:10.5px;font-weight:600;letter-spacing:.02em}@media (max-width:767px){.nav{border-right:0;border-top:1px solid var(--border);flex-direction:row;padding:0 6px env(safe-area-inset-bottom)}.nav-logo{display:none}.nav-list{flex-direction:row;gap:2px;justify-content:space-around;padding:0}.nav-list li{flex:1 1}.nav-item{padding:8px 2px}.nav-item.active{background:transparent}.nav-item.active:before{border-radius:0 0 3px 3px;bottom:auto;height:3px;left:30%;right:30%;top:-1px;width:auto}}.app--embed .nav{gap:10px;padding:8px 0}.app--embed .nav-logo{display:none}.app--embed .nav-list{gap:4px;padding:0 6px}.app--embed .nav-item{padding:10px 0}.app--embed .nav-label{display:none}.app--embed .nav-item.active:before{left:-6px}@media (max-width:767px){.app--embed .nav{padding:0 6px env(safe-area-inset-bottom)}.app--embed .nav-item.active:before{left:30%}}.dashboard{--pad:12px;-webkit-animation:fadeIn .6s var(--ease) both;animation:fadeIn .6s var(--ease) both;padding:var(--pad)}.dashboard,.viewer{height:100%;overflow:hidden;position:relative}.viewer{background:radial-gradient(90% 70% at 50% 45%,rgba(34,211,238,.09),transparent 70%),linear-gradient(180deg,#0f1823,#070b10);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);isolation:isolate;min-height:0}.viewer-canvas{inset:0;position:absolute!important;touch-action:none}.viewer-bottom{bottom:12px;container:viewer/inline-size;display:flex;justify-content:center;left:calc(var(--inset-l) + 12px);pointer-events:none;position:absolute;right:calc(var(--inset-r) + 12px);transition:left .4s var(--ease),right .4s var(--ease);z-index:20}.viewer-bottom>*{pointer-events:auto}.viewer-views{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(7,11,16,.72);border-color:var(--border-strong)}.viewer-views button{align-items:center;display:inline-flex;gap:8px}.viewer-num{border:1px solid;border-radius:50%;display:inline-grid;font-size:10px;height:18px;place-items:center;width:18px}.viewer-views button[aria-pressed=true]{color:var(--accent)}.viewer-view-label{display:none}.viewer-views button[aria-pressed=true] .viewer-view-label{display:inline}@container viewer (min-width: 820px){.viewer-view-label{display:inline}}.viewer-loader{align-items:center;background:rgba(7,11,16,.85);display:flex;flex-direction:column;gap:10px;inset:0;justify-content:center;position:absolute;transition:opacity .6s var(--ease),visibility .6s;z-index:30}.viewer-loader.is-done{opacity:0;visibility:hidden}.viewer-loader small{color:var(--text-muted)}.viewer-loader-ring{-webkit-animation:spin .9s linear infinite;animation:spin .9s linear infinite;border:3px solid var(--track);border-radius:50%;border-top-color:var(--accent);height:44px;width:44px}@-webkit-keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.hotspot{align-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:rgba(7,11,16,.72);border:1px solid rgba(34,211,238,.45);border-radius:999px;color:var(--text);display:flex;gap:8px;padding:3px;position:relative;transition:border-color .2s,background .2s,padding .25s var(--ease);white-space:nowrap}.hotspot:before{-webkit-animation:ring 2.4s infinite;animation:ring 2.4s infinite;border-radius:50%;content:"";height:22px;left:3px;pointer-events:none;position:absolute;top:3px;width:22px}.hotspot-dot{background:var(--accent);border-radius:50%;color:#031018;display:grid;font-size:11px;font-weight:700;height:22px;place-items:center;width:22px}.hotspot-label{font-size:12px;font-weight:600;max-width:0;opacity:0;overflow:hidden;transition:max-width .3s var(--ease),opacity .2s}.hotspot.is-active,.hotspot:hover{background:rgba(7,11,16,.9);border-color:var(--accent);padding-right:12px}.hotspot.is-active .hotspot-label,.hotspot:hover .hotspot-label{max-width:160px;opacity:1}@-webkit-keyframes ring{0%{box-shadow:0 0 0 0 rgba(34,211,238,.55)}70%,to{box-shadow:0 0 0 12px rgba(34,211,238,0)}}@keyframes ring{0%{box-shadow:0 0 0 0 rgba(34,211,238,.55)}70%,to{box-shadow:0 0 0 12px rgba(34,211,238,0)}}.dashboard-toggles{display:flex;justify-content:space-between;left:calc(var(--pad) + 12px);pointer-events:none;position:absolute;right:calc(var(--pad) + 12px);top:calc(var(--pad) + 12px);z-index:25}.panel-toggle{--state:var(--ok);align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(7,11,16,.72);border:1px solid var(--border-strong);border-radius:999px;box-shadow:0 8px 24px -8px rgba(0,0,0,.6);display:inline-flex;font-size:12px;font-weight:600;gap:8px;height:36px;padding:0 12px;pointer-events:auto;transition:opacity .25s,background .2s,border-color .2s,-webkit-transform .4s var(--ease);transition:opacity .25s,transform .4s var(--ease),background .2s,border-color .2s;transition:opacity .25s,transform .4s var(--ease),background .2s,border-color .2s,-webkit-transform .4s var(--ease)}.panel-toggle:hover{background:rgba(20,28,38,.9);border-color:var(--accent)}.panel-toggle--warn{--state:var(--warn)}.panel-toggle--alarm{--state:var(--alarm)}.panel-toggle .dot{-webkit-animation:pulse 2s infinite;animation:pulse 2s infinite;color:var(--state)}.panel-toggle-line{color:var(--text-muted);letter-spacing:.06em}.panel-toggle-value{color:var(--state);font-size:13px}.panel-toggle--ok .panel-toggle-value{color:var(--text)}.panel-toggle-value small{font-family:var(--font-sans)}.panel-toggle-icon,.panel-toggle-value small{color:var(--text-muted);font-size:11px}.dashboard:not(.is-sheet) .panel-toggle.is-open{opacity:0;pointer-events:none}.dashboard:not(.is-sheet) .panel-toggle--left.is-open{-webkit-transform:translateX(-12px);transform:translateX(-12px)}.dashboard:not(.is-sheet) .panel-toggle--right.is-open{-webkit-transform:translateX(12px);transform:translateX(12px)}.panel{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgba(10,15,22,.82);border:1px solid var(--border-strong);border-radius:var(--radius-lg);bottom:var(--pad);box-shadow:0 24px 48px -16px rgba(0,0,0,.7);display:flex;flex-direction:column;position:absolute;top:var(--pad);transition:opacity .3s,visibility .4s,-webkit-transform .4s var(--ease);transition:transform .4s var(--ease),opacity .3s,visibility .4s;transition:transform .4s var(--ease),opacity .3s,visibility .4s,-webkit-transform .4s var(--ease);width:var(--panel-w);z-index:26}.panel--left{left:var(--pad);-webkit-transform:translateX(calc(-100% - var(--pad)*2));transform:translateX(calc(-100% - var(--pad)*2))}.panel--right{right:var(--pad);-webkit-transform:translateX(calc(100% + var(--pad)*2));transform:translateX(calc(100% + var(--pad)*2))}.panel:not(.is-open){opacity:0;visibility:hidden}.panel.is-open{-webkit-transform:none;transform:none}.panel-head{border-bottom:1px solid var(--border);gap:8px;justify-content:space-between;padding:12px 12px 10px 16px}.panel-head,.panel-heading{align-items:center;display:flex}.panel-heading{gap:10px;min-width:0}.panel-title{font-size:15px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.panel-heading .chip{font-size:10px;height:22px}.panel-close{border-radius:8px;color:var(--text-muted);display:grid;height:30px;place-items:center;transition:background .2s,color .2s;width:30px}.panel-close:hover{background:var(--surface-hover);color:var(--text)}.panel-scroll{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding:10px;scrollbar-width:thin}.panel .card{backdrop-filter:none;-webkit-backdrop-filter:none;background:hsla(0,0%,100%,.03);box-shadow:none}.panel .card-head{padding:10px 12px 0}.panel .card-body{padding:8px 12px 12px}.panel-gauges{flex:none}.panel .card-body.panel-gauges-body{grid-gap:6px;--gauge-size:128px;display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:12px}.panel .gauge-number{font-size:22px}.panel-chart{--chart-min:90px;flex:1 1;min-height:150px}.dashboard.is-sheet{--pad:8px}.dashboard.is-sheet .viewer{border-radius:var(--radius)}.dashboard.is-sheet .dashboard-toggles{left:calc(var(--pad) + 8px);right:calc(var(--pad) + 8px);top:calc(var(--pad) + 8px)}.dashboard.is-sheet .panel-toggle{height:32px;padding:0 10px}.dashboard.is-sheet .panel-toggle.is-open{background:rgba(34,211,238,.14);border-color:var(--accent)}.dashboard.is-sheet .panel-toggle.is-open .panel-toggle-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.dashboard.is-sheet .panel{border-radius:var(--radius) var(--radius) var(--radius-lg) var(--radius-lg);left:var(--pad);max-height:68%;right:var(--pad);top:auto;-webkit-transform:translateY(calc(100% + var(--pad)*2));transform:translateY(calc(100% + var(--pad)*2));width:auto}.dashboard.is-sheet .panel.is-open{-webkit-transform:none;transform:none}.dashboard.is-sheet .panel-chart{--chart-min:150px;flex:none;min-height:0}.dashboard.is-sheet .viewer-bottom{bottom:8px;left:8px;right:8px}.gauge{--state:var(--accent);align-items:center;display:flex;flex-direction:column;gap:6px;min-width:0;width:100%}.gauge--warn{--state:var(--warn)}.gauge--alarm{--state:var(--alarm)}.gauge-title{color:var(--text-muted);font-size:12px;font-weight:500;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.gauge-dial{aspect-ratio:120/108;max-width:160px;max-width:var(--gauge-size,160px);position:relative;width:100%}.gauge-dial svg{height:100%;overflow:visible;width:100%}.gauge-track,.gauge-value,.gauge-zone{fill:none;stroke-linecap:round}.gauge-track{stroke:var(--track);stroke-width:8}.gauge-value{stroke:var(--state);stroke-width:8;-webkit-filter:drop-shadow(0 0 6px color-mix(in srgb,var(--state) 60%,transparent));filter:drop-shadow(0 0 6px color-mix(in srgb,var(--state) 60%,transparent));transition:stroke-dasharray .9s var(--ease),stroke .4s}.gauge-zone{stroke-width:2.5;stroke-linecap:butt;opacity:.85}.gauge-zone--warn{stroke:var(--warn)}.gauge-zone--alarm{stroke:var(--alarm)}.gauge-ticks line{stroke:rgba(148,163,184,.25);stroke-width:1}.gauge-ticks line.major{stroke:rgba(148,163,184,.5)}.gauge-readout{align-items:center;display:flex;flex-direction:column;gap:4px;inset:0 0 8% 0;justify-content:center;line-height:1;position:absolute}.gauge-number{color:var(--text);font-size:clamp(20px,2.2vw,28px);font-weight:600;letter-spacing:-.02em;transition:color .3s}.gauge--alarm .gauge-number,.gauge--warn .gauge-number{color:var(--state)}.gauge-unit{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.gauge-scale{bottom:0;color:var(--text-faint);display:flex;font-size:10px;justify-content:space-between;left:18%;position:absolute;right:18%}.gauge .chip{font-size:10px;height:22px}.card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;position:relative}.card:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.12),transparent);content:"";height:1px;inset:0 16px auto;pointer-events:none;position:absolute}.card-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:14px 16px 0}.card-titles{min-width:0}.card-title{color:var(--text);font-size:13px;font-weight:600;letter-spacing:.01em}.card-subtitle{color:var(--text-muted);font-size:12px}.card-actions{align-items:center;display:flex;gap:8px}.card-body{display:flex;flex:1 1;flex-direction:column;min-height:0;padding:12px 16px 16px}.chart-body{flex:1 1;min-height:180px;min-height:var(--chart-min,180px);position:relative}.chart-body>.recharts-responsive-container{inset:0;position:absolute}.legend{color:var(--text-muted);display:flex;font-size:11.5px;gap:12px;list-style:none}.legend li{align-items:center;display:flex;gap:6px;white-space:nowrap}.legend-swatch{background:var(--c);border-radius:3px;height:10px;width:10px}.legend-swatch.is-dashed{background:none;border-radius:0;border-top:2px dashed var(--c);height:0;width:14px}.tooltip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(10,15,22,.92);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.5);color:var(--text);font-size:12px;min-width:140px;padding:10px 12px}.tooltip-title{color:var(--text-muted);font-size:11px;margin-bottom:6px}.tooltip-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.tooltip-row span:first-child{align-items:center;color:var(--text-muted);display:flex;gap:6px}.tooltip-row i{background:var(--c);border-radius:2px;height:8px;width:8px}.tooltip-row b{font-family:var(--font-mono);font-weight:600}.stats{grid-gap:var(--gutter);display:grid;gap:var(--gutter);grid-template-columns:repeat(4,minmax(0,1fr))}.stat{--tone:var(--accent);--tone-soft:var(--accent-soft);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;padding:16px;position:relative}.stat:after{background:radial-gradient(circle,var(--tone-soft),transparent 70%);border-radius:50%;content:"";height:120px;pointer-events:none;position:absolute;right:-40px;top:-40px;width:120px}.stat--ok{--tone:var(--ok);--tone-soft:var(--ok-soft)}.stat--warn{--tone:var(--warn);--tone-soft:var(--warn-soft)}.stat--alarm{--tone:var(--alarm);--tone-soft:var(--alarm-soft)}.stat-top{align-items:center;display:flex;justify-content:space-between}.stat-label{color:var(--text-muted);font-size:12px;font-weight:500}.stat-icon{background:var(--tone-soft);border-radius:9px;color:var(--tone);display:grid;font-size:13px;height:30px;place-items:center;width:30px}.stat-value{font-size:clamp(22px,2.2vw,30px);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-top:8px}.stat-value small{color:var(--text-muted);font-size:13px;font-weight:500;margin-left:4px}.stat-hint{color:var(--text-faint);font-size:12px;margin-top:4px}.trends-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trends-grid .card{--chart-min:260px}.trends-wide{grid-column:1/-1}.trends-wide.card{--chart-min:300px}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.search{flex:0 1 300px;min-width:0;position:relative}.search svg{color:var(--text-faint);font-size:13px;left:12px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.search .input{padding-left:34px;width:100%}.count{background:hsla(0,0%,100%,.08);border-radius:999px;font-size:10.5px;margin-left:6px;padding:0 6px}.empty{color:var(--text-muted);padding:48px 16px;text-align:center}.alarm-list{display:flex;flex-direction:column;list-style:none}.alarm{--sev:var(--accent);grid-gap:16px;align-items:center;border-top:1px solid var(--border);display:grid;gap:16px;grid-template-columns:96px minmax(0,1fr) 160px 120px 110px;padding:14px 16px 14px 20px;position:relative;transition:background .2s}.alarm:first-child{border-top:0}.alarm:hover{background:var(--surface-2)}.alarm:before{background:var(--sev);border-radius:0 3px 3px 0;bottom:10px;content:"";left:0;position:absolute;top:10px;width:3px}.alarm--alarm{--sev:var(--alarm)}.alarm--warn{--sev:var(--warn)}.alarm.is-cleared{opacity:.6}.alarm.is-cleared:before{background:var(--text-faint)}.alarm-msg strong{display:block;font-weight:600}.alarm-msg span{color:var(--text-muted);font-size:12px}.alarm-time{display:flex;flex-direction:column;font-size:12px;line-height:1.3}.alarm-time small{color:var(--text-faint);font-size:11.5px}.alarm-state{color:var(--text-muted);font-size:12px}.alarm-action{display:flex;justify-content:flex-end}.list-head{grid-gap:16px;border-bottom:1px solid var(--border);color:var(--text-faint);display:grid;font-size:11px;font-weight:600;gap:16px;grid-template-columns:96px minmax(0,1fr) 160px 120px 110px;letter-spacing:.08em;padding:10px 16px 10px 20px;text-transform:uppercase}.card-body.is-flush{padding:0}.timeline{list-style:none;position:relative}.timeline-day{color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:.1em;padding:14px 16px 6px;text-transform:uppercase}.event{--type:var(--accent);grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:64px 28px minmax(0,1fr) auto;padding:10px 16px;transition:background .2s}.event:hover{background:var(--surface-2)}.event--operator{--type:#a78bfa}.event--system{--type:var(--text-muted)}.event--process{--type:var(--accent)}.event-time{color:var(--text-muted);font-size:12px}.event-icon{background:color-mix(in srgb,var(--type) 14%,transparent);border-radius:8px;color:var(--type);display:grid;font-size:12px;height:28px;place-items:center;width:28px}.event-msg{min-width:0}.event-msg strong{display:block;font-weight:500}.event-msg span{color:var(--text-faint);font-size:12px}.settings-grid{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}.field{grid-gap:16px;align-items:center;border-top:1px solid var(--border);display:grid;gap:16px;grid-template-columns:minmax(0,1fr) auto;padding:14px 0}.field:first-child{border-top:0;padding-top:4px}.field-label strong{display:block;font-weight:600}.field-label span{color:var(--text-muted);font-size:12px}.field-error{color:var(--alarm);font-size:12px;grid-column:1/-1;margin-top:-6px}.input-unit{align-items:center;display:flex;gap:8px}.input-unit .input{font-family:var(--font-mono);text-align:right;width:96px}.input-unit span{color:var(--text-muted);font-size:12px;width:28px}.switch{background:var(--track);border:1px solid var(--border-strong);border-radius:999px;height:24px;position:relative;transition:background .25s;width:44px}.switch:after{background:#cbd5e1;border-radius:50%;content:"";height:18px;left:2px;position:absolute;top:2px;transition:background .25s,-webkit-transform .25s var(--ease);transition:transform .25s var(--ease),background .25s;transition:transform .25s var(--ease),background .25s,-webkit-transform .25s var(--ease);width:18px}.switch[aria-checked=true]{background:var(--accent);border-color:transparent}.switch[aria-checked=true]:after{background:#031018;-webkit-transform:translateX(20px);transform:translateX(20px)}.meta-list{grid-gap:10px 24px;display:grid;font-size:13px;gap:10px 24px;grid-template-columns:auto 1fr}.meta-list dt{color:var(--text-muted)}.meta-list dd{font-family:var(--font-mono);text-align:right}.form-actions{justify-content:flex-end}.form-actions,.toast{display:flex;gap:10px}.toast{align-items:center;-webkit-animation:fadeInUp .3s var(--ease) both;animation:fadeInUp .3s var(--ease) both;background:rgba(10,15,22,.95);border:1px solid var(--border-strong);border-radius:12px;bottom:56px;box-shadow:0 16px 40px rgba(0,0,0,.5);color:var(--ok);font-weight:600;left:50%;padding:10px 16px;position:fixed;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:100}@media (max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.alarm,.list-head{grid-template-columns:90px minmax(0,1fr) 130px 100px}.alarm-state,.list-head .col-state{display:none}}@media (max-width:900px){.settings-grid,.trends-grid{grid-template-columns:minmax(0,1fr)}.trends-grid .card{--chart-min:220px}}@media (max-width:767px){.stats{gap:10px}.stat{padding:14px}.list-head{display:none}.alarm{gap:8px;grid-template-areas:"sev time" "msg msg" "action action";grid-template-columns:minmax(0,1fr) auto;padding:14px 14px 14px 18px}.alarm-sev{grid-area:sev}.alarm-msg{grid-area:msg}.alarm-time{align-items:flex-end;grid-area:time}.alarm-action{grid-area:action;justify-content:flex-start}.alarm-action:empty{display:none}.search{flex:1 1 100%}.event{grid-template-areas:"icon msg" "icon time";grid-template-columns:28px minmax(0,1fr);row-gap:2px}.event-icon{align-self:start;grid-area:icon}.event-msg{grid-area:msg}.event-time{font-size:11px;grid-area:time}.event .chip{display:none}.field{gap:10px;grid-template-columns:minmax(0,1fr)}.form-actions .btn{flex:1 1}.toast{bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom))}}