/* Sidebar navigation: expanded desktop, compact rail, modal mobile drawer. */
:root{--sidebar-width:250px;--rail-width:76px}
.sidebar{width:var(--sidebar-width);position:fixed;inset:0 auto 0 0;padding:15px 16px 14px;background:#fafaf6;border-right:1px solid #d7dbd0;transition:width .18s ease;z-index:35;scrollbar-width:thin}
.workspace{margin-left:var(--sidebar-width);transition:margin-left .18s ease}
.sidebar>.brand{height:64px;min-height:64px;flex-shrink:0;margin:0;padding:0 40px 0 0;justify-content:flex-start}
.sidebar>.brand .institute-logo{display:none}
.sidebar>.brand .institute-logo-wide{display:block;width:165px;max-width:100%;height:56px;object-fit:contain}
.sidebar .side-label{margin:17px 12px 12px;font-size:10px;letter-spacing:1px}
.sidebar .navitem{display:flex;align-items:center;gap:12px;min-height:46px!important;padding:10px 12px!important;font-size:15px!important;line-height:1.4;position:relative;border-radius:9px;margin:2px 0;color:#43513e}
.sidebar .navitem.active{background:#e4e9dc;color:#263d21}
.sidebar .navitem.active:before{display:none}
.sidebar .navitem:hover{background:#ebeee5}
.nav-icon{width:22px;height:22px;flex:0 0 22px;display:inline-grid;place-items:center;color:inherit}
.nav-icon svg{display:block}
.navigation-toggle{display:inline-grid;place-items:center;width:40px;height:40px;min-width:40px;padding:8px;background:transparent;color:#3e493a;border:0;border-radius:8px;cursor:pointer;box-shadow:none}
.navigation-toggle svg{display:block;width:22px;height:22px;pointer-events:none}
.navigation-toggle:hover{background:#e6eadf}
.navigation-toggle:focus-visible{outline:3px solid #a73731;outline-offset:2px}
.sidebar .sidebar-collapse{display:grid!important;position:absolute;top:27px;right:11px;min-height:40px;width:40px;height:40px;margin:0;padding:8px;background:transparent;border:0;border-radius:8px;z-index:2}
.sidebar .sidebar-collapse svg{width:22px;height:22px}
.topbar{display:flex;justify-content:flex-start;gap:0}
.topbar>.right{margin-left:auto}
.header-navigation-toggle{display:none!important}
.menu-toggle-label{display:none}
.sidebar-backdrop{display:none}
.sidebar .side-bottom{margin-top:auto;padding-top:15px}
@media(min-width:801px){
 .sidebar-collapsed .sidebar{width:var(--rail-width);padding:15px 12px 14px}
 .sidebar-collapsed .workspace{margin-left:var(--rail-width)}
 .sidebar-collapsed .sidebar>.brand,.sidebar-collapsed .sidebar .side-label,.sidebar-collapsed .sidebar .help-card,.sidebar-collapsed .sidebar .profile{display:none}
 .sidebar-collapsed .sidebar .sidebar-collapse{display:grid!important;position:relative;inset:auto;align-self:center;margin:1px 0 18px;padding:8px;width:40px;height:40px}
 .sidebar-collapsed .sidebar nav{margin-top:0}
 .sidebar-collapsed .sidebar .navitem{font-size:0!important;justify-content:center;gap:0;min-height:46px!important;padding:12px!important}
 .sidebar-collapsed .sidebar .navitem .count{display:none}
 .sidebar-collapsed .sidebar .nav-icon{width:22px;height:22px}
 .sidebar-collapsed .sidebar .side-bottom{padding-top:15px}
}
@media(max-width:800px){
 .workspace,.sidebar-collapsed .workspace{margin-left:0}
 .sidebar,.sidebar-collapsed .sidebar{display:none;width:288px;max-width:calc(100vw - 48px);padding:15px 16px;height:100vh;height:100dvh;z-index:60;box-shadow:10px 0 40px #21302130;transition:none}
 .sidebar.open,.sidebar-collapsed .sidebar.open{display:flex;width:288px;max-width:calc(100vw - 48px)}
 .sidebar>.brand,.sidebar-collapsed .sidebar>.brand{display:flex;min-height:64px;height:64px;padding:0 44px 0 0;margin:0}
 .sidebar .brand .institute-logo,.sidebar-collapsed .sidebar .brand .institute-logo{display:none}
 .sidebar .brand .institute-logo-wide,.sidebar-collapsed .sidebar .brand .institute-logo-wide{display:block;width:185px;height:56px}
 .sidebar .sidebar-collapse,.sidebar-collapsed .sidebar .sidebar-collapse{display:grid!important;position:absolute;top:27px;right:11px;width:40px;height:40px;margin:0;padding:8px;background:transparent;border:0}
 .sidebar .side-label,.sidebar-collapsed .sidebar .side-label{display:block;margin:17px 12px 12px}
 .sidebar .profile,.sidebar-collapsed .sidebar .profile{display:flex}
 .sidebar nav,.sidebar-collapsed .sidebar nav{margin-top:0}
 .sidebar .navitem,.sidebar-collapsed .sidebar .navitem{font-size:16px!important;min-height:48px!important;justify-content:flex-start;gap:12px;padding:11px 12px!important}
 .sidebar .navitem .count,.sidebar-collapsed .sidebar .navitem .count{display:inline-block}
 .sidebar .side-bottom,.sidebar-collapsed .sidebar .side-bottom{padding-top:15px}
 .header-navigation-toggle{display:inline-grid!important;margin-right:10px}
 .topbar{padding:0 16px;min-height:68px;height:auto}
 .navigation-open .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:55;background:#1c30264d;backdrop-filter:blur(1px);cursor:pointer}
 body.navigation-open{overflow:hidden}
}
@media(max-width:600px){
 .topbar{padding:10px 10px;gap:0}
 .topbar>.muted{font-size:0!important;line-height:1.35;min-width:0;flex:1;padding-right:8px}
 .topbar>.muted>span:first-child{display:none}
 .topbar>.muted>span:last-child{font-size:14px;color:#35482c!important;display:block}
 .topbar>.right{gap:3px;flex-shrink:0}
 .language-switch{font-size:13px;max-width:80px;min-height:40px}
 .header-navigation-toggle{margin-right:5px}
 .account-trigger{padding:3px;gap:2px}
 .account-trigger .avatar{width:32px;height:32px}
 .topbar .icon-btn{min-width:30px;min-height:40px}
 .sidebar .help-card{display:none}
 .content{padding:24px 16px}
 .greeting h1{font-size:27px;line-height:1.3}
 .admin-actions{gap:10px}
 .admin-actions>button{flex:1 1 145px}
 .modal-backdrop{padding:12px}
 .modal{max-height:calc(100dvh - 24px)}
 .form input,.form select,.form textarea{font-size:16px}
}
@media(max-width:360px){.topbar .icon-btn{display:none}.topbar>.muted>span:last-child{font-size:13px}.sidebar,.sidebar-collapsed .sidebar{max-width:calc(100vw - 36px)}}
@media(prefers-reduced-motion:reduce){.sidebar,.workspace{transition:none}}


