.card .card-title,
.card-body .card-title,
.card-body h5,
.card-body h4,
.card-title,
h5.card-title {
  color: #34A862 !important;
  font-weight: 700;
}

/* Desativar animações desnecessárias nos menus dropdown das tabelas/index */
.dropdown-menu,
.dropdown-menu.show,
.dropdown-menu-end,
.dropdown-menu-end.show {
  animation: none !important;
  transition: none !important;
}

[data-bs-theme="dark"] body,
html[data-bs-theme="dark"] {
  background-color: #111311 !important;
  color: #F8F9F8 !important;
}

[data-bs-theme="dark"] .table thead, 
[data-bs-theme="dark"] thead tr,
[data-bs-theme="dark"] .card-header {
  background-color: #1E221E !important;
  color: #CDD2CE !important;
  border-color: #434A44 !important;
}

[data-bs-theme="dark"] .table th {
  color: #CDD2CE !important;
}

[data-bs-theme="dark"] .table td,
[data-bs-theme="dark"] .table tr {
  color: #F8F9F8 !important;
  border-color: #2F3530 !important;
}

[data-bs-theme="dark"] .card {
  background-color: #272D28 !important;
  border-color: #434A44 !important;
  color: #F8F9F8 !important;
}

[data-bs-theme="dark"] .text-dark {
  color: #F8F9F8 !important;
}

[data-bs-theme="dark"] .list-group-item {
  background-color: #272D28 !important;
  color: #F8F9F8 !important;
  border-color: #434A44 !important;
}

/* Dark mode overrides for Fact Form (RDO) tables, headers, title cells, and table cells */
.titulo, th.titulo {
  background-color: #e9ecef;
}

@media screen {
  [data-bs-theme="dark"] .table,
  [data-obrify-theme="dark"] .table,
  html[data-theme="dark"] .table,
  html.dark-style .table,
  body.dark-style .table,
  .dark-mode .table,
  [data-bs-theme="dark"] .fact-general-table-wrapper table,
  [data-obrify-theme="dark"] .fact-general-table-wrapper table,
  html.dark-style .fact-general-table-wrapper table,
  body.dark-style .fact-general-table-wrapper table {
    background-color: #212622 !important;
    color: #FFFFFF !important;
    border-color: #666666 !important;
  }

  [data-bs-theme="dark"] .table thead,
  [data-bs-theme="dark"] .table th,
  [data-bs-theme="dark"] .table .titulo,
  [data-bs-theme="dark"] th.titulo,
  [data-bs-theme="dark"] .titulo,
  [data-obrify-theme="dark"] .table thead,
  [data-obrify-theme="dark"] .table th,
  [data-obrify-theme="dark"] .table .titulo,
  [data-obrify-theme="dark"] th.titulo,
  [data-obrify-theme="dark"] .titulo,
  html[data-theme="dark"] .table th,
  html[data-theme="dark"] .titulo,
  html.dark-style .table th,
  html.dark-style .table .titulo,
  html.dark-style .titulo,
  body.dark-style .table th,
  body.dark-style .table .titulo,
  body.dark-style .titulo,
  .dark-mode .table th,
  .dark-mode .table .titulo,
  .dark-mode .titulo {
    background-color: #2D332E !important;
    background: #2D332E !important;
    color: #FFFFFF !important;
    border-color: #666666 !important;
  }

  [data-bs-theme="dark"] .table td,
  [data-bs-theme="dark"] .table tr,
  [data-obrify-theme="dark"] .table td,
  [data-obrify-theme="dark"] .table tr,
  html[data-theme="dark"] .table td,
  html.dark-style .table td,
  body.dark-style .table td,
  .dark-mode .table td {
    background-color: #212622 !important;
    background: #212622 !important;
    color: #FFFFFF !important;
    border-color: #555555 !important;
  }

  [data-bs-theme="dark"] .table td *,
  [data-bs-theme="dark"] .table th *,
  [data-obrify-theme="dark"] .table td *,
  [data-obrify-theme="dark"] .table th *,
  html.dark-style .table td *,
  html.dark-style .table th *,
  body.dark-style .table td *,
  body.dark-style .table th *,
  .dark-mode .table td *,
  .dark-mode .table th * {
    color: #FFFFFF !important;
  }

  [data-bs-theme="dark"] .badge.text-dark,
  [data-obrify-theme="dark"] .badge.text-dark,
  html.dark-style .badge.text-dark,
  body.dark-style .badge.text-dark {
    background-color: #3B423C !important;
    color: #FFFFFF !important;
    border-color: #666666 !important;
  }

  [data-bs-theme="dark"] .fact-report-title,
  [data-obrify-theme="dark"] .fact-report-title,
  html[data-theme="dark"] .fact-report-title,
  html.dark-style .fact-report-title,
  body.dark-style .fact-report-title,
  .dark-mode .fact-report-title {
    color: #FFFFFF !important;
  }

  [data-bs-theme="dark"] .workflow-container,
  [data-obrify-theme="dark"] .workflow-container,
  html[data-theme="dark"] .workflow-container,
  html.dark-style .workflow-container,
  body.dark-style .workflow-container,
  .dark-mode .workflow-container {
    background: #272D28 !important;
    background-color: #272D28 !important;
    border-color: #434A44 !important;
    color: #FFFFFF !important;
  }

  [data-bs-theme="dark"] .workflow-header,
  [data-obrify-theme="dark"] .workflow-header,
  html.dark-style .workflow-header,
  body.dark-style .workflow-header,
  .dark-mode .workflow-header {
    border-bottom-color: #434A44 !important;
  }

  [data-bs-theme="dark"] .workflow-container h5,
  [data-bs-theme="dark"] .workflow-container label,
  [data-bs-theme="dark"] .workflow-container .form-check-label,
  [data-obrify-theme="dark"] .workflow-container h5,
  [data-obrify-theme="dark"] .workflow-container label,
  [data-obrify-theme="dark"] .workflow-container .form-check-label,
  html.dark-style .workflow-container h5,
  html.dark-style .workflow-container label,
  html.dark-style .workflow-container .form-check-label,
  body.dark-style .workflow-container h5,
  body.dark-style .workflow-container label,
  body.dark-style .workflow-container .form-check-label,
  .dark-mode .workflow-container h5,
  .dark-mode .workflow-container label,
  .dark-mode .workflow-container .form-check-label {
    color: #FFFFFF !important;
  }
}

