/* Version 30.11: school grading protection, fast report entry and quiet feedback. */
.twa-grading-policy{border:1px solid #d6e4e2;border-radius:16px;padding:16px 18px;margin:22px 0 14px;background:#f8fbfa;display:grid;gap:12px}
.twa-grading-policy legend{font-weight:800;color:#214850;padding:0 7px;font-size:14px}
.twa-grading-policy label{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:13px;border:1px solid #dfebe8;background:#fff;border-radius:12px;padding:15px 14px;cursor:pointer}
.twa-grading-policy label:has(input:checked){border-color:#278a84;background:#f1fbf7;box-shadow:0 0 0 1px #94c9c2}
.twa-grading-policy input{flex:none;margin-top:4px;accent-color:#087673}
.twa-grading-policy strong{display:block;color:#164c51;font-size:13px}
.twa-grading-policy small{display:block;font-size:12px;color:#667c83;font-weight:400;margin-top:4px;line-height:1.55}
#wizard-steps{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
#wizard-steps .wizard-step{font-weight:750;font-size:12px;border-radius:999px;background:#edf3f2;color:#66817e;border:1px solid #e1e9e9;padding:10px 13px}
#wizard-steps .wizard-step.current{background:#dcf5ec;color:#0f605c;border-color:#a8d7ca}
#view-reportwizard .teacher-view-heading{border-radius:18px;overflow:hidden}
.twa-fast-entry,.twa-report-preview{border:1px solid #d7e9e5;border-radius:18px;background:#fff;padding:clamp(16px,3vw,28px);box-shadow:0 12px 38px rgba(6,38,45,.05);margin-bottom:18px}
.twa-fast-header,.twa-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;flex-wrap:wrap;margin-bottom:17px}
.twa-fast-header h3,.twa-preview-head h3{font-size:clamp(17px,2vw,22px);letter-spacing:-.45px;color:#153a48;margin:3px 0 6px}
.twa-fast-header p,.twa-preview-head p{margin:0;color:#698087;font-size:13px;line-height:1.55}
.twa-fast-count{border-radius:99px;padding:8px 12px;background:#e6f5ee;color:#156657;font-weight:850;font-size:12px;white-space:nowrap}
.twa-fast-learner{padding:14px 18px;border-radius:13px;background:linear-gradient(105deg,#0c5c61,#13837c);color:#fff;display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;margin:10px 0 16px}
.twa-fast-learner strong{font-size:17px}.twa-fast-learner small{opacity:.85}
.twa-fast-grid{display:grid;gap:10px}
.twa-fast-score-row{padding:13px 16px;border:1px solid #deebe9;background:#fcfefe;border-radius:14px;display:grid;grid-template-columns:minmax(150px,1fr) minmax(240px,1.45fr);align-items:center;gap:17px}
.twa-fast-score-label strong{display:block;font-size:14px;color:#194753;overflow-wrap:anywhere}
.twa-score-locked,.twa-score-saved{display:inline-flex;font-size:11px;line-height:1.4;margin-top:5px;color:#865322;background:#fff3dd;padding:4px 8px;border-radius:8px}
.twa-score-saved{background:#e7f6ef;color:#196958}
.twa-fast-score-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.twa-fast-score-inputs label{font-size:12px;color:#435f68}
.twa-fast-score-inputs small{font-size:10px;color:#89999e;font-weight:400}
.twa-fast-score-inputs input{height:46px!important;font-size:17px;font-weight:750;color:#153a48;font-variant-numeric:tabular-nums}
.twa-fast-score-inputs input[readonly]{background:#eef3f3;color:#667d7d;cursor:not-allowed}
.twa-fast-score-inputs input:focus{border-color:#047976;box-shadow:0 0 0 3px rgba(13,139,123,.14)}
.twa-fast-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin:22px 0 10px;padding-top:16px;border-top:1px solid #e3eeeb}
.twa-fast-actions button{min-height:45px}
.twa-entry-hint,.twa-fast-status{font-size:12px;color:#667e86;line-height:1.55}
.twa-fast-status{padding:12px 14px;border-radius:10px;background:#eff8f6;border:1px solid #d4e8e3}
.twa-report-paper{background:#fff;color:#162f3c;border:1px solid #d1dfdf;border-radius:12px;overflow:hidden;margin:15px 0;padding:clamp(14px,3vw,27px);box-shadow:0 8px 20px rgba(23,62,67,.04)}
.twa-report-paper-top{display:flex;justify-content:space-between;gap:8px;border-bottom:2px solid #135e62;padding-bottom:14px;margin-bottom:14px;flex-wrap:wrap}
.twa-report-paper-top strong{font-size:17px}.twa-report-paper-top small{color:#6f878c;font-size:12px}
.twa-report-paper h4{text-align:center;margin:8px 0 14px;letter-spacing:1px;font-size:14px}
.twa-report-paper table{width:100%;min-width:350px;font-variant-numeric:tabular-nums}
.twa-report-paper th{background:#edf6f4;color:#285c60}
.twa-report-paper td,.twa-report-paper th{padding:11px 9px}
.twa-meta-fields{padding:18px;border:1px solid #dce8e6;border-radius:13px;background:#fafdfc;display:grid;gap:12px}
.twa-meta-fields h4{margin:0;font-size:15px}
.twa-meta-fields p{margin:0}
.twa-wizard-advice{background:#fff7e8;border:1px solid #f0d9a7;color:#784e13;border-radius:10px;padding:12px 15px;font-size:12px;line-height:1.6}
#wizard-feedback{border-radius:11px;font-weight:600;line-height:1.5;white-space:pre-wrap;margin-top:12px;padding:12px 15px;background:#e5f6ed;color:#175b44;border:1px solid #bedfc9}
#wizard-feedback:empty{display:none}
#wizard-feedback.is-error{background:#fff7ef;border:1px solid #eed5ae;color:#85541c}
.twa-notice-intro{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:24px 28px;background:linear-gradient(120deg,#0d404c,#11736f);color:#fff;border-radius:17px;margin-bottom:20px}
.twa-notice-intro h2{font-size:clamp(20px,2vw,29px);margin:4px 0 7px}.twa-notice-intro p{font-size:13px;line-height:1.6;margin:0;color:#d7f1eb}
.twa-notice-intro-icon{font-size:34px;width:67px;height:67px;display:grid;place-items:center;border-radius:17px;background:#ffffff26}
.twa-notices-feed{display:grid;gap:12px;margin-top:12px}
.twa-notice-card{background:#fff;border:1px solid #dfeae9;border-radius:14px;display:flex;gap:13px;align-items:flex-start;padding:18px;box-shadow:0 8px 22px rgba(11,66,68,.035)}
.twa-notice-mark{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;background:#e5f3ef;color:#117371;font-size:19px}
.twa-notice-body{flex:1;min-width:0}.twa-notice-meta{font-size:11px;letter-spacing:.35px;text-transform:uppercase;font-weight:750;color:#6c918e}
.twa-notice-body h4{font-size:15px;color:#174650;margin:7px 0}.twa-notice-body p{font-size:13px;color:#526c73;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.7}
.twa-notice-empty{text-align:center;background:#f6faf9;border:1px dashed #cbded9;border-radius:14px;padding:34px 20px;color:#58767a}
.twa-notice-empty strong{display:block;color:#185255;font-size:15px;margin-bottom:6px}
@media(max-width:700px){.twa-fast-score-row{grid-template-columns:1fr;gap:9px;padding:12px}.twa-fast-learner{font-size:13px}.twa-fast-actions button{flex:1 1 165px}.twa-notice-intro{padding:20px}.twa-notice-intro-icon{display:none}.twa-notice-card{flex-wrap:wrap}}
@media(max-width:390px){.twa-fast-score-inputs{gap:7px}.twa-fast-score-inputs input{font-size:15px;padding:8px!important}.twa-report-preview select{min-width:0}}

/* Show subject results as readable cards on narrow phones, not a clipped wide table. */
@media(max-width:590px){
 .twa-report-paper .table-wrap{overflow:visible}
 .twa-report-paper table{width:100%;min-width:0;display:block}
 .twa-report-paper thead{display:none}
 .twa-report-paper tbody{display:grid;gap:9px}
 .twa-report-paper tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:10px 12px;border:1px solid #dce9e6;border-radius:10px;background:#f9fcfb}
 .twa-report-paper td{display:block;width:auto;padding:2px 0;border:0;font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
 .twa-report-paper td:first-child{grid-column:1/-1;color:#164a4e;font-weight:850;font-size:13px;padding-bottom:5px;border-bottom:1px solid #e1e9e8}
 .twa-report-paper td:nth-child(2)::before{content:'Class: ';font-weight:700;color:#667f82}
 .twa-report-paper td:nth-child(3)::before{content:'Exam: ';font-weight:700;color:#667f82}
 .twa-report-paper td:nth-child(4)::before{content:'Total: ';font-weight:700;color:#667f82}
 .twa-report-paper td:nth-child(5)::before{content:'Grade: ';font-weight:700;color:#667f82}
}

/* V31.1: focused editing of saved class and exam scores before submission. */
.twa-correction-editor{background:#fff;border:1px solid #d9e6e4;border-radius:18px;padding:clamp(16px,3vw,28px);box-shadow:0 12px 30px rgba(10,50,58,.04)}
.twa-correction-header{max-width:660px;margin:0 0 22px}
.twa-correction-header h3{font-size:clamp(21px,3vw,27px);color:#173c46;margin:7px 0 8px;letter-spacing:-.5px}
.twa-correction-header p{font-size:13px;color:#627981;line-height:1.6;margin:0}
.twa-correction-pickers,.twa-correction-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:15px 0}
.twa-correction-pickers label,.twa-correction-fields label{font-size:13px;font-weight:700;color:#294d54}
.twa-correction-fields{background:#f8fbfa;border:1px solid #e0eae8;border-radius:14px;padding:17px}
.twa-correction-fields input{height:50px!important;font-size:18px!important;font-weight:750;color:#123f4b;font-variant-numeric:tabular-nums}
.twa-correction-fields small{font-weight:400;color:#6c8289}
.twa-correction-saved-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 17px;background:#eaf6f2;border:1px solid #cce3dc;border-radius:12px;padding:13px 16px;color:#174e52}
.twa-correction-saved-summary span{font-size:12px;color:#597678}
.twa-correction-saved-summary strong{font-size:14px;font-variant-numeric:tabular-nums}
.twa-correction-saved-summary small{font-size:12px;color:#547176}
.twa-correction-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0}
.twa-correction-buttons button{min-height:46px}
.twa-correction-locked{background:#fff7ee;border:1px solid #eed5b6;padding:16px;border-radius:12px;color:#754b22;margin:15px 0}
.twa-correction-locked p{margin:4px 0 0;font-size:13px;line-height:1.6}
#twa-correction-feedback{margin-top:14px}
@media(max-width:650px){
 .twa-correction-pickers,.twa-correction-fields{grid-template-columns:1fr;gap:11px}
 .twa-correction-fields{padding:12px}
 .twa-correction-buttons{display:grid;grid-template-columns:1fr}
 .twa-report-choices:has([data-journey="report-correct"]){grid-template-columns:1fr}
}

/* V31.2: clear, calm notice when a colleague originally entered marks */
.twa-correction-colleague{margin:12px 0 16px;padding:12px 14px;border:1px solid #badad6;background:#edf8f5;border-radius:12px;color:#175b59}
.twa-correction-colleague strong{font-weight:800}
.twa-correction-colleague p{margin:5px 0 0;font-size:13px;line-height:1.5}


/* V31.6: download the same figures currently visible in the report preview. */
.twa-preview-export-actions{margin-top:16px;padding:16px 18px;border:1px solid #badbd3;border-radius:14px;background:linear-gradient(120deg,#eef8f5,#f8fbfa);color:#22545b}
.twa-preview-export-actions strong{display:block;font-size:14px;color:#144f54;margin-bottom:4px}
.twa-preview-export-actions p{margin:5px 0 12px;line-height:1.5}
.twa-preview-export-actions .button-row{margin:0;display:flex;gap:10px;flex-wrap:wrap}
.twa-preview-export-actions button{min-height:43px;border:1px solid #b5d7cc}
@media(max-width:590px){.twa-preview-export-actions{padding:13px}.twa-preview-export-actions .button-row{display:grid;grid-template-columns:1fr}.twa-preview-export-actions button{width:100%}}
