/* SurfSDR Recruiter — Global styles */

[x-cloak] { display: none !important; }

/* Smooth transitions */
* { transition-property: color, background-color, border-color, box-shadow; transition-timing-function: ease; transition-duration: 150ms; }

/* Kanban drag styles */
.kanban-card.dragging { opacity: 0.5; transform: rotate(2deg); cursor: grabbing; }
.kanban-column.drag-over { background-color: rgb(238 242 255 / 0.8); border: 2px dashed #6366f1; }

/* Toast container */
#toast-container {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  pointer-events: none;
}

.toast {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.75rem;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  box-shadow: 0 4px 12px rgb(0 0 0 / 0.15);
  pointer-events: auto;
  animation: toast-in 0.2s ease-out;
  max-width: 20rem;
}
.toast-success { background: #059669; color: white; }
.toast-error   { background: #dc2626; color: white; }
.toast-info    { background: #4f46e5; color: white; }

@keyframes toast-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

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

/* Scrollbar styling */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #9ca3af; }

/* Table row hover */
tbody tr { transition: background-color 0.1s; }

/* Focus ring */
:focus-visible { outline: 2px solid #6366f1; outline-offset: 2px; }

/* Responsive kanban on mobile */
@media (max-width: 640px) {
  #kanbanBoard { flex-direction: column; }
  .kanban-column-wrapper { width: 100% !important; }
}
