@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');@font-face{font-family:Karthika;src:url('../assets/fonts/MLU-Karthika.ttf')}*{box-sizing:border-box}body{margin:0;background:#f5f7f6;color:#17241d;font-family:Montserrat,Karthika,Arial,sans-serif}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#fff;border-right:1px solid #e7ece8;padding:28px 18px;display:flex;flex-direction:column}.brand{font-weight:800;color:#075b3b;letter-spacing:-.5px;font-size:17px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#829087;margin-top:5px}.sidebar nav{display:grid;gap:7px;margin-top:45px}.sidebar nav a,.logout{color:#738078;text-decoration:none;font-size:12px;font-weight:600;padding:13px;border-radius:9px}.sidebar nav a.active{background:#eaf5ed;color:#075b3b}.logout{margin-top:auto}.main{margin-left:238px;padding:36px clamp(20px,4vw,48px);max-width:1600px}header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:28px}.eyebrow{font-size:9px;letter-spacing:2px;color:#34825d;font-weight:800}h1{font-size:28px;margin:8px 0 5px}h2{font-size:16px;margin:0}.muted{color:#89948e;font-size:12px;margin:5px 0}.download{display:inline-flex;align-items:center;gap:8px;background:#075b3b;color:white;text-decoration:none;font-size:11px;font-weight:700;padding:12px 15px;border-radius:9px;white-space:nowrap}.download.light{background:#eff7f1;color:#075b3b}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.stats article{background:white;border:1px solid #e7ece8;border-radius:13px;padding:20px;min-width:0}.stats article span{display:block;font-size:11px;color:#748078;font-weight:600}.stats strong{display:block;font-size:30px;margin:12px 0 5px;letter-spacing:-1px}.stats small{font-size:10px;color:#9aa49e}.stats .green strong{color:#25845a}.stats .orange strong{color:#d9873d}.stats article a{display:block;font-size:10px;color:#d9873d;margin-top:10px;text-decoration:none;font-weight:700}.panel{background:#fff;border:1px solid #e7ece8;border-radius:14px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:22px;border-bottom:1px solid #edf0ed}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:left;padding:14px 18px;border-bottom:1px solid #f0f2f0;font-size:11px;white-space:nowrap}th{font-size:9px;letter-spacing:.7px;color:#89948e;background:#fbfcfb;text-transform:uppercase}.student{font-weight:700;font-family:Karthika,Montserrat,sans-serif;font-size:14px}.classbadge{background:#f0f6f1;color:#28754f;padding:5px 9px;border-radius:6px;font-weight:700}.status{border:1px solid #e2e9e3;border-radius:7px;padding:7px 8px;background:#fff;font:11px Montserrat,sans-serif}.status.present{color:#187548;background:#edf8f0}.status.absent{color:#ba6e2d;background:#fff7eb}.save{margin:18px;border:0;background:#075b3b;color:#fff;border-radius:9px;padding:12px 16px;font:700 11px Montserrat,sans-serif;cursor:pointer}.empty{text-align:center;color:#9aa49e;padding:35px}.success{background:#e8f7ed;color:#075b38;padding:12px;border-radius:9px;margin-bottom:15px;font-size:12px}footer{color:#a0aaa4;font-size:10px;padding:24px 0}.login{max-width:960px;min-height:570px;margin:6vh auto;background:#fff;border-radius:22px;box-shadow:0 20px 60px #183e2512;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.login aside{background:#5968f6;color:#fff;padding:50px;position:relative;overflow:hidden}.login aside h1{font-size:29px;line-height:1.3;margin-top:65px}.login aside p{font-size:12px;line-height:1.8;color:#e3e6ff}.orb{position:absolute;bottom:-65px;right:-25px;width:260px;height:260px;border-radius:50%;background:#ffffff15;display:grid;place-items:center;font-size:100px;font-weight:800}.login section{padding:70px 55px}.login h2{font-size:28px;margin:12px 0}.login form{margin-top:35px}.login label{display:block;font-size:11px;font-weight:700;margin:17px 0 8px}.login input{width:100%;height:48px;border:1px solid #e1e5e3;border-radius:9px;padding:0 13px;font:12px Montserrat,sans-serif}.login button{width:100%;height:48px;margin-top:25px;border:0;border-radius:9px;background:#5968f6;color:#fff;font:700 12px Montserrat,sans-serif;cursor:pointer}.login button span{float:right;margin-right:15px}.back{display:block;text-align:center;margin-top:24px;color:#7f8983;font-size:11px;text-decoration:none}.error{background:#fff0ed;color:#a22d20;padding:10px;border-radius:8px;font-size:11px}@media(max-width:1000px){.sidebar{width:190px}.main{margin-left:190px}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.sidebar{position:relative;width:auto;height:auto;padding:15px 18px;display:block;border-right:0;border-bottom:1px solid #e7ece8}.sidebar nav{display:flex;gap:4px;margin:14px 0 0;flex-wrap:wrap}.sidebar nav a{padding:9px;font-size:10px}.logout{position:absolute;right:12px;top:12px;margin:0;font-size:10px}.main{margin:0;padding:22px 13px}.main header{align-items:flex-start;flex-direction:column}.stats{gap:9px}.stats article{padding:15px}.stats strong{font-size:25px}.panel-head{padding:16px;gap:10px;align-items:flex-start;flex-direction:column}.login{margin:12px;grid-template-columns:1fr}.login aside{display:none}.login section{padding:35px 25px}}.delete{border:1px solid #f0c9c5;background:#fff5f4;color:#b33b32;border-radius:8px;padding:8px 10px;font:600 11px Montserrat,Arial,sans-serif;cursor:pointer}.delete:hover{background:#b33b32;color:white}@media(max-width:640px){.delete{padding:7px 8px}}

.section-filter{padding:12px 18px}.table-filter{width:100%;max-width:440px;padding:11px 13px;border:1px solid #d9e1e8;border-radius:9px;font:inherit;background:#fff}.section-filter input:focus{outline:2px solid #b7d9ce}
