/* ==========================================================================
   Adaptive OMNI — console de gestão de conta (Keycloak account.v3 / PatternFly 5)
   Mesmos tokens do tema de login: Inter, azul #1F6EC7, bordas #CED6DB, valores do Cerrado DS.
   ========================================================================== */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations"),
       url("../fonts/inter-latin-wght-normal.woff2") format("woff2");
}

:root {
  /* tokens semanticos adicionais (valores do tema claro); o modo escuro redefine apenas estas variaveis */
  --omni-surface: #ffffff;
  --omni-input-text: #5d656d;   /* texto digitado nos campos (igual ao placeholder no tema claro) */
  --omni-control-border: #ced6db;
  --omni-on-accent: #ffffff;
  --omni-on-accent-divider: rgba(255, 255, 255, .25);
  --omni-hover: #f2f6fb;
  --omni-selected: #eff7ff;
  --omni-row-selected: #eff7ff;   /* linha de tabela selecionada (checkbox marcado) */
  --omni-nav-title: #1a1a1a;
  --omni-primary-hover: #1a5fae;
  --omni-primary: #1f6ec7;
  --omni-primary-strong: #19569d;
  --omni-title: #0c498f;
  --omni-text: #566c78;
  --omni-text-strong: #434b51;
  --omni-line: #ced6db;
  --omni-page: #f5f5f5;
  --omni-masthead: #0c3a6d;

  /* PatternFly 5 */
  --pf-v5-global--FontFamily--text: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --pf-v5-global--FontFamily--heading: var(--pf-v5-global--FontFamily--text);
  --pf-v5-global--FontFamily--sans-serif: var(--pf-v5-global--FontFamily--text);
  --pf-v5-global--primary-color--100: var(--omni-primary);
  --pf-v5-global--primary-color--200: var(--omni-primary-strong);
  --pf-v5-global--active-color--100: var(--omni-primary);
  --pf-v5-global--link--Color: var(--omni-primary);
  --pf-v5-global--link--Color--hover: var(--omni-primary-strong);
  --pf-v5-global--Color--100: var(--omni-text-strong);
  --pf-v5-global--Color--200: var(--omni-text);
  --pf-v5-global--BackgroundColor--200: var(--omni-page);
  --pf-v5-global--BorderColor--100: var(--omni-line);
  --pf-v5-global--BorderRadius--sm: 3px;
}

html, body { font-family: var(--pf-v5-global--FontFamily--text); -webkit-font-smoothing: antialiased; }

/* ---------- Cabeçalho ---------- */

/* Imagem top-bar.webp (1920x70): ancorada no canto superior esquerdo, sem resize e sem repetir.
   Em telas maiores que 1920px a imagem mantem a largura e a cor de fundo completa a barra. */
.pf-v5-c-masthead {
  --pf-v5-c-masthead--BackgroundColor: transparent;
  background-color: var(--omni-masthead);
  background-image: url("../img/top-bar.webp");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: auto;
}
.pf-v5-c-masthead__main,
.pf-v5-c-masthead__content { background-color: transparent; }
@media (min-width: 768px) {
  .pf-v5-c-masthead { height: 70px; min-height: 70px; }
}
.pf-v5-c-masthead__brand img { height: 38px; width: auto; }

/* Mobile: uma unica linha, menu + logomarca a esquerda e somente o kebab (opcoes do usuario) a direita; sem avatar nem seletor */
@media (max-width: 767px) {
  .pf-v5-c-masthead { display: flex; flex-wrap: nowrap; align-items: center; height: 70px; min-height: 70px; padding-inline: 8px; gap: 8px; }
  .pf-v5-c-masthead__toggle { display: flex; align-items: center; flex: 0 0 auto; margin: 0; }
  .pf-v5-c-masthead__brand { flex: 0 0 auto; width: auto; margin: 0; }
  .pf-v5-c-masthead__content { flex: 1 1 0; min-width: 0; margin: 0; padding: 0; justify-content: flex-end; }
  .pf-v5-c-masthead .pf-v5-c-toolbar { width: 100%; padding: 0; }
  .pf-v5-c-masthead .pf-v5-c-toolbar__content { padding: 0; justify-content: flex-end; }
  .pf-v5-c-masthead .pf-v5-c-toolbar__content-section { width: 100%; justify-content: flex-end; gap: 8px; }
  .pf-v5-c-masthead .pf-v5-c-toolbar__item { margin: 0; }
  .pf-v5-c-masthead .pf-v5-c-toolbar__item.pf-m-overflow-menu,
  .pf-v5-c-masthead .pf-v5-c-toolbar__item:empty { display: none; }
  /* o seletor de usuario some no mobile: suas opcoes ficam no menu de tres pontos (kebab) */
  .pf-v5-c-masthead .pf-v5-c-toolbar__item.cds-select { display: none !important; }
}

/* ---------- Menu lateral ---------- */

.pf-v5-c-page__sidebar {
  --pf-v5-c-page__sidebar--BackgroundColor: var(--omni-surface);
  --pf-v5-c-page__sidebar--BoxShadow: 1px 0 0 var(--omni-line);
  background-color: var(--omni-surface);
  box-shadow: 1px 0 0 var(--omni-line);
}
.pf-v5-c-page__sidebar .pf-v5-c-nav {
  --pf-v5-c-nav__link--Color: var(--omni-text);
  --pf-v5-c-nav__link--hover--Color: var(--omni-primary);
  --pf-v5-c-nav__link--focus--Color: var(--omni-primary);
  --pf-v5-c-nav__link--m-current--Color: var(--omni-primary);
  --pf-v5-c-nav__link--BackgroundColor: transparent;
  --pf-v5-c-nav__link--hover--BackgroundColor: var(--omni-selected);
  --pf-v5-c-nav__link--m-current--BackgroundColor: var(--omni-selected);
  --pf-v5-c-nav__link--before--BorderColor: transparent;
  --pf-v5-c-nav__link--m-current--before--BorderColor: var(--omni-primary);
  --pf-v5-c-nav__toggle-icon--Color: var(--omni-text);
  --pf-v5-c-nav__subnav--BackgroundColor: transparent;
  --pf-v5-c-nav__section-title--Color: var(--omni-text);
}
.pf-v5-c-page__sidebar .pf-v5-c-nav__link { color: var(--omni-text); font-size: 14px; }
.pf-v5-c-page__sidebar .pf-v5-c-nav__link:hover,
.pf-v5-c-page__sidebar .pf-v5-c-nav__link.pf-m-current { color: var(--omni-primary); background-color: var(--omni-selected); }
.pf-v5-c-page__sidebar .pf-v5-c-nav__link::after { border-color: transparent; }
.pf-v5-c-page__sidebar .pf-v5-c-nav__link.pf-m-current::after { border-color: var(--omni-primary); }
.pf-v5-c-nav__link:focus { background: var(--omni-primary); color: var(--omni-on-accent);}

