body { 
    margin: 0; 
    background-color: #000; 
    color: #fff; 
    font-family: sans-serif; 
    overflow: hidden; 
    height: 100vh;
}

.navbar { 
    background: #222222; 
    padding: 0 20px; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    height: 45px; 
    box-sizing: border-box; 
    position: sticky; 
    top: 0; 
    z-index: 2000; 
}

/* Fix: Ensures the logo link doesn't shrink to 0 width on mobile */
.navbar a:has(.nav-logo) {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    height: 100%;
}

.nav-logo { 
    height: 25px !important; 
    max-height: 25px !important;
    width: auto; 
    display: block; 
}

#menu-btn { 
    cursor: pointer; 
    background: none; 
    border: none; 
    color: #ffffff; 
    font-size: 25px; 
    height: 25px; 
    width: 25px; 
    padding: 0; 
    display: flex; 
    align-items: center; 
    justify-content: center;
    pointer-events: auto;
}

#menu-btn * {
    pointer-events: none;
}

#main-content { 
    width: 100%; 
    height: calc(100vh - 45px);
    overflow: hidden; 
    margin: 0; 
    padding: 0; 
    position: relative;
    z-index: 1;
    background: transparent; 
    box-sizing: border-box;
}

canvas {
    display: block;
}

.nav-links { 
    display: none; 
    position: absolute; 
    right: 0; 
    top: 45px; 
    background: #222222; 
    width: 220px; 
    flex-direction: column; 
    z-index: 3000; 
    border-bottom: 2px solid #111; 
    max-height: calc(100vh - 45px); 
    overflow-y: auto; 
    /* Firefox scrollbar fix */
    scrollbar-width: thin;
    scrollbar-color: #444 #1a1a1a;
}

.nav-links.active { 
    display: flex !important; 
}

.nav-links a { 
    padding: 12px 20px; 
    text-decoration: none; 
    display: block; 
    border-bottom: 1px solid #333; 
    font-size: 0.85rem; 
    color: #ccc; 
}

.nav-links a:hover { background: #2a2a2a; color: #fff; }

.sub-menu { display: none; background: #1a1a1a; }
.sub-menu.open { display: block; }
.indent-1 { padding-left: 35px !important; }

.current-page { 
    color: #fff !important; 
    font-weight: bold; 
    background: #333333; 
}

/* Scrollbars: Applied to both main content and the side menu */
#main-content::-webkit-scrollbar,
.nav-links::-webkit-scrollbar { 
    width: 6px; 
}

#main-content::-webkit-scrollbar-track,
.nav-links::-webkit-scrollbar-track { 
    background: #1a1a1a; 
}

#main-content::-webkit-scrollbar-thumb,
.nav-links::-webkit-scrollbar-thumb { 
    background: #444; 
    border-radius: 3px; 
}

/* Table Styles (Restored from your original) */
table {
  font-family: arial, sans-serif;
  border-collapse: collapse;
}

td, th {
  border: 1px solid #222222;
  text-align: left;
  padding: 8px;
}