/* Academic Path · unified dashboard identity 2026-10-19
   Structural styles for student + teacher; never overrides lesson-player HTML. */
:root{--ap-navy:#202d54;--ap-ink:#283352;--ap-lilac:#5e8cc5;--ap-purple:#80a9dc;--ap-periwinkle:#89a9ff;--ap-surface:#fbfcfe;--ap-soft:#eaf1f9;--ap-outline:#e5eaf1;--ap-shadow:0 13px 32px rgba(42,29,100,.09)}
html,body{font-family:Poppins,system-ui,-apple-system,sans-serif;color:var(--ap-ink)}
button,input,textarea,select{font-family:Poppins,system-ui,sans-serif}
button, a{ -webkit-tap-highlight-color:transparent }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #527bae;outline-offset:3px}
/* Shared identity anchors */
.ap-sidebar-brand{display:flex;align-items:flex-start;flex-direction:column;gap:9px;padding:28px 18px 38px}
.ap-sidebar-brand img{width:176px;height:auto;max-width:100%;border-radius:14px;background:#91b3ff}
.ap-sidebar-brand span{color:rgba(255,255,255,.79);font-size:9px;letter-spacing:.15em;font-weight:700}
.ap-menu-caption{font-size:10px;letter-spacing:.14em;font-weight:700;color:#dde8f5;padding:0 21px;margin:0 0 15px}
.ap-side-foot{padding:15px 10px;margin:auto 17px 26px;border-top:1px solid rgba(255,255,255,.23);display:flex;align-items:center;gap:10px;color:#f5f8fc;font-size:11px;line-height:1.5}
.ap-side-foot-mark{width:35px;height:35px;flex:0 0 35px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.25);border-radius:11px;display:grid;place-items:center;font:bold 17px Cambria,Georgia,serif}
.ap-header-page{display:flex;flex-direction:column;gap:1px;align-items:flex-start;text-align:left;line-height:1.35}
.ap-header-page strong{font-family:Poppins,system-ui,sans-serif!important;font-size:15px!important;font-weight:700;letter-spacing:-.02em!important;text-transform:none!important;color:var(--ap-navy)}
.ap-header-page small{font-family:Poppins,system-ui,sans-serif!important;font-size:11px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:#8991a7}
.ap-hero-illustration{position:absolute;right:2%;bottom:-26px;width:37%;max-width:400px;height:auto;pointer-events:none;filter:drop-shadow(0 16px 17px rgba(45,26,91,.10))}
/* STUDENT dashboard */
body:has(#studentApp){background:radial-gradient(circle at 0% 0%,#dee8f5 0,#ecf2f9 35%,#f6f9fd 72%)}
#studentApp.app{width:min(1780px,calc(100% - 36px));min-height:calc(100dvh - 36px);margin:18px auto;padding:0;background:#fff;border-radius:25px;box-shadow:0 18px 75px rgba(51,31,112,.14);overflow:clip}
.ap-student-layout{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:calc(100dvh - 36px)}
.ap-student-sidebar{background:linear-gradient(169deg,#7ea8dc 0%,#6494ce 42%,#668cba 100%);display:flex;flex-direction:column;min-width:0}
.ap-student-workspace{min-width:0;background:#fff}
#studentApp .topbar{background:#fff;position:relative;z-index:15;backdrop-filter:none;border-bottom:1px solid #ecf0f6;height:91px;padding:20px clamp(22px,3.4vw,49px);align-items:center;gap:20px}
#studentApp .topbar .wordmark{border:0;padding:0;background:transparent;min-width:0}
#studentApp .topbar .avatar{margin-left:0;width:47px;height:47px;background:#ebf1f9;color:#597eac;border:2px solid #d4e1f2;font:700 13px Poppins,system-ui;border-radius:50%;flex:0 0 47px}
.ap-student-global-search{height:45px;max-width:350px;min-width:170px;width:33%;margin-left:auto;border:1px solid #ecf1f8;border-radius:999px;background:#f7f9fb;display:flex;align-items:center;gap:9px;padding:0 16px;color:#8898ac}
.ap-student-global-search svg{width:19px;height:19px;flex:0 0 19px}
.ap-student-global-search input{font-size:12px;color:var(--ap-ink);background:transparent;border:0;outline:0;width:100%;min-width:0}
.ap-student-global-search:focus-within{outline:2px solid #93b7e3;outline-offset:2px}
#studentApp .content{max-width:none;width:100%;padding:clamp(20px,3vw,38px) clamp(20px,3.2vw,48px) 70px}
#studentApp .bottom-nav{position:static;transform:none;height:auto;left:auto;right:auto;width:auto;bottom:auto;display:flex;flex-direction:column;padding:0 12px;gap:8px;box-shadow:none;border:0;background:transparent;backdrop-filter:none;border-radius:0;grid-template-columns:none}
#studentApp .bottom-nav button{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:13px;padding:15px 16px;border-radius:13px;color:#f1f6fb;text-align:left;font:600 13px Poppins,system-ui;min-height:53px;transition:background .18s}
#studentApp .bottom-nav button:hover{background:rgba(255,255,255,.14)}
#studentApp .bottom-nav button.active{color:#3a5d87;background:#fff;box-shadow:0 8px 23px rgba(38,25,100,.16)}
#studentApp .bottom-nav .nav-icon,#studentApp .bottom-nav svg{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;stroke-width:1.7}
#page-lessons>.section-head{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:235px;border-radius:24px;background:linear-gradient(118deg,#6192ce,#719fd8 62%,#a2c0e4);padding:32px 43% 31px 40px;margin:0 0 29px;box-shadow:0 13px 29px rgba(103,69,183,.18);isolation:isolate}
#page-lessons>.section-head:before,#teacherView .teacher-home-head:before{content:"";position:absolute;z-index:-1;width:350px;height:350px;border:1px solid rgba(255,255,255,.15);border-radius:42% 58% 68% 32%;right:-60px;top:-185px;transform:rotate(28deg)}
#page-lessons>.section-head>span{color:#e4edf7;font:700 10px Poppins,system-ui;letter-spacing:.13em}
#page-lessons>.section-head h1{font:700 clamp(30px,3.05vw,49px)/1.12 Cambria,Georgia,serif;letter-spacing:-.02em;color:#fff;max-width:580px;margin:13px 0 11px}
#page-lessons>.section-head p{font:400 clamp(13px,1.2vw,15px)/1.7 Poppins,system-ui;max-width:500px;color:#eff4fa}
#page-lessons .lesson-list{gap:15px}
#page-lessons .lesson-toolbar{margin-bottom:15px;background:#fff;border:1px solid #ebeef2;border-radius:19px;padding:22px;box-shadow:0 7px 28px rgba(38,31,93,.04)}
#page-lessons .lesson-toolbar input{border:1px solid #dbe4ee;border-radius:12px;background:#fafbfc;font-size:14px}
#page-lessons .lesson-card{border:1px solid #e4e9f0;background:#fff;border-radius:18px;padding:23px;box-shadow:0 8px 21px rgba(47,35,95,.055);gap:17px}
#page-lessons .lesson-card h3{font:700 24px/1.17 Cambria,Georgia,serif;color:#292f58}
#page-lessons .lesson-card .lesson-number{color:#6288b7;font:700 10px Poppins,system-ui}
#page-lessons .lesson-card button{background:#e9f0f8;border-radius:12px;color:#4f7eb7;font:700 12px Poppins,system-ui;min-width:94px}
#page-lessons .lesson-card button:hover{background:#d6e3f2}
#page-practice>.section-head{margin:0 0 20px;border-bottom:1px solid #e6ecf3;padding:12px 0 22px}
#page-practice .section-head h1{font:700 42px Cambria,Georgia,serif;color:var(--ap-navy)}
#page-practice .section-head p{font-size:14px}
#studentApp .practice-page{margin:0}
#studentApp .practice-mount{border:0!important;border-radius:0!important;background:transparent}
#studentApp .practice-mount iframe{min-height:650px;width:100%}
#studentApp .lesson-empty{border:1px dashed #d0dbe8;background:#fafbfd;border-radius:16px;padding:25px}
/* TEACHER dashboard */
body:has(#teacherView:not(.hidden)){background:radial-gradient(circle at 0 0,#dfe9f6,transparent 43%),#f3f7fc}
#teacherView.app{width:min(1900px,calc(100% - 36px));min-height:calc(100dvh - 36px);margin:18px auto;border-radius:25px;background:#fff;box-shadow:0 18px 75px rgba(51,31,112,.14);overflow:clip}
#teacherView .ap-teacher-layout{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100dvh - 36px)}
#teacherView .ap-teacher-sidebar{display:flex;flex-direction:column;min-width:0;background:linear-gradient(169deg,#7ea8dc 0%,#6493cc 44%,#5962bb 100%)}
#teacherView .ap-teacher-workspace{min-width:0;background:#fff}
#teacherView .top{position:relative;z-index:12;height:91px;background:#fff;color:var(--ap-ink);border:0;border-bottom:1px solid #ecf0f6;padding:20px clamp(22px,3.4vw,49px);box-shadow:none;gap:18px}
#teacherView .top .brand{min-width:0}
#teacherView .top .topright{display:flex;align-items:center;gap:10px}
#teacherView .top .pill{background:#e9f0f9!important;color:#547eb1!important;border:1px solid #d5e2f2!important;border-radius:999px;padding:9px 15px;font:700 11px Poppins,system-ui}
#teacherView .top .linkbtn{border:1px solid #d6e1ee;color:#557295;border-radius:12px;padding:10px 16px;font:600 12px Poppins,system-ui;background:#fff}
#teacherView .top .linkbtn:hover{background:#f8fafd}
#teacherView .teacher-shell{max-width:none;width:100%;margin:0;padding:22px clamp(22px,3.2vw,46px) 66px;min-width:0}
#teacherView .ap-teacher-sidebar .teacher-nav.qa14-primary-nav{position:static;display:flex;flex-direction:column;align-items:stretch;gap:5px;border:0;box-shadow:none;background:transparent;backdrop-filter:none;padding:0 13px;width:100%;z-index:auto}
#teacherView .ap-teacher-sidebar .qa14-primary-nav>button{min-height:44px;margin:0!important;display:flex!important;align-items:center;gap:12px;padding:12px 15px!important;text-align:left;color:#fff!important;background:transparent!important;border:0!important;border-radius:12px!important;position:relative;font:600 12px Poppins,system-ui!important;letter-spacing:0!important;text-transform:none!important;width:100%}
#teacherView .ap-teacher-sidebar .qa14-primary-nav>button:hover{background:rgba(255,255,255,.14)!important}
#teacherView .ap-teacher-sidebar .qa14-primary-nav>button.active{background:#fff!important;color:#406491!important;box-shadow:0 8px 19px rgba(46,24,117,.16)!important}
#teacherView .ap-teacher-sidebar .qa14-primary-nav>button.active:after{display:none}
#teacherView .ap-teacher-sidebar .ap-nav-symbol{display:block;flex:0 0 19px;width:19px;height:19px;color:currentColor}
#teacherView .ap-teacher-sidebar .teacher-more-menu{position:absolute;top:auto!important;left:21px;right:21px;bottom:90px;width:auto;max-width:230px;z-index:40;background:#fff;border:1px solid #dbe5f1;box-shadow:0 14px 35px rgba(48,27,97,.24)}
#teacherView .ap-teacher-sidebar .teacher-more-menu .ap-nav-symbol{width:17px;height:17px}
#teacherView .ap-teacher-sidebar .teacher-extra-tools{display:block;width:100%;color:#f3f7fc;border-top:1px solid rgba(255,255,255,.2);padding:12px 8px;margin-top:8px;font-size:11px}
#teacherView .ap-teacher-sidebar .teacher-extra-tools summary{font:600 11px Poppins,system-ui;color:#eaf1f9}
#teacherView .ap-teacher-sidebar .teacher-extra-tools button{color:#fff;background:transparent;border:0;border-radius:11px;width:100%;text-align:left;padding:10px;font-size:11px}
#teacherView .ap-teacher-sidebar .teacher-extra-tools button:hover{background:rgba(255,255,255,.14)}
#teacherView .teacher-command{margin:0 0 20px}
#teacherView .teacher-command-input{box-shadow:0 7px 22px rgba(38,28,82,.055);background:#fafbfc!important;border:1px solid #e6ebf2!important;border-radius:15px}
#teacherView .teacher-command-input input{font-family:Poppins,system-ui;font-size:13px}
#teacherView .teacher-home-head{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:221px;border:0;border-radius:22px;background:linear-gradient(115deg,#5b8ac3 0%,#6d9ad1 60%,#a0bfe4);padding:31px 41% 31px 35px;margin-bottom:20px;box-shadow:0 11px 29px rgba(108,75,175,.18)}
#teacherView #teacherHomeSection>.teacher-home-head h1{max-width:660px;margin:10px 0 12px;font:700 clamp(30px,3.0vw,47px)/1.12 Cambria,Georgia,serif;color:#fff;letter-spacing:-.025em;text-transform:none}
#teacherView #teacherHomeSection>.teacher-home-head .kicker{color:#e5edf7!important;font:700 10px Poppins,system-ui;letter-spacing:.12em}
#teacherView #teacherHomeSection>.teacher-home-head .muted{color:#eff4fa!important;font:400 13px/1.6 Poppins,system-ui;max-width:520px}
#teacherView .teacher-home-date{color:#eff4fa!important;font:500 11px Poppins,system-ui;margin-top:12px}
#teacherView .teacher-home-head .ap-hero-illustration{right:1%;width:35%;bottom:-50px}
#teacherView .teacher-home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:0 0 20px}
#teacherView .home-stat{background:#fff!important;border:1px solid #e6ecf3!important;border-radius:18px!important;padding:21px!important;box-shadow:0 8px 24px rgba(47,34,95,.055)!important}
#teacherView .home-stat strong{font:700 34px Cambria,Georgia,serif!important;color:#517aad!important;margin-top:10px}
#teacherView .home-stat span{color:#727c89;font:600 11px Poppins,system-ui}
#teacherView .home-stat.attention{background:#f9fbfd!important}
#teacherView .panel{border:1px solid #e8edf3;border-radius:18px;background:#fff;box-shadow:0 9px 26px rgba(42,32,90,.045);padding:22px}
#teacherView .teacher-day-center{border-left:1px solid #e1e8f1;background:linear-gradient(140deg,#fafbfd,#fff 72%)}
#teacherView .teacher-home-grid{gap:16px}
#teacherView .home-panel-head h3,#teacherView .panel>h3{font:700 24px Cambria,Georgia,serif;color:#2d315a}
#teacherView .eyebrow,#teacherView .kicker{font-family:Poppins,system-ui;font-weight:700;letter-spacing:.12em}
#teacherView .home-quick-grid button{background:#fbfcfe;border:1px solid #dfe7f1;border-radius:13px;padding:14px;text-align:left}
#teacherView .home-quick-grid button:hover{border-color:#a5c2e5;background:#f3f7fc}
#teacherView .home-quick-grid button strong{color:#38485b}
#teacherView .teacher-section>.head:not(.teacher-home-head){padding-top:16px;margin-bottom:21px}
#teacherView .teacher-section>.head h1{font:700 clamp(32px,3vw,45px)/1.14 Cambria,Georgia,serif;color:#273357}
#teacherView .teacher-section .btn.primary{background:#5c8ac2;color:#fff;border-color:#5c8ac2}
#teacherView .teacher-section .btn.primary:hover{background:#4b79b2}
#teacherView .teacher-section .panel .textbtn{color:#5a82b2}
#teacherView .teacher-section .field input,#teacherView .teacher-section .field select{border:1px solid #d0dae6;border-radius:10px}
/* login, connected visually with the same brand and illustration */
body.ap-login{background:#ebf1f8}
body.ap-login .login-shell{max-width:1800px;min-height:100dvh;margin:0 auto;display:grid;grid-template-columns:1fr 1.08fr}
body.ap-login .login-panel{order:1;background:#fafbfc;padding:clamp(22px,4vw,70px)}
body.ap-login .login-card{background:#fff;width:min(630px,100%);border-color:#e2e8ef;box-shadow:0 23px 55px rgba(56,39,106,.10);border-radius:24px}
body.ap-login .login-card button{background:#597daa}
body.ap-login .login-brand{order:2;background:linear-gradient(145deg,#5082bf 0%,#6d9ad2 58%,#8bb1df 100%);position:relative;overflow:hidden;padding:clamp(30px,4vw,70px);justify-content:flex-start}
body.ap-login .brand-copy{position:relative;z-index:2}
body.ap-login .brand-copy h1{font:700 clamp(40px,4.1vw,67px)/1.1 Cambria,Georgia,serif;margin:45px 0 19px;max-width:700px;color:#fff}
body.ap-login .brand-copy p{font:400 clamp(14px,1.3vw,18px)/1.6 Poppins,system-ui;color:#eff4fa}
body.ap-login .login-brand .ap-logo-plate{width:205px;max-width:48%;padding:5px;border-radius:14px}
body.ap-login .ap-login-illustration{position:absolute;bottom:-10%;right:-2%;height:auto;width:min(630px,91%);filter:drop-shadow(0 22px 25px rgba(42,21,94,.17))}
body.ap-login .login-brand:before{content:"";position:absolute;right:-90px;top:-130px;width:450px;height:450px;border-radius:44% 56% 37% 63%;background:rgba(255,255,255,.09);transform:rotate(30deg)}
body.ap-login .login-card .eyebrow{color:#5b82b1}
body.ap-login .login-card h2{font:700 clamp(34px,3vw,44px)/1.12 Cambria,Georgia,serif;color:#273258}
body.ap-login .login-card input:focus{outline:2px solid #98b8e0}
#loginView.login{background:#f7fafd;grid-template-columns:1fr 1.1fr;min-height:100dvh}
#loginView .login-right{order:1;background:#fafcfe}
#loginView .login-left{order:2;position:relative;background:linear-gradient(145deg,#5584bd,#719ed6 59%,#92b8e6);justify-content:flex-start;overflow:hidden}
#loginView .login-left .ap-logo-plate{width:210px;max-width:45%;padding:5px;border-radius:14px}
#loginView .login-left h1{font:700 clamp(40px,4vw,62px)/1.08 Cambria,Georgia,serif;text-transform:none;max-width:650px}
#loginView .login-left p{font:400 15px/1.65 Poppins,system-ui;color:#eff4fa}
#loginView .login-left .login-features{display:none}
#loginView .ap-login-illustration{position:absolute;bottom:-80px;right:0;width:min(600px,90%);height:auto}
#loginView .login-card{width:min(640px,100%);border:1px solid #e6ecf4;border-radius:24px;padding:clamp(27px,4vw,55px);box-shadow:0 20px 55px rgba(38,25,100,.10)}
#loginView .login-card h2{font:700 43px Cambria,Georgia,serif;color:#273258}
#loginView .login-card .btn.primary{background:#5b87bc;border-color:#5b87bc;border-radius:12px;min-height:54px}
/* scalable small screens / accessible navigation */
@media(max-width:1140px){
 #teacherView .teacher-home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 #teacherView .teacher-home-head .ap-hero-illustration{width:35%;right:-2%}
}
@media(max-width:960px){
 #studentApp.app,#teacherView.app{width:100%;margin:0;border-radius:0;min-height:100dvh}
 .ap-student-layout,#teacherView .ap-teacher-layout{grid-template-columns:1fr;min-height:100dvh}
 .ap-student-sidebar{display:contents}
 #studentApp .ap-sidebar-brand,#studentApp .ap-menu-caption,#studentApp .ap-side-foot{display:none}
 #studentApp .bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;width:100%;padding:8px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid #e0e6ee;border-radius:0;box-shadow:0 -9px 25px rgba(42,30,88,.1);background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10px}
 #studentApp .bottom-nav button{color:#647a94;justify-content:center;min-height:48px;gap:9px;padding:8px 12px}
 #studentApp .bottom-nav button.active{color:#5b86ba;background:#eef3fa;box-shadow:none}
 #studentApp .topbar{height:75px;padding:13px 21px}
 #studentApp .content{padding:20px 20px 95px}
 #teacherView .ap-teacher-sidebar{position:relative;display:block;padding:0 0 3px;background:#6590c5}
 #teacherView .ap-sidebar-brand,#teacherView .ap-menu-caption,#teacherView .ap-side-foot{display:none}
 #teacherView .ap-teacher-sidebar .teacher-nav.qa14-primary-nav{display:flex;flex-direction:row;gap:5px;padding:8px 12px;overflow-x:auto;overflow-y:visible;white-space:nowrap;scrollbar-width:thin}
 #teacherView .ap-teacher-sidebar .qa14-primary-nav>button{white-space:nowrap;width:auto;flex:0 0 auto;min-height:44px;padding:9px 12px!important}
 #teacherView .ap-teacher-sidebar .teacher-extra-tools{display:none}
 #teacherView .ap-teacher-sidebar .teacher-more-menu{position:fixed;top:115px!important;bottom:auto;left:auto;right:15px;max-width:255px;width:245px}
 #teacherView .top{height:74px;padding:14px 22px}
 #teacherView .teacher-shell{padding:18px 18px 58px}
 #teacherView .teacher-home-head{min-height:198px}
}
@media(max-width:640px){
 #studentApp .topbar .ap-header-page small,#teacherView .top .ap-header-page small{display:none}
 #studentApp .ap-student-global-search{min-width:0;width:160px;padding:0 10px;height:40px}
 #studentApp .ap-student-global-search input{font-size:11px}
 #studentApp .content{padding:14px 14px 97px}
 #page-lessons>.section-head{padding:25px 24px;min-height:224px;margin-bottom:18px}
 #page-lessons>.section-head h1{font-size:clamp(28px,8vw,37px);max-width:320px}
 #page-lessons>.section-head p{max-width:250px;font-size:12px}
 #page-lessons>.section-head .ap-hero-illustration{width:200px;right:-70px;bottom:-49px;opacity:.64}
 #page-lessons .lesson-card{padding:17px;grid-template-columns:1fr;gap:12px}
 #page-lessons .lesson-card button{justify-self:flex-start}
 #teacherView .teacher-home-head{min-height:236px;padding:22px 24px;margin:0 0 18px}
 #teacherView #teacherHomeSection>.teacher-home-head h1{font-size:clamp(29px,7.6vw,39px);max-width:320px}
 #teacherView .teacher-home-head .muted{max-width:245px}
 #teacherView .teacher-home-head .ap-hero-illustration{right:-88px;bottom:-58px;width:240px;opacity:.61}
 #teacherView .teacher-home-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 #teacherView .home-stat{padding:15px!important}
 #teacherView .home-stat strong{font-size:29px!important}
 #teacherView .top .pill{display:none}
 #teacherView .teacher-shell{padding:15px 13px 48px}
 body.ap-login .login-shell,#loginView.login{grid-template-columns:1fr}
 body.ap-login .login-brand,#loginView .login-left{display:none}
 body.ap-login .login-panel{padding:18px}
 body.ap-login .login-card{padding:28px}
 #loginView .login-right{min-height:100dvh;padding:20px}
 #loginView .login-card{padding:30px}
}
@media(prefers-reduced-motion:reduce){#teacherView *,#studentApp *{transition:none!important;animation-duration:.01ms!important}}

#teacherView .ap-teacher-sidebar .teacher-nav.qa14-primary-nav{position:relative}
#teacherView .ap-teacher-sidebar .teacher-more-menu{top:calc(100% - 22px)!important;bottom:auto!important;left:12px!important;right:12px!important;width:auto!important;max-width:none!important}
#teacherView .ap-teacher-sidebar .qa14-primary-nav>button.qa14-more-active{background:#fff!important;color:#406491!important}
@media(max-width:960px){#teacherView .ap-teacher-sidebar .teacher-more-menu{position:fixed!important;top:126px!important;bottom:auto!important;left:auto!important;right:12px!important;width:245px!important}}
#page-lessons .lesson-card{grid-template-columns:42px minmax(0,1fr) auto}
#page-lessons .lesson-card>div{min-width:0}
#page-lessons .lesson-card .lesson-card-icon{background:#edf3fa;color:#5b84b7}
@media(max-width:640px){#page-lessons .lesson-card{grid-template-columns:35px minmax(0,1fr)}#page-lessons .lesson-card>button{grid-column:2}}


/* 2026-10-19 | Academic Path official BLUE identity refinement
   Navigation architecture from reference; colors, scale and identity from Academic Path.
   Font hierarchy: Poppins UI; Cambria titles; handwriting only in official logo SVG. */
:root{
 --ap-navy:#374866;--ap-ink:#374866;--ap-lilac:#315a86;--ap-purple:#426d9c;
 --ap-periwinkle:#88b3ff;--ap-surface:#fdfdf5;--ap-soft:#e7f0fb;
 --ap-outline:#dbe6f2;--ap-shadow:0 13px 32px rgba(25,57,95,.09);
 --ap-brand-navy:#374866;--ap-brand-blue:#88b3ff;--ap-brand-paper:#fdfdf5;
}
html,body{color:#374866}
body:has(#studentApp),body:has(#teacherView:not(.hidden)){
 background:radial-gradient(circle at 10% 0%,#deebfc,#edf4fc 40%,#fdfdf5 92%);
}
#studentApp.app,#teacherView.app{box-shadow:0 15px 58px rgba(31,61,96,.13)}
/* Brand is a deliberate first-class part of the navigation grid. */
.ap-student-layout,#teacherView .ap-teacher-layout{grid-template-columns:282px minmax(0,1fr)}
.ap-student-sidebar,#teacherView .ap-teacher-sidebar{
 background:linear-gradient(165deg,#234365 0%,#315b82 54%,#426b91 100%);
}
.ap-sidebar-brand{
 padding:24px 18px 27px;
 display:flex;flex-direction:column;align-items:stretch;gap:14px;
}
.ap-sidebar-brand img{
 display:block;width:100%;max-width:246px;height:auto;
 aspect-ratio:282.13 / 123.28;object-fit:contain;
 background:#88b3ff;border-radius:17px;padding:11px 13px;
 box-sizing:border-box;border:1px solid rgba(255,255,255,.28);
 box-shadow:0 11px 24px rgba(8,30,62,.17);
}
.ap-sidebar-brand span{font:700 10px/1.4 Poppins,system-ui,sans-serif;
 letter-spacing:.155em;text-align:left;color:#d9eafd;padding-left:3px}
.ap-menu-caption{color:#cfe3fa;padding-left:22px;letter-spacing:.125em}
.ap-side-foot{color:#e9f3ff;border-color:rgba(255,255,255,.17)}
.ap-side-foot-mark{background:rgba(136,179,255,.22);border-color:rgba(220,236,255,.32)}
#studentApp .bottom-nav button{color:#f0f6ff}
#studentApp .bottom-nav button.active{color:#264a70;background:#fdfdf5;box-shadow:0 7px 22px rgba(10,35,67,.18)}
#teacherView .ap-teacher-sidebar .qa14-primary-nav>button.active,
#teacherView .ap-teacher-sidebar .qa14-primary-nav>button.qa14-more-active{
 background:#fdfdf5!important;color:#264a70!important;
 box-shadow:0 7px 22px rgba(10,35,67,.18)!important;
}
#teacherView .ap-teacher-sidebar .teacher-extra-tools summary{color:#e8f3ff}
#teacherView .ap-teacher-sidebar .teacher-extra-tools button{color:#eff6ff}
/* Integrated hero: dark-blue foundation, light blue image, proper spacing. */
#page-lessons>.section-head,
#teacherView .teacher-home-head{
 background:linear-gradient(118deg,#274d75 0%,#355f89 58%,#567fac 100%);
 box-shadow:0 12px 30px rgba(39,77,117,.18);
}
#page-lessons>.section-head>span,#teacherView #teacherHomeSection>.teacher-home-head .kicker{
 color:#d9e9ff!important;
}
#page-lessons>.section-head p,
#teacherView #teacherHomeSection>.teacher-home-head .muted,
#teacherView .teacher-home-date{color:#f0f6ff!important}
.ap-hero-illustration{filter:drop-shadow(0 15px 18px rgba(22,54,92,.15))}
#page-lessons>.section-head{padding-right:42%;}
#teacherView .teacher-home-head{padding-right:42%}
/* Functional accents use accessible blue, never violet. */
#studentApp .topbar,#teacherView .top{border-bottom:1px solid #e6edf5;background:#fff}
#studentApp .topbar .avatar{background:#e6f0ff;color:#284e75;border-color:#cbdffb}
.ap-student-global-search{background:#f4f8fd;border-color:#e2ebf6;color:#64809e}
.ap-student-global-search:focus-within{outline-color:#88b3ff}
#page-lessons .lesson-toolbar{border-color:#e2ebf5}
#page-lessons .lesson-toolbar input{border-color:#d3e2f3;background:#f8fbff}
#page-lessons .lesson-card{border-color:#e0eaf5}
#page-lessons .lesson-card h3{color:#304868}
#page-lessons .lesson-card .lesson-number{color:#315f90}
#page-lessons .lesson-card button{color:#254e79;background:#e3efff}
#page-lessons .lesson-card button:hover{background:#d5e5fc}
#page-lessons .lesson-card .lesson-card-icon{color:#325d88;background:#eaf3fe}
#studentApp .lesson-empty{background:#f6faff;border-color:#cfe0f3}
#page-practice>.section-head{border-color:#e2ebf5}
#teacherView .top .pill{background:#e8f2ff!important;color:#28547d!important;border-color:#d4e4f6!important}
#teacherView .top .linkbtn{border-color:#d7e4f2;color:#345c80}
#teacherView .teacher-command-input{background:#f8fbff!important;border-color:#dfe9f5!important}
#teacherView .teacher-home-stats .home-stat{border-color:#dfe8f3!important}
#teacherView .teacher-home-stats .home-stat strong{color:#305b87!important}
#teacherView .home-stat.attention{background:#f4f8ff!important}
#teacherView .panel{border-color:#e2eaf4}
#teacherView .teacher-day-center{border-color:#dfebf7;background:linear-gradient(140deg,#f5faff,#fff 72%)}
#teacherView .home-quick-grid button{background:#f8fbff;border-color:#dce9f6}
#teacherView .home-quick-grid button:hover{border-color:#88b3ff;background:#edf5ff}
#teacherView .home-quick-grid button strong{color:#374866}
#teacherView .teacher-section .btn.primary{background:#375c83;border-color:#375c83}
#teacherView .teacher-section .btn.primary:hover{background:#2a4768}
#teacherView .teacher-section .panel .textbtn{color:#315e87}
#teacherView .teacher-section .field input,#teacherView .teacher-section .field select{border-color:#d2e0ed}
#teacherView .ap-teacher-sidebar .teacher-more-menu{border-color:#d6e6f5}
/* Full-height two-column login. The existing logo artwork remains untouched. */
body.ap-login{background:#edf4fc}
body.ap-login .login-panel,#loginView .login-right{background:#f7faff}
body.ap-login .login-card,#loginView .login-card{
 border-color:#dce8f4;box-shadow:0 20px 53px rgba(34,65,100,.10);
}
body.ap-login .login-brand,#loginView .login-left{
 background:linear-gradient(150deg,#24476d 0%,#315d89 59%,#527faf 100%);
}
body.ap-login .login-brand{padding:clamp(36px,5vw,76px)}
body.ap-login .brand-copy{width:100%;max-width:690px}
body.ap-login .login-brand .ap-logo-plate,
#loginView .login-left .ap-logo-plate{
 width:clamp(260px,25vw,326px);max-width:75%;
 display:flex;align-items:center;justify-content:center;
 padding:13px 17px;border-radius:19px;background:#88b3ff;
 box-shadow:0 13px 30px rgba(9,39,76,.17);
}
body.ap-login .brand-copy h1{margin:30px 0 17px;max-width:670px;
 font-size:clamp(40px,4.25vw,64px)}
body.ap-login .brand-copy p,#loginView .login-left p{color:#e9f4ff}
body.ap-login .ap-login-illustration{width:min(570px,84%);bottom:-8%;right:0}
body.ap-login .login-card .eyebrow{color:#365f89}
body.ap-login .login-card h2,#loginView .login-card h2{color:#374866}
body.ap-login .login-card button,#loginView .login-card .btn.primary{
 background:#374866;border-color:#374866;color:#fff;
}
body.ap-login .login-card button:hover,#loginView .login-card .btn.primary:hover{background:#27405e}
body.ap-login .login-card input:focus{outline-color:#88b3ff}
#loginView .login-left .ap-logo-plate{margin-bottom:34px}
#loginView .login-left h1{margin-top:18px}
#loginView .ap-login-illustration{width:min(555px,82%);bottom:-65px}
/* Mobile branding remains visible once sidebar is transformed to bottom navigation. */
.ap-mobile-brand-logo{display:none}
@media(max-width:960px){
 .ap-student-layout,#teacherView .ap-teacher-layout{grid-template-columns:1fr}
 #teacherView .ap-teacher-sidebar{background:#315980}
 #studentApp .bottom-nav{border-color:#dde8f5;background:#fff}
 #studentApp .bottom-nav button{color:#416483}
 #studentApp .bottom-nav button.active{color:#274c74;background:#e7f1ff;box-shadow:none}
 .ap-mobile-brand-logo{display:block;flex:0 0 auto;width:128px;height:auto;object-fit:contain;
  background:#88b3ff;padding:5px 7px;border-radius:9px}
 #studentApp .topbar .ap-header-page{display:none}
 #teacherView .top .ap-header-page{display:none}
 #studentApp .topbar{gap:12px}
 #studentApp .ap-student-global-search{margin-left:auto}
 #teacherView .top .ap-mobile-brand-logo{width:139px}
}
@media(max-width:640px){
 body.ap-login .mobile-brand.ap-logo-plate{width:min(250px,100%);margin-bottom:25px;padding:11px;background:#88b3ff}
 body.ap-login .mobile-brand .ap-logo{width:100%;height:auto}
 #loginView .login-card{border-radius:20px}
 #studentApp .topbar{gap:9px;padding:12px 14px}
 #studentApp .ap-student-global-search{width:124px;min-width:0;max-width:none}
 #studentApp .topbar .avatar{width:39px;height:39px;flex-basis:39px;font-size:11px}
 #studentApp .ap-mobile-brand-logo{width:124px}
 #teacherView .top{padding:12px 15px}
 #page-lessons>.section-head{padding-right:22px}
 #page-lessons>.section-head .ap-hero-illustration{opacity:.50}
 #teacherView .teacher-home-head{padding-right:24px}
 #teacherView .teacher-home-head .ap-hero-illustration{opacity:.46}
}

/* Correct the inherited teacher navigation offset for small viewports. */
@media(max-width:960px){
 #teacherView .ap-teacher-sidebar .teacher-nav.qa14-primary-nav{
  top:0!important;left:0!important;right:auto!important;
  margin:0!important;width:100%!important;
  position:relative!important;transform:none!important;
  background:transparent!important;
 }
 #teacherView .ap-teacher-sidebar{min-height:62px}
 #teacherView .top .brand{display:none}
 #teacherView .top .ap-mobile-brand-logo{display:block;width:144px;height:auto;max-height:65px}
}
@media(max-width:640px){
 #studentApp .ap-student-global-search{display:none}
 #studentApp .topbar .ap-mobile-brand-logo{width:146px}
 #teacherView .top{height:78px;justify-content:space-between}
}


/* 2026-10-19 | User-provided path logo + space optimization */
:root{--ap-sidebar-width:248px;--ap-card-radius:20px}
#studentApp.app,#teacherView.app{width:min(1700px,calc(100% - 24px));min-height:calc(100dvh - 24px);margin:12px auto;border-radius:22px}
.ap-student-layout,#teacherView .ap-teacher-layout{grid-template-columns:var(--ap-sidebar-width) minmax(0,1fr)}
.ap-student-sidebar,#teacherView .ap-teacher-sidebar{padding-bottom:18px}
.ap-sidebar-brand{padding:20px 18px 20px;gap:8px}
.ap-sidebar-brand img{width:188px;max-width:100%;background:none;padding:0;border:none;box-shadow:none;border-radius:0;filter:drop-shadow(0 10px 20px rgba(10,31,58,.12))}
.ap-sidebar-brand span{font-size:10px;letter-spacing:.12em;color:#d4e6ff}
.ap-menu-caption{margin-bottom:10px;padding-left:22px}
.ap-side-foot{margin:10px 18px 0;padding:12px 0 0;font-size:10.5px}
.ap-side-foot-mark{width:30px;height:30px;flex-basis:30px;border-radius:999px;background:rgba(136,179,255,.16)}
#studentApp .topbar,#teacherView .top{min-height:72px;height:auto;padding:14px 22px;gap:16px}
#studentApp .topbar .wordmark,#teacherView .top .brand{display:flex;align-items:center;gap:16px;min-width:0}
#studentApp .topbar .ap-top-wordmark,#teacherView .top .ap-top-wordmark{width:156px}
#studentApp .topbar .ap-header-page strong,#teacherView .top .ap-header-page strong{font-size:14px!important}
#studentApp .topbar .ap-header-page small,#teacherView .top .ap-header-page small{font-size:11px!important}
#studentApp .content,#teacherView .teacher-shell{padding:20px 22px 28px}
#page-lessons>.section-head,#teacherView .teacher-home-head{border-radius:20px;min-height:220px;padding:24px 26px;padding-right:36%;margin-bottom:20px}
#page-lessons>.section-head h1,#teacherView #teacherHomeSection>.teacher-home-head h1{font-size:clamp(34px,3.3vw,48px);max-width:600px}
#page-lessons>.section-head p,#teacherView .teacher-home-head .muted{font-size:14px;line-height:1.55;max-width:560px}
.ap-hero-illustration{width:min(33%,350px);right:2.5%;bottom:-16px}
#page-lessons .lesson-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#page-lessons .lesson-card{padding:16px 16px;border-radius:18px;min-height:122px}
#page-lessons .lesson-card h3{font-size:19px}
#teacherView .teacher-home-stats{gap:12px}
#teacherView .home-stat{padding:18px!important;border-radius:18px}
#teacherView .panel{border-radius:18px}
#teacherView .home-quick-grid{gap:10px}
#teacherView .home-quick-grid button{padding:14px;border-radius:16px;min-height:94px}
#teacherView .teacher-command{margin-bottom:16px}
body.ap-login .login-brand,#loginView .login-left{background:linear-gradient(150deg,#233f60 0%,#2c537c 54%,#3b6792 100%)}
body.ap-login .login-brand .ap-logo-plate,#loginView .login-left .ap-logo-plate{width:auto;max-width:72%;padding:0;background:transparent;box-shadow:none}
body.ap-login .login-brand .ap-logo,#loginView .login-left .ap-logo{width:min(350px,100%)}
body.ap-login .mobile-brand.ap-logo-plate{background:#314a6d;border-radius:14px;padding:10px 14px;display:inline-flex}
body.ap-login .mobile-brand .ap-logo{width:180px}
#loginView .login-left .brand.ap-logo-plate{margin-bottom:18px}
#loginView .login-left .brand.ap-logo-plate .ap-logo{width:min(330px,100%)}
#loginView .login-card .kicker,#loginView .login-card .muted,body.ap-login .eyebrow{font-family:Poppins,system-ui,sans-serif}
.ap-mobile-brand-logo{display:none}
@media(max-width:1180px){#page-lessons>.section-head,#teacherView .teacher-home-head{padding-right:34%}.ap-hero-illustration{width:min(34%,300px)}}
@media(max-width:960px){.ap-student-layout,#teacherView .ap-teacher-layout{grid-template-columns:1fr}#studentApp .content,#teacherView .teacher-shell{padding:18px 18px 24px}#studentApp .topbar,#teacherView .top{padding:14px 16px}.ap-mobile-brand-logo{display:block;flex:0 0 auto;width:142px;height:auto;object-fit:contain;background:none;padding:0;border-radius:0}#studentApp .topbar .ap-header-page,#teacherView .top .ap-header-page{display:none}.ap-sidebar-brand img{width:170px}.ap-side-foot{display:none}}
@media(max-width:760px){#page-lessons .lesson-list{grid-template-columns:1fr}#studentApp .topbar .ap-top-wordmark,#teacherView .top .ap-top-wordmark{width:145px}}
@media(max-width:640px){body.ap-login .mobile-brand.ap-logo-plate{width:auto;max-width:100%;margin-bottom:22px;padding:8px 12px}#studentApp .topbar,#teacherView .top{min-height:68px;padding:12px 14px}#studentApp .ap-mobile-brand-logo,#teacherView .top .ap-mobile-brand-logo{width:132px}#page-lessons>.section-head,#teacherView .teacher-home-head{padding:22px 22px 116px;min-height:unset}#page-lessons>.section-head p,#teacherView .teacher-home-head .muted{max-width:none}#page-lessons>.section-head .ap-hero-illustration,#teacherView .teacher-home-head .ap-hero-illustration{width:190px;right:-28px;bottom:-42px;opacity:.52}}