/* ---------- Conteúdo ---------- */

.pf-v5-c-page__main { background-color: var(--omni-page); }
.pf-v5-c-page__main-section.pf-m-light { background-color: transparent; }
.pf-v5-c-page__main .pf-v5-c-title { color: var(--omni-title); font-weight: 500; }
.pf-v5-c-page__main .pf-v5-c-content,
.pf-v5-c-page__main .pf-v5-c-content p { color: var(--omni-text); }

.pf-v5-c-card,
.pf-v5-c-data-list,
.pf-v5-c-description-list { color: var(--omni-text); }
.pf-v5-c-card {
  border: 1px solid var(--omni-line);
  border-radius: 8px;
  box-shadow: none;
}

/* ---------- Formulários ----------
   Campos, selects e checkboxes recebem as classes do forms.css (Cerrado DS) via js/omni-forms.js.
   Aqui so se neutraliza o invólucro/bordas proprios do PatternFly para o forms.css valer sozinho. */

.pf-v5-c-form__label-text { font-size: 14px; font-weight: 400; line-height: 14px; color: var(--cds-text-grey); }
.pf-v5-c-form__label-required { font-size: 18px; line-height: 14px; font-weight: 600; color: var(--cds-color-critical-strong); }

.omni-form-control-wrapper { display: block; width: 100%; }

/* "select" do PatternFly com a aparência de .cds-form-control */
.pf-v5-c-menu-toggle.cds-form-control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  cursor: pointer;
}
.pf-v5-c-menu-toggle.cds-form-control::before,
.pf-v5-c-menu-toggle.cds-form-control::after { display: none; }
.pf-v5-c-menu-toggle.cds-form-control .pf-v5-c-menu-toggle__text { color: var(--cds-text-grey); }

.pf-v5-c-form__helper-text .pf-v5-c-helper-text__item-text { font-size: 12px; }

/* ---------- Botões ---------- */

.pf-v5-c-button { font-weight: 500; font-size: 14px; letter-spacing: .03em; border-radius: 8px; }
.pf-v5-c-button.pf-m-primary { background-color: var(--omni-primary); color: var(--omni-on-accent); }
.pf-v5-c-button.pf-m-primary:hover,
.pf-v5-c-button.pf-m-primary:focus { background-color: var(--omni-primary-hover); }
.pf-v5-c-button.pf-m-link { color: var(--omni-primary); }
.pf-v5-c-button.pf-m-plain { border-radius: 8px; }
.pf-v5-c-button::after { border-radius: 8px; }
.pf-v5-c-button.pf-m-plain::after { border: 0; }

/* ---------- Navegação por seção (jump links) ---------- */

.pf-v5-c-jump-links {
  --pf-v5-c-jump-links__link--m-current--Color: var(--omni-primary);
  --pf-v5-c-jump-links__link--m-current--before--BorderColor: var(--omni-primary);
}
.pf-v5-c-jump-links__link { color: var(--omni-text); }
.pf-v5-c-jump-links__label { color: var(--omni-title); font-weight: 500; }

.pf-v5-c-menu__item-text { font-size: 14px; font-weight: 400; line-height: 16px; color: var(--omni-text); }

/* ---------- Menu do usuário na barra superior ----------
   O item da toolbar recebe .cds-select (js/omni-forms.js); aqui o botão vira o split dropdown button azul do Cerrado DS
   (rotulo | divisor | chevron), com 34px de altura e centralizado na vertical em relação aos demais itens da barra. */
.pf-v5-c-toolbar__item.cds-select {
  display: flex;
  align-items: center;
  align-self: center;
  width: fit-content;
  min-width: 0;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
}
.pf-v5-c-toolbar__item.cds-select::before,
.pf-v5-c-toolbar__item.cds-select::after { display: none; }
.pf-v5-c-toolbar__item.cds-select .pf-v5-c-menu-toggle,
.pf-v5-c-toolbar__item.cds-select .pf-v5-c-menu-toggle.cds-form-control {
  width: fit-content;
  min-width: 0;
  height: 34px;
  min-height: 0;
  gap: 0;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 8px;
  background-color: var(--cds-color-primary-medium);
  font-family: var(--cds-font-family);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: .3px;
  color: var(--omni-on-accent);
  text-align: left;
}
.pf-v5-c-toolbar__item.cds-select .pf-v5-c-menu-toggle::before,
.pf-v5-c-toolbar__item.cds-select .pf-v5-c-menu-toggle::after { display: none; }
.pf-v5-c-toolbar__item.cds-select .pf-v5-c-menu-toggle:hover,
.pf-v5-c-toolbar__item.cds-select .pf-v5-c-menu-toggle:focus,
.pf-v5-c-toolbar__item.cds-select .pf-v5-c-menu-toggle[aria-expanded="true"] { background-color: var(--cds-color-primary); }
.pf-v5-c-toolbar__item.cds-select .pf-v5-c-menu-toggle__text { padding: 6px 16px; font-size: 14px; color: var(--omni-on-accent); }
.pf-v5-c-toolbar__item.cds-select .pf-v5-c-menu-toggle .pf-v5-c-menu-toggle__controls {
  align-self: stretch;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 6px 10px;
  border-left: 1px solid var(--omni-on-accent-divider);
  color: var(--omni-on-accent);
}
.pf-v5-c-toolbar__item.cds-select .pf-v5-c-menu-toggle__toggle-icon { margin: 0; color: var(--omni-on-accent); }

/* sem avatar na barra superior (em todo o tema, desktop e mobile) */
.pf-v5-c-masthead .pf-v5-c-avatar,
.pf-v5-c-masthead .pf-v5-c-toolbar__item:has(> .pf-v5-c-avatar),
.pf-v5-c-masthead .pf-v5-c-toolbar__item.pf-m-overflow-menu { display: none; }

