/*
  Mesa do Sócio · Mesa de Decisão
  Layout dedicado à navegação principal do produto.
  Escopo desktop neste primeiro passo; mobile será tratado em etapa separada.
*/

@media (min-width: 768px) {
  #mesaAppShell .mds-decision-shell {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: none;
    margin: 0 0 16px;
    padding: 24px 28px;
  }

  #mesaAppShell .mds-decision-shell::before,
  #mesaAppShell .mds-decision-shell::after {
    content: none;
  }

  /* A Mesa usa o padrão global `.mesa-panel-heading-divider`.
     Este escopo apenas neutraliza resíduos do `header` global e de regras antigas. */
  #mesaAppShell .mds-decision-shell > header.mds-decision-shell__head {
    border:0 !important;
    border-bottom:0 !important;
    box-shadow:none !important;
    margin:0 !important;
    max-width:none !important;
    padding:0 !important;
    position:relative;
  }

  #mesaAppShell .mds-decision-shell > header.mds-decision-shell__head::before,
  #mesaAppShell .mds-decision-shell > header.mds-decision-shell__head::after {
    content:none !important;
    display:none !important;
  }

  #mesaAppShell .mds-decision-shell__head {
    max-width:none;
    margin:0;
    padding:0;
    position:relative;
  }

  #mesaAppShell .mds-decision-shell__title {
    color: var(--text);
    font-family: "DM Serif Display", Georgia, serif;
    font-size: var(--mesa-type-panel-heading-title-size, 24px);
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0 0 var(--mesa-type-panel-heading-gap, 4px);
    text-transform: none;
  }

  #mesaAppShell .mds-decision-shell__subtitle {
    color: var(--text-mid);
    font-family: "Inter", -apple-system, system-ui, sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.5;
    margin: 0;
    max-width: var(--mesa-type-panel-heading-copy-max, 760px);
    text-transform: none;
  }

  #mesaAppShell .mds-decision-shell__grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(5, minmax(0, 1fr)); /* 5 cards (Renda do Sócio adicionado; provisório — evoluirá para menu) */
    margin: 0;
    padding: 0;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card {
    align-items: stretch;
    background: var(--bg-subtle);
    border: 1px solid var(--border-subtle);
    border-radius: 10px;
    box-shadow: none;
    color: var(--text);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 4px;
    isolation: isolate;
    min-height: 100px;
    overflow: hidden;
    padding: var(--ui-card-padding-y, 18px) var(--ui-card-padding-x, 20px);
    position: relative;
    text-align: left;
    transform: none;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card:hover {
    background: var(--bg-surface);
    border-color: var(--gold);
    transform: none;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card.active {
    background: var(--navy);
    border-color: var(--navy);
    color: var(--ivory);
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card.is-premium-disabled {
    opacity: 1;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card__icon {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: var(--text-mid);
    display: block;
    height: 18px;
    margin: 0;
    opacity: 1;
    padding: 0;
    position: absolute;
    right: 18px;
    top: 18px;
    width: 18px;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card:hover .mds-decision-card__icon {
    color: var(--gold);
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card.active .mds-decision-card__icon {
    color: var(--gold-bright);
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card__icon svg {
    display: block;
    height: 18px;
    width: 18px;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card__head {
    display: flex;
    min-height: 18px;
    order: 0;
    padding: 0 28px 0 0;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card__badges {
    align-items: center;
    display: flex;
    gap: 6px;
    min-height: 18px;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card__pin {
    background: color-mix(in srgb, var(--gold-bright) 16%, transparent);
    border: 1px solid color-mix(in srgb, var(--gold-bright) 44%, transparent);
    border-radius: 999px;
    color: var(--gold-bright);
    display: none;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.11em;
    line-height: 1;
    padding: 4px 6px;
    text-transform: uppercase;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card.active .mds-decision-card__pin {
    display: inline-flex;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card__lock-badge {
    align-items: center;
    background: color-mix(in srgb, var(--gold-soft) 55%, var(--bg-surface));
    border: 1px solid color-mix(in srgb, var(--gold) 32%, var(--border));
    border-radius: 999px;
    color: var(--text);
    display: inline-flex;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    padding: 4px 6px;
    text-transform: uppercase;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card__lock-badge[hidden] {
    display: none;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 4px;
    justify-content: flex-end;
    min-width: 0;
    padding: 0 28px 0 0;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card__title {
    color: var(--text);
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 0.005em;
    line-height: 1.2;
    margin: 0;
    text-transform: none;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card__sub {
    color: var(--text-mid);
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.3;
    margin: 0;
    text-transform: none;
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card.active .mds-decision-card__title {
    color: var(--ivory);
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card.active .mds-decision-card__sub {
    color: color-mix(in srgb, var(--ivory) 72%, var(--text-mid));
  }

  #mesaAppShell .mds-decision-shell .mds-decision-card__sub--mobile,
  #mesaAppShell .mds-decision-shell .mesa-tool-card__cta,
  #mesaAppShell .mds-decision-shell .tab__eyebrow,
  #mesaAppShell .mds-decision-shell .mesa-decision-deck__hero-preview {
    display: none;
  }
}

/* Desktop correction: the old punch-out/hero rules used !important and ID-based
   placement for the previous Mesa. These scoped overrides make the new Mesa shell
   own only this component again, without touching other sections. */
@media (min-width: 900px) {
  #mesaAppShell .app-header--punch ~ .mds-decision-shell,
  #mesaAppShell .app-header--punch ~ section.mds-decision-shell,
  #mesaAppShell .app-header--punch ~ * + .mds-decision-shell,
  #mesaAppShell section.mds-decision-shell {
    background: var(--bg-surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    margin: 0 0 16px !important;
    padding: 24px 28px !important;
  }

  #mesaAppShell section.mds-decision-shell .mds-decision-shell__grid,
  #mesaAppShell section.mds-decision-shell .mesa-decision-deck__tabs.mds-decision-shell__grid {
    align-items: stretch !important;
    background: transparent !important;
    border: 0 !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    margin: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  #mesaAppShell section.mds-decision-shell #tabPatrimonioSocio,
  #mesaAppShell section.mds-decision-shell #tabCdiSocio,
  #mesaAppShell section.mds-decision-shell #tabRadarSocio,
  #mesaAppShell section.mds-decision-shell #tabLivroSocio {
    grid-column: auto !important;
    grid-row: auto !important;
    height: auto !important;
    max-height: none !important;
    min-height: 92px !important;
    order: initial !important;
    overflow: hidden !important;
  }
}

/* Durante boot/troca de ferramenta pela Mesa, bloqueia scroll anchoring nativo
   que causava salto visual quando a view ativa era trocada ou hidratada. */
html.mesa-scroll-hold,
html.mesa-scroll-hold body,
html.mesa-scroll-hold #mesaAppShell,
html.mesa-scroll-hold #mesaAppShell .mds-decision-shell,
html.mesa-scroll-hold #mesaAppShell .view {
  overflow-anchor: none !important;
  scroll-behavior: auto !important;
}


/* Evita salto de página na primeira troca para CDI: durante a mudança de view,
   a nova view recebe temporariamente a altura da view anterior. Isso impede que
   o documento encolha antes do primeiro render/hidratação do Comparativo CDI. */
#mesaAppShell.mesa-view-switching .view.active {
  min-height: var(--mesa-view-switch-min-height, 0px) !important;
}

/* Ritmo desktop entre Carteiras e Mesa de Decisão.
   O header punch-out já tem cards brancos fortes; com a Mesa também em bloco
   branco, o respiro antigo de 72px criava uma pausa visual exagerada. Este
   ajuste fica condicionado à presença do shell novo da Mesa e não altera o
   mobile nem outros painéis. */
@media (min-width: 900px) {
  #mesaAppShell:has(section.mds-decision-shell) .app-header--punch {
    margin-bottom: 32px !important;
  }
}

/* Mobile real tabbar: usa uma navegação limpa, separada dos cards desktop da Mesa.
   Isso evita herança dos estilos antigos de .decision-card/.mesa-tool-card no mobile. */
.mesa-mobile-tabbar {
  display: none;
}

@media (max-width: 767px) {
  #mesaAppShell section.mds-decision-shell {
    display: none !important;
  }

  #mesaAppShell {
    --mesa-mobile-module-offset: -88px;
    --mesa-mobile-panel-inset: 20px;
    --mesa-mobile-panel-radius: 18px;
    --mesa-mobile-panel-shadow: 0 6px 20px rgba(26, 26, 24, 0.07);
    padding-bottom: calc(94px + env(safe-area-inset-bottom, 0px)) !important;
  }

  #mesaAppShell #view-summary.active,
  #mesaAppShell #view-cdi.active,
  #mesaAppShell #view-radar.active,
  #mesaAppShell #view-renda.active,
  #mesaAppShell #mainFormCard:not([hidden]) {
    margin-top: var(--mesa-mobile-module-offset) !important;
  }

  #mesaAppShell #mainFormCard:not([hidden]),
  #mesaAppShell #view-ops.active {
    width: auto !important;
    max-width: none !important;
    margin-right: -10px !important;
    margin-left: -10px !important;
  }

  #mesaAppShell #view-ops #opsFiltersPanel {
    border-radius: var(--mesa-mobile-panel-radius) !important;
    background: var(--bg-surface) !important;
    box-shadow: var(--mesa-mobile-panel-shadow) !important;
  }

  #mesaAppShell #view-ops .ops-book-socio__header {
    padding: var(--mesa-mobile-panel-inset) var(--mesa-mobile-panel-inset) 0 !important;
  }

  #mesaAppShell #view-ops .ops-book-socio__header + .mesa-panel-heading-divider {
    margin-right: var(--mesa-mobile-panel-inset) !important;
    margin-left: var(--mesa-mobile-panel-inset) !important;
  }

  #mesaAppShell #view-ops .ops-book-socio .ops-filters-body {
    padding: 0 var(--mesa-mobile-panel-inset) var(--mesa-mobile-panel-inset) !important;
  }

  #mesaAppShell #view-ops .ops-book-socio #opsContent {
    padding-right: var(--mesa-mobile-panel-inset) !important;
    padding-left: var(--mesa-mobile-panel-inset) !important;
  }

  .mesa-mobile-tabbar {
    align-items: stretch;
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 6px 16px rgba(26, 26, 24, 0.08);
    display: grid;
    gap: 4px;
    grid-template-columns: repeat(5, minmax(0, 1fr)); /* 5 cards (Renda do Sócio adicionado; provisório — evoluirá para menu) */
    height: 72px;
    left: calc(10px + env(safe-area-inset-left, 0px));
    padding: 8px;
    position: fixed;
    right: calc(10px + env(safe-area-inset-right, 0px));
    z-index: 24000;
  }

  .mesa-mobile-tabbar__item {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: 9px;
    box-shadow: none;
    color: var(--text-mid);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    font-family: inherit;
    gap: 5px;
    justify-content: center;
    margin: 0;
    min-width: 0;
    padding: 7px 4px 6px;
    text-align: center;
    touch-action: manipulation;
    transform: none;
    transition: background-color 0.15s ease, color 0.15s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .mesa-mobile-tabbar__item:focus {
    outline: none;
  }

  .mesa-mobile-tabbar__item:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--gold) 44%, transparent);
    outline-offset: 2px;
  }

  .mesa-mobile-tabbar__item.is-active {
    background: var(--navy);
    color: var(--ivory);
  }

  .mesa-mobile-tabbar__item.is-active .mesa-mobile-tabbar__icon {
    color: var(--gold-bright);
  }

  .mesa-mobile-tabbar__icon {
    color: inherit;
    display: block;
    flex: 0 0 auto;
    height: 20px;
    line-height: 0;
    width: 20px;
  }

  .mesa-mobile-tabbar__icon svg {
    display: block;
    height: 20px;
    width: 20px;
  }

  .mesa-mobile-tabbar__label {
    color: inherit;
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 1;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .mesa-mobile-tabbar__icon,
  .mesa-mobile-tabbar__label,
  .mesa-mobile-tabbar__item svg,
  .mesa-mobile-tabbar__item path,
  .mesa-mobile-tabbar__item circle,
  .mesa-mobile-tabbar__item g {
    pointer-events: none;
  }

  #mesaAppShell .mesa-mobile-tabbar[data-mesa-mobile-tabbar],
  body > .mesa-mobile-tabbar[data-mesa-mobile-tabbar] {
    display: grid !important;
    position: fixed !important;
    right: calc(10px + env(safe-area-inset-right, 0px)) !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    left: calc(10px + env(safe-area-inset-left, 0px)) !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 2147482000 !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateZ(0) !important;
  }

  body:not(.mesa-body--app) > .mesa-mobile-tabbar[data-mesa-mobile-tabbar],
  body.mesa-body--guest > .mesa-mobile-tabbar[data-mesa-mobile-tabbar],
  html.mesa-auth-booting body > .mesa-mobile-tabbar[data-mesa-mobile-tabbar] {
    display: none !important;
  }

  html:not(.mesa-auth-booting) body:has(#mesaAppShell:not([hidden])):not(.mesa-body--guest) > .mesa-mobile-tabbar[data-mesa-mobile-tabbar] {
    display: grid !important;
  }

  .toast {
    bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .dev-panel__mobile-fab {
    bottom: calc(98px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* ========================================================================
   Desktop · painel abaixo da Mesa alinhado ao shell painel-abaixo-mesa
   Transforma Patrimônio em um bloco único: título + filterbar + conteúdo.
   ======================================================================== */
@media (min-width: 768px) {
  #mesaAppShell #view-summary.view.active {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: none;
    box-sizing: border-box;
    margin: 0 0 16px;
    overflow: hidden;
    padding: 0;
  }

  #mesaAppShell #view-summary.view.active > .section-header.section-header--patrimonio:first-child,
  #mesaAppShell #view-summary > .section-header.section-header--patrimonio:first-child {
    align-items: stretch !important;
    background: var(--bg-surface) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    margin: 0 !important;
    padding: 24px 28px 0 !important;
  }

  #mesaAppShell #view-summary .section-header__copy--patrimonio {
    min-width: 0 !important;
    padding: 0 !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .section-title {
    color: var(--text) !important;
    font-family: "DM Serif Display", Georgia, serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.12 !important;
    margin: 0 0 4px !important;
    text-transform: none !important;
  }

  #mesaAppShell #view-summary .section-subtitle--patrimonio {
    color: var(--text-mid) !important;
    font-family: "Inter", -apple-system, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    max-width: 56rem !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .patrimonio-section-actions {
    align-items: flex-end !important;
    background: var(--bg-surface) !important;
    border-bottom: 1px solid var(--border-subtle) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    justify-content: flex-start !important;
    margin: 18px -28px 0 !important;
    min-width: 0 !important;
    padding: 0 28px 18px !important;
    width: calc(100% + 56px) !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .patrimonio-section-actions::before {
    content: none !important;
    display: none !important;
  }

  #mesaAppShell #view-summary .patrimonio-toolbar-control,
  #mesaAppShell #view-summary .section-header.section-header--patrimonio .mesa-patrimonio-sort-wrap {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    gap: 6px !important;
    justify-content: flex-end !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  #mesaAppShell #view-summary #patrimonioAllocViewWrap,
  #mesaAppShell #view-summary #patrimonioSortWrap {
    width: 218px !important;
    min-width: 218px !important;
    max-width: 218px !important;
  }

  #mesaAppShell #view-summary .patrimonio-toolbar-label {
    color: var(--text-mid) !important;
    display: block !important;
    font-family: "Inter", -apple-system, system-ui, sans-serif !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-transform: uppercase !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .mesa-select-menu,
  #mesaAppShell #view-summary .section-header.section-header--patrimonio .mesa-patrimonio-sort,
  #mesaAppShell #view-summary .section-header.section-header--patrimonio .mesa-patrimonio-sort__trigger {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .mesa-patrimonio-sort__trigger {
    align-items: center !important;
    background: var(--bg-subtle) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    color: var(--text) !important;
    display: inline-flex !important;
    font-family: "Inter", -apple-system, system-ui, sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    height: 35px !important;
    justify-content: space-between !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    max-height: 35px !important;
    min-height: 35px !important;
    padding: 0 14px !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .mesa-patrimonio-sort__trigger-kicker {
    display: none !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .mesa-patrimonio-sort__trigger-stack,
  #mesaAppShell #view-summary .section-header.section-header--patrimonio .mesa-patrimonio-sort__trigger-row {
    align-items: center !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    justify-content: space-between !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .mesa-patrimonio-sort__trigger-value {
    color: var(--text-mid) !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .refresh-btn.refresh-btn--patrimonio-toolbar {
    align-items: center !important;
    align-self: flex-end !important;
    background: var(--navy) !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: #fff !important;
    display: inline-flex !important;
    font-family: "Inter", -apple-system, system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    gap: 8px !important;
    height: 35px !important;
    justify-content: center !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
    margin: 0 0 0 auto !important;
    max-height: 35px !important;
    max-width: none !important;
    min-height: 35px !important;
    min-width: 218px !important;
    padding: 0 18px !important;
    text-transform: none !important;
    white-space: nowrap !important;
    width: auto !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .refresh-btn.refresh-btn--patrimonio-toolbar:hover:not(:disabled) {
    background: #000 !important;
    box-shadow: none !important;
    color: #fff !important;
    filter: none !important;
  }

  #mesaAppShell #view-summary .patrimonio-sector-allocation-host,
  #mesaAppShell #view-summary #summaryContent,
  #mesaAppShell #view-summary #realizedSection,
  #mesaAppShell #view-summary #closedSection,
  #mesaAppShell #view-summary #monthlySection {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  #mesaAppShell #view-summary .patrimonio-sector-allocation-host {
    margin: 0 0 16px !important;
    padding-top: 24px !important;
  }

  #mesaAppShell #view-summary #summaryContent {
    padding-bottom: 24px !important;
  }
}

@media (min-width: 768px) and (max-width: 1120px) {
  #mesaAppShell #view-summary .section-header.section-header--patrimonio .patrimonio-section-actions {
    justify-content: flex-start !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .patrimonio-section-actions::before {
    display: none !important;
  }
}

@media (min-width: 768px) {
  /* Patrimônio por carteira deve seguir o mesmo padrão dos demais painéis:
     título/subtítulo, divisória curta logo abaixo e só depois a barra de ações. */
  #mesaAppShell #view-summary.view.active > .section-header.section-header--patrimonio:first-child::before,
  #mesaAppShell #view-summary > .section-header.section-header--patrimonio:first-child::before {
    content:none !important;
    display:none !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio > .mesa-panel-heading-divider {
    grid-column:1 / -1 !important;
    margin:18px 0 24px !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .patrimonio-section-actions {
    border:0 !important;
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
  }


  /* Patrimônio — cabeçalho e controles no mesmo padrão dos demais painéis.
     Título/subtítulo usam a mesma tipografia institucional; as labels externas
     dos filtros saem de cena e o significado passa a aparecer dentro do próprio
     controle com textos mais descritivos. */
  #mesaAppShell #view-summary.view.active > .section-header.section-header--patrimonio:first-child,
  #mesaAppShell #view-summary > .section-header.section-header--patrimonio:first-child {
    padding: 28px 28px 0 !important;
  }

  #mesaAppShell #view-summary .section-header__copy--patrimonio {
    display: block !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .section-title {
    font-family: var(--mesa-type-font-display, "DM Serif Display", Georgia, serif) !important;
    font-size: var(--mesa-type-panel-heading-title-size, 24px) !important;
    font-weight: var(--mesa-type-weight-regular, 400) !important;
    line-height: var(--mesa-type-line-compact, 1.12) !important;
    letter-spacing: var(--mesa-type-tracking-none, 0) !important;
    margin: 0 0 4px !important;
  }

  #mesaAppShell #view-summary .section-subtitle--patrimonio {
    font-family: var(--mesa-type-font-ui, "Inter", -apple-system, system-ui, sans-serif) !important;
    font-size: var(--mesa-type-panel-heading-subtitle-size, 13px) !important;
    font-weight: var(--mesa-type-weight-regular, 400) !important;
    line-height: 1.5 !important;
    max-width: var(--mesa-type-panel-heading-copy-max, 760px) !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio > .mesa-panel-heading-divider {
    margin: 18px 0 24px !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .patrimonio-toolbar-label,
  #mesaAppShell #view-summary .section-header.section-header--patrimonio .mesa-patrimonio-sort__trigger-kicker {
    display: none !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .mesa-patrimonio-sort__trigger {
    min-width: 244px !important;
  }

  #mesaAppShell #view-summary #patrimonioSortWrap .mesa-patrimonio-sort__trigger {
    min-width: 290px !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .mesa-patrimonio-sort__trigger-row {
    min-height: 100% !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .mesa-patrimonio-sort__trigger-value {
    color: var(--text-mid) !important;
    font-weight: 600 !important;
  }

/* Patrimônio — posicionamento dos dropdowns.
   Depois que removemos as labels externas, os wrappers antigos continuaram com
   largura menor que os triggers, causando aproximação/encavalamento visual.
   A barra passa a usar uma grade explícita: Agrupar, Ordenar, respiro, botão. */
#mesaAppShell #view-summary .section-header.section-header--patrimonio .patrimonio-section-actions{
  display:grid !important;
  grid-template-columns:minmax(0, 300px) minmax(0, 390px) minmax(0, 1fr) auto !important;
  column-gap:14px !important;
  row-gap:12px !important;
  align-items:end !important;
  justify-content:stretch !important;
}

#mesaAppShell #view-summary #patrimonioAllocViewWrap{
  grid-column:1 !important;
  width:300px !important;
  min-width:300px !important;
  max-width:300px !important;
}

#mesaAppShell #view-summary #patrimonioSortWrap{
  grid-column:2 !important;
  width:390px !important;
  min-width:390px !important;
  max-width:390px !important;
}

#mesaAppShell #view-summary .section-header.section-header--patrimonio .mesa-patrimonio-sort__trigger{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
}

#mesaAppShell #view-summary .section-header.section-header--patrimonio .refresh-btn.refresh-btn--patrimonio-toolbar{
  grid-column:4 !important;
  justify-self:end !important;
  margin:0 !important;
}

@media (max-width: 1120px){
  #mesaAppShell #view-summary .section-header.section-header--patrimonio .patrimonio-section-actions{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  #mesaAppShell #view-summary #patrimonioAllocViewWrap,
  #mesaAppShell #view-summary #patrimonioSortWrap{
    grid-column:auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }

  #mesaAppShell #view-summary .section-header.section-header--patrimonio .refresh-btn.refresh-btn--patrimonio-toolbar{
    grid-column:1 / -1 !important;
    justify-self:start !important;
  }
}


