/*
 * 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.
 */

.column-hidden {
  display: none !important;
}

/* themes.css removido — temas agora em tailwind/_themes.css (importado por tailwind/application.css e tailwind/admin.css) */

/* WCAG 2.3.3: Respeitar prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Sidebar — mobile (off-canvas overlay) vs desktop (in-flow) */
.sidebar-component {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 40;
}
@media (min-width: 768px) {
  .sidebar-component {
    position: relative;
    z-index: auto;
  }
}

/* Sidebar — handle de resize (arrastar borda direita) */
.sidebar-resize-handle {
  position: absolute;
  top: 0;
  right: -3px;
  width: 6px;
  height: 100%;
  cursor: col-resize;
  z-index: 50;
  background: transparent;
  transition: background 150ms ease;
}
.sidebar-resize-handle:hover,
.sidebar-resizing .sidebar-resize-handle {
  background: rgba(99, 102, 241, 0.3);  /* theme-500 com transparência */
}
.sidebar-resizing {
  transition: none !important;  /* desactivar transições durante o drag */
  user-select: none;
}
/* Esconder handle em mobile (off-canvas não é redimensionável) */
@media (max-width: 767px) {
  .sidebar-resize-handle {
    display: none;
  }
}

/* Escala tipográfica padronizada — usar estas classes em vez de text-[Npx] */
/* Base: 16px (1rem). Escala 1.2 (major third) */
.text-2xs  { font-size: 0.625rem;  line-height: 0.875rem; }  /* 10px / 14px — NÃO USAR, abaixo do mínimo WCAG */
.text-xs   { font-size: 0.75rem;   line-height: 1rem;     }  /* 12px / 16px — mínimo WCAG AA */
.text-sm   { font-size: 0.875rem;  line-height: 1.25rem;  }  /* 14px / 20px */
.text-base { font-size: 1rem;      line-height: 1.5rem;   }  /* 16px / 24px */
.text-lg   { font-size: 1.125rem;  line-height: 1.75rem;  }  /* 18px / 28px */
.text-xl   { font-size: 1.25rem;   line-height: 1.75rem;  }  /* 20px / 28px */
.text-2xl  { font-size: 1.5rem;    line-height: 2rem;     }  /* 24px / 32px */
.text-3xl  { font-size: 1.875rem;  line-height: 2.25rem;  }  /* 30px / 36px */
