.react-grid-layout{transition:height .2s;position:relative}.react-grid-item{transition:left .2s,top .2s,width .2s,height .2s}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{z-index:1;will-change:width, height;transition:none}.react-grid-item.react-draggable-dragging{z-index:3;will-change:transform;transition:none}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{opacity:.2;z-index:2;-webkit-user-select:none;user-select:none;background:red;transition-duration:.1s}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{opacity:0;width:20px;height:20px;position:absolute}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";border-bottom:2px solid #0006;border-right:2px solid #0006;width:5px;height:5px;position:absolute;bottom:3px;right:3px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0e14;--surface:#151a24;--surface-2:#1b2130;--surface-3:#232a3a;--border:#252c3b;--border-strong:#343d52;--gold:#e6c065;--gold-2:#cdb27a;--gold-3:#a18f66;--blue:#5eaaff;--blue-2:#8cc5ff;--blue-wash:color-mix(in srgb, var(--blue) 12%, transparent);--green:#3ddc84;--green-glow:color-mix(in srgb, var(--green) 55%, transparent);--red:#ff6b6b;--amber:#fab219;--status-critical:#d03b3b;--status-serious:#ec835a;--status-warning:#fab219;--status-good:#4cc76a;--status-info:#e6c065;--series-1:#9085e9;--series-2:#d95926;--grid:#232a39;--radius:12px;--radius-sm:8px;--shadow:0 1px 0 #ffffff08 inset, 0 10px 30px rgb(var(--shadow-rgb) / calc(.35 * var(--shadow-k)));--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--on-accent:#08111f;--gold-strong:#f3d991;--topbar-bg:#0b0e14d1;--block-sheen:#ffffff04;--hover-bg:#1d2536;--hover-faint:#ffffff05;--row-line:#252c3b99;--dot-off:#4b5266;--tooltip-bg:#0e121a;--toast-bg:#10141d;--backdrop:#05070bb8;--backdrop-soft:#05070b80;--shadow-rgb:0 0 0;--shadow-k:1}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eceef2;--surface:#f9fafb;--surface-2:#f2f4f7;--surface-3:#e5e8ee;--border:#dde1e8;--border-strong:#c7cdd7;--gold:#6f5414;--gold-2:#6b5a3b;--gold-3:#6f634e;--blue:#1d5fc0;--blue-2:#2a6ad0;--blue-wash:#1d5fc017;--green:#1b7a47;--green-glow:#1b7a4759;--red:#c0392b;--amber:#8a5a00;--status-critical:#b42f2f;--status-serious:#b4532a;--status-warning:#8a5a00;--status-good:#2b7d40;--status-info:#6f5414;--series-1:#4a3aa7;--series-2:#eb6834;--grid:#e3e6ec;--shadow:0 1px 0 #fff9 inset, 0 6px 18px #161e2e14;--on-accent:#fff;--gold-strong:#4f3a08;--topbar-bg:#eceef2db;--block-sheen:transparent;--hover-bg:#e9eef7;--hover-faint:#161e2e08;--row-line:#e3e6ec;--dot-off:#a3abba;--tooltip-bg:#fff;--toast-bg:#fff;--backdrop:#1e243066;--backdrop-soft:#1e243040;--shadow-rgb:22 30 46;--shadow-k:.35}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{scrollbar-gutter:stable;overflow-y:scroll}body{background:radial-gradient(1100px 520px at 0% -10%, color-mix(in srgb, var(--gold) 7%, transparent), transparent 60%), radial-gradient(900px 480px at 100% 0%, color-mix(in srgb, var(--blue) 6%, transparent), transparent 55%), var(--bg);color:var(--gold);font-family:var(--font);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--blue);text-decoration:none}a:hover{color:var(--blue-2);text-decoration:underline}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}.btn{color:var(--blue);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.btn:hover{background:var(--blue-wash);color:var(--blue-2)}.btn:disabled{cursor:default;opacity:.5;background:0 0}.btn-outline{border-color:color-mix(in srgb, var(--blue) 35%, transparent)}.btn-solid{background:var(--blue);color:var(--on-accent);font-weight:600}.btn-solid:hover{background:var(--blue-2);color:var(--on-accent)}.btn-solid:disabled{background:var(--blue);color:var(--on-accent);opacity:.4}.icon-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--blue);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--blue-wash);color:var(--blue-2)}.icon-btn svg{width:17px;height:17px}.spin svg{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.count-btn{border-radius:var(--radius-sm);color:var(--blue);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;margin-left:-2px;padding:2px 6px 2px 2px;display:inline-flex}.count-btn:hover{background:var(--blue-wash)}.count-btn .count{letter-spacing:-.02em;font-size:40px;font-weight:650;line-height:1.05}.count-btn .chev{width:20px;height:20px;color:var(--blue);transition:transform .16s}.count-btn[aria-expanded=true] .chev{transform:rotate(90deg)}.topbar{z-index:20;background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:12px 20px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-logo{flex:none;width:auto;height:30px;display:block}.brand-title{border-left:1px solid var(--border-strong);min-width:0;padding-left:12px}.brand h1{letter-spacing:.01em;color:var(--gold);white-space:nowrap;margin:0;font-size:17px;font-weight:650}.brand .sub{color:var(--gold-3);white-space:nowrap;font-size:12px}.topbar-spacer{flex:1}.clock{color:var(--gold-2);font-variant-numeric:tabular-nums;white-space:nowrap}.live{color:var(--gold-3);white-space:nowrap;align-items:center;gap:7px;font-size:12.5px;display:inline-flex}.badge{letter-spacing:.02em;border:1px solid var(--border-strong);color:var(--gold-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-demo{border-color:color-mix(in srgb, var(--amber) 50%, transparent);color:var(--amber)}.bell{position:relative}.bell .unread{background:var(--status-critical);color:#fff;text-align:center;border-radius:999px;min-width:17px;height:17px;padding:0 4px;font-size:10.5px;font-weight:700;line-height:17px;position:absolute;top:1px;right:0}.grid-wrap{padding:16px 20px}.react-grid-item.react-grid-placeholder{background:color-mix(in srgb, var(--gold) 16%, transparent);border:1px dashed color-mix(in srgb, var(--gold) 50%, transparent);border-radius:var(--radius);opacity:1}.react-grid-item>.react-resizable-handle{z-index:3}.react-grid-item>.react-resizable-handle:after{border-right:2px solid var(--gold-3);border-bottom:2px solid var(--gold-3);width:7px;height:7px;bottom:5px;right:5px}.react-grid-item.react-draggable-dragging .block{box-shadow:0 18px 50px rgb(var(--shadow-rgb) / calc(.55 * var(--shadow-k)));border-color:color-mix(in srgb, var(--gold) 45%, transparent)}.block{background:linear-gradient(180deg, var(--block-sheen), transparent 120px), var(--surface);border:1px solid var(--border);border-radius:var(--radius);height:100%;box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.block-head{cursor:grab;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;padding:12px 10px 8px 14px;display:flex}.block-head:active{cursor:grabbing}.block-icon{background:color-mix(in srgb, var(--gold) 10%, transparent);width:30px;height:30px;color:var(--gold);border-radius:9px;flex:none;place-items:center;display:grid}.block-icon svg{width:17px;height:17px}.block-title{flex:1;min-width:0}.block-title h2{color:var(--gold);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14.5px;font-weight:650;overflow:hidden}.block-meta{color:var(--gold-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.block-actions{cursor:default;flex:none;gap:2px;display:flex}.block-body{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex:1;min-height:0;padding:4px 14px 14px;overflow:auto}.block-body.is-stale{opacity:.6}.notice{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--gold-2);align-items:flex-start;gap:10px;margin:2px 0 10px;padding:9px 11px;font-size:12.5px;display:flex}.notice svg{flex:none;width:16px;height:16px;margin-top:1px}.notice.warn{border-color:color-mix(in srgb, var(--amber) 35%, transparent)}.notice.warn svg{color:var(--amber)}.notice.good{border-color:color-mix(in srgb, var(--status-good) 35%, transparent)}.notice.good svg{color:var(--status-good)}.notice code,.md code{font-family:var(--mono);background:var(--surface-3);color:var(--gold-2);border-radius:4px;padding:0 4px;font-size:.92em}.muted{color:var(--gold-3)}.small{font-size:12px}.empty{color:var(--gold-3);padding:8px 0;font-size:12.5px}.bulb{background:var(--green);width:11px;height:11px;box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 15%, transparent), 0 0 12px var(--green-glow);border-radius:50%;flex:none;animation:2s ease-in-out infinite bulb-pulse;display:inline-block}.bulb.off{background:var(--dot-off);box-shadow:none;animation:none}.bulb.warn{background:var(--amber);box-shadow:0 0 10px color-mix(in srgb, var(--amber) 45%, transparent);animation:none}@keyframes bulb-pulse{0%,to{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 18%, transparent), 0 0 14px var(--green-glow)}50%{opacity:.55;box-shadow:0 0 0 1px color-mix(in srgb, var(--green) 8%, transparent), 0 0 3px color-mix(in srgb, var(--green) 20%, transparent)}}.online{color:var(--green);animation:2s ease-in-out infinite online-pulse}@keyframes online-pulse{0%,to{opacity:1;text-shadow:0 0 7px color-mix(in srgb, var(--green) 45%, transparent)}50%{opacity:.55;text-shadow:none}}.offline{color:var(--red)}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.on{background:var(--green);box-shadow:0 0 8px var(--green-glow);animation:2s ease-in-out infinite bulb-pulse}.dot.off{border:1.5px solid var(--red)}.dot.missing{border:1.5px dashed var(--gold-3)}.net{flex-direction:column;gap:14px;display:flex}.net-group+.net-group{border-top:1px solid var(--border-strong);padding-top:14px}.net-group-head{color:var(--gold);flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 10px;font-size:15px;font-weight:700;display:flex}.net-group-head span{color:var(--gold-3);font-size:12px;font-weight:500}.net-group>.net-section{border-left:2px solid var(--border-strong);margin-left:2px;padding-left:12px}.net-group>.net-section+.net-section{margin-top:14px}.net-group .net-head{color:var(--gold-2);font-size:11.5px}.net-head{color:var(--gold);text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0 0 8px;font-size:12.5px;font-weight:650;display:flex}.net-head span{text-transform:none;letter-spacing:0;color:var(--gold-3);font-weight:500}.net-cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.net-card,.ts-grid{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:stretch;gap:4px;padding:10px 12px;display:flex}.net-card:hover:not(:disabled),.ts-grid:hover{border-color:color-mix(in srgb, var(--blue) 55%, transparent);background:var(--hover-bg)}.net-card:focus-visible,.ts-grid:focus-visible,.wan-row:focus-visible,.top-row:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.net-card:disabled{cursor:default}.net-card.static{cursor:default;gap:2px}.net-card-title{color:var(--gold);font-size:13px;font-weight:600}.net-card .count-row{align-items:center;gap:10px;display:flex}.net-card .count{letter-spacing:-.02em;color:var(--blue);font-size:34px;font-weight:650;line-height:1.05}.net-card .sub{color:var(--gold-3);font-size:12px}.traffic-total{color:var(--blue);font-variant-numeric:tabular-nums;font-size:22px;font-weight:650}.ap-figures{align-items:flex-end;gap:16px;display:flex}.ap-fig{flex-direction:column;display:flex}.ap-fig b{letter-spacing:-.01em;color:var(--blue);font-variant-numeric:tabular-nums;font-size:24px;font-weight:650;line-height:1.1}.ap-fig small{color:var(--gold-3);align-items:center;gap:5px;font-size:11.5px;display:inline-flex}.airtime-meter{background:var(--surface-3);border-radius:3px;height:6px;margin:4px 0 2px;display:flex;overflow:hidden}.airtime-meter.thin{width:64px;height:3px;margin:4px 0 0 auto}.airtime-meter .own{background:var(--series-1)}.airtime-meter .interference{background:var(--series-2)}.airtime-meter .own+.interference{border-left:2px solid var(--surface-2)}.swatch{border-radius:2px;flex:none;width:8px;height:8px;display:inline-block}.swatch.own{background:var(--series-1)}.swatch.interference{background:var(--series-2)}.swatch.free{background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--border-strong)}.airtime-legend{color:var(--gold-3);flex-wrap:wrap;gap:4px 14px;margin:-2px 0 8px;font-size:11.5px;display:flex}.airtime-legend span{align-items:center;gap:6px;display:inline-flex}.ap-table th.group{text-align:center;border-bottom:1px solid var(--border);color:var(--gold-2)}.ap-table th.group,.ap-table .group-start{border-left:1px solid var(--border)}.ap-table .channel{color:var(--gold)}.ap-table .width{color:var(--gold-3);font-size:10.5px;display:block}.ap-table tr.muted td{color:var(--gold-3)}.ap-table .tag{margin-left:6px}.tag.warn{border-color:color-mix(in srgb, var(--amber) 45%, transparent);color:var(--amber)}.mini-note{font-size:11.5px;line-height:1.35}.mini-note.good{color:var(--status-good)}.mini-note.warn{color:var(--amber)}.ts-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 12px;width:100%;display:grid}.ts-cell{min-width:0;color:var(--gold-2);align-items:center;gap:7px;font-size:13px;display:flex}.ts-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ts-cell b{color:var(--gold);font-variant-numeric:tabular-nums}.ts-more{color:var(--blue);grid-column:1/-1;align-items:center;gap:4px;font-size:12px;display:inline-flex}.wan-row{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:content-box;background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;margin:2px -6px 0;padding:5px 6px;font-size:12.5px;display:flex}.wan-row:hover{background:var(--blue-wash)}.wan-name{overflow-wrap:anywhere;min-width:0;color:var(--blue);flex:1;line-height:1.3}.wan-name.offline{color:var(--red)}.wan-badge{border:1px solid var(--border-strong);color:var(--gold-3);white-space:nowrap;border-radius:999px;padding:0 6px;font-size:10.5px;font-weight:600}.wan-badge.active{border-color:color-mix(in srgb, var(--green) 45%, transparent);color:var(--green)}.wan-ping{text-align:right;min-width:4.5ch;color:var(--gold-2);font-variant-numeric:tabular-nums;white-space:nowrap}.tbars-wrap{margin:4px 0 6px}.tbars-wrap .legend{color:var(--gold-2);gap:14px;margin-bottom:6px;font-size:11.5px;display:flex}.legend .sw{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.sw-down,.seg-down{background:var(--series-1)}.sw-up,.seg-up{background:var(--series-2)}.tbars{border-bottom:1px solid var(--grid);align-items:flex-end;gap:4px;display:flex;position:relative}.tbar-slot{outline:none;flex:1;justify-content:center;align-items:flex-end;height:100%;display:flex}.tbar{flex-direction:column;gap:2px;width:min(100%,18px);display:flex}.tbar .seg{min-height:1px;display:block}.tbar .seg:first-child{border-radius:4px 4px 0 0}.tbar-slot.is-hover .tbar,.tbar-slot:focus-visible .tbar{filter:brightness(1.25)}.tbars-wrap.compact .tbars{border-bottom-color:#0000;gap:2px}.tbars-wrap.compact .tbar{width:min(100%,10px)}.tbars-wrap.compact .seg-down{background:color-mix(in srgb, var(--blue) 55%, transparent)}.tbar-tip{border:1px solid var(--border-strong);background:var(--surface-3);color:var(--gold-2);white-space:nowrap;pointer-events:none;z-index:2;border-radius:6px;gap:8px;padding:4px 8px;font-size:11.5px;display:flex;position:absolute;bottom:calc(100% + 6px);transform:translate(-50%)}.tbar-tip b{color:var(--gold)}.tbars-wrap.compact .tbar-tip{bottom:calc(100% + 2px)}.tbars-axis{color:var(--gold-3);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.modal.modal-detail{width:min(820px,94vw);height:auto;max-height:min(880px,90dvh);display:flex}.modal-detail .block.detail{width:100%;height:auto;max-height:inherit}.facts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px 16px;margin:6px 0 12px;display:grid}.facts dt{color:var(--gold-3);font-size:11.5px}.facts dd{color:var(--gold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:2px 0 0;font-size:13.5px}.facts dd.big{font-size:24px;font-weight:650}.facts.small dd{font-size:12.5px}.detail-h{color:var(--gold);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;margin:16px 0 8px;font-size:12.5px;font-weight:650;display:flex}.detail-h.small{margin-top:10px;font-size:11.5px}.hint{color:var(--gold-3);margin:4px 0 10px;font-size:12px}.criteria{color:var(--gold-2);margin:4px 0 12px;font-size:12.5px;line-height:1.55}.criteria code{background:var(--surface-3);color:var(--gold);font-family:var(--mono);border-radius:4px;margin:0 3px;padding:1px 5px;font-size:11.5px}.table-scroll{overflow-x:auto}.detail-table{border-collapse:collapse;width:100%;font-size:12.5px}.detail-table th{border-bottom:1px solid var(--border-strong);color:var(--gold-3);text-align:left;white-space:nowrap;padding:6px 8px;font-weight:600}.detail-table td{border-bottom:1px solid var(--row-line);color:var(--gold-2);vertical-align:top;padding:6px 8px}.detail-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.detail-table .strong,.strong{color:var(--gold)}.mono{font-family:var(--mono);font-size:.92em}.chip{border:1px solid var(--border-strong);color:var(--gold-2);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.chip.good{border-color:color-mix(in srgb, var(--green) 45%, transparent);color:var(--green)}.chip.bad{border-color:color-mix(in srgb, var(--red) 50%, transparent);color:var(--red)}.chip.info{border-color:color-mix(in srgb, var(--blue) 45%, transparent);color:var(--blue-2)}.top-list{margin:0;padding:0;list-style:none}.top-list>li{border-bottom:1px solid var(--border)}.top-list>li.is-open{padding-bottom:10px}.top-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:8px 4px;display:flex}.top-row:hover{background:var(--blue-wash)}.top-row .rank{background:var(--surface-3);width:22px;height:22px;color:var(--gold);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:650;display:grid}.top-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.top-name{color:var(--blue);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.top-meta{color:var(--gold-3);font-size:11.5px}.top-bytes{white-space:nowrap;font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;gap:1px;display:flex}.top-bytes b{color:var(--gold);font-size:13.5px}.top-bytes span{color:var(--gold-3);font-size:11px}.top-row .chev{color:var(--blue);flex:none;transition:transform .15s}.top-row[aria-expanded=true] .chev{transform:rotate(90deg)}.meter{background:var(--surface-3);border-radius:2px;height:4px;margin-top:3px;display:block;overflow:hidden}.meter span{background:var(--series-1);border-radius:2px;height:100%;display:block}.meter.thin{max-width:220px;height:3px}.breakdown{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);margin:4px 0 0 32px;padding:10px 12px}.speedtest{margin-top:6px}.confirm{border:1px solid color-mix(in srgb, var(--amber) 45%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--amber) 6%, transparent);color:var(--gold-2);padding:10px 12px;font-size:12.5px}.confirm p{margin:0 0 8px}.confirm-actions{flex-wrap:wrap;gap:8px;display:flex}.confirm-actions .btn-solid{border-radius:var(--radius-sm);cursor:pointer;border:0;padding:5px 12px}.name-btn{font:inherit;text-align:left;cursor:copy;background:0 0;border:0;padding:0}.name-btn:hover{text-underline-offset:3px;text-decoration:underline}.name-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:3px}.menu-wrap{position:relative}.menu-count{background:var(--blue-wash);min-width:18px;color:var(--blue-2);text-align:center;border-radius:999px;padding:0 5px;font-size:11px;font-weight:650}.menu{z-index:40;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:min(340px,100vw - 32px);box-shadow:var(--shadow);padding:10px 12px 12px;position:absolute;top:calc(100% + 8px);right:0}.menu-title{color:var(--gold-3);text-transform:uppercase;letter-spacing:.06em;margin:6px 0;font-size:11.5px;font-weight:650}.menu-check{color:var(--gold-2);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:5px 4px;font-size:13px;display:flex}.menu-check:hover{background:var(--surface-2)}.menu-check input{accent-color:var(--blue);width:15px;height:15px}.menu-icon{color:var(--gold-3);display:inline-grid}.menu-icon svg{width:15px;height:15px}.seg{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.seg button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--blue);cursor:pointer;background:0 0;flex-direction:column;align-items:center;gap:1px;padding:6px 0;display:flex}.seg button b{font-size:15px}.seg button small{color:var(--gold-3);font-size:10.5px}.seg button:hover{background:var(--blue-wash)}.seg button.is-on{border-color:var(--blue);background:var(--blue-wash)}.seg.seg-pair{grid-template-columns:repeat(2,1fr)}.seg.seg-pair button{flex-direction:row;justify-content:center;gap:6px;padding:7px 0;font-size:13px}.menu-title.menu-gap{margin-top:14px}.menu-hint{color:var(--gold-3);margin:8px 0 4px;font-size:11.5px}.btn-link{color:var(--blue);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px}.btn-link:hover{text-decoration:underline}.big-empty{text-align:center;padding:60px 20px}.tag{border:1px solid var(--border-strong);color:var(--gold-2);letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:0 6px;font-size:10.5px;font-weight:600;display:inline-block}.cat-summary{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.cat-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--gold-2);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;display:inline-flex}.cat-chip b{color:var(--gold);font-variant-numeric:tabular-nums}.category+.category{margin-top:6px}.category h3{font-size:inherit;margin:0}.category-toggle{border-radius:var(--radius-sm);width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin:0;padding:5px 6px 5px 2px;display:flex}.category-toggle:hover{background:var(--surface-2)}.category-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.category-toggle .chev{color:var(--blue);flex:none;transition:transform .15s}.category-toggle[aria-expanded=true] .chev{transform:rotate(90deg)}.category-toggle .cat-name{color:var(--gold);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:12.5px;font-weight:650}.category-toggle .cat-count{color:var(--gold-3);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.category .device-list{margin-bottom:4px;padding-left:24px}.device-list{margin:0;padding:0;list-style:none}.device-list li{border-bottom:1px solid var(--row-line);align-items:center;gap:9px;min-width:0;padding:4px 0;font-size:13px;display:flex}.device-list li:last-child{border-bottom:0}.device-list .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.device-list .meta{color:var(--gold-3);white-space:nowrap;font-size:11.5px}.device-list .missing-name{color:var(--gold-3);font-style:italic}.stat-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:4px 16px;display:flex}.stat-label{color:var(--gold-2);font-size:12.5px}.chips{flex-wrap:wrap;gap:6px;margin:10px 0 4px;display:flex}.chip{border:1px solid var(--border-strong);color:var(--blue);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.chip b{font-variant-numeric:tabular-nums}.chip[aria-pressed=false]{color:var(--gold-3);border-style:dashed}.chip:hover{background:var(--blue-wash)}.status-mark{border-radius:2px;flex:none;width:8px;height:8px}.st-open{background:var(--status-warning)}.st-pending{background:var(--status-serious)}.st-resolved{background:var(--status-good)}.st-other{background:var(--gold-3)}.list-toolbar{color:var(--gold-3);justify-content:space-between;align-items:center;gap:8px;margin:8px 0 2px;font-size:12px;display:flex}.day-group h4{z-index:1;background:var(--surface);color:var(--gold-2);text-transform:uppercase;letter-spacing:.06em;margin:10px 0 4px;padding:3px 0;font-size:11.5px;font-weight:650;position:sticky;top:-4px}.ticket-list{margin:0;padding:0;list-style:none}.ticket-list li+li{border-top:1px solid var(--row-line)}.ticket{border-radius:6px;grid-template-columns:auto 1fr;gap:2px 10px;padding:6px 4px;display:grid}.ticket:hover{background:var(--blue-wash);text-decoration:none}.ticket .num{font-family:var(--mono);color:var(--blue);font-variant-numeric:tabular-nums;padding-top:1px;font-size:12.5px}.ticket .subject{color:var(--blue);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ticket .info{color:var(--gold-3);flex-wrap:wrap;grid-column:2;align-items:center;gap:6px;font-size:11.5px;display:flex}.pill{color:var(--gold-2);align-items:center;gap:5px;display:inline-flex}.pill-danger{color:var(--red);font-weight:600}.pill-hot{color:var(--status-serious);font-weight:600}.section-preview{color:var(--gold-3);flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:12px;display:flex}.section-preview b{color:var(--gold-2);font-weight:600}.task-add{grid-template-columns:1fr auto;gap:6px;margin:10px 0 8px;display:grid}.task-add input,.task-add select,.task-filter{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg);min-width:0;color:var(--gold);padding:7px 10px}.task-add input::placeholder,.task-filter::placeholder{color:var(--gold-3)}.task-add .row2{grid-column:1/-1;gap:6px;display:flex}.task-add .row2 select{flex:1}.task-filter{width:100%;margin-bottom:6px}.md-section{margin:6px 0}.md-heading{text-align:left;width:100%;color:var(--gold);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:4px 2px;display:flex}.md-heading:hover{background:color-mix(in srgb, var(--gold) 6%, transparent)}.md-heading .caret{width:14px;height:14px;color:var(--gold-3);flex:none;transition:transform .14s}.md-heading[aria-expanded=true] .caret{transform:rotate(90deg)}.md-heading .title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:650;overflow:hidden}.md-heading.h2 .title{font-size:14px}.md-heading.h3 .title{color:var(--gold-2);font-size:13px}.md-heading .n{color:var(--gold-3);font-variant-numeric:tabular-nums;font-size:12px}.md-heading .auto{font-size:10.5px}.md-children{border-left:1px solid var(--border);margin-left:8px;padding-left:14px}.task-list{margin:0;padding:0;list-style:none}.task{border-radius:6px;align-items:flex-start;gap:9px;padding:4px 2px;display:flex}.task:hover{background:var(--hover-faint)}.task input[type=checkbox]{appearance:none;border:1.5px solid var(--blue);cursor:pointer;background:0 0;border-radius:4px;flex:none;place-content:center;width:16px;height:16px;margin:2px 0 0;display:grid}.task input[type=checkbox]:after{content:"";border-left:2px solid var(--on-accent);border-bottom:2px solid var(--on-accent);opacity:0;width:9px;height:5px;transform:rotate(-45deg)translate(1px,-1px)}.task input[type=checkbox]:checked{background:var(--blue)}.task input[type=checkbox]:checked:after{opacity:1}.task .md{min-width:0;color:var(--gold);overflow-wrap:anywhere;flex:1;font-size:13px}.task.done .md{color:var(--gold-3);text-decoration:line-through}.md strong{color:var(--gold-strong);font-weight:650}.md em{color:var(--gold-2)}.md .wikilink{color:var(--gold-2);border-bottom:1px dotted var(--gold-3)}.md .link-icon{font-size:.95em}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 14px;margin-bottom:6px;display:flex}.hero{color:var(--gold);letter-spacing:-.01em;font-size:30px;font-weight:650;line-height:1.1}.hero-label{color:var(--gold-2);font-size:12px}.peak{color:var(--gold-3);text-align:right;font-size:12px}.legend{color:var(--gold-2);gap:14px;margin:2px 0 4px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:2px;width:10px;height:10px;display:inline-block}.chart-box{flex:1;min-height:140px;position:relative}.chart-box svg{display:block;overflow:visible}.chart-box .axis text{fill:var(--gold-3);font-variant-numeric:tabular-nums;font-size:10.5px}.chart-box .grid-line{stroke:var(--grid);stroke-width:1px;shape-rendering:crispedges}.chart-box .baseline{stroke:var(--border-strong);stroke-width:1px;shape-rendering:crispedges}.chart-box .peak-label{fill:var(--gold-2);font-size:11px;font-weight:600}.chart-box .band:focus{outline:none}.chart-box .bar{transition:opacity .12s}.chart-box.hovering .bar{opacity:.45}.chart-box.hovering .bar.active{opacity:1;filter:brightness(1.15)}.tooltip{z-index:5;pointer-events:none;border-radius:var(--radius-sm);background:var(--tooltip-bg);border:1px solid var(--border-strong);min-width:140px;box-shadow:0 10px 24px rgb(var(--shadow-rgb) / calc(.5 * var(--shadow-k)));color:var(--gold-2);white-space:nowrap;padding:8px 10px;font-size:12px;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.tooltip .t-head{color:var(--gold-3);margin-bottom:4px}.tooltip .t-row{align-items:center;gap:8px;display:flex}.tooltip .t-row b{color:var(--gold);font-variant-numeric:tabular-nums;font-size:13px}.tooltip .key{border-radius:2px;width:12px;height:2.5px}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12.5px}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:right;padding:4px 6px}.data-table th:first-child,.data-table td:first-child{text-align:left}.data-table th{color:var(--gold-3);background:var(--surface);font-weight:600;position:sticky;top:-4px}.chart-widget{flex-direction:column;height:100%;display:flex}.dams-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.switch{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:999px;padding:2px;display:inline-flex}.switch button{color:var(--blue);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 14px;font-size:12.5px;transition:background .15s,color .15s}.switch button:hover:not(.is-on){background:var(--blue-wash)}.switch button.is-on{background:var(--blue);color:var(--on-accent);font-weight:650}.seg.seg-inline{flex-wrap:wrap;gap:4px;display:flex}.seg.seg-inline button{white-space:nowrap;flex-direction:row;padding:3px 9px;font-size:12px}.peak .kinds{white-space:normal;max-width:320px;margin-top:4px}.peak .kinds b{color:var(--gold-2)}.hint.with-icon{align-items:center;gap:6px;margin:0 0 6px;display:flex}.chart-box .bar.partial path{opacity:.65}.tooltip.side{z-index:60;white-space:normal;width:max-content;max-width:280px;transform:none}.t-break{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.t-break-head{color:var(--gold-3);margin-bottom:3px}.t-break-row{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.t-break-row span{max-width:230px;line-height:1.35}.t-break-row b{color:var(--gold);font-variant-numeric:tabular-nums}.t-break-more{color:var(--gold-3);margin-top:2px;font-size:11px}.data-table td.when{white-space:nowrap}.data-table th.cap{text-align:left}.data-table th.cap:first-letter{text-transform:uppercase}.data-table td.breakdown-cell{text-align:left;min-width:220px;color:var(--gold-3);font-size:11.5px;line-height:1.45}.breakdown-cell b{color:var(--gold);margin-right:6px;font-size:12.5px}.modal-backdrop{z-index:50;background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:min(1200px,94vw);height:min(900px,92dvh)}.modal .block-head{cursor:default}.toasts{z-index:60;flex-direction:column;gap:8px;width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast,.alert-item{border-radius:var(--radius-sm);background:var(--toast-bg);border:1px solid var(--border-strong);border-left:3px solid var(--sev,var(--gold));box-shadow:0 12px 30px rgb(var(--shadow-rgb) / calc(.5 * var(--shadow-k)));gap:10px;padding:11px 12px;animation:.22s ease-out toast-in;display:flex}.alert-item{box-shadow:none;background:var(--surface-2);animation:none}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.sev-icon{width:18px;height:18px;color:var(--sev,var(--gold));flex:none}.toast .body,.alert-item .body{flex:1;min-width:0}.toast .title,.alert-item .title{color:var(--gold);font-size:13px;font-weight:600}.toast .msg,.alert-item .msg{color:var(--gold-2);font-size:12.5px}.toast .time,.alert-item .time{color:var(--gold-3);margin-top:2px;font-size:11px}.sev-critical{--sev:var(--status-critical)}.sev-serious{--sev:var(--status-serious)}.sev-warning{--sev:var(--status-warning)}.sev-good{--sev:var(--status-good)}.sev-info{--sev:var(--status-info)}.drawer-backdrop{z-index:40;background:var(--backdrop-soft);position:fixed;inset:0}.drawer{z-index:41;background:var(--surface);border-left:1px solid var(--border);width:min(420px,100vw);box-shadow:-20px 0 50px rgb(var(--shadow-rgb) / calc(.45 * var(--shadow-k)));flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 14px 10px 18px;display:flex}.drawer header h2{color:var(--gold);margin:0;font-size:15px}.drawer .settings{border-bottom:1px solid var(--border);color:var(--gold-2);flex-direction:column;gap:8px;padding:12px 18px;font-size:12.5px;display:flex}.drawer .settings label{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.drawer .settings input{accent-color:var(--blue);margin-top:3px}.drawer .list{flex-direction:column;flex:1;gap:8px;padding:12px 14px 20px;display:flex;overflow:auto}.toast .actions{gap:4px;margin-top:6px;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=760px){.topbar{flex-wrap:wrap;gap:8px 12px;padding:10px 16px}.topbar-spacer{display:none}.brand-logo{height:24px}.brand .sub{display:none}.clock{order:3;width:100%;font-size:12.5px}.grid-wrap{padding:12px 16px 32px}.hide-sm{display:none}}@media (prefers-reduced-motion:reduce){.bulb,.dot.on,.online,.spin svg{animation:none}.react-grid-item,.react-grid-layout,.category-toggle .chev,.top-row .chev,.switch button{transition:none}}.user-chip{color:var(--blue);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:9px;max-width:260px;padding:3px 10px 3px 3px;display:inline-flex}.user-chip:hover,.user-chip[aria-expanded=true]{background:var(--blue-wash);border-color:color-mix(in srgb, var(--blue) 25%, transparent)}.user-name{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:550;overflow:hidden}.avatar{object-fit:cover;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:50%;flex:none;place-items:center;display:inline-grid}.avatar-initials{color:var(--gold);letter-spacing:.02em;font-weight:650}.menu-person{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:4px;padding:4px 2px 10px;display:flex}.menu-person-name{color:var(--gold);font-weight:650}.menu-person-mail{color:var(--gold-3);word-break:break-all;font-size:12px}.badge-admin{border-color:color-mix(in srgb, var(--blue) 45%, transparent);color:var(--blue);margin-top:4px}.badge-env{border-color:color-mix(in srgb, var(--status-serious) 55%, transparent);color:var(--status-serious)}.menu-actions{border-top:1px solid var(--border);flex-direction:column;gap:2px;margin-top:14px;padding-top:10px;display:flex}.menu-action{width:100%;color:var(--blue);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:7px 6px;font-size:13px;display:flex}.menu-action:hover{background:var(--blue-wash);color:var(--blue-2)}.menu-action.menu-signout{color:var(--gold-2);margin-top:4px}.user-menu .menu{max-height:calc(100dvh - 90px);overflow-y:auto}.modal.modal-detail:has(.dialog-wide){width:min(1100px,96vw)}.dialog .block-body{overflow-y:auto}.account-intro{color:var(--gold-2);margin:0 0 10px;font-size:13px}.account-heading{color:var(--gold);margin:0 0 6px;font-size:15px}.account-row{flex-wrap:wrap;gap:8px;margin:4px 0 10px;display:flex}.account-row input,.file-picks input[type=text]{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg);min-width:180px;color:var(--gold);flex:1;padding:7px 10px}.account-row input::placeholder{color:var(--gold-3)}.account-form.compact{padding:4px 0}.token-secret code{word-break:break-all;font-family:var(--mono);background:var(--surface-3);color:var(--gold);border-radius:6px;margin:6px 0;padding:6px 8px;font-size:12px;display:block}.token-list,.audit-list{margin:8px 0 0;padding:0;list-style:none}.token-list li{border-top:1px solid var(--row-line);color:var(--gold-2);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.token-list code{font-family:var(--mono);color:var(--gold-3);font-size:12px}.file-picks{gap:10px;margin:6px 0 12px;display:grid}.file-picks label{color:var(--gold-2);gap:4px;font-size:13px;display:grid}.audit-list li{border-top:1px solid var(--row-line);color:var(--gold-2);padding:6px 0;font-size:13px}.admin-table-wrap{margin-top:6px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{text-align:left;color:var(--gold-3);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 8px;font-size:11.5px;font-weight:650}.admin-table td{border-bottom:1px solid var(--row-line);vertical-align:middle;color:var(--gold-2);padding:7px 8px}.admin-table input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px}.admin-table tr.is-off td{opacity:.55}.admin-table tr.is-busy td{opacity:.7}.admin-person{align-items:center;gap:10px;min-width:220px;display:flex}.admin-name{color:var(--gold);font-weight:600}.admin-panels{flex-wrap:wrap;gap:4px;display:flex}.admin-panels .chip{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.admin-panels .chip[aria-pressed=true]{border-color:var(--blue);background:var(--blue-wash);color:var(--blue-2)}.admin-panels .chip[aria-pressed=true] .menu-icon{color:var(--blue-2)}.admin-panels .chip:disabled{cursor:default}.admin-table .pill{margin-left:6px}.signin{place-items:center;min-height:100dvh;padding:16px;display:grid}.signin-card{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow);text-align:center;padding:28px 26px}.signin-card .brand-logo{margin:0 auto 12px}.signin-card h1{color:var(--gold);margin:0 0 12px;font-size:20px}.signin-card .notice{text-align:left}.signin-btn{margin-top:8px;padding:9px 16px}.no-panels h2{color:var(--gold);margin:0 0 6px;font-size:18px}.no-panels ul{padding:0;list-style:none}
