@import "https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap";*,:before,:after{box-sizing:border-box}html,body{max-width:100vw;overflow-x:hidden}input,textarea,select{font-size:16px!important}html{-webkit-text-size-adjust:100%}:root{--text:#5d3b1f;--text-h:#2a5931;--bg:#f5f2e8;--border:#2a593126;--code-bg:#fff;--accent:#2e7d32;--accent-bg:#2e7d321a;--accent-border:#2e7d324d;--social-bg:#ffffff80;--shadow:#00000014 0 4px 12px;--sans:"Roboto", system-ui, -apple-system, sans-serif;--heading:"Roboto", system-ui, -apple-system, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);letter-spacing:.1px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:left;box-sizing:border-box;flex-direction:column;width:100%;min-height:100vh;margin:0;display:flex}body{background-color:#f1f5f9;background-image:url("data:image/svg+xml,%3Csvg width='300' height='300' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='%232E7D32' stroke-width='1.3' fill='none' stroke-linecap='round' stroke-linejoin='round' opacity='0.08'%3E%3Cg transform='translate(25,25) rotate(15) scale(1.2)'%3E%3Cpath d='M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V10z'/%3E%3Cpath d='M8 10h8'/%3E%3Cpath d='M8 18h8'/%3E%3Cpath d='M10 6V4a2 2 0 0 1 4 0v2'/%3E%3C/g%3E%3Cg transform='translate(85,25) rotate(-20) scale(1.3)'%3E%3Cpath d='M22 10v6M2 10l10-5 10 5-10 5z'/%3E%3Cpath d='M6 12v5c3 3 9 3 12 0v-5'/%3E%3C/g%3E%3Cg transform='translate(145,25) rotate(45) scale(1.5)'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z'/%3E%3C/g%3E%3Cg transform='translate(205,25) rotate(10) scale(1.4)'%3E%3Cpath d='M22 10v6M2 10l10-5 10 5-10 5z'/%3E%3Cpath d='M6 12v5c3 3 9 3 12 0v-5'/%3E%3C/g%3E%3Cg transform='translate(265,25) rotate(-15) scale(1.1)'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M4 4.5A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1-2.5-2.5V4.5z'/%3E%3C/g%3E%3Cg transform='translate(25,85) rotate(30) scale(1.2)'%3E%3Cpath d='M9 2v2M15 2v2M12 2v6M9 16c-3 0-5 2-5 5h16c0-3-2-5-5-5H9z'/%3E%3Cpath d='M12 8l-3 8h6l-3-8z'/%3E%3C/g%3E%3Cg transform='translate(85,85) rotate(-10) scale(1.3)'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cpolyline points='10 9 9 9 8 9'/%3E%3C/g%3E%3Cg transform='translate(145,85) rotate(25) scale(1.2)'%3E%3Cpath d='M22 12A10 10 0 0 0 2 12v2h20v-2z'/%3E%3Cpath d='M6 12v-1a6 6 0 0 1 12 0v1'/%3E%3C/g%3E%3Cg transform='translate(205,85) rotate(-5) scale(1.1)'%3E%3Crect x='2' y='3' width='20' height='14' rx='2' ry='2'/%3E%3Cline x1='8' y1='21' x2='16' y2='21'/%3E%3Cline x1='12' y1='17' x2='12' y2='21'/%3E%3C/g%3E%3Cg transform='translate(265,85) rotate(15) scale(1.4)'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/g%3E%3Cg transform='translate(25,145) rotate(-35) scale(1.1)'%3E%3Cpath d='M22 10v6M2 10l10-5 10 5-10 5z'/%3E%3Cpath d='M6 12v5c3 3 9 3 12 0v-5'/%3E%3C/g%3E%3Cg transform='translate(85,145) rotate(10) scale(1.4)'%3E%3Crect x='4' y='2' width='16' height='20' rx='2' ry='2'/%3E%3Cline x1='8' y1='6' x2='16' y2='6'/%3E%3Cline x1='16' y1='14' x2='16' y2='14'/%3E%3Cline x1='16' y1='10' x2='16' y2='10'/%3E%3Cline x1='8' y1='10' x2='8' y2='10'/%3E%3Cline x1='12' y1='10' x2='12' y2='10'/%3E%3Cline x1='8' y1='14' x2='8' y2='14'/%3E%3Cline x1='12' y1='14' x2='12' y2='14'/%3E%3Cline x1='8' y1='18' x2='8' y2='18'/%3E%3Cline x1='12' y1='18' x2='12' y2='18'/%3E%3C/g%3E%3Cg transform='translate(145,145) rotate(45) scale(1.5)'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M4 4.5A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1-2.5-2.5V4.5z'/%3E%3C/g%3E%3Cg transform='translate(205,145) rotate(-15) scale(1.2)'%3E%3Cpath d='M22 10v6M2 10l10-5 10 5-10 5z'/%3E%3Cpath d='M6 12v5c3 3 9 3 12 0v-5'/%3E%3C/g%3E%3Cg transform='translate(265,145) rotate(20) scale(1.3)'%3E%3Cpath d='M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V10z'/%3E%3Cpath d='M8 10h8'/%3E%3Cpath d='M8 18h8'/%3E%3Cpath d='M10 6V4a2 2 0 0 1 4 0v2'/%3E%3C/g%3E%3Cg transform='translate(25,205) rotate(-45) scale(1.3)'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z'/%3E%3C/g%3E%3Cg transform='translate(85,205) rotate(25) scale(1.1)'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/g%3E%3Cg transform='translate(145,205) rotate(-10) scale(1.4)'%3E%3Cpath d='M9 2v2M15 2v2M12 2v6M9 16c-3 0-5 2-5 5h16c0-3-2-5-5-5H9z'/%3E%3Cpath d='M12 8l-3 8h6l-3-8z'/%3E%3C/g%3E%3Cg transform='translate(205,205) rotate(30) scale(1.3)'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cpolyline points='10 9 9 9 8 9'/%3E%3C/g%3E%3Cg transform='translate(265,205) rotate(-5) scale(1.2)'%3E%3Cpath d='M6 18h8'/%3E%3Cpath d='M3 22h18'/%3E%3Cpath d='M14 22a7 7 0 1 0 0-14h-1'/%3E%3Cpath d='M9 14h2'/%3E%3Cpath d='M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z'/%3E%3C/g%3E%3Cg transform='translate(25,265) rotate(15) scale(1.4)'%3E%3Cpath d='M22 10v6M2 10l10-5 10 5-10 5z'/%3E%3Cpath d='M6 12v5c3 3 9 3 12 0v-5'/%3E%3C/g%3E%3Cg transform='translate(85,265) rotate(-25) scale(1.1)'%3E%3Crect x='2' y='3' width='20' height='14' rx='2' ry='2'/%3E%3Cline x1='8' y1='21' x2='16' y2='21'/%3E%3Cline x1='12' y1='17' x2='12' y2='21'/%3E%3C/g%3E%3Cg transform='translate(145,265) rotate(10) scale(1.5)'%3E%3Cpath d='M22 12A10 10 0 0 0 2 12v2h20v-2z'/%3E%3Cpath d='M6 12v-1a6 6 0 0 1 12 0v1'/%3E%3C/g%3E%3Cg transform='translate(205,265) rotate(-15) scale(1.3)'%3E%3Cpath d='M22 10v6M2 10l10-5 10 5-10 5z'/%3E%3Cpath d='M6 12v5c3 3 9 3 12 0v-5'/%3E%3C/g%3E%3Cg transform='translate(265,265) rotate(45) scale(1.2)'%3E%3Crect x='4' y='2' width='16' height='20' rx='2' ry='2'/%3E%3Cline x1='8' y1='6' x2='16' y2='6'/%3E%3Cline x1='16' y1='14' x2='16' y2='14'/%3E%3Cline x1='16' y1='10' x2='16' y2='10'/%3E%3Cline x1='8' y1='10' x2='8' y2='10'/%3E%3Cline x1='12' y1='10' x2='12' y2='10'/%3E%3Cline x1='8' y1='14' x2='8' y2='14'/%3E%3Cline x1='12' y1='14' x2='12' y2='14'/%3E%3Cline x1='8' y1='18' x2='8' y2='18'/%3E%3Cline x1='12' y1='18' x2='12' y2='18'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-size:220px 220px;margin:0}h1,h2{font-family:var(--heading);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.attendance-root{box-sizing:border-box;color:#424242;background:0 0;width:100%;min-height:calc(100vh - 56px);font-family:Roboto,sans-serif}@keyframes spin{to{transform:rotate(360deg)}}.spin-anim{animation:1s linear infinite spin}.attendance-root *{box-sizing:border-box}.container-box{max-width:480px;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:10px;margin:0 auto;display:flex}.attendance-root--marking{padding-bottom:0}.mark-step-layout{flex-direction:column;gap:8px;min-height:calc(100vh - 128px);display:flex}.mark-step-toolbar{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.mark-compact-subject{background:#fff;border:1.5px solid #e8f5e9;border-radius:12px;padding:10px 12px;box-shadow:0 2px 8px #0000000a}.mark-compact-subject h4{color:#1b5e20;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:800;overflow:hidden}.mark-compact-subject p{color:#757575;white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:10px;font-weight:600;overflow:hidden}.mark-stats-inline{color:#424242;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:700;display:flex}.mark-stats-inline em{color:#2e7d32;font-style:normal}.syl-overlay{z-index:500;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.syl-dialog{background:#fff;border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:480px;max-height:90vh;animation:.25s sylSlideUp;display:flex;overflow:hidden}@keyframes sylSlideUp{0%{opacity:.5;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.mark-all-btn{color:#2e7d32;cursor:pointer;white-space:nowrap;background:#f1f8e9;border:1.5px solid #c8e6c9;border-radius:8px;padding:4px 10px;font-family:inherit;font-size:10px;font-weight:800}.attendance-header{color:#fff;background:#1b5e20;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.header-left{align-items:center;gap:12px;display:flex}.header-logo{object-fit:contain;background:#fff;border-radius:50%;width:38px;height:38px;padding:2px}.header-title{letter-spacing:.2px;margin:0;font-size:19px;font-weight:800}.header-right{align-items:center;gap:16px;display:flex}.header-icon{color:#fff;cursor:pointer}.mark-toolbar-row{align-items:center;gap:8px;display:flex}.mark-toolbar-row .search-wrap{flex:1;margin:0}.mark-toolbar-row .search-wrap .select-input{padding:8px 10px 8px 34px;font-size:13px}.mark-filter-chips{gap:6px;display:flex}.mark-filter-chips .filter-chip{flex:1;padding:6px 8px;font-size:11px}.mark-step-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:200px;max-height:calc(100vh - 328px);overflow-y:auto}.student-row-item{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:flex}.student-row-roll{color:#757575;flex-shrink:0;min-width:28px;font-size:11px;font-weight:800}.student-row-name{color:#424242;flex:1;min-width:0;font-size:13px;font-weight:700;line-height:1.25}.student-row-toggle{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:flex}.student-row-item.present .student-row-toggle{color:#fff;background:#2e7d32}.student-row-item:not(.present) .student-row-toggle{color:#d32f2f;background:#ffebee;border:1.5px solid #ffcdd2}.mark-step-footer{z-index:10;background:0 0;flex-shrink:0;gap:8px;padding:8px 0 4px;display:flex;position:sticky;bottom:0}.mark-step-footer .btn-wizard-back{flex:1;padding:10px}.mark-step-footer .btn-wizard-next{flex:2;padding:10px}.mark-qr-icon-btn{color:#2e7d32;cursor:pointer;background:#fffde7;border:1.5px dashed #2e7d32;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.mark-qr-icon-btn:disabled{opacity:.45;cursor:not-allowed}.banner-compact{border-radius:10px;align-items:center;gap:6px;padding:8px 10px;font-size:11px;line-height:1.3;display:flex}.wizard-progress-mini .wizard-progress-dot{height:3px}.wizard-progress-mini .wizard-progress-label{font-size:10px}.mode-toggle-card{-webkit-backdrop-filter:blur(16px);background:#ffffffd9;border:1px solid #ffffffb3;border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:16px;padding:4px;display:grid;position:relative;box-shadow:0 4px 20px #0000000f,0 1px 4px #0000000a}.mode-active-indicator{z-index:0;background:#2e7d32;border-radius:999px;width:calc(50% - 6px);transition:transform .35s cubic-bezier(.32,.72,0,1);position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 4px 12px #2e7d3240}.mode-btn{z-index:1;color:#757575;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px;font-family:inherit;font-size:14px;font-weight:700;transition:color .35s cubic-bezier(.32,.72,0,1);display:flex;position:relative}.mode-btn.active{color:#fff}.wizard-progress{align-items:center;gap:6px;margin-bottom:0;display:flex}.wizard-progress-dot{background:#e0e0e0;border-radius:999px;flex:1;height:3px}.wizard-progress-dot.done{background:#81c784}.wizard-progress-dot.active{background:#2e7d32}.wizard-progress-label{color:#757575;text-align:center;margin:0;padding:0;font-size:10px;font-weight:700}.filter-card{-webkit-backdrop-filter:blur(16px);background:#ffffffd9;border:1px solid #ffffffb3;border-radius:20px;flex-direction:column;gap:16px;padding:20px 16px;display:flex;box-shadow:0 4px 20px #0000000f,0 1px 4px #0000000a}.filter-title{color:#1b5e20;margin:0;font-size:16px;font-weight:800}.filter-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-label{color:#757575;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.select-input{color:#424242;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;width:100%;padding:12px 14px;font-family:inherit;font-size:15px;font-weight:600}.select-input:focus{border-color:#2e7d32;outline:none}.search-wrap{position:relative}.search-wrap svg{color:#9e9e9e;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-wrap .select-input{padding-left:36px}.section-label{color:#1b5e20;text-transform:uppercase;letter-spacing:.5px;margin:20px 0 12px 4px;font-size:13px;font-weight:800}.subject-card{-webkit-backdrop-filter:blur(16px);cursor:pointer;background:#ffffffd9;border:1px solid #ffffffb3;border-radius:20px;margin-bottom:12px;transition:transform .18s,box-shadow .18s;overflow:hidden;box-shadow:0 4px 20px #0000000f,0 1px 4px #0000000a}.subject-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.subject-card-body{gap:16px;padding:20px 16px;display:flex}.class-col{flex-direction:column;gap:8px;display:flex}.class-col:first-child{flex:1;min-width:0}.class-col:nth-child(3),.class-col:nth-child(5){flex-shrink:0}.class-col-label{color:#2e7d32;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.class-col-val{color:#212121;font-size:15px;font-weight:700}.divider-line{background:#e8f5e9;align-self:stretch;width:1px;height:auto}.subject-card-footer{display:none}.selected-subject-context{color:#fff;background:linear-gradient(135deg,#2e7d32 0%,#4caf50 100%);border-radius:10px;padding:8px 12px;box-shadow:0 2px 8px #2e7d3233}.context-title{font-size:13px;font-weight:800;display:block}.context-meta{opacity:.92;flex-wrap:wrap;gap:4px;margin-top:2px;font-size:10.5px;font-weight:600;display:flex}.lectures-grid{background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.lectures-grid-2col{grid-template-columns:1fr 1fr;gap:10px;display:grid}.lecture-row{cursor:pointer;background:#fafafa;border:1.2px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;transition:all .15s;display:flex}.lecture-row.selected{background:#e8f5e9;border-color:#2e7d32}.lecture-row.taken-by-other{cursor:not-allowed;opacity:.9;background:#fff8e1;border-color:#ffb74d}.lecture-row.marked-by-me{background:#f1f8e9;border-color:#81c784}.lecture-name{color:#424242;font-size:13.5px;font-weight:700}.lecture-meta{color:#757575;margin-top:3px;font-size:10px;font-weight:700}.lecture-meta.taken{color:#e65100}.lecture-meta.mine{color:#1565c0}.lecture-checkbox{background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.lecture-row.selected .lecture-checkbox{background:#fff;border-color:#2e7d32}.lecture-row.selected .lecture-checkbox:after{content:"";background:#2e7d32;border-radius:2px;width:10px;height:10px}.student-stats-card{color:#fff;background:linear-gradient(135deg,#2e7d32 0%,#4caf50 100%);border-radius:12px;align-items:center;padding:8px 12px;display:flex;box-shadow:0 3px 10px #2e7d3233}.stat-box{text-align:center;flex-direction:column;flex:1;gap:1px;display:flex}.stat-box-num{font-size:16px;font-weight:800;line-height:1}.stat-box-label{text-transform:uppercase;letter-spacing:.05em;opacity:.85;font-size:8px;font-weight:800}.stat-divider{background:#ffffff40;width:1px;height:24px}.mark-all-switch-wrap{cursor:pointer;flex-direction:column;align-items:center;gap:3px;padding:0 6px;display:flex}.student-filter-chips{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.filter-chip{color:#616161;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:999px;padding:9px 8px;font-family:inherit;font-size:12px;font-weight:700}.filter-chip.active{color:#2e7d32;background:#e8f5e9;border-color:#2e7d32}.students-list-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.student-item-card{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:12px;transition:all .15s;box-shadow:0 2px 6px #00000008}.student-item-card.present{background:#f1f8e9;border-color:#a5d6a7}.student-item-card.readonly{cursor:default;opacity:.7}.student-card-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.student-roll{color:#757575;font-size:10px;font-weight:800}.student-badge-indicator{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:flex}.student-badge-indicator.present{color:#fff;background:#2e7d32}.student-badge-indicator.absent{color:#d32f2f;background:#ffebee;border:1.5px solid #ffcdd2}.student-name{color:#424242;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.scan-action-btn-card{cursor:pointer;color:#1b5e20;background:#fffde7;border:1.5px dashed #2e7d32;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px;font-family:inherit;font-size:13.5px;font-weight:700;transition:background .15s;display:flex}.scan-action-btn-card:hover:not(:disabled){background:#fff9c4}.scan-action-btn-card:disabled{opacity:.5;cursor:not-allowed}.buttons-row{gap:10px;display:flex}.btn-wizard-back{color:#424242;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;flex:1;padding:12px;font-family:inherit;font-size:14px;font-weight:700}.btn-wizard-next{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:12px;flex:2;justify-content:center;align-items:center;gap:8px;padding:12px;font-family:inherit;font-size:14px;font-weight:700;display:flex;box-shadow:0 4px 10px #2e7d3233}.btn-wizard-next:disabled{opacity:.55;cursor:not-allowed}.attendance-lock-banner,.attendance-info-banner{border-radius:8px;align-items:flex-start;gap:6px;padding:7px 10px;font-size:11px;font-weight:600;line-height:1.35;display:flex}.attendance-lock-banner{color:#e65100;background:#fff3e0;border:1.5px solid #ffb74d}.attendance-info-banner{color:#1b5e20;background:#e8f5e9;border:1.5px solid #a5d6a7}.attendance-empty{text-align:center;background:#fff;border:1.5px dashed #e2e8f0;border-radius:16px;padding:40px 20px}.attendance-empty h3{color:#424242;margin:12px 0 6px;font-size:16px}.attendance-empty p{color:#757575;margin:0;font-size:13px}.attendance-spinner{border:3px solid #e0e0e0;border-top-color:#2e7d32;border-radius:50%;width:36px;height:36px;margin:0 auto;animation:.85s linear infinite att-spin}@keyframes att-spin{to{transform:rotate(360deg)}}.logs-list-stack{flex-direction:column;gap:12px;display:flex}.history-item-card{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:8px;width:100%;padding:16px;font-family:inherit;transition:transform .15s;display:flex;box-shadow:0 2px 6px #00000008}.history-item-card:hover{transform:translateY(-2px)}.history-top-meta{color:#757575;justify-content:space-between;font-size:11.5px;font-weight:700;display:flex}.history-subject{color:#1b5e20;font-size:15px;font-weight:700}.history-topic{color:#424242;font-size:12.5px;font-style:italic}.history-stats-badge{color:#1b5e20;background:#e8f5e9;border-radius:12px;align-self:flex-start;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.success-overlay-container{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1200;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.success-confirm-box{text-align:center;background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:360px;padding:30px 24px;display:flex;box-shadow:0 10px 25px #0003}.big-checkmark-circle{color:#2e7d32;background:#e8f5e9;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:32px;font-weight:700;display:flex}.btn-full-width{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:10px;width:100%;padding:11px;font-family:inherit;font-weight:700}.log-details-modal-box{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:440px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 10px 30px #0003}.log-details-header{background:#fafafa;border-bottom:1.2px solid #f1f3f0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.log-details-body{flex-direction:column;gap:14px;padding:16px 18px;display:flex;overflow-y:auto}.student-pill-list{background:#fafafa;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:6px;max-height:200px;padding:8px;display:flex;overflow-y:auto}.student-pill-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;display:flex}.log-details-footer{background:#fafafa;border-top:1.2px solid #f1f3f0;padding:12px 18px}.section-label{color:#1b5e20;letter-spacing:.4px;margin:0 0 10px;font-size:12px;font-weight:800}.word-hint{color:#757575;align-self:flex-end;font-size:10.5px}.fac-att-qr-overlay{z-index:200;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.fac-att-qr-viewfinder{border:2px solid #fff3;border-radius:20px;width:min(88vw,300px);height:min(88vw,300px);margin-bottom:16px;position:relative;overflow:hidden}.fac-att-qr-panel{background:#ffffff1a;border:1px solid #ffffff26;border-radius:16px;width:100%;max-width:360px;padding:14px}.fac-att-qr-close{color:#fff;cursor:pointer;background:0 0;border:1.5px solid #ffffff59;border-radius:999px;margin-top:16px;padding:10px 24px;font-family:inherit;font-size:13px;font-weight:700}.mark-step-layout{flex-direction:column;flex:1;gap:0;min-height:0;display:flex}.mark-step-toolbar{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:8px;margin-bottom:8px;padding:10px 12px;display:flex;box-shadow:0 2px 8px #0000000a}.mark-compact-subject h4{color:#1b5e20;margin:0;font-size:13px;font-weight:800}.mark-compact-subject p{color:#757575;margin:2px 0 0;font-size:10.5px;font-weight:600}.banner-compact{border-radius:7px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;font-weight:600;display:flex}.banner-compact.warn{color:#e65100;background:#fff3e0;border:1px solid #ffb74d}.banner-compact.info{color:#1b5e20;background:#e8f5e9;border:1px solid #a5d6a7}.mark-stats-inline{color:#424242;justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.mark-stats-inline em{color:#1b5e20;font-style:normal;font-weight:800}.mark-stats-inline .abs em{color:#d32f2f}.mark-all-btn{color:#1b5e20;cursor:pointer;white-space:nowrap;background:#e8f5e9;border:1.5px solid #2e7d32;border-radius:8px;flex-shrink:0;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:700;transition:background .15s}.mark-all-btn:hover:not(:disabled){background:#c8e6c9}.mark-all-btn:disabled{opacity:.45;cursor:not-allowed}.mark-toolbar-row{width:100%}.mark-filter-chips{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.mark-step-scroll{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.students-list-compact{flex-direction:column;gap:4px;display:flex}.students-grid-compact{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;display:grid}.student-row-item{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;transition:background .12s,border-color .12s;display:flex}.student-row-item.present{background:#f1f8e9;border-color:#a5d6a7}.student-row-item.readonly{cursor:default;opacity:.7}.student-row-item:active:not(.readonly){background:#e8f5e9}.student-row-roll{color:#9e9e9e;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;width:auto;min-width:44px;max-width:110px;font-size:10px;font-weight:800;overflow:hidden}.student-row-name{color:#424242;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:600;overflow:hidden}.student-row-item.present .student-row-name{color:#1b5e20}.student-row-toggle{color:#d32f2f;background:#ffebee;border:1.5px solid #ffcdd2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:800;display:flex}.student-row-item.present .student-row-toggle{color:#fff;background:#2e7d32;border-color:#2e7d32}.mark-step-footer{gap:10px;padding-top:8px;display:flex}.mark-step-footer .btn-wizard-back{flex:1}.mark-step-footer .btn-wizard-next{flex:2}.container-box.compact{gap:8px}.wizard-progress-mini .wizard-progress-label{display:none}
