/* PMS Custom Styles */

/* Smooth animations */
* {
  transition-property: color, background-color, border-color, box-shadow;
  transition-duration: 150ms;
}

/* Custom scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Firefox scrollbar */
* {
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 #f1f5f9;
}

/* Card hover lift */
.card-hover { transition: transform 150ms ease, box-shadow 150ms ease; }
.card-hover:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(0,0,0,0.08); }

/* Sidebar transitions */
#sidebar {
  transition: transform 0.3s ease, width 0.3s ease;
}

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

/* Prose for post content */
.prose {
  line-height: 1.75;
}

/* File drag active state */
.drag-active {
  border-color: #3b82f6;
  background-color: #eff6ff;
}

/* Transitions */
a, button {
  transition-property: color, background-color, border-color, opacity, transform, box-shadow;
  transition-duration: 150ms;
  transition-timing-function: ease;
}

/* Avatar placeholder */
img[src="/images/default-avatar.svg"] {
  padding: 4px;
  background-color: #f3f4f6;
}

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

/* Modal */
#profile-modal,
#preview-modal {
  display: flex;
  align-items: center;
  justify-content: center;
}
#profile-modal.hidden,
#preview-modal.hidden {
  display: none;
}

/* Responsive sidebar - Tablet: icon only */
@media (min-width: 768px) and (max-width: 1023px) {
  #sidebar {
    transform: translateX(0) !important;
    width: 4rem;
  }
}

/* Session timer warning */
.timer-warning {
  color: #ef4444;
  animation: pulse 1s infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}