.pf-v5-c-menu-toggle__text { font-size: 14px;}
.pf-v5-c-menu { top:4px !important; border-radius: 8px;}
/* fundo de hover/foco dos itens dos menus dropdown (kebab, usuario, resultados por pagina, selects...): #f2f6fb em vez do cinza do PatternFly */
body .pf-v5-c-menu,
body .pf-v5-c-dropdown {
  --pf-v5-c-menu__list-item--hover--BackgroundColor: var(--omni-hover);
  --pf-v5-c-menu__list-item--focus-within--BackgroundColor: var(--omni-hover);
  --pf-v5-c-dropdown__menu-item--hover--BackgroundColor: var(--omni-hover);
}
/* menu aberto para cima (popper "top"): o top:4px acima, somado ao bottom do popper, espremia o menu em ~30px; aqui o afastamento de 4px vira margem inferior */
.pf-v5-c-menu[data-popper-placement^="top"] { top: auto !important; margin-bottom: 4px; }

/* ==========================================================================
   Componentes PatternFly que recebem classes do forms.css / tabs.css via js/omni-forms.js (mesma abordagem do tema admin)
   ========================================================================== */

/* ---------- Abas (tabs.css) ---------- */
.pf-v5-c-tabs { background-color: var(--omni-surface); --pf-v5-c-tabs--before--BorderColor: transparent; }
.pf-v5-c-tabs::before,
.pf-v5-c-tabs__list::before { display: none; }
.pf-v5-c-tabs__list { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
/* sem scroll-snap obrigatorio: os pontos de encaixe (borda direita de cada aba) desfaziam o deslocamento da seta "voltar" no desktop */
.pf-v5-c-tabs__list { scroll-snap-type: none; }
.pf-v5-c-tabs__list > .pf-v5-c-tabs__item { scroll-snap-align: none; }
.pf-v5-c-tabs__list::-webkit-scrollbar { display: none; }
.cds-tab-btn { white-space: nowrap; }
/* o texto da aba nao e o "badge" do tabs.css (que estiliza qualquer <span> da aba) */
.cds-tab-btn .pf-v5-c-tabs__item-text,
.cds-tab-btn.active .pf-v5-c-tabs__item-text,
.cds-tab-btn .pf-v5-c-tabs__item-count {
  padding: 0; border-radius: 0; background: none; font-size: inherit; font-weight: inherit; color: inherit;
}
.pf-v5-c-tabs__scroll-button { color: var(--cds-color-neutral-strong); }

/* ---------- Switch (.cds-switch + .cds-slider.round) ---------- */
.omni-switch {
  display: inline-flex;
  align-items: center;
  width: auto;
  min-width: 44px;
  height: auto;
  min-height: 20px;
  padding-left: 44px;
}
.omni-switch .pf-v5-c-switch__label { font-size: 14px; line-height: 20px; color: var(--cds-text-grey); }
.omni-switch input:checked ~ .pf-v5-c-switch__label.pf-m-off,
.omni-switch input:not(:checked) ~ .pf-v5-c-switch__label.pf-m-on { display: none; }

/* ---------- Checkbox (contêiner do DS dentro do .pf-v5-c-check) ---------- */
.pf-v5-c-check { display: flex; align-items: center; gap: 8px; }
.pf-v5-c-check__label { font-size: 14px; line-height: 20px; color: var(--cds-text-grey); cursor: pointer; }
.pf-v5-c-check__body { color: var(--cds-text-grey); }
.pf-v5-c-radio { display: flex; align-items: center; gap: 8px; }
.pf-v5-c-radio__label { font-size: 14px; color: var(--cds-text-grey); cursor: pointer; }

/* ---------- Campos compostos do PatternFly (busca, typeahead, input group) ----------
   A moldura passa a ser o próprio .cds-form-control; os elementos internos ficam sem borda. */
.pf-v5-c-text-input-group.cds-form-control,
.pf-v5-c-menu-toggle.pf-m-typeahead.cds-form-control {
  display: flex;
  align-items: center;
  padding: 0;
  gap: 0;
  --pf-v5-c-text-input-group--BackgroundColor: transparent;
}
.pf-v5-c-text-input-group.cds-form-control::before,
.pf-v5-c-text-input-group.cds-form-control::after,
.pf-v5-c-menu-toggle.pf-m-typeahead.cds-form-control::before,
.pf-v5-c-menu-toggle.pf-m-typeahead.cds-form-control::after { display: none; }
.pf-v5-c-text-input-group.cds-form-control:focus-within,
.pf-v5-c-menu-toggle.pf-m-typeahead.cds-form-control:focus-within {
  border: 1px solid var(--cds-form-selected-border);
  box-shadow: var(--cds-form-outer-glow);
}
.pf-v5-c-menu-toggle.pf-m-typeahead.cds-form-control > .pf-v5-c-text-input-group { flex: 1 1 auto; min-width: 0; height: 100%; background: transparent; }
.pf-v5-c-text-input-group.cds-form-control .pf-v5-c-text-input-group__main { flex: 1 1 auto; min-width: 0; }
.pf-v5-c-text-input-group__text-input {
  height: 100%;
  padding: 0 8px;
  border: 0;
  background: transparent;
  font-family: var(--cds-font-family);
  font-size: 13px;
  line-height: 20px;
  letter-spacing: 0.005em;
  color: var(--cds-text-grey);
}
.pf-v5-c-text-input-group__text-input::placeholder { color: var(--cds-text-grey); }
.pf-v5-c-text-input-group__text-input::before,
.pf-v5-c-text-input-group__text-input::after { display: none; }
.pf-v5-c-text-input-group.cds-form-control::before,
.pf-v5-c-text-input-group.cds-form-control .pf-v5-c-text-input-group__main::before { display: none; }
.pf-v5-c-menu-toggle.pf-m-typeahead.cds-form-control .pf-v5-c-menu-toggle__button {
  height: 100%; padding: 0 8px; border: 0; background: transparent; color: var(--cds-color-grey);
}
.pf-v5-c-text-input-group__main.pf-m-icon .pf-v5-c-text-input-group__text-input { padding-left: 32px; }
.pf-v5-c-text-input-group.cds-form-control .pf-v5-c-text-input-group__icon { color: var(--cds-color-grey); }

/* ---------- Campo de busca (input.cds-form-control type=search dentro do text-input-group) ----------
   Sem a moldura/borda inferior do PatternFly: quem desenha o campo e o forms.css. */
.omni-input-group-bare {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 200px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  height: auto;
}
.omni-input-group-bare::before,
.omni-input-group-bare::after,
.omni-input-group-bare .pf-v5-c-text-input-group__main::before,
.omni-input-group-bare .pf-v5-c-text-input-group__main::after,
.omni-input-group-bare .pf-v5-c-text-input-group__text::before,
.omni-input-group-bare .pf-v5-c-text-input-group__text::after { display: none !important; border: 0 !important; }
.omni-input-group-bare .pf-v5-c-text-input-group__main { flex: 1 1 auto; min-width: 0; }
.omni-input-group-bare .pf-v5-c-text-input-group__text { position: relative; display: block; width: 100%; }
.omni-input-group-bare .pf-v5-c-text-input-group__icon {
  position: absolute; left: 8px; top: 50%; transform: translateY(-50%); z-index: 1;
  pointer-events: none; color: var(--cds-color-grey);
}
.omni-input-group-bare .pf-v5-c-text-input-group__utilities { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); z-index: 1; }

