/* Custom styles for TaskForge Pro */

/* Scrollbar styling */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    @apply bg-gray-800;
}

::-webkit-scrollbar-thumb {
    @apply bg-gray-600 rounded-full;
}

::-webkit-scrollbar-thumb:hover {
    @apply bg-gray-500;
}
/* Task hover effects */
.task-item {
    @apply relative overflow-hidden;
    transition: all 0.3s ease;
    border-left: 4px solid transparent;
}

.task-item.completed {
    animation: completeTask 0.6s ease forwards;
}

@keyframes completeTask {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(0.95); opacity: 0.8; }
    100% { transform: scale(1); opacity: 1; border-left-color: #10b981; }
}

.task-item .focus-btn {
    @apply absolute right-12 top-1/2 transform -translate-y-1/2;
    @apply p-2 rounded-full bg-orange-500 bg-opacity-0 text-orange-500;
    @apply transition-all duration-300 ease-in-out;
    opacity: 0;
}

.task-item:hover .focus-btn {
    @apply bg-opacity-20;
    opacity: 1;
}

.task-item .focus-btn:hover {
    @apply bg-opacity-100 text-white;
}
.task-item:hover {
    @apply transform scale-105 shadow-lg;
}

/* Progress bar animation */
.progress-bar-fill {
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Focus mode animations */
@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

.focus-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Button focus styles */
.btn:focus {
    @apply outline-none ring-2 ring-orange-500 ring-offset-2 ring-offset-gray-900;
}

/* Tag badge styles */
.tag-badge {
    @apply inline-flex items-center px-2 py-1 rounded-full text-xs font-medium;
}

/* Timeline styles */
.timeline-hour {
    @apply relative border-b border-gray-700;
    min-height: 60px;
    position: relative;
}
.timeline-task-block {
    @apply absolute rounded-lg cursor-move transition-all;
    transition: all 0.2s ease;
}

.timeline-task-block:hover {
    @apply transform scale-105 shadow-lg;
}

.timeline-task-block.dragging {
    @apply opacity-50;
}

/* Modal backdrop blur */
.modal-backdrop {
    backdrop-filter: blur(4px);
}

/* Custom input styles */
input[type="text"], input[type="number"], textarea, select {
    @apply bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 text-gray-100;
    @apply focus:outline-none focus:ring-2 focus:ring-orange-500 focus:border-transparent;
}

input[type="color"] {
    @apply cursor-pointer;
}

/* Navigation buttons */
.nav-btn {
    @apply flex items-center space-x-2 px-4 py-2 rounded-lg transition;
    @apply text-gray-400 hover:text-white hover:bg-gray-700;
}

.nav-btn.active {
    @apply text-orange-500 bg-gray-700;
}

/* View transitions */
.view {
    display: none;
}

.view.active {
    display: block;
    animation: fadeIn 0.3s ease-in-out;
}
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Drag and drop styles */
.drag-over {
    @apply bg-gray-700 border-2 border-dashed border-orange-500;
}

/* Custom checkbox */
.custom-checkbox {
    @apply w-5 h-5 rounded cursor-pointer appearance-none;
    @apply bg-gray-700 border border-gray-600;
    @apply checked:bg-emerald-500 checked:border-emerald-500;
}

.custom-checkbox:checked::after {
    content: '✓';
    @apply block text-white text-center leading-5;
}

/* Time display */
.time-display {
    @apply font-mono text-lg tabular-nums;
}

/* Empty state */
.empty-state {
    @apply text-center py-12 text-gray-500;
}

.empty-state i {
    @apply w-16 h-16 mx-auto mb-4;
}

/* Responsive timeline */
@media (max-width: 768px) {
    #timeline-tasks {
        width: 100%;
        position: static;
    }
    
    #timeline-hours {
        margin-left: 0;
    }
    
    .timeline-task-block {
        position: relative !important;
        width: 100% !important;
        left: 0 !important;
        top: auto !important;
    }
}

/* Loading animation */
.loading {
    @apply animate-pulse;
}

.loading::after {
    content: '';
    @apply absolute inset-0 bg-gray-700 rounded-lg;
    animation: loading 1.5s ease-in-out infinite;
}

@keyframes loading {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

/* Task priority indicator */
.priority-high {
    @apply border-l-4 border-red-500;
}

.priority-medium {
    @apply border-l-4 border-yellow-500;
}

.priority-low {
    @apply border-l-4 border-emerald-500;
}

/* Focus mode glass effect */
#focus-mode {
    background: linear-gradient(135deg, rgba(17, 24, 39, 0.95) 0%, rgba(17, 24, 39, 0.98) 100%);
    backdrop-filter: blur(10px);
}

/* Smooth transitions for all interactive elements */
* {
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}