:root{--scanner-border:#2457d64d;--scan-line-color:#24945f}.admin-dashboard{grid-template-columns:1fr;gap:24px;display:grid}.section-title{color:var(--blue-dark);margin:0 0 16px;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:900}.scan-section{border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow);border-radius:24px;padding:24px}.scanner-container{flex-direction:column;gap:16px;display:flex}.scanner-viewport{aspect-ratio:16/9;border:3px solid var(--scanner-border);background:#0a1428;border-radius:16px;width:100%;position:relative;overflow:hidden}.scanner-overlay{background:#0a1428cc;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scan-line{background:var(--scan-line-color);width:80%;height:3px;box-shadow:0 0 10px var(--scan-line-color);animation:2s ease-in-out infinite scanMove;position:absolute}@keyframes scanMove{0%,to{top:10%}50%{top:90%}}.scanner-status{z-index:1;color:#ffffffe6;margin:0;font-size:1rem;font-weight:600;position:relative}.scanner-controls{gap:12px;display:flex}.scan-button{min-height:48px;font:inherit;cursor:pointer;background:linear-gradient(135deg, var(--blue), var(--blue-dark));color:var(--white);border:0;border-radius:14px;flex:1;padding:14px 20px;font-size:.9rem;font-weight:800;transition:transform .2s,background .2s;box-shadow:0 10px 22px #2457d647}.scan-button:hover{filter:brightness(1.05);transform:translateY(-2px)}.scan-button.secondary{background:var(--page-bg);color:var(--text-dark);border:1px solid var(--border);box-shadow:none}.scan-button.secondary:hover{background:var(--border)}.attendance-section{border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow);border-radius:24px;padding:24px}.attendance-list{border:1px solid var(--border);background:var(--page-bg);border-radius:16px;min-height:200px;max-height:400px;overflow-y:auto}.empty-state{height:200px;color:var(--text-muted);justify-content:center;align-items:center;margin:0;font-size:.95rem;display:flex}.attendance-item{border-bottom:1px solid var(--border);background:var(--white);justify-content:space-between;align-items:center;padding:16px 20px;transition:background .2s;display:flex}.attendance-item:last-child{border-bottom:none}.attendance-item:hover{background:var(--blue-light)}.attendance-info{flex:1}.attendance-name{color:var(--text-dark);margin:0 0 4px;font-size:.95rem;font-weight:700}.attendance-email{color:var(--text-muted);margin:0;font-size:.85rem}.attendance-time{color:var(--blue);white-space:nowrap;margin-left:16px;font-size:.85rem;font-weight:600}.attendance-event{color:var(--blue);margin:4px 0 0;font-size:.85rem;font-weight:600}.attendance-details{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.attendance-hours{color:var(--blue-dark);font-size:.85rem;font-weight:700}.attendance-date{color:var(--text-muted);font-size:.8rem}.manual-entry-section{border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow);border-radius:24px;padding:24px}.manual-entry-form{flex-direction:column;gap:16px;display:flex}.error-message{color:#dc2626;background:#dc26261a;border:1px solid #dc26264d;border-radius:8px;margin:0;padding:12px 16px;font-size:.875rem;display:none}.error-message.show{display:block}.success-message{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:8px;margin:0;padding:12px 16px;font-size:.875rem;display:none}.success-message.show{display:block}.button-group{gap:12px;display:flex}.clear-button{background:var(--white);border:2px solid var(--border);color:var(--blue-dark);cursor:pointer;border-radius:12px;padding:12px 24px;font-size:.9rem;font-weight:700;transition:all .2s}.clear-button:hover{background:var(--blue-light);border-color:var(--blue);color:var(--blue-dark);transform:translateY(-1px)}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--blue-dark);letter-spacing:.5px;text-transform:uppercase;font-size:.82rem;font-weight:900}.form-group input,.form-group select{border:1px solid var(--border);background:var(--white);width:100%;color:var(--text-dark);font:inherit;border-radius:14px;padding:14px 16px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 4px #2457d61c}.submit-button{background:linear-gradient(135deg, var(--blue), var(--blue-dark));min-height:48px;color:var(--white);font:inherit;cursor:pointer;border:0;border-radius:14px;padding:14px 20px;font-size:.9rem;font-weight:900;transition:transform .2s,background .2s;box-shadow:0 10px 22px #2457d647}.submit-button:hover{filter:brightness(1.05);transform:translateY(-2px)}@media (width>=900px){.admin-dashboard{grid-template-columns:1fr 1fr}.scan-section{grid-column:1/-1}}@media (width<=600px){.scan-button{padding:12px 16px;font-size:.8rem}.attendance-item{flex-direction:column;align-items:flex-start;gap:8px}.attendance-time{margin-left:0}}@media (hover:none){.scan-button:hover,.submit-button:hover,.attendance-item:hover{transform:none}}.userScannedLogContainer{justify-content:center;width:100%;display:flex}.userScannedLog{border:2px solid;border-radius:12px;flex-direction:column;align-self:center;gap:10px;width:400px;margin:70px 40px 30px;padding:20px;display:flex}.studentLogBox{border:1px solid;border-radius:20px;justify-content:space-between;align-items:center;padding:10px;display:flex}.studentLogBox p{font-weight:700}.UserLogDelete{color:#000;background-color:red;border:1px solid;border-radius:15px;padding:10px;font-weight:700}.UserLogDelete:hover{cursor:pointer}
