.sj-app .sj-assessment { max-width: 940px; margin: 0 auto; padding: 1rem 0 3rem; }
.sj-app .sj-assessment-header { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.sj-app .sj-assessment-header h1 { font-size: clamp(1.65rem, 3vw, 2.45rem); margin: .35rem 0 1rem; }
.sj-app .sj-assessment-progress-text { color: #355045; font-weight: 600; margin: 1.5rem 0 .45rem; }
.sj-app .sj-assessment-progress { width: 100%; height: .65rem; accent-color: #1a694b; border: 0; }
.sj-app .sj-module-steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); padding: 0; list-style: none; gap: .7rem; margin: 1rem 0 1.7rem; }
.sj-app .sj-module-steps li { border-top: 3px solid #d4ddd7; padding: .65rem 0; color: #52635b; }
.sj-app .sj-module-steps li.sj-step-completed { border-color: #1a694b; color: #18583e; }
.sj-app .sj-module-steps strong, .sj-app .sj-module-steps span { display: block; }
.sj-app .sj-module-steps span { font-size: .85rem; margin-top: .2rem; }
.sj-app .sj-status-message { padding: .7rem 0; color: #315847; font-size: .94rem; min-height: 2.8rem; }
.sj-app .sj-status-message.is-error { background: #fff2e8; color: #783318; padding: 1rem; border-left: 3px solid #9c4820; }
.sj-app .sj-question-panel { background: #fff; padding: clamp(1rem,3vw,2.2rem); border: 1px solid #d4ddd7; }
.sj-app .sj-question-title { font-size: clamp(1.3rem,2.6vw,1.85rem); line-height: 1.45; max-width: 42em; margin: .8rem 0 1rem; }
.sj-app .sj-question-title:focus { outline: none; }
.sj-app .sj-answer-options { display: grid; gap: .8rem; margin-top: 1.7rem; }
.sj-app .sj-answer-option { display: flex; gap: 1rem; align-items: center; width: 100%; min-height: 66px; text-align: left; background: #f8faf7; border: 1px solid #b7c6bd; border-radius: 4px; padding: 1rem 1.2rem; color: #192e24; font: inherit; line-height: 1.5; cursor: pointer; }
.sj-app .sj-answer-option:hover { background: #edf4ee; border-color: #326c4f; }
.sj-app .sj-answer-option:focus-visible { outline: 3px solid #18583e; outline-offset: 3px; }
.sj-app .sj-answer-option.is-selected { background: #e0efe4; border: 2px solid #1a694b; padding: calc(1rem - 1px) calc(1.2rem - 1px); }
.sj-app .sj-answer-option[disabled] { cursor: progress; opacity: .8; }
.sj-app .sj-answer-letter { border: 1px solid #a6b9ad; width: 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 2rem; font-weight: 700; font-size: .85rem; }
.sj-app .sj-assessment-tools { margin-top: 1.5rem; }
.sj-app .sj-assessment-footer { margin-top: 1.7rem; display: flex; gap: 1rem; justify-content: space-between; flex-wrap: wrap; font-size: .9rem; }
.sj-app .sj-help-dialog { max-width: 620px; width: calc(100% - 2rem); max-height: 85vh; padding: 2rem; border: 1px solid #647d6e; color: #192e24; }
.sj-app .sj-help-dialog::backdrop { background: rgb(16 38 26 / 55%); }
.sj-app .sj-report-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.4rem; }
.sj-app .sj-report-group { padding: 1.2rem 0; border-bottom: 1px solid #cbd8cf; break-inside: avoid; }
.sj-app .sj-report-group h3 { margin: 0 0 .4rem; font-size: 1.1rem; }
.sj-app .sj-report-group meter { display: block; width: 100%; height: 1.1rem; accent-color: #236944; }
.sj-app .sj-evidence-state { font-size: .83rem; color: #52635b; }
.sj-app .sj-report-section { margin: 2rem 0; padding-top: 1.4rem; border-top: 1px solid #cbd8cf; }
.sj-app .sj-learning-topic { margin: 1.2rem 0; padding: 1rem 1.2rem; background: #eef4ec; border-left: 3px solid #286b4c; }
.sj-app .sj-learning-topic h3 { margin-top: 0; }
.sj-app .sj-occupation-card { margin: 1.4rem 0; padding-bottom: 1.3rem; border-bottom: 1px solid #ccd8d0; }
.sj-app .sj-catalog-item { margin: 1rem 0; padding: 1rem; background: #f7f9f5; border-left: 3px solid #b7cbbd; }
.sj-app .sj-option-editor { padding: 1rem; margin: 1rem 0; border: 1px solid #cad6cd; }
.sj-app .sj-catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin: 1rem 0; }
.sj-app .sj-compact-note { font-size: .88rem; color: #4e6255; }
@media (max-width: 640px) {
 .sj-app .sj-assessment-header { align-items: flex-start; flex-direction: column; gap: .3rem; }
 .sj-app .sj-module-steps { gap: .35rem; }
 .sj-app .sj-module-steps strong { font-size: .8rem; }
 .sj-app .sj-module-steps span { font-size: .72rem; }
 .sj-app .sj-answer-option { padding: .85rem; gap: .7rem; }
 .sj-app .sj-report-grid { grid-template-columns: 1fr; }
 .sj-app .sj-help-dialog { padding: 1.2rem; }
}
@media print {
 .sj-app .sj-assessment-tools, .sj-app .sj-assessment-footer { display: none; }
 .sj-app .sj-report-grid { display: block; }
}
