.portal-workspace{display:flex;align-items:end;gap:12px;max-width:760px;padding:16px 18px;background:#fff;border:1px solid var(--border);border-radius:12px;margin:0 0 28px}.portal-workspace .field{flex:1;margin:0}.portal-workspace select{width:100%}.portal-workspace button{margin-bottom:1px}.sidebar{overflow-y:auto}.sidebar .workspace-label{margin-top:28px}.sidebar nav{gap:3px}.sidebar nav>a{padding:9px 12px}.sidebar-note{padding-top:24px}.auth-story p{max-width:440px}@media(max-width:700px){.portal-workspace{display:block}.portal-workspace button{margin-top:12px}}
.portal-platform-menu{margin-top:18px;border-top:1px solid var(--border);padding-top:12px}.portal-platform-menu summary{display:flex;align-items:center;cursor:pointer;list-style:none;border-radius:9px}.portal-platform-menu summary::-webkit-details-marker{display:none}.portal-platform-menu summary>a{flex:1;margin:0;padding:10px 8px 10px 12px}.portal-menu-chevron{display:grid;place-items:center;min-width:36px;min-height:42px;font-size:20px;transition:transform .15s}.portal-platform-menu[open] .portal-menu-chevron{transform:rotate(180deg)}.portal-platform-menu summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.portal-platform-submenu{margin:4px 0 0 20px;padding-left:6px;border-left:1px solid var(--border)}.portal-platform-submenu>a{padding:8px 10px;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

.portal-platform-menu summary>a{display:flex;align-items:center;gap:10px;min-width:0;color:#64766c;font-weight:500;border-radius:9px}.portal-platform-submenu{display:flex;flex-direction:column;gap:2px}.portal-platform-submenu>a{display:flex;align-items:center;gap:9px;min-height:38px;border-radius:8px;color:#64766c;line-height:1.4}.portal-platform-menu a:hover{background:#f0f5ed;text-decoration:none}.portal-platform-menu a[aria-current]{background:#eaf1e4;color:var(--green)}@media(max-width:760px){.portal-platform-menu{flex-basis:100%;margin-top:8px}.portal-platform-submenu{max-width:300px}}

/* School cards share the same inset and spacing on owner and master dashboards. */
.school-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px}
.school-card-grid>.card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0;padding:24px;margin:0}
.school-card-grid>.card>h2,.school-card-grid>.card>p{margin:0;max-width:100%;overflow-wrap:anywhere}
.school-card-grid>.card>.button{margin-top:2px}
.customer-section>.section-heading{flex-wrap:wrap}
@media(max-width:650px){.school-card-grid>.card{padding:20px}}
.compact-auth{grid-column:1/-1;min-height:100vh;min-height:100dvh;padding:28px 20px;background:#f5f8f1}
.compact-auth .login-card{max-width:440px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:32px}
.compact-auth .brand{font-size:20px;margin-bottom:24px}.compact-auth h1{font-size:28px;line-height:1.2;margin:0 0 12px;letter-spacing:-.5px}
.compact-auth .login-card>p{margin:0 0 20px}.compact-auth .field{margin-bottom:16px}.compact-auth .auth-help{margin:20px 0 0}
@media(max-width:480px){.compact-auth{padding:18px 12px;align-items:flex-start}.compact-auth .login-card{padding:24px 20px}.compact-auth .brand{margin-bottom:20px}}
.mobile-nav-toggle{display:none;align-items:center;justify-content:center;min-height:42px;padding:9px 13px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:13px;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap}
.portal-workspace-group{margin:4px 0}.portal-workspace-group>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;min-height:42px;padding:10px 12px;border-radius:9px;font-weight:650;color:#354c3d;font-size:13px}.portal-workspace-group>summary::-webkit-details-marker{display:none}.portal-workspace-group>summary::after{content:'+';margin-left:auto;font-size:18px}.portal-workspace-group[open]>summary::after{content:'−'}.portal-workspace-group>summary:hover{background:#f0f5ed}.portal-workspace-group>summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}.portal-workspace-children{display:flex;flex-direction:column;gap:2px;margin:3px 0 10px 10px;padding-left:8px;border-left:1px solid var(--border)}.portal-workspace-children>a{display:flex;align-items:center;gap:9px;min-height:38px;padding:8px 10px;border-radius:8px;color:#64766c;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.portal-workspace-children>a>span{min-width:0}.portal-workspace-children>a>svg{width:17px;height:17px;flex-shrink:0}.portal-workspace-children>a:hover{background:#f0f5ed;color:#354c3d;text-decoration:none}.portal-workspace-children>a[aria-current]{background:#eaf1e4;color:var(--green);font-weight:650}
@media(max-width:760px){.sidebar nav.responsive-nav>.portal-workspace-group{width:100%;margin:0}.portal-workspace-children{margin-bottom:8px}.portal-workspace-children>a{font-size:13px;min-height:42px}}
@media(max-width:760px){.sidebar nav.responsive-nav{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin-top:12px}.sidebar nav.responsive-nav>.mobile-nav-toggle{display:flex!important;align-self:flex-start}.sidebar nav.responsive-nav.is-collapsed>:not(.mobile-nav-toggle){display:none!important}.sidebar nav.responsive-nav:not(.is-collapsed)>a,.sidebar nav.responsive-nav:not(.is-collapsed)>.portal-platform-menu{width:100%}.sidebar nav.responsive-nav:not(.is-collapsed)>a{padding:10px 12px}.sidebar nav.responsive-nav:not(.is-collapsed)>.portal-platform-menu{flex-basis:auto;margin:0;padding-top:8px}}

/* Keep the platform group highlight behind its full label and disclosure control. */
.portal-platform-menu>summary{width:100%;min-width:0;overflow:hidden}.portal-platform-menu>summary>a{flex:1 1 0;gap:8px;padding-right:4px;font-size:13px;line-height:1.45}.portal-platform-menu>summary>a>span{min-width:0;overflow-wrap:anywhere}.portal-platform-menu>summary>.portal-menu-chevron{flex:0 0 26px;min-width:26px;align-self:stretch;min-height:42px}.portal-platform-menu>summary:hover{background:#f0f5ed}.portal-platform-menu>summary:has(>a[aria-current]),.portal-platform-menu:has(.portal-platform-submenu a[aria-current])>summary{background:#eaf1e4;color:var(--green)}.portal-platform-menu>summary>a:hover,.portal-platform-menu>summary>a[aria-current]{background:transparent}
