.app-shell:has(.app-navigation-online){background:linear-gradient(135deg,#f4f7fa,#f8fafc)}.app-navigation-online .app-nav-icon svg{width:20px;height:20px}.app-navigation-online .app-nav-link:focus-visible{outline-offset:2px;outline:3px solid #4c87ae}.app-account-bar{display:none}@media (min-width:900px){.app-account-bar{background:#fff;border-bottom:1px solid #e3e9ef;justify-content:space-between;align-items:center;gap:24px;padding:14px 36px;display:flex}.app-account-caption{color:#778396;letter-spacing:.035em;font-size:.72rem}}@media (max-width:899px){.app-navigation-online{background:#fffffff7;box-shadow:0 -4px 24px #102a430e}.app-navigation-online .app-navigation-links{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.app-navigation-online .app-nav-label-mobile{letter-spacing:-.02em;font-size:.63rem}.app-navigation-online .app-nav-link{gap:5px;min-height:65px}.app-navigation-online .app-nav-icon{border-radius:9px;width:32px;height:27px}.app-shell:has(.app-navigation-online) .app-mobile-header{background:#fff;border-bottom:1px solid #e6edf1;padding:14px 20px}}@media (min-width:900px){.app-sidebar:has(.app-navigation-online){background:#fff;border-right-color:#e4ebf0;padding:34px 18px 26px}.app-sidebar:has(.app-navigation-online) .app-brand{margin:0 auto 36px}.app-sidebar:has(.app-navigation-online) .app-brand-logo{width:190px;max-width:100%}.app-navigation-online .app-navigation-links{gap:9px}.app-navigation-online .app-nav-link{border-radius:12px;gap:11px;min-height:50px;padding:13px 12px;font-size:.8rem;font-weight:650}.app-navigation-online .app-nav-icon{flex-shrink:0;width:28px;height:28px}.app-navigation-online .app-nav-link.active{background:linear-gradient(120deg,#b8403d,#d9554e);box-shadow:0 6px 16px #c3433f26}.app-sidebar:has(.app-navigation-online) .app-sidebar-note{border-top:1px solid #e4ebf0;margin:26px 10px 0;padding-top:22px;font-size:.72rem;line-height:1.7}}.app-mobile-management{display:none}@media (max-width:899px){.app-mobile-management{background:#fff;border:1px solid #d6e0e8;border-radius:14px;margin:12px 20px 0;padding:12px 16px;display:block;position:relative}.app-mobile-management summary{color:#143049;cursor:pointer;font-weight:700}.app-mobile-management div{gap:8px;padding-top:12px;display:grid}.app-mobile-management a{color:#143049;background:#f2f6f9;border-radius:10px;padding:10px;display:block}}
.app-shell{--portal-border:#dfe8ee;--portal-soft:#f6f9fc;--portal-shadow:0 6px 24px #102a430a}.app-shell .classroom-page{color:var(--navy);gap:24px}.app-shell .classroom-page>header{border:1px solid var(--portal-border);background:#fff;border-radius:20px;padding:24px}.app-shell .classroom-page h1{letter-spacing:-.04em;overflow-wrap:anywhere;margin:8px 0 12px;font-family:inherit;font-size:clamp(1.65rem,3vw,2.15rem);font-weight:800;line-height:1.25}.app-shell .classroom-page>header p{margin:8px 0}.app-shell .classroom-page>header .eyebrow{margin-top:0;font-size:.7rem}.app-shell .classroom-page>header>p:last-of-type{max-width:760px}.app-shell .classroom-page h2{font-size:1.2rem;line-height:1.4}.app-shell .classroom-page h3{font-size:1rem;line-height:1.5}.app-shell .classroom-page p{font-size:.88rem;line-height:1.7}.app-shell .classroom-page .card{border-color:var(--portal-border);box-shadow:var(--portal-shadow);border-radius:20px;padding:24px}.app-shell .classroom-page .card>h2+p{margin-top:8px}.app-shell .classroom-page .eyebrow{font-size:.7rem}.app-shell .classroom-page .classroom-grid{align-items:start;gap:18px}.app-shell .classroom-directory .classroom-grid,.app-shell .material-bank>.classroom-grid{align-items:stretch}.app-shell .classroom-page .actions{gap:10px;margin-top:18px}.app-shell .classroom-page .classroom-toolbar{border-color:var(--portal-border);background:var(--portal-soft);gap:10px;padding:14px}.app-shell .classroom-page>header .classroom-toolbar{margin-top:18px}.app-shell .classroom-page .button{text-align:center;white-space:normal;overflow-wrap:anywhere;border-radius:11px;min-height:44px;padding:11px 16px;font-size:.84rem;line-height:1.45}.app-shell .classroom-page .button.secondary{background:#fff;border-color:#ccd9e3}.app-shell .classroom-page .button.secondary:hover{background:#eef4f8;border-color:#92aec2}.app-shell .classroom-page :is(.classroom-form,.profile-editor,.material-bank-search) label{font-size:.85rem;line-height:1.5}.app-shell .classroom-page :is(.classroom-form,.profile-editor,.student-search,.material-bank-search) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){width:100%;min-width:0;max-width:100%;min-height:46px;color:var(--navy);font:inherit;background:#fff;border:1px solid #d3dfe8;border-radius:11px;padding:11px 13px;font-weight:400}.app-shell .classroom-page textarea{resize:vertical}.app-shell .classroom-page :is(input,select,textarea):focus-visible{outline-offset:2px;border-color:#477da4;outline:3px solid #477da433}.app-shell .classroom-page input[type=file]{width:100%;max-width:100%;font-size:.8rem}.app-shell .classroom-page input[type=file]::file-selector-button{color:var(--navy);font:inherit;cursor:pointer;background:#eef4f8;border:1px solid #ccd9e3;border-radius:9px;margin-right:10px;padding:10px 12px}.app-shell .classroom-page .classroom-form{gap:16px;margin:20px 0}.app-shell .classroom-page .classroom-form :is([role=alert],[role=status]){border-radius:10px;padding:12px 14px;font-size:.83rem}.app-shell .classroom-page .classroom-form [role=alert]{color:#a03b34;background:#fff0ee}.app-shell .classroom-page .classroom-form [role=status]{color:#286c48;background:#e9f4ee}.app-shell .classroom-page details>summary{padding-block:8px;font-size:.9rem;font-weight:700}.app-shell .classroom-page details[open]>summary{margin-bottom:12px}.app-shell .classroom-page .class-tabs{border:1px solid var(--portal-border);background:#fff;border-radius:13px;flex-wrap:nowrap;gap:6px;margin:0;padding:6px;overflow-x:auto}.app-shell .classroom-page .class-tabs a{flex-shrink:0;justify-content:center;align-items:center;min-height:44px;display:flex}.app-shell .classroom-page .profile-identity>div{min-width:0}.app-shell .classroom-page .profile-avatar{object-position:center}.app-shell .classroom-page .profile-identity strong{font-size:1rem;line-height:1.45}.app-shell .classroom-page .person-picker .profile-identity strong{font-size:.86rem}.app-shell .classroom-page .profile-identity-large strong{font-size:1.5rem}.app-shell .classroom-page .profile-filters{gap:8px;margin:0}.app-shell .classroom-page .profile-filters button{cursor:pointer;border-radius:10px;min-height:44px;padding:9px 13px;font-size:.78rem}.app-shell .classroom-page .user-card>p{overflow-wrap:anywhere;margin-top:8px}.app-shell .classroom-page .profile-details dl{margin-top:16px;font-size:.85rem;line-height:1.65}.app-shell .classroom-page .profile-editor fieldset{background:var(--portal-soft);border-color:var(--portal-border);min-width:0}.app-shell .registrations-page .registration-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.app-shell .registrations-page .registration-summary p{border:1px solid var(--portal-border);background:var(--portal-soft);border-radius:14px;padding:18px;font-size:.8rem}.app-shell .registrations-page .registration-summary strong{color:var(--navy);overflow-wrap:anywhere;font-size:clamp(1.1rem,2vw,1.5rem)}.app-shell .registrations-page .registration-list{margin-top:16px}.app-shell .registrations-page .registration-order>:is(p,details,.button){margin-top:12px}.app-shell .registrations-page .registration-order>h3{margin:12px 0}.app-shell .registrations-page .registration-badge{border-radius:999px;font-size:.73rem}.app-shell .registration-status-approved,.app-shell .registration-status-ready_for_placement{color:#286c48;background:#e6f3eb}.app-shell .registration-status-awaiting_approval,.app-shell .registration-status-awaiting_payment,.app-shell .registration-status-pending_review{color:#87521c;background:#fff1df}.app-shell .registration-status-rejected,.app-shell .registration-status-application_rejected{color:#a03b34;background:#fce8e6}.app-shell .registration-status-cancelled,.app-shell .registration-status-expired{color:#606b74;background:#f0f1f2}@media (max-width:700px){.app-shell .classroom-page .classroom-grid{grid-template-columns:1fr}}@media (max-width:600px){.app-shell .classroom-page{gap:18px}.app-shell .classroom-page>header,.app-shell .classroom-page .card{border-radius:17px;padding:18px}.app-shell .classroom-page h1{font-size:1.65rem}.app-shell .classroom-page h2{font-size:1.1rem}.app-shell .classroom-page p{font-size:.84rem}.app-shell .classroom-page .actions .button{flex:180px}.app-shell .classroom-page .classroom-form>.button{width:100%}.app-shell .classroom-page :is(.classroom-form,.profile-editor,.student-search,.material-bank-search) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){font-size:1rem}.app-shell .classroom-page .profile-identity-large strong{font-size:1.25rem}.app-shell .registrations-page .registration-summary p{padding:14px}}@media (max-width:380px){.app-shell .registrations-page .registration-summary{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.app-shell .classroom-page .button{transition:none}.app-shell .classroom-page .button:hover{transform:none}}
