/* 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; }