.learner-shell{max-width:1080px;margin:0 auto;padding:0 28px;min-height:100dvh}.learner-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:25px 0}.learner-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.learner-login{max-width:440px;margin:24px auto 60px;text-align:left;padding:32px}.learner-login h1{font-size:28px}.learner-login .brand-mascot{margin:0 auto 12px}.learner-login .helper{text-align:center;line-height:1.8}.learner-target{padding:12px 16px;border-radius:12px;background:#fff1e1}.learner-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0}.learner-welcome h1{font-size:34px;margin:12px 0}.learner-welcome .brand-mascot{margin:0;width:132px;flex:none}.learner-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 24px}.learner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.learner-task{padding:24px;display:flex;flex-direction:column;gap:12px;min-width:0}.learner-task h2{font-size:20px;line-height:1.5;overflow-wrap:anywhere;margin:0}.learner-task .button{margin-top:auto}.learner-task .card-top{gap:12px;flex-wrap:wrap}.learner-task p{margin:0 0 10px}.learner-empty{padding:40px 24px;grid-column:1/-1;text-align:center}.learner-empty h2{font-size:21px}.learner-settings{max-width:500px;margin:24px auto;padding:30px}.learner-refresh{margin-top:20px}.learner-home-link{font-size:14px;font-weight:700;white-space:nowrap}.accounts-shell{max-width:1180px;padding:24px;margin:auto}.accounts-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:20px 0}.accounts-import{padding:24px;margin-bottom:24px}.accounts-import form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.accounts-import label{flex:1;min-width:200px}.accounts-import input[type=file]{padding:12px}.accounts-table-wrap{overflow-x:auto}.accounts-table{width:100%;border-collapse:collapse;min-width:720px}.accounts-table td,.accounts-table th{text-align:left;padding:14px 12px;border-bottom:1px solid #eddfd2;vertical-align:top}.accounts-table select{max-width:280px;min-width:200px}.accounts-table small{display:block;line-height:1.8}.accounts-search{max-width:380px}.accounts-panel{padding:24px;margin-top:20px}.accounts-actions{display:flex;gap:8px;flex-wrap:wrap}.accounts-dialog{width:min(480px,calc(100% - 32px));border:1px solid #ecdac9;border-radius:22px;padding:26px;background:#fffaf5;color:#3d2b1f;max-height:90dvh;overflow:auto}.accounts-dialog::backdrop{background:#3d2b1f55}.accounts-notice{padding:14px 0;white-space:pre-line}.accounts-error{color:#a13726}.accounts-success{color:#2c7048}.student-header:has(.learner-home-link){display:flex;align-items:center;justify-content:space-between;gap:14px}
@media(max-width:600px){.learner-shell{padding:0 18px}.learner-header{padding:18px 0;align-items:flex-start}.learner-header .brand-icon{width:30px;height:30px}.learner-header .brand-wordmark{width:94px;height:auto}.learner-header .brand-name small{font-size:9px}.learner-tools{gap:3px;max-width:155px}.learner-tools>span{width:100%;text-align:right;font-size:14px}.learner-tools .button{padding:7px}.learner-login{padding:25px 20px;margin:14px auto 36px}.learner-login h1{font-size:25px}.learner-welcome{gap:8px;padding:16px 0}.learner-welcome h1{font-size:26px}.learner-welcome .brand-mascot{width:92px}.learner-grid{grid-template-columns:1fr;gap:16px}.learner-task{padding:21px}.learner-tabs{gap:5px}.learner-tabs .button{padding:10px 13px}.learner-settings{padding:22px}.accounts-shell{padding:16px}.accounts-import,.accounts-panel{padding:18px}.accounts-heading h1{font-size:26px}}
@media(max-width:420px){.sidebar nav{flex-wrap:wrap}.sidebar nav .nav-item{flex:1 1 calc(50% - 6px)}}
/* The public entrance follows the viewport; rotating never remounts the login form. */
.learner-login-intro,.learner-login-fields{min-width:0}.learner-login-intro .muted{line-height:1.8}.learner-target{overflow-wrap:anywhere}
@media(orientation:landscape) and (min-width:540px){
  .learner-login{max-width:960px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;padding:40px 44px;margin:clamp(20px,7vh,76px) auto 48px}
  .learner-login-intro{text-align:center}.learner-login-intro .brand-mascot{width:204px;height:224px;margin:0 auto 18px}.learner-login-intro h1{font-size:30px;margin-top:8px}.learner-login-fields form{margin-top:0}.learner-login-fields>.helper{margin-top:20px}
}
@media(orientation:landscape) and (min-width:540px) and (max-height:500px){
  .learner-shell{padding:0 20px}.learner-header{padding:10px 0}.learner-login{gap:24px;padding:20px 24px;margin:4px auto 12px}.learner-login-intro .brand-mascot{width:104px;height:114px;margin-bottom:8px}.learner-login-intro .eyebrow{font-size:9px}.learner-login-intro h1{font-size:24px;margin-top:4px}.learner-login-intro .muted{font-size:12px;margin:6px 0}.learner-login-fields label{font-size:12px;margin-bottom:8px}.learner-login-fields input{padding:8px 11px;margin-top:5px}.learner-login-fields [type=submit]{min-height:42px;padding:10px 14px}.learner-login-fields>.helper{font-size:11px;margin-top:12px}.learner-shell>.public-footer{padding:12px 0}.learner-target{padding:8px 10px;font-size:12px}
}
.onsite-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;margin:0 0 16px;background:#fff0dc;border:1px solid #e4ae67;border-radius:16px;color:#653b14}
.onsite-banner strong,.onsite-banner small{display:block;overflow-wrap:anywhere}
.onsite-banner small{margin-top:4px;font-size:12px}
.onsite-banner button{flex-shrink:0}
@media(max-width:480px){.onsite-banner{padding:12px;gap:8px;flex-wrap:wrap}.onsite-banner strong{font-size:14px}}
