/* EduTrack Part 2 shell foundation: visual-only overrides. Existing IDs, routes, handlers and RBAC filtering remain unchanged. */
:root{--et-shell-sidebar:264px;--et-shell-sidebar-collapsed:72px;--et-shell-topbar:64px;--et-shell-content-max:1680px}
.topbar{height:var(--et-shell-topbar)!important;padding:0 var(--et-space-6)!important;background:linear-gradient(115deg,var(--et-color-text) 0%,var(--et-color-secondary) 62%,#164f69 100%)!important;box-shadow:0 1px 0 rgba(255,255,255,.08),0 8px 24px rgba(13,27,62,.16)!important}
.topbar-brand{gap:var(--et-space-3)!important}.topbar-brand .logo{width:40px!important;height:40px!important;border-radius:var(--et-radius-md)!important;background:var(--et-color-accent)!important;box-shadow:0 3px 10px rgba(0,0,0,.14)}.topbar-brand h1{font-family:var(--et-font-display)!important;font-size:.92rem!important;font-weight:700!important;letter-spacing:-.01em}.topbar-brand p{font-family:var(--et-font-body)!important;font-size:.68rem!important;letter-spacing:.02em}.menu-btn{min-width:var(--et-touch-target);min-height:var(--et-touch-target);justify-content:center;border-radius:var(--et-radius-sm)!important;transition:background-color var(--et-duration-fast) ease,transform var(--et-duration-fast) var(--et-ease-out)!important}.menu-btn:active{transform:scale(.97)}
.shell{min-height:calc(100vh - var(--et-shell-topbar))!important}.sidebar{width:var(--et-shell-sidebar)!important;top:var(--et-shell-topbar)!important;height:calc(100vh - var(--et-shell-topbar))!important;max-height:calc(100vh - var(--et-shell-topbar))!important;padding:var(--et-space-3) var(--et-space-2) var(--et-space-6)!important;background:var(--et-color-surface)!important;border-right:1px solid var(--et-color-border)!important;box-shadow:4px 0 18px rgba(13,27,62,.05);transition:width var(--et-duration-standard) var(--et-ease-out),transform var(--et-duration-standard) var(--et-ease-out)!important}.sidebar.collapsed{width:var(--et-shell-sidebar-collapsed)!important}.sidebar-toggle-btn{padding:var(--et-space-2) var(--et-space-3)!important;border-bottom:1px solid var(--et-color-border)!important;margin-bottom:var(--et-space-2)!important}.sidebar-toggle-icon{width:32px!important;height:32px!important;border-radius:var(--et-radius-sm)!important;background:var(--et-color-bg)!important;color:var(--et-color-text-muted)!important;transition:background-color var(--et-duration-fast) ease,color var(--et-duration-fast) ease,transform var(--et-duration-fast) var(--et-ease-out)!important}.sidebar-toggle-icon:hover{background:var(--et-color-primary)!important;color:#fff!important;border-color:var(--et-color-primary)!important;transform:none!important}.sidebar-pager-bar{padding:var(--et-space-2) var(--et-space-2)!important;gap:var(--et-space-2)!important}.sidebar-scroll{padding:0 var(--et-space-1)!important}.nav-section{padding:var(--et-space-4) var(--et-space-3) var(--et-space-2)!important}.nav-section-label{font-family:var(--et-font-body)!important;color:var(--et-color-text-muted)!important;font-size:.68rem!important;letter-spacing:.08em!important;font-weight:700!important}.nav-supergroup-header,.nav-group-header{min-height:var(--et-touch-target)!important;border-radius:var(--et-radius-sm)!important;padding:0 var(--et-space-3)!important;gap:var(--et-space-2)!important;color:var(--et-color-text)!important;font-weight:700!important}.nav-supergroup-header:hover,.nav-group-header:hover{background:rgba(14,124,134,.07)!important}.nav-item{min-height:42px!important;margin:2px 0!important;border-left:3px solid transparent!important;border-radius:var(--et-radius-sm)!important;padding:0 var(--et-space-3)!important;gap:var(--et-space-3)!important;color:var(--et-color-text-secondary)!important;font-family:var(--et-font-body)!important;font-size:.82rem!important;transition:background-color var(--et-duration-fast) ease,color var(--et-duration-fast) ease,border-color var(--et-duration-fast) ease,transform var(--et-duration-fast) var(--et-ease-out)!important}.nav-item:hover{background:rgba(14,124,134,.08)!important;color:var(--et-color-primary)!important;transform:translateX(2px)}.nav-item.active{background:rgba(14,124,134,.12)!important;border-left-color:var(--et-color-primary)!important;color:var(--et-color-primary)!important;font-weight:700!important}.nav-item .icon,.nav-group-header .icon,.nav-supergroup-header .icon{width:24px!important;min-width:24px!important;text-align:center;font-size:1rem!important}.nav-label{line-height:1.25!important}.sidebar.collapsed .nav-item{min-height:42px!important;padding:0!important}.sidebar.collapsed .nav-supergroup-header{min-height:42px!important;padding:0!important}.sidebar.collapsed .nav-item:hover{transform:none}
.main{height:calc(100vh - var(--et-shell-topbar))!important;max-height:calc(100vh - var(--et-shell-topbar))!important;padding:var(--et-space-7) clamp(var(--et-space-4),3vw,var(--et-space-8))!important;background:var(--et-color-bg)!important}.main>*{width:100%;max-width:var(--et-shell-content-max);margin-left:auto;margin-right:auto}.page-title{font-family:var(--et-font-display)!important;letter-spacing:-.025em!important;margin-bottom:var(--et-space-5)!important}.overlay{z-index:1900!important;background:rgba(13,27,62,.42)!important;backdrop-filter:blur(2px)}
@media(max-width:700px){.topbar{height:58px!important;padding:0 var(--et-space-3)!important}.topbar-brand h1{font-size:.82rem!important}.topbar-brand p{display:none}.topbar-brand .logo{width:36px!important;height:36px!important}.shell{min-height:calc(100vh - 58px)!important}.sidebar{top:58px!important;height:calc(100vh - 58px)!important;max-height:calc(100vh - 58px)!important;width:min(88vw,300px)!important;box-shadow:12px 0 30px rgba(13,27,62,.18)!important;z-index:2000!important}.sidebar.collapsed{width:min(88vw,300px)!important}.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-section-label,.sidebar.collapsed .nav-group-arrow,.sidebar.collapsed .nav-group-items{display:flex!important}.sidebar.collapsed .nav-item,.sidebar.collapsed .nav-group-header,.sidebar.collapsed .nav-supergroup-header{justify-content:flex-start!important;padding:0 var(--et-space-3)!important}.main{height:calc(100vh - 58px)!important;max-height:calc(100vh - 58px)!important;padding:var(--et-space-5) var(--et-space-3)!important;overflow-x:hidden!important}.page-title{font-size:1.18rem!important}.nav-item,.nav-group-header,.nav-supergroup-header{min-height:var(--et-touch-target)!important}.overlay{z-index:1990!important}}
@media(min-width:701px){.sidebar{transform:none!important}.overlay{display:none!important}}
@media(prefers-reduced-motion:reduce){.topbar,.sidebar,.nav-item,.menu-btn{transition:none!important}.nav-item:hover{transform:none}}
