@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&display=swap";:root{color:#17221e;font-synthesis:none;background:#f4f7f5;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:#087552;text-decoration:none}.kiosk{color:#bcffd9;background-color:#030504;background-image:linear-gradient(#00ff8c08 1px,#0000 1px),linear-gradient(90deg,#00ff8c08 1px,#0000 1px),radial-gradient(circle at 50% 15%,#07321e 0,#030504 58%);background-position:0 0;background-repeat:repeat;background-size:28px 28px,28px 28px,auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;place-items:center;min-height:100vh;padding:28px;font-family:DM Mono,monospace;display:grid;position:relative}.kiosk:before{content:"";pointer-events:none;opacity:.35;background:repeating-linear-gradient(0deg,#0000 0 3px,#0004 4px);position:fixed;inset:0}.admin-link{color:#56e99a;z-index:1;align-items:center;gap:7px;font-size:13px;display:flex;position:absolute;top:24px;right:28px}.admin-link:hover{color:#c6ffdf;text-shadow:0 0 10px #0f8}.kiosk-card{background:#050a07ef;border:1px solid #18dc72;border-radius:3px;width:min(760px,100%);padding:24px;position:relative;box-shadow:0 0 0 1px #0a4d2a,0 0 45px #00ff8424}.kiosk-card:before{content:"OASE_TERMINAL v1.0";color:#18dc72;background:#030504;padding:2px 8px;font-size:11px;position:absolute;top:-11px;left:16px}.kiosk-header{align-items:center;gap:13px;margin-bottom:18px;display:flex}.kiosk-header h1{color:#43ff98;letter-spacing:.08em;text-shadow:0 0 12px #00ff8870;margin:0;font-size:23px}.kiosk-header p{color:#83cda5;margin:5px 0 0;font-size:13px}.page-title p,.login-card p{color:#718078;margin:3px 0}.brand-mark{color:#43ff98;background:#07170e;border:1px solid #24ed80;border-radius:2px;place-items:center;width:48px;height:48px;font-size:18px;font-weight:500;display:grid;box-shadow:inset 0 0 16px #00ff8820}.brand-mark.large{border-radius:18px;width:58px;height:58px;margin:auto;font-size:30px}.terminal-cursor{animation:1s step-end infinite terminal-blink}.terminal-label,.terminal-footer{color:#3abf78;letter-spacing:.08em;font-size:11px}.terminal-label{margin:0 0 7px}.terminal-footer{text-align:center;margin:17px 0 -5px}.camera-frame{aspect-ratio:16/9;background:#020403;border:1px solid #168c4b;border-radius:2px;position:relative;overflow:hidden;box-shadow:inset 0 0 30px #000}.camera-frame:after{content:"REC ●";color:#44ff9a;text-shadow:0 0 8px #0f8;font:11px DM Mono,monospace;position:absolute;top:10px;right:12px}.camera-frame video{object-fit:cover;filter:saturate(.65)contrast(1.08)brightness(.82);width:100%;height:100%;transform:scaleX(-1)}.face-guide{border:1px dashed #54ffa3;border-radius:48%;position:absolute;inset:16% 32%;box-shadow:0 0 0 999px #00110826,0 0 18px #00ff8850}.camera-error{color:#f66;text-align:center;place-items:center;height:100%;padding:30px;display:grid}.action-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px;display:grid}.attendance-button{color:#7cffb5;background:#06120b;border:1px solid #168c4b;border-radius:2px;flex-direction:column;align-items:center;gap:7px;padding:15px 8px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s,transform .15s;display:flex}.attendance-button:hover:not(:disabled){color:#d3ffe6;background:#0b2a18;transform:translateY(-1px);box-shadow:0 0 15px #00ff8838}.attendance-button:active:not(:disabled){transform:translateY(1px)}.attendance-button svg{width:22px}.kiosk .green,.kiosk .blue,.kiosk .amber,.kiosk .violet{background:#06120b}.notice{border:1px solid;border-radius:2px;margin-top:12px;padding:11px 14px;font-size:13px}.kiosk .success{color:#67ffa9;background:#06170d;border-color:#168c4b}.kiosk .danger{color:#ff8080;background:#1b0808;border-color:#9e2929}.attendance-modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;place-items:center;padding:20px;animation:.18s ease-out modal-fade;display:grid;position:fixed;inset:0}.attendance-modal{text-align:center;background:#050b07;border:1px solid #2cff8d;border-radius:2px;width:min(460px,100%);padding:34px;animation:.2s ease-out modal-enter;position:relative;box-shadow:0 0 0 1px #0b542d,0 0 60px #00ff8840}.attendance-modal:before{content:"CONFIRMATION_DIALOG";color:#32e983;background:#030504;padding:2px 8px;font-size:11px;position:absolute;top:-11px;left:14px}.modal-close{color:#58c888;background:0 0;border:0;padding:5px;position:absolute;top:10px;right:10px}.modal-close:hover{color:#fff}.modal-close svg{width:20px;height:20px}.modal-success-icon{color:#36ff91;filter:drop-shadow(0 0 9px #0f8);width:58px;height:58px;margin-bottom:8px}.modal-status{color:#36ff91;letter-spacing:.12em;font-size:12px}.attendance-modal h2{color:#c9ffdf;letter-spacing:.05em;margin:12px 0;font-size:21px}.modal-name{color:#64ffa8;margin:10px 0;font-size:17px}.modal-time{color:#99c9ad}.modal-time strong{color:#fff;letter-spacing:.08em;text-shadow:0 0 10px #0f8;margin-top:7px;font-size:32px;display:block}.modal-confirm{color:#baffd8;background:#0b351c;border:1px solid #28e77e;border-radius:2px;width:100%;margin-top:18px;padding:12px;font-weight:500}.modal-confirm:hover,.modal-confirm:focus{outline-offset:2px;background:#11602f;outline:1px solid #8affbc}@keyframes terminal-blink{50%{opacity:0}}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-enter{0%{opacity:0;transform:scale(.94)translateY(8px)}}.center-page,.login-page{place-items:center;min-height:100vh;display:grid}.login-page{background:#071a14;padding:20px}.login-card{text-align:center;background:#fff;border-radius:24px;gap:18px;width:min(420px,100%);padding:34px;display:grid}.login-card h1{margin:0}.login-card label,.panel label{text-align:left;gap:7px;font-size:14px;font-weight:600;display:grid}.login-card input,.panel input,.report-tools input{border:1px solid #d9e1dd;border-radius:10px;outline:none;padding:11px 12px}.login-card input:focus,.panel input:focus{border-color:#087552;box-shadow:0 0 0 3px #0875521a}.primary,.secondary{border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-weight:700;display:inline-flex}.primary{color:#fff;background:#087552}.admin-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.admin-shell aside{color:#d3e5de;background:#0b241b;flex-direction:column;padding:24px 14px;display:flex}.side-brand{align-items:center;gap:10px;padding:0 10px 28px;display:flex}.admin-shell nav{gap:7px;display:grid}.admin-shell nav button,.logout{color:#b7cbc3;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.admin-shell nav button svg,.logout svg{width:19px}.admin-shell nav button.active{color:#fff;background:#164735}.logout{margin-top:auto}.admin-content{min-width:0;padding:36px}.page-title{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.page-title h1{margin:0;font-size:28px}.two-col{grid-template-columns:minmax(300px,420px) 1fr;gap:20px;display:grid}.panel{background:#fff;border:1px solid #e1e8e4;border-radius:16px;padding:22px;box-shadow:0 5px 20px #11223308}.panel h2{margin:0 0 18px;font-size:18px}.panel>label{margin-top:10px;margin-bottom:14px}.panel>.camera-frame{margin:15px 0}.panel>.primary,.panel>.secondary{width:100%;margin-top:8px}.form-message{color:#286d55;font-size:13px}.employee-list{display:grid}.employee-row{border-bottom:1px solid #edf1ef;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.avatar{color:#087552;background:#dcece5;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:700;display:grid}.employee-row small,table small{color:#76847e;margin-top:3px;display:block}.status{color:#087552;background:#dff5eb;border-radius:20px;padding:4px 8px;font-size:12px}.status.off{color:#666;background:#eee}.settings-form{max-width:700px}.form-grid{grid-template-columns:1fr 1fr;gap:4px 18px;display:grid}.report-tools{gap:10px;margin-bottom:16px;display:flex}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e8eeeb;padding:13px;font-size:14px}th{color:#697771;text-transform:uppercase;font-size:12px}.percentage{color:#087552;font-weight:700}@media (width<=800px){.action-grid{grid-template-columns:1fr 1fr}.admin-shell{display:block}.admin-shell aside{position:static}.admin-shell nav{grid-template-columns:repeat(3,1fr)}.logout{margin-top:12px}.admin-content{padding:22px}.two-col{grid-template-columns:1fr}.page-title{align-items:flex-start;gap:10px}.page-title a{font-size:13px}.form-grid{grid-template-columns:1fr}}@media (width<=480px){.kiosk{padding:58px 10px 10px}.kiosk-card{border-radius:18px;padding:14px}.admin-link{background:#06120b;border:1px solid #168c4b;border-radius:2px;padding:8px 10px;display:flex;top:14px;right:10px}.attendance-button{font-size:13px}.admin-shell nav button{justify-content:center;font-size:0}}.admin-shell .brand-mark,.login-page .brand-mark{color:#fff;width:42px;height:42px;box-shadow:none;background:#087552;border:0;border-radius:13px;font-size:22px;font-weight:700}.admin-shell .camera-frame{box-shadow:none;background:#101715;border:0;border-radius:18px}.admin-shell .camera-error{color:#fff}.center-page,.login-page,.admin-shell{color:#bcffd9;background-color:#030504;background-image:linear-gradient(#00ff8c08 1px,#0000 1px),linear-gradient(90deg,#00ff8c08 1px,#0000 1px),radial-gradient(circle at 50% 15%,#07321e 0,#030504 58%);background-size:28px 28px,28px 28px,auto;font-family:DM Mono,monospace}.login-page{position:relative}.login-page:before,.admin-shell:before{content:"";pointer-events:none;opacity:.35;z-index:0;background:repeating-linear-gradient(0deg,#0000 0 3px,#0004 4px);position:fixed;inset:0}.login-card{z-index:1;text-align:left;background:#050a07ef;border:1px solid #18dc72;border-radius:3px;padding:28px;position:relative;box-shadow:0 0 0 1px #0a4d2a,0 0 45px #00ff8424}.login-card:before{content:"SECURE_LOGIN";color:#18dc72;background:#030504;padding:2px 8px;font-size:11px;position:absolute;top:-11px;left:16px}.login-card .brand-mark{margin:8px auto}.login-card h1{text-align:center;color:#43ff98;letter-spacing:.08em;text-shadow:0 0 12px #00ff8870}.login-card p{text-align:center;color:#83cda5}.login-card label,.panel label{color:#69d99a;letter-spacing:.05em;font-family:DM Mono,monospace;font-size:12px}.login-card input,.panel input,.report-tools input{color:#d0ffe3;background:#020604;border:1px solid #168c4b;border-radius:2px;padding:11px 12px}.login-card input:focus,.panel input:focus,.report-tools input:focus{border-color:#43ff98;outline:none;box-shadow:0 0 0 2px #0f82}.login-card a{color:#56e99a;text-align:center;font-size:12px}.login-card .danger{color:#ff8080;background:#1b0808;border-color:#9e2929}.primary,.secondary{color:#baffd8;background:#0b351c;border:1px solid #28e77e;border-radius:2px;font-family:DM Mono,monospace;font-weight:500}.primary:hover,.secondary:hover{background:#11602f;box-shadow:0 0 15px #00ff8838}.secondary{color:#67ffa9;background:#07170e}.admin-shell{position:relative}.admin-shell aside,.admin-content{z-index:1;position:relative}.admin-shell aside{color:#bcffd9;background:#030806ed;border-right:1px solid #168c4b;padding:24px 14px}.side-brand{border-bottom:1px solid #114d2c;margin:0 4px 24px;padding:0 6px 20px}.side-brand strong{color:#43ff98;letter-spacing:.06em;display:block}.side-brand small{color:#3abf78;margin-top:4px;font-size:10px;display:block}.admin-shell .brand-mark,.login-page .brand-mark{color:#43ff98;background:#07170e;border:1px solid #24ed80;border-radius:2px;font-weight:500;box-shadow:inset 0 0 16px #00ff8820}.login-page .brand-mark.large{width:58px;height:58px;font-size:18px}.admin-shell nav button,.logout{color:#78c99c;border:1px solid #0000;border-radius:2px;font-family:DM Mono,monospace;font-size:12px}.admin-shell nav button:hover,.logout:hover{color:#bcffd9;background:#07170e;border-color:#145c34}.admin-shell nav button.active{color:#d3ffe6;background:#0b2a18;border-color:#24ed80;box-shadow:inset 3px 0 #43ff98,0 0 12px #00ff881c}.logout{color:#ff8080}.admin-content{padding:34px}.page-title{border-bottom:1px solid #145c34;padding-bottom:18px}.page-title h1{color:#43ff98;letter-spacing:.06em;text-shadow:0 0 10px #00ff8840;font-size:25px}.page-title p{color:#83cda5;margin-top:6px;font-size:13px}.page-title a{color:#67ffa9;border:1px solid #168c4b;border-radius:2px;padding:10px 12px;font-size:11px}.page-title a:hover{background:#0b2a18;box-shadow:0 0 12px #00ff8830}.panel{background:#050a07ef;border:1px solid #168c4b;border-radius:2px;position:relative;box-shadow:0 0 22px #00ff8410}.panel:before{content:"[ DATA_MODULE ]";color:#3abf78;background:#030504;padding:1px 7px;font-size:9px;position:absolute;top:-9px;right:12px}.panel h2{color:#baffd8;letter-spacing:.04em;font-size:16px}.form-message{color:#67ffa9}.employee-row{border-color:#123b25}.employee-row strong{color:#d0ffe3}.employee-row small,table small{color:#67a982}.avatar{color:#43ff98;background:#07170e;border:1px solid #168c4b;border-radius:2px}.status{color:#67ffa9;background:#06170d;border:1px solid #168c4b;border-radius:2px}.status.off{color:#999;background:#111;border-color:#555}.admin-shell .camera-frame{background:#020403;border:1px solid #168c4b;border-radius:2px;box-shadow:inset 0 0 30px #000}.admin-shell .camera-frame:after{content:"REC ●"}.admin-shell .camera-frame video{filter:saturate(.65)contrast(1.08)brightness(.82)}.admin-shell .face-guide{border:1px dashed #54ffa3;box-shadow:0 0 0 999px #00110826,0 0 18px #00ff8850}.table-wrap{border-color:#168c4b}th,td{color:#b8ddc7;border-color:#123b25}th{color:#55c888}.percentage{color:#43ff98;text-shadow:0 0 7px #00ff8850}.report-tools input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width<=800px){.admin-shell aside{border-bottom:1px solid #168c4b;border-right:0}.admin-shell nav{grid-template-columns:repeat(4,1fr)}.side-brand{margin-bottom:14px}.admin-content{padding:22px}.page-title{flex-direction:column}.page-title a{margin-top:8px}}@media (width<=480px){.admin-shell nav button{font-size:0}.admin-shell nav button svg{margin:0}.login-card{padding:24px 18px}.admin-content{padding:16px}.panel{padding:17px}}.employee-form-title{justify-content:space-between;align-items:center;display:flex}.employee-form-title h2{margin-bottom:18px}.icon-button{color:#67ffa9;background:#07170e;border:1px solid #168c4b;border-radius:2px;place-items:center;width:34px;height:34px;display:grid}.icon-button:hover{background:#11602f}.icon-button svg{width:16px}.employee-actions{align-items:center;gap:8px;display:flex}.employee-row.selected{background:#0b2a18;padding-left:10px;padding-right:8px;box-shadow:inset 3px 0 #43ff98}.checkbox-label{align-items:center;grid-template-columns:none!important;gap:9px!important;display:flex!important}.checkbox-label input{accent-color:#28e77e;width:16px;height:16px;padding:0}.panel select{color:#d0ffe3;background:#020604;border:1px solid #168c4b;border-radius:2px;outline:none;padding:11px 12px}.panel select:focus{border-color:#43ff98;box-shadow:0 0 0 2px #0f82}.admin-modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;place-items:center;padding:20px;animation:.18s ease-out modal-fade;display:grid;position:fixed;inset:0}.admin-modal{color:#b8ddc7;text-align:center;background:#050b07;border:1px solid #ff6262;width:min(440px,100%);padding:30px;animation:.2s ease-out modal-enter;position:relative;box-shadow:0 0 0 1px #6b2525,0 0 55px #ff303025}.admin-modal .modal-status{color:#ff7676}.admin-modal h2{color:#ffd1d1;font-size:20px}.admin-modal strong{color:#fff}.admin-modal .primary{width:100%;margin-top:12px}.danger-button{color:#faa;background:#2a0d0d;border:1px solid #e05252;border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-family:DM Mono,monospace;font-weight:500;display:inline-flex}.danger-button:hover:not(:disabled){background:#531717;box-shadow:0 0 15px #ff303030}.panel>.danger-button{width:100%;margin-top:8px}.modal-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.modal-actions button{width:100%}@media (width<=480px){.employee-row{grid-template-columns:36px 1fr}.employee-actions{grid-column:2;justify-content:flex-end}.avatar{width:36px;height:36px}}.panel select,.panel textarea{font:inherit;color:#d0ffe3;background:#020604;border:1px solid #168c4b;border-radius:2px;outline:none;padding:11px 12px}.panel select:focus,.panel textarea:focus{border-color:#43ff98;box-shadow:0 0 0 2px #0f82}.panel textarea{resize:vertical}
