:root{--bs-primary:#7c3aed;--bs-primary-rgb:124,58,237;--bs-link-color:#7c3aed;--bs-link-color-rgb:124,58,237;--bs-link-hover-color:#6d28d9;--bs-link-hover-color-rgb:109,40,217;--bs-primary-bg-subtle:#ede9fe;--bs-primary-text-emphasis:#4c1d95;--panel-bg:#f5f6f8}
[data-bs-theme=dark]{--panel-bg:#15171d;--bs-primary-bg-subtle:#30234a;--bs-primary-text-emphasis:#c4b5fd;--bs-link-color:#b69aff;--bs-link-color-rgb:182,154,255;--bs-link-hover-color:#d4c5ff;--bs-link-hover-color-rgb:212,197,255}
body{background:var(--panel-bg);font-size:.9rem}.btn-primary{--bs-btn-bg:#7c3aed;--bs-btn-border-color:#7c3aed;--bs-btn-hover-bg:#6d28d9;--bs-btn-hover-border-color:#6d28d9;--bs-btn-active-bg:#5b21b6;--bs-btn-active-border-color:#5b21b6}.btn-outline-primary{--bs-btn-color:var(--bs-link-color);--bs-btn-border-color:#7c3aed;--bs-btn-hover-bg:#7c3aed;--bs-btn-hover-border-color:#7c3aed;--bs-btn-active-bg:#5b21b6}.form-control:focus,.form-select:focus{border-color:#c4b5fd;box-shadow:0 0 0 .2rem #7c3aed22}.pagination{--bs-pagination-active-bg:#7c3aed;--bs-pagination-active-border-color:#7c3aed;--bs-pagination-color:var(--bs-link-color)}
.topnav{height:58px;background:var(--bs-body-bg);position:sticky;top:0;z-index:1020;display:flex;justify-content:space-between;align-items:center;padding:0 22px;gap:12px}.brand{display:inline-flex;gap:10px;align-items:center;font-size:.95rem;font-weight:650;color:var(--bs-body-color);text-decoration:none;white-space:nowrap}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#7c3aed;color:#fff;font-size:16px}.shell{display:flex;min-height:calc(100vh - 58px)}.sidebar{width:232px!important;flex:0 0 232px;background:var(--bs-body-bg)!important;border-right:1px solid var(--bs-border-color)!important}.sidebar .offcanvas-body{padding:24px 12px;position:sticky;top:58px;min-height:calc(100vh - 58px)}.nav-caption{font-size:.66rem;font-weight:650;letter-spacing:.07em;color:var(--bs-secondary-color);padding:0 12px 12px}.sidebar .nav-link{color:var(--bs-secondary-color);padding:10px 12px;border-radius:7px;display:flex;align-items:center;gap:10px;font-size:.85rem}.sidebar .nav-link:hover{background:var(--bs-tertiary-bg);color:var(--bs-body-color)}.sidebar .nav-link.active{background:var(--bs-primary-bg-subtle);color:var(--bs-primary-text-emphasis);font-weight:600}.nav-icon{width:19px;text-align:center;font-size:17px}.sidebar-bottom{padding:24px 12px 0}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9ca3af;vertical-align:middle;margin-right:4px}.status-dot.online{background:#22a06b}.content{padding:28px 30px;flex:1;min-width:0}.content-inner{max-width:1440px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}.page-heading h1{font-size:1.45rem;font-weight:650;margin:0 0 6px}.page-heading p{color:var(--bs-secondary-color);margin:0;font-size:.85rem}.card{border-radius:9px;box-shadow:0 1px 3px #10182806}.card-header{background:transparent;padding:15px 18px;border-bottom-color:var(--bs-border-color)}.card-body{padding:18px}.metric{font-size:1.75rem;font-weight:650;line-height:1.15;font-variant-numeric:tabular-nums}.empty-state{text-align:center;padding:45px 20px;max-width:600px;margin:auto}.empty-symbol{font-size:32px;color:#a78bfa;margin-bottom:12px}.feed-item+.feed-item,.event-item+.event-item{border-top:1px solid var(--bs-border-color);margin-top:16px;padding-top:16px}.table th{font-size:.75rem;color:var(--bs-secondary-color);background:var(--bs-tertiary-bg);font-weight:600;white-space:nowrap}.table th,.table td{padding:13px 18px}.message-text{white-space:pre-wrap;overflow-wrap:anywhere}.search-input{max-width:420px}.retention-input{max-width:160px}.auth-code-form{max-width:480px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:410px}footer{max-width:1440px;margin:auto}.form-label{font-size:.85rem}.modal-body{padding:24px}.modal-content{border-radius:12px}
@media(max-width:767.98px){.topnav{padding:0 12px}.version{display:none}.topnav .brand{font-size:.8rem;gap:6px}.topnav .brand-mark{width:24px;height:24px}.shell{display:block}.content{padding:20px 14px}.sidebar .offcanvas-body{position:static;min-height:0}.page-heading h1{font-size:1.3rem}.table th,.table td{padding:12px}.card-body{padding:16px}.metric{font-size:1.5rem}.empty-state{padding:35px 16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
