/* Brand overrides only - layout/components come from Duralux theme.min.css */
:root {
  --brand-primary: #3454d1;
  --brand-secondary: #283c50;
  --brand-accent: #0acf97;
}

/* Cor da marca aplicada pelas variáveis do Bootstrap: mantém hover/active/disabled
   do design system (antes o !important congelava o botão sem estado de hover). */
.btn-primary {
  --bs-btn-bg: var(--brand-primary);
  --bs-btn-border-color: var(--brand-primary);
  --bs-btn-hover-bg: color-mix(in srgb, var(--brand-primary) 85%, #000);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--brand-primary) 80%, #000);
  --bs-btn-active-bg: color-mix(in srgb, var(--brand-primary) 80%, #000);
  --bs-btn-active-border-color: color-mix(in srgb, var(--brand-primary) 75%, #000);
  --bs-btn-disabled-bg: var(--brand-primary);
  --bs-btn-disabled-border-color: var(--brand-primary);
}

.bg-primary {
  background-color: var(--brand-primary) !important;
}

.text-primary {
  color: var(--brand-primary) !important;
}

.pagination-common-style li a.active,
ul.pagination-common-style li a:hover {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
}

.procint-map {
  height: 70vh;
  min-height: 420px;
}

.procint-public-hero {
  min-height: 70vh;
  background:
    radial-gradient(circle at top right, rgba(52, 84, 209, 0.25), transparent 45%),
    linear-gradient(160deg, #0f1b2d 0%, #283c50 45%, #3454d1 100%);
  color: #fff;
}

.auth-screen {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}

.auth-card {
  width: 100%;
  max-width: 420px;
  margin: 4rem auto;
}

.auth-screen .auth-card {
  margin: 0;
}

.auth-card .auth-logo {
  display: block;
  width: min(280px, 85%);
  max-height: 220px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  object-fit: contain;
}

/* Botão de mostrar senha como .input-group-text (padrão 4.1 do design system) */
.password-toggle-group .password-toggle-btn {
  cursor: pointer;
  min-width: 46px;
  justify-content: center;
}

.password-toggle-group .password-toggle-btn:hover,
.password-toggle-group .password-toggle-btn:focus-visible {
  color: var(--brand-primary);
}

/* Logo Procint Mob na sidebar - não depender só de .logo-lg do Duralux */
.nxl-navigation .m-header {
  overflow: visible;
  height: 96px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  justify-content: center;
}

.nxl-navigation .m-header .b-brand {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 72px;
}

.nxl-navigation .m-header .procint-sidebar-logo.logo-lg {
  display: block !important;
  height: 72px !important;
  width: auto !important;
  max-width: 230px !important;
  max-height: 72px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  object-fit: contain !important;
}

.nxl-navigation .m-header .procint-sidebar-logo.logo-sm {
  display: none !important;
}

html.minimenu .nxl-navigation .m-header .procint-sidebar-logo.logo-lg {
  display: none !important;
}

html.minimenu .nxl-navigation .m-header .procint-sidebar-logo.logo-sm {
  display: block !important;
  height: 40px !important;
  width: auto !important;
  max-width: 48px !important;
  max-height: 40px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  object-fit: contain !important;
}

/* Ensure logout button in user dropdown looks like a menu item */
.nxl-user-dropdown button.dropdown-item {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
}

.nxl-header .user-avtar,
.nxl-user-dropdown .user-avtar {
  object-fit: cover;
}

.card .avatar-image.avatar-xl {
  width: 120px;
  height: 120px;
}

.card .avatar-image.avatar-xl img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Rolagem interna de listas/tabelas longas dentro de cards (sem utilitário equivalente no Duralux) */
.scroll-y-240 {
  max-height: 240px;
  overflow-y: auto;
}

.scroll-y-55vh {
  max-height: 55vh;
  overflow-y: auto;
}

.scroll-y-360 {
  max-height: 360px;
  overflow-y: auto;
}

/* O tema deixa a célula em nowrap e a tabela passa da largura do card.
   O texto longo quebra na própria coluna; a tabela fica em 100% sem rolagem horizontal. */
.main-content .table-responsive {
  overflow-x: clip;
}
.main-content .table-responsive > .table {
  width: 100%;
}
.main-content .table-responsive .table tr td {
  white-space: normal;
  overflow-wrap: anywhere;
}
.main-content .table-responsive .table tr th.col-actions,
.main-content .table-responsive .table tr td.col-actions {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.main-content .table-responsive .table td .d-flex > .form-control {
  min-width: 0;
  flex: 1 1 auto;
}

/* Conteúdo sendo atualizado via htmx fica esmaecido e sem clique */
.htmx-fade.htmx-request {
  opacity: 0.55;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
