/* RES SYSTEM: permanently visible sidebar with icons at all three levels. */
#nav{min-width:0}
#nav .nav-main-group{
 display:block;width:100%;min-width:0;
 padding:11px 0 7px;margin:3px 0 9px;
 border-bottom:1px solid rgba(231,242,240,.19);
}
#nav .nav-main-title,#nav .nav-sub-title{
 display:flex;align-items:center;gap:9px;
 text-align:right;margin:0;line-height:1.5;
 white-space:normal;overflow-wrap:anywhere;cursor:default;
}
#nav .nav-main-title{
 background:linear-gradient(90deg,rgba(255,255,255,.13),rgba(255,255,255,.035));
 color:#fff;font-size:13px;font-weight:800;
 border-inline-start:3px solid #dfc28b;
 border-radius:11px;padding:9px 10px;min-height:43px;
}
#nav .nav-subgroup{
 display:block;padding:4px 9px 3px 0;
 border-right:2px solid rgba(175,217,203,.28);
 margin:5px 8px 7px 0;min-width:0;
}
#nav .nav-sub-title{
 color:#cdece3;font-size:12px;font-weight:750;
 padding:7px 8px;min-height:35px;
}
#nav .nav-subgroup .nav-btn{
 display:flex!important;align-items:center;gap:8px;
 font-size:12px;line-height:1.6;
 margin:3px 0;padding:7px 8px;
 min-width:0;width:100%;min-height:39px;
 border-radius:10px;white-space:normal;
 text-align:right;text-decoration:none!important;
}
#nav .nav-main-title .school-nav-icon,
#nav .nav-sub-title .school-nav-icon{
 display:inline-flex;align-items:center;justify-content:center;
 width:29px;height:29px;flex:0 0 29px;
 border-radius:9px;background:rgba(255,255,255,.11);
 color:#f2e2bb;
}
#nav .nav-sub-title .school-nav-icon{
 width:25px;height:25px;flex-basis:25px;
 color:#cae8df;background:rgba(255,255,255,.07);
}
#nav .nav-item-icon{
 width:28px;height:28px;flex:0 0 28px;
}
#nav .school-nav-icon svg{
 display:block;width:17px;height:17px;
 stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;
 stroke-linecap:round;fill:none;
}
#nav .nav-access-link{display:flex;align-items:center;gap:9px;margin-top:14px}
#nav .nav-btn:focus-visible{outline:2px solid #e9c889;outline-offset:2px}
@media(max-width:820px){
 #nav{display:block;width:100%;max-height:65vh;overflow-y:auto;overflow-x:hidden;padding:3px 6px 10px}
 #nav .nav-main-group{width:100%}
 #nav .nav-subgroup .nav-btn{width:100%;min-width:0;white-space:normal}
}
@media print{#nav{display:none!important}}

/* Compact, always-visible timetable quick access; independent of the nine core groups. */
#nav .nav-quick-access{
 border:1px solid rgba(191,231,218,.36);
 border-radius:12px;padding:10px;margin:5px 0 13px;
 background:rgba(34,128,113,.13);
}
#nav .nav-quick-title{
 display:flex;align-items:center;gap:8px;
 color:#f6e3b8;font-size:13px;font-weight:800;
 margin:0 0 8px;text-align:right;
}
#nav .nav-quick-title .school-nav-icon{
 width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;
}
#nav .nav-quick-link{
 display:flex;align-items:center;gap:9px;
 border-radius:9px;width:100%;padding:9px 8px;margin:3px 0;
 white-space:normal;text-decoration:none!important;
 font-size:12px;line-height:1.6;
}
