.app{grid-template-columns:280px minmax(0,1fr)!important;background:#f7faf9}.app>aside{padding:22px 16px!important;border-right:1px solid #e8edf2!important;box-shadow:8px 0 28px rgba(15,118,110,.045)!important}.app .brand{padding:2px 9px 28px!important}.app .brand img{width:44px!important;height:44px!important}.app .brand b{font-size:20px!important}.app #groupNav{gap:7px!important}.app #groupNav button{display:flex!important;align-items:center!important;gap:13px!important;width:100%!important;padding:13px 14px!important;border-radius:16px!important}.admin-nav-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#f1f5f9;color:#64748b;font-size:16px;font-weight:900}.app #groupNav button.active .admin-nav-icon{background:rgba(255,255,255,.2);color:inherit}.admin-nav-label{font-weight:800}.app main>header{height:86px!important;padding:15px 28px!important}.app main>section{max-width:none!important;margin:0!important;padding:28px 30px 42px!important}.app .subnav{top:86px!important;padding:13px 30px 2px!important;gap:9px!important;background:rgba(247,250,249,.94)!important;backdrop-filter:blur(12px)}.app .subnav button{display:flex;align-items:center;gap:7px;border-radius:14px!important}.admin-subnav-icon{display:inline-grid;place-items:center;min-width:18px;font-size:13px;font-weight:900}.app .card{border-radius:26px!important;padding:25px!important}.app .grid{gap:22px!important}.app .toolbar{margin-bottom:20px!important}.app .form{gap:18px!important}.app .form label{gap:8px!important}.app .form input,.app .form select,.app .form textarea{padding:14px!important;border-radius:14px!important;background:#f8fafc!important}.app .modal-card{width:min(620px,calc(100vw - 28px))!important;padding:34px!important;border-radius:30px!important}.app .modal-card h2{margin:0 48px 22px 0!important}.app .modal-card .muted{line-height:1.65}.modal-eyebrow{display:block;margin-bottom:8px;color:#059669;font-size:10px;font-weight:900;letter-spacing:.14em}.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.subscription-status-card{margin-bottom:26px!important}.subscription-upgrade-grid{gap:24px!important}.admin{position:relative}.admin-profile-button{width:44px;height:44px;padding:0;border:2px solid #fff;border-radius:999px;overflow:hidden;background:#d1fae5;box-shadow:0 5px 16px rgba(15,23,42,.12);cursor:pointer}.admin-profile-button img{width:100%!important;height:100%!important;border-radius:inherit!important}.admin-profile-menu{position:absolute;right:0;top:56px;z-index:100;width:300px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 26px 70px rgba(15,23,42,.22);text-align:left}.admin-profile-summary{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #eef2f7}.admin-profile-summary img{width:48px!important;height:48px!important;border-radius:50%}.admin-profile-summary div{display:grid!important;min-width:0}.admin-profile-summary b,.admin-profile-summary small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-profile-premium{display:grid;gap:3px;margin:13px 0;padding:12px;border-radius:15px}.admin-profile-premium.active{background:#ecfdf5;color:#047857}.admin-profile-premium.free{background:#fffbeb;color:#b45309}.admin-profile-premium b{font-size:11px}.admin-profile-premium span{font-size:11px}.admin-profile-menu>button{width:100%;margin-top:7px;padding:12px 13px;border:0;border-radius:13px;background:#f8fafc;color:#475569;text-align:left;font-weight:800;cursor:pointer}.admin-profile-menu>button:hover{background:#ecfdf5;color:#047857}.admin-profile-menu .admin-profile-logout{background:#fff1f2;color:#e11d48;text-align:center}.app #changeAdminPassword{display:none!important}.app .logout{display:none!important}
body.admin-auth-mode{overflow:hidden!important;height:100dvh!important}.admin-auth-mode #login{position:fixed!important;inset:0!important;z-index:1000!important;overflow:auto!important}.admin-auth-mode #app{display:none!important}
@media(max-width:850px){.app{display:block!important}.app>aside{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;height:72px!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(12px);border-top:1px solid #e5e7eb!important;z-index:80!important}.app>aside .brand,.app>aside>.logout{display:none!important}.app #groupNav{display:grid!important;grid-template-columns:repeat(5,1fr)!important;width:100%!important;padding:0!important;gap:5px!important;overflow:visible!important}.app #groupNav button{display:flex!important;justify-content:center!important;align-items:center!important;gap:0!important;min-height:54px!important;padding:4px!important;border-radius:15px!important;text-align:center!important}.app #groupNav button.active:before{display:none!important}.admin-nav-icon{width:40px!important;height:40px!important;border-radius:13px!important;font-size:21px!important;background:transparent}.app #groupNav button.active .admin-nav-icon{background:#10b981!important;color:#fff!important;box-shadow:0 7px 16px rgba(16,185,129,.24)}.admin-nav-label{display:none!important}.app main>header{height:72px!important;padding:11px 13px!important}.app main>header h2{font-size:16px!important}.app main>header #schoolCode{display:block;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app main>section{padding:17px 13px 112px!important}.app .subnav{top:72px!important;padding:9px 13px 3px!important}.app .subnav button{padding:9px 12px!important}.app .subnav button span:last-child{font-size:11px}.app .card{padding:19px!important;border-radius:22px!important}.app .modal{align-items:flex-end!important;padding:10px!important}.app .modal-card{width:100%!important;max-height:88dvh!important;padding:24px 20px calc(24px + env(safe-area-inset-bottom))!important;border-radius:28px 28px 18px 18px!important}.profile-form-grid{grid-template-columns:1fr}.admin-profile-menu{position:fixed;right:10px;top:66px;width:min(300px,calc(100vw - 20px))}.subscription-status-card{margin-bottom:24px!important}.subscription-upgrade-grid{margin-top:0!important}.app .grid.two{gap:22px!important}}
.admin-mobile-brand{display:none;align-items:center;gap:8px;min-width:0}.admin-mobile-brand img{width:34px;height:34px;border-radius:10px}.admin-mobile-brand b{font-size:15px;white-space:nowrap}.admin-mobile-brand span{color:#10b981}@media(max-width:850px){.admin-mobile-brand{display:flex}.app main>header>.admin-mobile-brand+div{display:none}.app main>header .admin{gap:7px!important}.app main>header .admin-profile-button{width:40px;height:40px}.app main>header #portal-subscription-notifications .psn-button{width:40px;height:40px}}