.table th {
  text-transform: none !important;
  font-weight: 600;
  font-size: 1rem !important;
}

.summary-card {
  border-radius: 0.5rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
  background-color: #c7c7c7;
}

/* Fix sidebar scroll when content doesn't generate page scroll */
.layout-menu .menu-inner {
  overflow-y: auto;
  overflow-x: hidden;
  max-height: calc(100vh - 64px);
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}

/* Hide scrollbar for Chrome, Safari and Opera */
.layout-menu .menu-inner::-webkit-scrollbar {
  display: none;
}

@keyframes rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.rotating-icon {
  display: inline-block;
  animation: rotate 2s linear infinite;
}

/* Fix for drag-target pushing items to the right on mobile */
.drag-target {
  width: 0 !important;
  pointer-events: none;
}

/* Indicadores de campos essenciais/obrigatórios nos formulários */
.required-star,
.text-danger-star {
  color: #e5484d !important;
  font-weight: bold;
  margin-left: 2px;
}

label.required::after,
.form-label.required::after,
label[data-required="true"]::after,
label:has(+ input[required])::after,
label:has(+ select[required])::after,
label:has(+ textarea[required])::after,
label:has(+ .input-group > input[required])::after,
label:has(+ .input-group > select[required])::after {
  content: " *";
  color: #e5484d;
  font-weight: bold;
}

.layout-menu-expanded .drag-target {
  width: 50px !important;
  pointer-events: auto;
}

/* Global CTA alignment to the right */
.justify-content-center.justify-content-md-end {
  justify-content: flex-end !important;
}

