/*
 * LERCTECH Gestão — Design System Canônico 1.1
 * Release 3.15.9
 *
 * Este arquivo deve ser carregado por último em todas as páginas e módulos.
 * Ele é a fonte de verdade para cabeçalhos de página e destaque de blocos.
 */

:root {
  --lerc-design-system-version: "1.1";
  --lerc-accent: #9dff00;
  --lerc-page-kicker-size: 10px;
  --lerc-page-kicker-weight: 850;
  --lerc-page-kicker-spacing: .14em;
  --lerc-page-title-size: clamp(28px, 2.6vw, 34px);
  --lerc-page-title-line-height: 1.1;
  --lerc-page-title-weight: 780;
  --lerc-page-title-spacing: -.035em;
  --lerc-page-description-size: 14px;
  --lerc-page-description-line-height: 1.55;
  --lerc-page-heading-gap: 20px;
  --lerc-page-heading-margin: 24px;
  --lerc-block-hover-border: #9dff00;
  --lerc-block-hover-shadow-dark: 0 0 0 1px rgba(157,255,0,.28), 0 18px 44px rgba(0,0,0,.34), 0 0 30px rgba(157,255,0,.15);
  --lerc-block-hover-shadow-light: 0 0 0 1px rgba(157,255,0,.54), 0 16px 38px rgba(24,48,32,.15), 0 0 24px rgba(157,255,0,.12);
  --lerc-block-hover-lift: translateY(-2px);
  --lerc-block-transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  --lerc-page-kicker-size-mobile: 10px;
  --lerc-page-title-size-mobile: 27px;
  --lerc-page-description-size-mobile: 13px;
  --lerc-block-title-size-mobile: 17px;
  --lerc-block-description-size-mobile: 12px;
}

/* --------------------------------------------------------------------------
   1. Cabeçalho canônico: marcador, título e descrição
   -------------------------------------------------------------------------- */
:is(
  .lerc-page-heading,
  .page-heading,
  .fin-top,
  .planning-page-head,
  .crm-page-heading,
  .nfe-page-heading,
  .executive-page-head,
  .logs-hero,
  .sales-page-heading,
  .security-heading,
  .version-heading,
  .procurement-heading
) {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: var(--lerc-page-heading-gap) !important;
  min-height: 0 !important;
  margin: 0 0 var(--lerc-page-heading-margin) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

:is(
  .lerc-page-heading,
  .page-heading,
  .fin-top,
  .planning-page-head,
  .crm-page-heading,
  .nfe-page-heading,
  .executive-page-head,
  .logs-hero,
  .sales-page-heading,
  .security-heading,
  .version-heading,
  .procurement-heading
) > :first-child {
  min-width: 0;
}

/* Marcador/eyebrow. Em .fin-top o pequeno texto é o marcador; o <p> é descrição. */
:is(
  .lerc-page-heading,
  .page-heading,
  .planning-page-head,
  .crm-page-heading,
  .nfe-page-heading,
  .executive-page-head,
  .logs-hero,
  .sales-page-heading,
  .security-heading,
  .version-heading,
  .procurement-heading
) > :first-child > p,
:is(.fin-top) > :first-child > small,
.lerc-page-kicker {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--lerc-accent) !important;
  font-size: var(--lerc-page-kicker-size) !important;
  font-weight: var(--lerc-page-kicker-weight) !important;
  line-height: 1.2 !important;
  letter-spacing: var(--lerc-page-kicker-spacing) !important;
  text-transform: uppercase !important;
}

:is(
  .lerc-page-heading,
  .page-heading,
  .fin-top,
  .planning-page-head,
  .crm-page-heading,
  .nfe-page-heading,
  .executive-page-head,
  .logs-hero,
  .sales-page-heading,
  .security-heading,
  .version-heading,
  .procurement-heading
) h1,
.lerc-page-title {
  margin: 0 !important;
  color: var(--text, var(--fin-text, var(--lerc-text, inherit))) !important;
  font-size: var(--lerc-page-title-size) !important;
  font-weight: var(--lerc-page-title-weight) !important;
  line-height: var(--lerc-page-title-line-height) !important;
  letter-spacing: var(--lerc-page-title-spacing) !important;
  text-transform: uppercase !important;
}

