html,body{margin:0;padding:0}:root{--bg: #d8dce4;--panel: #111827;--text: #e5e7eb;--muted: #94a3b8;--accent: #2563eb;--navbar-height: 60px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}.app{min-height:100vh;display:flex;flex-direction:column}.navbar{background:#0b1220;padding:.75rem 1.25rem;border-bottom:1px solid #1f2937;position:fixed;top:0;left:0;right:0;z-index:100;min-height:3.75rem}.nav-container{display:flex}.menu{list-style:none;display:flex;align-items:center;gap:1rem;padding:0;margin:0}.menu-btn{color:var(--text);padding:.5rem .75rem;border-radius:.5rem;transition:background .2s,color .2s}.menu-btn:hover{background:#1f2937;color:#fff}.menu-btn.active{background:var(--accent);color:#fff}.logout-btn{background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;display:inline-block;margin:0}.app-shell{display:flex;flex:1;min-height:0;margin-top:var(--navbar-height)}.sidebar{width:240px;background:var(--panel);padding:0;border-right:1px solid #1f2937;position:fixed;top:0;left:0;bottom:50px;overflow-y:auto;z-index:50}.sidebar::-webkit-scrollbar{width:20px}.sidebar::-webkit-scrollbar-track{background:#1f2937}.sidebar::-webkit-scrollbar-thumb{background:#4b5563;border-radius:6px}.sidebar::-webkit-scrollbar-thumb:hover{background:#6b7280}.tree-group>.tree-label{display:block;font-weight:600;color:var(--muted);margin:.5rem 0 .25rem}.tree-group{margin:.25rem 0}.tree-toggle{background:none;border:none;color:inherit;padding:.4rem .35rem;width:100%;text-align:left;border-radius:.4rem;cursor:pointer;display:flex;align-items:center;gap:.35rem;font-size:1.05rem;font-weight:600}.tree-toggle:hover{background:#1f2937}.caret{display:inline-block;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid #94a3b8;transition:transform .15s}.caret.open{transform:rotate(90deg)}.tree{padding:0}.tree>ul{list-style:none;padding-left:0;margin:0}.tree ul ul{list-style:none;padding-left:.75rem;margin:.25rem 0}.tree-link{display:block;padding:.4rem .5rem;border-radius:.4rem;transition:background .15s,color .15s}.tree-link:hover{background:#1f2937}.tree-link.active{background:var(--accent);color:#fff}.content{flex:1;padding:1.25rem;min-width:0;color:#00060c;margin-left:240px;padding-bottom:60px}.content a{color:inherit}
