*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif}.login-page{min-height:100vh;background:#050608;color:#fff;display:flex;align-items:center;justify-content:center}.login-shell{width:min(1220px,96vw);min-height:720px;display:grid;grid-template-columns:1fr 1.08fr;background:linear-gradient(135deg,#050608,#151515);box-shadow:0 30px 90px rgba(0,0,0,.6);overflow:hidden;border:1px solid rgba(255,255,255,.08)}.brand-side{position:relative;background:radial-gradient(circle at bottom left,rgba(205,0,25,.35),transparent 42%),#030405;display:flex;align-items:center;justify-content:center;border-right:2px solid #c80d1e}.hex{position:absolute;left:0;top:0;width:230px;height:230px;background:repeating-linear-gradient(60deg,rgba(255,255,255,.06) 0 1px,transparent 1px 24px);opacity:.35}.main-logo{width:56%;max-width:470px;filter:drop-shadow(0 18px 28px rgba(0,0,0,.55))}.red-lines{position:absolute;left:-80px;bottom:-80px;width:620px;height:260px;border:2px solid rgba(255,0,30,.55);border-radius:50%;box-shadow:0 0 22px rgba(255,0,30,.55)}.form-side{position:relative;padding:50px 62px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at center,rgba(255,255,255,.04),transparent 45%),#111}.top-actions{position:absolute;right:36px;top:28px;display:flex;gap:14px}.top-actions span{border:1px solid rgba(255,255,255,.14);padding:12px 18px;border-radius:9px;color:#eee;background:rgba(255,255,255,.04)}.mini-logo{width:95px;margin:0 auto 18px;display:block}.form-side h1{text-align:center;font-size:70px;line-height:.9;margin:0;font-weight:900;letter-spacing:-2px}.form-side h1 span{color:#f1f1f1}.form-side h1{color:#b90818}.form-side h2{text-align:center;letter-spacing:10px;font-size:18px;margin:22px 0 42px;color:#e9e9e9}.login-form label{display:block;font-weight:800;font-size:14px;margin:20px 0 10px}.login-form input,.form-grid input,.form-grid select,.inline-form input,.inline-form select{width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:inherit;border-radius:10px;padding:17px 18px;font-size:16px;outline:none}.login-form input:focus{border-color:#d20b1f;box-shadow:0 0 0 3px rgba(210,11,31,.22)}.login-options{display:flex;justify-content:space-between;align-items:center;margin:18px 0 26px;color:#e7e7e7}.login-options a{color:#ff2638}button,.btn{display:inline-block;background:linear-gradient(135deg,#f01528,#a50614);border:0;color:#fff;border-radius:9px;padding:16px 22px;font-weight:900;text-decoration:none;cursor:pointer;box-shadow:0 12px 28px rgba(198,0,24,.25)}.login-form button{width:100%;font-size:22px;letter-spacing:.04em}.cert{background:transparent!important;border:1px solid rgba(255,255,255,.2)!important;box-shadow:none!important;font-size:17px!important}.divider{display:flex;align-items:center;gap:15px;margin:22px 0;color:#aaa}.divider:before,.divider:after{content:"";height:1px;background:rgba(255,255,255,.16);flex:1}.foot{text-align:center;color:#cfcfcf;margin-top:28px}.foot b{color:#ff2538}.alert{background:#3b0710;color:#ffd2d8;border:1px solid #a40718;padding:12px 14px;border-radius:10px;margin:14px 0}.app-body{background:#f2f4f8;color:#202532}.sidebar{position:fixed;left:0;top:0;bottom:0;width:286px;background:linear-gradient(180deg,#080a10,#11151f);color:#fff;padding:20px 16px;border-right:3px solid #c80d1e;overflow:auto}.side-brand{text-align:center;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:18px;margin-bottom:16px}.side-brand small{display:block;color:#9aa3b2;letter-spacing:.12em;text-transform:uppercase;font-size:10px}.side-logo{display:block;width:82px;height:82px;object-fit:cover;margin:0 auto 8px;border-radius:12px}.brand{text-align:center;font-weight:900;font-size:25px;margin-bottom:4px}.brand span{color:#d20b1f}.menu-tree{display:block}.menu-tree details{border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);border-radius:12px;margin:9px 0;overflow:hidden}.menu-tree summary{list-style:none;cursor:pointer;padding:13px 14px;font-weight:900;color:#fff;text-transform:uppercase;font-size:12px;letter-spacing:.06em}.menu-tree summary::-webkit-details-marker{display:none}.sidebar a,.menu-tree a{display:block;color:#d5d7df;text-decoration:none;padding:11px 14px 11px 28px;border-radius:9px;margin:3px 7px;font-weight:700}.menu-home{padding:13px 14px!important;margin:7px 0 12px!important;background:linear-gradient(135deg,#d20b1f,#85000c);color:#fff!important}.sidebar a:hover,.menu-tree a:hover{background:#1c202b;color:#fff}.topbar{height:58px;background:#fff;border-radius:16px;box-shadow:0 10px 26px rgba(16,24,40,.06);display:flex;justify-content:space-between;align-items:center;padding:0 20px;margin-bottom:24px}.topbar strong{display:block}.topbar span{font-size:12px;color:#d20b1f;font-weight:900}.topbar a{color:#d20b1f;text-decoration:none;font-weight:900}.main{margin-left:286px;padding:28px 34px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-head p{margin:0;color:#d20b1f;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.page-head h1,h1{margin:0 0 14px;font-size:34px}.badge{background:#0d111a;color:#fff;padding:10px 16px;border-radius:20px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}.card,.panel,.table-wrap,.form-grid,.inline-form{background:#fff;border-radius:18px;box-shadow:0 12px 30px rgba(16,24,40,.07);padding:24px}.card{border-left:5px solid #d20b1f}.card b{display:block;font-size:42px}.card span{color:#697386;font-weight:700}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px;border-bottom:1px solid #e6e8ef;text-align:left}th{font-size:12px;color:#697386;text-transform:uppercase;letter-spacing:.06em}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:900px}.form-grid.small{grid-template-columns:1fr 1fr auto}.form-grid label{font-weight:800}.form-grid input,.form-grid select,.inline-form input,.inline-form select{background:#fff;color:#202532;border:1px solid #d6d9e2;margin-top:8px}.form-grid button{align-self:end}.inline-form{display:grid;grid-template-columns:2fr 1fr 1fr 2fr auto;gap:10px;align-items:end;margin-bottom:18px}@media(max-width:900px){.login-shell{grid-template-columns:1fr}.brand-side{min-height:330px}.form-side{padding:36px 24px}.form-side h1{font-size:48px}.sidebar{position:static;width:100%}.main{margin-left:0}.cards,.form-grid,.form-grid.small,.inline-form{grid-template-columns:1fr}}@media print{.sidebar,.page-head button{display:none}.main{margin:0;padding:0}.table-wrap{box-shadow:none}.print table{font-size:11px}}
.assinaturas{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:34px 0 10px}.assinaturas span{border-top:1px solid #111;text-align:center;padding-top:8px;font-weight:700}.cadastro{grid-template-columns:repeat(4,1fr) auto}.print{margin-bottom:34px}
@media(max-width:900px){.cadastro{grid-template-columns:1fr}}
.placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.placeholder-grid div{border:1px solid #e6e8ef;border-radius:16px;padding:18px;background:#fafbff}.placeholder-grid b{display:block;color:#d20b1f;font-size:28px}.placeholder-grid span{font-weight:800;color:#475467}.menu-tree details[open] summary{color:#fff;background:rgba(210,11,31,.14)}
@media(max-width:900px){.placeholder-grid{grid-template-columns:1fr}}
/* V9.7 - Cadastro de funcionário no padrão V9 */
.employee-v9{display:block}.emp-header{background:#fff;border:1px solid #e5e7ef;border-radius:8px;box-shadow:0 8px 24px rgba(16,24,40,.06);padding:22px 26px;display:flex;align-items:center;gap:22px;margin-bottom:14px}.emp-avatar{width:92px;height:92px;border-radius:50%;background:linear-gradient(#eef0f4,#d9dce4);display:flex;align-items:center;justify-content:center;font-size:44px;color:#8b94a6}.emp-title{flex:1}.emp-title h1{font-size:30px;color:#c91525;margin:0 0 8px;font-weight:900}.emp-meta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;color:#313847}.status-badge{background:#c9f2d3;color:#086c22;padding:6px 10px;border-radius:4px;font-weight:900}.emp-actions{display:flex;gap:10px}.btn.light{background:#fff!important;color:#202532!important;border:1px solid #d6d9e2!important;box-shadow:none!important}.tabs-v9{display:flex;gap:0;margin-top:12px}.tabs-v9 .tab{background:#f8f9fb!important;color:#303846!important;border:1px solid #d8dbe4!important;border-bottom:0!important;border-radius:7px 7px 0 0!important;box-shadow:none!important;padding:14px 22px;font-weight:800}.tabs-v9 .tab.active{color:#d20b1f!important;background:#fff!important;border-top:3px solid #d20b1f!important}.emp-panel{display:none;background:#fff;border:1px solid #d8dbe4;border-radius:0 8px 8px 8px;padding:22px 24px;box-shadow:0 8px 24px rgba(16,24,40,.04)}.emp-panel.active{display:block}.emp-panel h3{text-transform:uppercase;font-size:14px;letter-spacing:.04em;color:#1f2a3d;margin:0 0 14px}.grid-v9{display:grid;gap:14px 18px;margin-bottom:20px}.grid-v9.five{grid-template-columns:repeat(5,1fr)}.grid-v9.four{grid-template-columns:repeat(4,1fr)}.grid-v9 label,.emp-panel label{font-weight:900;font-size:13px;color:#202532}.grid-v9 input,.grid-v9 select,.grid-v9 textarea,.emp-panel textarea{width:100%;border:1px solid #cfd4df;border-radius:5px;background:#fff;color:#202532;padding:12px;margin-top:7px;font-size:15px}.grid-v9 label:nth-child(2){grid-column:span 2}.grid-v9 .wide{grid-column:1/-1}.grid-v9 textarea,.emp-panel textarea{min-height:88px;resize:vertical}.emp-panel>textarea{min-height:280px}.bottom-actions{display:flex;justify-content:flex-end;gap:12px;background:#fff;border:1px solid #e5e7ef;border-radius:8px;margin-top:16px;padding:14px}.menu-tree details:first-of-type a[href*="dependentes"],.menu-tree details:first-of-type a[href*="documentos"],.menu-tree details:first-of-type a[href*="beneficios"],.menu-tree details:first-of-type a[href*="historico"]{display:none!important}@media(max-width:1200px){.grid-v9.five,.grid-v9.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.emp-header{flex-direction:column;align-items:flex-start}.grid-v9.five,.grid-v9.four{grid-template-columns:1fr}.tabs-v9{overflow:auto}.emp-actions{width:100%}}


/* V9.11 - Dependentes refinado */
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.muted{margin:4px 0 0;color:#6b7280;font-size:13px;line-height:1.45}.section-kicker{display:inline-block;color:#d20b1f;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}.dependentes-title h3{margin-bottom:3px}.dependentes-counter{min-width:138px;background:linear-gradient(135deg,#111827,#242b39);color:#fff;border-radius:14px;padding:14px 16px;text-align:center;box-shadow:0 10px 24px rgba(17,24,39,.18)}.dependentes-counter b{display:block;font-size:30px;line-height:1;color:#fff}.dependentes-counter span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#d9dde7;font-weight:800}.dependentes-layout{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(460px,1.15fr);gap:18px;align-items:start}.dependente-form-card,.dependentes-list-card{border:1px solid #e0e4ed;border-radius:16px;background:linear-gradient(180deg,#fff,#fafbfe);box-shadow:0 12px 28px rgba(16,24,40,.06);padding:20px}.card-title-line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;border-bottom:1px solid #edf0f5;padding-bottom:14px}.card-title-line.compact{margin-bottom:12px}.card-title-line h4{margin:0;color:#182230;font-size:17px}.card-title-line p{margin:4px 0 0;color:#667085;font-size:12px;font-weight:700;line-height:1.35}.card-icon{width:38px;height:38px;border-radius:12px;background:#fee2e2;color:#b91c1c;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900}.btn-add{background:linear-gradient(135deg,#f01528,#a50614);color:#fff;border:0;border-radius:10px;padding:12px 16px;font-weight:900;cursor:pointer;box-shadow:0 10px 22px rgba(198,0,24,.18)}.dependente-form.modern{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.dependente-form.modern .span-2{grid-column:1/-1}.dependente-form.modern label{font-weight:900;font-size:13px;color:#202532}.dependente-form.modern input,.dependente-form.modern select{width:100%;border:1px solid #cfd4df;border-radius:9px;background:#fff;color:#202532;padding:12px;margin-top:7px;font-size:14px}.dependente-form.modern input:focus,.dependente-form.modern select:focus{outline:none;border-color:#d20b1f;box-shadow:0 0 0 3px rgba(210,11,31,.12)}.dependente-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #edf0f5;padding-top:14px}.dependentes-table-wrap{border:1px solid #e4e7ee;border-radius:14px;overflow:hidden;background:#fff}.dependentes-table{width:100%;border-collapse:collapse;background:#fff}.dependentes-table th{background:#111827;color:#fff;text-align:left;padding:12px 13px;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.dependentes-table td{border-bottom:1px solid #edf0f5;padding:12px 13px;vertical-align:middle}.dependentes-table tr:last-child td{border-bottom:0}.dependentes-table tbody tr:hover{background:#fafafa}.pill{display:inline-block;background:#fee2e2;color:#991b1b;border-radius:999px;padding:5px 10px;font-weight:900;font-size:12px;white-space:nowrap}.btn-mini{border:0;border-radius:8px;padding:8px 10px;cursor:pointer;font-weight:900}.btn-mini.danger{background:#fff1f2;color:#991b1b;border:1px solid #fecdd3}.btn-mini.danger:hover{background:#fee2e2}.td-action{text-align:right}.empty-dependentes td{text-align:center;color:#667085;padding:34px 18px!important;background:repeating-linear-gradient(45deg,#fff,#fff 10px,#fafbfe 10px,#fafbfe 20px)}.empty-dependentes strong{color:#1f2937}.empty-dependentes span{font-size:12px}@media(max-width:1200px){.dependentes-layout{grid-template-columns:1fr}.dependente-form.modern{grid-template-columns:1fr 1fr}}@media(max-width:700px){.dependente-form.modern{grid-template-columns:1fr}.section-title-row{align-items:flex-start;flex-direction:column}.dependentes-counter{width:100%;}.dependente-actions{flex-direction:column}.dependente-actions .btn,.dependente-actions button{width:100%}.dependentes-table{font-size:12px}.dependentes-table th,.dependentes-table td{padding:9px 8px}}


/* V9.12 - refinamento visual da aba Dependentes */
.dependentes-pane{padding:26px!important;background:#fff!important}.dependentes-layout{grid-template-columns:1fr;gap:16px}.dependente-form-card,.dependentes-list-card{border-radius:10px;border:1px solid #d9dde7;background:#fff;box-shadow:0 8px 20px rgba(16,24,40,.05);padding:18px 20px}.card-title-line{align-items:center;margin-bottom:14px;padding-bottom:12px}.card-title-line h4{font-size:16px;color:#111827}.card-title-line p{font-size:12px;color:#6b7280}.card-icon{width:34px;height:34px;border-radius:8px}.dependente-form.modern{display:grid;grid-template-columns:2fr 1.15fr 1fr 1fr;gap:12px;align-items:end;margin-bottom:14px}.dependente-form.modern .span-2{grid-column:auto}.dependente-form.modern label{display:flex;flex-direction:column;min-width:0;height:76px;justify-content:flex-end;font-size:12px;text-transform:uppercase;letter-spacing:.02em;color:#303846}.dependente-form.modern input,.dependente-form.modern select{height:42px;box-sizing:border-box;margin-top:6px;border-radius:6px;padding:9px 11px;font-size:14px;line-height:20px}.dependente-actions{padding-top:12px}.btn-add{border-radius:6px;padding:11px 16px}.dependentes-table-wrap{border-radius:8px}.dependentes-table{table-layout:fixed}.dependentes-table th:nth-child(1),.dependentes-table td:nth-child(1){width:34%}.dependentes-table th:nth-child(2),.dependentes-table td:nth-child(2){width:22%}.dependentes-table th:nth-child(3),.dependentes-table td:nth-child(3){width:18%}.dependentes-table th:nth-child(4),.dependentes-table td:nth-child(4){width:16%;text-align:center}.dependentes-table th:nth-child(5),.dependentes-table td:nth-child(5){width:10%;text-align:right}.dependentes-table th{padding:11px 12px}.dependentes-table td{padding:11px 12px}.pill{border-radius:6px;padding:4px 8px}.section-title-row.dependentes-title{border-bottom:1px solid #eceff5;padding-bottom:14px;margin-bottom:16px}.dependentes-counter{border-radius:8px;min-width:120px;padding:11px 14px}.dependentes-counter b{font-size:25px}@media(max-width:1100px){.dependente-form.modern{grid-template-columns:1fr 1fr}.dependente-form.modern label{height:auto}.dependentes-table{table-layout:auto}}@media(max-width:700px){.dependente-form.modern{grid-template-columns:1fr}.dependentes-table-wrap{overflow-x:auto}.dependentes-table{min-width:760px}}

/* V9.13 - Abas Documentos e Benefícios no mesmo padrão de Dependentes */
.documentos-pane,.beneficios-pane{padding:26px!important;background:#fff!important}
.documentos-pane .dependente-form.modern,.beneficios-pane .dependente-form.modern{grid-template-columns:1.05fr 1.7fr 1fr .9fr .9fr;align-items:end}
.documentos-pane .dependente-form.modern .span-2,.beneficios-pane .dependente-form.modern .span-2{grid-column:auto}
.docs-table{table-layout:fixed}
.docs-table th:nth-child(1),.docs-table td:nth-child(1){width:18%}
.docs-table th:nth-child(2),.docs-table td:nth-child(2){width:30%}
.docs-table th:nth-child(3),.docs-table td:nth-child(3){width:16%}
.docs-table th:nth-child(4),.docs-table td:nth-child(4){width:14%;text-align:center}
.docs-table th:nth-child(5),.docs-table td:nth-child(5){width:12%;text-align:center}
.docs-table th:nth-child(6),.docs-table td:nth-child(6){width:10%;text-align:right}
@media(max-width:1200px){.documentos-pane .dependente-form.modern,.beneficios-pane .dependente-form.modern{grid-template-columns:1fr 1fr}.documentos-pane .dependente-form.modern .span-2,.beneficios-pane .dependente-form.modern .span-2{grid-column:1/-1}.docs-table{table-layout:auto;min-width:860px}.dependentes-table-wrap{overflow-x:auto}}
@media(max-width:700px){.documentos-pane .dependente-form.modern,.beneficios-pane .dependente-form.modern{grid-template-columns:1fr}}

/* V9.17 - Foto do funcionário */
.emp-photo-box{width:118px;display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.emp-photo-box .emp-avatar{width:104px;height:104px;border-radius:50%;background:linear-gradient(#eef0f4,#d9dce4);display:flex;align-items:center;justify-content:center;font-size:44px;color:#8b94a6;border:3px solid #fff;box-shadow:0 8px 20px rgba(16,24,40,.16);overflow:hidden}.emp-photo-box .emp-avatar img{width:100%;height:100%;object-fit:cover;display:block}.photo-upload-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:36px;border-radius:8px;background:#fff;color:#b20719;border:1px solid #f0b8bf;font-size:12px;font-weight:900;cursor:pointer;text-transform:uppercase;letter-spacing:.02em;box-sizing:border-box}.photo-upload-btn:hover{background:#fff1f2;border-color:#d20b1f}.emp-photo-box small{font-size:10px;color:#6b7280;font-weight:800;text-transform:uppercase;letter-spacing:.04em;text-align:center}
@media(max-width:800px){.emp-photo-box{width:100%;align-items:flex-start}.emp-photo-box .emp-avatar{width:96px;height:96px}.photo-upload-btn{max-width:160px}}

/* V9.18 - Histórico funcional estruturado e documentos com anexo */
.historico-pane{padding:26px!important;background:#fff!important}
.history-form{grid-template-columns:.9fr 1.15fr 1.1fr 1.7fr .9fr!important;align-items:end}
.history-form .span-2{grid-column:auto!important}
.history-table{table-layout:fixed}
.history-table th:nth-child(1),.history-table td:nth-child(1){width:13%;text-align:center}
.history-table th:nth-child(2),.history-table td:nth-child(2){width:19%}
.history-table th:nth-child(3),.history-table td:nth-child(3){width:17%}
.history-table th:nth-child(4),.history-table td:nth-child(4){width:31%}
.history-table th:nth-child(5),.history-table td:nth-child(5){width:10%;text-align:center}
.history-table th:nth-child(6),.history-table td:nth-child(6){width:10%;text-align:right}
.documentos-pane .docs-table th:nth-child(1),.documentos-pane .docs-table td:nth-child(1){width:15%}
.documentos-pane .docs-table th:nth-child(2),.documentos-pane .docs-table td:nth-child(2){width:25%}
.documentos-pane .docs-table th:nth-child(3),.documentos-pane .docs-table td:nth-child(3){width:13%}
.documentos-pane .docs-table th:nth-child(4),.documentos-pane .docs-table td:nth-child(4){width:12%;text-align:center}
.documentos-pane .docs-table th:nth-child(5),.documentos-pane .docs-table td:nth-child(5){width:11%;text-align:center}
.documentos-pane .docs-table th:nth-child(6),.documentos-pane .docs-table td:nth-child(6){width:14%;font-size:12px;color:#475467;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.documentos-pane .docs-table th:nth-child(7),.documentos-pane .docs-table td:nth-child(7){width:10%;text-align:right}
.documentos-pane .dependente-form.modern{grid-template-columns:1fr 1.7fr .9fr .9fr .9fr 1fr;align-items:end}
@media(max-width:1300px){.history-form,.documentos-pane .dependente-form.modern{grid-template-columns:1fr 1fr!important}.history-form .span-2,.documentos-pane .dependente-form.modern .span-2{grid-column:1/-1!important}.history-table,.documentos-pane .docs-table{table-layout:auto;min-width:980px}}
@media(max-width:700px){.history-form,.documentos-pane .dependente-form.modern{grid-template-columns:1fr!important}}

/* V9.19 - refinamento final do cadastro funcional */
.dropzone{border:2px dashed #cfd4df;border-radius:10px;background:#fafbfe;min-height:76px;padding:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#667085;cursor:pointer;transition:.18s ease;position:relative;text-align:center}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone strong{color:#202532}.dropzone.dragover{border-color:#d20b1f;background:#fff1f2;box-shadow:0 0 0 4px rgba(210,11,31,.09)}.pill.ok{background:#dcfce7;color:#166534}.pill.warn{background:#fef3c7;color:#92400e}.pill.danger{background:#fee2e2;color:#991b1b}.pill.neutral{background:#e5e7eb;color:#374151}.docs-form{grid-template-columns:1fr 1.2fr 1fr 1fr!important}.docs-table th,.docs-table td{font-size:12px}.timeline-v9{margin-top:18px;border-top:1px solid #edf0f5;padding-top:16px}.timeline-v9 h4{margin:0 0 12px;color:#111827}.timeline-item{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:10px 0;position:relative}.timeline-item:before{content:"";position:absolute;left:8px;top:24px;bottom:-10px;border-left:2px solid #e5e7eb}.timeline-item:last-child:before{display:none}.timeline-dot{width:18px;height:18px;border-radius:50%;background:#d20b1f;border:4px solid #fee2e2;margin-top:2px;z-index:1}.timeline-item b{display:block;color:#111827}.timeline-item span{font-size:12px;color:#d20b1f;font-weight:900}.timeline-item p{margin:4px 0;color:#374151}.timeline-item small{display:inline-block;background:#f3f4f6;border-radius:7px;padding:4px 7px;color:#4b5563}.emp-panel input.invalid{border-color:#d20b1f!important;box-shadow:0 0 0 3px rgba(210,11,31,.12)!important}@media(max-width:900px){.docs-form{grid-template-columns:1fr!important}.timeline-item{grid-template-columns:20px 1fr}}

/* V9.21 - Lançamentos do ponto */
.lancamentos-panel{margin-bottom:18px}.lancamento-form{display:grid;grid-template-columns:1.6fr .8fr 1.25fr 1.7fr auto;gap:14px;align-items:end}.lancamento-form label{font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#303846}.lancamento-form input,.lancamento-form select{width:100%;height:43px;border:1px solid #cfd4df;border-radius:7px;background:#fff;color:#202532;padding:9px 11px;margin-top:7px;font-size:14px}.lancamento-form input:focus,.lancamento-form select:focus{outline:none;border-color:#d20b1f;box-shadow:0 0 0 3px rgba(210,11,31,.12)}.lancamento-form .span-2{grid-column:auto}.lancamento-form button{height:43px;border-radius:7px;white-space:nowrap}.lancamentos-lista .pill{background:#eef2ff;color:#1e3a8a;border:1px solid #c7d2fe}.lancamentos-lista td:nth-child(1){font-weight:800}.lancamentos-lista td:nth-child(3){white-space:nowrap}@media(max-width:1280px){.lancamento-form{grid-template-columns:1fr 1fr}.lancamento-form button{width:100%}}@media(max-width:720px){.lancamento-form{grid-template-columns:1fr}.lancamentos-lista{overflow-x:auto}.lancamentos-lista table{min-width:780px}}


/* V9.22 - Lançamentos corrigidos: faltas e afastamento com retorno automático */
.lancamento-form.v922{grid-template-columns:1.45fr .82fr 1.28fr .55fr .82fr 1.55fr auto;gap:12px;align-items:end}.lancamento-form.v922 label{display:flex;flex-direction:column;justify-content:flex-end;min-width:0;height:76px}.lancamento-form.v922 .span-obs{grid-column:auto}.lancamento-form.v922 .campo-dias input{text-align:center}.lancamento-form.v922 .campo-retorno input{background:#f8fafc;color:#475467;font-weight:800}.lancamentos-table-v922 th:nth-child(1),.lancamentos-table-v922 td:nth-child(1){width:24%}.lancamentos-table-v922 th:nth-child(2),.lancamentos-table-v922 td:nth-child(2){width:12%;text-align:center}.lancamentos-table-v922 th:nth-child(3),.lancamentos-table-v922 td:nth-child(3){width:22%}.lancamentos-table-v922 th:nth-child(4),.lancamentos-table-v922 td:nth-child(4){width:8%;text-align:center}.lancamentos-table-v922 th:nth-child(5),.lancamentos-table-v922 td:nth-child(5){width:12%;text-align:center}.lancamentos-table-v922 th:nth-child(6),.lancamentos-table-v922 td:nth-child(6){width:22%}.lancamentos-v922 .muted{max-width:980px}@media(max-width:1400px){.lancamento-form.v922{grid-template-columns:1fr 1fr}.lancamento-form.v922 label{height:auto}.lancamento-form.v922 button{width:100%}}@media(max-width:720px){.lancamento-form.v922{grid-template-columns:1fr}.lancamentos-table-v922{min-width:980px}}

/* V9.23 - Lançamentos do ponto */
.quick-lancamentos{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 20px}
.quick-lancamentos button{border:1px solid rgba(255,255,255,.12);background:#171a20;color:#f4f4f5;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}
.quick-lancamentos button:hover,.quick-lancamentos button.active{background:#b91c1c;border-color:#ef4444;color:#fff}
.lancamento-form.v923{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;align-items:end}
.lancamento-form.v923 label{display:flex;flex-direction:column;gap:7px}
.lancamento-form.v923 input,.lancamento-form.v923 select{height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#101318;color:#fff;padding:0 12px}
.lancamento-form.v923 .span-obs{grid-column:1 / span 2}
.lancamento-form.v923 button[type="submit"]{height:42px;border:0;border-radius:10px;background:#dc2626;color:#fff;font-weight:800;cursor:pointer}
#campoDias,#campoRetorno{display:none}
.lancamentos-table-v923 th,.lancamentos-table-v923 td{vertical-align:middle}
@media(max-width:980px){.lancamento-form.v923{grid-template-columns:1fr}.lancamento-form.v923 .span-obs{grid-column:auto}}

/* V9.25 - Falta justificada com subtipo */
.campo-justificativa{display:none}
.lancamentos-table-v925 th:nth-child(1),.lancamentos-table-v925 td:nth-child(1){width:25%}
.lancamentos-table-v925 th:nth-child(2),.lancamentos-table-v925 td:nth-child(2){width:12%;text-align:center}
.lancamentos-table-v925 th:nth-child(3),.lancamentos-table-v925 td:nth-child(3){width:20%}
.lancamentos-table-v925 th:nth-child(4),.lancamentos-table-v925 td:nth-child(4){width:20%}
.lancamentos-table-v925 th:nth-child(5),.lancamentos-table-v925 td:nth-child(5){width:10%;text-align:center}
.lancamentos-table-v925 th:nth-child(6),.lancamentos-table-v925 td:nth-child(6){width:13%}

/* V9.26 - Lançamentos: falta justificada com dias e retorno */
.lancamentos-v926 .muted{max-width:980px}
.lancamento-form.v926{grid-template-columns:1.4fr .75fr 1.25fr .45fr .75fr .75fr 1.8fr auto;gap:14px;align-items:end}
.lancamento-form.v926 label{min-width:0}
.lancamento-form.v926 .span-obs{grid-column:auto}
.lancamento-form.v926 .campo-dias input{text-align:center;font-weight:800}
.lancamento-form.v926 .campo-retorno input{background:#0b0d11;color:#d1d5db;font-weight:800}
.lancamento-form.v926 button[type="submit"]{white-space:nowrap;padding:0 18px}
.quick-lancamentos.main-actions button.active{background:#dc2626;border-color:#ef4444;color:#fff;box-shadow:0 0 0 3px rgba(220,38,38,.18)}
.lancamentos-table-v926 th:nth-child(2),.lancamentos-table-v926 td:nth-child(2),
.lancamentos-table-v926 th:nth-child(5),.lancamentos-table-v926 td:nth-child(5),
.lancamentos-table-v926 th:nth-child(6),.lancamentos-table-v926 td:nth-child(6){text-align:center;white-space:nowrap}
@media(max-width:1500px){.lancamento-form.v926{grid-template-columns:repeat(3,minmax(220px,1fr))}.lancamento-form.v926 .span-obs{grid-column:1 / span 2}}
@media(max-width:980px){.lancamento-form.v926{grid-template-columns:1fr}.lancamento-form.v926 .span-obs{grid-column:auto}.lancamentos-table-v926{min-width:1100px}}

/* V9.27 - layout refinado dos lançamentos */
.lancamento-form.v927{
  display:block;
  margin-top:18px;
}
.lancamento-form.v927 .lanc-card{
  background:#0f1218;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  padding:20px 22px;
  margin-bottom:18px;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.lancamento-form.v927 .lanc-card-title{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-end;
  margin-bottom:18px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.lancamento-form.v927 .lanc-card-title span{
  color:#fff;
  font-size:15px;
  font-weight:900;
  letter-spacing:.02em;
}
.lancamento-form.v927 .lanc-card-title small{
  color:#a7adba;
  font-weight:600;
  text-transform:none;
  letter-spacing:0;
  text-align:right;
}
.lancamento-form.v927 .lanc-grid{
  display:grid;
  gap:18px 22px;
  align-items:end;
}
.lancamento-form.v927 .lanc-grid-main{
  grid-template-columns:1.15fr minmax(360px,2.8fr) .8fr .8fr;
}
.lancamento-form.v927 .lanc-grid-justificativa{
  grid-template-columns:1.6fr .45fr .75fr .75fr;
}
.lancamento-form.v927 label{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  color:#dfe3ec;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.lancamento-form.v927 label span{
  color:#9ca3af;
  font-size:11px;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
}
.lancamento-form.v927 input,
.lancamento-form.v927 select,
.lancamento-form.v927 textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  background:#080b10;
  color:#fff;
  padding:0 14px;
  font-size:14px;
  outline:none;
  transition:.18s ease;
  box-sizing:border-box;
}
.lancamento-form.v927 input,
.lancamento-form.v927 select{
  height:46px;
}
.lancamento-form.v927 textarea{
  min-height:110px;
  padding:14px;
  resize:vertical;
  line-height:1.45;
}
.lancamento-form.v927 input:focus,
.lancamento-form.v927 select:focus,
.lancamento-form.v927 textarea:focus{
  border-color:#ef4444;
  box-shadow:0 0 0 4px rgba(239,68,68,.14);
}
.lancamento-form.v927 .campo-dias input{
  text-align:center;
  font-weight:900;
}
.lancamento-form.v927 .campo-retorno input{
  background:#111827;
  color:#e5e7eb;
  font-weight:900;
}
.lancamento-form.v927 .full-field{
  display:flex;
  margin-bottom:16px;
}
.lancamento-form.v927 .upload-lancamento{
  display:flex;
  min-height:74px;
  justify-content:center;
  align-items:center;
  border:1px dashed rgba(239,68,68,.55);
  border-radius:14px;
  background:rgba(239,68,68,.05);
  cursor:pointer;
  text-align:center;
}
.lancamento-form.v927 .upload-lancamento input{
  height:auto;
  padding:10px;
  background:transparent;
  border:0;
  color:#d1d5db;
}
.lancamento-form.v927 .lanc-form-actions{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  margin-top:10px;
}
.lancamento-form.v927 .lanc-form-actions button{
  min-width:150px;
  height:46px;
  border-radius:12px;
  border:0;
  font-weight:900;
  cursor:pointer;
}
.lancamento-form.v927 .lanc-form-actions button[type="submit"]{
  background:#dc2626;
  color:#fff;
}
.lancamento-form.v927 .btn-secondary{
  background:#1f2937;
  color:#e5e7eb;
  border:1px solid rgba(255,255,255,.12)!important;
}
.lancamentos-panel.lancamentos-v927 .quick-lancamentos{
  margin:16px 0 22px;
  gap:12px;
}
.lancamentos-panel.lancamentos-v927 .quick-lancamentos button{
  padding:11px 16px;
  border-radius:14px;
}
@media(max-width:1200px){
  .lancamento-form.v927 .lanc-grid-main,
  .lancamento-form.v927 .lanc-grid-justificativa{grid-template-columns:1fr 1fr;}
  .lancamento-form.v927 .field-wide{grid-column:1 / -1;}
}
@media(max-width:720px){
  .lancamento-form.v927 .lanc-grid-main,
  .lancamento-form.v927 .lanc-grid-justificativa{grid-template-columns:1fr;}
  .lancamento-form.v927 .lanc-card-title{display:block;}
  .lancamento-form.v927 .lanc-card-title small{text-align:left;display:block;margin-top:6px;}
  .lancamento-form.v927 .lanc-form-actions{flex-direction:column;}
  .lancamento-form.v927 .lanc-form-actions button{width:100%;}
}

/* V9.28 - Lançamentos com área clara */
.lancamentos-panel.lancamentos-v927{
  background:#ffffff;
  color:#202532;
  border:1px solid #e5e7ef;
  box-shadow:0 12px 30px rgba(16,24,40,.07);
}
.lancamentos-panel.lancamentos-v927 .section-kicker{color:#d20b1f;}
.lancamentos-panel.lancamentos-v927 h3{color:#111827;}
.lancamentos-panel.lancamentos-v927 .muted{color:#697386;}
.lancamento-form.v927 .lanc-card{
  background:#ffffff;
  border:1px solid #e5e7ef;
  box-shadow:0 10px 26px rgba(16,24,40,.06);
}
.lancamento-form.v927 .lanc-card-title{
  border-bottom:1px solid #eef0f5;
}
.lancamento-form.v927 .lanc-card-title span{
  color:#b90818;
}
.lancamento-form.v927 .lanc-card-title small{
  color:#697386;
}
.lancamento-form.v927 label{
  color:#303846;
}
.lancamento-form.v927 label span{
  color:#697386;
}
.lancamento-form.v927 input,
.lancamento-form.v927 select,
.lancamento-form.v927 textarea{
  background:#ffffff;
  color:#202532;
  border:1px solid #cfd4df;
}
.lancamento-form.v927 input:focus,
.lancamento-form.v927 select:focus,
.lancamento-form.v927 textarea:focus{
  border-color:#d20b1f;
  box-shadow:0 0 0 4px rgba(210,11,31,.12);
}
.lancamento-form.v927 .campo-retorno input{
  background:#f8fafc;
  color:#202532;
}
.lancamento-form.v927 .upload-lancamento{
  background:#fff7f8;
  border:1px dashed #d20b1f;
  color:#303846;
}
.lancamento-form.v927 .upload-lancamento input{
  color:#303846;
}
.lancamento-form.v927 .btn-secondary{
  background:#ffffff;
  color:#303846;
  border:1px solid #cfd4df!important;
}
.lancamentos-panel.lancamentos-v927 .quick-lancamentos button{
  background:#ffffff;
  color:#303846;
  border:1px solid #d6d9e2;
  box-shadow:none;
}
.lancamentos-panel.lancamentos-v927 .quick-lancamentos button:hover,
.lancamentos-panel.lancamentos-v927 .quick-lancamentos button.active{
  background:#d20b1f;
  border-color:#d20b1f;
  color:#fff;
  box-shadow:0 8px 20px rgba(210,11,31,.18);
}

/* V9.29 - Lançamentos com tela inicial, botão novo e histórico */
.lanc-page-head{align-items:center;}
.btn-novo-lancamento{
  border:0;
  background:#d20b1f;
  color:#fff;
  padding:13px 18px;
  border-radius:12px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(210,11,31,.20);
  cursor:pointer;
}
.btn-novo-lancamento:hover{filter:brightness(.96)}
.lancamentos-home{
  background:#fff;
  border:1px solid #e5e7ef;
  box-shadow:0 12px 30px rgba(16,24,40,.07);
  margin-bottom:20px;
}
.lanc-filtros{
  display:grid;
  grid-template-columns:1.4fr 1fr .8fr .8fr auto;
  gap:14px;
  align-items:end;
  margin:18px 0 18px;
  padding:16px;
  background:#f8fafc;
  border:1px solid #eef0f5;
  border-radius:16px;
}
.lanc-filtros label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#303846;
}
.lanc-filtros input,.lanc-filtros select{
  width:100%;
  height:42px;
  border:1px solid #cfd4df;
  border-radius:10px;
  background:#fff;
  color:#202532;
  padding:9px 11px;
  font-size:14px;
}
.lanc-filtros input:focus,.lanc-filtros select:focus{outline:none;border-color:#d20b1f;box-shadow:0 0 0 3px rgba(210,11,31,.10)}
.filtro-btn{height:42px;border-radius:10px;white-space:nowrap;}
.lancamentos-lista-home{margin-top:8px;}
.lancamentos-table-v929 th:nth-child(1),.lancamentos-table-v929 td:nth-child(1),
.lancamentos-table-v929 th:nth-child(5),.lancamentos-table-v929 td:nth-child(5),
.lancamentos-table-v929 th:nth-child(6),.lancamentos-table-v929 td:nth-child(6){text-align:center;white-space:nowrap;}
.status-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ecfdf3;color:#027a48;border:1px solid #abefc6;font-weight:900;padding:5px 10px;font-size:12px;}
.acoes-lancamento{white-space:nowrap;text-align:center;}
.acoes-lancamento button{border:1px solid #d6d9e2;background:#fff;border-radius:8px;padding:6px 8px;margin:0 2px;cursor:pointer;}
.lancamentos-form-panel{margin-top:18px;}
.btn-fechar-form{height:40px;border-radius:10px;}
@media(max-width:1180px){.lanc-filtros{grid-template-columns:1fr 1fr}.filtro-btn{width:100%;}}
@media(max-width:720px){.lanc-filtros{grid-template-columns:1fr}.lancamentos-table-v929{min-width:1150px}.btn-novo-lancamento{width:100%;}.lanc-page-head{display:block}.lanc-page-head .btn-novo-lancamento{margin-top:12px}}


/* V9.89 - melhora do campo Funcionário em Lançamentos do Ponto */
.lancamento-form.v927 .funcionario-lancamento-field{
  min-width:360px;
}
.lancamento-form.v927 .funcionario-lancamento-select,
.funcionario-filtro-select{
  font-weight:800;
  min-width:100%;
  text-overflow:ellipsis;
}
.lancamentos-table-v929 th:nth-child(2),
.lancamentos-table-v929 td:nth-child(2){
  width:26%;
  min-width:260px;
  white-space:normal;
}
.lancamentos-table-v929 td:nth-child(2) strong{
  display:block;
  line-height:1.25;
  word-break:normal;
}
@media(max-width:1200px){
  .lancamento-form.v927 .funcionario-lancamento-field{min-width:0;}
}

/* V9.33 - Feriados com controle de aplicação na folha ponto */
.light-panel{background:#fff;color:#1f2937;border:1px solid #e5e7eb;box-shadow:0 10px 25px rgba(15,23,42,.08)}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.section-title-row h2{margin:0;color:#b91c1c}.section-title-row p{margin:4px 0 0;color:#6b7280}
.feriado-form{display:grid;grid-template-columns:160px 1.4fr 180px 100px 180px 190px 130px;gap:18px 16px;align-items:end}
.feriado-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#374151;font-size:13px}
.feriado-form input,.feriado-form select,.feriado-form textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827;padding:11px 12px;font-size:14px;outline:none}
.feriado-form input:focus,.feriado-form select:focus,.feriado-form textarea:focus{border-color:#b91c1c;box-shadow:0 0 0 3px rgba(185,28,28,.10)}
.feriado-form .wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end}.form-actions .primary{background:#b91c1c;color:#fff;border:0;border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer}
.clear-table{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 25px rgba(15,23,42,.06);overflow:auto}.clear-table table{width:100%;border-collapse:collapse}.clear-table th{background:#f9fafb;color:#374151;text-align:left;padding:13px;border-bottom:1px solid #e5e7eb}.clear-table td{padding:13px;border-bottom:1px solid #f1f5f9;color:#111827}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;background:#f3f4f6;color:#374151}.pill.ok{background:#dcfce7;color:#166534}.pill.off{background:#fee2e2;color:#991b1b}.actions-cell{display:flex;gap:8px;flex-wrap:wrap}.actions-cell a{font-size:12px;font-weight:800;text-decoration:none;background:#f3f4f6;color:#374151;border-radius:8px;padding:7px 9px}.actions-cell a:hover{background:#fee2e2;color:#991b1b}
@media(max-width:1200px){.feriado-form{grid-template-columns:1fr 1fr}.feriado-form .wide{grid-column:1/-1}}

/* V9.34 - Feriados melhorado: listagem limpa, filtros e ações rápidas */
.btn-feriado-novo{padding:13px 18px;border-radius:12px;text-decoration:none}
.feriados-home{background:#fff;border:1px solid #e5e7ef;box-shadow:0 12px 30px rgba(16,24,40,.07);margin-bottom:18px}
.feriados-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}
.feriados-toolbar h2{margin:0;color:#b90818}.feriados-toolbar p{margin:5px 0 0;color:#697386;font-weight:700}.feriados-resumo{display:flex;gap:10px;flex-wrap:wrap}.feriados-resumo span{background:#f8fafc;border:1px solid #e5e7ef;border-radius:12px;padding:10px 14px;color:#475467;font-weight:800}.feriados-resumo b{color:#b90818;font-size:20px;margin-right:4px}
.feriados-filtros{display:grid;grid-template-columns:.65fr .9fr 1fr .8fr 1.5fr auto;gap:14px;align-items:end;padding:16px;background:#f8fafc;border:1px solid #eef0f5;border-radius:16px}
.feriados-filtros label{display:flex;flex-direction:column;gap:7px;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#303846}.feriados-filtros input,.feriados-filtros select{height:43px;border:1px solid #cfd4df;border-radius:10px;background:#fff;color:#202532;padding:9px 11px;font-size:14px}.feriados-filtros input:focus,.feriados-filtros select:focus{outline:none;border-color:#d20b1f;box-shadow:0 0 0 3px rgba(210,11,31,.10)}.feriados-filtro-acoes{display:flex;gap:8px;align-items:center}.feriados-filtro-acoes .primary{height:43px;border-radius:10px;padding:0 16px}.feriados-filtro-acoes .btn.light{height:43px;display:flex;align-items:center;padding:0 14px;text-decoration:none}
.feriado-card-form{margin-bottom:18px}.feriado-form.v934{grid-template-columns:160px minmax(260px,1.4fr) 180px 120px 180px;gap:18px;align-items:end}.feriado-form.v934 .nome-feriado{grid-column:span 2}.feriado-form.v934 .switch-row{grid-column:1/-1;display:grid;grid-template-columns:240px 200px;gap:16px;background:#f8fafc;border:1px solid #eef0f5;border-radius:14px;padding:14px}.feriado-form.v934 .switch-card{margin:0}.feriado-form.v934 .form-actions{gap:10px}.feriado-form.v934 .form-actions .btn.light{box-shadow:none!important;text-decoration:none;padding:12px 18px;border-radius:10px}
.feriados-table-card{padding:0;overflow:auto}.feriados-table-v934{min-width:950px}.feriados-table-v934 th{background:#f8fafc;color:#475467}.feriados-table-v934 td{vertical-align:middle}.feriados-table-v934 td strong{display:block;color:#0f2f6b;text-decoration:none}.feriados-table-v934 td small{display:block;color:#697386;margin-top:3px;text-decoration:none}.feriados-table-v934 .data-feriado{font-weight:900;color:#111827;white-space:nowrap}.feriados-table-v934 .toggle-pill{text-decoration:none;min-width:64px;justify-content:center}.feriados-table-v934 .toggle-pill:hover{filter:brightness(.97);box-shadow:0 0 0 3px rgba(210,11,31,.08)}.feriados-table-v934 .feriado-inativo{background:#fff7f7;color:#7f1d1d}.feriados-table-v934 .feriado-inativo td strong{color:#c62828;text-decoration:none}.feriados-table-v934 .feriado-inativo td small{color:#8a4b4b;text-decoration:none}.feriados-table-v934 .actions-cell{white-space:nowrap;display:flex;gap:8px}.feriados-table-v934 .actions-cell a{text-decoration:none;border:1px solid #d6d9e2;background:#fff;color:#303846;border-radius:9px;padding:8px 10px;font-size:12px;font-weight:900}.feriados-table-v934 .actions-cell a:hover{border-color:#d20b1f;color:#d20b1f;background:#fff7f8}
@media(max-width:1250px){.feriados-filtros{grid-template-columns:1fr 1fr}.feriados-filtro-acoes{grid-column:1/-1}.feriado-form.v934{grid-template-columns:1fr 1fr}.feriado-form.v934 .nome-feriado{grid-column:auto}.feriado-form.v934 .switch-row{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.feriados-toolbar{display:block}.feriados-resumo{margin-top:12px}.feriados-filtros,.feriado-form.v934,.feriado-form.v934 .switch-row{grid-template-columns:1fr}.feriados-filtro-acoes{flex-direction:column;align-items:stretch}.feriados-filtro-acoes .primary,.feriados-filtro-acoes .btn.light{width:100%;justify-content:center}.page-head .btn-feriado-novo{display:block;margin-top:12px;text-align:center}}

/* V9.35 - Feriados: atualização sem recarregar a página */
.toggle-pill.loading {
  opacity: .65;
  pointer-events: none;
}
.izz-toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  background: #242424;
  color: #fff;
  padding: 12px 16px;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(0,0,0,.22);
  font-size: 13px;
  font-weight: 700;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  z-index: 9999;
}
.izz-toast.show {
  opacity: 1;
  transform: translateY(0);
}

.feriados-resumo .ativar-todos-feriados{background:#0f2f6b;color:#fff;border-color:#0f2f6b;margin-left:8px;white-space:nowrap}.feriados-resumo .ativar-todos-feriados:hover{background:#0b2554;color:#fff}.feriados-resumo .ativar-todos-feriados.loading{opacity:.65;pointer-events:none}

/* V9.38 - Jornadas no padrão profissional dos feriados */
.jornadas-home{background:#fff;border:1px solid #e5e7ef;box-shadow:0 12px 30px rgba(16,24,40,.07);margin-bottom:18px}
.jornadas-filtros{display:grid;grid-template-columns:220px minmax(260px,1fr) auto;gap:14px;align-items:end;padding:16px;background:#f8fafc;border:1px solid #eef0f5;border-radius:16px}
.jornadas-filtros label{display:flex;flex-direction:column;gap:7px;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#303846}.jornadas-filtros input,.jornadas-filtros select{height:43px;border:1px solid #cfd4df;border-radius:10px;background:#fff;color:#202532;padding:9px 11px;font-size:14px}.jornadas-filtros input:focus,.jornadas-filtros select:focus{outline:none;border-color:#d20b1f;box-shadow:0 0 0 3px rgba(210,11,31,.10)}
.jornada-card-form{margin-bottom:18px}.jornada-form.v938{display:grid;grid-template-columns:minmax(280px,1.6fr) 160px repeat(4, 130px);gap:18px;align-items:end}.jornada-form.v938 label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#374151;font-size:13px}.jornada-form.v938 input,.jornada-form.v938 select,.jornada-form.v938 textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827;padding:11px 12px;font-size:14px;outline:none}.jornada-form.v938 input:focus,.jornada-form.v938 select:focus,.jornada-form.v938 textarea:focus{border-color:#b91c1c;box-shadow:0 0 0 3px rgba(185,28,28,.10)}.jornada-form.v938 .wide{grid-column:1/-1}.jornada-form.v938 .form-actions{gap:10px;justify-content:flex-end}.jornada-form.v938 .btn.light{text-decoration:none;padding:12px 18px;border-radius:10px}
.jornadas-table-v938{min-width:980px}.jornadas-table-v938 td{vertical-align:middle}.jornadas-table-v938 td strong{display:block;color:#0f2f6b}.jornadas-table-v938 td small{display:block;color:#697386;margin-top:3px}.jornadas-table-v938 .jornada-inativa{background:#fff7f7}.jornadas-table-v938 .jornada-inativa td strong{color:#c62828}.jornadas-table-v938 .jornada-inativa td small{color:#8a4b4b}.jornada-toggle-pill{text-decoration:none;min-width:64px;justify-content:center}.jornada-toggle-pill.loading{opacity:.6;pointer-events:none}
@media(max-width:1350px){.jornada-form.v938{grid-template-columns:1fr 1fr 1fr}.jornada-form.v938 .jornada-nome{grid-column:span 2}.jornadas-filtros{grid-template-columns:1fr 1fr}.jornadas-filtros .feriados-filtro-acoes{grid-column:1/-1}}
@media(max-width:720px){.jornada-form.v938,.jornadas-filtros{grid-template-columns:1fr}.jornada-form.v938 .jornada-nome{grid-column:auto}.jornadas-filtros .feriados-filtro-acoes{flex-direction:column;align-items:stretch}.jornadas-filtros .primary,.jornadas-filtros .btn.light{width:100%;justify-content:center}}

/* V9.40 - Escalas organizadas */
.escalas-home{background:#fff;border:1px solid #e5e7ef;box-shadow:0 12px 30px rgba(16,24,40,.07);margin-bottom:18px}
.escalas-filtros{grid-template-columns:180px 180px minmax(260px,1fr) auto}
.escala-card-form{margin-bottom:18px}
.escala-form.v940{display:grid;grid-template-columns:minmax(280px,1.35fr) 140px 150px minmax(220px,1fr) 155px 165px 150px 140px 130px 140px;gap:18px;align-items:end}
.escala-form.v940 label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#374151;font-size:13px}
.escala-form.v940 input,.escala-form.v940 select,.escala-form.v940 textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827;padding:11px 12px;font-size:14px;outline:none}
.escala-form.v940 input:focus,.escala-form.v940 select:focus,.escala-form.v940 textarea:focus{border-color:#b91c1c;box-shadow:0 0 0 3px rgba(185,28,28,.10)}
.escala-form.v940 .wide{grid-column:1/-1}.escala-form.v940 .form-actions{gap:10px;justify-content:flex-end}.escala-form.v940 .btn.light{text-decoration:none;padding:12px 18px;border-radius:10px}.escala-nome{grid-column:span 2}
.escala-semanal{border:1px solid #e5e7ef;background:#f8fafc;border-radius:16px;padding:16px}.escala-semanal h3{margin:0 0 4px;color:#111827}.escala-semanal p{margin:0 0 14px;color:#667085;font-size:13px}.semana-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.semana-grid label{height:auto!important}
.escalas-table-v940{min-width:1080px}.escalas-table-v940 td{vertical-align:middle}.escalas-table-v940 td strong{display:block;color:#0f2f6b}.escalas-table-v940 td b{color:#111827}.escalas-table-v940 td small{display:block;color:#697386;margin-top:3px;line-height:1.35}.escalas-table-v940 .escala-inativa{background:#fff7f7}.escalas-table-v940 .escala-inativa td strong{color:#c62828}.escalas-table-v940 .escala-inativa td small{color:#8a4b4b}.escala-toggle-pill{text-decoration:none;min-width:64px;justify-content:center}.escala-toggle-pill.loading{opacity:.6;pointer-events:none}
@media(max-width:1500px){.escala-form.v940{grid-template-columns:1fr 1fr 1fr}.escala-nome{grid-column:span 2}.escalas-filtros{grid-template-columns:1fr 1fr}.escalas-filtros .busca-feriado,.escalas-filtros .feriados-filtro-acoes{grid-column:1/-1}.semana-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:720px){.escala-form.v940,.escalas-filtros{grid-template-columns:1fr}.escala-nome{grid-column:auto}.semana-grid{grid-template-columns:1fr 1fr}.escalas-filtros .feriados-filtro-acoes{flex-direction:column;align-items:stretch}.escalas-filtros .primary,.escalas-filtros .btn.light{width:100%;justify-content:center}}


/* V9.41 - Escalas: edição em tela única, com dias abaixo */
.escala-form.v941{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:18px 20px;align-items:end}
.escala-form.v941 label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#374151;font-size:13px}
.escala-form.v941 input,.escala-form.v941 select,.escala-form.v941 textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827;padding:11px 12px;font-size:14px;outline:none}
.escala-form.v941 input:focus,.escala-form.v941 select:focus,.escala-form.v941 textarea:focus{border-color:#b91c1c;box-shadow:0 0 0 3px rgba(185,28,28,.10)}
.escala-form.v941 .wide{grid-column:1/-1}.escala-form.v941 .escala-nome{grid-column:span 2}
.escala-section-title{font-size:15px;font-weight:900;color:#991b1b;border-left:4px solid #b91c1c;padding-left:10px;margin-top:4px}
.escala-semanal{background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin-top:4px}
.escala-semanal p{margin:8px 0 14px;color:#6b7280;font-weight:600}
.semana-grid.v941{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));gap:14px;align-items:end}
.semana-grid.v941 label{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px}
.escala-actions-sticky{border-top:1px solid #e5e7eb;padding-top:16px;display:flex;gap:10px;justify-content:flex-end}
@media(max-width:1300px){.escala-form.v941{grid-template-columns:1fr 1fr}.escala-form.v941 .escala-nome{grid-column:1/-1}.semana-grid.v941{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.escala-form.v941{grid-template-columns:1fr}.semana-grid.v941{grid-template-columns:1fr}.escala-actions-sticky{flex-direction:column}.escala-actions-sticky .primary,.escala-actions-sticky .btn{width:100%;justify-content:center}}


/* V9.42 - Setores organizados */
.setor-form.v942{display:grid;grid-template-columns:1.2fr .8fr 1fr .7fr;gap:18px;align-items:end}.setor-form.v942 .wide{grid-column:1/-1}.setores-table-v942 td strong{display:block;font-size:15px;color:#16325c}.setores-table-v942 td small{display:block;margin-top:4px;color:#6b7280}.setor-inativo td strong{color:#c62828!important}.setor-inativo td{background:#fff8f8}.pill.neutral{background:#eef2f7;color:#374151}.setores-filtros{grid-template-columns:220px 1fr auto}.setor-card-form{margin-top:18px}@media(max-width:900px){.setor-form.v942,.setores-filtros{grid-template-columns:1fr}}

/* V9.43 - Assistente de Escalas */
.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.escala-assistente-card{border:1px solid #e6e8ef;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.escala-assistente-form{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:18px 20px;align-items:end}
.escala-assistente-form .wide{grid-column:1/-1}
.escala-assistente-form label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:#263044}
.escala-assistente-form input,.escala-assistente-form select,.escala-assistente-form textarea{border:1px solid #d7dce8;border-radius:12px;padding:12px 13px;background:#fff;color:#152033;min-height:44px}
.assistente-semana{grid-column:1/-1;background:#f8fafc;border:1px solid #e5e9f2;border-radius:16px;padding:16px}
.assistente-preview{background:#fff7f7;border:1px solid #ffd5d5;border-radius:16px;padding:16px;color:#222}
.preview-dias{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:12px}
.preview-dias span{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border:1px solid #e6e8ef;border-radius:14px;background:#fff;min-height:70px;text-align:center;font-size:12px}
.preview-dias strong{color:#b71c1c;font-size:12px;letter-spacing:.04em}
@media(max-width:900px){.escala-assistente-form{grid-template-columns:1fr}.preview-dias{grid-template-columns:repeat(2,1fr)}}


/* V9.44 - Cadastro de Funcionários no padrão novo */
.funcionarios-head-v944{align-items:flex-start}.btn-novo-funcionario{white-space:nowrap}.func-resumo-v944{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;margin:0 0 18px}.func-card-resumo{background:#fff;border:1px solid #e4e7ee;border-radius:16px;padding:18px 20px;box-shadow:0 10px 26px rgba(16,24,40,.06);border-left:5px solid #334155}.func-card-resumo span{display:block;color:#667085;font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.func-card-resumo b{display:block;font-size:34px;line-height:1.05;margin-top:4px;color:#111827}.func-card-resumo.ativo{border-left-color:#16a34a}.func-card-resumo.inativo{border-left-color:#d20b1f}.func-filtros-v944{background:#fff;border:1px solid #e4e7ee;border-radius:16px;box-shadow:0 10px 26px rgba(16,24,40,.06);padding:18px;display:grid;grid-template-columns:2fr 1fr 1.2fr 1.4fr auto;gap:14px;align-items:end;margin-bottom:18px}.func-filtros-v944 label{font-weight:900;font-size:12px;color:#303846;text-transform:uppercase;letter-spacing:.03em}.func-filtros-v944 input,.func-filtros-v944 select{width:100%;height:44px;margin-top:7px;border:1px solid #cfd4df;border-radius:8px;background:#fff;color:#202532;padding:10px 12px;font-size:14px}.func-filtros-v944 input:focus,.func-filtros-v944 select:focus{outline:none;border-color:#d20b1f;box-shadow:0 0 0 3px rgba(210,11,31,.11)}.func-filtro-acoes{display:flex;align-items:end}.func-table-card-v944{background:#fff;border:1px solid #e4e7ee;border-radius:16px;box-shadow:0 10px 26px rgba(16,24,40,.06);padding:18px}.func-table-card-v944 .section-title-row h3{margin:0;color:#111827}.func-table-wrap-v944{border:1px solid #e5e7ef;border-radius:12px;overflow:auto}.func-table-v944{width:100%;border-collapse:collapse;min-width:1280px}.func-table-v944 th{background:#111827;color:#fff;text-align:left;padding:12px 14px;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.func-table-v944 td{padding:12px 14px;border-bottom:1px solid #edf0f5;vertical-align:middle}.func-table-v944 tr:last-child td{border-bottom:0}.func-table-v944 tbody tr:hover{background:#fafbfe}.func-row-clickable{cursor:pointer}.func-row-clickable.selecionada{background:#fff7ed!important;box-shadow:inset 4px 0 0 #d20b1f}.func-identidade{display:flex;align-items:center;gap:12px;min-width:260px}.func-identidade strong{display:block;color:#111827;font-size:14px}.func-identidade small,.func-table-v944 td small{display:block;margin-top:4px;color:#667085;font-size:12px;font-weight:700}.func-foto-mini{width:42px;height:42px;border-radius:12px;background:#eef2f7;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 42px}.func-foto-mini img{width:100%;height:100%;object-fit:cover}.func-status-v944{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;border:1px solid #d0d5dd;white-space:nowrap}.func-status-v944.ativo{background:#ecfdf3;color:#027a48;border-color:#abefc6}.func-status-v944.inativo{background:#fff1f3;color:#b42318;border-color:#fecdd3}.func-acoes-cell{min-width:180px;white-space:nowrap}.func-acoes{display:flex;align-items:center;justify-content:flex-start;gap:6px;white-space:nowrap}.acao-ico{width:32px;height:32px;border:1px solid #d0d5dd;background:#fff;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#111827;font-weight:900;font-size:14px;line-height:1;cursor:pointer;box-sizing:border-box}.acao-ico:hover{border-color:#d20b1f;color:#d20b1f;background:#fff5f5}.acao-ico.principal{background:#111827;color:#fff;border-color:#111827}.acao-ico.principal:hover{background:#d20b1f;border-color:#d20b1f;color:#fff}.acao-ico.more{font-size:18px;padding-bottom:2px}.btn-mini.editar{display:inline-block;text-decoration:none;background:#fff;color:#111827;border:1px solid #d0d5dd;border-radius:8px;padding:8px 10px;font-weight:900}.btn-mini.editar:hover{border-color:#d20b1f;color:#d20b1f}@media(max-width:1150px){.func-filtros-v944{grid-template-columns:1fr 1fr}.func-resumo-v944{grid-template-columns:1fr 1fr 1fr}}@media(max-width:760px){.func-resumo-v944,.func-filtros-v944{grid-template-columns:1fr}.funcionarios-head-v944{display:block}.btn-novo-funcionario{margin-top:12px}.func-table-card-v944{padding:12px}}

/* V9.46 - ajuste funcionários */
.func-table-v944 th:nth-child(6), .func-table-v944 td:nth-child(6){text-align:center;}
.vinculos-pane .section-title-row{margin-bottom:16px;}
.vinculos-grid label{min-height:74px;}

/* V9.49 - Vale Refeição por funcionário/setor/todos */
.vr-resumo-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;margin-bottom:18px}.vr-card{margin-bottom:18px}.vr-form{display:grid;gap:18px}.vr-bloco{border:1px solid #e5e7ef;background:#fff;border-radius:16px;padding:18px}.vr-bloco h4{margin:0 0 14px;color:#991b1b;font-size:15px}.vr-radio-row{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px}.vr-radio-row label{font-weight:900;color:#303846;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:10px 14px}.vr-radio-row input{margin-right:7px}.vr-destinos{margin-top:8px}.vr-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.vr-filtros{grid-template-columns:1fr 1fr 1.4fr auto}.vr-table{min-width:1120px}.vr-table td strong{color:#0f2f6b}.vr-table .danger{color:#b42318}.grid-v9.five{grid-template-columns:repeat(5,minmax(140px,1fr))}@media(max-width:1200px){.grid-v9.five,.vr-filtros{grid-template-columns:1fr 1fr}.vr-resumo-grid{grid-template-columns:1fr 1fr 1fr}}@media(max-width:760px){.grid-v9.five,.vr-filtros,.vr-resumo-grid{grid-template-columns:1fr}.vr-actions{flex-direction:column}.vr-actions .primary,.vr-actions .btn{width:100%}}
.submenu-relatorio-beneficios{background:rgba(210,11,31,.12);color:#fff!important;border-left:3px solid #d20b1f}
.func-table-card-v944{background:#fff;border-radius:18px;box-shadow:0 12px 30px rgba(16,24,40,.07);padding:24px;margin-bottom:18px}.func-table-wrap-v944{overflow:auto}.func-table-v944{width:100%;border-collapse:collapse}.func-table-v944 th,.func-table-v944 td{padding:13px;border-bottom:1px solid #e6e8ef;text-align:left}.func-filtros-v944{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}.func-filtros-v944 label{font-weight:800}.func-filtros-v944 input,.func-filtros-v944 select{width:100%;border:1px solid #d6d9e2;background:#fff;color:#202532;border-radius:10px;padding:12px;margin-top:8px}.vr-resumo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}.func-card-resumo{background:#fff;border-radius:18px;box-shadow:0 12px 30px rgba(16,24,40,.07);padding:24px;border-left:5px solid #697386}.func-card-resumo.ativo{border-left-color:#16a34a}.func-card-resumo.inativo{border-left-color:#d20b1f}.func-card-resumo span{display:block;color:#697386;font-weight:800}.func-card-resumo b{display:block;font-size:28px;margin-top:8px}.primary{display:inline-block;background:linear-gradient(135deg,#f01528,#a50614);border:0;color:#fff;border-radius:9px;padding:16px 22px;font-weight:900;text-decoration:none;cursor:pointer;box-shadow:0 12px 28px rgba(198,0,24,.25)}.section-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.muted{color:#667085;margin:0}
@media(max-width:900px){.func-filtros-v944,.vr-resumo-grid{grid-template-columns:1fr}}

/* V9.65 - Importação de Funcionários por Fonte */
.import-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:18px 0 16px}
.import-source-card{border:1px solid rgba(15,23,42,.12);background:#fff;border-radius:18px;padding:18px;text-align:left;cursor:pointer;box-shadow:0 8px 24px rgba(15,23,42,.06);transition:.18s ease;min-height:158px;display:flex;flex-direction:column;gap:7px;color:#111827}
.import-source-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,23,42,.10)}
.import-source-card.active{border-color:#111827;box-shadow:0 0 0 3px rgba(17,24,39,.10),0 14px 34px rgba(15,23,42,.12)}
.import-source-card.disabled{opacity:.55;cursor:not-allowed;background:#f8fafc}
.import-source-card .source-icon{font-size:30px;line-height:1}
.import-source-card strong{font-size:16px}
.import-source-card small{color:#64748b;line-height:1.35}
.import-source-card em{margin-top:auto;font-style:normal;font-size:12px;font-weight:700;color:#334155;background:#f1f5f9;border-radius:999px;padding:5px 9px;align-self:flex-start}
.import-source-card.active em{background:#111827;color:#fff}
.import-selected-box{display:grid;grid-template-columns:1fr minmax(280px,420px);gap:18px;align-items:end;background:#f8fafc;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:18px;margin-top:8px}
.import-selected-box h3{margin:4px 0 0}
.import-file-label{display:flex;flex-direction:column;gap:8px;font-weight:700}
.import-file-label input{padding:12px;background:#fff;border:1px solid rgba(15,23,42,.15);border-radius:12px}
@media(max-width:760px){.import-selected-box{grid-template-columns:1fr}}

/* V9.70 - Dashboard operacional de Funcionários */
.func-dash-v970 .muted{color:#667085}.dash-kpis-v970{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:16px;margin:0 0 18px}.dash-kpi{background:#fff;border:1px solid #e4e7ee;border-radius:18px;padding:18px 20px;box-shadow:0 10px 26px rgba(16,24,40,.06);border-left:5px solid #334155}.dash-kpi small{display:block;color:#667085;font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.dash-kpi b{display:block;font-size:36px;line-height:1.05;margin:5px 0;color:#111827}.dash-kpi span{display:block;color:#667085;font-weight:800;font-size:13px}.dash-kpi.success{border-left-color:#16a34a}.dash-kpi.warning{border-left-color:#f59e0b}.dash-kpi.info{border-left-color:#2563eb}.dash-grid-v970{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.dash-panel-v970{border:1px solid #e4e7ee}.dash-panel-v970 h3{margin:0;color:#111827}.pendencias-list-v970{display:grid;gap:10px}.pendencia-item-v970{display:flex;justify-content:space-between;align-items:center;border:1px solid #fee2e2;background:#fff7f7;color:#7f1d1d;text-decoration:none;border-radius:14px;padding:14px 16px;font-weight:900}.pendencia-item-v970 b{background:#d20b1f;color:#fff;min-width:36px;text-align:center;border-radius:999px;padding:6px 10px}.pendencia-item-v970.ok{border-color:#dcfce7;background:#f0fdf4;color:#166534}.pendencia-item-v970.ok b{background:#16a34a}.beneficios-resumo-v970{display:grid;gap:12px}.beneficios-resumo-v970 div{display:flex;justify-content:space-between;gap:12px;border:1px solid #e5e7ef;background:#f8fafc;border-radius:14px;padding:14px 16px}.beneficios-resumo-v970 span{font-weight:900;color:#475467}.beneficios-resumo-v970 b{color:#111827}.beneficios-resumo-v970 .total{background:#111827;border-color:#111827;color:#fff}.beneficios-resumo-v970 .total span,.beneficios-resumo-v970 .total b{color:#fff}.bars-v970{display:grid;gap:13px}.bar-label-v970{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font-weight:900;color:#344054}.bar-label-v970 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track-v970{height:10px;border-radius:999px;background:#eef2f7;overflow:hidden}.bar-track-v970 i{display:block;height:100%;border-radius:999px;background:linear-gradient(135deg,#d20b1f,#85000c)}.quick-actions-v970{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px}.quick-actions-v970 a{display:block;text-decoration:none;color:#111827;background:#f8fafc;border:1px solid #e5e7ef;border-radius:14px;padding:14px 16px;font-weight:900}.quick-actions-v970 a:hover{border-color:#d20b1f;color:#d20b1f;background:#fff7f8}@media(max-width:1200px){.dash-kpis-v970{grid-template-columns:repeat(3,1fr)}.dash-grid-v970{grid-template-columns:1fr}.quick-actions-v970{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.dash-kpis-v970,.quick-actions-v970{grid-template-columns:1fr}}

/* V9.75 - Campos Nome do Pai e Nome da Mãe em largura total na aba Dados Pessoais */
#tab-dados-pessoais .parent-field{grid-column:1/-1!important;}
#tab-dados-pessoais .parent-field input{min-height:46px;font-size:15px;}

.lanc-regra-inss{
  margin-top:12px;
  padding:12px 14px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#f8fafc;
  color:#334155;
  font-size:13px;
  line-height:1.45;
}

/* V9.90 - Lançamentos do Ponto: tela inicial com resumo e botão de novo lançamento */
.lanc-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:16px}.lanc-kpi{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px;box-shadow:0 8px 22px rgba(15,23,42,.06)}.lanc-kpi small{display:block;color:#64748b;font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.04em}.lanc-kpi b{display:block;font-size:30px;margin-top:6px;color:#111827}.btn-novo-lancamento{white-space:nowrap}.lanc-resumo-linhas{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.lanc-resumo-linhas span{background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:8px 12px;color:#334155}.lancamentos-resumo-inicial{margin-bottom:16px}.lancamentos-form-panel{border:1px solid #dbeafe;box-shadow:0 12px 30px rgba(37,99,235,.08)}@media(max-width:900px){.lanc-dashboard-grid{grid-template-columns:1fr}.btn-novo-lancamento{width:100%;margin-top:10px}}

/* V9.91 - Histórico de lançamentos em tela única, sem tabela horizontal */
.lancamentos-lista-cards{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:10px;
}
.lancamento-card-row{
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  padding:14px 16px;
  box-shadow:0 8px 20px rgba(15,23,42,.045);
}
.lanc-row-main{
  display:grid;
  grid-template-columns:110px minmax(260px,1.9fr) minmax(170px,.9fr) 130px;
  gap:12px;
  align-items:center;
}
.lanc-row-main small{
  display:block;
  font-size:10px;
  font-weight:900;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:4px;
}
.lanc-row-date strong,
.lanc-row-func strong{
  color:#111827;
  font-size:14px;
  line-height:1.25;
  word-break:normal;
}
.lanc-row-func strong{font-size:15px;}
.lanc-row-type .pill{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#eef2ff;
  color:#1e3a8a;
  border:1px solid #c7d2fe;
  padding:6px 10px;
  font-weight:900;
  white-space:nowrap;
}
.lanc-row-details{
  display:grid;
  grid-template-columns:1.2fr 90px 130px 2fr;
  gap:10px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #f1f5f9;
  color:#334155;
  font-size:13px;
}
.lanc-row-details b{color:#111827;}
.lanc-row-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:10px;
}
.lanc-row-actions button{
  border:1px solid #d6d9e2;
  background:#fff;
  border-radius:10px;
  padding:7px 10px;
  font-weight:800;
  cursor:pointer;
}
.lanc-empty-full{padding:22px;text-align:center;border-radius:16px;background:#f8fafc;border:1px dashed #cbd5e1;}
@media(max-width:1100px){
  .lanc-row-main{grid-template-columns:1fr 1.7fr;}
  .lanc-row-details{grid-template-columns:1fr 1fr;}
  .lanc-row-actions{justify-content:flex-start;}
}
@media(max-width:720px){
  .lanc-row-main,.lanc-row-details{grid-template-columns:1fr;}
  .lanc-row-actions{flex-direction:column;}
  .lanc-row-actions button{width:100%;}
}

/* V9.92 - Busca inteligente do funcionário nos lançamentos do ponto */
.funcionario-autocomplete-field {
  position: relative;
}
.funcionario-lancamento-input {
  width: 100%;
  min-width: 420px;
}
.field-help {
  display: block;
  margin-top: 6px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 500;
}
.input-invalido {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220,38,38,.12);
}
@media (max-width: 900px) {
  .funcionario-lancamento-input { min-width: 0; }
}

/* V9.93 - Lançamentos: alinhamento refinado e prévia dos dias */
.lancamento-form.v927 .lanc-grid-main{
  grid-template-columns: minmax(220px,1fr) minmax(180px,.75fr) minmax(170px,.7fr);
  gap:18px 20px;
  align-items:end;
}
.lancamento-form.v927 .funcionario-autocomplete-field{
  grid-column:1/-1;
}
.lancamento-form.v927 .funcionario-lancamento-input{
  min-width:0;
  width:100%;
  font-size:15px;
  min-height:46px;
}
.lancamento-form.v927 .lanc-grid-justificativa{
  grid-template-columns:minmax(260px,1.5fr) minmax(120px,.45fr) minmax(170px,.7fr) minmax(170px,.75fr);
  gap:18px 20px;
}
.lancamento-form.v927 textarea{
  min-height:96px;
  padding-top:12px;
}
.lancamento-form.v927 .field-help{
  color:#a7adba;
  text-transform:none;
  letter-spacing:0;
  font-weight:600;
}
.lanc-dias-preview{
  margin-top:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:#090c12;
  padding:14px;
}
.lanc-preview-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.lanc-preview-title strong{
  color:#fff;
  font-size:14px;
}
.lanc-preview-title small{
  color:#a7adba;
  font-weight:700;
}
.lanc-preview-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:8px;
}
.preview-dia-item{
  display:grid;
  grid-template-columns:34px 1fr 1.1fr;
  gap:8px;
  align-items:center;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:#111827;
  padding:9px 10px;
}
.preview-dia-item span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:999px;
  background:#d20b1f;
  color:#fff;
  font-weight:900;
  font-size:12px;
}
.preview-dia-item b{
  color:#fff;
  font-size:13px;
}
.preview-dia-item em{
  color:#cbd5e1;
  font-style:normal;
  font-size:13px;
  text-align:right;
}
.lanc-row-date strong{display:block;}
.lanc-row-date em{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:12px;
  font-style:normal;
  font-weight:800;
}
.lanc-row-main{
  grid-template-columns:130px minmax(300px,2fr) minmax(180px,.9fr) 130px;
}
.lanc-row-details{
  align-items:start;
}
@media(max-width:900px){
  .lancamento-form.v927 .lanc-grid-main,
  .lancamento-form.v927 .lanc-grid-justificativa{
    grid-template-columns:1fr;
  }
  .lanc-preview-title{display:block;}
  .preview-dia-item{grid-template-columns:30px 1fr;}
  .preview-dia-item em{grid-column:2;text-align:left;}
}

/* V9.94 - Falta Injustificada: Data inicial e Dias lado a lado */
.lancamento-form.v927 .lanc-grid-main{
  grid-template-columns:minmax(210px,1fr) minmax(320px,1.9fr) minmax(150px,.75fr) minmax(110px,.45fr) minmax(150px,.7fr);
  gap:18px 20px;
  align-items:end;
}
.lancamento-form.v927 .funcionario-autocomplete-field{
  grid-column:span 1;
}
.lancamento-form.v927 .campo-data-inicial,
.lancamento-form.v927 .campo-dias-main{
  align-self:end;
}
.lancamento-form.v927 .campo-dias-main input{
  text-align:center;
  font-weight:900;
}
@media(max-width:1180px){
  .lancamento-form.v927 .lanc-grid-main{
    grid-template-columns:1fr 1fr;
  }
  .lancamento-form.v927 .funcionario-autocomplete-field{
    grid-column:1/-1;
  }
}
@media(max-width:720px){
  .lancamento-form.v927 .lanc-grid-main{
    grid-template-columns:1fr;
  }
}

/* V9.95 - Padronização visual dos lançamentos: Falta Justificada e Injustificada */
.lancamento-form.v927 .lanc-card{
  padding:22px;
  border-radius:18px;
}
.lancamento-form.v927 .lanc-grid-main{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px 20px;
  align-items:end;
}
.lancamento-form.v927 .campo-tipo-lancamento{grid-column:span 3;}
.lancamento-form.v927 .funcionario-autocomplete-field{grid-column:span 6;}
.lancamento-form.v927 .campo-situacao-lancamento{grid-column:span 3;}
.lancamento-form.v927 .campo-data-inicial{grid-column:span 3;}
.lancamento-form.v927 .campo-dias-main{grid-column:span 2;}
.lancamento-form.v927 .campo-data-inicial input,
.lancamento-form.v927 .campo-dias-main input{
  height:48px;
}
.lancamento-form.v927 .campo-dias-main input{
  text-align:center;
  font-size:16px;
  font-weight:900;
}
.lancamento-form.v927 .lanc-grid-justificativa{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px 20px;
  align-items:end;
}
.lancamento-form.v927 .campo-justificativa{grid-column:span 5;}
.lancamento-form.v927 .campo-retorno{grid-column:span 3;}
.lancamento-form.v927 #campoCid{grid-column:span 2;}
.lancamento-form.v927 #campoMedico{grid-column:span 2;}
.lancamento-form.v927 #campoTipoBeneficio{grid-column:span 5;}
.lancamento-form.v927 #campoNumeroBeneficio{grid-column:span 3;}
.lancamento-form.v927 .funcionario-lancamento-input{
  min-width:0!important;
  width:100%!important;
}
.lancamento-form.v927 label{
  justify-content:flex-end;
}
.lanc-dias-preview{
  margin-top:18px;
}
@media(max-width:1100px){
  .lancamento-form.v927 .campo-tipo-lancamento,
  .lancamento-form.v927 .funcionario-autocomplete-field,
  .lancamento-form.v927 .campo-situacao-lancamento,
  .lancamento-form.v927 .campo-data-inicial,
  .lancamento-form.v927 .campo-dias-main,
  .lancamento-form.v927 .campo-justificativa,
  .lancamento-form.v927 .campo-retorno,
  .lancamento-form.v927 #campoCid,
  .lancamento-form.v927 #campoMedico,
  .lancamento-form.v927 #campoTipoBeneficio,
  .lancamento-form.v927 #campoNumeroBeneficio{grid-column:span 6;}
  .lancamento-form.v927 .funcionario-autocomplete-field{grid-column:1/-1;}
}
@media(max-width:720px){
  .lancamento-form.v927 .lanc-grid-main,
  .lancamento-form.v927 .lanc-grid-justificativa{grid-template-columns:1fr;}
  .lancamento-form.v927 .campo-tipo-lancamento,
  .lancamento-form.v927 .funcionario-autocomplete-field,
  .lancamento-form.v927 .campo-situacao-lancamento,
  .lancamento-form.v927 .campo-data-inicial,
  .lancamento-form.v927 .campo-dias-main,
  .lancamento-form.v927 .campo-justificativa,
  .lancamento-form.v927 .campo-retorno,
  .lancamento-form.v927 #campoCid,
  .lancamento-form.v927 #campoMedico,
  .lancamento-form.v927 #campoTipoBeneficio,
  .lancamento-form.v927 #campoNumeroBeneficio{grid-column:1/-1;}
}


/* V9.96 - Ponto: grade final alinhada para Falta Justificada e Injustificada */
.lancamento-form.v927 .lanc-card{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}
.lancamento-form.v927 .lanc-grid-main{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:16px 18px;
  align-items:end;
}
.lancamento-form.v927 .funcionario-autocomplete-field{
  order:1;
  grid-column:1/-1;
}
.lancamento-form.v927 .campo-tipo-lancamento{
  order:2;
  grid-column:1 / span 4;
}
.lancamento-form.v927 .campo-situacao-lancamento{
  order:3;
  grid-column:5 / span 2;
}
.lancamento-form.v927 .campo-data-inicial{
  order:4;
  grid-column:7 / span 3;
}
.lancamento-form.v927 .campo-dias-main{
  order:5;
  grid-column:10 / span 3;
}
.lancamento-form.v927 .campo-dias-main input{
  text-align:center;
  font-weight:900;
}
.lancamento-form.v927 label{
  min-height:72px;
  justify-content:flex-end;
}
.lancamento-form.v927 .funcionario-autocomplete-field{
  min-height:96px;
}
.lancamento-form.v927 input,
.lancamento-form.v927 select{
  height:46px;
}
.lancamento-form.v927 .funcionario-lancamento-input{
  height:50px;
  font-size:15px;
}
.lancamento-form.v927 .lanc-grid-justificativa{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:16px 18px;
  align-items:end;
}
.lancamento-form.v927 .lanc-grid-justificativa .campo-justificativa{
  grid-column:1 / span 6;
}
.lancamento-form.v927 .lanc-grid-justificativa .campo-retorno{
  grid-column:7 / span 3;
}
.lancamento-form.v927 .lanc-grid-justificativa .campo-medico#campoCid{
  grid-column:10 / span 3;
}
.lancamento-form.v927 .lanc-grid-justificativa .campo-medico#campoMedico{
  grid-column:1 / span 6;
}
.lancamento-form.v927 .lanc-grid-justificativa .campo-inss#campoTipoBeneficio{
  grid-column:1 / span 6;
}
.lancamento-form.v927 .lanc-grid-justificativa .campo-inss#campoNumeroBeneficio{
  grid-column:7 / span 6;
}
.lanc-dias-preview{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}
.lanc-preview-list{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.lanc-detail-card .full-field{
  width:100%;
  min-height:auto;
}
.lanc-detail-card .upload-lancamento{
  max-width:420px;
  min-height:auto;
  margin-top:14px;
}
.lanc-form-actions{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  justify-content:center;
}
@media(max-width:980px){
  .lancamento-form.v927 .lanc-grid-main,
  .lancamento-form.v927 .lanc-grid-justificativa{
    grid-template-columns:1fr;
  }
  .lancamento-form.v927 .funcionario-autocomplete-field,
  .lancamento-form.v927 .campo-tipo-lancamento,
  .lancamento-form.v927 .campo-situacao-lancamento,
  .lancamento-form.v927 .campo-data-inicial,
  .lancamento-form.v927 .campo-dias-main,
  .lancamento-form.v927 .lanc-grid-justificativa .campo-justificativa,
  .lancamento-form.v927 .lanc-grid-justificativa .campo-retorno,
  .lancamento-form.v927 .lanc-grid-justificativa .campo-medico#campoCid,
  .lancamento-form.v927 .lanc-grid-justificativa .campo-medico#campoMedico,
  .lancamento-form.v927 .lanc-grid-justificativa .campo-inss#campoTipoBeneficio,
  .lancamento-form.v927 .lanc-grid-justificativa .campo-inss#campoNumeroBeneficio{
    grid-column:1/-1;
  }
  .lancamento-form.v927 label{
    min-height:auto;
  }
}


/* V9.98 - Lançamentos: remove resumo duplicado e alinha histórico */
.lancamentos-resumo-inicial{display:none!important;}
.lancamentos-home .card-title-line.compact{
  align-items:center;
  gap:16px;
}
.lancamentos-home .card-title-line.compact h4{
  margin:0;
  font-size:20px;
}
.lancamentos-home .card-title-line.compact p{
  margin-top:4px;
}
.lanc-filtros{
  grid-template-columns:minmax(260px,1.45fr) minmax(180px,.9fr) minmax(150px,.72fr) minmax(150px,.72fr) auto;
  align-items:end;
}
.lancamentos-lista-cards{
  gap:12px;
}
.lancamento-card-row{
  padding:0;
  overflow:hidden;
  border-radius:18px;
}
.lanc-row-main{
  display:grid!important;
  grid-template-columns:140px minmax(320px,2.2fr) minmax(190px,1fr) 140px;
  gap:0;
  align-items:stretch;
  background:#fff;
}
.lanc-row-main > div{
  padding:14px 16px;
  border-right:1px solid #eef2f7;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:74px;
}
.lanc-row-main > div:last-child{border-right:0;}
.lanc-row-date{
  background:#f8fafc;
  text-align:center;
}
.lanc-row-func strong{
  display:block;
  font-size:15px;
  line-height:1.35;
  white-space:normal;
  overflow-wrap:anywhere;
}
.lanc-row-type .pill, .lanc-row-status .status-chip{
  max-width:100%;
  justify-content:center;
  white-space:normal;
  text-align:center;
  line-height:1.2;
}
.lanc-row-details{
  display:grid!important;
  grid-template-columns:minmax(220px,1.25fr) 90px 130px minmax(280px,2fr);
  gap:0;
  margin-top:0;
  padding-top:0;
  border-top:1px solid #eef2f7;
  background:#fbfdff;
}
.lanc-row-details .lanc-detail-item{
  padding:12px 16px;
  border-right:1px solid #eef2f7;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-height:62px;
}
.lanc-row-details .lanc-detail-item:last-child{border-right:0;}
.lanc-row-details b{
  display:block;
  color:#64748b;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.lanc-row-details em{
  color:#1f2937;
  font-style:normal;
  font-size:13px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.lanc-detail-center{
  text-align:center;
  align-items:center;
}
.lanc-obs em{
  white-space:normal;
}
.lanc-row-actions{
  margin:0;
  padding:10px 14px;
  border-top:1px solid #eef2f7;
  background:#fff;
  justify-content:flex-end;
}
@media(max-width:1100px){
  .lanc-filtros{grid-template-columns:1fr 1fr;}
  .lanc-row-main{grid-template-columns:130px 1fr;}
  .lanc-row-main > div:nth-child(2n){border-right:0;}
  .lanc-row-main > div{border-bottom:1px solid #eef2f7;}
  .lanc-row-details{grid-template-columns:1fr 1fr;}
  .lanc-row-details .lanc-detail-item:nth-child(2n){border-right:0;}
}
@media(max-width:720px){
  .lanc-row-main,.lanc-row-details,.lanc-filtros{grid-template-columns:1fr!important;}
  .lanc-row-main > div,.lanc-row-details .lanc-detail-item{border-right:0!important;}
  .lanc-row-date{text-align:left;}
  .lanc-detail-center{text-align:left;align-items:flex-start;}
  .lanc-row-actions{flex-direction:column;}
  .lanc-row-actions button{width:100%;}
}

/* V9.99 - Histórico de lançamentos: funcionário com busca e filtros simplificados */
.lanc-filtros.lanc-filtros-v999{
  grid-template-columns:minmax(360px,2fr) minmax(160px,.75fr) minmax(160px,.75fr) auto;
  gap:16px;
  align-items:end;
}
.lanc-filtros-v999 .filtro-funcionario-busca{
  min-width:0;
}
.lanc-filtros-v999 .funcionario-filtro-busca{
  font-weight:800;
  padding-right:38px;
  background:#fff;
}
.lanc-filtros-v999 .funcionario-filtro-busca::placeholder{
  color:#8a94a6;
  font-weight:700;
}
.lanc-filtros-v999 .filtro-btn{
  min-width:96px;
}
@media(max-width:1100px){
  .lanc-filtros.lanc-filtros-v999{grid-template-columns:1fr 1fr;}
  .lanc-filtros-v999 .filtro-funcionario-busca{grid-column:1/-1;}
}
@media(max-width:720px){
  .lanc-filtros.lanc-filtros-v999{grid-template-columns:1fr!important;}
}

/* V9.101 - Ações do histórico de lançamentos */
.lanc-row-actions{
  align-items:center;
  gap:10px;
}
.lanc-row-actions .form-excluir-lancamento{
  margin:0;
  display:inline-flex;
}
.lanc-row-actions button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
}
.lanc-row-actions .acao-visualizar{background:#f8fafc;color:#0f172a;}
.lanc-row-actions .acao-editar{background:#fff7ed;color:#9a3412;border-color:#fed7aa;}
.lanc-row-actions .acao-excluir{background:#fef2f2;color:#991b1b;border-color:#fecaca;}
.modal-lancamento{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(15,23,42,.55);
  align-items:center;
  justify-content:center;
  padding:20px;
}
.modal-lancamento-box{
  width:min(860px,96vw);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border-radius:22px;
  box-shadow:0 24px 80px rgba(15,23,42,.35);
  border:1px solid #e5e7eb;
}
.modal-lancamento-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:20px 22px;
  border-bottom:1px solid #eef2f7;
  background:#f8fafc;
}
.modal-lancamento-head small{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  color:#64748b;
}
.modal-lancamento-head h3{margin:4px 0 0;color:#111827;}
.modal-lancamento-head button{
  border:0;
  width:38px;
  height:38px;
  border-radius:12px;
  background:#e5e7eb;
  font-size:24px;
  cursor:pointer;
}
.modal-lancamento-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:22px;
}
.modal-lancamento-grid div{
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:12px 14px;
  background:#fff;
}
.modal-lancamento-grid small{
  display:block;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  color:#64748b;
  margin-bottom:5px;
}
.modal-lancamento-grid b{
  color:#111827;
  font-size:14px;
  overflow-wrap:anywhere;
}
.modal-lancamento-grid .modal-full{grid-column:1 / -1;}
@media(max-width:720px){
  .modal-lancamento-grid{grid-template-columns:1fr;}
}

/* V9.103 - Gerador de Ponto */
.ponto-kpis{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:14px;margin:12px 0 18px}.kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.kpi-card span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.kpi-card strong{display:block;font-size:30px;margin-top:8px;color:#111827}.painel-geracao-ponto,.regras-gerador{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:22px;margin-bottom:18px}.section-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.section-title-row h2,.regras-gerador h2{margin:0 0 4px}.section-title-row p{margin:0;color:#64748b}.form-gerar-ponto{grid-template-columns:180px minmax(280px,1fr) 220px auto;align-items:end}.form-actions.align-end{display:flex;align-items:end}.btn{border:0;border-radius:10px;padding:10px 16px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;cursor:pointer}.btn.primary{background:#991b1b;color:#fff}.btn.secondary{background:#f1f5f9;color:#111827}.rules-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.rules-grid div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:14px}.rules-grid strong{display:block;color:#111827;margin-bottom:6px}.rules-grid span{color:#64748b;font-size:13px}.page-actions{display:flex;gap:10px}.espelho-card{margin-bottom:28px;break-inside:avoid}.espelho-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:12px}.espelho-header h2{margin-bottom:4px}.espelho-resumo{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.espelho-resumo span{background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:6px 10px;font-size:12px}.tabela-espelho-ponto th,.tabela-espelho-ponto td{text-align:center;vertical-align:middle}.tabela-espelho-ponto td:nth-child(8),.tabela-espelho-ponto th:nth-child(8){text-align:left}.linha-lançamento td{background:#fff7ed}.linha-feriado td{background:#fef2f2}.linha-escala td{background:#f8fafc;color:#475569}.assinaturas{display:flex;justify-content:space-around;gap:40px;margin-top:42px}.assinaturas span{border-top:1px solid #111;padding-top:8px;min-width:240px;text-align:center}.muted{color:#64748b;font-size:13px}@media(max-width:900px){.ponto-kpis,.rules-grid,.form-gerar-ponto{grid-template-columns:1fr}}@media print{.no-print,.sidebar,.topbar,.page-actions{display:none!important}.content,.main{margin:0!important;padding:0!important}.espelho-card{page-break-after:always;border:0!important;box-shadow:none!important}.tabela-espelho-ponto{font-size:10px}.assinaturas{margin-top:30px}}

/* V9.104 - Modelo oficial aprovado do espelho de ponto */
.espelho-oficial{background:#fff;border:1px solid #d1d5db;border-radius:14px;padding:18px;margin:0 0 28px;box-shadow:0 10px 26px rgba(15,23,42,.06);break-inside:avoid}.espelho-topo{text-align:center;border:1px solid #111827;margin-bottom:8px;padding:8px 10px}.marca-sistema{font-size:11px;font-weight:800;letter-spacing:.08em;color:#7f1d1d}.titulo-ponto{font-size:16px;font-weight:900;color:#111827;margin-top:3px}.competencia-ponto{font-size:12px;margin-top:2px}.dados-ponto-oficial{width:100%;border-collapse:collapse;margin-bottom:8px;font-size:11px}.dados-ponto-oficial th{width:13%;background:#f3f4f6;color:#111827;text-align:left;border:1px solid #111827;padding:5px 6px;font-weight:800}.dados-ponto-oficial td{border:1px solid #111827;padding:5px 6px;color:#111827}.tabela-ponto-aprovada{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px}.tabela-ponto-aprovada th{background:#e5e7eb;border:1px solid #111827;color:#111827;text-align:center;vertical-align:middle;padding:4px 3px;font-weight:900;line-height:1.15}.tabela-ponto-aprovada td{border:1px solid #111827;text-align:center;vertical-align:middle;padding:3px 2px;height:22px;line-height:1.1}.tabela-ponto-aprovada .col-dia{width:42px}.tabela-ponto-aprovada .col-total{width:86px}.tabela-ponto-aprovada .col-assinatura{width:142px}.tabela-ponto-aprovada .evento-dia small{font-size:8px;color:#374151;font-weight:500}.tabela-ponto-aprovada .linha-lançamento td{background:#fff7ed}.tabela-ponto-aprovada .linha-feriado td{background:#fef2f2}.tabela-ponto-aprovada .linha-escala td{background:#f8fafc;color:#475569}.rodape-ponto-oficial{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:42px 40px 4px}.campo-assinatura{border-top:1px solid #111827;text-align:center;padding-top:7px;font-size:11px;color:#111827}.muted{color:#64748b;font-size:13px}@media print{@page{size:A4 landscape;margin:8mm}.no-print,.sidebar,.topbar,.page-actions{display:none!important}body{background:#fff!important}.content,.main{margin:0!important;padding:0!important}.espelho-oficial{border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;margin:0!important;page-break-after:always}.espelho-oficial:last-child{page-break-after:auto}.espelho-topo{padding:5px;margin-bottom:5px}.dados-ponto-oficial{font-size:9px;margin-bottom:5px}.dados-ponto-oficial th,.dados-ponto-oficial td{padding:3px 4px}.tabela-ponto-aprovada{font-size:8px}.tabela-ponto-aprovada th{padding:2px 2px}.tabela-ponto-aprovada td{height:16px;padding:1px}.tabela-ponto-aprovada .evento-dia small{font-size:6.8px}.rodape-ponto-oficial{margin-top:28px}.titulo-ponto{font-size:13px}}
/* V9.108 - Cadastro da Empresa */
.empresa-form{max-width:1120px;grid-template-columns:repeat(2,minmax(260px,1fr));align-items:start}
.empresa-form .form-section-title{grid-column:1/-1;margin:10px 0 0;color:#991b1b;text-transform:uppercase;font-size:13px;letter-spacing:.05em;border-bottom:1px solid #e5e7eb;padding-bottom:8px}
.empresa-form .span-2{grid-column:1/-1}
.empresa-form textarea{width:100%;border:1px solid #d6d9e2;border-radius:10px;background:#fff;color:#202532;padding:14px 16px;margin-top:8px;font-size:15px;resize:vertical}
.empresa-form .form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}
@media(max-width:900px){.empresa-form{grid-template-columns:1fr}.empresa-form .span-2{grid-column:auto}.empresa-form .form-actions{flex-direction:column}.empresa-form .form-actions .btn{width:100%}}

/* V9.123 - Gerador de Ponto com competencia em mes/ano */
.filtros-gerar-ponto-simples{
  grid-template-columns:minmax(320px,380px) minmax(360px,1fr) auto;
  gap:16px;
  align-items:end;
}
.campo-competencia{
  display:grid;
  grid-template-columns:minmax(180px,1fr) 110px;
  gap:10px;
  align-items:end;
}
.campo-competencia label{
  margin:0;
}
.campo-competencia select{
  width:100%;
  min-height:44px;
}
.tipo-geracao-ponto{
  display:grid;
  grid-template-columns:repeat(3,minmax(100px,1fr));
  gap:8px;
}
.opcao-geracao{
  margin:0;
  min-height:44px;
  border:1px solid #d6d9e2;
  border-radius:10px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:800;
  cursor:pointer;
}
.opcao-geracao input{width:auto;margin:0;}
.opcao-geracao:has(input:checked){
  border-color:#991b1b;
  background:#fef2f2;
  color:#991b1b;
}
.filtros-gerar-ponto-simples .form-actions .btn{
  min-height:44px;
  min-width:140px;
}
.filtros-gerar-ponto-simples .campo-setor,
.filtros-gerar-ponto-simples .campo-funcionario{
  grid-column:1 / -1;
  margin-top:-4px;
}
.filtros-gerar-ponto-simples .campo-setor select,
.filtros-gerar-ponto-simples .campo-funcionario select{
  width:100%;
  min-height:44px;
}
@media(max-width:1180px){
  .filtros-gerar-ponto-simples{grid-template-columns:1fr 1fr;}
  .tipo-geracao-ponto,
  .filtros-gerar-ponto-simples .form-actions{grid-column:1/-1;}
  .filtros-gerar-ponto-simples .form-actions .btn{width:100%;}
}
@media(max-width:720px){
  .filtros-gerar-ponto-simples{grid-template-columns:1fr;}
  .tipo-geracao-ponto{grid-template-columns:1fr;}
  .campo-competencia{grid-template-columns:1fr;}
}

/* V9.133 - Busca inteligente e seleção múltipla de funcionários no gerador de ponto */
.seletor-funcionarios-ponto{min-width:320px}.acoes-selecao-funcionarios{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0}.btn-mini{padding:7px 10px;font-size:12px}.acoes-selecao-funcionarios span{font-size:12px;color:#64748b;font-weight:700}.lista-check-funcionarios{max-height:260px;overflow:auto;border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:6px}.item-check-funcionario{display:flex!important;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;cursor:pointer;margin:0}.item-check-funcionario:hover{background:#f8fafc}.item-check-funcionario input{width:auto;margin:0}.item-check-funcionario span{font-weight:700;color:#111827}.item-check-funcionario small{margin-left:auto;color:#64748b;font-size:11px}.item-check-funcionario[style*="none"]{display:none!important}@media(max-width:900px){.seletor-funcionarios-ponto{min-width:0;width:100%}.lista-check-funcionarios{max-height:220px}}

/* V9.136 - Ajuste compacto da tela de login antes da publicação */
.login-page{padding:18px 0;}
.login-shell{min-height:620px;max-height:calc(100vh - 36px);}
.form-side{padding:32px 54px;}
.top-actions{top:18px;right:26px;}
.top-actions span{padding:8px 13px;font-size:13px;}
.mini-logo{width:72px;margin:0 auto 10px;}
.form-side h1{font-size:54px;line-height:.92;}
.form-side h2{font-size:14px;letter-spacing:8px;margin:14px 0 24px;}
.login-form label{font-size:12px;margin:12px 0 7px;}
.login-form input{padding:12px 14px;font-size:14px;border-radius:9px;}
.login-options{margin:12px 0 18px;font-size:13px;}
.login-form button{font-size:18px;padding:12px 18px;border-radius:8px;}
.cert{font-size:14px!important;}
.divider{margin:14px 0;}
.foot{margin-top:14px;font-size:12px;}
.alert{padding:9px 12px;margin:10px 0;font-size:13px;}
.main-logo{width:50%;max-width:390px;}
@media(max-height:760px){
  .login-page{align-items:flex-start;}
  .login-shell{min-height:580px;}
  .form-side{padding:24px 46px;}
  .mini-logo{width:62px;margin-bottom:8px;}
  .form-side h1{font-size:48px;}
  .form-side h2{margin:10px 0 18px;}
}


/* V9.138 - carregamento mais suave, sem piscada ao abrir Cadastro */
.app-body .main{animation:izzPageIn .10s ease-out;}
@keyframes izzPageIn{from{opacity:.96;transform:translateY(1px)}to{opacity:1;transform:none}}
.menu-tree details{transition:none!important;}
.menu-tree details summary{user-select:none;}

/* V9.139 - Navegação suave: mantém menu/topo fixos e troca apenas o conteúdo central */
.page-content{position:relative;min-height:calc(100vh - 92px);transition:opacity .12s ease,transform .12s ease;}
.page-content.is-loading{opacity:.58;transform:translateY(2px);pointer-events:none;}
.page-content.is-loading:before{content:"Carregando...";position:absolute;top:12px;right:16px;z-index:20;background:#111827;color:#fff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.18);}
