.collection-bar{display:flex;gap:22px;align-items:center;padding:20px 24px;background:white;border:1px solid #e1e4f0;border-radius:18px;margin-bottom:20px}.collection-bar label{min-width:230px;font-size:11px;color:#626782}.collection-bar select{width:100%;margin:8px 0 0;border-color:#dfe2ef;background:#f9faff}.collection-bar>div{flex:1}.collection-bar strong{font-size:14px}.collection-bar p{margin:6px 0 0;line-height:1.5}.collection-bar button{font-size:12px;white-space:nowrap}.coverage-notice{padding:16px 20px;border:1px solid #ead7b7;border-radius:12px;background:#fff8e9;color:#6c532f;font-size:12px;line-height:1.7}.coverage-notice button{font-size:11px;padding:5px 10px;margin-left:8px;background:white}.card .day-label{font-size:10px;letter-spacing:.3px;margin-top:15px;color:#6662a6}.card .day-label+h3{margin-top:8px}.card .pending-label{font-size:11px;color:#896028;margin-top:12px}.card .notes-link{background:transparent;border:0;justify-content:center;font-size:12px;margin-top:7px}.card .notes-link:hover{color:#4949b8;background:#f6f6ff}.review-intro{margin:36px 0;max-width:850px}.review-intro h1{font-size:44px}.review-subject{padding:30px;background:white;border:1px solid #e1e4f0;border-radius:20px;margin:22px 0}.review-subject h2{margin:8px 0 18px}.review-subject h3{font-size:17px;margin:28px 0 14px}.topic-tags{display:flex;gap:8px;flex-wrap:wrap}.topic-tags span{background:#eeeefe;border-radius:100px;padding:7px 12px;font-size:11px;color:#5555a5}.lesson-note{padding-left:18px;border-left:3px solid #d3d2f5;font-size:15px;line-height:1.85}.source-list{padding-left:20px}.source-list li{margin:18px 0}.source-list a,.feedback a,.review a{color:#4848b7;text-decoration:underline;text-underline-offset:3px}.source-list span{display:block;font-size:12px;color:#666c86;margin-top:5px}.source-list p{font-size:11px;color:#6b7089;margin-top:4px}.paper{max-width:850px;margin:auto;background:white;padding:28px;border-radius:16px}.paper h1{font-size:34px}.paper-question{margin:24px 0;line-height:1.7}.paper-question ol{padding-left:30px}.paper-key{background:#edf5e9;padding:12px;font-size:13px}.paper .row input{width:auto;display:inline;margin:0 7px 0 0}.paper .row label{display:flex;align-items:center}@media(max-width:760px){.collection-bar{align-items:start;flex-direction:column;gap:15px;padding:20px}.collection-bar label{width:100%;min-width:0}.collection-bar button{width:100%}.review-subject{padding:22px}.review-intro h1{font-size:34px}.paper{padding:20px}}@media print{.collection-bar,.coverage-notice button,.paper>.row{display:none!important}.review-subject{border:0;padding:0;break-before:page}.review-subject:first-of-type{break-before:auto}.paper{padding:0;max-width:none}.paper-question{break-inside:avoid}.source-list a{color:#000}.source-list a::after{content:' (' attr(href) ')';font-size:9px;overflow-wrap:anywhere}.source-list li{break-inside:avoid}.topic-tags span{border:1px solid #ddd}}
.grade-summary{display:flex;align-items:center;gap:16px;padding:18px 24px;background:#eaeafa;border:1px solid #dfdff4;border-radius:16px}.grade-summary h1{font-size:24px;letter-spacing:-.6px;margin:0;line-height:1.3}.grade-summary span{font-size:13px;color:#5d6083;border-left:1px solid #cccce8;padding-left:16px}
.settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.settings-heading{grid-column:1/-1}.settings label{min-width:0}.settings input,.settings select{width:100%;min-width:0}.grade-summary{margin-bottom:20px}.nav-notes{display:inline-flex;align-items:center;padding:12px 18px;border-radius:100px;font-size:13px;font-weight:600;color:#4c4cb7;text-decoration:none}.nav-notes:hover{background:#e9e9fa}.review-intro h1{font-size:34px}@media(max-width:1000px){.settings{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){header{flex-wrap:wrap}nav{flex-wrap:wrap}.nav-notes{padding:9px 11px;font-size:11px}}@media(max-width:450px){.settings{grid-template-columns:1fr}.nav-notes{flex:1;justify-content:center;font-size:12px}nav button{white-space:nowrap}}@media print{.nav-notes{display:none!important}}
.brand .logo-mark{display:block;flex-shrink:0;border-radius:15px;box-shadow:0 5px 12px #5555cf20}@media(max-width:760px){.brand .logo-mark{width:40px;height:40px}}
.learner-field{min-width:0;align-self:start}.learner-field select{margin:9px 0 0}.learner-field #otherNameField{margin-top:12px}
/* Explicit typography avoids controls inheriting a surrounding label's font. */
.settings label,
.settings .learner-field > label,
.settings .learner-field #otherNameField label {
  font: 600 12px/1.4 'DM Sans', system-ui, sans-serif;
  letter-spacing: normal;
  color: #626782;
}
.settings input,
.settings select,
.settings option {
  font: 400 14px/1.5 'DM Sans', system-ui, sans-serif;
  letter-spacing: normal;
}
.settings input::placeholder {
  font: inherit;
  color: #6b7089;
  opacity: 1;
}.settings{align-items:start}.add-learner-row{grid-column:1/-1;display:flex;align-items:end;gap:16px;padding:18px;background:#f6f6fe;border:1px solid #e1e1f5;border-radius:12px}.add-learner-row[hidden]{display:none}.settings .add-learner-row>label{flex:1;min-width:0}.add-learner-actions{display:flex;gap:8px;flex-wrap:wrap}.add-learner-actions button{font:600 13px/1.5 DM Sans,system-ui,sans-serif;white-space:nowrap;min-height:45px}@media(max-width:550px){.add-learner-row{flex-direction:column;align-items:stretch}.add-learner-actions button{flex:1}}
