.app{display:flex;min-height:100vh;}
.main{margin-left:var(--sidebar-w);flex:1;min-height:100vh;display:flex;flex-direction:column;}
.sidebar{width:var(--sidebar-w);background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:200;transition:transform .3s ease;overflow:hidden;}
.sidebar-logo{padding:20px 16px 16px;border-bottom:1px solid var(--border);flex-shrink:0;}
.logo-link{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-emblem{width:34px;height:34px;background:var(--gold);clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.logo-emblem svg{width:17px;height:17px;color:#000;}
.logo-wordmark{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:22px;letter-spacing:2px;color:var(--text);text-transform:uppercase;}
.logo-wordmark span{color:var(--gold);}
.sidebar-nav{flex:1;padding:14px 10px;overflow-y:auto;}
.nav-section{margin-bottom:22px;}
.nav-section-label{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);padding:0 8px;margin-bottom:6px;display:block;}
.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r2);cursor:pointer;color:var(--muted);font-size:13px;font-weight:500;transition:all .18s;margin-bottom:1px;border:none;background:none;width:100%;text-align:left;position:relative;font-family:'Barlow',sans-serif;text-decoration:none;}
.nav-item:hover{background:rgba(255,255,255,0.04);color:var(--text);}
.nav-item.active{background:rgba(212,168,67,0.10);color:var(--gold2);font-weight:600;}
.nav-item.active::before{content:'';position:absolute;left:0;top:20%;bottom:20%;width:3px;background:var(--gold);border-radius:0 3px 3px 0;}
.nav-icon{width:16px;height:16px;flex-shrink:0;opacity:.8;}
.nav-badge{margin-left:auto;background:var(--red);color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:10px;}
.sidebar-footer{padding:12px 10px;border-top:1px solid var(--border);flex-shrink:0;}
.user-pill{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--r2);cursor:pointer;transition:background .18s;}
.user-pill:hover{background:rgba(255,255,255,0.04);}
.u-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--gold));display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:13px;color:#fff;flex-shrink:0;}
.u-name{font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.u-role{font-size:11px;color:var(--muted);}
.u-chevron{margin-left:auto;color:var(--muted);flex-shrink:0;}
.topbar{background:var(--bg2);border-bottom:1px solid var(--border);padding:0 24px;height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;flex-shrink:0;}
.topbar-left{display:flex;align-items:center;gap:14px;}
.topbar-right{display:flex;align-items:center;gap:10px;}
.page-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:20px;letter-spacing:.5px;text-transform:uppercase;}
.topbar-btn{width:34px;height:34px;border-radius:var(--r2);border:1px solid var(--border);background:var(--bg3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s;color:var(--muted);position:relative;}
.topbar-btn:hover{border-color:var(--border2);color:var(--text);}
.topbar-btn.has-dot::after{content:'';position:absolute;top:7px;right:7px;width:5px;height:5px;background:var(--red2);border-radius:50%;border:1px solid var(--bg2);}
.menu-btn{display:none;}
@media(max-width:900px){.menu-btn{display:flex;}}
.content{padding:24px;flex:1;}
.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:12px;}
.page-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.student-hero{background:linear-gradient(135deg,var(--card),var(--card2));border:1px solid var(--border);border-radius:var(--r);padding:24px;margin-bottom:16px;position:relative;overflow:hidden;}
.student-hero::before{content:'';position:absolute;right:-30px;top:-30px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(212,168,67,0.08),transparent 70%);}
.sh-name{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:28px;margin-bottom:4px;}
.sh-sub{font-size:13px;color:var(--muted);margin-bottom:18px;}
.sh-info{display:flex;gap:20px;flex-wrap:wrap;}
.sh-info-val{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:20px;display:block;}
.sh-info-lab{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;display:block;}
