/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

@import url("/assets/slimselect/slimselect-6ab0d5f3.css");

.ss-main {
  position: relative;
  z-index: 1;
}

.ss-content {
  z-index: 60;
}

/*
 * Mobile WebView & PWA optimizations
 ------------------------------------------------------------------------------------*/
html, body {
  /* Desativa o rubber-banding/pull-to-refresh acidental no WebView */
  overscroll-behavior-y: none;
  /* Impede o atraso de toque de 300ms e gestos de duplo-toque para zoom */
  touch-action: manipulation;
  /* Remove o flash de toque cinza/azul padrão do WebKit */
  -webkit-tap-highlight-color: transparent;
  /* Impede que o iOS altere arbitrariamente tamanhos de texto na rotação */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Previne 100% o auto-zoom do iOS ao focar em inputs em telas mobile */
@media screen and (max-width: 768px) {
  input, select, textarea {
    font-size: 16px !important;
  }
}

@media screen and (max-width: 640px) {
  .toastify.flash-success {
    box-sizing: border-box;
    left: 0;
    right: 0;
    width: 100vw;
    max-width: none;
    overflow-wrap: anywhere;
  }
}

/* Desativa seleção de texto acidental em botões e navegação para comportamento de app nativo */
button, a, nav, [role="button"] {
  -webkit-user-select: none;
  user-select: none;
}

.page-loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background: rgb(255 255 255 / 75%);
  color: #312e81;
  font-size: 1rem;
  font-weight: 600;
  backdrop-filter: blur(2px);
}

.page-loading-spinner {
  width: 2.5rem;
  height: 2.5rem;
  border: 3px solid #c7d2fe;
  border-top-color: #4f46e5;
  border-radius: 50%;
  animation: page-loading-spin 0.75s linear infinite;
}

@keyframes page-loading-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .page-loading-spinner { animation-duration: 2s; }
}

