/* EVPL Quality Pass v20260618.04
   Pente fino visual/UX: filtros, multiselect, botões, contraste, mobile e impressão. */
:root{
  --qp-bg:#f3f6fb;
  --qp-surface:#ffffff;
  --qp-surface-2:#f8fafd;
  --qp-ink:#101828;
  --qp-muted:#667085;
  --qp-line:#d7e0ec;
  --qp-line-strong:#bcc9da;
  --qp-navy:#172033;
  --qp-navy-2:#22314a;
  --qp-red:#b80f1a;
  --qp-red-2:#8f0c14;
  --qp-gold:#f3b51b;
  --qp-focus:rgba(184,15,26,.14);
  --qp-green:#12805c;
  --qp-radius:12px;
  --qp-shadow:0 10px 26px rgba(16,24,40,.08);
  --qp-shadow-pop:0 18px 45px rgba(16,24,40,.22);
  --qp-control-h:38px;
  --qp-btn-h:33px;
}

html{background:var(--qp-bg)!important;}
body.evpl-pro{
  background:
    radial-gradient(circle at 8% -12%, rgba(243,181,27,.12), transparent 28%),
    radial-gradient(circle at 92% -8%, rgba(184,15,26,.07), transparent 30%),
    var(--qp-bg)!important;
  color:var(--qp-ink)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.evpl-pro *{box-sizing:border-box;}
body.evpl-pro .skip-link{
  position:absolute;left:12px;top:-44px;z-index:99999;background:#fff;color:var(--qp-red);border:1px solid var(--qp-red);border-radius:10px;padding:9px 12px;font-weight:800;text-decoration:none;box-shadow:var(--qp-shadow);
}
body.evpl-pro .skip-link:focus{top:10px;outline:3px solid var(--qp-focus);}

/* Cabeçalho mais limpo, com ações compactas. */
body.evpl-pro .app-header{
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--qp-line)!important;
  box-shadow:0 8px 28px rgba(16,24,40,.08)!important;
  backdrop-filter:blur(10px);
}
body.evpl-pro .app-header .logo{width:42px!important;height:42px!important;object-fit:contain!important;}
body.evpl-pro .app-header h1{font-size:18px!important;letter-spacing:-.02em!important;color:var(--qp-navy)!important;}
body.evpl-pro .top-meta small{color:var(--qp-muted)!important;font-size:11px!important;line-height:1.35!important;}
body.evpl-pro .btns{gap:6px!important;align-items:center!important;}
body.evpl-pro .btn,
body.evpl-pro button.btn,
body.evpl-pro .apply-btn,
body.evpl-pro .pro-mini-btn{
  height:var(--qp-btn-h)!important;
  min-height:var(--qp-btn-h)!important;
  padding:0 10px!important;
  border-radius:10px!important;
  border:1px solid var(--qp-line)!important;
  background:linear-gradient(180deg,#fff,#f8fafd)!important;
  color:#344054!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.01em!important;
  line-height:1!important;
  box-shadow:0 1px 0 rgba(16,24,40,.04)!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease!important;
}
body.evpl-pro .btn:hover,
body.evpl-pro button.btn:hover,
body.evpl-pro .apply-btn:hover,
body.evpl-pro .pro-mini-btn:hover{
  transform:translateY(-1px)!important;
  border-color:var(--qp-line-strong)!important;
  box-shadow:0 6px 14px rgba(16,24,40,.10)!important;
}
body.evpl-pro .btn:active,
body.evpl-pro button.btn:active,
body.evpl-pro .apply-btn:active,
body.evpl-pro .pro-mini-btn:active{transform:translateY(0)!important;box-shadow:none!important;}
body.evpl-pro .apply-btn,
body.evpl-pro #btnApply{
  background:linear-gradient(180deg,var(--qp-red),var(--qp-red-2))!important;
  color:#fff!important;
  border-color:rgba(143,12,20,.95)!important;
  box-shadow:0 8px 18px rgba(184,15,26,.20)!important;
}
body.evpl-pro #btnExport,
body.evpl-pro #btnExportCSV{min-width:42px!important;}
body.evpl-pro #btnClear{min-width:64px!important;}
body.evpl-pro #btnLoad{min-width:74px!important;}
body.evpl-pro #btnPrint{min-width:66px!important;}
body.evpl-pro .aplicar-container:empty{display:none!important;}

