.qr-scan-icon { width: 20px; height: 20px; flex: 0 0 auto; margin-inline-end: 6px; vertical-align: middle; }
.qr-scanner { display: grid; gap: 16px; min-width: 0; }
.qr-scanner p { margin: 0; line-height: 1.7; overflow-wrap: anywhere; }
.qr-scanner-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.qr-scanner-actions button { min-height: 44px; }
.qr-scanner-camera { overflow: hidden; background: #161525; border-radius: 12px; }
.qr-scanner-camera[hidden] { display: none; }
.qr-scanner-camera video { display: block; width: 100%; max-height: 40dvh; object-fit: contain; }
.qr-scanner-message { padding: 12px 16px; background: var(--color-surface, #f5f3fa); border-radius: 12px; color: var(--color-text, #252133); }
.qr-scanner-note { font-size: 14px; color: var(--color-text-secondary, #565063); }
.attendance-page-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-block-end: 24px; }
.attendance-page-heading h1 { margin: 0; }

.quiz-admission-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 24px; }
.quiz-admission-card .teacher-quiz-qr-frame { max-width: 100%; }
.quiz-admission-card canvas { max-width: 100%; height: auto !important; }
.quiz-admission-card canvas[hidden] { display: none; }
.quiz-admission-card details { margin-top: 12px; }
.quiz-admission-card summary { cursor: pointer; min-height: 32px; }
.quiz-admission-records { max-height: 240px; overflow: auto; padding: 0; list-style: none; }
.quiz-admission-records li { display: flex; justify-content: space-between; gap: 20px; padding: 8px 0; }
@media (max-width: 640px) { .quiz-admission-card { grid-template-columns: minmax(0, 1fr); } .quiz-admission-card .teacher-quiz-qr-frame { justify-self: center; } }
