/* CCTU SRC Dashboard - Main Stylesheet */

/* Custom Scrollbar Hide */
.hide-scrollbar::-webkit-scrollbar {
  display: none;
}
.hide-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Smooth Scrolling for Carousel */
.carousel-container {
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

/* Animation Keyframes */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

/* Custom Animations */
.fade-in-up {
  animation: fadeUp 0.5s ease-out forwards;
}

/* Hover Effects for Cards */
.news-card {
  transition: transform 0.2s ease;
}

.news-card:hover {
  transform: translateY(-4px);
}

/* Action Card Hover */
.action-card {
  transition: all 0.25s ease;
}

.action-card:active {
  transform: scale(0.96);
}

/* Task Item Hover */
.task-item {
  transition: background-color 0.2s ease;
}

/* Floating Action Button Hover */
.fab-btn {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.fab-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 25px -5px rgba(254, 203, 0, 0.3);
}

/* Notification Badge Pulse */
@keyframes badgePulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.2);
    opacity: 0.8;
  }
}

.badge-pulse {
  animation: badgePulse 1.5s ease-in-out infinite;
}

/* Loading Skeleton Animation */
@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

/* Responsive Adjustments */
@media (max-width: 640px) {
  .anniversary-card {
    padding: 1rem;
  }
  
  .action-card {
    padding: 0.75rem;
  }
  
  .action-card .w-10.h-10 {
    width: 2rem;
    height: 2rem;
  }
  
  .action-card .material-symbols-outlined {
    font-size: 1.25rem;
  }
}

/* Dark Mode Support (optional) */
@media (prefers-color-scheme: dark) {
  .bg-white\/92 {
    background-color: rgba(248, 249, 255, 0.95);
  }
  
  .bg-white {
    background-color: #ffffff;
  }
}

/* Touch Device Optimizations */
@media (hover: none) {
  .news-card:hover {
    transform: none;
  }
  
  .fab-btn:hover {
    transform: none;
  }
}

/* Print Styles */
@media print {
  .fab-btn,
  nav,
  header {
    display: none;
  }
}