diff --git a/frontend/admin.html b/frontend/admin.html index 8c38483..dc35bff 100644 --- a/frontend/admin.html +++ b/frontend/admin.html @@ -139,7 +139,8 @@ /* tables */ .table-wrap { background: var(--surface); backdrop-filter: var(--blur); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; margin-bottom: 48px; box-shadow: var(--shadow); } table { width: 100%; border-collapse: collapse; } - th { padding: 14px 20px; text-align: left; font-size: 0.82rem; font-weight: 700; color: var(--text-3); text-transform: uppercase; letter-spacing: 0.06em; border-bottom: 1px solid var(--border); background: rgba(238,242,255,0.5); } + /* Sticky header: stays visible while body scrolls (in .sb-content). Background opaque (not transparent) so rows scroll cleanly behind. */ + th { padding: 14px 20px; text-align: left; font-size: 0.82rem; font-weight: 700; color: var(--text-3); text-transform: uppercase; letter-spacing: 0.06em; border-bottom: 1px solid var(--border); background: #E5EAF7; position: sticky; top: 0; z-index: 5; } td { padding: 15px 20px; font-size: 0.94rem; border-bottom: 1px solid var(--border); vertical-align: middle; } tr:last-child td { border-bottom: none; } tr.clickable { cursor: pointer; transition: background var(--tr); } @@ -196,6 +197,22 @@ } .admin-nav-label:first-child { margin-top: 0; } .admin-nav-sep { height: 1px; background: var(--border); margin: 8px 6px; } + /* Collapsible nav groups */ + .admin-nav-group { margin-bottom: 6px; } + .admin-nav-ghdr { + width: 100%; padding: 6px 10px 4px; border: none; background: none; + display: flex; align-items: center; justify-content: space-between; + font-family: 'Manrope', system-ui, sans-serif; + font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; + color: var(--text-3); text-transform: uppercase; + cursor: pointer; transition: color .12s, opacity .12s; opacity: .72; + } + .admin-nav-ghdr:hover { color: var(--violet); opacity: 1; } + .admin-nav-ghdr .adm-chev { width: 12px; height: 12px; transition: transform .18s; } + .admin-nav-group.collapsed .adm-chev { transform: rotate(-90deg); } + .admin-nav-body { display: flex; flex-direction: column; max-height: 1500px; overflow: hidden; transition: max-height .25s ease, opacity .18s; opacity: 1; } + .admin-nav-group.collapsed .admin-nav-body { max-height: 0; opacity: 0; pointer-events: none; } + .admin-nav-group .admin-nav-item { padding-left: 10px; } .admin-nav-item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; border: none; @@ -874,80 +891,105 @@
@@ -1192,7 +1234,7 @@