/* botao de controle ao lado do campo de busca (seta): mesma borda do forms.css, sem a linha inferior do PatternFly */
.pf-v5-c-button.pf-m-control { height: 38px; border: 1px solid var(--omni-control-border); border-radius: 8px; background: var(--omni-surface); box-shadow: none; }
.pf-v5-c-button.pf-m-control::before,
.pf-v5-c-button.pf-m-control::after { display: none !important; border: 0 !important; }

/* ---------- Toggles "padrao" do PatternFly como select (.cds-form-control): filtros, formularios e tabelas ---------- */
.pf-v5-c-toolbar__item .pf-v5-c-menu-toggle.cds-form-control,
.pf-v5-c-input-group .pf-v5-c-menu-toggle.cds-form-control { width: auto; min-width: 140px; }
.pf-v5-c-table__td .pf-v5-c-menu-toggle.cds-form-control { width: auto; min-width: 120px; }
.pf-v5-c-menu-toggle.cds-form-control .pf-v5-c-menu-toggle__icon { margin-right: 8px; color: var(--cds-color-grey); }
.pf-v5-c-menu-toggle.cds-form-control .pf-v5-c-menu-toggle__controls { margin-left: 8px; color: var(--cds-color-grey); }
.pf-v5-c-menu-toggle.cds-form-control:disabled,
.pf-v5-c-menu-toggle.cds-form-control.pf-m-disabled { background-color: transparent; opacity: 1; cursor: default; }
.pf-v5-c-menu-toggle.cds-form-control:disabled .pf-v5-c-menu-toggle__text,
.pf-v5-c-menu-toggle.cds-form-control.pf-m-disabled .pf-v5-c-menu-toggle__text { color: var(--cds-text-grey); }

/* botoes de acao da barra de ferramentas com a mesma altura (38px) dos campos da linha */
.pf-v5-c-toolbar .pf-v5-c-button.pf-m-primary,
.pf-v5-c-toolbar .pf-v5-c-button.pf-m-secondary,
.pf-v5-c-toolbar .pf-v5-c-button.pf-m-link:not(.pf-m-inline):not(.pf-m-plain) { display: inline-flex; align-items: center; justify-content: center; height: 38px; gap: 8px; padding-top: 0; padding-bottom: 0; }
.pf-v5-c-toolbar__content-section { align-items: center; }

