.app-shell {display:grid;grid-template-columns:222px minmax(0,1fr);min-height:100vh}
.sidebar {background:var(--sidebar);border-right:1px solid var(--line);padding:25px 14px;display:flex;flex-direction:column;gap:30px;position:sticky;top:0;height:100vh;overflow-y:auto}
.sidebar>.brand {padding:0 8px}
.sidebar-bottom {margin-top:auto;padding:20px 4px 0}
.workspace {min-width:0}
.topbar {display:flex;align-items:center;gap:18px;padding:20px 26px;border-bottom:1px solid var(--line);background:var(--bg)}
.greeting {margin-right:auto;min-width:0}
.mobile-menu {display:none}
#main {padding:24px 26px;min-height:calc(100vh - 145px)}
.dashboard-grid {display:grid;grid-template-columns:minmax(0,1fr) 284px;gap:22px;max-width:1500px;margin:auto}
.main-column {min-width:0}
.right-column {display:flex;flex-direction:column;gap:16px;min-width:0}
footer {font-size:10px;color:var(--muted);padding:5px 28px 20px;display:flex;justify-content:space-between}
footer span {margin-right:70px}
.lesson-detail-grid {display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}
.lesson-side {align-self:start;position:sticky;top:20px}
@media(min-width:1700px) {.app-shell{grid-template-columns:250px minmax(0,1fr)}.dashboard-grid{grid-template-columns:minmax(0,1fr) 310px}.topbar{padding:22px 35px}#main{padding:30px 35px}.hero-banner{min-height:210px}.lesson-row{min-height:88px}}
@media(max-width:1300px) {
  .app-shell{grid-template-columns:195px minmax(0,1fr)}
  .sidebar{padding:22px 10px}.sidebar .brand{font-size:20px;gap:8px}.sidebar .brand small{font-size:8px}
  .dashboard-grid{grid-template-columns:minmax(0,1fr) 245px;gap:16px}
  #main{padding:20px}.topbar{padding:18px 20px;gap:12px}.search{width:195px}
  .hero-strip{grid-template-columns:repeat(3,1fr)}.hero-banner{grid-column:1/-1;min-height:170px}
  .stat-card{padding:12px;display:grid;grid-template-columns:36px 1fr;gap:3px}.stat-card>span{grid-row:1/3;width:32px;height:32px;font-size:21px;margin:0}.stat-card strong{font-size:22px}.stat-card small{font-size:8px;margin:0}
  .lesson-row{gap:10px}.lesson-progress{width:38px}.lesson-progress progress{display:none}.lesson-duration{font-size:10px}
  .nav-link{font-size:12px;padding:10px;gap:10px}.account>span:nth-child(2){display:none}
}
@media(max-width:1020px) {
  .app-shell{grid-template-columns:180px minmax(0,1fr)}.search{display:none}.greeting h1{font-size:20px}
  .dashboard-grid{grid-template-columns:minmax(0,1fr)}.right-column{display:grid;grid-template-columns:1fr 1fr;align-items:start}.encouragement{align-self:stretch}
  .hero-strip{grid-template-columns:2.5fr repeat(3,1fr)}.hero-banner{grid-column:auto;min-height:165px;padding:18px}.hero-banner h2{font-size:19px}.hero-banner em{font-size:14px}
  .stat-card{display:flex;padding:12px 6px}.stat-card>span{margin-bottom:8px}.stat-card small{font-size:9px;margin-top:6px}
  .lesson-progress{width:94px}.lesson-progress progress{display:block}
  .lesson-detail-grid{grid-template-columns:minmax(0,1fr)}.lesson-side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .parent-filter{flex-wrap:wrap}.parent-stats strong{font-size:21px}
  .login-layout{gap:35px}.login-intro h1{font-size:52px}
}
@media(max-width:760px) {
  .app-shell{display:block}.sidebar{display:none;position:fixed;left:0;top:74px;bottom:0;width:245px;height:calc(100vh - 74px);z-index:30;box-shadow:20px 0 60px #0007}.sidebar.open{display:flex}
  .mobile-menu{display:block}.topbar{padding:15px 12px;gap:7px;min-height:74px}.greeting h1{font-size:17px}.greeting p{display:none}
  .account{display:none}.theme-toggle{font-size:22px}.icon-button{padding:5px 7px}
  #main{padding:18px 14px}.hero-strip{grid-template-columns:repeat(3,1fr);gap:9px}.hero-banner{grid-column:1/-1;min-height:180px;padding:24px}.hero-banner h2{font-size:26px}.hero-banner em{font-size:18px}
  .stat-card{padding:16px 8px}.stat-card small{font-size:10px}
  .section-heading h2{font-size:21px}.section-heading{gap:10px;flex-wrap:wrap}.section-heading p{font-size:11px}.date-picker input{max-width:135px}
  .lesson-row{padding:12px;gap:12px;flex-wrap:wrap}.subject-icon{width:42px;height:42px;font-size:23px}.lesson-copy{min-width:120px}.lesson-copy strong{font-size:13px}.lesson-copy>span{font-size:11px}
  .lesson-duration{display:none}.lesson-progress{width:32px}.lesson-progress progress{display:none}.row-arrow{font-size:19px}
  .training-banner{gap:10px}.training-banner .button{font-size:0;padding:6px}.training-banner .button:after{content:"↗";font-size:20px}
  .focus-grid{grid-template-columns:1fr}.right-column{grid-template-columns:1fr 1fr;gap:12px}.right-column .panel{padding:14px}
  .progress-panel{grid-column:1/-1}.subject-progress{grid-template-columns:1fr 1fr 30px}.subject-progress>span{font-size:12px}
  .calendar-panel,.upcoming,.encouragement{grid-column:1/-1}.calendar-day{width:34px;height:34px}.calendar-grid{gap:7px}
  .form-grid{grid-template-columns:1fr}.panel{padding:18px}.achievement-grid{gap:12px}.achievement{padding:22px 12px}.achievement h3{font-size:16px}
  .task-summary{flex-direction:column;gap:4px}.lesson-side{display:block}.lesson-side .panel{margin-bottom:16px}
  .parent-stats{grid-template-columns:1fr}.parent-lesson{flex-wrap:wrap;gap:10px}.parent-lesson progress{max-width:90px}
  .parent-filter{align-items:end}.parent-filter label{flex:1}.parent-filter button{width:100%}
  .ai-dialog{width:calc(100vw - 20px);height:90dvh;max-height:90dvh;border-radius:16px}
  .dialog-top{padding:16px}.chat{padding:16px}.quick-prompts{padding:8px 16px;gap:6px}.chip{padding:7px 10px;font-size:10px}.ai-form{padding:10px 16px 4px}.ai-disclaimer{padding:7px 16px 12px;font-size:9px}
  .bubble{max-width:95%;font-size:13px;padding:13px}.ai-launcher{right:17px;bottom:17px;width:52px;height:52px}
  .login-page{padding:20px}.login-layout{display:block;max-width:420px}.login-intro .brand{margin-bottom:28px}.login-intro>.eyebrow,.login-intro>h1,.login-intro>p,.login-court{display:none}.login-card{padding:27px}
  footer{padding:10px 16px 80px}footer span{margin:0;font-size:9px}
}
