/* Separadores institucionais — fade nas pontas + filete de luz (app inteira) */

:root{
  --mesa-divider-inset:16px;
  --mesa-divider-line:color-mix(in srgb, var(--border2, var(--border)) 34%, transparent);
  --mesa-divider-shine:color-mix(in srgb, #fff 10%, transparent);
  --mesa-divider-gradient:linear-gradient(
    90deg,
    transparent 0%,
    var(--mesa-divider-line) 12%,
    var(--mesa-divider-line) 88%,
    transparent 100%
  );
  --mesa-panel-heading-divider-width:266px;
  --mesa-panel-heading-divider-gradient:linear-gradient(
    90deg,
    color-mix(in srgb, var(--border2, var(--border)) 58%, transparent) 0%,
    color-mix(in srgb, var(--border2, var(--border)) 20%, transparent) 72%,
    transparent 100%
  );
}

/* Divisor padrão de cabeçalho de painel.
   Fonte visual aprovada: cabeçalho "Registrar operação".
   O padrão agora é um elemento real no DOM (`.mesa-panel-heading-divider`).
   Evitamos `border-bottom` e pseudo-elementos no header para não brigar com
   regras legadas de módulos antigos. */
#mesaAppShell .mesa-ui-panel-heading{
  border-bottom:none !important;
  position:relative;
}

#mesaAppShell .mesa-ui-panel-heading::before,
#mesaAppShell .mesa-ui-panel-heading::after{
  content:none !important;
  display:none !important;
}

#mesaAppShell .mesa-panel-heading-divider{
  display:block;
  height:1px;
  width:min(
    var(--mesa-panel-heading-divider-width, 266px),
    100%
  );
  margin:
    var(--mesa-panel-heading-divider-gap-top, 18px)
    0
    var(--mesa-panel-heading-divider-gap-bottom, 24px);
  background:var(--mesa-panel-heading-divider-gradient);
  box-shadow:none;
  pointer-events:none;
}

@media (max-width:767px){
  #mesaAppShell .mesa-panel-heading-divider{
    --mesa-panel-heading-divider-width:min(240px, 72vw);
    --mesa-panel-heading-divider-gap-top:14px;
    --mesa-panel-heading-divider-gap-bottom:18px;
  }
}

/* ── Topo: painéis / secções ───────────────────────────── */
#mesaAppShell .wallet-panel__body,
#mesaAppShell .wallet-strip-details[open] > .wallet-strip-details__body,
#mesaAppShell .mesa-mobile-secondary-module__body,
#mesaAppShell #view-ops .ops-filters-body,
#mesaAppShell #view-ops .mesa-book-module__body,
#mesaAppShell .patrimonio-sector-allocation__footnote{
  border-top:none !important;
  position:relative;
}

#mesaAppShell .wallet-panel__body::before,
#mesaAppShell .wallet-strip-details[open] > .wallet-strip-details__body::before,
#mesaAppShell .mesa-mobile-secondary-module__body::before,
#mesaAppShell #view-ops .ops-filters-body::before,
#mesaAppShell #view-ops .mesa-book-module__body::before,
#mesaAppShell .patrimonio-sector-allocation__footnote::before{
  content:"";
  position:absolute;
  left:var(--mesa-divider-inset, 16px);
  right:var(--mesa-divider-inset, 16px);
  top:0;
  height:1px;
  background:var(--mesa-divider-gradient);
  box-shadow:0 1px 0 var(--mesa-divider-shine);
  pointer-events:none;
  z-index:2;
}

/* o corpo do form do Livro NÃO leva divisória no topo (ficava colada ao
   título "Livro do Sócio") */
#mesaAppShell #mainFormCard .mesa-op-form-body{
  border-top:none !important;
  position:relative;
}
#mesaAppShell #mainFormCard .mesa-op-form-body::before{
  display:none !important;
}

#mesaAppShell .mesa-app-shell .view > .section-header:first-child{
  border-top:none !important;
  position:relative;
  padding-top:18px;
}

#mesaAppShell .mesa-app-shell .view > .section-header:first-child::before{
  content:"";
  position:absolute;
  left:var(--mesa-divider-inset, 16px);
  right:var(--mesa-divider-inset, 16px);
  top:0;
  height:1px;
  background:var(--mesa-divider-gradient);
  box-shadow:0 1px 0 var(--mesa-divider-shine);
  pointer-events:none;
}

/* Cabeçalho principal (tema clean) */
header.app-header{
  border-bottom:none !important;
  position:relative;
}

header.app-header:not(.app-header--punch)::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:var(--mesa-divider-gradient);
  box-shadow:0 1px 0 var(--mesa-divider-shine);
  pointer-events:none;
  z-index:3;
}

/* ── Base: listas e cartões ─────────────────────────────── */
#mesaAppShell .patrimonio-sector-allocation__legend-item:not(:last-child),
#mesaAppShell .summary-card.summary-card--premium .summary-card__z1,
#mesaAppShell .mesa-fin-table tbody tr,
#mesaAppShell .table-wrap tbody tr,
#mesaAppShell thead tr{
  border-bottom:none !important;
  position:relative;
}

#mesaAppShell .patrimonio-sector-allocation__legend-item:not(:last-child)::after,
#mesaAppShell .summary-card.summary-card--premium .summary-card__z1::after,
#mesaAppShell .mesa-fin-table tbody tr:not(:last-child)::after,
#mesaAppShell .table-wrap tbody tr:not(:last-child)::after,
#mesaAppShell thead tr::after{
  content:"";
  position:absolute;
  left:var(--mesa-divider-inset, 12px);
  right:var(--mesa-divider-inset, 12px);
  bottom:0;
  height:1px;
  background:var(--mesa-divider-gradient);
  box-shadow:0 1px 0 var(--mesa-divider-shine);
  pointer-events:none;
}

#mesaAppShell .table-wrap thead tr::after,
#mesaAppShell .mesa-fin-table thead tr::after{
  left:0;
  right:0;
}

/* Tabelas: cabeçalho um pouco mais visível */
#mesaAppShell thead tr::after{
  --mesa-divider-line:color-mix(in srgb, var(--border2, var(--border)) 48%, transparent);
}

@media (max-width:767px){
  :root{
    --mesa-divider-inset:12px;
  }
}
