.mobile-admin-nav{display:none}.attendance-screen .section-kicker{color:#3268ad}.attendance-warning{color:#6b4c10;background:#fff8e6;border:1px solid #efd18e;border-radius:14px;margin-bottom:20px;padding:16px 20px}.attendance-warning strong{font-size:14px}.attendance-warning p{max-width:900px;margin:6px 0 0;font-size:12px;line-height:1.6}.attendance-session-form{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:18px;display:flex}.attendance-screen label{gap:7px;font-size:12px;font-weight:800;display:grid}.attendance-session-form label{flex:1;min-width:150px}.attendance-screen input,.attendance-screen select,.mobile-admin-nav select{font:inherit;color:#162239;background:#fff;border:1px solid #cbd4e0;border-radius:9px;min-width:0;min-height:44px;padding:10px 12px}.attendance-screen button{cursor:pointer;min-height:44px}.attendance-screen button:disabled{opacity:.48;cursor:not-allowed}.attendance-screen :focus-visible{outline-offset:3px;outline:3px solid #438ae5}.mobile-admin-nav select:focus-visible{outline-offset:3px;outline:3px solid #438ae5}.attendance-session-picker{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.attendance-session-picker select{font-size:12px}.attendance-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:18px;display:grid}.scanner-panel,.attendance-register{min-width:0}.camera-preview{aspect-ratio:4/3;color:#fff;background:#101c30;border-radius:16px;width:100%;margin-top:20px;position:relative;overflow:hidden}.camera-preview video{object-fit:contain;width:100%;height:100%}.camera-preview:not(.camera-live) video{visibility:hidden}.camera-placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:26px;display:flex;position:absolute;inset:0}.camera-placeholder>span{color:#92b9ef;margin-bottom:18px;font-size:58px;line-height:1}.camera-placeholder p{color:#bccde5;margin:8px 0;font-size:12px}.camera-guide{aspect-ratio:1;pointer-events:none;border:2px solid #fff;border-radius:12px;width:58%;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 100px #0003}.camera-live .camera-guide{display:block}.camera-status{color:#485971;min-height:38px;font-size:12px;line-height:1.5}.camera-status.error{color:#a51524}.scanner-actions{flex-wrap:wrap;gap:12px;display:flex}.scanner-sound-controls{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.scanner-sound-controls p{color:#485971;flex-basis:100%;margin:0;font-size:12px;line-height:1.5}.scanner-sound-controls button[aria-pressed=true]{color:#1769e0;background:#eef5ff;border-color:#1769e0}.manual-code-form{border-top:1px solid #e7eaf0;margin-top:22px;padding-top:20px}.manual-code-form>div{gap:10px;margin-top:9px;display:flex}.manual-code-form input{flex:1;width:100%;font-family:monospace;font-size:12px}.manual-code-form button{flex-shrink:0}.attendance-count{color:#147548;background:#e6f6ee;border-radius:50%;place-items:center;width:48px;height:48px;font-size:22px;font-weight:900;display:grid}.scan-feedback{margin-top:18px;font-size:13px}.scan-result{border:1px solid;border-radius:12px;padding:14px;line-height:1.5}.scan-result.success{color:#125a3b;background:#edf9f2;border-color:#a8dac0}.scan-result.warning{color:#795006;background:#fff8e6;border-color:#efd18e}.scan-result.error{color:#961724;background:#fff0f1;border-color:#edb1b9}.check-in-list{margin:14px 0;padding:0;list-style:none}.check-in-list li{border-bottom:1px solid #e7eaf0;align-items:center;gap:10px;padding:16px 0;display:flex}.check-in-tick{color:#147548;background:#e6f6ee;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.check-in-list strong{font-size:13px;display:block}.check-in-list small{color:#687388;margin-top:4px;font-size:11px;display:block}.check-in-list time{white-space:nowrap;color:#57657d;margin-left:auto;font-size:11px}.attendance-note{color:#687388;margin:18px 0;font-size:12px;line-height:1.6}.student-search-results{gap:7px;max-height:300px;margin-top:12px;display:grid;overflow:auto}.student-result{text-align:left;color:#162239;background:#fff;border:1px solid #d7dfeb;border-radius:9px;padding:10px 12px;font-weight:700}.student-result:hover,.student-result.selected{background:#edf6ff;border-color:#1d70c9}.selected-student{background:#edf7f0;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding:16px;display:flex}.selected-student strong{width:100%}.selected-student span{color:#3d6c52;flex:1;font-size:13px}.demo-qr-examples{margin-top:20px}.demo-qr-examples summary{cursor:pointer;min-height:30px;font-size:15px;font-weight:800}.demo-qr-examples>p{color:#5b6a7f;max-width:860px;font-size:12px;line-height:1.6}.demo-qr-grid{flex-wrap:wrap;gap:20px;margin:20px 0;display:flex}.demo-qr-card{background:#fff;border:1px solid #dbe3ee;border-radius:16px;justify-items:center;gap:8px;max-width:100%;padding:18px;display:grid}.demo-qr-card strong{font-size:13px}.demo-qr-card canvas{width:200px;max-width:100%;height:200px}.demo-qr-card code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-size:11px}@media (max-width:1100px){.attendance-grid{grid-template-columns:1fr}}@media (max-width:760px){.mobile-admin-nav{z-index:5;background:#fff;gap:6px;padding:12px 18px;font-size:12px;font-weight:800;display:grid;position:relative}.mobile-admin-nav select{z-index:6;touch-action:manipulation;width:100%;position:relative}.manual-code-form>div{flex-direction:column}.scanner-actions>button{flex:1}.attendance-session-picker select{width:100%}.attendance-screen .panel{padding:18px}.demo-qr-grid{justify-content:center}}
