/* Additions use the original palette, type, spacing and components. */
[hidden] { display: none !important; }
.brand-school { display: inline-flex; align-items: center; gap: 8px; letter-spacing: .03em; }
.brand-school img { object-fit: contain; filter: grayscale(1) sepia(1) saturate(3) hue-rotate(325deg); flex-shrink: 0; }
.brand-school small { font-family: var(--sans); font-size: 12px; color: var(--muted); font-weight: 400; letter-spacing: 0; }
.top-in { gap: 18px; }
.nav a { padding-left: 10px; padding-right: 10px; }
.subject-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.subject-links a { font-size: 13px; padding: 5px 13px; border-radius: 8px; color: var(--muted); }
.subject-links .selected { background: var(--paper-2); color: var(--ink); }
.workspace-entry { display: block; min-height: 190px; position: relative; }
.workspace-entry + .workspace-entry { margin-top: 0; }
.workspace-entry em { display: block; color: var(--accent); font: normal 25px var(--serif); margin-bottom: 14px; }
.workspace-entry h2 { font-family: var(--serif); font-size: 20px; }
.workspace-entry p { margin: 9px 0 15px; }
.workspace-entry:hover { border-color: var(--ink); color: var(--ink); }
.submit-progress { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; list-style: none; padding: 0; margin: 0 0 22px; color: var(--muted); font-size: 13px; }
.submit-progress li { border-bottom: 2px solid var(--line-soft); padding: 10px 0; }
.submit-progress li.current { border-color: var(--accent); color: var(--ink); }
.submission-form section + section { margin-top: 25px; }
.submission-form.enhanced section + section { margin-top: 0; }
.material-slot { border: 1px solid var(--line-soft); padding: 18px; border-radius: var(--radius); }
.material-slot .f > span { color: var(--ink); font-size: 15px; font-weight: 600; }
.material-slot input[type=file] { height: auto; padding: 9px; width: 100%; font-size: 12px; }
.material-files { padding-left: 18px; overflow-wrap: anywhere; }
.wizard-actions { border-top: 1px solid var(--line-soft); padding-top: 20px; }
.upload-review td { white-space: normal; overflow-wrap: anywhere; }
.export-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 20px; }
.export-bar [data-export-status] { width: 100%; }
.smart-compose { margin-bottom: 22px; }
.smart-compose .input { width: 100px; }
.pick-controls { display: flex; gap: 8px; align-items: center; }
.pick-controls select { width: 70px; height: 32px; padding: 0 5px; font-size: 12px; }
.question-preview { border-bottom: 1px solid var(--line-soft); padding: 6px 0 12px 32px; }
.question-preview summary { cursor: pointer; font-size: 12px; color: var(--muted); }
.question-preview .stem { padding-top: 12px; }
.question-preview img { max-width: 280px; }
.compose-count { font-size: 13px; color: var(--muted); }
.section-jumps { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.section-jumps a { border: 1px solid var(--line-soft); padding: 8px 14px; border-radius: 8px; font-size: 13px; }
.section-jumps strong { color: var(--accent); }
.evidence-detail { margin-top: 20px; border-top: 1px solid var(--line-soft); padding-top: 18px; }
.evidence-detail summary { cursor: pointer; font-weight: 600; }
.evidence-detail .evidence-item { padding: 16px 0; border-bottom: 1px solid var(--line-soft); }
.evidence-detail p { margin-top: 8px; }
.question-group { scroll-margin-top: 80px; }
.qrow { scroll-margin-top: 75px; }
.matrix-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin-bottom: 16px; }
.matrix-toolbar .f { flex: 1 1 170px; }
.matrix-toolbar .input { width: 100%; }
.matrix-scroll { max-height: 650px; overflow: auto; position: relative; }
.matrix-scroll .heat { width: 100%; }
.matrix-scroll .heat th { position: sticky; top: 0; z-index: 2; background: var(--surface); padding: 8px; min-width: 80px; max-width: 150px; white-space: normal; writing-mode: horizontal-tb; height: auto; text-align: center; }
.matrix-scroll .heat th:first-child,.matrix-scroll .heat td.name:first-child { position: sticky; left: 0; background: var(--surface); z-index: 1; }
.matrix-scroll .heat th:first-child { z-index: 3; }
.matrix-scroll .heat td { height: 34px; }
.matrix-scroll .heat td a { display: block; padding: 5px; }
.matrix-scroll .heat td:not(.name) a:hover { color: inherit; text-decoration: underline; }
.matrix-scroll .heat td.name { min-width: 100px; }
.matrix-note { margin-top: 12px; font-size: 12px; color: var(--muted); }
.summary-compact { margin: 20px 0; }
.summary-compact .section-jumps { margin-bottom: 12px; }
@media(max-width:1100px) { .brand-school small { display:none; } .top-in { gap:12px; } .me { gap:8px; } }
@media(max-width:650px) { .workspace-entry { min-height:175px; padding:18px; } .workspace-entry p { font-size:12px; } .submit-progress { gap:6px; font-size:11px; } .material-slot { padding:13px; } .submission-form .g2 { grid-template-columns:1fr; } .brand-school img { width:24px; height:24px; } .brand-school { gap:5px; } .pick { grid-template-columns:20px 26px minmax(0,1fr); } .pick-controls { grid-column:3; justify-content:space-between; } .section-jumps { gap:6px; } .section-jumps a { padding:7px 9px; } }
@media print { .export-bar,.submit-progress,.wizard-actions { display:none; } }

