:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#202b3a;background:#f3f5f8;font-size:16px}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:240px;position:fixed;inset:0 auto 0 0;background:#142132;color:white;padding:34px 24px;display:flex;flex-direction:column}.brand{font-size:36px;font-weight:900;font-style:italic;letter-spacing:-1px}.brand span{display:block;font-size:12px;letter-spacing:5px;font-style:normal;color:#fb747b;margin-top:5px}.muted{color:#95a1b3;font-size:12px;margin:40px 0 18px}nav{display:grid;gap:8px}button,a,input,select,textarea{font:inherit}button{border:0;background:#d92d39;color:white;border-radius:8px;padding:12px 18px;cursor:pointer;font-weight:600}button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible{outline:3px solid #6ca5fd;outline-offset:3px}nav button{text-align:left;background:transparent;color:#b8c3d2;font-size:15px}nav button.active{background:#334155;color:white;border-left:3px solid #f1434c}.aside-bottom{margin-top:auto;font-size:14px;color:#b8c3d2;line-height:1.8}.aside-bottom small{font-size:12px}main{margin-left:240px;width:calc(100% - 240px);padding:0 36px 40px}.demo{background:#fff0da;color:#795219;font-size:13px;padding:12px 18px;margin:0 -36px 32px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:1.8px;color:#6b7789;font-weight:700}h1{font-size:32px;letter-spacing:-1px;margin:12px 0 8px}h2{font-size:20px;margin:0 0 12px}p{line-height:1.6;color:#637084;margin:6px 0 18px}label{display:grid;gap:7px;font-size:14px;color:#526075;margin-bottom:14px}input,select,textarea{border:1px solid #d4dae3;border-radius:7px;padding:10px;background:white;color:#202b3a;min-width:0;width:100%}input[type=checkbox]{width:auto}textarea{min-height:75px}.filters{display:flex;gap:12px}.filters label{max-width:230px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.card,.panel{background:white;border:1px solid #e1e6ed;border-radius:12px;padding:22px}.card b{display:block;font-size:34px;margin:12px 0 5px}.card span{font-size:14px;color:#647187}.card.red{border-top:3px solid #d92d39}.card.green{border-top:3px solid #218573}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.toolbar p{margin:0}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:#718095;background:#f6f8fa;padding:14px}td{padding:16px 14px;border-bottom:1px solid #edf0f4}td strong{display:block;font-size:15px}td small{color:#788497}.table-wrap{overflow:auto}.badge{display:inline-block;padding:6px 10px;border-radius:5px;background:#eef1f5;color:#526075;font-size:13px;white-space:nowrap}.badge.red{background:#fff0f0;color:#b52b35}.badge.green{background:#e5f5ed;color:#257456}.badge.amber{background:#fff4de;color:#886315}.secondary{background:#edf1f6;color:#344255}.small{padding:8px 12px;font-size:13px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.notice{background:#eef4ff;padding:14px;border-radius:8px;font-size:14px;color:#435e83;margin-bottom:20px}.empty{padding:35px;text-align:center;color:#788497}.kiosk{max-width:680px;margin:auto}.kiosk h2{font-size:27px}.camera{background:#152031;border-radius:12px;min-height:190px;display:grid;place-items:center;color:#c4cede;margin:15px 0;overflow:hidden}.camera video,.camera img{max-height:300px;width:100%;object-fit:contain}.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1}.check{display:flex;align-items:center;gap:9px}.schedule{display:grid;grid-template-columns:90px repeat(4,1fr);gap:8px;align-items:center;margin-bottom:10px}.schedule input{padding:8px;font-size:14px}.schedule span{font-size:13px}dialog{border:0;border-radius:14px;padding:28px;max-width:660px;width:calc(100% - 32px);max-height:90vh;box-shadow:0 20px 70px #0004}dialog::backdrop{background:#13203388}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}#formError{color:#ad2633}#toast{position:fixed;bottom:24px;right:24px;background:#192e40;color:white;padding:15px 22px;border-radius:8px;display:none;z-index:100}a{color:#a72532}.photo{width:70px;height:55px;object-fit:cover;border-radius:6px}.hint{font-size:13px;color:#718095}@media(max-width:1050px){aside{width:195px;padding:25px 15px}main{margin-left:195px;width:calc(100% - 195px);padding:0 20px 25px}.demo{margin:0 -20px 25px}header{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){body{display:block}aside{position:static;width:100%;padding:15px}.brand{font-size:25px}.brand span{display:inline;margin-left:12px}.muted,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:15px}nav button{white-space:nowrap;padding:10px}main{margin:0;width:100%;padding:0 14px 25px}.demo{margin:0 -14px 22px;padding:10px 14px}.filters{width:100%}.filters label{width:50%}h1{font-size:28px}.grid{grid-template-columns:1fr}.card,.panel{padding:16px}.schedule{grid-template-columns:55px repeat(4,1fr);gap:3px}.schedule input{padding:4px;font-size:12px}.schedule span{font-size:12px}.cards{gap:10px}.card b{font-size:28px}}
[hidden]{display:none!important}
aside{overflow-y:auto}aside>*{flex-shrink:0}nav button{flex-shrink:0}.employee-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:20px}.employee-choice{display:flex;gap:12px;border:1px solid #ccd2dc;border-radius:10px;padding:14px;cursor:pointer}.employee-choice:has(input:checked){border:2px solid #d92335;background:#fff5f5}.employee-choice input{width:auto;flex-shrink:0}.employee-choice span span,.employee-choice small{display:block;margin-top:6px}.pending-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #eee}

@media(max-width:650px){body[data-role=puesto] nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}body[data-role=puesto] nav button{white-space:normal;text-align:center}body[data-role=puesto] nav [data-view=pending]{grid-column:1/-1}}
.employee-face-card{border:1px solid #d4dae3;border-radius:10px;padding:10px;background:#fff}.employee-face-card .employee-choice{margin-bottom:8px}.employee-face-card>button{width:100%;margin-bottom:6px}

.face-capture-stage{position:relative;width:100%;max-width:420px;margin:0 auto;line-height:0;background:#152031;overflow:hidden;border-radius:12px;isolation:isolate}.face-capture-stage video,.camera .face-capture-stage video{display:block;width:100%;height:auto;max-height:none;object-fit:contain}.face-framing-guide{position:absolute;left:20%;right:20%;top:11%;bottom:11%;border:3px solid white;border-radius:24px;box-shadow:0 0 0 2000px #07152566,0 0 0 1px #152031;pointer-events:none}.face-framing-guide:before,.face-framing-guide:after{content:'';position:absolute;left:50%;height:10px;border-left:2px solid white}.face-framing-guide:before{top:-3px}.face-framing-guide:after{bottom:-3px}
.face-reference{display:flex;align-items:center;gap:14px;background:#eef4ff;border:1px solid #d6e2f3;border-radius:10px;padding:12px;margin:16px 0}.face-reference img{width:88px;height:104px;object-fit:contain;background:white;border-radius:8px;flex-shrink:0}.face-reference strong{display:block}.face-reference small{display:block;color:#526075;margin-top:6px}
#liveInstruction{font-size:20px;line-height:1.35}#liveArrow{position:absolute;inset:10px auto auto 10px;background:#142132d9;color:white;font-size:42px;line-height:1;padding:8px 14px;border-radius:10px;pointer-events:none}#liveProgress{font-weight:700;color:#25446f}#liveHint{margin-top:12px}
