/* Painel Administrativo: camada mobile final alinhada aos módulos aprovados.
   Não possui regras desktop e preserva toda a estrutura e dados existentes. */
.admin-kpi-label-mobile { display: none; }

@media (max-width: 720px) {
  .main-panel-admin-plataforma .content {
    padding: .8rem var(--mobile-gutter) calc(5.25rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* Cabeçalho: mesma grade de Agenda, Clientes e Financeiro. */
  .main-panel-admin-plataforma .topbar {
    grid-template-columns: var(--mobile-control) minmax(0, 1fr) auto !important;
    gap: .5rem !important;
    min-height: var(--mobile-control) !important;
  }
  .main-panel-admin-plataforma .topbar-title { min-width: 0 !important; }
  .main-panel-admin-plataforma .topbar-title h1 {
    margin: 0 !important;
    font-size: clamp(1rem, 4.6vw, 1.2rem) !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .main-panel-admin-plataforma .topbar-title .muted { display: none !important; }
  .main-panel-admin-plataforma .topbar-actions {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: auto !important;
    margin: 0 !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    align-self: center !important;
  }
  .main-panel-admin-plataforma .mobile-menu-btn,
  .main-panel-admin-plataforma .admin-platform-toolbar,
  .main-panel-admin-plataforma .admin-platform-search-inline,
  .main-panel-admin-plataforma .admin-platform-actions-menu {
    align-self: center !important;
  }
  .main-panel-admin-plataforma .mobile-menu-btn,
  .main-panel-admin-plataforma .admin-platform-toolbar,
  .main-panel-admin-plataforma .admin-platform-search-inline,
  .main-panel-admin-plataforma .admin-platform-actions-menu,
  .main-panel-admin-plataforma .admin-platform-search-inline .module-icon-button,
  .main-panel-admin-plataforma .admin-platform-actions-trigger {
    box-sizing: border-box !important;
    block-size: var(--mobile-control) !important;
    min-block-size: var(--mobile-control) !important;
    max-block-size: var(--mobile-control) !important;
    margin-block: 0 !important;
  }
  .main-panel-admin-plataforma .admin-platform-toolbar {
    display: flex !important;
    align-items: center !important;
    gap: .38rem !important;
  }
  .main-panel-admin-plataforma .admin-platform-search-inline,
  .main-panel-admin-plataforma .admin-platform-actions-menu,
  .main-panel-admin-plataforma .admin-platform-search-inline .module-icon-button,
  .main-panel-admin-plataforma .admin-platform-actions-trigger {
    flex: 0 0 var(--mobile-control) !important;
    width: var(--mobile-control) !important;
    min-width: var(--mobile-control) !important;
    max-width: var(--mobile-control) !important;
  }
  .main-panel-admin-plataforma .admin-platform-search-inline .admin-platform-search-bar {
    display: flex !important;
    align-items: center !important;
    inset: 0 !important;
    width: 100% !important;
    block-size: var(--mobile-control) !important;
    min-block-size: var(--mobile-control) !important;
    max-block-size: var(--mobile-control) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding-block: 0 !important;
    padding-inline: .72rem calc(var(--mobile-control) + .4rem) !important;
    border-radius: var(--mobile-radius) !important;
  }
  .main-panel-admin-plataforma .admin-platform-search-inline .admin-platform-search-bar .input {
    display: block !important;
    flex: 1 1 auto !important;
    box-sizing: border-box !important;
    block-size: 100% !important;
    min-block-size: 0 !important;
    max-block-size: 100% !important;
    margin: 0 !important;
    padding-block: 0 !important;
    line-height: 1 !important;
  }
  .main-panel-admin-plataforma .admin-platform-search-inline.is-open {
    flex-basis: calc(100vw - var(--mobile-gutter) - var(--mobile-gutter) - var(--mobile-control) - var(--mobile-control) - .38rem) !important;
    width: calc(100vw - var(--mobile-gutter) - var(--mobile-gutter) - var(--mobile-control) - var(--mobile-control) - .38rem) !important;
    max-width: none !important;
  }
  .main-panel-admin-plataforma .topbar:has(.admin-platform-search-inline.is-open) .topbar-actions {
    position: relative !important;
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: 100% !important;
    z-index: 12 !important;
    transform: none !important;
  }
  .main-panel-admin-plataforma .topbar:has(.admin-platform-search-inline.is-open) .admin-platform-toolbar {
    width: 100% !important;
  }
  .main-panel-admin-plataforma .topbar:has(.admin-platform-search-inline.is-open) .admin-platform-search-inline.is-open {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }

  /* KPIs: a mesma densidade de Dashboard/Clientes, com três visíveis. */
  .main-panel-admin-plataforma .admin-platform-primary-kpis {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: .55rem !important;
    margin: 0 !important;
    padding: .05rem 0 .5rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .main-panel-admin-plataforma .admin-platform-primary-kpis::-webkit-scrollbar { display: none; }
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi {
    flex: 0 0 calc((100% - 1.1rem) / 3) !important;
    min-width: calc((100% - 1.1rem) / 3) !important;
    min-height: 6.8rem !important;
    height: 6.8rem !important;
    padding: .55rem !important;
    border-radius: .85rem !important;
    scroll-snap-align: start;
    overflow: hidden !important;
  }
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi-head {
    display: grid !important;
    grid-template-columns: 1.42rem minmax(0, 1fr) !important;
    align-items: center !important;
    min-height: 1.42rem !important;
    gap: .32rem !important;
    margin-bottom: .28rem !important;
    padding: 0 1.26rem 0 0 !important;
  }
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi-icon {
    width: 1.42rem !important;
    height: 1.42rem !important;
    border-radius: .45rem !important;
    font-size: .68rem !important;
    flex: 0 0 auto;
  }
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi-label {
    min-width: 0;
    display: -webkit-box !important;
    font-size: .66rem !important;
    font-weight: 750 !important;
    line-height: 1.06 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .main-panel-admin-plataforma .admin-kpi-label-desktop { display: none !important; }
  .main-panel-admin-plataforma .admin-kpi-label-mobile { display: inline !important; }
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi-value {
    padding: 0 !important;
    font-size: clamp(.94rem, 4.7vw, 1.16rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi-foot,
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi-foot .muted {
    margin-top: .32rem !important;
    padding: 0 !important;
    font-size: .61rem !important;
    line-height: 1.14 !important;
    text-align: center !important;
  }
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi-foot {
    justify-content: center !important;
    width: 100% !important;
  }
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi-foot .muted {
    display: block !important;
    width: 100% !important;
  }
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi > .admin-platform-info {
    top: .71rem !important;
    right: .55rem !important;
  }
  .main-panel-admin-plataforma .admin-platform-primary-kpis .admin-platform-info-button {
    width: 1.1rem !important;
    height: 1.1rem !important;
    font-size: .52rem !important;
  }

  /* Cabeçalhos e informações: título, descrição e ação compactos e alinhados. */
  .main-panel-admin-plataforma .admin-platform-insight-card,
  .main-panel-admin-plataforma .admin-platform-health-card,
  .main-panel-admin-plataforma .admin-platform-businesses-card {
    min-height: 0 !important;
    padding: .9rem !important;
    border-radius: 1rem !important;
  }
  .main-panel-admin-plataforma .card-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: .45rem !important;
    margin-bottom: .48rem !important;
  }
  .main-panel-admin-plataforma .card-header > div { min-width: 0; }
  .main-panel-admin-plataforma .card-header h2 {
    margin: 0 !important;
    font-size: clamp(1.16rem, 5.2vw, 1.32rem) !important;
    line-height: 1.15 !important;
  }
  .main-panel-admin-plataforma .card-header h2 i { font-size: .9em !important; }
  .main-panel-admin-plataforma .card-header .muted {
    display: block !important;
    margin-top: .16rem !important;
    font-size: .78rem !important;
    line-height: 1.24 !important;
  }
  .main-panel-admin-plataforma .card-header > .admin-platform-info {
    margin: .06rem 0 0 auto !important;
    align-self: flex-start !important;
  }

  /* Receita e retenção: menor sem alterar métricas ou gráfico. */
  .main-panel-admin-plataforma .admin-platform-health-card {
    position: relative !important;
  }
  .main-panel-admin-plataforma .admin-platform-health-card .card-header > div {
    padding-right: 1.7rem !important;
  }
  .main-panel-admin-plataforma .admin-platform-health-card .card-header > .admin-platform-info {
    position: absolute !important;
    top: .9rem !important;
    right: .9rem !important;
    margin: 0 !important;
    align-self: auto !important;
  }
  .main-panel-admin-plataforma .admin-platform-health-chart-wrap {
    height: 9.8rem !important;
    min-height: 9.8rem !important;
    max-height: 9.8rem !important;
    margin-top: .25rem !important;
  }
  .main-panel-admin-plataforma .admin-platform-health-summary {
    grid-template-columns: 1fr !important;
    gap: .45rem !important;
    margin-top: .55rem !important;
  }
  .main-panel-admin-plataforma .admin-platform-health-summary-item {
    min-height: 3.25rem !important;
    padding: .5rem .58rem !important;
    gap: .48rem !important;
    border-radius: .85rem !important;
  }
  .main-panel-admin-plataforma .admin-platform-health-summary-icon {
    width: 1.85rem !important;
    height: 1.85rem !important;
    font-size: .76rem !important;
  }
  .main-panel-admin-plataforma .admin-platform-health-summary-item small { font-size: .68rem !important; line-height: 1.12 !important; }
  .main-panel-admin-plataforma .admin-platform-health-summary-item strong { font-size: .9rem !important; line-height: 1.1 !important; }

  /* Módulos: donut e legenda enxuta lado a lado. */
  .main-panel-admin-plataforma .admin-platform-module-card .card-header .muted,
  .main-panel-admin-plataforma .admin-platform-base-growth-card .card-header .muted { display: none !important; }
  .main-panel-admin-plataforma .admin-platform-module-card .admin-platform-chart-split {
    display: grid !important;
    grid-template-columns: minmax(6.7rem, 35vw) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .55rem !important;
  }
  .main-panel-admin-plataforma .admin-platform-module-card .admin-platform-chart-canvas-wrap {
    width: min(35vw, 7.8rem) !important;
    height: min(35vw, 7.8rem) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
  }
  .main-panel-admin-plataforma .admin-platform-module-total strong { font-size: 1.05rem !important; }
  .main-panel-admin-plataforma .admin-platform-module-total span { font-size: .5rem !important; line-height: 1.05 !important; }
  .main-panel-admin-plataforma .admin-platform-module-card .admin-platform-chart-ranking,
  .main-panel-admin-plataforma .admin-platform-module-card .admin-platform-chart-ranking.is-adaptive-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .16rem .38rem !important;
  }
  .main-panel-admin-plataforma .admin-platform-module-card .admin-platform-chart-ranking-row {
    display: grid !important;
    grid-template-columns: .42rem minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .34rem !important;
    min-height: 0 !important;
    padding: .12rem 0 !important;
    border: 0 !important;
    line-height: 1.12 !important;
  }
  .main-panel-admin-plataforma .admin-platform-module-card .admin-platform-chart-ranking-row.has-chart-dot {
    padding-left: 0 !important;
  }
  .main-panel-admin-plataforma .admin-platform-module-card .admin-platform-chart-ranking-row.has-chart-dot::before {
    content: none !important;
    display: none !important;
  }
  .main-panel-admin-plataforma .admin-platform-module-card .admin-platform-module-dot {
    display: block !important;
    width: .42rem !important;
    height: .42rem !important;
    border-radius: 999px !important;
    background: var(--module-chart-color, #2563eb) !important;
    align-self: center !important;
    justify-self: center !important;
    margin-top: 0 !important;
  }
  .main-panel-admin-plataforma .admin-platform-module-card .admin-platform-chart-ranking-name {
    font-size: .66rem !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .main-panel-admin-plataforma .admin-platform-module-card .admin-platform-chart-ranking-metric { display: none !important; }

  /* Crescimento: conserva o gráfico e compacta título e legenda do canvas. */
  .main-panel-admin-plataforma .admin-platform-line-chart-wrap {
    height: 12.2rem !important;
    min-height: 12.2rem !important;
    margin-top: .15rem !important;
  }

  /* Formas de pagamento: mesma informação, com a escala de Financeiro. */
  .main-panel-admin-plataforma .admin-platform-payment-showcase { gap: .58rem !important; }
  .main-panel-admin-plataforma .admin-platform-payment-total-sold {
    margin: .08rem 0 .42rem !important;
    padding: .38rem .52rem !important;
    font-size: .67rem !important;
    line-height: 1.12 !important;
  }
  .main-panel-admin-plataforma .admin-platform-payment-total-sold strong { font-size: .78rem !important; }
  .main-panel-admin-plataforma .admin-platform-payment-highlight {
    grid-template-columns: 2.5rem minmax(0, 1fr) !important;
    gap: .52rem !important;
    padding: .62rem !important;
    border-radius: .85rem !important;
  }
  .main-panel-admin-plataforma .admin-platform-payment-method-icon { width: 2.5rem !important; height: 2.5rem !important; }
  .main-panel-admin-plataforma .admin-platform-payment-kicker { font-size: .65rem !important; }
  .main-panel-admin-plataforma .admin-platform-payment-highlight strong { font-size: .88rem !important; }
  .main-panel-admin-plataforma .admin-platform-payment-highlight b { font-size: clamp(1.28rem, 6.4vw, 1.7rem) !important; line-height: 1.04 !important; }
  .main-panel-admin-plataforma .admin-platform-payment-highlight small { margin-top: .12rem !important; font-size: .68rem !important; line-height: 1.14 !important; }
  .main-panel-admin-plataforma .admin-platform-payment-distribution { gap: .48rem !important; }
  .main-panel-admin-plataforma .admin-platform-payment-distribution-title { font-size: .78rem !important; }
  .main-panel-admin-plataforma .admin-platform-payment-bar-row > div { font-size: .76rem !important; }
  .main-panel-admin-plataforma .admin-platform-payment-track { height: .42rem !important; }

  /* Negócios: resumo de leitura rápida, sem a data de cadastro redundante. */
  .main-panel-admin-plataforma .admin-platform-business-grid { gap: .5rem !important; }
  .main-panel-admin-plataforma .admin-platform-business-card { padding: .68rem !important; border-radius: .9rem !important; }
  .main-panel-admin-plataforma .admin-platform-business-card-head {
    display: grid !important;
    grid-template-columns: auto auto minmax(0, 1fr) !important;
    grid-template-areas: "copy copy copy" "status origin plan" "meta meta meta" !important;
    align-items: center !important;
    gap: .34rem .42rem !important;
  }
  .main-panel-admin-plataforma .admin-platform-business-card-copy { grid-area: copy !important; gap: .1rem !important; }
  .main-panel-admin-plataforma .admin-platform-business-card-name { font-size: .92rem !important; line-height: 1.16 !important; -webkit-line-clamp: 2 !important; }
  .main-panel-admin-plataforma .admin-platform-business-card-owner { font-size: .74rem !important; line-height: 1.12 !important; }
  .main-panel-admin-plataforma .admin-platform-business-card-trial,
  .main-panel-admin-plataforma .admin-platform-business-card-head > .badge {
    margin: 0 !important;
    padding: .14rem .42rem !important;
    font-size: .64rem !important;
    line-height: 1.1 !important;
  }
  .main-panel-admin-plataforma .admin-platform-business-card-trial { grid-area: status !important; }
  .main-panel-admin-plataforma .admin-platform-business-card-head > .badge { grid-area: origin !important; justify-self: start !important; }
  .main-panel-admin-plataforma .admin-platform-business-card-plan {
    grid-area: plan !important;
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: .68rem !important;
    line-height: 1.1 !important;
  }
  .main-panel-admin-plataforma .admin-platform-business-card-meta {
    grid-area: meta !important;
    display: flex !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: .12rem 0 0 !important;
    border: 0 !important;
    gap: .35rem !important;
    font-size: .68rem !important;
  }
  .main-panel-admin-plataforma .admin-platform-business-card-date { display: none !important; }
  .main-panel-admin-plataforma .admin-platform-business-card-remaining { justify-content: flex-start !important; font-size: .68rem !important; text-align: left !important; }

  /* A camada não define posição do FAB: o drag nativo mantém left/top/transform. */
}

@media (max-width: 359px) {
  .main-panel-admin-plataforma .admin-platform-primary-kpis { gap: .42rem !important; }
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi { flex-basis: calc((100% - .84rem) / 3) !important; min-width: calc((100% - .84rem) / 3) !important; padding: .46rem !important; }
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi-label { font-size: .61rem !important; }
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi-value { font-size: .9rem !important; }
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi-foot,
  .main-panel-admin-plataforma .admin-platform-primary-kpis .fin-kpi-foot .muted { font-size: .56rem !important; }
  .main-panel-admin-plataforma .admin-platform-module-card .admin-platform-chart-split { grid-template-columns: 6.25rem minmax(0, 1fr) !important; gap: .4rem !important; }
  .main-panel-admin-plataforma .admin-platform-module-card .admin-platform-chart-canvas-wrap { width: 6.25rem !important; height: 6.25rem !important; }
  .main-panel-admin-plataforma .admin-platform-module-card .admin-platform-chart-ranking { gap: .1rem .25rem !important; }
  .main-panel-admin-plataforma .admin-platform-module-card .admin-platform-chart-ranking-name { font-size: .6rem !important; }
}

/* Saúde da Plataforma no mobile: regra isolada para impedir que as grades
   executivas do desktop comprimam a leitura em telas estreitas. */
@media (max-width: 768px) {
  .main-panel-admin-plataforma .topbar:has(.platform-health-actions) {
    grid-template-columns: var(--mobile-control) minmax(0, 1fr) var(--mobile-control) !important;
    align-items: center !important;
    gap: .5rem !important;
    min-height: var(--mobile-control) !important;
  }

  .main-panel-admin-plataforma .topbar:has(.platform-health-actions) .topbar-title {
    display: none !important;
  }

  .main-panel-admin-plataforma .topbar:has(.platform-health-actions) .topbar-actions {
    display: grid !important;
    grid-column: 2 / -1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .main-panel-admin-plataforma .topbar:has(.platform-health-actions) .topbar-actions > .platform-health-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--mobile-control) !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: .5rem !important;
  }

  .main-panel-admin-plataforma .platform-health-period-form {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .main-panel-admin-plataforma .platform-health-period-form > .module-period-select.mobile-select-sheet-source + .mobile-select-sheet-trigger,
  .main-panel-admin-plataforma .platform-health-period-form > .module-period-select:not(.mobile-select-sheet-source) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: var(--mobile-control) !important;
    min-height: var(--mobile-control) !important;
    max-height: var(--mobile-control) !important;
    margin: 0 !important;
    padding-block: 0 !important;
    border-radius: var(--mobile-radius) !important;
    font-size: .86rem !important;
    line-height: 1 !important;
  }

  .main-panel-admin-plataforma .platform-health-period-form > .mobile-select-sheet-trigger > span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .main-panel-admin-plataforma .platform-health-actions > .btn {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--mobile-control) !important;
    min-width: var(--mobile-control) !important;
    max-width: var(--mobile-control) !important;
    height: var(--mobile-control) !important;
    min-height: var(--mobile-control) !important;
    max-height: var(--mobile-control) !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: var(--mobile-radius) !important;
  }

  .main-panel-admin-plataforma .platform-health-actions > .btn .platform-health-back-label {
    display: none !important;
  }

  .main-panel-admin-plataforma .platform-health-page {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: .72rem !important;
  }

  .main-panel-admin-plataforma .platform-health-page > .card,
  .main-panel-admin-plataforma .platform-health-priority-grid > .card {
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: .88rem !important;
    border-radius: 1rem !important;
  }

  .main-panel-admin-plataforma .platform-health-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: .52rem !important;
    min-height: 0 !important;
    padding: .88rem !important;
  }

  .main-panel-admin-plataforma .platform-health-hero-context {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: .34rem .5rem !important;
    min-width: 0 !important;
    padding: 0 0 .5rem !important;
    border: 0 !important;
    border-bottom: 1px solid #e7edf5 !important;
  }

  .main-panel-admin-plataforma .platform-health-hero-context strong {
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
    color: var(--ink-900) !important;
    font-size: 1rem !important;
    line-height: 1.18 !important;
  }

  .main-panel-admin-plataforma .platform-health-hero-context strong i {
    flex: 0 0 auto !important;
    margin-right: .34rem !important;
    color: #2563eb !important;
  }

  .main-panel-admin-plataforma .platform-health-source {
    width: fit-content !important;
    margin: 0 !important;
    padding: .14rem .42rem !important;
    border-radius: 999px !important;
    color: #167b42 !important;
    background: #dcfce7 !important;
    font-size: .66rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
  }

  .main-panel-admin-plataforma .platform-health-hero-copy {
    display: grid !important;
    gap: .26rem !important;
    min-width: 0 !important;
  }

  .main-panel-admin-plataforma .platform-health-status-line {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .main-panel-admin-plataforma .platform-health-hero .platform-health-status {
    width: fit-content !important;
    margin: 0 !important;
    padding: .14rem .42rem !important;
    font-size: .68rem !important;
  }

  .main-panel-admin-plataforma .platform-health-hero-copy p {
    margin: 0 !important;
    color: var(--ink-900) !important;
    font-size: .9rem !important;
    font-weight: 800 !important;
    line-height: 1.24 !important;
  }

  .main-panel-admin-plataforma .platform-health-hero-copy > small {
    display: block !important;
    margin: 0 !important;
    color: var(--ink-500) !important;
    font-size: .75rem !important;
    line-height: 1.3 !important;
  }

  .main-panel-admin-plataforma .platform-health-hero-meta {
    display: flex !important;
    grid-column: auto !important;
    align-items: baseline !important;
    gap: .42rem !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: .46rem 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #e7edf5 !important;
    color: var(--ink-500) !important;
    font-size: .7rem !important;
    line-height: 1.2 !important;
  }

  .main-panel-admin-plataforma .platform-health-hero-meta strong {
    min-width: 0 !important;
    color: var(--ink-900) !important;
    font-size: .76rem !important;
    overflow-wrap: anywhere !important;
  }

  .main-panel-admin-plataforma .platform-health-priority-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: .72rem !important;
  }

  .main-panel-admin-plataforma .platform-health-services .card-header,
  .main-panel-admin-plataforma .platform-health-capacity .card-header {
    display: block !important;
    margin: 0 0 .58rem !important;
  }

  .main-panel-admin-plataforma .platform-health-services .card-header h2,
  .main-panel-admin-plataforma .platform-health-capacity .card-header h2,
  .main-panel-admin-plataforma .platform-health-diagnostic-header h2 {
    margin: 0 !important;
    color: var(--ink-900) !important;
    font-size: 1.14rem !important;
    line-height: 1.17 !important;
  }

  .main-panel-admin-plataforma .platform-health-services .card-header .muted,
  .main-panel-admin-plataforma .platform-health-capacity .card-header .muted {
    display: block !important;
    margin-top: .16rem !important;
    color: var(--ink-500) !important;
    font-size: .76rem !important;
    line-height: 1.28 !important;
  }

  .main-panel-admin-plataforma .platform-health-service-list {
    display: grid !important;
    gap: .12rem !important;
  }

  .main-panel-admin-plataforma .platform-health-service {
    display: grid !important;
    grid-template-columns: 2.15rem minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .5rem !important;
    min-height: 0 !important;
    padding: .48rem 0 !important;
  }

  .main-panel-admin-plataforma .platform-health-service-icon {
    display: grid !important;
    width: 2.05rem !important;
    height: 2.05rem !important;
    place-items: center !important;
    border-radius: .66rem !important;
    font-size: .72rem !important;
  }

  .main-panel-admin-plataforma .platform-health-service-copy {
    min-width: 0 !important;
  }

  .main-panel-admin-plataforma .platform-health-service-copy strong,
  .main-panel-admin-plataforma .platform-health-service-copy small {
    display: block !important;
    overflow-wrap: anywhere !important;
  }

  .main-panel-admin-plataforma .platform-health-service-copy strong {
    color: var(--ink-900) !important;
    font-size: .86rem !important;
    line-height: 1.16 !important;
  }

  .main-panel-admin-plataforma .platform-health-service-copy small {
    margin-top: .1rem !important;
    color: var(--ink-500) !important;
    font-size: .7rem !important;
    line-height: 1.24 !important;
  }

  .main-panel-admin-plataforma .platform-health-service > .platform-health-status {
    justify-self: end !important;
    align-self: center !important;
    margin: 0 !important;
    padding: .13rem .36rem !important;
    font-size: .62rem !important;
    line-height: 1.14 !important;
    white-space: nowrap !important;
  }

  .main-panel-admin-plataforma .platform-health-services-summary {
    display: flex !important;
    align-items: center !important;
    gap: .42rem !important;
    min-width: 0 !important;
    margin-top: .42rem !important;
    padding-top: .52rem !important;
    border-top: 1px solid #e7edf5 !important;
    font-size: .74rem !important;
    line-height: 1.22 !important;
  }

  .main-panel-admin-plataforma .platform-health-services-summary > span {
    min-width: 0 !important;
  }

  .main-panel-admin-plataforma .platform-health-capacity-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .58rem !important;
    margin: 0 !important;
  }

  .main-panel-admin-plataforma .platform-health-capacity-bars {
    display: grid !important;
    gap: .54rem !important;
  }

  .main-panel-admin-plataforma .platform-health-capacity-row {
    display: grid !important;
    gap: .22rem !important;
    min-width: 0 !important;
  }

  .main-panel-admin-plataforma .platform-health-capacity-label {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "title status" "value status" !important;
    align-items: center !important;
    gap: .14rem .46rem !important;
    min-width: 0 !important;
    font-size: .76rem !important;
  }

  .main-panel-admin-plataforma .platform-health-capacity-label strong {
    grid-area: title !important;
    min-width: 0 !important;
    color: var(--ink-900) !important;
    line-height: 1.16 !important;
  }

  .main-panel-admin-plataforma .platform-health-capacity-label span {
    grid-area: value !important;
    min-width: 0 !important;
    color: var(--ink-600) !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
    overflow-wrap: anywhere !important;
  }

  .main-panel-admin-plataforma .platform-health-capacity-label em {
    grid-area: status !important;
    align-self: center !important;
    margin: 0 !important;
    padding: .12rem .35rem !important;
    font-size: .61rem !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .main-panel-admin-plataforma .platform-health-progress {
    height: .36rem !important;
  }

  .main-panel-admin-plataforma .platform-health-capacity-row > small {
    display: block !important;
    min-width: 0 !important;
    color: var(--ink-500) !important;
    font-size: .68rem !important;
    line-height: 1.22 !important;
    overflow-wrap: anywhere !important;
  }

  .main-panel-admin-plataforma .platform-health-tip {
    display: grid !important;
    grid-template-columns: 1rem minmax(0, 1fr) !important;
    align-items: start !important;
    gap: .46rem !important;
    margin: 0 !important;
    padding: .56rem .6rem !important;
    border-radius: .7rem !important;
  }

  .main-panel-admin-plataforma .platform-health-tip > i {
    margin-top: .06rem !important;
    font-size: .8rem !important;
  }

  .main-panel-admin-plataforma .platform-health-tip > div {
    min-width: 0 !important;
  }

  .main-panel-admin-plataforma .platform-health-tip strong,
  .main-panel-admin-plataforma .platform-health-tip small {
    display: block !important;
    margin: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .main-panel-admin-plataforma .platform-health-tip strong {
    font-size: .72rem !important;
    line-height: 1.25 !important;
  }

  .main-panel-admin-plataforma .platform-health-tip small {
    margin-top: .14rem !important;
    color: var(--ink-600) !important;
    font-size: .68rem !important;
    line-height: 1.24 !important;
  }

  .main-panel-admin-plataforma .platform-health-diagnostic {
    min-height: 0 !important;
  }

  .main-panel-admin-plataforma .platform-health-diagnostic-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .34rem !important;
    margin: 0 0 .62rem !important;
  }

  .main-panel-admin-plataforma .platform-health-diagnostic-header p {
    margin: .14rem 0 0 !important;
    color: var(--ink-500) !important;
    font-size: .76rem !important;
    line-height: 1.28 !important;
  }

  .main-panel-admin-plataforma .platform-health-diagnostic-header > span {
    justify-self: start !important;
    width: fit-content !important;
    margin: 0 !important;
    padding: .14rem .42rem !important;
    border-radius: 999px !important;
    color: var(--ink-600) !important;
    background: #eef3f8 !important;
    font-size: .66rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
  }

  .main-panel-admin-plataforma .platform-health-diagnostic-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .52rem !important;
    min-width: 0 !important;
  }

  .main-panel-admin-plataforma .platform-health-infrastructure-grid,
  .main-panel-admin-plataforma .platform-health-technical-services-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .45rem !important;
    min-width: 0 !important;
  }

  .main-panel-admin-plataforma .platform-health-infrastructure-grid > div,
  .main-panel-admin-plataforma .platform-health-technical-services-grid > div {
    display: grid !important;
    align-content: center !important;
    gap: .16rem !important;
    min-width: 0 !important;
    min-height: 4.2rem !important;
    padding: .58rem .64rem !important;
    border-radius: .78rem !important;
  }

  .main-panel-admin-plataforma .platform-health-infrastructure-grid small,
  .main-panel-admin-plataforma .platform-health-technical-services-grid small {
    display: block !important;
    min-width: 0 !important;
    color: var(--ink-500) !important;
    font-size: .66rem !important;
    font-weight: 750 !important;
    line-height: 1.18 !important;
    overflow-wrap: anywhere !important;
  }

  .main-panel-admin-plataforma .platform-health-infrastructure-grid strong,
  .main-panel-admin-plataforma .platform-health-technical-services-grid strong {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: var(--ink-900) !important;
    font-size: .82rem !important;
    line-height: 1.18 !important;
    overflow-wrap: anywhere !important;
  }

  .main-panel-admin-plataforma .platform-health-tech-metrics {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .32rem !important;
    min-width: 0 !important;
  }

  .main-panel-admin-plataforma .platform-health-tech-metrics > span {
    min-width: 0 !important;
    padding: .46rem .54rem !important;
    font-size: .7rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }
}

@media (max-width: 359px) {
  .main-panel-admin-plataforma .topbar:has(.platform-health-actions) {
    gap: .36rem !important;
  }

  .main-panel-admin-plataforma .topbar:has(.platform-health-actions) .topbar-actions > .platform-health-actions {
    gap: .36rem !important;
  }

  .main-panel-admin-plataforma .platform-health-infrastructure-grid,
  .main-panel-admin-plataforma .platform-health-technical-services-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Negócios cadastrados no mobile: as informações permanecem as mesmas,
   mas a grade dá prioridade ao nome e ancora os dois selos nos cantos. */
@media (max-width: 768px) {
  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-grid {
    gap: .5rem !important;
  }

  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-card {
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: .68rem !important;
    border-radius: .9rem !important;
  }

  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-card-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content max-content !important;
    grid-template-areas:
      "name name status"
      "owner owner status"
      "plan remaining origin" !important;
    align-items: center !important;
    gap: .16rem .34rem !important;
    min-width: 0 !important;
  }

  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-card-copy,
  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-card-meta {
    display: contents !important;
  }

  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-card-name {
    grid-area: name !important;
    display: -webkit-box !important;
    min-width: 0 !important;
    max-height: 2.34em !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    color: var(--ink-900) !important;
    font-size: .94rem !important;
    font-weight: 800 !important;
    line-height: 1.17 !important;
    overflow-wrap: anywhere !important;
  }

  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-card-owner {
    grid-area: owner !important;
    min-width: 0 !important;
    overflow: hidden !important;
    color: #7486a6 !important;
    font-size: .74rem !important;
    font-weight: 500 !important;
    line-height: 1.14 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-card-trial {
    grid-area: status !important;
    align-self: start !important;
    justify-self: end !important;
    width: fit-content !important;
    margin: 0 !important;
    padding: .14rem .42rem !important;
    font-size: .64rem !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-card-head > .badge {
    grid-area: origin !important;
    align-self: end !important;
    justify-self: end !important;
    width: fit-content !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: .14rem .42rem !important;
    font-size: .64rem !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-card-plan {
    grid-area: plan !important;
    min-width: 0 !important;
    overflow: hidden !important;
    color: #566b8e !important;
    font-size: .7rem !important;
    font-weight: 750 !important;
    line-height: 1.16 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-card-date {
    display: none !important;
  }

  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-card-remaining {
    grid-area: remaining !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-self: start !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #566b8e !important;
    font-size: .7rem !important;
    font-weight: 750 !important;
    line-height: 1.16 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-card-remaining::before {
    content: "—";
    margin-right: .28rem;
    color: #93a1b7;
  }
}

@media (max-width: 374px) {
  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-card-head {
    grid-template-columns: minmax(0, 1fr) max-content !important;
    grid-template-areas:
      "name status"
      "owner status"
      "plan origin"
      "remaining origin" !important;
    gap: .16rem .34rem !important;
  }

  .main-panel-admin-plataforma .admin-platform-businesses-card .admin-platform-business-card-remaining::before {
    margin-right: .22rem;
  }
}

/* Filtros estratégicos: no desktop o formulário permanece como o popover do
   cabeçalho; no mobile utiliza o mesmo contrato de sheet do configurador. */
@media (min-width: 769px) {
  #adminPlatformFilterModal {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: contents !important;
    padding: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-popover {
    position: absolute !important;
    top: calc(100% + .55rem) !important;
    right: 0 !important;
    display: grid !important;
    flex: none !important;
    width: min(330px, calc(100vw - 2rem)) !important;
    max-height: none !important;
    margin: 0 !important;
    padding: .92rem !important;
    gap: .68rem !important;
    overflow: visible !important;
    border-radius: 14px !important;
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-popover[hidden] {
    display: none !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-popover-head {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-popover-head h2 {
    margin: 0 !important;
    color: var(--ink-900) !important;
    font-size: .94rem !important;
    font-weight: 750 !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-popover-head .modal-close {
    width: 30px !important;
    height: 30px !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-body {
    display: grid !important;
    gap: .68rem !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .65rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
}

@media (max-width: 768px) {
  #adminPlatformFilterModal {
    position: fixed !important;
    top: var(--mobile-visual-viewport-top, 0px) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    z-index: var(--mobile-modal-z, 11000) !important;
    height: var(--mobile-visual-viewport-height, 100dvh) !important;
    min-height: 0 !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding:
      max(1rem, env(safe-area-inset-top, 0px))
      .58rem
      max(.72rem, env(safe-area-inset-bottom, 0px)) !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-popover {
    box-sizing: border-box !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: min(100%, 540px) !important;
    height: auto !important;
    max-height: min(92dvh, 720px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex: 0 1 auto !important;
    flex-direction: column !important;
    gap: 0 !important;
    overflow: hidden !important;
    border-radius: 22px 22px 18px 18px !important;
    background: #fff !important;
    animation: none !important;
    opacity: 0;
    transform: translateY(calc(100% + 1rem));
    transition: transform .22s cubic-bezier(.22, .8, .25, 1), opacity .18s ease !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-popover[hidden] {
    display: none !important;
  }

  #adminPlatformFilterModal.is-open.is-visible .admin-platform-filter-popover {
    opacity: 1;
    transform: translateY(0);
  }

  #adminPlatformFilterModal .admin-platform-filter-popover-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
    flex: 0 0 auto !important;
    min-height: 58px !important;
    padding: .82rem .94rem !important;
    background: rgba(255, 255, 255, .98) !important;
    border-bottom: 1px solid #e8eef8 !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-popover-head h2 {
    min-width: 0 !important;
    margin: 0 !important;
    color: #111c35 !important;
    font-size: clamp(1.02rem, 4.5vw, 1.18rem) !important;
    font-weight: 850 !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-popover-head .modal-close {
    flex: 0 0 auto !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 12px !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: .78rem .94rem .24rem !important;
    gap: .7rem !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-body .field {
    min-width: 0 !important;
    margin: 0 !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-body .field > span {
    display: block !important;
    margin-bottom: .32rem !important;
    color: var(--ink-700, #34415f) !important;
    font-size: .79rem !important;
    font-weight: 750 !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-body .select,
  #adminPlatformFilterModal .admin-platform-filter-body .input {
    width: 100% !important;
    min-width: 0 !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-actions {
    box-sizing: border-box !important;
    position: relative !important;
    bottom: auto !important;
    z-index: 3 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: .5rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: .72rem 1rem calc(.72rem + env(safe-area-inset-bottom, 0px)) !important;
    background: rgba(255, 255, 255, .98) !important;
    border-top: 1px solid #e6edf7 !important;
    box-shadow: 0 -10px 22px rgba(15, 23, 42, .06) !important;
    flex: 0 0 auto !important;
  }

  #adminPlatformFilterModal .admin-platform-filter-actions .btn {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 .58rem !important;
    border-radius: 13px !important;
    gap: .38rem !important;
    font-size: .82rem !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 380px) {
  #adminPlatformFilterModal .admin-platform-filter-actions {
    padding-right: .68rem !important;
    padding-left: .68rem !important;
    gap: .42rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #adminPlatformFilterModal .admin-platform-filter-popover {
    transition: none !important;
  }
}

/* Detalhe do negócio: ajustes exclusivamente para a leitura mobile. */
.admin-platform-payment-mobile-list {
  display: none;
}

.main-panel-admin-plataforma .admin-platform-access-resend-section {
  display: flex;
  justify-content: center;
  padding: .25rem 0 .5rem;
}

.main-panel-admin-plataforma .admin-platform-access-resend-section form {
  margin: 0;
}

.main-panel-admin-plataforma .admin-platform-access-resend-button {
  min-height: 44px;
  padding-inline: 1.05rem;
}

.main-panel-admin-plataforma .admin-platform-access-resend-unavailable {
  max-width: 40rem;
  margin: 0;
  text-align: center;
}

@media (max-width: 768px) {
  .main-panel-admin-plataforma .admin-platform-payment-table-wrap {
    display: none !important;
  }

  .main-panel-admin-plataforma .admin-platform-payment-mobile-list {
    display: grid !important;
    gap: .5rem;
  }

  .main-panel-admin-plataforma .admin-platform-payment-mobile-item {
    display: grid;
    gap: .42rem;
    padding: .68rem .76rem;
    border: 1px solid #dfe8f5;
    border-radius: 15px;
    background: #fbfdff;
  }

  .main-panel-admin-plataforma .admin-platform-payment-mobile-main,
  .main-panel-admin-plataforma .admin-platform-payment-mobile-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
  }

  .main-panel-admin-plataforma .admin-platform-payment-mobile-main > div {
    display: grid;
    gap: .12rem;
    min-width: 0;
  }

  .main-panel-admin-plataforma .admin-platform-payment-mobile-value {
    text-align: right;
  }

  .main-panel-admin-plataforma .admin-platform-payment-mobile-label {
    color: #7183a5;
    font-size: .72rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .025em;
  }

  .main-panel-admin-plataforma .admin-platform-payment-mobile-main strong {
    color: #121d3a;
    font-size: .98rem;
    line-height: 1.2;
  }

  .main-panel-admin-plataforma .admin-platform-payment-mobile-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
    color: #5f7398;
    font-size: .84rem;
    line-height: 1.35;
  }

  .main-panel-admin-plataforma .admin-platform-payment-mobile-meta i {
    width: 1.05rem;
    color: #5d78af;
  }

  .main-panel-admin-plataforma .admin-platform-payment-mobile-period {
    display: block;
    overflow-wrap: anywhere;
    color: #5f7398;
    font-size: .82rem;
    line-height: 1.3;
  }

  .main-panel-admin-plataforma .admin-platform-payment-mobile-period i {
    width: 1.05rem;
    color: #5d78af;
  }

  .main-panel-admin-plataforma .admin-platform-payment-mobile-status .btn {
    min-height: 34px;
    padding: .35rem .58rem;
    font-size: .78rem;
  }

  .main-panel-admin-plataforma .admin-platform-payment-mobile-observation {
    margin: 0;
    color: #657797;
    font-size: .8rem;
    line-height: 1.3;
  }

  #adminPlatformDeleteBusinessModal.admin-platform-delete-sheet-modal {
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 1rem 0 0 !important;
    background: rgba(15, 23, 42, .52) !important;
  }

  #adminPlatformDeleteBusinessModal .admin-platform-delete-modal.mobile-panel-config-sheet {
    box-sizing: border-box !important;
    display: flex !important;
    flex: 0 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 42rem !important;
    max-height: calc(100dvh - 1rem) !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dbe5f3 !important;
    border-radius: 22px 22px 0 0 !important;
    box-shadow: 0 -16px 42px rgba(15, 23, 42, .22) !important;
    transform: translateY(100%);
    animation: admin-platform-delete-sheet-in .22s ease-out forwards;
  }

  #adminPlatformDeleteBusinessModal.is-closing .admin-platform-delete-modal.mobile-panel-config-sheet {
    animation: admin-platform-delete-sheet-out .18s ease-in forwards;
  }

  #adminPlatformDeleteBusinessModal .admin-platform-delete-modal form {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
  }

  #adminPlatformDeleteBusinessModal .modal-head {
    flex: 0 0 auto;
    padding: .9rem 1rem .72rem !important;
    border-bottom: 1px solid #e4ebf5;
  }

  #adminPlatformDeleteBusinessModal .modal-head h2 {
    font-size: 1.1rem !important;
  }

  #adminPlatformDeleteBusinessModal .modal-body {
    min-height: 0;
    padding: .88rem 1rem !important;
    overflow-y: auto;
  }

  #adminPlatformDeleteBusinessModal .modal-body > p {
    margin: 0;
    color: #607391;
    font-size: .9rem;
    line-height: 1.42;
  }

  #adminPlatformDeleteBusinessModal .admin-platform-delete-summary {
    display: grid;
    gap: .34rem;
    padding: .72rem .78rem;
    border-radius: 13px;
  }

  #adminPlatformDeleteBusinessModal .admin-platform-delete-summary span {
    overflow-wrap: anywhere;
  }

  #adminPlatformDeleteBusinessModal .admin-platform-delete-ineligible-message {
    padding: .7rem .76rem;
    font-size: .85rem;
    line-height: 1.38;
  }

  #adminPlatformDeleteBusinessModal .modal-foot {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: .58rem !important;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: .72rem 1rem calc(.72rem + env(safe-area-inset-bottom, 0px)) !important;
    border-top: 1px solid #e4ebf5;
    background: #fff;
  }

  #adminPlatformDeleteBusinessModal .modal-foot .btn {
    min-width: 0;
    min-height: 42px;
    padding-inline: .55rem;
    font-size: .84rem;
    white-space: nowrap;
  }

  #adminPlatformDeleteBusinessModal .admin-platform-delete-confirm-button:disabled {
    cursor: not-allowed;
    opacity: .48;
  }
}

@keyframes admin-platform-delete-sheet-in {
  to { transform: translateY(0); }
}

@keyframes admin-platform-delete-sheet-out {
  to { transform: translateY(100%); }
}

@media (prefers-reduced-motion: reduce) {
  #adminPlatformDeleteBusinessModal .admin-platform-delete-modal.mobile-panel-config-sheet {
    animation: none !important;
    transform: none !important;
  }
}