/* badge "Realm atual" ao lado do nome do realm (menu lateral): sem corte, fonte 12px e padding vertical 2px */
.pf-v5-c-page__sidebar .pf-v5-c-label {
  flex: 0 0 auto;
  max-width: none;
  white-space: nowrap;
}
.pf-v5-c-page__sidebar .pf-v5-c-label__content,
.pf-v5-c-page__sidebar .pf-v5-c-label__text {
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

/* titulo da secao do menu lateral com o badge "Realm atual": nome do realm + badge lado a lado (gap de 8px), cada um com a largura do proprio conteudo */
.pf-v5-c-page__sidebar .pf-v5-c-nav__section-title:has(> .pf-v5-c-label) {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
}
.pf-v5-c-page__sidebar .pf-v5-c-nav__section-title:has(> .pf-v5-c-label) > :not(.pf-v5-c-label) {
  flex: 0 0 auto;
  width: fit-content;
  min-width: fit-content;
  white-space: nowrap;
}

/* campo de busca com largura minima que acomoda o placeholder sem cortar */
.omni-input-group-bare { min-width: 300px; }

/* switch ligado em verde #14b97e (sobrescreve o azul do forms.css; o estado desabilitado do DS continua transparente) */
.cds-switch input:checked:not(:disabled) + .cds-slider {
  background-color: var(--cds-switch-on);
  border-color: var(--cds-switch-on);
}

/* ==========================================================================
   Sem "salto" no carregamento: switch/checkbox/radio so aparecem depois de decorados
   e as animacoes do switch so existem apos a primeira interacao do usuario.
   ========================================================================== */
@keyframes omni-reveal { to { visibility: visible; } }

/* ainda nao decorados (markup original do PatternFly): invisiveis, ocupando o mesmo espaco do switch final.
   O reveal automatico evita que fiquem escondidos caso a decoracao nao ocorra. */
.omni-js label.pf-v5-c-switch:not(.cds-switch) {
  visibility: hidden;
  animation: omni-reveal 0s 1s forwards;
  display: inline-flex;
  align-items: center;
  position: relative;
  height: auto;
  min-height: 20px;
  padding-left: 44px;
}
.omni-js label.pf-v5-c-switch:not(.cds-switch) .pf-v5-c-switch__toggle { display: none; }
.omni-js input.pf-v5-c-check__input,
.omni-js input.pf-v5-c-radio__input { visibility: hidden; animation: omni-reveal 0s 1s forwards; }

/* sem transicao ao ser decorado: o switch nasce direto no tamanho/cor finais.
   A animacao (so de cor e do botao deslizando, nunca de tamanho) ocorre apenas quando o usuario alterna o switch. */
.cds-slider,
.cds-slider::before { transition: none; }
.cds-switch.omni-switch-anim .cds-slider { transition: background-color .4s, border-color .4s; }
.cds-switch.omni-switch-anim .cds-slider::before { transition: transform .4s, background-color .4s; }

/* badges (pf-v5-c-label) = tags do Cerrado DS (tags.css: .cds-tag + .cds-tag-primary|neutral|success|alert|critical + .cds-rounded).
   O omni-forms.js adiciona as classes do DS a cada label; o texto do label recebe o estilo que o DS da ao "<a>" da tag. */
.cds-rounded { border-radius: 3px; }
/* o CSS do Label do PatternFly e carregado sob demanda (depois do tema): repete aqui, com mais especificidade, o que o tags.css define */
body .pf-v5-c-label.cds-tag { display: flex; width: fit-content; min-width: 0; max-width: 100%; padding: 2px 6px; border: 0; border-radius: 3px; }
body .pf-v5-c-label.cds-tag::before,
body .pf-v5-c-label.cds-tag::after { display: none !important; border: 0 !important; }
body .pf-v5-c-label.cds-tag .pf-v5-c-label__content::before,
body .pf-v5-c-label.cds-tag .pf-v5-c-label__content::after { display: none !important; border: 0 !important; }
body .pf-v5-c-label.cds-tag-primary { background-color: var(--cds-color-primary); }
body .pf-v5-c-label.cds-tag-neutral { background-color: var(--cds-color-neutral); }
body .pf-v5-c-label.cds-tag-success { background-color: var(--cds-color-success); }
body .pf-v5-c-label.cds-tag-alert { background-color: var(--cds-color-alert); }
body .pf-v5-c-label.cds-tag-critical { background-color: var(--cds-color-critical); }
body .pf-v5-c-label.cds-tag .pf-v5-c-label__content,
body .pf-v5-c-label.cds-tag .pf-v5-c-label__text {
  font-size: 11px;
  letter-spacing: 0.2px;
  color: var(--cds-text-strong);
  font-weight: 400;
  padding: 0;
  margin: 0;
  white-space: nowrap;
}
body .pf-v5-c-label.cds-tag .pf-v5-c-label__icon { color: var(--cds-text-strong); }

/* itens da barra de ferramentas centralizados verticalmente na linha (o PatternFly usa align-self: flex-start) */
.pf-v5-c-toolbar__content-section > .pf-v5-c-toolbar__item,
.pf-v5-c-toolbar__content-section > .pf-v5-c-toolbar__group { align-self: center; }
.pf-v5-c-toolbar__item.pf-m-pagination { align-self: center; }

/* todos os botoes com border-radius de 8px (inclui toggles de menu primario/secundario/plain) */
body .pf-v5-c-button,
body .pf-v5-c-button::before,
body .pf-v5-c-button::after,
body .pf-v5-c-menu-toggle:is(.pf-m-primary, .pf-m-secondary, .pf-m-plain, .pf-m-text, .pf-m-split-button),
body .pf-v5-c-menu-toggle:is(.pf-m-primary, .pf-m-secondary, .pf-m-plain, .pf-m-text, .pf-m-split-button)::before,
body .pf-v5-c-menu-toggle:is(.pf-m-primary, .pf-m-secondary, .pf-m-plain, .pf-m-text, .pf-m-split-button)::after { border-radius: 8px; }
.pf-v5-c-toolbar .pf-v5-c-menu-toggle.pf-m-primary { height: 38px; }

/* botao de ajuda (icone "?") ao lado dos rotulos tambem com 8px */
body .pf-v5-c-form__group-label-help { border-radius: 8px; }

/* ==========================================================================
   Split dropdown button do Cerrado DS (buttons.css: .cds-split-btn)
   - icone unico de dropdown: chevron-right do DS (12x12), girado 90deg (aponta para baixo) e -90deg quando aberto
   - botao primario com dropdown: rotulo + area do icone separados por uma linha rgba(255,255,255,.25)
   ========================================================================== */
:root { --omni-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6.59312 1L4.5 3.115L11.2989 10L4.5 16.885L6.59312 19L15.5 10L6.59312 1Z'/%3E%3C/svg%3E"); }

/* o icone de dropdown do PatternFly (caret) e substituido pelo chevron do DS */
body .pf-v5-c-menu-toggle__toggle-icon { display: inline-flex; align-items: center; color: var(--cds-color-grey); }
body .pf-v5-c-menu-toggle__toggle-icon svg { display: none; }
body .pf-v5-c-menu-toggle__toggle-icon::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background-color: currentColor;
  -webkit-mask: var(--omni-chevron) center / contain no-repeat;
          mask: var(--omni-chevron) center / contain no-repeat;
  transform: rotate(90deg);
  transform-box: fill-box;
  transform-origin: center;
  transition: transform .2s ease-in-out;
}
body .pf-v5-c-menu-toggle[aria-expanded="true"] .pf-v5-c-menu-toggle__toggle-icon::before,
body .pf-v5-c-menu-toggle.pf-m-expanded .pf-v5-c-menu-toggle__toggle-icon::before,
body .pf-v5-c-menu-toggle.omni-open .pf-v5-c-menu-toggle__toggle-icon::before { transform: rotate(-90deg); }

/* o select do DS (.cds-select) usa o mesmo icone, no lugar do triangulo do forms.css */
.cds-select:not(.cds-select--multiple)::after {
  width: 12px;
  height: 12px;
  background-color: var(--cds-color-grey);
  clip-path: none;
  -webkit-mask: var(--omni-chevron) center / contain no-repeat;
          mask: var(--omni-chevron) center / contain no-repeat;
  transform: rotate(90deg);
  margin-right: 10px;
}

/* botao primario com dropdown = split button do DS (rotulo | icone) */
body .pf-v5-c-menu-toggle.pf-m-primary {
  gap: 0;
  padding: 0;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: .3px;
  color: var(--cds-text-strong);
  background-color: var(--cds-color-primary-medium);
  border: 1px solid transparent;
}
body .pf-v5-c-menu-toggle.pf-m-primary::before,
body .pf-v5-c-menu-toggle.pf-m-primary::after { display: none; }
body .pf-v5-c-menu-toggle.pf-m-primary:hover,
body .pf-v5-c-menu-toggle.pf-m-primary:focus,
body .pf-v5-c-menu-toggle.pf-m-primary[aria-expanded="true"] { background-color: var(--cds-color-primary); }
body .pf-v5-c-menu-toggle.pf-m-primary .pf-v5-c-menu-toggle__text { padding: 6px 16px; font-size: 14px; color: var(--cds-text-strong); }
body .pf-v5-c-menu-toggle.pf-m-primary .pf-v5-c-menu-toggle__controls {
  align-self: stretch;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 6px 10px;
  border-left: 1px solid var(--omni-on-accent-divider);
  color: var(--omni-on-accent);
}
body .pf-v5-c-menu-toggle.pf-m-primary .pf-v5-c-menu-toggle__toggle-icon { color: var(--omni-on-accent); }
body .pf-v5-c-menu-toggle.pf-m-primary:disabled,
body .pf-v5-c-menu-toggle.pf-m-primary.pf-m-disabled { background-color: var(--cds-color-disabled); }

/* ==========================================================================
   Botoes outlined (secundario/terciario): 1px de borda #19569d, fundo transparente;
   no hover/foco o botao e totalmente preenchido e o texto fica branco
   (mesmo comportamento do cancelar da tela de configuracao de token: .omni-button--outlined)
   ========================================================================== */
body .pf-v5-c-button.pf-m-secondary,
body .pf-v5-c-button.pf-m-tertiary {
  background-color: transparent;
  color: var(--cds-color-primary);
  border: 1px solid var(--cds-color-primary);
  box-shadow: none;
  font-weight: 600;
}
body .pf-v5-c-button.pf-m-secondary::before,
body .pf-v5-c-button.pf-m-secondary::after,
body .pf-v5-c-button.pf-m-tertiary::before,
body .pf-v5-c-button.pf-m-tertiary::after { display: none !important; border: 0 !important; }
body .pf-v5-c-button.pf-m-secondary:hover,
body .pf-v5-c-button.pf-m-secondary:focus-visible,
body .pf-v5-c-button.pf-m-tertiary:hover,
body .pf-v5-c-button.pf-m-tertiary:focus-visible {
  background-color: var(--cds-color-primary-medium);
  border-color: var(--cds-color-primary-medium);
  color: var(--omni-on-accent);
}
body .pf-v5-c-button.pf-m-secondary:active,
body .pf-v5-c-button.pf-m-tertiary:active {
  background-color: var(--cds-color-primary);
  border-color: var(--cds-color-primary);
  color: var(--omni-on-accent);
}
body .pf-v5-c-button.pf-m-secondary:disabled,
body .pf-v5-c-button.pf-m-secondary.pf-m-disabled,
body .pf-v5-c-button.pf-m-tertiary:disabled,
body .pf-v5-c-button.pf-m-tertiary.pf-m-disabled {
  background-color: transparent;
  border-color: var(--cds-color-disabled);
  color: var(--cds-color-disabled);
}

/* botoes tipo link (Reverter, Cancelar, Atualizar...) nas barras de acao: mesmo visual outlined */
body :is(.pf-v5-c-form__actions, .pf-v5-c-wizard__footer, .pf-v5-c-modal-box__footer, .pf-v5-c-toolbar__item, .pf-v5-c-toolbar__content-section, .pf-v5-c-action-list__item, .pf-v5-l-split__item, .pf-v5-c-data-list__item-action) .pf-v5-c-button.pf-m-link:not(.pf-m-inline):not(.pf-m-plain) {
  background-color: transparent;
  color: var(--cds-color-primary);
  border: 1px solid var(--cds-color-primary);
  border-radius: 8px;
  box-shadow: none;
  font-weight: 600;
}
body :is(.pf-v5-c-form__actions, .pf-v5-c-wizard__footer, .pf-v5-c-modal-box__footer, .pf-v5-c-toolbar__item, .pf-v5-c-toolbar__content-section, .pf-v5-c-action-list__item, .pf-v5-l-split__item, .pf-v5-c-data-list__item-action) .pf-v5-c-button.pf-m-link:not(.pf-m-inline):not(.pf-m-plain)::before,
body :is(.pf-v5-c-form__actions, .pf-v5-c-wizard__footer, .pf-v5-c-modal-box__footer, .pf-v5-c-toolbar__item, .pf-v5-c-toolbar__content-section, .pf-v5-c-action-list__item, .pf-v5-l-split__item, .pf-v5-c-data-list__item-action) .pf-v5-c-button.pf-m-link:not(.pf-m-inline):not(.pf-m-plain)::after { display: none !important; border: 0 !important; }
body :is(.pf-v5-c-form__actions, .pf-v5-c-wizard__footer, .pf-v5-c-modal-box__footer, .pf-v5-c-toolbar__item, .pf-v5-c-toolbar__content-section, .pf-v5-c-action-list__item, .pf-v5-l-split__item, .pf-v5-c-data-list__item-action) .pf-v5-c-button.pf-m-link:not(.pf-m-inline):not(.pf-m-plain):hover,
body :is(.pf-v5-c-form__actions, .pf-v5-c-wizard__footer, .pf-v5-c-modal-box__footer, .pf-v5-c-toolbar__item, .pf-v5-c-toolbar__content-section, .pf-v5-c-action-list__item, .pf-v5-l-split__item, .pf-v5-c-data-list__item-action) .pf-v5-c-button.pf-m-link:not(.pf-m-inline):not(.pf-m-plain):focus-visible { background-color: var(--cds-color-primary-medium); border-color: var(--cds-color-primary-medium); color: var(--omni-on-accent); }
body :is(.pf-v5-c-form__actions, .pf-v5-c-wizard__footer, .pf-v5-c-modal-box__footer, .pf-v5-c-toolbar__item, .pf-v5-c-toolbar__content-section, .pf-v5-c-action-list__item, .pf-v5-l-split__item, .pf-v5-c-data-list__item-action) .pf-v5-c-button.pf-m-link:not(.pf-m-inline):not(.pf-m-plain):active { background-color: var(--cds-color-primary); border-color: var(--cds-color-primary); color: var(--omni-on-accent); }
body :is(.pf-v5-c-form__actions, .pf-v5-c-wizard__footer, .pf-v5-c-modal-box__footer, .pf-v5-c-toolbar__item, .pf-v5-c-toolbar__content-section, .pf-v5-c-action-list__item, .pf-v5-l-split__item, .pf-v5-c-data-list__item-action) .pf-v5-c-button.pf-m-link:not(.pf-m-inline):not(.pf-m-plain):disabled,
body :is(.pf-v5-c-form__actions, .pf-v5-c-wizard__footer, .pf-v5-c-modal-box__footer, .pf-v5-c-toolbar__item, .pf-v5-c-toolbar__content-section, .pf-v5-c-action-list__item, .pf-v5-l-split__item, .pf-v5-c-data-list__item-action) .pf-v5-c-button.pf-m-link:not(.pf-m-inline):not(.pf-m-plain).pf-m-disabled { background-color: transparent; border-color: var(--cds-color-disabled); color: var(--cds-color-disabled); }
/* variante de perigo: mesmo comportamento, em vermelho */
body .pf-v5-c-button.pf-m-secondary.pf-m-danger { color: var(--cds-color-critical-strong); border-color: var(--cds-color-critical-strong); }
body .pf-v5-c-button.pf-m-secondary.pf-m-danger:hover,
body .pf-v5-c-button.pf-m-secondary.pf-m-danger:focus-visible { background-color: var(--cds-color-critical); border-color: var(--cds-color-critical); color: var(--omni-on-accent); }
body .pf-v5-c-button.pf-m-secondary.pf-m-danger:active { background-color: var(--cds-color-critical-strong); border-color: var(--cds-color-critical-strong); color: var(--omni-on-accent); }

/* split button: o icone nao leva a margem lateral aplicada ao icone dos demais toggles (so este tipo de botao) */
body .pf-v5-c-menu-toggle.pf-m-primary .pf-v5-c-menu-toggle__toggle-icon { margin: 0; }

/* ==========================================================================
   Paginacao do Cerrado DS (AGO/omni-template-listagem-tabela.html: .cds-content-pagination-container)
   Adaptada ao Keycloak: quantidade de entradas + seletor de resultados por pagina (um quadrado
   arredondado com o icone de dropdown) e os botoes anterior/proxima. Sem engrenagem nem contador de paginas.
   ========================================================================== */
:root { --cds-body-color: #e9ebed; --omni-chevron-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M13.4069 1L15.5 3.115L8.7011 10L15.5 16.885L13.4069 19L4.5 10L13.4069 1Z'/%3E%3C/svg%3E"); }

/* contêiner: borda 1px grey-light, raio 8px, padding 2px, gap 2px */
body .pf-v5-c-pagination.pf-m-compact {
  --pf-v5-c-pagination--m-compact__nav-control--nav-control--MarginLeft: 0;
  display: flex;
  align-items: center;
  gap: 2px;
  width: fit-content;
  margin-left: auto;
  padding: 2px;
  border: 1px solid var(--cds-color-grey-light);
  border-radius: 8px;
  background: transparent;
}

/* seletor de resultados por pagina = botao .total-items do DS (30px, raio 6px, fundo cinza claro) */
body .pf-v5-c-pagination .pf-v5-c-menu-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 30px;
  min-width: 30px;
  margin: 0;
  padding: 0 4px 0 8px;
  border: 0;
  border-radius: 6px;
  background-color: var(--cds-body-color);
  color: var(--cds-text-offblack);
  font-size: 12px;
  font-weight: 600;
}
body .pf-v5-c-pagination .pf-v5-c-menu-toggle.pf-m-plain.pf-m-text { margin: 0; }
body .pf-v5-c-pagination .pf-v5-c-menu-toggle__text { color: inherit; font-size: 12px; font-weight: 600; }
body .pf-v5-c-pagination .pf-v5-c-menu-toggle__controls { margin: 0; padding: 0; }
body .pf-v5-c-pagination .pf-v5-c-menu-toggle__toggle-icon { margin: 0; color: var(--cds-color-neutral-strong); }
body .pf-v5-c-pagination .pf-v5-c-menu-toggle:hover { background-color: var(--cds-color-primary-medium); color: var(--omni-on-accent); }
body .pf-v5-c-pagination .pf-v5-c-menu-toggle:hover .pf-v5-c-menu-toggle__toggle-icon { color: var(--omni-on-accent); }

/* botoes anterior / proxima = .cds-btn-pagination do DS (30x30, raio 6px, chevron 14px) */
body .pf-v5-c-pagination__nav { display: flex; gap: 2px; margin: 0; padding: 0; }
body .pf-v5-c-pagination__nav-control,
body .pf-v5-c-pagination__nav-control + .pf-v5-c-pagination__nav-control { display: flex; margin: 0; padding: 0; }
body .pf-v5-c-pagination__nav-control .pf-v5-c-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  min-width: 30px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background-color: var(--cds-body-color);
}
body .pf-v5-c-pagination__nav-control .pf-v5-c-button svg { display: none; }
body .pf-v5-c-pagination__nav-control .pf-v5-c-button::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background-color: var(--cds-color-neutral-strong);
  -webkit-mask: var(--omni-chevron) center / contain no-repeat;
          mask: var(--omni-chevron) center / contain no-repeat;
}
body .pf-v5-c-pagination__nav-control .pf-v5-c-button[data-action="previous"]::before,
body .pf-v5-c-pagination__nav-control .pf-v5-c-button[data-action="first"]::before {
  -webkit-mask-image: var(--omni-chevron-left);
          mask-image: var(--omni-chevron-left);
}
body .pf-v5-c-pagination__nav-control .pf-v5-c-button:hover:not(:disabled) { background-color: var(--cds-color-primary-medium); }
body .pf-v5-c-pagination__nav-control .pf-v5-c-button:hover:not(:disabled)::before { background-color: var(--omni-on-accent); }
body .pf-v5-c-pagination__nav-control .pf-v5-c-button:disabled,
body .pf-v5-c-pagination__nav-control .pf-v5-c-button.pf-m-disabled { cursor: default; background-color: var(--cds-body-color); }
body .pf-v5-c-pagination__nav-control .pf-v5-c-button:disabled::before,
body .pf-v5-c-pagination__nav-control .pf-v5-c-button.pf-m-disabled::before { background-color: var(--cds-color-disabled); }

