:root{color:#cbd5e1;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#22d3ee29,#0000 28%),radial-gradient(circle at 100% 0,#6366f12e,#0000 24%),linear-gradient(#07111f 0%,#020617 100%);font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100dvh}@media (width>=901px){html,body,#root{height:100dvh;overflow:hidden}}@media (width<=900px){html,body,#root{height:auto;overflow:auto}}body{margin:0}#root{width:100%}h1,h2,h3{font-family:inherit}button,input{font:inherit}.dashboard{--panel:#0a1222c7;--line:#94a3b829;--cyan:#22d3ee;--violet:#a78bfa;--amber:#fbbf24;--emerald:#34d399;--rose:#fb7185;--gap:clamp(6px, 1.15vh, 16px);--gap-x:clamp(8px, 1.2vw, 20px);--pad:clamp(8px, 1.05vw, 16px);--pad-y:clamp(6px, 1vh, 14px);--title:clamp(18px, 2.1vw + .4vh, 34px);--h2:clamp(13px, 1.15vw + .3vh, 20px);--stat:clamp(16px, 1.4vw + 1.1vh, 30px);--text:clamp(11px, .72vw + .25vh, 14px);--small:clamp(10px, .62vw + .2vh, 12px);--icon:clamp(28px, 2vw + 1.6vh, 44px);--avatar:clamp(32px, 2.2vw + 2vh, 56px);--mini:clamp(18px, 1.1vw + .8vh, 26px);--radius:clamp(10px, .9vw, 18px);--row:clamp(3px, .55vh, 9px);width:100%;height:100dvh;padding:max(var(--gap), env(safe-area-inset-top)) max(var(--gap-x), env(safe-area-inset-right)) calc(var(--gap) + 4px + env(safe-area-inset-bottom)) max(var(--gap-x), env(safe-area-inset-left));gap:var(--gap);grid-template-rows:auto auto minmax(0,1fr);margin:0;display:grid;position:relative;overflow:hidden;container-type:size}.layout{gap:var(--gap-x);grid-template-columns:1fr 1fr;height:100%;min-height:0;display:grid;overflow:hidden}.stats-column{gap:var(--gap);grid-template-rows:auto auto auto auto 1fr;min-width:0;min-height:0;display:grid;overflow:hidden}.users-panel{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.kpi-grid,.skeleton-grid{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dash-header{justify-content:space-between;align-items:center;gap:var(--gap-x);flex-wrap:wrap;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:var(--small);color:#93c5fd;margin:0 0 2px}.dash-header h1,.panel-head h2,.last-user h2{color:#f8fbff;letter-spacing:-.04em;margin:0}.dash-header h1{font-size:var(--title);font-weight:650;line-height:1.1}.header-meta{flex-wrap:wrap;align-items:center;gap:clamp(8px,.8vw,12px);display:flex}.live-pill{padding:calc(var(--pad-y) * .55) var(--pad);color:var(--emerald);font-size:var(--small);background:#34d3991f;border-radius:999px;align-items:center;gap:8px;font-weight:600;display:inline-flex}.live-pill.is-refreshing{color:var(--cyan);background:#22d3ee1f}.live-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.8s infinite pulse;box-shadow:0 0}.last-refreshed{font-size:var(--small);color:#94a3b8;flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.last-refreshed strong{color:#e2e8f0;font-weight:600}.tz-label{color:#93c5fd;letter-spacing:.04em;text-transform:uppercase;background:#93c5fd1f;border-radius:999px;align-items:center;padding:2px 8px;font-size:clamp(9px,.7vw,11px);font-weight:650;display:inline-flex}.banner{padding:var(--pad-y) var(--pad);border-radius:var(--radius);font-size:var(--text)}.banner.error{color:#fecdd3;background:#fb71851f;border:1px solid #fb718547}.metric-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));display:grid}.stat-card,.metric-card,.panel,.last-user,.skeleton-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 28px #02081738}.stat-card{padding:var(--pad-y) var(--pad);align-items:center;gap:clamp(8px,.9vw,12px);display:flex}.stat-icon,.metric-icon,.mini-avatar,.avatar,.chip svg{place-items:center;display:grid}.stat-icon,.metric-icon{width:var(--icon);height:var(--icon);border-radius:calc(var(--radius) * .65);flex-shrink:0}.stat-icon svg,.metric-icon svg,.chip svg{width:55%;height:55%}.tone-cyan .stat-icon{color:var(--cyan);background:#22d3ee24}.tone-violet .stat-icon{color:var(--violet);background:#a78bfa29}.tone-amber .stat-icon{color:var(--amber);background:#fbbf2424}.tone-emerald .stat-icon{color:var(--emerald);background:#34d39924}.stat-copy,.panel-head,.last-user,.time-cell{min-width:0}.stat-label,.metric-name,.metric-share,.panel-head p,.last-user p{color:#94a3b8;margin:0}.stat-label,.metric-name{font-size:var(--small);text-transform:capitalize}.stat-value,.metric-count{color:#f8fbff;font-size:var(--stat);letter-spacing:-.05em;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:1px 0 0;font-weight:700;overflow:hidden}.stat-hint{font-size:var(--small);color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin:1px 0 0;overflow:hidden}.panel{padding:var(--pad-y) var(--pad);min-height:0}.users-panel .table-wrap{flex:1;min-height:0;overflow:auto}.panel-head{justify-content:space-between;gap:var(--gap);margin-bottom:var(--gap);flex-wrap:wrap;align-items:baseline;display:flex}.stats-column .panel-head{margin-bottom:var(--gap);flex-direction:row;align-items:baseline}.panel-head h2,.last-user h2{font-size:var(--h2);font-weight:650}.panel-head p{font-size:var(--small);margin-top:0}.grid-toolbar{justify-content:space-between;align-items:center;gap:var(--gap);margin-bottom:var(--gap);flex-wrap:nowrap;display:flex}.search-box{min-width:0;padding:calc(var(--pad-y) * .7) var(--pad);border-radius:calc(var(--radius) * .75);border:1px solid var(--line);color:#93c5fd;background:#0f172ab8;flex:1;align-items:center;gap:8px;display:flex}.search-box svg{flex-shrink:0;width:1.1em;height:1.1em}.search-box input{color:#f8fbff;width:100%;font-size:var(--text);background:0 0;border:0;outline:none}.search-box input::placeholder{color:#64748b}.page-meta{font-size:var(--small);color:#94a3b8;white-space:nowrap;margin:0}.pagination{justify-content:space-between;align-items:center;gap:var(--gap);margin-top:var(--gap);flex-wrap:nowrap;display:flex}.page-numbers{gap:6px;display:flex}.page-btn{border:1px solid var(--line);color:#e2e8f0;border-radius:calc(var(--radius) * .65);padding:calc(var(--pad-y) * .55) var(--pad);cursor:pointer;font-size:var(--small);background:#0f172ab8}.page-btn.number{min-width:2.2em;padding-inline:0}.page-btn:hover:not(:disabled){border-color:#22d3ee73}.page-btn.is-active{color:#67e8f9;background:#22d3ee29;border-color:#22d3ee80}.page-btn:disabled{opacity:.4;cursor:not-allowed}.metric-card{padding:var(--pad-y) var(--pad)}.channel-0 .metric-icon,.node-0 .metric-icon,.version-0 .metric-icon{color:var(--cyan);background:#22d3ee24}.channel-1 .metric-icon,.node-1 .metric-icon,.version-1 .metric-icon{color:var(--violet);background:#a78bfa29}.channel-2 .metric-icon,.node-2 .metric-icon,.version-2 .metric-icon{color:var(--amber);background:#fbbf2424}.channel-3 .metric-icon,.node-3 .metric-icon,.version-3 .metric-icon{color:var(--emerald);background:#34d39924}.metric-top{align-items:center;gap:clamp(6px,.7vw,10px);display:flex}.meter{background:#94a3b824;border-radius:999px;height:clamp(4px,.55vh,7px);margin-top:clamp(4px,.8vh,10px);overflow:hidden}.meter span{border-radius:inherit;background:linear-gradient(90deg,currentColor,#67e8f9);height:100%;display:block}.channel-0,.node-0,.version-0{color:var(--cyan)}.channel-1,.node-1,.version-1{color:var(--violet)}.channel-2,.node-2,.version-2{color:var(--amber)}.channel-3,.node-3,.version-3{color:var(--emerald)}.metric-share{font-size:var(--small);margin-top:clamp(3px,.5vh,6px)}.last-user{padding:var(--pad-y) var(--pad);background:radial-gradient(circle at 0% 0%, #22d3ee2e, transparent 40%), var(--panel);align-items:center;gap:clamp(8px,1vw,14px);min-height:0;display:flex}.avatar,.mini-avatar{color:#04111f;background:linear-gradient(135deg,#22d3ee,#6366f1);border-radius:50%;font-weight:800}.avatar{width:var(--avatar);height:var(--avatar);font-size:calc(var(--avatar) * .4);flex-shrink:0}.last-user p{font-size:var(--small)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th,td{padding:var(--row) clamp(6px, .7vw, 10px);border-bottom:1px solid var(--line);font-size:var(--text);white-space:nowrap}thead th{z-index:1;color:#64748b;font-size:var(--small);text-transform:uppercase;letter-spacing:.08em;background:#0c1628;font-weight:600;position:sticky;top:0}td{color:#e2e8f0}tbody tr:hover td{background:#94a3b80f}.user-cell,.chip,.time-cell{align-items:center;gap:clamp(6px,.6vw,8px);display:flex}.mini-avatar{width:var(--mini);height:var(--mini);font-size:calc(var(--mini) * .45)}.chip{color:#e0f2fe;text-transform:capitalize;width:fit-content;font-size:var(--small);background:#22d3ee1a;border-radius:999px;padding:2px 8px}.chip-node{color:#ede9fe;background:#a78bfa1f}.chip-version{color:#fde68a;text-transform:none;background:#fbbf241f}.toolbar-actions{align-items:center;gap:var(--gap);flex-shrink:0;display:flex}.export-btn{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.export-btn svg{width:1.1em;height:1.1em}.chip svg{width:.95em;height:.95em}.time-cell{flex-direction:row;align-items:center;gap:8px}.time-cell small{color:#64748b;font-size:var(--small)}.empty{color:#94a3b8;padding:var(--pad-y) 0}.skeleton-card{background:linear-gradient(90deg,#0f172acc,#33415580,#0f172acc) 0 0/200% 100%;height:clamp(56px,8vh,88px);animation:1.4s infinite shimmer}.refresh-track{left:var(--gap-x);right:var(--gap-x);background:#94a3b81f;border-radius:999px;height:2px;position:absolute;bottom:4px;overflow:hidden}.refresh-track span{background:linear-gradient(90deg,#22d3ee,#34d399);width:0;height:100%;animation:10s linear fill;display:block}@keyframes pulse{50%{box-shadow:0 0 0 8px #0000}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes fill{to{width:100%}}.mobile-nav,.user-cards{display:none}.skeleton-table{height:100%;min-height:0}@media (width<=900px){html,body,#root{-webkit-text-size-adjust:100%;height:auto;overflow:auto}.dashboard{--title:22px;--h2:16px;--stat:22px;--text:14px;--small:12px;--icon:40px;--avatar:44px;--mini:28px;--pad:14px;--pad-y:12px;--gap:12px;--gap-x:12px;--row:10px;grid-template-rows:auto;height:auto;min-height:100dvh;overflow:visible;container-type:normal}.layout,.stats-column,.users-panel,.panel,.users-panel .table-wrap{height:auto;min-height:0;overflow:visible}.layout{grid-template-columns:1fr}.stats-column{grid-template-rows:auto}.mobile-nav{z-index:5;margin:0 calc(var(--gap-x) * -1);padding:8px 0 10px;padding-inline:var(--gap-x);-webkit-overflow-scrolling:touch;scrollbar-width:none;background:linear-gradient(#07111f 70%,#07111feb);gap:8px;display:flex;position:sticky;top:0;overflow-x:auto}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav a{border:1px solid var(--line);color:#e2e8f0;background:#0f172ad9;border-radius:999px;flex:none;align-items:center;min-height:44px;padding:10px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}#overview,#channels,#nodes,#versions,#last-user,#users{scroll-margin-top:64px}.dash-header,.header-meta,.last-user,.grid-toolbar,.pagination{flex-wrap:wrap}.header-meta{justify-content:flex-start;width:100%}.last-user{align-items:flex-start}.last-user>div{min-width:0}.last-user h2,.user-card-name,.stat-value,.stat-hint{overflow-wrap:anywhere}.last-user p,.stat-hint,.stat-value,.time-cell{white-space:normal}.search-box,.toolbar-actions,.page-meta{min-width:100%}.toolbar-actions{flex-wrap:wrap;justify-content:space-between}.search-box input{font-size:16px}.page-btn{touch-action:manipulation;min-width:44px;min-height:44px;padding:10px 14px}.pagination{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.pagination>.page-btn:first-child{justify-self:start}.pagination>.page-btn:last-child{justify-self:end}.desktop-table{display:none}.user-cards{gap:10px;display:grid}.user-card{border:1px solid var(--line);background:#0f172a8c;border-radius:14px;padding:12px 14px}.user-card-top{align-items:center;gap:10px;display:flex}.user-card-name{color:#f8fbff;margin:0;font-weight:650}.user-card-index{color:#64748b;margin:0;font-size:12px}.user-card-meta{flex-wrap:wrap;gap:8px;margin:10px 0 8px;display:flex}.user-card-time{flex-direction:column;gap:2px;margin:0;display:flex}.user-card-time small{color:#64748b}.chip{padding:6px 10px}.refresh-track{position:sticky;bottom:0}.skeleton-table{height:220px}}@media (width<=640px){.kpi-grid,.skeleton-grid,.metric-grid{grid-template-columns:1fr 1fr}}@media (width<=420px){.kpi-grid,.skeleton-grid,.metric-grid{grid-template-columns:1fr}}
