/* One sidebar standard for every DIY+ workspace. Loaded after page styles. */
.dashboard-shell,.app-shell{grid-template-columns:270px minmax(0,1fr)}
.sidebar{box-sizing:border-box;width:270px;height:100vh;position:sticky;top:0;padding:34px 24px;background:#12372d;color:#fff;display:flex;flex-direction:column;overflow-y:auto;font-family:Arial,sans-serif;font-size:15px;line-height:1.5;text-align:left}
.sidebar *{box-sizing:border-box}
.sidebar .brand{display:block;flex-shrink:0;padding:0 8px 28px;border-bottom:1px solid rgba(255,255,255,.12);text-decoration:none;color:#fff}
.sidebar .brand-main{display:block;font-family:Georgia,serif;font-size:31px;font-weight:700;line-height:1.5}
.sidebar .brand-small{display:block;margin-top:4px;color:rgba(255,255,255,.65);font-size:10px;line-height:1.5;font-weight:400;letter-spacing:2.2px;text-transform:uppercase}
.sidebar .diy-badge{display:block;flex-shrink:0;width:fit-content;margin:25px 8px 20px;padding:7px 11px;border:1px solid rgba(216,194,118,.35);border-radius:20px;color:#d8c276;font-size:11px;line-height:1.5;font-weight:700;letter-spacing:1.4px}
.sidebar .sidebar-label{flex-shrink:0;margin:18px 8px 9px;color:rgba(255,255,255,.62);font-size:12px;line-height:18px;font-weight:700;letter-spacing:1.6px}
.sidebar .nav-list{flex-shrink:0;list-style:none;padding:0;margin:0}
.sidebar .nav-list li{margin:0;padding:0;list-style:none}
.sidebar .nav-link{width:100%;min-height:50px;display:flex;align-items:center;gap:12px;padding:13px 11px;border:0;border-radius:7px;color:rgba(255,255,255,.75);text-decoration:none;font-family:Arial,sans-serif;font-size:15px;line-height:24px;font-weight:400;letter-spacing:normal;transition:none}
.sidebar .nav-link:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar .nav-link.active,.sidebar .nav-link[aria-current]{background:rgba(255,255,255,.1);color:#fff}
.sidebar .nav-number{display:block;flex:0 0 22px;width:22px;color:#d8c276;font-size:12px;line-height:24px;font-weight:700}
.sidebar .nav-link:focus-visible,.sidebar .brand:focus-visible{outline:3px solid #d8c276;outline-offset:2px}
.sidebar .sidebar-bottom{flex-shrink:0;margin-top:auto;padding-top:25px;border-top:1px solid rgba(255,255,255,.12)}
.sidebar .student-mini{display:flex;align-items:center;gap:11px;padding:0 8px}
.sidebar .student-avatar{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#d8c276;color:#12372d;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:17px;line-height:1.5;font-weight:700}
.sidebar .student-mini strong{display:block;font-size:14px;line-height:21px;font-weight:700}
.sidebar .student-mini span{display:block;margin-top:3px;color:rgba(255,255,255,.62);font-size:12px;line-height:18px;font-weight:400}
/* Keep dashboard section titles clear of its sticky top bar on anchor visits. */
.dashboard-shell #journey,.dashboard-shell #tools{scroll-margin-top:100px}
@media(max-width:760px){.dashboard-shell,.app-shell{display:block}.sidebar{display:none}}