/* Clientes reutiliza o contrato do cabeçalho expansível do Painel
   Administrativo. Esta camada final neutraliza somente os posicionamentos
   móveis legados que abriam a busca sobre os demais controles. */
@media (max-width: 720px) {
  .main-panel-clientes .topbar {
    grid-template-columns: var(--mobile-control) minmax(0, 1fr) auto !important;
    gap: .5rem !important;
    min-height: var(--mobile-control) !important;
  }

  .main-panel-clientes .topbar-title { min-width: 0 !important; }

  .main-panel-clientes .topbar-title h1 {
    margin: 0 !important;
    font-size: clamp(1rem, 4.6vw, 1.2rem) !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .main-panel-clientes .topbar-title .muted { display: none !important; }

  .main-panel-clientes .topbar-actions {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: auto !important;
    margin: 0 !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    align-self: center !important;
  }

  .main-panel-clientes .mobile-menu-btn,
  .main-panel-clientes .clientes-toolbar,
  .main-panel-clientes .clientes-header-search,
  .main-panel-clientes .clientes-toolbar .menu {
    align-self: center !important;
  }

  .main-panel-clientes .mobile-menu-btn,
  .main-panel-clientes .clientes-toolbar,
  .main-panel-clientes .clientes-header-search,
  .main-panel-clientes .clientes-toolbar .menu,
  .main-panel-clientes .clientes-header-search .module-icon-button,
  .main-panel-clientes .clientes-toolbar .clientes-icon-btn {
    box-sizing: border-box !important;
    block-size: var(--mobile-control) !important;
    min-block-size: var(--mobile-control) !important;
    max-block-size: var(--mobile-control) !important;
    margin-block: 0 !important;
  }

  .main-panel-clientes .clientes-toolbar {
    display: flex !important;
    align-items: center !important;
    gap: .38rem !important;
  }

  .main-panel-clientes .clientes-header-search,
  .main-panel-clientes .clientes-toolbar .menu,
  .main-panel-clientes .clientes-header-search .module-icon-button,
  .main-panel-clientes .clientes-toolbar .clientes-icon-btn {
    flex: 0 0 var(--mobile-control) !important;
    width: var(--mobile-control) !important;
    min-width: var(--mobile-control) !important;
    max-width: var(--mobile-control) !important;
  }

  .main-panel-clientes .clientes-header-search {
    position: relative !important;
    height: var(--mobile-control) !important;
    transition: flex-basis .22s ease, width .22s ease;
  }

  .main-panel-clientes .clientes-header-search [data-expandable-search-form] {
    display: flex !important;
    align-items: center !important;
    inset: 0 !important;
    width: 100% !important;
    block-size: var(--mobile-control) !important;
    min-block-size: var(--mobile-control) !important;
    max-block-size: var(--mobile-control) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding-block: 0 !important;
    padding-inline: .72rem calc(var(--mobile-control) + .4rem) !important;
    border-radius: var(--mobile-radius) !important;
  }

  .main-panel-clientes .clientes-header-search [data-expandable-search-form][hidden] {
    display: none !important;
  }

  .main-panel-clientes .clientes-header-search [data-expandable-search-input] {
    display: block !important;
    flex: 1 1 auto !important;
    box-sizing: border-box !important;
    block-size: 100% !important;
    min-block-size: 0 !important;
    max-block-size: 100% !important;
    margin: 0 !important;
    padding-block: 0 !important;
    line-height: 1 !important;
  }

  .main-panel-clientes .clientes-header-search.is-open {
    /* A regra legada usava top/right absolutos neste estado. Manter o
       componente no fluxo do toolbar o centraliza no mesmo eixo dos botões. */
    position: relative !important;
    inset: auto !important;
    align-self: center !important;
    margin-block: 0 !important;
    flex-basis: calc(100vw - var(--mobile-gutter) - var(--mobile-gutter) - var(--mobile-control) - var(--mobile-control) - .38rem) !important;
    width: calc(100vw - var(--mobile-gutter) - var(--mobile-gutter) - var(--mobile-control) - var(--mobile-control) - .38rem) !important;
    max-width: none !important;
  }

  .main-panel-clientes .topbar:has(.clientes-header-search.is-open) .topbar-actions {
    position: relative !important;
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: 100% !important;
    z-index: 12 !important;
    transform: none !important;
  }

  .main-panel-clientes .topbar:has(.clientes-header-search.is-open) .clientes-toolbar {
    width: 100% !important;
  }

  .main-panel-clientes .topbar:has(.clientes-header-search.is-open) .clientes-header-search.is-open {
    position: relative !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }
}

/* Pacotes de Clientes ↔ Financeiro: mantém as ações legíveis no mobile e
   prioriza o cliente real no lançamento originado pelo pacote. */
.cliente-plano-receive-action { white-space: nowrap; }

@media (max-width: 720px) {
  .cliente-plano-active-card .cliente-plano-actions--with-payment {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: .55rem !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment .cliente-plano-receive-action,
  .cliente-plano-active-card .cliente-plano-actions--with-payment .cliente-plano-schedule-action {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    padding-inline: .58rem !important;
    justify-content: center !important;
    font-size: clamp(.72rem, 3.5vw, .88rem) !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment .cliente-plano-receive-action { order: 1; }
  .cliente-plano-active-card .cliente-plano-actions--with-payment .cliente-plano-schedule-action { order: 2; }
  .cliente-plano-active-card .cliente-plano-actions--with-payment .cliente-plano-delete {
    grid-column: 2;
    justify-self: end;
    order: 3;
  }

  .cliente-plano-history-card .cliente-plano-actions--with-payment {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .55rem !important;
  }

  .cliente-plano-history-card .cliente-plano-actions--with-payment .cliente-plano-receive-action,
  .cliente-plano-history-card .cliente-plano-actions--with-payment .cliente-plano-renew-action {
    grid-column: auto !important;
    width: 100% !important;
    min-height: 48px !important;
    justify-self: stretch !important;
    justify-content: center !important;
    padding-inline: .58rem !important;
    font-size: clamp(.72rem, 3.5vw, .88rem) !important;
  }

  .cliente-plano-history-card .cliente-plano-actions--with-payment .cliente-plano-delete {
    grid-column: 2;
    justify-self: end;
  }
}

/* Recebimento de pacotes: no celular o diálogo é um bottom sheet e as ações
   derivadas do saldo financeiro permanecem na mesma linha lógica do card. */
.cliente-plano-history-payment-note {
  grid-column: 1 / -1;
  margin: .15rem 0 0;
  color: var(--ink-600);
  font-size: .84rem;
  line-height: 1.35;
}

@media (max-width: 720px) {
  .cliente-plano-active-card .cliente-plano-actions--with-payment {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .55rem !important;
    width: 100% !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment.cliente-plano-actions--with-delete {
    grid-template-columns: 52px minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment .cliente-plano-receive-action,
  .cliente-plano-active-card .cliente-plano-actions--with-payment .cliente-plano-schedule-action {
    grid-column: auto !important;
    order: initial !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    padding-inline: .5rem !important;
    justify-content: center !important;
    font-size: clamp(.72rem, 3.45vw, .88rem) !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment.cliente-plano-actions--with-delete .cliente-plano-delete {
    grid-column: 1 !important;
    grid-row: 1 !important;
    order: initial !important;
    justify-self: stretch !important;
    width: 52px !important;
    min-width: 52px !important;
    min-height: 50px !important;
    padding: 0 !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment.cliente-plano-actions--with-delete .cliente-plano-receive-action {
    grid-column: 2 !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment.cliente-plano-actions--with-delete .cliente-plano-schedule-action {
    grid-column: 3 !important;
  }

  .cliente-plano-history-card .cliente-plano-actions--with-payment {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .55rem !important;
  }

  .cliente-plano-history-card .cliente-plano-actions--with-payment .cliente-plano-receive-action,
  .cliente-plano-history-card .cliente-plano-actions--with-payment .cliente-plano-renew-action {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    padding-inline: .58rem !important;
    justify-content: center !important;
    font-size: clamp(.72rem, 3.45vw, .88rem) !important;
  }

  .cliente-plano-payment-modal {
    align-items: flex-end !important;
    justify-content: center !important;
    padding: max(.5rem, env(safe-area-inset-top)) 0 0 !important;
  }

  .cliente-plano-payment-modal .cliente-plano-payment-modal-card {
    align-self: flex-end !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 560px !important;
    max-height: min(86dvh, 660px) !important;
    margin: 0 !important;
    overflow: auto !important;
    border-radius: 20px 20px 0 0 !important;
    border-inline: 1px solid #dce6f2 !important;
    border-bottom: 0 !important;
    box-shadow: 0 -14px 42px rgba(15, 35, 69, .18) !important;
  }

  .cliente-plano-payment-modal .modal-head {
    min-height: 64px;
    padding: .85rem 1rem;
  }

  .cliente-plano-payment-modal .cliente-plano-modal-form {
    gap: .78rem;
    padding: .9rem 1rem calc(.9rem + env(safe-area-inset-bottom, 0px));
  }

  .cliente-plano-payment-modal .cliente-plano-modal-context {
    gap: .46rem .72rem;
    padding: .72rem;
    border-radius: 13px;
  }

  .cliente-plano-payment-modal .cliente-plano-modal-context strong {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .cliente-plano-payment-modal .form-grid,
  .cliente-plano-payment-modal .modal-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .56rem;
  }

  .cliente-plano-payment-modal .modal-actions {
    margin: .12rem 0 0;
    padding-top: .78rem;
  }

  .cliente-plano-payment-modal .modal-actions .btn {
    min-width: 0;
    min-height: 46px;
    padding-inline: .55rem;
  }
}

/* Pacotes e Financeiro — refinamento de hierarquia móvel.
   Apenas apresentação: ações, estados e identificadores continuam iguais. */
.cliente-plano-receive-label-short { display: none; }

.cliente-plano-payment-confirm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  text-align: center;
}

@media (max-width: 720px) {
  .cliente-plano-history-card .cliente-plano-actions--with-payment {
    align-items: stretch !important;
    gap: .56rem !important;
  }

  .cliente-plano-history-card .cliente-plano-actions--with-payment .cliente-plano-receive-action,
  .cliente-plano-history-card .cliente-plano-actions--with-payment .cliente-plano-renew-action {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: 48px !important;
    gap: .36rem !important;
    padding-inline: .54rem !important;
    border-radius: 12px !important;
    font-size: clamp(.76rem, 3.25vw, .9rem) !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden;
  }

  .cliente-plano-history-card .cliente-plano-actions--with-payment .cliente-plano-receive-action i,
  .cliente-plano-history-card .cliente-plano-actions--with-payment .cliente-plano-renew-action i {
    flex: 0 0 auto;
    font-size: .9em !important;
    line-height: 1 !important;
  }

  .cliente-plano-history-card .cliente-plano-actions--with-payment .cliente-plano-receive-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media (max-width: 460px) {
  .cliente-plano-history-card .cliente-plano-actions--with-payment .cliente-plano-receive-label-full { display: none; }
  .cliente-plano-history-card .cliente-plano-actions--with-payment .cliente-plano-receive-label-short { display: inline; }
}

@media (max-width: 640px) {
  /* O grid já existe; estas regras redefinem somente a leitura dos dados
     dentro de cada área: título, cliente/data, valor/status e origem/ações. */
  .main-panel-financeiro .fin-table tr {
    grid-template-areas:
      "desc value"
      "date status"
      "origin actions" !important;
    align-items: start !important;
    gap: .32rem .6rem !important;
    padding: .66rem .72rem !important;
  }

  .main-panel-financeiro .fin-table .fin-move-sub,
  .main-panel-financeiro .fin-table .fin-movement-dates {
    display: none !important;
  }

  .main-panel-financeiro .fin-table .fin-cell-date {
    display: grid !important;
    align-content: start;
    gap: .16rem;
    min-width: 0;
    color: #64748b;
  }

  .main-panel-financeiro .fin-table .fin-mobile-date-meta {
    display: grid;
    align-content: start;
    gap: .16rem;
    min-width: 0;
  }

  .main-panel-financeiro .fin-table .fin-mobile-client,
  .main-panel-financeiro .fin-table .fin-mobile-timing {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .main-panel-financeiro .fin-table .fin-mobile-client {
    color: #64748b;
    font-size: .76rem;
    font-weight: 650;
    line-height: 1.2;
  }

  .main-panel-financeiro .fin-table .fin-mobile-timing {
    color: #71809a;
    font-size: .7rem;
    font-weight: 600;
    line-height: 1.18;
  }

  .main-panel-financeiro .fin-table .fin-mobile-timing strong {
    color: #5c6e8b;
    font-weight: 750;
  }

  .main-panel-financeiro .fin-table .fin-move-desc strong {
    font-size: .92rem !important;
    line-height: 1.18 !important;
  }

  .main-panel-financeiro .fin-table .fin-cell-value {
    align-self: start;
    font-size: .9rem !important;
    line-height: 1.18 !important;
  }

  .main-panel-financeiro .fin-table .fin-status-cell {
    align-self: start;
    padding-top: .01rem !important;
  }

  .main-panel-financeiro .fin-table .fin-status,
  .main-panel-financeiro .fin-table .fin-origin {
    height: 25px;
    border-radius: 999px;
    font-size: .67rem;
  }

  .main-panel-financeiro .fin-table .fin-origin {
    max-width: min(170px, 52vw);
    padding-inline: .5rem;
  }

  .main-panel-financeiro .fin-table .fin-actions-cell {
    align-self: end;
    justify-self: end;
  }

  .main-panel-financeiro .fin-table .fin-actions-group {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .28rem;
    min-height: 30px;
  }

  .main-panel-financeiro .fin-table .fin-action-btn {
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
    border-radius: 9px;
  }
}

@media (max-width: 390px) {
  .main-panel-financeiro .fin-table .fin-move-desc strong { font-size: .88rem !important; }
  .main-panel-financeiro .fin-table .fin-mobile-client { font-size: .73rem; }
  .main-panel-financeiro .fin-table .fin-cell-value { font-size: .84rem !important; }
}

/* Agendar utilizações — os horários escolhidos manualmente usam a mesma
   grade compacta da prévia recorrente; somente eles mantêm o botão de remoção. */
@media (max-width: 720px) {
  #clientePlanoAgendarModal .cliente-pacote-agendar-preview,
  #clientePlanoAgendarModal .cliente-pacote-recurrence-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto;
    gap: .5rem !important;
  }

  #clientePlanoAgendarModal .cliente-pacote-agendar-preview-row,
  #clientePlanoAgendarModal .cliente-pacote-recurrence-row {
    min-height: 96px;
    padding: .5rem .55rem;
  }

  #clientePlanoAgendarModal .cliente-pacote-agendar-preview-row .cliente-pacote-slot-summary {
    gap: .3rem;
    padding-right: 1.65rem;
  }

  #clientePlanoAgendarModal .cliente-pacote-agendar-preview-row .cliente-pacote-slot-actions {
    top: .38rem;
    right: .38rem;
  }

  #clientePlanoAgendarModal .cliente-pacote-agendar-preview-row .cliente-pacote-slot-actions .btn {
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    padding: 0;
    border-radius: 9px;
    line-height: 1;
  }
}

@media (max-width: 360px) {
  #clientePlanoAgendarModal .cliente-pacote-agendar-preview,
  #clientePlanoAgendarModal .cliente-pacote-recurrence-grid {
    gap: .42rem !important;
  }

  #clientePlanoAgendarModal .cliente-pacote-agendar-preview-row,
  #clientePlanoAgendarModal .cliente-pacote-recurrence-row {
    min-height: 90px;
    padding: .46rem;
  }
}

/* Ações de pacotes ativos — em telas pequenas, a ação mais longa absorve o
   espaço restante sem comprimir os controles de receber ou excluir. */
@media (max-width: 720px) {
  .cliente-plano-active-card .cliente-plano-actions {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: stretch !important;
    gap: .5rem !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment:not(.cliente-plano-actions--with-delete) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment.cliente-plano-actions--with-delete {
    grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-delete:not(.cliente-plano-actions--with-payment) {
    grid-template-columns: 44px minmax(0, 1fr) !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment .cliente-plano-receive-action,
  .cliente-plano-active-card .cliente-plano-actions--with-payment .cliente-plano-schedule-action,
  .cliente-plano-active-card .cliente-plano-actions--with-delete:not(.cliente-plano-actions--with-payment) .cliente-plano-schedule-action {
    box-sizing: border-box !important;
    display: inline-flex !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: auto !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .34rem !important;
    padding-inline: .48rem !important;
    font-size: clamp(.7rem, 3.1vw, .86rem) !important;
    line-height: 1.1 !important;
    white-space: normal !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment.cliente-plano-actions--with-delete .cliente-plano-delete {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: stretch !important;
    justify-self: end !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-delete:not(.cliente-plano-actions--with-payment) .cliente-plano-delete {
    grid-column: 1 !important;
    justify-self: end !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment.cliente-plano-actions--with-delete .cliente-plano-receive-action {
    grid-column: 3 !important;
    width: auto !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment.cliente-plano-actions--with-delete .cliente-plano-schedule-action {
    grid-column: 2 !important;
    width: 100% !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-delete:not(.cliente-plano-actions--with-payment) .cliente-plano-schedule-action {
    grid-column: 2 !important;
    width: 100% !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-delete:not(.cliente-plano-actions--with-payment) .cliente-plano-renew-action {
    grid-column: 2 !important;
    width: 100% !important;
  }

  .cliente-plano-active-card .cliente-plano-schedule-action i {
    flex: 0 0 auto;
  }

  .cliente-plano-active-card .cliente-plano-schedule-label {
    min-width: 0;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-delete:not(.cliente-plano-actions--with-payment) .cliente-plano-schedule-action {
    grid-column: 2 !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment.cliente-plano-actions--with-delete .cliente-plano-cancel-action {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    justify-content: center !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-payment.cliente-plano-actions--with-delete .cliente-plano-renew-action {
    grid-column: 2 !important;
    width: 100% !important;
  }

  .cliente-plano-active-card .cliente-plano-renew-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .45rem !important;
  }

  .cliente-plano-active-card .cliente-plano-cancel-action span { display: none !important; }
  .cliente-plano-active-card .cliente-plano-delete .sr-only { display: none !important; }

  /* Pagamento quitado + utilizações disponíveis: os dois controles têm a
     mesma largura e altura, ao contrário do layout de três ações pendentes. */
  .cliente-plano-active-card .cliente-plano-actions--with-delete.cliente-plano-actions--paid-schedule-pair {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: stretch !important;
    gap: .5rem !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-delete.cliente-plano-actions--paid-schedule-pair > .cliente-plano-cancel-action,
  .cliente-plano-active-card .cliente-plano-actions--with-delete.cliente-plano-actions--paid-schedule-pair > .cliente-plano-schedule-action {
    box-sizing: border-box !important;
    display: inline-flex !important;
    flex: 1 1 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 56px !important;
    min-height: 56px !important;
    align-items: center !important;
    justify-content: center !important;
    padding-inline: .4rem !important;
    text-align: center !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  .cliente-plano-active-card .cliente-plano-actions--with-delete.cliente-plano-actions--paid-schedule-pair > .cliente-plano-schedule-action {
    gap: .35rem !important;
  }

  .cliente-plano-cancel-summary {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: .4rem .55rem !important;
    padding: .55rem .6rem !important;
  }
  .cliente-plano-cancel-summary-title { grid-column: 1 / -1 !important; }
  .cliente-plano-cancel-summary div {
    align-content: start;
    gap: .12rem;
    min-width: 0;
  }
  .cliente-plano-cancel-summary div span {
    font-size: clamp(.64rem, 2.7vw, .76rem) !important;
    line-height: 1.2;
    white-space: nowrap;
  }
  .cliente-plano-cancel-summary div strong {
    font-size: clamp(.76rem, 3.15vw, .9rem) !important;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
  .cliente-plano-cancel-difference { grid-template-columns: 1fr !important; }
  [data-package-cancel-now-fields][hidden],
  [data-package-cancel-refund][hidden],
  [data-package-cancel-charge][hidden] { display: none !important; }
  @media (max-width: 380px) {
    .cliente-plano-cancel-summary { gap: .35rem .3rem !important; padding-inline: .48rem !important; }
    .cliente-plano-cancel-summary div span { font-size: .61rem !important; }
    .cliente-plano-cancel-summary div strong { font-size: .72rem !important; }
  }

  .modal[id^="clientePlanoCancelarModal"],
  .modal[id^="clientePlanoExcluirModal"] {
    align-items: flex-end !important;
    justify-content: center !important;
    padding: max(.45rem, env(safe-area-inset-top)) 0 0 !important;
  }
  .modal[id^="clientePlanoCancelarModal"] .cliente-plano-cancel-modal,
  .modal[id^="clientePlanoExcluirModal"] .cliente-plano-cancel-modal {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 560px !important;
    max-height: min(92dvh, calc(100dvh - env(safe-area-inset-top) - .45rem)) !important;
    margin: 0 !important;
    border-radius: 20px 20px 0 0 !important;
    overflow: hidden !important;
  }
  .modal[id^="clientePlanoCancelarModal"] .cliente-plano-cancel-modal .modal-head,
  .modal[id^="clientePlanoExcluirModal"] .cliente-plano-cancel-modal .modal-head {
    flex: 0 0 auto;
    padding: .85rem .95rem;
  }
  .modal[id^="clientePlanoCancelarModal"] .cliente-plano-cancel-form,
  .modal[id^="clientePlanoExcluirModal"] .cliente-plano-cancel-form {
    min-height: 0;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: .85rem .9rem max(.85rem, env(safe-area-inset-bottom)) !important;
  }
  .modal[id^="clientePlanoCancelarModal"] .cliente-plano-cancel-form > .modal-actions,
  .modal[id^="clientePlanoExcluirModal"] .cliente-plano-cancel-form > .modal-actions {
    position: sticky;
    bottom: calc(-1 * max(.85rem, env(safe-area-inset-bottom)));
    z-index: 2;
    margin: .15rem -.9rem calc(-1 * max(.85rem, env(safe-area-inset-bottom))) !important;
    padding: .65rem .9rem max(.75rem, env(safe-area-inset-bottom)) !important;
    border-top: 1px solid #e8edf5;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 -8px 18px rgba(15, 23, 42, .06);
  }
  .modal[id^="clientePlanoCancelarModal"] .cliente-plano-cancel-form > .modal-actions .btn,
  .modal[id^="clientePlanoExcluirModal"] .cliente-plano-cancel-form > .modal-actions .btn {
    flex: 1 1 0;
    min-width: 0;
    min-height: 46px;
    white-space: normal;
    line-height: 1.15;
  }

  /* No cancelamento, o formulário rola, mas o rodapé é uma faixa completa do
     modal: sem compensar o padding com margens negativas, que falha no Safari. */
  .modal[id^="clientePlanoCancelarModal"] .cliente-plano-cancel-form {
    padding-inline: 0 !important;
  }
  .modal[id^="clientePlanoCancelarModal"] .cliente-plano-cancel-form > :not(.modal-actions) {
    margin-inline: .9rem;
  }
  .modal[id^="clientePlanoCancelarModal"] .cliente-plano-cancel-form > .modal-actions {
    box-sizing: border-box;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    justify-content: stretch;
    width: 100%;
    margin: .15rem 0 0 !important;
    padding: .65rem .9rem max(.75rem, env(safe-area-inset-bottom)) !important;
    left: auto;
    right: auto;
    bottom: 0;
  }
  .modal[id^="clientePlanoCancelarModal"] .cliente-plano-cancel-form > .modal-actions .btn {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    justify-content: center;
    padding-inline: .4rem;
    text-align: center;
  }
}

/* Pacotes no perfil do cliente: ações consistentes no mobile. */
@media (max-width: 720px) {
  .cliente-plano-active-card .cliente-plano-actions .cliente-plano-cancel-action,
  .cliente-plano-active-card .cliente-plano-actions .cliente-plano-renew-action,
  .cliente-plano-active-card .cliente-plano-actions .cliente-plano-receive-action {
    box-sizing: border-box !important;
    height: 48px !important;
    min-height: 48px !important;
    align-items: center !important;
    border-radius: 12px !important;
  }

  .cliente-plano-active-card .cliente-plano-actions .cliente-plano-renew-action {
    display: inline-flex !important;
    justify-content: center !important;
    gap: .4rem !important;
    background-color: #2563EB !important;
    border-color: #2563EB !important;
    color: #fff !important;
  }

  .cliente-plano-active-card .cliente-plano-actions .cliente-plano-renew-action:hover,
  .cliente-plano-active-card .cliente-plano-actions .cliente-plano-renew-action:focus-visible {
    background-color: #1D4ED8 !important;
    border-color: #1D4ED8 !important;
    color: #fff !important;
  }

  .cliente-plano-active-card .cliente-plano-actions .cliente-plano-renew-action:active {
    background-color: #1E40AF !important;
    border-color: #1E40AF !important;
    color: #fff !important;
  }

  .cliente-plano-history-card .cliente-plano-actions:has(> .cliente-plano-renew-action):has(> .cliente-plano-cancel-action) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: stretch !important;
    gap: .55rem !important;
  }

  .cliente-plano-history-card .cliente-plano-actions:has(> .cliente-plano-renew-action):has(> .cliente-plano-cancel-action) > .cliente-plano-cancel-action,
  .cliente-plano-history-card .cliente-plano-actions:has(> .cliente-plano-renew-action):has(> .cliente-plano-cancel-action) > .cliente-plano-renew-action {
    box-sizing: border-box !important;
    display: inline-flex !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-self: stretch !important;
    justify-content: center !important;
    gap: .38rem !important;
    padding-inline: .4rem !important;
    border-radius: 12px !important;
    color: #fff !important;
    font-size: clamp(.76rem, 3.3vw, .9rem) !important;
    line-height: 1.1 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .cliente-plano-history-card .cliente-plano-actions:has(> .cliente-plano-renew-action):has(> .cliente-plano-cancel-action) > .cliente-plano-cancel-action {
    grid-column: 1 !important;
    background-color: #DC2626 !important;
    border-color: #DC2626 !important;
  }

  .cliente-plano-history-card .cliente-plano-actions:has(> .cliente-plano-renew-action):has(> .cliente-plano-cancel-action) > .cliente-plano-renew-action {
    grid-column: 2 !important;
    background-color: #2563EB !important;
    border-color: #2563EB !important;
  }
}
