:root{--ink:#17243a;--muted:#718098;--bg:#f5f7fb;--border:#e5eaf1;--blue:#315bec;--nav:#111c31;--green:#0fa877}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px/1.5 Inter,system-ui,-apple-system,'Segoe UI',Arial;color:var(--ink)}a{color:var(--blue);text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.8px;margin:5px 0 0}h2{font-size:18px;letter-spacing:-.3px;margin-bottom:10px}h3{font-size:15px}.muted,.panel p,.sectionhead p{color:var(--muted)}.layout{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;width:244px;height:100vh;background:var(--nav);padding:26px 16px;color:#fff;flex:none;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;letter-spacing:-.5px;margin-bottom:53px;padding:0 10px}.brand small{display:block;letter-spacing:2px;font-size:9px;font-weight:600;color:#a7bad4;margin-top:-2px}.brandlogo{display:grid;place-items:center;width:37px;height:37px;background:#4c70f5;color:#fff;border-radius:12px;font-weight:900;font-size:24px}.navlabel,.eyebrow{letter-spacing:2px;font-size:10px;color:#8296b2;font-weight:800;margin:0 13px 12px}.navlink{display:flex;gap:13px;align-items:center;color:#a5b1c7;padding:13px;border-radius:10px;margin:2px 0;font-weight:600}.navlink span{font-size:19px}.navlink:hover,.navlink.active{background:#253756;color:#fff}.navfooter{margin-top:auto;border-top:1px solid #34415a;padding:20px 12px;color:#acb6c8}.navfooter small{display:block;margin-bottom:8px}.navfooter a{color:#fff}.main{flex:1;min-width:0;padding:26px 35px 60px;max-width:1800px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px}.topbar .eyebrow{margin:0;color:#8994a5}.topright{display:flex;gap:18px;align-items:center;color:#66748c;font-size:12px}.pill{background:#e9f8ef;color:#129665;border-radius:20px;padding:8px 14px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0 24px}.metric,.panel{background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:0 6px 26px rgba(24,40,71,.035)}.metric{padding:22px}.metric small{font-size:10px;color:#79869c;letter-spacing:1px;font-weight:800}.metric strong{display:block;font-size:29px;letter-spacing:-1px;margin:9px 0 4px}.metric span{font-size:12px;color:#8690a3}.panel{padding:24px;margin-bottom:18px}.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(285px,1fr);gap:18px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px}.sectionhead h2,.sectionhead p{margin:0}.sectionhead p{margin-top:3px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;padding:10px 16px;min-height:40px;border-radius:9px;font-weight:700;white-space:nowrap;gap:7px}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:#1b44d1}.btn.outline{border-color:#d9e0eb;background:#fff;color:#40506a}.btn:hover{filter:brightness(.98)}.btn.block{width:100%}.tablewrap{overflow:auto}.panel.tablewrap{padding:0}table{border-collapse:collapse;width:100%;white-space:nowrap}th{background:#f8fafd;font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#7a879d;text-align:left;padding:16px;font-weight:800;border-bottom:1px solid var(--border)}td{padding:15px 16px;border-bottom:1px solid #f0f2f6;color:#4b5a70;font-size:13px}tr:last-child td{border-bottom:0}td b{color:#25344d;font-weight:700}td small{display:block;color:#9aa4b1;margin-top:3px}.tag{display:inline-block;font-size:11px;font-weight:750;padding:5px 10px;border-radius:20px}.tag.green{background:#e2f8ef;color:#0e926b}.tag.orange{background:#fff3e0;color:#b97816}.actions{display:flex;gap:8px;flex-wrap:wrap}.filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:18px}.filters input,.filters select{min-height:41px;max-width:290px}.filters.advanced input,.filters.advanced select{max-width:235px}.filters input[name=search],.filters input[name=q]{min-width:200px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #dbe2ec;border-radius:9px;background:#fff;outline:none;color:#25344d}input:focus,select:focus{border-color:#7693f4;box-shadow:0 0 0 3px #eaf0ff}label{font-weight:650;font-size:12px;color:#506078;display:block;margin-bottom:16px}label input,label select{display:block;margin-top:7px;font-weight:400}.formgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}.formactions{display:flex;justify-content:flex-end;gap:10px}.notice,.error{padding:13px 16px;border-radius:10px;margin-bottom:18px;background:#e8f8ee;color:#107b51}.error{background:#feeceb;color:#bf3737}.empty{text-align:center;padding:35px}.quickaction{display:flex;gap:14px;align-items:center;padding:19px 0;border-bottom:1px solid var(--border);font-size:20px}.quickaction span{flex:1}.quickaction b,.quickaction small{display:block;font-size:13px}.quickaction small{color:#91a0b1;margin-top:5px}.face-layout{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap}.videobox{position:relative;width:390px;max-width:100%;height:290px;background:#0e1b30;border-radius:15px;overflow:hidden}.videobox video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.videobox.large{width:100%;height:390px}.camera-label{position:absolute;left:14px;bottom:13px;padding:6px 12px;border-radius:8px;background:rgba(0,0,0,.65);color:#fff;font-size:12px}.facecontrols{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:340px}.facecontrols p{margin:0}.hint{font-size:12px;color:#93a0b1}.terminal{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr);gap:20px}.terminalactions{display:flex;gap:10px;margin:14px 0}.attendresult{text-align:center;border:1px dashed #cbd7eb;background:#f9fbff;padding:40px 14px;border-radius:13px;margin:24px 0}.attendresult p{font-size:17px;font-weight:700;margin-bottom:4px}.resulticon{font-size:43px;color:#7089cc;display:block}.resulticon.ok{color:#0fa877}.resulticon.away{color:#e49a43}.tip{border-top:1px solid var(--border);padding-top:15px;margin-top:20px}.tip p{margin:6px 0}.inline{margin:0;display:flex;align-items:center;gap:10px}.inline input{margin:0}.authpage{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.authhero{background:linear-gradient(155deg,#142749,#111c31);color:white;padding:65px;position:relative}.authhero .brand{padding:0}.brand.huge{font-size:28px}.authhero h2{font-size:clamp(38px,5vw,68px);line-height:1.12;letter-spacing:-3px;margin-top:18vh}.authhero h2 em{color:#839eff;font-style:normal}.authhero p{color:#b1c4e0;max-width:480px;font-size:16px}.authfooter{position:absolute;bottom:55px;font-size:12px;color:#8497b1}.authform{display:flex;align-items:center;justify-content:center;padding:28px}.loginbox{width:min(400px,100%)}.loginbox h2{font-size:27px}.loginbox .eyebrow{margin:0 0 12px}.loginbox p{margin-bottom:27px}.loginbox label{margin-bottom:18px}.loginbox .hint{text-align:center;margin-top:22px}.setup{padding:25px}.setup .panel{box-shadow:0 15px 50px #2231}.setup label{margin-top:20px}@media(max-width:1050px){.main{padding:25px 20px}.metrics{grid-template-columns:repeat(2,1fr)}.split,.terminal{grid-template-columns:1fr}.formgrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{width:68px;padding:22px 6px}.sidebar .brand{font-size:0;padding:0;margin-bottom:50px;justify-content:center}.sidebar .brand small,.navlabel,.navfooter,.navlink{font-size:0}.navlink{justify-content:center;gap:0}.navlink span{font-size:24px}.topright{display:none}.main{padding:18px 10px}.metrics{gap:10px}.metric{padding:13px}.metric strong{font-size:24px}.panel{padding:14px}.formgrid{grid-template-columns:1fr}.authpage{grid-template-columns:1fr}.authhero{display:none}.authform{min-height:100vh}.terminal{grid-template-columns:1fr}}

/* v4.4: real-time biometric tracker; coordinates mirrored to video */
.face-tracking-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;transform:scaleX(1);z-index:2;}
.videobox:has(.face-tracking-overlay) .camera-label{z-index:3}
