/*
 * Enfoque Intranet — Corporate Sharp
 * Camada final de identidade visual. Nao altera geometria funcional nem regras de negocio.
 */
:root {
  --corp-bg: #f3f5f7;
  --corp-surface: #ffffff;
  --corp-surface-subtle: #f8f9fb;
  --corp-surface-muted: #eef2f6;
  --corp-text: #1f2937;
  --corp-heading: #172033;
  --corp-muted: #667085;
  --corp-border: #d7dde5;
  --corp-border-strong: #c5ced8;
  --corp-primary: #245b8f;
  --corp-primary-hover: #1d4d79;
  --corp-nav: #17324d;
  --corp-nav-strong: #10283e;
  --corp-success: #18794e;
  --corp-danger: #b42318;
  --corp-warning: #9a6700;
  --corp-radius: 10px;
  --corp-radius-sm: 8px;
  --corp-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .04);
  --corp-shadow-raised: 0 4px 12px rgba(16, 24, 40, .08);
}

/* A nitidez e intencional: nenhuma superficie deve borrar o que esta atras dela. */
body *,
body *::before,
body *::after,
dialog::backdrop {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html,
body,
button,
input,
select,
textarea {
  font-family: "Inter", "Segoe UI", Arial, Helvetica, sans-serif !important;
}

html {
  background: var(--corp-bg) !important;
  text-rendering: optimizeLegibility;
}

body,
html[data-site-theme] body,
body.enf-modern-page {
  color: var(--corp-text) !important;
  background: var(--corp-bg) !important;
  background-image: none !important;
}

body::before {
  opacity: 0 !important;
  background: none !important;
}

h1, h2, h3, h4, h5, h6,
.page-title,
.card-title,
.section-title,
.dashboard-title,
body.enf-modern-page .page-main h1,
body.enf-modern-page .page-main h2,
body.enf-modern-page .page-main h3,
body.enf-modern-page .page-main h4 {
  font-family: "Inter", "Segoe UI", Arial, Helvetica, sans-serif !important;
  color: var(--corp-heading) !important;
  letter-spacing: -.018em !important;
  text-shadow: none !important;
}

h1,
body.enf-modern-page:not(.enf-page-home) .page-main h1 {
  font-weight: 700 !important;
}

h2, h3,
body.enf-modern-page:not(.enf-page-home) .page-main h2 {
  font-weight: 650 !important;
}

p, li, td, th, label, small,
.muted, .hint {
  line-height: 1.45;
}

.muted,
.hint,
body.enf-modern-page:not(.enf-page-home) .page-main .muted {
  color: var(--corp-muted) !important;
}

/* Canvas e conteudo. */
.content-wrap,
.main-content,
.content-wrapper,
.content-wrap > .page-main,
html[data-site-theme] .content-wrap > .page-main,
body.enf-modern-page:not(.enf-page-home) .content-wrap {
  background: var(--corp-bg) !important;
  background-image: none !important;
}

/* Cards e paineis comuns: branco solido, borda real, sombra curta. */
body:not(.login-body) :is(
  .card,
  .panel,
  .config-card,
  .report-card,
  .result-card,
  .bio-admin-card,
  .metric-card,
  .chart-card,
  .stat-card,
  .info-card,
  .user-card,
  .filter-card,
  .report-filters,
  .calendar-widget,
  .resource-item,
  .link-card,
  .video-card
):not(.home-hero):not(.banner-preview-hero) {
  color: var(--corp-text) !important;
  background: var(--corp-surface) !important;
  background-image: none !important;
  border: 1px solid var(--corp-border) !important;
  border-radius: var(--corp-radius) !important;
  box-shadow: var(--corp-shadow) !important;
}

body.enf-modern-page:not(.enf-page-home) .page-main > .card,
body.enf-modern-page:not(.enf-page-home) .page-main > section.card {
  overflow: visible;
  background: var(--corp-surface) !important;
  background-image: none !important;
  border: 1px solid var(--corp-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--corp-shadow) !important;
}

body.enf-modern-page:not(.enf-page-home) .page-main > .card::before,
body.enf-modern-page:not(.enf-page-home) .page-main > section.card::before {
  display: none !important;
}

/* Formularios. */
label,
body.enf-modern-page:not(.enf-page-home) label {
  color: #475467 !important;
  font-size: .82rem;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
body.enf-modern-page:not(.enf-page-home) input:not([type="checkbox"]):not([type="radio"]),
body.enf-modern-page:not(.enf-page-home) select,
body.enf-modern-page:not(.enf-page-home) textarea {
  color: var(--corp-text) !important;
  background: #fff !important;
  background-image: none !important;
  border: 1px solid var(--corp-border-strong) !important;
  border-radius: var(--corp-radius-sm) !important;
  box-shadow: none !important;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus,
body.enf-modern-page:not(.enf-page-home) input:focus,
body.enf-modern-page:not(.enf-page-home) select:focus,
body.enf-modern-page:not(.enf-page-home) textarea:focus {
  border-color: #7aa1c5 !important;
  outline: 2px solid rgba(36, 91, 143, .14) !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

/* Botoes: sem gradiente e sem saltar no hover. */
button,
.btn-primary,
.btn-ghost,
.btn-danger {
  border-radius: var(--corp-radius-sm) !important;
  box-shadow: none !important;
  transform: none !important;
}

button:hover,
.btn-primary:hover,
.btn-ghost:hover,
.btn-danger:hover {
  transform: none !important;
}

.btn-primary,
body.enf-modern-page:not(.enf-page-home) .btn-primary {
  color: #fff !important;
  background: var(--corp-primary) !important;
  background-image: none !important;
  border: 1px solid var(--corp-primary) !important;
  box-shadow: none !important;
}

.btn-primary:hover,
body.enf-modern-page:not(.enf-page-home) .btn-primary:hover {
  background: var(--corp-primary-hover) !important;
  border-color: var(--corp-primary-hover) !important;
}

.btn-ghost,
body.enf-modern-page:not(.enf-page-home) .btn-ghost {
  color: #344054 !important;
  background: #fff !important;
  background-image: none !important;
  border: 1px solid var(--corp-border-strong) !important;
}

.btn-ghost:hover,
body.enf-modern-page:not(.enf-page-home) .btn-ghost:hover {
  background: var(--corp-surface-subtle) !important;
}

.btn-danger,
body.enf-modern-page:not(.enf-page-home) .btn-danger {
  color: #fff !important;
  background: var(--corp-danger) !important;
  background-image: none !important;
  border: 1px solid var(--corp-danger) !important;
}

/* Cabecalho: barra corporativa solida. */
.topbar,
.main-header,
.topbar.shared-header,
html[data-site-theme] body .topbar.shared-header,
html[data-site-theme] .topbar,
body.enf-modern-page .topbar.shared-header {
  color: #f8fafc !important;
  background: var(--corp-nav) !important;
  background-image: none !important;
  border: 1px solid #234563 !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 3px rgba(16, 24, 40, .16) !important;
}

.topbar :is(h1, h2, h3, strong, .topbar-brand, .topbar-title),
.main-header :is(h1, h2, h3, strong),
body.enf-modern-page .shared-header-context-copy strong {
  color: #fff !important;
}

.topbar :is(.muted, .hint, small),
.main-header :is(.muted, .hint, small),
body.enf-modern-page .shared-header-context-copy small,
body.enf-modern-page .shared-header-description {
  color: #cbd5e1 !important;
}

body.enf-modern-page :is(
  .shared-header-nav-button,
  .shared-header-action,
  .shared-header-theme-toggle,
  .shared-header-user,
  .shared-header-logout
) {
  box-shadow: none !important;
}

body.enf-modern-page .shared-header-nav-button:hover,
body.enf-modern-page .shared-header-action:hover,
body.enf-modern-page .shared-header-theme-toggle:hover,
body.enf-modern-page .shared-header-logout:hover {
  background: rgba(255, 255, 255, .08) !important;
  transform: none !important;
}

/* Sidebar: sem brilho e sem gradiente. */
.sidebar,
.sidebar.shared-sidebar,
.app-container .sidebar,
html[data-site-theme] .sidebar.shared-sidebar,
html[data-site-theme] body.sidebar-open .sidebar.shared-sidebar {
  color: #e5edf5 !important;
  background: var(--corp-nav-strong) !important;
  background-image: none !important;
  border-color: #203c54 !important;
  box-shadow: 2px 0 8px rgba(16, 24, 40, .12) !important;
}

.sidebar .menu-item,
.sidebar .sidebar-home-link,
.shared-sidebar .menu-item,
html[data-site-theme] .shared-sidebar .menu-item,
html[data-site-theme] .shared-sidebar .sidebar-home-link {
  color: #c7d2df !important;
  background: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  border-radius: 7px !important;
  box-shadow: none !important;
}

.sidebar .menu-item:hover,
.sidebar .sidebar-home-link:hover,
.shared-sidebar .menu-item:hover {
  color: #fff !important;
  background: #1c3b57 !important;
  transform: none !important;
}

.sidebar .menu-item.active,
.shared-sidebar .menu-item.active,
.sidebar [aria-current="page"] {
  color: #fff !important;
  background: #245177 !important;
  background-image: none !important;
  border-color: #315f84 !important;
  box-shadow: inset 3px 0 0 #72a8d5 !important;
}

/* Tabelas e dados. */
.table-wrap,
.table-container,
.portal-boleto-table-wrap,
.portal-boleto-products,
.portal-boleto-compare,
.seller-sales-table-wrap,
.pdv1-table-wrap,
.mm-table-wrap {
  background: #fff !important;
  border: 1px solid var(--corp-border) !important;
  border-radius: var(--corp-radius) !important;
  box-shadow: none !important;
}

table,
.mm-table,
.seller-sales-table {
  color: var(--corp-text) !important;
  background: #fff !important;
}

table thead th,
.mm-table thead tr:first-child th,
.mm-table thead tr:nth-child(2) th {
  color: #344054 !important;
  background: #eef2f6 !important;
  background-image: none !important;
  border-color: var(--corp-border) !important;
  font-weight: 650 !important;
}

table tbody tr:nth-child(even),
.mm-table tbody tr:nth-child(even) {
  background: #fafbfc !important;
}

table tbody tr:hover,
.mm-table tbody tr:hover,
.seller-sales-table tbody tr:hover {
  background: #f2f5f8 !important;
}

table th,
table td {
  border-color: #e4e8ee !important;
}

/* Dropdowns e elementos flutuantes: sem vidro. */
:is(
  .suggestions,
  .suggestion-list,
  .autocomplete,
  .autocomplete-panel,
  .price-autocomplete-panel,
  .cadastro-suggestions,
  .mm-auto,
  .dropdown-menu,
  .topbar-search-results,
  .stock-suggestions,
  .stock-suggestion-tongue
) {
  color: var(--corp-text) !important;
  background: #fff !important;
  background-image: none !important;
  border: 1px solid var(--corp-border) !important;
  border-radius: var(--corp-radius-sm) !important;
  box-shadow: var(--corp-shadow-raised) !important;
}

/* Modal: escurece sem desfocar. */
:is(
  .ti-modal-backdrop,
  .modal-backdrop,
  .overlay,
  .dialog-backdrop,
  .home-files-backdrop,
  .home-cognitiva-backdrop,
  .workspace-file-backdrop
) {
  background: rgba(15, 23, 42, .42) !important;
}

:is(
  .ti-modal-card,
  .xml-modal-card,
  .modal-card,
  .modal-content,
  .dialog-card,
  .custom-modal-card,
  .enf-modal-card,
  .workspace-file-panel
) {
  color: var(--corp-text) !important;
  background: #fff !important;
  background-image: none !important;
  border: 1px solid var(--corp-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 30px rgba(16, 24, 40, .16) !important;
}

/* Home: preserva o banner, mas deixa o restante com cara de sistema. */
body.enf-page-home {
  background: var(--corp-bg) !important;
}

body.enf-page-home :is(
  .shortcut-item,
  .shortcut-button,
  .home-list-card,
  .home-feature-gallery > .card,
  .home-resources .resource-item
) {
  background: #fff !important;
  background-image: none !important;
  border: 1px solid var(--corp-border) !important;
  border-radius: 10px !important;
  box-shadow: var(--corp-shadow) !important;
}

body.enf-page-home :is(
  .shortcut-item,
  .shortcut-button,
  .home-list-card,
  .home-feature-gallery > .card,
  .home-resources .resource-item
):hover {
  transform: none !important;
  box-shadow: var(--corp-shadow-raised) !important;
}

body.enf-page-home .hero-eyebrow {
  background: rgba(16, 40, 62, .74) !important;
  border-color: rgba(255, 255, 255, .22) !important;
}

/* Login: simples, institucional e sem vidro. */
.login-body {
  background: #e9eef3 !important;
  background-image: none !important;
}

.login-card {
  color: var(--corp-text) !important;
  background: #fff !important;
  background-image: none !important;
  border: 1px solid var(--corp-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(16, 24, 40, .12) !important;
}

.login-card::before {
  background: var(--corp-primary) !important;
  background-image: none !important;
}

/* Tema escuro com a mesma linguagem seca. */
html[data-color-mode="dark"] {
  --corp-bg: #111827;
  --corp-surface: #18212f;
  --corp-surface-subtle: #1f2937;
  --corp-surface-muted: #263244;
  --corp-text: #e5e7eb;
  --corp-heading: #f3f4f6;
  --corp-muted: #a7b0bf;
  --corp-border: #344154;
  --corp-border-strong: #475569;
  --corp-primary: #4e8ac0;
  --corp-primary-hover: #63a0d4;
  --corp-nav: #0f2235;
  --corp-nav-strong: #0c1b2a;
}

html[data-color-mode="dark"] body,
html[data-color-mode="dark"] body.enf-modern-page,
html[data-color-mode="dark"] .content-wrap,
html[data-color-mode="dark"] .content-wrap > .page-main {
  color: var(--corp-text) !important;
  background: var(--corp-bg) !important;
  background-image: none !important;
}

html[data-color-mode="dark"] body:not(.login-body) :is(
  .card,
  .panel,
  .config-card,
  .report-card,
  .result-card,
  .bio-admin-card,
  .metric-card,
  .chart-card,
  .stat-card,
  .info-card,
  .user-card,
  .filter-card,
  .report-filters,
  .calendar-widget,
  .resource-item,
  .link-card,
  .video-card
):not(.home-hero):not(.banner-preview-hero),
html[data-color-mode="dark"] body.enf-modern-page:not(.enf-page-home) .page-main > .card,
html[data-color-mode="dark"] body.enf-modern-page:not(.enf-page-home) .page-main > section.card,
html[data-color-mode="dark"] :is(.ti-modal-card,.modal-card,.modal-content,.dialog-card,.custom-modal-card,.enf-modal-card) {
  color: var(--corp-text) !important;
  background: var(--corp-surface) !important;
  background-image: none !important;
  border-color: var(--corp-border) !important;
}

html[data-color-mode="dark"] input:not([type="checkbox"]):not([type="radio"]),
html[data-color-mode="dark"] select,
html[data-color-mode="dark"] textarea {
  color: var(--corp-text) !important;
  background: #131c29 !important;
  border-color: var(--corp-border-strong) !important;
}

html[data-color-mode="dark"] table,
html[data-color-mode="dark"] .table-wrap,
html[data-color-mode="dark"] .table-container {
  color: var(--corp-text) !important;
  background: var(--corp-surface) !important;
}

html[data-color-mode="dark"] table thead th {
  color: #d6dce5 !important;
  background: #253244 !important;
}

html[data-color-mode="dark"] table tbody tr:nth-child(even) {
  background: #1b2635 !important;
}

html[data-color-mode="dark"] table tbody tr:hover {
  background: #243247 !important;
}

@media (max-width: 720px) {
  .topbar,
  .topbar.shared-header {
    border-radius: 8px !important;
  }

  body.enf-modern-page:not(.enf-page-home) .page-main > .card,
  body.enf-modern-page:not(.enf-page-home) .page-main > section.card {
    border-radius: 10px !important;
  }
}


/* Prioridade final contra camadas legadas com !important e seletores mais especificos. */
html body.enf-corporate-sharp:not(.enf-page-home) .page-main > .card,
html body.enf-corporate-sharp:not(.enf-page-home) .page-main > section.card,
html body.enf-corporate-sharp:not(.enf-page-home) .page-main :is(
  .config-card,
  .report-card,
  .result-card,
  .bio-admin-card,
  .metric-card,
  .chart-card,
  .stat-card,
  .info-card,
  .user-card,
  .filter-card,
  .report-filters
) {
  background-color: var(--corp-surface) !important;
  background-image: none !important;
  border-color: var(--corp-border) !important;
  border-radius: 10px !important;
  box-shadow: var(--corp-shadow) !important;
}

html body.enf-corporate-sharp .sidebar,
html body.enf-corporate-sharp .sidebar.shared-sidebar,
html body.enf-corporate-sharp .app-container .sidebar,
html[data-site-theme] body.enf-corporate-sharp .sidebar.shared-sidebar,
html[data-site-theme] body.enf-corporate-sharp.sidebar-open .sidebar.shared-sidebar {
  background-color: var(--corp-nav-strong) !important;
  background-image: none !important;
  border-color: #203c54 !important;
  box-shadow: 2px 0 8px rgba(16, 24, 40, .12) !important;
}

html body.enf-corporate-sharp .btn-primary,
html body.enf-corporate-sharp button.btn-primary {
  background-color: var(--corp-primary) !important;
  background-image: none !important;
  border-color: var(--corp-primary) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

html body.enf-corporate-sharp .btn-ghost,
html body.enf-corporate-sharp button.btn-ghost {
  background-color: #fff !important;
  background-image: none !important;
  border-color: var(--corp-border-strong) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

html body.enf-corporate-sharp table thead th,
html body.enf-corporate-sharp .mm-table thead tr:first-child th,
html body.enf-corporate-sharp .mm-table thead tr:nth-child(2) th {
  color: #344054 !important;
  background-color: #eef2f6 !important;
  background-image: none !important;
  border-color: var(--corp-border) !important;
}

html[data-color-mode="dark"] body.enf-corporate-sharp:not(.enf-page-home) .page-main > .card,
html[data-color-mode="dark"] body.enf-corporate-sharp:not(.enf-page-home) .page-main > section.card {
  background-color: var(--corp-surface) !important;
}

html[data-color-mode="dark"] body.enf-corporate-sharp .btn-ghost,
html[data-color-mode="dark"] body.enf-corporate-sharp button.btn-ghost {
  color: var(--corp-text) !important;
  background-color: var(--corp-surface) !important;
}

html[data-color-mode="dark"] body.enf-corporate-sharp table thead th {
  color: #d6dce5 !important;
  background-color: #253244 !important;
}

/* Paginas standalone que nao usam header.js ainda recebem os mesmos pilares. */
html body:not(.enf-modern-page):not([data-page="copiloto-sige"]) :is(.card,.panel,.login-card) {
  background-color: #fff !important;
  background-image: none !important;
  border-color: var(--corp-border) !important;
  box-shadow: var(--corp-shadow) !important;
}

html body:not(.enf-modern-page):not([data-page="copiloto-sige"]) :is(.btn-primary,button.btn-primary) {
  background-color: var(--corp-primary) !important;
  background-image: none !important;
  box-shadow: none !important;
}


/* Overrides cirurgicos para os seletores legados de maior especificidade. */
html body.enf-modern-page.enf-corporate-sharp:not(.enf-page-home)
.page-main > .card:not(.home-hero):not(.mm-hero):not(.mm-table-card),
html body.enf-modern-page.enf-corporate-sharp:not(.enf-page-home)
.page-main > section.card:not(.home-hero):not(.mm-hero):not(.mm-table-card) {
  background: var(--corp-surface) !important;
  background-color: var(--corp-surface) !important;
  background-image: none !important;
}

html body.enf-modern-page.enf-corporate-sharp:not(.enf-page-home) .btn-primary,
html body.enf-modern-page.enf-corporate-sharp:not(.enf-page-home) button.btn-primary,
html[data-site-theme] body.enf-modern-page.enf-corporate-sharp:not(.enf-page-home)
.page-main :is(.btn-primary, button.primary, .primary-button) {
  background: var(--corp-primary) !important;
  background-color: var(--corp-primary) !important;
  background-image: none !important;
  border-color: var(--corp-primary) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

html body.enf-modern-page.enf-corporate-sharp:not(.enf-page-home) .page-main table thead th {
  color: #344054 !important;
  background: #eef2f6 !important;
  background-color: #eef2f6 !important;
  background-image: none !important;
  border-color: var(--corp-border) !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}


/* Prioridade equivalente no tema escuro. */
html[data-color-mode="dark"] body.enf-modern-page.enf-corporate-sharp:not(.enf-page-home)
.page-main input:not([type="checkbox"]):not([type="radio"]),
html[data-color-mode="dark"] body.enf-modern-page.enf-corporate-sharp:not(.enf-page-home)
.page-main select,
html[data-color-mode="dark"] body.enf-modern-page.enf-corporate-sharp:not(.enf-page-home)
.page-main textarea {
  color: var(--corp-text) !important;
  background: #131c29 !important;
  background-color: #131c29 !important;
  background-image: none !important;
  border-color: var(--corp-border-strong) !important;
  box-shadow: none !important;
}

html[data-color-mode="dark"] body.enf-modern-page.enf-corporate-sharp:not(.enf-page-home) .btn-ghost,
html[data-color-mode="dark"] body.enf-modern-page.enf-corporate-sharp:not(.enf-page-home) button.btn-ghost {
  color: var(--corp-text) !important;
  background: var(--corp-surface) !important;
  background-color: var(--corp-surface) !important;
  background-image: none !important;
  border-color: var(--corp-border-strong) !important;
  box-shadow: none !important;
}

html[data-color-mode="dark"] body.enf-modern-page.enf-corporate-sharp:not(.enf-page-home)
.page-main table thead th {
  color: #d6dce5 !important;
  background: #253244 !important;
  background-color: #253244 !important;
  background-image: none !important;
  border-color: #3a4759 !important;
}
