@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#182c35;background:#f3f6f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;background:#14776b;color:#fff;border:0;border-radius:8px;padding:12px 18px}button:hover{filter:brightness(.95)}input,select{padding:11px;border:1px solid #cbd6da;border-radius:7px;width:100%;background:#fff;color:#182c35}select[multiple]{min-height:140px}label{display:block;font-size:14px;margin:16px 0}label input,label select{margin-top:7px}input[type=checkbox]{width:auto;display:block}h1{font-size:30px;margin:8px 0 28px}h2{font-size:21px}p{line-height:1.6}.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}aside{background:#142f36;color:#e6f0f0;padding:32px 22px;display:flex;flex-direction:column}aside h2{font-size:27px;margin:0}aside p{font-size:10px;letter-spacing:2px;color:#89adb1}aside span,.brand span{color:#6ed5ac}nav{display:grid;gap:5px;margin:32px 0;flex:1}nav button{text-align:left;background:none;color:#b5cbce}nav button.selected{background:#244b51;color:#95efcf}aside small{margin:20px 0}main{padding:40px;min-width:0}header{display:flex;justify-content:space-between;align-items:start}header small{color:#6d838a;letter-spacing:1px;font-size:11px}.badge{background:#e2f3eb;color:#22794c;padding:8px 12px;border-radius:30px;font-size:12px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:14px 0 35px}article,section{background:#fff;border:1px solid #e0e8eb;border-radius:12px;padding:24px}article p{font-size:11px;letter-spacing:1px;color:#6d838a}article strong{font-size:38px;display:block;margin:15px 0}article small{color:#6d838a}.table{overflow:auto;background:#fff;border:1px solid #e0e8eb;border-radius:12px}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:13px}th{text-align:left;background:#eaf0f2;color:#526d76;padding:15px}td{padding:15px;border-top:1px solid #edf1f2}.toolbar{display:flex;gap:12px;margin:18px 0;align-items:center}.toolbar input{max-width:350px}.secondary{background:#e8eff0;color:#28515b}.error{background:#ffe9e6;color:#9a332c;padding:15px;border-radius:8px}.notice{background:#dff5e8;color:#186741;padding:15px;border-radius:8px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#102a3677;display:flex;justify-content:center;align-items:center;padding:20px;z-index:3}.modal{max-height:90vh;overflow:auto;width:620px}.login{max-width:480px;margin:8vh auto;background:#fff;border-radius:16px;padding:40px}.brand{font-size:42px;font-weight:700}.login button{width:100%;margin-top:12px}.punch{max-width:650px;margin:30px auto;text-align:center}.punch form{text-align:left}.punch button{width:100%;margin:20px 0}.clock{color:#14776b;text-transform:capitalize}.muted,.empty{color:#748891}.kiosk main{max-width:850px;margin:auto}a{color:#14776b}@media(max-width:850px){.shell{grid-template-columns:1fr}aside{padding:20px}nav{display:flex;flex-wrap:wrap;margin:15px 0}main{padding:20px}.cards{grid-template-columns:repeat(2,1fr)}header{gap:10px}.toolbar{flex-wrap:wrap}h1{font-size:24px}}.face-panel{max-width:760px;margin:24px auto}.camera-stage{position:relative;background:#142f36;border-radius:12px;overflow:hidden;aspect-ratio:4/3;max-width:640px;margin:18px auto}.camera-stage video{width:100%;height:100%;object-fit:contain;transform:scaleX(-1)}.camera-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#b5cbce}.consent{display:flex;gap:12px;align-items:center}.consent input[type=checkbox]{margin:0}.face-panel button{margin:6px 8px 6px 0}button:disabled{opacity:.5;cursor:not-allowed}.excel-tools{background:#fff;border:1px solid #e2e9e8;border-radius:14px;padding:18px;margin:18px 0}.excel-tools .toolbar{margin:0}.excel-tools details{margin-top:12px}.excel-tools input[type=file]{max-width:100%;padding:12px}.excel-preview{margin-top:18px}.excel-errors{max-height:320px;overflow:auto}.excel-tools summary{cursor:pointer;color:#28645d;font-weight:600}
