/* Portal interface only. Academic Path — 2026-10-19 */
:root{--ap-navy:#374866;--ap-ink:#374866;--ap-deep:#374866;--ap-brand-navy:#374866;--ap-brand-blue:#88b3ff;--ap-bg:#fdfdf5;--ap-surface:#fff;--ap-muted:#596579;--ap-line:#dce0e7;--ap-shadow:0 3px 14px #37486608;--navy:#374866;--ink:#374866}
html,body{background:#fdfdf5!important;color:#374866}
body,button,input,select,textarea{font-family:Poppins,Arial,sans-serif!important}
h1,h2,h3,.brand-copy h1,.login-card h2{font-family:Cambria,Georgia,serif!important}
[hidden],.hidden{display:none!important}
.ap-hero-illustration,.ap-login-illustration,.brand-orbit{display:none!important}
body.ap-login .login-brand::before,body.ap-login .login-brand::after,#loginView .login-left::before,#loginView .login-left::after,#page-lessons>.section-head::before,#page-lessons>.section-head::after,#teacherView .teacher-home-head::before,#teacherView .teacher-home-head::after{display:none!important}
body.ap-login .login-shell{display:grid!important;grid-template-columns:1fr!important;min-height:100dvh!important;background:#fdfdf5!important}
body.ap-login .login-brand,#loginView .login-left{display:none!important}
body.ap-login .login-panel{padding:32px 20px!important}
body.ap-login .mobile-brand.ap-logo-plate,.ap-teacher-mobile-login-logo{display:block!important;width:180px!important;margin:0 0 26px!important}
body.ap-login .login-card,#loginView .login-card{width:min(460px,100%)!important;padding:36px!important;border:1px solid #dce0e7!important;border-radius:12px!important;box-shadow:0 8px 32px #37486608!important;background:#fff!important}
#loginView{grid-template-columns:1fr!important;background:#fdfdf5!important;min-height:100dvh}
#loginView .login-right{padding:32px 20px!important;display:grid;place-items:center}
body.ap-login .mobile-brand.ap-logo-plate,.ap-teacher-mobile-login-logo{background:#374866!important;padding:12px!important;border-radius:7px!important;box-sizing:border-box}
body.ap-login .login-card h2,#loginView .login-card h2{font-size:32px!important;line-height:1.15!important;color:#374866!important}
body.ap-login .login-card label,#loginView .login-card label{font-size:14px!important}
body.ap-login .login-card .intro,#loginView .login-card .muted{font-size:14px!important;line-height:1.65!important}
body.ap-login .login-card input,#loginView .login-card input{font-size:16px!important;border-radius:7px!important;background:#fff!important}
body.ap-login .login-card button,#loginView .login-card .btn.primary{background:#374866!important;border-radius:7px!important;box-shadow:none!important}
#studentApp.app,#teacherView.app{margin:0!important;width:100%!important;min-height:100dvh!important;border-radius:0!important;box-shadow:none!important}
.ap-student-layout,.ap-teacher-layout{min-height:100dvh!important}
.ap-student-sidebar,#teacherView .ap-teacher-sidebar{background:#374866!important}
.ap-sidebar-brand img{background:transparent!important;border-radius:0!important;width:174px!important}
.ap-sidebar-brand{padding:24px 20px!important}
.ap-side-foot{display:none!important}
#studentApp .ap-student-workspace,#teacherView .ap-teacher-workspace{background:#fdfdf5!important;min-width:0}
#studentApp .topbar,#teacherView .top{background:#fff!important;border-bottom:1px solid #dce0e7!important;box-shadow:none!important}
#studentApp .content,#teacherView .teacher-shell{width:100%;max-width:1440px;margin:0 auto!important;padding:28px 32px 40px!important;box-sizing:border-box}
#page-lessons>.section-head,#teacherView .teacher-home-head{background:transparent!important;color:#374866!important;min-height:0!important;padding:0 0 24px!important;border:0!important;border-bottom:1px solid #dce0e7!important;border-radius:0!important;box-shadow:none!important;margin-bottom:24px!important}
#page-lessons>.section-head h1,#teacherView #teacherHomeSection>.teacher-home-head h1{color:#374866!important;font-size:36px!important;line-height:1.15!important;margin:8px 0 10px!important}
#page-lessons>.section-head p,#teacherView .teacher-home-head .muted{color:#596579!important;font-size:14px!important;line-height:1.65!important;max-width:65ch}
#page-lessons>.section-head>span,#teacherView .teacher-home-head .eyebrow{color:#596579!important}
#studentApp .bottom-nav button,#teacherView .ap-teacher-sidebar .qa14-primary-nav>button{font-size:14px!important;min-height:46px!important;border-radius:7px!important}
#studentApp .bottom-nav button.active,#teacherView .ap-teacher-sidebar .qa14-primary-nav>button.active{background:#fff!important;color:#374866!important;box-shadow:none!important}
#studentApp .lesson-list .lesson-card,#studentApp #practiceMount>.lesson-card,#teacherView .panel,#teacherView .home-stat{border:1px solid #dce0e7!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}
#studentApp .lesson-card h3{font-size:23px!important;line-height:1.3!important;color:#374866!important}
#studentApp .lesson-card small,#studentApp .lesson-card p{font-size:13px!important;line-height:1.6!important}
#studentApp .lesson-card .exercise-link,#studentApp .lesson-filters button{min-height:44px!important;font-size:14px!important}
#teacherView .home-stat span{font-size:13px!important}
#teacherView .home-stat strong{font-size:28px!important;color:#374866!important}
#teacherView .panel{padding:22px!important}
#teacherView input,#teacherView select,#teacherView textarea{font-size:14px;min-height:44px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #88b3ff!important;outline-offset:3px!important}
@media(max-width:960px){
 #studentApp .content,#teacherView .teacher-shell{padding:22px 18px 96px!important}
 #page-lessons>.section-head h1,#teacherView #teacherHomeSection>.teacher-home-head h1{font-size:30px!important}
 #studentApp .bottom-nav{background:#fff!important;border-top:1px solid #dce0e7!important}
 #studentApp .bottom-nav button{color:#596579!important}
 #studentApp .bottom-nav button.active{background:#edf2fa!important;color:#374866!important}
 #teacherView .panel{padding:18px!important}
 #teacherView input,#teacherView select,#teacherView textarea{font-size:16px}
}
@media(max-width:480px){
 body.ap-login .login-panel{padding:24px 16px!important}
 body.ap-login .login-card,#loginView .login-card{padding:26px 22px!important}
 #studentApp #practiceMount>.lesson-card{grid-template-columns:minmax(0,1fr)!important}
 #studentApp #practiceMount .exercise-link{justify-self:start}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Original transparent logo; full available width, intrinsic aspect ratio. */
.ap-sidebar-brand img,#studentApp .ap-sidebar-brand img,#teacherView .ap-sidebar-brand img{width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:1129/494!important;object-fit:contain!important;background:transparent!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important}
.ap-sidebar-brand{padding:24px 16px!important}
body.ap-login .mobile-brand.ap-logo-plate{display:flex!important;justify-content:center!important;width:calc(100% + 72px)!important;max-width:none!important;margin:-36px -36px 28px!important;padding:24px 36px!important;border-radius:11px 11px 0 0!important;background:#374866!important}
body.ap-login .mobile-brand .ap-logo{width:100%!important;max-width:320px!important;height:auto!important;aspect-ratio:1129/494;object-fit:contain;background:transparent!important}
#loginView .ap-teacher-mobile-login-logo{display:block!important;width:calc(100% + 72px)!important;max-width:none!important;height:auto!important;max-height:none!important;margin:-36px -36px 28px!important;padding:24px 36px!important;background:#374866!important;border-radius:11px 11px 0 0!important;object-fit:contain!important;box-sizing:border-box}
@media(max-width:960px){#studentApp .topbar,#teacherView .top{background:#374866!important}#studentApp .topbar .ap-mobile-brand-logo,#teacherView .top .ap-mobile-brand-logo{width:clamp(160px,42vw,230px)!important;max-width:55%!important;height:auto!important;max-height:none!important;object-fit:contain!important;background:transparent!important;padding:0!important;filter:none!important}}
@media(max-width:480px){body.ap-login .mobile-brand.ap-logo-plate,#loginView .ap-teacher-mobile-login-logo{width:calc(100% + 44px)!important;margin:-26px -22px 24px!important;padding:22px!important}}

/* Review: override legacy typography tokens, protect icon geometry. */
:root,body,#teacherView,#studentApp{--font-display:Cambria,Georgia,serif;--font-ui:Poppins,Arial,sans-serif;--font-body:Poppins,Arial,sans-serif}
#studentApp .nav-icon,#teacherView .nav-icon{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center}
#studentApp .nav-icon svg,#teacherView .nav-icon svg,.ui-svg{width:22px;height:22px;flex-shrink:0}
body.ap-practice #loginView .ap-logo-plate{display:block;width:100%!important;max-width:none;background:#374866!important;padding:20px!important;box-sizing:border-box;border-radius:6px}
body.ap-practice #loginView .ap-logo{width:100%;height:auto;max-height:none;object-fit:contain}
#studentApp .ap-header-page small,#teacherView .ap-header-page small{color:#596579!important;font-size:12px!important}

/* Teacher priorities. Keep data anchors for existing scripts; retire UI only. */
body:has(#teacherView),#teacherView.app,#teacherView .ap-teacher-workspace{background:#f3f4f6!important}
#teacherView .teacher-home-head h1,#teacherView #teacherHomeGreeting{color:#374866!important}
#teacherView .teacher-home-head .muted,#teacherView #teacherHomeIntro,#teacherView .teacher-home-date{color:#465469!important;opacity:1!important}
#teacherView [data-teacher-section="exerciseBank"],#teacherView [data-home-go="exerciseBank"],#teacherView [data-home-go="postClass"],#teacherView [data-teacher-section="postClass"],#teacherView [data-teacher-section="intelligence"],#teacherView .teacher-extra-tools,
#teacherView .teacher-prep-grid,#teacherView .home-attention-panel,#teacherView .home-secondary-grid,#teacherView .home-stat:has(#homePostClassReview),
#teacherView .detailcard:has(#tdProgress),#teacherView label:has(#tdMilestoneEdit),#teacherView .readiness-editor,#teacherView .teacher-plan-preview,
#teacherView .futureproof-memory-head,#teacherView .memory-admin-create,#teacherView #teacherMemoryMessage,#teacherView #teacherMemoryList{display:none!important}
#teacherView .teacher-home-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}
#teacherView .teacher-home-grid:has(.home-attention-panel){grid-template-columns:minmax(0,1fr)!important}
#teacherView .detailgrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
#teacherView .ap-teacher-sidebar #teacherToolsButton{display:flex!important;min-height:46px!important;align-items:center;font:600 14px Poppins,Arial,sans-serif!important;color:#fff!important;padding:9px 12px!important;background:transparent!important;border:0!important;text-align:left}

/* Blue vector logo uses a neutral identity surface. */
#studentApp .ap-student-sidebar,#teacherView .ap-teacher-sidebar{background:#e9edf3!important}
.ap-sidebar-brand>span,.ap-menu-caption,#studentApp .bottom-nav button,#teacherView .ap-teacher-sidebar .qa14-primary-nav>button,#teacherView .ap-teacher-sidebar #teacherToolsButton{color:#374866!important}
body.ap-login .mobile-brand.ap-logo-plate,#loginView .ap-teacher-mobile-login-logo,body.ap-practice #loginView .ap-logo-plate{background:transparent!important}
.ap-sidebar-brand img,body.ap-login .mobile-brand .ap-logo{aspect-ratio:1145/471!important}
@media(max-width:960px){#studentApp .topbar,#teacherView .top{background:#e9edf3!important}}


/* 2026-10-19: text contrast only. Intentionally retains white labels on navy buttons/illustrations. */
:root{--ap-dark-text:#263b55;--ap-dark-muted:#40536c}
#studentApp .ap-student-workspace,#teacherView .ap-teacher-workspace,
body.ap-login .login-panel,#loginView .login-right{color:var(--ap-dark-text)!important}
#studentApp :is(.lesson-card,.feed-card,.practice-title,.lesson-toolbar,.sheet,.modal-card),
#teacherView :is(.panel,.home-stat,.teacher-day-center,.teacher-command,.teacher-section,.modalcard),
body.ap-login .login-card,#loginView .login-card{color:var(--ap-dark-text)!important}
#studentApp :is(.lesson-card,.feed-card,.practice-title,.lesson-toolbar,.sheet) :is(p,small,.muted),
#teacherView :is(.panel,.home-stat,.teacher-day-center,.teacher-command) :is(p,small,.muted),
body.ap-login .login-card :is(p,small,.intro),#loginView .login-card :is(p,small,.muted){color:var(--ap-dark-muted)!important;opacity:1!important}
#studentApp .topbar .ap-header-page :is(strong,small),
#teacherView .top .ap-header-page :is(strong,small),
#teacherView .top .pill,
#studentApp :is(.lesson-card h3,.section-head h1),
#teacherView :is(.panel h2,.panel h3,.home-stat strong,.teacher-section h1){color:var(--ap-dark-text)!important}
#studentApp :is(input,textarea,select),#teacherView :is(input,textarea,select),
body.ap-login :is(input,textarea,select),#loginView :is(input,textarea,select),
body.ap-practice :is(input,textarea,select){color:var(--ap-dark-text)!important}
#studentApp :is(input,textarea)::placeholder,#teacherView :is(input,textarea)::placeholder,
body.ap-login input::placeholder,#loginView input::placeholder,
body.ap-practice :is(input,textarea)::placeholder{color:var(--ap-dark-muted)!important;opacity:1}
/* Sidebar uses a pale neutral background in the user's original package. */
#teacherView .ap-teacher-sidebar #teacherToolsButton{gap:12px!important;color:var(--ap-dark-text)!important}
#teacherView .ap-teacher-sidebar #teacherToolsButton .ap-nav-symbol{display:block;flex:0 0 19px;width:19px;height:19px;color:currentColor}
#teacherView .ap-teacher-sidebar .qa14-primary-nav>button,
#studentApp .ap-student-sidebar .bottom-nav button{color:var(--ap-dark-text)!important}
/* Keep text legible on selected/dark surfaces. */
#teacherView .ap-teacher-sidebar .qa14-primary-nav>button.active,
#studentApp .ap-student-sidebar .bottom-nav button.active{color:var(--ap-dark-text)!important}