:is(
  .lerc-page-heading,
  .page-heading,
  .planning-page-head,
  .crm-page-heading,
  .nfe-page-heading,
  .executive-page-head,
  .logs-hero,
  .sales-page-heading,
  .security-heading,
  .version-heading,
  .procurement-heading
) > :first-child > span,
.fin-top > :first-child > p,
.lerc-page-description {
  display: block !important;
  max-width: 880px;
  margin: 8px 0 0 !important;
  color: var(--muted, var(--fin-muted, var(--lerc-muted, #8e9992))) !important;
  font-size: var(--lerc-page-description-size) !important;
  font-weight: 400 !important;
  line-height: var(--lerc-page-description-line-height) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

:is(
  .lerc-page-heading,
  .page-heading,
  .fin-top,
  .planning-page-head,
  .crm-page-heading,
  .nfe-page-heading,
  .executive-page-head,
  .logs-hero,
  .sales-page-heading,
  .security-heading,
  .version-heading,
  .procurement-heading
) > :last-child:not(:first-child) {
  flex: 0 0 auto;
}

/* --------------------------------------------------------------------------
   2. Blocos canônicos: borda verde e sombra no mouse-over
   -------------------------------------------------------------------------- */
:is(
  .panel,
  .metric-card,
  .customer-card,
  .account-cards > article,
  .report-card,
  .site-card-list > article,
  .article-admin-grid > article,
  .payables-summary > article,
  .rental-kpis > article,
  .settings-function,
  .summary-strip > span,
  .table-panel,
  .report-filters,
  .task-card,
  .task-column,
  .document-list > article,
  .logs-hub-card,
  .version-hero > div,
  .version-grid > article,
  .version-history,
  .security-card,
  .procurement-kpis > article,
  .procurement-panel,
  .procurement-total-card,
  .procurement-detail-kpis > span,
  .procurement-section,
  .fin-card,
  .planning-summary-panel,
  .planning-summary > article,
  .planning-panel,
  .planning-day-program,
  .planning-upcoming,
  .crm-panel,
  .crm-summary > article,
  .crm-column,
  .crm-card,
  .crm-detail-card,
  .nfe-panel,
  .nfe-kpi,
  .executive-panel,
  .executive-card,
  .logs-panel,
  .logs-kpis > article,
  .log-card,
  .store-card,
  .store-product-card,
  .public-product-card,
  .public-article-card,
  .article-card
),
.sales-body .card,
.inline-module-host.sales-body .card {
  transition: var(--lerc-block-transition) !important;
}

@media (hover: hover) and (pointer: fine) {
  :is(
    .panel,
    .metric-card,
    .customer-card,
    .account-cards > article,
    .report-card,
    .site-card-list > article,
    .article-admin-grid > article,
    .payables-summary > article,
    .rental-kpis > article,
    .settings-function,
    .summary-strip > span,
    .table-panel,
    .report-filters,
    .task-card,
    .task-column,
    .document-list > article,
    .logs-hub-card,
    .version-hero > div,
    .version-grid > article,
    .version-history,
    .security-card,
    .procurement-kpis > article,
    .procurement-panel,
    .procurement-total-card,
    .procurement-detail-kpis > span,
    .procurement-section,
    .fin-card,
    .planning-summary-panel,
    .planning-summary > article,
    .planning-panel,
    .planning-day-program,
    .planning-upcoming,
    .crm-panel,
    .crm-summary > article,
    .crm-column,
    .crm-card,
    .crm-detail-card,
    .nfe-panel,
    .nfe-kpi,
    .executive-panel,
    .executive-card,
    .logs-panel,
    .logs-kpis > article,
    .log-card,
    .store-card,
    .store-product-card,
    .public-product-card,
    .public-article-card,
    .article-card
  ):hover,
  .sales-body .card:hover,
  .inline-module-host.sales-body .card:hover {
    border-color: var(--lerc-block-hover-border) !important;
    box-shadow: var(--lerc-block-hover-shadow-dark) !important;
    transform: var(--lerc-block-hover-lift) !important;
  }

  html[data-theme="light"] :is(
    .panel,
    .metric-card,
    .customer-card,
    .account-cards > article,
    .report-card,
    .site-card-list > article,
    .article-admin-grid > article,
    .payables-summary > article,
    .rental-kpis > article,
    .settings-function,
    .summary-strip > span,
    .table-panel,
    .report-filters,
    .task-card,
    .task-column,
    .document-list > article,
    .logs-hub-card,
    .version-hero > div,
    .version-grid > article,
    .version-history,
    .security-card,
    .procurement-kpis > article,
    .procurement-panel,
    .procurement-total-card,
    .procurement-detail-kpis > span,
    .procurement-section,
    .fin-card,
    .planning-summary-panel,
    .planning-summary > article,
    .planning-panel,
    .planning-day-program,
    .planning-upcoming,
    .crm-panel,
    .crm-summary > article,
    .crm-column,
    .crm-card,
    .crm-detail-card,
    .nfe-panel,
    .nfe-kpi,
    .executive-panel,
    .executive-card,
    .logs-panel,
    .logs-kpis > article,
    .log-card,
    .store-card,
    .store-product-card,
    .public-product-card,
    .public-article-card,
    .article-card
  ):hover,
  html[data-theme="light"] .sales-body .card:hover,
  html[data-theme="light"] .inline-module-host.sales-body .card:hover {
    border-color: var(--lerc-block-hover-border) !important;
    box-shadow: var(--lerc-block-hover-shadow-light) !important;
  }
}

/* Borda verde também para blocos acionáveis por teclado. */
:is(
  button.panel,
  button.logs-hub-card,
  button.crm-card,
  a.store-card,
  a.store-product-card,
  a.public-product-card,
  a.public-article-card
):focus-visible {
  border-color: var(--lerc-block-hover-border) !important;
  box-shadow: var(--lerc-block-hover-shadow-dark) !important;
  outline: 2px solid rgba(157,255,0,.42) !important;
  outline-offset: 2px;
}

html[data-theme="light"] :is(
  button.panel,
  button.logs-hub-card,
  button.crm-card,
  a.store-card,
  a.store-product-card,
  a.public-product-card,
  a.public-article-card
):focus-visible {
  box-shadow: var(--lerc-block-hover-shadow-light) !important;
}

@media (max-width: 760px) {
  :root {
    --lerc-page-title-size: 27px;
    --lerc-page-description-size: 13px;
    --lerc-page-heading-gap: 14px;
    --lerc-page-heading-margin: 20px;
  }

  :is(
    .lerc-page-heading,
    .page-heading,
    .fin-top,
    .planning-page-head,
    .crm-page-heading,
    .nfe-page-heading,
    .executive-page-head,
    .logs-hero,
    .sales-page-heading,
    .security-heading,
    .version-heading,
    .procurement-heading
  ) {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  :is(
    .lerc-page-heading,
    .page-heading,
    .fin-top,
    .planning-page-head,
    .crm-page-heading,
    .nfe-page-heading,
    .executive-page-head,
    .logs-hero,
    .sales-page-heading,
    .security-heading,
    .version-heading,
    .procurement-heading
  ) > :last-child:not(:first-child) {
    width: 100%;
    justify-content: flex-start !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(
    .panel,
    .metric-card,
    .customer-card,
    .account-cards > article,
    .report-card,
    .site-card-list > article,
    .article-admin-grid > article,
    .payables-summary > article,
    .rental-kpis > article,
    .settings-function,
    .summary-strip > span,
    .table-panel,
    .report-filters,
    .task-card,
    .task-column,
    .document-list > article,
    .logs-hub-card,
    .version-hero > div,
    .version-grid > article,
    .version-history,
    .security-card,
    .procurement-kpis > article,
    .procurement-panel,
    .procurement-total-card,
    .procurement-detail-kpis > span,
    .procurement-section,
    .fin-card,
    .planning-summary-panel,
    .planning-summary > article,
    .planning-panel,
    .planning-day-program,
    .planning-upcoming,
    .crm-panel,
    .crm-summary > article,
    .crm-column,
    .crm-card,
    .crm-detail-card,
    .nfe-panel,
    .nfe-kpi,
    .executive-panel,
    .executive-card,
    .logs-panel,
    .logs-kpis > article,
    .log-card,
    .store-card,
    .store-product-card,
    .public-product-card,
    .public-article-card,
    .article-card
  ),
  .sales-body .card,
  .inline-module-host.sales-body .card {
    transition: none !important;
  }

  :is(
    .panel,
    .metric-card,
    .customer-card,
    .account-cards > article,
    .report-card,
    .site-card-list > article,
    .article-admin-grid > article,
    .payables-summary > article,
    .rental-kpis > article,
    .settings-function,
    .summary-strip > span,
    .table-panel,
    .report-filters,
    .task-card,
    .task-column,
    .document-list > article,
    .logs-hub-card,
    .version-hero > div,
    .version-grid > article,
    .version-history,
    .security-card,
    .procurement-kpis > article,
    .procurement-panel,
    .procurement-total-card,
    .procurement-detail-kpis > span,
    .procurement-section,
    .fin-card,
    .planning-summary-panel,
    .planning-summary > article,
    .planning-panel,
    .planning-day-program,
    .planning-upcoming,
    .crm-panel,
    .crm-summary > article,
    .crm-column,
    .crm-card,
    .crm-detail-card,
    .nfe-panel,
    .nfe-kpi,
    .executive-panel,
    .executive-card,
    .logs-panel,
    .logs-kpis > article,
    .log-card,
    .store-card,
    .store-product-card,
    .public-product-card,
    .public-article-card,
    .article-card
  ):hover,
  .sales-body .card:hover,
  .inline-module-host.sales-body .card:hover {
    transform: none !important;
  }
}

/* --------------------------------------------------------------------------
   3. Contrato personalizável do painel — Design System 1.1 / Release 3.15.9
   Os valores abaixo podem ser sobrescritos exclusivamente pelo Painel CSS.
   -------------------------------------------------------------------------- */
:root {
  --lerc-page-kicker-color-light: #20af0b;
  --lerc-page-kicker-color-dark: #9dff00;
  --lerc-page-title-color-light: #102019;
  --lerc-page-title-color-dark: #eef8f0;
  --lerc-page-description-color-light: #5b6b62;
  --lerc-page-description-color-dark: #9aa79f;
  --lerc-block-title-color-light: #102019;
  --lerc-block-title-color-dark: #eef8f0;
  --lerc-block-description-color-light: #617067;
  --lerc-block-description-color-dark: #9aa79f;
  --lerc-block-title-size: 18px;
  --lerc-block-description-size: 13px;
  --lerc-focus-accent: #9dff00;
}

html[data-theme="light"] :is(
  .lerc-page-heading,
  .page-heading,
  .planning-page-head,
  .crm-page-heading,
  .nfe-page-heading,
  .executive-page-head,
  .logs-hero,
  .sales-page-heading,
  .security-heading,
  .version-heading,
  .procurement-heading
) > :first-child > p,
html[data-theme="light"] .fin-top > :first-child > small,
html[data-theme="light"] .lerc-page-kicker {
  color: var(--lerc-page-kicker-color-light) !important;
}

html:not([data-theme="light"]) :is(
  .lerc-page-heading,
  .page-heading,
  .planning-page-head,
  .crm-page-heading,
  .nfe-page-heading,
  .executive-page-head,
  .logs-hero,
  .sales-page-heading,
  .security-heading,
  .version-heading,
  .procurement-heading
) > :first-child > p,
html:not([data-theme="light"]) .fin-top > :first-child > small,
html:not([data-theme="light"]) .lerc-page-kicker {
  color: var(--lerc-page-kicker-color-dark) !important;
}

html[data-theme="light"] :is(
  .lerc-page-heading,
  .page-heading,
  .fin-top,
  .planning-page-head,
  .crm-page-heading,
  .nfe-page-heading,
  .executive-page-head,
  .logs-hero,
  .sales-page-heading,
  .security-heading,
  .version-heading,
  .procurement-heading
) h1,
html[data-theme="light"] .lerc-page-title {
  color: var(--lerc-page-title-color-light) !important;
}

html:not([data-theme="light"]) :is(
  .lerc-page-heading,
  .page-heading,
  .fin-top,
  .planning-page-head,
  .crm-page-heading,
  .nfe-page-heading,
  .executive-page-head,
  .logs-hero,
  .sales-page-heading,
  .security-heading,
  .version-heading,
  .procurement-heading
) h1,
html:not([data-theme="light"]) .lerc-page-title {
  color: var(--lerc-page-title-color-dark) !important;
}

html[data-theme="light"] :is(
  .lerc-page-heading,
  .page-heading,
  .planning-page-head,
  .crm-page-heading,
  .nfe-page-heading,
  .executive-page-head,
  .logs-hero,
  .sales-page-heading,
  .security-heading,
  .version-heading,
  .procurement-heading
) > :first-child > span,
html[data-theme="light"] .fin-top > :first-child > p,
html[data-theme="light"] .lerc-page-description {
  color: var(--lerc-page-description-color-light) !important;
}

html:not([data-theme="light"]) :is(
  .lerc-page-heading,
  .page-heading,
  .planning-page-head,
  .crm-page-heading,
  .nfe-page-heading,
  .executive-page-head,
  .logs-hero,
  .sales-page-heading,
  .security-heading,
  .version-heading,
  .procurement-heading
) > :first-child > span,
html:not([data-theme="light"]) .fin-top > :first-child > p,
html:not([data-theme="light"]) .lerc-page-description {
  color: var(--lerc-page-description-color-dark) !important;
}

:is(
  .panel,
  .fin-card,
  .planning-summary-panel,
  .planning-panel,
  .planning-day-program,
  .planning-upcoming,
  .crm-panel,
  .crm-column,
  .crm-card,
  .nfe-panel,
  .nfe-kpi,
  .executive-panel,
  .executive-card,
  .logs-panel,
  .logs-hub-card,
  .log-card,
  .procurement-panel,
  .procurement-section,
  .security-card,
  .version-grid > article,
  .sales-body .card
) :is(.panel-header, header) :is(h2, h3),
:is(
  .panel,
  .fin-card,
  .planning-summary-panel,
  .planning-panel,
  .planning-day-program,
  .planning-upcoming,
  .crm-panel,
  .crm-column,
  .crm-card,
  .nfe-panel,
  .nfe-kpi,
  .executive-panel,
  .executive-card,
  .logs-panel,
  .logs-hub-card,
  .log-card,
  .procurement-panel,
  .procurement-section,
  .security-card,
  .version-grid > article,
  .sales-body .card
) > :is(h2, h3) {
  font-size: var(--lerc-block-title-size) !important;
  line-height: 1.25 !important;
}

html[data-theme="light"] :is(
  .panel,
  .fin-card,
  .planning-summary-panel,
  .planning-panel,
  .planning-day-program,
  .planning-upcoming,
  .crm-panel,
  .crm-column,
  .crm-card,
  .nfe-panel,
  .nfe-kpi,
  .executive-panel,
  .executive-card,
  .logs-panel,
  .logs-hub-card,
  .log-card,
  .procurement-panel,
  .procurement-section,
  .security-card,
  .version-grid > article,
  .sales-body .card
) :is(.panel-header, header) :is(h2, h3),
html[data-theme="light"] :is(.panel,.fin-card,.planning-panel,.crm-panel,.nfe-panel,.executive-panel,.logs-panel,.procurement-panel,.security-card) > :is(h2,h3) {
  color: var(--lerc-block-title-color-light) !important;
}

html:not([data-theme="light"]) :is(
  .panel,
  .fin-card,
  .planning-summary-panel,
  .planning-panel,
  .planning-day-program,
  .planning-upcoming,
  .crm-panel,
  .crm-column,
  .crm-card,
  .nfe-panel,
  .nfe-kpi,
  .executive-panel,
  .executive-card,
  .logs-panel,
  .logs-hub-card,
  .log-card,
  .procurement-panel,
  .procurement-section,
  .security-card,
  .version-grid > article,
  .sales-body .card
) :is(.panel-header, header) :is(h2, h3),
html:not([data-theme="light"]) :is(.panel,.fin-card,.planning-panel,.crm-panel,.nfe-panel,.executive-panel,.logs-panel,.procurement-panel,.security-card) > :is(h2,h3) {
  color: var(--lerc-block-title-color-dark) !important;
}

:is(
  .panel,
  .fin-card,
  .planning-summary-panel,
  .planning-panel,
  .planning-day-program,
  .planning-upcoming,
  .crm-panel,
  .crm-column,
  .crm-card,
  .nfe-panel,
  .nfe-kpi,
  .executive-panel,
  .executive-card,
  .logs-panel,
  .logs-hub-card,
  .log-card,
  .procurement-panel,
  .procurement-section,
  .security-card,
  .version-grid > article,
  .sales-body .card
) :is(.panel-header, header) > :is(p, span),
:is(.settings-function,.logs-hub-card) > p {
  font-size: var(--lerc-block-description-size) !important;
  line-height: 1.5 !important;
}

html[data-theme="light"] :is(.panel,.fin-card,.planning-panel,.crm-panel,.nfe-panel,.executive-panel,.logs-panel,.procurement-panel,.security-card,.settings-function,.logs-hub-card) :is(.panel-header, header) > :is(p,span),
html[data-theme="light"] :is(.settings-function,.logs-hub-card) > p {
  color: var(--lerc-block-description-color-light) !important;
}

html:not([data-theme="light"]) :is(.panel,.fin-card,.planning-panel,.crm-panel,.nfe-panel,.executive-panel,.logs-panel,.procurement-panel,.security-card,.settings-function,.logs-hub-card) :is(.panel-header, header) > :is(p,span),
html:not([data-theme="light"]) :is(.settings-function,.logs-hub-card) > p {
  color: var(--lerc-block-description-color-dark) !important;
}

:is(
  button.panel,
  button.logs-hub-card,
  button.crm-card,
  a.store-card,
  a.store-product-card,
  a.public-product-card,
  a.public-article-card
):focus-visible {
  outline-color: var(--lerc-focus-accent) !important;
}


/* Painel CSS — tamanhos mobile configuráveis */
@media (max-width: 760px) {
  :root {
    --lerc-page-kicker-size: var(--lerc-page-kicker-size-mobile, 10px);
    --lerc-page-title-size: var(--lerc-page-title-size-mobile, 27px);
    --lerc-page-description-size: var(--lerc-page-description-size-mobile, 13px);
    --lerc-block-title-size: var(--lerc-block-title-size-mobile, 17px);
    --lerc-block-description-size: var(--lerc-block-description-size-mobile, 12px);
  }
}
