/* ==========================================================================
   SPHI ADVISORY — ESTILOS PADRONIZADOS & RESPONSIVIDADE LANDSCAPE/MOBILE
   ========================================================================== */

/* Tipografia Padronizada com Números Tabulares Alinhados */
html, body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.tabular-nums {
  font-variant-numeric: tabular-nums;
}

/* Transições Suaves entre Abas */
.tab-panel {
  animation: tabFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes tabFadeIn {
  from {
    opacity: 0;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Bottom Sheet Mobile */
.bottom-sheet {
  transition: transform 0.26s cubic-bezier(0.16, 1, 0.3, 1);
  transform: translateY(100%);
}

.bottom-sheet.open {
  transform: translateY(0%);
}

/* Acessibilidade e Foco Visível */
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible {
  outline: 2px solid #1e40af;
  outline-offset: 2px;
}

/* Prevenção de Auto-zoom em Dispositivos Móveis (iOS Safari) */
@media (max-width: 768px) {
  input, select, textarea {
    font-size: 16px !important;
  }
}

/* ==========================================================================
   SUPORTE COMPLETO A DISPOSITIVOS EM MODO LANDSCAPE (HORIZONTAL)
   Permite rolagem natural quando a altura da tela é reduzida
   ========================================================================== */
@media (orientation: landscape) and (max-height: 720px) {
  body {
    height: auto !important;
    min-height: 100vh !important;
    overflow-y: auto !important;
  }

  main {
    height: auto !important;
    min-height: auto !important;
    overflow-y: visible !important;
    padding-bottom: 80px !important;
  }

  .tab-panel {
    height: auto !important;
    min-height: auto !important;
  }

  header {
    position: sticky !important;
    top: 0 !important;
    z-index: 40 !important;
  }
}

/* Barra de Rolagem Discreta */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}
