/* ===================== OCCX (escopado) ===================== */
/* Lembrete: o container raiz deve ter data-occx
   <div class="relatorioocupacao ..." data-occx> */

/* --------- Cards de resumo --------- */
[data-occx] .occx-card{
  border-radius:12px;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
  background:#fff;
  min-height:56px;
}
[data-occx] .occx-card-body{display:flex;align-items:center;gap:.6rem;padding:.65rem .75rem;}
[data-occx] .occx-card-ico{font-size:1.15rem;opacity:.9;}
[data-occx] .occx-card-sub{font-size:.75rem;opacity:.75;line-height:1;}
[data-occx] .occx-card-val{font-size:1.25rem;font-weight:700;line-height:1.1;}

[data-occx] .occx-t-primary{background:linear-gradient(180deg,#2b6cb0 0,#2c5282 100%);color:#fff;}
[data-occx] .occx-t-danger {background:linear-gradient(180deg,#c53030 0,#9b2c2c 100%);color:#fff;}
[data-occx] .occx-t-warning{background:linear-gradient(180deg,#d69e2e 0,#b7791f 100%);color:#fff;}
[data-occx] .occx-t-success{background:linear-gradient(180deg,#2f855a 0,#276749 100%);color:#fff;}
[data-occx] .occx-t-info   {background:linear-gradient(180deg,#3182ce 0,#2b6cb0 100%);color:#fff;}

/* --------- Accordion OCCX --------- */
[data-occx] .occx-item{
  position:relative;           /* p/ borda lateral */
  border-radius:14px;
  border:1px solid rgba(0,0,0,.06);
  background:#fff;
  margin-bottom:.5rem;
  overflow:hidden;
}
[data-occx] .occx-header{background:#f9fafb;}
[data-occx] .occx-toggle{
  width:100%;
  display:flex;
  align-items:center;
  gap:.75rem;
  justify-content:space-between;
  padding:.75rem 1rem;
  background:transparent;
  border:0;
  text-align:left;
  cursor:pointer;
  position:relative;
  transition: background .15s ease, box-shadow .15s ease;
}
[data-occx] .occx-toggle:hover{ background:#f3f4f6; }
[data-occx] .occx-toggle:active{ box-shadow: inset 0 1px 3px rgba(0,0,0,.08); }
[data-occx] .occx-toggle:focus-visible{
  outline: 2px solid #60a5fa; outline-offset: 2px; border-radius:8px;
}
[data-occx] .occx-toggle .occx-caret{transition:transform .2s ease;opacity:.8;}
[data-occx] .occx-toggle.is-open .occx-caret{transform:rotate(180deg);}
[data-occx] .occx-toggle-title{font-weight:600;}

/* Cabeçalho do dia: data | espaço | badges | seta */
[data-occx] .occx-toggle.day{
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  column-gap:.5rem;
}
/* slot de badges: encosta à direita e limita largura */
[data-occx] .occx-toggle.day .occx-slot-badges{
  justify-self:end;
  max-width:min(65vw, 980px);
}
/* seta (caret) */
[data-occx] .occx-toggle.day .occx-slot-caret{
  display:flex; align-items:center; justify-content:flex-end;
  min-width:1rem; opacity:.7; margin-left:.25rem;
}
[data-occx] .occx-toggle.day .occx-slot-caret:hover{ opacity:1; }

/* Data como "pill" com emoji */
[data-occx] .occx-slot-date{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.35rem .6rem; border-radius:999px;
  background:#111827; color:#fff; font-weight:700; line-height:1;
}
[data-occx] .occx-slot-date i{ display:none; }
[data-occx] .occx-slot-date::before{ content:"📅"; font-size:1rem; line-height:1; }

/* Trilho/overflow das badges */
[data-occx] .occx-badges-scroll{
  display:block;
  min-width:0;
  overflow-x:auto;
  white-space:nowrap;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  padding-bottom:.2rem;
  mask-image:linear-gradient(90deg, rgba(0,0,0,.85), #000 16px, #000 calc(100% - 16px), rgba(0,0,0,.85));
  -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,.85), #000 16px, #000 calc(100% - 16px), rgba(0,0,0,.85));
}

/* Painel show/hide */
[data-occx] .occx-panel{display:none;}
[data-occx] .occx-panel.show{display:block;animation:occxSlide .18s ease-out;}
@keyframes occxSlide{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}

/* Corpo do painel */
[data-occx] .occx-body{padding:.75rem 1rem;}

/* --------- Badges próprias --------- */
[data-occx] .occx-badge{
  display:inline-block;
  font-size:.72rem;
  font-weight:600;
  padding:.25rem .5rem;
  border-radius:8px;
  color:#fff;
  vertical-align:middle;
  margin-right:.25rem;
}
[data-occx] .occx-badge:last-child{margin-right:0;}
[data-occx] .occx-badge--secondary{background:#6c757d;}
[data-occx] .occx-badge--success  {background:#0a25c2;}
/* % com "heat" (setada por --occx-h via JS) */
[data-occx] .occx-badge--pct{ color:#0b2540; background:hsl(var(--occx-h,210) 70% 85%); }
[data-occx] .occx-badge--info     {background:#3182ce;color:#0b2540;}
[data-occx] .occx-badge--warning  {background:#d69e2e;color:#3a2a00;}
[data-occx] .occx-badge--danger   {background:#c53030;}

/* --------- Progress própria --------- */
[data-occx] .occx-progress{
  height:.45rem;
  background:#e9ecef;
  border-radius:6px;
  overflow:hidden;
}
[data-occx] .occx-progress__bar{
  height:100%;
  background:#3182ce;
  transition:width .2s ease;
}

/* --------- Tabela própria --------- */
[data-occx] .occx-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}
[data-occx] .occx-table th,
[data-occx] .occx-table td{
  padding:.5rem .6rem;
  border:1px solid #e5e7eb;
  vertical-align:middle;
}
[data-occx] .occx-thead th{background:#f8fafc;}
[data-occx] .occx-sticky-top{position:sticky;top:0;z-index:1;}
[data-occx] .occx-table--striped tbody tr:nth-child(odd){background:#fafafa;}
[data-occx] .occx-table--sm th,
[data-occx] .occx-table--sm td{padding:.4rem .5rem;}
[data-occx] .occx-text-end{text-align:right;}
[data-occx] .occx-strong{font-weight:700;}
[data-occx] .occx-mb-0{margin-bottom:0!important;}
[data-occx] .occx-mt-1{margin-top:.25rem;}
[data-occx] .occx-mr-2{margin-right:.5rem;}

/* Tons de linha (substituem table-success/warning/danger) */
[data-occx] .occx-row--ok   { background:#edf7ef; }
[data-occx] .occx-row--warn { background:#fff7e6; }
[data-occx] .occx-row--bad  { background:#fdeaea; }

/* Nota explicativa no final do painel */
[data-occx] .occx-note{
  font-size:.85rem;
  color:#6b7280;
  padding:.5rem .75rem;
  display:flex;
  align-items:center;
}

/* --------- Realce do card por nível de ocupação (borda lateral) --------- */
[data-occx] .occx-item::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:6px; border-radius:14px 0 0 14px;
}
[data-occx] .occx-item.occx-high::before{ background:#38a169; } /* ok */
[data-occx] .occx-item.occx-med::before { background:#d69e2e; } /* atenção */
[data-occx] .occx-item.occx-low::before { background:#e53e3e; } /* crítico */

/* --------- Modo de densidade (compacto) --------- */
[data-occx].occx-compact .occx-toggle{ padding:.5rem .75rem; }
[data-occx].occx-compact .occx-body{ padding:.5rem .75rem; }
[data-occx].occx-compact .occx-badge{ padding:.2rem .45rem; font-size:.68rem; border-radius:7px; }
[data-occx].occx-compact .occx-card{ min-height:48px; }
[data-occx].occx-compact .occx-table th,
[data-occx].occx-compact .occx-table td{ padding:.35rem .45rem; }

/* --------- Blindagens gerais --------- */
[data-occx] .card > .card-body{position:relative;}
[data-occx] .card > .card-body:first-child{padding-top:1rem!important;}
[data-occx] .occx-summary-wrap{display:block!important;position:relative;margin-top:.25rem;z-index:1;}
[data-occx] .card{overflow:visible;}
[data-occx] .occx-header, 
[data-occx] .occx-toggle{overflow:visible;}

/* --------- Overlay --------- */
[data-occx] #loadingOverlayDiario{display:none;}
[data-occx] #loadingOverlayDiario.d-flex{display:flex!important;}

/* --------- Responsivo --------- */
@media (max-width: 575.98px){
  [data-occx] .occx-card-val{font-size:1.1rem;}
}
/* ====== FAIXAS DE % (buckets) ======
   r1: 0-20 (vermelho forte)
   y1: 21-30 (âmbar)
   y2: 31-40 (amarelo)
   g1: 41-60 (lima)
   g2: 61-80 (verde)
   g3: 81-100 (verde escuro) */

/* ===================== OCCX (escopado) ===================== */
/* Lembrete: o container raiz deve ter data-occx
   <div class="relatorioocupacao ..." data-occx> */

/* --------- Cards de resumo --------- */
[data-occx] .occx-card{
  border-radius:12px;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
  background:#fff;
  min-height:56px;
}
[data-occx] .occx-card-body{display:flex;align-items:center;gap:.6rem;padding:.65rem .75rem;}
[data-occx] .occx-card-ico{font-size:1.15rem;opacity:.9;}
[data-occx] .occx-card-sub{font-size:.75rem;opacity:.75;line-height:1;}
[data-occx] .occx-card-val{font-size:1.25rem;font-weight:700;line-height:1.1;}

[data-occx] .occx-t-primary{background:linear-gradient(180deg,#2b6cb0 0,#2c5282 100%);color:#fff;}
[data-occx] .occx-t-danger {background:linear-gradient(180deg,#c53030 0,#9b2c2c 100%);color:#fff;}
[data-occx] .occx-t-warning{background:linear-gradient(180deg,#d69e2e 0,#b7791f 100%);color:#fff;}
[data-occx] .occx-t-success{background:linear-gradient(180deg,#2f855a 0,#276749 100%);color:#fff;}
[data-occx] .occx-t-info   {background:linear-gradient(180deg,#3182ce 0,#2b6cb0 100%);color:#fff;}

/* --------- Accordion OCCX --------- */
[data-occx] .occx-item{
  position:relative;           /* p/ borda lateral */
  border-radius:14px;
  border:1px solid rgba(0,0,0,.06);
  background:#fff;
  margin-bottom:.5rem;
  overflow:hidden;
}
[data-occx] .occx-header{background:#f9fafb;}
[data-occx] .occx-toggle{
  width:100%;
  display:flex;
  align-items:center;
  gap:.75rem;
  justify-content:space-between;
  padding:.75rem 1rem;
  background:transparent;
  border:0;
  text-align:left;
  cursor:pointer;
  position:relative;
  transition: background .15s ease, box-shadow .15s ease;
}
[data-occx] .occx-toggle:hover{ background:#f3f4f6; }
[data-occx] .occx-toggle:active{ box-shadow: inset 0 1px 3px rgba(0,0,0,.08); }
[data-occx] .occx-toggle:focus-visible{
  outline: 2px solid #60a5fa; outline-offset: 2px; border-radius:8px;
}
[data-occx] .occx-toggle .occx-caret{transition:transform .2s ease;opacity:.8;}
[data-occx] .occx-toggle.is-open .occx-caret{transform:rotate(180deg);}
[data-occx] .occx-toggle-title{font-weight:600;}

/* Cabeçalho do dia: data | espaço | badges | seta */
[data-occx] .occx-toggle.day{
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  column-gap:.5rem;
}
/* slot de badges: encosta à direita e limita largura */
[data-occx] .occx-toggle.day .occx-slot-badges{
  justify-self:end;
  max-width:min(65vw, 980px);
}
/* seta (caret) */
[data-occx] .occx-toggle.day .occx-slot-caret{
  display:flex; align-items:center; justify-content:flex-end;
  min-width:1rem; opacity:.7; margin-left:.25rem;
}
[data-occx] .occx-toggle.day .occx-slot-caret:hover{ opacity:1; }

/* Data como "pill" com emoji */
[data-occx] .occx-slot-date{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.35rem .6rem; border-radius:999px;
  background:#111827; color:#fff; font-weight:700; line-height:1;
}
[data-occx] .occx-slot-date i{ display:none; }
[data-occx] .occx-slot-date::before{ content:"📅"; font-size:1rem; line-height:1; }

/* Trilho/overflow das badges */
[data-occx] .occx-badges-scroll{
  display:block;
  min-width:0;
  overflow-x:auto;
  white-space:nowrap;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  padding-bottom:.2rem;
  mask-image:linear-gradient(90deg, rgba(0,0,0,.85), #000 16px, #000 calc(100% - 16px), rgba(0,0,0,.85));
  -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,.85), #000 16px, #000 calc(100% - 16px), rgba(0,0,0,.85));
}

/* Painel show/hide */
[data-occx] .occx-panel{display:none;}
[data-occx] .occx-panel.show{display:block;animation:occxSlide .18s ease-out;}
@keyframes occxSlide{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}

/* Corpo do painel */
[data-occx] .occx-body{padding:.75rem 1rem;}

/* --------- Badges próprias --------- */
[data-occx] .occx-badge{
  display:inline-block;
  font-size:.72rem;
  font-weight:600;
  padding:.25rem .5rem;
  border-radius:8px;
  color:#fff;
  vertical-align:middle;
  margin-right:.25rem;
}
[data-occx] .occx-badge:last-child{margin-right:0;}
[data-occx] .occx-badge--secondary{background:#6c757d;}
[data-occx] .occx-badge--success  {background:#0a25c2;}
/* % com "heat" (setada por --occx-h via JS) */
[data-occx] .occx-badge--pct{ color:#0b2540; background:hsl(var(--occx-h,210) 70% 85%); }
[data-occx] .occx-badge--info     {background:#3182ce;color:#0b2540;}
[data-occx] .occx-badge--warning  {background:#d69e2e;color:#3a2a00;}
[data-occx] .occx-badge--danger   {background:#c53030;}

/* --------- Progress própria --------- */
[data-occx] .occx-progress{
  height:.45rem;
  background:#e9ecef;
  border-radius:6px;
  overflow:hidden;
}
[data-occx] .occx-progress__bar{
  height:100%;
  background:#3182ce;
  transition:width .2s ease;
}

/* --------- Tabela própria --------- */
[data-occx] .occx-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}
[data-occx] .occx-table th,
[data-occx] .occx-table td{
  padding:.5rem .6rem;
  border:1px solid #e5e7eb;
  vertical-align:middle;
}
[data-occx] .occx-thead th{background:#f8fafc;}
[data-occx] .occx-sticky-top{position:sticky;top:0;z-index:1;}
[data-occx] .occx-table--striped tbody tr:nth-child(odd){background:#fafafa;}
[data-occx] .occx-table--sm th,
[data-occx] .occx-table--sm td{padding:.4rem .5rem;}
[data-occx] .occx-text-end{text-align:right;}
[data-occx] .occx-strong{font-weight:700;}
[data-occx] .occx-mb-0{margin-bottom:0!important;}
[data-occx] .occx-mt-1{margin-top:.25rem;}
[data-occx] .occx-mr-2{margin-right:.5rem;}

/* Tons de linha (substituem table-success/warning/danger) */
[data-occx] .occx-row--ok   { background:#edf7ef; }
[data-occx] .occx-row--warn { background:#fff7e6; }
[data-occx] .occx-row--bad  { background:#fdeaea; }

/* Nota explicativa no final do painel */
[data-occx] .occx-note{
  font-size:.85rem;
  color:#6b7280;
  padding:.5rem .75rem;
  display:flex;
  align-items:center;
}

/* --------- Realce do card por nível de ocupação (borda lateral) --------- */
[data-occx] .occx-item::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:6px; border-radius:14px 0 0 14px;
}
[data-occx] .occx-item.occx-high::before{ background:#38a169; } /* ok */
[data-occx] .occx-item.occx-med::before { background:#d69e2e; } /* atenção */
[data-occx] .occx-item.occx-low::before { background:#e53e3e; } /* crítico */

/* --------- Modo de densidade (compacto) --------- */
[data-occx].occx-compact .occx-toggle{ padding:.5rem .75rem; }
[data-occx].occx-compact .occx-body{ padding:.5rem .75rem; }
[data-occx].occx-compact .occx-badge{ padding:.2rem .45rem; font-size:.68rem; border-radius:7px; }
[data-occx].occx-compact .occx-card{ min-height:48px; }
[data-occx].occx-compact .occx-table th,
[data-occx].occx-compact .occx-table td{ padding:.35rem .45rem; }

/* --------- Blindagens gerais --------- */
[data-occx] .card > .card-body{position:relative;}
[data-occx] .card > .card-body:first-child{padding-top:1rem!important;}
[data-occx] .occx-summary-wrap{display:block!important;position:relative;margin-top:.25rem;z-index:1;}
[data-occx] .card{overflow:visible;}
[data-occx] .occx-header, 
[data-occx] .occx-toggle{overflow:visible;}

/* --------- Overlay --------- */
[data-occx] #loadingOverlayDiario{display:none;}
[data-occx] #loadingOverlayDiario.d-flex{display:flex!important;}

/* --------- Responsivo --------- */
@media (max-width: 575.98px){
  [data-occx] .occx-card-val{font-size:1.1rem;}
}
/* ====== FAIXAS DE % (buckets) ======
   r1: 0-20 (vermelho forte)
   y1: 21-30 (âmbar)
   y2: 31-40 (amarelo)
   g1: 41-60 (lima)
   g2: 61-80 (verde)
   g3: 81-100 (verde escuro) */

/* BADGE % */
[data-occx] .occx-badge--pct.occx-tier--r1 { background:#fee2e2; color:#7f1d1d; }
[data-occx] .occx-badge--pct.occx-tier--y1 { background:#ffedd5; color:#7c2d12; }
[data-occx] .occx-badge--pct.occx-tier--y2 { background:#fef9c3; color:#713f12; }
[data-occx] .occx-badge--pct.occx-tier--g1 { background:#ecfccb; color:#365314; }
[data-occx] .occx-badge--pct.occx-tier--g2 { background:#dcfce7; color:#14532d; }
[data-occx] .occx-badge--pct.occx-tier--g3 { background:#d1fae5; color:#064e3b; }

/* PROGRESS BAR (cor do preenchimento) */
[data-occx] .occx-progress__bar.occx-tier--r1 { background:#ef4444; }
[data-occx] .occx-progress__bar.occx-tier--y1 { background:#f59e0b; }
[data-occx] .occx-progress__bar.occx-tier--y2 { background:#eab308; }
[data-occx] .occx-progress__bar.occx-tier--g1 { background:#84cc16; }
[data-occx] .occx-progress__bar.occx-tier--g2 { background:#22c55e; }
[data-occx] .occx-progress__bar.occx-tier--g3 { background:#10b981; }

/* LINHA DA TABELA (tint leve) */
[data-occx] tr.occx-row.occx-tier--r1 { background:#fff1f2; }
[data-occx] tr.occx-row.occx-tier--y1 { background:#fff7ed; }
[data-occx] tr.occx-row.occx-tier--y2 { background:#fffbeb; }
[data-occx] tr.occx-row.occx-tier--g1 { background:#f7fee7; }
[data-occx] tr.occx-row.occx-tier--g2 { background:#f0fdf4; }
[data-occx] tr.occx-row.occx-tier--g3 { background:#ecfdf5; }
/* --- garantir que o namespace existe no container raiz ---
   Ex.: <div id="accordionAreasDiario" class="occx-root" data-occx>
*/

/* PREVINE o zebra do striped sobrescrever nossas tintas */
[data-occx] .occx-table.occx-table--striped > tbody > tr:nth-of-type(odd) > * {
  background-color: transparent; /* desliga zebra dentro do painel */
}

/* APLICA a cor por faixa diretamente nas células (vence o striped) */
[data-occx] .occx-table tbody tr.occx-row.occx-tier--r1 > *,
[data-occx] .occx-table tbody tr.occx-row.occx-tier--r1 {
  background-color: #fff1f2 !important; /* 0–20% */
}
[data-occx] .occx-table tbody tr.occx-row.occx-tier--y1 > *,
[data-occx] .occx-table tbody tr.occx-row.occx-tier--y1 {
  background-color: #fff7ed !important; /* 21–30% */
}
[data-occx] .occx-table tbody tr.occx-row.occx-tier--y2 > *,
[data-occx] .occx-table tbody tr.occx-row.occx-tier--y2 {
  background-color: #fffbeb !important; /* 31–40% */
}
[data-occx] .occx-table tbody tr.occx-row.occx-tier--g1 > *,
[data-occx] .occx-table tbody tr.occx-row.occx-tier--g1 {
  background-color: #f7fee7 !important; /* 41–60% */
}
[data-occx] .occx-table tbody tr.occx-row.occx-tier--g2 > *,
[data-occx] .occx-table tbody tr.occx-row.occx-tier--g2 {
  background-color: #f0fdf4 !important; /* 61–80% */
}
[data-occx] .occx-table tbody tr.occx-row.occx-tier--g3 > *,
[data-occx] .occx-table tbody tr.occx-row.occx-tier--g3 {
  background-color: #ecfdf5 !important; /* 81–100% */
}

/* Mantém a barra de progresso com a cor da faixa (já estava OK) */
[data-occx] .occx-progress__bar.occx-tier--r1 { background:#ef4444; }
[data-occx] .occx-progress__bar.occx-tier--y1 { background:#f59e0b; }
[data-occx] .occx-progress__bar.occx-tier--y2 { background:#eab308; }
[data-occx] .occx-progress__bar.occx-tier--g1 { background:#84cc16; }
[data-occx] .occx-progress__bar.occx-tier--g2 { background:#22c55e; }
[data-occx] .occx-progress__bar.occx-tier--g3 { background:#10b981; }
/* ===== Power BI vibe (escopo data-occx) ===== */
[data-occx] {
  --pbi-accent: #2563eb;        /* primário */
  --pbi-accent-ink: #ffffff;
  --pbi-ghost: #eef2f7;         /* botões ghost/segmented */
  --pbi-ghost-line: #e5e7eb;
  --pbi-ink: #111827;
  --pbi-ink-2: #4b5563;
  --pbi-bg-soft: #f6f7fb;       /* filter bar */
  --pbi-border: #e5e7eb;
  --pbi-radius: 12px;
}

/* Header */
[data-occx] .pbi-header {
  background: #fff;
  border-bottom: 1px solid var(--pbi-border);
  padding: .9rem 1rem;
}
[data-occx] .pbi-headbar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: start;
}
[data-occx] .pbi-title {
  display: flex; align-items: center; gap: .75rem;
}
[data-occx] .pbi-title-ico {
  font-size: 1.25rem; line-height: 1; display: inline-block;
}
[data-occx] .pbi-title-text {
  font-weight: 700; font-size: 1.05rem; color: var(--pbi-ink);
}
[data-occx] .pbi-title-sub {
  font-size: .85rem; color: var(--pbi-ink-2);
}

/* Filter bar container */
[data-occx] .pbi-filterbar {
  background: var(--pbi-bg-soft);
  border: 1px solid var(--pbi-border);
  border-radius: var(--pbi-radius);
  padding: .6rem .65rem;
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: .6rem .8rem;
  align-items: end;
}
[data-occx] .pbi-field label {
  font-size: .72rem; color: var(--pbi-ink-2); margin-bottom: .25rem;
}

/* Inputs minimalistas */
[data-occx] .pbi-input .input-group-text {
  background: transparent; border: 0; color: var(--pbi-ink-2);
}
[data-occx] .pbi-input .form-control {
  border: 1px solid var(--pbi-ghost-line);
  background: #fff; color: var(--pbi-ink);
  border-radius: 8px;
}
[data-occx] .pbi-input .form-control:focus {
  border-color: var(--pbi-accent);
  box-shadow: 0 0 0 3px rgba(37,99,235,.12);
}

/* Segmented “Power BI” */
[data-occx] .pbi-seg .btn {
  border: 1px solid var(--pbi-ghost-line);
  background: var(--pbi-ghost);
  color: var(--pbi-ink-2);
  padding: .35rem .6rem;
  border-radius: 999px;
}
[data-occx] .pbi-seg .btn:not(.active):hover {
  background: #e9edf4;
}
[data-occx] .pbi-seg .btn.active {
  background: var(--pbi-accent);
  color: var(--pbi-accent-ink);
  border-color: var(--pbi-accent);
}

/* Botões ações */
[data-occx] .pbi-actions { display:flex; gap:.4rem; }
[data-occx] .pbi-primary {
  background: var(--pbi-accent);
  color: var(--pbi-accent-ink);
  border: 1px solid var(--pbi-accent);
  border-radius: 10px;
}
[data-occx] .pbi-primary:hover { filter: brightness(0.95); }
[data-occx] .pbi-ghost {
  background: transparent;
  color: var(--pbi-ink-2);
  border: 1px solid var(--pbi-ghost-line);
  border-radius: 10px;
}
[data-occx] .pbi-ghost:hover { background: var(--pbi-ghost); }

/* Info strip + legenda */
[data-occx] .pbi-infostrip {
  border-top: 1px solid var(--pbi-border);
  background: #fff;
  padding: .5rem 1rem;
  display: flex; flex-wrap: wrap;
  align-items: center; justify-content: space-between;
  gap: .5rem;
}
[data-occx] .pbi-infostrip-left { color: var(--pbi-ink-2); font-size: .95rem; }
[data-occx] .pbi-legend { display:flex; align-items:center; gap:.25rem; }
[data-occx] .pbi-tag {
  font-size: .7rem; color: var(--pbi-ink-2);
  background: var(--pbi-bg-soft);
  border: 1px solid var(--pbi-border);
  padding: .15rem .4rem; border-radius: 999px; margin-right:.25rem;
}

/* Responsivo */
@media (max-width: 992px){
  [data-occx] .pbi-headbar { grid-template-columns: 1fr; }
  [data-occx] .pbi-filterbar { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 576px){
  [data-occx] .pbi-filterbar { grid-template-columns: 1fr; }
  [data-occx] .pbi-actions { justify-content:flex-start; }
}
