Chart will appear when data is loaded.
| 2xx Responses | — |
| 3xx Redirects | — |
| 4xx Client Errors | — |
| 5xx Server Errors | — |
| Firebase Users | — |
| AI Status | Connecting... |
| User | Role | Status | Last Active | Device | IP | Actions | |
|---|---|---|---|---|---|---|---|
| Loading users... | |||||||
/* ═══════════════════════════════════════ CHART BAR SYSTEM ═══════════════════════════════════════ */ #chartBars{ display:flex;align-items:flex-end;gap:2px; height:200px;padding:0 4px; } .chart-col{ flex:1;display:flex;flex-direction:column; align-items:center;gap:3px;min-width:0; } .chart-col.current .chart-label{color:var(--accent);font-weight:700} .chart-col.current .chart-bar{border:1px solid var(--accent)} .chart-bar{ width:100%;border-radius:2px 2px 0 0; position:relative;cursor:pointer; transition:opacity 0.15s ease;min-height:2px; } .chart-bar:hover{opacity:0.8} .chart-bar-error{ position:absolute;top:0;left:0;right:0; background:rgba(255,59,92,0.6);border-radius:2px 2px 0 0; } .chart-label{ font-family:var(--font-mono);font-size:7px; color:var(--text-5);user-select:none; } .chart-count{ font-family:var(--font-mono);font-size:7px; color:var(--text-4);height:12px;user-select:none; } /* Tooltip */ .chart-tooltip{ position:fixed;z-index:9999; background:var(--bg-5);border:1px solid var(--border-3); border-radius:6px;padding:8px 12px; font-family:var(--font-mono);font-size:10px; color:var(--text-1);line-height:1.6; box-shadow:0 4px 16px rgba(0,0,0,0.5); pointer-events:none;white-space:nowrap; } /* Mini Stats */ #chartMiniStats{ display:flex;gap:16px;justify-content:center; flex-wrap:wrap;padding:12px 0 4px; border-top:1px solid var(--border-1);margin-top:12px; } .mini-stat{display:flex;flex-direction:column;align-items:center;gap:2px} .mini-stat-num{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--text-0)} .mini-stat-label{font-size:8px;color:var(--text-4);text-transform:uppercase;letter-spacing:0.5px} /* Code Table */ .code-table{width:100%;font-size:11px} .code-table th{font-size:8px;padding:8px 12px} .code-table td{padding:7px 12px} .code-badge{ display:inline-block;padding:2px 8px;border-radius:4px; font-family:var(--font-mono);font-size:10px;font-weight:700; } .code-badge.code-2xx{background:var(--green-bg);color:var(--green)} .code-badge.code-3xx{background:var(--accent-bg);color:var(--accent)} .code-badge.code-4xx{background:var(--orange-bg);color:var(--orange)} .code-badge.code-5xx{background:var(--red-bg);color:var(--red)} .code-bar-wrap{height:6px;background:var(--bg-5);border-radius:3px;overflow:hidden;width:100%} .code-bar-fill{height:100%;border-radius:3px;transition:width 0.3s ease} .code-bar-fill.code-2xx{background:var(--green)} .code-bar-fill.code-3xx{background:var(--accent)} .code-bar-fill.code-4xx{background:var(--orange)} .code-bar-fill.code-5xx{background:var(--red)} .code-empty{padding:20px;text-align:center;color:var(--text-5);font-size:11px} /* Hourly Table */ .hourly-table{width:100%;font-size:11px} .hourly-table th{font-size:8px;padding:7px 10px} .hourly-table td{padding:6px 10px;font-family:var(--font-mono);font-size:10px} .hour-current td{background:var(--accent-bg)!important} .hour-status{font-size:9px;font-weight:600} .hour-status.ok{color:var(--green)} .hour-status.critical{color:var(--red)} .hour-status.warning{color:var(--orange)} .hour-status.minor{color:var(--yellow)} .hour-status.empty{color:var(--text-5)} /* Uptime Bar */ .uptime-bar{display:flex;gap:2px;margin-bottom:4px} .uptime-block{flex:1;height:24px;border-radius:2px;transition:0.15s ease;cursor:pointer} .uptime-block:hover{opacity:0.7;transform:scaleY(1.1)} .uptime-ok{background:var(--green)} .uptime-minor{background:var(--yellow)} .uptime-warning{background:var(--orange)} .uptime-critical{background:var(--red)} .uptime-empty{background:var(--bg-5)} .uptime-labels{display:flex;justify-content:space-between;font-size:8px;color:var(--text-5);font-family:var(--font-mono)} /* Event text colors */ .event-text-green .event-title,.event-text-green .event-desc{color:var(--green)!important} .event-text-red .event-title,.event-text-red .event-desc{color:var(--red)!important} .event-text-orange .event-title,.event-text-orange .event-desc{color:var(--orange)!important} /* Bottom bar extras */ #bbScore{font-weight:700} #agentConfidence{font-weight:700} /* ═══════════════════════════════════════ USERS TABLE ON HOME ═══════════════════════════════════════ */ .user-tab{ padding:8px 16px;font-size:10px;font-weight:600; background:none;border:none;color:var(--text-4); cursor:pointer;border-bottom:2px solid transparent; transition:0.15s ease; } .user-tab:hover{color:var(--text-1);background:var(--bg-hover)} .user-tab.active{color:var(--accent);border-bottom-color:var(--accent)} tr.user-blocked{background:rgba(255,59,92,0.04)!important} tr.user-blocked td{opacity:0.6} tr.user-banned{background:rgba(255,145,0,0.04)!important} tr.user-online td .user-status-dot{background:var(--green)} tr.user-guest td{opacity:0.7} .user-status-dot{ width:6px;height:6px;border-radius:50%; display:inline-block;margin-right:4px; } .user-status-dot.online{background:var(--green);box-shadow:0 0 4px rgba(0,230,118,0.4)} .user-status-dot.offline{background:var(--text-5)} .user-status-dot.banned{background:var(--orange)} .user-status-dot.blocked{background:var(--red)} .user-actions{display:flex;gap:3px;flex-wrap:wrap} .user-action-btn{ padding:3px 7px;font-size:8px;font-weight:700; border:1px solid var(--border-2);border-radius:3px; cursor:pointer;transition:0.12s ease;background:var(--bg-5); color:var(--text-3);letter-spacing:0.3px; } .user-action-btn:hover{border-color:var(--border-4);color:var(--text-0)} .user-action-btn.warn{border-color:var(--orange-border);color:var(--orange)} .user-action-btn.warn:hover{background:var(--orange-bg)} .user-action-btn.danger{border-color:var(--red-border);color:var(--red)} .user-action-btn.danger:hover{background:var(--red-bg)} .user-action-btn.info{border-color:var(--accent-border);color:var(--accent)} .user-action-btn.info:hover{background:var(--accent-bg)} .guest-badge{ font-size:8px;padding:1px 6px;border-radius:8px; background:rgba(255,255,255,0.03);color:var(--text-5); border:1px solid rgba(255,255,255,0.06); } .list-modal-item{ display:flex;align-items:center;justify-content:space-between; padding:8px 12px;border-bottom:1px solid var(--border-1); font-size:11px; } .list-modal-item:hover{background:var(--bg-hover)}
| 2xx Responses | — |
| 3xx Redirects | — |
| 4xx Client Errors | — |
| 5xx Server Errors | — |
| Firebase Users | — |
| AI Status | Connecting... |
| User | Role | Status | Last Active | Device | IP | Actions | |
|---|---|---|---|---|---|---|---|
| Loading users... | |||||||