/* --- paginacao: ordem "1 - 4" | anterior | proxima | N (resultados por pagina) + dropdown --- */
body .pf-v5-c-pagination.pf-m-compact .pf-v5-c-pagination__total-items {
  display: flex;
  align-items: center;
  order: 0;
  height: 30px;
  padding: 0 8px;
  font-size: 13px;
  font-weight: 400;
  line-height: 30px;
  color: var(--cds-color-neutral-strong);
  background: transparent;
  white-space: nowrap;
}
body .pf-v5-c-pagination__total-items b,
body .pf-v5-c-pagination__total-items strong {
  font-weight: 400;
  cursor: default;
}
body .pf-v5-c-pagination .pf-v5-c-pagination__nav { order: 1; }
body .pf-v5-c-pagination .pf-v5-c-menu-toggle { order: 2; }
/* o botao do dropdown mostra so o numero de resultados por pagina (data-per-page, definido no omni-forms.js) */
body .pf-v5-c-pagination .pf-v5-c-menu-toggle[data-per-page] .pf-v5-c-menu-toggle__text { display: none; }
body .pf-v5-c-pagination .pf-v5-c-menu-toggle[data-per-page]::before {
  content: attr(data-per-page);
  position: static;
  inset: auto;
  display: block;
  width: auto;
  height: auto;
  border: 0;
  pointer-events: none;
  font-size: 12px;
  font-weight: 600;
  line-height: 30px;
}

