:root {
  --portal31-page-bg: #edf4f9;
  --portal31-surface: rgba(255, 255, 255, 0.92);
  --portal31-surface-strong: #ffffff;
  --portal31-surface-soft: #f7fbff;
  --portal31-border: rgba(19, 40, 59, 0.10);
  --portal31-border-strong: rgba(19, 40, 59, 0.18);
  --portal31-text: #13283b;
  --portal31-text-soft: #4b6275;
  --portal31-text-muted: #718394;
  --portal31-primary: #2f6f99;
  --portal31-primary-strong: #1d567d;
  --portal31-gold: #e7c451;
  --portal31-radius-2xl: 28px;
  --portal31-radius-xl: 22px;
  --portal31-radius-lg: 18px;
  --portal31-radius-md: 14px;
  --portal31-shadow-lg: 0 26px 50px rgba(15, 32, 46, 0.08);
  --portal31-shadow-md: 0 16px 32px rgba(15, 32, 46, 0.06);
  --portal31-shadow-sm: 0 10px 22px rgba(15, 32, 46, 0.05);
}

html[data-theme="dark"] {
  --portal31-page-bg: #08131f;
  --portal31-surface: rgba(17, 30, 44, 0.92);
  --portal31-surface-strong: #132131;
  --portal31-surface-soft: #18283a;
  --portal31-border: rgba(149, 180, 205, 0.12);
  --portal31-border-strong: rgba(149, 180, 205, 0.22);
  --portal31-text: #e9f1f7;
  --portal31-text-soft: #bfd0de;
  --portal31-text-muted: #90a6b9;
  --portal31-primary: #5da8d9;
  --portal31-primary-strong: #7bc0ea;
  --portal31-gold: #f0cd63;
  --portal31-shadow-lg: 0 28px 54px rgba(0, 0, 0, 0.25);
  --portal31-shadow-md: 0 18px 34px rgba(0, 0, 0, 0.18);
  --portal31-shadow-sm: 0 10px 22px rgba(0, 0, 0, 0.14);
}

html,
body {
  background:
    radial-gradient(circle at 100% 0, rgba(72, 149, 201, 0.14), transparent 28%),
    radial-gradient(circle at 0 100%, rgba(231, 196, 81, 0.10), transparent 24%),
    var(--portal31-page-bg) !important;
  color: var(--portal31-text);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0)),
    radial-gradient(circle at 15% 20%, rgba(93,168,217,0.08), transparent 20%),
    radial-gradient(circle at 85% 78%, rgba(231,196,81,0.06), transparent 18%);
  z-index: 0;
}

main.conteudo-principal,
main.financeiro-page,
main.lia-page,
main.lia-config-page {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 20px;
  padding: 30px 32px 34px !important;
  background: transparent !important;
}

main.conteudo-principal > *,
main.financeiro-page > *,
main.lia-page > *,
main.lia-config-page > * {
  min-width: 0;
}

:is(.cotador-page,
    .leads-page,
    .criativos-page,
    .usuarios-page,
    .operadoras-page,
    .filiais-page,
    .importar-page,
    .relatorios-page,
    .acompanhar-page,
    .nova-proposta-page,
    .proposta-page) {
  display: grid;
  gap: 20px;
}

