/* Learning in Time: MathsWatch-inspired working surfaces. */
:root{--portal-navy:#153D70;--portal-bg:#F5F7FA;--portal-surface:#FFF;--portal-ink:#20314B;--portal-muted:#53647A;--portal-border:#DCE4ED;--portal-teal:#235B98;--portal-gold:#B4D9FF}
@media screen{
body.auth-body,body.portal-body,body:has(.workspace){background:var(--portal-bg);color:var(--portal-ink);font-family:Arial,sans-serif;font-size:1rem;line-height:1.5}
.auth-body .assign-wrap,.auth-body .textbook-wrap{color:var(--portal-ink)!important;font-family:Arial,sans-serif;box-sizing:border-box}
.auth-body .assign-wrap{max-width:1120px;padding-top:24px}
.auth-body h1,.auth-body h2,.auth-body h3,.portal-body h1,.portal-body h2{font-family:Arial,sans-serif;color:var(--portal-ink);line-height:1.3;letter-spacing:normal}
.auth-body h1{font-size:2rem;margin:24px 0 12px}.auth-body h2{font-size:1.3rem}
.auth-body :is(.page-intro,.ocr-resource-note,.ocr-session-progress,.generator-note,.draft-status,.empty,.lesson-availability,.ocr-question-meta,.ocr-access-note){color:var(--portal-muted)}
.auth-top{padding:8px 0;margin-bottom:24px;background:transparent;border:0;border-radius:0;gap:20px;box-sizing:border-box;box-shadow:none}
.auth-logo{flex:none;padding:0;background:none}.auth-logo img{display:block;width:160px;height:auto;max-width:100%}
.auth-body .auth-kicker,.portal-body .eyebrow{color:var(--portal-teal)}
.auth-body :is(a:not([class]),.auth-back,.student-dashboard-back){color:var(--portal-navy)}
.auth-body :is(.auth-card,.assign-card,.student-dashboard-card,.assignment-list-card,.student-unit,.class-student,.password-reset-panel,.settings,.topic-panel,.preview-panel,.practice-question,.unit-assignment-panel,.ocr-question-card,.ocr-access-row,.ocr-locked-card,.section-empty){background:#fff;color:var(--portal-ink);border-color:var(--portal-border);border-radius:6px;box-shadow:none}
.auth-body :is(.auth-card,.assign-card,.class-student,.ocr-question-card) a:not(.auth-button):not(.primary-action){color:var(--portal-navy)}
.auth-body :is(.auth-button,.primary-action,.check-answer),.auth-body .auth-form button,.portal-body :is(.button,.primary-action){display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;padding:11px 18px;border:1px solid var(--portal-navy);border-radius:6px;background:var(--portal-navy);color:#fff;font:700 1rem Arial,sans-serif;text-decoration:none;cursor:pointer}
.auth-body :is(.auth-button,.primary-action,.check-answer):hover,.auth-body .auth-form button:hover,.portal-body .button:hover{background:#235B98;color:#fff;border-color:#235B98}
.auth-body .outline-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;padding:10px 16px;border:1px solid #7890AC;border-radius:6px;background:#fff;color:var(--portal-navy);font:700 1rem Arial,sans-serif;text-decoration:none;cursor:pointer}
.auth-body .outline-action:hover{background:#EAF2FF;color:var(--portal-navy)}
.auth-body :is(input,select,textarea){color:var(--portal-ink);background:#fff;border-color:#8999AC;accent-color:var(--portal-teal);font:inherit;box-sizing:border-box;max-width:100%}
.auth-body input::placeholder,.auth-body textarea::placeholder{color:#596B80;opacity:1}
.auth-body :is(.auth-button,.primary-action,.outline-action,.check-answer):disabled,.auth-body .auth-form button:disabled,.portal-body .button:disabled{opacity:1;background:#E6EBF1;color:#53647A;border-color:#BAC6D4;cursor:not-allowed}
.auth-body :focus-visible,.portal-body :focus-visible{outline:3px solid #235B98;outline-offset:3px}
/* Separate, always-visible section buttons on the light page background. */
.auth-body .portal-section-nav,.auth-body .student-section-links{display:flex;flex-wrap:wrap;gap:10px;background:transparent;border:0;border-radius:0;padding:0;margin:20px 0 28px}
.auth-body .portal-section-nav a,.auth-body .student-section-links a{display:block;flex:0 1 auto;min-width:0;min-height:46px;padding:11px 18px;background:#fff;color:#153D70;border:1px solid #9CB0C8;border-radius:6px;box-shadow:none;text-decoration:none;font-size:1rem;font-weight:700}
.auth-body .portal-section-nav a:hover,.auth-body .student-section-links a:hover{background:#EAF2FF;color:#153D70;border-color:#235B98}
.auth-body .portal-section-nav a[aria-current=page]{background:#153D70;color:#fff;border-color:#153D70}
.auth-body .student-section-links a:has([data-work-badge]:not([hidden])){background:#EAF2FF;color:#153D70;border-color:#235B98;box-shadow:none}
.auth-body .student-section-links span[data-work-summary]{color:#53647A;font-size:.875rem;font-weight:400}
.auth-body .student-section-links span[data-work-badge]{color:#153D70;font-size:.875rem}
.auth-body .student-section-links [hidden],.student-dashboard-card[hidden]{display:none!important}
.auth-body .student-section-links .portal-tab-icon{display:inline-flex;width:auto;height:auto;margin:0 8px 0 0;font-size:1.2rem;vertical-align:middle}.auth-body .portal-section-nav .portal-nav-icon{display:inline-block;margin-right:8px;font-size:1.2rem;vertical-align:middle}
/* Staff tools use compact, aligned rows rather than oversized tiles. */
.student-dashboard-grid.staff-dashboard-grid{grid-template-columns:1fr;gap:0;background:#fff;border:1px solid var(--portal-border);border-radius:6px;overflow:hidden}
.staff-dashboard-grid .student-dashboard-card{display:grid;grid-template-columns:36px minmax(150px,1fr) minmax(180px,2fr) minmax(130px,auto);gap:18px;align-items:center;padding:20px 24px;border:0;border-bottom:1px solid var(--portal-border);border-radius:0;transform:none;box-shadow:none}
.staff-dashboard-grid .student-dashboard-card:last-child{border-bottom:0}.staff-dashboard-grid .student-dashboard-card:hover{background:#F0F5FC;transform:none}
.staff-dashboard-grid .student-dashboard-card h2{font-size:1.1rem;margin:0}.staff-dashboard-grid .student-dashboard-card p{font-size:1rem;margin:0;color:var(--portal-muted)}
.staff-dashboard-grid .dashboard-card-open{padding:0;margin:0;color:var(--portal-navy);font-size:.875rem}
.portal-tab-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border-radius:0;font:22px/1 Arial,sans-serif}
/* Assignment rows match the selected date-first layout. */
.auth-body .assignment-list-card{display:grid;grid-template-columns:minmax(160px,1.5fr) minmax(120px,1fr) minmax(120px,1fr) auto;gap:20px;align-items:center;padding:22px 24px;margin:0;border-radius:0;border:0;border-bottom:1px solid var(--portal-border);box-shadow:none;text-decoration:none}
.auth-body .assignment-list-card:first-child{border-radius:6px 6px 0 0}.auth-body .assignment-list-card:last-child{border-radius:0 0 6px 6px}
.auth-body .assignment-list-card:hover{background:#F0F5FC}
.assignment-list-title strong{display:block;font-size:1.1rem}.assignment-list-state{display:inline-block;margin-top:7px;font-size:.875rem;color:#235B98;background:#EAF2FF;padding:3px 8px;border-radius:4px}.assignment-list-state.completed{background:#E9F5EF;color:#226944}
.assignment-date-cell{font-size:1rem}.assignment-date-cell span{display:block;color:var(--portal-muted);font-size:.875rem}
.auth-body .assignment-list-card .assignment-open{background:var(--portal-navy);color:#fff;border-radius:6px;padding:10px 16px;text-align:center;font-size:1rem}
.auth-body .assignment-dates{color:var(--portal-muted);font-size:1rem}
.student-work-section{border:0;margin-top:24px;padding-top:0}
.auth-body .online-homework-picker,.auth-body .ocr-solution{background:#EDF4FC;color:var(--portal-ink);border-color:#BFCFE3;border-radius:6px}
.auth-body .answer-navigator{background:#fff;color:var(--portal-ink);padding:20px;border:1px solid var(--portal-border);border-radius:6px}
.auth-body .answer-nav[aria-current=step]{outline-color:var(--portal-navy)}
.auth-body .form-message:not(.success){color:#A02B24}
.portal-body>header{position:static;top:auto;z-index:auto;background:transparent;border:0;box-shadow:none;backdrop-filter:none}
.portal-body>header :is(.portal-home,.brand){color:var(--portal-navy);background:none}
.portal-body :is(.portal-title,.generator-title),.portal-body :is(.portal-title,.generator-title) :is(h1,p){color:var(--portal-ink)}
.portal-body :is(.portal-card,.board-card,.topic-browser,.question-workspace,.practice-settings,.question-area,.practice-question,.unit-assignment-panel){background:#fff;color:var(--portal-ink);border-color:var(--portal-border);border-radius:6px}
.portal-body .portal-card{border-top:3px solid var(--portal-navy)}
.portal-body .portal-card :is(h2,.feature-list){color:var(--portal-ink)}.portal-body .portal-card p{color:var(--portal-muted)}
.portal-body .board-card .button.gold{background:var(--portal-navy);color:#fff}
.portal-body :is(.topic-tabs,.course-switch){background:#EAF0F7}
.portal-body .topic-tabs button[aria-selected=true],.portal-body .course-switch button[aria-pressed=true]{background:var(--portal-navy);color:#fff}
.portal-body.unit-test-body{background:var(--portal-bg)}.unit-sidebar{background:var(--portal-navy);border-color:var(--portal-border)}
.unit-choice{background:#fff;color:var(--portal-navy);border-color:#DCE4ED}.unit-choice :is(.unit-no,.unit-count){color:var(--portal-muted)}
.unit-choice.active,.unit-choice:hover{background:#235B98;color:#fff;border-color:#B4D9FF}.unit-choice.active :is(.unit-count,.unit-no),.unit-choice:hover :is(.unit-count,.unit-no){color:#fff}
.test-stage .stage-top h2{color:var(--portal-ink)}.test-stage .stage-top p:not(.stage-kicker){color:var(--portal-muted)}.stage-kicker{color:var(--portal-teal)}
body:has(.workspace) :is(.tools,.options-bar,.page-bar,dialog,#timer-panel){background:#fff;color:var(--portal-ink)}body:has(.workspace) .workspace{background:#E9EFF6}
.auth-body .book-print-table{color:var(--portal-ink)}
@media(max-width:760px){.staff-dashboard-grid .student-dashboard-card{grid-template-columns:32px 1fr;gap:10px;padding:20px}.staff-dashboard-grid .student-dashboard-card p,.staff-dashboard-grid .dashboard-card-open{grid-column:2}.auth-body .assignment-list-card{grid-template-columns:1fr 1fr;gap:14px;padding:20px}.assignment-list-title{grid-column:1/-1}.auth-body .assignment-list-card .assignment-open{grid-column:1/-1;justify-self:start}.auth-body .portal-section-nav a,.auth-body .student-section-links a{flex:1 1 45%;padding:12px;min-height:48px}.auth-top{padding:8px 0;gap:12px}.auth-logo img{width:128px}.auth-body .auth-top .auth-button{padding:10px 12px;font-size:.9rem}.auth-body .assign-wrap{padding:18px 16px}.auth-body .answer-navigator{padding:14px}}
}
@media print{body.auth-body,body.portal-body{background:#fff!important;color:#111!important}.auth-body .assign-wrap,.auth-body .textbook-wrap{color:#111!important}.portal-tab-icon,.portal-section-nav{display:none!important}}

@media screen{.portal-body .portal-grid>.staff-login-card{grid-column:1/-1;padding:28px 30px}.portal-body .portal-grid>.staff-login-card h2{font-size:1.6rem;margin:0 0 12px}.portal-body .portal-grid>.staff-login-card p{max-width:none;margin:0 0 20px}}

.auth-body .staff-portal-nav{gap:8px;padding:12px;background:#eaf1f8;border:1px solid #d1dfed;border-radius:14px}.auth-body .staff-portal-nav a{display:inline-flex;align-items:center;gap:8px;border-radius:9px;padding:10px 14px;min-height:46px;border-color:#cad8e6;font-size:.9375rem;line-height:1.4}.auth-body .staff-portal-nav .portal-nav-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;margin:0;flex-shrink:0}.auth-body .staff-portal-nav a:focus-visible{outline:3px solid #3478ba;outline-offset:3px}.teacher-tool-group{margin-top:2rem}.teacher-tool-group>h2{font-size:1.4rem;color:#173558;border-bottom:1px solid #cbd9e7;padding-bottom:.75rem}.teacher-tool-group .staff-dashboard-grid{margin-top:1rem}@media(max-width:760px){.auth-body .staff-portal-nav{padding:9px}.auth-body .staff-portal-nav a{flex:1 1 45%;font-size:.9rem;padding:10px}}