/* menus/popovers: nunca maiores que a janela (rolam por dentro); o JS os mantem dentro da area visivel */
[data-popper-placement] { max-width: calc(100vw - 16px); }
.pf-v5-c-menu[data-popper-placement] { max-height: calc(100vh - 16px); overflow-y: auto; }

/* ==========================================================================
   Afastamento minimo de 12px entre botoes (nunca "grudados")
   ========================================================================== */
.pf-v5-c-modal-box__footer { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.pf-v5-c-modal-box__footer > .pf-v5-c-button { margin: 0; }
.pf-v5-c-action-list { gap: 12px; }
.pf-v5-c-action-list__item { margin: 0; }
/* botao seguido de um grupo de acoes (ex.: painel inicial do admin) */
.pf-v5-l-grid__item:has(> .pf-v5-c-button) + .pf-v5-c-action-list { margin-top: 12px !important; }
/* varios botoes na mesma celula de tabela */
/* o espaco so vale quando ha OUTRO botao depois: o menu aberto (popper) vira irmao do botao e nao pode criar a margem
   (senao a coluna cresce e a tabela "pula" quando o dropdown abre) */
.pf-v5-c-table__td > :is(.pf-v5-c-button, .pf-v5-c-menu-toggle):has(~ :not(.pf-v5-c-menu, [data-popper-placement])),
.pf-v5-c-table__action > :has(~ :not(.pf-v5-c-menu, [data-popper-placement])) { margin-inline-end: 12px !important; }
/* botoes empilhados na mesma celula (cada um em seu invólucro) */
.pf-v5-c-table__td > div:has(> .pf-v5-c-button) + div:has(> .pf-v5-c-button) { margin-top: 12px; }
.pf-v5-c-table__td > .pf-v5-c-button + .pf-v5-c-button { margin-inline-start: 0; }
/* botoes lado a lado em barras e cabecalhos de pagina */
.pf-v5-c-page__main-section .pf-v5-c-toolbar__group { gap: 12px; }

.pf-v5-c-table__td .button-wrapper ~ .button-wrapper { margin-top: 12px !important; }
/* celula de acao seguida de outra celula de acao (ex.: botao + menu de tres pontos), sem padding entre elas */
.pf-v5-c-table__action:has(+ .pf-v5-c-table__action) { padding-inline-end: 12px; }
/* dois botoes no mesmo item de um split (ex.: "Atualizar pagina" + "Finalizar sessao") */
.pf-v5-l-split__item:has(> .pf-v5-c-button + .pf-v5-c-button) { display: flex; align-items: center; gap: 12px; }

/* botoes das barras de acao de formulario com a mesma altura (35px): o botao tipo link (outlined) acompanha o botao normal ao lado */
.pf-v5-c-form__actions .pf-v5-c-button:not(.pf-m-plain):not(.pf-m-inline) { box-sizing: border-box; gap: 8px; height: 35px; display: inline-flex; align-items: center; justify-content: center; }

/* hover nas linhas de tabela: fundo #f2f6fb na tr (e as celulas deixam o fundo da linha aparecer) */
.pf-v5-c-table > tbody > tr:not(.pf-v5-c-table__expandable-row):hover { background-color: var(--omni-hover); }
.pf-v5-c-table > tbody > tr:hover > :is(td, th) { background-color: transparent; }

/* linha selecionada por checkbox: fundo #eff7ff (tambem durante o hover) */
.pf-v5-c-table > tbody > tr.pf-m-selected,
.pf-v5-c-table > tbody > tr:has(> .pf-v5-c-table__check input[type="checkbox"]:checked),
.pf-v5-c-table > tbody > tr.pf-m-selected:hover,
.pf-v5-c-table > tbody > tr:has(> .pf-v5-c-table__check input[type="checkbox"]:checked):hover { background-color: var(--omni-row-selected); }

/* os cards nao cortam os menus dropdown que abrem dentro deles (ex.: autenticador do cliente, unidade de tempo das sessoes) */
.pf-v5-c-card { overflow: visible; }

/* chips (ex.: idiomas disponiveis) = tag primary do Cerrado DS (o omni-forms.js acrescenta as classes) */
body .pf-v5-c-chip.cds-tag { display: inline-flex; width: fit-content; min-width: 0; max-width: 100%; padding: 2px 6px; border: 0; border-radius: 3px; background-color: var(--cds-color-primary); }
body .pf-v5-c-chip.cds-tag::before,
body .pf-v5-c-chip.cds-tag::after { display: none !important; border: 0 !important; }
body .pf-v5-c-chip.cds-tag .pf-v5-c-chip__content,
body .pf-v5-c-chip.cds-tag .pf-v5-c-chip__text { padding: 0; font-size: 11px; letter-spacing: 0.2px; font-weight: 400; color: var(--cds-text-strong); }
body .pf-v5-c-chip.cds-tag .pf-v5-c-chip__actions .pf-v5-c-button { color: var(--cds-text-strong); padding: 0 0 0 6px; }
