:root{--dur-instant:90ms;--dur-fast:140ms;--dur-base:220ms;--dur-slow:340ms;--ease-out:cubic-bezier(0.16,0.72,0.3,1);--ease-in-out:cubic-bezier(0.5,0,0.3,1);--ease-pop:cubic-bezier(0.2,1.06,0.4,1);--stagger:40ms}@keyframes wb-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes wb-fade{0%{opacity:0}}@keyframes wb-pop{0%{opacity:0;transform:scale(.97) translateY(-2px)}}@keyframes wb-slide-in-right{0%{opacity:0;transform:translateX(16px)}}@keyframes wb-grow-x{0%{transform:scaleX(0)}}@keyframes wb-shimmer{0%{background-position:-180% 0}to{background-position:180% 0}}@keyframes wb-ping{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}@keyframes wb-spin{to{transform:rotate(1turn)}}.anim-rise{animation:wb-rise var(--dur-base) var(--ease-out) both}.anim-fade{animation:wb-fade var(--dur-base) var(--ease-out) both}.anim-pop{animation:wb-pop var(--dur-fast) var(--ease-pop) both}.anim-slide-right{animation:wb-slide-in-right var(--dur-base) var(--ease-out) both}.anim-stagger>*{animation:wb-rise var(--dur-base) var(--ease-out) both}.anim-stagger>:first-child{animation-delay:0s}.anim-stagger>:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.anim-stagger>:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.anim-stagger>:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.anim-stagger>:nth-child(5){animation-delay:calc(var(--stagger) * 4)}.anim-stagger>:nth-child(6){animation-delay:calc(var(--stagger) * 5)}.anim-stagger>:nth-child(7){animation-delay:calc(var(--stagger) * 6)}.anim-stagger>:nth-child(8){animation-delay:calc(var(--stagger) * 7)}.anim-stagger>:nth-child(n+9){animation-delay:calc(var(--stagger) * 8)}.page>*{animation:wb-rise var(--dur-base) var(--ease-out) both}.page>:first-child{animation-delay:0s}.page>:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.page>:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.page>:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.page>:nth-child(5){animation-delay:calc(var(--stagger) * 4)}.page>:nth-child(n+6){animation-delay:calc(var(--stagger) * 5)}.stats .stat{animation:wb-fade var(--dur-base) var(--ease-out) both}.stats .stat:first-child{animation-delay:60ms}.stats .stat:nth-child(2){animation-delay:95ms}.stats .stat:nth-child(3){animation-delay:.13s}.stats .stat:nth-child(4){animation-delay:165ms}.stats .stat:nth-child(5){animation-delay:.2s}.stats .stat:nth-child(6){animation-delay:235ms}.stats .stat:nth-child(n+7){animation-delay:.27s}table.data tbody tr{animation:wb-fade var(--dur-fast) var(--ease-out) both}table.data tbody tr:first-child{animation-delay:0s}table.data tbody tr:nth-child(2){animation-delay:24ms}table.data tbody tr:nth-child(3){animation-delay:48ms}table.data tbody tr:nth-child(4){animation-delay:72ms}table.data tbody tr:nth-child(5){animation-delay:96ms}table.data tbody tr:nth-child(6){animation-delay:.12s}table.data tbody tr:nth-child(n+7){animation-delay:144ms}.sel-menu,.tenant-list{animation:wb-pop var(--dur-fast) var(--ease-pop) both;transform-origin:top center}.sel-menu[data-up=true]{transform-origin:bottom center}.sheet[open]{animation:wb-fade var(--dur-fast) var(--ease-out) both}.sheet[open] .sheet-inner{animation:wb-rise var(--dur-slow) var(--ease-out) both}.sheet::-webkit-backdrop{animation:wb-fade var(--dur-fast) var(--ease-out) both}.sheet::backdrop{animation:wb-fade var(--dur-fast) var(--ease-out) both}.notice{animation:wb-rise var(--dur-base) var(--ease-out) both}.stagebar-seg{animation:wb-grow-x var(--dur-slow) var(--ease-out) both;transform-origin:left center}.pill[data-live=true]{position:relative}.pill[data-live=true]:after{content:"";position:absolute;left:7px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:currentColor;animation:wb-ping 1.6s var(--ease-out) infinite;pointer-events:none}.skel{border-radius:var(--radius);background-color:var(--surface-3);background-image:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--surface) 70%,transparent) 50%,transparent 100%);background-size:180% 100%;background-repeat:no-repeat;animation:wb-shimmer 1.4s linear infinite}.skel-text{height:.75em;margin:.25em 0}.skel-lines{display:flex;flex-direction:column;gap:var(--s2)}.skel-lines>.skel:last-child{width:62%}.spinner{width:13px;height:13px;flex:none;border-radius:50%;border:2px solid;border-right:2px solid transparent;opacity:.7;animation:wb-spin .62s linear infinite}.btn[data-busy=true]{pointer-events:none}.btn[data-busy=true] .icon{display:none}.skel-table{display:flex;flex-direction:column}.skel-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-gap:var(--s4);gap:var(--s4);align-items:center;padding:var(--pad-cell-y) var(--pad-cell-x);border-bottom:1px solid var(--line-soft);min-height:44px}.skel-row:last-child{border-bottom:none}.chart{margin:0;display:flex;flex-direction:column;gap:var(--s2);min-width:0}.chart[data-loading=true] .chart-legend,.chart[data-loading=true] .chart-plot{opacity:.5;transition:opacity .16s var(--ease);pointer-events:none}.chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3)}.chart-heading{display:flex;flex-direction:column;gap:1px;min-width:0}.chart-title{font-size:var(--text-md);font-weight:var(--w-medium);color:var(--ink);letter-spacing:-.008em}.chart-sub{font-size:var(--text-sm);color:var(--ink-3);line-height:1.4}.chart-actions{display:flex;align-items:center;gap:var(--s2);flex:none}.chart-legend{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);margin:0;padding:0;list-style:none}.chart-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--ink-2)}.chart-key{flex:none;border-radius:var(--radius-pill)}.chart-key[data-shape=line]{width:14px;height:3px}.chart-key[data-shape=rect]{width:10px;height:10px;border-radius:3px}.chart-plot{position:relative;width:100%;min-width:0}.chart-svg{display:block;overflow:visible;touch-action:pan-y}.chart-svg:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.chart-grid{stroke:var(--line-soft);stroke-width:1;shape-rendering:crispEdges}.chart-grid[data-zero=true]{stroke:var(--line)}.chart-axis-label{fill:var(--ink-4);font-size:11px;font-family:var(--font-ui);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-dot{stroke:var(--surface);stroke-width:2}.chart-dot-active{stroke-width:2.5}.chart-end-label{fill:var(--ink-2);font-size:11px;font-weight:var(--w-medium);font-family:var(--font-ui);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-crosshair{stroke:var(--ink-4);stroke-width:1;opacity:.45;shape-rendering:crispEdges}.chart-bar{transition:opacity .12s var(--ease)}.chart-bar[data-active=true]{opacity:.82}.chart-tip{position:absolute;top:0;left:0;z-index:5;pointer-events:none;display:flex;flex-direction:column;gap:3px;min-width:108px;padding:7px 9px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md);font-size:var(--text-sm);white-space:nowrap}.chart-tip-title{color:var(--ink-3);font-size:var(--text-xs);letter-spacing:.01em;margin-bottom:1px}.chart-tip-row{display:flex;align-items:center;gap:6px}.chart-tip-key{flex:none;width:10px;height:2px;border-radius:var(--radius-pill)}.chart-tip-name{color:var(--ink-3);margin-right:var(--s3);overflow:hidden;text-overflow:ellipsis}.chart-tip-value{margin-left:auto;color:var(--ink);font-weight:var(--w-semi);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-foot{display:flex;align-items:baseline;gap:var(--s3);flex-wrap:wrap}.chart-table-toggle{padding:0;border:0;background:none;font:inherit;font-size:var(--text-sm);color:var(--ink-3);cursor:pointer;text-decoration:underline;text-underline-offset:2px;-webkit-text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-decoration-color:color-mix(in srgb,currentColor 35%,transparent)}.chart-table-toggle:hover{color:var(--ink)}.chart-summary{font-size:var(--text-sm);color:var(--ink-4);min-width:0}.chart-table{border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--line-soft);max-height:280px;overflow-y:auto}.chart-table table.data th{position:-webkit-sticky;position:sticky;top:0;z-index:1}.chart-table table.data td,.chart-table table.data th{padding-left:var(--s3);padding-right:var(--s3)}.chart-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;font-size:var(--text-base);color:var(--ink-4);background:repeating-linear-gradient(-45deg,var(--surface-2) 0 8px,var(--surface) 8px 16px);border-radius:var(--radius)}.spark{display:block;overflow:visible}.meter{display:flex;flex-direction:column;gap:5px;min-width:0}.meter-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3)}.meter-label{color:var(--ink-2)}.meter-label,.meter-value{font-size:var(--text-base)}.meter-value{font-weight:var(--w-medium);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.meter-max{font-weight:var(--w-normal);color:var(--ink-4)}.meter-track{height:8px;overflow:hidden}.meter-fill,.meter-track{border-radius:var(--radius-pill)}.meter-fill{height:100%;transition:width .26s var(--ease)}.meter[data-tone=ok] .meter-track{background:var(--ok-soft)}.meter[data-tone=ok] .meter-fill{background:var(--ok)}.meter[data-tone=warn] .meter-track{background:var(--warn-soft)}.meter[data-tone=warn] .meter-fill{background:var(--warn)}.meter[data-tone=stop] .meter-track{background:var(--stop-soft)}.meter[data-tone=stop] .meter-fill{background:var(--stop)}.meter-hint{font-size:var(--text-sm);color:var(--ink-3)}.chart-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:var(--s5);gap:var(--s5)}