/* v27.19 global SaaS-aware application shell */
.academy-topbar{position:sticky;top:0;z-index:210;background:rgba(4,37,52,.975);box-shadow:0 8px 30px rgba(2,27,39,.16);backdrop-filter:blur(16px)}
.academy-nav{display:flex;align-items:center;gap:18px;min-height:74px}.academy-brand{min-width:0;max-width:min(360px,35vw)}.academy-brand .tenant-nav-logo{width:44px;height:44px;object-fit:contain;border-radius:12px;background:#fff;padding:4px}.academy-brand-mark{flex:0 0 auto}.academy-brand .brand-copy{min-width:0}.academy-brand .brand-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academy-header-links{margin-left:auto;align-items:center}.nav-signout-form{margin:0}.nav-dropdown{position:relative}.nav-dropdown>summary{list-style:none;cursor:pointer}.nav-dropdown>summary::-webkit-details-marker{display:none}.nav-dropdown>summary .ui-icon:last-child{width:14px;transition:transform .18s}.nav-dropdown[open]>summary .ui-icon:last-child{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:240;width:min(720px,90vw);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:#073346;box-shadow:0 26px 70px rgba(0,0,0,.28)}.nav-dropdown-menu.public-services{width:320px;grid-template-columns:1fr}.nav-menu-group{display:grid;align-content:start;gap:3px;padding:9px;border-radius:12px;background:rgba(255,255,255,.035)}.nav-menu-group strong{padding:5px 8px 7px;color:#85dec5;font-size:.69rem;text-transform:uppercase;letter-spacing:.09em}.nav-menu-group a{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;color:#e2eef1;text-decoration:none;font-weight:700;font-size:.82rem}.nav-menu-group a:hover{background:rgba(0,169,124,.19);color:#fff}.nav-menu-group a b{margin-left:auto;display:grid;place-items:center;min-width:19px;height:19px;border-radius:10px;background:#ef5568;font-size:.62rem}.role-context{white-space:nowrap}
.dashboard{align-items:start!important}.canonical-sidebar{position:sticky!important;top:94px!important;align-self:start!important;max-height:calc(100dvh - 112px)!important;overflow:auto!important;padding:0!important;border-radius:20px!important}.sidebar-shell-head{position:sticky;top:0;z-index:3;padding:17px 16px 12px;background:linear-gradient(180deg,#073b51 82%,rgba(7,59,81,.93));border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-shell-head .sidebar-title{margin:0!important;padding:0!important}.sidebar-mobile-toggle{display:none}.sidebar-nav-groups{padding:10px 10px 16px}.sidebar-group{display:grid;gap:2px;margin-bottom:13px}.sidebar-group:last-child{margin-bottom:0}.sidebar-group-title{padding:8px 10px 5px;color:#75cdb6;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.canonical-sidebar a{display:flex!important;align-items:center!important;gap:10px!important;min-height:39px!important;margin:0!important;padding:9px 10px!important;border-radius:10px!important;color:#d8e7eb!important;text-decoration:none!important;font-size:.79rem!important;line-height:1.2!important}.canonical-sidebar a:before{display:none!important}.canonical-sidebar a .sidebar-ui-icon{width:17px;height:17px;color:#87c9bb;flex:0 0 auto}.canonical-sidebar a:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}.canonical-sidebar a.active{background:linear-gradient(135deg,rgba(0,169,124,.27),rgba(0,126,92,.14))!important;color:#fff!important;box-shadow:inset 3px 0 #53e0b7}.canonical-sidebar a.active .sidebar-ui-icon{color:#62e7c0}.canonical-sidebar::-webkit-scrollbar{width:6px}.canonical-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:10px}
.page-illustrative-icon{width:48px;height:48px;display:grid;place-items:center;margin:0 0 12px;border-radius:15px;background:linear-gradient(145deg,#e7faf4,#eaf1ff);color:#087b61;box-shadow:inset 0 0 0 1px #d2e8e0}.page-illustrative-icon .ui-icon{width:25px;height:25px}.section-head .page-illustrative-icon{width:42px;height:42px;margin-bottom:8px}.section-head .page-illustrative-icon .ui-icon{width:22px;height:22px}
.footer-tenant-logo{width:50px;height:50px;object-fit:contain;border-radius:13px;background:#fff;padding:5px;flex:0 0 auto}.content{min-width:0}.shell-table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.table{min-width:max-content}.card,.record,.programme,.programme-card{min-width:0}.card img,.content img{max-width:100%;height:auto}.actions,.receipt-actions,.workspace-public-meta{max-width:100%}
@media(max-width:1180px){.academy-header-links>.nav-item:not(.notification-link):not(.workspace-switcher){display:none}.academy-brand{max-width:300px}.nav-dropdown-menu{right:-100px}}
@media(max-width:900px){.academy-topbar{position:sticky}.academy-nav{min-height:68px}.academy-brand{max-width:calc(100% - 64px)}.academy-header-links{position:fixed!important;inset:68px 0 auto 0!important;max-height:calc(100dvh - 68px)!important;padding:12px!important;background:#052b3d!important;overflow:auto!important}.academy-header-links:not(.open){display:none!important}.academy-header-links.open{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}.academy-header-links>.nav-item,.academy-header-links>form,.academy-header-links>.nav-dropdown{width:100%!important}.academy-header-links .nav-item{justify-content:flex-start!important}.nav-dropdown-menu{position:static!important;width:100%!important;grid-template-columns:1fr!important;margin-top:6px;box-shadow:none;background:rgba(255,255,255,.045)}.nav-dropdown>summary{width:100%}.role-context{display:none}.dashboard{display:block!important}.canonical-sidebar{position:relative!important;top:auto!important;max-height:none!important;margin:14px 0 18px!important;border-radius:15px!important;overflow:visible!important}.sidebar-shell-head{position:relative;display:flex;align-items:center;justify-content:space-between;padding:12px 13px;background:#073b51}.sidebar-mobile-toggle{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:rgba(255,255,255,.07);color:#fff;font:inherit;font-size:.74rem;font-weight:800}.sidebar-mobile-toggle .ui-icon{width:16px;height:16px}.sidebar-nav-groups{display:none;max-height:62dvh;overflow:auto;padding:9px}.canonical-sidebar.sidebar-open .sidebar-nav-groups{display:grid}.sidebar-group{margin-bottom:9px}.sidebar-group-title{padding-top:7px}.content{width:100%!important}.page-banner{overflow:hidden}.page-banner:before{opacity:.55}}
@media(max-width:620px){body{overflow-x:hidden}.shell{width:calc(100% - 20px)!important}.academy-brand .tenant-nav-logo{width:40px;height:40px}.academy-brand-mark{width:40px!important;height:40px!important}.academy-brand .brand-copy strong{font-size:.82rem}.academy-brand .brand-copy small{display:block;font-size:.61rem}.nav-toggle{margin-left:auto}.canonical-sidebar{margin-top:10px!important}.page-banner{padding:20px!important;min-height:auto!important}.page-banner h1{font-size:1.55rem!important}.page-illustrative-icon{width:42px;height:42px;border-radius:13px}.metrics,.two-column,.form-grid,.programme-grid,.record-grid,.recording-grid,.admission-detail-grid,.operations-grid,.dashboard-grid{grid-template-columns:1fr!important}.metric{min-width:0}.card{padding:16px!important}.button,.actions .button{max-width:100%}.actions{gap:7px!important}.actions form{max-width:100%}.field input,.field select,.field textarea{width:100%;max-width:100%;box-sizing:border-box}.table-wrap{width:100%;overflow-x:auto}.footer{margin-top:24px}.mobile-app-nav{z-index:205}.pwa-toast{z-index:260}}
@media(max-width:400px){.academy-brand .brand-copy small{display:none}.academy-brand{max-width:220px}.canonical-sidebar a{font-size:.77rem!important}.page-banner h1{font-size:1.4rem!important}}
/* v27.22 persistent paid AI access control */
.sidebar-ai-switch{margin:10px 10px 4px;padding:0}.ai-sidebar-toggle{width:100%;border:1px solid rgba(14,116,144,.25);background:#f7fbfc;border-radius:14px;padding:10px 12px;display:grid;grid-template-columns:16px 1fr;column-gap:8px;text-align:left;cursor:pointer;color:inherit}.ai-sidebar-toggle .ai-sidebar-dot{width:12px;height:12px;border-radius:50%;background:#94a3b8;margin-top:3px;box-shadow:0 0 0 4px rgba(148,163,184,.15)}.ai-sidebar-toggle b{font-size:.86rem}.ai-sidebar-toggle small{grid-column:2;color:#64748b;font-size:.72rem;margin-top:2px}.ai-sidebar-toggle.is-on{background:#ecfdf5;border-color:#86efac}.ai-sidebar-toggle.is-on .ai-sidebar-dot{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.15)}
@media(max-width:820px){.sidebar-ai-switch{margin:8px 0}}
