/**
 * Estilos do FieldSelector
 */

.FieldSelector_fieldSelectorWrapper__q15sg {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.FieldSelector_typeIcon__NcpZ2 {
  position: absolute;
  left: 8px;
  color: #687078;
  pointer-events: none;
  z-index: 1;
}

.FieldSelector_select__7BOtY {
  width: 100%;
  padding: 4px 6px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 11px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #444;
  background: #ffffff;
  cursor: pointer;
  height: 32px;
  transition: border-color 0.25s ease;
  outline: none;
}

.FieldSelector_selectWithIcon__Ugeeg {
  padding-left: 28px;
}

.FieldSelector_select__7BOtY:hover:not(:disabled) {
  border-color: #40a9ff;
}

.FieldSelector_select__7BOtY:focus {
  outline: none;
  border-color: #40a9ff;
}

.FieldSelector_select__7BOtY:disabled {
  background: #fafafa;
  color: #b3b3b3;
  cursor: not-allowed;
  opacity: 0.6;
}

/* Optgroups */
.FieldSelector_select__7BOtY optgroup {
  font-weight: 600;
  font-size: 11px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #444;
  background: #f9fafb;
}

.FieldSelector_select__7BOtY option {
  padding: 4px 8px;
  font-size: 11px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #444;
}

/* Responsive */
@media (max-width: 400px) {
  .FieldSelector_select__7BOtY {
    padding: 4px 6px;
  }
}

/**
 * FilterBuilder - Estilos seguindo o padrÃ£o do PerspectiveConfigPanel
 */

/* Container principal */
.FilterBuilder_container__Qf2VH {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-width: 100%;
  width: 100%;
  font-family: "Ubuntu", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 11px;
  color: #2E1956;
  color: var(--text-default, #2E1956);
}

/* CabeÃ§alho com estatÃ­sticas */
.FilterBuilder_header__5nJla {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 6px;
  background: #f9f9fa;
  border: none;
  border-radius: 4px;
  gap: 4px;
}

.FilterBuilder_stats__RRKOV {
  display: flex;
  gap: 4px;
  align-items: center;
}

.FilterBuilder_statItem__JdRDZ {
  display: flex;
  gap: 2px;
  align-items: center;
}

.FilterBuilder_statLabel__vvvb9 {
  color: #2E1956;
  color: var(--text-default, #2E1956);
  font-size: 11px;
  font-weight: 300;
}

.FilterBuilder_statValue__KXO\+j {
  color: #2E1956;
  color: var(--text-default, #2E1956);
  font-size: 11px;
  font-weight: 300;
}

.FilterBuilder_validationIndicator__FM8Rc {
  display: flex;
  gap: 2px;
  align-items: center;
  padding: 4px 8px;
  background: #fff3cd;
  border-radius: 4px;
  border: 1px solid #ffe8a1;
}

.FilterBuilder_errorIcon__FFbf1 {
  color: #856404;
  font-size: 12px;
}

.FilterBuilder_errorText__ryHqR {
  color: #856404;
  font-size: 11px;
  font-weight: 300;
}

/* ConteÃºdo */
.FilterBuilder_content__ulGRc {
  flex: 1 1;
}

/* Grupo de filtros */
.FilterBuilder_group__lA6q7 {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: #ffffff;
  overflow: hidden;
}

.FilterBuilder_groupRoot__EJksx {
  border-color: #e0e0e0;
}

.FilterBuilder_groupDepth0__gGNQ8 {
  border-color: #e0e0e0;
}

.FilterBuilder_groupDepth1__x6QZU {
  border-color: #e0e0e0;
}

.FilterBuilder_groupDepth2__LZ9h2 {
  border-color: #e0e0e0;
}

.FilterBuilder_groupDepth3__uUK8t {
  border-color: #e0e0e0;
}

/* CabeÃ§alho do grupo */
.FilterBuilder_groupHeader__99vL4 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 6px;
  background: #f9f9fa;
  border-bottom: 1px solid #e0e0e0;
  gap: 4px;
}

.FilterBuilder_groupOperator__z7Q43 {
  display: flex;
  align-items: center;
  gap: 2px;
}

.FilterBuilder_operatorSelect__BLA7x {
  padding: 4px 8px;
  font-size: 11px;
  font-family: "Ubuntu", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #2E1956;
  color: var(--text-default, #2E1956);
  border: 1px solid #E2E6F3;
  border: 1px solid var(--line-default, #E2E6F3);
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  outline: none;
  height: 28px;
  transition: border-color 0.25s ease;
}

.FilterBuilder_operatorSelect__BLA7x:hover:not(:disabled) {
  border-color: #471FCC;
  border-color: var(--color-primary-blue, #471FCC);
}

.FilterBuilder_operatorSelect__BLA7x:focus {
  border-color: #471FCC;
  border-color: var(--color-primary-blue, #471FCC);
}

.FilterBuilder_operatorSelect__BLA7x:disabled {
  background: #fafafa;
  color: #8B90A3;
  color: var(--text-light, #8B90A3);
  cursor: not-allowed;
  opacity: 0.6;
}

.FilterBuilder_groupLabel__4z0Kq {
  font-size: 11px;
  color: #2E1956;
  color: var(--text-default, #2E1956);
  font-weight: 300;
}

.FilterBuilder_groupInfo__Xhikn {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #b3b3b3;
}

.FilterBuilder_groupDepthBadge__O8UlR {
  padding: 2px 6px;
  background: #f9f9fa;
  border: 1px solid #E2E6F3;
  border: 1px solid var(--line-default, #E2E6F3);
  border-radius: 4px;
  font-size: 11px;
  color: #2E1956;
  color: var(--text-default, #2E1956);
}

.FilterBuilder_groupActions__Bv8Ez {
  display: flex;
  gap: 2px;
}

/* ConteÃºdo do grupo */
.FilterBuilder_groupContent__Qfnln {
  padding: 4px 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.FilterBuilder_groupChildren__fFCX0 {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* Estado vazio do grupo */
.FilterBuilder_emptyGroup__up3lh {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px 8px;
  color: #b3b3b3;
  text-align: center;
}

.FilterBuilder_emptyGroupText__-JKuG {
  font-size: 11px;
  font-weight: 300;
  color: #2E1956;
  color: var(--text-default, #2E1956);
  margin-bottom: 2px;
}

.FilterBuilder_emptyGroupHint__zMvtR {
  font-size: 11px;
  color: #b3b3b3;
  font-style: italic;
}

/* Item do grupo */
.FilterBuilder_groupItem__zpVMb {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* Indicador de operador lÃ³gico entre itens */
.FilterBuilder_logicalOperatorIndicator__JcZIO {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 4px 0;
}

.FilterBuilder_logicalOperatorText__QUHUf {
  padding: 2px 8px;
  background: #f9f9fa;
  border: 1px solid #E2E6F3;
  border: 1px solid var(--line-default, #E2E6F3);
  border-radius: 4px;
  font-size: 11px;
  font-weight: 300;
  color: #2E1956;
  color: var(--text-default, #2E1956);
  text-transform: uppercase;
}

/* AÃ§Ãµes do grupo */
.FilterBuilder_groupActions__Bv8Ez {
  display: flex;
  gap: 2px;
  padding: 4px 6px;
  background: #f9f9fa;
  border-top: 1px solid #e0e0e0;
}

/* BotÃµes de aÃ§Ã£o do grupo */
.FilterBuilder_groupButtons__q3hCf {
  display: flex;
  gap: 2px;
  margin-top: 4px;
}

/* Botao de operador (AND/OR) */
.FilterBuilder_operatorButton__VuRKG {
  padding: 4px 8px;
  border-radius: 4px;
  border: 1px solid #E2E6F3;
  border: 1px solid var(--line-default, #E2E6F3);
  background: #fff;
  font-weight: 300;
  font-size: 11px;
  font-family: "Ubuntu", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #2E1956;
  color: var(--text-default, #2E1956);
  cursor: pointer;
  transition: all 0.25s ease;
  min-width: 50px;
  outline: none;
}

.FilterBuilder_operatorButton__VuRKG:hover:not(:disabled) {
  background: #f9f9fa;
  border-color: #471FCC;
  border-color: var(--color-primary-blue, #471FCC);
  color: #471FCC;
  color: var(--color-primary-blue, #471FCC);
}

.FilterBuilder_operatorButton__VuRKG:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.FilterBuilder_operatorButtonAnd__W\+F0W {
  color: #2E1956;
  color: var(--text-default, #2E1956);
}

.FilterBuilder_operatorButtonOr__xL3oV {
  color: #2E1956;
  color: var(--text-default, #2E1956);
}

/* BotÃ£o adicionar grupo */
.FilterBuilder_addGroupButton__uFCRO {
  flex: 1 1;
  padding: 4px 8px;
  font-size: 11px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #666;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: #fafafa;
  cursor: pointer;
  outline: none;
  height: 28px;
  transition: border-color 0.25s ease, color 0.25s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.FilterBuilder_addGroupButton__uFCRO:hover:not(:disabled) {
  color: #471FCC;
  color: var(--color-primary-blue, #471FCC);
  border-color: #471FCC;
  border-color: var(--color-primary-blue, #471FCC);
}

.FilterBuilder_addGroupButton__uFCRO:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  color: #b3b3b3;
}

.FilterBuilder_addButtonIcon__WWXQ- {
  font-size: 12px;
  font-weight: 300;
}

.FilterBuilder_addButtonText__IygVP {
  font-size: 11px;
}

/* Aviso de limite */
.FilterBuilder_limitWarning__v5g6\+ {
  padding: 4px 6px;
  background: #fff3cd;
  border-top: 1px solid #ffe8a1;
  text-align: center;
}

.FilterBuilder_limitWarningText__k6Qyd {
  color: #856404;
  font-size: 11px;
  font-weight: 300;
}

.FilterBuilder_addButton__7qAo3 {
  flex: 1 1;
  padding: 4px 8px;
  font-size: 11px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #666;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: #fafafa;
  cursor: pointer;
  outline: none;
  height: 28px;
  transition: border-color 0.25s ease, color 0.25s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.FilterBuilder_addButton__7qAo3:hover:not(:disabled) {
  color: #471FCC;
  color: var(--color-primary-blue, #471FCC);
  border-color: #471FCC;
  border-color: var(--color-primary-blue, #471FCC);
}

.FilterBuilder_addButton__7qAo3:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  color: #b3b3b3;
}

.FilterBuilder_addIcon__xYyfT {
  font-size: 12px;
  font-weight: 300;
}

.FilterBuilder_addText__zy2gv {
  font-size: 11px;
}

/* BotÃ£o de remover grupo */
.FilterBuilder_removeGroupButton__fw0y\+,
.FilterBuilder_groupRemoveButton__77roY {
  padding: 4px 8px;
  font-size: 16px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #cecece;
  border: none;
  background: transparent;
  cursor: pointer;
  outline: none;
  transition: color 0.25s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.FilterBuilder_removeGroupButton__fw0y\+:hover:not(:disabled),
.FilterBuilder_groupRemoveButton__77roY:hover:not(:disabled) {
  color: #ff4d4f;
}

.FilterBuilder_removeGroupButton__fw0y\+:disabled,
.FilterBuilder_groupRemoveButton__77roY:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Regra de filtro */
.FilterBuilder_rule__sMrMB {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 4px 6px;
  background: #f9f9fa;
  border: none;
  border-radius: 4px;
}

/* Condição incompleta - destacada em vermelho */
.FilterBuilder_ruleIncomplete__FwmrW {
  background: #fff5f5;
  border: 1px solid #ff4d4f;
  border-left: 3px solid #ff4d4f;
}

.FilterBuilder_ruleIncomplete__FwmrW .FilterBuilder_ruleSummary__eu71o {
  color: #cf1322;
}

.FilterBuilder_ruleCollapsed__yxD2P {
  cursor: pointer;
  transition: background 0.2s ease;
}

.FilterBuilder_ruleCollapsed__yxD2P:hover {
  background: #f0f0f1;
}

.FilterBuilder_ruleIncomplete__FwmrW.FilterBuilder_ruleCollapsed__yxD2P:hover {
  background: #ffecec;
}

.FilterBuilder_ruleCollapsedView__qHIhn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  width: 100%;
}

.FilterBuilder_ruleSummary__eu71o {
  flex: 1 1;
  font-size: 11px;
  color: #2E1956;
  color: var(--text-default, #2E1956);
  font-weight: 300;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.FilterBuilder_ruleCollapsedActions__MZcVw {
  display: flex;
  gap: 2px;
  flex-shrink: 0;
}

/* Modo expandido */
.FilterBuilder_ruleExpanded__3qkBm {
  cursor: default;
}

/* Primeira linha da regra (campo + operador + remover) */
.FilterBuilder_ruleFirstLine__aDocq {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
}

/* Segunda linha da regra (valor) */
.FilterBuilder_ruleSecondLine__Zh2zt {
  display: flex;
  width: 100%;
}

/* Opção textual do filtro: por padrão a busca é case-insensitive. */
.FilterBuilder_caseSensitiveOption__77BfD {
  display: flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  color: #6B6F7D;
  color: var(--text-dark, #6B6F7D);
  font-size: 11px;
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
}

.FilterBuilder_caseSensitiveCheckbox__LPQpp {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #471FCC;
  accent-color: var(--color-primary-blue, #471FCC);
}

/* Campos da regra */
.FilterBuilder_ruleField__InjKj,
.FilterBuilder_ruleOperator__kfKaE {
  flex: 1 1;
  min-width: 80px;
}

.FilterBuilder_ruleValue__UWj5M {
  flex: 1 1;
  width: 100%;
}

/* Selects e inputs */
.FilterBuilder_select__KXEFs {
  width: 100%;
  padding: 4px 6px;
  font-size: 11px;
  font-family: "Ubuntu", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #2E1956;
  color: var(--text-default, #2E1956);
  border: 1px solid #E2E6F3;
  border: 1px solid var(--line-default, #E2E6F3);
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  outline: none;
  height: 28px;
  transition: border-color 0.25s ease;
}

.FilterBuilder_select__KXEFs:hover:not(:disabled) {
  border-color: #471FCC;
  border-color: var(--color-primary-blue, #471FCC);
}

.FilterBuilder_select__KXEFs:focus {
  border-color: #471FCC;
  border-color: var(--color-primary-blue, #471FCC);
}

.FilterBuilder_select__KXEFs:disabled {
  background: #fafafa;
  color: #8B90A3;
  color: var(--text-light, #8B90A3);
  cursor: not-allowed;
  opacity: 0.6;
}

.FilterBuilder_select__KXEFs option {
  font-size: 11px;
  font-family: "Ubuntu", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #2E1956;
  color: var(--text-default, #2E1956);
}

.FilterBuilder_input__GOgzS {
  width: 100%;
  padding: 4px 6px;
  font-size: 11px;
  font-family: "Ubuntu", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #2E1956;
  color: var(--text-default, #2E1956);
  border: 1px solid #E2E6F3;
  border: 1px solid var(--line-default, #E2E6F3);
  border-radius: 4px;
  background: #fff;
  outline: none;
  height: 28px;
  transition: border-color 0.25s ease;
}

.FilterBuilder_input__GOgzS::placeholder {
  color: #8B90A3;
  color: var(--text-light, #8B90A3);
  font-style: italic;
}

.FilterBuilder_input__GOgzS:hover:not(:disabled) {
  border-color: #471FCC;
  border-color: var(--color-primary-blue, #471FCC);
}

.FilterBuilder_input__GOgzS:focus {
  border-color: #471FCC;
  border-color: var(--color-primary-blue, #471FCC);
}

.FilterBuilder_input__GOgzS:disabled {
  background: #fafafa;
  color: #8B90A3;
  color: var(--text-light, #8B90A3);
  cursor: not-allowed;
  opacity: 0.6;
}

/* BotÃµes de aÃ§Ã£o da regra */
.FilterBuilder_ruleActions__xa5qa {
  display: flex;
  gap: 2px;
  padding-top: 4px;
  border-top: 1px solid #e0e0e0;
  margin-top: 4px;
  /* Fix: Garantir que os botões fiquem acima do dropdown de sugestões (z-index: 1000) */
  position: relative;
  z-index: 1001;
}

.FilterBuilder_saveButton__VgdZh,
.FilterBuilder_ruleSaveButton__4Xojj {
  flex: 1 1;
  padding: 4px 8px;
  font-size: 11px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #666;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: #fafafa;
  cursor: pointer;
  outline: none;
  height: 28px;
  transition: border-color 0.25s ease, color 0.25s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.FilterBuilder_saveButton__VgdZh:hover:not(:disabled),
.FilterBuilder_ruleSaveButton__4Xojj:hover:not(:disabled) {
  color: #471FCC;
  color: var(--color-primary-blue, #471FCC);
  border-color: #471FCC;
  border-color: var(--color-primary-blue, #471FCC);
}

.FilterBuilder_saveButton__VgdZh:disabled,
.FilterBuilder_ruleSaveButton__4Xojj:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  color: #b3b3b3;
}

.FilterBuilder_removeButton__ZZ8Dk,
.FilterBuilder_ruleRemoveButton__nFmjl {
  padding: 4px 8px;
  font-size: 11px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #cecece;
  border: none;
  background: transparent;
  cursor: pointer;
  outline: none;
  transition: color 0.25s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.FilterBuilder_removeButton__ZZ8Dk:hover:not(:disabled),
.FilterBuilder_ruleRemoveButton__nFmjl:hover:not(:disabled) {
  color: #ff4d4f;
}

.FilterBuilder_removeButton__ZZ8Dk:disabled,
.FilterBuilder_ruleRemoveButton__nFmjl:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Estado vazio */
.FilterBuilder_emptyState__R3SCm {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 6px;
  background: #f9f9fa;
  border: none;
  border-radius: 4px;
  gap: 2px;
}

.FilterBuilder_emptyText__QIy3I {
  font-size: 11px;
  font-family: "Ubuntu", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-weight: 300;
  color: #2E1956;
  color: var(--text-default, #2E1956);
}

.FilterBuilder_emptyHint__RQaTB {
  font-size: 11px;
  font-family: "Ubuntu", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #b3b3b3;
  font-style: italic;
}

/* Erros de validaÃ§Ã£o */
.FilterBuilder_errors__qaDUv {
  padding: 6px;
  background: #fff5f5;
  border: 1px solid #ff4d4f;
  border-radius: 4px;
  margin-top: 4px;
}

.FilterBuilder_errorsHeader__MKpB5 {
  font-weight: 300;
  color: #ff4d4f;
  margin-bottom: 2px;
  font-size: 11px;
}

.FilterBuilder_errorsList__TWa-L {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.FilterBuilder_errorItem__wiwJ2 {
  color: #ff4d4f;
  font-size: 11px;
  padding-left: 16px;
  position: relative;
}

.FilterBuilder_errorItem__wiwJ2::before {
  content: 'â€¢';
  position: absolute;
  left: 4px;
  color: #ff4d4f;
}

/* Avisos */
.FilterBuilder_warnings__yqhDU {
  padding: 6px;
  background: #fffbf0;
  border: 1px solid #ffe8a1;
  border-radius: 4px;
  margin-top: 4px;
}

.FilterBuilder_warningsHeader__osH8d {
  font-weight: 300;
  color: #856404;
  margin-bottom: 2px;
  font-size: 11px;
}

.FilterBuilder_warningsList__91xha {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.FilterBuilder_warningItem__sWLUn {
  color: #856404;
  font-size: 11px;
  padding-left: 16px;
  position: relative;
}

.FilterBuilder_warningItem__sWLUn::before {
  content: 'âš ';
  position: absolute;
  left: 0;
  font-size: 12px;
}

/* Debug JSON */
.FilterBuilder_debug__UB8KF,
.FilterBuilder_debugSection__oGX9q {
  margin-top: 8px;
  padding: 6px;
  background: #f9f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.FilterBuilder_debugHeader__DaolD,
.FilterBuilder_debugTitle__mBAZD {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  font-weight: 300;
  color: #2E1956;
  color: var(--text-default, #2E1956);
  margin-bottom: 2px;
}

.FilterBuilder_debugCopyButton__s7zBC {
  padding: 4px 8px;
  border: 1px solid #E2E6F3;
  border: 1px solid var(--line-default, #E2E6F3);
  border-radius: 4px;
  background: #fff;
  color: #6B6F7D;
  color: var(--text-dark, #6B6F7D);
  font-size: 11px;
  font-family: "Ubuntu", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  cursor: pointer;
  transition: all 0.25s ease;
  outline: none;
}

.FilterBuilder_debugCopyButton__s7zBC:hover {
  background: #fafafa;
  border-color: #471FCC;
  border-color: var(--color-primary-blue, #471FCC);
  color: #471FCC;
  color: var(--color-primary-blue, #471FCC);
}

.FilterBuilder_debugContent__ozzxM {
  font-family: 'Courier New', Courier, monospace;
  font-size: 11px;
  color: #2E1956;
  color: var(--text-default, #2E1956);
  white-space: pre-wrap;
  word-break: break-all;
  max-height: 200px;
  overflow-y: auto;
  padding: 6px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  margin: 0;
}

/* Scrollbar customizada para debug */
.FilterBuilder_debugContent__ozzxM::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.FilterBuilder_debugContent__ozzxM::-webkit-scrollbar-track {
  background: #f9f9fa;
  border-radius: 4px;
}

.FilterBuilder_debugContent__ozzxM::-webkit-scrollbar-thumb {
  background: #e0e0e0;
  border-radius: 4px;
}

.FilterBuilder_debugContent__ozzxM::-webkit-scrollbar-thumb:hover {
  background: #b3b3b3;
}

/* Responsive */
@media (max-width: 400px) {
  .FilterBuilder_container__Qf2VH {
    font-size: 11px;
  }

  .FilterBuilder_ruleFirstLine__aDocq {
    flex-wrap: wrap;
  }

  .FilterBuilder_ruleField__InjKj,
  .FilterBuilder_ruleOperator__kfKaE {
    min-width: 100px;
  }
}



.lc-group-header-segments-button-icon {
    width: 12px;
    /* height: 10px; */
    left: 1px;
    top: 0px;
    /* Textos / Claros */

    background: #8b90a3;
    transform: matrix(0, 1, 1, 0, 0, 0);
}

.lc-group-header-segments .chevron-visible {
    transform: rotate(0deg);
}

.titlefix {
    width: calc(100% - 36px);
    transform: translateY(-44px);
    margin-bottom: -44px;
    display: flex;
    position: relative;
    z-index: 9;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
}

.lc-group-header-segments .chevron-nonvisible {
    transform: rotate(-90deg);
}

.bodyGroup.collapsed {
    max-height: 0;
    display: none;
    min-width: calc(30vw);
}

.bodyGroup>div {
    width: calc(100% - 4px);
}

.bodyGroup.scroll>div {
    width: calc(100% + 4px);
}

.bodyGroup.scroll>div::-webkit-scrollbar {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 0.25rem;
    background-color: #eee;
    z-index: 5;
}

.bodyGroup.scroll>div::-webkit-scrollbar-thumb {
    background: #cccccf;
    border-radius: 0.25rem;
}

.bodyGroup.scroll>div::-webkit-scrollbar-thumb:hover {
    background: #ddd;
}

.bodyGroup.scroll>div::-webkit-scrollbar-track {
    border-radius: 0.25rem;
}

.bodyGroup {
    min-width: calc(30vw);
}

.lc-group-header-segments-button {
    /* Frame 129 */

    width: 12px;
    left: 4px;
    top: 9px;
    /* Inside auto layout */

    flex: none;
    order: 0;
    flex-grow: 0;
    margin: 0px 6px;
    display: flex;
    align-content: center;
    justify-content: center;
}

.lc-group-header-segments-money {
    /* 0,00 */
    width: 100px;
    height: 22px;
    font-family: "Ubuntu", sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 160%;
    /* or 22px */

    text-align: right;
    letter-spacing: -0.05em;
    font-feature-settings: "tnum" on, "lnum" on;
    /* Textos / Padr?o */

    color: #525252;
    /* Inside auto layout */

    flex: none;
    order: 2;
    flex-grow: 0;
    margin: 0px 6px;
}

.lc-group-header-segments-title {
    /* Texto */
    max-width: calc(100vw - 620px);
    height: 22px;
    /* Texto/Padr?o - 14pt/Semibold */

    font-family: "Ubuntu", sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 14px;
    line-height: 160%;
    /* or 22px */
    /* Link */

    color: var(--text-default);
    /* Inside auto layout */

    margin: 0px 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lc-group-header-segments {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 0px 4px;
    width: 100%;
    height: 30px;
    background: #ebebeb;
    border-radius: 6px;
    margin: 4px 0px;
}

.icon-minus,
.icon-plus {
    margin-right: 10px;
    position: relative;
}


.values-container {
    display: flex;
    -webkit-user-select: none;
            user-select: none;
    position: relative;
    overflow: visible;
    justify-content: flex-end;
    gap: 15px;
    width: 350px;
}

/* Regras simples para todas as colunas */
.values-container span.row,
.values-container div.row,
span.row.w-100.text-right,
div.row.w-100.text-right {
    width: 100px !important;
    text-align: right !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
}

.values-container-wrapper {
    position: relative;
    transition: transform 0.2s ease;
}

.drag-area {
    position: absolute;
    left: -12px;
    top: 0;
    bottom: 0;
    width: 4px;
    cursor: col-resize;
    z-index: 11;
    background-color: transparent;
    pointer-events: auto;
}

.drag-area:hover+.drag-line {
    background-color: #999;
}

.drag-line {
    position: absolute;
    left: -10px;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: #ccc;
    z-index: 5;
    border-radius: 1px;
    opacity: 0.7;
    transition: background-color 0.2s ease;
    pointer-events: none;
}

.drag-line:hover {
    background-color: #999;
}

.finops-row .values-container-wrapper,
.virtual-item .values-container-wrapper,
.tree-node .values-container-wrapper,
.tree-node-child .values-container-wrapper {
    position: relative;
    transition: transform 0.2s ease;
}

.finops-row .values-container-wrapper .drag-line,
.virtual-item .values-container-wrapper .drag-line,
.tree-node .values-container-wrapper .drag-line,
.tree-node-child .values-container-wrapper .drag-line {
    display: block;
}

.values-container {
    position: relative;
    z-index: 12;
    pointer-events: auto;
}

.values-container span {
    position: relative;
    z-index: 13;
    pointer-events: auto;
}

.drag-area:hover {
    cursor: col-resize;
}

.drag-area:hover+.drag-line {
    background-color: #999;
}

.lc-segment-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-height: 27px;
}

.lc-segment-title-filter {
    display: flex;
    justify-content: flex-end;
}

.lc-group-body {
    width: 65%;
    justify-content: center;
    align-content: center;
    flex-direction: column;
    align-items: center;
    top: 75px;
}

.lc-group-row {
    padding-left: 32px;
    padding-right: 3px;
    border-bottom: 1px solid #ccc;
    width: 100%;
    height: 30px;
    flex: none;
    order: 1;
    flex-grow: 0;
    margin: 0;
    max-width: inherit;
}

.lc-group-row-inner-text {
    max-width: calc(100vw - 600px);
    height: 22px;
    font-family: "Ubuntu", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    color: var(--text-default);
    flex: none;
    order: 1;
    flex-grow: 0;
    margin: 0px 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lc-group-row-inner-text-sidemodal {
    max-width: calc(100vw - 600px);
    height: 22px;
    font-family: "Ubuntu", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    color: var(--text-default);
    flex: none;
    order: 1;
    flex-grow: 0;
    margin: 0px 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lc-group-row-inner-money {
    width: 100px;
    height: 22px;
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    text-align: right;
    font-feature-settings: "tnum" on, "lnum" on;
    color: var(--text-default);
    margin: 0 2px 0 10px;
}

.lc-group-row-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    width: inherit;
    height: 22px;
    justify-content: space-between;
}

.lc-group-row-inner>.row>.lc-iconlink.small {
    visibility: hidden;
}

.lc-group-row-inner:hover>.row>.lc-iconlink.small {
    visibility: visible;
}

.lc-group-header-segments>.row>.lc-iconlink.small {
    visibility: hidden;
}

.lc-group-header-segments:hover>.row>.lc-iconlink.small {
    visibility: visible;
}

.lc-selectLabel {
    position: static;
    height: 18px;
    left: 0px;
    top: 0px;
    font-family: "Ubuntu", sans-serif;
    font-style: normal;
    line-height: 150%;
    font-size: 12px;
    line-height: 150%;
    margin: 3px 0px;
}

.lc-group-row>.lc-group-row-inner>.pp-tooltip {
    width: 80%;
    overflow: hidden;
}


.finops-row-title {
    border-bottom: solid 1px #E2E6F3;
    display: flex;
    justify-content: space-between;
    /* background: #EAEEF6; */
    /* border-radius: 0.25rem; */
    /*padding: 0.25rem 0.5rem;*/
    color: #2E1956;
    font-family: "Ubuntu", sans-serif;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
}

.maiores-consumos-full {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.maiores-consumos-full .titlefix {
    min-height: 1.25rem;
    margin-bottom: 4px;
    transform: translateY(0);
}

/* ===== Card "Maiores consumos" (NÃO focado) =====
   O header do card fica vazio (só carrega o botão de foco). Em vez do antigo
   hack de translateY no .titlefix — que sobrava espaço no topo e desalinhava
   o cabeçalho — ancoramos o botão de foco no canto e colapsamos o header,
   deixando o conteúdo começar no topo e o título/dropdown alinhados. */
.maiores-consumos-card:not(.card-focused) {
    position: relative;
}
.maiores-consumos-card:not(.card-focused) > .card-frame-header-content {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    width: auto;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    z-index: 9;
}
.maiores-consumos-card:not(.card-focused) > .card-frame-header-content .card-title {
    display: none;
}
.maiores-consumos-card:not(.card-focused) .card-content-body:has(.titlefix) {
    max-height: 100%;
    min-height: 100%;
}
.maiores-consumos-card:not(.card-focused) .titlefix {
    transform: none;
    margin-bottom: 6px;
    /* deixa espaço para o botão de foco ancorado no canto direito */
    width: calc(100% - 28px);
}

/* Container de scroll do card "Maiores consumos": ocupa exatamente o
   espaço restante do card e rola internamente. Sem isso o flex item usa
   min-height:auto e cresce além do card-frame, fazendo a barra de
   rolagem "sangrar" para fora do card. */
.maiores-consumos-card .scrollable-v,
.maiores-consumos-full .scrollable-v {
    flex: 1 1;
    min-height: 0;
    /* respiro no rodapé para a última linha não colar na borda do card */
    padding-bottom: 4px;
}

.finops-row {
    border-radius: 4px;
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
    margin-left: 0px;
    color: #2E1956;
    align-items: center;
    padding: 1px 0;
    line-height: 1.2;
}

.finops-row:hover {
    background-color: #F1F5FB !important;
}

.finops-row:nth-child(even) {
    background: #fff;
}

.striped .finops-row:nth-child(odd) {
    background-color: #fdfdfd;
}

.finops-row:nth-child(odd) {
    background: #fff;
}

.finops-row.link {
    margin-left: 0;
}

/* .finops-row .ellipsis {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    display: flex;
    flex-direction: row;
    align-items: center;
} */

/* Estilos para Virtual Table */
.virtual-data-container {
    width: 100%;
    border: none;
    border-radius: 4px;
    background: #fff;
    margin: 4px 0;
}

.virtual-data-container .finops-row {
    border-bottom: 1px solid #ccc;
    margin-left: 0;
    padding: 4px 8px;
}

.virtual-data-container .finops-row:last-child {
    border-bottom: none;
}

.virtual-data-container .finops-row:hover {
    background-color: #F1F5FB !important;
}

/* Customiza??o da scrollbar para a virtual table */
.virtual-data-container div[style*="overflow"]::-webkit-scrollbar {
    width: 6px;
}

.virtual-data-container div[style*="overflow"]::-webkit-scrollbar-track {
    background: #eee;
    border-radius: 3px;
}

.virtual-data-container div[style*="overflow"]::-webkit-scrollbar-thumb {
    background: #cccccf;
    border-radius: 3px;
}

.virtual-data-container div[style*="overflow"]::-webkit-scrollbar-thumb:hover {
    background: #aaa;
}

.expand-collapse-buttons {
    display: flex;
    align-items: left;
}

.expand-collapse-buttons>.btn-expand {
    border: none;
    background: #fff;
    color: var(--color-primary-blue);
    font-size: 12px;
    padding: 5px 0px;
    margin-bottom: 5px;
    font-family: "Ubuntu", sans-serif;
}

.expand-collapse-buttons .btn-expand:hover {
    /* background: #F1F5FB; */
    color: var(--text-default);
    font-family: "Ubuntu", sans-serif;
}

/* Estrutura de ?rvore baseada no CodePen */
.tree-list {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.tree-list {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-left: 16px;
    position: relative;
}


.tree-list::after {
    content: "";
    display: block;
    width: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -10px;
    border-left: 1px solid #ccc;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    z-index: 0;
}

.tree-child {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-left: 16px;
    position: relative;
}

.tree-child:after {
    content: "";
    display: block;
    width: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -10px;
    border-left: 1px solid #ccc;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    z-index: 0;
}

.tree-node:last-child:before {
    background: white;
    height: auto;
    top: 0.75em;
    bottom: 0;
}

.custom-virtual-list {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

.virtual-scroll-container {
    border-radius: 4px;
    margin-left: 0px;
    position: relative;
    overflow: auto;
    padding: 0;
    margin-bottom: 0;
    box-sizing: border-box;
}

.virtual-scroll-container>div {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-sizing: border-box !important;
}


.virtual-scroll-container::-webkit-scrollbar {
    width: 6px;
}

.virtual-scroll-container::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.virtual-scroll-container::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

.virtual-scroll-container::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

.virtual-item {
    /* border-bottom: 1px solid #eee; */
    background: white;
    margin: 0;
    padding: 0;
    position: relative;
    line-height: 1.1;
}

.virtual-item:hover {
    background: #f5f5f5;
}

.virtual-item.last-item {
    border-bottom: none;
}

.virtual-item>.finops-row>div>span:last-child {
    margin: 0 2px;
}


.tree-node {
    margin: 0;
    padding: 0 4px;
    line-height: 1.1em;
    position: relative;
    overflow: clip;
    list-style: none;
}

.tree-node-child {
    list-style: none;
    line-height: 1.1em;
    position: relative;
    margin: 0;
}

.tree-node-child:last-child:before {
    background: white;
    height: auto;
    top: 0.75em;
    bottom: 0;
}

.tree-parent {
    /* overflow: clip; */
}

.tree-node-child>.finops-row.level-1,
.tree-node>.finops-row.level-0,
.tree-child.striped>.tree-node-child>.virtual-scroll-container>div>.virtual-item>.finops-row.level-2,
.tree-child.striped>.tree-parent>.tree-node-child>.finops-row.level-2 {
    margin-right: 6px !important;
}

.tree-node-child>.finops-row.level-3,
.virtual-item>.finops-row.level-3 {
    margin-right: 0px !important;
}
.redesign_costPage__e3LRO {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #FFFFFF;
    color: #0F172A;
    font-family: 'Ubuntu', sans-serif;
    --cost-font-scale: 1;
}

/* ============================ Header ============================ */
.redesign_header__lcVCD {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 0;
    flex-shrink: 0;
}

.redesign_header__lcVCD:empty {
    display: none;
}

/* Quando o header so possui o container de acoes vazio, colapsa a faixa */
.redesign_header__lcVCD > .redesign_headerActions__udmOI:empty {
    display: none;
}

.redesign_headerLeft__HNAdw {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
}

.redesign_headerTitle__YYHKr {
    font-size: 1.25rem;
    font-weight: 600;
    color: #0F172A;
    line-height: 1.2;
    margin: 0;
}

.redesign_headerSubtitle__vNQBN {
    font-size: 0.75rem;
    color: #64748B;
    line-height: 1.4;
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.redesign_headerSubtitleSep__nRJNQ {
    color: #CBD5E1;
}

.redesign_headerActions__udmOI {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.redesign_headerLastUpdate__lSsYW {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    color: #64748B;
}

.redesign_headerExport__FClyz {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    color: #0F172A;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 4px;
}

.redesign_headerExport__FClyz:hover {
    background: #F1F5F9;
}

.redesign_headerIconButton__2TEh6 {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: #64748B;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
}

.redesign_headerIconButton__2TEh6:hover {
    background: #F1F5F9;
    color: #0F172A;
}

/* ============================ Filter Bar ============================ */
.redesign_filterBar__0AwcR {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    padding: 8px 8px 12px;
    flex-wrap: wrap;
    flex-shrink: 0;
}

.redesign_filterBar__0AwcR > * {
    flex-shrink: 0;
}

.redesign_filterSearch__lVOsL {
    flex: 1 1 220px;
    min-width: 200px;
    max-width: 360px;
}

.redesign_filterSearchInner__55hfO {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.redesign_filterSearchLabel__OujQE {
    font-size: 0.7rem;
    color: #64748B;
    font-weight: 500;
}

.redesign_filterSearchInput__3p75C {
    display: flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 10px;
    border: 1px solid #E5E7EB;
    border-radius: 4px;
    background: #FFFFFF;
}

.redesign_filterSearchInput__3p75C:focus-within {
    border-color: #1D4ED8;
    box-shadow: 0 0 0 2px rgba(29, 78, 216, 0.12);
}

.redesign_filterSearchInput__3p75C input {
    flex: 1 1;
    border: none;
    outline: none;
    font-size: 0.8rem;
    color: #0F172A;
    background: transparent;
}

.redesign_filterClear__k\+RiL {
    flex: 0 0 28px;
    width: 28px;
    background: transparent;
    border: none;
    color: #1D4ED8;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    padding: 0;
}

.redesign_filterClear__k\+RiL:hover {
    color: #0F3B66;
}

.redesign_filterClear__k\+RiL:disabled {
    color: #94A3B8;
    cursor: not-allowed;
}

.redesign_filterClear__k\+RiL:focus-visible {
    outline: 2px solid #1D4ED8;
    outline-offset: 2px;
}

/* ============================ KPI Strip ============================ */
.redesign_kpiStrip__kATRB {
    display: flex;
    gap: 16px;
    padding: 4px 8px 16px;
    flex-wrap: wrap;
    flex-shrink: 0;
}

.redesign_kpiItem__S3L1J {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1 1;
    min-width: 0;
    max-width: 100%;
    padding: 4px 8px;
    overflow: hidden;
}

.redesign_kpiItem__S3L1J + .redesign_kpiItem__S3L1J {
    border-left: 1px solid #F1F5F9;
}

.redesign_kpiIcon__v-HPX {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748B;
    font-size: 20px;
    flex-shrink: 0;
}

.redesign_kpiIconPositive__lU82H { color: #15803D; }
.redesign_kpiIconNegative__TLhCu { color: #DC2626; }
.redesign_kpiIconNeutral__4MDrB  { color: #64748B; }

.redesign_kpiBody__2E6hF {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
}

.redesign_kpiLabel__Uqy2o {
    font-size: 0.7rem;
    color: #64748B;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.redesign_kpiValue__iIHSo {
    font-size: 1rem;
    font-weight: 600;
    color: #0F172A;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.redesign_kpiValuePositive__PkygK { color: #15803D; }
.redesign_kpiValueNegative__rqv9- { color: #DC2626; }

.redesign_kpiSecondary__8ta6x {
    font-size: 0.72rem;
    color: #64748B;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 220px;
}

.redesign_kpiSecondaryDelta__Zrl9f {
    font-weight: 600;
}

/* ============================ Grid ============================ */
.redesign_gridContainer__7GuNh {
    flex: 1 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 0 8px;
}

.redesign_gridHeader__7UJbV,
.redesign_gridRow__epZyP {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 140px 140px 150px 130px 150px 48px;
    align-items: center;
    grid-column-gap: 8px;
    column-gap: 8px;
    padding: 8px 12px;
}

.redesign_gridHeader__7UJbV {
    font-size: 0.72rem;
    color: #64748B;
    font-weight: 500;
    border-bottom: 1px solid #E5E7EB;
    text-transform: none;
    position: sticky;
    top: 0;
    background: #FFFFFF;
    z-index: 2;
}

.redesign_gridHeader__7UJbV > div {
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.redesign_gridHeaderRight__tIBEI {
    justify-self: end;
}

.redesign_gridHeaderCenter__g2Kl0 {
    justify-self: center;
}

.redesign_gridBody__apkVu {
    flex: 1 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}

.redesign_gridRow__epZyP {
    border-bottom: 1px solid #F1F5F9;
    font-size: 0.82rem;
    color: #0F172A;
    transition: background-color 0.12s ease;
    cursor: pointer;
}

.redesign_gridRow__epZyP:hover {
    background: #F8FAFC;
}

.redesign_gridRow__epZyP.redesign_selected__ENBcQ {
    background: #F3F7FB;
}

.redesign_cellDescription__mGML8 {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.redesign_cellDescriptionLabel__Vy\+PC {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.redesign_providerBadge__iQJIQ {
    flex: 0 0 auto;
    max-width: 78px;
    overflow: hidden;
    padding: 2px 6px;
    border: 1px solid #CBD5E1;
    border-radius: 4px;
    background: #F8FAFC;
    color: #475569;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.redesign_cellDescription__mGML8.redesign_levelGroup__wE4OS .redesign_cellDescriptionLabel__Vy\+PC {
    font-weight: 600;
}

.redesign_cellDescription__mGML8.redesign_levelService__BeN3P .redesign_cellDescriptionLabel__Vy\+PC {
    font-weight: 400;
}

.redesign_chevronButton__r7Z3P {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #64748B;
}

.redesign_chevronPlaceholder__7Rxjg {
    width: 18px;
    height: 18px;
    display: inline-block;
}

.redesign_typeIcon__QTEoN {
    color: #64748B;
    font-size: 14px;
    display: inline-flex;
    flex-shrink: 0;
}

.redesign_cellNumeric__bbmZb {
    text-align: right;
    justify-self: end;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.redesign_cellVariation__ni2vV {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    justify-self: end;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.redesign_cellVariationArrow__XmvvR {
    font-weight: 600;
}

.redesign_cellStatus__BTLGn {
    justify-self: start;
}

.redesign_statusBadge__uPi9v {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
}

.redesign_cellActions__WyieT {
    justify-self: center;
}

.redesign_actionsButton__U0nIQ {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: #64748B;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.redesign_actionsButton__U0nIQ:hover {
    background: #F1F5F9;
    color: #0F172A;
}

/* ============================ Drilldown Panel ============================ */
.redesign_drilldownPanel__oZ4uN {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(320px, 1.4fr) minmax(220px, 1fr);
    grid-gap: 16px;
    gap: 16px;
    padding: 12px 16px;
    background: #F8FAFC;
    border-top: 1px solid #F1F5F9;
    border-bottom: 1px solid #F1F5F9;
}

.redesign_drilldownLeft__qJwY1,
.redesign_drilldownCenter__1VIgd,
.redesign_drilldownRight__F7Th3 {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.redesign_drilldownCenter__1VIgd,
.redesign_drilldownRight__F7Th3 {
    border-left: 1px solid #E5E7EB;
    padding-left: 16px;
}

.redesign_drilldownIconRow__ad-ak {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #1D4ED8;
    font-size: 18px;
    margin-bottom: 6px;
}

.redesign_drilldownTitle__pNtBb {
    font-size: 0.9rem;
    font-weight: 600;
    color: #0F172A;
    margin-bottom: 6px;
}

.redesign_drilldownTitle__pNtBb strong { color: #15803D; }

.redesign_drilldownDescription__4W-Fr {
    font-size: 0.78rem;
    color: #475569;
    line-height: 1.4;
    margin-bottom: 12px;
}

.redesign_drilldownInsights__6mE3b {
    margin-top: 2px;
    padding-top: 10px;
    border-top: 1px solid #E5E7EB;
}

.redesign_drilldownInsightsTitle__ocg7P {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 600;
}

.redesign_drilldownInsightsTitle__ocg7P svg {
    color: #1D4ED8;
    font-size: 14px;
}

.redesign_drilldownInsightsGrid__0Gmho {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 7px;
    gap: 7px;
}

.redesign_drilldownInsight__USOH5 {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    min-width: 0;
    padding: 7px 8px;
    border: 1px solid #E5E7EB;
    border-radius: 6px;
    background: #FFFFFF;
}

.redesign_drilldownInsightPositive__DEUks { border-color: #D7ECDD; }
.redesign_drilldownInsightNegative__XVBqw { border-color: #F5D7D7; }

.redesign_drilldownInsightIcon__DieGV {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: #64748B;
    font-size: 14px;
}

.redesign_drilldownInsightPositive__DEUks .redesign_drilldownInsightIcon__DieGV { color: #15803D; }
.redesign_drilldownInsightNegative__XVBqw .redesign_drilldownInsightIcon__DieGV { color: #DC2626; }

.redesign_drilldownInsightBody__MAL4P {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.redesign_drilldownInsightLabel__TVCO1,
.redesign_drilldownInsightDetail__bbUg3 {
    overflow: hidden;
    color: #64748B;
    font-size: 0.67rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.redesign_drilldownInsightValue__SHZBn {
    overflow: hidden;
    margin: 2px 0;
    color: #0F172A;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.redesign_drilldownInsightsLoading__\+dshh {
    color: #94A3B8;
    font-size: 0.74rem;
}

.redesign_drilldownResourceContext__IbY9c {
    grid-column: 1 / -1;
    min-width: 0;
    margin-top: 1px;
    padding-top: 5px;
    border-top: 1px solid #E5E7EB;
}

.redesign_drilldownDetailsScroll__PceWJ {
    height: clamp(120px, 24vh, 220px);
    min-height: 0;
    padding-right: 8px;
    overflow-x: hidden;
    overflow-y: auto;
}

.redesign_drilldownDetailsScroll__PceWJ::-webkit-scrollbar {
    width: 6px;
}

.redesign_drilldownDetailsScroll__PceWJ::-webkit-scrollbar-track {
    background: transparent;
}

.redesign_drilldownDetailsScroll__PceWJ::-webkit-scrollbar-thumb {
    background: #CBD5E1;
    border-radius: 3px;
}

.redesign_drilldownResourceContextHeader__0gsws {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.redesign_drilldownResourceContextScope__LsQjK {
    color: #64748B;
    font-size: 0.68rem;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.redesign_drilldownResourceSummary__Wc8iS {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr));
    grid-gap: 3px;
    gap: 3px;
    margin-top: 4px;
}

.redesign_drilldownResourceSummary__Wc8iS .redesign_drilldownResourceField__AUBc6 {
    padding: 3px 5px;
}

.redesign_drilldownDetailsDisclosure__K\+80K {
    margin-top: 3px;
    border-top: 1px solid #E5E7EB;
}

.redesign_drilldownDetailsSummary__51K3J {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 3px 0;
    color: #475569;
    cursor: pointer;
    font-size: 0.69rem;
    font-weight: 600;
    list-style-position: inside;
}

.redesign_drilldownDetailsCount__IuN76 {
    color: #94A3B8;
    font-size: 0.65rem;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    font-weight: 400;
}

.redesign_drilldownDetailsDisclosure__K\+80K[open] .redesign_drilldownResourceGrid__4NVO2 {
    margin-top: 1px;
}

.redesign_drilldownResourceGrid__4NVO2 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-gap: 3px 6px;
    gap: 3px 6px;
}

.redesign_drilldownResourceField__AUBc6 {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    align-items: baseline;
    min-width: 0;
    grid-gap: 3px 6px;
    gap: 3px 6px;
    padding: 3px 0;
    border-bottom: 1px solid #F1F5F9;
}

.redesign_drilldownResourceLabel__r9ocC {
    overflow: hidden;
    color: #64748B;
    font-size: 0.62rem;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.redesign_drilldownResourceValue__4iq2k {
    min-width: 0;
    color: #0F172A;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.2;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.redesign_drilldownTagSections__QDNY0 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 4px;
    gap: 4px;
    margin-top: 3px;
}

.redesign_drilldownTagSection__gbDVT {
    min-width: 0;
    padding: 0;
    border: 1px solid #D8E1EA;
    border-radius: 6px;
    background: #F8FAFC;
}

.redesign_drilldownTagDisclosure__-LqZK {
    padding: 4px 6px;
}

.redesign_drilldownTagSummary__tmDwZ {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    cursor: pointer;
    list-style-position: inside;
}

.redesign_drilldownTagDisclosure__-LqZK[open] {
    padding-bottom: 5px;
}

.redesign_drilldownTagSectionTitle__vvk7P {
    color: #0F3B66;
    font-size: 0.72rem;
    line-height: 1.3;
}

.redesign_drilldownTagCount__dw0tu {
    flex: 0 0 auto;
    color: #64748B;
    font-size: 0.66rem;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.redesign_drilldownTagList__BZ6pI {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 4px;
}

.redesign_drilldownTagRow__yrSar {
    display: grid;
    grid-template-columns: minmax(100px, 0.7fr) minmax(0, 1.3fr);
    grid-gap: 6px;
    gap: 6px;
    align-items: start;
    padding-top: 3px;
    border-top: 1px solid #E2E8F0;
}

.redesign_drilldownTagRow__yrSar:first-child {
    padding-top: 0;
    border-top: none;
}

.redesign_drilldownTagKey__9z0DM {
    color: #475569;
    font-size: 0.64rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.redesign_drilldownTagValues__yRK7b {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    min-width: 0;
}

.redesign_drilldownTagValue__WDMpV {
    max-width: 100%;
    padding: 1px 4px;
    border: 1px solid #CBD5E1;
    border-radius: 4px;
    background: #FFFFFF;
    color: #0F172A;
    font-size: 0.64rem;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.redesign_drilldownTagEmpty__sYVD2 {
    margin-top: 6px;
    color: #64748B;
    font-size: 0.68rem;
    line-height: 1.4;
}

.redesign_drilldownResourceUnavailable__IWlwp {
    padding: 8px;
    border: 1px dashed #CBD5E1;
    border-radius: 6px;
    color: #64748B;
    background: #FFFFFF;
    font-size: 0.72rem;
    line-height: 1.4;
}

.redesign_drilldownActions__YRcvt {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.redesign_drilldownAction__OF4p- {
    background: transparent;
    border: none;
    cursor: pointer;
    color: #1D4ED8;
    font-size: 0.78rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
}

.redesign_drilldownAction__OF4p-:hover { color: #0F3B66; }

.redesign_drilldownAction__OF4p-:disabled {
    color: #94A3B8;
    cursor: not-allowed;
}

.redesign_drilldownChartTitle__0GDVY {
    font-size: 0.78rem;
    color: #475569;
    margin-bottom: 4px;
}

.redesign_drilldownChart__pb52w {
    flex: 1 1;
    min-height: 120px;
}

.redesign_drilldownRightTitle__Ekct- {
    font-size: 0.78rem;
    color: #475569;
    margin-bottom: 8px;
}

.redesign_drilldownSummaryList__FWi25 {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.redesign_drilldownSummaryRow__XMnJm {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    font-size: 0.78rem;
    gap: 8px;
}

.redesign_drilldownSummaryLabel__lU3mA { color: #64748B; }
.redesign_drilldownSummaryValue__NjvI5 { color: #0F172A; font-weight: 500; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }

/* ============================ Pagination ============================ */
.redesign_pagination__qAGN8 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-top: 1px solid #F1F5F9;
    font-size: 0.78rem;
    color: #475569;
    flex-shrink: 0;
    flex-wrap: wrap;
    gap: 12px;
}

.redesign_paginationLeft__9bbT1 { color: #64748B; }

.redesign_paginationRight__UJQ6j {
    display: flex;
    align-items: center;
    gap: 12px;
}

.redesign_paginationPageSize__MdY\+d {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.redesign_paginationPageSize__MdY\+d select {
    height: 28px;
    border: 1px solid #E5E7EB;
    border-radius: 4px;
    padding: 0 6px;
    color: #0F172A;
    background: #FFFFFF;
    font-size: 0.78rem;
}

.redesign_paginationButtons__JH5CU {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.redesign_pageButton__q9\+MI {
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    border: 1px solid transparent;
    background: transparent;
    color: #0F172A;
    border-radius: 4px;
    font-size: 0.78rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.redesign_pageButton__q9\+MI:hover:not(:disabled) {
    background: #F1F5F9;
}

.redesign_pageButton__q9\+MI:disabled {
    color: #CBD5E1;
    cursor: not-allowed;
}

.redesign_pageButtonActive__KL6b- {
    background: #0F3B66;
    color: #FFFFFF;
}

.redesign_pageButtonActive__KL6b-:hover:not(:disabled) {
    background: #0F3B66;
}

/* ============================ Empty / Loading ============================ */
.redesign_gridEmpty__xBvpW {
    padding: 32px;
    text-align: center;
    color: #94A3B8;
    font-size: 0.85rem;
}

/* Compacta a leitura em notebooks e janelas com pouca altura vertical. */
@media (max-height: 900px) {
    .redesign_costPage__e3LRO {
        --cost-font-scale: 0.9;
    }

    .redesign_filterBar__0AwcR {
        gap: 8px;
        padding-top: 4px;
        padding-bottom: 8px;
    }

    .redesign_costPage__e3LRO .redesign_headerTitle__YYHKr {
        font-size: calc(1.25rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_headerSubtitle__vNQBN,
    .redesign_costPage__e3LRO .redesign_headerLastUpdate__lSsYW {
        font-size: calc(0.75rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_headerExport__FClyz,
    .redesign_costPage__e3LRO .redesign_filterSearchInput__3p75C input {
        font-size: calc(0.8rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .ppdropdown .ppdropdown-container {
        font-size: calc(14px * var(--cost-font-scale)) !important;
    }

    .redesign_costPage__e3LRO .ppdropdown > label {
        font-size: calc(0.75rem * var(--cost-font-scale)) !important;
    }

    .redesign_costPage__e3LRO .redesign_filterSearchLabel__OujQE,
    .redesign_costPage__e3LRO .redesign_kpiLabel__Uqy2o {
        font-size: calc(0.7rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_kpiValue__iIHSo {
        font-size: calc(1rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_kpiSecondary__8ta6x,
    .redesign_costPage__e3LRO .redesign_gridHeader__7UJbV,
    .redesign_costPage__e3LRO .redesign_statusBadge__uPi9v {
        font-size: calc(0.72rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_gridRow__epZyP {
        font-size: calc(0.82rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_providerBadge__iQJIQ {
        font-size: calc(0.65rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_typeIcon__QTEoN,
    .redesign_costPage__e3LRO .redesign_drilldownInsightsTitle__ocg7P svg,
    .redesign_costPage__e3LRO .redesign_drilldownInsightIcon__DieGV {
        font-size: calc(14px * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_drilldownIconRow__ad-ak {
        font-size: calc(18px * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_drilldownTitle__pNtBb {
        font-size: calc(0.9rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_drilldownDescription__4W-Fr {
        font-size: calc(0.78rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_drilldownInsightsTitle__ocg7P,
    .redesign_costPage__e3LRO .redesign_drilldownInsightValue__SHZBn,
    .redesign_costPage__e3LRO .redesign_drilldownTagSectionTitle__vvk7P,
    .redesign_costPage__e3LRO .redesign_drilldownResourceUnavailable__IWlwp {
        font-size: calc(0.72rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_drilldownInsightLabel__TVCO1,
    .redesign_costPage__e3LRO .redesign_drilldownInsightDetail__bbUg3 {
        font-size: calc(0.67rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_drilldownInsightsLoading__\+dshh {
        font-size: calc(0.74rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_drilldownResourceContextScope__LsQjK {
        font-size: calc(0.68rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_drilldownDetailsSummary__51K3J,
    .redesign_costPage__e3LRO .redesign_drilldownSummaryRow__XMnJm,
    .redesign_costPage__e3LRO .redesign_drilldownAction__OF4p-,
    .redesign_costPage__e3LRO .redesign_drilldownChartTitle__0GDVY,
    .redesign_costPage__e3LRO .redesign_drilldownRightTitle__Ekct-,
    .redesign_costPage__e3LRO .redesign_pagination__qAGN8,
    .redesign_costPage__e3LRO .redesign_paginationPageSize__MdY\+d select,
    .redesign_costPage__e3LRO .redesign_pageButton__q9\+MI {
        font-size: calc(0.78rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_drilldownDetailsCount__IuN76 {
        font-size: calc(0.65rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_drilldownResourceLabel__r9ocC {
        font-size: calc(0.62rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_drilldownResourceValue__4iq2k,
    .redesign_costPage__e3LRO .redesign_drilldownTagEmpty__sYVD2 {
        font-size: calc(0.68rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_drilldownTagCount__dw0tu {
        font-size: calc(0.66rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_drilldownTagKey__9z0DM,
    .redesign_costPage__e3LRO .redesign_drilldownTagValue__WDMpV {
        font-size: calc(0.64rem * var(--cost-font-scale));
    }

    .redesign_costPage__e3LRO .redesign_gridEmpty__xBvpW,
    .redesign_costPage__e3LRO .redesign_revoCell__FCqe- {
        font-size: calc(0.85rem * var(--cost-font-scale));
    }
}

@media (max-height: 760px) {
    .redesign_costPage__e3LRO {
        --cost-font-scale: 0.84;
    }

    .redesign_filterBar__0AwcR {
        gap: 6px;
        padding-top: 2px;
        padding-bottom: 6px;
    }
}

@media (max-width: 1100px) {
    .redesign_gridHeader__7UJbV,
    .redesign_gridRow__epZyP {
        grid-template-columns: minmax(220px, 1fr) 110px 110px 130px 110px 130px 40px;
    }
    .redesign_drilldownPanel__oZ4uN {
        grid-template-columns: 1fr;
    }
    .redesign_drilldownCenter__1VIgd,
    .redesign_drilldownRight__F7Th3 {
        border-left: none;
        border-top: 1px solid #E5E7EB;
        padding-left: 0;
        padding-top: 12px;
    }

    .redesign_drilldownResourceSummary__Wc8iS {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 540px) {
    .redesign_drilldownInsightsGrid__0Gmho {
        grid-template-columns: 1fr;
    }

    .redesign_drilldownResourceGrid__4NVO2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .redesign_drilldownTagSections__QDNY0 {
        grid-template-columns: 1fr;
    }

    .redesign_drilldownTagRow__yrSar {
        grid-template-columns: 1fr;
        gap: 2px;
    }
}


/* ─────────────────────────────────────────────────────────────────────
   RevoGrid integration (real @revolist/react-datagrid for data rows)
   The custom header bar above (.gridHeader) is kept for hierarchical-
   sort support; we hide RevoGrid's own header to avoid duplication.
   ───────────────────────────────────────────────────────────────────── */

.redesign_revoGridWrapper__siWo0 {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    position: relative;
}

.redesign_revoGrid__2bbWc {
    width: 100%;
    height: 100%;
}

/* Hide RevoGrid's native column header — we render our own above. */
.redesign_revoGridWrapper__siWo0 .rgHeaderCell,
.redesign_revoGridWrapper__siWo0 .header-rgRow,
.redesign_revoGridWrapper__siWo0 .rgHeader,
.redesign_revoGridWrapper__siWo0 revogr-header {
    display: none !important;
    height: 0 !important;
}
.redesign_revoGridWrapper__siWo0 .viewport {
    top: 0 !important;
}

/* Row backgrounds and selection highlight */
.redesign_revoRowGroup__KnE\+Z {
    background-color: #FFFFFF;
}
.redesign_revoRowService__GWFWz {
    background-color: #F8FAFC;
}
.redesign_revoRowSelected__24aMt {
    background-color: #F3F7FB !important;
    box-shadow: inset 2px 0 0 0 #1D4ED8;
}

/* Cell baseline */
.redesign_revoCell__FCqe- {
    display: flex !important;
    align-items: center;
    padding: 0 12px;
    font-size: 0.85rem;
    color: #0F172A;
    border-bottom: 1px solid #F1F5F9;
}
.redesign_revoCellRight__LJqu4 {
    justify-content: flex-end;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}
.redesign_revoCellCenter__5EG4p {
    justify-content: center;
}

/* Custom cell wrappers (rendered inside cellTemplate) */
.redesign_revoCellDescription__\+Xsn6 {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.redesign_revoCellNumeric__RzTC1 {
    width: 100%;
    text-align: right;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}
.redesign_revoCellVariation__N5NBw {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    width: 100%;
    justify-content: flex-end;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}
.redesign_revoCellStatus__HGak\+ {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.redesign_revoCellActions__zgYR- {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

