:root{--background:#f3f6f9;--foreground:#102238;--card:#fff;--card-foreground:#102238;--primary:#087443;--primary-foreground:#fff;--secondary:#e7f5ed;--secondary-foreground:#087443;--muted:#edf2f5;--muted-foreground:#617186;--accent:#e7f5ed;--accent-foreground:#087443;--border:#dce4ec;--input:#d5dfe8;--ring:#087443;--radius:.75rem}html,body{color:#102238;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#f3f6f9;min-width:320px;min-height:100%;margin:0;font-family:Avenir Next,Segoe UI,Arial,Helvetica,sans-serif;font-size:16px}body{background:radial-gradient(circle at 6% 0,#1089521a,#0000 24rem),linear-gradient(#eef4f8 0,#f7f9fb 22rem,#f3f6f9 100%)}.attendance-shell{max-width:680px;padding:28px 22px 52px}.admin-shell{max-width:920px;padding:32px 24px 60px}.topbar,.admin-head{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border:1px solid #dce4ece6;border-radius:16px;min-height:72px;margin-bottom:24px;padding:10px 14px;box-shadow:0 7px 24px #213e5b0d}.brandmark{width:58px;height:46px;box-shadow:none;border:0;border-radius:10px;padding:6px}.topbar b,.admin-head b{color:#102238;letter-spacing:-.025em;font-size:17px;font-weight:750}.topbar span,.admin-head span{color:#7c8a82;letter-spacing:.06em;text-transform:uppercase;margin-top:3px;font-size:11px;font-weight:650}.topbar .admin-button{color:#087443;background:#fff;border:1px solid #cfe0d6;border-radius:11px;min-height:42px;padding:0 13px;font-size:13px;font-weight:750}.clock{margin:30px 0 22px}.clock svg{color:#087443}.clock time{color:#102238;letter-spacing:-.07em;font-size:clamp(3.6rem,15vw,4.65rem);font-weight:760}.clock p{color:#617186;font-size:14px}.check-card,.admin-card,.present-panel,.summary-card{background:#fff;border:1px solid #dce4ec;box-shadow:0 7px 24px #213e5b0d}.check-card{border-radius:20px;padding:24px}.admin-card,.present-panel{border-radius:16px;padding:20px}.summary-card{border-radius:17px;padding:16px}.recognition-heading{color:#087443;justify-content:flex-start;margin-bottom:17px}.recognition-heading b{color:#102238;font-size:16px;font-weight:750}.recognition-heading small{color:#617186;font-size:11px}.camera-box{background:linear-gradient(145deg,#092c1d,#0d5734);border:0;border-radius:16px}.camera-label{background:#082d1ddb;border-radius:10px}.activate-camera-button,.register,.admin-card form>button,.admin-card .export-button,.admin-login button{color:#fff;background:#087443;border-radius:12px;font-size:13px;font-weight:800;box-shadow:0 8px 20px #08744329}.activate-camera-button:hover,.register:hover,.admin-card form>button:hover,.admin-card .export-button:hover,.admin-login button:hover{background:#066839}.pin-fallback-button,.capture{color:#087443;background:#fff;border:1px solid #cfe0d6;border-radius:11px;font-size:13px;font-weight:750}.pin-label,.admin-card label{color:#30465f;font-size:13px;font-weight:750}.pin-label input,.admin-card input,.admin-card select,.admin-card textarea,.record-filters select,.admin-login input{color:#102238;background:#fbfcfd;border:1px solid #d5dfe8;border-radius:11px}.pin-label input:focus,.admin-card input:focus,.admin-card select:focus,.admin-card textarea:focus,.record-filters select:focus,.admin-login input:focus{border-color:#62a47d;box-shadow:0 0 0 3px #62a47d21}.admin-card h2,.present-panel h2,.records-title h2{color:#102238;letter-spacing:-.02em;font-weight:750}.admin-card h2 svg,.admin-head a,.immutable-note svg,.confirmation-eyebrow,.confirmation-icon{color:#087443}.summary-grid b{color:#102238;font-size:29px}.summary-grid span{color:#617186;font-size:12px;font-weight:600}.summary-card small{color:#087443;font-size:11px;font-weight:750}.group-heading td{color:#087443;background:#e7f5ed}.admin-login{background:#fff;border:1px solid #dce4ec;border-radius:20px;box-shadow:0 22px 60px #1022381a}.admin-login h1{color:#102238;letter-spacing:-.04em;font-weight:760}.confirmation-card{border:1px solid #dce4ec;border-radius:20px;box-shadow:0 22px 60px #1022381f}.confirmation-card h1,.confirmation-card strong,.confirmation-card time{color:#102238}.confirmation-status{color:#087443;background:#e7f5ed}@media (max-width:640px){.attendance-shell,.admin-shell{padding:14px 14px 34px}.topbar,.admin-head{border-radius:14px;min-height:66px;margin-bottom:20px;padding:8px 10px}.topbar .admin-button{width:42px;min-height:42px;padding:0}.topbar .admin-button span{display:none}.check-card,.admin-card,.present-panel{padding:17px}}
