/* Ajustes validados no Galaxy S20 (1080x2400 / 360dp). */
@media (max-width: 700px) {
  html,
  body,
  #app,
  .shell,
  .main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: clip !important;
  }
  .main > *,
  .card,
  .finance-filter,
  .finance-insights,
  .agenda-calendar-enabled {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .mobile-nav {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    overflow: hidden !important;
  }
  .mobile-nav > button {
    min-width: 0 !important;
  }
  /* O KPI destacado precisa manter contraste mesmo com os temas que sobrescrevem cards. */
  .finance-kpis-filtered .featured {
    background: linear-gradient(135deg, #244fca, #3867f4 68%, #557cf4) !important;
    border-color: #3867f4 !important;
    color: #fff !important;
    min-height: 112px !important;
  }
  .finance-kpis-filtered .featured small,
  .finance-kpis-filtered .featured span,
  .finance-kpis-filtered .featured strong {
    color: #fff !important;
    opacity: 1 !important;
  }

  /* Cabeçalho mais leve: mantém atalhos, mas devolve área útil ao conteúdo. */
  .topbar {
    column-gap: 10px !important;
  }
  .topbar-copy h1 {
    font-size: clamp(28px, 9vw, 39px) !important;
  }
  .topbar-copy p {
    max-width: 230px !important;
    line-height: 1.35 !important;
  }
  .top-actions {
    gap: 5px !important;
  }
  .round-action {
    width: 42px !important;
    height: 42px !important;
    border-radius: 13px !important;
  }
  /* Títulos longos não disputam a mesma linha com compartilhar, avisos e ajustes. */
  .topbar.topbar-long-title {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 10px !important;
  }
  .topbar.topbar-long-title .topbar-copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    padding-right: 0 !important;
  }
  .topbar.topbar-long-title .topbar-copy h1 {
    max-width: 100% !important;
    font-size: clamp(27px, 8.6vw, 36px) !important;
    line-height: 1.06 !important;
    overflow-wrap: anywhere;
  }
  .topbar.topbar-long-title .top-actions,
  .topbar.topbar-long-title .top-actions:not(:has(>.btn)) {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    width: auto !important;
    margin-top: 0 !important;
  }
  .topbar.topbar-long-title .topbar-primary {
    grid-column: 1 !important;
    grid-row: 3 !important;
    width: 100% !important;
  }

  /* Agenda: a grade de horários passa a aparecer antes e com menos ruído. */
  /* O botão de combos não deve definir a largura da coluna do título. */
  .topbar:has(.topbar-primary [data-go="memberships"]) {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 10px !important;
  }
  .topbar:has(.topbar-primary [data-go="memberships"]) .topbar-copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
  }
  .topbar:has(.topbar-primary [data-go="memberships"]) .top-actions {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  .topbar:has(.topbar-primary [data-go="memberships"]) .topbar-primary {
    grid-column: 1 !important;
    grid-row: 3 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .topbar:has(.topbar-primary [data-go="memberships"]) .topbar-primary > .btn {
    width: 100% !important;
    white-space: normal !important;
    height: auto !important;
  }
  .compact-agenda {
    margin-bottom: 8px !important;
  }
  .availability-card {
    min-height: 66px !important;
    padding: 10px 14px !important;
  }
  .availability-card b {
    font-size: 15px !important;
  }
  .availability-card span,
  .availability-card .text-btn {
    font-size: 11px !important;
  }
  .agenda-calendar-enabled {
    margin-top: 6px !important;
  }
  .calendar-nav {
    padding: 10px 8px !important;
  }
  .calendar-nav > button {
    width: 38px !important;
    height: 38px !important;
  }
  .calendar-actions {
    padding: 8px 10px !important;
  }
  .calendar-tip {
    padding: 7px 12px !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }
  .calendar-scroll {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 64vh !important;
    overscroll-behavior-x: contain;
  }

  /* Serviços: uma linha principal e ação compacta, sem cards gigantes. */
  .cards-list {
    gap: 10px !important;
  }
  .cards-list .item {
    min-height: 0 !important;
    padding: 15px 16px !important;
    gap: 12px !important;
    align-items: center !important;
  }
  .cards-list .item h2 {
    margin: 0 0 4px !important;
    font-size: 19px !important;
    line-height: 1.15 !important;
  }
  .cards-list .item p {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
  .cards-list .item > .btn {
    min-width: 92px !important;
    padding: 9px 11px !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
  }

  /* Clientes: melhora escaneabilidade sem esconder crédito ou bloqueio. */
  .client-grid {
    gap: 10px !important;
  }
  .client-card {
    padding: 15px !important;
  }
  .client-avatar {
    width: 50px !important;
    height: 50px !important;
  }
  .client-top h2 {
    font-size: 19px !important;
  }
  .credit-line {
    padding-top: 11px !important;
    margin-top: 11px !important;
  }
  .credit-status {
    font-size: 10px !important;
  }

  /* Categorias de configuração sempre acessíveis e claramente roláveis. */
  .settings-category-nav {
    display: flex !important;
    gap: 7px !important;
    overflow-x: auto !important;
    padding: 7px !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .settings-category-nav::-webkit-scrollbar {
    display: none;
  }
  .settings-category-nav button {
    flex: 0 0 auto !important;
    min-width: 104px !important;
    padding: 11px 14px !important;
    scroll-snap-align: start;
  }

  /* Menu Mais cabe na área segura e indica que existem outras opções. */
  .modal:has(.more-menu-list) .modal-card {
    width: calc(100vw - 28px) !important;
    max-height: calc(100dvh - 120px) !important;
    padding: 16px !important;
    overflow: hidden !important;
  }
  .modal:has(.more-menu-list) .modal-head {
    margin-bottom: 10px !important;
  }
  .more-menu-list {
    max-height: calc(100dvh - 230px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding-bottom: 18px !important;
  }
  .more-menu-list > button {
    min-height: 58px !important;
    padding: 9px 11px !important;
  }
  .more-menu-list > button i {
    width: 42px !important;
    height: 42px !important;
  }
}

body[data-theme="dark"] .finance-kpis-filtered .featured {
  background: linear-gradient(135deg, #17398f, #2f61e6) !important;
}