/* Abas com cara de sistema gerencial, sem excesso de cor. */
body.evpl-pro .tabs{
  background:var(--qp-navy)!important;
  border-bottom:1px solid #0f172a!important;
  padding:8px 12px!important;
  gap:6px!important;
}
body.evpl-pro .tab{
  height:34px!important;
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:rgba(255,255,255,.07)!important;
  color:#e6edf8!important;
  font-size:11px!important;
  font-weight:850!important;
  box-shadow:none!important;
}
body.evpl-pro .tab:hover{background:rgba(255,255,255,.12)!important;color:#fff!important;}
body.evpl-pro .tab.active{
  background:#fff!important;
  color:var(--qp-navy)!important;
  border-color:#fff!important;
  box-shadow:inset 0 -3px 0 var(--qp-gold)!important;
}

/* Painel gerencial sem cartões desproporcionais. */
body.evpl-pro #evplProDashboard{
  gap:10px!important;
  padding:12px 16px!important;
  background:linear-gradient(180deg,#f8fafd,#f3f6fb)!important;
}
body.evpl-pro .pro-card{
  min-height:68px!important;
  padding:11px 14px!important;
  border:1px solid var(--qp-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(16,24,40,.055)!important;
  overflow:hidden!important;
}
body.evpl-pro .pro-card::after{opacity:.13!important;}
body.evpl-pro .pro-card .pro-label,
body.evpl-pro .pro-label{color:#65758d!important;font-size:9.8px!important;letter-spacing:.105em!important;}
body.evpl-pro .pro-value{font-size:18px!important;color:var(--qp-navy)!important;letter-spacing:-.02em!important;}
body.evpl-pro .pro-note{font-size:11px!important;color:#667085!important;}
body.evpl-pro .pro-card.pro-alert{border-color:#ffd9b1!important;background:linear-gradient(180deg,#fff,#fffaf4)!important;}
body.evpl-pro .pro-card.pro-online{border-color:#c7eadf!important;}
body.evpl-pro .pro-card.pro-offline{border-color:#ffd2d5!important;background:#fff8f8!important;}

/* Cabeçalho dos filtros. */
body.evpl-pro #evplProFilterHead{
  background:#fff!important;
  border:1px solid var(--qp-line)!important;
  border-radius:14px 14px 0 0!important;
  margin:10px 16px 0!important;
  min-height:44px!important;
  padding:8px 10px!important;
  box-shadow:0 8px 18px rgba(16,24,40,.045)!important;
}
body.evpl-pro .pro-filter-title{font-size:12px!important;color:var(--qp-navy)!important;}
body.evpl-pro .pro-filter-title .dot{background:var(--qp-red)!important;box-shadow:0 0 0 4px rgba(184,15,26,.10)!important;}
body.evpl-pro .pro-filter-count{height:26px!important;padding:0 9px!important;border-radius:999px!important;background:#f2f5fa!important;color:#475467!important;border:1px solid var(--qp-line)!important;font-size:10px!important;font-weight:850!important;}

/* Filtros: proporção consistente em todas as abas. */
body.evpl-pro .filters{
  margin:0 16px 10px!important;
  padding:12px!important;
  border:1px solid var(--qp-line)!important;
  border-top:0!important;
  border-radius:0 0 14px 14px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 10px 24px rgba(16,24,40,.06)!important;
  overflow:visible!important;
}
body.evpl-pro .filter-group.active{
  grid-template-columns:repeat(auto-fit,minmax(172px,1fr))!important;
  gap:9px!important;
  align-items:end!important;
}
body.evpl-pro .field{gap:5px!important;min-width:0!important;}
body.evpl-pro .field.wide{grid-column:span 2!important;min-width:220px!important;}
body.evpl-pro .field.tiny{width:112px!important;min-width:112px!important;}
body.evpl-pro label{
  color:#5f6f87!important;
  font-size:9.5px!important;
  font-weight:900!important;
  letter-spacing:.095em!important;
  line-height:1.1!important;
  text-transform:uppercase!important;
}
body.evpl-pro label::before{color:var(--qp-red)!important;}
body.evpl-pro input[type="search"],
body.evpl-pro input[type="text"],
body.evpl-pro input[type="number"],
body.evpl-pro select,
body.evpl-pro textarea,
body.evpl-pro .ms332-head{
  width:100%!important;
  height:var(--qp-control-h)!important;
  min-height:var(--qp-control-h)!important;
  padding:0 11px!important;
  border:1px solid var(--qp-line)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--qp-ink)!important;
  font-size:12px!important;
  font-weight:740!important;
  letter-spacing:0!important;
  box-shadow:inset 0 1px 0 rgba(16,24,40,.025)!important;
  outline:none!important;
}
body.evpl-pro select{appearance:auto!important;}
body.evpl-pro input::placeholder{color:#98a2b3!important;font-weight:650!important;}
body.evpl-pro input[type="search"]:focus,
body.evpl-pro input[type="text"]:focus,
body.evpl-pro input[type="number"]:focus,
body.evpl-pro select:focus,
body.evpl-pro textarea:focus,
body.evpl-pro .ms332-head:focus{
  border-color:rgba(184,15,26,.55)!important;
  box-shadow:0 0 0 3px var(--qp-focus),0 6px 16px rgba(16,24,40,.06)!important;
}
body.evpl-pro .field.has-value input,
body.evpl-pro .field.has-value select,
body.evpl-pro .field.has-value .ms332-head{
  border-color:#f4b4b8!important;
  background:#fffdfd!important;
}

/* Multiselect pente-fino: não deixa o select nativo aparecer e mantém menu compacto. */
body.evpl-pro select[data-ms332="1"]{
  position:absolute!important;
  width:1px!important;height:1px!important;min-height:1px!important;
  padding:0!important;margin:0!important;border:0!important;
  opacity:0!important;pointer-events:none!important;
  clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;
}
body.evpl-pro .field.has-ms332{position:relative!important;}
body.evpl-pro .ms332{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  position:relative!important;
  color:var(--qp-ink)!important;
}
body.evpl-pro .ms332-head{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  overflow:hidden!important;
  cursor:pointer!important;
  user-select:none!important;
  padding-right:26px!important;
  position:relative!important;
}
body.evpl-pro .ms332-head::after{
  content:"▾"!important;
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:#667085!important;
  font-size:10px!important;
}
body.evpl-pro .ms332.open .ms332-head{border-color:rgba(184,15,26,.55)!important;box-shadow:0 0 0 3px var(--qp-focus)!important;}
body.evpl-pro .ms332.open .ms332-head::after{content:"▴"!important;color:var(--qp-red)!important;}
body.evpl-pro .ms332-head .placeholder{
  color:#667085!important;
  opacity:1!important;
  font-size:12px!important;
  font-weight:760!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.evpl-pro .ms332-chip{
  max-width:96px!important;
  height:22px!important;
  min-height:22px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  background:#eef3f9!important;
  border:1px solid #d4deeb!important;
  color:#26344d!important;
  padding:0 7px!important;
  border-radius:999px!important;
  font-size:10.2px!important;
  font-weight:850!important;
  line-height:1!important;
}
body.evpl-pro .ms332-chip .x{color:#7f8da3!important;font-size:12px!important;margin-left:1px!important;line-height:1!important;}
body.evpl-pro .ms332-chip .x:hover{color:var(--qp-red)!important;}
body.evpl-pro .ms332-summary-chip{background:#fff4df!important;border-color:#ffd79d!important;color:#7a4300!important;}
body.evpl-pro .ms332-menu{
  position:absolute!important;
  top:calc(100% + 6px)!important;
  left:0!important;
  right:auto!important;
  z-index:5000!important;
  width:max(100%,292px)!important;
  min-width:0!important;
  max-width:min(380px,calc(100vw - 32px))!important;
  max-height:282px!important;
  overflow:auto!important;
  padding:8px!important;
  border:1px solid #cbd6e4!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--qp-ink)!important;
  box-shadow:var(--qp-shadow-pop)!important;
  text-transform:none!important;
}
body.evpl-pro .ms332-menu *{text-transform:none!important;letter-spacing:0!important;}
body.evpl-pro .ms332-search-wrap,
body.evpl-pro .ms332-toolbar{
  position:sticky!important;
  z-index:2!important;
  background:#fff!important;
}
body.evpl-pro .ms332-search-wrap{top:-8px!important;padding:0 0 6px!important;}
body.evpl-pro .ms332-search{
  width:100%!important;height:31px!important;min-height:31px!important;
  border:1px solid #d9e2ee!important;border-radius:10px!important;
  background:#f8fafd!important;color:var(--qp-ink)!important;
  padding:0 10px!important;font-size:12px!important;font-weight:700!important;box-shadow:none!important;
}
body.evpl-pro .ms332-search:focus{background:#fff!important;border-color:#f0a7ad!important;box-shadow:0 0 0 3px var(--qp-focus)!important;}
body.evpl-pro .ms332-toolbar{top:29px!important;display:flex!important;gap:6px!important;padding:0 0 7px!important;border-bottom:1px solid #edf1f7!important;margin-bottom:5px!important;}
body.evpl-pro .ms332-toolbar button{
  height:25px!important;min-height:25px!important;padding:0 8px!important;border-radius:8px!important;border:1px solid var(--qp-line)!important;background:#fff!important;color:#475467!important;font-size:10px!important;font-weight:850!important;cursor:pointer!important;
}
body.evpl-pro .ms332-toolbar .ms332-count{margin-left:auto!important;height:25px!important;display:inline-flex!important;align-items:center!important;padding:0 8px!important;border-radius:999px!important;background:#f2f5fa!important;color:#667085!important;font-size:10px!important;font-weight:850!important;}
body.evpl-pro .ms332-row,
body.evpl-pro.evpl-refined .ms332-row{
  min-height:30px!important;height:30px!important;
  display:grid!important;grid-template-columns:17px minmax(0,1fr)!important;
  align-items:center!important;gap:8px!important;
  padding:0 8px!important;margin:1px 0!important;
  border:0!important;border-radius:9px!important;background:transparent!important;
  color:var(--qp-ink)!important;font-size:12px!important;font-weight:760!important;line-height:1.1!important;box-shadow:none!important;cursor:pointer!important;
}
body.evpl-pro .ms332-row:hover{background:#f3f6fb!important;color:#111827!important;}
body.evpl-pro .ms332-row:has(input:checked){background:#fff7e6!important;color:#111827!important;}
body.evpl-pro .ms332-row input[type="checkbox"]{
  width:14px!important;height:14px!important;min-height:14px!important;padding:0!important;margin:0!important;border-radius:4px!important;accent-color:var(--qp-red)!important;box-shadow:none!important;
}
body.evpl-pro .ms332-row span{min-width:0!important;display:block!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;color:inherit!important;}
body.evpl-pro .ms332-actions{
  position:sticky!important;bottom:-8px!important;display:flex!important;justify-content:flex-end!important;gap:6px!important;margin:7px -2px -2px!important;padding:7px 2px 2px!important;background:linear-gradient(180deg,rgba(255,255,255,.88),#fff 45%)!important;border-top:1px solid #edf1f7!important;
}
body.evpl-pro .ms332-actions .btn{height:28px!important;min-height:28px!important;padding:0 10px!important;border-radius:9px!important;font-size:10.5px!important;box-shadow:none!important;}
body.evpl-pro .ms332-actions .btn.clear{background:#fff!important;color:#344054!important;border-color:#d5deea!important;}
body.evpl-pro .ms332-actions .btn.apply{background:var(--qp-red)!important;color:#fff!important;border-color:var(--qp-red)!important;}

/* Chips dos filtros. */
body.evpl-pro .filter-chips{gap:5px!important;min-height:22px!important;margin-top:0!important;}
body.evpl-pro .filter-chip,
body.evpl-pro .filter-chip-empty,
body.evpl-pro .chip{
  height:24px!important;display:inline-flex!important;align-items:center!important;gap:4px!important;padding:0 8px!important;border-radius:999px!important;font-size:10.3px!important;background:#f6f8fb!important;border:1px solid #d8e1ec!important;color:#344054!important;font-weight:780!important;
}
body.evpl-pro .filter-chip:hover{background:#eef3fa!important;border-color:#c6d2e2!important;}
body.evpl-pro .filter-chip-close{color:var(--qp-red)!important;font-weight:950!important;}

/* Tabelas e leitura operacional. */
body.evpl-pro main{padding:0 16px 74px!important;}
body.evpl-pro .table-wrap{
  border-radius:14px!important;border:1px solid var(--qp-line)!important;background:#fff!important;box-shadow:var(--qp-shadow)!important;overflow:auto!important;
}
body.evpl-pro table{border-collapse:separate!important;border-spacing:0!important;background:#fff!important;}
body.evpl-pro thead th{
  position:sticky!important;top:0!important;z-index:4!important;background:linear-gradient(180deg,var(--qp-navy),var(--qp-navy-2))!important;color:#fff!important;border-color:#2e405f!important;font-size:10.5px!important;font-weight:900!important;letter-spacing:.015em!important;box-shadow:none!important;
}
body.evpl-pro tbody td{color:#1f2937!important;border-color:#e7ecf3!important;font-size:11.5px!important;}
body.evpl-pro tbody tr:hover td{background:#f7f9fc!important;filter:none!important;}
body.evpl-pro tbody tr:nth-child(odd) td{background:#fbfcfe!important;}
body.evpl-pro tbody tr:nth-child(even) td{background:#fff!important;}
body.evpl-pro tfoot td{background:#f2f5fa!important;color:#111827!important;font-weight:850!important;border-top:1px solid var(--qp-line-strong)!important;}
body.evpl-pro .empty{border:1px dashed #cbd6e4!important;background:#fff!important;color:#667085!important;border-radius:14px!important;margin:14px 16px!important;padding:14px!important;}

/* Drawer gerencial mais discreto. */
body.evpl-pro #evplProDrawerBtn{height:36px!important;min-height:36px!important;right:16px!important;bottom:16px!important;padding:0 13px!important;border-radius:999px!important;background:linear-gradient(180deg,var(--qp-navy),#101828)!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;font-size:11px!important;box-shadow:0 12px 26px rgba(16,24,40,.24)!important;}
body.evpl-pro #evplProDrawer{border-radius:16px!important;border-color:#d8e1ed!important;box-shadow:0 24px 60px rgba(16,24,40,.24)!important;}
body.evpl-pro .pro-drawer-grid .btn{width:100%!important;justify-content:center!important;}

/* Estados compactos. */
body.evpl-pro.density-compact{--qp-control-h:34px;--qp-btn-h:30px;}
body.evpl-pro.density-compact .filters{padding:9px!important;}
body.evpl-pro.density-compact .filter-group.active{gap:7px!important;grid-template-columns:repeat(auto-fit,minmax(156px,1fr))!important;}
body.evpl-pro.density-compact .pro-card{min-height:58px!important;padding:8px 10px!important;}
body.evpl-pro.density-compact .ms332-row{height:28px!important;min-height:28px!important;}
body.evpl-pro.evpl-pro-filters-collapsed .filters{display:none!important;}
body.evpl-pro.evpl-pro-filters-collapsed #evplProFilterHead{border-radius:14px!important;margin-bottom:10px!important;}

@media (max-width:1100px){
  body.evpl-pro .app-header{grid-template-columns:1fr!important;gap:8px!important;}
  body.evpl-pro .right.top-meta{border-left:0!important;border-top:1px solid var(--qp-line)!important;padding-left:0!important;padding-top:8px!important;}
  body.evpl-pro .btns{justify-content:flex-start!important;max-width:none!important;}
  body.evpl-pro #evplProDashboard{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:720px){
  body.evpl-pro .app-header{padding:10px 12px!important;}
  body.evpl-pro .btns{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important;gap:6px!important;}
  body.evpl-pro .btn,body.evpl-pro .apply-btn{padding:0 6px!important;font-size:10px!important;}
  body.evpl-pro .tabs{overflow:auto!important;flex-wrap:nowrap!important;scrollbar-width:thin;}
  body.evpl-pro .tab{flex:0 0 auto!important;}
  body.evpl-pro #evplProDashboard{grid-template-columns:1fr!important;margin:0!important;padding:10px 12px!important;}
  body.evpl-pro #evplProFilterHead,
  body.evpl-pro .filters{margin-left:12px!important;margin-right:12px!important;}
  body.evpl-pro .filter-group.active{grid-template-columns:1fr!important;}
  body.evpl-pro .field.wide,body.evpl-pro .field.tiny{grid-column:1/-1!important;width:100%!important;min-width:0!important;}
  body.evpl-pro .ms332-menu{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:72px!important;width:auto!important;max-width:none!important;max-height:48dvh!important;}
  body.evpl-pro main{padding-left:12px!important;padding-right:12px!important;}
}
@media (max-width:420px){
  body.evpl-pro .btns{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.evpl-pro .top-meta small{font-size:10px!important;}
}
@media print{
  body.evpl-pro{background:#fff!important;}
  body.evpl-pro .app-header,
  body.evpl-pro .tabs,
  body.evpl-pro #evplProDashboard,
  body.evpl-pro #evplProFilterHead,
  body.evpl-pro .filters,
  body.evpl-pro #evplProDrawer,
  body.evpl-pro #evplProDrawerBtn,
  body.evpl-pro #scrollTop,
  body.evpl-pro .toast{display:none!important;}
  body.evpl-pro main{padding:0!important;}
  body.evpl-pro .table-wrap{box-shadow:none!important;border:1px solid #777!important;}
}
@media (prefers-reduced-motion:reduce){
  body.evpl-pro *,body.evpl-pro *::before,body.evpl-pro *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;}
}
