/* Shared account details: scoped to signed-in screens. */
:root body .student-brand .student-notice-bell{color:#d9b34b}
:root body .student-brand .student-settings-gear{color:#aaaeb5}
:root body .student-brand .student-activity-icon{color:#e47777}
:root body .student-brand .student-activity-icon .activity-check{stroke:#73bf8b;stroke-width:2}
:root[data-student-theme=light] body .student-brand .student-notice-bell{color:#936b0e}
:root[data-student-theme=light] body .student-brand .student-settings-gear{color:#606770}
:root[data-student-theme=light] body .student-brand .student-activity-icon{color:#b23c46}
:root[data-student-theme=light] body .student-brand .student-activity-icon .activity-check{stroke:#267440}
:root body.is-account-view #studentLogoutButton{border:1px solid var(--line,#555);background:transparent;color:var(--muted,#bbb);min-height:42px;padding:10px 24px;width:min(100%,240px);justify-self:center;align-self:center;margin:8px auto 0;transition:background .3s,border-color .3s,box-shadow .3s;cursor:pointer}
:root body.is-account-view #studentLogoutButton:hover{border-color:var(--gold,#cfad60);background:rgba(205,172,91,.08);box-shadow:0 0 12px rgba(205,172,91,.1)}
:root body.is-account-view #studentLogoutButton:focus-visible{outline:2px solid var(--gold,#cfad60);outline-offset:3px}
:root[data-student-theme=light] body.is-account-view #studentLogoutButton{border-radius:8px}
:root body.is-account-view .profile-avatar{width:76px;height:76px;flex:0 0 76px;min-width:76px;overflow:hidden;border-radius:50%}
:root body.is-account-view .profile-avatar img{width:100%;height:100%;object-fit:cover;object-position:center}
:root body.is-account-view .account-identity{min-width:0;overflow-wrap:anywhere}
:root body.is-account-view .student-footer{margin-top:auto}
:root body .favorite-filters{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
:root body .favorite-filters button{font:inherit;font-size:12px;padding:9px 14px;min-height:40px;border:1px solid var(--line,#555);background:transparent;color:inherit;cursor:pointer}
:root body .favorite-filters button[aria-pressed=true]{border-color:var(--gold,#d6b46d);background:rgba(210,174,90,.12)}
:root body .schedule-class[hidden]{display:none!important}
:root body .class-favorite{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line,#555);padding:9px 12px;min-height:42px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer;transition:background .3s,border-color .3s}
.class-favorite svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}
:root body .class-favorite[aria-pressed=true]{color:var(--gold,#d6b46d);border-color:currentColor}
.class-favorite[aria-pressed=true] svg{fill:currentColor}
.favorite-hint{display:block;font-size:11px;line-height:1.5;color:var(--muted,#aaa);margin:7px 0 16px}
.favorites-empty{font-size:12px;line-height:1.6}
:root body.is-account-view:not(.teacher-only-account) .upcoming-classes-card.has-favorites #upcomingClassesList{display:grid!important;gap:6px;margin:8px 0 12px}
:root body.is-account-view:not(.teacher-only-account) .upcoming-classes-card.has-favorites .upcoming-classes-head{display:flex!important;margin-top:16px}
:root body.is-account-view:not(.teacher-only-account) .upcoming-classes-card.has-favorites .upcoming-classes-head strong{display:none}
:root body.is-account-view:not(.teacher-only-account) .upcoming-classes-card.has-favorites .upcoming-class-row{padding:9px 10px}
:root body.is-account-view:not(.teacher-only-account) .upcoming-classes-card.has-favorites .upcoming-class-row strong{font-size:12px;line-height:1.4}
:root body.is-account-view:not(.teacher-only-account) .upcoming-classes-card.has-favorites .upcoming-class-row small{font-size:11px}
@media(max-width:600px){
 :root body.is-account-view .student-shell{padding:0;min-height:100vh;min-height:100dvh;display:flex;align-items:stretch}
 :root body.is-account-view .student-card{width:100%;max-width:none;min-height:100vh;min-height:100dvh;height:auto;display:flex;flex-direction:column;border:0}
 :root body.is-account-view .student-brand{flex:0 0 auto;gap:10px;padding:calc(20px + env(safe-area-inset-top)) 16px 16px;min-height:0}
 :root body.is-account-view .student-brand .school-header-logo{width:44px;height:44px;flex:0 0 44px;object-fit:contain}
 :root body.is-account-view .student-brand>span{font-size:10px;letter-spacing:1px;white-space:nowrap}
 :root body.is-account-view .student-header-tools{gap:7px;margin-left:0}
 :root body.is-account-view .student-brand .student-header-tools button{width:36px;height:36px;min-height:36px;flex:0 0 36px;padding:7px}
 :root body.is-account-view #accountView:not(.hidden){flex:1 0 auto;grid-template-rows:auto;align-content:start;row-gap:16px}
 :root body.is-account-view .account-profile-hero{padding-top:18px;padding-bottom:18px;gap:16px;align-items:center}
 :root body.is-account-view .profile-avatar{width:72px;height:72px;flex-basis:72px;min-width:72px}
 :root body.is-account-view.teacher-only-account #accountView:not(.hidden){grid-template-rows:auto minmax(min-content,1fr) auto;row-gap:18px}
 :root body.is-account-view.teacher-only-account .account-profile-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:22px 16px 16px;margin:0}
 :root body.is-account-view.teacher-only-account .profile-avatar{order:-1}
 :root body.is-account-view.teacher-only-account .account-identity{width:100%;text-align:center}
 :root body.is-account-view.teacher-only-account #accountName{font-size:clamp(20px,5.7vw,25px);line-height:1.25}
 :root body.is-account-view.teacher-only-account #accountGroup{font-size:11px;line-height:1.5;margin-top:7px}
 :root body.is-account-view.teacher-only-account .teacher-next{min-height:155px;padding:18px}
 :root body.is-account-view.teacher-only-account #teacherHome{gap:16px}
 :root body.is-account-view .student-footer{flex:0 0 auto;margin-top:auto;padding:18px 16px calc(12px + env(safe-area-inset-bottom))}
 :root body.is-account-view .student-development-credit{margin-top:12px;font-size:10px;line-height:1.5}
}
@media(max-width:350px){
 :root body.is-account-view .student-brand{gap:6px;padding-left:12px;padding-right:12px}
 :root body.is-account-view .student-header-tools{gap:5px}
 :root body.is-account-view .student-brand>span{font-size:9px;letter-spacing:.4px}
 :root body.is-account-view .student-brand .school-header-logo{width:40px;height:40px;flex-basis:40px}
 :root body.is-account-view .student-brand .student-header-tools button{width:34px;height:34px;min-height:34px;flex-basis:34px}
}
@media(prefers-reduced-motion:reduce){:root body.is-account-view #studentLogoutButton,:root body .class-favorite{transition:none}}
