/* Tredence DGCC — custom styles on top of Tailwind
   -------------------------------------------------- */

body { font-family: 'Poppins', ui-sans-serif, system-ui, sans-serif; }

/* Scrollbar polish (WebKit) */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #E5E7EB; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #D1D5DB; }

/* Animated entrances */
@keyframes fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes scalein { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } }
@keyframes slidein { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }
.animate-fade    { animation: fade 160ms ease-out; }
.animate-scalein { animation: scalein 180ms cubic-bezier(.16,1,.3,1); }
.animate-slidein { animation: slidein 220ms cubic-bezier(.16,1,.3,1); }

/* Funnel row animation (staggered via inline delay) */
.funnel-row { opacity: 0; transform: translateY(8px); animation: fade .4s ease-out forwards, riseup .5s cubic-bezier(.16,1,.3,1) forwards; }
@keyframes riseup { to { opacity: 1; transform: translateY(0); } }

/* Nav active shimmer */
.nav-item { position: relative; }
.nav-item:active { transform: translateY(1px); }

/* Focus style */
input:focus, select:focus, textarea:focus {
  outline: none;
}

/* Prevent spinner from number inputs shifting layout on webkit */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { opacity: 1; }

/* Toast stack */
#toast-root > div { transition: opacity 250ms, transform 250ms; }

/* Kanban draggable feedback */
.deal-card[draggable="true"]:active,
.task-card[draggable="true"]:active { cursor: grabbing; }

/* Ensure tables don't overflow horizontally in tight layouts */
table { border-collapse: collapse; }

/* Small dot utility */
.dot { display: inline-block; width: .5rem; height: .5rem; border-radius: 999px; }