:is(.cotador-header,
    .leads-header,
    .criativos-header,
    .usuarios-header,
    .operadoras-header,
    .filiais-header,
    .importar-header,
    .relatorios-header,
    .acompanhar-topo,
    .nova-proposta-header,
    .proposta-header,
    .lia-header,
    .lia-config-header,
    .page-header) {
  position: relative;
  overflow: hidden;
  padding: 28px 30px !important;
  border-radius: var(--portal31-radius-2xl) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  background: linear-gradient(135deg, #17324a 0%, #224d70 50%, #2f78a9 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 28px 56px rgba(10, 26, 40, 0.16) !important;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

:is(.cotador-header,
    .leads-header,
    .criativos-header,
    .usuarios-header,
    .operadoras-header,
    .filiais-header,
    .importar-header,
    .relatorios-header,
    .acompanhar-topo,
    .nova-proposta-header,
    .proposta-header,
    .lia-header,
    .lia-config-header,
    .page-header)::after {
  content: "";
  position: absolute;
  right: -44px;
  bottom: -58px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  pointer-events: none;
}

:is(.cotador-header__info,
    .leads-header__info,
    .criativos-header__info,
    .operadoras-header__info,
    .filiais-header__info,
    .relatorios-header__info,
    .nova-proposta-header__info,
    .proposta-header__info,
    .page-header > div,
    .lia-header > div:first-child,
    .lia-config-header > div:first-child) {
  position: relative;
  z-index: 1;
  min-width: 0;
}

:is(.cotador-header__acoes,
    .leads-header__acoes,
    .criativos-header__acoes,
    .operadoras-header__acoes,
    .filiais-header__acoes,
    .relatorios-header__acoes,
    .nova-proposta-header__acoes,
    .proposta-header__acoes,
    .usuarios-header-actions,
    .importar-header-actions,
    .acompanhar-topo__acoes,
    .lia-header-actions,
    .lia-config-actions,
    .header-actions,
    .actions) {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

:is(.cotador-header h1,
    .leads-header h1,
    .criativos-header h1,
    .usuarios-header h1,
    .operadoras-header h1,
    .filiais-header h1,
    .importar-header h1,
    .relatorios-header h1,
    .acompanhar-topo h1,
    .nova-proposta-header h1,
    .proposta-header h1,
    .lia-header h1,
    .lia-config-header h1,
    .page-header h1) {
  color: #ffffff !important;
  margin-bottom: 8px !important;
  letter-spacing: -0.03em;
  font-weight: 800;
}

:is(.cotador-header p,
    .leads-header p,
    .criativos-header p,
    .usuarios-header p,
    .operadoras-header p,
    .filiais-header p,
    .importar-header p,
    .relatorios-header p,
    .acompanhar-topo p,
    .nova-proposta-header p,
    .proposta-header p,
    .lia-header p,
    .lia-config-header p,
    .page-header p) {
  color: rgba(255, 255, 255, 0.84) !important;
}

:is(.eyebrow,
    .page-header .eyebrow,
    .leads-kicker,
    .cotador-kicker,
    .relatorios-kicker,
    .kicker) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

:is(.card-padrao,
    .cotador-card,
    .cotador-filtros,
    .cotador-tabela-card,
    .leads-filtros,
    .leads-tabela,
    .criativos-galeria-card,
    .usuarios-filtros-card,
    .usuarios-tabela-card,
    .operadoras-filtros,
    .operadoras-tabela,
    .filiais-tabela,
    .importar-workspace,
    .rodizio-box,
    .preview-card,
    .relatorios-filtros,
    .relatorios-resumo,
    .relatorios-bloco,
    .acompanhar-filtros,
    .acompanhar-tabela,
    .proposta-card,
    .drawer-sheet,
    .lia-sidebar,
    .lia-chat,
    .config-card,
    .tab-panel,
    .powerbi-frame-box,
    .metrik-card,
    .panel,
    .estimate-section,
    .month-workspace,
    .receivable-overview,
    .next-action,
    .month-recorded,
    .auditoria-grid,
    .proposal-card,
    .home-box-padrao,
    .home-card-resumo,
    .home-atalho-card,
    .home-status-card) {
  position: relative;
  border-radius: var(--portal31-radius-xl) !important;
  border: 1px solid var(--portal31-border) !important;
  background: var(--portal31-surface) !important;
  box-shadow: var(--portal31-shadow-sm) !important;
  backdrop-filter: blur(14px);
}

:is(.card-padrao,
    .cotador-filtros,
    .cotador-tabela-card,
    .leads-filtros,
    .leads-tabela,
    .criativos-galeria-card,
    .usuarios-filtros-card,
    .usuarios-tabela-card,
    .operadoras-filtros,
    .operadoras-tabela,
    .filiais-tabela,
    .importar-workspace,
    .rodizio-box,
    .preview-card,
    .relatorios-filtros,
    .relatorios-resumo,
    .relatorios-bloco,
    .acompanhar-filtros,
    .acompanhar-tabela,
    .proposta-card,
    .panel,
    .estimate-section,
    .month-workspace,
    .receivable-overview,
    .next-action,
    .month-recorded,
    .lia-sidebar,
    .lia-chat,
    .tab-panel,
    .powerbi-frame-box,
    .metrik-card) {
  padding: 22px !important;
}

:is(.cotador-card,
    .home-card-resumo,
    .home-status-card,
    .relatorios-kpi,
    .kpi-card,
    .kpi-card-metrik,
    .importar-resumo-card) {
  overflow: hidden;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at top right, rgba(93, 168, 217, 0.16), transparent 38%),
    var(--portal31-surface) !important;
}

:is(.cotador-card::after,
    .home-card-resumo::after,
    .home-status-card::before) {
  opacity: .8;
}

:is(.cotador-cards,
    .criativos-resumo-grid,
    .leads-resumo-grid,
    .importar-resumo-grid,
    .lia-config-stats,
    .summary,
    .month-kpis,
    .home-status-cards-grid,
    .home-grafico-grid-resumo,
    .cards-grid) {
  gap: 16px !important;
}

:is(.cotador-filtros__topo,
    .leads-filtros__topo,
    .usuarios-filtros-topo,
    .operadoras-filtros__topo,
    .relatorios-filtros__topo,
    .acompanhar-filtros__topo,
    .cotador-tabela-top,
    .leads-tabela__topo,
    .operadoras-tabela__topo,
    .filiais-tabela__topo,
    .criativos-galeria-topo,
    .section-heading,
    .proposal-heading,
    .relatorios-resumo__topo,
    .relatorios-bloco-topo,
    .proposta-card__topo,
    .rodizio-topo,
    .preview-topo) {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

:is(.cotador-filtros__topo h2,
    .leads-tabela__topo h2,
    .operadoras-tabela__topo h2,
    .filiais-tabela__topo h2,
    .section-heading h2,
    .proposal-heading h2,
    .relatorios-bloco-topo h2,
    .proposta-card__topo h2,
    .rodizio-topo h2,
    .preview-topo h2) {
  margin: 0;
  font-weight: 800;
  letter-spacing: -0.02em;
}

label,
.form-label,
small,
.note,
.helper-text,
.text-muted,
:is(.cotador-card-label,
    .home-card-label,
    .relatorios-card-label,
    .kpi-label) {
  color: var(--portal31-text-muted) !important;
}

input,
select,
textarea,
.form-control,
.form-select {
  background: var(--portal31-surface-strong) !important;
  border: 1px solid var(--portal31-border) !important;
  border-radius: 14px !important;
  color: var(--portal31-text) !important;
  box-shadow: none !important;
  min-height: 46px;
}

textarea { min-height: 110px; }

input::placeholder,
textarea::placeholder { color: var(--portal31-text-muted) !important; }

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus {
  border-color: rgba(93, 168, 217, 0.42) !important;
  box-shadow: 0 0 0 4px rgba(93, 168, 217, 0.14) !important;
}

button,
.btn,
.button,
a.button,
.btn-master,
.btn-infinity,
.home-btn,
.menu-modal-btn {
  border-radius: 14px !important;
  transition: transform .20s ease, box-shadow .20s ease, filter .20s ease !important;
}

button:hover,
.btn:hover,
.button:hover,
a.button:hover,
.btn-master:hover,
.btn-infinity:hover,
.home-btn:hover,
.menu-modal-btn:hover {
  transform: translateY(-1px);
}

.secondary,
.button.secondary,
button.secondary,
.btn-outline,
.btn-master-outline,
.btn-infinity-outline {
  background: transparent !important;
  border: 1px solid var(--portal31-border) !important;
  color: var(--portal31-text) !important;
  box-shadow: none !important;
}

:is(.btn-master-primary,
    .btn-infinity-primary,
    .button.primary,
    .home-btn-primary,
    .menu-modal-confirm) {
  background: linear-gradient(135deg, var(--portal31-gold), #f6dd86) !important;
  color: #17324a !important;
  border: 1px solid rgba(231, 196, 81, 0.3) !important;
  box-shadow: 0 14px 28px rgba(231, 196, 81, 0.22) !important;
}

.pill,
.badge,
.status-badge,
.chip,
.home-status-card-chip,
.home-card-destaque {
  border-radius: 999px !important;
  border: 1px solid rgba(93, 168, 217, 0.14) !important;
  background: rgba(93, 168, 217, 0.10) !important;
  color: var(--portal31-text) !important;
  font-weight: 700;
}

.table-wrap,
.catalog-table,
.cotador-table-wrap,
.leads-table-wrap,
.powerbi-frame-box iframe {
  border-radius: 18px !important;
  overflow: auto;
}

.table-wrap,
.catalog-table,
.cotador-table-wrap,
.leads-table-wrap {
  border: 1px solid var(--portal31-border) !important;
  background: var(--portal31-surface-strong) !important;
}

.table,
table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--portal31-surface-soft) !important;
  color: var(--portal31-text) !important;
  border-bottom: 1px solid var(--portal31-border) !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

tbody td {
  border-bottom: 1px solid rgba(19, 40, 59, 0.06);
  color: var(--portal31-text);
}

html[data-theme="dark"] tbody td {
  border-bottom-color: rgba(149, 180, 205, 0.08);
}

tbody tr:hover {
  background: rgba(93, 168, 217, 0.06) !important;
}

.drawer,
.offcanvas,
.modal-content,
.drawer-filiais,
.drawer-operadoras,
.benef-drawer,
#menuModal .menu-modal-content {
  border-radius: 26px !important;
  border: 1px solid var(--portal31-border) !important;
  background: var(--portal31-surface) !important;
  box-shadow: var(--portal31-shadow-lg) !important;
}

:is(.drawer-header,
    .drawer-filiais__header,
    .drawer-operadoras__header,
    .benef-drawer__header,
    .modal-header,
    .modal-duplicidade__header) {
  border-bottom: 1px solid var(--portal31-border) !important;
  padding-bottom: 14px !important;
  margin-bottom: 16px !important;
}

:is(.home-box-padrao,
    .panel,
    .estimate-section,
    .month-workspace,
    .receivable-overview,
    .next-action,
    .month-recorded) summary {
  cursor: pointer;
  list-style: none;
  font-weight: 800;
  color: var(--portal31-text);
}

:is(.home-box-padrao,
    .panel,
    .estimate-section,
    .month-workspace,
    .receivable-overview,
    .next-action,
    .month-recorded) summary::-webkit-details-marker {
  display: none;
}

.lia-sidebar-header,
.lia-chat-header,
.config-card-header {
  padding-bottom: 14px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--portal31-border);
}

.lia-message,
.chat-bubble,
.timeline-item,
.proposta-item,
.list-group-item {
  border-radius: 16px;
}

iframe {
  border-radius: 18px !important;
}

hr {
  border-color: var(--portal31-border) !important;
  opacity: 1;
}

@media (max-width: 991.98px) {
  main.conteudo-principal,
  main.financeiro-page,
  main.lia-page,
  main.lia-config-page {
    padding: 22px 18px 26px !important;
    gap: 16px;
  }

  :is(.cotador-header,
      .leads-header,
      .criativos-header,
      .usuarios-header,
      .operadoras-header,
      .filiais-header,
      .importar-header,
      .relatorios-header,
      .acompanhar-topo,
      .nova-proposta-header,
      .proposta-header,
      .lia-header,
      .lia-config-header,
      .page-header) {
    padding: 22px 20px !important;
    border-radius: 22px !important;
  }

  :is(.card-padrao,
      .cotador-filtros,
      .cotador-tabela-card,
      .leads-filtros,
      .leads-tabela,
      .criativos-galeria-card,
      .usuarios-filtros-card,
      .usuarios-tabela-card,
      .operadoras-filtros,
      .operadoras-tabela,
      .filiais-tabela,
      .importar-workspace,
      .rodizio-box,
      .preview-card,
      .relatorios-filtros,
      .relatorios-resumo,
      .relatorios-bloco,
      .acompanhar-filtros,
      .acompanhar-tabela,
      .proposta-card,
      .panel,
      .estimate-section,
      .month-workspace,
      .receivable-overview,
      .next-action,
      .month-recorded,
      .lia-sidebar,
      .lia-chat,
      .tab-panel,
      .powerbi-frame-box,
      .metrik-card) {
    padding: 18px !important;
    border-radius: 18px !important;
  }
}


.home-header-box {
  position: relative;
  overflow: hidden;
  border-radius: var(--portal31-radius-2xl) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: linear-gradient(135deg, #17324a 0%, #224d70 50%, #2f78a9 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 28px 56px rgba(10, 26, 40, 0.16) !important;
}

.home-header-box::after {
  content: "";
  position: absolute;
  right: -44px;
  bottom: -58px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
}

.home-header-badge,
.home-btn-outline {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.18) !important;
  color: #ffffff !important;
}

.home-header-titulo,
.home-header-subtitulo {
  color: #ffffff !important;
}

/* v3.2 layout composition, not only palette */
main.conteudo-principal{padding:22px 26px 30px!important}
:is(.cotador-page,.leads-page,.criativos-page,.usuarios-page,.operadoras-page,.filiais-page,.importar-page,.relatorios-page,.acompanhar-page,.nova-proposta-page,.proposta-page){gap:14px!important}
:is(.cotador-header,.leads-header,.criativos-header,.usuarios-header,.operadoras-header,.filiais-header,.importar-header,.relatorios-header,.acompanhar-topo,.nova-proposta-header,.proposta-header,.page-header){border-radius:20px 20px 6px 6px!important;margin-bottom:0!important;padding:22px 26px!important}
:is(.cotador-header,.leads-header,.criativos-header,.usuarios-header,.operadoras-header,.filiais-header,.importar-header,.relatorios-header,.acompanhar-topo,.nova-proposta-header,.proposta-header,.page-header):after{opacity:.12}
:is(.cotador-cards,.leads-cards-grid,.criativos-resumo-grid,.importar-resumo-grid){margin-block:0 2px!important;gap:10px!important}
:is(.cotador-filtros,.leads-filtros,.criativos-filtros,.usuarios-filtros-card,.operadoras-filtros,.relatorios-filtros,.acompanhar-filtros){padding:16px 18px!important;border-radius:16px!important}
:is(.cotador-tabela-card,.leads-tabela,.criativos-galeria-card,.usuarios-tabela-card,.operadoras-tabela,.filiais-tabela,.acompanhar-tabela){padding:18px 20px!important;border-radius:18px!important}
:is(.cotador-card,.home-card-resumo,.home-status-card,.kpi-card,.status-card,.usuarios-stat-card){padding:17px 18px!important;border-radius:14px!important}
:is(.cotador-tabela-card,.leads-tabela,.usuarios-tabela-card,.operadoras-tabela,.filiais-tabela,.acompanhar-tabela) table{font-size:13px!important}
@media(max-width:991px){main.conteudo-principal{padding:14px!important}}

/* ========================================================================== 
   Infinity Sul 4.0 - camada unica de acabamento e responsividade
   Mantem as classes historicas, mas define uma unica composicao final.
   ========================================================================== */
:root {
  --portal-shell-open: 276px;
  --portal-shell-compact: 76px;
  --portal40-bg: #eef3f7;
  --portal40-surface: #ffffff;
  --portal40-surface-soft: #f6f9fb;
  --portal40-text: #10283a;
  --portal40-muted: #607587;
  --portal40-border: #dce6ed;
  --portal40-brand: #1e5578;
  --portal40-brand-strong: #153c56;
  --portal40-accent: #d7ad36;
  --portal40-success: #23805d;
  --portal40-danger: #bb3e4a;
  --portal40-radius: 18px;
  --portal40-shadow: 0 14px 36px rgba(15, 40, 57, .08);
}

html[data-theme="dark"] {
  --portal40-bg: #09131d;
  --portal40-surface: #111f2b;
  --portal40-surface-soft: #172938;
  --portal40-text: #eef5fa;
  --portal40-muted: #9bb0bf;
  --portal40-border: #294050;
  --portal40-brand: #69add5;
  --portal40-brand-strong: #8ec9e9;
  --portal40-accent: #ebc85d;
  --portal40-success: #65c49f;
  --portal40-danger: #ff8b94;
  --portal40-shadow: 0 18px 42px rgba(0, 0, 0, .24);
}

html, body {
  background: var(--portal40-bg) !important;
  color: var(--portal40-text) !important;
}

body::before { display: none !important; }

/* Every module shares the same content canvas. */
main.conteudo-principal,
main.financeiro-page,
main.lia-page,
main.lia-config-page {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: clamp(18px, 2.2vw, 34px) !important;
  background: var(--portal40-bg) !important;
}

:is(.card-padrao,.cotador-card,.cotador-filtros,.cotador-tabela-card,
  .leads-filtros,.leads-tabela,.criativos-galeria-card,.usuarios-filtros-card,
  .usuarios-tabela-card,.operadoras-filtros,.operadoras-tabela,.filiais-tabela,
  .importar-workspace,.relatorios-filtros,.relatorios-resumo,.relatorios-bloco,
  .acompanhar-filtros,.acompanhar-tabela,.proposta-card,.panel,.tab-panel,
  .powerbi-frame-box,.metrik-card,.home-box-padrao,.home-card-resumo,
  .home-status-card,.op-card,.op-panel) {
  border: 1px solid var(--portal40-border) !important;
  border-radius: var(--portal40-radius) !important;
  background: var(--portal40-surface) !important;
  color: var(--portal40-text) !important;
  box-shadow: var(--portal40-shadow) !important;
  backdrop-filter: none !important;
}

/* Reliable light/dark contrast for controls, menus, tables and popups. */
:where(input,select,textarea,.form-control,.form-select,.custom-dropdown-display,
  .custom-datepicker-display,.custom-dropdown-menu,.custom-datepicker-calendar) {
  background-color: var(--portal40-surface) !important;
  border-color: var(--portal40-border) !important;
  color: var(--portal40-text) !important;
}

:where(input,textarea)::placeholder { color: var(--portal40-muted) !important; opacity: 1; }
:where(label,.form-label,.text-muted,.helper-text,.note,small) { color: var(--portal40-muted) !important; }
:where(.modal-content,.dropdown-menu,.offcanvas,.drawer-sheet,.usuario-drawer,
  .drawer-filiais,.drawer-operadoras__panel,.op-modal,.op-fullscreen-panel) {
  background: var(--portal40-surface) !important;
  border-color: var(--portal40-border) !important;
  color: var(--portal40-text) !important;
}

:where(.dropdown-item,.modal-title,.modal-body,.modal-body p,.drawer-header h2,
  .drawer-operadoras__header h3,.op-modal h2,.op-modal h3) { color: var(--portal40-text) !important; }
:where(.dropdown-item:hover,.dropdown-item:focus) { background: var(--portal40-surface-soft) !important; }
:where(table,.table) { color: var(--portal40-text) !important; }
:where(thead th) { background: var(--portal40-surface-soft) !important; color: var(--portal40-muted) !important; }
:where(tbody td) { background: transparent !important; color: var(--portal40-text) !important; border-color: var(--portal40-border) !important; }

/* Dashboard: one continuous information surface instead of disconnected tiles. */
.dashboard-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(18px, 2.2vw, 34px) !important;
  display: grid;
  gap: 0;
}
.dashboard-section { width: 100%; margin: 0 !important; }
#home-header-container { position: relative; z-index: 2; }
.home-header-box {
  min-height: 220px;
  padding: clamp(26px, 4vw, 52px) !important;
  border: 0 !important;
  border-radius: 28px 28px 0 0 !important;
  background:
    radial-gradient(circle at 82% 20%, rgba(255,255,255,.17), transparent 24%),
    linear-gradient(125deg, #102b40 0%, #1b5377 58%, #377fa8 100%) !important;
  box-shadow: 0 22px 46px rgba(9, 34, 50, .16) !important;
}
.home-header-titulo { font-size: clamp(2rem, 4vw, 3.35rem) !important; line-height: 1.02 !important; }
.home-header-subtitulo { max-width: 680px; font-size: clamp(.98rem, 1.4vw, 1.15rem) !important; }
#home-cards-container {
  padding: 0 clamp(14px, 2vw, 28px) 24px;
  background: var(--portal40-surface);
}
#homeCardsGrid { margin: 0 !important; transform: translateY(-28px); margin-bottom: -28px !important; }
.home-card-resumo {
  min-height: 154px;
  border: 1px solid var(--portal40-border) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 26px rgba(13, 43, 61, .09) !important;
}
#home-graficos-container {
  padding: 0 clamp(14px, 2vw, 28px) clamp(18px, 2vw, 30px);
  border-radius: 0 0 28px 28px;
  background: var(--portal40-surface);
  box-shadow: 0 22px 46px rgba(9, 34, 50, .10);
}
#home-graficos-container > .row { --bs-gutter-x: 18px; --bs-gutter-y: 18px; }
.home-box-padrao { height: 100%; box-shadow: none !important; background: var(--portal40-surface-soft) !important; }

