/* Keep role portals aligned with the platform landing canvas. */
.tp-dashboard>main>[hidden],.fp-layout>main>[hidden]{display:none!important}
.portal-quick-access[hidden]{display:none!important}
.v2-school-canvas>[hidden]{display:none!important}
.tp-shell.workspace-module-open .tp-dashboard,.fp-shell.workspace-module-open .fp-layout,.portal-workspace-shell.workspace-module-open .mg-workspace{grid-template-columns:minmax(0,1fr)!important}
.tp-shell.workspace-module-open>.tp-header,.fp-shell.workspace-module-open>.fp-profile,.portal-workspace-shell.workspace-module-open>.mg-hero{display:none!important}
.tp-shell.workspace-module-open .tp-dashboard>aside,.fp-shell.workspace-module-open .fp-layout>aside,.portal-workspace-shell.workspace-module-open .mg-workspace>aside,.tp-shell.workspace-module-open .tp-filter,.fp-shell.workspace-module-open .fp-toolbar{display:none!important}
.tp-shell.workspace-module-open .tp-module-pane,.fp-shell.workspace-module-open .fp-module-pane,.portal-workspace-shell.workspace-module-open .mg-module-screen{width:100%;max-width:none;box-sizing:border-box;margin:0}
body:has(.tp-shell)>main#main-content,
body:has(.fp-shell)>main#main-content {
  width:min(1560px,calc(100% - 48px));max-width:none;margin:12px auto 38px;padding:0;
  background:transparent;min-height:0;
}
.tp-shell,.fp-shell {width:100%;max-width:none!important;box-sizing:border-box;margin:0;min-width:0}
.fp-shell {min-height:0;padding:12px!important}
.tp-shell {padding:12px}
.tp-header,.fp-profile {background:linear-gradient(120deg,var(--school-primary),var(--school-secondary));border-left:7px solid var(--school-accent)}
.tp-dashboard>aside,.tp-welcome,.tp-module-pane,.fp-layout>aside,.fp-layout>main,.fp-welcome {
  border-color:color-mix(in srgb,var(--school-primary) 20%,#dce6e2);
  border-left-color:var(--school-accent);
}
.tp-dashboard>aside,.fp-layout>aside {background:linear-gradient(155deg,color-mix(in srgb,var(--school-primary) 12%,#fff),#fff 45%,color-mix(in srgb,var(--school-accent) 10%,#fff))!important}
.tp-welcome,.fp-welcome {background:linear-gradient(125deg,color-mix(in srgb,var(--school-primary) 11%,#fff),#fff 52%,color-mix(in srgb,var(--school-accent) 15%,#fff))!important}
.tp-dashboard>aside h2,.fp-layout>aside h2 {color:var(--school-primary)}
.tp-menu>a,.fp-menu>a {background:linear-gradient(120deg,#fff,color-mix(in srgb,var(--school-primary) 7%,#fff))!important}
.tp-menu>a,.fp-menu>a {min-width:0;box-sizing:border-box;overflow-wrap:anywhere;line-height:1.35}
.tp-menu>a span,.fp-menu>a span {min-width:0;overflow-wrap:anywhere}
.tp-menu>a i,.fp-menu>a i {flex:none}
.tp-welcome a,.fp-welcome a,.tp-action,.fp-profile nav a {
  display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:40px;
  box-sizing:border-box;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.3;
}
.tp-filter,.fp-toolbar {background:color-mix(in srgb,var(--school-primary) 5%,#fff)}
.tp-menu>a:hover,.tp-menu>a.active,.fp-menu>a:hover {border-color:var(--school-primary)}
@media(max-width:620px){
  body:has(.tp-shell)>main#main-content,body:has(.fp-shell)>main#main-content {width:calc(100% - 24px);margin:12px auto 28px}
  .tp-shell,.fp-shell {padding:6px!important}
  .tp-menu,.fp-menu {grid-template-columns:repeat(2,minmax(0,1fr))}
  .tp-header,.fp-profile {padding:16px}
  .fp-layout>main,.tp-welcome {padding:18px}
}
@media(max-width:380px){.tp-menu,.fp-menu{grid-template-columns:1fr}}

/* Shared school navigation remains readable on subpages and small screens. */
.v2-school-nav.is-default .v2-school-menu-links {display:flex!important;flex-wrap:wrap!important;align-items:center;gap:6px;max-height:none!important;overflow:visible!important}
.v2-school-nav.is-default a {display:inline-flex;align-items:center;min-height:38px;box-sizing:border-box;white-space:normal!important;overflow-wrap:anywhere;line-height:1.25}
.v2-school-nav.is-default a.active {background:var(--school-primary)!important;color:#fff!important}
@media(max-width:620px){.v2-school-nav.is-default .v2-school-menu-links{gap:5px}.v2-school-nav.is-default a{padding:8px 10px!important;font-size:12px!important}}
