File size: 4,901 Bytes
a12aab2
eac69cf
a12aab2
 
 
 
eac69cf
 
a12aab2
 
eac69cf
 
a12aab2
 
eac69cf
 
a12aab2
 
eac69cf
a12aab2
 
 
 
 
4549c0d
a12aab2
 
 
4549c0d
 
a12aab2
 
 
 
eac69cf
 
a12aab2
 
 
 
 
4549c0d
a12aab2
 
 
 
4549c0d
a12aab2
 
 
4549c0d
a12aab2
 
eac69cf
 
a12aab2
 
 
eac69cf
 
a12aab2
 
 
 
eac69cf
a12aab2
 
7124801
eac69cf
a12aab2
 
 
906718e
a12aab2
 
 
 
906718e
eac69cf
a12aab2
 
 
 
eac69cf
a12aab2
 
 
 
 
eac69cf
a12aab2
 
 
eac69cf
 
a12aab2
 
eac69cf
 
a12aab2
 
eac69cf
 
a12aab2
 
 
eac69cf
 
a12aab2
 
 
 
eac69cf
a12aab2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eac69cf
a12aab2
 
 
eac69cf
 
 
a12aab2
 
 
eac69cf
a12aab2
 
 
 
 
 
eac69cf
a12aab2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7124801
a12aab2
 
 
7124801
a12aab2
 
 
 
 
eac69cf
 
a12aab2
 
 
 
eac69cf
 
a12aab2
 
 
 
eac69cf
 
a12aab2
 
 
 
 
 
7124801
eac69cf
 
a12aab2
 
 
 
 
 
 
 
 
 
 
eac69cf
a12aab2
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
/* 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;
}