/* Patrimônio — refinamento de largura dos dropdowns.
   Os controles fechados ficam mais compactos; a lista aberta fica mais larga
   para acomodar opções descritivas sem esmagar o texto. */
#mesaAppShell #view-summary .section-header.section-header--patrimonio .patrimonio-section-actions{
  grid-template-columns:minmax(0, 280px) minmax(0, 350px) minmax(0, 1fr) auto !important;
  column-gap:14px !important;
}

#mesaAppShell #view-summary #patrimonioAllocViewWrap{
  width:280px !important;
  min-width:280px !important;
  max-width:280px !important;
}

#mesaAppShell #view-summary #patrimonioSortWrap{
  width:350px !important;
  min-width:350px !important;
  max-width:350px !important;
}

#mesaAppShell #view-summary #patrimonioAllocViewDropdown.mesa-patrimonio-sort__dropdown{
  width:380px !important;
  min-width:380px !important;
  max-width:min(380px, calc(100vw - 24px)) !important;
}

#mesaAppShell #view-summary #patrimonioSortDropdown.mesa-patrimonio-sort__dropdown{
  width:480px !important;
  min-width:480px !important;
  max-width:min(480px, calc(100vw - 24px)) !important;
}

#mesaAppShell #view-summary #patrimonioAllocViewDropdown .mesa-patrimonio-sort__menu,
#mesaAppShell #view-summary #patrimonioSortDropdown .mesa-patrimonio-sort__menu{
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
}

@media (max-width:1120px){
  #mesaAppShell #view-summary #patrimonioAllocViewWrap,
  #mesaAppShell #view-summary #patrimonioSortWrap{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }

  #mesaAppShell #view-summary #patrimonioAllocViewDropdown.mesa-patrimonio-sort__dropdown,
  #mesaAppShell #view-summary #patrimonioSortDropdown.mesa-patrimonio-sort__dropdown{
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
  }
}
}
