:root{--sidebar-width:244px}
.app,.system-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}
.sidebar,.system-nav-host>.sidebar{width:var(--sidebar-width);max-width:100%}
.sidebar .brand{color:inherit;text-decoration:none;cursor:pointer;text-align:left}
.sidebar .brand:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
.sidebar .personal-navigation a[hidden]{display:none!important}
.system-header{gap:12px}
.system-header>.brand-name{margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;color:inherit}
.sidebar-toggle,.sidebar-drawer-close{display:inline-grid;place-items:center;width:36px;height:36px;min-width:36px;padding:0;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--paper);cursor:pointer;font:20px/1 system-ui}
.sidebar-drawer-close,.sidebar-backdrop{display:none}
.sidebar-resize-handle{position:fixed;left:calc(var(--sidebar-width) - 4px);top:0;bottom:0;width:8px;z-index:70;cursor:col-resize;touch-action:none}
.sidebar-resize-handle:hover,.sidebar-resize-handle:focus-visible{background:var(--line);outline:2px solid var(--purple);outline-offset:-2px}
.sidebar-resizing,.sidebar-resizing *{cursor:col-resize!important;user-select:none!important}
.sidebar-is-collapsed .app,.sidebar-is-collapsed .system-shell{grid-template-columns:0 minmax(0,1fr)}
.sidebar-is-collapsed .sidebar,.sidebar-is-collapsed .system-nav-host{visibility:hidden;overflow:hidden;width:0;padding:0!important;border:0}
.sidebar-is-collapsed .sidebar-resize-handle{display:none}
@media(max-width:760px){
 .app,.system-shell{display:block}
 .sidebar,.system-nav-host>.sidebar{position:fixed!important;inset:0 auto 0 0;width:min(320px,88vw);max-width:88vw;height:100dvh!important;z-index:100!important;overflow-y:auto!important;transform:translateX(-110%);visibility:hidden;background:var(--paper)!important;padding:16px!important;border-right:1px solid var(--line);box-shadow:4px 0 24px #0002}
 .system-nav-host{height:0;min-height:0}
 .sidebar-drawer-open .sidebar{transform:translateX(0);visibility:visible}
 .sidebar-drawer-open body{overflow:hidden}
 .sidebar-backdrop{position:fixed;inset:0;z-index:90;border:0;background:#0005;width:100%;height:100dvh;padding:0}
 .sidebar-drawer-open .sidebar-backdrop{display:block}
 .sidebar-drawer-close{display:grid;margin:0 0 12px auto}
 .sidebar .mobile-menu{display:none!important}
 .sidebar .nav,.sidebar .personal-navigation{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%;overflow:visible!important}
 .sidebar .nav-group{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
 .sidebar .child-nav{display:grid;grid-template-columns:1fr}
 .sidebar .brand{margin-bottom:20px!important}
 .sidebar-resize-handle{display:none}
 .system-header{padding:0!important}
 .system-header>.brand-name{font-size:12px}
 .header-account-actions{gap:4px}
}

.header-profile-menu [hidden]{display:none!important}
/* The navigation handle belongs to the sidebar edge, outside the header. */
.sidebar-toggle{position:fixed;left:calc(var(--sidebar-width) - 13px);top:50%;z-index:80;width:26px;min-width:26px;height:44px;border-radius:8px;box-shadow:0 2px 6px #0001;font-size:14px}
.sidebar-is-collapsed .sidebar-toggle{left:0;border-radius:0 8px 8px 0}
.header-workspace{margin-right:auto;min-width:0;max-width:240px;font-size:12px}
.header-workspace select{max-width:100%;padding:8px 28px 8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit}
.system-header>.brand-name{margin-right:0;flex:0 1 auto}.header-account-actions{margin-left:auto}
#adminNavigation[hidden]{display:none!important}
.workspace-tabs{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}.workspace-tabs button{padding:9px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);cursor:pointer;font:inherit}.workspace-tabs [aria-current=page],.workspace-tabs [aria-selected=true]{background:var(--lav);font-weight:650}
body[data-workspace-loading] .main>.page,body[data-workspace-loading] #migrationPrompt,body[data-workspace-loading] #cloudError,body[data-workspace-loading] #childNav{display:none!important}
.main .cloud-loading{position:static;inset:auto;display:block;background:transparent;padding:24px 0;min-height:65vh;z-index:auto}
.main .cloud-loading[hidden]{display:none!important}.cloud-loading>h1{font-size:26px;margin:0 0 12px}.cloud-loading .loading-skeleton{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.loading-skeleton>div{height:120px;border-radius:12px;background:var(--line);opacity:.55;animation:skeleton-pulse 1.8s ease-in-out infinite}.loading-skeleton>div:last-child{grid-column:1/-1;height:230px}.cloud-loading:has(#retryCloud:not([hidden])) .loading-skeleton{display:none}.cloud-loading details{margin-top:18px}.cloud-loading details button{margin:12px 8px 0 0}
@keyframes skeleton-pulse{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.loading-skeleton>div{animation:none}}
@media(max-width:760px){.sidebar-toggle{top:auto;bottom:18px;left:10px;width:42px;height:42px;border-radius:50%;font-size:18px}.sidebar-drawer-open .sidebar-toggle{display:none}.header-workspace{max-width:42%;font-size:11px}.system-header{flex-wrap:wrap;gap:8px}.header-account-actions{gap:4px}.header-profile>span:last-child{display:none}.cloud-loading .loading-skeleton{grid-template-columns:1fr}.loading-skeleton>div{height:80px}.system-header>.brand-name{max-width:48%;font-size:13px}.main .cloud-loading{padding:20px 0}}
.learner-mode .side-bottom{display:block!important}
body:has(#assignmentWorkBackdrop.open)>.sidebar-toggle,body:has(#assignmentWorkBackdrop.open)>.sidebar-resize-handle{display:none}
