:root{--navy:#071827;--navy2:#0d2b45;--green:#00a86b;--green2:#35c486;--line:#d9e2ea;--bg:#eef3f6;--card:#fff;--txt:#17212b;--muted:#697988;--danger:#d63333;--yellow:#d8a100}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--txt)}.topbar{height:72px;background:linear-gradient(90deg,var(--navy),var(--navy2));color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 26px;box-shadow:0 8px 24px #00182b35;position:sticky;top:0;z-index:5}.brand{display:flex;gap:14px;align-items:center}.brand small{display:block;color:#b6c8d7}.logo{background:#fff;color:var(--navy);font-weight:900;letter-spacing:.8px;border-left:7px solid var(--green);padding:10px 14px;border-radius:6px;box-shadow:inset 0 -3px 0 #dce6eb}.logo.big{display:inline-block;font-size:28px;margin-bottom:12px}.userbox{display:flex;gap:14px;align-items:center}.shell{max-width:1380px;margin:0 auto;padding:26px}.login-page{min-height:100vh;background:radial-gradient(circle at top left,#15527e 0,#071827 48%,#03101b 100%);display:grid;place-items:center}.login-card{width:390px;background:#fff;border-radius:18px;padding:30px;box-shadow:0 30px 80px #0008}.login-card h1{margin:0 0 6px}.login-card p{color:var(--muted);margin-top:0}label{font-size:12px;font-weight:800;text-transform:uppercase;color:#365061;display:block;margin:10px 0 6px}input,select{width:100%;height:42px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#fff;font-size:14px}input:focus,select:focus{outline:2px solid #00a86b33;border-color:var(--green)}.btn{border:1px solid var(--line);background:#fff;color:var(--navy);padding:10px 16px;border-radius:9px;text-decoration:none;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.outline{border-color:var(--green);color:var(--green);background:#f7fffb}.btn.ghost{background:transparent;color:#fff;border-color:#ffffff44}.row{display:flex;gap:10px;margin-top:16px}.row.end{justify-content:flex-end}.alert{background:#ffecec;border:1px solid #ffc7c7;color:#a40000;padding:10px;border-radius:8px;margin:12px 0}.hero,.page-head{background:#fff;border-radius:18px;padding:24px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);box-shadow:0 8px 24px #15364f12;margin-bottom:22px}.hero h1,.page-head h1{margin:0}.hero p,.page-head p{margin:6px 0 0;color:var(--muted)}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px}.module-card{min-height:145px;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--txt);padding:20px;box-shadow:0 8px 22px #15364f10;display:flex;flex-direction:column;justify-content:space-between;transition:.16s}.module-card:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:0 16px 32px #15364f24}.module-card strong{font-size:20px}.module-card small{color:var(--muted)}.module-icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--navy),var(--green));color:#fff;display:grid;place-items:center;font-size:22px}.sap-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 24px #15364f12;margin-bottom:20px}.panel-title{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}.panel-title span{color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:end}.span2{grid-column:span 2}.actions{display:flex;gap:10px}.filters{display:grid;grid-template-columns:260px 260px auto;gap:12px;align-items:end;margin-bottom:14px}.table-wrap{max-height:460px;overflow:auto;border:1px solid var(--line);border-radius:12px}.erp-table{width:100%;border-collapse:collapse;background:#fff;min-width:1050px}.erp-table th{position:sticky;top:0;background:#0d2b45;color:#fff;text-align:left;padding:12px;font-size:13px}.erp-table td{border-bottom:1px solid #edf1f4;padding:11px;font-size:13px}.erp-table tr:hover{background:#f1fbf7}.mini{background:#e9f8f1;border:1px solid #b8e8d2;color:#06794f;font-weight:800;border-radius:7px;padding:7px 10px;cursor:pointer}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 30px 100px #0008;width:520px}dialog form{padding:24px}.quad{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.empty{min-height:280px;display:grid;place-items:center;text-align:center;color:var(--muted)}#loader{display:none;position:fixed;inset:0;background:#07182799;z-index:99;color:#fff;place-items:center;font-weight:900}.spinner{width:42px;height:42px;border:5px solid #ffffff55;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.module-grid,.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.topbar,.hero,.page-head{flex-direction:column;align-items:flex-start;height:auto;gap:12px}.filters{grid-template-columns:1fr}.shell{padding:14px}.userbox{flex-wrap:wrap}}
/* RH cadastro no padrão da tela enviada */
.legacy-head{background:#eaf1f6;border-bottom:1px solid #d5e0e8;padding:18px 22px;display:flex;justify-content:space-between;align-items:flex-start;margin:-26px -26px 14px -26px}.legacy-head h1{font-size:18px;margin:0;color:#00264a}.legacy-head p{font-size:12px;color:#557086;margin:8px 0 0}.legacy-panel{background:#fff;border:1px solid #e5edf2;padding:14px 18px 12px;margin:0 0 20px 0;min-width:1180px}.employee-form{font-size:13px}.emp-row{display:grid;grid-template-columns:220px 1fr 220px 1fr;gap:8px 18px;align-items:center;margin-bottom:8px}.emp-row label{margin:0;text-transform:none;color:#001d3a;font-size:13px;font-weight:800}.emp-row input,.emp-row select{height:25px;border-radius:0;border:1px solid #9e9e9e;padding:0 6px;font-size:13px;background:#fff}.emp-row select{appearance:auto}.emp-row.obs{grid-template-columns:220px 1fr}.emp-row.obs textarea{height:100px;border:1px solid #b8b8b8;resize:vertical;font-size:13px;padding:8px}.legacy-actions{display:flex;gap:10px;margin-top:24px}.legacy-actions .btn{border-radius:0;min-width:110px}.ok{background:#e9fff4;border:1px solid #a8ebca;color:#006b42;padding:10px;border-radius:8px;margin:12px 0;font-weight:800}.rh-menu{grid-template-columns:repeat(5,minmax(180px,1fr))}@media(max-width:1000px){.legacy-panel{min-width:0;overflow:auto}.emp-row{grid-template-columns:160px 1fr}.emp-row label:nth-of-type(2){margin-top:6px}.rh-menu{grid-template-columns:1fr}}
/* RH Visualizar conforme tela enviada */
.visualizar-grid{display:grid;grid-template-columns:45% 55%;gap:10px;min-width:1250px}.list-panel,.form-panel{margin:0;min-width:0}.legacy-filterbar{display:grid;grid-template-columns:1fr 110px 110px;gap:8px;margin-bottom:12px}.legacy-filterbar select{height:27px;border-radius:0;border:1px solid #9e9e9e}.visual-table-wrap{height:520px;overflow:auto;border:1px solid #aaa;background:#fff}.visual-table{width:100%;border-collapse:collapse;min-width:760px;font-size:13px}.visual-table th{position:sticky;top:0;background:#dce8f5;color:#001d3a;border:1px solid #999;height:28px}.visual-table td{padding:7px 8px;white-space:nowrap;color:#00204a}.visual-table tr:hover,.visual-table tr.selected{background:#d7eaff;cursor:pointer}.visual-actions{gap:8px;margin-top:16px;flex-wrap:nowrap}.visual-actions .btn{min-width:105px;padding:9px 10px}.disabled-link{opacity:.55;pointer-events:none}.file-btn{position:relative;overflow:hidden}@media(max-width:1100px){.visualizar-grid{grid-template-columns:1fr;min-width:0}.visual-table-wrap{height:360px}.visual-actions{flex-wrap:wrap}}
/* RH Contratação conforme imagem enviada */
.contratacao-grid{grid-template-columns:49% 51%;}
.contratacao-filterbar{grid-template-columns:1fr 1fr 110px 110px;}
.contratacao-table-wrap{height:520px;}
.contratacao-form input:disabled,.contratacao-form select:disabled{background:#e7e4df;color:#001d3a;opacity:1;}
.contratacao-form #contr_status{background:#fff;}
.contratacao-form #contr_observacoes{background:#fff;}
@media(max-width:1100px){.contratacao-grid{grid-template-columns:1fr}.contratacao-filterbar{grid-template-columns:1fr 1fr}.contratacao-table-wrap{height:360px}}
/* RH Férias conforme imagem enviada - acrescentado sem alterar telas anteriores */
.ferias-grid{grid-template-columns:50% 50%;}
.ferias-filterbar{grid-template-columns:1fr 120px 120px 120px;}
.ferias-table-wrap{height:520px;}
.ferias-form-panel{padding-top:18px;}
.ferias-form{max-width:620px;margin-left:10px;}
.ferias-row{display:grid;grid-template-columns:170px 270px 130px;gap:10px;align-items:center;margin-bottom:9px;}
.ferias-row label{margin:0;text-transform:none;color:#001d3a;font-size:13px;font-weight:800;}
.ferias-row input{height:25px;border-radius:0;border:1px solid #9e9e9e;padding:0 6px;font-size:13px;background:#fff;}
.ferias-row input:disabled{background:#fff;color:#001d3a;opacity:1;}
.ferias-row span{font-size:13px;color:#001d3a;background:#f4f4f4;padding:3px 6px;}
.ferias-row span input{width:auto;height:auto;vertical-align:middle;}
.ferias-alerta{color:#d63333!important;font-weight:800;}
.ferias-actions{margin-top:210px;}
@media(max-width:1100px){.ferias-grid{grid-template-columns:1fr}.ferias-filterbar{grid-template-columns:1fr 1fr}.ferias-table-wrap{height:360px}.ferias-actions{margin-top:30px}}


/* PATCH V6 - Farol de férias 60 dias, sem alterar layout existente */
.ferias-banner-alerta,
.ferias-aviso-rh{
  margin: 0 0 10px 0;
  padding: 8px 12px;
  border: 1px solid #c0392b;
  background: #fff3f2;
  color: #8a1f11;
  font-weight: 700;
}
.ferias-banner-alerta.ok,
.ferias-aviso-rh.ok{
  border-color: #2e7d32;
  background: #eef9f0;
  color: #1b5e20;
}
.linha-ferias-alerta td{
  color: #c0392b !important;
  font-weight: 700;
}
.linha-ferias-vencida td{
  color: #b00000 !important;
  font-weight: 800;
}
.ferias-alerta{
  border: 2px solid #c0392b !important;
  background: #fff3f2 !important;
}
.ferias-vencida{
  border: 2px solid #b00000 !important;
  background: #ffe1e1 !important;
}
.ferias-ok{
  border: 2px solid #2e7d32 !important;
}
.badge-ferias{
  display:inline-block;
  margin-left:6px;
  padding:2px 7px;
  background:#c0392b;
  color:#fff;
  border-radius:10px;
  font-size:12px;
}


/* PATCH V9 - RH > Alojamentos, mantendo padrão visual existente */
.alojamento-panel{
  margin: 0 14px 24px 14px;
  min-height: 670px;
}
.alojamento-filterbar{
  max-width: 520px;
}
.alojamento-filterbar select{
  min-width: 170px;
}
.alojamento-table-wrap{
  height: 560px;
  overflow: auto;
  border: 1px solid #a7a7a7;
  background: #fff;
}
#alojamentoTable{
  min-width: 1180px;
}
#alojamentoTable th,
#alojamentoTable td{
  white-space: nowrap;
}


/* PATCH V11 - Coordenação > Escala de Efetivo */
.coordenacao-grid{
  grid-template-columns: 47% 53%;
}
.coord-filterbar{
  display: grid;
  grid-template-columns: 1fr 120px 1fr 110px;
  gap: 10px;
  align-items: center;
}
.coord-table-wrap{
  height: 560px;
  overflow: auto;
  border: 1px solid #a7a7a7;
  background: #fff;
}
#coordTable{
  min-width: 720px;
}
.coord-form-panel .field-row{
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 10px;
  align-items: center;
  margin-bottom: 8px;
}
.coord-form-panel input,
.coord-form-panel select{
  height: 26px;
  border-radius: 0;
  padding: 2px 6px;
}
.coord-form-panel input:disabled,
.coord-form-panel select:disabled{
  background: #e5e3df;
  color: #001f45;
}
.coord-form-panel textarea{
  height: 95px;
  border-radius: 0;
}
.coord-form-panel .obs-row{
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 10px;
  margin-top: 6px;
}
.coord-actions{
  margin-top: 14px;
}
@media(max-width:1200px){
  .coordenacao-grid{grid-template-columns:1fr}
}


/* ===== PATCH V12 - Layout Coordenação padrão RH ===== */

.alert-success-box{
  margin:18px;
  padding:14px 18px;
  border:1px solid #2f8a37;
  background:#edf7ee;
  color:#145c1b;
  border-radius:12px;
  font-size:16px;
  font-weight:700;
}

.rh-hero-card{
  margin:18px;
  background:#ffffff;
  border:1px solid #d9e1e7;
  border-radius:22px;
  padding:34px 26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  box-shadow:0 1px 2px rgba(0,0,0,0.03);
}

.rh-hero-card h1{
  margin:0;
  font-size:54px;
  line-height:1;
  color:#071b35;
  font-weight:800;
}

.rh-hero-card p{
  margin-top:12px;
  color:#5d7188;
  font-size:28px;
}

.rh-card-grid{
  margin:22px 18px 30px 18px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
}

.rh-card-module{
  background:#ffffff;
  border:1px solid #d8e2e8;
  border-radius:22px;
  padding:22px;
  text-decoration:none;
  transition:0.2s;
  min-height:180px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.rh-card-module:hover{
  transform:translateY(-2px);
  border-color:#86d2b1;
  box-shadow:0 8px 24px rgba(0,0,0,0.06);
}

.rh-card-icon{
  width:52px;
  height:52px;
  border-radius:14px;
  background:linear-gradient(135deg,#012d2b,#00b56d);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  margin-bottom:18px;
}

.rh-card-module h3{
  margin:0;
  font-size:20px;
  color:#0a1730;
  font-weight:800;
}

.rh-card-module p{
  margin-top:10px;
  color:#66778d;
  font-size:15px;
}


/* PATCH V13 - Coordenação > Orçamento de Efetivo */
.orcamento-panel{margin:0 14px 10px 14px;padding:16px}
.orcamento-panel h2{margin:0 0 10px 0;font-size:18px;color:#001f45}
.muted-line{color:#4f6780;font-size:13px;margin:0 0 12px 0}
.orcamento-form{display:grid;grid-template-columns:auto 220px auto 90px 140px 120px;gap:10px;align-items:center;max-width:900px}
.area-form{display:grid;grid-template-columns:220px 90px 110px 180px;gap:10px;align-items:center;max-width:650px}
.orcamento-table-wrap{height:330px;overflow:auto;border:1px solid #a7a7a7;background:#fff;margin-top:10px}
.orcamento-area-table-wrap{height:230px;overflow:auto;border:1px solid #a7a7a7;background:#fff;margin-top:10px}
#orcCargoTable,#orcAreaTable{min-width:1100px}
.farol-verde{color:#16813a!important;font-weight:700}
.farol-amarelo{color:#ff9900!important;font-weight:700}
.farol-vermelho{color:#e2243a!important;font-weight:700}
.btn.danger{background:#d92d42;border-color:#bd1f33;color:#fff}

/* PATCH ESTOQUE/FERRAMENTARIA WEB */
.estoque-menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:22px 0;min-width:1180px}.estoque-card{background:#fff;border:1px solid #e6edf2;padding:26px 24px;min-height:110px}.estoque-card h3{margin:0 0 18px 0;color:#001d3a}.estoque-card .btn{border-radius:0;min-width:115px}.estoque-compras-grid{display:grid;grid-template-columns:72% 28%;gap:12px;min-width:1320px}.estoque-main-panel,.estoque-form-panel{margin:0 0 10px 0}.estoque-filterbar{display:grid;grid-template-columns:1fr 1fr 90px 90px 110px 110px;gap:8px;margin-bottom:14px}.estoque-filterbar input,.estoque-filterbar select{height:27px;border-radius:0;border:1px solid #9e9e9e;background:#fff}.estoque-kpis{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px;margin-bottom:12px}.kpi-line{background:#fff;border-left:5px solid #1c78d2;padding:18px 18px 20px;border-top:5px solid #1c78d2}.kpi-line.green{border-color:#16834a}.kpi-line.orange{border-color:#f6aa20}.kpi-line span{display:block;color:#526d86;font-size:13px;font-weight:800;margin-bottom:10px}.kpi-line strong{font-size:26px;color:#001d3a}.estoque-table-wrap{height:590px}.estoque-form-panel .field-row{display:grid;grid-template-columns:95px 1fr;gap:10px;align-items:center;margin-bottom:8px}.estoque-form-panel .field-row label{margin:0;font-size:13px;color:#001d3a;font-weight:800}.estoque-form-panel input,.estoque-form-panel select{height:25px;border-radius:0;border:1px solid #9e9e9e;background:#fff;padding:0 5px}.estoque-form-panel textarea{height:70px;border-radius:0;border:1px solid #b8b8b8}.estoque-form-panel .obs{align-items:start}.estoque-actions{display:flex;gap:8px;justify-content:space-between;margin-top:16px}.estoque-actions .btn{border-radius:0;min-width:90px;padding:9px 11px}.farol-form{display:grid;grid-template-columns:1fr 80px;gap:8px;align-items:center}.farol-form button{min-width:120px}.quick-row{display:grid;grid-template-columns:1fr 1.2fr 140px;gap:8px;align-items:end;margin-bottom:16px}.quick-item{display:grid;gap:8px}.quick-item div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-item button{width:120px;margin:auto}.quick-row label,.quick-item label{font-weight:800;font-size:13px;color:#001d3a}.visual-table tr.selected td{background:#d7eaff!important}@media(max-width:1200px){.estoque-menu-grid,.estoque-compras-grid{grid-template-columns:1fr;min-width:0}.estoque-filterbar{grid-template-columns:1fr 1fr}.estoque-kpis{grid-template-columns:1fr}.quick-row{grid-template-columns:1fr}.estoque-table-wrap{height:420px}}

/* Ajuste visual Estoque > Compras V17: somente layout, sem mudar regras */
.estoque-compras-grid{
  display:grid;
  grid-template-columns:minmax(760px,1fr) 430px;
  gap:16px;
  min-width:0;
  align-items:start;
}
.estoque-main-panel,.estoque-form-panel{
  min-width:0;
  border-radius:14px;
  box-shadow:0 8px 20px #15364f0c;
}
.estoque-main-panel{padding:18px;}
.estoque-side{display:flex;flex-direction:column;gap:12px;min-width:0;}
.estoque-side .legacy-panel{margin:0;}
.estoque-filterbar{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) 120px 120px 105px 105px;
  gap:10px;
  align-items:end;
  margin-bottom:14px;
}
.estoque-filterbar input,.estoque-filterbar select,
.estoque-form-panel input,.estoque-form-panel select{
  height:34px;
  border-radius:7px;
  border:1px solid #b9c5cf;
  padding:0 10px;
  font-size:13px;
}
.estoque-filterbar .btn{height:34px;border-radius:7px;padding:0 12px;}
.estoque-kpis{gap:12px;}
.kpi-line{
  border:1px solid #e5edf2;
  border-top:5px solid #1c78d2;
  border-left:0;
  border-radius:12px;
  padding:16px 18px;
}
.estoque-table-wrap{
  height:560px;
  border-radius:10px;
  border-color:#b8c4ce;
}
.estoque-table-wrap .visual-table{min-width:920px;}
.estoque-table-wrap .visual-table th{height:34px;}
.estoque-table-wrap .visual-table td{padding:8px 9px;}
.estoque-form-panel{padding:18px;}
.estoque-form-panel h3{margin:0 0 14px;color:#001d3a;font-size:17px;}
.estoque-form-panel .field-row{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}
.estoque-form-panel .field-row label,
.quick-row label,.quick-item label{
  margin:0;
  text-transform:none;
  color:#001d3a;
  font-size:13px;
  font-weight:800;
}
.estoque-form-panel textarea{
  min-height:82px;
  width:100%;
  border-radius:7px;
  border:1px solid #b9c5cf;
  padding:8px 10px;
  resize:vertical;
  font-family:Segoe UI,Arial,sans-serif;
}
.estoque-actions{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-top:14px;
}
.estoque-actions .btn{min-width:0;width:100%;height:38px;border-radius:7px;padding:0 8px;}
.farol-form{
  display:grid;
  grid-template-columns:1fr 120px;
  gap:10px;
  align-items:end;
}
.farol-form select,.farol-form input{height:34px;border-radius:7px;border:1px solid #b9c5cf;}
.farol-form button{min-width:0;height:38px;border-radius:7px;}
.quick-row{
  display:grid;
  grid-template-columns:1fr 150px;
  gap:8px;
  align-items:end;
  margin-bottom:18px;
}
.quick-row label{grid-column:1/-1;}
.quick-row input{min-width:0;}
.quick-row .btn{height:38px;border-radius:7px;}
.quick-item{display:grid;grid-template-columns:1fr;gap:8px;}
.quick-item .quick-item-inline{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.quick-item button{width:135px;height:38px;border-radius:7px;margin:6px auto 0;}
@media(max-width:1280px){
  .estoque-compras-grid{grid-template-columns:1fr;}
  .estoque-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .estoque-side .estoque-form-panel:first-child{grid-column:1/-1;}
}
@media(max-width:760px){
  .estoque-filterbar{grid-template-columns:1fr;}
  .estoque-kpis{grid-template-columns:1fr;}
  .estoque-side{grid-template-columns:1fr;}
  .estoque-actions{grid-template-columns:1fr 1fr;}
  .farol-form,.quick-row,.quick-item .quick-item-inline{grid-template-columns:1fr;}
}


/* PATCH V18 - Estoque menu no mesmo padrão RH e trava visual do status */
.estoque-home-grid{
  grid-template-columns:repeat(4,minmax(220px,1fr));
}
.status-lock{
  grid-column:2/3;
  color:#7b8793;
  font-size:11px;
  margin-top:-6px;
}
#status:disabled{
  background:#eef2f5;
  color:#44515e;
  opacity:1;
  cursor:not-allowed;
}
@media(max-width:1100px){
  .estoque-home-grid{grid-template-columns:repeat(2,minmax(220px,1fr));}
}
@media(max-width:700px){
  .estoque-home-grid{grid-template-columns:1fr;}
}

/* PATCH V19 - Estoque > Saídas */
.saidas-panel{
  margin:0 14px 24px 14px;
  min-width:1180px;
  padding:16px;
}
.saidas-table-wrap{
  height:520px;
  border:1px solid #a7a7a7;
  border-radius:8px;
  background:#fff;
}
#saidasSaldoTable{min-width:1050px;}
#saidasSaldoTable th{height:32px;}
#saidasSaldoTable td{padding:8px 10px;}
.saidas-form{
  display:grid;
  grid-template-columns:170px 190px minmax(220px,1fr) 90px 110px;
  gap:10px;
  align-items:end;
  margin-top:14px;
}
.saida-field{display:flex;flex-direction:column;gap:5px;min-width:0;}
.saida-field label{
  margin:0;
  text-transform:none;
  color:#001d3a;
  font-size:13px;
  font-weight:800;
}
.saida-field input,.saida-field select{
  height:32px;
  border-radius:7px;
  border:1px solid #b9c5cf;
  padding:0 9px;
  font-size:13px;
  background:#fff;
  min-width:0;
}
.status-field{grid-column:1/2;}
.obs-field{grid-column:2/5;}
.saidas-actions{
  grid-column:5/6;
  display:flex;
  gap:8px;
  align-items:end;
}
.saidas-actions .btn{
  min-width:110px;
  height:38px;
  border-radius:7px;
  padding:0 12px;
}
@media(max-width:1200px){
  .saidas-panel{min-width:0;}
  .saidas-form{grid-template-columns:1fr 1fr;}
  .status-field,.obs-field,.saidas-actions{grid-column:auto;}
  .saidas-actions{grid-column:1/-1;}
}

/* PATCH V20 - Estoque > Ferramentaria */
.ferramentas-panel{
  margin:0 14px 24px 14px;
  min-width:1180px;
  padding:16px;
  display:grid;
  grid-template-columns:minmax(760px,1fr) 330px;
  gap:16px;
}
.ferramentas-main{min-width:0;}
.ferramentas-filterbar{
  display:grid;
  grid-template-columns:250px 112px 250px 130px;
  gap:12px;
  align-items:end;
  margin-bottom:12px;
}
.ferr-field{display:flex;flex-direction:column;gap:5px;min-width:0;}
.ferr-field label,.ferr-edit-field label{
  color:#001d3a;
  font-size:13px;
  font-weight:800;
  margin:0;
}
.ferr-field select,.ferr-edit-field input,.ferr-edit-field select,.ferr-edit-field textarea{
  border:1px solid #b9c5cf;
  border-radius:7px;
  min-height:32px;
  padding:0 9px;
  font-size:13px;
  background:#fff;
  color:#001b3a;
  width:100%;
  box-sizing:border-box;
}
.ferramentas-filterbar .btn{height:38px;border-radius:7px;}
.ferramentas-table-wrap{
  height:520px;
  border:1px solid #a7a7a7;
  border-radius:8px;
  background:#fff;
}
#ferramentasTable{min-width:1080px;}
#ferramentasTable th{height:32px;}
#ferramentasTable td{padding:8px 10px;}
.ferramentas-side{
  background:#fff;
  border:1px solid #e2e9ee;
  border-radius:12px;
  padding:16px;
  min-height:520px;
}
.ferramentas-side form{display:flex;flex-direction:column;gap:13px;height:100%;}
.ferr-edit-field{display:flex;flex-direction:column;gap:6px;}
.ferr-edit-field textarea{
  min-height:92px;
  padding-top:8px;
  resize:vertical;
}
.ferr-edit-field input[readonly],.ferr-edit-field textarea[readonly],.ferr-edit-field select:disabled{
  background:#eef2f5;
  color:#44515e;
  opacity:1;
}
.ferramentas-actions{
  margin-top:auto;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:9px;
}
.ferramentas-actions .btn{height:40px;border-radius:7px;padding:0 10px;}
@media(max-width:1200px){
  .ferramentas-panel{min-width:0;grid-template-columns:1fr;}
  .ferramentas-filterbar{grid-template-columns:1fr 1fr;}
}
/* Segurança - cadastro de treinamentos */
.seguranca-menu{grid-template-columns:repeat(2,minmax(280px,1fr))}.treinamento-layout{display:grid;grid-template-columns:340px 1fr;gap:18px;align-items:start}.treino-form-panel{min-height:620px}.treino-form-panel input{height:40px}.treino-cargos-head{margin-top:14px}.treino-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;max-height:330px;overflow:auto;padding:4px;border:1px solid #edf1f4;border-radius:12px;background:#fbfdfe}.check-pill{display:flex!important;align-items:center;gap:7px;margin:0!important;padding:7px 8px;border:1px solid #e2e8ee;border-radius:9px;background:#fff;color:#17212b;text-transform:none;font-size:12px;font-weight:800;line-height:1.2}.check-pill input{width:auto;height:auto;margin:0}.check-pill span{white-space:normal}.treino-actions{margin-top:18px}.treino-list-panel{min-width:0}.treino-filter{grid-template-columns:300px 110px;margin-bottom:14px}.treino-table-wrap{max-height:575px}.treino-table{min-width:900px}.treino-table th:nth-child(1){width:32%}.treino-table th:nth-child(2){width:12%}.treino-table th:nth-child(4){width:90px}.treino-table td:nth-child(3){line-height:1.45}.treino-actions .btn:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:1000px){.treinamento-layout{grid-template-columns:1fr}.seguranca-menu{grid-template-columns:1fr}.treino-filter{grid-template-columns:1fr}.treino-form-panel{min-height:auto}}

/* Segurança > Controle de treinamentos */
.controle-treino-layout{display:grid;grid-template-columns:1fr 380px;gap:14px;align-items:start}
.controle-treino-main,.controle-treino-side{background:#fff;border:1px solid #e4edf5;border-radius:0;padding:14px}
.controle-treino-filters{display:grid;grid-template-columns:minmax(260px,1fr) 150px 150px 100px;gap:12px;align-items:end;margin-bottom:12px}
.controle-treino-filters label,.controle-treino-side label{font-weight:700;font-size:12px;margin-bottom:5px;display:block;color:#001b3d}
.controle-treino-filters input,.controle-treino-filters select,.controle-treino-side input,.controle-treino-side select{height:28px;border:1px solid #a9a9a9;background:#fff;padding:3px 6px;width:100%;box-sizing:border-box}
.controle-treino-table-wrap{height:560px;overflow:auto;border:1px solid #b5b5b5;background:#fff}
.controle-treino-table th:nth-child(1){min-width:260px}.controle-treino-table th:nth-child(2){min-width:180px}.controle-treino-table th:nth-child(3){min-width:130px}.controle-treino-table th:nth-child(4){min-width:360px}
.controle-treino-side{display:flex;flex-direction:column;gap:14px;min-height:620px}
.controle-dados-form,.controle-treino-edit{display:grid;grid-template-columns:1fr;gap:7px}
.controle-dados-form input[readonly],.controle-treino-edit input[readonly]{background:#f8fafc;color:#001b3d}
.wide-action{width:100%;margin-top:6px;height:38px}
.treinos-func-box{border-top:1px solid #e5edf5;border-bottom:1px solid #e5edf5;padding:12px 0}
.treino-func-wrap{height:220px;overflow:auto;border:1px solid #b5b5b5;background:#fff}
.treino-func-table th:nth-child(1){min-width:145px}.treino-func-table th:nth-child(2){min-width:95px}.treino-func-table th:nth-child(3){min-width:75px}
@media(max-width:1100px){.controle-treino-layout{grid-template-columns:1fr}.controle-treino-filters{grid-template-columns:1fr 1fr}.controle-treino-side{min-height:auto}}

/* ===== Planejamento V23 ===== */
.plan-tabs{display:flex;gap:0;margin:0 0 0 0;border-bottom:1px solid #9f9a8f;min-width:1180px}.plan-tab{background:#c8c3b8;border:1px solid #8f8a80;border-bottom:0;color:#001d3a;text-decoration:none;font-weight:800;padding:14px 20px}.plan-tab.active{background:#fff}.planejamento-panel{padding:12px;overflow:auto}.planejamento-toolbar{display:flex;gap:10px;align-items:end;background:#fff;padding:14px;border-bottom:6px solid #eef3f6;margin-bottom:12px}.planejamento-toolbar div{width:90px}.planejamento-toolbar .btn{height:42px;white-space:nowrap}.planejamento-grid-wrap{height:560px;overflow:auto;border:1px solid #aaa;background:#fff}.planejamento-table{border-collapse:collapse;min-width:1700px;width:100%;font-size:13px}.planejamento-table th{position:sticky;top:0;background:#dce8f5;color:#001d3a;border:1px solid #999;height:30px;text-align:center}.planejamento-table td{padding:8px 7px;white-space:nowrap;color:#00624a;font-weight:700;min-width:90px}.planejamento-table td:first-child{color:#003a38;min-width:170px}.planejamento-table td:nth-child(2){color:#003a38;min-width:140px}.area-row td{background:#fff!important;color:#007a48!important;font-weight:900;font-size:14px}.plan-cell{cursor:pointer;border-left:1px solid #f2f2f2}.plan-cell:hover{background:#e9f6ff}.cell-alert{background:#fff0e5!important;color:#b00000!important}.plan-dialog{width:760px}.plan-dialog h2{margin:0 0 14px;color:#001d3a;font-size:18px}.mk-row{display:grid;grid-template-columns:90px 60px 90px;gap:8px;align-items:center;margin:8px 0}.mk-row input{height:28px;border-radius:0}.mk-row label,.mk-flags label{text-transform:none;margin:0;color:#001d3a}.mk-flags{display:flex;gap:18px;margin:12px 0 18px}.valores-layout{display:grid;grid-template-columns:280px 1fr;gap:22px;min-width:1180px}.valores-card{background:#fff;padding:14px;border-right:8px solid #eef3f6}.valores-card input,.valores-card select{height:28px;border-radius:0}.valores-list h3{margin:0 0 10px}.indicadores-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:16px;margin-top:16px}.kpi{background:#fff;border:1px solid #d8e2e8;border-radius:18px;padding:22px;box-shadow:0 8px 24px #15364f12}.kpi span{display:block;color:#607080;font-weight:800;font-size:13px;text-transform:uppercase}.kpi strong{display:block;margin-top:10px;font-size:30px;color:#071827}.kpi.wide{grid-column:span 2;border-left:6px solid #00a86b}@media(max-width:1100px){.plan-tabs,.valores-layout{min-width:0}.valores-layout{grid-template-columns:1fr}.indicadores-grid{grid-template-columns:1fr}.planejamento-toolbar{flex-wrap:wrap}}

/* PAINEL GERENCIAL V25 */
.painel-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 14px 0}.painel-cards.small{grid-template-columns:repeat(5,1fr);margin-top:8px}.painel-card{background:#fff;border:1px solid #e5edf2;border-top:5px solid #2878d7;min-height:92px;padding:17px 20px;box-shadow:0 4px 14px #15364f10}.painel-card span{display:block;color:#557086;font-weight:800;font-size:13px}.painel-card strong{display:block;margin-top:12px;font-size:30px;color:#001d3a}.painel-card.azul{border-top-color:#2878d7}.painel-card.verde{border-top-color:#15924f}.painel-card.amarelo{border-top-color:#f2a900}.painel-card.vermelho{border-top-color:#d63333}.painel-tabs{display:flex;gap:0;align-items:flex-end}.painel-tabs a{background:#c9c4b9;border:1px solid #9e9e9e;border-bottom:0;color:#000;text-decoration:none;font-weight:800;padding:12px 18px;min-width:80px;text-align:center}.painel-tabs a.active{background:#fff;position:relative;top:1px}.main-tabs{margin-left:0}.sub-tabs{margin-top:12px}.mini-tabs a{font-size:13px;padding:10px 14px}.painel-box{min-height:610px;margin-top:0}.painel-box h2{font-size:18px;color:#001d3a;margin:12px 0 18px}.painel-filter{display:flex;align-items:end;gap:9px;background:#fff;padding:12px;margin-bottom:12px}.painel-filter label{margin:0 0 7px 6px;text-transform:none;font-size:13px}.painel-filter select{width:82px;height:28px;border-radius:0}.painel-filter .btn{height:40px;border-radius:0}.painel-table{height:470px;max-height:470px;border-radius:0}.painel-table .erp-table th{background:#dce8f5;color:#001d3a;border:1px solid #999;text-align:center;padding:7px}.painel-table .erp-table td{border-bottom:0;padding:9px;color:#00204a}.farol-vermelho td{color:#e22d3b!important}.farol-amarelo td{color:#f2a900!important}.farol-verde td{color:#15924f!important}.painel-foot{font-weight:800;color:#001d3a;margin:12px 0 0}.heatmap-wrap{height:490px;overflow:auto;background:#fff;border:1px solid #d9e2ea;padding:10px}.heatmap{border-collapse:separate;border-spacing:3px;font-size:12px}.heatmap th{font-weight:800;color:#001d3a;position:sticky;top:0;background:#fff}.heatmap td:first-child,.heatmap th:first-child{min-width:240px;text-align:left;background:#fff;position:sticky;left:0;z-index:1;font-weight:800}.heatmap td{width:18px;height:18px}.heatmap td.verde{background:#2f8a3c}.heatmap td.vermelho{background:#d63333}.heatmap td.azul{background:#2878d7}@media(max-width:1000px){.painel-cards,.painel-cards.small{grid-template-columns:1fr 1fr}.painel-tabs{overflow-x:auto}.painel-filter{flex-wrap:wrap}}

/* Pendências V27 - Kanban estilo Trello */
.pend-head{margin-bottom:10px}.pendencia-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px;align-items:start}.pend-form{position:sticky;top:10px;padding:14px}.pend-form h3{margin:0 0 10px;color:#001f3f}.pend-form label{margin-top:8px}.pend-form input,.pend-form select,.pend-form textarea{min-height:30px}.pend-form textarea{resize:vertical;min-height:58px}.grid-2-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filtros-kanban{display:grid;grid-template-columns:minmax(260px,2fr) minmax(150px,1fr) minmax(140px,1fr) minmax(140px,1fr) 120px;gap:8px;background:#fff;padding:10px 12px;margin-bottom:10px;border-left:4px solid #1f6fd1;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.04)}.filtros-kanban input,.filtros-kanban select{height:34px}.kanban-wrap{min-width:0}.kanban-board{display:grid;grid-template-columns:repeat(4,minmax(235px,1fr));gap:10px;overflow:auto;padding:2px 2px 10px;min-height:calc(100vh - 285px)}.kanban-col{background:#eef3f7;border:1px solid #d7e0ea;border-radius:10px;min-height:calc(100vh - 305px);padding:9px;display:flex;flex-direction:column}.kanban-title{display:flex;justify-content:space-between;align-items:center;font-weight:800;color:#001f3f;margin-bottom:8px;padding:2px 2px 6px;border-bottom:1px solid #d7e0ea}.kanban-title b{background:#1f6fd1;color:#fff;border-radius:999px;padding:3px 9px}.kanban-list{display:flex;flex-direction:column;gap:8px;overflow:auto;padding-right:2px}.trello-card{background:#fff;border:1px solid #d9e1eb;border-radius:10px;padding:10px;box-shadow:0 2px 8px rgba(0,0,0,.06);cursor:pointer;transition:.15s}.trello-card:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.10)}.trello-card h4{margin:6px 0;color:#001f3f;font-size:14px;line-height:1.25}.trello-card p{font-size:12px;line-height:1.35;color:#40536b;max-height:48px;overflow:hidden;margin:4px 0}.card-topline{display:flex;gap:5px;flex-wrap:wrap}.tag,.priority{font-size:10.5px;font-weight:700;border-radius:999px;padding:3px 7px;background:#e8f0fe;color:#174ea6}.priority-alta,.priority-critica{background:#ffe3e3;color:#b00020}.priority-media{background:#fff1cc;color:#8a5a00}.priority-baixa{background:#e6f4ea;color:#137333}.card-atrasado{border-left:5px solid #d93025}.card-meta{display:flex;flex-wrap:wrap;gap:7px;font-size:11px;color:#40536b;margin-top:7px}.card-meta a{color:#1f6fd1;text-decoration:none}.move-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.move-row button{border:1px solid #c7d3df;background:#f8fafc;border-radius:6px;padding:4px 6px;font-size:10px;cursor:pointer}.btn.danger{background:#d93025;color:#fff;border-color:#b3261e}@media(max-width:1200px){.pendencia-layout{grid-template-columns:1fr}.pend-form{position:static}.kanban-board{grid-template-columns:repeat(4,260px)}.filtros-kanban{grid-template-columns:1fr 1fr}}
/* V29 - Cadastro de usuário */
.usuarios-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:12px;min-width:1180px}.usuario-form-panel{margin:0}.usuario-form-panel input,.usuario-form-panel select{height:28px;border-radius:0;border:1px solid #9e9e9e}.usuario-form-panel label{text-transform:none;color:#001d3a;font-size:13px;font-weight:800}.usuario-actions{display:flex;gap:10px;margin-top:20px}.usuario-actions .btn{border-radius:0;min-width:120px}.usuario-list-panel{margin:0}.usuario-filterbar{display:grid;grid-template-columns:260px 110px 110px;gap:10px;margin-bottom:14px}.usuario-filterbar select{height:30px;border-radius:0;border:1px solid #9e9e9e}.usuario-table-wrap{height:560px}.usuario-table{min-width:1050px}.usuario-table td{text-align:left}.usuario-table tr{cursor:pointer}@media(max-width:1100px){.usuarios-layout{grid-template-columns:1fr;min-width:0}.usuario-filterbar{grid-template-columns:1fr 110px 110px}}

/* V32 - Otimização geral das telas do RH */
.legacy-head{gap:16px;align-items:center}.legacy-panel{box-sizing:border-box}.employee-form{display:grid!important;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px 16px;align-items:end}.employee-form .emp-row{display:contents!important}.employee-form .emp-row label{align-self:end;margin:0 0 4px 0;font-size:12px;font-weight:800;color:#001d3a;white-space:nowrap}.employee-form .emp-row input,.employee-form .emp-row select,.employee-form .emp-row textarea{width:100%;min-width:0;height:34px;box-sizing:border-box;border-radius:6px}.employee-form .emp-row.obs label{grid-column:1 / -1}.employee-form .emp-row.obs textarea{grid-column:1 / -1;min-height:78px;height:78px}.employee-form .legacy-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.visualizar-grid{display:grid;grid-template-columns:minmax(420px,43%) minmax(560px,1fr);gap:14px;align-items:start}.visualizar-grid .form-panel .employee-form{grid-template-columns:repeat(4,minmax(135px,1fr));gap:10px 12px}.visual-table-wrap,.list-panel .visual-table-wrap{height:calc(100vh - 230px);min-height:460px;overflow:auto}.rh-contratacao-layout,.contratacao-layout{display:grid;grid-template-columns:minmax(450px,45%) minmax(560px,1fr);gap:14px;align-items:start}.legacy-filterbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.legacy-filterbar input,.legacy-filterbar select{min-width:180px;max-width:280px;height:34px}.rh-cards,.ferias-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.rh-home-actions,.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.legacy-actions .btn,.employee-form .btn{height:38px;min-width:120px}.form-panel{overflow:hidden}.list-panel{overflow:hidden}.erp-table,.visual-table{font-size:13px}.erp-table th,.erp-table td,.visual-table th,.visual-table td{padding:8px 9px}.rh-layout-wide{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}@media(max-width:1250px){.employee-form,.visualizar-grid .form-panel .employee-form{grid-template-columns:repeat(2,minmax(180px,1fr))}.visualizar-grid,.rh-contratacao-layout,.contratacao-layout{grid-template-columns:1fr}.visual-table-wrap,.list-panel .visual-table-wrap{height:430px}}@media(max-width:760px){.employee-form,.visualizar-grid .form-panel .employee-form{grid-template-columns:1fr}.legacy-filterbar input,.legacy-filterbar select{min-width:100%;max-width:100%}}


/* PATCH V33 - Performance visual + Home profissional + logo Convaço global */
.logo-img{
  height:42px; max-width:150px; object-fit:contain; background:#fff; border-radius:6px; padding:5px 10px; border-left:6px solid var(--green);
}
.home-hero{
  background:#fff; border:1px solid var(--line); border-radius:18px; padding:22px 26px; box-shadow:0 8px 24px #15364f12; margin-bottom:22px;
}
.home-hero-left{display:flex; align-items:center; gap:24px;}
.home-logo{width:210px; max-height:72px; object-fit:contain;}
.home-hero h1{margin:0; font-size:32px; color:var(--navy);}
.home-hero p{margin:8px 0 0; color:var(--muted); font-size:15px;}
.home-module-grid{
  display:grid; grid-template-columns:repeat(4,minmax(210px,1fr)); gap:18px; align-items:stretch;
}
.home-module-card{
  min-height:132px; background:#fff; border:1px solid var(--line); border-radius:18px; text-decoration:none; color:var(--txt);
  padding:20px; box-shadow:0 8px 22px #15364f10; display:flex; align-items:center; gap:18px; transition:.16s;
}
.home-module-card:hover{transform:translateY(-3px); border-color:var(--green); box-shadow:0 16px 32px #15364f24;}
.home-module-card strong{font-size:19px; display:block; margin-bottom:6px;}
.home-module-card small{color:var(--muted);}
.home-module-icon{min-width:46px; width:46px; height:46px; border-radius:14px; background:linear-gradient(135deg,var(--navy),var(--green)); color:#fff; display:grid; place-items:center; font-size:22px;}
/* deixa telas pesadas mais suaves no navegador */
.table-wrap,.visual-table-wrap,.contratacao-table-wrap,.ferias-table-wrap,.coord-table-wrap,.alojamento-table-wrap{will-change:scroll-position; contain:layout paint;}
@media(max-width:1180px){.home-module-grid{grid-template-columns:repeat(2,minmax(220px,1fr));}.home-logo{width:170px}}
@media(max-width:720px){.home-hero-left{flex-direction:column;align-items:flex-start}.home-module-grid{grid-template-columns:1fr}.home-module-card{min-height:112px}}

/* PATCH V34 - Correção definitiva RH > Férias: layout limpo, sem campos encavalados */
.ferias-page{
  display:grid !important;
  grid-template-columns:minmax(420px, 42%) minmax(560px, 58%) !important;
  gap:18px !important;
  align-items:start !important;
  width:100% !important;
  min-width:0 !important;
}
.ferias-card{
  background:#fff !important;
  border:1px solid #dbe5ec !important;
  border-radius:16px !important;
  padding:18px !important;
  box-shadow:0 8px 22px rgba(13,43,69,.08) !important;
  min-width:0 !important;
}
.ferias-card-title{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  border-bottom:1px solid #edf2f5 !important;
  margin-bottom:14px !important;
  padding-bottom:12px !important;
}
.ferias-card-title h2{margin:0 !important;font-size:18px !important;color:#08233b !important;}
.ferias-card-title p{margin:5px 0 0 !important;color:#60798f !important;font-size:12px !important;}
.ferias-filterbar-modern{
  display:grid !important;
  grid-template-columns:1.4fr 145px 145px 105px !important;
  gap:10px !important;
  align-items:end !important;
  margin-bottom:14px !important;
}
.ferias-filterbar-modern select,
.ferias-filterbar-modern input{
  height:38px !important;
  border-radius:8px !important;
  border:1px solid #cfdbe4 !important;
  padding:0 10px !important;
  font-size:13px !important;
}
.ferias-table-modern-wrap{
  height:610px !important;
  overflow:auto !important;
  border:1px solid #cfdbe4 !important;
  border-radius:12px !important;
  background:#fff !important;
}
.ferias-table-modern{
  min-width:100% !important;
  font-size:13px !important;
}
.ferias-table-modern th{
  background:#dfeaf4 !important;
  color:#08233b !important;
  height:34px !important;
  border:1px solid #c2ced8 !important;
}
.ferias-table-modern td{
  padding:9px 10px !important;
  white-space:nowrap !important;
  border-bottom:1px solid #eef3f6 !important;
}
.ferias-table-modern tr:hover,
.ferias-table-modern tr.selected{background:#e8f5ff !important;}
.ferias-form-modern{
  max-width:none !important;
  margin:0 !important;
  width:100% !important;
}
.ferias-section-title{
  margin:16px 0 10px !important;
  padding-left:10px !important;
  border-left:4px solid #00a86b !important;
  color:#08233b !important;
  font-size:14px !important;
  font-weight:900 !important;
}
.ferias-form-grid-modern{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  align-items:end !important;
}
.ferias-form-grid-modern.two-cols{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.ferias-form-grid-modern .field{min-width:0 !important;}
.ferias-form-grid-modern .span2{grid-column:span 2 !important;}
.ferias-form-grid-modern .span3{grid-column:span 3 !important;}
.ferias-form-grid-modern label,
.period-card span{
  display:block !important;
  margin:0 0 6px !important;
  color:#17334a !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:none !important;
}
.ferias-form-grid-modern input,
.period-card input[type="text"],
.period-card input:not([type]){
  width:100% !important;
  height:38px !important;
  border-radius:8px !important;
  border:1px solid #cfdbe4 !important;
  padding:0 10px !important;
  font-size:13px !important;
  background:#fff !important;
}
.ferias-form-grid-modern input:disabled,
.ferias-form-grid-modern input[readonly],
.period-card input[readonly]{
  background:#f7fafc !important;
  color:#08233b !important;
  opacity:1 !important;
}
.ferias-period-grid-modern{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
.period-card{
  border:1px solid #dbe5ec !important;
  border-radius:14px !important;
  padding:13px !important;
  background:#f9fbfc !important;
  min-width:0 !important;
}
.period-card small{
  margin-top:8px !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  color:#466276 !important;
  font-size:12px !important;
}
.period-card small input{
  width:auto !important;
  height:auto !important;
  margin:0 !important;
}
.ferias-actions-modern{
  margin-top:22px !important;
  display:flex !important;
  justify-content:flex-end !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.ferias-actions-modern .btn{min-width:115px !important;border-radius:9px !important;}
@media(max-width:1180px){
  .ferias-page{grid-template-columns:1fr !important;}
  .ferias-table-modern-wrap{height:420px !important;}
}
@media(max-width:760px){
  .ferias-filterbar-modern{grid-template-columns:1fr !important;}
  .ferias-form-grid-modern,
  .ferias-form-grid-modern.two-cols,
  .ferias-period-grid-modern{grid-template-columns:1fr !important;}
  .ferias-form-grid-modern .span2,
  .ferias-form-grid-modern .span3{grid-column:span 1 !important;}
}
.plan-cell.cell-inativo{background:#eef1f4;color:#8a94a3;cursor:not-allowed;font-weight:600;}
.click-row{cursor:pointer}
.click-row a{color:inherit;font-weight:800;text-decoration:none}

/* PATCH V42 - Correção definitiva Coordenação > Escala de Efetivo */
.coordenacao-grid{
  display:grid !important;
  grid-template-columns:minmax(500px, 42%) minmax(680px, 58%) !important;
  gap:16px !important;
  min-width:0 !important;
  align-items:start !important;
}
.coordenacao-grid .legacy-panel{
  min-width:0 !important;
  border-radius:14px !important;
  border:1px solid #d8e2ea !important;
  box-shadow:0 8px 22px rgba(21,54,79,.08) !important;
  padding:16px !important;
}
.coord-filterbar{
  display:grid !important;
  grid-template-columns:minmax(170px,1fr) minmax(120px,150px) minmax(150px,1fr) 96px !important;
  gap:10px !important;
  align-items:end !important;
  margin-bottom:12px !important;
}
.coord-filterbar select,
.coord-filterbar .btn{
  height:36px !important;
  border-radius:8px !important;
  font-size:13px !important;
}
.coord-table-wrap{
  height:610px !important;
  border-radius:10px !important;
  border:1px solid #b7c3ce !important;
  overflow:auto !important;
}
#coordTable{
  min-width:640px !important;
  table-layout:auto !important;
}
#coordTable th{
  height:34px !important;
  font-size:13px !important;
}
#coordTable td{
  padding:8px 10px !important;
  font-size:13px !important;
}
#coordTable th:nth-child(1), #coordTable td:nth-child(1){width:52px;text-align:center;}
#coordTable th:nth-child(3), #coordTable td:nth-child(3){width:86px;text-align:center;}
#coordTable th:nth-child(4), #coordTable td:nth-child(4){min-width:150px;}
.coord-form-panel{
  overflow:visible !important;
}
.coord-form-panel .employee-form{
  width:100% !important;
}
.coord-form-panel .form-two-col{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(300px, 1fr)) !important;
  gap:12px 18px !important;
  align-items:start !important;
}
.coord-form-panel .field-row{
  display:grid !important;
  grid-template-columns:140px minmax(0, 1fr) !important;
  gap:8px !important;
  align-items:center !important;
  margin-bottom:9px !important;
  min-width:0 !important;
}
.coord-form-panel .field-row label,
.coord-form-panel .obs-row label{
  margin:0 !important;
  color:#001d3a !important;
  font-size:12px !important;
  line-height:1.1 !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  white-space:normal !important;
}
.coord-form-panel input,
.coord-form-panel select{
  width:100% !important;
  min-width:0 !important;
  height:32px !important;
  border-radius:7px !important;
  border:1px solid #b9c5cf !important;
  padding:0 9px !important;
  font-size:13px !important;
  background:#fff !important;
  color:#001f45 !important;
}
.coord-form-panel input:disabled,
.coord-form-panel select:disabled{
  background:#eef2f5 !important;
  color:#30475b !important;
  opacity:1 !important;
}
.coord-form-panel #coord_area_atuacao,
.coord-form-panel #coord_observacoes{
  background:#fff !important;
  border-color:#7fcaa6 !important;
}
.coord-form-panel .obs-row{
  display:grid !important;
  grid-template-columns:140px minmax(0,1fr) !important;
  gap:8px !important;
  margin-top:4px !important;
  align-items:start !important;
}
.coord-form-panel textarea{
  width:100% !important;
  min-height:82px !important;
  border-radius:7px !important;
  border:1px solid #b9c5cf !important;
  padding:8px 9px !important;
  resize:vertical !important;
  font-family:Segoe UI,Arial,sans-serif !important;
  font-size:13px !important;
}
.coord-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:14px !important;
}
.coord-actions .btn{
  min-width:110px !important;
  height:38px !important;
  border-radius:8px !important;
  padding:0 14px !important;
}
@media(max-width:1320px){
  .coordenacao-grid{grid-template-columns:1fr !important;}
  .coord-table-wrap{height:430px !important;}
}
@media(max-width:760px){
  .coord-filterbar{grid-template-columns:1fr !important;}
  .coord-form-panel .form-two-col{grid-template-columns:1fr !important;}
  .coord-form-panel .field-row,
  .coord-form-panel .obs-row{grid-template-columns:1fr !important;}
}


/* PATCH V44 - Dias úteis na guia Indicadores */
.indicadores-toolbar{justify-content:space-between;align-items:end;gap:18px;flex-wrap:wrap}.indicadores-filtro,.dias-uteis-form{display:flex;gap:10px;align-items:end;margin:0}.dias-uteis-form{margin-left:auto}.dias-uteis-form div{width:210px}.dias-uteis-form input{height:42px;border:1px solid #d7e2ea;border-radius:8px;padding:0 12px;font-weight:800}.btn.small{height:42px;padding:0 18px;font-size:13px;border-radius:8px}@media(max-width:900px){.dias-uteis-form{margin-left:0}.dias-uteis-form div{width:180px}}


/* PATCH V45 - RH > Visualizar: layout harmonizado e botões sem encavalamento */
.visualizar-grid{
  grid-template-columns:minmax(470px,40%) minmax(680px,1fr) !important;
  gap:18px !important;
  align-items:start !important;
  min-width:0 !important;
  width:100% !important;
}
.visualizar-card{
  background:#fff !important;
  border:1px solid #d9e4ec !important;
  border-radius:14px !important;
  padding:16px !important;
  box-shadow:0 8px 22px rgba(21,54,79,.10) !important;
  overflow:hidden !important;
}
.visual-card-title{
  margin:0 0 14px 0 !important;
  font-size:16px !important;
  color:#001d3a !important;
  font-weight:900 !important;
}
.visual-filterbar{
  display:grid !important;
  grid-template-columns:minmax(180px,1fr) 120px 120px !important;
  gap:10px !important;
  align-items:end !important;
  margin-bottom:12px !important;
}
.visual-filterbar select,
.visual-filterbar .btn{
  height:38px !important;
  border-radius:8px !important;
}
.visual-table-wrap{
  border:1px solid #d7e2ea !important;
  border-radius:10px !important;
  height:calc(100vh - 265px) !important;
  min-height:430px !important;
}
.visual-table{
  min-width:720px !important;
  font-size:13px !important;
}
.visual-table th{
  background:#dce8f5 !important;
  color:#001d3a !important;
  height:34px !important;
}
.visual-table td{
  padding:8px 10px !important;
}
.visualizar-grid .form-panel .employee-form{
  display:grid !important;
  grid-template-columns:132px minmax(160px,1fr) 132px minmax(160px,1fr) !important;
  gap:9px 12px !important;
  align-items:center !important;
}
.visualizar-grid .employee-form .emp-row{display:contents !important;}
.visualizar-grid .employee-form label{
  margin:0 !important;
  line-height:1.15 !important;
  white-space:normal !important;
  color:#001d3a !important;
}
.visualizar-grid .employee-form input,
.visualizar-grid .employee-form select{
  height:36px !important;
  border-radius:7px !important;
}
.visualizar-grid .employee-form .emp-row.obs label{
  grid-column:1 / -1 !important;
  margin-top:3px !important;
}
.visualizar-grid .employee-form .emp-row.obs textarea{
  grid-column:1 / -1 !important;
  height:76px !important;
  min-height:76px !important;
  border-radius:8px !important;
}
.visual-actions,
.employee-form .visual-actions{
  grid-column:1 / -1 !important;
  display:grid !important;
  grid-template-columns:repeat(7,minmax(105px,1fr)) !important;
  gap:10px !important;
  margin-top:8px !important;
  padding-top:12px !important;
  border-top:1px solid #e3edf3 !important;
  width:100% !important;
  justify-content:stretch !important;
  flex-wrap:wrap !important;
}
.visual-actions .btn,
.employee-form .visual-actions .btn,
.visual-actions .file-btn{
  width:100% !important;
  min-width:0 !important;
  height:40px !important;
  padding:8px 10px !important;
  border-radius:8px !important;
  text-align:center !important;
  white-space:normal !important;
  line-height:1.05 !important;
  font-size:13px !important;
}
.visual-actions .btn.primary{
  background:#00a86b !important;
  border-color:#00a86b !important;
  color:#fff !important;
}
@media(max-width:1450px){
  .visualizar-grid{grid-template-columns:1fr !important;}
  .visual-table-wrap{height:380px !important;min-height:380px !important;}
  .visual-actions,.employee-form .visual-actions{grid-template-columns:repeat(4,minmax(120px,1fr)) !important;}
}
@media(max-width:820px){
  .visual-filterbar{grid-template-columns:1fr !important;}
  .visualizar-grid .form-panel .employee-form{grid-template-columns:1fr !important;}
  .visual-actions,.employee-form .visual-actions{grid-template-columns:1fr 1fr !important;}
}

/* PATCH V47 - select em modo pré-filtro */
select.erp-select-filtrando{
  position: relative;
  z-index: 30;
  min-height: 38px;
}

/* Cadastro de Usuário - layout harmonizado */
.usuarios-layout-v2{grid-template-columns:430px minmax(0,1fr);gap:18px;align-items:start;min-width:0}.usuario-card-v2{border-radius:14px;border:1px solid #d7e0ea;background:#fff;box-shadow:0 10px 28px rgba(0,29,58,.08);padding:18px}.usuario-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid #e8eef5}.usuario-section-title span{font-size:17px;font-weight:900;color:#001d3a}.usuario-section-title small{font-size:12px;color:#607086;text-align:right;line-height:1.25}.usuario-section-title.small{margin-top:18px;margin-bottom:10px;padding-bottom:7px}.usuario-form-grid,.usuario-perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.usuario-form-grid .field-full{grid-column:1/-1}.usuario-card-v2 .field{display:flex;flex-direction:column;gap:5px}.usuario-card-v2 label{font-weight:850;color:#001d3a;font-size:12px}.usuario-card-v2 input,.usuario-card-v2 select{height:36px;border-radius:9px;border:1px solid #bdc8d4;padding:0 10px;background:#fff;outline:none}.usuario-card-v2 input:focus,.usuario-card-v2 select:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.12)}.cc-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:190px;overflow:auto;padding:10px;border:1px solid #dbe4ee;border-radius:12px;background:#f8fafc}.cc-check{display:flex!important;align-items:center;gap:8px;padding:8px 9px;border:1px solid #e0e7ef;border-radius:10px;background:#fff;cursor:pointer;min-width:0}.cc-check:hover{border-color:#0f766e;background:#f2fbf9}.cc-check input{height:auto!important;width:auto;margin:0}.cc-check span{font-weight:800;font-size:12px;color:#18324d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.usuario-actions{justify-content:flex-end;margin-top:18px}.usuario-actions .btn{border-radius:10px;min-width:132px}.usuario-filterbar{display:grid;grid-template-columns:minmax(220px,1fr) 110px 110px;gap:10px;margin-bottom:14px}.usuario-filterbar select{height:36px;border-radius:9px;border:1px solid #bdc8d4;padding:0 10px}.usuario-table-wrap{height:590px;border-radius:12px}.usuario-table{min-width:980px}.usuario-table th{position:sticky;top:0;z-index:1}.usuario-table td:nth-child(2){max-width:360px;white-space:normal}.usuario-table tr:hover td{background:#f3faf8}@media(max-width:1100px){.usuarios-layout-v2{grid-template-columns:1fr}.usuario-form-grid,.usuario-perm-grid,.cc-check-grid{grid-template-columns:1fr}.usuario-section-title{flex-direction:column}.usuario-section-title small{text-align:left}.usuario-filterbar{grid-template-columns:1fr 110px 110px}}

/* Cadastro de Usuário - V49 layout harmonizado */
.usuario-head-clean{max-width:1440px;margin-left:auto;margin-right:auto}.usuario-tabs-clean{max-width:1440px;margin:0 auto 14px;display:flex;gap:8px;border-bottom:1px solid #dce5ef}.usuario-tab-btn{border:1px solid transparent;background:transparent;color:#53677d;font-weight:850;border-radius:12px 12px 0 0;padding:13px 18px;cursor:pointer}.usuario-tab-btn.active{background:#fff;color:#005fdb;border-color:#dce5ef;border-bottom-color:#fff;box-shadow:0 -4px 16px rgba(0,29,58,.05)}.usuario-tab-panel{display:none;max-width:1440px;margin:0 auto}.usuario-tab-panel.active{display:block}.usuarios-layout-clean{display:grid;grid-template-columns:minmax(430px,520px) minmax(0,1fr);gap:16px;align-items:start}.usuarios-layout-clean.cc-layout-only{grid-template-columns:minmax(360px,430px) minmax(0,1fr)}.usuario-card-clean{border-radius:14px;border:1px solid #d7e0ea;background:#fff;box-shadow:0 10px 28px rgba(0,29,58,.07);padding:18px;margin:0}.usuario-form-grid-clean,.usuario-perm-grid-clean{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.usuario-form-grid-clean .field:nth-child(3){grid-column:1/-1}.usuario-form-grid-clean.one-col{grid-template-columns:1fr}.usuario-card-clean .field{display:flex;flex-direction:column;gap:6px}.usuario-card-clean label{font-weight:850;color:#001d3a;font-size:12px}.usuario-card-clean input,.usuario-card-clean select{height:38px;border-radius:10px;border:1px solid #bdc8d4;padding:0 11px;background:#fff;outline:none;min-width:0}.usuario-card-clean input:focus,.usuario-card-clean select:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.12)}.cc-tools-clean{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin-bottom:10px}.cc-tools-clean .btn{height:38px;border-radius:10px;white-space:nowrap}.cc-check-grid-clean{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;max-height:210px;overflow:auto;padding:10px;border:1px solid #dbe4ee;border-radius:12px;background:#f8fafc}.cc-check-clean{display:flex!important;align-items:center;gap:8px;padding:8px 9px;border:1px solid #e0e7ef;border-radius:10px;background:#fff;cursor:pointer;min-width:0}.cc-check-clean:hover{border-color:#0f766e;background:#f2fbf9}.cc-check-clean input{height:auto!important;width:auto;margin:0}.cc-check-clean span{font-weight:800;font-size:12px;color:#18324d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.usuario-filterbar-clean{display:grid;grid-template-columns:minmax(220px,1fr) 110px 110px;gap:10px;margin-bottom:12px}.usuario-filterbar-clean input{height:38px;border-radius:10px;border:1px solid #bdc8d4;padding:0 11px}.usuario-table-wrap-clean{height:560px;border-radius:12px}.usuario-table-wrap-clean table{min-width:850px}.usuario-table-wrap-clean th{position:sticky;top:0;z-index:1}.usuario-table-wrap-clean td:nth-child(2){max-width:320px;white-space:normal}.usuario-table-wrap-clean tr:hover td{background:#f3faf8}.usuario-list-clean{min-width:0}@media(max-width:1180px){.usuarios-layout-clean,.usuarios-layout-clean.cc-layout-only{grid-template-columns:1fr}.usuario-form-grid-clean,.usuario-perm-grid-clean{grid-template-columns:1fr}.cc-tools-clean,.usuario-filterbar-clean{grid-template-columns:1fr}.usuario-table-wrap-clean{height:auto;max-height:560px}}

/* =========================================================
   V51 - CORREÇÃO REAL DE ENCAVALAMENTO - CADASTRO USUÁRIO
   Força layout em uma coluna para não esconder campos/botões
   em telas menores, zoom do navegador ou resolução 1366x768.
   ========================================================= */
.usuario-head-clean,
.usuario-tabs-clean,
.usuario-tab-panel{
  width: min(1520px, calc(100vw - 36px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.usuario-head-clean{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding:18px 0 !important;
}

.usuario-tabs-clean{
  margin-bottom:16px !important;
  overflow-x:auto !important;
  padding-top:4px !important;
}

.usuario-tab-btn{
  min-width: 210px !important;
  white-space: nowrap !important;
}

/* A principal correção: não dividir mais a tela em duas colunas estreitas */
.usuarios-layout-clean,
.usuarios-layout-clean.cc-layout-only{
  display:grid !important;
  grid-template-columns: 1fr !important;
  gap:18px !important;
  width:100% !important;
  min-width:0 !important;
  align-items:stretch !important;
}

.usuario-card-clean,
.usuario-list-clean{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

/* Formulários mais largos e limpos */
.usuario-form-grid-clean,
.usuario-perm-grid-clean{
  display:grid !important;
  grid-template-columns: repeat(4, minmax(180px, 1fr)) !important;
  gap:14px !important;
}

.usuario-form-grid-clean .field:nth-child(3){
  grid-column:auto !important;
}

.usuario-form-grid-clean.one-col{
  grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
}

.usuario-card-clean input,
.usuario-card-clean select,
.usuario-filterbar-clean input,
.cc-tools-clean input{
  width:100% !important;
  box-sizing:border-box !important;
}

.cc-tools-clean{
  display:grid !important;
  grid-template-columns: minmax(260px, 1fr) 150px 120px !important;
  gap:10px !important;
}

.cc-check-grid-clean{
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
  max-height: 170px !important;
  overflow:auto !important;
}

.usuario-actions{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:12px !important;
  margin-top:18px !important;
  padding-top:14px !important;
  border-top:1px solid #e7edf4 !important;
  position:relative !important;
  z-index:5 !important;
}

.usuario-actions .btn{
  min-width:160px !important;
  height:40px !important;
  border-radius:10px !important;
}

.usuario-filterbar-clean{
  display:grid !important;
  grid-template-columns: minmax(280px, 1fr) 130px 130px !important;
  gap:12px !important;
  align-items:center !important;
}

.usuario-table-wrap-clean{
  width:100% !important;
  height:auto !important;
  max-height: 430px !important;
  overflow:auto !important;
  border:1px solid #d9e3ee !important;
  border-radius:12px !important;
}

.usuario-table-wrap-clean table,
.usuario-table{
  width:100% !important;
  min-width: 860px !important;
  table-layout:auto !important;
}

.usuario-table-wrap-clean th,
.usuario-table-wrap-clean td{
  white-space:nowrap !important;
  padding:9px 10px !important;
}

.usuario-table-wrap-clean td:nth-child(2){
  white-space:normal !important;
  min-width:180px !important;
  max-width:420px !important;
}

#tab-centros .usuario-table-wrap-clean{
  max-height:390px !important;
}

#tab-centros .usuario-table-wrap-clean table{
  min-width: 100% !important;
}

@media(max-width:900px){
  .usuario-head-clean,
  .usuario-tabs-clean,
  .usuario-tab-panel{
    width: calc(100vw - 20px) !important;
  }
  .usuario-form-grid-clean,
  .usuario-perm-grid-clean,
  .usuario-form-grid-clean.one-col,
  .cc-tools-clean,
  .usuario-filterbar-clean{
    grid-template-columns:1fr !important;
  }
  .usuario-actions{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .usuario-actions .btn{
    width:100% !important;
  }
}

/* =========================================================
   V52 - Corrige visualização dos centros de custo permitidos
   Não deixa os códigos ficarem cortados/reticências na faixa de seleção.
   ========================================================= */
#ccCheckGrid.cc-check-grid-clean{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px !important;
  min-height:52px !important;
  max-height:none !important;
  overflow:visible !important;
  padding:12px !important;
  background:#f8fbff !important;
}
#ccCheckGrid .cc-check-clean{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:9px !important;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:118px !important;
  max-width:none !important;
  height:36px !important;
  padding:7px 14px !important;
  box-sizing:border-box !important;
}
#ccCheckGrid .cc-check-clean input{
  flex:0 0 auto !important;
  width:14px !important;
  height:14px !important;
}
#ccCheckGrid .cc-check-clean span{
  display:inline-block !important;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:auto !important;
  max-width:none !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  color:#001d3a !important;
  font-size:12px !important;
  line-height:1 !important;
}
@media(max-width:900px){
  #ccCheckGrid.cc-check-grid-clean{
    overflow:auto !important;
    max-height:180px !important;
  }
  #ccCheckGrid .cc-check-clean{
    min-width:110px !important;
  }
}

/* PATCH V54 - Coordenação > Escala de Efetivo sem encavalamento */
.coord-escala-page{display:grid !important;grid-template-columns:1fr !important;gap:16px !important;width:100% !important;max-width:1320px !important;margin:0 auto !important;}
.coord-escala-page .legacy-panel{min-width:0 !important;width:100% !important;border-radius:14px !important;border:1px solid #d8e2ea !important;box-shadow:0 8px 22px rgba(21,54,79,.08) !important;padding:16px !important;margin:0 !important;overflow:hidden !important;}
.coord-head{max-width:none !important;}
.coord-card-title{display:flex !important;justify-content:space-between !important;align-items:flex-start !important;border-bottom:1px solid #e4edf4 !important;padding-bottom:10px !important;margin-bottom:12px !important;}
.coord-card-title h2{margin:0 !important;font-size:17px !important;color:#00264a !important;}
.coord-card-title span{font-size:12px !important;color:#60778b !important;}
.coord-filterbar-v54{display:grid !important;grid-template-columns:minmax(220px,1fr) 160px minmax(220px,1fr) 110px !important;gap:10px !important;margin-bottom:12px !important;}
.coord-filterbar-v54 select,.coord-filterbar-v54 .btn{height:38px !important;border-radius:8px !important;font-size:13px !important;min-width:0 !important;}
.coord-table-wrap-v54{height:360px !important;overflow:auto !important;border:1px solid #b7c3ce !important;border-radius:10px !important;background:#fff !important;}
.coord-table-wrap-v54 #coordTable{width:100% !important;min-width:980px !important;table-layout:fixed !important;}
.coord-table-wrap-v54 #coordTable th{height:34px !important;background:#dce8f5 !important;font-size:13px !important;}
.coord-table-wrap-v54 #coordTable td{font-size:13px !important;padding:8px 10px !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
.coord-table-wrap-v54 #coordTable th:nth-child(1),.coord-table-wrap-v54 #coordTable td:nth-child(1){width:70px !important;text-align:center !important;}
.coord-table-wrap-v54 #coordTable th:nth-child(2),.coord-table-wrap-v54 #coordTable td:nth-child(2){width:52% !important;}
.coord-table-wrap-v54 #coordTable th:nth-child(3),.coord-table-wrap-v54 #coordTable td:nth-child(3){width:130px !important;text-align:center !important;}
.coord-table-wrap-v54 #coordTable th:nth-child(4),.coord-table-wrap-v54 #coordTable td:nth-child(4){width:260px !important;}
.coord-form-v54{width:100% !important;}
.coord-fields-v54{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:12px 14px !important;align-items:start !important;}
.coord-fields-v54 .field-row{display:block !important;margin:0 !important;min-width:0 !important;}
.coord-fields-v54 label{display:block !important;margin:0 0 5px 0 !important;color:#001d3a !important;font-size:11.5px !important;line-height:1.15 !important;text-transform:uppercase !important;font-weight:900 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
.coord-fields-v54 input,.coord-fields-v54 select,.coord-fields-v54 textarea{width:100% !important;min-width:0 !important;border:1px solid #b9c5cf !important;border-radius:7px !important;background:#fff !important;color:#001f45 !important;font-size:13px !important;}
.coord-fields-v54 input,.coord-fields-v54 select{height:34px !important;padding:0 9px !important;}
.coord-fields-v54 input:disabled,.coord-fields-v54 select:disabled{background:#eef2f5 !important;color:#31475a !important;opacity:1 !important;}
.coord-fields-v54 .editable select,.coord-fields-v54 .editable textarea{border-color:#62bd8b !important;background:#fff !important;}
.coord-fields-v54 .obs-field{grid-column:span 2 !important;}
.coord-fields-v54 textarea{height:76px !important;padding:8px 9px !important;resize:vertical !important;font-family:Segoe UI,Arial,sans-serif !important;}
.coord-actions-v54{display:flex !important;justify-content:flex-end !important;flex-wrap:wrap !important;gap:10px !important;margin-top:16px !important;padding-top:12px !important;border-top:1px solid #e4edf4 !important;}
.coord-actions-v54 .btn{min-width:116px !important;height:38px !important;border-radius:8px !important;padding:0 14px !important;}
@media(max-width:1100px){.coord-filterbar-v54{grid-template-columns:1fr 1fr !important}.coord-fields-v54{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.coord-fields-v54 .obs-field{grid-column:span 2 !important}.coord-table-wrap-v54{height:320px !important}}
@media(max-width:680px){.coord-filterbar-v54,.coord-fields-v54{grid-template-columns:1fr !important}.coord-fields-v54 .obs-field{grid-column:span 1 !important}.coord-actions-v54{justify-content:stretch !important}.coord-actions-v54 .btn{flex:1 1 130px !important}}

/* PATCH V55 - RH > Visualizar sem informação encavalada */
.visualizar-grid{
  display:grid !important;
  grid-template-columns:minmax(380px,35%) minmax(760px,1fr) !important;
  gap:16px !important;
  align-items:start !important;
  width:100% !important;
  min-width:0 !important;
}
.visualizar-card{
  box-sizing:border-box !important;
  min-width:0 !important;
  overflow:hidden !important;
  border-radius:14px !important;
  padding:14px !important;
}
.visualizar-grid .list-panel{max-width:100% !important;}
.visual-filterbar{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 105px 105px !important;
  gap:8px !important;
  margin-bottom:10px !important;
}
.visual-filterbar select,.visual-filterbar .btn{height:38px !important;border-radius:8px !important;min-width:0 !important;}
.visual-table-wrap{
  height:calc(100vh - 286px) !important;
  min-height:420px !important;
  max-height:640px !important;
  overflow:auto !important;
  border-radius:10px !important;
}
.visual-table{min-width:640px !important;width:100% !important;font-size:12px !important;}
.visual-table th,.visual-table td{padding:7px 8px !important;}
.visual-table th:nth-child(1),.visual-table td:nth-child(1){width:52px !important;}
.visual-table th:nth-child(2),.visual-table td:nth-child(2){min-width:240px !important;}
.visual-table th:nth-child(3),.visual-table td:nth-child(3){min-width:92px !important;}
.visualizar-grid .form-panel .employee-form{
  display:grid !important;
  grid-template-columns:120px minmax(150px,1fr) 120px minmax(150px,1fr) !important;
  gap:8px 12px !important;
  align-items:center !important;
}
.visualizar-grid .employee-form label{
  margin:0 !important;
  font-size:12px !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.visualizar-grid .employee-form input,
.visualizar-grid .employee-form select{
  height:34px !important;
  min-width:0 !important;
  width:100% !important;
  border-radius:7px !important;
  box-sizing:border-box !important;
}
.visualizar-grid .employee-form .emp-row.obs label{grid-column:1 / -1 !important;}
.visualizar-grid .employee-form .emp-row.obs textarea{
  grid-column:1 / -1 !important;
  width:100% !important;
  min-height:70px !important;
  height:70px !important;
  border-radius:8px !important;
  box-sizing:border-box !important;
}
.visual-actions,.employee-form .visual-actions{
  grid-column:1 / -1 !important;
  display:grid !important;
  grid-template-columns:repeat(7,minmax(92px,1fr)) !important;
  gap:8px !important;
  margin-top:8px !important;
  padding-top:10px !important;
  border-top:1px solid #e4edf4 !important;
  width:100% !important;
}
.visual-actions .btn,.employee-form .visual-actions .btn,.visual-actions .file-btn{
  width:100% !important;
  min-width:0 !important;
  height:38px !important;
  padding:7px 8px !important;
  font-size:12px !important;
  line-height:1.05 !important;
  white-space:normal !important;
  text-align:center !important;
  border-radius:8px !important;
}
@media(max-width:1500px){
  .visualizar-grid{grid-template-columns:1fr !important;}
  .visual-table-wrap{height:360px !important;min-height:360px !important;}
  .visualizar-grid .form-panel .employee-form{grid-template-columns:130px minmax(180px,1fr) 130px minmax(180px,1fr) !important;}
}
@media(max-width:920px){
  .visualizar-grid .form-panel .employee-form{grid-template-columns:1fr !important;}
  .visual-actions,.employee-form .visual-actions{grid-template-columns:repeat(2,minmax(120px,1fr)) !important;}
  .visual-filterbar{grid-template-columns:1fr !important;}
}

.form-alert{background:#fff3cd;border:1px solid #f0c36d;color:#5c4200;border-radius:10px;padding:10px 12px;margin-bottom:12px;font-weight:800;}

/* PATCH V72 - RH > Contratação: layout harmonizado e listbox larga */
body:has(#contratacaoTable) .shell{
  max-width: 1520px;
  padding-left: 22px;
  padding-right: 22px;
}
body:has(#contratacaoTable) .legacy-head{
  margin-left: -22px;
  margin-right: -22px;
  padding-left: 26px;
  padding-right: 26px;
}
body:has(#contratacaoTable) .contratacao-grid{
  display: grid !important;
  grid-template-columns: minmax(620px, 54%) minmax(560px, 46%) !important;
  gap: 18px !important;
  align-items: start !important;
  min-width: 0 !important;
}
body:has(#contratacaoTable) .legacy-panel{
  min-width: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 24px #15364f12 !important;
}
body:has(#contratacaoTable) .list-panel{
  overflow: hidden !important;
}
body:has(#contratacaoTable) .contratacao-filterbar{
  display: grid !important;
  grid-template-columns: minmax(190px,1fr) minmax(190px,1fr) 104px 104px !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}
body:has(#contratacaoTable) .contratacao-filterbar select,
body:has(#contratacaoTable) .contratacao-filterbar .btn{
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 38px !important;
  border-radius: 8px !important;
}
body:has(#contratacaoTable) .contratacao-table-wrap{
  height: calc(100vh - 255px) !important;
  min-height: 585px !important;
  max-height: 680px !important;
  overflow: auto !important;
  border-radius: 10px !important;
}
body:has(#contratacaoTable) #contratacaoTable{
  min-width: 930px !important;
  width: 100% !important;
  table-layout: fixed !important;
}
body:has(#contratacaoTable) #contratacaoTable th,
body:has(#contratacaoTable) #contratacaoTable td{
  padding: 8px 10px !important;
  line-height: 1.25 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
body:has(#contratacaoTable) #contratacaoTable th:nth-child(1),
body:has(#contratacaoTable) #contratacaoTable td:nth-child(1){width:60px !important;text-align:center !important;}
body:has(#contratacaoTable) #contratacaoTable th:nth-child(2),
body:has(#contratacaoTable) #contratacaoTable td:nth-child(2){width:260px !important;}
body:has(#contratacaoTable) #contratacaoTable th:nth-child(3),
body:has(#contratacaoTable) #contratacaoTable td:nth-child(3){width:135px !important;}
body:has(#contratacaoTable) #contratacaoTable th:nth-child(4),
body:has(#contratacaoTable) #contratacaoTable td:nth-child(4){width:210px !important;}
body:has(#contratacaoTable) #contratacaoTable th:nth-child(5),
body:has(#contratacaoTable) #contratacaoTable td:nth-child(5){width:150px !important;}
body:has(#contratacaoTable) #contratacaoTable th:nth-child(6),
body:has(#contratacaoTable) #contratacaoTable td:nth-child(6){width:115px !important;}
body:has(#contratacaoTable) .contratacao-form{
  grid-template-columns: repeat(4, minmax(112px, 1fr)) !important;
  gap: 8px 10px !important;
}
body:has(#contratacaoTable) .contratacao-form .emp-row label{
  font-size: 11px !important;
  margin-bottom: 2px !important;
}
body:has(#contratacaoTable) .contratacao-form .emp-row input,
body:has(#contratacaoTable) .contratacao-form .emp-row select{
  height: 32px !important;
  border-radius: 7px !important;
  padding: 0 9px !important;
  font-size: 12px !important;
}
body:has(#contratacaoTable) .contratacao-form .emp-row.obs textarea{
  min-height: 70px !important;
  height: 70px !important;
  border-radius: 8px !important;
}
body:has(#contratacaoTable) .contratacao-form .legacy-actions{
  justify-content: flex-end !important;
  gap: 10px !important;
  margin-top: 8px !important;
}
body:has(#contratacaoTable) .contratacao-form .legacy-actions .btn{
  border-radius: 8px !important;
  min-width: 110px !important;
}
@media(max-width:1280px){
  body:has(#contratacaoTable) .contratacao-grid{
    grid-template-columns: 1fr !important;
  }
  body:has(#contratacaoTable) .contratacao-table-wrap{
    height: 500px !important;
    min-height: 460px !important;
  }
}
@media(max-width:760px){
  body:has(#contratacaoTable) .contratacao-filterbar{
    grid-template-columns: 1fr !important;
  }
  body:has(#contratacaoTable) .contratacao-form{
    grid-template-columns: 1fr !important;
  }
}

/* PATCH V73 - RH > Contratação: botões sempre visíveis e sem encavalar */
body:has(#contratacaoTable) .shell{
  max-width: 1560px !important;
}
body:has(#contratacaoTable) .contratacao-grid{
  grid-template-columns: minmax(660px, 52%) minmax(620px, 48%) !important;
  gap: 18px !important;
}
body:has(#contratacaoTable) .form-panel{
  overflow: visible !important;
  padding-bottom: 16px !important;
}
body:has(#contratacaoTable) .contratacao-form{
  grid-template-columns: 125px minmax(135px,1fr) 125px minmax(135px,1fr) !important;
  gap: 7px 10px !important;
  align-items: center !important;
}
body:has(#contratacaoTable) .contratacao-actions-top{
  grid-column: 1 / -1 !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  padding: 0 0 10px 0 !important;
  margin: 0 0 8px 0 !important;
  border-bottom: 1px solid #e4edf4 !important;
}
body:has(#contratacaoTable) .contratacao-actions-top .btn{
  min-width: 118px !important;
  height: 36px !important;
  border-radius: 8px !important;
  padding: 7px 16px !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}
body:has(#contratacaoTable) .contratacao-form > .legacy-actions{
  display: none !important;
}
body:has(#contratacaoTable) .contratacao-form .emp-row input,
body:has(#contratacaoTable) .contratacao-form .emp-row select{
  height: 30px !important;
  font-size: 12px !important;
}
body:has(#contratacaoTable) .contratacao-form .emp-row label{
  font-size: 11px !important;
  line-height: 1.05 !important;
}
body:has(#contratacaoTable) .contratacao-form .emp-row.obs textarea{
  height: 64px !important;
  min-height: 64px !important;
}
body:has(#contratacaoTable) .contratacao-table-wrap{
  min-height: 575px !important;
  height: calc(100vh - 250px) !important;
}
@media(max-width: 1350px){
  body:has(#contratacaoTable) .contratacao-grid{ grid-template-columns: 1fr !important; }
  body:has(#contratacaoTable) .contratacao-table-wrap{ height: 440px !important; min-height: 420px !important; }
  body:has(#contratacaoTable) .contratacao-form{ grid-template-columns: 135px minmax(170px,1fr) 135px minmax(170px,1fr) !important; }
}
@media(max-width: 760px){
  body:has(#contratacaoTable) .contratacao-actions-top{ justify-content: stretch !important; }
  body:has(#contratacaoTable) .contratacao-actions-top .btn{ flex: 1 1 auto !important; min-width: 0 !important; }
  body:has(#contratacaoTable) .contratacao-form{ grid-template-columns: 1fr !important; }
}

/* PATCH V74 - Estoque > Compras: listbox mais legível */
.estoque-table-wrap{
  height:560px !important;
  min-height:560px !important;
  overflow:auto !important;
  background:#fff !important;
  border:1px solid #c9d5df !important;
  border-radius:10px !important;
}
.estoque-table-wrap #comprasTable{
  border-collapse:separate !important;
  border-spacing:0 !important;
  min-width:1180px !important;
  width:100% !important;
  table-layout:fixed !important;
  font-size:13px !important;
}
.estoque-table-wrap #comprasTable thead th{
  position:sticky !important;
  top:0 !important;
  z-index:5 !important;
  height:42px !important;
  padding:9px 10px !important;
  background:#dce8f5 !important;
  color:#001d3a !important;
  border-bottom:1px solid #9fb1c1 !important;
  white-space:nowrap !important;
  text-align:center !important;
}
.estoque-table-wrap #comprasTable tbody td{
  height:42px !important;
  padding:10px 12px !important;
  border-bottom:1px solid #edf2f6 !important;
  color:#00204a !important;
  vertical-align:middle !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.estoque-table-wrap #comprasTable tbody tr:nth-child(odd) td{background:#ffffff !important;}
.estoque-table-wrap #comprasTable tbody tr:nth-child(even) td{background:#f7fbff !important;}
.estoque-table-wrap #comprasTable tbody tr:hover td{background:#e8f3ff !important;cursor:pointer;}
.estoque-table-wrap #comprasTable tbody tr.selected td{background:#cfe6ff !important;}
.estoque-table-wrap #comprasTable th:nth-child(1),
.estoque-table-wrap #comprasTable td:nth-child(1){width:48px !important;text-align:center !important;}
.estoque-table-wrap #comprasTable th:nth-child(2),
.estoque-table-wrap #comprasTable td:nth-child(2){width:110px !important;text-align:center !important;}
.estoque-table-wrap #comprasTable th:nth-child(3),
.estoque-table-wrap #comprasTable td:nth-child(3){width:130px !important;}
.estoque-table-wrap #comprasTable th:nth-child(4),
.estoque-table-wrap #comprasTable td:nth-child(4){width:330px !important;}
.estoque-table-wrap #comprasTable th:nth-child(5),
.estoque-table-wrap #comprasTable td:nth-child(5){width:70px !important;text-align:center !important;}
.estoque-table-wrap #comprasTable th:nth-child(6),
.estoque-table-wrap #comprasTable td:nth-child(6){width:190px !important;}
.estoque-table-wrap #comprasTable th:nth-child(7),
.estoque-table-wrap #comprasTable td:nth-child(7){width:160px !important;}
.estoque-table-wrap #comprasTable th:nth-child(8),
.estoque-table-wrap #comprasTable td:nth-child(8){width:110px !important;text-align:center !important;}
.estoque-table-wrap #comprasTable th:nth-child(9),
.estoque-table-wrap #comprasTable td:nth-child(9){width:120px !important;text-align:right !important;}
.estoque-table-wrap #comprasTable input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  margin:0 !important;
  vertical-align:middle !important;
}
#formStatusMassa{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin-top:12px !important;
}
#formStatusMassa select{width:220px !important;min-width:220px !important;}
#formStatusMassa button{min-width:150px !important;height:38px !important;}

/* Ajuste profissional da tela Segurança > Cadastro de treinamentos */
.treinamento-layout{
  display:grid;
  grid-template-columns:minmax(310px,360px) minmax(620px,1fr);
  gap:18px;
  align-items:start;
}
.treino-form-panel{
  grid-column:1;
  grid-row:1;
  min-height:auto!important;
}
.treino-aso-panel{
  grid-column:2;
  grid-row:1;
  min-height:auto;
}
.treino-list-full{
  grid-column:1 / -1;
  grid-row:2;
}
.treino-form-panel,
.treino-aso-panel,
.treino-list-full{
  border-radius:16px;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.treino-form-panel form:first-child{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.treino-check-grid{
  max-height:260px!important;
}
.treino-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px!important;
}
.treino-actions .btn{
  min-width:118px;
  justify-content:center;
}
.treino-aso-panel h3,
.treino-section-head h3{
  margin:0;
  font-size:18px;
  color:#08243d;
}
.treino-aso-panel p,
.treino-section-head p{
  margin:4px 0 0;
  color:#64748b;
  font-size:13px;
}
.treino-aso-panel .treino-filter{
  display:grid!important;
  grid-template-columns:minmax(240px,1.2fr) minmax(180px,.8fr) 180px;
  gap:12px;
  align-items:end;
  margin-top:14px;
}
.treino-aso-panel .treino-filter .btn{
  height:42px;
  width:100%;
}
.treino-aso-panel .treino-table-wrap{
  max-height:240px!important;
  margin-top:14px;
}
.treino-list-full .treino-filter{
  display:grid!important;
  grid-template-columns:minmax(260px,420px) 120px;
  gap:12px;
  align-items:end;
  margin:14px 0;
}
.treino-list-full .treino-table-wrap{
  max-height:500px!important;
}
.treino-list-full .treino-table{
  min-width:980px;
}
.treino-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding-bottom:4px;
}
@media(max-width:1100px){
  .treinamento-layout{grid-template-columns:1fr!important;}
  .treino-form-panel,.treino-aso-panel,.treino-list-full{grid-column:1!important;grid-row:auto!important;}
  .treino-aso-panel .treino-filter,.treino-list-full .treino-filter{grid-template-columns:1fr!important;}
}

/* Ajustes Controle de Treinamentos - ASO */
.form-alert{border-radius:10px;padding:10px 12px;margin:0 0 12px;font-weight:700;font-size:13px;border:1px solid #cbd5e1;background:#f8fafc;color:#0f172a}
.form-alert.ok{background:#ecfdf5;border-color:#86efac;color:#166534}
.form-alert.erro{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.hint-line{display:block;margin:-2px 0 10px;color:#64748b;font-weight:600}
.upload-label{margin-top:8px!important;display:block}
.upload-label small{font-weight:700;color:#e67e22}
.upload-box{border:2px dashed #b6c7d6;border-radius:12px;background:#f8fbfd;padding:10px 12px;margin:4px 0 12px;display:block;min-height:62px}
.upload-box input[type=file]{display:block!important;width:100%;border:0!important;background:transparent!important;padding:2px 0!important;height:auto!important;min-height:30px;color:#0f172a}
.upload-box small{display:block;margin-top:4px;color:#64748b;font-weight:600;word-break:break-all}
.controle-dados-form .wide-action{margin-top:6px}
.controle-treino-table td{vertical-align:top}
.controle-treino-table-wrap{max-height:520px;overflow:auto}

/* Histórico de ASO no Controle de Treinamentos */
.aso-historico-box{margin-top:18px;border-top:1px solid #e5edf3;padding-top:14px}
.aso-historico-box>label{font-weight:800;text-transform:uppercase;font-size:12px;color:#0b2c44;display:block;margin-bottom:8px}
.aso-historico-wrap{max-height:180px;overflow:auto;border:1px solid #d9e5ee;border-radius:10px;background:#fff}
.aso-historico-table{min-width:520px;font-size:12px}
.aso-historico-table th{white-space:nowrap}
.aso-historico-table td{vertical-align:middle}
.empty-hint{padding:12px;border:1px dashed #b7c8d6;border-radius:10px;color:#607487;background:#f8fbfd;font-size:12px}
.desvios-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:14px}.desvio-card{background:#fff;border:1px solid #dbe4ee;border-radius:14px;padding:18px;box-shadow:0 8px 22px rgba(0,29,58,.08)}.desvio-card small{display:block;color:#607086;font-weight:800;text-transform:uppercase;font-size:12px}.desvio-card strong{font-size:34px;color:#0d2b45}.desvio-card.danger strong{color:#d63333}.sap-panel small{color:#607086;display:block;margin-top:6px}.filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}

/* ===== Notificações / sino ===== */
.notification-wrap{position:relative;display:inline-flex;align-items:center;margin-right:8px}
.bell-btn{position:relative;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;padding:9px 12px;cursor:pointer;font-weight:800}
.bell-btn:hover{background:rgba(255,255,255,.16)}
.bell-badge{position:absolute;top:-7px;right:-7px;background:#ef4444;color:#fff;border-radius:999px;min-width:20px;height:20px;font-size:12px;display:flex;align-items:center;justify-content:center;border:2px solid #06233a}
.notification-panel{display:none;position:absolute;right:0;top:44px;width:360px;max-height:460px;overflow:auto;background:#fff;border:1px solid #d8e2ee;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.22);z-index:9999;color:#0b2540;padding:10px}
.notification-panel.open{display:block}
.notification-title{font-weight:900;padding:10px;border-bottom:1px solid #e5edf5;margin-bottom:6px}
.notification-item{display:block;text-decoration:none;color:#0b2540;padding:11px;border-radius:12px;border-left:5px solid #0ea5e9;margin:6px 0;background:#f8fbfe}
.notification-item:hover{background:#eef6ff}
.notification-item strong{display:block;font-size:13px;margin-bottom:4px}
.notification-item small{display:block;color:#607086;line-height:1.3}
.notif-critico{border-left-color:#dc2626!important;background:#fff5f5!important}
.notif-alerta{border-left-color:#f59e0b!important;background:#fffbeb!important}
.notif-info{border-left-color:#0ea5e9!important}
.notification-empty{padding:16px;color:#64748b;font-size:13px}
.home-alert-panel{background:#fff;border:1px solid #dbe7f0;border-radius:18px;padding:16px;margin:16px 0;box-shadow:0 12px 30px rgba(11,37,64,.08)}
.home-alert-title{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:#0b2540}.home-alert-title small{color:#64748b;margin-left:auto}.home-alert-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.home-alert-item{text-decoration:none;color:#0b2540;border:1px solid #e3edf5;border-left:6px solid #0ea5e9;border-radius:14px;padding:12px;background:#fbfdff}.home-alert-item strong{display:block}.home-alert-item span{display:block;color:#607086;font-size:13px;margin-top:4px}
.painel-duas-colunas{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}@media(max-width:900px){.painel-duas-colunas{grid-template-columns:1fr}.notification-panel{right:-80px;width:300px}}

/* ===== Select pesquisável controlado ===== */
.searchable-select-wrap{position:relative;width:100%}.searchable-select-input{width:100%;box-sizing:border-box}.select-hidden-by-search{display:none!important}.searchable-select-list{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid #cbd5e1;border-radius:10px;max-height:220px;overflow:auto;z-index:10000;box-shadow:0 12px 30px rgba(0,0,0,.16);margin-top:4px}.searchable-select-list.open{display:block}.searchable-select-option{padding:9px 11px;cursor:pointer;color:#0b2540}.searchable-select-option:hover{background:#eef6ff}.searchable-select-input.invalid{border-color:#dc2626!important;background:#fff5f5!important}

/* Equipe Destaque */
.painel-chart-card{background:#fff;border:1px solid #d9e5ee;border-radius:14px;padding:18px;box-shadow:0 8px 22px rgba(8,35,55,.06)}
.bar-row{display:grid;grid-template-columns:90px 1fr 42px;gap:10px;align-items:center;margin:12px 0;font-weight:700;color:#0a2a3f}.bar{height:12px;background:#e8f0f5;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:#006b4a;border-radius:999px}.farol-vermelho .bar i,.painel-card.vermelho+.bar i{background:#d92727}.form-grid .span-2{grid-column:span 2}.select-hidden-by-search{display:none!important}.searchable-select-wrap{position:relative}.searchable-select-input.invalid{border-color:#d92727!important;box-shadow:0 0 0 2px rgba(217,39,39,.12)}.searchable-select-list{display:none;position:absolute;z-index:50;left:0;right:0;top:100%;background:#fff;border:1px solid #d9e5ee;border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.12);max-height:220px;overflow:auto}.searchable-select-list.open{display:block}.searchable-select-option{padding:9px 11px;cursor:pointer}.searchable-select-option:hover{background:#eef6f2}

/* Equipe Destaque - seleção múltipla por checkbox */
.checklist-box{border:1px solid #d6e0ea;border-radius:10px;background:#fff;max-height:220px;overflow:auto;padding:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 14px}
.check-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-size:13px;font-weight:600;color:#0b2b45;cursor:pointer}
.check-row:hover{background:#eef6f4}.check-row input{width:16px;height:16px;accent-color:#009b63}
/* Métricas de Desvios - metas mensais por cargo */
.metricas-head{max-width:1180px;margin-left:auto;margin-right:auto}.metricas-filter-panel,.metricas-grid,.metricas-metas-panel{max-width:1180px;margin-left:auto;margin-right:auto}.metricas-filters{grid-template-columns:1fr 1fr auto}.metricas-cards{grid-template-columns:repeat(4,minmax(180px,1fr))}.metricas-grid{grid-template-columns:repeat(3,minmax(260px,1fr))}.metricas-mini-table{min-width:0}.metricas-mini-table td{padding:10px}.muted-center{text-align:center;color:#6f7f8c!important;padding:26px!important}.metricas-metas-panel{border-top:4px solid #1f7ae0}.metas-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) 160px auto;gap:12px;align-items:end;margin-bottom:12px}.metas-table-wrap{max-height:330px}.metas-table{min-width:760px}.status-pill{display:inline-block;padding:6px 12px;border-radius:999px;font-weight:800;background:#d9f5e6;color:#087542}.status-pill.off{background:#f3f4f5;color:#697988}.actions-cell{white-space:nowrap}.mini-yellow{background:#ffc107;border-color:#ffc107;color:#071827;padding:7px 10px;border-radius:6px}.mini-red{background:#dc3545;border-color:#dc3545;color:#fff;padding:7px 10px;border-radius:6px}@media(max-width:900px){.metricas-filters,.metas-form{grid-template-columns:1fr}.metricas-cards,.metricas-grid{grid-template-columns:1fr}}


/* ===== HOME COPIADA DO DARK, ADAPTADA PARA TEMA CLARO V76 ===== */
.dash-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(21,54,79,.08)}
.dash-head h1{font-size:28px;margin:0;color:#071827}.dash-head p{margin:6px 0 0;color:var(--muted);font-size:14px}.cc-pill{background:#f4f9fc;border:1px solid #d8e7f0;border-radius:12px;padding:11px 14px;color:#0d2b45;font-size:13px;box-shadow:inset 0 1px 0 #fff}.cc-pill b{color:#006b4a}
.kpi-row{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:14px;margin-bottom:20px}.kpi-card{position:relative;overflow:hidden;background:#fff;border:1px solid #dbe7f0;border-radius:18px;padding:20px 18px;box-shadow:0 10px 24px rgba(15,47,70,.08);transition:.18s}.kpi-card:hover{transform:translateY(-2px);border-color:#8bd9bd;box-shadow:0 16px 32px rgba(0,120,80,.12)}.kpi-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#00a86b,#35c486,#0d2b45)}.kpi-card .kpi-top{display:flex;justify-content:space-between;align-items:center}.kpi-card .kpi-label{font-size:11px;letter-spacing:.45px;text-transform:uppercase;color:#526b80;font-weight:900}.kpi-card .kpi-ic{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;font-size:18px;color:#fff}.ic-green{background:#00a86b}.ic-amber{background:#f59e0b}.ic-red{background:#ef4444}.ic-blue{background:#1f7ae0}.ic-violet{background:#8b5cf6}.kpi-card .kpi-val{font-size:34px;font-weight:900;color:#09233b;margin:10px 0 3px;line-height:1}.kpi-card .kpi-sub{font-size:12px;color:#607487}.kpi-card .kpi-sub.up{color:#008b59;font-weight:800}.kpi-card .kpi-sub.down{color:#dc2626;font-weight:800}
.dash-grid{display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:16px}.panel{background:#fff;border:1px solid #dbe7f0;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(15,47,70,.08)}.panel-h{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:900;color:#09233b;margin:0 0 14px;letter-spacing:.1px}.panel-h .dot{width:8px;height:8px;border-radius:50%;background:#00a86b}.panel-h.warn .dot{background:#f59e0b}.alert-list{display:grid;gap:10px}.alert-row{display:flex;gap:10px;text-decoration:none;color:#0b2540;border:1px solid #e5edf5;border-left:5px solid #0ea5e9;background:#f8fbfe;border-radius:14px;padding:12px}.alert-row:hover{background:#eef8ff}.alert-row.lv-critico{border-left-color:#dc2626;background:#fff7f7}.alert-row.lv-alerta{border-left-color:#f59e0b;background:#fffbeb}.alert-row .ab{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#fff;border:1px solid #e8eef5}.alert-empty{color:#607487;background:#f8fbfd;border:1px dashed #cbd8e3;border-radius:14px;padding:18px}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick-item{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;text-align:center;text-decoration:none;color:#09233b;min-height:104px;border:1px solid #dbe7f0;border-radius:16px;background:linear-gradient(180deg,#ffffff,#f8fbfd);transition:.18s}.quick-item:hover{border-color:#00a86b;color:#006b4a;transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,120,80,.10)}.quick-item .qi{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#00a86b,#35c486);display:grid;place-items:center;color:#fff;font-size:19px;box-shadow:0 8px 18px rgba(0,168,107,.18)}.quick-item b{font-size:14px}.quick-item small{font-size:11px;color:#607487}.cal{user-select:none}.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:#09233b;font-weight:900;font-size:14px}.cal-nav{background:#fff;border:1px solid #dbe7f0;color:#0d2b45;border-radius:10px;width:30px;height:30px;cursor:pointer}.cal-nav:hover{background:#f1fbf7;border-color:#00a86b}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.cal-grid .dow{font-size:11px;color:#7a8fa2;font-weight:900;padding:4px 0}.cal-grid .day{font-size:13px;color:#0d2b45;padding:8px 0;border-radius:10px;background:#f8fbfd;border:1px solid transparent}.cal-grid .day.muted{color:#b0bfca;background:transparent}.cal-grid .day.today{background:#00a86b;color:#fff;font-weight:900;box-shadow:0 7px 16px rgba(0,168,107,.20)}.cal-grid .day.mark{background:#eefaf5;color:#006b4a;border-color:#bfe8d6;font-weight:800}@media(max-width:1180px){.kpi-row{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.dash-head{flex-direction:column;align-items:flex-start}.kpi-row,.quick-grid{grid-template-columns:1fr}}

/* PATCH HOME - menu completo + acesso rápido configurável mantendo tema claro */
.home-dashboard-grid{grid-template-columns:1.05fr .95fr .95fr;align-items:stretch}
.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.panel-title-row .panel-h{margin:0}
.btn.mini{padding:7px 10px;font-size:12px;border-radius:10px}
.home-quick-panel .quick-grid{max-height:360px;overflow:auto;padding-right:4px}
.home-all-modules{margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(21,54,79,.08)}
.section-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;border-bottom:1px solid #e4edf5;padding-bottom:12px}
.section-head-row h2{margin:0;color:#071827;font-size:22px}.section-head-row p{margin:4px 0 0;color:var(--muted);font-size:13px}
.home-all-modules .home-module-grid{margin-top:0}
.quick-config-overlay{position:fixed;inset:0;background:rgba(0,15,30,.36);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px}
.quick-config-overlay.open{display:flex}
.quick-config-modal{width:min(760px,96vw);background:#fff;border:1px solid #dbe7f0;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.25);padding:22px}
.quick-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;border-bottom:1px solid #e4edf5;padding-bottom:14px}
.quick-config-head h3{margin:0;color:#071827;font-size:22px}.quick-config-head p{margin:5px 0 0;color:#607487;font-size:13px}
.quick-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:330px;overflow:auto;padding:2px}
.quick-config-grid label{display:flex;align-items:center;gap:9px;background:#f8fbfd;border:1px solid #dbe7f0;border-radius:12px;padding:11px 12px;font-weight:800;color:#0d2b45;font-size:13px;cursor:pointer}
.quick-config-grid label:hover{border-color:#00a86b;background:#f1fbf7}.quick-config-grid input{accent-color:#00a86b}
.quick-config-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;border-top:1px solid #e4edf5;padding-top:14px}
@media(max-width:1180px){.home-dashboard-grid{grid-template-columns:1fr}.home-quick-panel .quick-grid{max-height:none}.quick-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.quick-config-grid{grid-template-columns:1fr}.quick-config-head,.quick-config-actions{flex-direction:column}.quick-config-actions .btn{width:100%}}

/* ===== HOME REFINADA: gráfico efetivo mensal + engrenagem acesso rápido ===== */
.home-kpi-row-enhanced{align-items:stretch;grid-template-columns:2.05fr repeat(4,1fr)}
.kpi-card-chart{min-height:172px;padding:18px 20px 14px;position:relative;overflow:hidden;border-top-color:#13b970!important;background:linear-gradient(180deg,#fff 0%,#fbfffd 100%)}
.kpi-card-chart:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 0%,rgba(0,170,100,.12),transparent 38%);pointer-events:none}
.home-area-chart{height:118px;margin-top:8px;position:relative;z-index:1}
.home-area-chart svg{width:100%;height:100%;overflow:visible;display:block}
.home-area-chart .chart-loading{font-size:12px;color:#6b7c93;padding-top:35px;text-align:center}
.home-area-chart .axis{stroke:#d8e4ef;stroke-width:1}
.home-area-chart .grid{stroke:#edf3f8;stroke-width:1}
.home-area-chart .area{fill:url(#homeEfetivoGradient)}
.home-area-chart .line{fill:none;stroke:#0bb36a;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 7px rgba(11,179,106,.22))}
.home-area-chart .dot{fill:#0bb36a;stroke:#fff;stroke-width:3;filter:drop-shadow(0 2px 4px rgba(0,0,0,.12))}
.home-area-chart .label{font-size:11px;fill:#0a2340;font-weight:800;text-anchor:middle}
.home-area-chart .month{font-size:11px;fill:#38506b;text-anchor:middle}
.home-area-chart .legend-dot{fill:#0bb36a}.home-area-chart .legend{font-size:11px;fill:#38506b}
.panel-title-row{position:relative}.quick-gear{position:absolute;right:4px;top:-6px;width:34px;height:34px;border-radius:10px;border:1px solid #d6e5f0;background:#fff;color:#0b2a43;font-size:18px;font-weight:900;box-shadow:0 8px 20px rgba(2,32,55,.10);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.16s ease}.quick-gear:hover{transform:translateY(-1px);border-color:#10b56b;box-shadow:0 10px 24px rgba(16,181,107,.18)}
.quick-config-overlay{position:fixed;inset:0;background:rgba(5,22,38,.22);display:none;align-items:flex-start;justify-content:center;z-index:2000;padding-top:110px}.quick-config-overlay.open{display:flex}.quick-config-modal{width:360px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #dce8f2;border-radius:18px;box-shadow:0 22px 70px rgba(5,24,45,.22);padding:18px}.quick-config-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #eef3f7;padding-bottom:12px;margin-bottom:12px}.quick-config-head h3{margin:0 0 4px;font-size:16px;color:#071c32}.quick-config-head p{margin:0;font-size:12px;color:#60758c}.quick-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;max-height:330px;overflow:auto;padding:4px 2px}.quick-config-grid label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#17334e;padding:6px;border-radius:8px}.quick-config-grid label:hover{background:#f5faf7}.quick-config-grid input{accent-color:#10b56b}.quick-config-actions{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #eef3f7;margin-top:14px;padding-top:14px}.quick-config-actions .btn{white-space:nowrap}
@media(max-width:1100px){.home-kpi-row-enhanced{grid-template-columns:1fr 1fr}.kpi-card-chart{grid-column:1/-1}.home-area-chart{height:150px}}
@media(max-width:700px){.home-kpi-row-enhanced{grid-template-columns:1fr}.quick-config-grid{grid-template-columns:1fr}.quick-config-overlay{padding-top:60px}}

/* ===== Painel Gerencial - Equipe Destaque BI ===== */
.bi-panel{background:#fff;border:1px solid #d9e5ef;border-radius:18px;padding:18px;box-shadow:0 18px 45px rgba(12,34,54,.08);}
.bi-titlebar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px;border-bottom:1px solid #e6eef5;padding-bottom:14px}
.bi-titlebar h2{font-size:24px;margin:0;color:#061d33}.bi-titlebar p{margin:4px 0 0;color:#60758a}.bi-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.bi-filter label{font-size:11px;font-weight:800;color:#23415e;text-transform:uppercase}.bi-filter select{display:block;min-width:120px;margin-top:4px;border:1px solid #d7e3ee;border-radius:10px;background:#fff;padding:10px 12px;color:#0b2540}.bi-selected{background:#f4fbf8;border:1px dashed #a8dcc7;border-radius:12px;padding:10px 12px;color:#087245;font-weight:700;margin-bottom:14px}
.bi-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin-bottom:14px}.bi-kpi{border:1px solid #dbe8f2;background:linear-gradient(180deg,#fff,#f8fbfd);border-radius:16px;padding:14px;text-align:left;box-shadow:0 12px 28px rgba(14,44,70,.08);cursor:pointer;position:relative;overflow:hidden}.bi-kpi:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:#0ea5e9}.bi-kpi.verde:before{background:#10b981}.bi-kpi.vermelho:before{background:#ef4444}.bi-kpi.laranja:before{background:#f59e0b}.bi-kpi.roxo:before{background:#8b5cf6}.bi-kpi span{display:block;text-transform:uppercase;font-size:11px;color:#486581;font-weight:900}.bi-kpi strong{display:block;font-size:30px;color:#031a31;margin:8px 0 2px}.bi-kpi small{color:#6b8194}.bi-grid{display:grid;gap:14px;margin-bottom:14px}.bi-grid-top{grid-template-columns:2fr 1fr 1fr}.bi-grid-mid{grid-template-columns:1fr 1fr 1fr}.bi-grid-bottom{grid-template-columns:1.2fr 1fr}.bi-card{border:1px solid #dbe8f2;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbfd);padding:14px;box-shadow:0 14px 32px rgba(10,42,66,.07);min-height:160px}.bi-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.bi-card-head h3{margin:0;font-size:16px;color:#071f36}.bi-card-head span{font-size:12px;color:#6b8194}.gauge-card,.donut-card{text-align:center}.gauge-wrap{position:relative;min-height:170px}.gauge-text{position:absolute;left:0;right:0;top:78px;text-align:center}.gauge-text b{display:block;font-size:34px;color:#062341}.gauge-text span{font-size:12px;color:#0b8f60;font-weight:900}.farol-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:8px}.chip{border:1px solid #dbe8f2;background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;cursor:pointer}.chip.verde{color:#078f5b}.chip.amarelo{color:#a66c00}.chip.vermelho{color:#c42020}.rank-list{display:flex;flex-direction:column;gap:8px}.rank-row{display:grid;grid-template-columns:1.25fr 1.7fr 60px;align-items:center;gap:10px;width:100%;border:1px solid #e1ebf3;background:#fff;border-radius:12px;padding:9px 10px;cursor:pointer;text-align:left}.rank-row:hover{border-color:#0dbb7f;box-shadow:0 8px 20px rgba(16,185,129,.12)}.rank-row span b{display:block;color:#0a233c;font-size:13px}.rank-row span small{display:block;color:#7890a5;font-size:11px}.rank-row i{height:8px;background:#e8f0f6;border-radius:99px;overflow:hidden}.rank-row i em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#10b981,#22c55e)}.rank-row strong{text-align:right;color:#071f36}.alert-card .rank-row i em{background:linear-gradient(90deg,#ef4444,#f59e0b)}.bi-table-wrap{overflow:auto;border:1px solid #e1ebf3;border-radius:12px}.bi-table-wrap.detail{max-height:430px}.bi-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}.bi-table th{position:sticky;top:0;background:#ecf5fc;color:#0a2947;text-transform:uppercase;font-size:11px;padding:10px;border-bottom:1px solid #cbdbe8;z-index:1}.bi-table td{padding:10px;border-bottom:1px solid #eef4f8;color:#0b2540;font-size:12px}.bi-table tbody tr{cursor:pointer}.bi-table tbody tr:hover{background:#f2fff8}.badge-farol{display:inline-block;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.badge-farol.verde{background:#d9fbe8;color:#07804f}.badge-farol.amarelo{background:#fff1c7;color:#9a6800}.badge-farol.vermelho{background:#ffe0e0;color:#c92222}.bi-search{border:1px solid #d7e3ee;border-radius:10px;padding:10px 12px;min-width:320px}.empty-bi{padding:16px;color:#6b8194;background:#f6fafc;border-radius:12px;text-align:center}
@media(max-width:1200px){.bi-kpi-grid{grid-template-columns:repeat(2,1fr)}.bi-grid-top,.bi-grid-mid,.bi-grid-bottom{grid-template-columns:1fr}.bi-titlebar{flex-direction:column}.bi-search{min-width:100%}}

/* ===== Painel Gerencial - dashboards PowerBI para todas as guias ===== */
.all-bi-panel{margin:0 0 18px 0;border-radius:20px;background:linear-gradient(180deg,#ffffff,#f8fbfd);border:1px solid #dbe8f2;box-shadow:0 18px 48px rgba(9,35,58,.08);}
.allbi-titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;border-bottom:1px solid #e4edf5;padding-bottom:14px}.allbi-titlebar h2{margin:0;font-size:26px;color:#061b30}.allbi-titlebar p{margin:4px 0 0;color:#6c8298}.allbi-filter-pill{border:1px solid #d8e5ef;border-radius:999px;padding:9px 14px;background:#fff;color:#0a2947;font-weight:900;white-space:nowrap}.allbi-kpis{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin-bottom:16px}.allbi-kpi{position:relative;overflow:hidden;border:1px solid #dbe8f2;border-radius:18px;background:#fff;padding:15px 16px;box-shadow:0 12px 30px rgba(15,43,70,.07);min-height:112px}.allbi-kpi:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:#0ea5e9}.allbi-kpi.verde:before{background:#10b981}.allbi-kpi.amarelo:before{background:#f59e0b}.allbi-kpi.vermelho:before{background:#ef4444}.allbi-kpi.roxo:before{background:#8b5cf6}.allbi-kpi span{display:block;text-transform:uppercase;font-size:11px;color:#526c83;font-weight:900;letter-spacing:.02em}.allbi-kpi strong{display:block;font-size:30px;color:#061b30;margin:8px 0 4px}.allbi-kpi small{color:#71869a}.allbi-kpi .mini-canvas{height:24px;margin-top:7px}.allbi-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px;margin-bottom:14px}.allbi-grid.two{grid-template-columns:1.4fr 1fr}.allbi-card{border:1px solid #dbe8f2;border-radius:18px;background:#fff;padding:14px;box-shadow:0 14px 34px rgba(8,39,64,.07);min-height:210px}.allbi-card h3{margin:0 0 10px;color:#061b30;font-size:16px}.allbi-card .muted{color:#6b8194;font-size:12px}.allbi-canvas{width:100%;height:220px}.allbi-donut-wrap{display:flex;align-items:center;gap:16px}.allbi-legend{display:flex;flex-direction:column;gap:10px;min-width:150px}.allbi-legend-row{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#0a2947;font-weight:800}.allbi-dot{width:11px;height:11px;border-radius:50%;display:inline-block;margin-right:8px}.allbi-rank{display:flex;flex-direction:column;gap:9px}.allbi-rank-row{display:grid;grid-template-columns:1.3fr 1.4fr 58px;gap:10px;align-items:center;border:1px solid #e2edf5;border-radius:13px;padding:9px 10px;background:#fbfdff;cursor:pointer}.allbi-rank-row:hover{border-color:#10b981;box-shadow:0 8px 24px rgba(16,185,129,.14)}.allbi-rank-row b{color:#0a2947}.allbi-rank-row small{display:block;color:#6c8298}.allbi-bar{height:8px;background:#e8f1f7;border-radius:999px;overflow:hidden}.allbi-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#10b981,#22c55e)}.allbi-alerts{display:flex;flex-direction:column;gap:10px}.allbi-alert{display:flex;align-items:center;gap:10px;border:1px solid #f2d2d2;background:#fff7f7;border-radius:14px;padding:11px;color:#7f1d1d}.allbi-alert.warn{border-color:#f5dfaa;background:#fffaf0;color:#764900}.allbi-alert.ok{border-color:#bcebd4;background:#f1fff7;color:#076b43}.allbi-table-wrap{overflow:auto;border:1px solid #e1ebf3;border-radius:14px;max-height:360px}.allbi-table{width:100%;border-collapse:separate;border-spacing:0}.allbi-table th{position:sticky;top:0;background:#edf6fc;color:#0a2947;text-transform:uppercase;font-size:11px;padding:10px;border-bottom:1px solid #cadbe8}.allbi-table td{padding:9px 10px;border-bottom:1px solid #eef4f8;font-size:12px;color:#0b2540}.allbi-chip{border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900}.allbi-chip.green{background:#ddfbea;color:#08714a}.allbi-chip.yellow{background:#fff2cc;color:#805600}.allbi-chip.red{background:#ffe1e1;color:#a81b1b}.allbi-access{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.allbi-access a{border:1px solid #dbe8f2;border-radius:14px;background:#fbfdff;padding:16px 10px;text-align:center;text-decoration:none;color:#0a2947;font-weight:900}.allbi-access a span{display:block;font-size:28px;margin-bottom:6px}.allbi-access a:hover{border-color:#10b981;box-shadow:0 12px 28px rgba(16,185,129,.16);transform:translateY(-1px)}
@media(max-width:1200px){.allbi-kpis{grid-template-columns:repeat(2,1fr)}.allbi-grid,.allbi-grid.two{grid-template-columns:1fr}.allbi-access{grid-template-columns:repeat(2,1fr)}}

/* ===== PATCH UX - Menu lateral e Acesso Rápido com sub-abas ===== */
body{--side-w:248px;}
.app-sidebar{position:fixed;left:0;top:72px;bottom:0;width:var(--side-w);background:linear-gradient(180deg,#ffffff,#f7fbfd);border-right:1px solid #d9e6ef;box-shadow:8px 0 28px rgba(21,54,79,.08);z-index:4;padding:18px 14px;overflow:auto;transition:.2s ease;}
.sidebar-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#7890a5;font-weight:900;margin:0 8px 12px;}
.side-nav{display:flex;flex-direction:column;gap:7px;}
.side-nav a{display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:12px;color:#17334e;text-decoration:none;font-weight:800;font-size:13px;border:1px solid transparent;transition:.16s ease;}
.side-nav a:hover{background:#effaf5;border-color:#bce9d5;color:#006b4a;transform:translateX(2px);}
.side-nav a:first-child{background:linear-gradient(90deg,#eafaf3,#ffffff);border-color:#bce9d5;color:#006b4a;}
.side-foot{position:sticky;top:100%;margin-top:18px;border:1px solid #dbe7f0;border-radius:14px;background:#fff;padding:12px;color:#0d2b45;display:flex;flex-direction:column;gap:3px;box-shadow:0 6px 18px rgba(21,54,79,.06);}
.side-foot small{color:#6f8497;}
.side-toggle{position:fixed;left:206px;top:84px;z-index:6;width:36px;height:36px;border:1px solid #dbe7f0;background:#fff;color:#0d2b45;border-radius:10px;box-shadow:0 8px 20px rgba(21,54,79,.12);cursor:pointer;font-weight:900;}
body:has(.app-sidebar) .shell{max-width:calc(100vw - var(--side-w) - 36px);margin-left:var(--side-w);margin-right:0;padding-left:26px;padding-right:26px;}
body.sidebar-collapsed .app-sidebar{transform:translateX(calc(-1 * var(--side-w)));}
body.sidebar-collapsed .side-toggle{left:14px;}
body.sidebar-collapsed:has(.app-sidebar) .shell{max-width:1380px;margin-left:auto;margin-right:auto;}
.quick-gear{width:36px;height:36px;border:1px solid #bfe8d6;background:#fff;color:#006b4a;border-radius:12px;display:grid;place-items:center;font-size:18px;box-shadow:0 8px 22px rgba(0,168,107,.12);cursor:pointer;}
.quick-gear:hover{background:#eafaf3;transform:rotate(18deg);}
.quick-config-overlay{position:fixed;inset:0;background:rgba(8,26,42,.22);backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px;}
.quick-config-overlay.open{display:flex;}
.quick-config-modal.quick-config-modal-wide{width:min(860px,96vw);background:#fff;border:1px solid #dbe7f0;border-radius:22px;box-shadow:0 28px 80px rgba(7,24,39,.28);padding:22px;}
.quick-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #edf3f7;}
.quick-config-head h3{margin:0;color:#071827;font-size:22px;}.quick-config-head p{margin:6px 0 0;color:#607487;font-size:13px;}
.quick-close-dark,.quick-reset{color:#0d2b45!important;border-color:#dbe7f0!important;background:#fff!important;}
.quick-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.quick-tab{border:1px solid #dbe7f0;background:#f8fbfd;color:#17334e;border-radius:999px;padding:9px 14px;font-weight:900;cursor:pointer;}
.quick-tab.active,.quick-tab:hover{background:#00a86b;color:#fff;border-color:#00a86b;box-shadow:0 8px 18px rgba(0,168,107,.16);}
.quick-tab-panel{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:360px;overflow:auto;padding:4px;}
.quick-tab-panel.active{display:grid;}
.quick-option{display:flex!important;align-items:center!important;gap:12px!important;background:linear-gradient(180deg,#fff,#f8fbfd)!important;border:1px solid #dbe7f0!important;border-radius:15px!important;padding:12px!important;margin:0!important;text-transform:none!important;color:#0d2b45!important;font-size:13px!important;font-weight:800!important;cursor:pointer;}
.quick-option:hover{border-color:#00a86b!important;background:#f1fbf7!important;}
.quick-option.disabled{opacity:.45;cursor:not-allowed;}
.quick-option input{width:18px!important;height:18px!important;accent-color:#00a86b;flex:0 0 auto;}
.qo-ico{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,#006b4a,#18c987);display:grid;place-items:center;color:#fff;font-size:18px;box-shadow:0 8px 18px rgba(0,168,107,.16);flex:0 0 auto;}
.quick-option b{display:block;font-size:14px;}.quick-option small{display:block;color:#6b8194;font-size:12px;margin-top:2px;font-weight:600;}
.quick-config-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #edf3f7;margin-top:16px;padding-top:16px;}
@media(max-width:1100px){.app-sidebar{transform:translateX(calc(-1 * var(--side-w)));}.side-toggle{left:14px}body:has(.app-sidebar) .shell{max-width:1380px;margin-left:auto;margin-right:auto}.quick-tab-panel.active{grid-template-columns:1fr}}
@media(max-width:640px){.quick-config-head,.quick-config-actions{flex-direction:column}.quick-config-actions .btn{width:100%}.quick-tabs{display:grid;grid-template-columns:1fr 1fr}.quick-tab{width:100%}}

/* Fotos dos funcionários - cadastro e visualizar */
.foto-row{align-items:center;}
.foto-preview-wrap{display:flex;align-items:center;gap:12px;}
.foto-preview{display:none;width:92px;height:92px;object-fit:cover;border-radius:16px;border:1px solid #cbd5e1;background:#f8fafc;box-shadow:0 8px 20px rgba(15,23,42,.12)}
.func-photo-card{display:flex;align-items:center;gap:18px;padding:14px;margin:0 0 14px 0;border:1px solid #dbe7ef;border-radius:18px;background:linear-gradient(135deg,#ffffff,#f7fbfa);box-shadow:0 10px 24px rgba(15,23,42,.06)}
.func-photo-box{width:116px;height:116px;border-radius:20px;background:#eef5f4;border:1px dashed #9fb9b5;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;}
.func-photo-box:empty:before{content:'Sem foto';color:#64748b;font-weight:700;font-size:12px;}
.func-photo-box img{display:none;width:100%;height:100%;object-fit:cover;}
.func-photo-info{display:flex;flex-direction:column;gap:7px;min-width:0;}
.func-photo-info strong{font-size:14px;color:#082f49;}
.func-photo-info span{font-size:12px;color:#475569;}
.func-photo-info input[type=file]{max-width:360px;}
.func-photo-info small{font-size:11px;color:#64748b;}
@media(max-width:900px){.func-photo-card{flex-direction:column;align-items:flex-start}.func-photo-box{width:96px;height:96px}}
.inline-func-photo{margin-top:8px;display:flex;align-items:center;gap:8px;font-size:11px;color:#475569;}
.inline-func-photo img{display:none;width:42px;height:42px;border-radius:12px;object-fit:cover;border:1px solid #dbe7ef;background:#f8fafc;}

/* ===== PATCH GLOBAL RH/FUNCIONÁRIOS - FOTO + HARMONIZAÇÃO ===== */
/* A rotina antiga de select pesquisável escondia selects e quebrava formulários; garante fallback visual. */
select.select-hidden-by-search{display:block!important;position:static!important;opacity:1!important;width:100%!important;height:34px!important;}
.searchable-select-wrap > select.select-hidden-by-search + *{display:none!important;}
.searchable-select-wrap{display:contents!important;}
.searchable-select-input,.searchable-select-list{display:none!important;}

/* Layout padrão das telas que exibem ficha do funcionário */
.visualizar-grid,.contratacao-grid,.coord-escala-page,.ferias-page,.controle-treino-layout{
  width:min(100%,1680px); margin:0 auto 26px auto; box-sizing:border-box;
}
.visualizar-grid,.contratacao-grid{display:grid!important;grid-template-columns:minmax(420px,36%) minmax(720px,1fr)!important;gap:18px!important;align-items:start!important;}
.legacy-panel,.sap-panel,.ferias-card{border-radius:14px!important;border:1px solid #dce8f0!important;box-shadow:0 10px 26px rgba(15,23,42,.06)!important;background:#fff!important;box-sizing:border-box!important;min-width:0!important;}
.form-panel{overflow:visible!important;}
.visual-table-wrap,.list-panel .visual-table-wrap,.ferias-table-modern-wrap,.controle-treino-table-wrap{border-radius:12px;border:1px solid #dce8f0;overflow:auto!important;background:#fff;}
.visual-table,.erp-table{min-width:100%;border-collapse:separate;border-spacing:0;font-size:12px!important;}
.visual-table th,.erp-table th{background:#d9e8f4!important;color:#05233f!important;font-weight:800!important;padding:9px 10px!important;white-space:nowrap!important;}
.visual-table td,.erp-table td{padding:8px 10px!important;white-space:nowrap!important;vertical-align:middle!important;}
.visual-table tr.selected,.erp-table tr.selected{background:#dbeafe!important;}

/* Formulário antigo em emp-row agora fica em pares harmonizados, sem encavalar. */
.employee-form{display:grid!important;grid-template-columns:repeat(4,minmax(150px,1fr))!important;gap:12px 16px!important;align-items:end!important;}
.employee-form .emp-row{display:contents!important;}
.employee-form .emp-row label,
.employee-form label{font-size:11px!important;font-weight:800!important;color:#001d3a!important;text-transform:uppercase!important;letter-spacing:.01em!important;margin:0 0 4px 0!important;white-space:normal!important;line-height:1.25!important;}
.employee-form .emp-row input,.employee-form .emp-row select,.employee-form .emp-row textarea,
.employee-form input,.employee-form select,.employee-form textarea,
.field input,.field select,.field textarea,.field-row input,.field-row select,.field-row textarea{
  width:100%!important;min-width:0!important;box-sizing:border-box!important;height:36px!important;border:1px solid #c9d9e6!important;border-radius:8px!important;background:#fff!important;padding:7px 9px!important;font-size:12px!important;color:#061f38!important;
}
.employee-form textarea,.employee-form .emp-row.obs textarea{height:86px!important;min-height:86px!important;resize:vertical!important;}
.employee-form .emp-row.obs label{grid-column:1 / -1!important;}
.employee-form .emp-row.obs textarea{grid-column:1 / -1!important;}
.employee-form .legacy-actions,.employee-form .visual-actions{grid-column:1 / -1!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;gap:10px!important;margin-top:8px!important;align-items:center!important;}
.employee-form .btn,.legacy-actions .btn{height:38px!important;border-radius:8px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important;min-width:0!important;}

/* Cartão de foto reutilizável */
.func-photo-card.employee-photo-card,.func-photo-card{grid-column:1 / -1!important;display:grid!important;grid-template-columns:118px minmax(220px,1fr)!important;gap:16px!important;align-items:center!important;margin:0 0 14px 0!important;padding:14px!important;border:1px solid #dce8f0!important;border-radius:16px!important;background:linear-gradient(135deg,#ffffff,#f7fbfa)!important;box-shadow:0 8px 20px rgba(15,23,42,.05)!important;}
.compact-photo-card{max-width:620px!important;}
.func-photo-box{width:106px!important;height:106px!important;border-radius:18px!important;background:#eef5f4!important;border:1px dashed #9fb9b5!important;display:grid!important;place-items:center!important;overflow:hidden!important;position:relative!important;}
.func-photo-box:not(.has-photo)::after{content:'Sem foto';font-size:11px;font-weight:800;color:#64748b;position:absolute;}
.func-photo-box img{width:100%!important;height:100%!important;object-fit:cover!important;display:none;position:relative;z-index:1;}
.func-photo-box img[src]{display:block!important;}
.func-photo-info{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important;}
.func-photo-info strong{font-size:14px!important;color:#082f49!important;}
.func-photo-info span,.func-photo-info small{font-size:12px!important;color:#526b80!important;line-height:1.35!important;}
.func-photo-info input[type=file]{width:100%!important;max-width:420px!important;height:auto!important;padding:7px!important;background:#fff!important;}

/* Férias */
.ferias-page{display:grid!important;grid-template-columns:minmax(430px,42%) minmax(620px,1fr)!important;gap:18px!important;align-items:start!important;}
.ferias-form-modern{display:block!important;}
.ferias-form-grid-modern{display:grid!important;grid-template-columns:repeat(4,minmax(140px,1fr))!important;gap:12px 14px!important;}
.ferias-form-grid-modern .span2{grid-column:span 2!important}.ferias-form-grid-modern .span3{grid-column:span 3!important}
.ferias-period-grid-modern{display:grid!important;grid-template-columns:repeat(3,minmax(160px,1fr))!important;gap:12px!important;}
.period-card{display:flex!important;flex-direction:column!important;gap:7px!important;padding:12px!important;border:1px solid #dce8f0!important;border-radius:12px!important;background:#f8fbfd!important;}
.ferias-actions-modern{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:10px!important;}

/* Coordenação escala */
.coord-escala-page{display:grid!important;grid-template-columns:minmax(430px,38%) minmax(740px,1fr)!important;gap:18px!important;align-items:start!important;}
.coord-fields-v54{display:grid!important;grid-template-columns:repeat(4,minmax(140px,1fr))!important;gap:12px 14px!important;}
.coord-fields-v54 .field-row{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;}
.coord-fields-v54 .obs-field{grid-column:1 / -1!important;}
.coord-actions-v54{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:10px!important;}
.coord-form-v54 .employee-photo-card{margin-bottom:16px!important;}

/* Segurança controle de treinamentos */
.controle-treino-layout{display:grid!important;grid-template-columns:minmax(620px,1fr) minmax(340px,420px)!important;gap:18px!important;align-items:start!important;}
.controle-dados-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px 12px!important;}
.controle-dados-form .employee-photo-card,.controle-dados-form .upload-label,.controle-dados-form .upload-box,.controle-dados-form .wide-action,.controle-dados-form .form-alert,.controle-dados-form .hint-line{grid-column:1 / -1!important;}
.controle-dados-form label{font-size:11px!important;font-weight:800!important;text-transform:uppercase!important;color:#001d3a!important;}
.controle-dados-form input{height:36px!important;border:1px solid #c9d9e6!important;border-radius:8px!important;padding:7px 9px!important;box-sizing:border-box!important;width:100%!important;}

/* Fotos inline em qualquer select de funcionário */
.inline-func-photo{margin-top:8px!important;display:flex!important;align-items:center!important;gap:9px!important;padding:8px!important;border:1px solid #dce8f0!important;border-radius:12px!important;background:#f8fbfd!important;}
.inline-func-photo img{display:none;width:44px!important;height:44px!important;border-radius:12px!important;object-fit:cover!important;border:1px solid #dbe7ef!important;background:#fff!important;}
.inline-func-photo span{font-size:12px!important;color:#475569!important;font-weight:700!important;}

@media(max-width:1350px){
  .visualizar-grid,.contratacao-grid,.coord-escala-page,.ferias-page,.controle-treino-layout{grid-template-columns:1fr!important;}
  .visual-table-wrap,.list-panel .visual-table-wrap,.ferias-table-modern-wrap{height:420px!important;}
}
@media(max-width:900px){
  .employee-form,.ferias-form-grid-modern,.coord-fields-v54{grid-template-columns:1fr!important;}
  .ferias-period-grid-modern{grid-template-columns:1fr!important;}
  .func-photo-card.employee-photo-card,.func-photo-card{grid-template-columns:92px 1fr!important;}
  .func-photo-box{width:86px!important;height:86px!important;}
}

/* QR fixo funcionário/ferramenta e tela mobile do ferramenteiro */
.func-qr-box,.ferr-qr-box{border:1px dashed #b8c2cc;border-radius:12px;padding:10px;background:#fff;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:120px;text-align:center}
.func-qr-box img,.ferr-qr-box img{width:110px;height:110px;object-fit:contain;display:block}.func-qr-box small,.ferr-qr-box small{font-size:10px;word-break:break-all;color:#425466}.mini-qr{width:56px;height:56px;object-fit:contain}.inline-func-qr{display:block;font-size:11px;color:#425466;margin-top:3px}.ferr-mobile-panel{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:18px;margin-bottom:18px}.ferr-mobile-form,.ferr-help{background:#fff;border:1px solid #dfe6ee;border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.toggle-actions{display:flex;gap:10px;margin-bottom:12px}.toggle-actions label{flex:1;border:1px solid #dfe6ee;border-radius:12px;padding:12px;background:#f8fafc;font-weight:700}.scan-card{margin-bottom:12px}.scan-card label{font-weight:700;display:block;margin-bottom:6px}.scan-card input,.scan-card textarea{width:100%;font-size:17px;padding:14px;border-radius:12px;border:1px solid #ccd6e0}.ferr-submit{width:100%;font-size:18px;padding:14px}.alert.ok{background:#e8fff1;color:#166534;border-color:#b7f7ca}@media(max-width:760px){.ferr-mobile-panel{grid-template-columns:1fr}.ferr-help{order:-1}.scan-card input,.scan-card textarea{font-size:18px;padding:16px}.toggle-actions{position:sticky;top:0;background:#fff;z-index:2;padding:8px 0}.visual-table{font-size:12px}.mini-qr{width:46px;height:46px}.app-sidebar{display:none}.shell{padding-left:12px!important;padding-right:12px!important}.legacy-head{gap:8px;align-items:flex-start}.legacy-head h1{font-size:22px}}
.scan-btn{margin-bottom:6px;width:100%}.qr-dialog{border:0;border-radius:18px;padding:14px;max-width:96vw}.qr-dialog video{width:min(520px,88vw);border-radius:12px;background:#111}

/* PATCH V79 - Painel Gerencial Ferramentaria estilo Power BI */
.allbi-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px;padding:12px;border:1px solid #dbe8f2;border-radius:16px;background:linear-gradient(180deg,#ffffff,#f7fbfe);box-shadow:0 10px 26px rgba(8,39,64,.06)}
.allbi-search-input,.allbi-filters select{border:1px solid #d6e4ef;border-radius:12px;background:#fff;padding:10px 12px;color:#0a2947;font-weight:800;min-height:40px}
.allbi-search-input{min-width:360px;flex:1}
.ferr-filters .btn-secondary{min-height:40px;border-radius:12px}
@media(max-width:760px){.allbi-search-input,.allbi-filters select,.ferr-filters .btn-secondary{width:100%;min-width:0}.allbi-titlebar{flex-direction:column}.allbi-kpis{grid-template-columns:1fr}.allbi-grid,.allbi-grid.two{grid-template-columns:1fr}.allbi-card{min-height:auto}.allbi-table-wrap{max-height:420px}}

/* PATCH V81 - Filtro global de mês/ano em todas as guias do Painel Gerencial */
.painel-global-filter{display:grid;grid-template-columns:1fr 230px 140px auto;gap:12px;align-items:end;background:#fff;border:1px solid #dbe8f3;border-radius:18px;padding:14px 16px;margin:0 0 14px 0;box-shadow:0 10px 25px rgba(15,35,55,.07)}
.painel-global-filter .pgf-title{display:flex;flex-direction:column;gap:3px;color:#001d3a}
.painel-global-filter .pgf-title strong{font-size:15px;font-weight:900}
.painel-global-filter .pgf-title span{font-size:12px;color:#5f748a;font-weight:700}
.painel-global-filter label{display:flex;flex-direction:column;gap:6px;margin:0;font-size:12px;font-weight:900;color:#284156;text-transform:uppercase;letter-spacing:.03em}
.painel-global-filter select{height:42px;border:1px solid #cfe0ee;border-radius:12px;background:#f8fbfd;padding:0 12px;font-weight:900;color:#001d3a;min-width:0}
.painel-global-filter .btn{height:42px;border-radius:12px;white-space:nowrap;font-weight:900}
@media(max-width:1000px){.painel-global-filter{grid-template-columns:1fr 1fr}.painel-global-filter .pgf-title{grid-column:1/-1}.painel-global-filter .btn{grid-column:1/-1;width:100%}}
@media(max-width:620px){.painel-global-filter{grid-template-columns:1fr}.painel-global-filter .pgf-title,.painel-global-filter .btn{grid-column:auto}}
/* V86 - código de barras e otimização visual */
.mini-barcode{width:170px;max-width:100%;height:58px;object-fit:contain;background:#fff;border:1px solid #d8e2ec;border-radius:6px;padding:4px}
.ferr-qr-box img,.func-code-box img{width:220px;max-width:100%;height:auto;object-fit:contain;background:#fff;border:1px solid #d8e2ec;border-radius:8px;padding:6px}
.func-photo-code-wrap{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
@media (max-width: 700px){.mini-barcode{width:150px}.ferr-qr-box img{width:190px}}

.identity-column{display:flex;flex-direction:column;gap:12px;width:320px;flex-shrink:0}
.func-photo-card{display:flex;gap:18px;align-items:flex-start}
.func-photo-box{width:220px;height:220px;border:1px solid #d9e2ea;border-radius:10px;overflow:hidden}
.func-photo-box img{width:100%;height:100%;object-fit:cover}
.barcode-card{border:1px solid #d9e2ea;border-radius:10px;padding:10px;background:#fff;text-align:center}
.barcode-card img{width:280px;max-width:100%;height:90px;object-fit:contain}
.barcode-card small{display:block;margin-top:8px}

/* V88 - correção real de layout do código de barras */
.visualizar-grid{grid-template-columns:minmax(420px,34%) minmax(760px,1fr)!important;gap:18px!important;align-items:start!important;}
.visualizar-grid .form-panel .employee-form{display:grid!important;grid-template-columns:130px minmax(180px,1fr) 130px minmax(180px,1fr)!important;gap:10px 14px!important;align-items:end!important;}
.visualizar-grid .employee-form .func-photo-card{grid-column:1/-1!important;display:grid!important;grid-template-columns:360px minmax(280px,1fr)!important;gap:18px!important;align-items:start!important;border:1px solid #cfe0ee;border-radius:14px;padding:14px;background:#fbfdff;margin-bottom:8px;}
.identity-column{width:340px!important;display:flex!important;flex-direction:column!important;gap:12px!important;}
.func-photo-box{width:180px!important;height:180px!important;border:1px dashed #9db4ca!important;border-radius:14px!important;background:#f8fbfd!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;}
.func-photo-box img{width:100%!important;height:100%!important;object-fit:cover!important;}
.barcode-card{width:330px!important;border:1px dashed #16a36b!important;border-radius:14px!important;padding:12px!important;background:#fff!important;text-align:center!important;box-sizing:border-box!important;}
.barcode-card strong{display:block!important;margin-bottom:8px!important;font-size:13px!important;color:#001d3a!important;}
.barcode-card img{display:block!important;width:300px!important;height:105px!important;max-width:100%!important;object-fit:contain!important;margin:0 auto!important;background:#fff!important;image-rendering:auto!important;border:0!important;padding:0!important;}
.barcode-card small{display:block!important;margin:8px 0!important;font-size:12px!important;font-weight:900!important;letter-spacing:.04em!important;color:#001d3a!important;}
.barcode-print-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-top:6px!important;min-width:160px!important;height:34px!important;padding:0 12px!important;}
.func-photo-info{min-width:0!important;display:flex!important;flex-direction:column!important;gap:8px!important;padding-top:10px!important;}
.func-photo-info input[type=file]{max-width:460px!important;}
.visualizar-grid .employee-form label{font-size:11px!important;white-space:normal!important;line-height:1.15!important;}
.visualizar-grid .employee-form input,.visualizar-grid .employee-form select{height:34px!important;min-width:0!important;width:100%!important;box-sizing:border-box!important;}
.visualizar-grid .employee-form textarea{width:100%!important;box-sizing:border-box!important;}
@media(max-width:1250px){.visualizar-grid{grid-template-columns:1fr!important}.visualizar-grid .employee-form .func-photo-card{grid-template-columns:1fr!important}.identity-column{width:100%!important}.barcode-card{width:100%!important}.barcode-card img{width:330px!important}}
@media(max-width:760px){.visualizar-grid .form-panel .employee-form{grid-template-columns:1fr!important}.visualizar-grid .employee-form .func-photo-card{grid-template-columns:1fr!important}.func-photo-box{width:150px!important;height:150px!important}.barcode-card img{width:100%!important;height:95px!important}}

/* V88 - Ferramentaria: leitura, vínculo e impressão */
.ferr-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px 0;}
.ferr-tab{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border:1px solid #cfe0ee;border-radius:12px;text-decoration:none;color:#001d3a;background:#fff;font-weight:900;}
.ferr-tab.active,.ferr-tab:hover{background:#eafaf2;border-color:#0aa66a;color:#067348;}
.ferr-page-grid{grid-template-columns:minmax(520px,1.6fr) minmax(280px,.8fr)!important;}
.barcode-link-panel{margin-top:12px!important;}
.barcode-link-form{display:grid;grid-template-columns:minmax(300px,1fr) minmax(360px,1fr);gap:14px;align-items:end;}
.barcode-link-form .legacy-actions,.barcode-link-warning{grid-column:1/-1;}
.barcode-link-warning{border:1px solid #cfe0ee;border-radius:12px;background:#f3f9ff;padding:12px;color:#284156;font-weight:700;}
.scan-card input,.scan-card select{width:100%;height:40px;border:1px solid #cfe0ee;border-radius:10px;padding:0 12px;box-sizing:border-box;}
.scan-card textarea{width:100%;min-height:70px;border:1px solid #cfe0ee;border-radius:10px;padding:10px 12px;box-sizing:border-box;}
.scan-btn{width:100%;margin:6px 0;height:36px!important;color:#087b50!important;border-color:#0aa66a!important;}
.mini-barcode.big{width:260px!important;height:88px!important;padding:6px!important;object-fit:contain!important;}
.ferr-table-wrap{min-height:430px!important;}
@media(max-width:900px){.ferr-page-grid{grid-template-columns:1fr!important}.barcode-link-form{grid-template-columns:1fr!important}.mini-barcode.big{width:210px!important;height:72px!important}}


/* ===== V89 - Harmonização profissional das telas enviadas ===== */
.legacy-panel,.sap-panel,.ferias-card{border-radius:16px!important;border:1px solid #dbe7f0!important;box-shadow:0 10px 28px rgba(10,35,60,.06)!important;min-width:0!important;box-sizing:border-box!important;background:#fff!important;}
.legacy-head,.page-head{border-radius:0 0 16px 16px!important;margin-bottom:16px!important;}
.visual-table-wrap,.table-wrap,.ferias-table-modern-wrap,.controle-treino-table-wrap,.saidas-table-wrap{border:1px solid #d5e3ee!important;border-radius:14px!important;background:#fff!important;overflow:auto!important;}
.visual-table th,.erp-table th,.ferias-table-modern th{background:#dcecf8!important;color:#08233b!important;border:0!important;font-weight:900!important;}
.visual-table td,.erp-table td,.ferias-table-modern td{border-bottom:1px solid #eef3f7!important;}
.visual-table tr:hover,.erp-table tr:hover,.ferias-table-modern tr:hover{background:#eef8ff!important;}
.btn{border-radius:10px!important;font-weight:900!important;}
input,select,textarea{border-radius:10px!important;border:1px solid #cdddea!important;background:#fff!important;box-sizing:border-box!important;}
img:not([src]), img[src=""]{display:none!important;}

/* RH Visualizar: identidade em coluna própria e formulário sem encavalar */
.visualizar-grid{display:grid!important;grid-template-columns:minmax(430px,36%) minmax(720px,1fr)!important;gap:18px!important;min-width:0!important;align-items:start!important;}
.visualizar-card,.list-panel,.form-panel{min-width:0!important;overflow:hidden!important;}
.visual-filterbar,.contratacao-filterbar,.legacy-filterbar{display:grid!important;grid-template-columns:minmax(160px,1fr) auto auto!important;gap:10px!important;align-items:center!important;}
.visual-filterbar select,.contratacao-filterbar select,.legacy-filterbar select{height:38px!important;min-width:0!important;max-width:100%!important;border-radius:10px!important;}
.visual-table-wrap{height:calc(100vh - 270px)!important;min-height:420px!important;}
.visual-table{min-width:760px!important;}
.visualizar-grid .form-panel .employee-form{display:block!important;}
.func-photo-card{display:grid!important;grid-template-columns:230px minmax(0,1fr)!important;gap:16px!important;align-items:start!important;border:1px solid #d6e4ef!important;border-radius:16px!important;padding:14px!important;background:linear-gradient(180deg,#fff,#f8fbfd)!important;margin-bottom:14px!important;}
.identity-column{width:230px!important;display:flex!important;flex-direction:column!important;gap:12px!important;align-items:center!important;}
.func-photo-box{width:170px!important;height:170px!important;border:1px dashed #9db4ca!important;border-radius:16px!important;background:#f8fbfd!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;}
.func-photo-box::after{content:'Sem foto';font-size:11px;font-weight:800;color:#62798c;}
.func-photo-box:has(img[src])::after{content:'';display:none;}
.func-photo-box img{width:100%!important;height:100%!important;object-fit:cover!important;}
.barcode-card{width:100%!important;border:1px dashed #10a66a!important;border-radius:16px!important;background:#fff!important;padding:12px!important;text-align:center!important;box-sizing:border-box!important;}
.barcode-card strong{font-size:12px!important;display:block!important;margin-bottom:8px!important;}
.barcode-card img{width:210px!important;height:74px!important;object-fit:contain!important;background:#fff!important;border:0!important;padding:0!important;margin:0 auto!important;}
.barcode-card small{display:block!important;font-size:12px!important;font-weight:900!important;margin:8px 0!important;color:#08233b!important;word-break:break-word!important;}
.barcode-print-btn{height:34px!important;min-width:150px!important;margin:4px auto 0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.func-photo-info{min-width:0!important;display:flex!important;flex-direction:column!important;gap:8px!important;}
.func-photo-info input[type=file]{height:auto!important;padding:8px!important;max-width:420px!important;}
.employee-form .emp-row{display:grid!important;grid-template-columns:130px minmax(0,1fr) 130px minmax(0,1fr)!important;gap:8px 12px!important;align-items:center!important;margin-bottom:9px!important;}
.employee-form .emp-row label{font-size:11px!important;font-weight:900!important;line-height:1.15!important;color:#08233b!important;white-space:normal!important;margin:0!important;}
.employee-form .emp-row input,.employee-form .emp-row select{width:100%!important;min-width:0!important;height:36px!important;padding:0 10px!important;}
.employee-form .emp-row.obs{grid-template-columns:130px 1fr!important;}
.employee-form .emp-row.obs textarea{width:100%!important;min-height:82px!important;padding:10px!important;}
.employee-form .legacy-actions,.visual-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;justify-content:flex-end!important;margin-top:14px!important;}

/* RH Contratação */
.contratacao-grid{grid-template-columns:minmax(460px,44%) minmax(650px,1fr)!important;gap:18px!important;min-width:0!important;}
.contratacao-form .contratacao-actions-top{grid-column:auto!important;display:flex!important;gap:10px!important;justify-content:flex-end!important;margin:0 0 12px 0!important;}
.contratacao-form .compact-photo-card{grid-template-columns:190px 1fr!important;}
.contratacao-table-wrap{height:calc(100vh - 265px)!important;min-height:430px!important;}

/* RH Férias */
.ferias-page{display:grid!important;grid-template-columns:minmax(520px,42%) minmax(680px,1fr)!important;gap:18px!important;align-items:start!important;}
.ferias-card{padding:16px!important;}
.ferias-filterbar-modern{display:grid!important;grid-template-columns:minmax(180px,1fr) 145px 145px auto!important;gap:10px!important;align-items:end!important;}
.ferias-filterbar-modern input,.ferias-filterbar-modern select{height:38px!important;}
.ferias-table-modern-wrap{height:calc(100vh - 300px)!important;min-height:400px!important;}
.ferias-form-modern .employee-photo-card{grid-template-columns:180px 1fr!important;margin-bottom:14px!important;}
.ferias-period-grid-modern{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;}
.period-card{border:1px solid #d6e4ef!important;border-radius:14px!important;background:#f8fbfd!important;padding:12px!important;}
.ferias-actions-modern{justify-content:flex-end!important;gap:10px!important;margin-top:14px!important;}

/* Estoque > Saídas */
.saidas-panel{padding:16px!important;}
.saidas-table-wrap{height:calc(100vh - 355px)!important;min-height:350px!important;margin-bottom:14px!important;}
#saidasSaldoTable{min-width:760px!important;}
.saidas-form{display:grid!important;grid-template-columns:150px minmax(260px,1.2fr) minmax(300px,1.4fr) 100px 135px!important;gap:10px 12px!important;align-items:end!important;border:1px solid #d6e4ef!important;border-radius:16px!important;padding:14px!important;background:#fbfdff!important;}
.saidas-form label{font-size:11px!important;font-weight:900!important;color:#08233b!important;}
.saidas-form input,.saidas-form select{height:38px!important;width:100%!important;}
.saidas-form .status-field{grid-column:1/2!important;}
.saidas-form .obs-field{grid-column:2/5!important;}
.saidas-actions{grid-column:5/6!important;display:flex!important;gap:8px!important;align-items:end!important;justify-content:flex-end!important;}
.saidas-actions .btn{height:38px!important;white-space:nowrap!important;}

/* Segurança > Controle de Treinamentos */
.controle-treino-layout{display:grid!important;grid-template-columns:minmax(760px,1fr) 360px!important;gap:18px!important;align-items:start!important;}
.controle-treino-main,.controle-treino-side{border-radius:16px!important;}
.controle-treino-filters{display:grid!important;grid-template-columns:minmax(260px,1fr) 150px 150px 120px!important;gap:12px!important;}
.controle-treino-table-wrap{height:calc(100vh - 285px)!important;min-height:420px!important;}
.controle-treino-side{min-height:auto!important;max-height:calc(100vh - 180px)!important;overflow:auto!important;}
.controle-treino-side .employee-photo-card{grid-template-columns:110px 1fr!important;padding:10px!important;}
.controle-treino-side .func-photo-box{width:96px!important;height:96px!important;}
.controle-treino-edit .employee-photo-card{display:none!important;}
.treino-func-wrap,.aso-historico-wrap{max-height:220px!important;}

/* Segurança > Lançar Desvios */
.sap-panel .form-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px 14px!important;align-items:end!important;}
.sap-panel .form-grid label,.filters label{font-size:11px!important;font-weight:900!important;color:#08233b!important;display:block!important;margin-bottom:5px!important;}
.sap-panel .form-grid input,.sap-panel .form-grid select,.sap-panel .form-grid textarea,.filters input,.filters select{height:38px!important;width:100%!important;padding:0 10px!important;}
.sap-panel .form-grid .span2{grid-column:span 2!important;}
.sap-panel .form-grid .actions{display:flex!important;gap:10px!important;align-items:center!important;justify-content:flex-start!important;}
.filters{display:grid!important;grid-template-columns:170px 170px minmax(180px,1fr) minmax(180px,1fr) auto!important;gap:12px!important;align-items:end!important;}
.table-wrap{max-height:420px!important;}

/* Ferramentaria: guias reais, padrão Painel Gerencial */
.ferr-tabs-power{display:flex!important;gap:0!important;border-bottom:1px solid #d5e3ee!important;margin:0 0 14px 0!important;background:#fff!important;border-radius:16px 16px 0 0!important;overflow:hidden!important;box-shadow:0 8px 20px rgba(10,35,60,.05)!important;}
.ferr-tabs-power .ferr-tab{border:0!important;border-right:1px solid #d5e3ee!important;border-radius:0!important;min-width:230px!important;height:46px!important;background:#eee9de!important;color:#08233b!important;cursor:pointer!important;}
.ferr-tabs-power .ferr-tab.active{background:#fff!important;border-top:4px solid #0aa66a!important;color:#001d3a!important;}
.ferr-tab-panel{display:none!important;}
.ferr-tab-panel.active{display:block!important;}
.ferr-mobile-panel.ferr-tab-panel.active{display:grid!important;}
.ferr-page-grid{grid-template-columns:minmax(650px,1fr) minmax(300px,420px)!important;gap:18px!important;}
.ferr-mobile-form,.ferr-help,.barcode-link-panel,.ferr-inventory-panel{border-radius:16px!important;border:1px solid #d6e4ef!important;box-shadow:0 10px 28px rgba(10,35,60,.06)!important;}
.toggle-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;}
.toggle-actions label{height:64px!important;display:flex!important;align-items:center!important;gap:10px!important;border-radius:14px!important;}
.scan-card label{font-size:11px!important;text-transform:uppercase!important;color:#08233b!important;font-weight:900!important;}
.scan-card input,.scan-card select,.scan-card textarea{font-size:15px!important;border-radius:12px!important;}
.scan-btn{height:34px!important;background:#edfdf5!important;}
.barcode-link-form{display:grid!important;grid-template-columns:minmax(320px,1fr) minmax(380px,1fr)!important;gap:14px!important;align-items:end!important;}
.ferr-table-wrap{height:calc(100vh - 330px)!important;min-height:420px!important;}
.mini-barcode.big{width:260px!important;height:88px!important;object-fit:contain!important;background:#fff!important;border:1px solid #d6e4ef!important;border-radius:8px!important;padding:6px!important;}

@media(max-width:1250px){
  .visualizar-grid,.contratacao-grid,.ferias-page,.controle-treino-layout{grid-template-columns:1fr!important;}
  .visual-table-wrap,.contratacao-table-wrap,.ferias-table-modern-wrap,.controle-treino-table-wrap{height:430px!important;}
  .ferr-page-grid{grid-template-columns:1fr!important;}
  .saidas-form{grid-template-columns:1fr 1fr!important;}
  .saidas-form .status-field,.saidas-form .obs-field,.saidas-actions{grid-column:auto!important;}
  .saidas-actions{grid-column:1/-1!important;justify-content:flex-end!important;}
}
@media(max-width:760px){
  .func-photo-card,.employee-form .emp-row,.barcode-link-form,.sap-panel .form-grid,.filters,.ferias-filterbar-modern{grid-template-columns:1fr!important;}
  .identity-column{width:100%!important;}
  .barcode-card img{width:100%!important;height:82px!important;}
  .ferr-tabs-power{flex-direction:column!important;}
  .ferr-tabs-power .ferr-tab{width:100%!important;min-width:0!important;}
  .ferias-period-grid-modern{grid-template-columns:1fr!important;}
}

/* V90 - Layout profissional executivo: RH Visualizar, RH Contratação, Vínculo de Avaliadores */
.shell{max-width:1680px !important;}
.executive-head{background:linear-gradient(90deg,#f8fafc,#eef5f8) !important;border:1px solid #d9e4eb !important;border-radius:16px !important;margin:0 0 16px 0 !important;padding:18px 22px !important;box-shadow:0 10px 28px rgba(13,43,69,.08) !important;}
.executive-head h1{font-size:22px !important;color:#071827 !important;}.executive-head p{font-size:13px !important;color:#617789 !important;}
.exec-page{display:grid !important;grid-template-columns:minmax(430px,34%) minmax(780px,1fr) !important;gap:18px !important;align-items:start !important;width:100% !important;min-width:0 !important;}
.exec-card{background:#fff !important;border:1px solid #dce7ef !important;border-radius:18px !important;box-shadow:0 12px 32px rgba(21,54,79,.10) !important;padding:18px !important;min-width:0 !important;overflow:hidden !important;}
.exec-card-head{display:flex !important;align-items:flex-start !important;justify-content:space-between !important;gap:14px !important;margin-bottom:14px !important;padding-bottom:12px !important;border-bottom:1px solid #edf2f5 !important;}
.exec-card-head h2{margin:2px 0 0 !important;font-size:18px !important;color:#071827 !important;}.exec-card-head strong{font-size:30px !important;color:#00a86b !important;line-height:1 !important;}
.eyebrow{display:block !important;font-size:11px !important;font-weight:900 !important;letter-spacing:.08em !important;text-transform:uppercase !important;color:#00a86b !important;}
.exec-filterbar{display:grid !important;gap:10px !important;margin-bottom:14px !important;align-items:end !important;}.visual-filterbar{grid-template-columns:minmax(0,1fr) 105px 105px !important;}.contratacao-filterbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 105px 105px !important;}
.exec-filterbar select,.exec-filterbar .btn{height:40px !important;border-radius:10px !important;min-width:0 !important;width:100% !important;}
.exec-table-wrap{border:1px solid #c9d6df !important;border-radius:14px !important;overflow:auto !important;background:#fff !important;}.exec-list-card .exec-table-wrap{height:calc(100vh - 310px) !important;min-height:520px !important;}
.exec-table{width:100% !important;table-layout:fixed !important;border-collapse:separate !important;border-spacing:0 !important;background:#fff !important;}.exec-table th{position:sticky !important;top:0 !important;z-index:2 !important;background:#0d2b45 !important;color:#fff !important;height:38px !important;text-align:left !important;border:0 !important;padding:10px 12px !important;font-size:12px !important;}.exec-table td{padding:10px 12px !important;border-bottom:1px solid #eef3f6 !important;font-size:12.5px !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;color:#193247 !important;}.exec-table tr:hover td,.exec-table tr.selected td{background:#ecf8f3 !important;cursor:pointer !important;}
#funcTable th:nth-child(1),#funcTable td:nth-child(1),#contratacaoTable th:nth-child(1),#contratacaoTable td:nth-child(1){width:58px !important;text-align:center !important;}#funcTable th:nth-child(2),#funcTable td:nth-child(2),#contratacaoTable th:nth-child(2),#contratacaoTable td:nth-child(2){width:32% !important;}#funcTable th:nth-child(3),#funcTable td:nth-child(3),#contratacaoTable th:nth-child(4),#contratacaoTable td:nth-child(4){width:20% !important;}
.exec-form{display:block !important;}.profile-hero{display:grid !important;grid-template-columns:150px minmax(0,1fr) 230px !important;gap:18px !important;align-items:stretch !important;background:linear-gradient(135deg,#071827,#0d2b45) !important;border-radius:18px !important;padding:18px !important;margin-bottom:16px !important;color:#fff !important;}.contratacao-hero{grid-template-columns:135px minmax(0,1fr) !important;}
.func-photo-box{width:132px !important;height:154px !important;border-radius:16px !important;background:#eef3f6 !important;border:3px solid rgba(255,255,255,.35) !important;display:grid !important;place-items:center !important;overflow:hidden !important;}.func-photo-box img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
.photo-stack{display:flex !important;flex-direction:column !important;gap:10px !important;align-items:center !important;}.photo-btn{width:132px !important;background:#fff !important;color:#071827 !important;border:0 !important;}
.profile-main h2{margin:4px 0 16px !important;font-size:24px !important;color:#fff !important;line-height:1.15 !important;}.profile-kpis{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:10px !important;}.profile-kpis div{background:rgba(255,255,255,.10) !important;border:1px solid rgba(255,255,255,.18) !important;border-radius:12px !important;padding:9px !important;min-width:0 !important;}.profile-kpis small{display:block !important;font-size:10px !important;color:#c6d6e1 !important;text-transform:uppercase !important;font-weight:900 !important;margin-bottom:5px !important;}.profile-kpis input,.profile-kpis select{height:34px !important;border-radius:9px !important;border:1px solid rgba(255,255,255,.28) !important;background:#fff !important;color:#071827 !important;font-size:12px !important;padding:0 9px !important;}
.exec-barcode{background:#fff !important;color:#071827 !important;border-radius:16px !important;padding:13px !important;text-align:center !important;display:flex !important;flex-direction:column !important;gap:8px !important;align-items:center !important;justify-content:center !important;}.exec-barcode img{width:170px !important;max-height:60px !important;object-fit:contain !important;}.exec-barcode small{font-size:11px !important;color:#617789 !important;word-break:break-all !important;}.exec-barcode .btn{height:34px !important;width:100% !important;border-radius:9px !important;}
.form-section{border:1px solid #e3ebf1 !important;border-radius:16px !important;padding:14px !important;margin-bottom:14px !important;background:#fbfdfe !important;}.section-title{display:flex !important;justify-content:space-between !important;align-items:flex-end !important;gap:12px !important;margin-bottom:12px !important;border-bottom:1px solid #edf2f5 !important;padding-bottom:9px !important;}.section-title h3{margin:0 !important;color:#071827 !important;font-size:16px !important;}.section-title span{font-size:12px !important;color:#718494 !important;}
.field-grid{display:grid !important;gap:12px !important;}.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}.field-grid label,.vinculo-form label{margin:0 !important;color:#1e3a4d !important;font-size:11px !important;font-weight:900 !important;text-transform:uppercase !important;letter-spacing:.02em !important;min-width:0 !important;}.field-grid input,.field-grid select,.vinculo-form select{margin-top:5px !important;height:38px !important;border-radius:10px !important;border:1px solid #bfccd7 !important;background:#fff !important;font-size:13px !important;color:#102a3c !important;min-width:0 !important;width:100% !important;}.field-grid input:disabled,.field-grid select:disabled,.readonly-grid input:disabled,.readonly-grid select:disabled{background:#eef2f5 !important;color:#34495a !important;opacity:1 !important;}.span-2{grid-column:span 2 !important;}.exec-textarea{width:100% !important;min-height:92px !important;border:1px solid #bfccd7 !important;border-radius:12px !important;padding:10px 12px !important;font-family:Segoe UI,Arial,sans-serif !important;font-size:13px !important;resize:vertical !important;background:#fff !important;}
.exec-actions{display:flex !important;justify-content:flex-end !important;gap:10px !important;flex-wrap:wrap !important;padding-top:12px !important;border-top:1px solid #edf2f5 !important;}.exec-actions .btn{height:40px !important;border-radius:10px !important;min-width:125px !important;white-space:nowrap !important;}.visual-actions{display:flex !important;grid-template-columns:none !important;}.contratacao-actions-top{margin-bottom:14px !important;padding-top:0 !important;}
/* neutraliza patches antigos baseados em :has que comprimiam a contratação */
body:has(#contratacaoTable) .contratacao-grid,body:has(#contratacaoTable) .rh-contratacao-page{display:grid !important;grid-template-columns:minmax(520px,40%) minmax(760px,1fr) !important;gap:18px !important;}body:has(#contratacaoTable) .contratacao-form{display:block !important;grid-template-columns:none !important;}body:has(#contratacaoTable) .contratacao-form .legacy-actions{display:none !important;}
.exec-vinculos-page{display:grid !important;gap:18px !important;}.vinculo-hero{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:24px !important;background:linear-gradient(135deg,#071827,#0d2b45) !important;color:#fff !important;}.vinculo-hero h2{margin:4px 0 8px !important;font-size:24px !important;color:#fff !important;}.vinculo-hero p{margin:0 !important;color:#cbd8e2 !important;}.vinculo-kpis{display:grid !important;grid-template-columns:repeat(3,120px) !important;gap:12px !important;}.vinculo-kpis div{background:rgba(255,255,255,.10) !important;border:1px solid rgba(255,255,255,.18) !important;border-radius:14px !important;padding:14px !important;text-align:center !important;}.vinculo-kpis strong{display:block !important;font-size:30px !important;color:#35c486 !important;}.vinculo-kpis span{font-size:11px !important;text-transform:uppercase !important;color:#d6e2ea !important;font-weight:900 !important;}.vinculo-grid{display:grid !important;grid-template-columns:minmax(360px,34%) minmax(720px,1fr) !important;gap:18px !important;align-items:start !important;}.vinculo-form{display:grid !important;gap:16px !important;}.area-picker{border:1px solid #e3ebf1 !important;border-radius:14px !important;padding:14px !important;background:#fbfdfe !important;}.exec-checklist{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(170px,1fr)) !important;gap:10px !important;max-height:360px !important;overflow:auto !important;border:0 !important;background:transparent !important;padding:0 !important;}.exec-checklist .check-row{display:flex !important;align-items:center !important;gap:9px !important;background:#fff !important;border:1px solid #dbe5ec !important;border-radius:11px !important;padding:10px !important;margin:0 !important;}.exec-checklist input{width:auto !important;height:auto !important;margin:0 !important;}.vinculo-table-wrap{height:560px !important;}.btn.danger{background:#d63333 !important;border-color:#d63333 !important;color:#fff !important;}
@media(max-width:1320px){.exec-page,body:has(#contratacaoTable) .rh-contratacao-page,.vinculo-grid{grid-template-columns:1fr !important;}.exec-list-card .exec-table-wrap{height:420px !important;min-height:360px !important;}.profile-hero{grid-template-columns:145px 1fr !important;}.exec-barcode{grid-column:1/-1 !important;}.field-grid.four{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media(max-width:760px){.visual-filterbar,.contratacao-filterbar,.profile-kpis,.field-grid.four,.vinculo-kpis{grid-template-columns:1fr !important;}.profile-hero,.contratacao-hero{grid-template-columns:1fr !important;}.span-2{grid-column:span 1 !important;}.vinculo-hero{display:block !important;}.vinculo-kpis{margin-top:14px !important;}.exec-actions{justify-content:stretch !important;}.exec-actions .btn{flex:1 1 140px !important;}.func-photo-box{width:120px !important;height:140px !important;}}

/* ===== V91 HOME EXECUTIVA - menos infantil, padrão corporativo ===== */
.exec-home{display:flex;flex-direction:column;gap:20px;max-width:1540px;margin:0 auto 34px auto;}
.exec-hero{background:linear-gradient(135deg,#071827 0%,#0b2a43 58%,#0f5d50 100%);border:1px solid rgba(255,255,255,.10);border-radius:22px;padding:30px 34px;min-height:132px;color:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:0 18px 42px rgba(7,24,39,.18);position:relative;overflow:hidden;}
.exec-hero:after{content:"";position:absolute;right:-130px;top:-130px;width:330px;height:330px;border-radius:50%;background:rgba(255,255,255,.08);}
.exec-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:#9ce7c1;margin-bottom:10px;}
.exec-hero h1{margin:0;font-size:34px;line-height:1.05;font-weight:950;letter-spacing:-.03em;}
.exec-hero p{margin:10px 0 0;color:#d7e5ee;font-size:15px;max-width:720px;}
.exec-cc-box{position:relative;z-index:1;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:16px 22px;min-width:190px;text-align:right;backdrop-filter:blur(5px);}
.exec-cc-box small{display:block;color:#b9cddd;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.exec-cc-box strong{display:block;font-size:22px;margin-top:5px;color:#fff;}
.exec-kpi-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:14px;align-items:stretch;}
.exec-kpi{background:#fff;border:1px solid #dbe7f0;border-radius:18px;padding:20px;box-shadow:0 10px 28px rgba(7,24,39,.08);min-height:132px;position:relative;overflow:hidden;}
.exec-kpi:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:#0b2a43;}
.exec-kpi span{display:block;color:#536b80;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;}
.exec-kpi b{display:block;color:#071827;font-size:36px;line-height:1;margin:18px 0 8px;font-weight:950;}
.exec-kpi small{color:#607487;font-weight:700;}
.exec-kpi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.exec-kpi-head b{margin:0;font-size:34px;}
.exec-kpi-wide{padding-bottom:16px;}
.exec-chart{height:104px;margin-top:8px;}
.exec-main-grid{display:grid;grid-template-columns:1fr 1.85fr;gap:18px;align-items:stretch;}
.exec-panel,.exec-modules{background:#fff;border:1px solid #dbe7f0;border-radius:20px;padding:22px;box-shadow:0 10px 30px rgba(7,24,39,.08);}
.exec-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid #edf3f7;}
.exec-panel-head h3{margin:0;color:#071827;font-size:18px;font-weight:950;letter-spacing:-.02em;}
.exec-panel-head span{color:#607487;font-size:13px;font-weight:800;}
.exec-alert-list{display:flex;flex-direction:column;gap:10px;}
.exec-alert-row{display:block;text-decoration:none;color:#071827;border:1px solid #e3edf5;border-left:5px solid #0b2a43;border-radius:14px;padding:13px 14px;background:#fbfdff;transition:.15s;}
.exec-alert-row:hover{transform:translateX(2px);border-color:#9bc9b8;box-shadow:0 8px 20px rgba(7,24,39,.08);}
.exec-alert-row strong{display:block;font-size:14px;}
.exec-alert-row small{display:block;color:#607487;margin-top:4px;}
.exec-empty{border:1px dashed #cad8e3;border-radius:14px;padding:20px;color:#607487;background:#fbfdff;font-weight:800;}
.exec-config-btn{height:34px;border-radius:10px;border:1px solid #c9d9e5;background:#f8fbfd;color:#0b2a43;font-weight:900;padding:0 13px;cursor:pointer;}
.exec-config-btn:hover{border-color:#0ba66c;background:#eefaf5;color:#006b4a;}
.exec-quick-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;max-height:392px;overflow:auto;padding-right:4px;}
.exec-quick{display:grid!important;grid-template-columns:44px 1fr!important;grid-template-rows:auto auto!important;align-items:center!important;text-align:left!important;min-height:76px!important;padding:13px!important;background:#fff!important;border:1px solid #dbe7f0!important;border-radius:14px!important;color:#071827!important;box-shadow:none!important;gap:2px 12px!important;}
.exec-quick:hover{transform:translateY(-1px)!important;border-color:#0ba66c!important;box-shadow:0 8px 20px rgba(7,24,39,.08)!important;color:#071827!important;}
.exec-quick span{grid-row:1/3;width:42px;height:42px;border-radius:12px;background:#0b2a43;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:950;letter-spacing:.02em;}
.exec-quick b{font-size:14px!important;line-height:1.1;}
.exec-quick small{font-size:11px!important;color:#607487!important;}
.exec-modules{margin-top:0;}
.exec-module-grid{grid-template-columns:repeat(4,minmax(220px,1fr))!important;gap:14px!important;}
.exec-module-card{min-height:104px!important;border-radius:16px!important;padding:18px!important;box-shadow:none!important;background:#fff!important;}
.exec-module-card:hover{border-color:#0ba66c!important;box-shadow:0 10px 26px rgba(7,24,39,.10)!important;}
.exec-module-card .home-module-icon{background:#0b2a43!important;border-radius:12px!important;font-size:13px!important;font-weight:950;}
@media(max-width:1280px){.exec-kpi-grid{grid-template-columns:repeat(2,1fr)}.exec-kpi-wide{grid-column:1/-1}.exec-main-grid{grid-template-columns:1fr}.exec-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.exec-module-grid{grid-template-columns:repeat(2,minmax(220px,1fr))!important}}
@media(max-width:720px){.exec-hero{flex-direction:column;align-items:flex-start}.exec-cc-box{text-align:left;width:100%}.exec-kpi-grid,.exec-quick-grid,.exec-module-grid{grid-template-columns:1fr!important}.exec-hero h1{font-size:28px}}

/* V92 - tema executivo uniforme */
:root{--convaco-navy:#071827;--convaco-blue:#0b2a43;--convaco-green:#00a86b;--convaco-bg:#edf4f7;--convaco-line:#d8e6ee;--convaco-muted:#607487;}
body{background:var(--convaco-bg)!important;color:#071827!important}.app-topbar{background:linear-gradient(90deg,#061421,#0b2a43)!important}.legacy-head,.exec-panel,.legacy-panel,.exec-modules,.exec-kpi{border:1px solid var(--convaco-line)!important;box-shadow:0 14px 34px rgba(7,24,39,.07)!important}.btn.primary,.exec-config-btn{background:var(--convaco-green)!important;border-color:var(--convaco-green)!important}.plan-tab.active,.ferr-tab.active{background:#fff!important;border-top:3px solid var(--convaco-green)!important;color:#071827!important}.cell-inativo{background:#f7fafc!important;color:transparent!important;pointer-events:none!important;box-shadow:inset 0 0 0 1px #eef3f7!important}.cell-inativo:after{content:''!important}.exec-home-v92{max-width:1500px;margin:0 auto}.exec-hero-vibrant{background:linear-gradient(135deg,#071827 0%,#0b2a43 62%,#0f7b5a 100%)!important;color:#fff!important;border:0!important;min-height:150px}.exec-hero-vibrant h1,.exec-hero-vibrant p,.exec-hero-vibrant .exec-eyebrow{color:#fff!important}.exec-hero-stack{display:flex;gap:12px;align-items:stretch}.exec-date-box,.exec-cc-box{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important}.exec-date-box small,.exec-cc-box small{color:#d7eef3!important}.exec-date-box strong,.exec-cc-box strong{color:#fff!important}.exec-kpi-grid-v92{grid-template-columns:2fr repeat(4,1fr)!important}.exec-kpi-chart-card{border-top:4px solid var(--convaco-green)!important}.exec-kpi:not(.exec-kpi-wide){border-top:4px solid var(--convaco-blue)!important}.exec-main-grid-v92{grid-template-columns:minmax(360px,.85fr) minmax(640px,1.6fr)!important}.exec-modules-v92{background:#fff;border-radius:18px;padding:18px}.qo-ico{font-family:inherit!important;background:#0b2a43!important;color:#fff!important;border-radius:10px;width:38px;height:38px;display:grid;place-items:center;font-size:12px!important;font-weight:950!important}
@media(max-width:1280px){.exec-kpi-grid-v92,.exec-main-grid-v92{grid-template-columns:1fr!important}}

/* Equipe destaque PowerBI */
.ed-powerbi{display:grid;gap:16px}.ed-filterbar{display:grid;grid-template-columns:120px 120px 220px 1fr auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--convaco-line);border-radius:18px;padding:16px;box-shadow:0 14px 34px rgba(7,24,39,.07)}.ed-filterbar label{font-size:11px;text-transform:uppercase;color:#3c5368;font-weight:900}.ed-filterbar input,.ed-filterbar select{height:40px;border:1px solid #cfe0ea;border-radius:10px;padding:0 10px}.ed-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.ed-kpis>div{background:linear-gradient(180deg,#fff,#f8fbfd);border:1px solid var(--convaco-line);border-radius:16px;padding:16px;box-shadow:0 12px 28px rgba(7,24,39,.06);border-top:4px solid var(--convaco-blue)}.ed-kpis span{display:block;font-size:11px;text-transform:uppercase;color:#607487;font-weight:900}.ed-kpis strong{font-size:28px;color:#071827}.ed-grid-main{display:grid;grid-template-columns:1.5fr .8fr;gap:16px}.ed-rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ed-card{background:#fff;border:1px solid var(--convaco-line);border-radius:18px;padding:16px;box-shadow:0 14px 34px rgba(7,24,39,.07)}.ed-card h3{margin:0 0 14px;font-size:16px;color:#071827}.ed-supervisor-list{display:grid;gap:8px;max-height:220px;overflow:auto}.ed-sup-row{display:grid;grid-template-columns:1fr auto;gap:4px;border:1px solid #e1edf4;border-radius:12px;padding:10px;background:#f8fbfd}.ed-sup-row small{grid-column:1/-1;color:#607487}.ed-person-row{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;border:1px solid #e1edf4;border-radius:14px;padding:10px;margin-bottom:8px;background:#fbfdfe}.ed-person-row.danger{background:#fff8f6}.ed-person-row img,.ed-mini-photo{width:42px;height:42px;border-radius:12px;object-fit:cover;background:#e7eef4}.ed-person-row small{display:block;color:#607487}.ed-person-row strong{font-size:20px;color:#00a86b}.ed-table th{position:sticky;top:0;background:#dceaf3!important;z-index:1}.ed-mini-photo{width:34px;height:34px;border-radius:9px}@media(max-width:1100px){.ed-filterbar,.ed-grid-main,.ed-rank-grid,.ed-kpis{grid-template-columns:1fr}.ed-filterbar .btn{width:100%}}

/* Ferramentaria executiva */
.ferr-tabs-power{background:#fff;border:1px solid var(--convaco-line);border-radius:16px 16px 0 0;padding:0 10px!important;box-shadow:0 10px 24px rgba(7,24,39,.06)}.ferr-tabs-power .ferr-tab{min-height:52px;border-radius:12px 12px 0 0!important;font-weight:950!important}.ferr-page-grid{grid-template-columns:1.4fr .55fr!important;gap:16px!important}.ferr-exec-form,.ferr-help,.barcode-link-panel,.ferr-inventory-panel,#historico{background:#fff!important;border:1px solid var(--convaco-line)!important;border-radius:18px!important;box-shadow:0 14px 34px rgba(7,24,39,.07)!important}.ferr-professional-head{display:grid;grid-template-columns:82px 1fr;gap:14px;align-items:center;background:linear-gradient(135deg,#071827,#0b2a43);border-radius:16px;padding:14px;color:#fff;margin-bottom:14px}.ferr-professional-head span{font-size:11px;text-transform:uppercase;color:#bdd5e4;font-weight:900}.ferr-professional-head strong{display:block;font-size:18px}.ferr-professional-head small{color:#d7e8f1}.ferr-worker-photo{width:76px;height:76px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;overflow:hidden}.ferr-worker-photo:before{content:'FOTO';color:#d7e8f1;font-weight:950}.ferr-worker-photo img{width:100%;height:100%;object-fit:cover;display:none}.scan-card{background:#f8fbfd!important;border:1px solid #dbe7f0!important;border-radius:14px!important;padding:12px!important}.scan-card label{font-size:11px;text-transform:uppercase;font-weight:950;color:#17334e}.scan-card input,.scan-card select,.scan-card textarea{border:1px solid #cfe0ea!important;border-radius:10px!important}.ferr-submit{min-height:52px;font-size:16px!important;font-weight:950!important}@media(max-width:1100px){.ferr-page-grid{grid-template-columns:1fr!important}}


/* V93 - tema uniforme executivo */
:root{--c-primary:#06243b;--c-primary-2:#0d3b4c;--c-accent:#00a86b;--c-bg:#edf4f7;--c-card:#ffffff;--c-line:#d7e5ed;--c-text:#061b2f;--c-muted:#5d7184;--radius-lg:18px;--shadow-soft:0 14px 34px rgba(6,36,59,.08)}
body{background:var(--c-bg)!important;color:var(--c-text)}
.topbar{background:linear-gradient(90deg,#041b2f,#06243b 58%,#0a3f45)!important;box-shadow:0 10px 28px rgba(4,27,47,.24)!important}.app-sidebar{background:linear-gradient(180deg,#fff,#f8fbfd)!important;border-right:1px solid var(--c-line)!important}.side-nav a{border-radius:12px!important}.side-nav a:hover{background:#eef8f3!important;color:#006b4a!important}.btn.primary,.btn.success,button.btn.primary{background:linear-gradient(135deg,#008b5d,#00a86b)!important;border-color:#00a86b!important;color:#fff!important}.legacy-head,.legacy-panel,.form-card,.exec-panel,.exec-kpi,.home-module-card{border-radius:var(--radius-lg)!important;border:1px solid var(--c-line)!important;box-shadow:var(--shadow-soft)!important;background:#fff!important}
.exec-home-v92{max-width:1500px;margin:0 auto 28px!important}.exec-hero-v93{display:grid!important;grid-template-columns:minmax(0,1fr) 430px;gap:24px;align-items:stretch;background:linear-gradient(135deg,#061b2f 0%,#082c42 54%,#087455 100%)!important;border-radius:26px!important;padding:34px 38px!important;margin-bottom:24px!important;box-shadow:0 24px 56px rgba(6,36,59,.22)!important;overflow:hidden;position:relative}.exec-hero-v93:after{content:"";position:absolute;right:-100px;top:-120px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.08)}.hero-main-v93{position:relative;z-index:1}.hero-main-v93 h1{font-size:38px!important;line-height:1.05!important;margin:10px 0 12px!important;color:#fff!important;letter-spacing:-.03em}.hero-main-v93 p{max-width:760px;color:#e6f5f1!important;font-size:15px!important;margin:0!important}.exec-eyebrow{display:inline-block;color:#b8efe0!important;letter-spacing:.12em!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase}.hero-status-v93{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}.hero-status-v93 div{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:16px 18px;color:#fff;backdrop-filter:blur(4px)}.hero-status-v93 .online-v93{grid-column:1/-1}.hero-status-v93 small{display:block;text-transform:uppercase;font-size:10px;font-weight:900;color:#cfe9e3;letter-spacing:.08em}.hero-status-v93 strong{display:block;font-size:22px;margin-top:6px}.exec-kpi-grid-v92{grid-template-columns:2fr repeat(4,1fr)!important;gap:16px!important}.exec-kpi{border-top:4px solid #06243b!important}.exec-kpi b{color:#061b2f!important}.exec-kpi small{color:var(--c-muted)!important}.exec-main-grid-v92{grid-template-columns:1fr 1.9fr!important;gap:16px!important}.exec-panel-head h3{font-size:18px!important}.exec-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.exec-quick{border-radius:16px!important;border-color:#d7e5ed!important;transition:.18s ease!important}.exec-quick span,.home-module-icon{background:linear-gradient(135deg,#06243b,#0d3b4c)!important}.exec-quick:hover,.exec-module-card:hover{border-color:#00a86b!important;box-shadow:0 12px 28px rgba(0,168,107,.13)!important}.exec-modules-v92{border-radius:22px!important;padding:20px!important;background:#fff!important;border:1px solid var(--c-line)!important;box-shadow:var(--shadow-soft)!important}.quick-config-modal-wide{border-radius:22px!important}.quick-tab.active{background:#06243b!important;border-color:#06243b!important}.quick-option input{accent-color:#00a86b!important}
@media(max-width:1200px){.exec-hero-v93{grid-template-columns:1fr}.hero-status-v93{grid-template-columns:repeat(3,1fr)}.hero-status-v93 .online-v93{grid-column:auto}.exec-kpi-grid-v92{grid-template-columns:repeat(2,1fr)!important}.exec-main-grid-v92{grid-template-columns:1fr!important}.exec-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(max-width:760px){.exec-hero-v93{padding:24px!important}.hero-status-v93,.exec-kpi-grid-v92,.exec-quick-grid{grid-template-columns:1fr!important}.hero-main-v93 h1{font-size:30px!important}}
/* V93 - planejamento: dias fora do período ativo */
.plan-cell.cell-inativo{background:#f4f7fa!important;color:transparent!important;cursor:not-allowed!important;position:relative}.plan-cell.cell-inativo:after{content:"";display:block;height:100%;min-height:24px;background:repeating-linear-gradient(45deg,transparent,transparent 6px,rgba(6,36,59,.04) 6px,rgba(6,36,59,.04) 12px)}
/* V93 - pendência estilo Trello profissional */
.pend-head{background:linear-gradient(135deg,#061b2f,#0d3b4c)!important;color:#fff!important}.pend-head h1,.pend-head p{color:#fff!important}.pendencia-layout{display:grid!important;grid-template-columns:360px minmax(0,1fr)!important;gap:18px!important;align-items:start}.pend-form{position:sticky;top:94px;border-top:4px solid #00a86b!important}.kanban-wrap{background:#fff;border:1px solid var(--c-line);border-radius:20px;padding:16px;box-shadow:var(--shadow-soft)}.filtros-kanban{display:grid!important;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:10px;margin-bottom:16px}.filtros-kanban input,.filtros-kanban select{height:42px;border-radius:12px!important;border:1px solid #d6e4ed!important;background:#f8fbfd!important;padding:0 12px}.kanban-board{display:grid!important;grid-template-columns:repeat(4,minmax(260px,1fr))!important;gap:14px;overflow:auto;padding-bottom:8px}.kanban-col{background:#f5f8fb!important;border:1px solid #dce8f0!important;border-radius:18px!important;padding:12px!important;min-height:560px}.kanban-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding:2px 2px 10px;border-bottom:1px solid #dce8f0}.kanban-title span{font-weight:950;color:#061b2f}.kanban-title b{background:#06243b;color:#fff;border-radius:999px;padding:4px 9px;font-size:12px}.trello-card{background:#fff!important;border:1px solid #dce8f0!important;border-radius:16px!important;padding:14px!important;margin-bottom:12px!important;box-shadow:0 8px 18px rgba(6,36,59,.07)!important;transition:.15s ease}.trello-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(6,36,59,.12)!important;border-color:#00a86b!important}.trello-card h4{font-size:15px!important;margin:8px 0!important;color:#061b2f!important}.trello-card p{font-size:12px!important;color:#5d7184!important;line-height:1.45}.card-topline{display:flex;gap:6px;flex-wrap:wrap}.tag,.priority{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;text-transform:uppercase}.tag{background:#e8f7f1;color:#007a52}.priority{background:#eef3f7;color:#06243b}.priority-alta,.priority-critica,.priority-crítica{background:#fff1f0;color:#b42318}.card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;font-size:11px;color:#5d7184}.move-row{display:none!important}.trello-card.card-atrasado{border-left:5px solid #d92d20!important}@media(max-width:1100px){.pendencia-layout{grid-template-columns:1fr!important}.pend-form{position:static}.filtros-kanban{grid-template-columns:1fr 1fr}.kanban-board{grid-template-columns:repeat(4,280px)!important}}@media(max-width:680px){.filtros-kanban{grid-template-columns:1fr}.kanban-board{grid-template-columns:repeat(4,260px)!important}}

/* V94 - ajustes planejamento e indicadores */
.plan-name-filter input{min-width:260px;height:42px;border:1px solid var(--line,#d7e2ec);border-radius:10px;padding:0 12px;font-weight:700;background:#fff}
.planejamento-table th:nth-child(1),.planejamento-table td:nth-child(1){min-width:260px;position:sticky;left:0;z-index:3;background:#fff}
.planejamento-table th:nth-child(2),.planejamento-table td:nth-child(2){min-width:180px;position:sticky;left:260px;z-index:3;background:#fff}
.planejamento-table th:nth-child(3),.planejamento-table td:nth-child(3){min-width:180px;position:sticky;left:440px;z-index:3;background:#fff}
.planejamento-table .area-row td{position:sticky;left:0;z-index:4;background:#eef8f2!important;color:#008456;font-weight:900;border-top:1px solid #d6eadf}
.cell-inativo{background:repeating-linear-gradient(45deg,#f3f6f8,#f3f6f8 6px,#e9eef2 6px,#e9eef2 12px)!important;cursor:not-allowed!important}
.indicadores-grid .kpi.danger{border-left:5px solid #ef4444;background:#fff8f8}
.plan-legend{grid-column:1/-1;background:#fff;border:1px solid #d9e4ed;border-radius:14px;padding:14px 16px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;box-shadow:0 8px 22px rgba(8,32,55,.06)}
.plan-legend .leg{border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;border:1px solid #d9e4ed;background:#f8fafc;color:#0c2a40}.leg-inativo{background:#f1f5f9!important}.leg-atestado{background:#fff1e8!important;color:#c2410c!important}.leg-falta{background:#fee2e2!important;color:#b91c1c!important}.leg-ferias{background:#e0f2fe!important;color:#075985!important}.leg-nao{background:#fef3c7!important;color:#92400e!important}.leg-hh{background:#dcfce7!important;color:#047857!important}

/* ===== V95 - tema corporativo uniforme, Home PowerBI, Cadastro e Equipe Destaque ===== */
:root{--convaco-navy:#061d2e;--convaco-navy2:#0b3441;--convaco-green:#00a86b;--convaco-teal:#177867;--convaco-bg:#eef5f7;--convaco-card:#fff;--convaco-border:#d7e4ea;--convaco-text:#061d2e;--convaco-muted:#607789}body{background:var(--convaco-bg)!important;color:var(--convaco-text)}.btn.primary,button.primary{background:var(--convaco-green)!important;border-color:var(--convaco-green)!important;color:#fff}.legacy-panel,.exec-panel,.visual-card,.ed-card,.ed-card-pro,.home-panel-pro,.cad-section,.cad-photo-card{box-shadow:0 10px 26px rgba(6,29,46,.08);border:1px solid var(--convaco-border);border-radius:18px;background:#fff}.cad-exec-shell{max-width:1500px}.cad-exec-form{display:grid;grid-template-columns:260px 1fr;gap:18px}.cad-photo-card{padding:18px;height:max-content;position:sticky;top:90px}.cad-photo-frame{height:310px;border-radius:18px;background:linear-gradient(135deg,#eef5f7,#fff);border:1px dashed #a9bdc8;display:flex;align-items:center;justify-content:center;overflow:hidden}.cad-photo-frame img{display:none;width:100%;height:100%;object-fit:cover}.cad-photo-frame span{font-size:34px;font-weight:900;color:#8ba0ab}.cad-photo-btn{width:100%;margin-top:14px}.cad-main{display:flex;flex-direction:column;gap:16px}.cad-section{padding:18px}.cad-section h3{margin:0 0 14px;font-size:16px;text-transform:uppercase;letter-spacing:.06em;color:#0b3441}.cad-title span{font-size:11px;letter-spacing:.12em;font-weight:900;color:var(--convaco-green)}.cad-title h2{margin:4px 0 12px;font-size:26px}.cad-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px 16px}.cad-grid label{font-size:11px;text-transform:uppercase;font-weight:900;color:#19384a;display:flex;flex-direction:column;gap:6px}.cad-grid input,.cad-grid select,.cad-grid textarea,.combo-strict,.combo-strict-filter{height:42px;border:1px solid #cbdce4;border-radius:10px;padding:8px 10px;background:#fff;font-weight:700;color:#08263a}.cad-grid textarea{height:auto;min-height:95px}.span-2{grid-column:span 2}.span-4{grid-column:span 4}.cad-actions{position:sticky;bottom:0;background:rgba(238,245,247,.9);backdrop-filter:blur(8px);padding:14px;display:flex;justify-content:flex-end;gap:10px;border-radius:16px}.home-pro{max-width:1500px;margin:0 auto 40px}.home-hero-pro{display:flex;justify-content:space-between;gap:22px;padding:30px 34px;border-radius:24px;background:radial-gradient(circle at 95% 5%,#21b583 0,#1a765f 22%,#092b3d 60%,#061d2e 100%);color:#fff;box-shadow:0 18px 42px rgba(6,29,46,.22);overflow:hidden;position:relative}.home-hero-pro h1{font-size:34px;margin:8px 0}.home-hero-pro span{font-weight:900;letter-spacing:.14em;font-size:12px}.home-hero-pro p{max-width:820px;color:#e6f5f2}.hero-badges{display:flex;gap:12px;align-items:center}.hero-badges div{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:15px 20px;min-width:130px}.hero-badges small{display:block;text-transform:uppercase;font-weight:900;color:#c8e8e1}.hero-badges strong{font-size:20px}.status-online strong{color:#fff}.home-kpis-pro{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:14px;margin:18px 0}.kpi-pro{background:#fff;border:1px solid var(--convaco-border);border-top:5px solid #0b3441;border-radius:18px;padding:16px;box-shadow:0 12px 28px rgba(6,29,46,.08);min-height:126px}.kpi-pro span{font-size:12px;font-weight:900;text-transform:uppercase;color:#476476}.kpi-pro strong{display:block;font-size:34px;line-height:1.1;margin:8px 0}.kpi-pro small{color:#607789;font-weight:700}.kpi-chart{display:grid;grid-template-columns:210px 1fr;align-items:center}.status-pend{border-top-color:#f39c12}.status-risk{border-top-color:#e74c3c}.status-train{border-top-color:#2878d7}.status-team{border-top-color:#7e57c2}.home-grid-pro{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.home-panel-pro{padding:18px}.quick-panel-pro{grid-row:span 2}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e3edf2;padding-bottom:12px;margin-bottom:14px}.panel-title h3{margin:0;font-size:18px}.panel-title p{margin:3px 0 0;color:#607789}.gear-pro{border:1px solid #cfe0e8;background:#fff;border-radius:12px;width:42px;height:38px;cursor:pointer}.quick-grid-pro{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px}.quick-grid-pro a{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #d5e3ea;border-radius:14px;text-decoration:none;color:#061d2e;background:linear-gradient(180deg,#fff,#f8fbfc)}.quick-grid-pro span{width:42px;height:42px;border-radius:12px;background:#061d2e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}.quick-grid-pro b{display:block}.quick-grid-pro small{color:#607789}.feed-pro{display:flex;flex-direction:column;gap:10px}.feed-pro a,.feed-pro div:not(.empty-pro){padding:12px;border:1px solid #e0eaf0;border-radius:12px;text-decoration:none;color:#061d2e;background:#fbfdfe}.feed-pro b{display:block}.feed-pro small{color:#607789}.empty-pro{padding:16px;border:1px dashed #bdd0db;border-radius:14px;color:#607789}.quick-modal{position:fixed;inset:0;background:rgba(6,29,46,.52);z-index:9999;display:flex;align-items:center;justify-content:center}.quick-modal[hidden]{display:none}.quick-modal-card{background:#fff;border-radius:22px;max-width:860px;width:94%;padding:20px;box-shadow:0 24px 60px rgba(0,0,0,.25)}.quick-modal-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e1ebf0;padding-bottom:12px}.quick-modal-head button{font-size:28px;border:0;background:#fff;cursor:pointer}.quick-options-pro{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-height:450px;overflow:auto;padding:16px 0}.quick-options-pro label{border:1px solid #d9e6ec;border-radius:12px;padding:10px;display:flex;gap:8px;align-items:center;font-weight:800}.quick-actions-pro{display:flex;justify-content:flex-end;gap:10px}.ed-exec-dash{max-width:1500px}.ed-filterbar-pro{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;background:#fff;border:1px solid var(--convaco-border);border-radius:18px;padding:14px;margin-bottom:14px;align-items:end}.ed-filterbar-pro label{font-size:11px;font-weight:900;text-transform:uppercase;color:#314e60}.ed-filterbar-pro input,.ed-filterbar-pro select{width:100%;height:40px;border:1px solid #cbdce4;border-radius:10px;padding:8px}.ed-kpi-pro{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:14px}.ed-kpi-pro div{background:#fff;border:1px solid var(--convaco-border);border-top:4px solid var(--convaco-green);border-radius:16px;padding:16px;box-shadow:0 10px 24px rgba(6,29,46,.07)}.ed-kpi-pro span{font-size:11px;font-weight:900;text-transform:uppercase;color:#607789}.ed-kpi-pro b{display:block;font-size:30px;margin:5px 0}.ed-layout-pro{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:14px}.ed-card-pro{padding:16px}.card-head-pro{display:flex;justify-content:space-between;border-bottom:1px solid #e2ebf0;margin-bottom:12px;padding-bottom:10px}.card-head-pro h3{margin:0}.card-head-pro span{color:#607789;font-weight:800}.sup-rank-pro,.person-rank-pro{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #e2ebf0;border-radius:12px;margin-bottom:8px}.sup-rank-pro{display:grid;grid-template-columns:1fr auto}.sup-rank-pro small{grid-column:1/3;color:#607789}.rank-pro-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.person-rank-pro img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#dbe6ec}.person-rank-pro div{flex:1}.person-rank-pro small{display:block;color:#607789}.person-rank-pro strong{font-size:18px;color:var(--convaco-green)}.person-rank-pro.danger strong{color:#d33}.ed-mini-photo,.mini-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:#061d2e;color:#fff;font-weight:900}.pill{border-radius:999px;padding:5px 9px;font-weight:900}.farol-verde{background:#e6f7ef;color:#007a4d}.farol-amarelo{background:#fff8df;color:#a06a00}.farol-vermelho{background:#fdebea;color:#b82020}@media(max-width:1100px){.cad-exec-form{grid-template-columns:1fr}.cad-grid,.home-kpis-pro,.home-grid-pro,.ed-filterbar-pro,.ed-kpi-pro,.ed-layout-pro,.rank-pro-grid{grid-template-columns:1fr}.quick-grid-pro{grid-template-columns:1fr 1fr}.span-2,.span-4{grid-column:auto}.hero-badges{flex-direction:column}.home-hero-pro{flex-direction:column}}

/* V97 - Planejamento executivo igual ao modelo enviado */
.plan-exec-page{display:flex;flex-direction:column;gap:16px;min-width:1280px;margin-top:14px}
.plan-tabs{border-bottom:0!important;gap:8px!important;min-width:0!important;margin:8px 0 14px!important}.plan-tab{border:0!important;background:#eef2f6!important;color:#0b315e!important;border-radius:10px!important;padding:15px 24px!important;box-shadow:0 1px 3px rgba(15,23,42,.06)}.plan-tab.active{background:#0bbf83!important;color:#fff!important;box-shadow:0 8px 18px rgba(11,191,131,.22)}
.plan-exec-kpis{display:grid;grid-template-columns:repeat(6,minmax(170px,1fr));gap:14px}.plan-exec-kpi{background:#fff;border:1px solid #e5edf5;border-radius:16px;padding:18px 16px;box-shadow:0 10px 28px rgba(15,23,42,.07);display:flex;align-items:center;gap:14px;min-height:92px}.plan-exec-kpi .kpi-ico{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;font-size:25px}.plan-exec-kpi span{display:block;text-transform:uppercase;color:#516b91;font-size:12px;font-weight:900;letter-spacing:.03em}.plan-exec-kpi strong{display:block;color:#071d39;font-size:26px;font-weight:900;line-height:1.05;margin:4px 0}.plan-exec-kpi small{display:block;color:#49607a;font-weight:600}.kpi-green{border-left:5px solid #12b981}.kpi-green .kpi-ico{background:#dff8ed;color:#008456}.kpi-blue .kpi-ico{background:#e8f1ff;color:#2474d8}.kpi-purple .kpi-ico{background:#f0e8ff;color:#7c3aed}.kpi-orange .kpi-ico{background:#fff0df;color:#f59e0b}.kpi-teal .kpi-ico{background:#e3f8f3;color:#0f9f8a}.kpi-money .kpi-ico{background:#e8f7ef;color:#009b6a}
.plan-exec-controls{background:#fff;border:1px solid #e2eaf3;border-radius:16px;box-shadow:0 10px 28px rgba(15,23,42,.07);overflow:hidden}.plan-exec-filter{display:grid;grid-template-columns:145px 110px 110px minmax(260px,1.2fr) minmax(230px,.9fr) 110px 160px 160px;gap:14px;align-items:end;padding:18px 20px;border-bottom:1px solid #edf2f7}.plan-exec-filter div{width:auto!important}.plan-exec-filter label{font-size:12px;text-transform:uppercase;color:#37506f;font-weight:900;margin-bottom:6px}.plan-exec-filter input,.plan-exec-filter select{height:44px;border-radius:10px;border:1px solid #cddceb;background:#fff;padding:0 14px;color:#0b315e;font-weight:700}.plan-exec-filter .btn{height:44px;border-radius:10px!important;font-weight:900;display:flex;align-items:center;justify-content:center;white-space:nowrap}.plan-export.excel{color:#0c6b45}.plan-export.pdf{color:#b42318}.filter-name{min-width:260px}
.plan-exec-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 20px;background:#fff}.plan-exec-legend b{text-transform:uppercase;color:#425b7c;font-size:12px;margin-right:4px}.tag{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:900;border:1px solid transparent}.tag em{font-style:normal;font-weight:700;color:#516b91}.tag.hn{background:#dff8ed;color:#007f55;border-color:#a7ebcb}.tag.folga{background:#efe7ff;color:#6d28d9;border-color:#d6bcfa}.tag.atestado{background:#fff3cd;color:#9a6700;border-color:#ffe08a}.tag.ferias{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.tag.falta{background:#fee2e2;color:#b42318;border-color:#fca5a5}.tag.he{background:#ffedd5;color:#c2410c;border-color:#fdba74}.tag.na{background:#e5e7eb;color:#4b5563;border-color:#d1d5db}.ativacao-info{margin-left:auto;background:#f2f7ff;border:1px solid #dbeafe;border-radius:12px;padding:9px 14px;color:#1d4ed8;display:flex;flex-direction:column;line-height:1.2}.ativacao-info small{color:#516b91;font-weight:600;margin-top:3px}
.plan-exec-table-card{background:#fff;border:1px solid #e2eaf3;border-radius:16px;box-shadow:0 10px 28px rgba(15,23,42,.07);overflow:hidden}.plan-exec-table-wrap{height:430px;overflow:auto;background:#fff}.plan-exec-table{border-collapse:separate!important;border-spacing:0!important;width:max-content!important;min-width:100%!important;font-size:13px!important}.plan-exec-table th{position:sticky!important;top:0!important;z-index:5!important;background:#f5f9ff!important;border:0!important;border-bottom:1px solid #dbe5ef!important;color:#0b315e!important;height:54px!important;padding:6px 8px!important}.plan-exec-table th.day{min-width:42px!important;width:42px!important}.plan-exec-table th.day strong{display:block;font-size:14px}.plan-exec-table th.day small{display:block;font-size:12px;color:#536b8a;margin-top:3px}.plan-exec-table th.weekend strong,.plan-exec-table th.weekend small{color:#e11d48!important}.plan-exec-table td{border:0!important;border-bottom:1px solid #e9eef5!important;color:#0b315e!important;font-weight:800!important;padding:7px 8px!important;height:52px!important;background:#fff}.plan-exec-table .sticky{position:sticky!important;z-index:4!important;background:#fff!important}.plan-exec-table th.sticky{z-index:8!important;background:#f5f9ff!important}.plan-exec-table .c-func{left:0!important;min-width:260px!important;width:260px!important}.plan-exec-table .c-cargo{left:260px!important;min-width:160px!important;width:160px!important}.plan-exec-table .c-area{left:420px!important;min-width:130px!important;width:130px!important}.emp-mini{display:flex;align-items:center;gap:10px}.emp-mini img,.emp-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#e6eef8;display:grid;place-items:center;color:#0b315e;font-weight:900}.emp-mini strong{display:block;color:#0b315e;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emp-mini small,.plan-exec-table td small{display:block;color:#607895;font-weight:700;margin-top:2px}.area-row td{height:34px!important;background:#f2fbf6!important;color:#008456!important;font-size:13px!important;font-weight:900!important;text-transform:uppercase;position:sticky!important;left:0!important;z-index:7!important;border-top:1px solid #d9f2e6!important}.chip-cell{min-width:42px!important;width:42px!important;text-align:center!important;padding:6px 4px!important}.chip{display:inline-flex;align-items:center;justify-content:center;min-width:34px;max-width:62px;height:28px;border-radius:7px;font-size:10px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid transparent;padding:0 4px}.chip.hn{background:#dff8ed;color:#008456;border-color:#c7efd9}.chip.folga{background:#eadcff;color:#6d28d9;border-color:#d8b4fe}.chip.atestado{background:#ffe8a3;color:#a16207;border-color:#facc15}.chip.ferias{background:#93c5fd;color:#0b3b8c;border-color:#60a5fa}.chip.falta{background:#fecaca;color:#b42318;border-color:#f87171}.chip.he{background:#fed7aa;color:#c2410c;border-color:#fb923c}.chip.na{background:#e5e7eb;color:#6b7280;border-color:#d1d5db}.chip.empty{background:#f8fafc;color:#94a3b8;border-color:#eef2f7}.cell-inativo{background:#f8fafc!important}.plan-exec-table tbody tr:hover td:not(.area-row td){background:#fbfdff!important}.plan-exec-footer{height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;color:#49607a;font-weight:700;border-top:1px solid #edf2f7}.plan-exec-footer select{height:38px;border:1px solid #d5e1ef;border-radius:8px;padding:0 18px;background:#fff;color:#0b315e;font-weight:900}.plan-bottom-summary{display:grid;grid-template-columns:2fr 1.25fr;gap:16px}.summary-card{background:#fff;border:1px solid #e2eaf3;border-radius:16px;padding:18px 20px;box-shadow:0 10px 28px rgba(15,23,42,.07)}.summary-card h3{margin:0 0 12px;color:#0b315e;text-transform:uppercase;font-size:14px}.summary-items{display:flex;gap:18px;flex-wrap:wrap}.summary-items span{color:#516b91;font-weight:800}.summary-items b{display:block;color:#0b315e;font-size:18px;margin-top:4px}.summary-card.values .summary-items b{color:#dc2626}.summary-card.values .summary-items span:last-child b{color:#0b315e}
@media(max-width:1400px){.plan-exec-kpis{grid-template-columns:repeat(3,1fr)}.plan-exec-filter{grid-template-columns:repeat(4,1fr)}.plan-bottom-summary{grid-template-columns:1fr}.ativacao-info{margin-left:0}}

/* V98 - Planejamento: grade mais compacta e com mais pessoas visíveis */
.plan-exec-table-wrap{height:560px!important;max-height:calc(100vh - 390px)!important;min-height:520px!important;}
.plan-exec-table th.day{min-width:34px!important;width:34px!important;max-width:34px!important;padding:4px 3px!important;}
.plan-exec-table th.day strong{font-size:12px!important;line-height:1.1!important;}
.plan-exec-table th.day small{font-size:10px!important;margin-top:1px!important;}
.plan-exec-table td{height:42px!important;padding:5px 6px!important;}
.plan-exec-table .c-func{min-width:230px!important;width:230px!important;}
.plan-exec-table .c-cargo{left:230px!important;min-width:145px!important;width:145px!important;}
.plan-exec-table .c-area{left:375px!important;min-width:125px!important;width:125px!important;}
.chip-cell{min-width:34px!important;width:34px!important;max-width:34px!important;padding:4px 2px!important;}
.chip{min-width:27px!important;max-width:34px!important;height:23px!important;border-radius:6px!important;font-size:9px!important;padding:0 2px!important;}
.emp-mini{gap:8px!important}.emp-mini img,.emp-avatar{width:32px!important;height:32px!important}.emp-mini strong{max-width:165px!important;font-size:12px!important}.emp-mini small,.plan-exec-table td small{font-size:10px!important;}
.area-row td{height:28px!important;padding:4px 8px!important;}
.plan-exec-footer{height:46px!important;}
.summary-card.values .summary-items{gap:14px!important}.summary-card.values .summary-items span{min-width:120px;}
@media(max-width:1500px){.plan-exec-table-wrap{height:520px!important;max-height:calc(100vh - 360px)!important}.plan-exec-kpi{min-height:78px!important;padding:12px!important}.plan-exec-kpi strong{font-size:22px!important}.plan-exec-kpi .kpi-ico{width:42px!important;height:42px!important}}

/* V99 - Planejamento compacto e com maior área útil de nomes */
.plan-exec-table-wrap{height:640px!important;max-height:calc(100vh - 330px)!important;min-height:610px!important;}
.plan-exec-table th{height:38px!important;padding:3px 5px!important;}
.plan-exec-table th.day{min-width:28px!important;width:28px!important;max-width:28px!important;padding:2px 1px!important;}
.plan-exec-table th.day strong{font-size:11px!important;line-height:1!important;}
.plan-exec-table th.day small{font-size:9px!important;line-height:1!important;margin-top:0!important;}
.plan-exec-table td{height:31px!important;max-height:31px!important;padding:3px 5px!important;line-height:1.05!important;vertical-align:middle!important;}
.plan-exec-table .area-row td{height:24px!important;padding:4px 8px!important;font-size:11px!important;}
.chip-cell{min-width:28px!important;width:28px!important;max-width:28px!important;padding:2px 1px!important;}
.chip{min-width:24px!important;max-width:40px!important;height:20px!important;border-radius:6px!important;font-size:8.5px!important;padding:0 2px!important;line-height:1!important;}
.chip.he{max-width:46px!important;}
.emp-mini{gap:6px!important;min-height:28px!important;}
.emp-mini img,.emp-avatar{width:26px!important;height:26px!important;font-size:11px!important;}
.emp-mini strong{max-width:178px!important;font-size:11px!important;line-height:1.05!important;}
.emp-mini small,.plan-exec-table td small{font-size:8.5px!important;line-height:1!important;margin-top:1px!important;}
.plan-exec-table .c-func{min-width:245px!important;width:245px!important;}
.plan-exec-table .c-cargo{left:245px!important;min-width:150px!important;width:150px!important;}
.plan-exec-table .c-area{left:395px!important;min-width:130px!important;width:130px!important;}
.plan-exec-table td.cell-inativo{height:31px!important;min-height:31px!important;max-height:31px!important;}
.plan-cell.cell-inativo:after{min-height:18px!important;height:18px!important;}
.plan-exec-footer{height:42px!important;padding:0 14px!important;}
.plan-exec-footer select{height:30px!important;}
.plan-bottom-summary{margin-top:10px!important;}
.summary-card{padding:14px 16px!important;}
.summary-items{gap:14px!important;}
.summary-items b{font-size:16px!important;}

/* V99 - Home como portal operacional, sem dados confidenciais */
.home-portal-v99{max-width:1500px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.portal-hero-v99{background:linear-gradient(135deg,#071827 0%,#0b2a43 58%,#0f7b5a 100%);border-radius:22px;min-height:170px;padding:28px 34px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 18px 44px rgba(7,24,39,.22)}.portal-hero-v99 .eyebrow{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:#d7eef3;margin-bottom:10px}.portal-hero-v99 h1{font-size:36px;line-height:1;margin:0 0 12px;color:#fff}.portal-hero-v99 p{max-width:780px;margin:0;color:#e6f4f6;font-weight:600}.portal-user-card{display:grid;grid-template-columns:repeat(3,130px);gap:10px}.portal-user-card div{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:14px}.portal-user-card small{display:block;text-transform:uppercase;font-size:10px;color:#d7eef3;font-weight:900}.portal-user-card strong{display:block;color:#fff;font-size:17px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-status-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.portal-status-strip div{background:#fff;border:1px solid #dfe8f2;border-radius:16px;padding:18px 20px;box-shadow:0 12px 28px rgba(7,24,39,.08);border-top:4px solid #0bbf83}.portal-status-strip span{display:block;text-transform:uppercase;color:#516b91;font-size:12px;font-weight:900}.portal-status-strip b{display:block;color:#071827;font-size:26px;margin:5px 0 2px}.portal-status-strip small{color:#607895;font-weight:700}.portal-layout-v99{display:grid;grid-template-columns:minmax(680px,1fr) 360px;gap:18px}.portal-card-v99{background:#fff;border:1px solid #dfe8f2;border-radius:18px;padding:20px;box-shadow:0 12px 28px rgba(7,24,39,.08)}.portal-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.portal-card-v99 h2{margin:0;color:#071827;font-size:20px}.portal-card-v99 p{margin:4px 0 0;color:#607895;font-weight:600}.portal-gear{height:42px;border-radius:10px;border:1px solid #cfe0ef;background:#f8fbfe;color:#0b315e;font-weight:900;padding:0 14px;cursor:pointer}.portal-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.portal-quick-grid a{display:flex;align-items:center;gap:12px;text-decoration:none;border:1px solid #d9e6f1;border-radius:14px;padding:14px;background:#fbfdff;color:#071827;min-height:74px;transition:.15s}.portal-quick-grid a:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(7,24,39,.10);border-color:#0bbf83}.portal-quick-grid span{width:42px;height:42px;border-radius:12px;background:#0b2a43;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:950}.portal-quick-grid b{display:block;font-size:15px}.portal-quick-grid small{display:block;color:#607895;font-weight:600;margin-top:2px}.portal-side-v99{display:flex;flex-direction:column;gap:18px}.action-list-v99{display:grid;gap:10px;margin-top:12px}.action-list-v99 div{display:flex;align-items:center;gap:12px;background:#f8fbfe;border:1px solid #e4edf5;border-radius:12px;padding:12px}.action-list-v99 b{font-size:22px;color:#0b2a43}.action-list-v99 span{color:#607895;font-weight:700}.portal-text{line-height:1.5}.module-status-v99{display:grid;gap:10px;margin-top:12px}.module-status-v99 span{display:flex;justify-content:space-between;border-bottom:1px solid #edf2f7;padding:9px 0;color:#0b315e;font-weight:800}.module-status-v99 b{color:#0bbf83}.quick-modal[hidden]{display:none!important}@media(max-width:1300px){.portal-layout-v99{grid-template-columns:1fr}.portal-quick-grid{grid-template-columns:repeat(3,1fr)}.portal-user-card{grid-template-columns:1fr}.portal-hero-v99{align-items:flex-start;flex-direction:column}.portal-status-strip{grid-template-columns:repeat(2,1fr)}}
/* V101 - correção de segurança da aba planejamento */
.plan-exec-table tbody tr{height:54px!important;min-height:54px!important;}
.plan-exec-table td{padding:6px 8px!important;}
.plan-exec-grid{max-height:620px!important;}
.plan-exec-table .emp-mini{min-height:42px!important;}
.plan-exec-table .chip,.plan-exec-table .day-chip{min-height:26px!important;height:26px!important;padding:3px 6px!important;}


/* V102 - Planejamento compacto e com mais pessoas visíveis */
.plan-exec-table-wrap{
  height:680px!important;
  max-height:calc(100vh - 300px)!important;
  min-height:600px!important;
}
.plan-exec-table tbody tr,
.plan-exec-table tr.plan-func-row{
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
}
.plan-exec-table td{
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  padding:3px 5px!important;
  line-height:1.05!important;
  vertical-align:middle!important;
}
.plan-exec-table th{height:34px!important;padding:2px 4px!important;}
.plan-exec-table th.day,
.plan-exec-table td.chip-cell{
  min-width:26px!important;
  width:26px!important;
  max-width:26px!important;
  padding:2px 1px!important;
}
.plan-exec-table th.day strong{font-size:10.5px!important;line-height:1!important;}
.plan-exec-table th.day small{font-size:8.5px!important;line-height:1!important;margin-top:0!important;}
.plan-exec-table .chip{
  min-width:24px!important;
  max-width:32px!important;
  height:20px!important;
  min-height:20px!important;
  padding:0 2px!important;
  font-size:8.5px!important;
  border-radius:5px!important;
}
.plan-exec-table .emp-mini{min-height:28px!important;gap:6px!important;}
.plan-exec-table .emp-mini img,.plan-exec-table .emp-avatar{width:26px!important;height:26px!important;font-size:11px!important;}
.plan-exec-table .emp-mini strong{font-size:11px!important;max-width:160px!important;line-height:1!important;}
.plan-exec-table .emp-mini small,.plan-exec-table td small{font-size:8px!important;line-height:1!important;margin-top:1px!important;}
.plan-exec-table .c-func{min-width:210px!important;width:210px!important;}
.plan-exec-table .c-cargo{left:210px!important;min-width:130px!important;width:130px!important;}
.plan-exec-table .c-area{left:340px!important;min-width:115px!important;width:115px!important;}
.plan-exec-table .area-row td{height:22px!important;min-height:22px!important;max-height:22px!important;padding:2px 6px!important;font-size:10px!important;}
.plan-exec-footer{height:38px!important;padding:0 12px!important;}


/* V103 - Planejamento compacto e estável */
.plan-exec-table-card{min-height:620px!important;}
.plan-exec-table-wrap{height:560px!important;max-height:560px!important;overflow:auto!important;}
.plan-exec-table{font-size:11px!important;border-collapse:separate!important;border-spacing:0!important;}
.plan-exec-table th{height:28px!important;padding:3px 5px!important;line-height:1.05!important;}
.plan-exec-table td{height:38px!important;min-height:38px!important;padding:2px 4px!important;line-height:1.05!important;vertical-align:middle!important;}
.plan-exec-table .area-row td{height:26px!important;min-height:26px!important;padding:5px 8px!important;font-size:12px!important;}
.plan-exec-table .day{min-width:38px!important;width:38px!important;max-width:38px!important;}
.plan-exec-table .chip-cell{min-width:38px!important;width:38px!important;max-width:38px!important;padding:1px 2px!important;text-align:center!important;}
.plan-exec-table .chip{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:28px!important;max-width:34px!important;height:22px!important;padding:0 3px!important;border-radius:6px!important;font-size:9px!important;line-height:1!important;overflow:hidden!important;white-space:nowrap!important;}
.plan-exec-table .emp-cell{height:38px!important;min-height:38px!important;}
.plan-exec-table .emp-mini{gap:8px!important;min-height:34px!important;}
.plan-exec-table .emp-mini img,.plan-exec-table .emp-avatar{width:28px!important;height:28px!important;min-width:28px!important;font-size:11px!important;}
.plan-exec-table .emp-mini strong{font-size:11px!important;line-height:1.05!important;max-width:210px!important;display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.plan-exec-table .emp-mini small,.plan-exec-table td small{font-size:9px!important;line-height:1!important;}
.plan-exec-table .c-func{min-width:265px!important;width:265px!important;max-width:265px!important;}
.plan-exec-table .c-cargo{min-width:175px!important;width:175px!important;max-width:175px!important;}
.plan-exec-table .c-area{min-width:170px!important;width:170px!important;max-width:170px!important;}
.plan-exec-footer{height:44px!important;padding:6px 10px!important;}
.cell-inativo{background-size:10px 10px!important;}
/* V106 ajustes solicitados */
.mini-red,.btn.mini-red{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fecaca!important;border-radius:8px;font-weight:900;padding:6px 10px}.actions-cell{white-space:nowrap;display:flex;gap:6px;align-items:center}.seg-subguias{margin-bottom:14px}.seg-subtabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.powerbi-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 14px}.powerbi-grid{display:grid;grid-template-columns:1.4fr 1.2fr .9fr;gap:14px;margin-bottom:14px}.bi-card canvas{width:100%;display:block}.seg-rank-grid{grid-template-columns:1fr 1fr}.podium-row{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:10px;align-items:end;margin-bottom:12px}.podium-card{border:1px solid #dbe8ef;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbfc);padding:12px;text-align:center;min-height:168px;box-shadow:0 10px 24px rgba(6,29,46,.07)}.podium-card.pos1{transform:translateY(-8px);border-top:5px solid #00a86b}.podium-row.danger .podium-card.pos1{border-top-color:#ef4444}.podium-card.pos2{border-top:5px solid #2878d7}.podium-card.pos3{border-top:5px solid #f59e0b}.podium-card img,.podium-card span{width:62px;height:62px;border-radius:50%;object-fit:cover;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;background:#061d2e;color:#fff;font-weight:950;font-size:24px}.podium-card b{display:inline-block;background:#eef5f7;border-radius:999px;padding:4px 10px;margin-bottom:6px}.podium-card strong{display:block;font-size:13px;line-height:1.2}.podium-card small{display:block;color:#607789;margin-top:4px}.metricas-filters{grid-template-columns:repeat(5,minmax(150px,1fr));align-items:end}.metricas-filters select,.metricas-filters input{height:42px}.muted-center{text-align:center;color:#607789;padding:18px}@media(max-width:1100px){.powerbi-kpis,.powerbi-grid,.seg-rank-grid,.metricas-filters{grid-template-columns:1fr}.podium-row{grid-template-columns:1fr}}

/* V107 - acabamento profissional Segurança / Dashboard Desvios */
.eyebrow{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:950;color:#00a86b;margin-bottom:4px}.seg-page-head{max-width:1180px;margin-left:auto;margin-right:auto;border:1px solid #d8e6ee;box-shadow:0 18px 45px rgba(6,29,46,.08)}.seg-hero-panel,.seg-command-center{max-width:1180px;margin:0 auto 16px;background:linear-gradient(135deg,#062238 0%,#073d3e 55%,#00a86b 140%);border-radius:20px;padding:22px;border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 55px rgba(6,29,46,.16);display:flex;justify-content:space-between;gap:18px;align-items:center}.seg-hero-copy span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#6ee7b7;font-weight:950}.seg-hero-copy h2{margin:6px 0 6px;color:#fff;font-size:25px;letter-spacing:-.02em}.seg-hero-copy p{margin:0;color:#c8dce7}.seg-hero-badges{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);border-radius:16px;padding:14px 18px;color:#fff;min-width:210px;text-align:center}.seg-hero-badges b{display:block;font-size:22px}.seg-hero-badges small{color:#cce2e6}.seg-action-grid{max-width:1180px;margin:0 auto 16px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.seg-action-card,.seg-choice-card{background:linear-gradient(180deg,#fff,#f8fbfd);border:1px solid #d7e6ee;border-radius:18px;padding:18px;display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:center;text-decoration:none;color:#061d2e;box-shadow:0 14px 34px rgba(6,29,46,.07);transition:.18s ease}.seg-action-card:hover,.seg-choice-card:hover{transform:translateY(-2px);box-shadow:0 20px 45px rgba(6,29,46,.13);border-color:#9edbc3}.seg-action-icon,.seg-choice-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#064337;color:#fff;font-weight:950;font-size:21px;box-shadow:inset 0 0 0 4px rgba(255,255,255,.10)}.seg-action-icon.blue{background:#0b4a73}.seg-action-card strong,.seg-choice-card strong{display:block;font-size:17px;margin-bottom:5px}.seg-action-card small,.seg-choice-card small{color:#627789;line-height:1.35}.seg-command-center{display:block;background:#fff;padding:18px 18px 20px;border-color:#d7e6ee}.seg-section-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;padding:2px 4px 14px;border-bottom:1px solid #e4edf3;margin-bottom:14px}.seg-section-title h3{margin:0;font-size:22px;color:#061d2e}.seg-section-title small{color:#627789}.pro-tabs{background:#eef5f7;border:1px solid #dbe8ef;border-radius:14px;padding:6px;margin-bottom:14px}.pro-tabs .plan-tab{border-radius:11px;border:0;background:transparent}.pro-tabs .plan-tab.active{background:#00a86b;color:#fff;box-shadow:0 10px 22px rgba(0,168,107,.22)}.seg-dash-choice{display:grid;grid-template-columns:1fr 1fr;gap:14px}.seg-choice-card{grid-template-columns:54px 1fr auto;border-left:5px solid #00a86b}.seg-choice-card.premium{border-left-color:#2878d7}.seg-choice-card em{font-style:normal;font-weight:900;color:#00a86b;background:#e5f8ef;padding:8px 12px;border-radius:999px;white-space:nowrap}.metricas-shell{max-width:1180px}.metricas-tabs{margin-bottom:16px}.metricas-filter-pro{background:linear-gradient(180deg,#f8fbfd,#fff);border:1px solid #d7e6ee;border-radius:18px;padding:16px;display:grid;grid-template-columns:110px 130px 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:14px;box-shadow:0 10px 30px rgba(6,29,46,.06)}.metricas-filter-pro label{display:block;font-size:11px;text-transform:uppercase;color:#3d5367;font-weight:950;margin-bottom:6px}.metricas-filter-pro input,.metricas-filter-pro select{height:42px;border:1px solid #cfe0ea;border-radius:11px;background:#fff;padding:0 12px;font-weight:800;color:#061d2e}.metricas-actions{display:flex;gap:8px;align-items:end}.metricas-actions .btn{height:42px;display:inline-flex;align-items:center}.metricas-kpi-pro{margin-bottom:14px}.metricas-kpi-pro .desvio-card{border:1px solid #d7e6ee;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbfd);padding:16px 18px;box-shadow:0 14px 34px rgba(6,29,46,.07);border-top:5px solid #2878d7}.metricas-kpi-pro .desvio-card.warn{border-top-color:#f59e0b}.metricas-kpi-pro .desvio-card.ok{border-top-color:#00a86b}.metricas-kpi-pro .desvio-card.danger{border-top-color:#ef4444}.metricas-kpi-pro .desvio-card small{font-size:11px;text-transform:uppercase;color:#52697a;font-weight:950}.metricas-kpi-pro .desvio-card strong{font-size:34px;display:block;line-height:1.05;margin:8px 0 2px;color:#061d2e}.metricas-kpi-pro .desvio-card span{color:#7a8b98;font-size:12px}.metricas-chart-pro{grid-template-columns:1.35fr 1fr .82fr;margin-bottom:16px}.metricas-chart-pro .bi-card{border-radius:18px;padding:16px;border:1px solid #d7e6ee;box-shadow:0 14px 34px rgba(6,29,46,.07);overflow:hidden}.metricas-chart-pro .panel-title{border-bottom:1px solid #e4edf3;padding-bottom:10px;margin-bottom:8px}.metricas-chart-pro .panel-title strong{font-size:15px}.metricas-rank-pro{margin-bottom:16px}.metricas-rank-pro .ed-card-pro{background:#fff;border:1px solid #d7e6ee;border-radius:20px;padding:16px;box-shadow:0 16px 38px rgba(6,29,46,.08)}.metricas-rank-pro .card-head-pro{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #e4edf3;margin-bottom:14px;padding-bottom:12px}.metricas-rank-pro .card-head-pro h3{margin:0;font-size:17px}.metricas-rank-pro .card-head-pro span{font-size:12px;color:#627789;font-weight:800}.metricas-rank-pro .podium-card{min-height:190px;border-radius:18px}.metricas-rank-pro .person-rank-pro{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #e1edf4;border-radius:14px;background:#fbfdfe;margin-top:8px}.metricas-rank-pro .person-rank-pro img{width:38px;height:38px;border-radius:11px;object-fit:cover;background:#e7eef4}.metricas-rank-pro .person-rank-pro b{font-size:13px}.metricas-rank-pro .person-rank-pro small{display:block;color:#627789}.metricas-rank-pro .person-rank-pro>strong{color:#00a86b}.metricas-rank-pro .person-rank-pro.danger{background:#fff8f8}.metricas-rank-pro .person-rank-pro.danger>strong{color:#ef4444}.metricas-table-card{border-radius:20px!important;border:1px solid #d7e6ee!important;box-shadow:0 16px 38px rgba(6,29,46,.08)!important}.metricas-table-card .erp-table th{position:sticky;top:0;background:#dceaf3!important;z-index:1}.metricas-metas-panel{max-width:1180px;border-radius:20px!important;box-shadow:0 16px 38px rgba(6,29,46,.08)!important}@media(max-width:1100px){.seg-hero-panel,.seg-section-title{display:block}.seg-hero-badges{margin-top:14px}.seg-action-grid,.seg-dash-choice,.metricas-filter-pro,.metricas-chart-pro,.metricas-rank-pro,.metricas-kpi-pro{grid-template-columns:1fr}.seg-choice-card{grid-template-columns:54px 1fr}.seg-choice-card em{grid-column:1/-1;text-align:center}.metricas-actions{display:grid;grid-template-columns:1fr 1fr}.metricas-actions .btn{justify-content:center}}

/* V109 Segurança: rotina operacional limpa e dashboard no Painel Gerencial */
.seg-operacional-only{max-width:1180px;margin:18px auto 0;}
.seg-dash-choice.one{grid-template-columns:1fr;}
.seg-painel-pro{padding:0;background:transparent;border:0;}
.seg-pro-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 28px;margin-bottom:18px;border-radius:24px;background:linear-gradient(135deg,#062d2c,#0b5a4c 55%,#0e7667);color:white;box-shadow:0 22px 50px rgba(0,53,58,.18)}
.seg-pro-hero h2{margin:3px 0 5px;font-size:30px;color:white}.seg-pro-hero p{margin:0;color:#d9fffa}.seg-pro-hero .eyebrow{color:#86efac;letter-spacing:.12em;text-transform:uppercase;font-weight:900}.seg-pro-hero .btn{background:#10b981;color:white;border:0}
.seg-pro-filters{display:grid;grid-template-columns:240px 280px 1fr 100px;gap:12px;align-items:end;padding:16px;margin-bottom:16px;background:#fff;border:1px solid #dbe8f2;border-radius:18px;box-shadow:0 14px 38px rgba(15,23,42,.06)}
.seg-pro-filters label{font-size:11px;font-weight:900;text-transform:uppercase;color:#334155}.seg-pro-filters select,.seg-pro-filters input{width:100%;height:40px;border:1px solid #cbddeb;border-radius:10px;padding:0 12px;background:white;font-weight:700;color:#0f172a}
.seg-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.seg-kpi{position:relative;overflow:hidden;padding:18px 18px 16px;border-radius:18px;background:#fff;border:1px solid #dbe8f2;box-shadow:0 14px 34px rgba(15,23,42,.06)}.seg-kpi:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:#10b981}.seg-kpi.danger:before{background:#ef4444}.seg-kpi.warn:before{background:#f59e0b}.seg-kpi.purple:before{background:#8b5cf6}.seg-kpi span{display:block;font-size:12px;font-weight:900;text-transform:uppercase;color:#475569}.seg-kpi strong{display:block;margin-top:8px;font-size:34px;line-height:1;color:#0f172a}.seg-kpi small{display:block;margin-top:8px;color:#64748b;font-weight:700}
.seg-chart-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px;margin-bottom:16px}.seg-rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.seg-bi-card{background:#fff;border:1px solid #dbe8f2;border-radius:20px;box-shadow:0 16px 42px rgba(15,23,42,.07);padding:16px}.seg-card-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5edf4;padding-bottom:10px;margin-bottom:12px}.seg-card-head h3{margin:0;font-size:16px;color:#0f172a}.seg-card-head span{font-weight:800;color:#64748b}.seg-bi-card canvas{width:100%;height:190px;display:block}.seg-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.seg-podium-card{text-align:center;border:1px solid #dbe8f2;border-radius:18px;padding:14px;background:linear-gradient(180deg,#fff,#f8fbfd)}.seg-podium-card.pos1{border-top:5px solid #10b981}.seg-podium-card.pos2{border-top:5px solid #2563eb}.seg-podium-card.pos3{border-top:5px solid #f59e0b}.seg-podium.bad .seg-podium-card{border-top-color:#ef4444}.seg-photo{width:68px;height:68px;margin:0 auto 8px;border-radius:999px;background:#0b2235;color:white;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:26px}.seg-photo img{width:100%;height:100%;object-fit:cover}.seg-podium-card strong{display:block;font-size:18px;color:#0f172a}.seg-podium-card span{display:block;margin-top:6px;min-height:34px;font-size:12px;font-weight:900;text-transform:uppercase;color:#0f172a}.seg-podium-card small{display:block;color:#64748b;font-weight:800}.seg-table-card .table-wrap{max-height:430px;overflow:auto}.seg-table-card table th{position:sticky;top:0;z-index:1}
@media(max-width:1100px){.seg-pro-filters,.seg-kpi-grid,.seg-chart-grid,.seg-rank-grid{grid-template-columns:1fr}.seg-pro-hero{flex-direction:column;align-items:flex-start}}
/* V111 - Segurança reorganizada */
.painel-tabs.sub-tabs{background:#eef7f6;border:1px solid #d5e7ec;border-radius:16px;padding:8px;gap:8px;margin-bottom:18px}
.painel-tabs.sub-tabs a{border-radius:12px;padding:12px 18px;background:#fff;border:1px solid #d9e8ee;font-weight:900;color:#0b2236;text-decoration:none}
.painel-tabs.sub-tabs a.active{background:#00a876;color:#fff;border-color:#00a876;box-shadow:0 12px 28px rgba(0,168,118,.22)}
.seg-farois-pro,.seg-painel-pro{background:#fff;border:1px solid #dbe8f2;border-radius:22px;padding:20px;box-shadow:0 16px 42px rgba(15,23,42,.07)}
.seg-sec-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:22px;border-radius:20px;background:linear-gradient(135deg,#06283a,#00664f);color:#fff}.seg-sec-head h2{color:#fff;margin:4px 0}.seg-sec-head p{color:#e9fffa;margin:0}.seg-sec-head .eyebrow{color:#8fffd6}

/* V123 - Painel Gerencial: Organograma executivo por centro de custo */
.org-panel{background:#fff;border:1px solid #dbe8f2;border-radius:22px;padding:20px;box-shadow:0 16px 42px rgba(15,23,42,.07)}
.org-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-radius:20px;background:linear-gradient(135deg,#06283a,#00664f);color:#fff;margin-bottom:16px}.org-hero h2{color:#fff;margin:4px 0;font-size:28px}.org-hero p{color:#e9fffa;margin:0}.org-hero .eyebrow{color:#8fffd6}
.org-filter{display:grid;grid-template-columns:1.2fr .8fr auto;gap:12px;align-items:end;background:#f8fbfd;border:1px solid #d7e6ee;border-radius:18px;padding:14px;margin-bottom:16px}.org-filter label{font-size:11px;font-weight:950;text-transform:uppercase;color:#334155}.org-filter select{width:100%;height:42px;border:1px solid #cbddeb;border-radius:11px;background:#fff;padding:0 12px;font-weight:800;color:#0f172a}
.org-kpis{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;margin-bottom:16px}.org-kpis div{background:#fff;border:1px solid #dbe8f2;border-radius:16px;padding:15px 14px;box-shadow:0 10px 26px rgba(15,23,42,.05);border-top:5px solid #0b5a4c}.org-kpis b{display:block;font-size:26px;color:#0f172a;line-height:1}.org-kpis span{display:block;margin-top:7px;font-size:12px;font-weight:900;color:#64748b;text-transform:uppercase}
.org-main-grid{display:grid;grid-template-columns:1fr 340px;gap:16px}.org-chart-card,.org-side-card{background:#fff;border:1px solid #dbe8f2;border-radius:20px;padding:16px;box-shadow:0 14px 34px rgba(15,23,42,.06)}.org-level{border-top:1px solid #e5edf4;padding:14px 0}.org-level-top{border-top:0;padding-top:0}.org-level h3{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#0b2236}.org-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.org-row.top .org-person{min-width:320px}.org-person{position:relative;display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;min-width:250px;max-width:360px;background:#f8fbfd;border:1px solid #dbe8f2;border-radius:14px;padding:10px;border-left:5px solid #64748b}.org-person.gerente{border-left-color:#06283a}.org-person.gestor{border-left-color:#2563eb}.org-person.coordenador{border-left-color:#10b981}.org-person.supervisor{border-left-color:#f59e0b}.org-person.tecnico{border-left-color:#22c55e}.org-person.executante{border-left-color:#64748b}.org-person.administrativo{border-left-color:#0ea5e9}.org-person.zelador{border-left-color:#f97316}.org-person.indireto{border-left-color:#8b5cf6}.org-avatar{width:46px;height:46px;border-radius:13px;background:#0b2236;color:#fff;display:grid;place-items:center;overflow:hidden;font-weight:950}.org-avatar img{width:100%;height:100%;object-fit:cover}.org-info strong{display:block;color:#0f172a;font-size:12px;line-height:1.1;text-transform:uppercase}.org-info small{display:block;color:#334155;font-weight:800;margin-top:3px}.org-info em{display:block;color:#64748b;font-style:normal;font-size:11px;margin-top:2px}.org-person i{font-style:normal;background:#dcfce7;color:#166534;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:950}.org-empty{padding:12px 14px;border:1px dashed #cbddeb;border-radius:14px;color:#64748b;background:#f8fbfd;font-weight:800}.org-exec-blocks{margin-top:8px;display:grid;gap:8px}.org-bucket{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #dbe8f2;border-radius:15px;padding:12px 14px;background:#fbfdfe;border-left:5px solid #64748b}.org-bucket.tecnico{border-left-color:#22c55e}.org-bucket.exec{border-left-color:#64748b}.org-bucket.adm{border-left-color:#0ea5e9}.org-bucket.zel{border-left-color:#f97316}.org-bucket.ind{border-left-color:#8b5cf6}.org-bucket strong{display:block;color:#0f172a;text-transform:uppercase}.org-bucket span{display:block;color:#64748b;font-weight:800;font-size:12px}.org-people-list{display:none;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:8px;padding:8px;border:1px dashed #dbe8f2;border-radius:15px;background:#fbfdfe}.org-people-list.open{display:grid}.org-side{display:grid;gap:16px;align-content:start}.org-side-card h3{margin:0 0 12px;font-size:16px;color:#0f172a}.org-area-row,.org-total-line{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #e5edf4;color:#334155;font-weight:800}.org-area-row b,.org-total-line b{color:#0f172a}.org-total-line.ind b{color:#7c3aed}.org-total-line.total{border-top:2px solid #dbe8f2;margin-top:8px;font-size:17px}.org-side-card small{display:block;margin-top:12px;color:#64748b;line-height:1.35}
@media(max-width:1200px){.org-kpis{grid-template-columns:repeat(4,1fr)}.org-main-grid{grid-template-columns:1fr}.org-filter{grid-template-columns:1fr}.org-row{justify-content:flex-start}.org-row.top .org-person{min-width:250px}}@media(max-width:700px){.org-kpis{grid-template-columns:repeat(2,1fr)}.org-person{min-width:100%;grid-template-columns:42px 1fr}.org-person i{grid-column:1/-1;width:max-content}.org-hero{display:block}.org-hero .btn{margin-top:12px}}

/* V125 - Organograma em árvore ilustrada + exportações */
.org-hero{display:flex;justify-content:space-between;align-items:center;gap:18px}
.org-hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.org-export-actions{margin:12px 0 16px;display:flex;justify-content:flex-end;align-items:center;gap:10px;background:#f8fbfd;border:1px solid #dbe8f2;border-radius:16px;padding:10px 12px}.org-export-actions strong{margin-right:auto;color:#0b2236;text-transform:uppercase;font-size:12px;letter-spacing:.04em}
.org-tree-card{overflow:auto}.org-tree-title{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px}.org-tree-title h3{margin:0;color:#0f172a}.org-tree-title span{color:#64748b;font-weight:800;font-size:12px}.org-tree{min-width:980px;padding:18px 10px 6px;background:linear-gradient(180deg,#fff,#fbfdfe);border:1px solid #e5edf4;border-radius:20px}.org-tree-level{position:relative;display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding:8px 0 18px}.org-tree-level:before{content:"";position:absolute;top:-10px;left:12%;right:12%;height:2px;background:#94a3b8}.org-l1:before{display:none}.org-node-wrap{position:relative}.org-node-wrap:before{content:"";position:absolute;top:-18px;left:50%;width:2px;height:18px;background:#94a3b8}.org-l1 .org-node-wrap:before{display:none}.org-connector.down{height:24px;width:2px;background:#0f766e;margin:0 auto 4px;position:relative}.org-connector.down:after{content:"";position:absolute;bottom:-5px;left:-5px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #0f766e}.org-tree .org-person{box-shadow:0 8px 18px rgba(15,23,42,.08);background:#fff}.org-tree .gerente{transform:scale(1.05)}.supervisor-branch{display:grid;gap:8px;justify-items:center}.mini-team{border:1px solid #fed7aa;background:#fff7ed;border-radius:12px;padding:7px 10px;text-align:center;color:#9a3412;font-weight:950;min-width:115px}.mini-team span{display:block;font-size:10px;text-transform:uppercase}.mini-team b{font-size:15px}.org-team-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:4px}.team-pill{border:1px solid #dbe8f2;border-radius:14px;padding:12px;text-align:center;background:#fff;border-top:4px solid #64748b}.team-pill strong{display:block;text-transform:uppercase;color:#0f172a;font-size:12px}.team-pill span{display:block;font-size:24px;font-weight:950;color:#0b2236}.team-pill.tecnico{border-top-color:#22c55e}.team-pill.exec{border-top-color:#64748b}.team-pill.adm{border-top-color:#0ea5e9}.team-pill.ind{border-top-color:#8b5cf6}.org-separated-groups{margin-top:14px;display:grid;gap:10px}.org-separated-groups details{border:1px solid #dbe8f2;border-radius:16px;background:#fff;overflow:hidden}.org-separated-groups summary{cursor:pointer;padding:12px 14px;font-weight:950;color:#0b2236;background:#f8fbfd}.org-separated-groups .org-people-list{border:0;border-top:1px dashed #dbe8f2;border-radius:0}.org-tree .org-person i{display:none}@media(max-width:1200px){.org-team-strip{grid-template-columns:repeat(2,1fr)}.org-hero{display:block}.org-hero-actions{margin-top:12px}.org-export-actions{justify-content:flex-start}}

/* V126 - Aba Medição executiva */
.medicao-page{display:flex;flex-direction:column;gap:18px}.med-hero{border:1px solid #dbe8f2;border-radius:24px;padding:24px;background:linear-gradient(135deg,#061b30,#0f3b5c 65%,#0f766e);color:#fff;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;box-shadow:0 18px 42px rgba(6,27,48,.22)}.med-hero h1{font-size:34px;margin:4px 0}.med-hero p{margin:0;color:#d7e9f6;max-width:760px}.med-filter{min-width:280px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:12px}.med-filter label{color:#d7f5e8}.med-filter select{border:0}.med-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.med-kpi{position:relative;overflow:hidden;background:#fff;border:1px solid #dbe8f2;border-radius:18px;padding:18px;box-shadow:0 12px 30px rgba(15,43,70,.08)}.med-kpi:before{content:"";position:absolute;left:0;top:0;height:5px;width:100%;background:#2563eb}.med-kpi.red:before{background:#dc2626}.med-kpi.green:before{background:#16a34a}.med-kpi span{font-size:11px;text-transform:uppercase;font-weight:900;color:#64748b}.med-kpi strong{display:block;font-size:26px;color:#061b30;margin:8px 0 4px}.med-kpi small{color:#718096}.med-grid-main{display:grid;grid-template-columns:1.6fr .8fr;gap:16px}.med-form,.med-insight-card,.med-chart-card,.med-table-card{background:#fff;border:1px solid #dbe8f2;border-radius:20px;padding:18px;box-shadow:0 12px 32px rgba(15,43,70,.07)}.med-form h3,.med-insight-card h3,.med-chart-card h3{margin:0 0 14px;color:#061b30}.med-form-grid{grid-template-columns:repeat(4,1fr)}.med-insight-card{background:linear-gradient(180deg,#fff,#f4fbf8)}.med-insight-card p{color:#536b80;line-height:1.5}.med-legend{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-weight:800;color:#334155}.med-legend span{width:11px;height:11px;border-radius:99px;display:inline-block}.med-legend .m1{background:#0f766e}.med-legend .m2{background:#2563eb}.med-legend .m3{background:#dc2626}.med-legend .m4{background:#16a34a}.med-charts{display:grid;grid-template-columns:1fr 1fr;gap:16px}.med-chart-card canvas{width:100%;height:300px;display:block}.med-table-card .table-wrap{max-height:430px;overflow:auto}.med-table-card table th{white-space:nowrap}.med-table-card table td{font-size:12px}.alert.ok{background:#e8fff1;color:#166534;border-color:#b7f7ca}@media(max-width:1100px){.med-hero,.med-grid-main{grid-template-columns:1fr;display:grid}.med-kpis,.med-charts{grid-template-columns:1fr 1fr}.med-form-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.med-kpis,.med-charts,.med-form-grid{grid-template-columns:1fr}.med-hero h1{font-size:26px}.med-filter{min-width:0;width:100%}}
.med-attachments{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.med-form input[type=file]{background:#fff;padding:8px;border:1px dashed #b8cfe5;border-radius:10px}.med-form small a{font-weight:800;color:#0f766e;text-decoration:none}.med-form small a:hover{text-decoration:underline}
.ed-kpi-click{transition:.15s ease;}
.ed-kpi-click:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.10);}
.ed-kpi-click.active{outline:3px solid rgba(0,151,92,.22);box-shadow:0 0 0 2px rgba(0,151,92,.20),0 10px 24px rgba(0,0,0,.12);}

/* V150 - Saídas: leitura de funcionário e saldo lógico sem alterar compras */
.saidas-form .func-token-field{grid-column:3/5!important;margin-bottom:0!important;padding:0!important;background:transparent!important;border:0!important;}
.saidas-form .func-token-field .scan-btn{height:30px!important;padding:0 10px!important;margin-bottom:4px!important;font-size:11px!important;align-self:flex-start!important;}
.saidas-form .func-token-field input{height:38px!important;}
.saidas-form .func-field{grid-column:3/4!important;}
@media(max-width:1100px){.saidas-form .func-token-field,.saidas-form .func-field{grid-column:auto!important;}}

/* ===== CUSTOS - DASHBOARD EXECUTIVO ISOLADO ===== */
.custo-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#102f24,#0f5132 55%,#1f6b42);color:#fff;border-radius:24px;padding:24px 28px;box-shadow:0 18px 45px rgba(15,81,50,.22);margin-bottom:18px}.custo-hero h2{margin:4px 0 6px;font-size:28px}.custo-hero p{margin:0;opacity:.9;max-width:860px}.custo-filtros,.custo-upload-box{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;align-items:end;background:#f4fbf6;border:1px solid #d7eadb;border-radius:18px;padding:16px;margin:16px 0}.custo-filtros label,.custo-upload-box label{font-weight:800;color:#17412b;font-size:12px}.custo-filtros input,.custo-filtros select,.custo-upload-box input{width:100%;margin-top:6px;border:1px solid #b6d6bf;border-radius:10px;padding:10px;background:#fff}.custo-upload-box{grid-template-columns:1fr auto}.custo-total-card{background:linear-gradient(135deg,#e6f7e9,#fff);border-left:8px solid #11823a;border-radius:20px;padding:18px 22px;margin:16px 0;box-shadow:0 12px 28px rgba(10,50,30,.12)}.custo-total-card span{font-size:12px;text-transform:uppercase;font-weight:900;color:#2f6f42}.custo-total-card strong{display:block;font-size:38px;color:#102f24}.custo-total-card small{color:#64748b}.custo-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0}.custo-kpi{background:#fff;border:1px solid #d8eadc;border-radius:16px;padding:13px 14px;box-shadow:0 10px 22px rgba(10,50,30,.08);position:relative;overflow:hidden}.custo-kpi b{display:block;font-size:12px;color:#123b26}.custo-kpi strong{display:block;margin:5px 0 10px;font-size:16px}.custo-kpi i,.custo-bar-line i{display:block;height:7px;background:linear-gradient(90deg,#1a8f3f,#8cc63f);border-radius:999px}.custo-grid-main{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.custo-card{background:#fff;border:1px solid #dceade;border-radius:22px;padding:18px;box-shadow:0 14px 32px rgba(10,50,30,.10)}.custo-card.wide{grid-column:span 2}.custo-card h3{margin:0 0 14px;color:#123b26}.custo-bars{display:flex;flex-direction:column;gap:10px}.custo-bar-line{display:grid;grid-template-columns:120px 1fr 110px;gap:10px;align-items:center;font-size:12px}.custo-bar-line>div{height:9px;border-radius:99px;background:#edf7ef;overflow:hidden}.custo-bar-line b{text-align:right}.custo-bars.small .custo-bar-line{grid-template-columns:180px 1fr 95px}.custo-donut-list{display:flex;flex-direction:column;gap:9px}.custo-donut-list p{display:flex;justify-content:space-between;gap:12px;margin:0;border-bottom:1px dashed #d7eadb;padding-bottom:8px}.custo-donut-list span{color:#214b31;font-weight:700}.custo-donut-list b{white-space:nowrap}.custo-dash-pro .painel-table{margin-top:18px}@media(max-width:980px){.custo-filtros{grid-template-columns:1fr 1fr}.custo-grid-main{grid-template-columns:1fr}.custo-card.wide{grid-column:auto}.custo-upload-box{grid-template-columns:1fr}.custo-bar-line,.custo-bars.small .custo-bar-line{grid-template-columns:1fr}.custo-hero{flex-direction:column;align-items:flex-start}}

/* Ajustes Custo V167 - dashboard vertical e ações */
.btn.danger{background:#fff;border:1px solid #fecaca;color:#dc2626;box-shadow:0 8px 18px rgba(220,38,38,.08)}
.btn.danger:hover{background:#fee2e2;color:#991b1b}
.custo-filtros-pro{grid-template-columns:1.1fr repeat(5,1fr) .8fr}
.custo-resumo-grid{display:grid;grid-template-columns:320px 1fr;gap:16px;margin:16px 0}
.custo-total-tall{min-height:235px;display:flex;flex-direction:column;justify-content:center;margin:0}.custo-total-tall strong{font-size:34px}
.custo-kpi-vertical{margin:0;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.custo-kpi small{display:block;color:#64748b;font-weight:800;margin-bottom:8px}
.custo-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.custo-lists-grid{grid-template-columns:1fr 1fr}.custo-lists-grid .custo-card{min-height:260px}
.custo-column-chart{height:270px;display:flex;align-items:flex-end;gap:18px;padding:18px 8px 8px;border-left:1px solid #d7eadb;border-bottom:1px solid #d7eadb;background:repeating-linear-gradient(to top,#f6fbf7 0,#f6fbf7 1px,transparent 1px,transparent 54px)}
.custo-col{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;min-width:56px}.custo-col i{display:block;width:70%;min-height:8px;border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,#0f9f58,#8cc63f);box-shadow:0 8px 18px rgba(15,159,88,.18)}.custo-col span{font-weight:800;color:#334155;font-size:12px}.custo-col b{font-size:11px;color:#123b26;text-align:center;min-height:28px;display:flex;align-items:flex-end}
.custo-pie-wrap{display:grid;grid-template-columns:240px 1fr;gap:18px;align-items:center}.custo-pie{width:220px;height:220px;border-radius:50%;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04),0 18px 28px rgba(10,50,30,.12)}.custo-pie:after{content:"";position:absolute;inset:58px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #e8f2eb}.custo-pie span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;font-weight:900;color:#0f5132}.custo-pie-list{display:flex;flex-direction:column;gap:8px}.custo-pie-list p{display:grid;grid-template-columns:14px 1fr 62px 112px;align-items:center;gap:8px;margin:0;padding-bottom:7px;border-bottom:1px dashed #d7eadb;font-size:12px}.custo-pie-list i{width:10px;height:10px;border-radius:50%;display:block}.custo-pie-list span{font-weight:800;color:#1f3b2c}.custo-pie-list b{text-align:right;color:#0f5132}.custo-pie-list em{text-align:right;font-style:normal;color:#0f172a;font-weight:800;white-space:nowrap}
@media(max-width:1180px){.custo-filtros-pro{grid-template-columns:1fr 1fr}.custo-resumo-grid,.custo-chart-grid,.custo-lists-grid{grid-template-columns:1fr}.custo-pie-wrap{grid-template-columns:1fr}.custo-pie{margin:auto}.custo-column-chart{overflow-x:auto}.custo-col{min-width:90px}}
/* V171 - Painel Pendências: cards clicáveis e PDF */
.allbi-kpi.pend-filter{border:0;text-align:left;cursor:pointer;font:inherit;width:100%;background:#fff}
.allbi-kpi.pend-filter.active{outline:3px solid rgba(16,185,129,.22); transform:translateY(-1px)}
.allbi-kpi.pend-filter:hover{box-shadow:0 14px 28px rgba(15,23,42,.12)}
.contrato-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;align-items:end}.contrato-grid .span2{grid-column:span 2}.contrato-grid .span4{grid-column:1/-1}.inline-field{display:flex;gap:8px;align-items:center}.inline-field input{flex:1}.vehicle-row{display:grid;grid-template-columns:1fr 2fr 1fr 1fr;gap:10px;margin-bottom:8px}.dash-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.kpi-card{border:1px solid #d7e7ee;border-radius:14px;padding:18px;background:#fff}.kpi-card b{font-size:28px;color:#002b45}.kpi-card span{display:block;color:#607d8b}.resumo-box{white-space:pre-wrap;background:#f7fbfd;border:1px solid #d7e7ee;border-radius:14px;padding:18px;font-family:inherit;line-height:1.5}@media(max-width:900px){.contrato-grid{grid-template-columns:1fr}.contrato-grid .span2,.contrato-grid .span4{grid-column:1}.vehicle-row{grid-template-columns:1fr}}

/* PATCH V188 NK - Tela inicial de seleção de organização */
.nk-org-page{min-height:100vh;background:#050b14;color:#f5f8ff;overflow:hidden;font-family:Segoe UI,Arial,sans-serif;}
.nk-org-page:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 10%,#0b3554 0,#061423 34%,#04070d 68%),linear-gradient(135deg,#03101d,#071321);z-index:-3;}
.nk-bg-lines{position:fixed;inset:0;z-index:-2;background:linear-gradient(135deg,transparent 0 18%,rgba(20,160,255,.22) 18.2%,transparent 18.6% 70%,rgba(215,168,67,.26) 70.2%,transparent 70.6%),linear-gradient(315deg,transparent 0 26%,rgba(215,168,67,.18) 26.2%,transparent 26.5% 76%,rgba(20,160,255,.18) 76.2%,transparent 76.6%);opacity:.9;}
.nk-org-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;max-width:1280px;margin:0 auto;padding:54px;}
.nk-hero-brand{text-align:center;position:relative;}
.nk-logo-mark{font-size:110px;line-height:1;font-weight:950;letter-spacing:-10px;background:linear-gradient(135deg,#fff2b6,#d7a843 38%,#8a5b12 68%,#fff1a5);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 18px 45px rgba(215,168,67,.22);margin-bottom:28px;}
.nk-hero-brand h1{font-size:34px;text-transform:uppercase;letter-spacing:.5px;margin:0;}.nk-hero-brand h1 span{color:#fff}.nk-hero-brand h1{color:#d7a843}.nk-hero-brand p{font-size:16px;letter-spacing:3px;text-transform:uppercase;color:#c9d6e6;margin:16px 0 34px;}
.nk-feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:680px;margin:0 auto 60px;}.nk-feature-row div{border-right:1px solid rgba(255,255,255,.16);padding:8px 18px;}.nk-feature-row div:last-child{border-right:0}.nk-feature-row b{display:block;font-size:34px;color:#d7a843;margin-bottom:10px}.nk-feature-row strong{display:block;text-transform:uppercase}.nk-feature-row small{display:block;color:#b2bfce;margin-top:6px}.nk-copy{color:#a9b5c3}.nk-copy:before{content:"";display:block;width:220px;height:1px;background:linear-gradient(90deg,transparent,#d7a843,transparent);margin:0 auto 18px;}
.nk-org-card{background:linear-gradient(180deg,rgba(18,32,55,.88),rgba(12,22,38,.94));border:1px solid rgba(132,164,201,.22);box-shadow:0 26px 90px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.06);border-radius:22px;padding:34px 34px 24px;backdrop-filter:blur(12px);}.nk-card-icon{width:56px;height:56px;border-radius:18px;border:1px solid rgba(215,168,67,.45);color:#d7a843;display:grid;place-items:center;margin:0 auto 20px;background:rgba(215,168,67,.08);}.nk-org-card h2{text-align:center;text-transform:uppercase;letter-spacing:1px;font-size:28px;margin:0 0 10px}.nk-org-card p{text-align:center;color:#c5cfdb;margin:0}.nk-gold-line{height:1px;max-width:300px;margin:24px auto;background:linear-gradient(90deg,transparent,#d7a843,transparent);}.nk-org-list{display:grid;gap:12px}.nk-org-item{width:100%;display:grid;grid-template-columns:62px 1fr 28px;align-items:center;text-align:left;min-height:74px;padding:10px 14px;border-radius:14px;border:1px solid rgba(150,176,208,.22);background:rgba(255,255,255,.045);color:#fff;cursor:pointer;transition:.16s}.nk-org-item:hover{transform:translateY(-2px);border-color:rgba(215,168,67,.65);background:rgba(215,168,67,.08)}.nk-org-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#06101e;border:1px solid rgba(255,255,255,.1);font-weight:950;color:#d7a843}.nk-org-avatar img{width:100%;height:100%;object-fit:contain;background:#fff}.nk-org-info strong{display:block;text-transform:uppercase;font-size:15px}.nk-org-info small{display:block;color:#aebccd;margin-top:4px}.nk-org-arrow{font-size:38px;color:#d7a843;line-height:1}.nk-secure{text-align:center;color:#aab8c7;border-top:1px solid rgba(255,255,255,.09);margin:24px -34px 0;padding-top:20px}
@media(max-width:980px){.nk-org-shell{grid-template-columns:1fr;padding:28px}.nk-logo-mark{font-size:74px}.nk-feature-row{grid-template-columns:1fr}.nk-feature-row div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}}

/* Organização / monetização - árvore de permissões */
.org-permission-builder{display:grid;grid-template-columns:minmax(310px,430px) minmax(0,1fr);gap:14px;margin-top:16px;border-top:1px solid #dfe7f0;padding-top:14px}.org-tabs-panel,.org-buttons-panel{border:1px solid #dbe5ef;border-radius:14px;background:#fbfdff;padding:12px;min-width:0}.org-module-list{display:flex;flex-direction:column;gap:7px;max-height:430px;overflow:auto;padding-right:4px}.org-module-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dbe5ef;background:#fff;border-radius:12px;padding:9px 10px;cursor:pointer;transition:.15s}.org-module-item:hover,.org-module-item.active{border-color:#0f766e;background:#f2fbf9;box-shadow:0 6px 16px rgba(15,118,110,.08)}.org-module-item label{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0;flex:1}.org-module-item input{height:auto!important;width:auto;margin:0}.org-module-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:#e9f3ff;color:#005fdb;font-size:11px;font-weight:900;flex:0 0 auto}.org-module-item b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#0b2440}.org-tree-btn{border:0;background:transparent;color:#60758c;font-size:18px;cursor:pointer;padding:4px 8px}.org-help{border:1px dashed #cfd9e5;border-radius:14px;min-height:260px;display:flex;align-items:center;justify-content:center;text-align:center;color:#708399;font-weight:800;background:#fff}.org-button-tree{display:none;border:1px dashed #cfd9e5;border-radius:14px;background:#fff;padding:18px;min-height:260px}.org-button-tree.active{display:block}.org-tree-root{display:flex;align-items:center;gap:10px;color:#0b2440;font-size:16px;margin-bottom:14px}.org-tree-root span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#eef6ff;color:#005fdb}.org-tree-children{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:9px 12px;border-left:2px solid #d6e2ef;margin-left:16px;padding-left:18px}.org-tree-leaf{display:flex;align-items:center;gap:8px;border:1px solid #e1e9f2;border-radius:10px;background:#fbfdff;padding:9px 10px;cursor:pointer;font-weight:800;color:#18324d}.org-tree-leaf:hover{border-color:#0f766e;background:#f4fbfa}.org-tree-leaf input{height:auto!important;width:auto;margin:0}.org-tree-note{display:block;margin-top:14px;color:#657990;font-weight:700}.usuario-card-clean .usuario-form-grid-clean + .org-permission-builder{margin-top:18px}@media(max-width:1180px){.org-permission-builder{grid-template-columns:1fr}.org-tree-children{grid-template-columns:1fr}}

/* V191 - Ajuste visual exclusivo da tela Organizações / Monetização */
#tab-organizacoes .org-layout-full{display:block;max-width:100%;}
#tab-organizacoes .org-create-card{margin-bottom:16px;overflow:visible;}
.org-create-title{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e2ebf4;}
.org-create-title h2{margin:0;color:#0b2440;font-size:22px;font-weight:950;}
.org-create-title small{color:#50667d;font-weight:700;}
.org-title-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef6ff;color:#0866d8;font-weight:950;border:1px solid #d6e7fb;}
#tab-organizacoes .org-permission-builder{display:grid;grid-template-columns:minmax(420px,520px) minmax(0,1fr);gap:16px;margin-top:18px;border-top:0;padding-top:0;align-items:stretch;}
#tab-organizacoes .org-tabs-panel,#tab-organizacoes .org-buttons-panel{border:1px solid #dbe5ef;border-radius:16px;background:#fff;padding:14px;min-width:0;box-shadow:0 8px 24px rgba(15,23,42,.03);}
#tab-organizacoes .org-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;}
#tab-organizacoes .org-panel-title span{font-size:15px;line-height:1.2;color:#0b2440;white-space:normal;}
#tab-organizacoes .org-panel-title small{font-size:12px;line-height:1.25;color:#50667d;max-width:270px;text-align:right;}
#tab-organizacoes .org-module-list{display:flex;flex-direction:column;gap:6px;max-height:none;overflow:visible;padding-right:0;}
#tab-organizacoes .org-module-item{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:10px;min-height:42px;border:1px solid #dbe5ef;background:#fff;border-radius:10px;padding:7px 9px;cursor:pointer;transition:.15s;}
#tab-organizacoes .org-module-item:hover,#tab-organizacoes .org-module-item.active{border-color:#0f766e;background:#f2fbf9;box-shadow:0 6px 16px rgba(15,118,110,.08);}
#tab-organizacoes .org-module-item label{display:grid;grid-template-columns:22px 30px minmax(0,1fr);align-items:center;gap:9px;cursor:pointer;min-width:0;width:100%;}
#tab-organizacoes .org-module-item input{height:auto!important;width:auto!important;margin:0;justify-self:center;}
#tab-organizacoes .org-module-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#e9f3ff;color:#005fdb;font-size:10px;font-weight:950;flex:0 0 auto;}
#tab-organizacoes .org-module-item b{display:block;min-width:0;color:#0b2440;font-size:13px;font-weight:950;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15;text-transform:uppercase;}
#tab-organizacoes .org-tree-btn{border:0;background:transparent;color:#60758c;font-size:22px;cursor:pointer;padding:0;width:28px;height:28px;line-height:1;border-radius:8px;}
#tab-organizacoes .org-tree-btn:hover{background:#eef6ff;color:#0866d8;}
#tab-organizacoes .org-help{border:1px dashed #cfd9e5;border-radius:14px;min-height:300px;display:flex;align-items:center;justify-content:center;text-align:center;color:#708399;font-weight:800;background:#fff;padding:24px;}
#tab-organizacoes .org-help>div{max-width:420px;display:grid;gap:8px;justify-items:center;}
#tab-organizacoes .org-help-icon{font-size:58px;color:#c5d0dc;line-height:1;}
#tab-organizacoes .org-help b{display:block;color:#0b2440;font-size:16px;}
#tab-organizacoes .org-help span{display:block;color:#66788c;font-size:13px;line-height:1.35;}
#tab-organizacoes .org-button-tree{display:none;border:1px dashed #cfd9e5;border-radius:14px;background:#fff;padding:20px;min-height:300px;}
#tab-organizacoes .org-button-tree.active{display:block;}
#tab-organizacoes .org-tree-root{display:flex;align-items:center;gap:10px;color:#0b2440;font-size:16px;margin-bottom:14px;}
#tab-organizacoes .org-tree-root span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#eef6ff;color:#005fdb;}
#tab-organizacoes .org-tree-children{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:9px 12px;border-left:2px solid #d6e2ef;margin-left:16px;padding-left:18px;}
#tab-organizacoes .org-tree-leaf{display:flex;align-items:center;gap:8px;border:1px solid #e1e9f2;border-radius:10px;background:#fbfdff;padding:9px 10px;cursor:pointer;font-weight:800;color:#18324d;line-height:1.2;}
#tab-organizacoes .org-tree-leaf:hover{border-color:#0f766e;background:#f4fbfa;}
#tab-organizacoes .org-tree-leaf input{height:auto!important;width:auto!important;margin:0;}
#tab-organizacoes .org-table-wrap{min-height:0;}
#tab-organizacoes .org-table th,#tab-organizacoes .org-table td{vertical-align:middle;}
.org-name-cell{display:flex;align-items:center;gap:10px;}
.org-name-cell b{display:block;color:#0b2440;font-size:14px;}
.org-name-cell small{display:block;color:#60758c;font-weight:700;font-size:11px;margin-top:2px;}
.org-mini-logo{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;border:1px solid #dbe5ef;background:#f8fbff;color:#0f766e;font-weight:950;overflow:hidden;}
.org-mini-logo img{width:100%;height:100%;object-fit:contain;background:#fff;}
.org-abas-pill,.org-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:5px 10px;border-radius:999px;border:1px solid #9ee3bf;background:#effdf5;color:#087a3f;font-weight:900;font-size:12px;}
.org-empty-row{text-align:center;color:#60758c;font-weight:800;padding:20px!important;}
#tab-organizacoes .usuario-actions{padding-top:14px;}
@media(max-width:1180px){#tab-organizacoes .org-permission-builder{grid-template-columns:1fr;}#tab-organizacoes .org-tree-children{grid-template-columns:1fr;}}

/* Ajuste V192: logos das organizações no seletor/login */
.org-login-logo img{max-width:180px;max-height:72px;object-fit:contain;display:block;margin:0 auto 8px auto;background:#fff;border-radius:10px;padding:8px;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.nk-org-avatar img{width:100%;height:100%;object-fit:contain;background:#fff;border-radius:50%;padding:4px;display:block}

/* Ajuste V195 - harmonização do bloco superior da Home */
.exec-hero-v93{
  grid-template-columns:minmax(0,1fr) minmax(360px,480px)!important;
  min-height:230px!important;
  gap:28px!important;
  align-items:center!important;
  padding:38px 44px!important;
}
.hero-main-v93{
  max-width:820px!important;
  padding-right:8px!important;
}
.hero-main-v93 h1{
  max-width:760px!important;
  margin:14px 0 12px!important;
}
.hero-main-v93 p{
  max-width:780px!important;
  line-height:1.45!important;
}
.hero-status-v93{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  grid-template-areas:
    "cc status"
    "user user"!important;
  gap:14px!important;
  width:100%!important;
  align-content:center!important;
}
.hero-status-v93 > div{
  min-width:0!important;
  min-height:78px!important;
  padding:17px 20px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.hero-status-v93 > div:nth-child(1){grid-area:cc!important;}
.hero-status-v93 > div:nth-child(2){grid-area:user!important;}
.hero-status-v93 > div:nth-child(3){grid-area:status!important;}
.hero-status-v93 .online-v93{grid-column:auto!important;}
.hero-status-v93 small{
  margin-bottom:4px!important;
  line-height:1.2!important;
}
.hero-status-v93 strong{
  margin-top:0!important;
  line-height:1.18!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.hero-status-v93 > div:nth-child(2) strong{
  font-size:18px!important;
}
@media(max-width:1200px){
  .exec-hero-v93{grid-template-columns:1fr!important;}
  .hero-status-v93{grid-template-columns:1fr 1fr!important;grid-template-areas:"cc status" "user user"!important;}
}
@media(max-width:760px){
  .exec-hero-v93{padding:26px!important;}
  .hero-status-v93{grid-template-columns:1fr!important;grid-template-areas:"cc" "status" "user"!important;}
  .hero-status-v93 > div:nth-child(2) strong{font-size:16px!important;}
}

/* V196 - Gestão reorganizada */
.gestao-hub{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px;margin-top:18px}.gestao-hub-card{background:#fff;border:1px solid #cfe0ee;border-radius:18px;padding:22px;display:grid;grid-template-columns:54px 1fr auto;gap:16px;align-items:center;text-decoration:none;color:#08263d;box-shadow:0 12px 32px rgba(8,38,61,.08);transition:.2s}.gestao-hub-card:hover{transform:translateY(-2px);border-color:#009b72;box-shadow:0 18px 40px rgba(8,38,61,.14)}.gestao-hub-card h2{margin:0 0 6px;font-size:20px}.gestao-hub-card p{margin:0;color:#536b7d;font-weight:600}.gestao-hub-card span{color:#009b72;font-weight:900}.hub-icon{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#07263d,#009b72);display:flex;align-items:center;justify-content:center;font-size:26px}.contrato-visual,.ativos-visual{position:relative;overflow:hidden}.contrato-visual:before,.ativos-visual:before{content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:50%;background:rgba(0,155,114,.08);pointer-events:none}.click-row{cursor:pointer}.click-row:hover{background:#f0fbf7}.campo-locacao,.campo-veiculo,.campo-telefone,.campo-ti{display:none}@media(max-width:1100px){.gestao-hub{grid-template-columns:1fr}.gestao-hub-card{grid-template-columns:48px 1fr}}


/* V201 - apresentação inicial premium da Home */
body.home-wow-active{overflow:hidden;}
.home-wow-loader{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:#06121f;color:#fff;overflow:hidden;}
.home-wow-bg{position:absolute;inset:0;background:radial-gradient(circle at 72% 35%, color-mix(in srgb, var(--primary, #06a77d) 44%, transparent), transparent 34%),linear-gradient(135deg,#071728 0%,#06111f 48%,#02070d 100%);}
.home-wow-bg:before,.home-wow-bg:after{content:"";position:absolute;width:60vw;height:2px;background:linear-gradient(90deg,transparent,#118de8,transparent);transform:rotate(-38deg);opacity:.38;filter:drop-shadow(0 0 9px #118de8);}
.home-wow-bg:before{left:-10vw;top:18vh}.home-wow-bg:after{right:-18vw;bottom:20vh;background:linear-gradient(90deg,transparent,var(--accent,#d7a843),transparent);filter:drop-shadow(0 0 9px var(--accent,#d7a843));}
.home-wow-card{position:relative;width:min(520px,calc(100vw - 44px));padding:34px 36px 30px;border-radius:28px;background:rgba(13,29,50,.78);border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 90px rgba(0,0,0,.5);text-align:center;backdrop-filter:blur(18px);animation:wowCardIn .58s ease both;}
.home-wow-logo-wrap{width:118px;height:82px;margin:0 auto 16px;border-radius:22px;background:rgba(255,255,255,.96);display:flex;align-items:center;justify-content:center;box-shadow:0 16px 38px rgba(0,0,0,.25),0 0 0 7px rgba(255,255,255,.06);}
.home-wow-logo{max-width:96px;max-height:58px;object-fit:contain;}
.home-wow-org{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900;color:var(--accent,#d7a843);margin-bottom:8px;}
.home-wow-card h2{font-size:30px;line-height:1.1;margin:0 0 10px;font-weight:950;color:#fff;}
.home-wow-card p{margin:0 auto 20px;max-width:420px;color:rgba(235,245,255,.82);font-size:14px;line-height:1.55;}
.home-wow-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0 22px;}
.home-wow-modules span{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);border-radius:14px;padding:10px 8px;font-weight:850;font-size:12px;color:#eaf4ff;opacity:0;transform:translateY(10px);animation:wowModule .55s ease forwards;animation-delay:var(--d);}
.home-wow-progress{height:7px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;margin:0 auto 15px;}
.home-wow-progress i{display:block;height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary,#06a77d),var(--accent,#d7a843));transform-origin:left;animation:wowProgress 2.2s ease forwards;box-shadow:0 0 18px color-mix(in srgb,var(--accent,#d7a843) 75%, transparent);}
.home-wow-card small{display:block;color:rgba(235,245,255,.72);font-weight:700;}
.home-wow-loader.saindo{animation:wowFadeOut .52s ease forwards;}
@keyframes wowCardIn{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@keyframes wowModule{to{opacity:1;transform:none}}
@keyframes wowProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes wowFadeOut{to{opacity:0;visibility:hidden}}
@media(max-width:640px){.home-wow-card{padding:28px 22px}.home-wow-modules{grid-template-columns:repeat(2,1fr)}.home-wow-card h2{font-size:25px}}

/* V213 - Planejamento: datas mais legíveis e decimais seguros */
.plan-exec-table th.day,
.plan-exec-table td.chip-cell{
  min-width:56px!important;
  width:56px!important;
  max-width:56px!important;
}
.plan-exec-table th.day{
  height:44px!important;
  padding:5px 4px!important;
  white-space:normal!important;
}
.plan-exec-table th.day strong{
  font-size:13px!important;
  line-height:1.05!important;
  display:block!important;
}
.plan-exec-table th.day small{
  font-size:9.5px!important;
  line-height:1.05!important;
  display:block!important;
  margin-top:2px!important;
  letter-spacing:.02em!important;
}
.plan-exec-table .chip{
  min-width:42px!important;
  max-width:52px!important;
  height:24px!important;
  font-size:9px!important;
  padding:0 4px!important;
}
.plan-exec-table .chip.he,
.plan-exec-table .chip.hn{
  max-width:54px!important;
}
@media(max-width:1500px){
  .plan-exec-table th.day,
  .plan-exec-table td.chip-cell{min-width:52px!important;width:52px!important;max-width:52px!important;}
  .plan-exec-table .chip{min-width:39px!important;max-width:49px!important;font-size:8.8px!important;}
}

/* ==========================================================
   V219 - Ajustes mobile solicitados
   Páginas: seleção de organização, Home, Avaliações e Lançar Desvios
   ========================================================== */
@media (max-width: 760px){
  html,body{max-width:100%;overflow-x:hidden;}
  .shell{padding:12px !important;}
  .topbar{position:sticky;top:0;height:auto;padding:12px 14px;gap:10px;align-items:stretch !important;}
  .brand{width:100%;min-width:0;}
  .brand .logo{padding:8px 10px;font-size:13px;flex:0 0 auto;}
  .brand div:last-child{min-width:0;}
  .brand strong,.brand small{max-width:100%;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .userbox{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .userbox .btn{width:100%;padding:9px 8px;font-size:12px;}
  .hero,.page-head,.legacy-head{margin:0 0 12px 0 !important;border-radius:14px !important;padding:16px !important;display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:10px !important;}
  .hero h1,.page-head h1,.legacy-head h1{font-size:20px !important;line-height:1.15 !important;}
  .page-head .btn,.legacy-head .btn{width:100%;}
  .row,.actions,.form-actions{display:grid !important;grid-template-columns:1fr !important;width:100%;gap:8px !important;}
  .btn{min-height:42px;text-align:center;}
  input,select,textarea{font-size:16px !important;min-height:44px;}
  label{font-size:11px;}

  /* Seleção de organização */
  .nk-org-page{min-height:100dvh;overflow-y:auto;background:#071827;}
  .nk-org-shell{width:100% !important;min-height:100dvh !important;display:flex !important;flex-direction:column !important;gap:14px !important;padding:16px !important;}
  .nk-hero-brand,.nk-org-card{width:100% !important;max-width:none !important;border-radius:20px !important;padding:20px !important;}
  .nk-hero-brand h1{font-size:28px !important;line-height:1.05 !important;margin-bottom:8px !important;}
  .nk-hero-brand p{font-size:14px !important;}
  .nk-logo-mark{width:58px !important;height:58px !important;font-size:22px !important;}
  .nk-feature-row{grid-template-columns:1fr !important;gap:8px !important;margin-top:16px !important;}
  .nk-feature-row div{min-height:auto !important;padding:12px !important;}
  .nk-copy{display:none !important;}
  .nk-org-card h2{font-size:22px !important;}
  .nk-org-list{max-height:none !important;overflow:visible !important;}
  .nk-org-item{width:100% !important;min-height:74px !important;padding:12px !important;border-radius:16px !important;}
  .nk-org-avatar{width:48px !important;height:48px !important;flex:0 0 48px !important;}
  .nk-org-info{min-width:0;text-align:left;}
  .nk-org-info strong,.nk-org-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

  /* Login também acompanha o fluxo mobile da organização */
  .login-card{width:calc(100vw - 28px) !important;padding:22px !important;border-radius:18px !important;}
  .login-card .row{grid-template-columns:1fr !important;}

  /* Home executiva */
  .exec-home,.exec-home-v92{width:100% !important;}
  .exec-hero,.exec-hero-v93{grid-template-columns:1fr !important;display:grid !important;padding:18px !important;border-radius:18px !important;gap:14px !important;}
  .exec-eyebrow{font-size:11px !important;}
  .hero-main-v93 h1{font-size:25px !important;line-height:1.08 !important;}
  .hero-main-v93 p{font-size:14px !important;}
  .hero-status-v93{grid-template-columns:1fr !important;gap:8px !important;width:100%;}
  .hero-status-v93 div{padding:12px !important;}
  .exec-kpi-grid,.exec-kpi-grid-v92,.exec-main-grid,.exec-main-grid-v92,.home-module-grid,.exec-module-grid,.quick-grid,.exec-quick-grid{display:grid !important;grid-template-columns:1fr !important;gap:12px !important;}
  .exec-kpi,.exec-panel,.exec-modules{border-radius:16px !important;padding:16px !important;min-width:0 !important;}
  .exec-kpi-wide{grid-column:auto !important;}
  .exec-kpi-head{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;}
  .exec-kpi-head b,.exec-kpi b{font-size:28px !important;}
  .home-area-chart{min-height:145px !important;overflow:hidden;}
  .exec-panel-head{display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:8px !important;}
  .exec-config-btn{width:100% !important;}
  .exec-alert-row,.quick-item,.exec-quick,.home-module-card,.exec-module-card{width:100% !important;min-width:0 !important;border-radius:14px !important;}
  .quick-config-modal{width:calc(100vw - 24px) !important;max-height:86dvh !important;overflow:auto !important;border-radius:18px !important;}
  .quick-config-head{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;}
  .quick-tabs{display:flex !important;overflow:auto !important;gap:8px !important;padding-bottom:4px !important;}
  .quick-tab{white-space:nowrap !important;}
  .quick-option{grid-template-columns:auto 40px 1fr !important;}

  /* Avaliações */
  .legacy-panel,.painel-box{min-width:0 !important;width:100% !important;padding:14px !important;border-radius:16px !important;overflow:visible !important;}
  .painel-filter{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;align-items:end !important;}
  .painel-filter .btn{grid-column:1 / -1 !important;width:100% !important;}
  .form-grid{grid-template-columns:1fr !important;gap:10px !important;}
  .form-grid .span-2,.form-grid .span2{grid-column:auto !important;}
  .table-wrap,.painel-table{width:100% !important;max-height:60dvh !important;overflow:auto !important;-webkit-overflow-scrolling:touch;border-radius:14px !important;}
  .table-wrap h3,.table-wrap p{position:sticky;left:0;background:#fff;z-index:1;margin-left:0;padding-left:10px;}
  .erp-table{min-width:920px !important;}

  /* Lançar desvios */
  .sap-panel{padding:14px !important;border-radius:16px !important;margin-bottom:14px !important;}
  .panel-title{display:grid !important;grid-template-columns:1fr !important;gap:4px !important;}
  .filters{grid-template-columns:1fr !important;gap:9px !important;}
  .filters .actions{grid-template-columns:1fr 1fr !important;}
  .filters .actions .btn{width:100% !important;padding-left:8px !important;padding-right:8px !important;}
  .sap-panel .table-wrap{max-height:58dvh !important;}
  .sap-panel .erp-table{min-width:1280px !important;}
}

@media (min-width:761px) and (max-width:1100px){
  .nk-org-shell{grid-template-columns:1fr !important;padding:28px !important;}
  .exec-kpi-grid,.exec-main-grid,.home-module-grid,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .exec-kpi-wide{grid-column:1 / -1 !important;}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .filters{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

/* V220 - documentos obrigatórios e contagem de linhas */
.doc-required-section{border:1px solid rgba(15,23,42,.10);background:linear-gradient(180deg,#fff,#f8fafc);border-radius:18px;padding:16px;margin-top:14px}
.field-grid.five{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}
.field-grid.three{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}
.form-hint{font-size:.86rem;color:#64748b;margin:10px 0 0}
.erp-row-count-col{width:54px;text-align:center;font-weight:700;color:#475569;background:rgba(15,23,42,.04)}
@media(max-width:900px){.field-grid.five,.field-grid.three{grid-template-columns:1fr}.doc-required-section{padding:12px}}

.flash-stack{display:grid;gap:8px;margin:0 0 14px}.flash-message{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;padding:10px 12px;border-radius:12px;font-weight:700}

/* V223 - Alerta 5 faltas/atestados e múltiplos anexos em pendências */
.alerta-policial{position:sticky;top:12px;z-index:999;background:#fff;border:3px solid #ef4444;border-radius:18px;box-shadow:0 18px 45px rgba(239,68,68,.28);display:grid;grid-template-columns:74px 1fr auto;gap:16px;align-items:center;padding:16px 18px;margin:14px 0;animation:alertaPisca 1s infinite}
.sirene-policial{width:66px;height:48px;border-radius:18px;background:#0f172a;display:flex;gap:6px;align-items:center;justify-content:center;box-shadow:inset 0 -8px 0 rgba(0,0,0,.18)}
.sirene-policial span{width:24px;height:30px;border-radius:999px;display:block;animation:sireneLuz .45s alternate infinite}.sirene-policial span:first-child{background:#2563eb}.sirene-policial span:last-child{background:#ef4444;animation-delay:.23s}.alerta-policial-texto strong{display:block;color:#991b1b;font-size:18px}.alerta-policial-texto p{margin:4px 0 6px;color:#334155}.alerta-policial-texto ul{margin:0;padding-left:18px;max-height:120px;overflow:auto}.alerta-policial-texto li{margin:3px 0}.alerta-policial button{border:0;border-radius:12px;background:#991b1b;color:#fff;font-weight:900;padding:12px 16px;cursor:pointer}@keyframes alertaPisca{0%,100%{border-color:#ef4444}50%{border-color:#2563eb;box-shadow:0 18px 45px rgba(37,99,235,.28)}}@keyframes sireneLuz{from{opacity:.35;filter:blur(.5px)}to{opacity:1;filter:drop-shadow(0 0 12px currentColor)}}
.card-meta a{display:inline-flex;margin-right:6px;margin-top:4px}
@media(max-width:720px){.alerta-policial{grid-template-columns:1fr;text-align:left}.sirene-policial{margin:auto}.alerta-policial button{width:100%}}


/* ========================================================================
   V236 - Guias do Painel Gerencial e listboxes profissionais
   Objetivo: remover abas irregulares/encavaladas e padronizar tabelas.
   ======================================================================== */
.painel-tabs.main-tabs{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(128px,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
  background:#edf6f8!important;
  border:1px solid #d7e6ee!important;
  border-radius:18px!important;
  padding:8px!important;
  margin:14px 0 0!important;
  box-shadow:0 10px 24px rgba(6,29,46,.06)!important;
}
.painel-tabs.main-tabs a{
  min-width:0!important;
  height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:6px 10px!important;
  border:1px solid #d8e6ee!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#092337!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:0 4px 12px rgba(6,29,46,.035)!important;
  transition:all .16s ease!important;
  top:0!important;
  white-space:normal!important;
}
.painel-tabs.main-tabs a:hover{
  transform:translateY(-1px)!important;
  border-color:#9dd8c1!important;
  box-shadow:0 10px 20px rgba(6,29,46,.08)!important;
}
.painel-tabs.main-tabs a.active{
  background:linear-gradient(135deg,#06324b,#00a86b)!important;
  color:#fff!important;
  border-color:#00a86b!important;
  box-shadow:0 12px 26px rgba(0,168,107,.22)!important;
}
.painel-tabs.main-tabs a.active::after{content:'';position:absolute;left:14px;right:14px;bottom:5px;height:3px;border-radius:999px;background:rgba(255,255,255,.65)}
.painel-tabs.sub-tabs{
  display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;
}
.painel-tabs.sub-tabs a{min-height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}

/* Listboxes/tabelas: proporção, leitura e rolagem sem encavalar */
.table-wrap,.visual-table-wrap,.ferias-table-modern-wrap,.controle-treino-table-wrap,.saidas-table-wrap,.estoque-table-wrap,.farol-listbox-wrap{
  border:1px solid #d5e3ee!important;
  border-radius:16px!important;
  background:#fff!important;
  overflow:auto!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 10px 24px rgba(6,29,46,.045)!important;
}
.erp-table,.visual-table,.ferias-table-modern{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  table-layout:auto!important;
  font-size:12px!important;
}
.erp-table th,.visual-table th,.ferias-table-modern th{
  position:sticky!important;top:0!important;z-index:3!important;
  background:#dcecf8!important;color:#08233b!important;border:0!important;
  border-bottom:1px solid #c9ddeb!important;
  padding:10px 12px!important;font-weight:950!important;white-space:nowrap!important;
  text-align:left!important;
}
.erp-table td,.visual-table td,.ferias-table-modern td{
  padding:9px 12px!important;border-bottom:1px solid #eef3f7!important;
  white-space:nowrap!important;vertical-align:middle!important;color:#092337!important;
  max-width:360px!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.erp-table tbody tr:nth-child(even),.visual-table tbody tr:nth-child(even),.ferias-table-modern tbody tr:nth-child(even){background:#f9fbfd!important;}
.erp-table tbody tr:hover,.visual-table tbody tr:hover,.ferias-table-modern tbody tr:hover{background:#eaf7ff!important;}
.erp-table th:nth-child(1),.visual-table th:nth-child(1),.ferias-table-modern th:nth-child(1),
.erp-table td:nth-child(1),.visual-table td:nth-child(1),.ferias-table-modern td:nth-child(1){width:72px!important;min-width:72px!important;text-align:center!important;}
.erp-table th:nth-child(2),.visual-table th:nth-child(2),.ferias-table-modern th:nth-child(2),
.erp-table td:nth-child(2),.visual-table td:nth-child(2),.ferias-table-modern td:nth-child(2){width:62px!important;min-width:62px!important;text-align:center!important;font-weight:900!important;}
.erp-table th:last-child,.visual-table th:last-child,.ferias-table-modern th:last-child,
.erp-table td:last-child,.visual-table td:last-child,.ferias-table-modern td:last-child{min-width:130px!important;}

.ativos-hero-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.ativos-hero-actions .btn{height:42px;min-width:92px;}
@media(max-width:1100px){
  .painel-tabs.main-tabs{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))!important;}
  .painel-tabs.main-tabs a{font-size:11px!important;height:46px!important;}
  .ativos-hero-actions{justify-content:flex-start;}
}
@media(max-width:700px){
  .painel-tabs.main-tabs{grid-template-columns:1fr 1fr!important;}
  .erp-table,.visual-table,.ferias-table-modern{min-width:980px!important;}
}

/* V253 - correção solicitada: restaurar largura da tabela Estoque > Compras sem alterar outras telas */
body:has(#comprasTable) .estoque-table-wrap #comprasTable{
  table-layout:fixed !important;
  min-width:1450px !important;
  width:1450px !important;
}
body:has(#comprasTable) .estoque-table-wrap #comprasTable th,
body:has(#comprasTable) .estoque-table-wrap #comprasTable td{
  box-sizing:border-box !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
body:has(#comprasTable) .estoque-table-wrap #comprasTable th:nth-child(1),
body:has(#comprasTable) .estoque-table-wrap #comprasTable td:nth-child(1){width:50px !important;min-width:50px !important;text-align:center !important;}
body:has(#comprasTable) .estoque-table-wrap #comprasTable th:nth-child(2),
body:has(#comprasTable) .estoque-table-wrap #comprasTable td:nth-child(2){width:120px !important;min-width:120px !important;text-align:center !important;}
body:has(#comprasTable) .estoque-table-wrap #comprasTable th:nth-child(3),
body:has(#comprasTable) .estoque-table-wrap #comprasTable td:nth-child(3){width:150px !important;min-width:150px !important;text-align:center !important;}
body:has(#comprasTable) .estoque-table-wrap #comprasTable th:nth-child(4),
body:has(#comprasTable) .estoque-table-wrap #comprasTable td:nth-child(4){width:420px !important;min-width:420px !important;}
body:has(#comprasTable) .estoque-table-wrap #comprasTable th:nth-child(5),
body:has(#comprasTable) .estoque-table-wrap #comprasTable td:nth-child(5){width:80px !important;min-width:80px !important;text-align:center !important;}
body:has(#comprasTable) .estoque-table-wrap #comprasTable th:nth-child(6),
body:has(#comprasTable) .estoque-table-wrap #comprasTable td:nth-child(6){width:220px !important;min-width:220px !important;}
body:has(#comprasTable) .estoque-table-wrap #comprasTable th:nth-child(7),
body:has(#comprasTable) .estoque-table-wrap #comprasTable td:nth-child(7){width:230px !important;min-width:230px !important;}
body:has(#comprasTable) .estoque-table-wrap #comprasTable th:nth-child(8),
body:has(#comprasTable) .estoque-table-wrap #comprasTable td:nth-child(8){width:120px !important;min-width:120px !important;text-align:center !important;}
body:has(#comprasTable) .estoque-table-wrap #comprasTable th:nth-child(9),
body:has(#comprasTable) .estoque-table-wrap #comprasTable td:nth-child(9){width:160px !important;min-width:160px !important;text-align:right !important;}

/* V256 - Correção urgente Estoque > Compras e Faróis
   - Isola as larguras desta tela para não herdar regras genéricas das demais listboxes.
   - Impede colunas encavaladas e mantém rolagem horizontal controlada.
*/
body:has(#comprasTable) .estoque-compras-grid{
  grid-template-columns:minmax(0, 1fr) 360px !important;
  gap:16px !important;
  min-width:0 !important;
  align-items:start !important;
}
body:has(#comprasTable) .estoque-main-panel,
body:has(#comprasTable) .estoque-side,
body:has(#comprasTable) .estoque-form-panel{min-width:0 !important;box-sizing:border-box !important;}
body:has(#comprasTable) .estoque-filterbar{display:grid !important;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) 120px 120px 110px 110px !important;gap:10px !important;align-items:center !important;}
body:has(#comprasTable) .estoque-filterbar input,
body:has(#comprasTable) .estoque-filterbar select{height:36px !important;border-radius:10px !important;border:1px solid #c9d9e7 !important;padding:0 12px !important;}
body:has(#comprasTable) .estoque-table-wrap{height:520px !important;min-height:520px !important;max-width:100% !important;overflow:auto !important;border-radius:14px !important;}
body:has(#comprasTable) #comprasTable{table-layout:fixed !important;width:1320px !important;min-width:1320px !important;border-collapse:separate !important;border-spacing:0 !important;}
body:has(#comprasTable) #comprasTable col.c-check{width:52px !important;}
body:has(#comprasTable) #comprasTable col.c-id{width:130px !important;}
body:has(#comprasTable) #comprasTable col.c-tipo{width:145px !important;}
body:has(#comprasTable) #comprasTable col.c-item{width:360px !important;}
body:has(#comprasTable) #comprasTable col.c-qtd{width:90px !important;}
body:has(#comprasTable) #comprasTable col.c-status{width:200px !important;}
body:has(#comprasTable) #comprasTable col.c-fornecedor{width:180px !important;}
body:has(#comprasTable) #comprasTable col.c-data{width:120px !important;}
body:has(#comprasTable) #comprasTable col.c-valor{width:140px !important;}
body:has(#comprasTable) #comprasTable th,
body:has(#comprasTable) #comprasTable td{box-sizing:border-box !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;max-width:none !important;}
body:has(#comprasTable) #comprasTable th:nth-child(1),body:has(#comprasTable) #comprasTable td:nth-child(1),
body:has(#comprasTable) #comprasTable th:nth-child(2),body:has(#comprasTable) #comprasTable td:nth-child(2),
body:has(#comprasTable) #comprasTable th:nth-child(5),body:has(#comprasTable) #comprasTable td:nth-child(5),
body:has(#comprasTable) #comprasTable th:nth-child(8),body:has(#comprasTable) #comprasTable td:nth-child(8){text-align:center !important;}
body:has(#comprasTable) #comprasTable th:nth-child(9),body:has(#comprasTable) #comprasTable td:nth-child(9){text-align:right !important;}

body:has(#comprasTable) .farol-listbox-wrap{height:360px !important;max-height:360px !important;overflow:auto !important;border-radius:14px !important;}
body:has(#comprasTable) .farol-table{table-layout:fixed !important;width:100% !important;min-width:920px !important;border-collapse:separate !important;border-spacing:0 !important;}
body:has(#comprasTable) .farol-table col.f-status{width:110px !important;}
body:has(#comprasTable) .farol-table col.f-tipo{width:110px !important;}
body:has(#comprasTable) .farol-table col.f-item{width:430px !important;}
body:has(#comprasTable) .farol-table col.f-qtd{width:120px !important;}
body:has(#comprasTable) .farol-table col.f-farol{width:100px !important;}
body:has(#comprasTable) .farol-table col.f-faltante{width:110px !important;}
body:has(#comprasTable) .farol-table th,
body:has(#comprasTable) .farol-table td{box-sizing:border-box !important;max-width:none !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;}
body:has(#comprasTable) .farol-table th:nth-child(4),body:has(#comprasTable) .farol-table td:nth-child(4),
body:has(#comprasTable) .farol-table th:nth-child(5),body:has(#comprasTable) .farol-table td:nth-child(5),
body:has(#comprasTable) .farol-table th:nth-child(6),body:has(#comprasTable) .farol-table td:nth-child(6){text-align:center !important;}

@media(max-width:1200px){
  body:has(#comprasTable) .estoque-compras-grid{grid-template-columns:1fr !important;}
  body:has(#comprasTable) .estoque-side{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(300px,1fr)) !important;gap:12px !important;}
  body:has(#comprasTable) .estoque-filterbar{grid-template-columns:1fr 1fr !important;}
}

/* =========================================================
   CORREÇÃO V262 - TABELA COMPRAS / FAROL DE ITENS
   Regulariza largura das colunas sem afetar outras telas.
   ========================================================= */
body .estoque-compras-grid{
  display:grid !important;
  grid-template-columns:minmax(980px, 1fr) 360px !important;
  gap:22px !important;
  align-items:start !important;
  max-width:1540px !important;
  margin:0 auto !important;
}
body .estoque-main-panel{min-width:0 !important;overflow:hidden !important;}
body .estoque-side{width:360px !important;min-width:360px !important;}
body .estoque-table-wrap{
  width:100% !important;
  height:500px !important;
  min-height:500px !important;
  overflow:auto !important;
  border:1px solid #cfe3f2 !important;
  border-radius:14px !important;
  background:#fff !important;
}
body #comprasTable.compras-table{
  table-layout:fixed !important;
  width:1460px !important;
  min-width:1460px !important;
  max-width:none !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  font-size:12px !important;
}
body #comprasTable.compras-table col.c-check{width:46px !important;}
body #comprasTable.compras-table col.c-id{width:130px !important;}
body #comprasTable.compras-table col.c-num{width:60px !important;}
body #comprasTable.compras-table col.c-tipo{width:120px !important;}
body #comprasTable.compras-table col.c-item{width:360px !important;}
body #comprasTable.compras-table col.c-qtd{width:85px !important;}
body #comprasTable.compras-table col.c-status{width:190px !important;}
body #comprasTable.compras-table col.c-fornecedor{width:210px !important;}
body #comprasTable.compras-table col.c-data{width:115px !important;}
body #comprasTable.compras-table col.c-valor{width:144px !important;}
body #comprasTable.compras-table th,
body #comprasTable.compras-table td{
  box-sizing:border-box !important;
  padding:11px 12px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  max-width:none !important;
  vertical-align:middle !important;
  border-bottom:1px solid #e6eef5 !important;
}
body #comprasTable.compras-table thead th{
  position:sticky !important;
  top:0 !important;
  z-index:3 !important;
  background:#dcecf8 !important;
  color:#001f3f !important;
  font-weight:900 !important;
  text-align:left !important;
}
body #comprasTable.compras-table th:nth-child(1),
body #comprasTable.compras-table td:nth-child(1),
body #comprasTable.compras-table th:nth-child(3),
body #comprasTable.compras-table td:nth-child(3),
body #comprasTable.compras-table th:nth-child(6),
body #comprasTable.compras-table td:nth-child(6){text-align:center !important;}
body #comprasTable.compras-table th:nth-child(10),
body #comprasTable.compras-table td:nth-child(10){text-align:right !important;font-weight:800 !important;}
body #comprasTable.compras-table tbody tr:nth-child(even){background:#f7fbff !important;}
body #comprasTable.compras-table tbody tr:hover{background:#eaf6ff !important;}
body #comprasTable.compras-table tbody tr.selected{background:#dcecff !important;}

body .farol-listbox-wrap{
  width:100% !important;
  height:385px !important;
  max-height:385px !important;
  overflow:auto !important;
  border:1px solid #cfe3f2 !important;
  border-radius:14px !important;
}
body .farol-table{
  table-layout:fixed !important;
  width:1120px !important;
  min-width:1120px !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  font-size:12px !important;
}
body .farol-table col.f-status{width:125px !important;}
body .farol-table col.f-tipo{width:115px !important;}
body .farol-table col.f-item{width:520px !important;}
body .farol-table col.f-qtd{width:130px !important;}
body .farol-table col.f-farol{width:110px !important;}
body .farol-table col.f-faltante{width:120px !important;}
body .farol-table th,
body .farol-table td{
  padding:11px 12px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  max-width:none !important;
}
body .farol-table thead th{
  position:sticky !important;
  top:0 !important;
  z-index:3 !important;
  background:#dcecf8 !important;
  font-weight:900 !important;
}
body .farol-table th:nth-child(4), body .farol-table td:nth-child(4),
body .farol-table th:nth-child(5), body .farol-table td:nth-child(5),
body .farol-table th:nth-child(6), body .farol-table td:nth-child(6){text-align:center !important;}
@media (max-width:1280px){
  body .estoque-compras-grid{grid-template-columns:1fr !important;}
  body .estoque-side{width:100% !important;min-width:0 !important;display:grid !important;grid-template-columns:repeat(auto-fit,minmax(310px,1fr)) !important;gap:14px !important;}
}

/* =========================================================
   CORREÇÃO V265 - FILTROS DA TELA COMPRAS SEM ENCAVALAR
   Mantém filtro por Item, mas organiza tudo em uma linha.
   ========================================================= */
body:has(#comprasTable) .estoque-compras-grid{
  grid-template-columns:minmax(1080px, 1fr) 360px !important;
  gap:22px !important;
  max-width:1620px !important;
}
body:has(#comprasTable) .estoque-main-panel{
  min-width:0 !important;
  overflow:hidden !important;
}
body:has(#comprasTable) .estoque-filterbar{
  display:grid !important;
  grid-template-columns:220px 220px minmax(210px,1fr) 104px 104px 90px 104px !important;
  gap:10px !important;
  align-items:center !important;
  width:100% !important;
  margin-bottom:14px !important;
}
body:has(#comprasTable) .estoque-filterbar select,
body:has(#comprasTable) .estoque-filterbar input,
body:has(#comprasTable) .estoque-filterbar button,
body:has(#comprasTable) .estoque-filterbar .btn{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:38px !important;
  box-sizing:border-box !important;
  border-radius:10px !important;
  font-size:12px !important;
  padding:0 10px !important;
  white-space:nowrap !important;
}
body:has(#comprasTable) .estoque-filterbar #filtro_item{
  min-width:0 !important;
  flex:initial !important;
}
body:has(#comprasTable) .estoque-filterbar #filtro_tipo{
  min-width:0 !important;
}
body:has(#comprasTable) .estoque-filterbar button[name="exportar"]{
  grid-column:auto !important;
}
body:has(#comprasTable) .estoque-kpis{
  display:grid !important;
  grid-template-columns:1fr 1fr 1.2fr !important;
  gap:12px !important;
}
body:has(#comprasTable) .estoque-table-wrap{
  width:100% !important;
  max-width:100% !important;
}
@media (max-width:1450px){
  body:has(#comprasTable) .estoque-compras-grid{grid-template-columns:1fr !important;}
  body:has(#comprasTable) .estoque-side{width:100% !important;min-width:0 !important;display:grid !important;grid-template-columns:repeat(auto-fit,minmax(310px,1fr)) !important;gap:14px !important;}
  body:has(#comprasTable) .estoque-filterbar{grid-template-columns:1fr 1fr 1fr 110px 110px 100px 110px !important;}
}
@media (max-width:980px){
  body:has(#comprasTable) .estoque-filterbar{grid-template-columns:1fr 1fr !important;}
  body:has(#comprasTable) .estoque-filterbar button[name="exportar"]{grid-column:auto !important;}
  body:has(#comprasTable) .estoque-kpis{grid-template-columns:1fr !important;}
}

/* V268 - Contratação: lista em cima, formulário embaixo e colunas regularizadas */
body:has(#contratacaoTable) .rh-contratacao-page.rh-contratacao-vertical{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:18px !important;
  max-width:1500px !important;
  margin:0 auto !important;
}
body:has(#contratacaoTable) .contratacao-list-card-full,
body:has(#contratacaoTable) .contratacao-form-card-full{
  width:100% !important;
  min-width:0 !important;
}
body:has(#contratacaoTable) .contratacao-tabs{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  margin:12px 0 14px !important;
}
body:has(#contratacaoTable) .contratacao-table-wrap{
  height:440px !important;
  min-height:360px !important;
  overflow:auto !important;
}
body:has(#contratacaoTable) #contratacaoTable.contratacao-table-fixed{
  table-layout:fixed !important;
  width:100% !important;
  min-width:1180px !important;
}
body:has(#contratacaoTable) #contratacaoTable .col-id{width:110px !important;}
body:has(#contratacaoTable) #contratacaoTable .col-num{width:70px !important;}
body:has(#contratacaoTable) #contratacaoTable .col-nome{width:330px !important;}
body:has(#contratacaoTable) #contratacaoTable .col-cpf{width:160px !important;}
body:has(#contratacaoTable) #contratacaoTable .col-status{width:270px !important;}
body:has(#contratacaoTable) #contratacaoTable .col-cargo{width:190px !important;}
body:has(#contratacaoTable) #contratacaoTable .col-area{width:160px !important;}
body:has(#contratacaoTable) #contratacaoTable th,
body:has(#contratacaoTable) #contratacaoTable td{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  padding:10px 12px !important;
  vertical-align:middle !important;
}
body:has(#contratacaoTable) #contratacaoTable th:nth-child(1),
body:has(#contratacaoTable) #contratacaoTable td:nth-child(1),
body:has(#contratacaoTable) #contratacaoTable th:nth-child(2),
body:has(#contratacaoTable) #contratacaoTable td:nth-child(2){
  text-align:center !important;
}
body:has(#contratacaoTable) .contratacao-filterbar{
  grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) 120px 120px !important;
}
.status-contratacao-form{display:block !important;}
.status-check-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
  gap:10px !important;
  margin:14px 0 !important;
}
.status-check{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-height:42px !important;
  padding:10px 12px !important;
  border:1px solid #d8e7f1 !important;
  border-radius:12px !important;
  background:#f8fbfd !important;
  font-weight:800 !important;
  color:#001d3a !important;
}
.status-check input{width:18px !important;height:18px !important;}
@media(max-width:760px){
  body:has(#contratacaoTable) .contratacao-filterbar{grid-template-columns:1fr !important;}
  body:has(#contratacaoTable) .contratacao-table-wrap{height:380px !important;}
}

.admissao-link-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.admissao-link-row input{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:12px;background:#f8fafc;font-weight:700;color:#0f172a}@media(max-width:800px){.admissao-link-row{grid-template-columns:1fr}}

/* V271 - Assinatura de documentos na contratação */
.assinatura-section{border:1px solid #d7e5ee;border-radius:16px;background:#fff;position:relative}
.assinaturas-status{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.assinatura-chip{display:flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;border:1px solid #d7e5ee;background:#f8fafc}.assinatura-chip.ok{background:#ecfdf5;border-color:#86efac;color:#166534}.assinatura-chip.pendente{background:#fef2f2;border-color:#fecaca;color:#991b1b}.assinatura-dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-weight:900;background:currentColor;color:#fff}.assinatura-chip small{opacity:.85}.assinatura-form{display:block}.assinatura-row{display:grid;grid-template-columns:1.2fr 1fr auto;gap:12px;align-items:end;border:1px solid #e5edf3;border-radius:14px;padding:12px;margin-bottom:10px;background:#f8fafc}.assinatura-row label{font-size:12px;font-weight:800;color:#08233a}.assinatura-row input,.assinatura-row select{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #c8d9e6;border-radius:10px;padding:10px;background:#fff}.assinatura-row.assinatura-marcada{border-color:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.10)}.assinatura-modal{position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;background:rgba(2,6,23,.45);padding:20px}.assinatura-modal-card{width:min(820px,96vw);background:#fff;border-radius:18px;padding:18px;box-shadow:0 24px 60px rgba(2,6,23,.25)}.assinatura-preview{height:420px;border:2px dashed #94a3b8;border-radius:16px;background:linear-gradient(135deg,#f8fafc,#eef6f8);display:flex;align-items:center;justify-content:center;position:relative;cursor:crosshair;overflow:hidden;color:#64748b;font-weight:800}.assinatura-ponto{position:absolute;width:150px;height:46px;border:3px solid #16a34a;border-radius:10px;background:rgba(34,197,94,.12);transform:translate(-50%,-50%)}.assinatura-ponto:after{content:'ASSINATURA';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:12px;color:#166534;font-weight:900}@media(max-width:900px){.assinatura-row{grid-template-columns:1fr}.assinatura-preview{height:300px}}

/* V273 - visualizador real do arquivo na marcação de assinatura */
.assinatura-modal-card-wide{width:min(980px,96vw);max-height:92vh;display:flex;flex-direction:column}
.assinatura-preview-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #e5edf3;background:#f8fafc;border-radius:12px;padding:10px 12px;margin:8px 0 10px;color:#08233a}
.assinatura-preview-toolbar span{font-size:12px;color:#64748b;font-weight:700;text-align:right}
.assinatura-preview-doc{height:62vh;background:#f8fafc;align-items:stretch;justify-content:stretch;overflow:auto;padding:0;display:block}
.assinatura-preview-conteudo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;min-height:100%;background:#f8fafc}
.assinatura-preview-frame{width:100%;height:100%;border:0;background:#fff;pointer-events:none}
.assinatura-preview-img{max-width:100%;height:auto;display:block;margin:0 auto;pointer-events:none;box-shadow:0 10px 30px rgba(2,6,23,.12);background:#fff}
.assinatura-preview-nao-suportado{padding:24px;text-align:center;color:#475569;line-height:1.5}
.assinatura-preview-doc .assinatura-ponto{z-index:5}
@media(max-width:900px){.assinatura-preview-doc{height:58vh}.assinatura-preview-toolbar{flex-direction:column;align-items:flex-start}.assinatura-preview-toolbar span{text-align:left}}


/* V274 - solicitações de assinatura salvas com link e exclusão */
.assinaturas-status{display:flex;flex-direction:column;gap:10px;margin:8px 0 14px 0}
.assinatura-item-salvo{border:1px solid #cfe0ee;border-radius:14px;background:#fff;padding:10px 12px;box-shadow:0 4px 14px rgba(15,49,75,.05)}
.assinatura-item-salvo.ok{border-color:#a7e2c1;background:#f3fff8}.assinatura-item-salvo.pendente{border-color:#f2c2c2;background:#fff8f8}
.assinatura-item-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}.assinatura-item-head b{display:block;color:#06233a}.assinatura-item-head small{display:block;color:#557087;margin-top:2px}
.assinatura-dot{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:50%;font-weight:900;color:#fff;background:#d92d20}.assinatura-item-salvo.ok .assinatura-dot{background:#079455}
.assinatura-link-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.assinatura-link-row input{width:100%;height:38px;border:1px solid #cfe0ee;border-radius:10px;padding:0 10px;font-weight:700;color:#09243a;background:#fff}.btn.danger{border-color:#f2b8b5;color:#b42318;background:#fff}.btn.danger:hover{background:#fff1f0}
@media(max-width:900px){.assinatura-link-row{grid-template-columns:1fr}.assinatura-link-row .btn{width:100%}}
