.teaching-page{display:grid;gap:18px}
.teaching-guide{padding:22px 24px;border:1px solid #d7e5dd;border-radius:16px;background:linear-gradient(135deg,#eff7f2,#fff);box-shadow:var(--shadow)}
.teaching-guide h3{margin:3px 0 8px;color:var(--green);font-size:23px}
.teaching-guide>p:last-child{max-width:850px;line-height:1.6;color:#52635a;margin:12px 0 0}
.tg-eyebrow{margin:0 0 6px;color:var(--green2);font-size:11px;font-weight:800;letter-spacing:1.4px}
.tg-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}
.tg-steps span{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 12px;border:1px solid #dce8e0;border-radius:10px;background:#fff;color:#43544a;font-size:13px}
.tg-steps b,.tg-step{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:50%;background:#e4f1e9;color:var(--green);font-size:12px}
.teaching-grid{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(360px,1.12fr);gap:18px;align-items:start}
.teaching-form,.teaching-list{min-width:0}
.tg-section-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px}
.tg-section-head h3{margin:2px 0 4px;color:var(--green)}
.tg-section-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.tg-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.teaching-page .form>label,.builder-modal .form>label,.marking-form label,.assignment-mark-form label{display:grid;gap:5px;font-size:13px;font-weight:700;color:#33483b}
.teaching-page .form input,.teaching-page .form select,.teaching-page .form textarea,.builder-modal .form input,.builder-modal .form select,.builder-modal .form textarea{font-size:14px}
.setup-hint{padding:10px 12px;margin:0;border-left:3px solid var(--gold);border-radius:7px;background:#fff9e8;color:#665218;font-size:13px;line-height:1.5}
.setup-hint b{color:#4d3e13}
.tg-record{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.tg-record:last-child{border-bottom:0}
.tg-record-copy{min-width:0}
.tg-record-copy h4{margin:8px 0 4px}
.tg-record-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.tg-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tg-empty{padding:18px;border:1px dashed #ccd9d1;border-radius:11px;color:var(--muted);text-align:center;line-height:1.5}
.tg-back{margin-top:10px}
.modalbox:has(.builder-modal),.modalbox:has(.registration-success){max-width:780px}
.builder-modal{display:grid;gap:12px}
.builder-modal h2{margin:0;color:var(--green)}
.builder-modal>p{margin:0}
.question-summary{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:10px;background:#eff6f1;color:var(--green)}
.question-list,.attempt-list,.submission-list{display:grid;gap:10px}
.question-card{display:flex;gap:12px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff}
.question-number{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:9px;background:#edf5ef;color:var(--green);font-weight:800}
.question-content{min-width:0;line-height:1.5}
.question-content small,.attempt-head small,.written-answer small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.question-content ul{margin:8px 0 0;padding-left:20px}
.correct-answer{margin-left:6px;color:#1e7047;font-size:12px}
.question-editor{display:grid;gap:10px;padding:16px;border:1px solid #dce8e0;border-radius:12px;background:#f8fbf9}
.question-editor h3,.marking-form h4{margin:0;color:var(--green)}
.question-editor>p{margin:0}
.tg-modal-actions{justify-content:flex-end;padding-top:6px}
.attempt-card,.submission-card{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}
.attempt-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.attempt-head>div{min-width:0}
.attempt-scores{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}
.attempt-scores span{display:grid;gap:4px;min-width:105px;padding:9px 11px;border-radius:9px;background:#f4f7f5;color:var(--muted);font-size:12px}
.attempt-scores b{color:var(--green);font-size:14px}
.marking-form{padding-top:12px;border-top:1px solid var(--line)}
.written-answer{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:13px;padding:12px;border:1px solid #e0e8e3;border-radius:10px;background:#fff}
.written-answer blockquote{margin:8px 0 0;padding-left:10px;border-left:3px solid #d5e4db;white-space:pre-wrap;line-height:1.5;color:#34483c}
.written-answer>label{display:grid;align-content:start;gap:5px;font-size:12px;font-weight:700}
.student-work,.submission-instructions,.feedback-note{padding:12px 14px;border-radius:10px;background:#f4f8f5;line-height:1.55}
.student-work p,.submission-instructions p,.feedback-note p{margin:5px 0 0;white-space:pre-wrap}
.submission-instructions{margin:10px 0}
.submission-card .form{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.student-assignment{display:grid;gap:10px}
.student-assignment h3{margin:0;color:var(--green)}
.feedback-note{border-left:3px solid #4e936b}
.registration-success{text-align:center;padding:18px 10px}
.registration-success h2{margin:5px 0 10px;color:var(--green)}
.registration-success>p{max-width:580px;margin:10px auto;line-height:1.6}
.success-mark{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 12px;border-radius:50%;background:#dff3e8;color:#176840;font-size:30px;font-weight:800}
.approval-email{display:grid;gap:4px;max-width:420px;margin:18px auto;padding:13px;border:1px solid #dbe8df;border-radius:10px;background:#f6faf7}
.approval-email span{overflow-wrap:anywhere;color:var(--green)}
.registration-success .tg-actions{justify-content:center;margin-top:18px}
.results-filter{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:14px}
.results-filter label{display:grid;gap:5px;min-width:min(340px,100%);font-size:13px;font-weight:700}
.lecturer-results .table{min-width:850px}
.lecturer-results small{display:block;margin-top:4px;color:var(--muted)}
.grade-pill{display:inline-block;margin-left:5px;padding:3px 8px;border-radius:99px;background:#e6f1e9;color:var(--green);font-weight:800;font-size:12px}
.lecturer-results tr[hidden]{display:none}
.tg-record .badge{white-space:nowrap}
@media(max-width:1000px){.teaching-grid{grid-template-columns:1fr}}
@media(max-width:700px){.tg-steps{grid-template-columns:1fr}.tg-record{align-items:flex-start;flex-direction:column}.written-answer{grid-template-columns:1fr}.results-filter{align-items:stretch;flex-direction:column}.results-filter label{min-width:0}.tg-two{grid-template-columns:1fr}.modal{padding:8px}.modalbox{padding:15px}.attempt-scores span{flex:1}.registration-success .tg-actions{align-items:stretch;flex-direction:column}.registration-success .tg-actions button{width:100%}}