/* Users: browser-native sticky header shares the exact same table columns. */
.usuarios-table-wrap {
  position: relative !important;
  overflow: auto !important;
  max-height: min(68vh, 760px);
  padding: 0 !important;
  border: 1px solid var(--portal40-border);
  border-radius: 14px;
}
.usuarios-table { width: 100% !important; min-width: 1180px !important; table-layout: fixed !important; }
.usuarios-table thead { display: table-header-group !important; }
.usuarios-table thead th { position: sticky !important; top: 0 !important; z-index: 3 !important; }
.usuarios-sticky-head { display: none !important; }

/* Central operator details are a centered dialog, never a side drawer. */
.drawer-operadoras {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2100 !important;
  display: none !important;
  place-items: center;
  padding: 20px;
}
.drawer-operadoras.ativo { display: grid !important; }
.drawer-operadoras__backdrop { position: absolute; inset: 0; background: rgba(5,17,27,.62) !important; opacity: 1 !important; backdrop-filter: blur(5px); }
.drawer-operadoras__panel {
  position: relative !important;
  inset: auto !important;
  z-index: 2;
  width: min(720px, 100%) !important;
  max-height: min(820px, calc(100dvh - 40px));
  height: auto !important;
  transform: none !important;
  border: 1px solid var(--portal40-border) !important;
  border-radius: 24px !important;
  overflow: hidden;
  box-shadow: 0 34px 90px rgba(0,0,0,.32) !important;
}
.drawer-operadoras__body { overflow-y: auto; padding: 22px 24px !important; }
.operator-choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.operator-choice-grid--products { grid-template-columns: repeat(2,minmax(0,1fr)); }
.operator-choice {
  display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 10px 12px;
  border: 1px solid var(--portal40-border); border-radius: 12px; background: var(--portal40-surface-soft);
  color: var(--portal40-text) !important; font-weight: 700; cursor: pointer;
}
.operator-choice input { width: 18px; height: 18px; min-height: 0 !important; accent-color: var(--portal40-brand); }
.operadoras-table-row { cursor: pointer; }
.operadoras-table-row:focus-visible { outline: 3px solid rgba(72,149,201,.35); outline-offset: -3px; }

