:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#0f172a;background:#f7f8fb;line-height:1.55;
  --ink:#0f172a;--muted:#64748b;--line:#e7e9ef;--surface:#fff;--soft:#f8fafc;
  --primary:#ff4f5f;--primary-dark:#e93849;--primary-soft:#fff0f2;
  --navy:#101326;--navy-2:#20264a;--gold:#f5c85b;--gold-soft:#fff8df;
  --success:#0f8a5f;--success-soft:#eafaf3;--warning:#b76a08;--warning-soft:#fff7e8;
  --danger:#b42318;--danger-soft:#fef3f2;--info:#175cd3;--info-soft:#eff8ff;
  --shadow:0 14px 34px rgba(15,23,42,.07)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#fff8f6 0,#f8f9fc 230px,#f7f8fb 100%);min-height:100vh}a{color:#b62b3c}hr{border:0;border-top:1px solid var(--line);margin:24px 0}
.topbar{min-height:72px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:900;letter-spacing:-.03em;font-size:20px}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--primary),#ff7b52);color:#fff;display:grid;place-items:center;font-size:16px;box-shadow:0 8px 18px rgba(255,79,95,.22)}.brand small{display:block;font-size:11px;color:#8a3340;letter-spacing:.02em;font-weight:800;margin-top:-2px}.topbar nav{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.topbar nav a{color:#475569;text-decoration:none;font-size:14px;font-weight:800;padding:9px 11px;border-radius:10px}.topbar nav a:hover{background:#fff1f3;color:#a52334}
.container{width:min(1180px,92vw);margin:34px auto 84px}.page-heading{margin-bottom:22px}.page-heading h1,.split h1{margin:4px 0 5px;font-size:34px;letter-spacing:-.04em}.eyebrow,.subject{font-size:12px;text-transform:uppercase;letter-spacing:.095em;color:#c53343;font-weight:900}.muted{color:var(--muted)}
.hero,.card,.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.hero{padding:36px;position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0,#fff 62%,#fff1ec 100%)}.hero:before{content:"";position:absolute;width:270px;height:270px;border-radius:50%;right:-80px;top:-120px;background:radial-gradient(circle,#ffd5ca 0,#fff4ef 55%,transparent 70%)}.hero:after{content:"★";position:absolute;right:42px;top:34px;font-size:46px;color:var(--gold);transform:rotate(10deg);opacity:.85}.hero h1{position:relative;margin:4px 0 8px;font-size:38px;letter-spacing:-.045em}.hero p,.hero .actions,.hero .metric-grid,.hero .eyebrow{position:relative;z-index:1}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:23px}.card h2,.card h3{margin-top:0;letter-spacing:-.025em}.stat{font-size:34px;font-weight:900;letter-spacing:-.03em}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{padding:18px 20px;box-shadow:none}.metric-card span{display:block;color:var(--muted);font-size:13px;font-weight:800;margin-bottom:6px}.metric-card strong{display:block;font-size:30px;line-height:1.1;letter-spacing:-.04em}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:11px 16px;background:linear-gradient(135deg,var(--primary),#ff3d2e);color:#fff;text-decoration:none;font-weight:900;cursor:pointer;font:inherit;line-height:1.2;box-shadow:0 8px 18px rgba(255,79,95,.17);transition:.16s ease}.btn:hover{transform:translateY(-1px);filter:saturate(1.05);color:#fff}.btn.secondary{background:var(--gold-soft);color:#7d5600;box-shadow:none;border:1px solid #f4dfa4}.btn.secondary:hover{background:#fff2c4;color:#694700}.btn.light{background:#f2f4f7;color:#334155;box-shadow:none}.btn.light:hover{background:#e9edf2;color:#111827}.btn.dark{background:var(--navy);box-shadow:none}.btn.danger{background:var(--danger)}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.form-card{max-width:760px;margin:0 auto}.form-card.wide-form{max-width:860px}.field{margin-bottom:16px}.field label{display:block;font-size:14px;font-weight:850;margin-bottom:7px}.field input,.field select,.field textarea,.filters select{width:100%;border:1px solid #d0d5dd;border-radius:12px;padding:11px 12px;background:#fff;font:inherit;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus,.filters select:focus{border-color:#ff8995;box-shadow:0 0 0 3px rgba(255,79,95,.10)}.field textarea{min-height:120px;resize:vertical}.help{font-size:13px;color:var(--muted);margin-top:6px}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:17px}.table-wrap.flat-table{border-radius:15px;box-shadow:none}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid #edf0f4;vertical-align:middle}tr:last-child td{border-bottom:0}th{background:#fafbfc;font-size:11px;text-transform:uppercase;letter-spacing:.075em;color:#64748b;white-space:nowrap}tbody tr:hover{background:#fffdfc}
.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#fff0f2;color:#b62b3c;font-size:12px;font-weight:900;white-space:nowrap}.badge.green{background:var(--success-soft);color:var(--success)}.badge.orange{background:var(--warning-soft);color:var(--warning)}.badge.gold{background:var(--gold-soft);color:#805d0a}.badge.dark{background:#edf0f6;color:#27324d}
.activity-card{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #eef0f4}.activity-card:last-child{border-bottom:0}.activity-card .body{flex:1;min-width:0}.score{font-size:52px;font-weight:950;letter-spacing:-.05em}
.alert{padding:13px 16px;border-radius:12px;margin-bottom:16px;font-weight:700}.alert.success{background:var(--success-soft);color:var(--success)}.alert.error{background:var(--danger-soft);color:var(--danger)}.alert.info{background:var(--info-soft);color:var(--info)}.notice-strip{padding:14px 16px;background:#fafbfc;border:1px solid var(--line);border-radius:12px;margin-bottom:20px;color:#475569}
.checkbox-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.check{padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.quiz-option{display:block;padding:13px 14px;border:1px solid var(--line);border-radius:13px;margin:9px 0;background:#fff;cursor:pointer;font-weight:700}.quiz-option:hover{background:#fff7f7;border-color:#ffabb3}.quiz-option input{margin-right:8px}.question{margin:0 0 25px}.question h3{font-size:17px;line-height:1.45}.footer{text-align:center;color:#94a3b8;padding:24px}.empty{padding:30px;text-align:center;color:var(--muted)}
.filters{display:grid;grid-template-columns:180px 180px minmax(180px,1fr) auto;gap:10px;align-items:center;margin-bottom:18px}.filters select{padding:10px}.split{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.split.compact-split{margin-bottom:14px}.pin-box{font-size:20px;font-weight:950;letter-spacing:.12em;background:#f2f4f7;padding:7px 10px;border-radius:8px;color:#334155}
.progress-card{margin:18px 0}.progress-label{display:flex;justify-content:space-between;gap:12px;color:#475569;font-size:14px}.progress-track{height:11px;background:#eef0f4;border-radius:999px;margin-top:10px;overflow:hidden}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#ff865f);border-radius:999px}.assignment-instructions{margin:16px 0 0}.bulk-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.class-banner{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-bottom:18px}.class-code-card{background:linear-gradient(145deg,#101326,#252c55);color:#fff;border-radius:22px;padding:25px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow)}.class-code-card .muted{color:#ccd2e5}.class-code{font-size:31px;font-weight:950;letter-spacing:.12em;margin:5px 0}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-action{padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff;text-decoration:none;color:var(--ink);font-weight:900}.quick-action span{display:block;font-size:12px;color:var(--muted);font-weight:650;margin-top:2px}.quick-action:hover{border-color:#ffc0c6;background:#fff9f9}
.task-card{position:relative}.task-meta{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.task-status{margin-top:14px}.task-complete{border-color:#ccebdc;background:linear-gradient(180deg,#fff,#fbfffd)}
.recent-list{display:flex;flex-direction:column}.recent-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #eef0f4}.recent-row:last-child{border-bottom:0}.recent-row strong{display:block}.recent-row .right{text-align:right;white-space:nowrap}.points-positive{color:var(--success);font-weight:900}
.subject-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:#f3f4f7;font-size:12px;font-weight:900;text-transform:capitalize}.subject-pill.maths{background:#eef4ff;color:#3538cd}.subject-pill.english{background:#fff0ec;color:#c4320a}.subject-pill.reading{background:#ecfdf3;color:#027a48}.content-card{display:flex;flex-direction:column;border-top:4px solid #f0f0f0}.content-card.maths{border-top-color:#6172f3}.content-card.english{border-top-color:#ff7a59}.content-card.reading{border-top-color:#20b486}.content-card .content-body{flex:1}.content-card h2{margin:10px 0 7px}.content-card .actions{margin-top:15px}.content-meta{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.topic{font-size:13px;color:#475569;font-weight:800}
.learning-shell{max-width:900px;margin:0 auto}.learning-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px}.lesson-card{padding:30px}.lesson-card h1{font-size:36px;letter-spacing:-.045em;margin:8px 0}.lesson-content{font-size:18px;line-height:1.65;color:#27324a;max-width:760px;margin-left:auto;margin-right:auto}.lesson-content h2{font-size:24px;margin:28px 0 10px;color:#111827}.worked-example,.remember-box,.reading-passage{border-radius:16px;padding:18px 20px;margin:18px 0}.worked-example{background:#f8fafc;border-left:5px solid #6074f5}.remember-box{background:var(--gold-soft);border:1px solid #f4dfa4}.reading-passage{background:#f7fbf8;border:1px solid #d7eee1;font-family:Georgia,serif;font-size:18px;line-height:1.75}.lesson-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.learning-steps{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:16px}.learning-step{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:900;color:#94a3b8}.learning-step .num{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#eef0f4;color:#64748b}.learning-step.active{color:#b62b3c}.learning-step.active .num{background:var(--primary);color:#fff}.learning-step.done{color:#0f8a5f}.learning-step.done .num{background:#dff7ec;color:#087451}.step-line{width:34px;height:2px;background:#e3e6eb}
.quiz-card{padding:30px}.quiz-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:22px}.points-promise{background:var(--gold-soft);border:1px solid #f1dda0;border-radius:14px;padding:10px 13px;font-weight:900;color:#745405;white-space:nowrap}.result-hero{text-align:center;background:linear-gradient(145deg,#fff,#fff7ec);border:1px solid #f0e1bc}.result-points{font-size:22px;font-weight:950;color:#0f8a5f}.answer-review{padding:15px 0;border-bottom:1px solid var(--line)}.answer-review:last-child{border-bottom:0}.answer-review.correct strong{color:#087451}.answer-review.wrong strong{color:#b42318}
.admin-note{padding:14px 16px;border-radius:14px;background:#fff8e2;border:1px solid #f0dda6;color:#71530a}.rc-wordmark{font-weight:950;letter-spacing:-.04em}
@media(max-width:900px){.metric-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.class-banner{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.filters .btn{width:100%}}
@media(max-width:800px){.grid,.grid.two{grid-template-columns:1fr}.checkbox-list{grid-template-columns:1fr 1fr}.topbar{height:auto;padding:13px 4vw;align-items:flex-start;gap:12px}.topbar nav{gap:3px}.topbar nav a{padding:7px 8px}.activity-card,.split,.learning-top,.quiz-header{flex-direction:column;align-items:stretch}.metric-grid,.metric-grid.four{grid-template-columns:1fr 1fr}.hero h1,.page-heading h1,.split h1,.lesson-card h1{font-size:30px}.container{margin-top:24px}}
@media(max-width:520px){.checkbox-list,.metric-grid,.metric-grid.four,.quick-actions,.filters{grid-template-columns:1fr}.hero,.lesson-card,.quiz-card{padding:23px}.card{padding:18px}.topbar{position:static}.class-code{font-size:24px}.bulk-bar .btn,.lesson-actions .btn{width:100%}.brand small{display:none}}

/* v0.4: broader school library + isolated full HTML lessons */
.subject-pill.science{background:#e8fbf4;color:#067647}.subject-pill.geography{background:#eef8ff;color:#175cd3}.subject-pill.pshe{background:#fff4e8;color:#9c4a00}.subject-pill.history{background:#f7f0ff;color:#6941c6}.subject-pill.computing{background:#f0f4ff;color:#3448a8}.subject-pill.other{background:#f2f4f7;color:#475467}
.content-card.science{border-top-color:#12b76a}.content-card.geography{border-top-color:#2e90fa}.content-card.pshe{border-top-color:#f79009}.content-card.history{border-top-color:#9e77ed}.content-card.computing{border-top-color:#667085}.content-card.other{border-top-color:#98a2b3}
.lesson-document-wrap{margin:18px -8px 0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#eef2f7;box-shadow:inset 0 0 0 1px rgba(15,23,42,.02)}
.lesson-document-frame{display:block;width:100%;height:min(760px,72vh);min-height:560px;border:0;background:#fff}
.quiz-clue{margin:10px 0 12px;padding:10px 12px;border-radius:12px;background:#eff8ff;color:#175cd3;font-size:14px;font-weight:750}
.quiz-media{margin:12px auto 16px;padding:12px;border:1px solid #d0d5dd;border-radius:16px;background:#f8fafc;max-width:780px;overflow:auto;text-align:center}
.quiz-media svg{max-width:100%;height:auto;display:block;margin:0 auto}.quiz-media img{max-width:100%;height:auto}
@media(max-width:700px){.lesson-document-frame{height:68vh;min-height:480px}.lesson-document-wrap{margin-left:-4px;margin-right:-4px}}
.quiz-media .diagram-label{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;fill:#0f172a}.quiz-media .diagram-line{stroke:#0f172a;stroke-width:2}.quiz-media .diagram-shape{fill:#dbeafe;stroke:#3b82f6;stroke-width:3}.quiz-media .diagram-soft{fill:#ecfeff;stroke:#0f766e;stroke-width:2}.quiz-media .diagram-note{font-family:Arial,Helvetica,sans-serif;font-size:12px;fill:#334155}

/* v0.5 — visual alignment with the main RewardClass family app */
:root{--rc-blue:#3498db;--rc-blue-dark:#2478b1;--rc-yellow:#FFD84D;--rc-purple:#7c5cff;--rc-orange:#ffb020;--rc-page:#f6f7fb;--rc-text:#0f172a;--rc-card:#fff;--rc-line:rgba(15,23,42,.12);--rc-shadow:0 12px 30px rgba(2,6,23,.10)}
body{background:radial-gradient(1000px 700px at 15% 10%,rgba(124,92,255,.08),transparent 55%),radial-gradient(900px 600px at 85% 0%,rgba(255,176,32,.08),transparent 55%),linear-gradient(180deg,#fff,#f6f7fb);color:var(--rc-text)}
.rc-main-header{min-height:66px;padding:0;background:#fff;box-shadow:0 1px 10px rgba(2,6,23,.05);border-bottom:1px solid #edf0f4}
.rc-header-inner{width:min(1280px,94vw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px}
.rc-main-brand{min-width:170px}.rc-brand-logo{height:35px;width:auto;display:block;max-width:220px;object-fit:contain}.rc-logo-fallback{display:inline-flex;align-items:center;gap:8px;font-size:22px;font-weight:950;letter-spacing:-.04em;color:#111827}.rc-logo-star{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--rc-yellow);border:2px solid #111827;font-size:15px}
.rc-main-nav{margin-left:auto}.rc-main-nav a{height:40px;line-height:22px;display:inline-flex;align-items:center}.rc-points-pill{background:var(--rc-yellow);border:2px solid #111;border-radius:10px;padding:6px 10px;font-weight:800;color:#000;display:inline-block;line-height:1;white-space:nowrap;margin:0 5px}.rc-user-chip{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef2ff;color:#4338ca;font-weight:900;border:1px solid #d7ddff}.rc-user-chip.pupil{background:#fff3c4;color:#6f5300;border-color:#f0d36a}.rc-signout{color:#64748b!important}.rc-main-container{width:min(1220px,94vw);margin-top:26px}

/* pupil mission overview — mirrors the main My Missions card language */
.rc-dashboard-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding:25px 28px;background:#fff;border:1px solid var(--rc-line);border-radius:16px;box-shadow:0 10px 24px rgba(2,6,23,.07)}.rc-dashboard-intro h1{margin:4px 0 5px;font-size:34px;letter-spacing:-.04em}.rc-dashboard-intro p{margin:0;color:#475569}.rc-dashboard-points{min-width:180px;background:linear-gradient(135deg,#fff8cf,#ffec7b);border:2px solid #111;border-radius:14px;padding:13px 16px;text-align:center}.rc-dashboard-points span{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#665000}.rc-dashboard-points strong{display:block;font-size:25px;color:#111;margin-top:2px}
.rc-overview-strip{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:1px;border:1px solid var(--rc-line);border-radius:15px;overflow:hidden;background:#e8ebf0;margin-bottom:22px}.rc-overview-strip>div{background:#fff;padding:12px 15px}.rc-overview-strip span{display:block;color:#64748b;font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.rc-overview-strip strong{font-size:14px}.rc-missions-heading{display:flex;justify-content:space-between;align-items:end;margin:8px 0 14px}.rc-missions-heading h2{margin:0;font-size:26px;letter-spacing:-.035em}.rc-missions-heading p{margin:4px 0 0;color:#64748b}.rc-mission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.rc-mission-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--rc-shadow);border:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;transition:.18s ease}.rc-mission-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(2,6,23,.14)}.rc-mission-card.completed{opacity:.88}.rc-mission-art{height:150px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#eef4ff,#dfe7ff)}.rc-mission-art.maths{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.rc-mission-art.english{background:linear-gradient(135deg,#fff1eb,#ffd8ca)}.rc-mission-art.reading{background:linear-gradient(135deg,#e6fff2,#c9f5dd)}.rc-mission-art.science{background:linear-gradient(135deg,#e5fff5,#bff5dd)}.rc-mission-art.geography{background:linear-gradient(135deg,#e8f5ff,#c8e8ff)}.rc-mission-art.pshe{background:linear-gradient(135deg,#fff5e6,#ffe2bb)}.rc-mission-art.history{background:linear-gradient(135deg,#f6efff,#e7d8ff)}.rc-mission-art.computing{background:linear-gradient(135deg,#eef2ff,#d9e0ff)}.rc-mission-art.homework{background:linear-gradient(135deg,#fff7d6,#ffe59a)}.rc-mission-symbol{font-size:58px;filter:drop-shadow(0 10px 12px rgba(15,23,42,.12))}.rc-mission-subject{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.rc-mission-status{position:absolute;right:12px;top:12px;background:rgba(245,158,11,.92);color:#fff;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}.rc-mission-status.done{background:rgba(124,92,255,.92)}.rc-mission-details{padding:16px;display:flex;flex-direction:column;flex:1}.rc-mission-details h3{font-size:20px;letter-spacing:-.025em;margin:5px 0 8px}.rc-mission-details p{font-size:14px;color:#475569;margin:0 0 12px;line-height:1.5}.rc-mission-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:5px}.rc-mission-meta span{font-size:12px;font-weight:800;background:#f4f5f7;border-radius:999px;padding:6px 9px;color:#344054}.rc-mission-button{display:block;text-align:center;text-decoration:none;background:#111827;color:#fff!important;font-weight:900;border-radius:11px;padding:10px 14px;margin-top:14px}.rc-mission-button:hover{background:#202b3d}.rc-complete-row{display:flex;justify-content:space-between;gap:10px;margin-top:14px;padding:10px 12px;border-radius:10px;background:#ecfdf3;color:#027a48;font-size:13px}.rc-homework-note{margin-top:14px;background:#fff8df;border:1px solid #efd98e;border-radius:10px;padding:10px 12px;color:#725704;font-size:13px}

/* mission player — closely follows the original course player positioning */
.rc-player-shell{width:100%;max-width:1280px;margin:0 auto}.rc-course-header{background:var(--rc-blue);color:#fff;padding:13px 16px;border-radius:5px;display:grid;grid-template-columns:minmax(240px,1fr) auto minmax(320px,1fr);gap:14px;align-items:center;margin-bottom:16px}.rc-course-title{display:flex;align-items:center;gap:10px;min-width:0}.rc-course-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rc-small-brand{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--rc-yellow);color:#111;border:2px solid #111}.rc-course-progress{text-align:center;font-size:13px;font-weight:800}.rc-course-actions{display:flex;justify-content:flex-end;gap:6px;align-items:center;flex-wrap:wrap}.rc-course-actions a{background:#4caf50;color:#fff;text-decoration:none;border-radius:5px;padding:8px 11px;font-size:13px;font-weight:800}.rc-player-points{background:var(--rc-yellow);border:2px solid #111;color:#111;border-radius:10px;padding:7px 10px;font-weight:900;box-shadow:0 0 12px rgba(255,216,77,.5);white-space:nowrap}
.rc-lesson-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:16px;align-items:start}.rc-mission-sidebar{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;position:sticky;top:82px;box-shadow:0 6px 18px rgba(2,6,23,.06)}.rc-sidebar-heading{padding:14px 16px;background:#f7f8fa;border-bottom:1px solid #e5e7eb;font-weight:900;color:#334155}.rc-sidebar-item{display:flex;gap:10px;padding:13px 15px;border-bottom:1px solid #edf0f4;color:#64748b}.rc-sidebar-item:last-child{border-bottom:0}.rc-sidebar-item.active{background:#eef7fd;color:#1d6493}.rc-sidebar-item>span{font-size:18px}.rc-sidebar-item strong,.rc-sidebar-item small{display:block}.rc-sidebar-item small{margin-top:2px;color:#7b8796}.rc-lesson-main{min-width:0}.rc-lesson-overview{background:#fff;border:1px solid #e6e8ec;border-radius:8px;padding:18px 20px;margin-bottom:13px}.rc-lesson-overview h1{margin:7px 0 5px;font-size:28px}.rc-lesson-overview p{margin:0;color:#64748b}.rc-document-full{margin:0}.rc-document-full .lesson-document-frame{height:min(820px,76vh);min-height:620px}.rc-player-bottom{background:#fff;padding:14px;border:1px solid #e6e8ec;border-radius:8px;margin-top:13px}.rc-start-quiz,.rc-submit-quiz{background:#e53935!important}

/* quiz — based on the original RewardClass quiz header/card */
.rc-quiz-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 8px 22px rgba(2,6,23,.07)}.rc-quiz-banner{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:20px;padding:14px 18px;background:#fff;border-bottom:1px solid #e5e7eb}.rc-quiz-time{width:76px;height:64px;margin:auto;background:linear-gradient(145deg,#ad39dc,#6d28d9);color:#fff;display:grid;place-items:center;text-align:center;line-height:.86;font-weight:950;font-size:22px;transform:rotate(-2deg);border-radius:5px;box-shadow:0 8px 14px rgba(76,29,149,.22);text-shadow:0 1px 0 rgba(0,0,0,.15)}.rc-quiz-bonus{text-align:center;font-weight:900;color:#6b7280}.rc-quiz-totals{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:13px;white-space:nowrap}.rc-quiz-body{padding:24px;background:#fff url('quiz-background.jpg') top right/520px auto no-repeat}.rc-question-card{max-width:860px;margin:0 auto 20px;background:rgba(255,255,255,.96);border:1px solid #e1e5ea;border-radius:14px;padding:20px;box-shadow:0 9px 24px rgba(15,23,42,.07)}.rc-question-number{display:flex;justify-content:space-between;gap:12px;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.055em;font-weight:900}.rc-question-number span{color:#805d0a;background:#fff5c2;padding:4px 8px;border-radius:999px}.rc-question-card h2{font-size:20px;line-height:1.42;margin:12px 0 14px;color:#27324a}.rc-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rc-answer-option{position:relative;cursor:pointer}.rc-answer-option input{position:absolute;opacity:0;pointer-events:none}.rc-answer-option span{display:block;border:2px solid #d9dee7;border-radius:11px;padding:12px 14px;background:#fff;font-weight:800;color:#334155;min-height:48px;transition:.12s ease}.rc-answer-option:hover span{border-color:#3498db;background:#f4faff}.rc-answer-option input:checked+span{border-color:#3498db;background:#eaf6ff;box-shadow:0 0 0 2px rgba(52,152,219,.13)}
.rc-results-panel{max-width:820px;margin:0 auto 18px;text-align:center;background:linear-gradient(145deg,#fff,#fff8dc);border:1px solid #eedf9a;border-radius:18px;padding:34px;box-shadow:var(--rc-shadow)}.rc-results-burst{font-size:54px}.rc-results-panel h1{margin:6px 0;font-size:30px}.rc-results-panel p{color:#64748b}.rc-total-points{display:inline-block;margin:8px 0 18px;background:var(--rc-yellow);border:2px solid #111;border-radius:10px;padding:8px 12px;font-weight:900;color:#111}.rc-answer-sheet{max-width:820px;margin:0 auto}

/* teacher learning library — same card shape/spacing as the family mission overview */
.rc-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:18px}.rc-library-card{background:#fff;border-radius:20px;overflow:hidden;border:1px solid rgba(15,23,42,.08);box-shadow:var(--rc-shadow);display:flex;flex-direction:column;transition:.18s}.rc-library-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(2,6,23,.14)}.rc-library-art{height:135px;display:flex;align-items:center;justify-content:center;position:relative}.rc-library-art.maths{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.rc-library-art.english{background:linear-gradient(135deg,#fff1eb,#ffd8ca)}.rc-library-art.reading{background:linear-gradient(135deg,#e6fff2,#c9f5dd)}.rc-library-art.science{background:linear-gradient(135deg,#e5fff5,#bff5dd)}.rc-library-art.geography{background:linear-gradient(135deg,#e8f5ff,#c8e8ff)}.rc-library-art.pshe{background:linear-gradient(135deg,#fff5e6,#ffe2bb)}.rc-library-art.history{background:linear-gradient(135deg,#f6efff,#e7d8ff)}.rc-library-art.computing,.rc-library-art.other{background:linear-gradient(135deg,#eef2ff,#dce2f2)}.rc-library-icon{font-size:50px}.rc-library-year{position:absolute;right:12px;top:12px;background:rgba(255,255,255,.9);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.rc-library-body{padding:16px;display:flex;flex-direction:column;flex:1}.rc-library-body h2{font-size:20px;margin:6px 0}.rc-library-body p{color:#64748b;font-size:14px;line-height:1.5}.rc-library-actions{display:flex;gap:8px;margin-top:auto;padding-top:12px}.rc-library-actions .btn{flex:1}

@media(max-width:900px){.rc-course-header{grid-template-columns:1fr}.rc-course-progress{text-align:left}.rc-course-actions{justify-content:flex-start}.rc-lesson-layout{grid-template-columns:1fr}.rc-mission-sidebar{position:static}.rc-overview-strip{grid-template-columns:1fr 1fr}.rc-quiz-banner{grid-template-columns:90px 1fr}.rc-quiz-totals{grid-column:1/-1;justify-content:center}.rc-dashboard-intro{align-items:flex-start}.rc-answer-grid{grid-template-columns:1fr}}
@media(max-width:650px){.rc-header-inner{align-items:flex-start;padding:10px 0}.rc-main-nav{justify-content:flex-end}.rc-main-nav a{font-size:12px;padding:6px}.rc-main-brand{min-width:0}.rc-brand-logo{height:30px}.rc-logo-fallback{font-size:18px}.rc-dashboard-intro{flex-direction:column}.rc-dashboard-points{width:100%}.rc-overview-strip{grid-template-columns:1fr 1fr}.rc-course-actions a{flex:1;text-align:center}.rc-player-points{width:100%;text-align:center}.rc-quiz-banner{grid-template-columns:1fr;text-align:center}.rc-quiz-totals{flex-wrap:wrap}.rc-quiz-body{padding:15px;background-size:320px auto}.rc-question-card{padding:16px}.rc-document-full .lesson-document-frame{min-height:500px;height:70vh}}

/* v0.6 — direct visual alignment from the supplied RewardClass application + Master brand */
html,body{font-family:"Open Sans",Arial,Helvetica,sans-serif}
body{background:radial-gradient(1000px 700px at 15% 10%,rgba(124,92,255,.10),transparent 55%),radial-gradient(900px 600px at 85% 0%,rgba(255,176,32,.10),transparent 55%),linear-gradient(180deg,#fff,#f6f7fb);color:#0f172a}
.rc-main-header{min-height:68px;background:#fff;border:0;border-bottom:1px solid #f0f0f2;box-shadow:0 3px 16px rgba(7,18,45,.05);padding:0;position:sticky;top:0;z-index:120}
.rc-header-inner{width:min(1140px,calc(100% - 24px));min-height:68px;margin:0 auto;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.rc-main-brand{display:inline-flex;align-items:center;text-decoration:none;min-width:0;padding:0;margin:0}
.rc-brand-logo{height:35px!important;width:auto!important;max-width:197px!important;display:block;object-fit:contain}
.rc-main-nav{display:flex;align-items:center;gap:3px;margin-left:auto;flex-wrap:wrap}
.rc-main-nav>a:not(.rc-points-link){height:40px;display:inline-flex;align-items:center;padding:0 10px;border-radius:5px;border:1px solid transparent;color:#111827;text-decoration:none;font-size:14px;font-weight:600;line-height:40px}
.rc-main-nav>a:not(.rc-points-link):hover{background:#f6f6f6;color:#111827}
.rc-points-link{padding:0 8px!important;text-decoration:none!important;background:transparent!important}
.rc-points-pill{background:#FFD84D;border:2px solid #000;border-radius:10px;padding:6px 10px;font-weight:700;color:#000;display:inline-block;line-height:1;white-space:nowrap;margin:0}
.rc-user-chip{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:12px}
.rc-main-container{width:min(1140px,calc(100% - 24px));margin:0 auto 70px;padding:24px 12px 0}
.footer{font-family:"Open Sans",Arial,Helvetica,sans-serif}

/* My Missions — mirror the existing main-app My Courses layout */
.rc-my-courses-area{padding:0 0 20px}
.rc-page-title-row{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 12px}
.rc-page-title-row h1{margin:0 0 4px;font-size:30px;font-weight:800;letter-spacing:-.03em;color:#0f172a}
.rc-page-title-row p{margin:0;color:rgba(15,23,42,.70);font-size:14px}
.controls.rc-main-controls{position:sticky;top:78px;z-index:10;border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-radius:16px;padding:12px;margin:14px 0;box-shadow:0 10px 24px rgba(2,6,23,.08)}
.controls-row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.controls-left{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#courseFilter{width:216px;border:1px solid rgba(15,23,42,.18);border-radius:12px;padding:10px 12px;font-size:14px;color:#0f172a;background:#fff;outline:none}
.search-wrap{position:relative;min-width:260px;flex:1;max-width:520px}.search-wrap input{width:100%;border-radius:12px;padding:10px 12px 10px 40px;border:1px solid rgba(15,23,42,.18);background:#fff;color:#0f172a;outline:none}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:rgba(15,23,42,.55);font-size:14px;pointer-events:none}
.meta-pill{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(15,23,42,.14);background:rgba(15,23,42,.04);color:#0f172a;font-size:13px;white-space:nowrap;font-weight:700}
.info-box.rc-main-info-box{display:flex;gap:10px;align-items:flex-start;background:rgba(255,176,32,.10);border:1px solid rgba(255,176,32,.25);padding:12px 14px;border-radius:16px;color:rgba(15,23,42,.90);margin:12px 0 18px}.rc-main-info-box p{margin:0;font-size:14px;line-height:1.35}.rc-info-icon{font-size:18px;color:#b45309;line-height:1.1}
.next-action-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid rgba(15,23,42,.10);border-left:7px solid #ffb020;border-radius:16px;box-shadow:0 12px 28px rgba(2,6,23,.08);padding:16px 18px;margin:14px 0 18px}.next-action-main{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.next-action-thumb{width:78px;height:58px;border-radius:12px;border:1px solid rgba(15,23,42,.10);background:#f1f5f9;flex:0 0 auto}.rc-subject-thumb{display:grid;place-items:center;font-size:30px}.next-action-kicker{font-size:13px;font-weight:900;color:#ef4444;margin-bottom:4px}.next-action-title{font-size:18px;font-weight:900;color:#0f172a;line-height:1.2;margin:0 0 5px}.next-action-meta{display:flex;flex-wrap:wrap;gap:10px;color:rgba(15,23,42,.70);font-size:13px;font-weight:700}.next-action-progress{width:190px;max-width:100%;height:10px;background:rgba(15,23,42,.08);border-radius:999px;overflow:hidden;margin-top:8px;border:1px solid rgba(15,23,42,.06)}.next-action-progress span{display:block;height:100%;background:linear-gradient(90deg,rgba(34,197,94,.95),rgba(245,158,11,.95));border-radius:999px}.next-action-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}.next-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:12px;font-weight:900;text-decoration:none;border:1px solid transparent;white-space:nowrap}.next-action-btn.primary{background:#ef4444;color:#fff;box-shadow:0 10px 20px rgba(239,68,68,.20)}
.rc-main-mission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:stretch}.course-box-wrap{display:flex;min-width:0}.course-box{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 12px 28px rgba(2,6,23,.10);border:1px solid rgba(15,23,42,.08);width:100%;transition:transform .18s ease,box-shadow .18s ease;display:flex;flex-direction:column;color:inherit}.course-box:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(2,6,23,.14)}.course-image{position:relative;height:180px;overflow:hidden;background:#0b1220}.rc-school-course-image{display:grid;place-items:center}.rc-school-course-image.maths,.rc-subject-thumb.maths{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.rc-school-course-image.english,.rc-subject-thumb.english{background:linear-gradient(135deg,#ffedd5,#fed7aa)}.rc-school-course-image.reading,.rc-subject-thumb.reading{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.rc-school-course-image.science,.rc-subject-thumb.science{background:linear-gradient(135deg,#ccfbf1,#99f6e4)}.rc-school-course-image.geography,.rc-subject-thumb.geography{background:linear-gradient(135deg,#e0f2fe,#bae6fd)}.rc-school-course-image.pshe,.rc-subject-thumb.pshe{background:linear-gradient(135deg,#fef3c7,#fde68a)}.rc-school-course-image.history,.rc-subject-thumb.history{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.rc-school-course-image.computing,.rc-subject-thumb.computing{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.rc-school-course-image.homework,.rc-subject-thumb.homework{background:linear-gradient(135deg,#fff7d6,#ffe59a)}.rc-school-course-symbol{font-size:62px;filter:drop-shadow(0 10px 12px rgba(15,23,42,.12))}.rc-school-subject-label{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.90);border:1px solid rgba(15,23,42,.08);padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.status-pill{position:absolute;top:12px;right:12px;z-index:5;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.2px;color:#fff;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);box-shadow:0 10px 24px rgba(2,6,23,.18)}.status-progress{background:rgba(245,158,11,.92)}.status-completed{background:rgba(124,92,255,.92)}.course-details{padding:14px 14px 12px;display:flex;flex-direction:column;gap:10px;color:#0f172a;flex:1}.course-title{margin:0;font-size:16px;font-weight:900;line-height:1.2;letter-spacing:.15px}.rc-course-summary{margin:0;color:#475569;font-size:13px;line-height:1.45}.course-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;color:#475569;font-size:12px;margin-top:-2px}.course-meta span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:rgba(15,23,42,.05);border:1px solid rgba(15,23,42,.06);border-radius:999px}.progress-wrap{margin-top:2px;background:rgba(15,23,42,.08);border-radius:999px;overflow:hidden;height:10px;border:1px solid rgba(15,23,42,.06)}.progress-bar{height:100%;background:linear-gradient(90deg,rgba(34,197,94,.95),rgba(245,158,11,.95));border-radius:999px}.progress-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#475569;margin-top:-4px}.rc-card-action{margin-top:auto;text-align:center}

/* Exact player structure from application/views/lessons/lessons.php */
.pupil-app .rc-main-container:has(.rc-player-shell){width:100%;max-width:none;padding:0;margin:0 0 60px}
.rc-player-shell{width:100%;max-width:none;margin:0 auto;background:#fff}.rc-original-course-header{background:#3498db!important;color:#fff;padding:15px!important;border-radius:5px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px;margin:0!important}.rc-original-course-header h5{margin:0;display:flex;align-items:center;gap:8px;color:#fff;font-size:15px;font-weight:600;min-width:220px}.rc-original-course-header h5 img{height:25px;width:25px;object-fit:contain}.rc-header-divider{opacity:.8}.rc-original-course-header .rc-course-progress{color:#fff;font-size:14px;font-weight:600;text-align:center;white-space:nowrap}.rc-original-course-header .rc-course-actions{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;align-items:center}.course_btn{background:#4caf50!important;color:#fff!important;border-radius:5px!important;padding:10px 15px!important;text-decoration:none!important;display:inline-block!important;font-size:14px!important;font-weight:600!important;line-height:1.2!important}.course_btn:hover{background:#3f9944!important;color:#fff!important}.tabs-points{background:#ffd93d;color:#333;border-radius:12px;padding:10px 18px;margin-left:5px;font-weight:bold;position:relative;overflow:visible;text-decoration:none;box-shadow:0 0 12px rgba(255,217,61,.7);white-space:nowrap}
.rc-original-player-layout{width:100%;display:grid!important;grid-template-columns:minmax(0,9fr) minmax(270px,3fr)!important;gap:0!important;align-items:start;background:#fff}.rc-original-player-layout>.rc-lesson-main{order:1;min-width:0;padding:0 12px 20px 0}.rc-original-player-layout>.rc-original-sidebar{order:2}.rc-original-sidebar{position:sticky!important;top:68px!important;border:0!important;border-left:1px solid #e5e7eb!important;border-radius:0!important;box-shadow:none!important;background:#f7f8fa!important;min-height:calc(100vh - 68px);overflow:visible!important}.rc-sidebar-intro{margin:12px 10px 16px;text-align:center}.rc-sidebar-intro .rc-sidebar-heading{padding:0;background:transparent;border:0;font-size:18px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#1f2937;margin-bottom:6px}.rc-sidebar-intro p{margin:0;color:#6b7280;font-size:14px;line-height:1.5;font-weight:500}.rc-sidebar-tab{padding:10px 14px;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6;background:#fff;color:#6c757d;font-size:14px;font-weight:600}.rc-sidebar-section{background:#f7f8fa}.rc-sidebar-section-title{padding:13px 14px;background:#f7f8fa;border-bottom:1px solid #e4e7eb}.rc-sidebar-section-title small{display:block;color:#959aa2;font-size:13px;font-weight:400;margin-bottom:5px}.rc-sidebar-section-title strong{display:block;color:#444549;font-size:17px;font-weight:700;font-family:Arial,sans-serif;line-height:1.3}.rc-original-sidebar .rc-sidebar-item{display:flex;gap:10px;padding:12px 14px;border-bottom:1px solid #eceff2;background:#fff;color:#535a66;text-decoration:none}.rc-original-sidebar .rc-sidebar-item.active{background:#eef7fd;color:#1d6493}.rc-original-sidebar .rc-sidebar-item>span{width:20px;font-size:17px;color:#5c6067}.rc-original-sidebar .rc-sidebar-item strong{font-size:14px;font-weight:600}.rc-original-sidebar .rc-sidebar-item small{display:block;color:#7a818b;font-size:12px;margin-top:2px}
.rc-main-lesson-overview{margin:12px 0!important;border-radius:7px!important;box-shadow:none!important;border:1px solid #e4e7eb!important;padding:15px 18px!important}.rc-main-lesson-overview h1{font-size:24px!important;margin:6px 0!important}.rc-main-lesson-overview p{font-size:14px;color:#667085}.lesson-reward-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px;padding:14px 16px;background:linear-gradient(90deg,#fff8df,#fff3c4);border:1px solid #f3d77b;border-radius:10px}.lesson-reward-content{min-width:0;flex:1}.lesson-reward-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;color:#2b1408;margin-bottom:5px}.lesson-reward-icon{font-size:26px;display:inline-block;transform:rotate(-10deg)}.lesson-reward-title strong{background:linear-gradient(90deg,#facc15,#f59e0b);color:#7c2d12;padding:3px 8px;border-radius:8px;font-weight:900}.lesson-reward-bonus{margin-top:5px;font-size:14px;opacity:.9}.lesson-progress-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}.lesson-progress-copy{color:#3f3ccf;font-size:14px;font-weight:700}.lesson-progress-dots{display:inline-flex;align-items:center;gap:8px}.lesson-progress-dot{width:13px;height:13px;border-radius:50%;background:#b6d5ec;display:inline-block;position:relative}.lesson-progress-dot:not(:first-child)::before{content:"";position:absolute;width:18px;height:3px;background:#8fbfe1;right:100%;top:50%;transform:translateY(-50%)}.lesson-progress-dot.active,.lesson-progress-dot.completed{background:#5d3fd3}.lesson-progress-dot.active:not(:first-child)::before,.lesson-progress-dot.completed:not(:first-child)::before{background:#5d3fd3}.rc-document-full .lesson-document-frame{height:calc(100vh - 210px);min-height:650px;border-radius:0;border:0;background:#fff}.rc-player-bottom{margin:12px 0 0!important;border-radius:7px!important;box-shadow:none!important}.rc-start-quiz,.rc-submit-quiz{background:#dc3545!important;border-radius:12px!important;padding:10px 20px!important}

/* Quiz — follow the current RewardClass quiz card rather than the prototype tiles */
.rc-original-quiz{margin:12px 0 0;border:1px solid #dcdddf!important;border-radius:0!important;box-shadow:none!important}.rc-original-quiz .rc-quiz-banner{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:16px;padding:13px 16px;background:#f7f8fa;border-bottom:1px solid #dcdddf}.rc-original-quiz .rc-quiz-time{width:72px;height:62px;margin:0 auto;background:linear-gradient(145deg,#ad39dc,#6d28d9);color:#fff;display:grid;place-items:center;text-align:center;line-height:.86;font-weight:900;font-size:21px;border-radius:4px;box-shadow:0 7px 13px rgba(76,29,149,.18)}.rc-original-quiz .rc-quiz-bonus{text-align:center;font-weight:700;color:#6c757d}.rc-original-quiz .rc-quiz-totals{display:flex;align-items:center;gap:7px;color:#6c757d;font-size:13px;white-space:nowrap}.rc-original-quiz .rc-quiz-body{padding:16px 24px 28px;background:#fff url('quiz-background.jpg') top center/cover fixed no-repeat;font-family:Roboto,"Open Sans",sans-serif;color:#333;font-size:18px;min-height:650px}.rc-original-quiz .rc-question-card{max-width:900px;margin:0 auto;padding:18px 0 20px;background:rgba(255,255,255,.94);border:0;border-top:1px solid #6c757d;border-radius:0;box-shadow:none}.rc-original-quiz .rc-question-card:first-of-type{border-top:0}.rc-original-quiz .rc-question-number{display:flex;justify-content:space-between;align-items:center;color:#212529;font-size:15px;text-transform:none;letter-spacing:0;font-weight:700}.rc-q-number{display:inline-grid;place-items:center;min-width:30px}.rc-q-points{background:#FFD84D;color:#111;border:1px solid #d7b92f;border-radius:999px;padding:4px 9px;font-size:12px}.rc-original-quiz .rc-question-card h2{font-size:18px;font-weight:500;line-height:1.55;margin:8px 40px 12px;color:#333}.rc-original-quiz .quiz-clue{margin:0 40px 10px;font-size:13px}.rc-original-quiz .quiz-media{margin-left:40px;margin-right:40px}.rc-original-quiz .rc-answer-grid{display:block;margin:0 40px}.rc-original-quiz .rc-answer-option{position:relative;display:block;margin:7px 0;padding-left:27px;cursor:pointer}.rc-original-quiz .rc-answer-option input{position:absolute!important;opacity:1!important;pointer-events:auto!important;left:0!important;top:11px!important;width:17px;height:17px;margin:0;accent-color:#3498db}.rc-original-quiz .rc-answer-option span{display:block;border:0!important;border-radius:0!important;padding:7px 8px!important;background:transparent!important;font-weight:400!important;color:#212529!important;min-height:auto!important;box-shadow:none!important}.rc-original-quiz .rc-answer-option:hover span{background:rgba(52,152,219,.07)!important}.rc-original-quiz .rc-answer-option input:checked+span{background:rgba(52,152,219,.12)!important;box-shadow:none!important}.rc-original-quiz .rc-player-bottom{max-width:900px;margin:10px auto 0!important;background:rgba(255,255,255,.94)!important;border:0!important;justify-content:center}.rc-original-quiz .rc-submit-quiz{min-width:160px}

@media(max-width:900px){.rc-original-course-header{align-items:flex-start!important;flex-direction:column!important}.rc-original-course-header .rc-course-actions{width:100%;justify-content:flex-start}.rc-original-player-layout{grid-template-columns:1fr!important}.rc-original-player-layout>.rc-lesson-main{padding:0 0 16px}.rc-original-sidebar{position:static!important;min-height:0;border-left:0!important;border-top:1px solid #e5e7eb!important}.rc-original-quiz .rc-quiz-banner{grid-template-columns:90px 1fr}.rc-original-quiz .rc-quiz-totals{grid-column:1/-1;justify-content:center}.controls.rc-main-controls{top:72px}}
@media(max-width:650px){.rc-header-inner{padding:8px 4px;align-items:center}.rc-brand-logo{height:32px!important;max-width:180px!important}.rc-main-nav>a:not(.rc-points-link){font-size:12px;padding:0 6px}.rc-user-chip{display:none}.rc-main-container{width:calc(100% - 16px);padding-left:0;padding-right:0}.rc-page-title-row{align-items:flex-start;flex-direction:column}.controls-left,.search-wrap,#courseFilter{width:100%;min-width:0;max-width:none}.next-action-card{align-items:flex-start;flex-direction:column}.next-action-buttons{width:100%}.next-action-btn{width:100%}.rc-original-course-header .rc-course-actions{gap:6px}.course_btn,.tabs-points{flex:1 1 auto;text-align:center;margin-left:0}.rc-original-quiz .rc-quiz-banner{grid-template-columns:1fr;text-align:center}.rc-original-quiz .rc-quiz-totals{flex-wrap:wrap}.rc-original-quiz .rc-quiz-body{padding:12px;background-size:auto 100%}.rc-original-quiz .rc-question-card h2,.rc-original-quiz .rc-answer-grid,.rc-original-quiz .quiz-clue,.rc-original-quiz .quiz-media{margin-left:10px;margin-right:10px}.rc-document-full .lesson-document-frame{min-height:520px;height:70vh}}

/* v0.7 — audience split and final parity polish */
html,body,button,input,select,textarea{font-family:"Open Sans",Arial,sans-serif}
body{font-family:"Open Sans",Arial,sans-serif}
.rc-main-nav a.is-active{background:#f4f6f8;color:#111827}
.teacher-product-tag{display:inline-flex;align-items:center;margin-left:10px;padding:4px 8px;border-radius:999px;background:#f2f4f7;color:#344054;border:1px solid #e4e7ec;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}
.rc-main-brand{display:flex;align-items:center;text-decoration:none}

/* Teacher product: same brand, calmer professional treatment */
.teacher-app{background:#f5f7fa;color:#172033}
.teacher-app .rc-main-header{background:#fff;border-bottom:1px solid #e5e9ef;box-shadow:none}
.teacher-app .rc-header-inner{width:min(1220px,94vw)}
.teacher-app .rc-main-nav{gap:2px}
.teacher-app .rc-main-nav a{color:#536074;font-weight:700;border-radius:7px;padding-left:10px;padding-right:10px}
.teacher-app .rc-main-nav a:hover,.teacher-app .rc-main-nav a.is-active{background:#f3f5f8;color:#172033}
.teacher-app .rc-signout{font-weight:600!important}
.teacher-app .rc-user-chip{background:#f1f3f8;color:#303b59;border-color:#dde2eb}
.teacher-app .rc-main-container{width:min(1180px,94vw);margin-top:28px}
.teacher-app .hero,.teacher-app .card,.teacher-app .metric-card{border-color:#e1e6ed;box-shadow:0 5px 16px rgba(15,23,42,.045)}
.teacher-app .hero{padding:28px 30px;border-radius:14px;background:#fff;border-top:4px solid #ff4f5f}
.teacher-app .hero:before,.teacher-app .hero:after{display:none}
.teacher-app .hero h1{font-size:31px;letter-spacing:-.03em;color:#182238}
.teacher-app .hero p{max-width:820px;color:#58667a}
.teacher-app .eyebrow{color:#c73949;letter-spacing:.075em}
.teacher-app .card{border-radius:14px;padding:20px}
.teacher-app .card h2,.teacher-app .card h3{color:#202a3d}
.teacher-app .metric-grid{gap:12px}
.teacher-app .metric-card{border-radius:12px;padding:16px 18px;background:#fff}
.teacher-app .metric-card span{font-size:12px;color:#68758a}
.teacher-app .metric-card strong{font-size:27px;color:#172033}
.teacher-app .btn{border-radius:8px;background:#e84c5b;box-shadow:none;font-weight:750;padding:10px 14px}
.teacher-app .btn:hover{background:#d94252;transform:none;filter:none}
.teacher-app .btn.secondary{background:#fff;color:#273247;border:1px solid #cfd6df;box-shadow:none}
.teacher-app .btn.secondary:hover{background:#f8fafc;color:#172033}
.teacher-app .btn.light{background:#f3f5f8;color:#344054;border:1px solid #e2e6ec}
.teacher-app .btn.light:hover{background:#eceff3;color:#172033}
.teacher-app .table-wrap{border-radius:10px;border-color:#e1e6ed}
.teacher-app th{background:#f7f8fa;color:#6a7687}
.teacher-app tbody tr:hover{background:#fafbfc}
.teacher-app .field input,.teacher-app .field select,.teacher-app .field textarea,.teacher-app .filters select{border-radius:8px;border-color:#cfd6df}
.teacher-app .field input:focus,.teacher-app .field select:focus,.teacher-app .field textarea:focus,.teacher-app .filters select:focus{border-color:#dc6874;box-shadow:0 0 0 3px rgba(232,76,91,.10)}
.teacher-app .filters{padding:12px;background:#fff;border:1px solid #e1e6ed;border-radius:10px}
.teacher-app .progress-track{background:#e8edf2}
.teacher-app .progress-track span{background:#5f7de8}
.teacher-app .subject{color:#59677a;letter-spacing:.06em}
.teacher-app .class-banner{gap:14px}
.teacher-app .class-banner>.card{border-top:3px solid #e84c5b}
.teacher-app .class-code-card{border-radius:14px;background:#1c2740;box-shadow:0 5px 16px rgba(15,23,42,.10)}
.teacher-app .class-code-card .btn.secondary{background:#fff;color:#1d2942;border-color:#fff}
.teacher-app .quick-actions{gap:8px}
.teacher-app .quick-action{border-radius:9px;padding:13px 14px;border-color:#dfe4ea;background:#fbfcfd;color:#253048;font-size:14px}
.teacher-app .quick-action:hover{border-color:#d4dae3;background:#f6f8fa}
.teacher-app .quick-action span{font-size:11px;color:#738095;font-weight:600}
.teacher-app .recent-row .muted{display:block;font-size:13px}

/* Teacher learning library: restrained subject treatment, not pupil cards */
.teacher-app .rc-library-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.teacher-app .rc-library-card{border-radius:13px;box-shadow:0 4px 14px rgba(15,23,42,.045);border-color:#e1e6ed}
.teacher-app .rc-library-card:hover{transform:none;box-shadow:0 7px 18px rgba(15,23,42,.07);border-color:#d7dde6}
.teacher-app .rc-library-art{height:92px;justify-content:flex-start;padding:0 18px;background:#f7f8fa!important;border-bottom:1px solid #e5e9ef}
.teacher-app .rc-library-icon{width:48px;height:48px;border-radius:11px;display:grid;place-items:center;background:#fff;border:1px solid #dce2e9;color:#24314a;font-size:14px;font-weight:800;letter-spacing:-.02em;box-shadow:0 2px 5px rgba(15,23,42,.04)}
.teacher-app .rc-library-year{top:50%;right:16px;transform:translateY(-50%);background:#fff;border:1px solid #dde2e9;color:#566277}
.teacher-app .rc-library-body{padding:16px 17px}
.teacher-app .rc-library-body h2{font-size:18px;line-height:1.35;margin:8px 0 5px}
.teacher-app .rc-library-body p{color:#657286}
.teacher-app .rc-library-actions{gap:7px}

/* Teacher preview deliberately switches back to the pupil player language */
.teacher-preview-page{background:#f6f7fb}
.teacher-preview-page .rc-main-container{width:min(1300px,96vw);margin-top:16px}
.teacher-preview-page .footer{display:none}
.teacher-preview-page .teacher-preview-note{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px;padding:10px 12px;background:#fff;border:1px solid #dfe4ea;border-left:4px solid #1f7fc1;border-radius:7px;color:#4a5668}
.teacher-preview-page .teacher-preview-note>div{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.teacher-preview-page .teacher-preview-note strong{color:#1f2a3c}
.teacher-preview-page .teacher-preview-note span{font-size:13px}
.teacher-preview-page .rc-player-shell{background:#fff}
.teacher-preview-page .rc-original-course-header{font-family:"Open Sans",Arial,sans-serif}
.teacher-preview-page .teacher-preview-anchor{height:18px;scroll-margin-top:76px}
.teacher-preview-page .teacher-quiz-preview-layout{margin-top:0}
.teacher-preview-page .teacher-preview-sidebar-repeat{min-height:650px}
.teacher-preview-page .teacher-answer-key{max-width:820px;margin:12px 40px 0;padding:10px 12px;border-left:3px solid #64748b;background:#f8fafc;color:#39475a;font-size:12px;line-height:1.45}
.teacher-preview-page .teacher-answer-key span{display:block;color:#667085;margin-top:4px}
.teacher-preview-page .teacher-preview-short{margin:7px 40px 0}
.teacher-preview-page .teacher-preview-short input{background:#f8fafc;color:#7b8492}
.teacher-preview-page .teacher-preview-option{cursor:default}
.teacher-preview-page .teacher-preview-option input{pointer-events:none}
.teacher-preview-page .rc-original-quiz .rc-answer-option:hover span{background:transparent!important}

/* Pupil product: retain the playful family RewardClass feel */
.pupil-app{background:radial-gradient(1000px 700px at 15% 10%,rgba(124,92,255,.08),transparent 55%),radial-gradient(900px 600px at 85% 0%,rgba(255,176,32,.08),transparent 55%),linear-gradient(180deg,#fff,#f6f7fb)}
.pupil-app .rc-main-header{background:#fff}
.pupil-app .rc-main-nav a.is-active{background:#f5f5f7;color:#111827}
.pupil-app .rc-points-pill{background:#ffd93d;box-shadow:0 0 12px rgba(255,217,61,.65)}
.pupil-dashboard-page .rc-main-container{width:min(1180px,94vw)}
.pupil-player-page .rc-main-container{width:min(1320px,96vw);margin-top:14px;margin-bottom:24px}
.pupil-player-page .footer{display:none}
.pupil-player-page .rc-player-shell{border:1px solid #e5e7eb}
.pupil-player-page .rc-original-course-header{border-radius:0!important}
.pupil-player-page .rc-main-lesson-overview{margin-top:12px!important}
.pupil-player-page .rc-results-panel h1{color:#172033}
.pupil-player-page .rc-results-panel p{max-width:620px;margin-left:auto;margin-right:auto}
.pupil-player-page .rc-answer-sheet{border-radius:10px}

/* Auth screens */
.teacher-auth{background:#f5f7fa}
.teacher-auth .rc-main-container{max-width:880px}
.teacher-auth .form-card{max-width:680px;border-radius:14px;border-top:4px solid #e84c5b;box-shadow:0 8px 22px rgba(15,23,42,.07)}
.teacher-auth .form-card h1{color:#1d2940;margin-bottom:4px}
.teacher-auth .btn{border-radius:8px;box-shadow:none}
.pupil-auth{background:radial-gradient(900px 500px at 15% 0%,rgba(124,92,255,.10),transparent 58%),radial-gradient(760px 480px at 85% 10%,rgba(255,216,77,.17),transparent 58%),#f8f8fb}
.pupil-auth .form-card{max-width:620px;border:2px solid rgba(15,23,42,.08);border-radius:22px;box-shadow:0 18px 42px rgba(15,23,42,.10)}
.pupil-auth .form-card h1{font-size:34px;color:#172033}
.pupil-auth .field input{font-size:17px;padding:13px 14px}
.pupil-auth .btn{background:#ef4444;border-radius:12px}

@media(max-width:900px){
  .teacher-app .rc-main-container,.pupil-app .rc-main-container{width:calc(100% - 24px)}
  .teacher-app .hero{padding:24px}
  .teacher-app .rc-library-grid{grid-template-columns:1fr 1fr}
  .teacher-preview-page .teacher-preview-sidebar-repeat{min-height:0}
}
@media(max-width:760px){
  .rc-header-inner{flex-direction:column;align-items:stretch;gap:5px;padding:9px 0}
  .rc-main-brand{min-width:0;justify-content:flex-start}
  .rc-main-nav{margin-left:0;display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  .rc-main-nav::-webkit-scrollbar{display:none}
  .rc-main-nav a{flex:0 0 auto}
  .teacher-app .rc-main-nav a,.pupil-app .rc-main-nav a{padding-left:8px;padding-right:8px}
  .teacher-app .metric-grid.four{grid-template-columns:1fr 1fr}
  .teacher-app .filters{grid-template-columns:1fr 1fr}
  .teacher-app .rc-library-grid{grid-template-columns:1fr}
  .teacher-preview-page .teacher-preview-note{align-items:flex-start;flex-direction:column}
  .teacher-preview-page .teacher-answer-key,.teacher-preview-page .teacher-preview-short{margin-left:10px;margin-right:10px}
}
@media(max-width:520px){
  .teacher-product-tag{font-size:10px;padding:3px 6px;margin-left:7px}
  .teacher-app .metric-grid.four,.teacher-app .filters{grid-template-columns:1fr}
  .teacher-app .hero h1{font-size:27px}
  .teacher-app .rc-main-nav .rc-user-chip,.teacher-app .rc-signout{display:none}
  .pupil-app .rc-signout{display:none}
  .pupil-app .rc-main-nav a:not(.rc-points-link){font-size:12px}
  .pupil-auth .form-card h1{font-size:29px}
}
.teacher-auth .btn{background:#e84c5b;color:#fff;box-shadow:none;border-radius:8px}
.teacher-auth .btn:hover{background:#d94252;transform:none;filter:none}
.teacher-auth .btn.secondary,.teacher-auth .btn.light{background:#fff;color:#344054;border:1px solid #d7dde5;box-shadow:none}
.teacher-auth .btn.secondary:hover,.teacher-auth .btn.light:hover{background:#f6f8fa;color:#172033}
.pupil-auth .btn.light{background:#f2f4f7;color:#334155;box-shadow:none}
.pupil-auth .btn.light:hover{background:#e9edf2;color:#111827}


/* v0.8 — pupil school context, Homework terminology and calmer lesson spacing */
.pupil-app{background:linear-gradient(180deg,#ffffff 0,#f6f8fb 260px,#f4f6f9 100%)}
.pupil-dashboard-page .rc-main-container{width:min(1140px,calc(100% - 48px));margin-top:22px}
.rc-school-context{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:11px 14px;background:#fff;border:1px solid #dfe5ec;border-left:4px solid #3498db;border-radius:10px;color:#435066;box-shadow:0 3px 10px rgba(15,23,42,.035)}
.rc-school-context-main{display:flex;align-items:center;gap:10px;min-width:0}.rc-school-context-main strong{color:#172033;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rc-school-context-kicker{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#2474a8}.rc-school-context-details{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.rc-school-context-details span{font-size:12px;font-weight:650;color:#667085;background:#f6f8fa;border:1px solid #e5e9ef;border-radius:999px;padding:5px 9px}
.pupil-dashboard-page .rc-page-title-row h1{font-size:29px}.pupil-dashboard-page .rc-page-title-row p{color:#667085}.rc-school-points-summary{background:#fff8cf!important;border-color:#ecd66c!important;color:#57450b!important}
.pupil-dashboard-page .info-box.rc-main-info-box{background:#f7fafc;border-color:#dfe7ef;border-radius:10px}.pupil-dashboard-page .rc-info-icon{color:#2474a8}
.rc-school-next-action{border-left:5px solid #3498db;border-radius:12px;box-shadow:0 5px 16px rgba(15,23,42,.055)}.rc-school-next-action .next-action-kicker{color:#2474a8}.rc-school-all-done{border-left-color:#4caf50}
.pupil-dashboard-page .course-box{border-radius:14px;box-shadow:0 5px 16px rgba(15,23,42,.06);transition:box-shadow .16s ease,transform .16s ease}.pupil-dashboard-page .course-box:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,42,.085)}.pupil-dashboard-page .course-image{height:142px}.pupil-dashboard-page .rc-school-course-symbol{font-size:46px}.pupil-dashboard-page .status-pill{box-shadow:none;backdrop-filter:none}.pupil-dashboard-page .course-details{padding:15px}.rc-assigned-by{font-size:11px;font-weight:800;letter-spacing:.025em;text-transform:uppercase;color:#667085;margin-bottom:-4px}.pupil-dashboard-page .course-meta span{border-radius:7px;background:#f7f8fa}.pupil-dashboard-page .next-action-btn{border-radius:8px;box-shadow:none}.pupil-dashboard-page .next-action-btn.primary{background:#e84c5b}.pupil-dashboard-page .next-action-btn.primary:hover{background:#d94252}

/* Give the school lesson player deliberate desktop breathing room. */
.pupil-player-page{background:#f4f6f9}
.pupil-player-page .rc-main-container{width:min(1280px,calc(100% - 64px));margin:20px auto 32px;padding:0}
.pupil-player-page .rc-player-shell{max-width:1280px;margin:0 auto;border:1px solid #dfe4ea;border-radius:8px;overflow:hidden;box-shadow:0 6px 20px rgba(15,23,42,.06);background:#fff}
.pupil-player-page .rc-original-course-header{border-radius:0!important}
.pupil-player-page .rc-original-player-layout>.rc-lesson-main{padding:0 24px 24px 24px}
.pupil-player-page .rc-original-sidebar{min-height:calc(100vh - 88px)}
.rc-homework-context-line{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 10px;padding-bottom:9px;border-bottom:1px solid #edf0f3;color:#667085;font-size:12px;font-weight:700}.rc-homework-context-line span:first-child{color:#2474a8}
.pupil-player-page .lesson-reward-banner{background:#fffaf0;border-color:#eadfb9;border-radius:8px}.pupil-player-page .lesson-reward-title{font-size:16px}.pupil-player-page .lesson-reward-icon{font-size:21px;transform:none}.pupil-player-page .lesson-reward-title strong{background:#fff1a8;color:#5a4610;border-radius:5px}.pupil-player-page .lesson-reward-bonus{color:#667085}.pupil-player-page .rc-start-quiz,.pupil-player-page .rc-submit-quiz{border-radius:8px!important;box-shadow:none!important}

/* Teacher preview follows the same revised pupil homework player. */
.teacher-preview-page .rc-main-container{width:min(1280px,calc(100% - 64px));margin:18px auto 30px;padding:0}
.teacher-preview-page .rc-player-shell{max-width:1280px;border:1px solid #dfe4ea;border-radius:8px;overflow:hidden;box-shadow:0 6px 20px rgba(15,23,42,.055)}
.teacher-preview-page .rc-original-player-layout>.rc-lesson-main{padding:0 24px 24px 24px}

@media(max-width:900px){
  .pupil-player-page .rc-main-container,.teacher-preview-page .rc-main-container{width:calc(100% - 24px);margin-top:12px}
  .pupil-player-page .rc-original-player-layout>.rc-lesson-main,.teacher-preview-page .rc-original-player-layout>.rc-lesson-main{padding:0 14px 18px}
  .rc-school-context{align-items:flex-start;flex-direction:column}.rc-school-context-details{justify-content:flex-start}
}
@media(max-width:650px){
  .pupil-dashboard-page .rc-main-container{width:calc(100% - 20px)}
  .pupil-player-page .rc-main-container,.teacher-preview-page .rc-main-container{width:calc(100% - 12px);margin-top:6px}
  .pupil-player-page .rc-player-shell,.teacher-preview-page .rc-player-shell{border-radius:5px}
  .pupil-player-page .rc-original-player-layout>.rc-lesson-main,.teacher-preview-page .rc-original-player-layout>.rc-lesson-main{padding:0 9px 14px}
  .rc-school-context{margin-bottom:14px;padding:10px 11px}.rc-school-context-main{align-items:flex-start;flex-direction:column;gap:3px}.rc-school-context-details{gap:5px}.rc-school-context-details span{font-size:11px}
  .pupil-dashboard-page .course-image{height:126px}.pupil-dashboard-page .rc-school-course-symbol{font-size:40px}
}


/* Override the older :has() full-width player rule with the v0.8 school margins. */
.pupil-app.pupil-player-page .rc-main-container:has(.rc-player-shell){width:min(1280px,calc(100% - 64px));max-width:1280px;padding:0;margin:20px auto 32px}
@media(max-width:900px){.pupil-app.pupil-player-page .rc-main-container:has(.rc-player-shell){width:calc(100% - 24px);margin:12px auto 28px}}
@media(max-width:650px){.pupil-app.pupil-player-page .rc-main-container:has(.rc-player-shell){width:calc(100% - 12px);margin:6px auto 20px}}

/* v0.10 — teacher-awarded school recognition */
.teacher-rewards-page .rc-main-container,.teacher-award-page .rc-main-container{width:min(1180px,calc(100% - 48px));margin-top:26px}
.reward-page-heading{align-items:flex-end}.reward-page-heading h1{margin:4px 0 5px}
.reward-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reward-class-choice{display:flex;flex-direction:column;padding:16px;border:1px solid #dfe4ea;border-radius:10px;text-decoration:none;color:#1d2940;background:#fff}.reward-class-choice:hover{border-color:#e84c5b;background:#fffafa}.reward-class-choice span{font-size:12px;color:#667085;margin-top:3px}
.reward-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reward-type-choice{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #dfe4ea;border-radius:10px;padding:12px;background:#fff;cursor:pointer;position:relative}.reward-type-choice:hover{border-color:#c6d2df}.reward-type-choice:has(input:checked){border-color:#3498db;box-shadow:0 0 0 2px rgba(52,152,219,.09);background:#fbfdff}.reward-type-choice input{position:absolute;opacity:0;pointer-events:none}.reward-type-icon,.reward-manage-icon{width:34px;height:34px;border-radius:8px;background:#fff8cf;border:1px solid #ecd66c;color:#6b5200;display:grid;place-items:center;font-weight:900}.reward-type-copy{display:flex;flex-direction:column}.reward-type-copy strong{color:#1d2940}.reward-type-copy small{color:#667085;font-size:12px;line-height:1.35}.reward-type-points{font-size:12px;font-weight:800;color:#536174;background:#f5f7f9;border-radius:999px;padding:5px 8px;white-space:nowrap}
.reward-type-list{display:flex;flex-direction:column}.reward-manage-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #eef0f4}.reward-manage-row:last-child{border-bottom:0}.reward-manage-row .body{flex:1;min-width:0}.reward-manage-row.is-inactive{opacity:.55}.reward-manage-row form{margin:0}.reward-recent-row .muted{display:block;font-size:12px;margin-top:2px}
.teacher-class-page .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-class-page .metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}

.pupil-awards-page{background:linear-gradient(180deg,#fff 0,#f6f8fb 260px,#f4f6f9 100%)}.pupil-awards-page .rc-main-container{width:min(1040px,calc(100% - 48px));margin-top:22px}.pupil-awards-shell .rc-page-title-row{margin-bottom:18px}.pupil-awards-shell .rc-page-title-row h1{font-size:29px;margin-bottom:4px}.pupil-awards-shell .rc-page-title-row p{color:#667085;margin:0}.pupil-award-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pupil-award-card{display:flex;gap:14px;background:#fff;border:1px solid #dfe5ec;border-radius:13px;padding:18px;box-shadow:0 4px 14px rgba(15,23,42,.045)}.pupil-award-icon{flex:0 0 46px;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#fff5b8;border:1px solid #ead36a;color:#715708;font-size:22px}.pupil-award-body{min-width:0}.pupil-award-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#2474a8;font-weight:800}.pupil-award-card h2{font-size:18px;margin:3px 0 5px;color:#172033}.pupil-award-card p{font-size:13px;color:#667085;margin:0 0 7px}.pupil-award-card blockquote{margin:9px 0;padding:8px 10px;background:#f7f9fb;border-left:3px solid #3498db;border-radius:0 7px 7px 0;color:#435066;font-size:13px}.pupil-award-meta{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:9px}.pupil-award-meta span,.pupil-award-meta strong{font-size:11px;padding:4px 7px;border-radius:6px;background:#f5f7f9;color:#667085}.pupil-award-meta strong{background:#fff8cf;color:#614b08}
.pupil-dashboard-awards{margin:0 0 18px;padding:14px;background:#fff;border:1px solid #dfe5ec;border-radius:11px}.pupil-dashboard-awards h2{font-size:18px;margin:0}.pupil-dashboard-awards p{margin:1px 0 0;font-size:12px}.pupil-dashboard-awards .split{margin-bottom:10px}.pupil-mini-award-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.pupil-mini-award{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid #e6eaf0;border-radius:9px;color:#172033;text-decoration:none;background:#fbfcfd}.pupil-mini-award:hover{border-color:#d7c45e;background:#fffdf3}.pupil-mini-award-star{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;background:#fff5b8;color:#715708}.pupil-mini-award span:nth-child(2){display:flex;flex-direction:column;min-width:0}.pupil-mini-award strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pupil-mini-award small{font-size:10px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pupil-mini-award b{font-size:11px;color:#67520d;background:#fff8cf;padding:4px 6px;border-radius:6px}

@media(max-width:900px){.reward-type-grid,.pupil-award-grid{grid-template-columns:1fr}.reward-class-grid{grid-template-columns:1fr 1fr}.pupil-mini-award-grid{grid-template-columns:1fr 1fr}.teacher-class-page .metric-grid.four{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.teacher-rewards-page .rc-main-container,.teacher-award-page .rc-main-container,.pupil-awards-page .rc-main-container{width:calc(100% - 20px)}.reward-class-grid,.pupil-mini-award-grid{grid-template-columns:1fr}.reward-type-choice{grid-template-columns:32px minmax(0,1fr)}.reward-type-points{grid-column:2}.pupil-award-card{padding:14px}.pupil-app .rc-main-nav a:not(.rc-points-link){font-size:11px}}

/* v0.11 automatic school achievements */
.rc-auto-achievements{margin:20px auto 24px;max-width:700px;text-align:left;background:#fff;border:1px solid #e4eaf1;border-radius:14px;padding:18px;box-shadow:0 8px 22px rgba(20,43,70,.08)}
.rc-auto-achievement{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #edf1f5}
.rc-auto-achievement:first-of-type{margin-top:8px}
.rc-auto-achievement-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff4b8;font-size:24px}
.rc-auto-achievement strong,.rc-auto-achievement small{display:block}.rc-auto-achievement small{margin-top:3px;color:#657386}.rc-auto-achievement b{white-space:nowrap;color:#183b63}
@media(max-width:640px){.rc-auto-achievement{grid-template-columns:40px 1fr}.rc-auto-achievement b{grid-column:2}}

/* v0.12 · Teacher-created Homework + Quiz */
.teacher-homework-builder{max-width:1040px}
.builder-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:30px 0 14px;padding-top:22px;border-top:1px solid #e5e7eb}
.builder-section-heading h2{margin:3px 0 2px;color:#1d2940}
.teacher-question-builder{border:1px solid #dfe4ea;border-radius:12px;padding:18px;margin:0 0 14px;background:#fbfcfd;box-shadow:0 2px 7px rgba(15,23,42,.03)}
.teacher-question-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:#1d2940}
.teacher-question-top strong{font-size:16px}
.text-button{border:0;background:transparent;padding:3px 5px;font:inherit;font-weight:700;cursor:pointer;color:#36516f}
.text-button.danger{color:#c33d4b}
.teacher-answer-fields{border-left:3px solid #e7ebf0;padding-left:14px;margin:4px 0 13px}
.teacher-quiz-total{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-radius:10px;background:#f2f5f8;margin:18px 0;color:#1d2940}
.teacher-quiz-total span:first-child{font-weight:700;color:#667085}
.teacher-assignment-resource-summary{border-left:4px solid #3878c8}
.teacher-homework-resource{padding:20px!important}
.homework-resource-image{display:block;max-width:100%;height:auto;margin:18px auto 0;border:1px solid #e5e7eb;border-radius:8px}
.homework-resource-pdf{width:100%;height:720px;border:1px solid #dfe4ea;border-radius:8px;margin-top:16px;background:#fff}
.homework-download-card{text-align:center;padding:34px 20px;background:#f7f8fa;border:1px dashed #cbd2da;border-radius:10px;margin-top:16px}
.homework-download-card strong{display:block;font-size:18px;color:#1d2940}
.homework-download-card p{color:#667085;margin:6px 0 16px}
@media(max-width:760px){
  .builder-section-heading,.teacher-quiz-total{align-items:stretch;flex-direction:column}
  .teacher-homework-builder .grid.two,.teacher-question-builder .grid.two{grid-template-columns:1fr}
  .homework-resource-pdf{height:520px}
}

/* v0.13 · Pupil homework submissions */
.teacher-upload-choice{display:flex;gap:12px;align-items:flex-start;margin:16px 0 22px;padding:14px 16px;border:1px solid #dbe3eb;border-radius:10px;background:#f8fafc;cursor:pointer}
.teacher-upload-choice input{margin-top:4px;accent-color:#2f7dcc}.teacher-upload-choice span{display:flex;flex-direction:column;gap:3px}.teacher-upload-choice strong{color:#1d2940}.teacher-upload-choice small{color:#667085;line-height:1.4}
.pupil-submission-page{background:#f4f6f9}.pupil-submission-page .rc-main-container{width:min(1080px,calc(100% - 48px));margin-top:24px}.pupil-submit-shell{padding-bottom:34px}.pupil-submit-grid{align-items:start}.pupil-submit-grid>.card{height:100%}
.submission-file-card{display:flex;flex-direction:column;gap:6px;padding:14px;margin:14px 0;border:1px solid #dfe5ec;border-radius:10px;background:#fbfcfd}.submission-file-card strong{color:#1d2940;overflow-wrap:anywhere}.submission-file-card span{font-size:12px;color:#667085}.submission-file-card .btn{align-self:flex-start;margin-top:5px}
.submission-feedback{margin-top:14px;padding:13px 14px;border-radius:9px;border-left:4px solid #2f7dcc;background:#f3f8fe;color:#31435b}.submission-feedback.returned{border-left-color:#d58a1f;background:#fff8eb}.submission-feedback strong{display:block;color:#1d2940}.submission-feedback p{margin:5px 0 0;line-height:1.5}
.submission-next-step{display:flex;align-items:center;gap:12px;margin-top:16px}.submission-next-step strong{color:#1d2940}.submission-next-step span{flex:1;color:#667085;font-size:13px}.pupil-upload-prompt{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;border-left:4px solid #2f7dcc}.pupil-upload-prompt h2{margin:3px 0 4px}.result-submission-cta{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}
.teacher-review-grid{align-items:start}.teacher-review-grid .card{height:auto}.submission-preview{height:680px}.submission-review-link{display:flex;flex-direction:column;gap:2px;color:#215f99;text-decoration:none;min-width:180px}.submission-review-link:hover{text-decoration:underline}.submission-review-link small{font-size:11px;color:#667085;font-weight:400}.teacher-submission-summary{display:flex;align-items:center;justify-content:space-between;gap:18px}.teacher-submission-summary span{color:#667085;font-size:13px}
.status-pill.status-returned{background:#fff0d7;color:#8b5a12;border-color:#f0c77e}.rc-homework-note.returned{border-left:3px solid #d58a1f;background:#fff8eb;color:#6a4b1c;padding:9px 10px;border-radius:0 7px 7px 0}.rc-card-button-row{display:flex;gap:8px;flex-wrap:wrap}.next-action-btn.secondary{background:#fff;color:#315a82;border:1px solid #c9d6e3}.next-action-btn.secondary:hover{background:#f5f8fb}
@media(max-width:760px){.pupil-submission-page .rc-main-container{width:calc(100% - 20px)}.pupil-submit-grid,.teacher-review-grid{grid-template-columns:1fr}.pupil-upload-prompt,.submission-next-step,.teacher-submission-summary{align-items:flex-start;flex-direction:column}.submission-preview{height:500px}}

/* v0.14 · Teacher Review Centre */
.dashboard-attention-card{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(420px,1.6fr) auto;gap:22px;align-items:center;margin:0 0 20px;padding:20px 22px;border:1px solid #d9e2ec;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.04)}
.dashboard-attention-card.has-attention{border-left:5px solid #e76f5f}.dashboard-attention-card.is-clear{border-left:5px solid #4aa36b}.dashboard-attention-copy h2{margin:3px 0 4px;font-size:20px;color:#1c2940}.dashboard-attention-copy p{margin:0;color:#667085;font-size:13px;line-height:1.45}.dashboard-attention-stats{display:grid;grid-template-columns:repeat(4,minmax(82px,1fr));gap:8px}.dashboard-attention-stats a{display:flex;flex-direction:column;gap:1px;padding:10px 11px;border:1px solid #e3e8ee;border-radius:9px;text-decoration:none;background:#fafbfd}.dashboard-attention-stats a:hover{border-color:#b9c9da;background:#f5f8fb}.dashboard-attention-stats strong{font-size:21px;color:#213652}.dashboard-attention-stats span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#748092;font-weight:700}
.teacher-review-centre-page{background:#f5f7f9}.teacher-review-centre-page .rc-main-container{width:min(1240px,calc(100% - 48px));margin-top:24px}.review-centre-heading{align-items:flex-end;margin-bottom:18px}.review-centre-heading h1{margin:4px 0 4px}.review-centre-metrics{margin-bottom:16px}.review-metric{display:flex;flex-direction:column;text-decoration:none;transition:.15s ease}.review-metric small{display:block;margin-top:5px;color:#748092;font-size:11px;font-weight:600}.review-metric:hover,.review-metric.is-active{border-color:#94acc4;box-shadow:0 7px 18px rgba(31,57,83,.08);transform:translateY(-1px)}.review-filter-card{padding:16px 18px;margin-bottom:22px}.review-filter-form{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(260px,1.35fr) auto;gap:12px;align-items:end}.review-filter-form .field{margin:0}.review-filter-actions{display:flex;gap:8px;padding-bottom:1px}.review-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid #edf0f3}.review-tabs a{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:8px;text-decoration:none;color:#4e5c6d;font-size:12px;font-weight:700;background:#f5f7f9;border:1px solid transparent}.review-tabs a b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e7ebf0;color:#34445a;font-size:10px}.review-tabs a:hover,.review-tabs a.is-active{background:#fff;border-color:#cbd7e3;color:#1f4f7e}.review-tabs a.is-active b{background:#e7f1fb;color:#1f5f98}.review-queue-section{margin:0 0 24px}.review-queue-section>.split{margin:0 2px 10px}.review-queue-section h2{font-size:20px;margin:2px 0 2px;color:#1d2940}.review-queue-section p{margin:0;font-size:12px}.queue-count{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border-radius:999px;background:#eaf0f6;color:#244d75;font-weight:800}.review-queue-card{padding:0;overflow:hidden}.review-row-list{display:flex;flex-direction:column}.review-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:15px 18px;border-top:1px solid #edf0f3;background:#fff}.review-row:first-child{border-top:0}.review-row.priority-row{border-left:4px solid #df685b;padding-left:14px}.review-row.achievement-row{border-left:4px solid #4fa36e;padding-left:14px}.review-row-main{min-width:0}.review-row-main>span{display:block;margin:3px 0 2px;color:#324257;font-size:13px;font-weight:600}.review-row-main>small{display:block;color:#748092;font-size:11px}.review-row-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.review-row-top strong{font-size:14px;color:#172338}.review-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:360px}.review-row-actions .btn{padding:7px 10px;font-size:12px}.review-row-actions .text-link,.text-link{font-size:12px;font-weight:700;color:#2d689f;text-decoration:none}.review-row-actions .text-link:hover,.text-link:hover{text-decoration:underline}.score-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.score-pill.low{background:#fff0ed;color:#aa3c31;border:1px solid #f0c2bc}.review-row-actions .points-positive{white-space:nowrap}
@media(max-width:1050px){.dashboard-attention-card{grid-template-columns:1fr}.dashboard-attention-stats{grid-template-columns:repeat(4,1fr)}.dashboard-attention-card>.btn{justify-self:start}.review-centre-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.teacher-review-centre-page .rc-main-container{width:calc(100% - 20px)}.review-filter-form{grid-template-columns:1fr}.review-filter-actions{padding:0}.review-row{grid-template-columns:1fr;gap:10px}.review-row-actions{justify-content:flex-start;max-width:none}.dashboard-attention-stats{grid-template-columns:1fr 1fr}.review-centre-heading{align-items:flex-start;flex-direction:column}.review-centre-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.review-centre-metrics{grid-template-columns:1fr}.dashboard-attention-stats{grid-template-columns:1fr 1fr}.review-tabs a{flex:1 1 auto;justify-content:center}}

/* v0.15 — pupil progress/results and Rewards terminology */
.pupil-progress-page,.pupil-result-page,.pupil-rewards-page{background:linear-gradient(180deg,#fff 0,#f6f8fb 260px,#f4f6f9 100%)}
.pupil-progress-page .rc-main-container,.pupil-result-page .rc-main-container,.pupil-rewards-page .rc-main-container{width:min(1080px,calc(100% - 48px));margin-top:22px}
.pupil-progress-shell .rc-page-title-row,.pupil-result-shell .rc-page-title-row{margin-bottom:18px}
.pupil-progress-shell .rc-page-title-row h1,.pupil-result-shell .rc-page-title-row h1{font-size:29px;margin-bottom:4px}
.pupil-progress-shell .rc-page-title-row p,.pupil-result-shell .rc-page-title-row p{margin:0;color:#667085}
.pupil-progress-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}
.progress-summary-card{background:#fff;border:1px solid #dfe5ec;border-radius:12px;padding:16px;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.progress-summary-card>span{display:block;color:#667085;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.progress-summary-card>strong{display:block;color:#172033;font-size:28px;line-height:1.15;margin:5px 0 3px;letter-spacing:-.035em}
.progress-summary-card>small{display:block;color:#7a8492;font-size:11px;line-height:1.4}
.weekly-progress-card{border-radius:13px;padding:18px;margin-bottom:24px;box-shadow:none}.weekly-progress-card h2{font-size:20px;margin:2px 0 2px}.weekly-goal-count{font-size:28px;color:#1f5f98;white-space:nowrap}.weekly-goal-track{height:9px;margin:12px 0 10px}.weekly-goal-track span{background:#3498db}.weekly-goal-dots{display:flex;gap:9px}.weekly-goal-dots span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #d7dee6;background:#f8fafc;color:#8290a1;font-size:11px;font-weight:800}.weekly-goal-dots span.done{background:#e9f8ef;border-color:#9ed7b2;color:#287547}
.progress-section{margin:0 0 26px}.progress-section>.split{margin-bottom:11px}.progress-section h2{font-size:20px;margin:0 0 2px;color:#1d2940}.progress-section>.split p{margin:0;font-size:12px}
.subject-progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.subject-progress-card{background:#fff;border:1px solid #dfe5ec;border-radius:11px;padding:14px}.subject-progress-card>strong{display:block;font-size:15px;color:#172033;margin:11px 0 7px}.subject-progress-card>div{display:flex;gap:6px;flex-wrap:wrap}.subject-progress-card>div span{font-size:10px;font-weight:750;color:#667085;background:#f5f7f9;border-radius:6px;padding:4px 6px}
.progress-result-list{display:flex;flex-direction:column;gap:9px}.progress-result-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid #dfe5ec;border-radius:12px;padding:14px 15px;box-shadow:0 3px 10px rgba(15,23,42,.035)}.progress-result-icon{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:#eef4ff;color:#3538cd;font-weight:900}.progress-result-icon.english{background:#fff0ec;color:#c4320a}.progress-result-icon.reading{background:#ecfdf3;color:#027a48}.progress-result-icon.science{background:#eef8f7;color:#0b736b}.progress-result-icon.geography{background:#eef8ff;color:#246b91}.progress-result-icon.history{background:#faf2e9;color:#895a25}.progress-result-icon.computing{background:#f2f0ff;color:#5c4bb7}.progress-result-icon.homework{background:#f5f7f9;color:#536174}.progress-result-main{min-width:0}.progress-result-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.progress-result-top>span:last-child{font-size:10px;color:#8791a0}.progress-result-row h3{font-size:15px;margin:5px 0 6px;color:#172033}.progress-result-stats{display:flex;gap:7px;flex-wrap:wrap}.progress-result-stats>span{font-size:10px;color:#667085;background:#f6f8fa;border-radius:6px;padding:4px 6px}.progress-result-stats strong{color:#26364a}.progress-feedback-preview{margin-top:7px;color:#536174;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-result-action{align-self:center}.progress-result-action .next-action-btn{white-space:nowrap}
.result-page-actions{display:flex;justify-content:space-between;gap:12px;margin:0 0 12px}.result-page-actions a{font-size:12px;font-weight:800;text-decoration:none;color:#2d689f}.result-hero-card{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:18px;background:#fff;border:1px solid #dfe5ec;border-radius:14px;padding:22px;margin-bottom:12px;box-shadow:0 5px 18px rgba(15,23,42,.045)}.result-hero-copy .subject-pill{margin-left:7px}.result-hero-copy h1{font-size:27px;line-height:1.2;margin:11px 0 4px;color:#172033}.result-hero-copy p{margin:0;color:#667085;font-size:12px}.result-hero-score{text-align:center;padding:16px;border-radius:12px;background:#eef7ff;border:1px solid #cfe5f8}.result-hero-score strong{display:block;font-size:42px;line-height:1;color:#1f5f98;letter-spacing:-.04em}.result-hero-score span{display:block;margin-top:5px;color:#60758b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.result-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}.result-stat{background:#fff;border:1px solid #dfe5ec;border-radius:11px;padding:14px}.result-stat>span,.result-stat>small{display:block}.result-stat>span{font-size:10px;color:#667085;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.result-stat>strong{display:block;font-size:25px;color:#172033;margin:4px 0 2px}.result-stat>small{font-size:10px;color:#7f8996}.result-stat.reward{background:#fffdf3;border-color:#eadb8a}.result-stat.reward>strong{color:#6f5711}
.result-feedback-card{padding:18px;border-radius:12px;box-shadow:none;margin-bottom:18px}.result-feedback-card h2{font-size:19px;margin:3px 0 7px}.result-feedback-card blockquote{margin:8px 0 12px;padding:10px 12px;background:#f7f9fb;border-left:3px solid #3498db;border-radius:0 8px 8px 0;color:#435066}.result-earned-reward{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;align-items:center;background:#fffdf2;border:1px solid #eadb8a;border-radius:12px;padding:15px 17px;margin-bottom:20px}.result-earned-reward h2{font-size:17px;margin:2px 0}.result-earned-reward p{margin:0;color:#667085;font-size:11px}.result-earned-reward>strong{color:#6f5711;font-size:16px;white-space:nowrap}
.result-answer-list{display:flex;flex-direction:column;gap:10px}.result-answer-card{background:#fff;border:1px solid #dfe5ec;border-left:4px solid #b6c0cc;border-radius:11px;padding:15px 16px}.result-answer-card.correct{border-left-color:#4fa36e}.result-answer-card.wrong{border-left-color:#df685b}.result-answer-heading{display:flex;align-items:center;gap:8px}.result-answer-heading>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f2f4f7;color:#536174;font-weight:900}.result-answer-card.correct .result-answer-heading>span{background:#e9f8ef;color:#287547}.result-answer-card.wrong .result-answer-heading>span{background:#fff0ed;color:#aa3c31}.result-answer-heading strong{font-size:12px;color:#536174}.result-answer-heading b{margin-left:auto;font-size:11px;color:#536174}.result-answer-card h3{font-size:15px;line-height:1.45;margin:10px 0;color:#172033}.result-answer-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.result-answer-values p{margin:0;padding:9px 10px;border-radius:8px;background:#f7f9fb}.result-answer-values span,.result-answer-values strong{display:block}.result-answer-values span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#7b8795;font-weight:800}.result-answer-values strong{margin-top:2px;font-size:12px;color:#2e3b4e}.result-explanation{margin-top:9px;font-size:11px;color:#5f6e7e;padding:8px 10px;background:#fbfcfd;border-radius:7px}.result-complete-note{border-radius:12px;box-shadow:none}.result-bottom-actions{display:flex;gap:9px;justify-content:center;margin:22px 0 8px}.rc-result-actions{justify-content:center;margin-top:12px}

@media(max-width:900px){.pupil-progress-metrics,.result-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.pupil-progress-page .rc-main-container,.pupil-result-page .rc-main-container,.pupil-rewards-page .rc-main-container{width:calc(100% - 20px)}.pupil-progress-metrics,.result-stat-grid,.subject-progress-grid{grid-template-columns:1fr 1fr}.progress-result-row{grid-template-columns:38px minmax(0,1fr);gap:10px}.progress-result-icon{width:38px;height:38px}.progress-result-action{grid-column:2}.result-hero-card{grid-template-columns:1fr}.result-hero-score{text-align:left}.result-hero-score strong{font-size:34px}.result-answer-values{grid-template-columns:1fr}.result-earned-reward{grid-template-columns:42px minmax(0,1fr)}.result-earned-reward>strong{grid-column:2}.progress-title-row{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.pupil-progress-metrics,.result-stat-grid,.subject-progress-grid{grid-template-columns:1fr}.result-page-actions{flex-direction:column}.result-bottom-actions{flex-direction:column}.result-bottom-actions .next-action-btn{width:100%}}
.pupil-title-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pupil-title-actions .next-action-btn{white-space:nowrap}
@media(max-width:650px){.pupil-dashboard-page .rc-page-title-row{align-items:flex-start;flex-direction:column}.pupil-title-actions{justify-content:flex-start}}

/* v0.16 — completed homework remains open for revision */
.rc-course-image-link{display:block;text-decoration:none;color:inherit;position:relative;overflow:hidden}
.rc-course-image-link .course-image{transition:transform .18s ease,filter .18s ease}
.rc-course-image-link:hover .course-image,.rc-course-image-link:focus-visible .course-image{transform:scale(1.012);filter:saturate(.96)}
.rc-course-open-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-42%);z-index:4;opacity:0;pointer-events:none;background:rgba(17,24,39,.88);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:800;white-space:nowrap;transition:opacity .16s ease,transform .16s ease;box-shadow:0 8px 20px rgba(15,23,42,.18)}
.rc-course-image-link:hover .rc-course-open-overlay,.rc-course-image-link:focus-visible .rc-course-open-overlay{opacity:1;transform:translate(-50%,-50%)}
.rc-school-course-image.is-completed:after{content:'✓';position:absolute;right:14px;bottom:13px;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#287547;border:2px solid #75bf90;font-weight:950;font-size:16px;box-shadow:0 5px 12px rgba(15,23,42,.12)}
.rc-completed-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}
.rc-completed-card-actions .rc-card-action{margin-top:0}
.rc-review-mode-banner{background:#eef8f2!important;border-color:#b9dcc5!important}
.rc-review-mode-banner .lesson-reward-title{color:#245e3a}
.rc-review-mode-banner .lesson-reward-bonus{color:#4d6857}
.result-page-action-links{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.progress-result-action{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.progress-result-action .next-action-btn{margin:0}
@media(max-width:650px){.rc-course-open-overlay{opacity:1;top:auto;bottom:12px;transform:translateX(-50%);font-size:10px;padding:6px 10px;background:rgba(17,24,39,.78)}.rc-course-image-link:hover .rc-course-open-overlay,.rc-course-image-link:focus-visible .rc-course-open-overlay{transform:translateX(-50%)}.rc-school-course-image.is-completed:after{display:none}.rc-completed-card-actions{grid-template-columns:1fr}.result-page-action-links{justify-content:flex-start}.progress-result-action{justify-content:flex-start}}


/* v0.17 — rewards linked to the homework that earned them */
.pupil-award-card:target{border-color:#8bb6d9;box-shadow:0 0 0 3px rgba(52,152,219,.10),0 5px 16px rgba(15,23,42,.06)}
.reward-homework-links{margin:12px 0 4px;padding:11px 12px;border:1px solid #dce6ef;border-radius:10px;background:#f8fbfe;display:flex;flex-direction:column;gap:7px}
.reward-homework-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#4c6680}
.reward-homework-link{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:9px 10px;border:1px solid #dfe7ef;border-radius:8px;background:#fff;color:#244a70;text-decoration:none}
.reward-homework-link:hover{border-color:#a9bfd4;background:#f9fcff}.reward-homework-link strong{font-size:12px;color:#1f334a;min-width:0}.reward-homework-link span{font-size:10px;color:#6f7d8d;white-space:nowrap}.reward-homework-link span:last-child{font-weight:800;color:#2b6fa8}.reward-homework-link.is-static{grid-template-columns:minmax(0,1fr) auto}.reward-homework-link.is-static span:last-child{font-weight:600;color:#7a8794}
@media(max-width:650px){.reward-homework-link{grid-template-columns:1fr;gap:3px}.reward-homework-link span{white-space:normal}.reward-homework-link.is-static{grid-template-columns:1fr}}

/* v0.18 — make the School Points vs Rewards distinction explicit for pupils */
.result-reward-explainer{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #d7e3ee;border-radius:13px;padding:16px 18px;margin:0 0 12px;background:#f8fbfe}.result-reward-explainer.has-reward{background:#fffdf2;border-color:#eadb8a}.result-reward-explainer.no-reward{background:#f6fbf8;border-color:#cfe6d8}.result-reward-explainer-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:21px;font-weight:900;background:#fff;border:1px solid #dce5ec;color:#2e6d9e}.result-reward-explainer.has-reward .result-reward-explainer-icon{background:#fff5b8;border-color:#ead36a;color:#715708}.result-reward-explainer.no-reward .result-reward-explainer-icon{background:#eaf7ef;border-color:#b9dec7;color:#2f7d4f}.result-reward-explainer h2{font-size:18px;margin:3px 0 5px;color:#172033}.result-reward-explainer p{font-size:12px;line-height:1.55;color:#596879;margin:0}.result-reward-explainer>a{font-size:11px;font-weight:850;text-decoration:none;color:#2d689f;white-space:nowrap}.result-linked-rewards{display:flex;flex-direction:column;gap:9px;margin:0 0 20px}.result-linked-rewards .result-earned-reward{margin-bottom:0}.result-earned-reward small{display:block;margin-top:5px;color:#7a8696;font-size:10px}.result-earned-reward .recognition-only{font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:5px 8px;border-radius:7px;background:#f5f7f9;color:#667085}
.reward-points-explainer{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:10px;align-items:stretch;margin:0 0 20px}.reward-points-explainer-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:start;padding:14px 15px;background:#f7fbff;border:1px solid #d5e5f2;border-radius:12px}.reward-points-explainer-item.special{background:#fffdf2;border-color:#eadb8a}.reward-points-explainer-item>span{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#eaf5fd;color:#266b9f;font-size:18px;font-weight:900}.reward-points-explainer-item.special>span{background:#fff4b8;color:#72590d}.reward-points-explainer-item strong{display:block;color:#172033;font-size:14px;margin:1px 0 3px}.reward-points-explainer-item p{margin:0;color:#667085;font-size:11px;line-height:1.5}.reward-points-explainer-arrow{display:grid;place-items:center;color:#8b97a5;font-size:20px;font-weight:800}
@media(max-width:650px){.result-reward-explainer{grid-template-columns:42px minmax(0,1fr)}.result-reward-explainer>a{grid-column:2}.reward-points-explainer{grid-template-columns:1fr}.reward-points-explainer-arrow{transform:rotate(90deg);height:20px}.reward-points-explainer-item{grid-template-columns:38px minmax(0,1fr)}.reward-points-explainer-item>span{width:38px;height:38px}}
.rc-reward-result-message .rc-reward-result-help{margin:4px 0 6px;max-width:none;text-align:left;color:#667085;font-size:12px}.rc-reward-result-message>.text-link{display:inline-block;margin-top:10px;font-size:11px;font-weight:850}.rc-no-reward-message{max-width:700px;margin:18px auto 24px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;background:#f6fbf8;border:1px solid #cfe6d8;border-radius:13px;padding:14px 16px}.rc-no-reward-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e8f7ee;color:#2f7d4f;font-size:18px;font-weight:900}.rc-no-reward-message strong{display:block;color:#172033;font-size:13px}.rc-no-reward-message p{margin:3px 0 0!important;max-width:none!important;color:#667085!important;font-size:11px}.rc-no-reward-message>a{white-space:nowrap;font-size:11px;font-weight:850}
@media(max-width:640px){.rc-no-reward-message{grid-template-columns:40px minmax(0,1fr)}.rc-no-reward-message>a{grid-column:2}}

/* v0.19 — teacher-controlled milestones and automatic certificates */
.reward-class-switcher{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.reward-class-switcher>div:first-child{display:flex;flex-direction:column;gap:2px}.milestone-manager{margin-bottom:18px}.milestone-flow{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:13px 15px;margin:14px 0 18px;border:1px solid #e7e9ef;border-radius:13px;background:#fafbfc;font-size:12px}.milestone-flow span{color:#98a2b3}.milestone-list{display:flex;flex-direction:column;gap:10px}.milestone-card{border:1px solid #dde3ea;border-radius:15px;background:#fff;overflow:hidden}.milestone-card.is-inactive{opacity:.68;background:#f8f9fb}.milestone-card summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 17px}.milestone-card summary::-webkit-details-marker{display:none}.milestone-card[open] summary{border-bottom:1px solid #e7e9ef;background:#fbfcfd}.milestone-target strong,.milestone-target small,.milestone-reward strong,.milestone-reward small{display:block}.milestone-target strong{font-size:24px;line-height:1.05}.milestone-target small,.milestone-reward small{color:#667085;font-size:11px;margin-top:3px}.milestone-reward strong{font-size:14px}.milestone-badges{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.milestone-badges b{font-size:10px;padding:5px 8px;border-radius:999px;background:#f2f4f7;color:#475467;white-space:nowrap}.milestone-edit-form{padding:18px;background:#fbfcfd}.milestone-checks{display:flex;flex-direction:column;gap:8px;justify-content:center}.milestone-checks .check{margin:0}.add-milestone-card{margin-top:13px;border:1px dashed #cbd5e1;border-radius:14px;background:#fafbfc}.add-milestone-card>summary{cursor:pointer;padding:14px 16px;font-weight:850;color:#344054}.milestone-permanence-note{margin:14px 0 0}.milestone-empty{margin-bottom:18px}.pupil-certificate-action{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #edf0f4}.pupil-certificate-action span{font-size:10px;color:#667085}.rc-milestone-result-message{border-color:#eadb8a!important;background:#fffdf2!important}.rc-milestone-result-message .rc-auto-achievement span:nth-child(2){display:flex;flex-direction:column;align-items:flex-start}.rc-milestone-result-message .text-link{margin-top:3px;font-size:10px}
@media(max-width:760px){.reward-class-switcher{align-items:flex-start;flex-direction:column}.milestone-card summary{grid-template-columns:100px minmax(0,1fr)}.milestone-badges{grid-column:2;justify-content:flex-start}.milestone-flow{justify-content:flex-start}}
@media(max-width:520px){.milestone-card summary{grid-template-columns:1fr}.milestone-badges{grid-column:1}.milestone-target strong{font-size:20px}}


/* v0.19 — pupil dashboard milestone targets */
.pupil-next-milestones{margin:0 0 20px}.pupil-next-milestones>.split{margin-bottom:10px}.pupil-next-milestones h2{font-size:20px;margin:1px 0 2px;color:#1d2940}.pupil-next-milestones>.split p{margin:0;font-size:12px}.pupil-milestone-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pupil-milestone-progress-card{background:#fff;border:1px solid #dfe5ec;border-radius:13px;padding:14px 15px;box-shadow:0 3px 12px rgba(15,23,42,.035)}.pupil-milestone-progress-top{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center}.pupil-milestone-progress-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#f5f7fa;font-size:19px}.pupil-milestone-progress-top small{display:block;color:#7a8492;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.pupil-milestone-progress-top strong{display:block;color:#172033;font-size:14px;line-height:1.25;margin-top:2px}.pupil-milestone-progress-count{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:13px;color:#5e6877;font-size:10px;font-weight:750}.pupil-milestone-progress-count b{color:#1f5f98;font-size:11px}.pupil-milestone-progress-track{height:8px;border-radius:999px;background:#edf1f5;overflow:hidden;margin:7px 0 8px}.pupil-milestone-progress-track span{display:block;height:100%;border-radius:inherit;background:#3498db}.pupil-milestone-progress-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#667085;font-size:10px}.pupil-milestone-progress-foot b{font-size:9px;padding:4px 7px;border-radius:999px;background:#fff8df;color:#8a6812;white-space:nowrap}.pupil-milestone-all-done{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid #dfe5ec;border-radius:13px;padding:14px 15px}.pupil-milestone-all-done>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#fff8df;color:#8a6812;font-size:20px}.pupil-milestone-all-done.is-paused>span{background:#f4f6f8;color:#667085}.pupil-milestone-all-done strong{display:block;color:#172033;font-size:13px}.pupil-milestone-all-done p{margin:3px 0 0;color:#667085;font-size:11px}
@media(max-width:900px){.pupil-milestone-progress-grid{grid-template-columns:1fr 1fr}.pupil-milestone-progress-card:first-child{grid-column:1/-1}}
@media(max-width:650px){.pupil-milestone-progress-grid{grid-template-columns:1fr}.pupil-milestone-progress-card:first-child{grid-column:auto}.pupil-milestone-all-done{grid-template-columns:38px minmax(0,1fr)}.pupil-milestone-all-done>a{grid-column:2;justify-self:start}}


/* v0.20 — stronger milestone numbers, lesson previews and assigned-state cues */
.pupil-milestone-unit{margin-top:11px;color:#667085;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}
.pupil-milestone-number-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:7px}
.pupil-milestone-number-grid>div{background:#f7f9fb;border:1px solid #e4e9ef;border-radius:9px;padding:8px 7px;text-align:center;min-width:0}
.pupil-milestone-number-grid small{display:block;color:#788394;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.035em;line-height:1.2}
.pupil-milestone-number-grid strong{display:block;margin-top:2px;color:#172033;font-size:21px;line-height:1;font-weight:900}
.pupil-milestone-number-grid .remaining{background:#fff8df;border-color:#f1df9b}
.pupil-milestone-number-grid .remaining strong{color:#8a6812}
.pupil-milestone-progress-count{margin-top:10px;font-size:11px}.pupil-milestone-progress-count b{font-size:12px}
.pupil-milestone-progress-foot{font-size:11px}.pupil-milestone-progress-foot>span>strong{color:#172033;font-size:12px}
.rc-library-art{overflow:hidden}.rc-library-preview-img,.rc-course-preview-img,.rc-next-action-preview-img{display:block;width:100%;height:100%;object-fit:cover}
.rc-library-preview-img{position:absolute;inset:0}.rc-library-year{z-index:3}.rc-library-assigned-flag{position:absolute;left:12px;top:12px;z-index:4;padding:6px 9px;border-radius:999px;background:rgba(71,85,105,.92);color:#fff;font-size:10px;font-weight:900;letter-spacing:.02em}
.rc-library-card.is-assigned{border-color:#cbd5e1;background:#fafbfc}.rc-library-card.is-assigned .rc-library-art:after{content:'';position:absolute;inset:0;background:rgba(241,245,249,.28);z-index:2;pointer-events:none}.rc-library-card.is-assigned .rc-library-year,.rc-library-card.is-assigned .rc-library-assigned-flag{z-index:4}
.rc-assigned-note{margin-top:10px;border-radius:8px;background:#f1f5f9;border:1px solid #dbe2ea;padding:8px 10px;color:#52606f;font-size:11px;font-weight:750}.rc-assigned-button{background:#eef1f4!important;color:#667085!important;border-color:#d7dde5!important}
.rc-school-course-image.has-preview{display:block;background:#e5e7eb}.rc-course-preview-img{position:absolute;inset:0}.rc-school-course-image.has-preview:before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(15,23,42,.34),rgba(15,23,42,0) 48%);z-index:1;pointer-events:none}.rc-school-course-image.has-preview .status-pill,.rc-school-course-image.has-preview .rc-school-subject-label,.rc-school-course-image.has-preview .rc-course-open-overlay{z-index:5}
.rc-subject-thumb.has-preview{display:block;overflow:hidden;padding:0}.rc-next-action-preview-img{border-radius:inherit}
.rc-admin-preview-thumb{display:block;width:92px;height:58px;border-radius:8px;object-fit:cover;border:1px solid #dde3ea;background:#f4f6f8}.rc-admin-preview-placeholder{width:92px;height:58px;border-radius:8px;display:grid;place-items:center;background:#f1f5f9;color:#475569;font-weight:900;border:1px solid #dde3ea}
.rc-preview-admin-card{margin-bottom:18px}.rc-preview-admin-large{width:min(300px,42vw);height:169px;object-fit:cover;border-radius:12px;border:1px solid #dfe5ec;background:#f4f6f8}.rc-preview-admin-large.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#475569}.rc-preview-admin-large.placeholder span{font-size:10px;color:#7a8492}.rc-preview-admin-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:14px}.rc-preview-upload-form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;flex:1}.rc-preview-upload-form .field{margin:0;min-width:260px;flex:1}.rc-inline-form{display:inline-flex;margin:0}
.rc-assign-preview{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:14px;margin-bottom:16px;border:1px solid #dfe5ec}
@media(max-width:650px){.pupil-milestone-number-grid strong{font-size:19px}.rc-preview-admin-card>.split{display:block}.rc-preview-admin-large{width:100%;height:auto;aspect-ratio:16/9;margin-top:12px}.rc-preview-upload-form{display:block}.rc-preview-upload-form .field{min-width:0}.rc-preview-upload-form .btn{margin-top:8px}}

/* v0.20.1 — pupil subject thumbnails aligned with the teacher Learning Library */
.pupil-dashboard-page .rc-school-course-image:not(.has-preview){height:104px;display:flex;align-items:center;justify-content:flex-start;padding:0 18px;background:#f7f8fa!important;border-bottom:1px solid #e5e9ef}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).is-completed:after{bottom:12px}
.rc-pupil-subject-tile{display:inline-flex;align-items:center;justify-content:center;min-width:112px;min-height:52px;padding:10px 16px;border-radius:11px;background:#fff;border:1px solid #dce2e9;color:#24314a;font-size:15px;font-weight:850;line-height:1.1;letter-spacing:-.01em;box-shadow:0 2px 5px rgba(15,23,42,.04);text-align:center}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview) .status-pill{top:50%;right:16px;transform:translateY(-50%)}
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview){width:112px;height:58px;display:flex;align-items:center;justify-content:flex-start;padding:0 8px;background:#f7f8fa!important;border-color:#dfe2e9}
.rc-pupil-subject-tile-small{min-width:0;width:100%;min-height:42px;padding:7px 8px;border-radius:8px;font-size:12px;box-shadow:none}
@media(max-width:650px){.pupil-dashboard-page .rc-school-course-image:not(.has-preview){height:92px;padding:0 14px}.rc-pupil-subject-tile{min-width:100px;min-height:48px;font-size:14px}.pupil-dashboard-page .rc-school-course-image:not(.has-preview) .status-pill{right:12px}.pupil-dashboard-page .rc-subject-thumb:not(.has-preview){width:100px}}

/* v0.21 — pupil homework-first dashboard, stronger subject thumbnails and clearer milestones */
.pupil-dashboard-page .rc-homework-heading{margin-bottom:12px}
.rc-homework-counts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.rc-homework-counts span{display:flex;align-items:baseline;gap:5px;padding:7px 10px;border:1px solid #dfe5ec;border-radius:8px;background:#fff;color:#667085;font-size:11px;font-weight:750}
.rc-homework-counts strong{color:#172033;font-size:15px}
.pupil-dashboard-page .rc-homework-controls{margin-bottom:10px}
.pupil-dashboard-page .rc-homework-grid{margin-bottom:20px}
.rc-homework-empty{margin:10px 0 20px}

/* Pupil fallback thumbnails use the teacher library structure with stronger subject accents. */
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).maths,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).maths{background:linear-gradient(135deg,#dbeafe,#93c5fd)!important;border-color:#93c5fd}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).english,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).english{background:linear-gradient(135deg,#f3e8ff,#d8b4fe)!important;border-color:#d8b4fe}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).reading,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).reading{background:linear-gradient(135deg,#ffedd5,#fdba74)!important;border-color:#fdba74}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).science,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).science{background:linear-gradient(135deg,#dcfce7,#86efac)!important;border-color:#86efac}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).history,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).history{background:linear-gradient(135deg,#fef3c7,#fcd34d)!important;border-color:#fcd34d}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).geography,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).geography{background:linear-gradient(135deg,#ccfbf1,#5eead4)!important;border-color:#5eead4}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).computing,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).computing{background:linear-gradient(135deg,#e0e7ff,#a5b4fc)!important;border-color:#a5b4fc}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).pshe,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).pshe{background:linear-gradient(135deg,#fce7f3,#f9a8d4)!important;border-color:#f9a8d4}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).homework,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).homework{background:linear-gradient(135deg,#fef9c3,#fde047)!important;border-color:#fde047}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).other,.pupil-dashboard-page .rc-school-course-image:not(.has-preview).task,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).other,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).task{background:linear-gradient(135deg,#eef2f7,#cbd5e1)!important;border-color:#cbd5e1}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview) .rc-pupil-subject-tile,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview) .rc-pupil-subject-tile{background:rgba(255,255,255,.9);border-color:rgba(15,23,42,.12);box-shadow:0 3px 8px rgba(15,23,42,.08)}
.pupil-dashboard-page .maths .rc-pupil-subject-tile{color:#1d4ed8}.pupil-dashboard-page .english .rc-pupil-subject-tile{color:#7e22ce}.pupil-dashboard-page .reading .rc-pupil-subject-tile{color:#b45309}.pupil-dashboard-page .science .rc-pupil-subject-tile{color:#15803d}.pupil-dashboard-page .history .rc-pupil-subject-tile{color:#a16207}.pupil-dashboard-page .geography .rc-pupil-subject-tile{color:#0f766e}.pupil-dashboard-page .computing .rc-pupil-subject-tile{color:#4338ca}.pupil-dashboard-page .pshe .rc-pupil-subject-tile{color:#be185d}

/* Keep every Start / Continue / Review action inside its homework card. */
.pupil-dashboard-page .course-details{min-width:0}
.pupil-dashboard-page .rc-card-button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-top:auto}
.pupil-dashboard-page .rc-card-button-row .rc-card-action,.pupil-dashboard-page .course-details>.rc-card-action{width:100%;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.2;padding:10px 9px;margin-top:auto}
.pupil-dashboard-page .next-action-buttons{max-width:100%;min-width:0}.pupil-dashboard-page .next-action-buttons .next-action-btn{max-width:100%;white-space:normal;text-align:center;line-height:1.2}
.pupil-dashboard-page .rc-completed-card-actions .rc-card-action:only-child{grid-column:1/-1}
.pupil-dashboard-page .rc-completed-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Progress follows homework so the pupil's first decision stays focused on assigned work. */
.pupil-dashboard-progress-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:16px 17px;background:#fff;border:1px solid #dfe5ec;border-radius:13px;box-shadow:0 3px 12px rgba(15,23,42,.035)}
.pupil-dashboard-progress-copy{min-width:0}.pupil-dashboard-progress-copy h2{margin:2px 0 3px;color:#1d2940;font-size:19px}.pupil-dashboard-progress-copy p{margin:0;color:#667085;font-size:12px;line-height:1.45}
.pupil-dashboard-progress-actions{display:flex;align-items:stretch;gap:9px;flex:0 0 auto}
.pupil-school-points-card{min-width:128px;padding:9px 12px;border:1px solid #ecd66c;border-radius:9px;background:#fff8cf;display:flex;flex-direction:column;justify-content:center}
.pupil-school-points-card span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#725b13}.pupil-school-points-card strong{margin-top:1px;color:#4d3d0b;font-size:22px;line-height:1}

/* Milestone cards show one clear headline measure, one progress line and one remaining target. */
.pupil-milestone-primary{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-top:13px;color:#172033}
.pupil-milestone-primary strong{font-size:24px;line-height:1;font-weight:900;letter-spacing:-.02em}.pupil-milestone-primary span{font-size:12px;font-weight:800;color:#52606f}
.pupil-milestone-progress-card .pupil-milestone-number-grid{margin-top:10px}
.pupil-milestone-progress-card .pupil-milestone-progress-count{margin-top:12px}.pupil-milestone-progress-card .pupil-milestone-progress-count span{font-weight:800;color:#52606f}
.pupil-milestone-progress-card .pupil-milestone-progress-foot{margin-top:9px}.pupil-milestone-progress-card .pupil-milestone-progress-foot>strong{color:#172033;font-size:12px}.pupil-milestone-progress-card .pupil-milestone-progress-foot>b{font-size:9px;padding:4px 7px;border-radius:999px;background:#fff8df;color:#8a6812;white-space:normal;text-align:right}

@media(max-width:760px){
  .pupil-dashboard-progress-summary{align-items:flex-start;flex-direction:column}
  .pupil-dashboard-progress-actions{width:100%}.pupil-school-points-card{flex:1}.pupil-dashboard-progress-actions .next-action-btn{width:auto;flex:1}
}
@media(max-width:650px){
  .rc-homework-counts{justify-content:flex-start}.rc-homework-counts span{flex:1;justify-content:center}
  .pupil-dashboard-page .rc-card-button-row,.pupil-dashboard-page .rc-completed-card-actions{grid-template-columns:1fr}
  .pupil-dashboard-progress-actions{flex-direction:column}.pupil-dashboard-progress-actions .next-action-btn{width:100%}
  .pupil-milestone-primary strong{font-size:22px}
}


/* v0.21.1 — refined pupil subject artwork */
.pupil-dashboard-page .rc-school-course-image:not(.has-preview),
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview){
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview){
  height:116px;
  padding:0 18px;
  border-bottom:1px solid rgba(15,23,42,.10);
}
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview){
  width:118px;
  height:64px;
  padding:0 8px;
  border-width:1px;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview)::before,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview)::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.72;
}

/* Each subject gets restrained, curriculum-style line artwork rather than emoji. */
.pupil-dashboard-page .rc-school-course-image.maths:not(.has-preview)::before,
.pupil-dashboard-page .rc-subject-thumb.maths:not(.has-preview)::before{
  background-image:linear-gradient(rgba(29,78,216,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(29,78,216,.10) 1px,transparent 1px),radial-gradient(circle at 82% 50%,rgba(29,78,216,.17) 0 24px,transparent 25px);
  background-size:18px 18px,18px 18px,auto;
  background-position:right -2px top -2px,right -2px top -2px,0 0;
}
.pupil-dashboard-page .rc-school-course-image.english:not(.has-preview)::before,
.pupil-dashboard-page .rc-subject-thumb.english:not(.has-preview)::before{
  background-image:linear-gradient(90deg,transparent 0 72%,rgba(126,34,206,.16) 72% 73%,transparent 73%),repeating-linear-gradient(0deg,transparent 0 15px,rgba(126,34,206,.09) 15px 16px),linear-gradient(135deg,transparent 0 70%,rgba(126,34,206,.10) 70% 100%);
}
.pupil-dashboard-page .rc-school-course-image.reading:not(.has-preview)::before,
.pupil-dashboard-page .rc-subject-thumb.reading:not(.has-preview)::before{
  background-image:linear-gradient(90deg,transparent 0 73%,rgba(180,83,9,.12) 73% 74%,transparent 74%),repeating-linear-gradient(0deg,transparent 0 14px,rgba(180,83,9,.08) 14px 15px),radial-gradient(ellipse at 84% 52%,rgba(180,83,9,.12) 0 28px,transparent 29px);
}
.pupil-dashboard-page .rc-school-course-image.science:not(.has-preview)::before,
.pupil-dashboard-page .rc-subject-thumb.science:not(.has-preview)::before{
  background-image:radial-gradient(circle at 78% 29%,rgba(21,128,61,.22) 0 5px,transparent 6px),radial-gradient(circle at 89% 54%,rgba(21,128,61,.18) 0 7px,transparent 8px),radial-gradient(circle at 73% 72%,rgba(21,128,61,.16) 0 4px,transparent 5px),linear-gradient(32deg,transparent 0 72%,rgba(21,128,61,.11) 72% 73%,transparent 73% 100%),linear-gradient(145deg,transparent 0 77%,rgba(21,128,61,.10) 77% 78%,transparent 78% 100%);
}
.pupil-dashboard-page .rc-school-course-image.history:not(.has-preview)::before,
.pupil-dashboard-page .rc-subject-thumb.history:not(.has-preview)::before{
  background-image:linear-gradient(90deg,transparent 0 76%,rgba(161,98,7,.16) 76% 77%,transparent 77%),radial-gradient(circle at 76.5% 25%,rgba(161,98,7,.22) 0 4px,transparent 5px),radial-gradient(circle at 76.5% 50%,rgba(161,98,7,.18) 0 4px,transparent 5px),radial-gradient(circle at 76.5% 75%,rgba(161,98,7,.22) 0 4px,transparent 5px),linear-gradient(135deg,transparent 0 74%,rgba(161,98,7,.09) 74% 100%);
}
.pupil-dashboard-page .rc-school-course-image.geography:not(.has-preview)::before,
.pupil-dashboard-page .rc-subject-thumb.geography:not(.has-preview)::before{
  background-image:repeating-radial-gradient(ellipse at 84% 54%,transparent 0 9px,rgba(15,118,110,.10) 10px 11px,transparent 12px 18px),linear-gradient(120deg,transparent 0 72%,rgba(15,118,110,.09) 72% 73%,transparent 73%);
}
.pupil-dashboard-page .rc-school-course-image.computing:not(.has-preview)::before,
.pupil-dashboard-page .rc-subject-thumb.computing:not(.has-preview)::before{
  background-image:linear-gradient(rgba(67,56,202,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(67,56,202,.09) 1px,transparent 1px),linear-gradient(135deg,transparent 0 72%,rgba(67,56,202,.13) 72% 86%,transparent 86%);
  background-size:16px 16px,16px 16px,auto;
  background-position:right top,right top,0 0;
}
.pupil-dashboard-page .rc-school-course-image.pshe:not(.has-preview)::before,
.pupil-dashboard-page .rc-subject-thumb.pshe:not(.has-preview)::before{
  background-image:radial-gradient(circle at 84% 50%,transparent 0 15px,rgba(190,24,93,.10) 16px 17px,transparent 18px 27px,rgba(190,24,93,.08) 28px 29px,transparent 30px),linear-gradient(135deg,transparent 0 72%,rgba(190,24,93,.08) 72% 100%);
}
.pupil-dashboard-page .rc-school-course-image.homework:not(.has-preview)::before,
.pupil-dashboard-page .rc-subject-thumb.homework:not(.has-preview)::before,
.pupil-dashboard-page .rc-school-course-image.task:not(.has-preview)::before,
.pupil-dashboard-page .rc-subject-thumb.task:not(.has-preview)::before,
.pupil-dashboard-page .rc-school-course-image.other:not(.has-preview)::before,
.pupil-dashboard-page .rc-subject-thumb.other:not(.has-preview)::before{
  background-image:repeating-linear-gradient(135deg,transparent 0 13px,rgba(71,85,105,.08) 13px 14px),radial-gradient(circle at 84% 50%,rgba(71,85,105,.10) 0 25px,transparent 26px);
}

/* Richer but controlled subject palettes. */
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).maths,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).maths{background:linear-gradient(135deg,#eff6ff 0%,#bfdbfe 62%,#93c5fd 100%)!important;border-color:#93c5fd}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).english,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).english{background:linear-gradient(135deg,#faf5ff 0%,#e9d5ff 62%,#d8b4fe 100%)!important;border-color:#d8b4fe}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).reading,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).reading{background:linear-gradient(135deg,#fff7ed 0%,#fed7aa 62%,#fdba74 100%)!important;border-color:#fdba74}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).science,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).science{background:linear-gradient(135deg,#f0fdf4 0%,#bbf7d0 62%,#86efac 100%)!important;border-color:#86efac}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).history,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).history{background:linear-gradient(135deg,#fffbeb 0%,#fde68a 62%,#fcd34d 100%)!important;border-color:#fcd34d}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).geography,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).geography{background:linear-gradient(135deg,#f0fdfa 0%,#99f6e4 62%,#5eead4 100%)!important;border-color:#5eead4}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).computing,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).computing{background:linear-gradient(135deg,#eef2ff 0%,#c7d2fe 62%,#a5b4fc 100%)!important;border-color:#a5b4fc}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).pshe,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).pshe{background:linear-gradient(135deg,#fdf2f8 0%,#fbcfe8 62%,#f9a8d4 100%)!important;border-color:#f9a8d4}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).homework,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).homework{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 62%,#fde68a 100%)!important;border-color:#fde68a}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).other,.pupil-dashboard-page .rc-school-course-image:not(.has-preview).task,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).other,.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).task{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 62%,#cbd5e1 100%)!important;border-color:#cbd5e1}

.pupil-dashboard-page .rc-pupil-subject-tile{
  position:relative;
  z-index:2;
  min-width:132px;
  min-height:58px;
  padding:9px 14px 9px 16px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
  border:1px solid rgba(255,255,255,.82);
  border-left:4px solid currentColor;
  border-radius:10px;
  background:rgba(255,255,255,.88);
  box-shadow:0 7px 18px rgba(15,23,42,.10);
  backdrop-filter:blur(7px);
  text-align:left;
}
.pupil-dashboard-page .rc-pupil-subject-kicker{
  display:block;
  color:#667085;
  font-size:8px;
  font-weight:800;
  line-height:1;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.pupil-dashboard-page .rc-pupil-subject-tile strong{
  display:block;
  color:inherit;
  font-size:15px;
  font-weight:850;
  line-height:1.1;
  letter-spacing:-.015em;
}
.pupil-dashboard-page .rc-pupil-subject-tile-small{
  min-width:0;
  width:100%;
  min-height:46px;
  padding:7px 8px 7px 10px;
  border-left-width:3px;
  border-radius:8px;
  box-shadow:0 4px 10px rgba(15,23,42,.08);
}
.pupil-dashboard-page .rc-pupil-subject-tile-small .rc-pupil-subject-kicker{font-size:7px;letter-spacing:.09em}
.pupil-dashboard-page .rc-pupil-subject-tile-small strong{font-size:12px}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview) .status-pill{
  top:13px;
  right:14px;
  transform:none;
  z-index:3;
  padding:6px 9px;
  font-size:10px;
  box-shadow:0 5px 12px rgba(15,23,42,.13);
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).is-completed:after{z-index:3;bottom:12px}
.pupil-dashboard-page .rc-course-open-overlay{z-index:5}

@media(max-width:650px){
  .pupil-dashboard-page .rc-school-course-image:not(.has-preview){height:104px;padding:0 14px}
  .pupil-dashboard-page .rc-subject-thumb:not(.has-preview){width:104px;height:60px;padding:0 7px}
  .pupil-dashboard-page .rc-pupil-subject-tile{min-width:116px;min-height:54px;padding:8px 11px 8px 13px}
  .pupil-dashboard-page .rc-pupil-subject-tile strong{font-size:14px}
  .pupil-dashboard-page .rc-pupil-subject-tile-small{min-width:0;min-height:44px;padding:6px 7px 6px 9px}
  .pupil-dashboard-page .rc-pupil-subject-tile-small strong{font-size:11px}
  .pupil-dashboard-page .rc-school-course-image:not(.has-preview) .status-pill{top:10px;right:10px}
}

/* v0.21.2 — Master-inspired pupil learning-resource thumbnails + fixed 3-column desktop grid */
.pupil-dashboard-page .rc-homework-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

/* Give every homework card the same generous preview proportion, including uploaded previews. */
.pupil-dashboard-page .rc-homework-grid .course-image{
  height:205px;
}
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview){
  height:205px;
  padding:18px;
  align-items:center;
  justify-content:center;
}

/* Fallback artwork now resembles a real school worksheet/lesson sheet instead of a label block. */
.pupil-dashboard-page .rc-homework-grid .rc-pupil-subject-tile{
  width:142px;
  height:166px;
  min-width:0;
  min-height:0;
  padding:22px 17px 18px;
  justify-content:flex-start;
  gap:5px;
  border:1px solid #d7e0e8;
  border-top:5px solid currentColor;
  border-left:1px solid #d7e0e8;
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 30px rgba(23,50,77,.13);
  backdrop-filter:none;
  overflow:hidden;
}
.pupil-dashboard-page .rc-homework-grid .rc-pupil-subject-tile::before{
  content:'';
  position:absolute;
  left:17px;
  right:17px;
  top:82px;
  height:44px;
  border-radius:2px;
  background:repeating-linear-gradient(to bottom,#dfe7ee 0 6px,transparent 6px 14px);
  opacity:.9;
}
.pupil-dashboard-page .rc-homework-grid .rc-pupil-subject-tile::after{
  content:'REWARDCLASS SCHOOL';
  position:absolute;
  left:17px;
  bottom:15px;
  color:#91a0ae;
  font-size:7px;
  font-weight:900;
  letter-spacing:.105em;
  line-height:1;
}
.pupil-dashboard-page .rc-homework-grid .rc-pupil-subject-kicker{
  color:#738292;
  font-size:8px;
  letter-spacing:.12em;
}
.pupil-dashboard-page .rc-homework-grid .rc-pupil-subject-tile strong{
  max-width:100%;
  font-size:17px;
  line-height:1.08;
  overflow-wrap:anywhere;
}

/* Keep status information separate from the resource artwork. */
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview) .status-pill{
  top:14px;
  right:14px;
}
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).is-completed:after{
  right:14px;
  bottom:14px;
}

/* Uploaded previews use the same clean resource-card framing as the fallback sheet. */
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image.has-preview{
  background:#edf2f6;
}
.pupil-dashboard-page .rc-homework-grid .rc-course-preview-img{
  object-fit:cover;
  object-position:top center;
}
.pupil-dashboard-page .rc-homework-grid .rc-school-subject-label{
  left:13px;
  bottom:13px;
  padding:6px 9px;
  border-radius:7px;
  font-size:10px;
}

/* Compact version of the same resource-sheet language for the next-homework prompt. */
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview){
  width:112px;
  height:78px;
  padding:7px;
  align-items:center;
  justify-content:center;
}
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview) .rc-pupil-subject-tile-small{
  width:58px;
  height:66px;
  min-width:0;
  min-height:0;
  padding:9px 6px 7px;
  justify-content:flex-start;
  gap:2px;
  border:1px solid #d7e0e8;
  border-top:3px solid currentColor;
  border-left:1px solid #d7e0e8;
  border-radius:5px;
  background:#fff;
  box-shadow:0 7px 16px rgba(23,50,77,.12);
  backdrop-filter:none;
  overflow:hidden;
}
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview) .rc-pupil-subject-tile-small::before{
  content:'';
  position:absolute;
  left:6px;
  right:6px;
  top:38px;
  height:16px;
  background:repeating-linear-gradient(to bottom,#dfe7ee 0 3px,transparent 3px 7px);
}
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview) .rc-pupil-subject-tile-small::after{content:none}
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview) .rc-pupil-subject-tile-small .rc-pupil-subject-kicker{font-size:5px;letter-spacing:.07em}
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview) .rc-pupil-subject-tile-small strong{font-size:9px;line-height:1.05}

@media(max-width:1050px){
  .pupil-dashboard-page .rc-homework-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .pupil-dashboard-page .rc-homework-grid{grid-template-columns:1fr;gap:16px}
  .pupil-dashboard-page .rc-homework-grid .course-image,
  .pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview){height:188px}
  .pupil-dashboard-page .rc-homework-grid .rc-pupil-subject-tile{width:130px;height:151px;padding:19px 15px 16px}
  .pupil-dashboard-page .rc-homework-grid .rc-pupil-subject-tile::before{left:15px;right:15px;top:76px}
  .pupil-dashboard-page .rc-homework-grid .rc-pupil-subject-tile::after{left:15px;bottom:13px}
}

/* v0.21.3 — neutral, content-led pupil homework thumbnails */
/*
 * Real lesson previews remain the preferred artwork. When no preview exists,
 * every subject uses the same restrained school-resource treatment so the
 * lesson content — not a subject colour — carries the visual identity.
 */
.pupil-dashboard-page .rc-school-course-image:not(.has-preview),
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview),
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).maths,
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).english,
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).reading,
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).science,
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).history,
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).geography,
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).computing,
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).pshe,
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).homework,
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).task,
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).other,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).maths,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).english,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).reading,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).science,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).history,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).geography,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).computing,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).pshe,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).homework,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).task,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).other{
  background:linear-gradient(180deg,#f6f7f9 0%,#eceff3 100%)!important;
  border-color:#d9dee5!important;
}

/* Replace subject-specific patterns with one quiet neutral texture. */
.pupil-dashboard-page .rc-school-course-image:not(.has-preview)::before,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview)::before{
  background-image:linear-gradient(rgba(71,85,105,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(71,85,105,.035) 1px,transparent 1px)!important;
  background-size:24px 24px!important;
  background-position:center!important;
  opacity:.75!important;
}

/* The fallback sheet is deliberately monochrome and consistent across subjects. */
.pupil-dashboard-page .rc-pupil-subject-tile,
.pupil-dashboard-page .maths .rc-pupil-subject-tile,
.pupil-dashboard-page .english .rc-pupil-subject-tile,
.pupil-dashboard-page .reading .rc-pupil-subject-tile,
.pupil-dashboard-page .science .rc-pupil-subject-tile,
.pupil-dashboard-page .history .rc-pupil-subject-tile,
.pupil-dashboard-page .geography .rc-pupil-subject-tile,
.pupil-dashboard-page .computing .rc-pupil-subject-tile,
.pupil-dashboard-page .pshe .rc-pupil-subject-tile{
  color:#202938!important;
  background:#fff!important;
  border-color:#d5dbe3!important;
}
.pupil-dashboard-page .rc-homework-grid .rc-pupil-subject-tile{
  border-top:1px solid #d5dbe3;
  box-shadow:0 14px 30px rgba(15,23,42,.11);
}
.pupil-dashboard-page .rc-homework-grid .rc-pupil-subject-tile::before{
  background:repeating-linear-gradient(to bottom,#dde3e9 0 5px,transparent 5px 14px);
}
.pupil-dashboard-page .rc-homework-grid .rc-pupil-subject-tile::after{
  color:#9aa4af;
}
.pupil-dashboard-page .rc-pupil-subject-kicker{color:#7a8694!important}
.pupil-dashboard-page .rc-pupil-subject-tile strong{color:#202938!important}

/* Neutral status treatment keeps the thumbnail professional; wording carries state. */
.pupil-dashboard-page .rc-homework-grid .status-pill{
  background:rgba(255,255,255,.94)!important;
  color:#344054!important;
  border:1px solid rgba(15,23,42,.14)!important;
  box-shadow:0 4px 12px rgba(15,23,42,.08)!important;
}
.pupil-dashboard-page .rc-homework-grid .status-pill.status-completed{color:#225c3d!important}
.pupil-dashboard-page .rc-homework-grid .status-pill.status-returned{color:#7a5418!important}

/* Uploaded lesson artwork stays authentic and is presented in a neutral frame. */
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image.has-preview{
  background:#f2f4f7!important;
  border-bottom:1px solid #dce1e7;
}
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image.has-preview:before{
  background:linear-gradient(to top,rgba(15,23,42,.26),rgba(15,23,42,0) 44%);
}
.pupil-dashboard-page .rc-homework-grid .rc-school-subject-label{
  background:rgba(255,255,255,.94);
  color:#273240;
  border:1px solid rgba(15,23,42,.13);
  box-shadow:0 3px 10px rgba(15,23,42,.08);
}

/* Compact next-homework placeholder uses exactly the same neutral lesson-sheet language. */
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview) .rc-pupil-subject-tile-small{
  border-top:1px solid #d5dbe3;
  color:#202938!important;
}

/* Keep fallback/status chrome monochrome; actual uploaded lesson images may retain their source colour. */
.pupil-dashboard-page .rc-homework-grid .status-pill.status-completed,
.pupil-dashboard-page .rc-homework-grid .status-pill.status-returned{color:#344054!important}
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image.is-completed:after{
  color:#344054;
  border-color:#98a2b3;
}


/* v0.21.4 — text-free pupil thumbnails */
/*
 * Keep all lesson-identifying copy out of the thumbnail artwork. Uploaded lesson
 * previews display unobstructed apart from the homework status; fallback artwork
 * is a neutral document silhouette with no subject or "School lesson" wording.
 */
.pupil-dashboard-page .rc-pupil-lesson-sheet-art{
  position:relative;
  display:block;
  width:132px;
  height:152px;
  border-radius:8px;
  border:1px solid #d5dbe3;
  background:
    linear-gradient(#eef1f4,#eef1f4) 17px 23px/52px 7px no-repeat,
    repeating-linear-gradient(to bottom,#e4e8ed 0 4px,transparent 4px 14px) 17px 48px/98px 67px no-repeat,
    #fff;
  box-shadow:0 14px 30px rgba(15,23,42,.11);
}
.pupil-dashboard-page .rc-pupil-lesson-sheet-art::before{
  content:"";
  position:absolute;
  left:17px;
  right:17px;
  bottom:18px;
  height:10px;
  border-radius:3px;
  background:#f0f2f5;
}
.pupil-dashboard-page .rc-pupil-lesson-sheet-art::after{
  content:"";
  position:absolute;
  top:-1px;
  right:-1px;
  width:25px;
  height:25px;
  border-left:1px solid #d5dbe3;
  border-bottom:1px solid #d5dbe3;
  background:linear-gradient(225deg,#eef1f4 0 49%,#fff 50% 100%);
  border-bottom-left-radius:5px;
}
.pupil-dashboard-page .rc-pupil-lesson-sheet-art-small{
  width:46px;
  height:50px;
  border-radius:5px;
  background:
    linear-gradient(#e9edf1,#e9edf1) 7px 9px/20px 3px no-repeat,
    repeating-linear-gradient(to bottom,#e4e8ed 0 2px,transparent 2px 6px) 7px 19px/32px 20px no-repeat,
    #fff;
  box-shadow:0 5px 12px rgba(15,23,42,.10);
}
.pupil-dashboard-page .rc-pupil-lesson-sheet-art-small::before{
  left:7px;
  right:7px;
  bottom:5px;
  height:3px;
}
.pupil-dashboard-page .rc-pupil-lesson-sheet-art-small::after{
  width:10px;
  height:10px;
  border-bottom-left-radius:3px;
}
/* Subject and lesson names live in the card body, never on top of preview artwork. */
.pupil-dashboard-page .rc-homework-grid .rc-school-subject-label{display:none!important}

/* v0.21.5 — slimmer subject-only fallback thumbnails */
/* Remove the paper illustration from fallback thumbnails. Use a thinner, clean
 * subject strip instead. Lesson previews still show when they exist.
 */
.pupil-dashboard-page .rc-homework-grid .course-image,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview),
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image.has-preview{
  height:110px;
}
.pupil-dashboard-page .next-action-thumb{
  width:88px;
  height:52px;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview),
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview){
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  background:linear-gradient(180deg,#f7f8fa 0%,#eef1f4 100%)!important;
  border-color:#d9dee5!important;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview)::before,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview)::before{
  content:none!important;
}
.pupil-dashboard-page .rc-pupil-lesson-sheet-art,
.pupil-dashboard-page .rc-pupil-lesson-sheet-art-small{
  display:none!important;
}
.pupil-dashboard-page .rc-simple-subject-thumb{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:100%;
  min-height:28px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid #d2d8e0;
  background:rgba(255,255,255,.94);
  color:#1f2937;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:0 3px 8px rgba(15,23,42,.05);
  text-align:center;
}
.pupil-dashboard-page .rc-simple-subject-thumb-large{
  max-width:150px;
  min-height:34px;
  padding:9px 16px;
  font-size:14px;
}
.pupil-dashboard-page .rc-school-course-image.has-preview .rc-course-preview-img{
  height:100%;
  object-fit:cover;
}
@media(max-width:700px){
  .pupil-dashboard-page .rc-homework-grid .course-image,
  .pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview),
  .pupil-dashboard-page .rc-homework-grid .rc-school-course-image.has-preview{height:100px}
}


/* v0.21.6 — stronger neutral contrast + left-aligned subject fallback */
/* Keep the fallback understated but visibly separate from the white card/page. */
.pupil-dashboard-page .rc-school-course-image:not(.has-preview),
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview){
  justify-content:flex-start;
  background:#e4e9f0!important;
  border-color:#c6ced8!important;
}
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview){
  padding:16px 18px;
}
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview){
  padding:10px 12px;
}
.pupil-dashboard-page .rc-simple-subject-thumb{
  width:auto;
  max-width:100%;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#1f2937;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.01em;
  text-align:left;
  justify-content:flex-start;
}
.pupil-dashboard-page .rc-simple-subject-thumb-large{
  max-width:100%;
  min-height:0;
  padding:0;
  font-size:15px;
}
@media(max-width:700px){
  .pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview){padding:14px 16px}
}

/* v0.21.7 — clearer fallback thumbnail contrast + subtle professional subject tint */
/* The fallback subject strip should stand apart from the page/card background.
 * Use restrained subject tints and a clearer inset edge while keeping the clean,
 * left-aligned subject label introduced in v0.21.6.
 */
.pupil-dashboard-page .rc-school-course-image:not(.has-preview),
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview){
  border-color:#bcc6d3!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).maths,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).maths{
  background:#e8f0fb!important;
  border-left:4px solid #7aa2d6;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).english,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).english{
  background:#efeafb!important;
  border-left:4px solid #9b8ac9;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).reading,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).reading{
  background:#faf0e8!important;
  border-left:4px solid #d0a47d;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).science,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).science{
  background:#e9f5ec!important;
  border-left:4px solid #86b993;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).history,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).history{
  background:#f8f1e7!important;
  border-left:4px solid #c9a56f;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).geography,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).geography{
  background:#e9f4f4!important;
  border-left:4px solid #78b6b0;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).computing,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).computing{
  background:#eceffd!important;
  border-left:4px solid #8d9dd8;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).pshe,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).pshe{
  background:#f6edf4!important;
  border-left:4px solid #be93b0;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).homework,
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).task,
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).other,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).homework,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).task,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).other{
  background:#edf1f5!important;
  border-left:4px solid #99a7b7;
}
.pupil-dashboard-page .rc-simple-subject-thumb,
.pupil-dashboard-page .rc-simple-subject-thumb-large{
  color:#132238;
}

/* v0.21.8 — more distinct professional fallback thumbnail colours */
/* The fallback subject strips now use a clearer muted professional palette so
 * they don't blend into the light page chrome. The result should read like a
 * deliberate UI component rather than a near-background grey block.
 */
.pupil-dashboard-page .rc-school-course-image:not(.has-preview),
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview){
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.46), 0 1px 0 rgba(15,23,42,.04);
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).maths,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).maths{
  background:linear-gradient(180deg,#dce7f5 0%,#cfdef0 100%)!important;
  border-left:4px solid #5f86b3;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).english,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).english{
  background:linear-gradient(180deg,#e6e0f2 0%,#dbd3ec 100%)!important;
  border-left:4px solid #7f6aa8;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).reading,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).reading{
  background:linear-gradient(180deg,#efe5db 0%,#e8dbc9 100%)!important;
  border-left:4px solid #a37b53;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).science,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).science{
  background:linear-gradient(180deg,#dcebe0 0%,#d1e3d7 100%)!important;
  border-left:4px solid #5e8f69;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).history,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).history{
  background:linear-gradient(180deg,#eee4d6 0%,#e4d7c4 100%)!important;
  border-left:4px solid #9f8053;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).geography,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).geography{
  background:linear-gradient(180deg,#dbe9e8 0%,#d0e1df 100%)!important;
  border-left:4px solid #5f918d;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).computing,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).computing{
  background:linear-gradient(180deg,#dde2f1 0%,#d1d9ec 100%)!important;
  border-left:4px solid #667caf;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).pshe,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).pshe{
  background:linear-gradient(180deg,#eadfe8 0%,#e1d4de 100%)!important;
  border-left:4px solid #9a718c;
}
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).homework,
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).task,
.pupil-dashboard-page .rc-school-course-image:not(.has-preview).other,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).homework,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).task,
.pupil-dashboard-page .rc-subject-thumb:not(.has-preview).other{
  background:linear-gradient(180deg,#dde4ec 0%,#d3dbe4 100%)!important;
  border-left:4px solid #74879b;
}
.pupil-dashboard-page .rc-simple-subject-thumb,
.pupil-dashboard-page .rc-simple-subject-thumb-large{
  color:#10233a;
  text-shadow:0 1px 0 rgba(255,255,255,.24);
}

/* v0.21.9 — worksheet-style pupil homework thumbnails */
/*
 * Keep the existing homework card content and actions unchanged. Only the visual
 * preview area is refined. When a real lesson preview is unavailable, show a
 * compact worksheet-style preview inspired by the RewardClass worksheet library.
 */
.pupil-dashboard-page .rc-homework-grid .course-image,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview),
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image.has-preview{
  height:158px;
}

/* One consistent professional worksheet surface for every fallback subject. */
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview),
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).maths,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).english,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).reading,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).science,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).history,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).geography,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).computing,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).pshe,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).homework,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).task,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).other{
  display:block;
  position:relative;
  padding:0;
  overflow:hidden;
  background:linear-gradient(145deg,#d9e4ec 0%,#cbd9e3 100%)!important;
  border-color:#b9c8d4!important;
  border-left:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.62);
}

/* The white sheet is intentionally generic: it reads as schoolwork without
 * pretending to be the exact lesson content. */
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview)::before{
  content:""!important;
  position:absolute;
  z-index:1;
  top:13px;
  left:50%;
  width:98px;
  height:122px;
  transform:translateX(-50%);
  border:1px solid #c8d2da;
  border-radius:6px;
  background:
    linear-gradient(#6f8497,#6f8497) 14px 16px/43px 5px no-repeat,
    linear-gradient(#d9e1e7,#d9e1e7) 14px 29px/69px 3px no-repeat,
    repeating-linear-gradient(to bottom,#e1e7ec 0 3px,transparent 3px 10px) 14px 44px/69px 36px no-repeat,
    linear-gradient(#edf1f4,#edf1f4) 14px 91px/29px 17px no-repeat,
    linear-gradient(#edf1f4,#edf1f4) 49px 91px/34px 17px no-repeat,
    #fff;
  box-shadow:0 11px 24px rgba(28,48,67,.18);
}

/* Subject label stays on the left of the preview, while status remains right. */
.pupil-dashboard-page .rc-homework-grid .rc-simple-subject-thumb-large{
  position:absolute;
  z-index:4;
  left:14px;
  bottom:11px;
  width:auto;
  max-width:calc(100% - 92px);
  padding:0;
  color:#24384b;
  font-size:11px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
  text-shadow:none;
}
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview) .status-pill{
  top:11px;
  right:12px;
  z-index:5;
}
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).is-completed:after{
  z-index:5;
  right:13px;
  bottom:12px;
}
.pupil-dashboard-page .rc-homework-grid .rc-course-open-overlay{z-index:6}

/* Real lesson artwork keeps the same proportions so rows remain aligned. */
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image.has-preview{
  background:#d9e4ec!important;
}

/* Compact worksheet language for the 'continue homework' strip. */
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview),
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).maths,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).english,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).reading,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).science,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).history,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).geography,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).computing,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).pshe,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).homework,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).task,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).other{
  position:relative;
  width:96px;
  height:62px;
  padding:0;
  overflow:hidden;
  background:linear-gradient(145deg,#d9e4ec,#cbd9e3)!important;
  border:1px solid #b9c8d4!important;
  border-left:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview)::before{
  content:""!important;
  position:absolute;
  z-index:1;
  top:8px;
  right:10px;
  width:35px;
  height:45px;
  border:1px solid #c7d1d9;
  border-radius:3px;
  background:
    linear-gradient(#7e90a0,#7e90a0) 6px 7px/16px 2px no-repeat,
    repeating-linear-gradient(to bottom,#e0e6eb 0 2px,transparent 2px 6px) 6px 15px/23px 18px no-repeat,
    #fff;
  box-shadow:0 5px 10px rgba(28,48,67,.14);
}
.pupil-dashboard-page .next-action-thumb .rc-simple-subject-thumb{
  position:absolute;
  z-index:3;
  left:9px;
  bottom:9px;
  width:38px;
  padding:0;
  color:#24384b;
  font-size:9px;
  line-height:1.1;
  font-weight:850;
  letter-spacing:.02em;
  text-transform:none;
  text-shadow:none;
  overflow-wrap:anywhere;
}

@media(max-width:700px){
  .pupil-dashboard-page .rc-homework-grid .course-image,
  .pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview),
  .pupil-dashboard-page .rc-homework-grid .rc-school-course-image.has-preview{height:148px}
  .pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview)::before{
    width:92px;
    height:114px;
    top:12px;
  }
}

/* v0.22.0 — compact dark-blue subject/status header for fallback homework cards */
/* Replace the worksheet-style fallback with a much shorter professional header.
 * Keep the homework card body unchanged. Real preview images still display when available.
 */
.pupil-dashboard-page .rc-homework-grid .course-image,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview),
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image.has-preview{
  height:64px;
}
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview),
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).maths,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).english,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).reading,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).science,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).history,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).geography,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).computing,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).pshe,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).homework,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).task,
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).other{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:0 14px;
  background:linear-gradient(180deg,#234766 0%,#1f3f5b 100%)!important;
  border:0!important;
  border-bottom:1px solid #163149;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview)::before,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview)::before{
  content:none!important;
  display:none!important;
}
.pupil-dashboard-page .rc-homework-grid .rc-simple-subject-thumb-large{
  position:static;
  z-index:auto;
  max-width:calc(100% - 110px);
  margin-right:auto;
  padding:0;
  color:#f8fbff;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview) .status-pill{
  position:static;
  transform:none;
  margin-left:12px;
  padding:6px 10px;
  background:rgba(255,255,255,.95)!important;
  color:#1f3f5b!important;
  border:1px solid rgba(17,24,39,.08)!important;
  box-shadow:none!important;
  font-size:11px;
  line-height:1;
}
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview).is-completed:after{
  display:none;
}
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image.has-preview{
  background:#d9e4ec!important;
}

/* Match the compact language in the continue-homework strip fallback. */
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview),
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).maths,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).english,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).reading,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).science,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).history,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).geography,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).computing,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).pshe,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).homework,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).task,
.pupil-dashboard-page .next-action-thumb.rc-subject-thumb:not(.has-preview).other{
  width:96px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:0 10px;
  background:linear-gradient(180deg,#234766 0%,#1f3f5b 100%)!important;
  border:0!important;
  box-shadow:none;
}
.pupil-dashboard-page .next-action-thumb .rc-simple-subject-thumb{
  position:static;
  width:auto;
  max-width:100%;
  color:#f8fbff;
  font-size:10px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}

@media(max-width:700px){
  .pupil-dashboard-page .rc-homework-grid .course-image,
  .pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview),
  .pupil-dashboard-page .rc-homework-grid .rc-school-course-image.has-preview{height:58px}
  .pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview){padding:0 12px}
  .pupil-dashboard-page .rc-homework-grid .rc-simple-subject-thumb-large{font-size:12px;max-width:calc(100% - 96px)}
  .pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview) .status-pill{padding:5px 8px;font-size:10px}
}

/* v0.22.1 — correct subject/status ordering in compact homework header */
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview) .rc-simple-subject-thumb-large{
  order:1;
  flex:0 1 auto;
  margin:0;
}
.pupil-dashboard-page .rc-homework-grid .rc-school-course-image:not(.has-preview) .status-pill{
  order:2;
  flex:0 0 auto;
  margin-left:auto;
}

/* v0.23.0 — teacher-configurable Learning Habits */
.learning-habit-manager{margin:0 0 18px}
.learning-habit-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}
.learning-habit-card{border:1px solid #dce4ec;border-radius:13px;background:#fff;overflow:hidden;min-width:0}
.learning-habit-card.is-inactive{opacity:.58;background:#f8f9fb}
.learning-habit-card summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;padding:13px;align-items:start;min-height:104px}
.learning-habit-card summary::-webkit-details-marker{display:none}
.learning-habit-card[open] summary{background:#f8fafc;border-bottom:1px solid #e7ebf0}
.learning-habit-icon{width:32px;height:32px;border-radius:9px;background:#eaf1f7;color:#234766;display:grid;place-items:center;font-weight:900}
.learning-habit-copy{min-width:0}.learning-habit-copy strong{display:block;color:#172033;font-size:13px;line-height:1.25}.learning-habit-copy small{display:block;color:#667085;font-size:10px;line-height:1.38;margin-top:3px}
.learning-habit-points{grid-column:2;justify-self:start;font-size:9px;font-weight:850;color:#344054;background:#f1f4f7;border-radius:999px;padding:4px 7px}
.learning-habit-edit-form{padding:13px;background:#fbfcfd}.learning-habit-edit-form .field{margin-bottom:10px}.learning-habit-edit-form .field label{font-size:11px}.learning-habit-edit-form input{font-size:12px}
.add-habit-card{margin-top:11px;border:1px dashed #cbd5e1;border-radius:12px;background:#fafbfc}.add-habit-card>summary{cursor:pointer;padding:12px 14px;font-weight:850;color:#344054;font-size:12px}
.reward-choice-group-title{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin:4px 0 9px}.reward-choice-group-title strong{font-size:13px;color:#172033}.reward-choice-group-title span{font-size:10px;color:#667085}.reward-choice-group-title.teacher-reward-heading{margin-top:18px}
.reward-type-choice.is-learning-habit{border-color:#cfdce8;background:#fbfdff}.reward-type-choice.is-learning-habit .reward-type-icon{background:#eaf1f7;border-color:#c7d7e4;color:#234766}.reward-type-choice.is-learning-habit:has(input:checked){border-color:#547da2;background:#f7fbff;box-shadow:0 0 0 2px rgba(35,71,102,.08)}
.dashboard-learning-habits-card{margin:18px 0}.dashboard-learning-habits-card h2{margin:2px 0 3px}.dashboard-learning-habits-card p{margin:0}.dashboard-habit-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:13px}.dashboard-habit-chip{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:9px 10px;border:1px solid #dce4ec;border-radius:9px;background:#f8fafc;min-width:0}.dashboard-habit-chip strong{font-size:11px;color:#1f2d3d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-habit-chip span{font-size:9px;font-weight:850;color:#48627b;white-space:nowrap}.dashboard-habit-chip.is-inactive{opacity:.5}

/* Pupil My Rewards: one compact habits section rather than five large reward areas. */
.pupil-learning-habits{margin:0 0 20px;padding:16px;background:#fff;border:1px solid #dfe5ec;border-radius:13px;box-shadow:0 4px 14px rgba(15,23,42,.035)}
.pupil-learning-habits>.split{margin-bottom:11px}.pupil-learning-habits h2{font-size:19px;margin:2px 0 2px;color:#172033}.pupil-learning-habits p{margin:0;font-size:11px}
.pupil-learning-habit-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.pupil-learning-habit-card{padding:11px 12px;border:1px solid #dfe5ec;border-radius:10px;background:#f8fafc;min-width:0}
.pupil-learning-habit-card.is-inactive{opacity:.65}
.pupil-learning-habit-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.pupil-learning-habit-top strong{font-size:12px;line-height:1.2;color:#172033}.pupil-learning-habit-top span{min-width:29px;height:29px;padding:0 7px;border-radius:8px;background:#234766;color:#fff;display:grid;place-items:center;font-size:14px;font-weight:900}
.pupil-learning-habit-card p{margin:7px 0 7px;color:#667085;font-size:9.5px;line-height:1.35}.pupil-learning-habit-card small{display:block;color:#506174;font-size:9px;font-weight:800}
.pupil-reward-history-heading{margin:0 0 10px}.pupil-reward-history-heading h2{font-size:20px;margin:0 0 2px;color:#172033}.pupil-reward-history-heading p{margin:0;font-size:11px}

@media(max-width:1050px){.learning-habit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-habit-strip,.pupil-learning-habit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.learning-habit-grid{grid-template-columns:1fr 1fr}.dashboard-habit-strip,.pupil-learning-habit-grid{grid-template-columns:1fr 1fr}.learning-habit-card summary{min-height:0}.dashboard-learning-habits-card .split{display:block}.dashboard-learning-habits-card .actions{margin-top:10px}}
@media(max-width:460px){.learning-habit-grid,.dashboard-habit-strip,.pupil-learning-habit-grid{grid-template-columns:1fr}.pupil-learning-habit-card p{font-size:10px}}

/* v0.23.1 — Learning Habit quick-pick reasons */
.learning-habit-card[open]{grid-column:1/-1}
.learning-habit-expanded{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.65fr);gap:16px;padding:14px;background:#fbfcfd}
.learning-habit-expanded .learning-habit-edit-form{padding:0;background:transparent}
.habit-reason-manager{border-left:1px solid #e2e8f0;padding-left:16px;min-width:0}
.habit-reason-manager-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.habit-reason-manager-heading h4{margin:0 0 3px;font-size:14px;color:#172033}.habit-reason-manager-heading p{margin:0;font-size:11px;line-height:1.4}
.habit-reason-manage-list{display:grid;gap:7px}.habit-reason-manage-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:8px;border:1px solid #e1e7ed;border-radius:9px;background:#fff}.habit-reason-manage-row.is-inactive{opacity:.55;background:#f7f8fa}.habit-reason-manage-row>input{min-width:0;font-size:11px;padding:8px 9px}.habit-reason-manage-row .btn{padding:7px 10px;font-size:10px}.compact-check{font-size:10px;white-space:nowrap;margin:0}.habit-reason-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:9px}.habit-reason-add-row input{font-size:11px;padding:9px}.habit-reason-add-row .btn{padding:8px 12px;font-size:10px}
.habit-reason-picker{padding:13px;border:1px solid #d9e4ed;border-radius:11px;background:#f8fbfd}.habit-reason-picker>.help{margin-bottom:9px}.habit-reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.habit-reason-choice{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border:1px solid #dbe3ea;border-radius:9px;background:#fff;cursor:pointer;color:#344054;font-size:11px;line-height:1.35}.habit-reason-choice:hover{border-color:#9db3c8}.habit-reason-choice:has(input:checked){border-color:#547da2;background:#eef5fa;box-shadow:0 0 0 2px rgba(35,71,102,.07)}.habit-reason-choice input{margin-top:2px;flex:0 0 auto}.habit-custom-reason{margin-top:10px}.habit-custom-reason label{font-size:11px}.compact-empty{padding:10px;font-size:11px}
.pupil-habit-reason{margin:9px 0;padding:9px 11px;border-left:3px solid #6c8cab;border-radius:7px;background:#f3f7fa;color:#24384b;font-size:12px;line-height:1.4}
@media(max-width:850px){.learning-habit-expanded{grid-template-columns:1fr}.habit-reason-manager{border-left:0;border-top:1px solid #e2e8f0;padding-left:0;padding-top:14px}.habit-reason-grid{grid-template-columns:1fr}}
@media(max-width:560px){.habit-reason-manage-row{grid-template-columns:1fr auto}.habit-reason-manage-row .compact-check{grid-column:1}.habit-reason-add-row{grid-template-columns:1fr}.habit-reason-add-row .btn{width:100%}}

/* v0.23.2 — habit card click-through + contextual reason picker */
.dashboard-habit-chip{text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease}
a.dashboard-habit-chip:hover,a.dashboard-habit-chip:focus-visible{border-color:#9fb5c9;background:#f1f6fa;transform:translateY(-1px);outline:none}
.teacher-award-page .habit-reason-picker{margin:10px 0 14px;scroll-margin-top:86px;background:#f7fafc;border-color:#cbd9e5;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.teacher-award-page .habit-reason-picker>label{display:block;margin-bottom:3px;color:#172033;font-size:13px;font-weight:850}
.teacher-award-page .habit-reason-picker>label span{color:#234766}
.teacher-award-page .reward-type-choice.is-learning-habit{cursor:pointer}
.teacher-award-page .reward-type-choice.is-learning-habit:has(input:checked){box-shadow:0 0 0 2px rgba(35,71,102,.10),0 4px 12px rgba(35,71,102,.06)}

/* v0.24.0 — teacher Class Progress / Review Hub */
.progress-hub-heading{align-items:flex-end}.progress-hub-heading h1,.pupil-progress-heading h1{margin-bottom:5px}
.progress-hub-controls{margin-bottom:14px;padding:14px 16px}.progress-hub-filter-form{display:grid;grid-template-columns:minmax(160px,220px) minmax(160px,220px) minmax(220px,1fr) auto;gap:12px;align-items:end}.progress-hub-filter-form .field{margin:0}.progress-hub-filter-actions{display:flex;gap:8px;align-items:center}.progress-hub-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid #e7ebf0}.progress-hub-tabs a{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:8px;border:1px solid #dfe5ec;background:#f8fafc;color:#405166;text-decoration:none;font-size:11px;font-weight:750}.progress-hub-tabs a b{min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#e7edf3;display:grid;place-items:center;font-size:10px}.progress-hub-tabs a.is-active{background:#234766;border-color:#234766;color:#fff}.progress-hub-tabs a.is-active b{background:rgba(255,255,255,.18);color:#fff}
.progress-hub-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 14px}.progress-hub-summary>div{padding:12px 14px;border:1px solid #dde4eb;border-radius:11px;background:#fff}.progress-hub-summary span{display:block;color:#667085;font-size:10px;font-weight:700}.progress-hub-summary strong{display:block;margin-top:2px;color:#172033;font-size:22px}.progress-hub-summary .has-signal{border-color:#e8c98d;background:#fffaf0}
.progress-pupil-list{display:grid;gap:9px}.progress-pupil-row{display:grid;grid-template-columns:minmax(170px,1.25fr) repeat(5,minmax(112px,.85fr)) minmax(140px,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid #dfe5ec;border-radius:12px;background:#fff;box-shadow:0 3px 10px rgba(15,23,42,.035)}.progress-pupil-row.needs-attention{border-left:4px solid #c58c36}.progress-pupil-identity{display:flex;align-items:center;gap:10px;min-width:0}.progress-pupil-avatar{width:36px;height:36px;border-radius:10px;background:#e8eef4;color:#234766;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.progress-pupil-identity a{text-decoration:none;color:#172033}.progress-pupil-identity strong{display:block;font-size:13px}.progress-pupil-identity small,.progress-signal-cell small{display:block;color:#667085;font-size:9px;line-height:1.35;margin-top:2px}.progress-signal-cell{min-width:0}.progress-signal-cell>span{display:block;color:#7b8794;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.03em}.progress-signal-cell strong{display:block;color:#172033;font-size:12px;line-height:1.25;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-signal-cell strong.is-low,.latest-quiz-callout strong.is-low{color:#b54736}.progress-signal-cell small em{color:#a15c17;font-style:normal;font-weight:800}.mini-progress{height:5px;margin-top:6px;border-radius:999px;background:#e8edf2;overflow:hidden}.mini-progress i{display:block;height:100%;border-radius:999px;background:#527a9e}.progress-pupil-actions{display:flex;flex-direction:column;gap:5px;align-items:flex-end}.progress-pupil-actions .btn{font-size:10px;padding:7px 10px}.progress-pupil-actions .text-link{font-size:10px}.milestone-cell strong{white-space:normal}
.metric-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.pupil-progress-metrics .metric-card small{display:block;margin-top:3px;color:#7b8794;font-size:9px}.pupil-progress-top-grid{margin-bottom:14px}.teacher-pupil-habit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.teacher-pupil-habit{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 11px;border:1px solid #e0e6ec;border-radius:9px;background:#f8fafc}.teacher-pupil-habit strong,.teacher-pupil-habit small{display:block}.teacher-pupil-habit strong{font-size:11px;color:#172033}.teacher-pupil-habit small{font-size:8.5px;color:#667085;margin-top:2px;line-height:1.3}.teacher-pupil-habit>span{min-width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:#234766;color:#fff;font-size:13px;font-weight:900}.teacher-pupil-habit.is-inactive{opacity:.55}.teacher-pupil-milestones{display:grid;gap:10px;margin-top:11px}.teacher-pupil-milestone{padding:10px 11px;border:1px solid #e0e6ec;border-radius:9px;background:#fbfcfd}.teacher-pupil-milestone .split{gap:10px}.teacher-pupil-milestone strong{font-size:11px}.teacher-pupil-milestone span{font-size:10px;font-weight:850;color:#48627b}.teacher-pupil-milestone small{display:block;color:#667085;font-size:9px;margin-top:3px}
.teacher-pupil-challenge-card{margin:0 0 14px}.pupil-assignment-progress-card{margin-bottom:14px}.latest-quiz-callout{text-align:right;max-width:210px}.latest-quiz-callout span,.latest-quiz-callout small{display:block;font-size:9px;color:#667085}.latest-quiz-callout strong{display:block;font-size:20px;color:#234766}.pupil-assignment-progress-list{display:grid;margin-top:10px}.pupil-assignment-progress-row{display:grid;grid-template-columns:minmax(240px,1.6fr) 100px 70px 75px auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #edf0f3}.pupil-assignment-progress-row:first-child{border-top:0}.pupil-assignment-main strong,.pupil-assignment-main small{display:block}.pupil-assignment-main>div{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.pupil-assignment-main strong{font-size:11px}.pupil-assignment-main span{font-size:8.5px;font-weight:800;color:#53687b;background:#edf2f6;border-radius:999px;padding:3px 6px}.pupil-assignment-main small{font-size:8.5px;color:#7b8794;margin-top:3px}.status-chip{display:inline-flex;padding:5px 7px;border-radius:999px;background:#eef3f6;color:#3d5368;font-size:9px;font-weight:800}.status-chip.is-overdue{background:#fff1df;color:#985b17}.assignment-score-cell span,.assignment-score-cell strong{display:block}.assignment-score-cell span{font-size:8px;color:#7b8794}.assignment-score-cell strong{font-size:11px;color:#172033}.pupil-assignment-progress-row .text-link{font-size:9.5px}.pupil-progress-history-list{display:grid;margin-top:8px}.pupil-progress-history-list>div{padding:9px 0;border-top:1px solid #edf0f3}.pupil-progress-history-list>div:first-child{border-top:0}.pupil-progress-history-list strong,.pupil-progress-history-list span,.pupil-progress-history-list small{display:block}.pupil-progress-history-list strong{font-size:11px}.pupil-progress-history-list span{font-size:9.5px;color:#536273;margin-top:2px;line-height:1.35}.pupil-progress-history-list small{font-size:8.5px;color:#8a94a0;margin-top:3px}
@media(max-width:1180px){.progress-pupil-row{grid-template-columns:minmax(170px,1.25fr) repeat(4,minmax(105px,.8fr)) minmax(135px,1fr) auto}.progress-pupil-row .progress-signal-cell:nth-of-type(6){display:none}.metric-grid.five,.metric-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.progress-hub-filter-form{grid-template-columns:1fr 1fr}.progress-hub-filter-actions{grid-column:1/-1}.progress-hub-summary{grid-template-columns:1fr 1fr}.progress-pupil-row{grid-template-columns:1fr 1fr 1fr}.progress-pupil-identity{grid-column:1/-1}.progress-pupil-row .progress-signal-cell:nth-of-type(6){display:block}.progress-pupil-actions{grid-column:1/-1;flex-direction:row;justify-content:flex-end;align-items:center}.pupil-assignment-progress-row{grid-template-columns:1fr 100px 70px}.pupil-assignment-progress-row .assignment-score-cell:nth-of-type(2){display:none}.pupil-assignment-progress-row>div:last-child{grid-column:3}.teacher-pupil-habit-grid{grid-template-columns:1fr}}
@media(max-width:650px){.progress-hub-heading,.pupil-progress-heading{display:block}.progress-hub-heading .actions,.pupil-progress-heading .actions{margin-top:10px}.progress-hub-filter-form{grid-template-columns:1fr}.progress-hub-filter-actions{grid-column:auto}.progress-hub-summary{grid-template-columns:1fr 1fr}.progress-pupil-row{grid-template-columns:1fr 1fr;padding:12px}.progress-pupil-identity{grid-column:1/-1}.progress-pupil-actions{grid-column:1/-1}.metric-grid.five,.metric-grid.six{grid-template-columns:1fr 1fr}.pupil-assignment-progress-card>.split{display:block}.latest-quiz-callout{text-align:left;margin-top:8px}.pupil-assignment-progress-row{grid-template-columns:1fr 85px}.pupil-assignment-progress-row .assignment-score-cell{display:none!important}.pupil-assignment-progress-row>div:last-child{grid-column:2}.pupil-progress-history-grid{grid-template-columns:1fr}}

/* v0.25.0 — Class Progress bulk actions */
.progress-bulk-form{display:grid;gap:10px}
.progress-bulk-toolbar{position:sticky;top:78px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:12px 14px;border-color:#cfd9e3;box-shadow:0 8px 20px rgba(15,23,42,.08)}
.progress-bulk-copy{min-width:0}.progress-bulk-copy .eyebrow{display:block;margin-bottom:2px}.progress-bulk-copy strong{display:block;color:#172033;font-size:13px}.progress-bulk-copy small{display:block;margin-top:2px;color:#667085;font-size:9.5px;line-height:1.35}
.progress-bulk-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.progress-bulk-actions .btn{font-size:10px;padding:8px 10px;white-space:nowrap}.progress-bulk-actions .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.progress-bulk-form.has-selection .progress-bulk-toolbar{border-color:#9fb6ca;background:#fbfdff}.progress-pupil-row{transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.progress-pupil-row.is-selected{border-color:#9fb6ca;background:#fbfdff;box-shadow:0 0 0 2px rgba(35,71,102,.06),0 3px 10px rgba(15,23,42,.035)}
.progress-pupil-identity{position:relative}.progress-pupil-select{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #ccd6df;border-radius:7px;background:#fff;cursor:pointer}.progress-pupil-select:hover{border-color:#94abc0}.progress-pupil-select input{width:14px;height:14px;margin:0;accent-color:#234766;cursor:pointer}
.bulk-preselect-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:7px 0 10px;padding:10px 12px;border:1px solid #cddae5;border-radius:9px;background:#f6f9fc}.bulk-preselect-note strong{font-size:11px;color:#234766}.bulk-preselect-note span{font-size:9px;color:#667085;text-align:right}
@media(max-width:900px){.progress-bulk-toolbar{position:static;align-items:flex-start;flex-direction:column}.progress-bulk-actions{width:100%;justify-content:flex-start}}
@media(max-width:650px){.progress-bulk-actions{display:grid;grid-template-columns:1fr 1fr}.progress-bulk-actions .btn{width:100%}.bulk-preselect-note{display:block}.bulk-preselect-note span{display:block;margin-top:3px;text-align:left}}

/* v0.26.0 — Homework Planner, scheduling and reuse */
.rc-schedule-field[hidden]{display:none!important}
.planner-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.02em;text-transform:uppercase;vertical-align:middle}
.planner-status-live{background:#e7f7ec;color:#23643b}.planner-status-scheduled{background:#eaf1f8;color:#234766}.planner-status-draft{background:#f1f3f5;color:#596674}.planner-status-closed{background:#f4ecec;color:#7f4a4a}
.homework-publish-control{margin-bottom:14px;border-color:#d7e1e9;background:#fbfdff}.homework-publish-control.is-scheduled{border-left:4px solid #527a9e}.homework-publish-control.is-draft{border-left:4px solid #9aa7b4}.homework-publish-control h2{margin:2px 0 4px}.homework-publish-control p{margin:0}.planner-availability{padding:9px 12px;border:1px solid #d8e3ed;border-radius:10px;background:#fff;color:#667085;font-size:9px;text-align:right;line-height:1.3}.planner-availability strong{display:block;color:#234766;font-size:13px;margin-top:2px}.planner-schedule-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;margin-top:13px}.planner-schedule-form .field{margin:0}.planner-control-actions{margin-top:10px}.planner-hidden-notice{margin-bottom:14px}.planner-hidden-notice span{margin-left:7px}
.planner-metric-link{text-decoration:none;transition:transform .15s ease,border-color .15s ease}.planner-metric-link:hover{transform:translateY(-1px);border-color:#9fb5c9}.planner-toolbar-card{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:14px}.planner-filter-form{min-width:210px}.planner-filter-form .field{margin:0}.planner-view-tabs{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.planner-view-tabs a{padding:8px 10px;border:1px solid #d9e1e8;border-radius:9px;background:#fff;color:#526273;text-decoration:none;font-size:10px;font-weight:800}.planner-view-tabs a.is-active{background:#234766;border-color:#234766;color:#fff}.planner-create-actions{margin-left:auto}
.homework-planner-list h2{margin:0 0 3px}.planner-assignment-stack{display:grid;gap:9px;margin-top:12px}.planner-assignment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:13px 14px;border:1px solid #dfe5eb;border-radius:12px;background:#fff}.planner-assignment-card h3{margin:5px 0 3px;font-size:14px;color:#172033}.planner-title-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.planner-title-line .subject{font-size:9px}.planner-card-actions{justify-content:flex-end}.planner-time-callout{display:inline-block;margin-top:7px;padding:6px 9px;border-radius:8px;background:#eef5fa;color:#355a78;font-size:10px}.planner-time-callout.muted-callout{background:#f4f5f6;color:#667085}.planner-live-progress{max-width:420px;margin-top:8px}.planner-live-progress .progress-track{height:6px}.planner-live-progress small{display:block;margin-top:4px;color:#667085;font-size:9px}.planner-copy-summary{display:grid;gap:8px;margin:14px 0}.planner-copy-summary span{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid #edf0f3;font-size:11px;color:#526273}.planner-copy-summary strong{color:#172033}.planner-fixed-points{margin:10px 0;padding:9px 10px;border-radius:8px;background:#f7f9fb}.planner-reuse-grid{align-items:start}
@media(max-width:850px){.planner-toolbar-card{align-items:stretch}.planner-filter-form{width:100%}.planner-create-actions{margin-left:0}.planner-assignment-card{grid-template-columns:1fr}.planner-card-actions{justify-content:flex-start}.planner-schedule-form{grid-template-columns:1fr}.planner-schedule-form .btn{width:100%}}
@media(max-width:600px){.planner-view-tabs{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.planner-view-tabs a{text-align:center}.planner-create-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.planner-create-actions .btn{width:100%}.planner-copy-summary span{grid-template-columns:1fr}.homework-publish-control>.split{display:block}.planner-availability{text-align:left;margin-top:9px}.planner-card-actions{display:grid;grid-template-columns:1fr 1fr}.planner-card-actions .btn{width:100%}}

/* v0.27.0 — Reports & Insights */
.reports-heading{align-items:flex-end}.reports-heading h1{margin-bottom:5px}
.report-filter-panel{margin-bottom:14px;padding:16px}.report-filter-panel h2{margin:2px 0 3px}.report-filter-panel p{margin:0}.report-date-chip{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid #d8e1e9;border-radius:999px;background:#f8fafc;color:#405166;font-size:10px;font-weight:800;white-space:nowrap}
.report-builder-form{display:grid;grid-template-columns:minmax(155px,1fr) minmax(155px,1fr) minmax(200px,1.2fr) minmax(165px,1fr) minmax(135px,.8fr) minmax(135px,.8fr) auto;gap:10px;align-items:end;margin-top:14px}.report-builder-form .field{margin:0}.report-builder-actions{display:flex;align-items:end}.report-builder-actions .btn{white-space:nowrap}.report-custom-date[hidden]{display:none!important}.report-filter-note{margin-top:11px!important;padding:9px 11px;border-radius:8px;background:#f5f8fb;color:#58697a;font-size:9.5px;line-height:1.4}
.report-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 14px}.report-summary-card{padding:14px 15px;border:1px solid #dce3ea;border-radius:12px;background:#fff;box-shadow:0 3px 10px rgba(15,23,42,.025)}.report-summary-card span,.report-summary-card small{display:block}.report-summary-card span{color:#667085;font-size:9.5px;font-weight:750}.report-summary-card strong{display:block;margin:3px 0 2px;color:#172033;font-size:24px;line-height:1}.report-summary-card small{color:#7a8794;font-size:8.5px}
.report-launch-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.report-launch-copy h2{margin:2px 0 3px}.report-launch-copy p{margin:0}.report-launch-card .actions{flex:0 0 auto}
.report-pupil-picker{margin-bottom:18px}.report-pupil-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.report-pupil-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #dfe5eb;border-radius:10px;background:#fff;text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease}.report-pupil-card:hover{border-color:#a6bacd;background:#fbfdff;transform:translateY(-1px)}.report-pupil-card.needs-attention{border-left:4px solid #d39a4a}.report-pupil-card strong,.report-pupil-card span{display:block}.report-pupil-card strong{color:#172033;font-size:11px}.report-pupil-card span{margin-top:2px;color:#6b7785;font-size:9px}.report-pupil-card-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.report-pupil-card-meta b{padding:4px 6px;border-radius:999px;background:#fff2df;color:#925a18;font-size:8px}.report-pupil-card-meta span{margin:0;padding:4px 6px;border-radius:999px;background:#eef3f7;color:#445b70;font-weight:800}.report-pupil-card-meta i{font-style:normal;color:#315875;font-size:9px;font-weight:800;white-space:nowrap}
.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px;padding:10px 12px;border:1px solid #dce3ea;border-radius:10px;background:#fff;position:sticky;top:76px;z-index:12;box-shadow:0 6px 16px rgba(15,23,42,.05)}.report-toolbar>div:first-child{min-width:0}.report-toolbar>div:first-child span{display:block;margin-top:2px;color:#74808d;font-size:9px}.report-toolbar .actions{flex:0 0 auto}
.report-document{padding:24px;border:1px solid #dfe4e9;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.035)}.report-document-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:17px;border-bottom:1px solid #e5e9ed}.report-document-header h1{margin:4px 0 3px;color:#172033;font-size:28px;line-height:1.1}.report-document-header p{margin:0;color:#667085;font-size:11px}.report-document-meta{min-width:230px;padding:11px 13px;border:1px solid #dbe3ea;border-radius:10px;background:#f8fafc;text-align:right}.report-document-meta span,.report-document-meta strong,.report-document-meta small{display:block}.report-document-meta span{color:#7b8794;font-size:8.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:800}.report-document-meta strong{margin:3px 0;color:#234766;font-size:12px}.report-document-meta small{color:#667085;font-size:8.5px}.report-context-note{margin:14px 0 0;padding:9px 11px;border-left:3px solid #6f8eaa;border-radius:7px;background:#f5f8fb;color:#536273;font-size:9.5px;line-height:1.45}
.report-metric-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:16px 0}.report-metric-grid>div{padding:12px;border:1px solid #dfe5eb;border-radius:10px;background:#fbfcfd;min-width:0}.report-metric-grid span,.report-metric-grid small{display:block}.report-metric-grid span{color:#697686;font-size:8.5px;font-weight:750}.report-metric-grid strong{display:block;margin:3px 0;color:#172033;font-size:20px;line-height:1}.report-metric-grid small{color:#8a94a0;font-size:8px;line-height:1.3}
.report-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 17px}.report-insight{padding:12px 13px;border:1px solid #dfe5eb;border-radius:10px;background:#fff}.report-insight span{display:block;color:#667085;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.report-insight strong{display:block;margin:4px 0;color:#172033;font-size:14px}.report-insight p{margin:0;color:#667085;font-size:9px;line-height:1.4}.report-insight.is-attention{border-color:#ead4b5;background:#fffaf3}.report-insight.is-attention strong{color:#8b571c}.report-insight.is-clear{border-color:#cfe2d5;background:#f7fbf8}.report-insight.is-clear strong{color:#2d6541}
.report-section{margin-top:16px;padding-top:16px;border-top:1px solid #e8ebef}.report-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:9px}.report-section-heading h2{margin:2px 0 0;color:#172033;font-size:17px}.report-section-heading>small{max-width:430px;color:#7d8894;font-size:8.5px;line-height:1.35;text-align:right}.report-table{width:100%;border-collapse:collapse;font-size:9.5px}.report-table th{padding:8px 9px;border-bottom:1px solid #d9e0e7;background:#f8fafc;color:#586574;font-size:8px;text-align:left;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}.report-table td{padding:9px;border-bottom:1px solid #edf0f3;color:#465465;vertical-align:middle}.report-table td strong{color:#172033}.report-table td a{text-decoration:none}.report-table tbody tr:last-child td{border-bottom:0}.report-signal{display:inline-flex;padding:4px 6px;border-radius:999px;font-size:7.8px;font-weight:850;white-space:nowrap}.report-signal.attention{background:#fff1df;color:#955b17}.report-signal.clear{background:#eaf6ee;color:#356847}.report-status{display:inline-flex;padding:4px 6px;border-radius:999px;background:#eef3f6;color:#455d72;font-size:8px;font-weight:800;white-space:nowrap}.report-status.is-overdue{background:#fff1df;color:#955b17}
.report-two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.report-habit-list{display:grid;gap:8px}.report-habit-list>div>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.report-habit-list strong{font-size:10px;color:#243548}.report-habit-list span{font-size:9px;color:#667085;font-weight:800}.report-habit-list i{display:block;height:6px;margin-top:4px;border-radius:999px;background:#edf1f4;overflow:hidden}.report-habit-list i b{display:block;height:100%;border-radius:999px;background:#587c9c}.report-event-list{display:grid}.report-event-list>div{padding:8px 0;border-top:1px solid #edf0f3}.report-event-list>div:first-child{border-top:0}.report-event-list strong,.report-event-list span,.report-event-list small{display:block}.report-event-list strong{font-size:10px;color:#26384a}.report-event-list span{margin-top:2px;color:#627080;font-size:8.8px;line-height:1.35}.report-event-list small{margin-top:2px;color:#929ba5;font-size:8px}.report-points-events{grid-template-columns:1fr 1fr;column-gap:18px}.report-document-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px;padding-top:11px;border-top:1px solid #e4e8ec;color:#8a94a0;font-size:8px}
@media(max-width:1120px){.report-builder-form{grid-template-columns:repeat(3,minmax(0,1fr))}.report-builder-actions{align-self:end}.report-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.report-summary-grid{grid-template-columns:1fr 1fr}.report-launch-card{align-items:flex-start;flex-direction:column}.report-pupil-grid{grid-template-columns:1fr}.report-toolbar{position:static;align-items:flex-start;flex-direction:column}.report-document-header{flex-direction:column}.report-document-meta{min-width:0;width:100%;text-align:left}.report-insight-grid{grid-template-columns:1fr}.report-two-column{grid-template-columns:1fr}.report-points-events{grid-template-columns:1fr}.report-section-heading{align-items:flex-start;flex-direction:column}.report-section-heading>small{text-align:left}}
@media(max-width:620px){.reports-heading{display:block}.reports-heading .actions{margin-top:10px}.report-builder-form{grid-template-columns:1fr}.report-summary-grid,.report-metric-grid{grid-template-columns:1fr 1fr}.report-launch-card .actions,.report-toolbar .actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.report-launch-card .actions .btn:first-child{grid-column:1/-1}.report-toolbar .actions .btn:first-child{grid-column:1/-1}.report-pupil-card{align-items:flex-start;flex-direction:column}.report-pupil-card-meta{justify-content:flex-start}.report-document{padding:16px}.report-document-header h1{font-size:23px}}
@media(max-width:430px){.report-summary-grid,.report-metric-grid{grid-template-columns:1fr}.report-launch-card .actions,.report-toolbar .actions{grid-template-columns:1fr}.report-launch-card .actions .btn:first-child,.report-toolbar .actions .btn:first-child{grid-column:auto}}

@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff!important;color:#111!important}
  .topbar,.footer,.no-print,.report-toolbar,.alert{display:none!important}
  .rc-main-container,.container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  .report-document{padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .report-document-header{break-after:avoid}.report-metric-grid,.report-insight-grid,.report-two-column{break-inside:avoid}.report-section{break-inside:auto}.report-table tr,.report-event-list>div{break-inside:avoid}
  .report-table th{background:#f2f2f2!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .report-signal,.report-status,.report-context-note,.report-insight,.report-metric-grid>div{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  a{color:inherit!important;text-decoration:none!important}
}
.points-negative{color:#9a3412;font-weight:800}

/* v0.28.0 — private Teacher Notes & Interventions */
.teacher-notes-card{margin:0 0 14px;scroll-margin-top:92px}.teacher-notes-heading{align-items:flex-end}.teacher-notes-heading h2{margin:2px 0 3px}.teacher-note-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.teacher-note-summary>span{display:inline-flex;align-items:baseline;gap:4px;padding:6px 8px;border-radius:999px;background:#eef3f7;color:#536273;font-size:9px;font-weight:750}.teacher-note-summary strong{font-size:11px;color:#234766}.teacher-note-summary .is-due{background:#fff1df;color:#945b19}.teacher-note-summary .is-due strong{color:#945b19}.teacher-notes-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.35fr);gap:16px;margin-top:13px}.teacher-note-form{padding:13px;border:1px solid #dfe5eb;border-radius:11px;background:#f8fafc}.teacher-note-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.teacher-note-form .field{margin:0 0 9px}.teacher-note-form label small{font-weight:600;color:#8a94a0}.teacher-note-form textarea{min-height:94px;resize:vertical}.teacher-note-form-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.teacher-note-form-actions small{color:#7d8894;font-size:8.5px}.teacher-note-list{display:grid;gap:8px;max-height:520px;overflow:auto;padding-right:2px}.teacher-note-item{position:relative;padding:11px 12px;border:1px solid #dfe5eb;border-radius:10px;background:#fff}.teacher-note-item.is-open{border-left:4px solid #6f8eaa;padding-left:9px}.teacher-note-item.is-follow-up-due{border-left-color:#d09747;background:#fffdf9}.teacher-note-item.is-resolved{background:#fbfcfd}.teacher-note-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.teacher-note-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.teacher-note-tags>span{display:inline-flex;padding:4px 6px;border-radius:999px;background:#eef3f7;color:#4e6275;font-size:8px;font-weight:800}.teacher-note-tags .teacher-note-category{background:#e9f0f6;color:#2f5878}.teacher-note-status{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eaf6ee;color:#356847;font-size:8px;font-weight:850}.teacher-note-item.is-open .teacher-note-status{background:#edf3f8;color:#315a79}.teacher-note-item p{margin:8px 0 7px;color:#334155;font-size:10px;line-height:1.45}.teacher-note-meta{display:flex;gap:8px;flex-wrap:wrap;color:#8a94a0;font-size:8px}.teacher-note-meta .due{color:#9a601a;font-weight:800}.teacher-note-status-form{margin-top:8px}.teacher-note-status-form .btn{padding:6px 9px;font-size:9px}.report-insight-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.report-insight.is-note-open{border-color:#d7e1ea;background:#f8fbfd}.report-insight.is-note-open strong{color:#315a79}.report-private-section{border-top-color:#d8e2eb}.report-notes-table .report-note-text{min-width:240px;white-space:normal;line-height:1.4}.report-status.is-open-note{background:#edf3f8;color:#315a79}
@media(max-width:1050px){.teacher-notes-layout{grid-template-columns:1fr}.teacher-note-list{max-height:none}.report-insight-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.teacher-notes-heading{display:block}.teacher-note-summary{justify-content:flex-start;margin-top:9px}.teacher-note-form-grid{grid-template-columns:1fr}.teacher-note-form-actions{align-items:stretch;flex-direction:column}.teacher-note-form-actions .btn{width:100%}.report-insight-grid{grid-template-columns:1fr}}

/* v0.29.0 — teacher-only Pupil Groups */
.pupil-groups-layout{align-items:start}.pupil-group-card-list{display:grid;gap:9px;margin-top:12px}.pupil-group-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #dfe5eb;border-radius:11px;background:#fff;color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.pupil-group-card:hover,.pupil-group-card:focus-visible{border-color:#aabcca;box-shadow:0 5px 15px rgba(23,32,51,.06);transform:translateY(-1px);outline:none}.pupil-group-card>div{min-width:0}.pupil-group-card strong,.pupil-group-card small,.pupil-group-card p{display:block}.pupil-group-card strong{margin-top:5px;color:#172033;font-size:13px}.pupil-group-card small{margin-top:2px;color:#667085;font-size:9px}.pupil-group-card p{margin:7px 0 0;color:#667085;font-size:10px;line-height:1.4}.pupil-group-card>i{color:#5b7287;font-size:10px;font-style:normal;font-weight:800;white-space:nowrap}.pupil-group-card.archived,.pupil-group-card.expired{background:#fafbfc;opacity:.78}.pupil-group-state{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eaf6ee;color:#356847;font-size:8px;font-weight:850}.pupil-group-card.archived .pupil-group-state{background:#eef1f4;color:#667085}.pupil-group-card.expired .pupil-group-state{background:#fff1df;color:#955b17}
.group-member-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:360px;overflow:auto;padding:2px}.group-member-picker .check{display:flex;align-items:center;gap:9px;margin:0;padding:9px 10px;border:1px solid #dfe5eb;border-radius:9px;background:#fff;cursor:pointer}.group-member-picker .check:has(input:checked){border-color:#9fb5c9;background:#f1f6fa}.group-member-picker .check span{min-width:0}.group-member-picker .check strong,.group-member-picker .check small{display:block}.group-member-picker .check strong{color:#223548;font-size:10.5px}.group-member-picker .check small{margin-top:1px;color:#7d8894;font-size:8px}.group-current-members{display:grid;gap:7px;margin-top:12px}.group-current-members>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid #e1e6ec;border-radius:9px;background:#fbfcfd;color:inherit;text-decoration:none}.group-current-members>a:hover{border-color:#b8c6d2;background:#f5f8fa}.group-current-members strong{font-size:10.5px;color:#223548}.group-current-members i{font-style:normal;color:#607387;font-size:9px;font-weight:800}.group-current-members .progress-pupil-avatar{width:30px;height:30px;border-radius:8px;font-size:11px}
.group-quick-actions{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(0,1.4fr);gap:18px;align-items:center;margin:14px 0}.group-quick-actions h2{margin:2px 0 4px}.group-quick-actions p{margin:0}.group-quick-actions .quick-actions{margin:0}
.recipient-choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choice-card.compact-choice{position:relative;display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid #dfe5eb;border-radius:10px;background:#fff;cursor:pointer}.choice-card.compact-choice:hover{border-color:#b3c2cf}.choice-card.compact-choice:has(input:checked){border-color:#7595b0;background:#f1f6fa;box-shadow:0 0 0 2px rgba(35,71,102,.06)}.choice-card.compact-choice:has(input:disabled){opacity:.55;cursor:not-allowed}.choice-card.compact-choice input{margin-top:2px}.choice-card.compact-choice span{min-width:0}.choice-card.compact-choice strong,.choice-card.compact-choice small{display:block}.choice-card.compact-choice strong{color:#223548;font-size:11px}.choice-card.compact-choice small{margin-top:2px;color:#73808d;font-size:8.5px;line-height:1.35}.rc-group-recipient-field{padding:11px 12px;border:1px solid #dce5ec;border-radius:10px;background:#f8fafc}.rc-group-recipient-field[hidden]{display:none!important}
@media(max-width:900px){.group-quick-actions{grid-template-columns:1fr}.group-member-picker{grid-template-columns:1fr}}
@media(max-width:600px){.pupil-groups-layout{grid-template-columns:1fr!important}.recipient-choice-row{grid-template-columns:1fr}.pupil-group-card{align-items:flex-start}.group-current-members>a{grid-template-columns:auto minmax(0,1fr)}.group-current-members i{grid-column:2}}

/* v0.30.0 — Certificate Library & Achievement Recognition */
.teacher-certificates-page .certificate-page-heading{align-items:flex-start;margin-bottom:18px}
.teacher-certificates-page .certificate-class-switcher{margin-bottom:26px}
.certificate-library-section{margin:26px 0 30px}
.certificate-favourites-strip{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0 20px}
.certificate-favourites-strip a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #d7dee7;border-radius:999px;background:#fff;color:#223248;text-decoration:none;font-weight:700;font-size:13px}
.certificate-favourites-strip a span{color:#a67918}
.certificate-category-block{margin:24px 0 32px}
.certificate-category-block>h3{font-size:17px;margin:0 0 12px;color:#223248}
.certificate-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.certificate-template-card{background:#fff;border:1px solid #dbe2ea;border-radius:14px;padding:12px;box-shadow:0 6px 18px rgba(31,45,61,.055);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.certificate-template-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(31,45,61,.09)}
.certificate-template-card.is-selected{border-color:#315a83;box-shadow:0 0 0 2px rgba(49,90,131,.10),0 10px 26px rgba(31,45,61,.08)}
.certificate-template-mini{--cert-ink:#17304d;--cert-accent:#b8994a;position:relative;min-height:155px;border:4px solid var(--cert-ink);outline:1px solid var(--cert-accent);outline-offset:-9px;background:linear-gradient(180deg,#fffefa,#fff);padding:24px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.certificate-template-mini::before,.certificate-template-mini::after{content:"";position:absolute;width:64px;height:64px;border:1px solid var(--cert-accent);opacity:.25;transform:rotate(45deg)}
.certificate-template-mini::before{left:-38px;top:-38px}.certificate-template-mini::after{right:-38px;bottom:-38px}
.certificate-template-card.style-academic .certificate-template-mini{--cert-ink:#1f473b;--cert-accent:#a88c48;background:linear-gradient(180deg,#fbfdf8,#fff)}
.certificate-template-card.style-character .certificate-template-mini{--cert-ink:#573144;--cert-accent:#b37a55;background:linear-gradient(180deg,#fffafa,#fff)}
.certificate-template-card.style-modern .certificate-template-mini{--cert-ink:#1c4755;--cert-accent:#5d8f98;background:linear-gradient(180deg,#f9fcfc,#fff)}
.certificate-template-mini-kicker{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:#6c7680;margin-bottom:8px}
.certificate-template-mini strong{font-family:Georgia,'Times New Roman',serif;color:var(--cert-ink);font-size:21px;line-height:1.1}
.certificate-template-mini-name{font-family:Georgia,'Times New Roman',serif;margin-top:14px;padding:0 15px 4px;border-bottom:1px solid var(--cert-accent);font-size:14px;color:#36414c}
.certificate-template-mini i{position:absolute;bottom:15px;width:34px;height:34px;border-radius:50%;border:1px solid var(--cert-accent);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:10px;font-weight:800;color:var(--cert-ink);background:#fff}
.certificate-template-copy{padding:12px 3px 8px}.certificate-template-copy>strong{display:block;font-size:15px}.certificate-template-copy p{margin:5px 0 0;color:#6b7684;font-size:12px;line-height:1.45;min-height:52px}
.certificate-template-actions{display:flex;align-items:center;gap:8px;padding:3px}.certificate-template-actions form{margin-left:auto}.certificate-favourite-btn{width:34px;height:34px;border:1px solid #d6dde5;border-radius:8px;background:#fff;color:#b0b7bf;font-size:17px;cursor:pointer}.certificate-favourite-btn:hover,.certificate-favourite-btn.is-favourite{color:#a67918;background:#fffaf0;border-color:#e3c56f}
.certificate-award-panel{margin-top:28px;scroll-margin-top:24px}.certificate-selected-summary{--cert-accent:#b8994a;display:flex;align-items:center;gap:15px;margin:18px 0;padding:15px 17px;border:1px solid #dbe2ea;border-left:5px solid var(--cert-accent);border-radius:10px;background:#fbfcfd}.certificate-selected-summary.style-academic{--cert-accent:#688d6c}.certificate-selected-summary.style-character{--cert-accent:#a56e78}.certificate-selected-summary.style-modern{--cert-accent:#5d8f98}.certificate-selected-summary>span{width:44px;height:44px;border-radius:50%;border:1px solid var(--cert-accent);display:flex;align-items:center;justify-content:center;font-weight:800}.certificate-selected-summary small,.certificate-selected-summary strong{display:block}.certificate-selected-summary small{text-transform:uppercase;letter-spacing:1px;font-size:10px;color:#7a8490;font-weight:800}.certificate-selected-summary strong{font-size:17px;margin-top:2px}.certificate-selected-summary p{margin:4px 0 0;color:#687481;font-size:13px}
.certificate-recipient-modes{display:flex;gap:10px;flex-wrap:wrap}.certificate-recipient-modes label{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #d7dee7;border-radius:9px;background:#fff;font-weight:700;cursor:pointer}.certificate-recipient-modes input{margin:0}.certificate-pupil-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.certificate-pupil-toolbar .muted{margin-left:auto;font-size:12px}.certificate-pupil-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:280px;overflow:auto;padding:2px}.certificate-pupil-check{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid #dce2e9;border-radius:8px;background:#fff;cursor:pointer}.certificate-pupil-check:has(input:checked){border-color:#315a83;background:#f2f7fc}.certificate-pupil-check input{margin:0}.certificate-recent-list .recent-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.certificate-recent-list .recent-row .body{min-width:0}.certificate-recent-list .recent-row .body strong,.certificate-recent-list .recent-row .body span{display:block}.certificate-recent-mark{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid #b8994a;background:#fffaf0;font-weight:800;color:#17304d}.certificate-recent-mark.style-academic{border-color:#7f9d7f;background:#f4f8f2;color:#1f473b}.certificate-recent-mark.style-character{border-color:#c39176;background:#fff5ef;color:#573144}.certificate-recent-mark.style-modern{border-color:#78a3aa;background:#f0f8f8;color:#1c4755}.milestone-edit-form select[name="certificate_template_key"]{min-height:42px}
@media(max-width:1050px){.certificate-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.certificate-pupil-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.certificate-template-grid,.certificate-pupil-grid{grid-template-columns:1fr}.certificate-template-copy p{min-height:0}.certificate-recipient-modes{display:grid;grid-template-columns:1fr}.certificate-recent-list .recent-row{grid-template-columns:auto 1fr}.certificate-recent-list .recent-row>.btn{grid-column:1/-1}.certificate-template-actions{flex-wrap:wrap}}

/* v0.31.0 — Class Goals & Challenges */
.teacher-goals-page .goal-page-heading{align-items:flex-start;margin-bottom:18px}
.teacher-goals-page .goal-metrics{margin:18px 0 24px}
.class-goal-list{margin:6px 0 28px}.class-goal-list h2,.class-goal-create h2,.class-goal-history h2{margin:2px 0 3px}.class-goal-list p,.class-goal-create p,.class-goal-history p{margin:0}
.class-goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.class-goal-card{border:1px solid #dce4ec;border-radius:14px;background:#fff;padding:16px;box-shadow:0 6px 20px rgba(20,33,48,.05);min-width:0;scroll-margin-top:22px}
.class-goal-card.status-paused{background:#fafbfc;opacity:.72}.class-goal-card.status-upcoming{background:#fbfcfe}.class-goal-card.status-achieved{border-color:#9fc8b1;background:#fbfffc}
.class-goal-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.class-goal-card-top h3{margin:5px 0 4px;color:#182637;font-size:18px}.class-goal-card-top p{color:#687684;font-size:12px;line-height:1.45}.goal-status-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef3f7;color:#425a70;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.status-live .goal-status-pill{background:#eaf6ef;color:#276744}.status-upcoming .goal-status-pill{background:#edf4fb;color:#315d87}.status-paused .goal-status-pill{background:#f1f2f4;color:#68717c}.goal-percent{font-size:24px;color:#234766;white-space:nowrap}
.class-goal-progress-track{height:9px;border-radius:999px;background:#e9eef3;overflow:hidden;margin:14px 0 8px}.class-goal-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#315e85,#4d82a8)}
.class-goal-progress-values{display:flex;align-items:baseline;gap:7px}.class-goal-progress-values strong{font-size:17px;color:#1b2b3c}.class-goal-progress-values span{font-size:10px;color:#6f7c89;font-weight:750}.class-goal-detail{margin-top:5px;color:#607080;font-size:11px}.class-goal-dates{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid #edf0f3;color:#74808d;font-size:10px;font-weight:700}
.class-goal-outcome{margin-top:11px;padding:10px 11px;border-radius:9px;background:#f7f9fb;border:1px solid #e4e9ee}.class-goal-outcome small,.class-goal-outcome strong,.class-goal-outcome span{display:block}.class-goal-outcome small{font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;color:#7c8792;font-weight:850}.class-goal-outcome strong{margin-top:2px;color:#26394d;font-size:12px}.class-goal-outcome span{margin-top:2px;color:#667687;font-size:10px}
.goal-quick-progress{display:flex;align-items:flex-end;gap:8px;margin-top:12px;padding:10px;border:1px solid #dfe6ec;border-radius:9px;background:#fbfcfd}.goal-quick-progress label{flex:1;font-size:9px;font-weight:800;color:#657383}.goal-quick-progress input{display:block;width:100%;margin-top:4px}.class-goal-actions{margin-top:12px}.class-goal-actions form{margin:0}.goal-edit-details{position:relative}.goal-edit-details>summary{list-style:none;cursor:pointer}.goal-edit-details>summary::-webkit-details-marker{display:none}.goal-edit-popover{position:absolute;z-index:20;right:0;top:42px;width:min(580px,88vw);padding:14px;border:1px solid #d6dee6;border-radius:12px;background:#fff;box-shadow:0 18px 46px rgba(17,31,45,.18)}.goal-edit-form .field{margin-bottom:10px}
.class-goal-create{margin:24px 0}.goal-create-form{margin-top:16px}.goal-certificate-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:18px;align-items:end;margin:4px 0 16px;padding:13px;border:1px solid #e1e7ed;border-radius:10px;background:#fafbfd}.goal-certificate-options .field{margin:0}.goal-custom-dates[hidden],.goal-habit-field[hidden],.goal-custom-progress[hidden],.goal-custom-unit-field[hidden]{display:none!important}
.class-goal-history-row .actions{margin-left:auto}.class-goal-history-row .help{display:block;margin-top:3px}
.dashboard-class-goals-card{margin:18px 0}.dashboard-goal-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:13px}.dashboard-goal-chip{display:block;padding:11px;border:1px solid #dce4ec;border-radius:10px;background:#fbfcfd;color:inherit;text-decoration:none;min-width:0}.dashboard-goal-chip:hover{border-color:#9eb3c5;background:#f6f9fb}.dashboard-goal-chip>span,.dashboard-goal-chip>strong,.dashboard-goal-chip>small{display:block}.dashboard-goal-chip>span{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#7b8793;font-weight:850}.dashboard-goal-chip>strong{margin-top:3px;font-size:11px;color:#213447;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-goal-chip>div{height:5px;margin:8px 0 6px;border-radius:999px;background:#e8edf2;overflow:hidden}.dashboard-goal-chip>div i{display:block;height:100%;background:#406f96;border-radius:inherit}.dashboard-goal-chip>small{font-size:8.5px;color:#657484;font-weight:700}

/* Pupil-facing goals stay compact and deliberately avoid rankings. */
.pupil-dashboard-class-goals{margin:20px 0;padding:16px;border:1px solid #dfe6ec;border-radius:13px;background:#fff}.pupil-dashboard-class-goals h2{margin:2px 0 2px;font-size:20px}.pupil-dashboard-class-goals p{margin:0;font-size:11px}.pupil-dashboard-goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.pupil-dashboard-goal-card{display:block;padding:11px;border:1px solid #dfe6ec;border-radius:10px;background:#f8fafc;color:inherit;text-decoration:none}.pupil-dashboard-goal-card:hover{border-color:#aac0d2;background:#f4f8fb}.pupil-dashboard-goal-card.is-achieved{border-color:#a8cfb7;background:#f5fbf7}.pupil-dashboard-goal-top,.pupil-dashboard-goal-foot{display:flex;justify-content:space-between;gap:8px;align-items:center}.pupil-dashboard-goal-top span{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#67798a;font-weight:850}.pupil-dashboard-goal-top strong{font-size:13px;color:#244862}.pupil-dashboard-goal-card h3{margin:5px 0 8px;font-size:12px;line-height:1.3;color:#1e3144}.pupil-dashboard-goal-track{height:6px;border-radius:999px;background:#e4eaf0;overflow:hidden}.pupil-dashboard-goal-track span{display:block;height:100%;border-radius:inherit;background:#416f95}.pupil-dashboard-goal-foot{margin-top:7px;font-size:8.5px;color:#697988;font-weight:750}
.pupil-goals-shell{max-width:1120px;margin:0 auto}.pupil-class-goals-section{margin:20px 0}.pupil-class-goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}.pupil-class-goal-card{padding:17px;border:1px solid #dce5ec;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(18,34,48,.045)}.pupil-class-goal-card.is-upcoming{background:#fafcff}.pupil-class-goal-card.is-achieved{border-color:#a8cfb7;background:linear-gradient(180deg,#fbfffc,#fff)}.pupil-class-goal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pupil-class-goal-top>strong{font-size:25px;color:#244d6c}.pupil-class-goal-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#607a8f}.pupil-class-goal-top h2{margin:4px 0 4px;font-size:19px;color:#1d3042}.pupil-class-goal-top p{margin:0;color:#677686;font-size:11px;line-height:1.45}.pupil-class-goal-track{height:10px;border-radius:999px;background:#e7edf2;overflow:hidden;margin:15px 0 9px}.pupil-class-goal-track span{display:block;height:100%;background:linear-gradient(90deg,#315f86,#4d83a9);border-radius:inherit}.pupil-class-goal-card.is-achieved .pupil-class-goal-track span{background:#4c8c66}.pupil-class-goal-values{display:flex;align-items:baseline;gap:7px}.pupil-class-goal-values strong{font-size:17px;color:#1f3345}.pupil-class-goal-values span{font-size:10px;color:#6b7a88;font-weight:750}.pupil-class-goal-detail{margin-top:5px;color:#657586;font-size:10.5px}.pupil-class-goal-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #edf1f4;color:#6f7e8c;font-size:9px;font-weight:750}
@media(max-width:1050px){.dashboard-goal-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.pupil-dashboard-goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.class-goal-grid,.pupil-class-goal-grid{grid-template-columns:1fr}.goal-certificate-options{grid-template-columns:1fr}.goal-edit-popover{position:fixed;left:12px;right:12px;top:78px;width:auto;max-height:calc(100vh - 96px);overflow:auto}.pupil-dashboard-goal-grid{grid-template-columns:1fr}.dashboard-goal-strip{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.dashboard-goal-strip{grid-template-columns:1fr}.class-goal-card-top,.pupil-class-goal-top{gap:8px}.goal-percent,.pupil-class-goal-top>strong{font-size:20px}}

/* v0.32.0 — Teacher Dashboard 2.0 */
.teacher-dashboard-v32 .rc-main-container{width:min(1220px,94vw)}
.dashboard-v32-welcome{display:flex;align-items:stretch;justify-content:space-between;gap:18px;margin-bottom:22px;padding:26px 28px;background:#fff;border:1px solid #dfe5ec;border-radius:15px;box-shadow:0 5px 16px rgba(15,23,42,.045);border-top:4px solid #e84c5b}
.dashboard-v32-welcome h1{margin:3px 0 5px;font-size:31px;line-height:1.14;letter-spacing:-.035em;color:#182238}.dashboard-v32-welcome p{margin:0;max-width:760px;color:#657286;font-size:13px}
.dashboard-v32-status{min-width:205px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:15px 18px;border:1px solid #dfe5ec;border-radius:11px;background:#f8fafc}.dashboard-v32-status strong{font-size:27px;line-height:1;color:#27364a}.dashboard-v32-status span{margin-top:5px;font-size:11px;color:#67758a;font-weight:750}.dashboard-v32-status a{margin-top:7px;font-size:11px;font-weight:800;text-decoration:none}.dashboard-v32-status.has-attention{background:#fff8f1;border-color:#f0d8b8}.dashboard-v32-status.has-attention strong{color:#a75d08}.dashboard-v32-status.is-clear{background:#f2faf6;border-color:#cfe8da}.dashboard-v32-status.is-clear strong{color:#177a57}
.dashboard-v32-section{margin:22px 0}.dashboard-v32-section-head,.dashboard-v32-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}.dashboard-v32-section-head h2,.dashboard-v32-panel-head h2{margin:1px 0 2px;font-size:20px;color:#202a3d}.dashboard-v32-section-head p{margin:0;color:#708096;font-size:11.5px}.dashboard-v32-section-head>a,.dashboard-v32-panel-head>a{font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}
.dashboard-v32-attention-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.dashboard-v32-attention-item{display:block;min-width:0;padding:15px 16px;background:#fff;border:1px solid #dfe5ec;border-radius:12px;color:#243248;text-decoration:none;box-shadow:0 3px 10px rgba(15,23,42,.025);transition:border-color .14s ease,transform .14s ease}.dashboard-v32-attention-item:hover{border-color:#bbc8d6;transform:translateY(-1px)}.dashboard-v32-attention-item>span,.dashboard-v32-attention-item>small{display:block}.dashboard-v32-attention-item>span{font-size:10.5px;font-weight:800;color:#607084}.dashboard-v32-attention-item>strong{display:block;margin:3px 0;font-size:27px;line-height:1;color:#1d2a3d}.dashboard-v32-attention-item>small{font-size:9px;line-height:1.35;color:#7a8797}.dashboard-v32-attention-item.is-urgent{border-top:3px solid #cf4b57}.dashboard-v32-attention-item.is-warning{border-top:3px solid #d99434}.dashboard-v32-attention-item.is-positive{border-top:3px solid #4d8a6c}
.dashboard-v32-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.dashboard-v32-actions>a{display:flex;flex-direction:column;align-items:flex-start;min-height:112px;padding:14px;border:1px solid #dfe5ec;border-radius:12px;background:#fff;color:#253248;text-decoration:none}.dashboard-v32-actions>a:hover{background:#f8fafc;border-color:#bec9d5}.dashboard-v32-actions b{display:grid;place-items:center;width:29px;height:29px;margin-bottom:9px;border-radius:8px;background:#f0f3f7;color:#344760;font-size:17px}.dashboard-v32-actions strong{font-size:11.5px;line-height:1.25}.dashboard-v32-actions span{margin-top:4px;font-size:9.5px;line-height:1.35;color:#758296}
.dashboard-v32-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.dashboard-v32-metrics>div{padding:15px 16px;background:#fff;border:1px solid #dfe5ec;border-radius:12px}.dashboard-v32-metrics span,.dashboard-v32-metrics small{display:block}.dashboard-v32-metrics span{font-size:10px;font-weight:800;color:#68778b}.dashboard-v32-metrics strong{display:block;margin:4px 0;font-size:24px;line-height:1.05;color:#1d2a3e}.dashboard-v32-metrics small{font-size:9px;color:#8490a0;line-height:1.3}
.dashboard-v32-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.dashboard-v32-panel{padding:19px}.dashboard-v32-panel-head{align-items:center}.dashboard-v32-panel-head h2{font-size:18px}.dashboard-v32-feed{display:flex;flex-direction:column}.dashboard-v32-feed>a{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center;padding:11px 2px;border-top:1px solid #edf0f3;color:inherit;text-decoration:none}.dashboard-v32-feed>a:first-child{border-top:0}.dashboard-v32-feed>a:hover strong{color:#a92c3b}.dashboard-v32-feed time{font-size:10px;color:#47566a;font-weight:800}.dashboard-v32-feed time small{display:block;margin-top:2px;color:#919aa7;font-size:9px}.dashboard-v32-feed div>span,.dashboard-v32-feed div>strong,.dashboard-v32-feed div>small{display:block}.dashboard-v32-feed div>span{font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;color:#8290a1;font-weight:850}.dashboard-v32-feed div>strong{margin:2px 0;font-size:11px;color:#26354a}.dashboard-v32-feed div>small{font-size:9px;color:#778598}.achievement-feed>a{grid-template-columns:36px 1fr}.dashboard-v32-achievement-mark{width:30px;height:30px;display:grid!important;place-items:center;border-radius:50%;background:#fff7dc;color:#a77913;border:1px solid #ead79b;font-size:13px}
.dashboard-v32-secondary{margin-top:-6px}.dashboard-v32-compact-list{display:flex;flex-direction:column}.dashboard-v32-compact-list>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;border-top:1px solid #edf0f3;color:inherit;text-decoration:none}.dashboard-v32-compact-list>a:first-child{border-top:0}.dashboard-v32-compact-list a:hover strong{color:#a92c3b}.dashboard-v32-compact-list strong,.dashboard-v32-compact-list span{display:block}.dashboard-v32-compact-list strong{font-size:11px;color:#26354a}.dashboard-v32-compact-list span{font-size:9px;color:#7c8898}.dashboard-v32-compact-list time{font-size:10px;font-weight:850;color:#556579;white-space:nowrap}
.dashboard-v32-goals,.dashboard-v32-classes{margin:22px 0}.dashboard-v32-goals .dashboard-goal-strip{margin-top:4px}.dashboard-v32-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.dashboard-v32-class-grid>a{display:block;padding:13px 14px;border:1px solid #e0e5eb;border-radius:10px;background:#fafbfd;color:inherit;text-decoration:none}.dashboard-v32-class-grid>a:hover{background:#f5f8fa;border-color:#c8d2dc}.dashboard-v32-class-grid strong,.dashboard-v32-class-grid span,.dashboard-v32-class-grid b{display:block}.dashboard-v32-class-grid strong{font-size:12px;color:#26354a}.dashboard-v32-class-grid span{margin:2px 0 7px;font-size:9.5px;color:#7a8797}.dashboard-v32-class-grid b{font-size:9px;color:#ad3242}
/* v0.67.1: class login details and multi-class shortcuts in the teacher dashboard. */
.dashboard-v32-classes .rc-dashboard-class-description{font-size:11px;color:#718093;margin:4px 0 0;line-height:1.4}
.dashboard-v32-classes .rc-dashboard-class-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:11px}
.dashboard-v32-classes .rc-dashboard-class-actions>a:not(.btn){color:#a52e42;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}
.dashboard-v32-classes .rc-dashboard-class-actions .btn{font-size:11px;white-space:nowrap}
.dashboard-v32-class-grid>a{min-width:0}
.dashboard-v32-class-grid .rc-dashboard-class-code-label{margin:12px 0 3px;font-size:9px;font-weight:750;letter-spacing:.02em;color:#64748b}
.dashboard-v32-class-grid .rc-dashboard-class-code{display:inline-block;padding:6px 9px;border:1px solid #dce4ee;background:#fff;border-radius:6px;font-size:15px;letter-spacing:.09em;font-weight:850;color:#202f48;word-break:break-all}
.dashboard-v32-class-grid>a>b{margin-top:11px}
@media(max-width:760px){.dashboard-v32-classes .dashboard-v32-panel-head{align-items:flex-start;flex-wrap:wrap}}

.quick-note-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.quick-note-entry{padding-top:17px;border-top:1px solid #e7ebef}.quick-note-recipient{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:14px;padding:11px 13px;border-radius:9px;background:#f7f9fb;border:1px solid #e2e7ed}.quick-note-recipient span,.quick-note-recipient small{font-size:10px;color:#6d7b8d}.quick-note-recipient strong{font-size:12px;color:#223148}.quick-note-due-card{margin-bottom:0}
@media(max-width:1100px){.dashboard-v32-attention-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-v32-actions,.dashboard-v32-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-v32-welcome{display:block;padding:20px}.dashboard-v32-status{margin-top:14px;min-width:0}.dashboard-v32-attention-grid{grid-template-columns:1fr 1fr}.dashboard-v32-columns{grid-template-columns:1fr}.dashboard-v32-class-grid{grid-template-columns:1fr 1fr}.quick-note-picker{grid-template-columns:1fr}.dashboard-v32-section-head{align-items:flex-start}}
@media(max-width:520px){.dashboard-v32-attention-grid,.dashboard-v32-actions,.dashboard-v32-metrics,.dashboard-v32-class-grid{grid-template-columns:1fr}.dashboard-v32-actions>a{min-height:0}.dashboard-v32-welcome h1{font-size:27px}}

/* v0.33.0 — Homework Feedback & Rework */
.feedback-choice-fieldset{border:0;padding:0;margin:0 0 18px;min-width:0}.feedback-choice-fieldset legend{display:block;width:100%;margin:0 0 9px;color:#27364a;font-size:11px;font-weight:850}.feedback-outcome-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.feedback-outcome-card{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:11px 12px;border:1px solid #dce3ea;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.feedback-outcome-card:hover{border-color:#aebdca}.feedback-outcome-card input{margin-top:2px;flex:0 0 auto}.feedback-outcome-card span,.feedback-outcome-card strong,.feedback-outcome-card small{display:block}.feedback-outcome-card strong{font-size:10.5px;color:#25354a}.feedback-outcome-card small{margin-top:3px;color:#778596;font-size:8.5px;line-height:1.35}.feedback-outcome-card:has(input:checked){border-color:#6f8da7;background:#f5f9fc;box-shadow:0 0 0 2px rgba(56,92,124,.07)}.feedback-outcome-card.tone-warning:has(input:checked){border-color:#c99755;background:#fffaf3}.feedback-outcome-card.tone-support:has(input:checked){border-color:#bb7780;background:#fff7f8}.feedback-focus-grid{display:flex;gap:7px;flex-wrap:wrap}.feedback-focus-grid label{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #dce3ea;border-radius:999px;background:#f9fafb;cursor:pointer;font-size:9px;font-weight:800;color:#536477}.feedback-focus-grid label:has(input:checked){border-color:#87a2ba;background:#eef5fa;color:#315876}.feedback-focus-grid input{margin:0}.feedback-review-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}.teacher-feedback-review-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.teacher-feedback-form textarea{min-height:105px;resize:vertical}.structured-feedback{padding:14px 15px}.structured-feedback-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.structured-feedback-head strong{font-size:12px}.structured-feedback-head small{font-size:8.5px;color:#7c8998}.feedback-focus-tags,.submission-history-feedback-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.feedback-focus-tags span,.submission-history-feedback-meta>span{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef3f7;color:#4c6276;font-size:8px;font-weight:800}.feedback-outcome-pill,.submission-history-feedback-meta>.feedback-outcome-pill{background:#e8f1f8;color:#2c5a7e}.submission-feedback.pending{border-left-color:#6f8ea9;background:#f5f8fb}.submission-feedback.pending p{color:#607084}.rework-guidance{margin:14px 0;padding:12px 14px;border:1px solid #ead8bd;border-left:4px solid #c99045;border-radius:9px;background:#fffaf3;color:#604b31}.rework-guidance strong{display:block;margin-bottom:3px;color:#674719}.rework-guidance p{margin:0;font-size:10px;line-height:1.45}.submission-history-card{margin-top:16px}.submission-history-card h2{margin:2px 0 3px}.submission-history-list{display:grid;gap:8px;margin-top:12px}.submission-history-item{padding:12px 13px;border:1px solid #dfe5eb;border-radius:10px;background:#fff}.submission-history-item.is-current{border-color:#a8bdcf;background:#fbfdff}.submission-history-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.submission-history-top strong,.submission-history-top small{display:block}.submission-history-top strong{font-size:10.5px;color:#26364b}.submission-history-top small{margin-top:2px;color:#85909d;font-size:8.5px}.submission-history-item>p{margin:8px 0 0;color:#4d5d70;font-size:9.5px;line-height:1.45}.submission-history-reviewer{display:block;margin-top:8px;color:#88929f;font-size:8px}.pupil-submission-history{margin-top:15px}.rc-homework-note.feedback-pending{border-left:3px solid #6e8fa9;background:#f4f8fb;color:#405a70;padding:9px 10px;border-radius:0 7px 7px 0}.dashboard-v32-attention-item.is-rework{border-top:3px solid #7b91a6}.review-row.rework-row{border-left:4px solid #c99149;padding-left:14px;background:#fffdf9}.review-row-feedback{margin:7px 0 0;padding:8px 10px;border-radius:7px;background:#f7f8fa;color:#566678;font-size:9.5px;line-height:1.4}.status-chip.is-rework{background:#fff2df;color:#8b5a18}.pupil-assignment-links{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.report-insight.is-feedback-rework{border-color:#ead9bd;background:#fffaf4}.report-insight.is-feedback-rework strong{color:#8d5d1d}.report-feedback-summary{border-left-color:#7796ad}.report-feedback-count{display:block;font-weight:800;color:#345a79}.report-table td .report-feedback-count+small{display:block;margin-top:2px;color:#7a8794;font-size:8px}.report-feedback-table .report-note-text{min-width:190px;white-space:normal;line-height:1.4}.report-status.is-rework{background:#fff2df;color:#8b5a18}.report-feedback-section{border-top-color:#dbe4eb}
@media(max-width:1050px){.feedback-outcome-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.feedback-outcome-grid{grid-template-columns:1fr 1fr}.structured-feedback-head,.submission-history-top{align-items:flex-start;flex-direction:column}.feedback-review-actions .btn{flex:1 1 180px}}
@media(max-width:460px){.feedback-outcome-grid{grid-template-columns:1fr}.feedback-focus-grid{display:grid;grid-template-columns:1fr 1fr}.feedback-focus-grid label{border-radius:9px}}

/* v0.35.0 — School Setup & Administration */
.school-admin-heading{align-items:flex-end;margin-bottom:14px}.school-admin-heading h1{margin-bottom:4px}.school-admin-switcher{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:12px 14px}.school-admin-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 15px;padding:8px;border:1px solid #dfe5eb;border-radius:12px;background:#fff;position:sticky;top:74px;z-index:11;box-shadow:0 5px 14px rgba(15,23,42,.04)}.school-admin-tabs a{padding:7px 10px;border-radius:8px;color:#47586c;text-decoration:none;font-size:9.5px;font-weight:800}.school-admin-tabs a:hover{background:#f1f5f8;color:#223b53}.school-admin-section{scroll-margin-top:130px;margin-bottom:16px}.school-admin-section h2{margin:2px 0 4px}.school-admin-logo{max-width:120px;max-height:70px;object-fit:contain;padding:7px;border:1px solid #dfe5eb;border-radius:9px;background:#fff}.school-logo-remove{margin-top:8px}.danger-link{color:#a33b48!important}.school-setup-first{max-width:820px;margin:20px auto}.school-setup-nudge{display:grid;gap:3px;margin:0 0 14px;padding:11px 12px;border:1px solid #dfe5eb;border-left:4px solid #6e8da8;border-radius:9px;background:#f8fafc}.school-setup-nudge strong{font-size:10px;color:#26364a}.school-setup-nudge span{font-size:9px;color:#6f7d8d}.school-readonly-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.school-readonly-grid>div{padding:12px;border:1px solid #e0e5eb;border-radius:9px;background:#fafbfd}.school-readonly-grid span,.school-readonly-grid strong{display:block}.school-readonly-grid span{font-size:8.5px;font-weight:800;color:#758293;text-transform:uppercase;letter-spacing:.04em}.school-readonly-grid strong{margin-top:3px;font-size:12px;color:#26364a}.school-add-teacher{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:10px;margin:13px 0}.school-add-teacher .field{margin:0}.school-admin-list{display:grid}.school-admin-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid #edf0f3}.school-admin-list article:first-child{border-top:0}.school-admin-list article>div:first-child strong,.school-admin-list article>div:first-child span{display:block}.school-admin-list article>div:first-child strong{font-size:11px;color:#26364a}.school-admin-list article>div:first-child span{margin-top:2px;font-size:9px;color:#788596}.small-btn{padding:6px 9px;font-size:8.5px}.school-admin-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.school-admin-class-grid article{padding:13px 14px;border:1px solid #e0e5eb;border-radius:10px;background:#fbfcfd}.school-admin-class-grid article.is-archived{opacity:.62}.school-admin-class-grid strong,.school-admin-class-grid span,.school-admin-class-grid small,.school-admin-class-grid a{display:block}.school-admin-class-grid strong{font-size:11.5px;color:#26364a}.school-admin-class-grid span{margin-top:3px;font-size:9px;color:#6f7d8d}.school-admin-class-grid small{margin:5px 0 7px;font-size:8.5px;color:#8994a1}.school-default-card{margin-bottom:12px}.school-default-card h3{margin-bottom:4px}.school-default-table{display:grid;gap:8px;margin:13px 0}.school-default-row{display:grid;gap:8px;align-items:end;padding:10px;border:1px solid #e1e6eb;border-radius:10px;background:#fbfcfd}.school-default-row.habit{grid-template-columns:minmax(130px,.8fr) minmax(250px,1.6fr) 90px 80px auto}.school-default-row.milestone{grid-template-columns:minmax(155px,1fr) 80px minmax(145px,1fr) minmax(190px,1.4fr) 80px minmax(180px,1.2fr) auto auto}.school-default-row .field{margin:0}.school-default-row .field.compact input{min-width:0}.compact-check{align-self:center;margin-bottom:8px;white-space:nowrap}.apply-defaults-form{margin-top:-2px;padding-top:10px;border-top:1px dashed #dce2e8}.school-readonly-defaults{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.school-readonly-defaults span{padding:7px 9px;border:1px solid #dfe5eb;border-radius:8px;background:#fafbfd;color:#607084;font-size:9px}.school-certificate-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0}.school-certificate-admin-grid article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid #dfe5eb;border-radius:10px;background:#fff}.school-certificate-admin-grid article>div{display:grid;grid-template-columns:32px 1fr;column-gap:8px;align-items:center;min-width:0}.school-certificate-admin-grid article strong,.school-certificate-admin-grid article small{grid-column:2;display:block}.school-certificate-admin-grid article strong{font-size:10px;color:#26364a}.school-certificate-admin-grid article small{font-size:8px;color:#7c8998}.school-certificate-admin-grid label{display:flex;align-items:center;gap:5px;font-size:8.5px;font-weight:800;color:#596a7e;white-space:nowrap}.certificate-admin-mark{grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px solid #cdb574;background:#fffaf0;color:#7d641f;font-size:9px;font-weight:900}.school-certificate-admin-grid.readonly article{grid-template-columns:minmax(0,1fr) auto}.certificate-school-logo{display:block}.teacher-school-admin-page .grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.school-default-row.habit{grid-template-columns:1fr 1.4fr 80px 70px}.school-default-row.habit .compact-check{grid-column:1/-1}.school-default-row.milestone{grid-template-columns:1fr 90px 1fr 1.3fr}.school-default-row.milestone .field:nth-child(n+5),.school-default-row.milestone .compact-check{grid-column:auto}.school-certificate-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-admin-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.school-admin-tabs{position:static}.school-readonly-grid,.school-admin-class-grid,.school-certificate-admin-grid{grid-template-columns:1fr 1fr}.school-add-teacher{grid-template-columns:1fr}.school-default-row.habit,.school-default-row.milestone{grid-template-columns:1fr 1fr}.school-default-row .grow{grid-column:1/-1}.school-admin-list article{align-items:flex-start;flex-direction:column}.teacher-school-admin-page .grid.three{grid-template-columns:1fr}.school-admin-switcher{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.school-readonly-grid,.school-admin-class-grid,.school-certificate-admin-grid,.school-default-row.habit,.school-default-row.milestone{grid-template-columns:1fr}.school-certificate-admin-grid article{grid-template-columns:1fr 1fr}.school-certificate-admin-grid article>div{grid-column:1/-1}.school-default-row .grow{grid-column:auto}.school-admin-tabs a{flex:1 1 42%;text-align:center}}

/* v0.37.0 — useful in-app notifications and reminders */
.rc-notification-bell{position:relative;display:inline-flex!important;align-items:center;justify-content:center;width:38px;height:38px;padding:0!important;border-radius:12px;font-size:18px;line-height:1;text-decoration:none}
.rc-notification-bell:hover,.rc-notification-bell:focus-visible,.rc-notification-bell.is-active{background:#eef4ff;text-decoration:none}
.rc-notification-bell b{position:absolute;top:-5px;right:-7px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#c93434;color:#fff;border:2px solid #fff;font:700 10px/15px 'Open Sans',sans-serif;text-align:center;box-sizing:border-box}
.notification-page-heading{align-items:flex-end;gap:18px}
.notification-page-heading form{margin:0}
.notification-filter-tabs{display:flex;align-items:center;gap:8px;margin:0 0 14px}
.notification-filter-tabs a{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid #d9e1ec;border-radius:999px;background:#fff;color:#334155;font-weight:700;text-decoration:none}
.notification-filter-tabs a:hover,.notification-filter-tabs a.is-active{background:#edf4ff;border-color:#b9cae4;color:#15375f;text-decoration:none}
.notification-filter-tabs span{display:inline-flex;min-width:21px;height:21px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;background:#173b68;color:#fff;font-size:11px}
.notification-centre-card{padding:0;overflow:hidden}
.notification-list{display:flex;flex-direction:column}
.notification-row{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 76px 10px;gap:14px;align-items:center;padding:17px 20px;border-bottom:1px solid #e8edf3;color:inherit;text-decoration:none;background:#fff}
.notification-row:last-child{border-bottom:0}
.notification-row:hover{background:#f7f9fc;text-decoration:none}
.notification-row.is-unread{background:#f3f7fc}
.notification-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:#eaf0f8;color:#173b68;font-weight:800;font-size:17px}
.notification-row.is-unread .notification-icon{background:#dfeafb}
.notification-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.notification-copy small{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#64748b}
.notification-copy strong{font-size:15px;color:#18283d}
.notification-copy>span{font-size:13px;color:#66758a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notification-row time{display:flex;flex-direction:column;align-items:flex-end;color:#536276;font-size:12px;font-weight:700}
.notification-row time small{font-weight:500;color:#8793a4}
.notification-unread-dot{display:block;width:8px;height:8px;border-radius:999px;background:#2169c8}
.notification-empty{padding:36px 24px;text-align:center}
.notification-empty strong{display:block;font-size:18px;margin-bottom:5px;color:#24364c}
.notification-empty p{margin:0;color:#718096}
.notification-policy-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:14px 16px;border-radius:12px;background:#f5f7fa;color:#627087;font-size:13px}
.notification-policy-note strong{color:#25384e;white-space:nowrap}
.notification-policy-note.pupil{background:#f4f8fc}
.dashboard-v37-notifications{margin:18px 0;padding:18px}
.dashboard-v37-notification-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:12px}
.dashboard-v37-notification-head h2{margin:2px 0 0}
.dashboard-v37-notification-head>a{font-weight:700}
.dashboard-v37-notification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dashboard-v37-notification-grid>a{display:flex;gap:12px;align-items:flex-start;padding:13px;border:1px solid #e1e8f1;border-radius:12px;background:#f8fafc;color:inherit;text-decoration:none}
.dashboard-v37-notification-grid>a:hover{background:#f1f6fc;text-decoration:none}
.dashboard-v37-notification-grid b{display:flex;align-items:center;justify-content:center;flex:0 0 34px;height:34px;border-radius:10px;background:#e4edf8;color:#173b68}
.dashboard-v37-notification-grid span{min-width:0;display:flex;flex-direction:column;gap:2px}
.dashboard-v37-notification-grid small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#66758a}
.dashboard-v37-notification-grid strong{font-size:14px;color:#1d3047}
.dashboard-v37-notification-grid em{font-style:normal;font-size:12px;color:#718096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pupil-v37-updates{margin:12px 0 22px;padding:14px 16px;border:1px solid #dce6f1;border-radius:15px;background:#f7fafc}
.pupil-v37-updates-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}
.pupil-v37-updates-head>div{display:flex;flex-direction:column;gap:2px}
.pupil-v37-updates-head>a{font-weight:700;font-size:13px}
.pupil-v37-update-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.pupil-v37-update-list>a{display:flex;gap:9px;padding:11px;border-radius:11px;background:#fff;border:1px solid #e2e9f1;color:inherit;text-decoration:none;min-width:0}
.pupil-v37-update-list>a:hover{background:#f2f7fc;text-decoration:none}
.pupil-v37-update-list b{display:flex;align-items:center;justify-content:center;flex:0 0 30px;height:30px;border-radius:9px;background:#e5eef8;color:#173b68}
.pupil-v37-update-list span{display:flex;flex-direction:column;min-width:0}
.pupil-v37-update-list small{font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#67778d}
.pupil-v37-update-list strong{font-size:13px;color:#24364b}
.pupil-v37-update-list em{font-size:11px;font-style:normal;color:#718096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.dashboard-v37-notification-grid{grid-template-columns:1fr}.pupil-v37-update-list{grid-template-columns:1fr}.rc-main-nav .rc-notification-bell{flex:0 0 38px}}
@media(max-width:640px){.notification-page-heading{align-items:flex-start}.notification-row{grid-template-columns:40px minmax(0,1fr) 8px;gap:10px;padding:14px}.notification-icon{width:36px;height:36px}.notification-row time{display:none}.notification-policy-note{flex-direction:column}.pupil-v37-updates-head{align-items:flex-start;flex-direction:column}.dashboard-v37-notification-head{align-items:flex-start;flex-direction:column}}

/* v0.38.0 — fast class / pupil import */
.import-page-heading{align-items:flex-end;margin-bottom:18px}.import-page-heading h1{margin:5px 0 6px}.import-choice-grid{align-items:start}.import-template-callout{display:flex;flex-direction:column;gap:5px;margin:14px 0 18px;padding:14px 15px;border:1px solid #dce6f1;border-radius:12px;background:#f7fafc}.import-template-callout strong{color:#22364d}.import-template-callout span{font-size:13px;color:#66758a}.import-template-callout a{font-weight:800;margin-top:2px}.import-how-it-works{margin-top:18px}.import-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.import-step-grid>div{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid #e0e7ef;border-radius:12px;background:#fbfcfe}.import-step-grid b{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:#173b68;color:#fff}.import-step-grid strong{font-size:14px;color:#21354c}.import-step-grid span{font-size:12px;color:#718096;line-height:1.4}.import-preview-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.import-preview-summary h2{margin:4px 0}.import-counts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.import-counts span{display:flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;font-size:12px;font-weight:800}.import-counts .ready{background:#e9f7ef;color:#27613d}.import-counts .duplicate{background:#fff7e7;color:#825b13}.import-counts .error{background:#fdeeee;color:#8d3030}.import-counts strong{font-size:14px}.import-preview-form{padding:0;overflow:hidden}.import-preview-table{min-width:760px}.import-preview-table input{width:100%;min-width:110px;padding:8px 9px}.import-preview-table .initial-input{max-width:76px;min-width:60px;text-transform:uppercase}.import-preview-table tr.import-row-duplicate{background:#fffdf6}.import-preview-table tr.import-row-error{background:#fff7f7}.import-status{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.import-status.ready{background:#e9f7ef;color:#27613d}.import-status.duplicate{background:#fff0c9;color:#7b5917}.import-status.error{background:#fbdede;color:#8c2d2d}.import-preview-actions{display:flex;gap:10px;align-items:center;padding:16px 18px;border-top:1px solid #e6ebf1;background:#fafbfd}.import-complete-card{margin-bottom:18px}.login-card-print-heading{display:none}.pupil-login-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pupil-login-card{position:relative;min-height:235px;padding:20px;border:1px dashed #9aabba;border-radius:14px;background:#fff}.pupil-login-card-brand{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#173b68}.pupil-login-card h3{margin:10px 0 14px;font-size:20px;color:#17283d}.pupil-login-card dl{display:grid;gap:8px;margin:0}.pupil-login-card dl>div{display:grid;grid-template-columns:88px 1fr;gap:9px;align-items:baseline}.pupil-login-card dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#728096}.pupil-login-card dd{margin:0;font-weight:800;color:#22364d;overflow-wrap:anywhere}.pupil-login-card .login-card-pin{font-size:22px;letter-spacing:.12em;color:#0e315d}.pupil-login-card p{margin:15px 0 0;font-size:11px;line-height:1.45;color:#718096}.teacher-pupil-import input[type=file]{padding:11px;background:#fff;border:1px dashed #b8c5d4;border-radius:10px}.teacher-pupil-import textarea{min-height:210px}
@media(max-width:900px){.import-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pupil-login-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-preview-summary{align-items:flex-start;flex-direction:column}.import-counts{justify-content:flex-start}}
@media(max-width:640px){.import-page-heading{align-items:flex-start;flex-direction:column}.import-step-grid,.pupil-login-card-grid{grid-template-columns:1fr}.import-counts{gap:6px}.import-counts span{padding:7px 9px}.import-preview-actions{flex-direction:column;align-items:stretch}.import-preview-actions .btn{text-align:center}}
@media print{body.teacher-pupil-import{background:#fff}.teacher-pupil-import header,.teacher-pupil-import footer,.teacher-pupil-import .no-print,.teacher-pupil-import .alert{display:none!important}.teacher-pupil-import main,.teacher-pupil-import .container{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}.login-card-print-heading{display:flex;justify-content:space-between;gap:12px;margin:0 0 12mm;padding-bottom:4mm;border-bottom:1px solid #bbb;font-size:11pt}.login-card-print-heading span{color:#555}.pupil-login-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7mm}.pupil-login-card{break-inside:avoid;page-break-inside:avoid;min-height:58mm;padding:7mm;border:1px dashed #777;border-radius:0}.pupil-login-card h3{font-size:18pt}.pupil-login-card .login-card-pin{font-size:21pt}.pupil-login-card-brand{font-size:9pt}}

/* v0.39.0 — Learning Library Improvements */
.rc-library-heading{margin-bottom:14px}.rc-library-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 16px}.rc-library-tabs a{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid #dfe4eb;border-radius:9px;background:#fff;color:#42516a;font-size:13px;font-weight:700;text-decoration:none}.rc-library-tabs a:hover{border-color:#c9d1dc;background:#f8fafc}.rc-library-tabs a.is-active{background:#17233b;color:#fff;border-color:#17233b}.rc-library-layout{display:grid;grid-template-columns:218px minmax(0,1fr);gap:16px;align-items:start}.rc-library-sidebar{position:sticky;top:78px}.rc-library-folder-card{padding:14px}.rc-library-folder-card h2{font-size:18px;margin:2px 0}.rc-folder-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;align-items:center;margin-top:4px}.rc-folder-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border-radius:8px;color:#475569;text-decoration:none;font-size:13px;font-weight:700;min-width:0}.rc-folder-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-folder-link small{color:#94a3b8}.rc-folder-link:hover,.rc-folder-link.is-active{background:#f1f5f9;color:#17233b}.rc-folder-row details{position:relative}.rc-folder-row summary{list-style:none;cursor:pointer;color:#7c8798;padding:5px}.rc-folder-row summary::-webkit-details-marker{display:none}.rc-folder-menu{position:absolute;z-index:20;right:0;top:28px;width:205px;background:#fff;border:1px solid #dfe4eb;border-radius:10px;padding:10px;box-shadow:0 12px 28px rgba(15,23,42,.13)}.rc-folder-menu form+form{margin-top:7px}.rc-folder-menu input{width:100%;margin-bottom:6px}.rc-new-folder-form{border-top:1px solid #edf0f4;margin-top:10px;padding-top:10px}.rc-new-folder-form input{width:100%;margin-bottom:7px}.rc-new-folder-form .btn{width:100%}.rc-library-main{min-width:0}.rc-library-filters{grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(120px,.7fr)) auto}.rc-library-search{min-width:0}.rc-library-result-bar{display:flex;gap:8px;align-items:center;margin:4px 0 11px;color:#64748b;font-size:13px}.rc-library-result-bar strong{color:#25324a}.rc-library-label-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.rc-library-art .rc-favourite-button{position:absolute;z-index:6;left:12px;bottom:10px;width:34px;height:34px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.93);color:#a7afbc;font-size:18px;line-height:1;cursor:pointer;box-shadow:0 2px 6px rgba(15,23,42,.08)}.rc-library-art .rc-favourite-button:hover,.rc-library-art .rc-favourite-button.is-favourite{color:#b7791f;background:#fff8df;border-color:#e8cd7b}.rc-library-favourite-form{margin:0}.rc-library-folder-chip{display:inline-flex;align-self:flex-start;margin-top:8px;padding:4px 8px;border-radius:999px;background:#f1f5f9;color:#536075;font-size:11px;font-weight:800}.rc-library-folder-select{margin-top:9px}.rc-library-folder-select label{display:flex;align-items:center;gap:7px;color:#64748b;font-size:11px;font-weight:700}.rc-library-folder-select select{max-width:180px;padding:5px 7px;font-size:11px;border-radius:7px}.rc-library-actions{align-items:center;flex-wrap:wrap}.rc-library-actions form{display:flex;margin:0}.rc-library-actions form .btn{white-space:nowrap}.rc-library-actions .link-button{font-size:12px}.rc-resource-edit-grid{align-items:start}.rc-resource-quiz-editor{margin-top:16px}.rc-question-editor{border-top:1px solid #e7ebf0;padding:18px 0 4px}.rc-question-editor:first-of-type{margin-top:12px}.rc-question-editor .field code{font-size:11px}.link-button.danger{color:#b42318}
@media(max-width:1100px){.rc-library-layout{grid-template-columns:1fr}.rc-library-sidebar{position:static}.rc-library-folder-card{display:block}.rc-library-filters{grid-template-columns:1fr 1fr 1fr}.rc-library-search{grid-column:1/-1}}
@media(max-width:720px){.rc-library-tabs{display:grid;grid-template-columns:1fr 1fr}.rc-library-filters{grid-template-columns:1fr}.rc-library-search{grid-column:auto}.rc-library-actions{align-items:stretch}.rc-library-actions>.btn,.rc-library-actions>form,.rc-library-actions>form .btn{width:100%}.rc-resource-edit-grid{grid-template-columns:1fr}}

/* v0.40.0 — School Operations & Release Readiness */
.school-ops-heading{align-items:flex-end}.school-ops-heading h1{margin:4px 0 5px}.school-ops-section{margin-bottom:18px}.rollover-form{max-width:920px}.rollover-preview{padding:17px;border:1px solid #dce3ec;border-radius:16px;background:#fbfcfe}.ops-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.ops-summary-grid>div{padding:13px;border:1px solid #e2e7ee;border-radius:12px;background:#fff}.ops-summary-grid span,.ops-summary-grid small{display:block;color:#718096;font-size:11px;font-weight:700}.ops-summary-grid strong{display:block;margin:4px 0;font-size:16px;color:#20324a}.rollover-pupil-list{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 17px}.rollover-pupil-list span{padding:6px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:700}.ops-history{margin-top:20px;border-top:1px solid #edf0f4;padding-top:17px}.ops-history article{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #eef1f5}.ops-history article:last-child{border-bottom:0}.ops-history span{color:#718096;font-size:12px}.ops-account-list,.ops-data-grid{display:grid;gap:9px}.ops-account-list article,.ops-data-grid article{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;border:1px solid #e2e7ee;border-radius:12px;background:#fff}.ops-account-list article>div:first-child,.ops-data-grid article>div:first-child{display:flex;flex-direction:column;min-width:0}.ops-account-list article span,.ops-data-grid article span{color:#718096;font-size:12px}.pupil-data-grid{max-height:520px;overflow:auto;padding-right:3px}.recovery-result{border-color:#d9c26c;background:#fffdf4}.recovery-password{display:inline-block;margin:8px 0 5px;padding:11px 14px;border:1px dashed #bd9d37;border-radius:10px;background:#fff;font-size:22px;font-weight:900;letter-spacing:.09em;color:#594410}.backup-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.backup-checklist>div{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:14px;border:1px solid #e1e6ed;border-radius:12px;background:#fbfcfe}.backup-checklist b{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:#17233b;color:#fff}.backup-checklist strong{color:#24364e}.backup-checklist span{color:#66758a;font-size:12px;line-height:1.5}.audit-search{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:end}.audit-search .field{margin:0}.audit-list article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:13px 0;border-bottom:1px solid #eef1f5}.audit-list article:last-child{border-bottom:0}.audit-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#eef2f8;color:#263b59;font-weight:900}.audit-list article>div:last-child{display:flex;flex-direction:column}.audit-list span{color:#66758a;font-size:12px}.audit-list small{color:#94a3b8;font-size:11px;text-transform:capitalize}.onboarding-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}.onboarding-steps>div{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid #e1e6ed;border-radius:12px;background:#fff;color:#64748b;font-weight:800}.onboarding-steps b{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#eef1f5;color:#526078}.onboarding-steps .done{border-color:#cde9dc;background:#f5fcf8;color:#27613d}.onboarding-steps .done b{background:#dff5e8;color:#27613d}.onboarding-card{margin-bottom:16px}.teacher-school-operations .btn[disabled]{opacity:.48;cursor:not-allowed;transform:none}.rc-user-chip{text-decoration:none}
@media(max-width:900px){.ops-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-checklist{grid-template-columns:1fr}.onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-account-list article,.ops-data-grid article{align-items:flex-start;flex-direction:column}.ops-history article{flex-direction:column;gap:3px}.audit-search{grid-template-columns:1fr auto}.audit-search .field{grid-column:1/-1}}
@media(max-width:600px){.school-ops-heading{align-items:flex-start;flex-direction:column}.ops-summary-grid,.onboarding-steps{grid-template-columns:1fr}.school-ops-heading .actions{width:100%}.school-ops-heading .actions .btn{flex:1}.audit-search{grid-template-columns:1fr}.audit-search .field{grid-column:auto}.audit-search .btn{width:100%}}
.dashboard-v40-setup{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;border-color:#d7e2ee;background:#fbfdff}.dashboard-v40-setup>div{display:flex;flex-direction:column;gap:2px}.dashboard-v40-setup strong{font-size:17px;color:#20324a}.dashboard-v40-setup>div>span:last-child{font-size:13px;color:#66758a}@media(max-width:640px){.dashboard-v40-setup{align-items:flex-start;flex-direction:column}.dashboard-v40-setup .btn{width:100%}}


/* v0.41.2 branding/footer refresh */
body{display:flex;flex-direction:column}
.rc-main-container{flex:1 0 auto}
.rc-main-brand{gap:10px}
.teacher-product-tag{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;background:#fff2cc;border:1px solid #f1d179;color:#7a5700;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.pupil-app .teacher-product-tag{background:#fff4bf;border-color:#f0d36a;color:#7a5700}
.rewardclass-conversion-strip{margin-top:24px;padding:42px 0;background:radial-gradient(circle at 84% 30%,rgba(255,211,61,.18),transparent 25%),linear-gradient(135deg,#fff7db,#fffaf0 55%,#fff0eb);border-top:1px solid #f1dfaa}
.rc-footer-container{width:min(1180px,calc(100% - 48px));margin:0 auto}
.rewardclass-conversion-inner{display:flex;align-items:center;justify-content:space-between;gap:48px}
.rewardclass-conversion-inner>div:first-child{max-width:720px}
.conversion-kicker{display:inline-block;margin-bottom:8px;color:#92400e;font-size:11px;font-weight:800;letter-spacing:.07em}
.rewardclass-conversion-inner h2{margin:0 0 8px;font-size:clamp(27px,3.4vw,40px);letter-spacing:-1.2px;color:#172033}
.rewardclass-conversion-inner p{margin:0;color:#4b5563;line-height:1.7}
.conversion-actions{min-width:max-content;display:flex;flex-wrap:wrap;gap:8px}
.conversion-actions .btn{margin:0}
.conversion-actions .reward-gold{background:#f5c85b;border-color:#f5c85b;color:#172033}
.conversion-actions .reward-gold:hover{background:#efbf48;border-color:#efbf48;color:#172033}
.rewardclass-site-footer{padding-top:54px;padding-bottom:0;border-top:0;background:#07122d;color:#fff;text-align:left}
.rewardclass-site-footer .footer-grid{display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(160px,1fr));gap:28px;padding-top:0;padding-bottom:28px}
.rewardclass-site-footer .footer-brand-block p{color:#c7d0df;margin:12px 0 0;max-width:420px}
.rewardclass-site-footer h2{margin:0 0 10px;color:#fff;font-size:16px}
.rewardclass-site-footer nav{display:flex;flex-direction:column;gap:10px}
.rewardclass-site-footer nav a{color:#b9c4d4;text-decoration:none}
.rewardclass-site-footer nav a:hover,.rewardclass-site-footer nav a:focus{color:#ffd33d}
.rc-brand-logo--footer{display:inline-flex;align-items:center;margin-bottom:6px}
.rewardclass-site-footer .footer-bottom{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:18px 0 24px;border-top:1px solid rgba(255,255,255,.11);color:#96a3b6}
.rewardclass-site-footer .footer-bottom p{margin:0}
.teacher-preview-page .footer,.teacher-preview-page .rewardclass-site-footer,.teacher-preview-page .rewardclass-conversion-strip{display:none}
.pupil-player-page .footer,.pupil-player-page .rewardclass-site-footer,.pupil-player-page .rewardclass-conversion-strip{display:none}
@media(max-width:900px){.rc-footer-container{width:calc(100% - 24px)}.rewardclass-conversion-inner{align-items:flex-start;flex-direction:column}.conversion-actions{min-width:0}.rewardclass-site-footer .footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.teacher-product-tag{padding:5px 8px;font-size:10px}.rewardclass-conversion-strip{padding:34px 0}.rewardclass-site-footer{padding-top:40px}.rewardclass-site-footer .footer-grid{grid-template-columns:1fr;gap:22px}.rewardclass-site-footer .footer-bottom{flex-direction:column}}

/* v0.41.2 pupil footer: school-only, no external RewardClass promotion */
.pupil-school-footer{padding-top:30px;background:#07122d}
.pupil-school-footer .pupil-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:24px}
.pupil-school-footer .pupil-footer-inner>p{margin:0;color:#c7d0df;font-size:13px;text-align:right}
.pupil-school-footer .rc-brand-logo--footer{gap:10px;margin:0;text-decoration:none}
.pupil-school-footer .teacher-product-tag{background:#fff4bf;border-color:#f0d36a;color:#7a5700}
.pupil-school-footer .pupil-footer-bottom{padding-top:16px}
@media(max-width:640px){.pupil-school-footer .pupil-footer-inner{align-items:flex-start;flex-direction:column}.pupil-school-footer .pupil-footer-inner>p{text-align:left}}


/* v0.41.2 Help Centre, contextual help and first-use onboarding */
.rc-help-nav{gap:5px}
.rc-help-nav>span:first-child{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid #ccd4df;font-weight:900;line-height:1;background:#fff;color:#40516a}
.rc-help-nav.is-active>span:first-child{border-color:#aeb9c8;background:#f5f7fa}
.context-help-link{display:inline-flex;align-items:center;margin-top:7px;color:#356a9c;text-decoration:none;font-size:12px;font-weight:750}
.context-help-link:hover{text-decoration:underline}
.login-help-note{margin:10px 0 17px;padding:10px 12px;border-left:3px solid #d7b547;border-radius:0 8px 8px 0;background:#fff9e8;color:#5e5334;font-size:12px;line-height:1.5}
.teacher-help-page .rc-main-container{width:min(1180px,94vw)}
.help-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:28px;align-items:end;margin-bottom:16px;border-top:4px solid #e84c5b}
.help-hero h1{margin:4px 0 6px}
.help-search-wrap label{display:block;margin-bottom:6px;color:#506076;font-size:12px;font-weight:800}
.help-search-wrap input{width:100%;padding:12px 13px;border:1px solid #cfd6df;border-radius:9px;font:inherit;background:#fff}
.help-start-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}
.help-start-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:13px 14px;border:1px solid #dfe4ea;border-radius:11px;background:#fff;text-decoration:none;color:#253048}
.help-start-card:hover{border-color:#c6d1dd;box-shadow:0 5px 14px rgba(15,23,42,.05)}
.help-start-card>b{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#fff0f2;color:#b83949}
.help-start-card strong,.help-start-card small{display:block}.help-start-card small{margin-top:2px;color:#748092;font-size:11px}
.help-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}
.help-sidebar{position:sticky;top:86px;padding:15px}.help-sidebar>strong{display:block;margin-bottom:8px}.help-sidebar a{display:block;padding:7px 8px;border-radius:7px;color:#526177;text-decoration:none;font-size:12px;font-weight:700}.help-sidebar a:hover{background:#f3f6f9;color:#20324a}
.help-content{display:grid;gap:14px}.help-topic{scroll-margin-top:88px}.help-topic h2{margin:3px 0 10px}.help-topic p{color:#58667a}.help-steps{display:grid;gap:8px}.help-steps p{margin:0;padding:10px 12px;border:1px solid #e6eaf0;border-radius:9px;background:#fbfcfd}.help-note{padding:10px 12px;border-left:3px solid #6b8fb5;background:#f6f9fc;border-radius:0 8px 8px 0}.help-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.help-callout{display:flex;flex-direction:column;gap:3px;margin:12px 0;padding:13px 14px;border:1px solid #ead58c;border-radius:10px;background:#fffaf0}.help-callout span{color:#675a33;font-size:13px}.help-no-results{text-align:center;padding:30px}
.pupil-help-page .rc-main-container{width:min(900px,calc(100% - 32px));margin-top:22px}.pupil-help-hero{border-top:4px solid #ffd93d}.pupil-help-hero h1{font-size:32px;margin:4px 0}.pupil-help-list{display:grid;gap:9px;margin-top:14px}.pupil-help-list details{border:1px solid #dfe5ec;border-radius:12px;background:#fff;overflow:hidden}.pupil-help-list summary{cursor:pointer;padding:15px 17px;font-weight:800;color:#22314a}.pupil-help-list summary:hover{background:#fafbfc}.pupil-help-list details>div{padding:0 17px 15px;color:#5c687a}.pupil-help-list details>div p{margin:8px 0}.pupil-help-safety{margin-top:14px;border-left:4px solid #f0c83f}.pupil-help-safety p{margin:4px 0 0;color:#667085}
.dashboard-getting-started{margin:0 0 18px;border-color:#dce4ec;background:#fff}.dashboard-getting-started-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dashboard-getting-started-head h2{margin:3px 0}.dashboard-getting-started-head p{margin:0;color:#66758a;font-size:13px}.getting-started-progress{display:flex;flex-direction:column;align-items:center;min-width:72px;padding:8px 10px;border-radius:10px;background:#f5f7fa}.getting-started-progress strong{font-size:20px;color:#25354c}.getting-started-progress span{font-size:10px;color:#748092;text-transform:uppercase;font-weight:800}.getting-started-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.getting-started-list a{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid #e1e6ed;border-radius:9px;background:#fbfcfd;color:#34445a;text-decoration:none;font-size:12px;font-weight:750}.getting-started-list a b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eef2f6;color:#53657d}.getting-started-list a.done{background:#f5fbf7;border-color:#d1e8da;color:#2f6443}.getting-started-list a.done b{background:#ddf3e5;color:#287142}.dashboard-getting-started-foot{display:flex;gap:16px;margin-top:12px;padding-top:11px;border-top:1px solid #edf0f3}.dashboard-getting-started-foot a{font-size:12px;font-weight:750;color:#356a9c;text-decoration:none}.dashboard-getting-started-foot a:hover{text-decoration:underline}
@media(max-width:900px){.help-hero{grid-template-columns:1fr}.help-start-grid{grid-template-columns:1fr 1fr}.help-layout{grid-template-columns:1fr}.help-sidebar{position:static;display:flex;flex-wrap:wrap;gap:4px}.help-sidebar>strong{width:100%}.getting-started-list{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.rc-help-label{display:none}.help-start-grid,.getting-started-list{grid-template-columns:1fr}.dashboard-getting-started-head{flex-direction:column}.getting-started-progress{align-items:flex-start}.pupil-help-page .rc-main-container{width:calc(100% - 20px)}}


/* v0.41.2 teacher header declutter */
.teacher-app .rc-main-header{display:block;padding:0;overflow:visible}
.teacher-app .rc-teacher-header-top{min-height:62px;width:min(1220px,94vw);padding:0;gap:20px}
.rc-header-tools{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-left:auto;white-space:nowrap}
.rc-header-tools>a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#536074;font-size:13px;font-weight:700}
.rc-header-tools .rc-help-nav{height:36px;padding:0 9px;border-radius:8px;gap:6px}
.rc-header-tools .rc-help-nav>span:first-child{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid #cfd7e3;background:#fff;color:#476078;font-weight:900}
.rc-header-tools .rc-help-nav:hover,.rc-header-tools .rc-help-nav.is-active{background:#f3f5f8;color:#172033}
.rc-header-tools .rc-signout{height:36px;padding:0 7px;border-radius:8px}
.rc-header-tools .rc-signout:hover{background:#f3f5f8;color:#172033!important}
.rc-teacher-nav-wrap{border-top:1px solid #edf0f4;background:#fbfcfd}
.rc-teacher-primary-nav{width:min(1220px,94vw);min-height:48px;margin:0 auto;display:flex;align-items:center;gap:3px;position:relative}
.rc-teacher-primary-nav>a,.rc-admin-menu>summary{height:36px;display:inline-flex;align-items:center;padding:0 11px;border-radius:7px;border:1px solid transparent;color:#536074;text-decoration:none;font-size:13px;font-weight:750;line-height:1;white-space:nowrap;cursor:pointer;list-style:none}
.rc-admin-menu>summary::-webkit-details-marker{display:none}
.rc-teacher-primary-nav>a:hover,.rc-teacher-primary-nav>a.is-active,.rc-admin-menu>summary:hover,.rc-admin-menu>summary.is-active{background:#eef2f6;color:#172033}
.rc-admin-menu{position:relative;margin-left:auto}
.rc-admin-menu>summary span{margin-left:6px;font-size:10px;color:#7a8798}
.rc-admin-dropdown{position:absolute;z-index:260;top:42px;right:0;min-width:190px;padding:7px;background:#fff;border:1px solid #dde3ea;border-radius:10px;box-shadow:0 14px 35px rgba(15,23,42,.14)}
.rc-admin-dropdown a{display:block;padding:10px 11px;border-radius:7px;color:#435168;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}
.rc-admin-dropdown a:hover,.rc-admin-dropdown a.is-active{background:#f2f5f8;color:#172033}
.rc-admin-menu:not([open]) .rc-admin-dropdown{display:none}
.teacher-app .rc-main-container{margin-top:24px}
@media(max-width:1050px){
  .teacher-app .rc-teacher-header-top,.rc-teacher-primary-nav{width:calc(100% - 24px)}
  .rc-teacher-primary-nav{overflow-x:auto;overflow-y:visible;scrollbar-width:none;padding:5px 0}
  .rc-teacher-primary-nav::-webkit-scrollbar{display:none}
  .rc-teacher-primary-nav>a,.rc-admin-menu{flex:0 0 auto}
  .rc-admin-menu{margin-left:0}
}
@media(max-width:760px){
  .teacher-app .rc-main-header{position:sticky;top:0}
  .teacher-app .rc-teacher-header-top{flex-direction:row;align-items:center;padding:7px 0;min-height:58px}
  .rc-header-tools{gap:3px}
  .rc-header-tools .rc-help-label,.rc-header-tools .rc-signout{display:none}
  .rc-header-tools .rc-help-nav{padding:0 4px}
  .rc-teacher-primary-nav{min-height:43px;flex-wrap:nowrap}
  .rc-teacher-primary-nav>a,.rc-admin-menu>summary{height:33px;padding:0 9px;font-size:12px}
  .rc-admin-dropdown{position:fixed;top:105px;right:12px;left:auto}
}
@media(max-width:520px){
  .teacher-app .rc-brand-logo{height:30px!important;max-width:155px!important}
  .teacher-app .teacher-product-tag{font-size:9px;padding:4px 6px;margin-left:4px}
  .rc-header-tools .rc-notification-bell{width:34px;height:34px}
  .rc-header-tools .rc-user-chip{display:grid!important;width:32px;height:32px}
}

/* v0.41.2 pupil My Rewards remaining rewards list - compact row layout */
.pupil-rewards-milestones{margin:22px 0 24px}
.pupil-remaining-rewards-heading{margin-bottom:10px}
.pupil-remaining-rewards-heading h2{font-size:21px;margin:2px 0 3px;color:#172033}
.pupil-remaining-rewards-heading p{margin:0;font-size:12px}
.pupil-remaining-reward-list{overflow:hidden;border:1px solid #dfe5ec;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.pupil-remaining-reward-row{display:grid;grid-template-columns:42px minmax(220px,1.25fr) minmax(180px,.9fr) minmax(130px,.58fr);gap:14px;align-items:center;min-height:78px;padding:13px 16px;border-top:1px solid #edf0f3;background:#fff}
.pupil-remaining-reward-row:first-child{border-top:0}
.pupil-remaining-reward-row.is-next{background:#fffdf4;box-shadow:inset 4px 0 0 #efc232}
.pupil-remaining-reward-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#f4f6f8;border:1px solid #e1e6ec;font-size:18px}
.pupil-remaining-reward-row.is-next .pupil-remaining-reward-icon{background:#fff2b8;border-color:#efd36c}
.pupil-remaining-reward-summary{min-width:0}
.pupil-remaining-reward-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.pupil-remaining-reward-name strong{color:#172033;font-size:13px;line-height:1.3}
.pupil-next-reward-label{display:inline-flex;padding:3px 7px;border-radius:999px;background:#172033;color:#fff;font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.pupil-remaining-reward-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.pupil-remaining-reward-badges span{display:inline-flex;align-items:center;padding:3px 6px;border-radius:6px;background:#f4f6f8;color:#667085;font-size:8.5px;font-weight:750}
.pupil-remaining-reward-row.is-next .pupil-remaining-reward-badges span:first-child{background:#fff4c7;color:#765b0e}
.pupil-remaining-reward-progress{min-width:0}
.pupil-remaining-reward-progress-line{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px}
.pupil-remaining-reward-progress-line strong{color:#344054;font-size:10px}
.pupil-remaining-reward-progress-line span{color:#7a8595;font-size:9px;font-weight:800}
.pupil-remaining-reward-track{height:7px;overflow:hidden;border-radius:999px;background:#edf1f5}
.pupil-remaining-reward-track span{display:block;height:100%;border-radius:inherit;background:#93a1b1}
.pupil-remaining-reward-row.is-next .pupil-remaining-reward-track span{background:#efc232}
.pupil-remaining-reward-target{text-align:right}
.pupil-remaining-reward-target strong,.pupil-remaining-reward-target span{display:block}
.pupil-remaining-reward-target strong{color:#26364a;font-size:10px;line-height:1.35}
.pupil-remaining-reward-target span{margin-top:2px;color:#98a2b3;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.pupil-milestone-all-complete,.pupil-milestone-empty{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:12px;padding:15px 16px;border:1px solid #cde5d5;border-radius:13px;background:#f6fcf8}
.pupil-milestone-empty{border-color:#dfe5ec;background:#fff}
.pupil-milestone-all-complete>span,.pupil-milestone-empty>span{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#e8f7ed;color:#18794e;font-size:21px}
.pupil-milestone-empty>span{background:#f4f6f8;color:#667085}
.pupil-milestone-all-complete strong,.pupil-milestone-empty strong{display:block;color:#172033;font-size:13px}
.pupil-milestone-all-complete p,.pupil-milestone-empty p{margin:3px 0 0;color:#667085;font-size:11px}
@media(max-width:850px){
  .pupil-remaining-reward-row{grid-template-columns:38px minmax(0,1fr) minmax(155px,.75fr);gap:11px}
  .pupil-remaining-reward-progress{grid-column:2}
  .pupil-remaining-reward-target{grid-column:3;grid-row:1/3}
}
@media(max-width:650px){
  .pupil-remaining-reward-row{grid-template-columns:36px minmax(0,1fr);padding:12px 13px;min-height:0}
  .pupil-remaining-reward-icon{width:34px;height:34px;font-size:16px}
  .pupil-remaining-reward-progress,.pupil-remaining-reward-target{grid-column:2;grid-row:auto}
  .pupil-remaining-reward-target{text-align:left;display:flex;align-items:baseline;gap:5px}
  .pupil-remaining-reward-target span{margin-top:0}
}



/* v0.41.2 editable milestone reward examples */
.pupil-remaining-reward-kicker{display:inline-flex;align-items:center;padding:2px 5px;border-radius:5px;background:#eef2f6;color:#667085;font-size:7.5px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.pupil-remaining-reward-row.is-next .pupil-remaining-reward-kicker{background:#fff1b8;color:#765b0e}


/* v0.41.2 onboarding rewards step */
.milestone-setup-banner{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:16px 0;padding:16px 18px;border:1px solid #ead58b;border-radius:12px;background:#fff9df}.milestone-setup-banner>div{max-width:760px}.milestone-setup-banner strong{display:block;font-size:17px;color:#172033}.milestone-setup-banner p{margin:4px 0 0;color:#667085}.milestone-setup-banner form{flex:0 0 auto}.onboarding-reward-preview{display:grid;gap:8px;margin:15px 0 18px}.onboarding-reward-preview>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 12px;border:1px solid #e3e7ed;border-radius:9px;background:#fafbfc}.onboarding-reward-preview strong{color:#202a3d}.onboarding-reward-preview span{color:#667085;font-size:12px;text-align:right}@media(max-width:700px){.milestone-setup-banner{align-items:flex-start;flex-direction:column}.onboarding-reward-preview>div{align-items:flex-start;flex-direction:column;gap:3px}.onboarding-reward-preview span{text-align:left}}


/* v0.41.2 reward model balance: distinguish achievements from milestone rewards */
.pupil-award-card--achievement{border-left:4px solid #5f7fa3;background:#fbfdff}
.pupil-award-card--achievement .pupil-award-icon{border-radius:50%;background:#eef5fb;border-color:#bfd3e5;color:#345e82;font-size:18px;font-weight:900}
.pupil-award-card--achievement .pupil-award-kicker{color:#345e82}
.pupil-award-card--milestone{border-left:4px solid #d5aa28;background:#fffdf7}
.pupil-award-card--milestone .pupil-award-icon{border-radius:10px;background:#fff2b8;border-color:#e6c95e;color:#715708;font-size:20px}
.pupil-award-card--milestone .pupil-award-kicker{color:#80620b}
.pupil-award-card--habit{border-left:4px solid #6da37b}
.pupil-award-card--habit .pupil-award-icon{border-radius:50%;background:#eef8f1;border-color:#c7e1ce;color:#39724a;font-size:18px;font-weight:900}
.pupil-award-card--certificate{border-left:4px solid #9a82b6}
.pupil-award-card--certificate .pupil-award-icon{background:#f5f0fa;border-color:#d8c9e6;color:#684b87}
.pupil-mini-award--achievement{border-left:3px solid #5f7fa3;background:#fbfdff}
.pupil-mini-award--achievement .pupil-mini-award-star{border-radius:50%;background:#eef5fb;color:#345e82}
.pupil-mini-award--milestone{border-left:3px solid #d5aa28;background:#fffdf7}
.pupil-mini-award--milestone .pupil-mini-award-star{background:#fff2b8;color:#715708}


/* v0.41.2 content authoring: B+C lesson standard, visual editor, draft-safe preview */
.lesson-content h3{font-size:20px;line-height:1.4;margin:22px 0 8px;color:#1f2937}
.lesson-content p{margin:0 0 14px}.lesson-content ul,.lesson-content ol{margin:10px 0 16px;padding-left:26px}.lesson-content li{margin:6px 0}
.lesson-content .learning-goal{background:#eef4ff;border:1px solid #cfd8ff;border-left:5px solid #6172f3;border-radius:16px;padding:18px 20px;margin:18px 0}
.lesson-content .learn-it-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px 20px;margin:18px 0}
.lesson-content .your-turn{background:#ecfdf3;border:1px solid #b7e8ca;border-left:5px solid #12a66a;border-radius:16px;padding:18px 20px;margin:18px 0}
.lesson-content .top-tip{background:#fff8df;border:1px solid #f4dfa4;border-radius:16px;padding:16px 18px;margin:18px 0}
.lesson-content .lesson-visual{margin:18px auto;text-align:center;overflow:auto}.lesson-content .lesson-visual svg,.lesson-content .lesson-visual img{max-width:100%;height:auto}
.rc-content-editor{border:1px solid #d8dde7;border-radius:14px;overflow:hidden;background:#fff}.rc-content-editor-tabs{display:flex;gap:4px;padding:7px;background:#f5f7fa;border-bottom:1px solid #dfe4ec}.rc-editor-tab{border:0;background:transparent;color:#526071;font:inherit;font-weight:850;padding:9px 13px;border-radius:9px;cursor:pointer}.rc-editor-tab.active{background:#fff;color:#101828;box-shadow:0 1px 4px rgba(15,23,42,.1)}.rc-editor-panel{padding:12px}.rc-editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:0 0 10px}.rc-editor-toolbar button{border:1px solid #d5dbe5;background:#fff;color:#344054;border-radius:8px;padding:7px 10px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.rc-editor-toolbar button:hover{background:#f8fafc;border-color:#aeb8c7}.rc-visual-editor-frame{display:block;width:100%;min-height:520px;border:1px solid #d9dee7;border-radius:10px;background:#fff}.rc-code-editor{width:100%;min-height:520px;border:1px solid #d0d5dd;border-radius:10px;padding:14px;font:14px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#172033;background:#0b1020;color:#e5e7eb;resize:vertical}.rc-admin-safe-preview.unpublished{background:#fff7e8;border-color:#f1cc8a;border-left-color:#d97706}.rc-admin-safe-preview.published{background:#ecfdf3;border-color:#b7e8ca;border-left-color:#0f8a5f}.outline-danger{background:#fff!important;color:var(--danger)!important;border:1px solid #f0b9b5!important;box-shadow:none!important}.outline-danger:hover{background:var(--danger-soft)!important;color:var(--danger)!important}
@media(max-width:650px){.lesson-content{font-size:17px}.rc-visual-editor-frame,.rc-code-editor{min-height:440px}.rc-content-editor-tabs{overflow:auto}}


/* v0.41.2 focus view — pupil homework and teacher lesson preview */
.rc-focus-toggle,.rc-focus-nav-toggle,.rc-focus-nav-backdrop{display:none}
.rc-focus-toggle{border:1px solid rgba(255,255,255,.38)!important;background:rgba(255,255,255,.12)!important;color:#fff!important;cursor:pointer;align-items:center;gap:7px;font:inherit}
.rc-focus-toggle:hover,.rc-focus-toggle:focus{background:rgba(255,255,255,.22)!important;color:#fff!important}
.rc-focus-toggle [data-rc-focus-icon]{font-size:17px;line-height:1}
.rc-focus-nav-toggle{border:1px solid #cdd7e3;border-right:0;background:#fff;color:#27415d;box-shadow:0 5px 18px rgba(15,23,42,.14);border-radius:10px 0 0 10px;padding:11px 13px;font-size:13px;font-weight:800;cursor:pointer;align-items:center;gap:7px}
.rc-focus-nav-toggle .rc-focus-nav-icon{font-size:16px}
.rc-focus-nav-backdrop{border:0;padding:0;margin:0;background:rgba(15,23,42,.18);cursor:default}

@media(min-width:901px){
  body.rc-focus-ready .rc-focus-toggle{display:inline-flex!important}
  body.rc-focus-mode .rc-main-header{display:none}
  body.rc-focus-mode.pupil-player-page .rc-main-container,
  body.rc-focus-mode.teacher-preview-page .rc-main-container,
  .pupil-app.pupil-player-page.rc-focus-mode .rc-main-container:has(.rc-player-shell){width:min(1560px,calc(100% - 32px));max-width:1560px;margin:16px auto 28px}
  body.rc-focus-mode .rc-player-shell{max-width:1560px}
  body.rc-focus-mode .rc-original-player-layout{grid-template-columns:minmax(0,1fr)!important}
  body.rc-focus-mode .rc-original-player-layout>.rc-lesson-main{padding:0 40px 30px!important}
  body.rc-focus-mode .rc-original-sidebar{display:none!important}
  body.rc-focus-mode .rc-original-course-header{padding-right:152px!important}
  body.rc-focus-mode .rc-course-actions>*:not(.rc-focus-toggle):not(.tabs-points){display:none!important}
  body.rc-focus-mode .rc-focus-toggle{position:fixed;right:16px;top:12px;z-index:80;background:#245f91!important;border-color:#245f91!important;box-shadow:0 5px 16px rgba(15,23,42,.18)}
  body.rc-focus-mode .rc-focus-toggle:hover,body.rc-focus-mode .rc-focus-toggle:focus{background:#1d4f79!important}
  body.rc-focus-mode .rc-original-quiz .rc-question-card{max-width:960px}
  body.rc-focus-mode .rc-original-quiz .rc-player-bottom{max-width:960px}
  body.rc-focus-mode .lesson-content{max-width:760px}
  body.rc-focus-mode .lesson-document-frame{width:100%}
  body.rc-focus-mode .teacher-preview-note{margin-right:0}

  body.rc-focus-mode .rc-focus-nav-toggle{display:inline-flex;position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:72}
  body.rc-focus-mode.rc-focus-sidebar-open .rc-focus-nav-toggle{right:min(360px,calc(100vw - 28px));z-index:92}
  body.rc-focus-mode.rc-focus-sidebar-open .rc-focus-nav-backdrop{display:block;position:fixed;inset:0;z-index:88}

  body.pupil-player-page.rc-focus-mode.rc-focus-sidebar-open .rc-original-sidebar,
  body.teacher-preview-page.rc-focus-mode.rc-focus-sidebar-open .rc-focus-primary-sidebar{
    display:block!important;position:fixed!important;right:0!important;top:0!important;bottom:0!important;width:min(360px,calc(100vw - 28px))!important;max-height:none!important;min-height:0!important;overflow:auto!important;z-index:90!important;border:0!important;border-left:1px solid #dce3eb!important;border-radius:0!important;background:#f7f8fa!important;box-shadow:-12px 0 30px rgba(15,23,42,.16)!important;padding-top:14px
  }
  body.teacher-preview-page.rc-focus-mode .rc-focus-secondary-sidebar{display:none!important}
}

@media(max-width:900px){
  .rc-focus-toggle,.rc-focus-nav-toggle,.rc-focus-nav-backdrop{display:none!important}
}
/* Focus view guardrails: hidden controls stay hidden and the overlay drawer can escape the rounded player shell. */
.rc-focus-nav-toggle[hidden],.rc-focus-nav-backdrop[hidden]{display:none!important}
@media(min-width:901px){body.rc-focus-mode .rc-player-shell{overflow:visible}}

/* v0.41.3: topic browsing + server-side pagination for large lesson libraries */
.rc-library-filters{grid-template-columns:minmax(220px,1.5fr) repeat(5,minmax(112px,.7fr)) auto}
.rc-admin-content-filters{grid-template-columns:repeat(4,minmax(125px,.7fr)) minmax(220px,1.5fr) minmax(110px,.55fr) auto}
.rc-topic-browser{margin:0 0 18px;padding:16px;background:#fff;border:1px solid #e1e6ed;border-radius:12px}
.rc-topic-browser-heading{margin-bottom:12px}
.rc-topic-browser-heading h2{font-size:20px;margin:2px 0 0}
.rc-topic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}
.rc-topic-card{display:flex;flex-direction:column;gap:5px;min-height:76px;padding:13px 14px;border:1px solid #e1e6ed;border-radius:10px;background:#fbfcfd;color:#26344c;text-decoration:none;transition:border-color .15s,background .15s,box-shadow .15s}
.rc-topic-card strong{font-size:14px;line-height:1.3}
.rc-topic-card span{font-size:12px;color:#6b778a}
.rc-topic-card:hover{background:#f7f9fb;border-color:#cbd3de;box-shadow:0 3px 9px rgba(15,23,42,.045)}
.rc-topic-card.is-active{background:#f2f6fa;border-color:#93a4b8;box-shadow:inset 0 0 0 1px #93a4b8}
.rc-topic-card.is-active strong{color:#17233b}
.rc-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px 0 4px;padding:10px 0}
.rc-pagination a,.rc-pagination span{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border-radius:8px;font-size:13px;font-weight:800}
.rc-pagination a{border:1px solid #dce2e9;background:#fff;color:#334155;text-decoration:none}
.rc-pagination a:hover{background:#f8fafc;border-color:#cbd5e1}
.rc-pagination span{color:#667085;background:#f4f6f8}
.rc-admin-result-bar{margin:0 0 12px}
@media(max-width:1200px){.rc-admin-content-filters{grid-template-columns:repeat(3,1fr)}.rc-admin-content-filters input{grid-column:span 2}.rc-library-filters{grid-template-columns:repeat(3,1fr)}.rc-library-search{grid-column:1/-1}}
@media(max-width:720px){.rc-topic-grid{grid-template-columns:1fr 1fr}.rc-admin-content-filters{grid-template-columns:1fr}.rc-admin-content-filters input{grid-column:auto}.rc-pagination{justify-content:space-between}.rc-library-filters{grid-template-columns:1fr}.rc-library-search{grid-column:auto}}
@media(max-width:480px){.rc-topic-grid{grid-template-columns:1fr}.rc-pagination{gap:6px}.rc-pagination a,.rc-pagination span{padding:7px 9px;font-size:12px}}

/* v0.45.8 — cleaner lesson header + simple wide view inspired by the earlier course player */
.rc-original-course-header .rc-course-title img.rc-course-cap{
  width:44px!important;height:44px!important;object-fit:contain!important;flex:0 0 44px;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.12));
}
.rc-original-course-header .rc-course-title{gap:11px!important}
.rc-original-course-header .rc-course-title strong{white-space:normal;line-height:1.22}
.rc-course-status-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;color:#fff;min-width:260px}
.rc-course-status-stack strong{font-size:14px;font-weight:850;line-height:1.25}
.rc-course-status-stack span{font-size:12px;font-weight:650;opacity:.94}
.rc-review-inline{margin:0 0 12px;padding:9px 12px;border:1px solid #cfe5d7;border-left:4px solid #3aa76d;border-radius:7px;background:#f4fbf7;color:#35624a;font-size:13px;font-weight:700}

.rc-wide-toggle{border:1px solid rgba(255,255,255,.42)!important;background:rgba(255,255,255,.12)!important;color:#fff!important;cursor:pointer;align-items:center;gap:7px;font:inherit}
.rc-wide-toggle:hover,.rc-wide-toggle:focus{background:rgba(255,255,255,.22)!important;color:#fff!important}
.rc-wide-toggle [data-rc-wide-icon]{font-size:17px;line-height:1}

@media(min-width:901px){
  body.rc-wide-ready .rc-wide-toggle{display:inline-flex!important}
  body.rc-wide-mode.pupil-player-page .rc-main-container,
  body.rc-wide-mode.teacher-preview-page .rc-main-container{width:calc(100% - 24px)!important;max-width:1720px!important;margin-left:auto!important;margin-right:auto!important}
  body.rc-wide-mode .rc-player-shell{max-width:1720px!important}
  body.rc-wide-mode .rc-original-player-layout{grid-template-columns:minmax(0,1fr)!important}
  body.rc-wide-mode .rc-original-player-layout>.rc-lesson-main{padding-right:0!important}
  body.rc-wide-mode .rc-original-sidebar{display:none!important}
  body.rc-wide-mode .lesson-content{max-width:1000px!important}
  body.rc-wide-mode .rc-original-quiz .rc-question-card,
  body.rc-wide-mode .rc-original-quiz .rc-player-bottom{max-width:1120px}
  body.rc-wide-mode .lesson-document-frame{width:100%}
}
@media(max-width:1100px) and (min-width:901px){
  .rc-original-course-header{flex-wrap:wrap!important}
  .rc-course-status-stack{order:3;width:100%;padding-top:2px}
}
@media(max-width:900px){
  .rc-wide-toggle{display:none!important}
  .rc-course-status-stack{align-items:flex-start;text-align:left;min-width:0;width:100%}
  .rc-original-course-header .rc-course-title img.rc-course-cap{width:38px!important;height:38px!important;flex-basis:38px}
}


/* v0.45.9 — title-first header, separate lesson status strip, collapsible homework steps */
.rc-original-course-header{
  grid-template-columns:minmax(260px,1fr) auto!important;
  margin-bottom:0!important;
  border-radius:7px 7px 0 0!important;
}
.rc-player-info-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:9px 13px;
  margin:0 0 16px;
  background:#f5f9fd;
  border:1px solid #d5e2ee;
  border-top:0;
  border-radius:0 0 8px 8px;
  color:#334155;
}
.rc-player-info-copy{display:flex;align-items:center;gap:10px 18px;min-width:0;flex-wrap:wrap}
.rc-player-info-copy strong{font-size:13px;font-weight:850;color:#243b53;line-height:1.3}
.rc-player-info-copy span{font-size:12px;font-weight:700;color:#64748b;line-height:1.3}
.rc-player-info-copy span:before{content:'•';margin-right:18px;color:#9aa8b7}
.rc-steps-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex:0 0 auto;
  min-height:34px;
  padding:7px 10px;
  border:1px solid #c7d5e2;
  border-radius:7px;
  background:#fff;
  color:#31546f;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.rc-steps-toggle:hover,.rc-steps-toggle:focus{background:#eef5fa;border-color:#9fb5c8;color:#244762}
.rc-steps-toggle [data-rc-steps-icon]{font-size:15px;line-height:1}

/* The earlier Wide view control is superseded by the simpler steps toggle. */
.rc-wide-toggle{display:none!important}
body.rc-wide-mode{--rc-unused-wide-mode:0}

body.rc-steps-hidden.pupil-player-page .rc-main-container,
body.rc-steps-hidden.teacher-preview-page .rc-main-container{
  width:calc(100% - 24px)!important;
  max-width:1720px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.rc-steps-hidden .rc-player-shell{max-width:1720px!important}
body.rc-steps-hidden .rc-original-player-layout{grid-template-columns:minmax(0,1fr)!important}
body.rc-steps-hidden .rc-original-player-layout>.rc-lesson-main{padding-right:0!important}
body.rc-steps-hidden .rc-original-sidebar{display:none!important}
body.rc-steps-hidden .lesson-content{max-width:1080px!important}
body.rc-steps-hidden .rc-original-quiz .rc-question-card,
body.rc-steps-hidden .rc-original-quiz .rc-player-bottom{max-width:1140px}
body.rc-steps-hidden .lesson-document-frame{width:100%}

@media(max-width:1100px){
  .rc-original-course-header{grid-template-columns:1fr!important}
  .rc-course-actions{justify-content:flex-start!important}
}
@media(max-width:700px){
  .rc-player-info-strip{align-items:flex-start;flex-direction:column;gap:8px}
  .rc-player-info-copy{display:grid;gap:4px}
  .rc-player-info-copy span:before{display:none}
  .rc-steps-toggle{align-self:flex-end}
}

/* v0.46.0 — expanded lesson typography when Mission Steps are hidden.
 * Hiding the steps should feel like a genuine reading/teaching view, not just
 * an empty sidebar disappearing. Cards and visuals can use the wider canvas,
 * while prose keeps a comfortable line length. */
@media(min-width:901px){
  body.rc-steps-hidden .rc-original-player-layout>.rc-lesson-main{
    padding:0 34px 34px!important;
  }

  body.rc-steps-hidden .lesson-card{
    padding:36px 42px;
  }

  body.rc-steps-hidden .lesson-content{
    max-width:1240px!important;
    font-size:19px;
    line-height:1.72;
  }

  body.rc-steps-hidden .lesson-content h2{
    font-size:28px;
    line-height:1.3;
    margin-top:34px;
  }

  body.rc-steps-hidden .lesson-content h3{
    font-size:22px;
    line-height:1.35;
    margin-top:27px;
  }

  /* Keep ordinary prose broad and easy to scan without creating ultra-long lines. */
  body.rc-steps-hidden .lesson-content>p,
  body.rc-steps-hidden .lesson-content>ul,
  body.rc-steps-hidden .lesson-content>ol{
    max-width:1080px;
  }

  /* Teaching cards, passages, examples and visuals should actually use the extra room. */
  body.rc-steps-hidden .lesson-content .learning-goal,
  body.rc-steps-hidden .lesson-content .learn-it-card,
  body.rc-steps-hidden .lesson-content .your-turn,
  body.rc-steps-hidden .lesson-content .top-tip,
  body.rc-steps-hidden .lesson-content .worked-example,
  body.rc-steps-hidden .lesson-content .remember-box,
  body.rc-steps-hidden .lesson-content .reading-passage,
  body.rc-steps-hidden .lesson-content .lesson-visual,
  body.rc-steps-hidden .lesson-content figure,
  body.rc-steps-hidden .lesson-content table{
    width:100%;
    max-width:none;
  }

  body.rc-steps-hidden .lesson-content .learning-goal,
  body.rc-steps-hidden .lesson-content .learn-it-card,
  body.rc-steps-hidden .lesson-content .your-turn{
    padding:22px 26px;
  }

  body.rc-steps-hidden .lesson-content .top-tip,
  body.rc-steps-hidden .lesson-content .worked-example,
  body.rc-steps-hidden .lesson-content .remember-box,
  body.rc-steps-hidden .lesson-content .reading-passage{
    padding:20px 24px;
  }

  body.rc-steps-hidden .lesson-content .reading-passage{
    font-size:19px;
    line-height:1.8;
  }

  body.rc-steps-hidden .lesson-content .lesson-visual img,
  body.rc-steps-hidden .lesson-content .lesson-visual svg,
  body.rc-steps-hidden .lesson-content figure img,
  body.rc-steps-hidden .lesson-content figure svg{
    max-width:100%;
  }

  body.rc-steps-hidden .lesson-document-frame{
    min-height:720px;
    height:calc(100vh - 185px);
  }

  /* Quiz view grows with the lesson workspace too. */
  body.rc-steps-hidden .rc-original-quiz .rc-question-card,
  body.rc-steps-hidden .rc-original-quiz .rc-player-bottom{
    max-width:1240px;
  }

  body.rc-steps-hidden .rc-original-quiz .rc-quiz-body{
    font-size:19px;
    padding-left:34px;
    padding-right:34px;
  }

  body.rc-steps-hidden .rc-original-quiz .rc-question-card h2{
    font-size:21px;
    line-height:1.58;
  }

  body.rc-steps-hidden .rc-original-quiz .rc-answer-option span{
    font-size:18px;
    line-height:1.5;
    padding-top:9px!important;
    padding-bottom:9px!important;
  }
}

/* v0.46.5 — balanced pupil dashboard motivation layer */
.pupil-dashboard-page{background:linear-gradient(180deg,#f8fbff 0,#f6f8fb 220px,#f4f6f9 100%)}
.pupil-motivation-overview{display:grid;grid-template-columns:.9fr 1.35fr 1.15fr;gap:12px;margin:0 0 18px}
.pupil-motivation-card{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:11px;align-items:center;min-height:96px;padding:15px 16px;border:1px solid #dde5ee;border-radius:16px;background:#fff;color:#172033;text-decoration:none;box-shadow:0 5px 16px rgba(15,23,42,.045);overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.pupil-motivation-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(15,23,42,.08);border-color:#c8d7e7;text-decoration:none}
.pupil-motivation-card:focus-visible{outline:3px solid rgba(52,152,219,.22);outline-offset:2px}
.pupil-motivation-card.is-points{background:linear-gradient(135deg,#fffef6,#fff8cf)}
.pupil-motivation-card.is-milestone{background:linear-gradient(135deg,#ffffff,#f5f9ff)}
.pupil-motivation-card.is-homework{background:linear-gradient(135deg,#ffffff,#f4fbf7)}
.pupil-motivation-card.is-homework.is-clear{background:linear-gradient(135deg,#ffffff,#f5fbff)}
.pupil-motivation-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.78);border:1px solid rgba(15,23,42,.08);font-size:23px;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.pupil-motivation-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.pupil-motivation-copy small{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.075em;color:#687589}
.pupil-motivation-copy strong{font-size:18px;line-height:1.15;color:#172033;letter-spacing:-.015em;white-space:normal;overflow-wrap:anywhere}
.pupil-motivation-card.is-points .pupil-motivation-copy strong{font-size:27px;color:#5f4a08}
.pupil-motivation-copy em{font-style:normal;color:#667085;font-size:11px;line-height:1.35}
.pupil-motivation-track{grid-column:1/-1;height:6px;margin-top:1px;border-radius:999px;background:#e7edf4;overflow:hidden}
.pupil-motivation-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3498db,#6fb7e8)}
.pupil-dashboard-page .next-action-card.rc-school-next-action{border-radius:16px;box-shadow:0 6px 18px rgba(15,23,42,.06)}
.pupil-dashboard-page .rc-school-all-done{background:linear-gradient(135deg,#fff,#f3fbf5);border-color:#cae8d2}
.pupil-dashboard-page .rc-school-course-box{border-radius:16px;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease}
.pupil-dashboard-page .rc-school-course-box:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(15,23,42,.08)}
.pupil-dashboard-page .status-pill{font-weight:850;letter-spacing:.015em}
.pupil-dashboard-page .progress-bar{background:linear-gradient(90deg,#3498db,#68b4e8)}
.pupil-dashboard-page .rc-complete-row{border-radius:10px;background:#f3fbf5;border:1px solid #d6ecd9;padding:9px 10px}
.pupil-dashboard-page .pupil-next-milestones,.pupil-dashboard-page .pupil-dashboard-class-goals,.pupil-dashboard-page .pupil-dashboard-awards{scroll-margin-top:92px}
.pupil-dashboard-page .pupil-milestone-progress-card,.pupil-dashboard-page .pupil-dashboard-goal-card,.pupil-dashboard-page .pupil-mini-award{transition:transform .16s ease,box-shadow .16s ease}
.pupil-dashboard-page .pupil-milestone-progress-card:hover,.pupil-dashboard-page .pupil-dashboard-goal-card:hover,.pupil-dashboard-page .pupil-mini-award:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(15,23,42,.075)}
@media(max-width:960px){.pupil-motivation-overview{grid-template-columns:1fr 1fr}.pupil-motivation-card.is-homework{grid-column:1/-1}}
@media(max-width:650px){.pupil-motivation-overview{grid-template-columns:1fr;gap:9px}.pupil-motivation-card.is-homework{grid-column:auto}.pupil-motivation-card{min-height:84px;padding:13px 14px}.pupil-motivation-icon{width:42px;height:42px;font-size:21px}.pupil-motivation-copy strong{font-size:16px}.pupil-motivation-card.is-points .pupil-motivation-copy strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){.pupil-motivation-card,.pupil-dashboard-page .rc-school-course-box,.pupil-dashboard-page .pupil-milestone-progress-card,.pupil-dashboard-page .pupil-dashboard-goal-card,.pupil-dashboard-page .pupil-mini-award{transition:none}.pupil-motivation-card:hover,.pupil-dashboard-page .rc-school-course-box:hover,.pupil-dashboard-page .pupil-milestone-progress-card:hover,.pupil-dashboard-page .pupil-dashboard-goal-card:hover,.pupil-dashboard-page .pupil-mini-award:hover{transform:none}}


/* v0.46.6 — clearer pupil homework metadata + recent-completed dashboard cap */
.pupil-dashboard-page .course-meta{gap:7px}
.pupil-dashboard-page .course-meta .rc-meta-chip{font-weight:800;border:1px solid transparent;box-shadow:none}
.pupil-dashboard-page .course-meta .rc-meta-subject{background:#f0f3f7;color:#32465d;border-color:#dde4ec}
.pupil-dashboard-page .course-meta .rc-meta-subject.english{background:#f1eafa;color:#654f90;border-color:#e3d8f2}
.pupil-dashboard-page .course-meta .rc-meta-subject.maths{background:#e7f1fb;color:#356895;border-color:#d3e4f4}
.pupil-dashboard-page .course-meta .rc-meta-subject.reading{background:#f6eee4;color:#825f3c;border-color:#eadbc8}
.pupil-dashboard-page .course-meta .rc-meta-subject.science{background:#e8f5ec;color:#3f7750;border-color:#d5eadc}
.pupil-dashboard-page .course-meta .rc-meta-subject.history{background:#f4ecdf;color:#7d633d;border-color:#e8d9c2}
.pupil-dashboard-page .course-meta .rc-meta-subject.geography{background:#e8f4f3;color:#3f7774;border-color:#d3e7e5}
.pupil-dashboard-page .course-meta .rc-meta-subject.computing{background:#ebedfa;color:#53659a;border-color:#d9def2}
.pupil-dashboard-page .course-meta .rc-meta-subject.pshe{background:#f5ebf2;color:#7d5770;border-color:#ead9e4}
.pupil-dashboard-page .course-meta .rc-meta-type{background:#eaf6fb;color:#28677e;border-color:#d6eaf2}
.pupil-dashboard-page .course-meta .rc-meta-points{background:#fff5d8;color:#775a08;border-color:#f2e1aa}
.pupil-dashboard-page .course-meta .rc-meta-due{background:#fff0ef;color:#9a4f49;border-color:#f1d8d5}
.pupil-completed-history-link{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:8px;background:#fff;color:#315f83;border:1px solid #d9e4ed;text-decoration:none;font-size:11px;font-weight:850;white-space:nowrap}
.pupil-completed-history-link:hover{background:#f4f8fb;text-decoration:none}
.pupil-dashboard-history-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid #dde6ee;border-radius:11px;background:#f9fbfd;color:#657286;font-size:12px}
.pupil-dashboard-history-note a{font-weight:850;color:#315f83;text-decoration:none;white-space:nowrap}
.pupil-dashboard-history-note a:hover{text-decoration:underline}
@media(max-width:650px){.pupil-dashboard-history-note{align-items:flex-start;flex-direction:column;gap:5px}.pupil-dashboard-history-note a{white-space:normal}.pupil-dashboard-page .course-meta{gap:6px}.pupil-dashboard-page .course-meta .rc-meta-chip{padding:5px 8px}}

/* v0.47.1 — teacher feedback is surfaced before the task content. */
.pupil-teacher-feedback-card{margin-top:14px;border:1px solid #cfddea;background:linear-gradient(180deg,#fbfdff 0%,#f5f9fc 100%);box-shadow:0 10px 26px rgba(43,79,108,.07)}
.pupil-teacher-feedback-card.is-returned{border-color:#ead5b3;background:linear-gradient(180deg,#fffdf9 0%,#fff8ed 100%)}
.pupil-teacher-feedback-card h2{margin:3px 0 4px}
.pupil-teacher-feedback-card .submission-feedback{margin:12px 0 0}
.pupil-corrected-work{margin-top:14px;padding-top:14px;border-top:1px solid rgba(93,121,145,.18)}
.pupil-corrected-work>.split{margin-bottom:10px}
.pupil-corrected-work .homework-resource-image,.pupil-corrected-work .homework-resource-pdf{margin-top:10px}
.teacher-feedback-form input[type=file]{width:100%;max-width:100%}

/* v0.48.0 — editor safety + accessibility polish */
.rc-draft-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:12px 14px;border:1px solid #cbd9e7;border-radius:12px;background:#f7fbff;color:#26374a}.rc-draft-notice>div:first-child{display:flex;flex-direction:column;gap:2px}.rc-draft-notice span{font-size:12px;color:#667085}.rc-draft-actions{display:flex;align-items:center;gap:8px}.rc-draft-status{display:inline-flex;align-items:center;min-height:32px;padding:0 7px;color:#697789;font-size:12px;font-weight:750}.btn:focus-visible,.link-button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[contenteditable="true"]:focus-visible{outline:3px solid rgba(36,95,145,.32);outline-offset:2px}.rc-library-state-filter{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.rc-library-state-filter a{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid #d8e1ea;border-radius:999px;background:#fff;color:#45576b;text-decoration:none;font-size:12px;font-weight:850}.rc-library-state-filter a.is-active{background:#245f91;border-color:#245f91;color:#fff}.rc-library-state-filter a:hover{text-decoration:none;border-color:#9bb3c9}.rc-preview-action-note{font-size:12px;color:#667085;margin-left:4px}
@media(max-width:700px){.rc-draft-notice{align-items:flex-start;flex-direction:column}.rc-draft-actions{width:100%}.rc-draft-actions .btn{flex:1}.teacher-resource-edit-page .actions .btn,.rc-publish-form .actions .btn{min-height:44px}.rc-library-state-filter{gap:6px}.rc-library-state-filter a{flex:1 1 auto;justify-content:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* RewardClass modal system v0.48.1 */
body.rc-modal-open{overflow:hidden}
.rc-modal-backdrop{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:24px;background:rgba(13,27,42,.52);backdrop-filter:blur(4px);opacity:0;transition:opacity .14s ease}
.rc-modal-backdrop[hidden]{display:none}
.rc-modal-backdrop.is-open{opacity:1}
.rc-modal{width:min(520px,100%);max-height:min(720px,calc(100vh - 48px));overflow:auto;border:1px solid rgba(13,43,68,.1);border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(8,29,48,.3);transform:translateY(10px) scale(.985);transition:transform .16s ease;outline:0}
.rc-modal-backdrop.is-open .rc-modal{transform:translateY(0) scale(1)}
.rc-modal-header{display:flex;align-items:flex-start;gap:14px;padding:24px 24px 14px}
.rc-modal-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:#eaf4ff;color:#0f5d9d;font-size:22px;font-weight:800;line-height:1}
.rc-modal--success .rc-modal-icon{background:#eaf8ef;color:#19733a}
.rc-modal--warning .rc-modal-icon{background:#fff5dc;color:#9b6400}
.rc-modal--danger .rc-modal-icon{background:#fff0f0;color:#b52d2d}
.rc-modal-heading{min-width:0;padding-top:1px}
.rc-modal-eyebrow{margin-bottom:3px;color:#6f7f91;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.rc-modal-title{margin:0;color:#10263b;font-size:22px;line-height:1.2}
.rc-modal-body{padding:0 24px 22px}
.rc-modal-message{margin:0;color:#4b5d70;font-size:15px;line-height:1.6;white-space:pre-line}
.rc-modal-prompt{margin-top:18px}
.rc-modal-prompt[hidden]{display:none}
.rc-modal-prompt-label{display:block;margin-bottom:7px;color:#22384d;font-size:13px;font-weight:700}
.rc-modal-prompt-input{width:100%;min-height:44px;border:1px solid #cbd6e2;border-radius:10px;background:#fff;padding:10px 12px;color:#10263b;font:inherit;box-shadow:inset 0 1px 2px rgba(16,38,59,.03)}
.rc-modal-prompt-input:focus{border-color:#1c77c3;box-shadow:0 0 0 3px rgba(28,119,195,.13);outline:0}
.rc-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 22px;border-top:1px solid #edf1f5;background:#fafcfe;border-radius:0 0 22px 22px}
.rc-modal-actions .btn{margin:0;min-width:96px;justify-content:center}
.rc-modal-confirm.danger{background:#b83333;border-color:#b83333;color:#fff}
.rc-modal-confirm.danger:hover,.rc-modal-confirm.danger:focus{background:#9f2727;border-color:#9f2727}
.rc-modal-confirm.warning{background:#9b6400;border-color:#9b6400;color:#fff}
.rc-modal-confirm.warning:hover,.rc-modal-confirm.warning:focus{background:#805200;border-color:#805200}
@media(max-width:640px){.rc-modal-backdrop{padding:14px;align-items:end}.rc-modal{width:100%;max-height:calc(100vh - 28px);border-radius:20px}.rc-modal-header{padding:21px 18px 12px}.rc-modal-body{padding:0 18px 18px}.rc-modal-actions{padding:14px 18px 18px;flex-direction:column-reverse}.rc-modal-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.rc-modal-backdrop,.rc-modal{transition:none!important}}

/* --------------------------------------------------------------------------
   v0.49.0 · RewardClass Live Challenge
   Class-assigned live quiz mode. Namespaced to rc-live-* to avoid affecting
   homework/library layouts.
   -------------------------------------------------------------------------- */
.rc-live-hero{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;align-items:center;padding:30px;border-radius:24px;margin:0 0 22px;background:linear-gradient(135deg,#112f63 0%,#244ed7 52%,#6544d8 100%);color:#fff;box-shadow:0 22px 54px rgba(24,55,128,.23);overflow:hidden;position:relative}
.rc-live-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);right:-80px;top:-110px}.rc-live-hero h1{font-size:clamp(28px,4vw,46px);line-height:1.04;margin:7px 0 12px;color:#fff;max-width:800px}.rc-live-hero p{font-size:17px;line-height:1.6;margin:0;max-width:780px;color:#edf3ff}.rc-live-kicker{display:inline-flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.rc-live-hero-badge{position:relative;z-index:1;display:flex;min-height:190px;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px solid rgba(255,255,255,.24);border-radius:20px;background:rgba(11,28,75,.28);backdrop-filter:blur(8px);padding:22px}.rc-live-hero-badge span{display:inline-block;background:#ffda3d;color:#1a2850;border-radius:999px;padding:7px 13px;font-weight:900;letter-spacing:.15em;font-size:12px}.rc-live-hero-badge strong{font-size:25px;margin-top:13px}.rc-live-hero-badge small{margin-top:7px;color:#dce6ff}
.rc-live-resume-card{display:flex;align-items:center;justify-content:space-between;gap:20px;border:2px solid #694cff;background:linear-gradient(90deg,#f7f4ff,#fff);margin-bottom:18px}.rc-live-resume-card h2{margin:5px 0}.rc-live-primary{background:linear-gradient(135deg,#6846e8,#3659e8)!important;border-color:#4f45da!important;color:#fff!important;box-shadow:0 8px 20px rgba(75,66,213,.2)}.rc-live-primary:hover{transform:translateY(-1px)}button.rc-live-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.rc-live-create-card{padding:24px}.rc-live-create-head{margin-bottom:20px}.rc-live-create-head h2{margin:5px 0}.rc-live-form-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(360px,1.5fr);gap:18px}.rc-live-resource-field input[type=search]{margin-bottom:8px}.rc-live-resource-field select[size]{min-height:170px;padding:7px}.rc-live-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:13px}.rc-live-check{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;margin:8px 0 14px;border:1px solid #dfe5f0;border-radius:14px;background:#fafbff;cursor:pointer}.rc-live-check input{margin-top:4px}.rc-live-check span{display:grid;gap:2px}.rc-live-check small{color:#667085}.rc-live-fairness-note{display:flex;gap:12px;align-items:flex-start;padding:15px 17px;border-radius:14px;background:#f0fbf7;border:1px solid #bee9d7;margin:12px 0 18px}.rc-live-fairness-note>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#1b9c6b;color:#fff;font-weight:900}.rc-live-fairness-note strong{display:block;color:#116146}.rc-live-fairness-note p{margin:2px 0 0;color:#4c675e}.rc-live-history{margin-top:18px}.rc-live-history-list{display:grid}.rc-live-history-row{display:grid;grid-template-columns:14px minmax(0,1fr) auto 18px;align-items:center;gap:12px;padding:14px 5px;border-top:1px solid #edf0f5;color:inherit;text-decoration:none}.rc-live-history-row:first-child{border-top:0}.rc-live-history-row:hover{background:#fafbff}.rc-live-history-row .body{display:grid;gap:2px}.rc-live-history-row small{color:#667085}.rc-live-history-metrics{display:grid;text-align:right;gap:2px}.rc-live-history-metrics b{font-size:13px}.rc-live-status-dot{width:10px;height:10px;border-radius:50%;background:#9ca3af}.rc-live-status-dot.is-lobby,.rc-live-status-dot.is-question{background:#20b77a;box-shadow:0 0 0 5px rgba(32,183,122,.1)}.rc-live-status-dot.is-reveal{background:#7c59e8}.rc-live-status-dot.is-finished{background:#2f65d9}.rc-live-status-dot.is-cancelled{background:#9ca3af}

.teacher-live-control-page .rc-main-container{width:min(1500px,97vw);max-width:1500px}.rc-live-control-shell{min-height:70vh}.rc-live-control-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 2px 20px}.rc-live-control-header h1{font-size:clamp(28px,4vw,46px);margin:4px 0 3px}.rc-live-control-header p{margin:0;color:#657080}.rc-live-control-tools{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.rc-live-status-pill{display:inline-flex;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;background:#eef2f7}.rc-live-status-pill.is-lobby,.rc-live-status-pill.is-question{background:#ddf7eb;color:#08754c}.rc-live-status-pill.is-reveal{background:#eee8ff;color:#5936c5}.rc-live-status-pill.is-finished{background:#e4edff;color:#244fb4}.rc-live-stage{border-radius:26px;background:linear-gradient(145deg,#142f67,#274fd2 56%,#6946db);color:#fff;box-shadow:0 24px 60px rgba(24,52,119,.22);padding:34px;position:relative;overflow:hidden}.rc-live-stage:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;border:70px solid rgba(255,255,255,.055);right:-100px;bottom:-150px}.rc-live-lobby-stage{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:28px;min-height:460px}.rc-live-lobby-main{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;z-index:1}.rc-live-lobby-main h2{font-size:clamp(30px,4vw,52px);line-height:1.08;max-width:800px;margin:8px 0 12px;color:#fff}.rc-live-lobby-main p{font-size:18px;color:#dfe9ff;max-width:750px}.rc-live-lightning{font-size:70px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.18))}.rc-live-lightning.pulse{animation:rcLivePulse 1.35s ease-in-out infinite}.rc-live-big-count{display:flex;align-items:flex-end;gap:14px;margin-top:22px}.rc-live-big-count strong{font-size:76px;line-height:.85}.rc-live-big-count span{font-size:18px;color:#dce7ff}.rc-live-roster-card{position:relative;z-index:1;background:rgba(255,255,255,.96);color:#172033;border-radius:20px;padding:20px;align-self:stretch;box-shadow:0 16px 36px rgba(12,31,77,.2)}.rc-live-roster-card h3{margin:0 0 11px}.rc-live-roster{display:grid;gap:6px;max-height:385px;overflow:auto}.rc-live-roster-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 10px;border-radius:10px;background:#f5f7fb}.rc-live-roster-row span{font-weight:900;color:#9aa3b1}.rc-live-roster-row small{color:#808a98}.rc-live-roster-row.is-ready{background:#eaf9f2}.rc-live-roster-row.is-ready span,.rc-live-roster-row.is-ready small{color:#168457}.rc-live-teacher-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:18px 0 10px}.rc-live-big-action{font-size:18px!important;padding:14px 24px!important;min-width:220px}
.rc-live-question-stage{min-height:500px}.rc-live-question-top{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center;position:relative;z-index:1;font-size:17px}.rc-live-question-top>span:last-child{text-align:right}.rc-live-timer{display:grid;place-items:center;min-width:88px;height:88px;border-radius:50%;font-weight:900;font-size:26px;background:#fff;color:#17305e;box-shadow:0 12px 30px rgba(0,0,0,.15);transition:.2s}.rc-live-timer.is-warning{background:#ffdd57;color:#503600;animation:rcLivePulse .75s ease-in-out infinite}.rc-live-timer.is-expired{background:#ff6b6b;color:#fff}.rc-live-timer.is-off{border-radius:14px;height:auto;min-width:120px;padding:10px;font-size:14px}.rc-live-teacher-question{position:relative;z-index:1;max-width:1200px;margin:34px auto 0}.rc-live-teacher-question>h2{text-align:center;font-size:clamp(30px,4.2vw,58px);line-height:1.08;color:#fff;margin:0 auto 30px;max-width:1100px}.rc-live-teacher-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rc-live-teacher-option{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:86px;border-radius:16px;padding:18px 20px;background:rgba(255,255,255,.96);color:#172033;border:3px solid transparent;font-size:19px;font-weight:700;box-shadow:0 10px 20px rgba(4,19,61,.15)}.rc-live-teacher-option:before{content:"";position:absolute;inset:auto auto 0 0;width:var(--live-answer-share,0);height:5px;background:#6954dd;transition:width .35s ease}.rc-live-teacher-option b{display:grid;place-items:center;min-width:42px;height:42px;border-radius:12px;background:#eef1f7;font-size:18px}.rc-live-teacher-option.is-correct{border-color:#45d494;background:#ecfff6}.rc-live-teacher-option.is-correct b{background:#1da96f;color:#fff}.rc-live-reveal-summary{display:grid;grid-template-columns:220px minmax(260px,1fr);gap:12px;margin-top:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:18px}.rc-live-reveal-summary>div{display:grid}.rc-live-reveal-summary span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#dfe8ff}.rc-live-reveal-summary strong{font-size:27px;color:#fff}.rc-live-reveal-summary p{grid-column:1/-1;margin:5px 0 0;color:#eef3ff}.rc-live-leaderboard-card{margin:18px 0;padding:22px;border:1px solid #e2e7f0;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(16,36,78,.07)}.rc-live-leaderboard-card h2{margin:4px 0}.rc-live-leaderboard{display:grid;gap:7px;margin-top:12px}.rc-live-leader-row{display:grid;grid-template-columns:50px minmax(0,1fr) 100px 120px;gap:10px;align-items:center;padding:11px 13px;border-radius:12px;background:#f6f8fb}.rc-live-leader-row.rank-1{background:#fff8dd;border:1px solid #f5dd7d}.rc-live-leader-row.rank-2{background:#f5f7fa}.rc-live-leader-row.rank-3{background:#fff4ec}.rc-live-rank{font-weight:900;text-align:center}.rc-live-leader-row>span:nth-of-type(2){color:#6d7786;font-size:13px}.rc-live-leader-row>b{text-align:right;color:#274fc5}.rc-live-finished-stage{text-align:center;padding-block:48px}.rc-live-trophy{font-size:88px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.2))}.rc-live-finished-stage h2{font-size:clamp(34px,5vw,62px);color:#fff;margin:8px 0}.rc-live-finished-stage p{font-size:18px;color:#dce6ff}.rc-live-finish-stats{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}.rc-live-finish-stats>div{display:grid;min-width:150px;padding:15px;border-radius:16px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2)}.rc-live-finish-stats strong{font-size:30px}.rc-live-finish-stats span{color:#dbe5ff;font-size:13px}.rc-live-finished-actions{justify-content:center;margin:20px 0 6px}

.pupil-live-page .rc-main-container{width:min(1180px,96vw);max-width:1180px}.rc-live-pupil-shell{margin:4px auto 24px}.rc-live-pupil-header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;border-radius:20px 20px 0 0;background:#112f63;color:#fff}.rc-live-pupil-header h1{margin:4px 0;font-size:clamp(23px,4vw,34px);color:#fff}.rc-live-pupil-header p{margin:0;color:#dbe6ff}.rc-live-pupil-score{display:grid;text-align:center;min-width:150px;border-radius:14px;background:rgba(255,255,255,.12);padding:9px 15px}.rc-live-pupil-score span,.rc-live-pupil-score small{font-size:11px;color:#dce7ff}.rc-live-pupil-score strong{font-size:28px}.rc-live-pupil-stage{min-height:550px;display:grid;place-items:center;padding:25px;border-radius:0 0 20px 20px;background:linear-gradient(145deg,#234bd0,#6d45d9);box-shadow:0 22px 50px rgba(23,48,116,.18);position:relative;overflow:hidden}.rc-live-pupil-stage:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:90px solid rgba(255,255,255,.045);right:-140px;bottom:-190px}.rc-live-loading,.rc-live-pupil-wait,.rc-live-pupil-locked,.rc-live-pupil-reveal,.rc-live-pupil-finished,.rc-live-pupil-question{position:relative;z-index:1;width:min(900px,100%);text-align:center;color:#fff}.rc-live-loading{display:grid;gap:8px}.rc-live-loading span{font-size:70px}.rc-live-pupil-wait h2,.rc-live-pupil-locked h2,.rc-live-pupil-reveal h2,.rc-live-pupil-finished h2{font-size:clamp(30px,6vw,54px);color:#fff;margin:8px auto 10px;line-height:1.08}.rc-live-pupil-wait p,.rc-live-pupil-locked p,.rc-live-pupil-reveal>p,.rc-live-pupil-finished>p{font-size:17px;color:#e5edff}.rc-live-wait-dots{display:flex;justify-content:center;gap:8px;margin-top:26px}.rc-live-wait-dots i{display:block;width:12px;height:12px;background:#fff;border-radius:50%;animation:rcLiveDots 1.2s ease-in-out infinite}.rc-live-wait-dots i:nth-child(2){animation-delay:.15s}.rc-live-wait-dots i:nth-child(3){animation-delay:.3s}.rc-live-pupil-question{text-align:left}.rc-live-question-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.rc-live-question-meta>span{font-weight:800}.rc-live-pupil-timer{display:grid;place-items:center;min-width:74px;height:54px;border-radius:14px;background:#fff;color:#1d3566;font-size:20px}.rc-live-pupil-timer.is-warning{background:#ffdf58;color:#513a00;animation:rcLivePulse .75s infinite}.rc-live-pupil-timer.is-expired{background:#ff6b6b;color:#fff}.rc-live-pupil-question>h2{font-size:clamp(28px,5vw,48px);line-height:1.1;color:#fff;margin:0 0 10px;text-align:center}.rc-live-no-speed{text-align:center;color:#dce7ff;margin:0 0 22px}.rc-live-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rc-live-answer-choice{min-height:92px;border:0;border-radius:17px;padding:16px 18px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;font:inherit;font-weight:800;font-size:18px;cursor:pointer;box-shadow:0 10px 24px rgba(10,25,65,.22);transition:transform .12s ease,filter .12s ease;border:3px solid rgba(255,255,255,.15)}button.rc-live-answer-choice:hover,.rc-live-answer-choice:has(input:checked){transform:translateY(-2px);filter:brightness(1.08);border-color:#fff}.rc-live-answer-choice.choice-1{background:#e44754}.rc-live-answer-choice.choice-2{background:#2d6acb}.rc-live-answer-choice.choice-3{background:#c18b13}.rc-live-answer-choice.choice-4{background:#2f985f}.rc-live-answer-choice input{position:absolute;opacity:0;pointer-events:none}.rc-live-answer-form>.btn{display:block;margin:16px auto 0;min-width:210px;font-size:17px}.rc-live-short-answer{display:block;width:min(620px,100%);margin:24px auto 0;padding:17px 20px;border:3px solid rgba(255,255,255,.45);border-radius:15px;background:#fff;color:#182132;font:inherit;font-size:19px;box-sizing:border-box}.rc-live-answer-error{min-height:24px;text-align:center;color:#ffe19a;font-weight:700;margin-top:10px}.rc-live-pupil-stage.is-busy{pointer-events:none}.rc-live-pupil-stage.is-busy:after{content:"Saving…";position:absolute;z-index:4;inset:auto 20px 20px auto;background:#fff;color:#243c70;padding:8px 12px;border-radius:10px;font-weight:800}.rc-live-lock-icon,.rc-live-reveal-icon{display:grid;place-items:center;width:100px;height:100px;border-radius:50%;margin:0 auto 15px;background:#fff;color:#234ab8;font-size:54px;font-weight:900;box-shadow:0 14px 30px rgba(0,0,0,.17)}.rc-live-pupil-reveal.is-correct .rc-live-reveal-icon{color:#16945e}.rc-live-pupil-reveal.is-wrong .rc-live-reveal-icon{color:#c54d5b}.rc-live-correct-answer{display:grid;gap:3px;width:min(650px,100%);margin:18px auto;padding:15px;border-radius:15px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.23)}.rc-live-correct-answer span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#dfe8ff}.rc-live-correct-answer strong{font-size:24px}.rc-live-explanation{max-width:700px;margin:10px auto!important}.rc-live-mini-stats,.rc-live-pupil-final-stats{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:20px auto}.rc-live-mini-stats span,.rc-live-pupil-final-stats>div{min-width:145px;display:grid;padding:11px 14px;border-radius:13px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.19)}.rc-live-mini-stats b,.rc-live-pupil-final-stats strong{font-size:26px}.rc-live-pupil-final-stats span{color:#dfe9ff;font-size:12px}.rc-live-pupil-board{width:min(650px,100%);margin:18px auto 0;padding:14px;border-radius:16px;background:rgba(7,25,70,.2);border:1px solid rgba(255,255,255,.16)}.rc-live-pupil-rank{display:grid;grid-template-columns:45px 1fr 90px;gap:8px;align-items:center;text-align:left;padding:8px;border-top:1px solid rgba(255,255,255,.13)}.rc-live-pupil-rank:first-of-type{margin-top:6px}.rc-live-pupil-rank b{text-align:right}.rc-live-wait-next{font-size:13px!important}.rc-live-pupil-finished .btn{margin-top:10px}.rc-live-pupil-foot{display:flex;justify-content:space-between;gap:12px;padding:11px 5px;font-size:12px;color:#707b89}.rc-live-pupil-empty{text-align:center;margin:30px auto;padding:50px 24px;border-radius:22px;background:linear-gradient(145deg,#eef4ff,#f7f2ff);border:1px solid #dfe5f3}.rc-live-pupil-empty .rc-live-lightning{font-size:78px}.rc-live-pupil-empty h1{font-size:38px;margin:8px 0}.rc-live-pupil-empty p{max-width:650px;margin:0 auto 22px;color:#657080}
.rc-live-dashboard-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0 22px;padding:19px 20px;border-radius:18px;background:linear-gradient(120deg,#182f68,#3a5adf 58%,#7547dc);color:#fff;text-decoration:none;box-shadow:0 16px 34px rgba(41,64,145,.2)}.rc-live-dashboard-card:hover{transform:translateY(-1px)}.rc-live-dashboard-card>span:first-child{font-size:36px}.rc-live-dashboard-card .body{display:grid;gap:2px;flex:1}.rc-live-dashboard-card small{color:#dce7ff}.rc-live-dashboard-card strong{font-size:20px;color:#fff}.rc-live-dashboard-card>span:last-child{font-weight:900}.rc-live-nav{position:relative}.rc-live-nav:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#ffcf34;right:3px;top:3px;box-shadow:0 0 0 3px rgba(255,207,52,.18)}
.rc-live-confetti-layer{position:fixed;z-index:99999;pointer-events:none;inset:0;overflow:hidden}.rc-live-confetti-layer i{position:absolute;top:-30px;width:10px;height:18px;border-radius:2px;background:#ffd83d;animation:rcLiveConfetti linear forwards}.rc-live-confetti-layer i:nth-child(3n){background:#45d99a}.rc-live-confetti-layer i:nth-child(3n+1){background:#ff6b77}.rc-live-confetti-layer i:nth-child(4n){background:#6c61e8}
@keyframes rcLivePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes rcLiveDots{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(-8px);opacity:1}}@keyframes rcLiveConfetti{0%{transform:translateY(-20px) rotate(0deg);opacity:1}100%{transform:translateY(105vh) rotate(calc(360deg * var(--rc-live-spin,2)));opacity:.8}}
@media(max-width:1000px){.rc-live-hero{grid-template-columns:1fr}.rc-live-hero-badge{display:none}.rc-live-form-grid{grid-template-columns:1fr}.rc-live-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rc-live-lobby-stage{grid-template-columns:1fr}.rc-live-roster-card{min-height:auto}.rc-live-question-top{grid-template-columns:1fr auto 1fr}.rc-live-leader-row{grid-template-columns:45px minmax(0,1fr) 85px}.rc-live-leader-row>b{grid-column:2/4}.rc-live-reveal-summary{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.rc-live-hero{padding:23px}.rc-live-settings-grid{grid-template-columns:1fr}.rc-live-control-header{align-items:flex-start;flex-direction:column}.rc-live-control-tools{justify-content:flex-start}.rc-live-stage{padding:22px 16px;border-radius:18px}.rc-live-question-top{grid-template-columns:1fr auto}.rc-live-question-top>span:last-child{grid-column:1/-1;text-align:center}.rc-live-teacher-options,.rc-live-answer-grid{grid-template-columns:1fr}.rc-live-teacher-option,.rc-live-answer-choice{min-height:74px}.rc-live-reveal-summary{grid-template-columns:1fr}.rc-live-pupil-header{align-items:flex-start}.rc-live-pupil-score{min-width:110px}.rc-live-pupil-stage{min-height:520px;padding:20px 12px}.rc-live-pupil-foot{flex-direction:column}.rc-live-dashboard-card{align-items:flex-start}.rc-live-history-row{grid-template-columns:12px 1fr 16px}.rc-live-history-metrics{grid-column:2/3;text-align:left}}
@media(prefers-reduced-motion:reduce){.rc-live-lightning.pulse,.rc-live-timer.is-warning,.rc-live-wait-dots i,.rc-live-confetti-layer i{animation:none!important}.rc-live-primary,.rc-live-dashboard-card{transition:none!important}}
.rc-live-progress-list{display:grid}.rc-live-progress-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto 18px;gap:12px;align-items:center;padding:13px 5px;border-top:1px solid #edf0f5;color:inherit;text-decoration:none}.rc-live-progress-row:first-child{border-top:0}.rc-live-progress-row:hover{background:#fafbff}.rc-live-progress-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#e8efff,#eee7ff);font-size:20px}.rc-live-progress-row .body{display:grid;gap:2px}.rc-live-progress-row small{color:#687384}.rc-live-progress-row .metrics{display:grid;text-align:right;gap:2px}.rc-live-progress-row .metrics b{font-size:12px;color:#667085}.rc-live-progress-row .metrics strong{color:#274fc5}@media(max-width:680px){.rc-live-progress-row{grid-template-columns:42px 1fr 18px}.rc-live-progress-row .metrics{grid-column:2/3;text-align:left}}
@media all and (display-mode:fullscreen){body.teacher-live-control-page .topbar,body.teacher-live-control-page .rewardclass-conversion-strip,body.teacher-live-control-page .rewardclass-site-footer{display:none!important}}
html:fullscreen body.teacher-live-control-page .topbar,html:fullscreen body.teacher-live-control-page .rewardclass-conversion-strip,html:fullscreen body.teacher-live-control-page .rewardclass-site-footer{display:none!important}html:fullscreen body.teacher-live-control-page .rc-main-container{width:100vw!important;max-width:none!important;margin:0!important;padding:18px 24px!important}html:fullscreen body.teacher-live-control-page .rc-live-control-shell{min-height:calc(100vh - 36px)}

/* v0.50.0 · Challenge modes */
.rc-live-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:2px 0 22px}.rc-live-mode-card{position:relative;display:flex;gap:13px;align-items:flex-start;padding:17px;border:2px solid #e3e8f2;border-radius:17px;background:#fff;cursor:pointer;transition:.15s ease}.rc-live-mode-card:hover{border-color:#bfc9ed;transform:translateY(-1px)}.rc-live-mode-card:has(input:checked){border-color:#5b56dc;background:linear-gradient(145deg,#f8f7ff,#f3f6ff);box-shadow:0 10px 24px rgba(71,70,190,.10)}.rc-live-mode-card:has(input:disabled){opacity:.5;cursor:not-allowed;transform:none}.rc-live-mode-card input{position:absolute;right:13px;top:13px}.rc-live-mode-card .icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#eef2ff;font-size:21px}.rc-live-mode-card>span:last-child{display:grid;gap:3px;padding-right:15px}.rc-live-mode-card strong{font-size:16px}.rc-live-mode-card small{line-height:1.45;color:#677386}.rc-live-schedule-panel{margin:16px 0;padding:18px;border:1px solid #dfe5f1;border-radius:17px;background:linear-gradient(145deg,#fbfcff,#f7f8ff)}.rc-live-schedule-panel h3{margin:4px 0 8px}.rc-live-schedule-panel[hidden],.rc-live-hosted-timer[hidden]{display:none!important}.rc-live-settings-grid.is-three{grid-template-columns:repeat(3,minmax(160px,1fr))}.rc-live-settings-grid.is-two{grid-template-columns:repeat(2,minmax(220px,1fr))}.rc-live-auto-note{display:inline-flex;align-items:center;min-height:44px;padding:0 15px;border-radius:12px;background:#ecf9f3;border:1px solid #c6ead9;color:#126447;font-weight:800}.rc-live-auto-countdown{display:grid;gap:3px;margin-top:22px;padding:15px 19px;border-radius:16px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.23)}.rc-live-auto-countdown span{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#dce7ff}.rc-live-auto-countdown strong{font-size:clamp(30px,4vw,48px);font-variant-numeric:tabular-nums}.rc-live-window-stage{min-height:390px;display:grid;align-content:center}.rc-live-window-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:24px}.rc-live-window-head h2{font-size:clamp(30px,4vw,50px);line-height:1.08;color:#fff;margin:7px 0 12px}.rc-live-window-head p{font-size:17px;color:#e1eaff;max-width:780px}.rc-live-window-clock{display:grid;min-width:210px;text-align:center;padding:18px;border-radius:18px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.23)}.rc-live-window-clock span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#dce7ff}.rc-live-window-clock strong{font-size:36px;font-variant-numeric:tabular-nums}.rc-live-window-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin-top:30px}.rc-live-window-stats>div{display:grid;gap:2px;padding:17px;border-radius:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);text-align:center}.rc-live-window-stats strong{font-size:34px}.rc-live-window-stats span{font-size:12px;color:#dce7ff;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:900px){.rc-live-mode-grid{grid-template-columns:1fr}.rc-live-window-head{align-items:flex-start;flex-direction:column}.rc-live-window-clock{min-width:0;width:100%;box-sizing:border-box}.rc-live-window-stats{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:680px){.rc-live-settings-grid.is-three,.rc-live-settings-grid.is-two{grid-template-columns:1fr}.rc-live-window-stats{grid-template-columns:1fr 1fr}.rc-live-mode-card{padding:15px}}

/* v0.50.1 · pupil Challenge nav + scheduling polish */
.pupil-app .rc-main-nav{gap:2px}
.pupil-app .rc-main-nav>a{padding-left:8px;padding-right:8px}
.pupil-app .rc-help-nav .rc-help-label{display:none}
.pupil-app .rc-help-nav{padding-left:6px!important;padding-right:6px!important}
@media(max-width:760px){.pupil-app .rc-main-nav>a{padding-left:7px;padding-right:7px}.pupil-app .rc-points-pill{padding-left:8px;padding-right:8px}}

/* v0.53.3 — Challenge content browser: compact dark strip cards + aligned toolbar. */
.rc-live-class-field{grid-column:1/-1;max-width:430px}
.rc-live-resource-field{grid-column:1/-1}
.rc-challenge-picker{border:1px solid #dfe5ee;border-radius:18px;background:#fff;overflow:hidden;margin-top:6px}
.rc-challenge-picker-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid #e7ebf1;background:linear-gradient(180deg,#fff,#fbfcff)}
.rc-challenge-picker-head>div{display:grid;gap:3px;min-width:0}.rc-challenge-picker-head .eyebrow{font-size:10px}.rc-challenge-picker-head strong{font-size:18px;line-height:1.2;color:#17233b}.rc-challenge-picker-head small{font-size:12px;color:#667085}.rc-challenge-picker-head .btn{flex:0 0 auto}
.rc-challenge-toolbar{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(105px,.65fr) minmax(135px,1fr) minmax(150px,1.1fr) minmax(145px,1.05fr) max-content;align-items:center;gap:10px;padding:12px 16px;background:#f6f8fb;border-bottom:1px solid #e7ebf1;width:100%;box-sizing:border-box}
.rc-challenge-toolbar .sr-only{display:none!important}
.rc-challenge-search{position:relative;display:flex;align-items:center;min-width:0}.rc-challenge-search input{width:100%;height:40px;border:1px solid #d6dce6;border-radius:10px;background:#fff;padding:0 76px 0 36px;font:inherit;font-size:13px}.rc-challenge-search input:focus,.rc-challenge-toolbar-filter select:focus{outline:none;border-color:#6d5dfc;box-shadow:0 0 0 3px rgba(109,93,252,.10)}.rc-challenge-search .rc-library-search-icon{position:absolute;left:11px;font-size:17px;line-height:1;color:#667085;pointer-events:none}.rc-challenge-search .rc-library-search-status{position:absolute;right:10px;font-size:10px;font-weight:800;color:#7b8494;white-space:nowrap}
.rc-challenge-toolbar-filter{min-width:0}.rc-challenge-toolbar-filter select{width:100%;height:40px;border:1px solid #d6dce6;border-radius:10px;background:#fff;padding:0 28px 0 10px;font:inherit;font-size:12px;color:#25324a}.rc-challenge-toolbar-filter select:disabled{background:#eef1f5;color:#98a2b3;cursor:not-allowed}.rc-challenge-toolbar .rc-library-clear{font-size:11px;font-weight:900;white-space:nowrap;text-decoration:none;padding:8px 2px}
.rc-challenge-selected{display:flex;align-items:center;gap:10px;border:1px solid #b9e6d3;background:#f0fbf7;border-radius:12px;padding:9px 12px;margin:12px 14px 0}.rc-challenge-selected[hidden]{display:none}.rc-challenge-selected-check{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#1b9c6b;color:#fff;font-weight:900}.rc-challenge-selected .body{display:grid;gap:1px;min-width:0;flex:1}.rc-challenge-selected .body small{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#37735f}.rc-challenge-selected .body strong,.rc-challenge-selected .body span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-challenge-selected .body span{font-size:12px;color:#587267}
.rc-challenge-result-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#667085;font-size:11px;padding:12px 15px 8px}.rc-challenge-result-bar strong{color:#25324a}
.rc-challenge-source-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 14px 14px}.rc-challenge-source-card{display:flex;flex-direction:column;min-width:0;border:1px solid #dfe5ee;border-radius:14px;background:#fff;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.rc-challenge-source-card:hover,.rc-challenge-source-card:focus{outline:none;border-color:#b7c2d3;box-shadow:0 8px 20px rgba(15,23,42,.08);transform:translateY(-1px)}.rc-challenge-source-card.is-selected{border-color:#6d5dfc;box-shadow:0 0 0 2px rgba(109,93,252,.12)}
.rc-challenge-source-thumb{position:relative;display:flex;align-items:center;overflow:hidden;width:100%;height:42px;background:#173b67!important;color:#fff;border-bottom:1px solid #123252}.rc-challenge-source-thumb img,.rc-challenge-source-thumb>span{display:none}.rc-challenge-source-thumb small{position:absolute;left:10px;top:50%;z-index:2;transform:translateY(-50%);padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:9px;font-weight:900;box-shadow:none}.rc-challenge-source-thumb>.rc-challenge-used-badge{display:inline-flex;position:absolute;right:10px;top:50%;z-index:3;transform:translateY(-50%);font-size:9px}.rc-challenge-bank-note{margin:0 14px 12px}.rc-challenge-used-meta{font-weight:700;color:#5f6b7c}
.rc-challenge-source-body{display:flex;flex:1;flex-direction:column;gap:7px;min-width:0;padding:11px 11px 10px}.rc-challenge-source-card-head{display:flex;align-items:center;justify-content:space-between;gap:5px;flex-wrap:wrap}.rc-challenge-source-card-head .subject-pill,.rc-challenge-source-card-head .badge{font-size:9px}.rc-challenge-source-title{font-size:14px;line-height:1.25;color:#17233b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:35px}.rc-challenge-source-meta{display:flex;flex-wrap:wrap;gap:4px 7px;color:#667085;font-size:10px;line-height:1.25}.rc-challenge-source-meta span+span:before{content:'·';margin-right:7px;color:#b0b8c4}.rc-challenge-source-body>small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rc-challenge-source-card-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:auto;padding-top:3px;border-top:1px solid #eef1f5}.rc-challenge-source-card-actions .btn.small{padding:5px 8px;min-height:29px;font-size:10px}.rc-challenge-source-card-actions .link-button{font-size:10px}.rc-challenge-no-results{display:grid;gap:3px;margin:0 14px 14px;padding:22px;border:1px dashed #cbd5e1;border-radius:12px;background:#fafbfc;color:#475569;text-align:center}.rc-challenge-no-results strong{color:#25324a}.rc-challenge-picker .rc-pagination{margin:0;padding:0 14px 14px}.rc-live-resource-field>.help{margin-top:8px}.rc-live-source-actions{margin-top:10px}
@media(max-width:1280px){.rc-challenge-source-results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1040px){.rc-challenge-source-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.rc-challenge-picker-head{align-items:flex-start;flex-direction:column}.rc-challenge-toolbar{grid-template-columns:1fr 1fr}.rc-challenge-search{grid-column:1/-1}.rc-challenge-toolbar .rc-library-clear{justify-self:start}.rc-challenge-source-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.rc-challenge-toolbar{grid-template-columns:1fr}.rc-challenge-search{grid-column:auto}.rc-challenge-source-results{grid-template-columns:1fr}.rc-challenge-picker-head{padding:15px}.rc-challenge-picker-head .btn{width:100%;text-align:center}.rc-challenge-selected{margin:10px 10px 0}.rc-challenge-result-bar{padding-left:11px;padding-right:11px}.rc-challenge-source-results{padding-left:10px;padding-right:10px}.rc-challenge-picker .rc-pagination{padding-left:10px;padding-right:10px}}


/* v0.55.4 Platform Owner whole-site country preview */
.rc-site-preview-switch{display:flex;align-items:center;gap:6px;margin:0;padding:0 6px;border-left:1px solid #e5e9ef;border-right:1px solid #e5e9ef}
.rc-site-preview-switch label{font-size:11px;font-weight:800;color:#526173;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.rc-site-preview-switch select{max-width:150px;padding:6px 26px 6px 8px;border:1px solid #ccd5df;border-radius:8px;background:#fff;font:inherit;font-size:12px;font-weight:700;color:#213047}
.rc-site-preview-banner{display:flex;align-items:center;justify-content:center;gap:22px;padding:8px 18px;background:#fff4cc;border-bottom:1px solid #e8cf70;color:#473900;font-size:13px;line-height:1.35}
.rc-site-preview-banner>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.rc-site-preview-banner strong{font-weight:800}.rc-site-preview-banner span{color:#665516}
.rc-site-preview-banner form{margin:0}.rc-site-preview-banner button{border:0;background:transparent;color:#5a4500;font-weight:800;text-decoration:underline;cursor:pointer;padding:2px 4px}
@media(max-width:900px){.rc-site-preview-switch label{display:none}.rc-site-preview-switch select{max-width:115px}.rc-site-preview-banner{justify-content:space-between}}
@media(max-width:640px){.rc-site-preview-switch{order:5;width:100%;justify-content:flex-end;border:0;padding:4px 0}.rc-site-preview-switch label{display:block}.rc-site-preview-switch select{max-width:180px}.rc-site-preview-banner{align-items:flex-start;gap:8px;flex-direction:column}}

/* v0.64.0 – staff login choice is visual; permissions are enforced server-side. */
.rc-login-role-nav{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 20px}
.rc-login-role-nav a{border:1px solid #ccdcea;border-radius:999px;padding:9px 16px;color:#244c72;text-decoration:none;background:#f7fbff;font-weight:700;font-size:14px}
.rc-login-role-nav a.is-selected,.rc-login-role-nav a:hover{background:#d9edfc;border-color:#7daed3;color:#123c65}

/* v0.65.0 — dedicated Platform Owner chrome and read-only marketing preview. */
.platform-app .rc-teacher-primary-nav{gap:10px;flex-wrap:wrap;}
.platform-app .teacher-product-tag{background:#e4eefa;color:#1b4876;}
.platform-app .rc-platform-header-top{background:linear-gradient(110deg,#edf4ff,#fff);}
.rc-platform-preview-banner{padding:12px 20px;background:#fff3d2;color:#553e12;border-bottom:2px solid #edcc7a;text-align:center;font-size:14px;}
.rc-platform-preview-banner a{font-weight:700;margin-left:8px;color:#164c7d;}

.platform-app .rc-main-header{display:block;padding:0;overflow:visible;background:#fff;box-shadow:none;border-bottom:1px solid #dbe4f2;}
.platform-app .rc-teacher-header-top{min-height:62px;width:min(1220px,94vw);padding:0;gap:20px;}
.platform-app .rc-main-container{width:min(1180px,94vw);margin-top:24px;}
.platform-app .rc-platform-header-top .rc-header-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
@media(max-width:900px){.platform-app .rc-teacher-header-top{width:calc(100% - 24px);flex-wrap:wrap;padding:10px 0}.platform-app .rc-main-container{width:calc(100% - 24px)}.platform-app .rc-teacher-primary-nav{flex-wrap:nowrap;overflow-x:auto}}

/* v0.66.0 — restored classic Platform Admin tools + additional management sections */
.rc-owner-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 22px}
.rc-owner-tools-section{min-width:0;margin:0!important}.rc-owner-tools-section h2{margin:5px 0 8px}.rc-owner-tools-section p{margin:0 0 14px}
.rc-owner-tools-section .actions{display:flex;flex-wrap:wrap;gap:8px}.rc-owner-tools-section .actions .btn{white-space:normal;font-size:12px;padding:8px 12px}
.rc-teacher-preview-nav{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.rc-teacher-preview-nav a{padding:10px 14px;background:#f7fbff;border:1px solid #d6e1ef;border-radius:9px;text-decoration:none;font-weight:700;color:#26476b}
.rc-teacher-preview-nav a.is-active{background:#254f82;color:#fff;border-color:#254f82}
.rc-teacher-preview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 22px}
.rc-teacher-preview-metrics>div{padding:17px 16px;border:1px solid #dfe6f0;background:#fff;border-radius:12px}
.rc-teacher-preview-metrics small{display:block;color:#63748a;font-weight:650}.rc-teacher-preview-metrics strong{display:block;font-size:26px;margin-top:5px;color:#15375c}
.rc-teacher-preview-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:15px 0}
.rc-teacher-preview-panel{padding:18px;border:1px solid #dce5ef;border-radius:14px;background:#fff}
.rc-teacher-preview-panel ul{padding-left:22px;margin:8px 0 0}.rc-teacher-preview-panel li{margin:7px 0}
.rc-teacher-preview-notice{padding:12px 16px;border-left:4px solid #deab4b;background:#fff8e9;margin:10px 0 18px;border-radius:7px}
@media(max-width:900px){.rc-owner-tools-grid,.rc-teacher-preview-two{grid-template-columns:1fr}.rc-teacher-preview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.rc-teacher-preview-metrics{grid-template-columns:1fr}}
