/* ZapCRM — Custom Styles */

/* Scrollbar customizada */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Transições suaves */
* { transition-property: background-color, border-color, color, box-shadow; transition-duration: 150ms; }

/* Line clamp */
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Animação toast */
#toast { animation: slideUp 0.3s ease; }
@keyframes slideUp {
  from { transform: translateY(20px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

/* Animação spinner */
.fa-spin { animation: spin 1s linear infinite; }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* Tabela hover highlight */
tbody tr { transition: background-color 0.1s ease; }

/* Focus rings */
input:focus, select:focus, textarea:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

/* Botões desabilitados */
button:disabled { opacity: 0.65; cursor: not-allowed; }

/* Modal animation */
.modal-backdrop > div {
  animation: modalIn 0.2s ease;
}
@keyframes modalIn {
  from { transform: scale(0.95); opacity: 0; }
  to   { transform: scale(1);    opacity: 1; }
}

/* Nav link active */
.nav-link.bg-gray-800 {
  border-left: 3px solid #22c55e;
}

/* Batch actions animation */
#batch-actions {
  animation: floatUp 0.3s ease;
}
@keyframes floatUp {
  from { transform: translate(-50%, 20px); opacity: 0; }
  to   { transform: translate(-50%, 0);    opacity: 1; }
}

/* Responsividade básica */
@media (max-width: 768px) {
  #sidebar { transform: translateX(-100%); }
  .ml-64 { margin-left: 0 !important; }
}