/* Cotador operator details become a centered responsive popup. */
.op-fullscreen {
  display: grid;
  place-items: center;
  padding: clamp(10px, 3vw, 32px) !important;
  background: rgba(5,17,27,.66) !important;
  backdrop-filter: blur(6px);
}
.op-fullscreen.hidden { display: none !important; }
.op-fullscreen-panel {
  width: min(1120px, 100%) !important;
  height: auto !important;
  max-height: calc(100dvh - clamp(20px, 6vw, 64px));
  margin: 0 !important;
  border-radius: 24px !important;
}
.op-fullscreen-body { min-height: 0; overflow-y: auto; }

@media (max-width: 991.98px) {
  main.conteudo-principal, main.financeiro-page, main.lia-page, main.lia-config-page,
  .dashboard-container { padding: 14px !important; }
  .home-header-box { min-height: 180px; padding: 24px 20px 44px !important; }
  #home-cards-container, #home-graficos-container { padding-inline: 12px; }
}

@media (max-width: 767.98px) {
  .dashboard-container { padding: 10px !important; }
  .home-header-box { border-radius: 20px 20px 0 0 !important; }
  #homeCardsGrid { transform: translateY(-20px); margin-bottom: -20px !important; }
  #home-graficos-container { border-radius: 0 0 20px 20px; }
  .drawer-operadoras { padding: 0 !important; align-items: end; }
  .drawer-operadoras__panel { width: 100% !important; max-height: calc(100dvh - var(--topbarH,60px)); border-radius: 22px 22px 0 0 !important; }
  .drawer-operadoras__header { padding: 18px 16px 12px !important; }
  .drawer-operadoras__body { padding: 16px !important; }
  .operator-choice-grid { grid-template-columns: 1fr; }
  .operator-choice-grid--products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .op-fullscreen { align-items: end; padding: 0 !important; }
  .op-fullscreen-panel { max-height: calc(100dvh - var(--topbarH,60px)); border-radius: 22px 22px 0 0 !important; }
  .op-fullscreen-head { padding: 16px !important; }
  .op-fullscreen-body { padding: 16px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* v3.3: accessibility and responsive control fixes */
input[type="checkbox"],input[type="radio"]{min-height:0!important;min-width:0!important;box-shadow:none!important;accent-color:#4895c9}
.form-check.form-switch{display:flex!important;align-items:center!important;margin:0!important;min-height:34px!important;padding:0!important}
.form-check.form-switch .form-check-input{appearance:none!important;-webkit-appearance:none!important;float:none!important;position:relative!important;display:block!important;flex:0 0 48px!important;width:48px!important;height:28px!important;min-height:28px!important;margin:0!important;border:1px solid rgba(129,167,197,.42)!important;border-radius:999px!important;background:#31475a!important;cursor:pointer!important;transition:background-color .22s ease,border-color .22s ease!important}
.form-check.form-switch .form-check-input:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.18);transition:transform .22s ease}
.form-check.form-switch .form-check-input:checked{background:#4895c9!important;border-color:#4895c9!important}
.form-check.form-switch .form-check-input:checked:after{transform:translateX(20px)}
.form-check.form-switch .form-check-input:focus-visible{outline:3px solid rgba(72,149,201,.35)!important;outline-offset:2px!important}
.usuarios-filtros-body{display:none!important}.usuarios-filtros-body.is-open{display:block!important}
.usuarios-filtros-toggle{display:inline-flex!important;align-items:center!important;gap:8px!important}
:is(.usuarios-header,.operadoras-header,.filiais-header,.proposta-header,.nova-proposta-header,.acompanhar-topo) :is(h1,h2,p){color:#f7fbff!important}
:is(.usuarios-header,.operadoras-header,.filiais-header,.proposta-header,.nova-proposta-header,.acompanhar-topo) .usuarios-kicker{color:#dceefb!important}
.usuarios-page,.operadoras-page,.filiais-page,.proposta-page,.nova-proposta-page,.acompanhar-page{width:100%!important;max-width:100%!important;min-width:0!important}
.usuarios-tabela-card,.operadoras-tabela,.filiais-tabela,.proposta-card{min-width:0!important;max-width:100%!important;overflow-x:auto!important}
.usuarios-tabela-card :is(table,.table),.operadoras-tabela :is(table,.table){width:100%!important}
.sistema-toggle{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;min-width:0!important}
.sistema-toggle-info{min-width:0!important;flex:1 1 auto!important}
.sistema-toggle .form-check.form-switch{flex:0 0 48px!important}
.usuario-drawer,.drawer-operadoras,.drawer-filiais{max-width:min(680px,100vw)!important;box-sizing:border-box!important}
:is(.drawer-header,.drawer-operadoras__header,.drawer-filiais__header){flex-shrink:0!important}
html[data-theme="light"] :is(.card-padrao,.usuarios-filtros-card,.usuarios-tabela-card,.operadoras-filtros,.operadoras-tabela,.proposta-card){color:#13283b!important}
html[data-theme="light"] :is(.card-padrao,.usuarios-filtros-card,.usuarios-tabela-card,.operadoras-filtros,.operadoras-tabela,.proposta-card) :is(h1,h2,h3,h4,label,p){color:inherit}
@media(max-width:991px){main.conteudo-principal,main.financeiro-page{width:100%!important;max-width:100%!important;min-width:0!important;padding:16px!important}.sistemas-grid{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:600px){main.conteudo-principal,main.financeiro-page{padding:12px!important}.usuario-drawer,.drawer-operadoras,.drawer-filiais{width:100vw!important;max-width:100vw!important}.sistema-toggle{padding:10px!important}.usuarios-filtros-card,.usuarios-tabela-card{padding:14px!important}table{font-size:12px!important}}

/* Additional Supabase fields: rendered only when present, without changing database. */
.operadora-campos-adicionais{margin-top:24px;padding:18px;border:1px solid var(--portal31-border);border-radius:18px;background:var(--portal31-surface-soft)}
.operadora-campos-adicionais[hidden]{display:none!important}
.operadora-campos-info{font-size:12px;color:var(--portal31-text-muted)}
.operadora-campos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.operadora-campo-item{min-width:0;border-radius:12px;padding:10px;background:var(--portal31-surface-strong)}
.operadora-campo-item dt{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--portal31-text-muted)}
.operadora-campo-item dd{margin:5px 0 0;overflow-wrap:anywhere;color:var(--portal31-text)}
@media(max-width:550px){.operadora-campos-grid{grid-template-columns:1fr}}

/* 3.4 nested view layout: remove fixed content caps, keep overlays on demand */
.proposta-page,.operadoras-page{width:100%!important;max-width:none!important;margin:0!important}
:is(.conteudo-principal,.proposta-page,.operadoras-page){min-width:0!important}
.drawer-operadoras:not(.ativo){display:none!important;pointer-events:none!important;visibility:hidden!important}
.drawer-operadoras.ativo{display:block!important;visibility:visible!important}
.drawer-operadoras.ativo .drawer-operadoras__panel{z-index:3!important;transform:translateX(0)!important}
.drawer-operadoras.ativo .drawer-operadoras__backdrop{z-index:2!important}
@media(max-width:991.98px){.proposta-page,.operadoras-page{width:100%!important;margin:0!important}.proposta-grid{gap:14px!important}}

/* v3.6: remove costly glass layers while keeping readable surfaces */
.card-padrao,.usuarios-tabela-card,.usuarios-filtros-card,.operadoras-tabela,.operadoras-filtros,
.proposta-card,.panel,.home-box-padrao,.home-card-resumo,
.cotador-card,.cotador-filtros,.cotador-tabela-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
html[data-theme=light] body:not(.infinity-shell-body) .conteudo-principal{background:#edf3fa!important;color:#1b3348!important;}
html[data-theme=light] .conteudo-principal h1,html[data-theme=light] .conteudo-principal h2,
html[data-theme=light] .conteudo-principal h3,html[data-theme=light] .conteudo-principal label{color:#203b54;}
html[data-theme=light] .conteudo-principal table{color:#203b54!important;}
html[data-theme=light] .conteudo-principal table td{color:#2c455c!important;}
html[data-theme=light] .conteudo-principal table th{color:#37536c!important;}

/* 4.0 final invariants: keep these after every legacy compatibility rule. */
main.conteudo-principal,main.financeiro-page,main.lia-page,main.lia-config-page{width:100%!important;max-width:none!important;min-width:0!important;background:var(--portal40-bg)!important;color:var(--portal40-text)!important}
.dashboard-container{width:100%!important;max-width:none!important;margin:0!important}
.usuarios-sticky-head{display:none!important}
.usuarios-table-wrap{position:relative!important;overflow:auto!important;max-height:min(68vh,760px);padding:0!important}
.usuarios-table thead th{position:sticky!important;top:0!important;z-index:3!important}
.drawer-operadoras{max-width:none!important;width:auto!important}
.drawer-operadoras:not(.ativo){display:none!important;visibility:hidden!important;pointer-events:none!important}
.drawer-operadoras.ativo{display:grid!important;visibility:visible!important;pointer-events:auto!important}
.drawer-operadoras__panel{position:relative!important;inset:auto!important;width:min(720px,100%)!important;max-width:720px!important;height:auto!important;max-height:min(820px,calc(100dvh - 40px))!important;transform:none!important;border-radius:24px!important}
.op-fullscreen:not(.hidden){display:grid!important;place-items:center!important}
.op-fullscreen-panel{width:min(1120px,100%)!important;height:auto!important;max-height:calc(100dvh - clamp(20px,6vw,64px))!important}
:is(.cotador-header,.leads-header,.criativos-header,.usuarios-header,.operadoras-header,.filiais-header,.importar-header,.relatorios-header,.acompanhar-topo,.nova-proposta-header,.proposta-header,.lia-header,.lia-config-header,.page-header){background:linear-gradient(135deg,#17324a 0%,#224d70 52%,#2f78a9 100%)!important;color:#fff!important;border-color:rgba(255,255,255,.10)!important}
:is(.cotador-header,.leads-header,.criativos-header,.usuarios-header,.operadoras-header,.filiais-header,.importar-header,.relatorios-header,.acompanhar-topo,.nova-proposta-header,.proposta-header,.lia-header,.lia-config-header,.page-header) :is(h1,h2,h3,p,span:not(.badge),label){color:#fff!important}
@media(max-width:991.98px){html.portal-menu-compact .infinity-shell-menu,html.portal-menu-expanded .infinity-shell-menu{display:contents!important;width:0!important;min-width:0!important;height:0!important;min-height:0!important;flex:0 0 0!important;background:transparent!important}}
@media(max-width:767.98px){.drawer-operadoras.ativo{align-items:end!important;padding:0!important}.drawer-operadoras__panel{width:100%!important;max-width:none!important;max-height:calc(100dvh - var(--topbarH,60px))!important;border-radius:22px 22px 0 0!important}.op-fullscreen:not(.hidden){align-items:end!important}.op-fullscreen-panel{max-height:calc(100dvh - var(--topbarH,60px))!important;border-radius:22px 22px 0 0!important}}
