:root{--bg:#f4f7fb;--card:#fff;--text:#07162d;--muted:#66758c;--brand:#1677ff;--brand2:#075fed;--dark:#06182c;--dark2:#020b16;--ok:#12b76a;--warn:#ff8a00;--danger:#f04438;--purple:#7a35f8;--line:#e7edf6;--soft:#f8fbff;--shadow:0 14px 34px rgba(9,30,66,.07);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;letter-spacing:-.01em}a{color:var(--brand);text-decoration:none}.admin-shell{display:flex;min-height:100vh}.sidebar{width:276px;background:linear-gradient(180deg,#061f3b 0%,#06172b 45%,#020914 100%);color:#fff;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:24px 18px;box-shadow:10px 0 28px rgba(2,11,22,.12);z-index:5}.brand{display:flex;gap:13px;align-items:center;margin-bottom:26px}.brand-shield{width:54px;height:54px;border:1.5px solid #2582ff;border-radius:17px;background:rgba(22,119,255,.12);display:grid;place-items:center;color:#fff}.brand strong{display:block;font-size:24px;letter-spacing:.03em;line-height:.9}.brand em{display:block;font-style:normal;font-size:18px;letter-spacing:.04em;font-weight:800}.brand span{display:block;color:#a9bad0;font-size:12px;margin-top:4px}.side-nav{display:grid;gap:4px;overflow:auto;padding-right:2px}.nav-label{margin:14px 8px 5px;color:#91a4bb;text-transform:uppercase;font-size:11px;letter-spacing:.06em}.side-nav a,.logout{display:flex;align-items:center;gap:12px;color:#eef6ff;padding:11px 12px;border-radius:11px;font-weight:700;font-size:14px}.side-nav a.active{background:#0f73ff;box-shadow:0 10px 24px rgba(15,115,255,.22)}.side-nav a:hover,.logout:hover{background:rgba(255,255,255,.08)}.nav-ico{width:24px;height:24px;display:grid;place-items:center;color:#fff}.logout{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);border-radius:0;padding-top:22px}.workspace{margin-left:276px;width:calc(100% - 276px)}.topbar{height:66px;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:3}.top-left,.top-actions{display:flex;align-items:center;gap:16px}.topbar h1{font-size:22px;margin:0;font-weight:900;letter-spacing:-.03em}.menu-btn{width:42px;height:42px;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;cursor:pointer}.bell,.help{width:32px;height:32px;display:grid;place-items:center;position:relative;font-weight:900}.bell b{position:absolute;right:-3px;top:-3px;background:#ff342e;color:#fff;border-radius:999px;font-size:9px;min-width:17px;height:17px;display:grid;place-items:center}.help{border:1.5px solid #17243b;border-radius:50%;font-size:16px}.avatar-admin{width:38px;height:38px;border-radius:50%;background:#edf2f8;position:relative}.avatar-admin:after{content:'';position:absolute;left:11px;top:8px;width:15px;height:15px;border-radius:50%;background:#566987}.user-pill{color:var(--muted);font-size:12px;line-height:1.2}.user-pill span{display:block;color:var(--text);font-size:14px;font-weight:900}.content{max-width:1680px;margin:0 auto;padding:22px}.ui-icon{width:20px;height:20px;display:block;flex:0 0 auto}.brand-shield .ui-icon{width:30px;height:30px}.nav-ico .ui-icon{width:18px;height:18px}.menu-btn .ui-icon,.bell .ui-icon{width:20px;height:20px}.card,.stat,.kpi-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:20px}.card-head,.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.card h2,.stat h2{margin:0;font-size:18px;letter-spacing:-.03em}.card p.hint,.hint{color:var(--muted);line-height:1.5}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border-radius:12px;padding:11px 15px;font-weight:850;cursor:pointer;box-shadow:0 10px 24px rgba(22,119,255,.18)}.btn.ghost,.btn.secondary{background:#fff;color:var(--text);border:1px solid var(--line);box-shadow:none}.btn.blue-text{color:var(--brand)}.btn.danger{background:#fee4e2;color:#b42318}.btn .ui-icon,button .ui-icon{width:18px;height:18px}.grid,.kpi-grid,.kpi-grid-clean{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:18px;margin-bottom:18px}.kpi-card{min-height:122px;padding:18px;display:grid;grid-template-columns:58px 1fr 135px;gap:14px;align-items:center;overflow:hidden}.kpi-card.clean{grid-template-columns:58px 1fr;overflow:visible}.kpi-icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;color:#fff}.kpi-icon.blue{background:#0f73ff}.kpi-icon.green{background:#12b76a}.kpi-icon.orange{background:#ff8a00}.kpi-icon.purple{background:#7a35f8}.kpi-icon .ui-icon{width:27px;height:27px}.kpi-card span{display:block;color:#344967;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;line-height:1.2}.kpi-card b{display:block;font-size:32px;line-height:1;margin:7px 0 6px}.kpi-card small{display:block;color:var(--muted);font-size:13px;line-height:1.25}.spark{height:60px;align-self:end;background:linear-gradient(180deg,rgba(22,119,255,.15),rgba(22,119,255,.02));clip-path:polygon(0 88%,13% 80%,25% 83%,38% 55%,50% 70%,63% 36%,76% 52%,89% 24%,100% 34%,100% 100%,0 100%)}.spark.green{background:linear-gradient(180deg,rgba(18,183,106,.16),rgba(18,183,106,.02))}.spark.orange{background:linear-gradient(180deg,rgba(255,138,0,.16),rgba(255,138,0,.02))}.spark.purple{background:linear-gradient(180deg,rgba(122,53,248,.16),rgba(122,53,248,.02))}.dash-two{display:grid;grid-template-columns:1.15fr 1fr;gap:18px;margin-bottom:18px}.dash-three{display:grid;grid-template-columns:1.25fr .78fr 1fr;gap:18px;margin-bottom:18px}.dash-bottom{display:grid;grid-template-columns:1.72fr 1fr;gap:18px}.facial-wrap{display:grid;grid-template-columns:310px 1fr;gap:24px;align-items:center;margin-top:18px}.donut-big,.mini-donut{border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--ok) 0 100%)}.donut-big{width:230px;height:230px}.donut-big:before,.mini-donut:before{content:'';position:absolute;inset:46px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line)}.donut-big strong,.mini-donut strong{z-index:1;font-size:34px}.donut-big span{z-index:1;display:block;color:var(--muted);font-size:14px;text-align:center}.legend-list{display:grid;gap:18px}.legend-list div{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:12px;color:#243a59}.dot{width:12px;height:12px;border-radius:50%;display:inline-block}.dot.green{background:var(--ok)}.dot.orange{background:var(--warn)}.dot.red{background:var(--danger)}.dot.blue{background:var(--brand)}.dot.purple{background:var(--purple)}.dot.gray{background:#cbd5e1}.facial-bottom{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px}.mini-stat{background:#f8fbff;border-radius:12px;padding:13px 16px}.mini-stat span{display:block;color:var(--muted);font-size:12px}.mini-stat b{font-size:21px}.progress{height:8px;background:#e8eef5;border-radius:999px;overflow:hidden;margin-top:7px}.progress i{display:block;height:100%;background:var(--ok);border-radius:999px}.refresh-link{color:var(--brand);display:grid;place-items:center}.sync-list{display:grid;gap:12px;margin-top:18px}.sync-row{display:grid;grid-template-columns:48px 1fr 76px 128px 22px;gap:12px;align-items:center;background:#fbfdff;border:1px solid #edf2f8;border-radius:15px;padding:12px}.cam-icon{width:42px;height:42px;border-radius:12px;background:#f0f5fb;color:#284765;display:grid;place-items:center}.cam-icon .ui-icon{width:21px;height:21px}.sync-row h3{margin:0;font-size:15px}.sync-row p{margin:4px 0 0;color:var(--muted);font-size:12px}.sync-row small{color:#6b7b91;text-align:right}.online,.offline{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:850;font-size:12px;padding:7px 12px}.online{background:#dcfae6;color:#067647}.offline{background:#fee4e2;color:#b42318}.bars{height:34px;width:118px;background:repeating-linear-gradient(90deg,transparent 0 7px,rgba(18,183,106,.85) 7px 10px,transparent 10px 15px);clip-path:polygon(0 92%,8% 92%,8% 78%,16% 78%,16% 90%,24% 90%,24% 68%,32% 68%,32% 75%,40% 75%,40% 52%,48% 52%,48% 60%,56% 60%,56% 45%,64% 45%,64% 34%,72% 34%,72% 18%,80% 18%,80% 55%,88% 55%,88% 10%,100% 10%,100% 100%,0 100%)}.line-card{min-height:250px}.line-chart{height:190px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:18px;position:relative}.line-chart svg{width:100%;height:158px}.xlabels{display:flex;justify-content:space-between;color:#45617f;font-size:12px;padding:2px 8px}.chart-tip{position:absolute;right:35px;top:60px;background:#fff;border:2px solid #365cff;border-radius:10px;padding:10px 14px;box-shadow:0 10px 24px rgba(54,92,255,.12)}.chart-tip b{display:block}.chart-tip span{display:block;color:#e01b1b;font-weight:800;margin-top:4px}.mini-donut{width:145px;height:145px;margin:18px auto}.mini-donut:before{inset:44px}.sector-legend{display:grid;gap:9px}.sector-legend p{margin:0;display:flex;align-items:center;gap:8px;color:#334765;font-size:13px}.sector-legend b{margin-left:auto}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.quick-card{display:flex;align-items:center;gap:13px;min-height:80px;background:#fff;border:1px solid #e8eef7;border-radius:14px;padding:14px;color:var(--text)}.quick-card:hover{border-color:#bdd7ff;box-shadow:0 10px 25px rgba(22,119,255,.08)}.quick-card b{width:38px;height:38px;display:grid;place-items:center;color:var(--brand)}.quick-card.green{background:#f1fff8}.quick-card.green b{color:var(--ok)}.quick-card.purple{background:#f8f4ff}.quick-card.purple b{color:var(--purple)}.quick-card strong{font-size:13px}.quick-card span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;white-space:nowrap}th{color:#516380;font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.04em;background:#fbfcff}tr:last-child td{border-bottom:0}.clean-table td b{font-weight:900}.avatar,.face{object-fit:cover;border:2px solid #eef3fa}.avatar{width:42px;height:42px;border-radius:50%}.avatar-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#cfe1ff,#eef6ff);color:#0b63ce;font-weight:900}.face{width:118px;height:118px;border-radius:18px}.actions a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;margin-right:4px;color:#607089}.actions a:hover{background:#f1f5fb;color:var(--brand)}.actions .ui-icon{width:17px;height:17px}.badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:9px;background:#f2f4f7;color:#475467;text-transform:capitalize;font-weight:850;font-size:12px}.badge.sincronizado,.badge.facial_recebida,.badge.ativa{background:#dcfae6;color:#067647}.badge.erro,.badge.inativa{background:#fee4e2;color:#b42318}.badge.convite_enviado{background:#e7f0ff;color:#005fec}.badge.pendente{background:#fff1d7;color:#b54708}.activity-list{display:grid;gap:12px}.activity-list>div{display:grid;grid-template-columns:44px 1fr 116px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.activity-list>div:last-child{border-bottom:0}.activity-list i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff}.activity-list i.ok,.activity-list i.check{background:var(--ok)}.activity-list i.send{background:#eaf2ff;color:var(--brand)}.activity-list i.wait{background:#fff0d9;color:var(--warn)}.activity-list i.sync{background:#dff9eb;color:var(--ok)}.activity-list p{margin:0}.activity-list p b{display:block}.activity-list p span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.activity-list time{font-size:12px;color:#39506f;text-align:right}input,select,textarea{width:100%;border:1px solid #d0d7e2;border-radius:12px;padding:12px;margin-top:7px;background:#fff;color:var(--text);font:inherit}textarea{min-height:110px;resize:vertical}label{font-weight:800;color:#344054}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:16px 0 20px}.formpanel{display:grid;grid-template-columns:1.4fr .75fr;gap:18px}.wizard-steps{display:flex;gap:12px;margin-bottom:18px}.wizard-steps span{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:850}.wizard-steps b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e8eef7;color:#607089}.wizard-steps span.active b{background:var(--brand);color:#fff}.alert{border-radius:14px;padding:13px 15px;margin:12px 0;font-weight:700}.alert.ok{background:#dcfae6;color:#067647}.alert.danger{background:#fee4e2;color:#b42318}.alert.info{background:#e0f2fe;color:#075985}.muted,.empty-state,.empty-cell{color:var(--muted)!important}.empty-state,.empty-cell{font-weight:650;padding:18px}.upload-zone{border:1.6px dashed #b8c8dc;border-radius:18px;min-height:300px;display:grid;place-items:center;text-align:center;background:linear-gradient(180deg,#fff,#fbfdff)}.upload-zone .ui-icon{width:44px;height:44px;margin:auto;color:#7b8da5}.steps-list{counter-reset:item;display:grid;gap:14px;margin-top:12px}.steps-list li{list-style:none;display:flex;gap:12px;align-items:flex-start;color:#4b5f7d}.steps-list li:before{counter-increment:item;content:counter(item);width:26px;height:26px;border-radius:50%;background:#eef5ff;color:var(--brand);display:grid;place-items:center;font-weight:900;flex:0 0 auto}.device-list{display:grid;gap:12px}.device-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;background:#fbfdff;border:1px solid var(--line);border-radius:16px;padding:15px}.device-row small{display:block;color:var(--muted);margin-top:4px}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.login{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at top,#132b47,#050b14 55%)}.login-card{max-width:430px;width:92%}.capture{max-width:560px;margin:auto;text-align:center}.confirm{background:#f7f9fc;border-radius:16px;padding:16px;display:grid;gap:6px;margin-bottom:16px}.confirm span{color:var(--muted)}video{width:100%;border-radius:18px;background:#111;aspect-ratio:4/3;object-fit:cover}.success{text-align:center;max-width:520px;margin:60px auto}@media(max-width:1280px){.kpi-card{grid-template-columns:58px 1fr}.spark{display:none}.dash-three{grid-template-columns:1fr 1fr}.quick-actions{grid-column:1/-1}.dash-bottom,.dash-two,.formpanel,.split{grid-template-columns:1fr}.sync-row{grid-template-columns:48px 1fr 76px}}@media(max-width:1050px){.sidebar{position:static;width:100%;height:auto}.admin-shell{display:block}.workspace{margin-left:0;width:100%}.kpi-grid,.kpi-grid-clean,.grid{grid-template-columns:repeat(2,1fr)}.facial-wrap{grid-template-columns:1fr}.dash-three{grid-template-columns:1fr}}@media(max-width:720px){.topbar{padding:0 14px}.content{padding:16px}.kpi-grid,.kpi-grid-clean,.quick-grid,.grid{grid-template-columns:1fr}.row,.card-head,.device-row{align-items:flex-start;grid-template-columns:1fr;flex-direction:column}.top-actions{display:none}.sidebar{padding:18px}.sync-row{grid-template-columns:1fr}.facial-bottom{grid-template-columns:1fr}.activity-list>div{grid-template-columns:40px 1fr}.activity-list time{grid-column:2;text-align:left}.wizard-steps{flex-wrap:wrap}}

/* refinamento profissional global */
.kpi-card.blue .kpi-icon{background:linear-gradient(135deg,#1677ff,#075fed)}
.kpi-card.green .kpi-icon{background:linear-gradient(135deg,#16c784,#059669)}
.kpi-card.orange .kpi-icon{background:linear-gradient(135deg,#ff9f1c,#ff7900)}
.kpi-card.purple .kpi-icon{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}
.stat{padding:18px;min-height:108px}.stat h2{font-size:28px;margin:6px 0 0}.stat-icon{position:relative;overflow:hidden}.stat-ico{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#1677ff;background:#eef6ff;margin-bottom:8px}.stat-ico.ok{color:#067647;background:#dcfae6}.stat-ico.warn{color:#b54708;background:#fff1d7}.stat-ico.purple{color:#6d28d9;background:#f1eafe}.stat-ico .ui-icon{width:21px;height:21px}
.sync-row h3,.sync-row b{display:block;margin:0 0 4px;font-size:15px;line-height:1.15}.sync-row p,.sync-row small{line-height:1.25}.sync-row .ui-icon{width:18px;height:18px}.sync-row .actions{justify-content:flex-end}.stack-actions{display:flex;gap:6px}.stack-actions form{margin:0}.mini-btn{width:34px;height:34px;border-radius:10px;padding:0;box-shadow:none;background:#f3f7fc;color:#3b526f;border:1px solid #e6edf6}.mini-btn.danger{background:#fff1f0;color:#b42318}.mini-btn:hover{filter:brightness(.98)}
.form-vertical{display:grid;gap:14px;margin-top:16px}.checkline{display:flex;gap:10px;align-items:center;background:#f8fbff;border:1px solid var(--line);border-radius:12px;padding:12px}.checkline input{width:auto;margin:0}.card h2 .ui-icon{display:inline-block;vertical-align:-4px;margin-right:8px;color:var(--brand)}
.side-nav a .ui-icon,.logout .ui-icon{stroke-width:2.15}.side-nav a.active .ui-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.12))}.btn.ghost .ui-icon{color:currentColor}

/* Wizard real - novo funcionário */
.wizard-card{padding:22px}.real-wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}.real-wizard-steps button{background:#f5f8fc;color:#5c6f8a;border:1px solid var(--line);box-shadow:none;border-radius:14px;padding:12px 10px;justify-content:flex-start;text-align:left}.real-wizard-steps button.active{background:#eef6ff;color:#075fed;border-color:#b9d7ff}.real-wizard-steps button.active b{background:var(--brand);color:#fff}.real-wizard-steps button b{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:#e8eef7;color:#607089;flex:0 0 auto}.real-wizard-steps button span{font-weight:900}.wizard-step{display:none;animation:fadeWizard .18s ease}.wizard-step.active{display:block}@keyframes fadeWizard{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}.wizard-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.wizard-title h2{margin:0 0 4px}.step-pill{min-width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#eaf2ff;color:#075fed;font-weight:950}.info-strip{display:flex;gap:10px;align-items:center;background:#f6faff;border:1px solid #dceaff;border-radius:14px;color:#355374;padding:14px;font-weight:750}.capture-preview-card{display:flex;gap:16px;align-items:center;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfdff);border-radius:18px;padding:22px;margin:18px 0}.capture-preview-card b{display:block;font-size:18px}.capture-preview-card span{display:block;color:var(--muted);margin-top:5px;line-height:1.45}.capture-preview-icon{width:74px;height:74px;border-radius:22px;background:#eef6ff;color:var(--brand);display:grid;place-items:center;flex:0 0 auto}.capture-preview-icon .ui-icon{width:34px;height:34px}.formgrid.two{grid-template-columns:repeat(2,1fr)}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.review-grid div{border:1px solid var(--line);background:#fbfdff;border-radius:14px;padding:14px}.review-grid span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.review-grid b{display:block;margin-top:6px;font-size:16px}.wizard-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.wizard-actions .btn.ghost#prevStep .ui-icon{transform:rotate(180deg)}.wizard-help{align-self:start}.inline-delete{display:inline-flex;margin:0}.inline-delete input{display:none}.icon-danger{width:30px;height:30px;border-radius:9px;padding:0;background:transparent;color:#b42318;box-shadow:none;border:0}.icon-danger:hover{background:#fff1f0}.icon-danger .ui-icon{width:17px;height:17px}.actions{display:flex;align-items:center;gap:4px}.danger-zone{border-color:#fecaca;background:#fffafa}.danger-zone h2{color:#b42318}@media(max-width:900px){.real-wizard-steps{grid-template-columns:1fr 1fr}.review-grid,.formgrid.two{grid-template-columns:1fr}.wizard-actions{justify-content:flex-start;flex-wrap:wrap}}

/* Tela pública de cadastro facial inteligente */
.face-public-body{min-height:100vh;background:radial-gradient(circle at top left,#eaf3ff 0,#f6f8fb 34%,#eef3f8 100%);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:#07162d}.face-public{min-height:100vh;display:grid;place-items:center;padding:28px}.face-hero-card{width:min(1180px,100%);background:rgba(255,255,255,.92);border:1px solid #e5edf7;border-radius:30px;box-shadow:0 24px 70px rgba(10,31,68,.12);padding:26px}.face-header{display:flex;gap:18px;align-items:flex-start;margin-bottom:18px}.face-brand-mark{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;background:#eef6ff;color:#0f73ff;box-shadow:inset 0 0 0 1px #d9eaff;flex:0 0 auto}.face-brand-mark svg{width:31px;height:31px}.face-header span{display:block;color:#0f73ff;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.face-header h1{margin:4px 0 6px;font-size:34px;line-height:1.05;letter-spacing:-.05em}.face-header p{max-width:720px;margin:0;color:#5f718b;line-height:1.55}.face-employee-strip{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;background:#f8fbff;border:1px solid #e7edf6;border-radius:22px;padding:14px;margin-bottom:18px}.face-avatar-letter{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#1677ff,#075fed);color:#fff;font-weight:950;font-size:22px}.face-employee-strip b{display:block;font-size:17px}.face-employee-strip span{display:block;color:#66758c;margin-top:3px}.face-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.face-meta span{background:#fff;border:1px solid #e7edf6;border-radius:999px;padding:8px 11px;color:#344967;font-size:12px;font-weight:850}.face-capture-layout{display:grid;grid-template-columns:1.35fr .8fr;gap:18px}.face-camera-card,.face-check-card,.face-success-card{background:#fff;border:1px solid #e7edf6;border-radius:26px;box-shadow:0 12px 36px rgba(9,30,66,.07)}.face-camera-card{padding:14px}.face-video-wrap{position:relative;overflow:hidden;border-radius:22px;background:#07111f;aspect-ratio:4/3}.face-video-wrap video{width:100%;height:100%;object-fit:cover;border-radius:0;transform:scaleX(-1);background:#07111f}.face-oval{position:absolute;left:50%;top:52%;width:46%;height:62%;transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.7);border-radius:50%;box-shadow:0 0 0 999px rgba(2,8,23,.22);transition:.2s ease}.face-oval span{position:absolute;inset:-13px;border-radius:50%;border:1px dashed rgba(255,255,255,.42)}.face-oval.warn{border-color:#ffb020;box-shadow:0 0 0 999px rgba(2,8,23,.18),0 0 32px rgba(255,176,32,.38)}.face-oval.ready{border-color:#12b76a;box-shadow:0 0 0 999px rgba(2,8,23,.12),0 0 36px rgba(18,183,106,.42)}.face-camera-top{position:absolute;left:14px;right:14px;top:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}.face-camera-top span,.face-camera-top b{background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-radius:999px;padding:9px 12px;color:#10233d;font-size:12px;font-weight:950}.face-camera-top b{color:#0f73ff}.face-countdown{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.92);width:112px;height:112px;border-radius:50%;background:rgba(255,255,255,.94);display:none;place-items:center;color:#075fed;font-size:48px;font-weight:950;box-shadow:0 20px 70px rgba(2,8,23,.22)}.face-countdown.show{display:grid;animation:pulseCount .85s ease infinite}@keyframes pulseCount{50%{transform:translate(-50%,-50%) scale(1.04)}}.face-quality-bar{height:10px;background:#edf3fa;border-radius:999px;overflow:hidden;margin:14px 4px 10px}.face-quality-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff8a00,#12b76a);border-radius:999px;transition:width .18s ease}.face-status-text{margin:0 4px 4px;color:#415675;font-weight:750;line-height:1.45}.face-check-card{padding:22px}.face-check-card h2{margin:0 0 6px;font-size:21px;letter-spacing:-.03em}.face-check-card p{margin:0 0 16px;color:#66758c;line-height:1.5}.face-checklist{display:grid;gap:9px}.face-check{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e7edf6;border-radius:14px;background:#fbfdff;color:#61738c;font-weight:850}.face-check i{width:22px;height:22px;border-radius:50%;border:2px solid #cfd8e6;display:grid;place-items:center;flex:0 0 auto}.face-check.ok{background:#f0fdf6;border-color:#b7efcf;color:#067647}.face-check.ok i{background:#12b76a;border-color:#12b76a}.face-check.ok i:after{content:'✓';color:#fff;font-size:13px;font-weight:950}.face-tips{margin:16px 0;background:#f6faff;border:1px solid #dceaff;border-radius:16px;padding:14px;color:#45607f}.face-tips b{display:block;color:#10233d;margin-bottom:5px}.face-tips span{font-size:13px;line-height:1.45}.face-manual-btn{width:100%;background:#fff;color:#0f73ff;border:1px solid #cfe1ff;box-shadow:none}.face-manual-btn:hover{background:#f6faff}.face-success-card{max-width:560px;text-align:center;padding:36px}.face-success-icon{width:76px;height:76px;border-radius:26px;margin:0 auto 18px;display:grid;place-items:center;background:#dcfae6;color:#067647;font-size:42px;font-weight:950}.face-success-card h1{margin:0 0 8px;letter-spacing:-.04em}.face-success-card p{margin:0;color:#66758c;line-height:1.55}@media(max-width:900px){.face-public{padding:14px}.face-hero-card{padding:18px;border-radius:24px}.face-capture-layout{grid-template-columns:1fr}.face-header h1{font-size:27px}.face-employee-strip{grid-template-columns:48px 1fr}.face-meta{grid-column:1/-1;justify-content:flex-start}.face-oval{width:56%;height:64%}}@media(max-width:560px){.face-header{gap:12px}.face-brand-mark{width:48px;height:48px;border-radius:16px}.face-header h1{font-size:23px}.face-header p{font-size:14px}.face-check-card{padding:16px}.face-video-wrap{aspect-ratio:3/4}.face-oval{width:68%;height:55%}.face-camera-top span{max-width:66%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}


/* Captura facial v2 - mais orientação no mobile e limites realistas */
.face-quality-hint{margin:0 4px 10px;color:#66758c;font-size:13px;font-weight:750;line-height:1.35}.face-mobile-missing{margin:14px 0;background:#fff8eb;border:1px solid #ffe1a6;border-radius:16px;padding:14px;color:#563c00}.face-mobile-missing b{display:block;color:#10233d;margin-bottom:8px}.face-mobile-missing ul{margin:0;padding-left:18px;display:grid;gap:6px}.face-mobile-missing li{font-size:13px;line-height:1.35;font-weight:750}.face-mobile-missing li.ok{list-style:none;color:#067647;padding-left:0}.face-manual-btn:disabled{opacity:.75;cursor:not-allowed;color:#66758c;background:#f7f9fc;border-color:#e7edf6}.face-manual-btn.ready{background:#0f73ff;color:#fff;border-color:#0f73ff;box-shadow:0 12px 26px rgba(15,115,255,.22)}.face-check.pending i{background:#fff}.face-check.pending span{color:#61738c}.face-check-card{position:relative}.face-camera-card{align-self:start}
@media(max-width:900px){.face-capture-layout{gap:14px}.face-check-card{order:2}.face-camera-card{order:1}.face-check-card h2{font-size:18px}.face-check-card>p{font-size:13px;margin-bottom:12px}.face-checklist{grid-template-columns:1fr 1fr;gap:8px}.face-check{font-size:12px;padding:9px 10px}.face-check i{width:18px;height:18px}.face-mobile-missing{display:block}.face-manual-btn{height:54px;font-size:15px}}
@media(max-width:560px){.face-public{padding:0;background:#f4f7fb;place-items:start}.face-hero-card{min-height:100vh;border-radius:0;border:0;padding:16px;box-shadow:none}.face-header{margin-bottom:14px}.face-header span{font-size:10px}.face-header h1{font-size:25px}.face-header p{font-size:13px}.face-employee-strip{border-radius:22px;padding:12px}.face-avatar-letter{width:62px;height:62px;border-radius:20px;font-size:26px}.face-employee-strip b{font-size:18px}.face-employee-strip span{font-size:13px}.face-meta span{font-size:12px;padding:9px 12px}.face-camera-card{padding:12px;border-radius:24px}.face-video-wrap{aspect-ratio:3/4;border-radius:22px}.face-camera-top{top:12px;left:12px;right:12px}.face-camera-top span,.face-camera-top b{font-size:13px;padding:10px 13px}.face-oval{width:68%;height:46%;top:48%;border-width:3px}.face-quality-bar{height:12px;margin:14px 6px 10px}.face-status-text{font-size:18px;line-height:1.35;color:#314a6d}.face-quality-hint{font-size:13px;margin:6px 6px 4px}.face-check-card{border-radius:24px;padding:14px}.face-checklist{grid-template-columns:1fr}.face-check{font-size:13px;padding:11px 12px}.face-tips{font-size:13px}.face-countdown{width:98px;height:98px;font-size:42px}.face-mobile-missing li{font-size:14px}.face-manual-btn{position:sticky;bottom:10px;z-index:5}}

/* V8 - ajuste premium da captura facial: orientações visíveis no mobile e oval biométrico */
.face-live-guide{position:absolute;left:16px;right:16px;bottom:16px;z-index:4;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.72);border-radius:20px;padding:12px 13px;box-shadow:0 18px 45px rgba(2,8,23,.22);color:#10233d}.face-live-guide strong{display:block;font-size:15px;line-height:1.2;letter-spacing:-.02em}.face-live-guide small{display:block;margin-top:4px;color:#506987;font-size:12px;line-height:1.35;font-weight:750}.face-live-checks{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.face-live-checks span{display:inline-flex;align-items:center;gap:5px;border:1px solid #dbe7f7;background:#f7fbff;color:#526a87;border-radius:999px;padding:6px 8px;font-size:11px;font-weight:900;line-height:1}.face-live-checks span:before{content:'';width:7px;height:7px;border-radius:50%;background:#c7d3e4}.face-live-checks span.ok{background:#eefdf5;border-color:#abe9c8;color:#067647}.face-live-checks span.ok:before{background:#12b76a}.face-oval{border-radius:50% / 56%;width:42%;height:66%;top:50%}.face-oval span{border-radius:50% / 56%}.face-camera-top{z-index:5}.face-countdown{z-index:6}.face-video-wrap:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(2,8,23,.10) 0%,rgba(2,8,23,0) 35%,rgba(2,8,23,.16) 100%)}
@media(min-width:901px){.face-live-guide{max-width:470px;left:18px;right:auto;bottom:18px}.face-live-guide strong{font-size:14px}.face-live-checks span{font-size:10px;padding:5px 7px}}
@media(max-width:900px){.face-live-guide{display:block}.face-check-card{order:2}.face-camera-card{order:1}.face-oval{width:52%;height:65%;top:48%;border-radius:50% / 58%}.face-oval span{border-radius:50% / 58%}.face-status-text,.face-quality-hint{display:none}.face-check-card h2{display:none}.face-check-card>p{display:none}.face-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.face-mobile-missing{margin-top:0}}
@media(max-width:560px){.face-public{padding:0;background:#f4f7fb;place-items:start}.face-hero-card{min-height:100vh;border-radius:0;border:0;padding:12px;box-shadow:none}.face-header{display:none}.face-employee-strip{margin-bottom:10px;border-radius:18px;padding:10px}.face-capture-layout{gap:10px}.face-camera-card{padding:8px;border-radius:20px;box-shadow:0 10px 26px rgba(9,30,66,.08)}.face-video-wrap{aspect-ratio:3/4;border-radius:18px}.face-camera-top{top:10px;left:10px;right:10px}.face-camera-top span,.face-camera-top b{font-size:12px;padding:8px 10px}.face-camera-top span{max-width:68%}.face-oval{width:60%;height:58%;top:46%;border-width:3px;border-radius:50% / 60%}.face-oval span{inset:-10px;border-radius:50% / 60%}.face-live-guide{left:10px;right:10px;bottom:10px;border-radius:17px;padding:11px 11px;background:rgba(255,255,255,.94)}.face-live-guide strong{font-size:15px}.face-live-guide small{font-size:12px}.face-live-checks{gap:5px;margin-top:9px}.face-live-checks span{font-size:10px;padding:6px 7px}.face-quality-bar{height:10px;margin:10px 4px 2px}.face-check-card{border-radius:20px;padding:10px;box-shadow:0 10px 26px rgba(9,30,66,.05)}.face-checklist{display:none}.face-mobile-missing{display:block;border-radius:16px;padding:12px}.face-mobile-missing b{font-size:14px}.face-mobile-missing li{font-size:13px}.face-tips{margin:10px 0;border-radius:16px;padding:12px}.face-manual-btn{height:52px;position:sticky;bottom:8px;z-index:8}.face-countdown{width:92px;height:92px;font-size:40px}}
.codebox{background:#0f172a;color:#e5eefb;border-radius:16px;padding:16px 18px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.65;overflow:auto;margin:12px 0}.timeline{display:grid;gap:12px}.timeline div{display:flex;gap:12px;align-items:center;background:#f8fafc;border:1px solid #e8edf5;border-radius:14px;padding:12px}.timeline b{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#12345f;color:#fff}.timeline span{color:#334155}.danger-text{color:#b91c1c;display:block;margin-top:4px}.formgrid.two{grid-template-columns:1fr 1fr}@media(max-width:720px){.formgrid.two{grid-template-columns:1fr}.codebox{font-size:12px}}

/* Dashboard premium repair - evita foto gigante e melhora a tela inicial */
.dash-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:22px 24px;background:linear-gradient(135deg,#ffffff 0%,#f6fbff 55%,#edf6ff 100%);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.dash-hero .eyebrow{display:inline-flex;align-items:center;background:#eaf2ff;color:#075fed;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.dash-hero h2{margin:10px 0 5px;font-size:28px;letter-spacing:-.04em}.dash-hero p{margin:0;color:var(--muted);font-weight:650}.hero-status{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.hero-status span{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #dbe8f7;border-radius:999px;padding:10px 12px;color:#253a58;font-weight:850;box-shadow:0 10px 22px rgba(9,30,66,.05)}.hero-status .ui-icon{width:17px;height:17px;color:#0f73ff}.premium-kpis .kpi-card{min-height:118px;transition:.18s ease}.premium-kpis .kpi-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(9,30,66,.10)}.dashboard-card{overflow:hidden}.dashboard-card .card-head small{color:var(--muted);font-weight:650}.premium-facial{grid-template-columns:260px 1fr}.premium-facial .donut-big{width:220px;height:220px}.premium-sync{grid-template-columns:48px 1fr 78px 132px 22px}.real-line{border:0;background:linear-gradient(180deg,#fbfdff,#fff);border-radius:16px;padding:10px 12px 4px;height:214px}.real-line svg{display:block;height:156px}.quick-card span em{display:block;font-style:normal;color:var(--muted);font-size:11px;margin-top:3px}.employees-dashboard-table th:first-child,.employees-dashboard-table td:first-child{min-width:300px}.employee-cell{display:flex;align-items:center;gap:12px;min-width:0}.employee-cell b{display:block;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:900}.employee-cell small{display:block;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;margin-top:3px}.employee-avatar,.mini-face{width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;max-height:46px!important;border-radius:50%!important;object-fit:cover!important;display:block!important;border:2px solid #eef3fa!important;background:#f1f5fb!important}.employee-avatar-fallback,.avatar-mini{display:grid!important;place-items:center!important;background:linear-gradient(135deg,#0f73ff,#64a6ff)!important;color:#fff!important;font-weight:950!important;font-size:18px!important}.premium-activity .ui-icon{width:18px;height:18px}.premium-quick .quick-card{min-height:76px}.badge.facial_recebida{text-transform:none}.badge.facial_recebida:before,.badge.sincronizado:before,.badge.pendente:before,.badge.convite_enviado:before,.badge.erro:before{content:'';width:7px;height:7px;border-radius:50%;margin-right:7px;background:currentColor}.table img:not(.employee-avatar):not(.avatar):not(.face){max-width:52px!important;max-height:52px!important;object-fit:cover!important;border-radius:50%!important}.table td{vertical-align:middle}.table-wrap{background:#fff}
@media(max-width:1280px){.premium-facial{grid-template-columns:1fr}.premium-sync{grid-template-columns:48px 1fr 78px}.premium-sync small,.premium-sync a{display:none}.dash-hero{align-items:flex-start;flex-direction:column}.hero-status{justify-content:flex-start}.dash-bottom{grid-template-columns:1fr}}
@media(max-width:720px){.dash-hero{padding:18px}.dash-hero h2{font-size:23px}.premium-facial .donut-big{width:190px;height:190px;margin:auto}.employees-dashboard-table th:nth-child(2),.employees-dashboard-table td:nth-child(2),.employees-dashboard-table th:nth-child(3),.employees-dashboard-table td:nth-child(3),.employees-dashboard-table th:nth-child(5),.employees-dashboard-table td:nth-child(5){display:none}.employee-cell b,.employee-cell small{max-width:180px}.real-line{height:190px}.chart-tip{display:none}}

/* Refinamento massivo V4 - dashboard e câmeras */
.content{padding:26px 28px 40px}.sidebar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.side-nav::-webkit-scrollbar{width:6px}.side-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24);border-radius:999px}.card,.stat,.kpi-card{border-color:#e6eef8;box-shadow:0 18px 44px rgba(10,32,70,.065)}.dash-hero{border-radius:24px;padding:26px 28px;margin-bottom:20px}.dash-hero h2{font-size:30px}.kpi-grid-clean{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.kpi-card.clean{min-height:112px;padding:20px 22px;grid-template-columns:58px 1fr}.kpi-card b{font-size:34px}.dash-two{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.dashboard-card{border-radius:22px}.premium-facial{grid-template-columns:245px 1fr;gap:26px}.premium-facial .donut-big{width:210px;height:210px}.premium-facial .donut-big:before{inset:58px}.legend-list div{font-size:15px}.facial-bottom{margin-top:4px}.premium-sync{grid-template-columns:48px minmax(0,1fr) 88px 140px 20px;padding:14px 16px;border-radius:16px}.sync-row h3{font-size:15px;line-height:1.2}.sync-row p{line-height:1.35;word-break:break-word}.real-line{height:230px;padding:14px 18px 6px}.real-line svg{height:168px}.chart-tip{z-index:2}.mini-donut{width:150px;height:150px}.mini-donut:before{inset:47px}.quick-grid{gap:14px}.quick-card{border-radius:16px}.dash-bottom{grid-template-columns:minmax(0,1.5fr) minmax(320px,.72fr);align-items:start}.employees-dashboard-table{table-layout:fixed;width:100%}.employees-dashboard-table th,.employees-dashboard-table td{padding:14px 16px}.employees-dashboard-table th:nth-child(1){width:34%}.employees-dashboard-table th:nth-child(2){width:16%}.employees-dashboard-table th:nth-child(3){width:16%}.employees-dashboard-table th:nth-child(4){width:14%}.employees-dashboard-table th:nth-child(5){width:14%}.employees-dashboard-table th:nth-child(6){width:6%;text-align:right}.employees-dashboard-table td:nth-child(6){text-align:right}.employee-avatar{width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;max-height:48px!important}.employee-cell b{font-size:14px}.employee-cell small{font-size:12px}.badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.activity-list div{border-radius:16px}.activity-list time{white-space:nowrap}.empty-state,.empty-cell{background:#f8fbff;border:1px dashed #d7e4f5;border-radius:16px;color:#64748b;padding:18px;text-align:center;font-weight:750}

/* Página Câmeras / Faciais */
.grid .stat{min-height:116px;padding:20px 22px;display:flex;align-items:center;gap:16px}.stat-icon .stat-ico{width:52px;height:52px;border-radius:16px;background:#eff6ff;color:#1677ff;display:grid;place-items:center;flex:0 0 auto}.stat-icon .stat-ico.ok{background:#ecfdf3;color:#12b76a}.stat-icon .stat-ico.warn{background:#fff7ed;color:#ff8a00}.stat-icon .stat-ico.purple{background:#f4f0ff;color:#7a35f8}.stat-icon h2{font-size:30px}.split{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);align-items:start}.split>.card{border-radius:22px}.split .card-head{align-items:flex-start}.split .card-head h2{display:flex;align-items:center;gap:10px;line-height:1.2}.mirror-agent-btn{width:auto!important;height:auto!important;min-height:42px;padding:11px 15px!important;border-radius:13px!important;white-space:nowrap;background:linear-gradient(135deg,#1677ff,#075fed)!important;color:#fff!important;border:0!important;box-shadow:0 12px 26px rgba(22,119,255,.16)!important}.sync-list .sync-row{grid-template-columns:48px minmax(0,1fr) 104px 132px auto}.sync-row .actions,.stack-actions{display:flex!important;align-items:center!important;gap:8px!important;justify-content:flex-end!important}.sync-row .actions form{margin:0!important}.sync-row .actions .mini-btn{width:38px!important;height:38px!important;min-width:38px!important;display:grid!important;place-items:center!important;padding:0!important}.form-vertical{display:grid;gap:14px}.form-vertical label{display:grid;gap:8px;color:#273a58;font-weight:850}.form-vertical input,.form-vertical select{width:100%;height:50px;border:1px solid #dbe5f2;border-radius:13px;padding:0 14px;background:#fff;color:#07162d;font-weight:750;outline:0}.form-vertical input:focus,.form-vertical select:focus{border-color:#8bbcff;box-shadow:0 0 0 4px rgba(22,119,255,.10)}.formgrid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checkline{display:flex!important;grid-template-columns:auto!important;align-items:center;gap:10px;background:#f8fbff;border:1px solid #e5edf7;border-radius:13px;padding:12px 14px}.checkline input{width:auto;height:auto}.form-vertical button[type=submit]{height:50px;border-radius:13px;font-size:14px}.hint{font-size:15px}.danger-text{font-size:12px}.alert{border-radius:16px;padding:14px 16px;margin-bottom:16px;font-weight:750}
@media(max-width:1380px){.dash-two,.dash-three,.dash-bottom,.split{grid-template-columns:1fr}.kpi-grid-clean{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-sync,.sync-list .sync-row{grid-template-columns:48px 1fr 90px}.premium-sync small,.premium-sync>a,.sync-row small{display:none}.split{align-items:stretch}.formgrid.two{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.content{padding:18px}.kpi-grid-clean,.grid{grid-template-columns:1fr}.dash-hero{padding:20px}.dash-hero h2{font-size:24px}.premium-facial{grid-template-columns:1fr}.premium-facial .donut-big{margin:auto;width:190px;height:190px}.facial-bottom{grid-template-columns:1fr}.dash-three{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.employees-dashboard-table th:nth-child(2),.employees-dashboard-table td:nth-child(2),.employees-dashboard-table th:nth-child(3),.employees-dashboard-table td:nth-child(3),.employees-dashboard-table th:nth-child(5),.employees-dashboard-table td:nth-child(5){display:none}.employees-dashboard-table th:nth-child(1){width:60%}.employees-dashboard-table th:nth-child(4){width:28%}.employees-dashboard-table th:nth-child(6){width:12%}.split{grid-template-columns:1fr}.formgrid.two{grid-template-columns:1fr}.sync-list .sync-row{grid-template-columns:42px 1fr;position:relative}.sync-row .online,.sync-row .offline{justify-self:start}.sync-row .actions{position:absolute;right:12px;bottom:12px}.mirror-agent-btn{white-space:normal;text-align:center}}


/* Ajustes mobile captura + fila/exportação */
.face-secondary-btn{margin-top:10px;width:100%;border:1px solid #dbe7f6;background:#fff;color:#1f3b5f;border-radius:14px;padding:14px 16px;font-weight:800;cursor:pointer}
.face-secondary-btn:hover{background:#f5f9ff}
.inline-actions{display:flex;gap:10px;align-items:center;margin:0}.inline-actions input{height:44px;border:1px solid #d8e2ef;border-radius:12px;padding:0 12px;font-weight:800}.table-wrap{overflow:auto}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.quick{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #dce8f6;border-radius:18px;text-decoration:none;color:#0b1b35;background:#fff}.quick:hover{border-color:#1677ff;box-shadow:0 14px 30px rgba(22,119,255,.12)}.quick svg{color:#1677ff}.quick b{display:block}.quick small{display:block;color:#64748b;margin-top:3px}
@media(max-width:760px){.face-public{padding:12px}.face-hero-card{padding:16px;border-radius:22px}.face-header{align-items:flex-start}.face-header h1{font-size:26px}.face-employee-strip{grid-template-columns:auto 1fr;gap:12px}.face-meta{grid-column:1/-1;justify-content:flex-start}.face-capture-layout{grid-template-columns:1fr}.face-check-card{padding:16px}.face-checklist{display:none}.face-mobile-missing{display:block}.face-video-wrap{border-radius:20px}.face-live-guide{display:block;left:10px;right:10px;bottom:10px;padding:12px}.face-live-checks{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.face-live-checks span{font-size:11px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.18);color:#fff}.face-live-checks span.ok{background:rgba(34,197,94,.95);color:#fff}.face-oval{width:54%;height:68%;border-radius:50%/58%;border-width:3px}.face-camera-top{top:10px;left:10px;right:10px}.quick-actions{grid-template-columns:1fr}.inline-actions{flex-wrap:wrap}.inline-actions input{max-width:100%!important}}

/* LGPD + captura facial v10 */
.is-hidden{display:none!important}
.lgpd-consent-card{display:grid;grid-template-columns:86px 1fr;gap:20px;background:#fff;border:1px solid #e4ecf7;border-radius:26px;padding:24px;box-shadow:0 16px 44px rgba(9,30,66,.08);margin-top:12px}.lgpd-icon{width:74px;height:74px;border-radius:24px;display:grid;place-items:center;background:#eef6ff;color:#0f73ff;box-shadow:inset 0 0 0 1px #d8e9ff}.lgpd-icon svg{width:38px;height:38px}.lgpd-kicker{display:inline-flex;color:#0f73ff;background:#edf6ff;border:1px solid #d7eaff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.lgpd-content h2{margin:12px 0 8px;font-size:28px;letter-spacing:-.05em;color:#06152d}.lgpd-content p{margin:0;color:#5f718b;line-height:1.55;max-width:850px}.lgpd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.lgpd-grid div{background:#f8fbff;border:1px solid #e6eef8;border-radius:16px;padding:13px}.lgpd-grid b{display:block;color:#10233d;margin-bottom:4px}.lgpd-grid small{display:block;color:#61738c;line-height:1.4}.lgpd-accept-line{display:flex;gap:10px;align-items:flex-start;background:#fff8eb;border:1px solid #ffe0a3;border-radius:16px;padding:13px;color:#2d3f58;font-weight:750;line-height:1.45}.lgpd-accept-line input{margin-top:3px;transform:scale(1.15);accent-color:#0f73ff}.lgpd-primary{margin-top:14px;width:100%;min-height:54px;border:0;border-radius:16px;background:#0f73ff;color:#fff;font-weight:950;font-size:15px;cursor:pointer;box-shadow:0 16px 28px rgba(15,115,255,.22)}.lgpd-primary:disabled{background:#d7e2f0;color:#71839a;box-shadow:none;cursor:not-allowed}.face-manual-btn,.face-secondary-btn{min-height:52px}.face-video-wrap{min-height:320px}.face-oval{border-radius:50% / 62%!important}.face-oval span{border-radius:50% / 62%!important}
@media(max-width:760px){.lgpd-consent-card{grid-template-columns:1fr;padding:18px;border-radius:22px}.lgpd-icon{width:58px;height:58px;border-radius:18px}.lgpd-content h2{font-size:24px}.lgpd-grid{grid-template-columns:1fr}.lgpd-accept-line{font-size:14px}.face-video-wrap{min-height:420px}.face-oval{width:62%!important;height:57%!important;top:47%!important}.face-live-guide{z-index:9}.face-live-checks span{background:#f7fbff!important;color:#526a87!important;border:1px solid #dbe7f7!important}.face-live-checks span.ok{background:#eefdf5!important;color:#067647!important;border-color:#abe9c8!important}}
@media(max-width:420px){.face-video-wrap{min-height:390px}.face-oval{width:66%!important;height:54%!important}.face-live-guide strong{font-size:14px}.face-live-checks span{font-size:9.5px;padding:5px 6px}.lgpd-consent-card{padding:14px}.lgpd-content h2{font-size:22px}}


/* V13 - Correção LGPD iPhone/Safari: safe-area, 100dvh e card com rolagem interna */
html, body { min-height: 100%; }
.face-public-body{
  min-height: 100dvh;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}
.face-public{
  min-height: 100dvh;
  padding-top: max(16px, env(safe-area-inset-top));
  padding-bottom: max(16px, env(safe-area-inset-bottom));
}
.lgpd-consent-card{
  max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.lgpd-primary{
  position: sticky;
  bottom: max(0px, env(safe-area-inset-bottom));
  z-index: 10;
}
.lgpd-content{ min-width:0; }
.lgpd-content p, .lgpd-grid small, .lgpd-accept-line span{
  overflow-wrap: anywhere;
}

@media (max-width: 560px){
  .face-public{
    min-height: 100dvh !important;
    padding: max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom)) !important;
    display: block !important;
  }
  .face-hero-card{
    min-height: auto !important;
    padding: 10px !important;
    border-radius: 0 !important;
  }
  .lgpd-consent-card{
    margin-top: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 14px !important;
    border-radius: 22px !important;
    max-height: calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }
  .lgpd-icon{
    width: 48px !important;
    height: 48px !important;
    border-radius: 16px !important;
  }
  .lgpd-icon svg{width:28px !important;height:28px !important;}
  .lgpd-kicker{font-size:10px !important;padding:5px 8px !important;}
  .lgpd-content h2{
    font-size: 21px !important;
    line-height: 1.08 !important;
    margin: 8px 0 6px !important;
  }
  .lgpd-content p{
    font-size: 13px !important;
    line-height: 1.38 !important;
  }
  .lgpd-grid{
    gap: 8px !important;
    margin: 12px 0 !important;
  }
  .lgpd-grid div{
    padding: 10px !important;
    border-radius: 14px !important;
  }
  .lgpd-grid b{font-size:13px !important;margin-bottom:2px !important;}
  .lgpd-grid small{font-size:11.5px !important;line-height:1.28 !important;}
  .lgpd-accept-line{
    padding: 10px !important;
    border-radius: 14px !important;
    font-size: 12.5px !important;
    line-height: 1.34 !important;
  }
  .lgpd-primary{
    min-height: 50px !important;
    border-radius: 14px !important;
    margin-top: 10px !important;
    font-size: 14px !important;
  }
}

@media (min-width: 390px) and (max-width: 560px){
  .lgpd-grid{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

@media (max-height: 760px) and (max-width: 560px){
  .face-employee-strip{ display:none !important; }
  .lgpd-grid div:nth-child(3), .lgpd-grid div:nth-child(4){ display:none !important; }
  .lgpd-consent-card{ padding:12px !important; }
  .lgpd-content h2{font-size:20px !important;}
}


/* KallFace - login profissional minimalista refinado */
.kf-login-body{
  min-height:100dvh;
  margin:0;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 18% 4%, rgba(33,119,255,.20), transparent 32%),
    linear-gradient(135deg,#07172c 0%,#0b1a31 48%,#eef6ff 100%);
  font-family:Inter, Segoe UI, Roboto, Arial, sans-serif;
  color:#06152d;
}
.kf-login-page{
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:clamp(18px,3.2vw,46px);
}
.kf-login-box{
  width:min(1400px,100%);
  min-height:min(760px,calc(100dvh - 58px));
  display:grid;
  grid-template-columns:1.08fr .92fr;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(255,255,255,.26);
  box-shadow:0 28px 82px rgba(3,16,36,.30);
}
.kf-brand-panel{
  position:relative;
  overflow:hidden;
  min-height:660px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 76% 48%, rgba(20,105,255,.13), transparent 34%),
    linear-gradient(145deg,#061426 0%,#071b35 56%,#020a15 100%);
  color:#fff;
}
.kf-brand-panel:after{
  content:'';
  position:absolute;
  inset:auto -12% -7% -12%;
  height:190px;
  background:
    radial-gradient(ellipse at 50% 100%, rgba(0,158,255,.14), transparent 62%),
    repeating-radial-gradient(ellipse at 50% 112%, rgba(28,119,255,.16) 0 1px, transparent 1px 20px);
  transform:rotate(-3deg);
  opacity:.70;
}
.kf-face-art{position:absolute;inset:0;pointer-events:none;opacity:.45}
.kf-face-grid{
  position:absolute;
  left:-14%;top:9%;
  width:46%;height:72%;
  background:
    radial-gradient(circle at 28% 20%, #1597ff 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 55% 34%, #0c74ff 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 46% 57%, #29c2ff 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 70% 65%, #0a63ff 0 1.5px, transparent 2.5px),
    linear-gradient(90deg, rgba(23,110,255,.13) 1px, transparent 1px),
    linear-gradient(0deg, rgba(23,110,255,.08) 1px, transparent 1px);
  background-size:120px 120px,160px 160px,130px 130px,150px 150px,34px 34px,34px 34px;
  clip-path:polygon(12% 9%,44% 0,64% 12%,75% 30%,86% 48%,78% 64%,71% 79%,55% 92%,34% 96%,18% 82%,11% 62%,0 52%,9% 42%,2% 28%);
  filter:drop-shadow(0 0 18px rgba(0,119,255,.28));
}
.kf-face-line{
  position:absolute;
  left:0;top:0;width:38%;height:100%;
  background:
    linear-gradient(120deg, transparent 20%, rgba(39,139,255,.10) 21%, transparent 23%),
    linear-gradient(60deg, transparent 28%, rgba(37,126,255,.12) 29%, transparent 31%),
    radial-gradient(circle at 30% 55%, rgba(0,142,255,.14), transparent 48%);
  clip-path:polygon(8% 14%,44% 10%,56% 26%,58% 45%,75% 55%,56% 63%,52% 82%,30% 90%,9% 78%);
}
.kf-brand-content{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:500px;
  padding:42px 30px;
}
.kf-face-icon{
  width:72px;
  height:72px;
  margin:0 auto 24px;
  display:grid;
  place-items:center;
  color:#1b7cff;
}
.kf-face-icon svg{width:100%;height:100%;filter:drop-shadow(0 10px 28px rgba(18,116,255,.22))}
.kf-brand-content h1{
  font-size:clamp(42px,4.1vw,62px);
  font-weight:680;
  line-height:.95;
  margin:0;
  letter-spacing:-.06em;
  color:#fff;
  text-shadow:0 12px 34px rgba(0,0,0,.22);
}
.kf-brand-content h1 span{color:#1677ff;font-weight:700}
.kf-subtitle{
  font-size:clamp(17px,1.6vw,23px);
  font-weight:400;
  margin:14px 0 0;
  color:#d7e3f4;
  letter-spacing:-.018em;
}
.kf-brand-line{width:44px;height:1.5px;background:#1677ff;margin:34px auto}
.kf-shield{width:58px;height:58px;margin:0 auto;color:#1b7cff;opacity:.95}
.kf-shield svg{width:100%;height:100%;filter:drop-shadow(0 12px 26px rgba(22,119,255,.18))}
.kf-brand-small{display:none}
.kf-form-panel{
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#fff,#fbfdff);
  padding:clamp(26px,3.4vw,58px);
}
.kf-login-card{
  width:min(470px,100%);
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}
.kf-form-head{margin-bottom:34px}
.kf-form-head h2{
  margin:0;
  font-size:clamp(28px,2.45vw,38px);
  font-weight:680;
  line-height:1.08;
  letter-spacing:-.05em;
  color:#07162d;
}
.kf-form-head h2 span{color:#0f73ff;font-weight:700}
.kf-form-head p{
  margin:10px 0 0;
  color:#697993;
  font-size:18px;
  font-weight:400;
  letter-spacing:-.02em;
}
.kf-field{
  display:grid;
  gap:9px;
  margin:0 0 22px;
  color:#06152d;
  font-size:14px;
  font-weight:650;
}
.kf-input-wrap{
  height:56px;
  border:1px solid #d8e2ef;
  border-radius:12px;
  background:#fff;
  display:flex;
  align-items:center;
  padding:0 16px;
  gap:12px;
  transition:.18s ease;
  box-shadow:0 1px 0 rgba(3,16,36,.02);
}
.kf-input-wrap:focus-within{border-color:#8bbcff;box-shadow:0 0 0 4px rgba(15,115,255,.08)}
.kf-input-wrap svg{width:20px;height:20px;color:#7a8aa1;flex:0 0 auto}
.kf-input-wrap input{
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  margin:0!important;
  padding:0!important;
  height:auto!important;
  border-radius:0!important;
  font-size:16px;
  font-weight:500;
  color:#07162d;
  background:transparent;
  flex:1;
}
.kf-input-wrap input::placeholder{color:#9aa6b8;font-weight:500}
.kf-eye{width:30px!important;height:30px!important;padding:0!important;border:0!important;background:transparent!important;color:#73839b!important;box-shadow:none!important;margin:0!important;border-radius:9px!important}
.kf-eye:hover{background:#f2f6fb!important}
.kf-login-options{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 28px}
.kf-login-options label{display:flex;align-items:center;gap:9px;color:#15243b;font-size:14px;font-weight:500}
.kf-login-options input{width:18px;height:18px;margin:0;accent-color:#0f73ff}
.kf-login-options a{font-size:14px;color:#075fed;font-weight:500}
.kf-submit{
  width:100%;
  height:54px;
  border:0;
  border-radius:11px;
  background:linear-gradient(135deg,#1677ff 0%,#075fed 100%);
  color:#fff;
  font-size:16px;
  font-weight:700;
  letter-spacing:-.01em;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  box-shadow:0 14px 28px rgba(15,115,255,.20);
  cursor:pointer;
  transition:.18s ease;
}
.kf-submit:hover{transform:translateY(-1px);box-shadow:0 17px 34px rgba(15,115,255,.25)}
.kf-submit svg{width:20px;height:20px}
.kf-form-footer{display:grid;grid-template-columns:1fr 42px 1fr;gap:13px;align-items:center;margin:48px 0 14px}
.kf-form-footer span{height:1px;background:#dce3ed}
.kf-form-footer i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f3f7fc;color:#74849a;font-style:normal}
.kf-form-footer svg{width:22px;height:22px}
.kf-login-card small{display:block;text-align:center;color:#718096;font-size:13px;font-weight:600}
@media(max-width:980px){
  .kf-login-page{padding:0}
  .kf-login-box{min-height:100dvh;border-radius:0;grid-template-columns:1fr}
  .kf-brand-panel{display:none}
  .kf-form-panel{min-height:100dvh;padding:28px}
  .kf-login-card{max-width:470px}
  .kf-form-head h2{font-size:30px}
  .kf-form-head p{font-size:16px}
  .kf-input-wrap{height:54px}
  .kf-input-wrap input{font-size:16px}
  .kf-submit{height:52px;font-size:15px}
  .kf-form-footer{margin-top:36px}
}
@media(max-width:430px){
  .kf-form-panel{padding:22px}
  .kf-form-head{margin-bottom:28px}
  .kf-login-options{align-items:flex-start;flex-direction:column}
  .kf-field{margin-bottom:20px}
  .kf-form-footer{margin:30px 0 14px}
  .kf-login-card small{font-size:12px}
}

/* HikCentral export assistant */
.export-hero{background:linear-gradient(135deg,#ffffff 0%,#f7fbff 55%,#edf6ff 100%)}
.export-stats .stat h2{font-size:30px;line-height:1.1}
.export-split{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:stretch}
.export-form{grid-template-columns:1.15fr 1fr 1fr;gap:16px}
.export-form label{min-width:0}
.export-form input,.export-form select{height:48px}
.export-buttons{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.export-buttons .btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;min-height:46px}
.export-guide{background:linear-gradient(180deg,#fff 0%,#f9fbff 100%)}
.export-tree{background:#071a33;color:#eaf3ff;border-radius:18px;padding:18px 20px;margin:14px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.9;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.export-tree b,.export-tree span{display:block}.export-tree b{color:#fff;margin-bottom:4px}.export-tree span{color:#b9d4ff}
@media(max-width:980px){.export-split{grid-template-columns:1fr}.export-form{grid-template-columns:1fr}.export-buttons .btn{width:100%}}

/* =========================================================
   KallFace V15 - refinamento global de tipografia e leitura
   Objetivo: reduzir peso/tamanho das fontes no sistema inteiro,
   deixando o painel mais leve, profissional e confortável.
   ========================================================= */
:root{
  --shadow:0 12px 28px rgba(9,30,66,.055);
  --radius:16px;
}
body{
  font-size:14px;
  font-weight:400;
  letter-spacing:0;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Cabeçalho e menu lateral */
.sidebar{width:258px;padding:20px 14px}
.workspace{margin-left:258px;width:calc(100% - 258px)}
.brand{gap:11px;margin-bottom:22px}
.brand-shield{width:48px;height:48px;border-radius:15px}
.brand-shield .ui-icon{width:26px;height:26px}
.brand strong{font-size:21px;font-weight:650;letter-spacing:.01em;line-height:.95}
.brand em{font-size:16px;font-weight:650;letter-spacing:.01em}
.brand span{font-size:11px;color:#9fb1c8}
.nav-label{margin:13px 8px 5px;font-size:10px;font-weight:500;letter-spacing:.08em;color:#8da0b8}
.side-nav a,.logout{padding:10px 11px;border-radius:10px;font-size:13px;font-weight:560;gap:11px}
.nav-ico{width:22px;height:22px}.nav-ico .ui-icon{width:17px;height:17px}
.topbar{height:60px;padding:0 20px}
.topbar h1{font-size:19px;font-weight:650;letter-spacing:-.02em}
.menu-btn{width:38px;height:38px;border-radius:11px}.menu-btn .ui-icon,.bell .ui-icon{width:18px;height:18px}
.bell,.help{width:30px;height:30px;font-weight:650}.help{font-size:14px}
.avatar-admin{width:34px;height:34px}.avatar-admin:after{left:10px;top:7px;width:14px;height:14px}
.user-pill{font-size:11px}.user-pill span{font-size:13px;font-weight:650}.user-pill b{font-weight:500}
.content{padding:20px;max-width:1580px}

/* Cards, títulos e textos */
.card{padding:18px;border-radius:16px}
.card h1,.card h2,.card h3,
.dash-hero h2,.section-title,.export-hero h2{
  font-weight:650!important;
  letter-spacing:-.025em!important;
}
.card h2,.stat h2{font-size:16px;font-weight:650;letter-spacing:-.02em}
.card p.hint,.hint{font-size:13px;line-height:1.48;color:#64748b;font-weight:400}
.dash-hero{padding:22px!important;border-radius:18px!important}
.dash-hero h2{font-size:24px!important;line-height:1.12!important}
.dash-hero p{font-size:14px!important;line-height:1.45!important;font-weight:400!important}
.badge,.pill,.online,.offline,.status,.tag{font-size:11px!important;font-weight:560!important;letter-spacing:0!important}

/* KPIs / dashboard */
.grid,.kpi-grid,.kpi-grid-clean{gap:16px;margin-bottom:16px}
.kpi-card{min-height:106px;padding:16px;grid-template-columns:50px 1fr 110px;border-radius:16px}
.kpi-card.clean{grid-template-columns:50px 1fr}
.kpi-icon{width:48px;height:48px;border-radius:13px}.kpi-icon .ui-icon{width:23px;height:23px}
.kpi-card span{font-size:10px;font-weight:650;letter-spacing:.045em;color:#314762}
.kpi-card b{font-size:27px;font-weight:650;margin:5px 0 4px}
.kpi-card small{font-size:12px;line-height:1.25;color:#64748b;font-weight:400}
.stat h2,.export-stats .stat h2{font-size:25px!important;font-weight:650!important}
.donut-big strong,.mini-donut strong{font-size:29px;font-weight:650}
.donut-big span{font-size:12px}.legend-list{gap:14px}.legend-list div{font-size:13px}

/* Tabelas */
table{font-size:13px!important}
th{font-size:11px!important;font-weight:650!important;letter-spacing:.035em!important;color:#314762!important}
td{font-size:13px!important;font-weight:400!important;color:#263951!important}
.table-wrap table th,.table-wrap table td{padding:11px 12px!important}
.employees-dashboard-table th,.employees-dashboard-table td{padding:10px 12px!important}

/* Formulários e botões */
label{font-weight:560!important}
input,select,textarea{font-size:13px!important;font-weight:400!important}
.form-vertical label{font-size:13px;color:#273a58;font-weight:560!important}
.form-vertical input,.form-vertical select,.form-vertical textarea{height:46px;border-radius:12px;font-weight:400!important}
.btn,button{border-radius:11px;padding:10px 14px;font-size:13px;font-weight:600;box-shadow:0 8px 18px rgba(22,119,255,.13)}
.btn .ui-icon,button .ui-icon{width:16px;height:16px}
.alert{font-size:13px;font-weight:500;border-radius:14px;padding:12px 14px}

/* Telas de listagem/ações */
.quick{padding:15px;border-radius:15px}.quick b{font-size:13px;font-weight:600}.quick small{font-size:11.5px;font-weight:400}
.sync-row,.device-row,.camera-row{font-size:13px!important}.sync-row b,.device-row b,.camera-row b{font-weight:600!important}
.export-tree{font-size:12.5px!important;line-height:1.75!important;border-radius:15px;padding:15px 17px!important}
.export-form input,.export-form select{height:44px!important}.export-buttons .btn{min-height:42px!important}

/* Login refinado - menos pesado */
.kf-login-box{width:min(1320px,100%);min-height:min(710px,calc(100dvh - 54px));border-radius:22px}
.kf-brand-panel{min-height:610px}
.kf-brand-content h1{font-size:clamp(38px,3.6vw,54px)!important;font-weight:620!important;letter-spacing:-.045em!important}
.kf-brand-content h1 span{font-weight:650!important}
.kf-subtitle{font-size:clamp(15px,1.35vw,20px)!important;font-weight:350!important}
.kf-brand-small{font-size:15px!important;line-height:1.42!important;font-weight:350!important}
.kf-face-icon{width:54px!important;height:54px!important}.kf-face-icon svg{width:36px!important;height:36px!important}
.kf-shield{width:50px!important;height:50px!important}.kf-shield svg{width:32px!important;height:32px!important}
.kf-form-panel{padding:clamp(34px,5vw,74px)}
.kf-login-card{max-width:440px}
.kf-form-head{margin-bottom:30px}
.kf-form-head h2{font-size:clamp(25px,2.15vw,34px)!important;font-weight:620!important;letter-spacing:-.04em!important}
.kf-form-head h2 span{font-weight:650!important}
.kf-form-head p{font-size:15.5px!important;font-weight:350!important;margin-top:8px!important}
.kf-field{font-size:13px!important;font-weight:560!important;gap:8px;margin-bottom:19px!important}
.kf-input-wrap{height:52px!important;border-radius:11px!important;padding:0 14px!important}
.kf-input-wrap input{font-size:14px!important;font-weight:400!important}
.kf-input-wrap input::placeholder{font-weight:400!important;color:#a7b1bf!important}
.kf-login-options{margin-bottom:25px}.kf-login-options label,.kf-login-options a{font-size:13px!important;font-weight:450!important}
.kf-submit{height:50px!important;border-radius:11px!important;font-size:14px!important;font-weight:620!important}
.kf-form-footer{margin:40px 0 12px!important;grid-template-columns:1fr 38px 1fr!important}.kf-form-footer i{width:38px!important;height:38px!important}
.kf-login-card small{font-size:12px!important;font-weight:500!important}

/* Captura/LGPD: mantém legível, mas menos pesada */
.face-header h1,.lgpd-content h2{font-weight:650!important;letter-spacing:-.03em!important}
.face-header h1{font-size:clamp(22px,3vw,30px)!important}.face-header p{font-size:14px!important}
.lgpd-content h2{font-size:25px!important}.lgpd-content p{font-size:14px!important}.lgpd-grid b{font-weight:600!important}.lgpd-accept-line{font-weight:500!important}.lgpd-primary{font-weight:650!important;font-size:14px!important}

@media(max-width:980px){
  .sidebar{width:238px}.workspace{margin-left:238px;width:calc(100% - 238px)}
  .kf-form-head h2{font-size:28px!important}.kf-form-head p{font-size:14.5px!important}
}
@media(max-width:780px){
  .sidebar{position:relative;width:100%;inset:auto;padding:14px}.workspace{margin-left:0;width:100%}.content{padding:16px}.topbar h1{font-size:18px}.dash-hero h2{font-size:22px!important}.kpi-card b{font-size:25px}
}
@media(max-width:430px){
  .kf-form-panel{padding:20px!important}.kf-form-head h2{font-size:25px!important}.kf-form-head p{font-size:14px!important}.kf-input-wrap{height:50px!important}.kf-submit{height:49px!important}
}

/* V18 - Auditoria câmera S25 + dicas pós-LGPD + fallback manual 20s */
.face-prep-card{
  margin-top:14px;background:#fff;border:1px solid #e4ecf7;border-radius:26px;padding:26px;
  box-shadow:0 16px 44px rgba(9,30,66,.08);
}
.face-prep-badge{display:inline-flex;color:#0f73ff;background:#edf6ff;border:1px solid #d7eaff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.face-prep-card h2{margin:14px 0 8px;color:#06152d;font-size:27px;font-weight:650;letter-spacing:-.03em}
.face-prep-card p{margin:0 0 18px;color:#5f718b;line-height:1.55;font-size:14px}
.face-prep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.face-prep-grid div{background:#f8fbff;border:1px solid #e6eef8;border-radius:18px;padding:15px;min-height:88px}
.face-prep-grid b{display:block;color:#10233d;font-size:14px;font-weight:650;margin-bottom:5px}
.face-prep-grid span{display:block;color:#61738c;font-size:13px;line-height:1.4}
.face-manual-unlock{margin:12px 0;background:#fff8eb;border:1px solid #ffd58a;border-radius:16px;padding:13px;color:#563c00}
.face-manual-unlock b{display:block;color:#10233d;margin-bottom:4px;font-weight:650}
.face-manual-unlock span{display:block;font-size:13px;line-height:1.4;font-weight:500}
.face-manual-btn.fallback-ready{background:#ffb020!important;border-color:#ffb020!important;color:#10233d!important;box-shadow:0 12px 26px rgba(255,176,32,.24)!important}
@media(max-width:760px){.face-prep-card{padding:18px;border-radius:22px}.face-prep-card h2{font-size:24px}.face-prep-grid{grid-template-columns:1fr;gap:9px}.face-prep-grid div{min-height:auto;padding:12px}.face-prep-card p{font-size:13px}.face-manual-unlock{font-size:13px}}
@media(max-width:420px){.face-prep-card{padding:14px}.face-prep-card h2{font-size:21px}.face-prep-grid span{font-size:12px}}
