:root{--bg:#0f1115;--bg-elevated:#161b22;--bg-inset:#0f1115;--sidebar-bg:#0b0e13;--border:#21262d;--border-subtle:#1c2128;--text:#e6edf3;--text-muted:#8b949e;--text-faint:#6e7681;--accent:#1f6feb;--accent-hover:#388bfd;--accent-soft:rgba(31,111,235,0.15);--ok:#3fb950;--warn:#d29922;--crit:#f85149;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--radius-sm:6px;--radius:8px;--radius-lg:12px;--sidebar-w:248px;--content-max:1180px;--topbar-h:52px}*{box-sizing:border-box}body,html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}table{width:100%}.app-shell{display:flex;min-height:100vh;width:100%}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--sidebar-bg);border-right:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:40}.sidebar,.sidebar-brand{display:flex;flex-direction:column}.sidebar-brand{padding:var(--space-5) var(--space-5) var(--space-4);gap:2px}.sidebar-brand .brand-name{font-size:1.15rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.sidebar-brand .brand-sub{font-size:.72rem;color:var(--text-faint)}.sidebar-nav{flex:1 1 auto;overflow-y:auto;padding:var(--space-2) var(--space-3) var(--space-4)}.nav-section{font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);font-weight:600;padding:var(--space-4) var(--space-3) var(--space-2)}.nav-section:first-child{padding-top:var(--space-2)}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;margin-bottom:1px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);font-size:.875rem;font-family:inherit;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease}.nav-item:hover{background:rgba(255,255,255,.045);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:#fff;font-weight:600}.nav-item.active .nav-icon{color:var(--accent-hover)}.nav-icon{width:16px;height:16px;flex-shrink:0;color:var(--text-faint)}.nav-item.active .nav-icon,.nav-item:hover .nav-icon{color:currentColor}.nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{border-top:1px solid var(--border);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.sidebar-user{font-size:.78rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-ghost{align-self:flex-start;padding:5px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;font-size:.8rem;font-family:inherit}.btn-ghost:hover{border-color:var(--text-faint)}.content-wrap{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.content{width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-8)}.topbar{display:none;align-items:center;gap:var(--space-3);height:var(--topbar-h);padding:0 var(--space-4);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;background:var(--bg);z-index:30}.topbar-title{font-weight:700;font-size:1rem}.hamburger{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;padding:0}.nav-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:35}@media (max-width:900px){.topbar{display:flex}.nav-backdrop.open{display:block}.sidebar{position:fixed;top:0;left:0;height:100vh;transform:translateX(-100%);transition:transform .2s ease;box-shadow:2px 0 24px rgba(0,0,0,.4)}.sidebar.open{transform:translateX(0)}.content{padding:var(--space-5) var(--space-4) var(--space-6)}h1{font-size:1.4rem!important}table{font-size:.82rem}td,th{padding:.4rem .55rem!important}section{padding:var(--space-4)!important}}@media (max-width:480px){.content{padding:var(--space-4) var(--space-3) var(--space-6)}table{font-size:.78rem}}