@media (max-width: 768px) {
  .d-flex.justify-content-between.align-items-center {
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  .d-flex.justify-content-between.align-items-center > *:last-child {
    margin-left: auto !important;
  }
}

/* Responsividade para Telas Grandes (TVs, Ultra-wide) */


@media (min-width: 1920px) {
  .container-xxl {
    max-width: 98% !important;
  }
}

/* Melhorias Mobile Gerais */
@media (max-width: 768px) {
  .content-wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  .container-xxl {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .card-body {
    padding: 1rem !important;
  }

  /* Evitar scroll horizontal */
  body, html {
    overflow-x: hidden;
    width: 100%;
  }

  /* Navbar mobile adjustments */
  .layout-navbar {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  
  .navbar-nav {
    flex-direction: row !important;
    flex-wrap: wrap;
    justify-content: center;
  }
  
  /* Garantir que tabelas não quebrem o layout */
  .table-responsive {
    border: 0;
  }
}

@media (min-width: 2500px) {
  body {
    font-size: 1.1rem;
  }
  .kpi-value {
    font-size: 42px !important;
  }
  .kpi-title {
    font-size: 16px !important;
  }
  .chart-title {
    font-size: 24px !important;
  }
}

/* Dashboard Tabs Mobile 2 per line */
@media (max-width: 768px) {
  .tabs-container {
    padding: 0 12px !important;
    flex-wrap: wrap;
    justify-content: center;
  }
  .tab-item {
    flex: 0 0 50%;
    padding: 12px 8px !important;
    justify-content: center;
    border-bottom: 2px solid var(--gray-200) !important;
    font-size: 12px !important;
  }
  .tab-item.active {
    border-bottom-color: var(--primary) !important;
  }
}

/* Sidebar collapsed badges handling */
.layout-menu-collapsed:not(.layout-menu-hover) .demo-badge-container {
  display: none !important;
}

/* Marca - Custom Colors */
:root, [data-bs-theme="light"], [data-bs-theme="dark"] {
  --ob-primary:       #58B85A; /* Cor Primária da Marca */
  --ob-primary-hover: #4AA24C; /* Cor Primária no Hover */
  --ob-primary-soft:  #E9F6EA;
  --ob-primary-rgb:   88, 184, 90;
  --ob-sidebar-bg:    #1F342D; /* Fundo da Sidebar */
  --ob-sidebar-bg-rgb: 31, 52, 45;
  --ob-header-bg:     rgba(255, 255, 255, 0.86);

  /* Sobrescreve as cores do bootstrap */
  --bs-primary: #58B85A !important;
  --bs-primary-rgb: 88, 184, 90 !important;
  --bs-primary-hover: #4AA24C !important;
}

/* Sobrescreve estilo da Sidebar (Vuexy Layout Menu) */
html .layout-menu, 
html aside#layout-menu,
html .menu-vertical,
html [data-bs-theme="light"] .layout-menu,
html [data-bs-theme="light"] aside#layout-menu {
  background-color: var(--ob-sidebar-bg) !important;
  background: var(--ob-sidebar-bg) !important;
}

/* Links e textos da sidebar em Branco */
html .layout-menu .menu-link,
html .layout-menu .menu-inner .menu-item .menu-link,
html .layout-menu .menu-link:focus,
html .layout-menu .menu-link:active,
html .layout-menu .menu-toggle:focus,
html .layout-menu .menu-toggle:active,
html .layout-menu .menu-text,
html .layout-menu .menu-header-text,
html .layout-menu .menu-inner .menu-item.active > .menu-link .menu-text,
html .layout-menu .menu-item .menu-link i,
html .layout-menu .menu-item .menu-link div {
  color: #ffffff !important;
}

/* Ícones de > e de bolinha da Sidebar em Branco */
html .layout-menu .menu-toggle::after,
html .layout-menu .menu-sub .menu-link::before,
html .layout-menu .menu-sub .menu-item .menu-link::before {
  background-color: #ffffff !important;
}

/* Item ativo final na Sidebar (ex: RDO, Atividades, Dashboard) */
html .layout-menu .menu-inner .menu-item.active > .menu-link:not(.menu-toggle),
html .layout-menu .menu-inner .menu-sub .menu-item.active > .menu-link {
  background-color: var(--ob-primary, #34A862) !important;
  background: var(--ob-primary, #34A862) !important;
  color: #ffffff !important;
  border-radius: 8px;
}

/* Menu Pai (Toggle) quando aberto ou ativo (ex: Apontamento, Medição) */
html .layout-menu .menu-inner .menu-item.open > .menu-link.menu-toggle,
html .layout-menu .menu-inner .menu-item.active.open > .menu-link.menu-toggle {
  background-color: rgba(255, 255, 255, 0.08) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  border: 1.5px solid var(--ob-primary, #34A862) !important;
  border-radius: 8px;
}

/* Menu Pai (Toggle) quando ativo porém fechado */
html .layout-menu .menu-inner .menu-item.active:not(.open) > .menu-link.menu-toggle,
html .layout-menu .menu-inner .menu-item.active > .menu-link.menu-toggle {
  background-color: rgba(52, 168, 98, 0.2) !important;
  background: rgba(52, 168, 98, 0.2) !important;
  color: #ffffff !important;
  border: 1.5px solid var(--ob-primary, #34A862) !important;
  border-radius: 8px;
}

/* Previne fundo branco em qualquer estado de foco ou clique */
html .layout-menu .menu-item .menu-link:focus,
html .layout-menu .menu-item .menu-link:active {
  background-color: transparent;
}

/* Hover nos itens da Sidebar */
html .layout-menu .menu-item .menu-link:hover {
  background-color: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}

html .app-brand .app-brand-text,
html .app-brand-text,
html .app-brand-text *,
html .menu-text {
  color: #ffffff !important;
}

/* Nome do usuário e elementos da navbar no tema claro/escuro */
html [data-bs-theme="light"] .ob-user-name,
html [data-obrify-theme="light"] .ob-user-name {
  color: #000000 !important;
}

html [data-bs-theme="dark"] .ob-user-name,
html [data-obrify-theme="dark"] .ob-user-name {
  color: #ffffff !important;
}

/* No modo escuro somente: Contexto da Obra, Empresa, Seleção de Obra e Ícone de Notificação em branco */
html[data-bs-theme="dark"] .layout-navbar small,
html[data-obrify-theme="dark"] .layout-navbar small,
html[data-theme="dark"] .layout-navbar small,
[data-bs-theme="dark"] .layout-navbar small,
[data-obrify-theme="dark"] .layout-navbar small,
[data-theme="dark"] .layout-navbar small,
.dark-mode .layout-navbar small,
html[data-bs-theme="dark"] .layout-navbar span:not(.badge),
html[data-obrify-theme="dark"] .layout-navbar span:not(.badge),
[data-bs-theme="dark"] .layout-navbar span:not(.badge),
[data-obrify-theme="dark"] .layout-navbar span:not(.badge),
html[data-bs-theme="dark"] .layout-navbar .custom-select-obra,
html[data-obrify-theme="dark"] .layout-navbar .custom-select-obra,
[data-bs-theme="dark"] .layout-navbar .custom-select-obra,
[data-obrify-theme="dark"] .layout-navbar .custom-select-obra,
html[data-bs-theme="dark"] .layout-navbar .tabler-bell,
html[data-obrify-theme="dark"] .layout-navbar .tabler-bell,
[data-bs-theme="dark"] .layout-navbar .tabler-bell,
[data-obrify-theme="dark"] .layout-navbar .tabler-bell,
html[data-bs-theme="dark"] .layout-navbar .ti-bell,
html[data-obrify-theme="dark"] .layout-navbar .ti-bell,
[data-bs-theme="dark"] .layout-navbar .ti-bell,
[data-obrify-theme="dark"] .layout-navbar .ti-bell,
html[data-bs-theme="dark"] .layout-navbar i,
html[data-obrify-theme="dark"] .layout-navbar i,
[data-bs-theme="dark"] .layout-navbar i,
[data-obrify-theme="dark"] .layout-navbar i {
  color: #ffffff !important;
}

html[data-bs-theme="dark"] .custom-select-obra option,
html[data-obrify-theme="dark"] .custom-select-obra option,
[data-bs-theme="dark"] .custom-select-obra option,
[data-obrify-theme="dark"] .custom-select-obra option {
  color: #2b2c40 !important;
  background-color: #ffffff !important;
}

/* Botões Primários Globais */
html .btn-primary,
html .bs-btn-bg,
html .btn-primary:focus,
html .btn-primary.show,
html button.btn-primary,
html a.btn-primary {
  background-color: var(--ob-primary) !important;
  background: var(--ob-primary) !important;
  border-color: var(--ob-primary) !important;
  color: #ffffff !important;
}

html .btn-primary:hover,
html button.btn-primary:hover,
html a.btn-primary:hover {
  background-color: var(--ob-primary-hover) !important;
  background: var(--ob-primary-hover) !important;
  border-color: var(--ob-primary-hover) !important;
  color: #ffffff !important;
}

/* Cabeçalho/Navbar */
html .layout-navbar,
html .navbar {
  background-color: var(--ob-header-bg) !important;
  backdrop-filter: blur(10px);
}

/* Classes utilitárias de texto e ícones */
html .text-primary,
html .icon-base.text-primary,
html .ti.text-primary {
  color: var(--ob-primary) !important;
}

/* ==========================================================================
   Ajustes Somente no Mobile (max-width: 768px)
   ========================================================================== */
@media (max-width: 768px) {
  /* 1. Dashboard: Tabs 2 por linha */
  .tabs-container {
    padding: 8px 12px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  .tabs-container .tab-item {
    flex: 0 0 calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
    padding: 10px 8px !important;
    justify-content: center !important;
    font-size: 12px !important;
    box-sizing: border-box !important;
  }

  /* 1. Dashboard: Cards 1 por linha encostados nas laterais */
  .dashboard {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .dashboard .row,
  .dashboard .chart-row,
  .dashboard .grid-2,
  .dashboard .grid-3,
  .dashboard .ob-exec-grid {
    display: flex !important;
    flex-direction: column !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    gap: 16px !important;
  }

  .dashboard .col-12,
  .dashboard .col-md-6,
  .dashboard .col-md-4,
  .dashboard .col-md-3,
  .dashboard .col-lg-6,
  .dashboard .col-lg-4,
  .dashboard .col-xl-3,
  .dashboard .chart-card {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .dashboard .card,
  .dashboard .summary-card,
  .dashboard .ob-kpi-card {
    border-radius: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  /* 2. Obras: Indicadores 2 por linha abaixo do título */
  .obrify-theme-lab .ob-header-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .obrify-theme-lab .ob-header-title-block {
    width: 100% !important;
    margin-bottom: 8px !important;
  }

  .obrify-theme-lab .ob-projects-header-indicators {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  .obrify-theme-lab .ob-projects-indicator {
    width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  /* 3. Planejamento de Atividades: Ajustes mobile */
  .accordion-button .row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }

  .accordion-button .row > div {
    width: 100% !important;
    text-align: left !important;
  }

  .planning-plannings-wrapper {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
  }

  .planning-plannings-table {
    min-width: 640px !important;
  }

  /* 4. RDO (Facts): Ajuste da tabela 'Preenchendo Relatório' */
  .fact-general-table-wrapper {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
  }

  .fact-general-table-wrapper table {
    min-width: 680px !important;
  }

  /* 5. Centralização de botões de período e scroll lateral das tabelas */
  .period-buttons {
    justify-content: center !important;
    width: 100% !important;
    flex-wrap: wrap !important;
  }

  .dash-tab-content .table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
  }

  .dash-tab-content .data-table {
    min-width: 600px !important;
  }

  /* 6. Forçar empilhamento vertical e ordenação dos cards no mobile */
  .kpi-row,
  .chart-row,
  .chart-row-three,
  #visao-geral .kpi-row,
  #visao-geral .chart-row,
  #visao-geral .chart-row-three {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 16px !important;
  }

  /* Visão Geral: Status das Atividades abaixo de Execução */
  #visao-geral .kpi-row > .ob-kpi-card:nth-child(1) { order: 1 !important; }
  #visao-geral .kpi-row > .ob-kpi-card:nth-child(2) { order: 2 !important; }

  /* Visão Geral: Projeção de Resultado -> Funil de Medições -> Alertas e Desvios */
  #visao-geral .chart-row-three > .ob-kpi-card:nth-child(1) { order: 1 !important; }
  #visao-geral .chart-row-three > .ob-kpi-card:nth-child(2) { order: 2 !important; }
  #visao-geral .chart-row-three > .chart-card.compact { order: 3 !important; }

  /* Aderência ao Planejamento: Padding e Ordem (Avanço Físico -> Produtividade -> Índice Geral) */
  .ob-adherence-card {
    padding: 12px 14px !important;
  }

  .ob-metric-grid {
    grid-template-columns: 1fr !important;
  }

  .ob-adherence-card .ob-metric-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .ob-adherence-card .ob-tile-avanco { order: 1 !important; }
  .ob-adherence-card .ob-tile-produtividade { order: 2 !important; }
  .ob-adherence-card .ob-tile-indice { order: 3 !important; }

  /* 7. Navbar: impedir quebra da direita e diminuir fonte do Contexto da Obra */
  #layout-navbar {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

  #layout-navbar .navbar-nav-right {
    flex-wrap: nowrap !important;
    gap: 4px !important;
  }

  .custom-select-obra {
    font-size: 0.72rem !important;
    max-width: 140px !important;
    min-width: 90px !important;
  }

  /* 8. Padding interno aumentado para cards do dashboard no mobile */
  .obrify-theme-lab .dashboard .chart-card,
  .obrify-theme-lab .dashboard .ob-kpi-card,
  .obrify-theme-lab .dashboard .card {
    padding: 20px !important;
  }

  /* 9. Filtros de data e período no mobile */
  .ob-date-filter-wrap {
    justify-content: center !important;
    width: 100% !important;
  }

  .ob-date-input {
    max-width: 110px !important;
    font-size: 0.72rem !important;
    padding: 0.2rem 0.3rem !important;
  }

  .ob-btn-aplicar {
    font-size: 0.72rem !important;
    padding: 0.25rem 0.5rem !important;
  }

  .period-buttons {
    padding: 2px !important;
    gap: 2px !important;
  }

  .period-btn {
    padding: 5px 8px !important;
    font-size: 0.72rem !important;
  }

  /* 10. Ações do cabeçalho de Atividades no mobile */
  .ob-tasks-actions-row {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    justify-content: space-between !important;
  }

  /* 11. Empilhar Medido acima de Executado e Produção acima de Custo no mobile */
  .ob-meta-chip-grid-2 {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
  }
}

/* 8. Padding interno aumentado para cards do dashboard no desktop */
.obrify-theme-lab .dashboard .chart-card,
.obrify-theme-lab .dashboard .ob-kpi-card,
.obrify-theme-lab .dashboard .card {
  padding: 18px 20px !important;
}

/* 12. Estilização para Contexto da Obra e Filtros da Topbar */
.ob-center-context-navbar {
  margin-left: auto !important;
  margin-right: 1rem !important;
  text-align: center !important;
}

@media (max-width: 768px) {
  .ob-center-context-navbar {
    margin-left: auto !important;
    margin-right: 0.5rem !important;
    transform: translateX(10px);
  }
}

@media (min-width: 769px) {
  #layout-navbar .navbar-nav-right {
    position: relative !important;
  }

  .ob-center-context-navbar {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
  }

  .custom-select-obra {
    max-width: 240px !important;
    font-size: 0.85rem !important;
    padding-right: 1.75rem !important;
    background-position: right 0.25rem center !important;
  }

  .ob-date-filter-wrap {
    width: auto !important;
    flex-wrap: nowrap !important;
  }

  .ob-date-input {
    max-width: 140px !important;
    font-size: 0.85rem !important;
  }

  .period-buttons {
    width: auto !important;
  }
}

/* 13. Títulos dos cards do formulário de RDO na cor verde padrão do projeto */
.card-header .card-title,
.card-header .card-title.text-primary,
.card-title.text-primary,
#section-labor .card-title,
#section-list .card-title,
#section-materials .card-title,
#section-occurrences .card-title,
#section-attachments .card-title {
  color: var(--ob-primary, #34A862) !important;
}

/* Execução alignment (Avanço Físico / Avanço Financeiro) */
.ob-exec-item {
  display: flex !important;
  flex-direction: column !important;
}

.ob-exec-item .ob-kpi-label {
  min-height: 44px !important;
  display: flex !important;
  align-items: flex-start !important;
  flex-wrap: wrap !important;
}

.ob-exec-item .ob-kpi-value {
  margin-top: auto !important;
}