.login-stage { min-height:100vh; padding:48px 24px; display:grid; place-items:center; }
.login-compact { width:100%; max-width:960px; min-height:540px; grid-template-columns: 42% 58%; border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.login-compact .login-art { padding:40px; justify-content:flex-start; }
.login-compact .login-art .brand { font-size:20px; letter-spacing:.03em; }
.login-compact .login-art h1 { font-size:64px; line-height:1.25; margin:auto 0; letter-spacing:.08em; }
.login-compact .login-box { padding:56px 64px; background:var(--surface); }
.login-compact .login-box h2 { font-size:30px; margin-bottom:12px; }
.login-compact .login-box form { gap:22px; }
.personal-greeting { margin:12px 0 30px; }
.personal-greeting h1 { margin-top:12px; }
.personal-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.personal-links > a { display:grid; grid-template-columns:1fr auto; gap:14px; }
.personal-links .label { grid-column:1 / -1; }
.personal-links h2 { font-family:var(--serif); font-size:22px; }
.personal-links > a:hover { border-color:var(--ink); color:var(--ink); }
.personal-links > .card + .card,.personal-sections > .card + .card,.comparison-cards > .card + .card { margin-top:0; }
.personal-exam { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px; }
.personal-sections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.personal-sections > a { display:flex; flex-direction:column; gap:8px; }
.personal-sections b { font:36px var(--serif); color:var(--accent); }
.personal-sections small,.paper-score small { color:var(--muted); font:14px var(--sans); }
.personal-paper-list > a { padding:20px 0; }
.paper-score { font:24px var(--serif); white-space:nowrap; }
.comparison-summary { display:flex; gap:26px; flex-wrap:wrap; align-items:center; color:var(--muted); font-size:14px; }
.comparison-summary b { color:var(--ink); }
.head > form { max-width:100%; }
.head > form select { max-width:100%; }
.compare-bars { display:flex; flex-direction:column; gap:28px; }
.compare-bars > div { display:grid; grid-template-columns:80px minmax(0,1fr) 65px; align-items:center; gap:16px; }
.compare-bars small { display:block; font-size:12px; color:var(--muted); }
.compare-bars b { font:24px var(--serif); text-align:right; }
.comparison-chapters th:not(:first-child),.comparison-chapters td:not(:first-child) { text-align:center; }
.qstrip.question-stats { grid-template-columns:repeat(auto-fit,minmax(78px,1fr)); gap:8px; }
.question-stats a { padding:10px 4px; display:flex; flex-direction:column; align-items:center; gap:3px; }
.question-stats span { font-size:12px; white-space:nowrap; }
.question-stats small { font-size:11px; }
.question-kpis { gap:20px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.question-kpis small { font:14px var(--sans); color:var(--muted); }
@media(max-width:700px) {
  .login-stage { padding:20px 16px; }
  .login-compact { max-width:460px; min-height:0; grid-template-columns:1fr; }
  .login-compact .login-art { padding:24px; gap:24px; }
  .login-compact .login-art h1 { font-size:34px; line-height:1.2; }
  .login-compact .login-art h1 br { display:none; }
  .login-compact .login-art h1 em { margin-left:8px; }
  .login-compact .login-box { padding:30px 24px; }
  .personal-links { gap:10px; }
  .personal-links > a { padding:14px; gap:10px; }
  .personal-links h2 { font-size:16px; }
  .personal-links > a > span:last-child { display:none; }
  .personal-sections { gap:10px; }
  .personal-sections > a { padding:14px; }
  .personal-sections b { font-size:28px; }
  .personal-exam { padding:20px; flex-wrap:wrap; }
  .personal-paper-list > a { align-items:flex-start; gap:10px; }
  .paper-score { font-size:19px; }
  .comparison-summary { gap:12px 20px; }
}
@media(max-width:480px) {
  .personal-links { grid-template-columns:1fr; }
  .personal-links > a { grid-template-columns:30px 1fr auto; align-items:center; }
  .personal-links .label { grid-column:auto; }
  .personal-links > a > span:last-child { display:block; }
}
