:root{--bg: #0c0d0f;--sidebar: #101114;--surface: #16181b;--surface-2: #1d2024;--surface-hover: #22262b;--border: #292c31;--border-bright: #3a3e45;--text: #eff0f2;--text-dim: #a7aab1;--text-faint: #858993;--ok: #55c997;--warn: #efb94e;--err: #ed747d;--info: #6da8f7;--accent: #6fd7c4;--brand: #c2a6e8;--gold: #dda85a;--radius: 8px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--ok-bg: #163326;--ok-border: #265440;--ok-text: #87deb7;--warn-bg: #382b13;--warn-border: #5a451e;--warn-text: #efc974;--err-bg: #2a171a;--err-border: #582b30;--err-text: #f1a0a7;--info-bg: #17283d;--info-border: #294466;--info-text: #9bc3f8;--border-hover: #4a4f58;--input-bg: #101215;--track: #25292e;--accent-track: #285b52;--accent-hover: #87e0d0;--on-accent: #071310;--row-border: #202328;--row-hover: #191c20;--scroll-thumb: #373b42;--overlay: #121417f2;--bg-deep: #0f1113;--pre-text: #c9ccd2;--selection-bg: #356b62;--selection-text: #fff;color-scheme:dark}:root[data-theme=light]{--bg: #f2f3f6;--sidebar: #eaecf0;--surface: #ffffff;--surface-2: #f4f5f8;--surface-hover: #ececf1;--border: #d8dbe2;--border-bright: #c2c7d1;--text: #1a1d22;--text-dim: #4b515b;--text-faint: #6f7681;--ok: #158457;--warn: #996c00;--err: #cc3543;--info: #2465cc;--accent: #0d8577;--brand: #7452c8;--gold: #8f6a2a;--ok-bg: #e2f4ea;--ok-border: #b4dfc8;--ok-text: #0e6b45;--warn-bg: #faf1da;--warn-border: #e8d5a2;--warn-text: #7c5a00;--err-bg: #fce9eb;--err-border: #f1c0c6;--err-text: #ad2836;--info-bg: #e8f0fb;--info-border: #c4d7f2;--info-text: #1c55a8;--border-hover: #a9aeb9;--input-bg: #ffffff;--track: #e3e5ea;--accent-track: #b5e2da;--accent-hover: #0a6e63;--on-accent: #ffffff;--row-border: #e8eaee;--row-hover: #f4f5f8;--scroll-thumb: #c5cad3;--overlay: #f2f3f6f2;--bg-deep: #e9ebef;--pre-text: #33383f;--selection-bg: #bce6de;--selection-text: #123a33;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0;letter-spacing:0}html{background:var(--bg)}body{min-width:320px;min-height:100vh;background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--selection-bg);color:var(--selection-text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:3px solid transparent;border-radius:8px;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--border-hover);border:3px solid transparent;background-clip:padding-box}.app{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;width:224px;height:100vh;flex-shrink:0;padding:18px 14px 14px;display:flex;flex-direction:column;gap:4px;background:var(--sidebar);border-right:1px solid var(--border);z-index:20}.brand,.logo{display:flex;align-items:center;min-width:0;color:var(--text);font-weight:650}.brand{gap:10px;padding:2px 8px 22px}.logo{font-size:16px;padding:0 0 20px}.brand-name,.logo{font-size:15px}.brand-name span,.logo span{color:var(--brand)}.brand-mark{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border:1px solid var(--ok-border);border-radius:7px;background:var(--ok-bg);color:var(--accent)}.brand-copy{min-width:0}.brand-subtitle{margin-top:1px;color:var(--text-faint);font-size:10.5px;font-weight:500}.nav-group,.nav-list{display:flex;flex-direction:column;gap:4px}.nav-label{padding:8px 10px 5px;color:var(--text-faint);font-size:10.5px;font-weight:600;text-transform:uppercase}.nav-item{position:relative;width:100%;min-height:38px;padding:8px 10px;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer;text-align:left}.nav-item svg{flex:0 0 auto;color:var(--text-faint)}.nav-item:hover{background:var(--surface);color:var(--text)}.nav-item:hover svg{color:var(--text-dim)}.nav-item.active{background:var(--surface-2);border-color:var(--border);color:var(--text)}.nav-item.active:before{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--accent)}.nav-item.active svg{color:var(--accent)}.nav-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-spacer{flex:1}.sidebar-status{margin:0 4px 10px;padding:12px 8px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.status-line,.sidebar-status-row{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:12px}.sidebar-status-row+.sidebar-status-row{margin-top:10px}.sidebar-status-row svg{color:var(--text-faint)}.status-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--text-faint)}.status-dot.ok{background:var(--ok);box-shadow:0 0 0 3px #55c99718}.status-dot.warn{background:var(--warn);box-shadow:0 0 0 3px #efb94e18}.status-dot.error{background:var(--err);box-shadow:0 0 0 3px #ed747d18}.status-detail,.sidebar-status-meta{margin:5px 0 0 15px;color:var(--text-faint);font-size:11px}.account-row{display:flex;align-items:center;gap:8px;padding:6px 4px 0}.account-avatar{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-dim)}.account-copy{min-width:0;flex:1}.account-name{overflow:hidden;color:var(--text-dim);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.account-label,.account-role{color:var(--text-faint);font-size:10.5px}.main{width:100%;min-width:0;max-width:1580px;padding:28px 32px 48px}.content-shell{width:100%;min-width:0}.page-head{min-height:48px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.page-head h1{font-size:20px;font-weight:650}.page-head p{margin-top:3px;color:var(--text-dim);font-size:12.5px}.page-title-row{display:flex;align-items:center;gap:10px}.live-pill{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-size:11px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px #55c99718}.card,.metric-card{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.metric-card,.panel-card{transition:border-color .15s ease}.metric-card:hover,.panel-card:hover{border-color:var(--border-hover)}.card{padding:16px}.grid{display:grid;gap:12px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.metric-card{position:relative;min-height:132px;padding:15px 16px 14px;overflow:hidden}.metric-card:before{content:"";position:absolute;top:-1px;left:16px;right:16px;height:3px;border-radius:2px;background:var(--metric-color);opacity:.9}.metric-ok{--metric-color: var(--ok)}.metric-warn{--metric-color: var(--warn)}.metric-gold{--metric-color: var(--gold)}.metric-info{--metric-color: var(--info)}.metric-accent{--metric-color: var(--brand)}.metric-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.metric-label{color:var(--text-dim);font-size:12px;font-weight:550}.metric-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;background:color-mix(in srgb,var(--metric-color) 11%,transparent);color:var(--metric-color)}.metric-value,.stat-value{margin-top:9px;color:var(--text);font-size:27px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.1}.metric-value span{margin-left:6px;color:var(--text-faint);font-size:14px;font-weight:450}.metric-card .metric-value{color:var(--metric-color)}.metric-card .metric-value span{color:var(--text-faint)}.metric-sub,.stat-sub{margin-top:8px;color:var(--text-faint);font-size:11.5px}.stat-label{color:var(--text-dim);font-size:11.5px}.incident-panel{margin-bottom:12px;padding:12px 14px;display:grid;grid-template-columns:150px 1fr;gap:16px;border:1px solid var(--err-border);border-radius:var(--radius);background:var(--err-bg)}.incident-title{display:flex;align-items:center;gap:8px;color:var(--err);font-weight:600}.incident-list{display:grid;gap:5px}.incident-row{display:grid;grid-template-columns:minmax(90px,160px) 1fr;gap:10px;color:var(--text-dim);font-size:12.5px}.incident-row strong{color:var(--text)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:12px}.panel-card{padding:0;overflow:hidden}.panel-head{min-height:48px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}.panel-title{display:flex;align-items:center;gap:8px;color:var(--text);font-size:12.5px;font-weight:600}.panel-title svg{color:var(--accent)}.panel-meta{color:var(--text-faint);font-size:11px;white-space:nowrap}.pool-list{padding:3px 15px 10px}.pool-row{padding:12px 0;border-bottom:1px solid var(--border)}.pool-row:last-child{border-bottom:0}.pool-row-head,.pool-metric{display:flex;align-items:center;justify-content:space-between;gap:12px}.pool-row-head strong{font-size:12.5px;font-weight:600}.pool-metric{margin-top:10px;color:var(--text-dim);font-size:11.5px;font-variant-numeric:tabular-nums}.meter{height:4px;margin-top:7px;overflow:hidden;border-radius:4px;background:var(--track)}.meter span{display:block;height:100%;border-radius:inherit;background:var(--ok)}.stream-card{margin-top:12px;padding:0;overflow:hidden}.stream{max-height:430px;overflow:auto;font-family:var(--mono);font-size:11.5px}.stream-day{position:sticky;top:0;z-index:2;padding:5px 15px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--overlay);color:var(--text-faint);font:10.5px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.stream-day:first-child{border-top:0}.ev{min-height:34px;padding:7px 15px;display:grid;grid-template-columns:7px 68px minmax(72px,110px) 62px minmax(0,1fr);align-items:start;gap:9px;border-bottom:1px solid var(--row-border)}.ev:last-child{border-bottom:0}.ev:hover{background:var(--row-hover)}.ev-level{width:6px;height:6px;margin-top:6px;border-radius:50%;background:var(--info)}.ev-ok .ev-level{background:var(--ok)}.ev-warn .ev-level{background:var(--warn)}.ev-error .ev-level{background:var(--err)}.ev-time{color:var(--text-faint);font-variant-numeric:tabular-nums}.ev-vendor{overflow:hidden;color:var(--brand);text-overflow:ellipsis;white-space:nowrap}.ev-kind{color:var(--text-faint)}.ev-msg{min-width:0;color:var(--text-dim);overflow-wrap:anywhere}.ev-ok .ev-msg{color:var(--ok-text)}.ev-warn .ev-msg{color:var(--warn-text)}.ev-error .ev-msg{color:var(--err-text)}.btn,.icon-btn{border:1px solid var(--border-bright);border-radius:6px;background:var(--surface-2);color:var(--text);cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.btn{min-height:34px;padding:7px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn svg{flex:0 0 auto}.icon-btn{width:34px;height:34px;flex:0 0 34px;padding:0;display:inline-grid;place-items:center}.btn:hover:not(:disabled),.icon-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-hover)}.btn:disabled,.icon-btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:650}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{color:var(--err);border-color:var(--err-border)}.btn-danger:hover:not(:disabled){background:var(--err-bg)}.btn-sm{min-height:29px;padding:4px 9px;font-size:12px}.icon-btn-sm{width:30px;height:30px;flex-basis:30px}.logout-btn{color:var(--text-faint)}.field{margin-bottom:14px}.field label{display:block;margin-bottom:5px;color:var(--text-dim);font-size:12px;font-weight:500}.hint,.field .hint{margin-top:4px;color:var(--text-faint);font-size:11.5px;line-height:1.5}.input,.select,.textarea{width:100%;min-height:36px;padding:8px 10px;border:1px solid var(--border-bright);border-radius:6px;outline:none;background:var(--input-bg)}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-hover)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.textarea{min-height:96px;resize:vertical;font-family:var(--mono);font-size:12px}.input-mono{font-family:var(--mono);font-size:12px}.row{display:flex;gap:10px;align-items:center}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.switch{position:relative;display:flex;align-items:flex-start;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.switch-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.switch-track{width:34px;height:19px;flex:0 0 34px;margin-top:1px;padding:2px;border:1px solid var(--border-bright);border-radius:10px;background:var(--track);transition:background-color .15s ease,border-color .15s ease}.switch-track span{display:block;width:13px;height:13px;border-radius:50%;background:var(--text-dim);transition:transform .15s ease,background-color .15s ease}.switch-input:checked+.switch-track{border-color:var(--accent);background:var(--accent-track)}.switch-input:checked+.switch-track span{transform:translate(15px);background:#f5fffd}.switch-input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch-label{min-width:0;color:var(--text-dim);font-size:12.5px;line-height:1.6}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:1px solid transparent;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap}.badge-ok{background:var(--ok-bg);color:var(--ok-text);border-color:var(--ok-border)}.badge-warn{background:var(--warn-bg);color:var(--warn-text);border-color:var(--warn-border)}.badge-err{background:var(--err-bg);color:var(--err-text);border-color:var(--err-border)}.badge-dim{background:var(--row-border);color:var(--text-dim);border-color:#353941}.badge-info{background:var(--info-bg);color:var(--info-text);border-color:var(--info-border)}.table-scroll,.table-card{overflow-x:auto}.table-card table{min-width:700px}table{width:100%;border-collapse:collapse}th{padding:9px 10px;border-bottom:1px solid var(--border);color:var(--text-faint);font-size:10.5px;font-weight:600;text-align:left;white-space:nowrap}td{padding:10px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--row-hover)}.num{font-variant-numeric:tabular-nums;text-align:right}.table-primary{font-size:12.5px;font-weight:600}.table-secondary{margin-top:2px;color:var(--text-faint);font-size:10.5px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;padding:40px 16px;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;background:#050607d9}.modal{width:100%;max-width:560px;max-height:calc(100vh - 80px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-bright);border-radius:var(--radius);background:var(--surface);box-shadow:0 18px 60px #0008}.modal-wide{max-width:840px}.modal-head{min-height:56px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}.modal-head h2{min-width:0;font-size:15px;font-weight:650;overflow-wrap:anywhere}.modal-body{min-height:0;padding:18px;overflow:auto}.modal-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.kv{display:grid;grid-template-columns:minmax(90px,130px) minmax(0,1fr);gap:9px 14px}.kv>span{min-width:0;overflow-wrap:anywhere}.pre{max-height:56vh;padding:13px;overflow:auto;border:1px solid var(--border);border-radius:6px;background:var(--bg-deep);color:var(--pre-text);font:11.5px/1.6 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.center-screen{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:100%;max-width:380px;padding:28px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 20px 70px #0007}.auth-card .logo{justify-content:center;font-size:18px}.auth-card .brand{justify-content:center;padding:0 0 22px}.auth-err{margin:4px 0 10px;padding:9px 10px;border:1px solid var(--err-border);border-radius:6px;background:var(--err-bg);color:var(--err-text);font-size:12px}.tabs{padding:3px;display:inline-flex;align-items:center;gap:2px;border:1px solid var(--border);border-radius:6px;background:var(--bg-deep)}.tab{min-height:30px;padding:5px 10px;border:0;border-radius:4px;background:transparent;color:var(--text-faint);cursor:pointer;white-space:nowrap}.tab:hover{color:var(--text-dim)}.tab.active{background:var(--surface-2);color:var(--text)}.alert{margin-bottom:14px;padding:10px 12px;border:1px solid;border-radius:6px;font-size:12.5px}.alert-err{background:var(--err-bg);border-color:var(--err-border);color:var(--err-text)}.alert-warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.alert-info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.empty{padding:34px 18px;color:var(--text-faint);font-size:12.5px;text-align:center}.spinner{width:13px;height:13px;display:inline-block;border:2px solid var(--border-bright);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.mono{font-family:var(--mono);font-size:12px}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.sep{height:1px;margin:16px 0;background:var(--border)}.copy-row{display:flex;gap:7px;align-items:center}.copy-row input{min-width:0;flex:1}.section-title{margin-bottom:12px;color:var(--text-dim);font-size:12.5px;font-weight:650}.toast-wrap{position:fixed;right:20px;bottom:20px;z-index:100;display:flex;flex-direction:column;gap:8px}.toast{max-width:min(380px,calc(100vw - 32px));padding:10px 12px;display:flex;align-items:flex-start;gap:8px;border:1px solid var(--border-bright);border-radius:7px;background:var(--surface-2);box-shadow:0 12px 34px #0007;font-size:12.5px}.toast svg{flex:0 0 auto;margin-top:1px}.toast-err{border-color:var(--err-border);color:var(--err-text)}.toast-ok{border-color:var(--ok-border);color:var(--ok-text)}@media (max-width: 1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 900px){.app{display:block}.sidebar{width:100%;height:64px;padding:9px 14px;flex-direction:row;align-items:center;gap:8px;border-right:0;border-bottom:1px solid var(--border)}.brand{padding:0 12px 0 0}.brand-mark{width:30px;height:30px;flex-basis:30px}.brand-subtitle,.nav-label,.sidebar-status,.account-copy{display:none}.nav-group,.nav-list{flex:1;flex-direction:row;justify-content:center}.nav-item{width:auto;min-height:36px;padding:7px 10px}.nav-item.active:before{left:8px;right:8px;top:auto;bottom:-10px;width:auto;height:2px}.sidebar-spacer{display:none}.account-row{padding:0}.account-avatar{display:none}.main{max-width:none;padding:24px 22px 40px}}@media (max-width: 640px){.sidebar{gap:4px;padding-inline:10px}.brand{padding-right:4px}.brand-copy{display:none}.nav-group,.nav-list{justify-content:space-evenly}.nav-item{min-width:42px;padding:7px 9px;justify-content:center}.nav-item .nav-text{display:none}.main{padding:20px 14px 34px}.page-head{align-items:flex-start;margin-bottom:16px}.page-head h1{font-size:18px}.page-head p{max-width:270px}.metric-grid{gap:8px}.metric-card{min-height:124px;padding:13px}.metric-value{font-size:24px}.metric-sub{line-height:1.35}.metric-icon{width:27px;height:27px}.grid-4,.grid-2,.row-2{grid-template-columns:1fr}.incident-panel{grid-template-columns:1fr;gap:8px}.incident-row{grid-template-columns:1fr;gap:2px}.panel-head{padding-inline:13px}.panel-meta{max-width:120px;overflow:hidden;text-overflow:ellipsis}.ev{grid-template-columns:7px 64px minmax(0,1fr);gap:8px;padding-inline:13px}.ev-vendor{min-width:0}.ev-kind{display:none}.ev-msg{grid-column:2 / -1}.stream-day{padding-inline:13px}.overlay{padding:14px 8px;align-items:flex-start}.modal{max-height:calc(100vh - 28px)}.modal-body{padding:15px}.kv{grid-template-columns:1fr;gap:3px}.kv>span:nth-child(2n){margin-bottom:8px}.row{flex-wrap:wrap}.tabs{width:100%}.tab{flex:1}.auth-card{padding:24px 20px}.toast-wrap{right:16px;bottom:16px;left:16px}.toast{max-width:none}}@media (max-width: 390px){.metric-grid{grid-template-columns:1fr}.metric-card{min-height:116px}}
