/* Base */
body { font-family: 'Inter', sans-serif; -webkit-tap-highlight-color: transparent; overscroll-behavior-y: none; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }

/* Task Animations */
.task-item { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.task-item.adding { animation: slideIn 0.3s ease-out forwards; }
.task-item.removing { animation: slideOut 0.3s ease-in forwards; }

@keyframes slideIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes slideOut { from { opacity: 1; transform: translateX(0); } to { opacity: 0; transform: translateX(100%); } }

/* Priority Borders */
.priority-high { border-left: 4px solid #ef4444; }
.priority-medium { border-left: 4px solid #f59e0b; }
.priority-low { border-left: 4px solid #3b82f6; }
.priority-none { border-left: 4px solid #e5e7eb; }

/* Loader */
.loader { border: 3px solid #f3f3f3; border-radius: 50%; border-top: 3px solid #4f46e5; width: 24px; height: 24px; animation: spin 1s linear infinite; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.input-area { box-shadow: 0 -4px 20px rgba(0,0,0,0.05); }
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Toast Animation - Fixed visibility issue */
.toast { 
    opacity: 0; 
    pointer-events: none; 
    transform: translate(-50%, -20px); 
    transition: all 0.3s ease-in-out; 
}
.toast.show { 
    opacity: 1; 
    pointer-events: auto; 
    transform: translate(-50%, 0); 
}