diff --git a/openclaw_security/dashboard/dashboard.html b/openclaw_security/dashboard/dashboard.html
index 3b9e2bc..c7681a4 100644
--- a/openclaw_security/dashboard/dashboard.html
+++ b/openclaw_security/dashboard/dashboard.html
@@ -130,7 +130,7 @@
color: var(--text-muted);
}
- .toolbar select, .toolbar input[type="text"] {
+ .toolbar select, .toolbar input[type="text"], .toolbar input[type="datetime-local"] {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: 6px;
@@ -138,9 +138,10 @@
font-size: 0.8rem;
padding: 0.4rem 0.6rem;
font-family: 'JetBrains Mono', monospace;
+ color-scheme: dark;
}
- .toolbar select:focus, .toolbar input[type="text"]:focus {
+ .toolbar select:focus, .toolbar input[type="text"]:focus, .toolbar input[type="datetime-local"]:focus {
outline: none;
border-color: var(--accent);
}
@@ -220,11 +221,55 @@
text-transform: uppercase;
letter-spacing: 0.05em;
border-bottom: 1px solid var(--border);
- z-index: 1;
+ z-index: 2;
}
thead th:first-child { padding-left: 2rem; }
+ thead th.sortable {
+ cursor: pointer;
+ user-select: none;
+ }
+
+ thead th.sortable:hover { color: var(--text-secondary); }
+
+ thead th .sort-arrow {
+ display: inline-block;
+ margin-left: 0.3rem;
+ font-size: 0.6rem;
+ opacity: 0.3;
+ }
+
+ thead th.sort-asc .sort-arrow { opacity: 1; color: var(--accent); }
+ thead th.sort-desc .sort-arrow { opacity: 1; color: var(--accent); }
+
+ /* ── Column filter row ─────────────────────── */
+ thead tr.filter-row th {
+ position: sticky;
+ top: 28px;
+ background: var(--bg-card);
+ padding: 0.25rem 0.5rem;
+ border-bottom: 1px solid var(--border);
+ z-index: 1;
+ }
+
+ thead tr.filter-row th:first-child { padding-left: 1.75rem; }
+
+ .col-filter {
+ background: var(--bg);
+ border: 1px solid var(--border);
+ border-radius: 4px;
+ color: var(--text);
+ font-size: 0.7rem;
+ padding: 0.25rem 0.4rem;
+ font-family: 'JetBrains Mono', monospace;
+ width: 100%;
+ box-sizing: border-box;
+ }
+
+ .col-filter:focus { outline: none; border-color: var(--accent); }
+ .col-filter::placeholder { color: var(--text-muted); opacity: 0.5; }
+
tbody tr {
border-bottom: 1px solid var(--border-subtle);
transition: background 0.15s;
@@ -496,6 +541,10 @@
OpenClaw Security
+
+
+
+
0 events