.add-task-form[data-v-235808db]{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.task-input[data-v-235808db]{border:1px solid var(--gray-300);border-radius:var(--radius-sm);flex:1;font-size:var(--font-size-base);min-width:200px;padding:var(--spacing-md);transition:border-color .2s,box-shadow .2s}.task-input[data-v-235808db]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #4caf501a;outline:none}.category-input[data-v-235808db],.deadline-input[data-v-235808db]{border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-base);min-width:120px;padding:var(--spacing-md);transition:border-color .2s,box-shadow .2s}.category-input[data-v-235808db]:focus,.deadline-input[data-v-235808db]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #4caf501a;outline:none}.add-btn[data-v-235808db]{align-items:center;background-color:var(--primary-color);border:none;border-radius:var(--radius-sm);color:var(--white);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);justify-content:center;padding:var(--spacing-md) var(--spacing-xl);text-decoration:none;transition:background-color .2s,transform .1s}.add-btn[data-v-235808db]:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.add-btn[data-v-235808db]:active{transform:translateY(0)}.add-btn[data-v-235808db]:disabled{cursor:not-allowed;opacity:.6;transform:none}.add-btn[data-v-235808db]:disabled:hover{background-color:var(--primary-color);transform:none}@media (max-width:768px){.add-task-form[data-v-235808db]{flex-direction:column}.category-input[data-v-235808db],.deadline-input[data-v-235808db],.task-input[data-v-235808db]{min-width:auto}}.message[data-v-3bcb99c6]{border:1px solid;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);position:relative}.message-success[data-v-3bcb99c6]{background-color:#f0fdf4;border-color:#bbf7d0;color:#166534}.message-error[data-v-3bcb99c6]{background-color:#fef2f2;border-color:#fecaca;color:#dc2626}.message-info[data-v-3bcb99c6]{background-color:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.message-content[data-v-3bcb99c6]{align-items:flex-start;display:flex;gap:var(--spacing-sm)}.message-icon[data-v-3bcb99c6]{align-items:center;display:flex;flex-shrink:0;margin-top:2px}.message-text[data-v-3bcb99c6]{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.5;margin:0}.message-dismiss[data-v-3bcb99c6]{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;opacity:.7;padding:var(--spacing-xs);transition:all .2s}.message-dismiss[data-v-3bcb99c6]:hover{background-color:#0000000d;opacity:1}.message-dismiss[data-v-3bcb99c6]:focus{outline:2px solid currentColor;outline-offset:2px}.message-enter-active[data-v-3bcb99c6],.message-leave-active[data-v-3bcb99c6]{transition:all .3s ease}.message-enter-from[data-v-3bcb99c6]{opacity:0;transform:translateY(-10px) scale(.95)}.message-leave-to[data-v-3bcb99c6]{opacity:0;transform:translateY(-5px) scale(.98)}@media (max-width:768px){.message[data-v-3bcb99c6]{padding:var(--spacing-md)}.message-content[data-v-3bcb99c6]{gap:var(--spacing-xs)}}.categories-explanation[data-v-9fc8bd5d]{background-color:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.categories-title[data-v-9fc8bd5d]{color:var(--primary-color);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.categories-list[data-v-9fc8bd5d]{list-style:none;margin:0;padding:0}.categories-list.hide[data-v-9fc8bd5d]{display:none;transition:fade 1s}.category-item[data-v-9fc8bd5d]{align-items:flex-start;border-left-style:solid;border-left-width:4px;border-radius:var(--radius-sm);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);padding:var(--spacing-sm)}.category-label[data-v-9fc8bd5d]{font-weight:var(--font-weight-semibold);min-width:80px}.toggle.btn[data-v-9fc8bd5d]{margin-bottom:var(--spacing-sm)}.task-item[data-v-e440b104]{align-items:center;border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);padding:var(--spacing-lg);transition:all .2s ease-in-out}.task-item[data-v-e440b104]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.task-content[data-v-e440b104]{flex:1}.task-title[data-v-e440b104]{color:var(--gray-700);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm) 0}.task-details[data-v-e440b104]{flex-direction:column}.task-details[data-v-e440b104],.task-field[data-v-e440b104]{display:flex;gap:var(--spacing-sm)}.task-field[data-v-e440b104]{align-items:center}.task-field label[data-v-e440b104]{color:var(--gray-600);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-width:80px}.category-select[data-v-e440b104],.deadline-input[data-v-e440b104],.status-select[data-v-e440b104]{border:1px solid var(--gray-400);border-radius:var(--radius-sm);font-size:var(--font-size-sm);min-width:120px;padding:var(--spacing-xs) var(--spacing-sm);transition:border-color .2s,box-shadow .2s}.category-select[data-v-e440b104]:focus,.deadline-input[data-v-e440b104]:focus,.status-select[data-v-e440b104]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #4caf501a;outline:none}.category-select[data-v-e440b104]:disabled,.deadline-input[data-v-e440b104]:disabled,.status-select[data-v-e440b104]:disabled{background-color:var(--gray-100);color:var(--gray-500);cursor:not-allowed}.task-actions[data-v-e440b104]{margin-left:var(--spacing-lg)}.delete-btn[data-v-e440b104]{align-items:center;background-color:var(--danger-color);border:none;border-radius:var(--radius-sm);color:var(--white);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);justify-content:center;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:background-color .2s,transform .1s}.delete-btn[data-v-e440b104]:hover{background-color:var(--danger-hover);transform:translateY(-1px)}.delete-btn[data-v-e440b104]:active{transform:translateY(0)}.task-item[data-v-e440b104]:has(.status-select[value=completed]){background-color:var(--completed-bg);border-color:var(--completed-border)}.task-item[data-v-e440b104]:has(.status-select[value="in progress"]){background-color:var(--in-progress-bg);border-color:var(--in-progress-border)}.task-item[data-v-e440b104]:has(.status-select[value=todo]){background-color:var(--todo-bg);border-color:var(--todo-border)}@media (max-width:768px){.task-field[data-v-e440b104]{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}.task-field label[data-v-e440b104]{min-width:auto}}.task-list-container[data-v-c0ff4ecd]{margin:0 auto;max-width:800px;padding:var(--spacing-2xl)}.task-list-header[data-v-c0ff4ecd]{margin-bottom:var(--spacing-xl)}.task-list-header h2[data-v-c0ff4ecd]{color:var(--gray-700);font-size:var(--font-size-2xl);margin:0 0 var(--spacing-lg) 0}.task-filters[data-v-c0ff4ecd]{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.filter-group[data-v-c0ff4ecd],.task-filters[data-v-c0ff4ecd]{display:flex;flex-direction:column}.filter-group[data-v-c0ff4ecd]{gap:var(--spacing-sm)}.filter-group label[data-v-c0ff4ecd]{color:var(--gray-600);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.filter-buttons[data-v-c0ff4ecd]{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.filter-btn[data-v-c0ff4ecd]{background-color:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s}.filter-btn[data-v-c0ff4ecd]:hover{background-color:var(--gray-50)}.filter-btn.active[data-v-c0ff4ecd]{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--white)}.tasks-container[data-v-c0ff4ecd]{margin-bottom:var(--spacing-2xl);min-height:300px}.no-tasks[data-v-c0ff4ecd]{color:var(--gray-600);padding:var(--spacing-3xl);text-align:center}.no-tasks p[data-v-c0ff4ecd]{font-size:var(--font-size-lg)}.tasks-grid[data-v-c0ff4ecd]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.task-summary[data-v-c0ff4ecd]{background-color:var(--gray-50);border-radius:var(--radius-md);color:var(--gray-600);font-size:var(--font-size-sm);padding:var(--spacing-lg);text-align:center}.error-state[data-v-c0ff4ecd],.loading-state[data-v-c0ff4ecd]{color:var(--gray-600);padding:var(--spacing-3xl);text-align:center}.error-state[data-v-c0ff4ecd]{color:var(--danger-color)}.retry-btn[data-v-c0ff4ecd]{align-items:center;background-color:var(--white);border:1px solid var(--primary-color);border-radius:var(--radius-sm);color:var(--primary-color);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);justify-content:center;margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s}.retry-btn[data-v-c0ff4ecd]:hover{background-color:var(--primary-color);color:var(--white)}.add-btn[data-v-c0ff4ecd]:disabled{cursor:not-allowed;opacity:.6;transform:none}.add-btn[data-v-c0ff4ecd]:disabled:hover{background-color:var(--primary-color);transform:none}.error-banner[data-v-c0ff4ecd]{background-color:#fee2e2;border:1px solid #fecaca;border-radius:var(--radius-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.error-content[data-v-c0ff4ecd]{align-items:center;display:flex;justify-content:space-between}.error-message[data-v-c0ff4ecd]{color:var(--danger-color);font-size:var(--font-size-sm);margin:0}.dismiss-btn[data-v-c0ff4ecd]{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--danger-color);cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;padding:0;transition:background-color .2s;width:24px}.dismiss-btn[data-v-c0ff4ecd]:hover{background-color:#fecaca}@media (max-width:768px){.task-list-container[data-v-c0ff4ecd]{padding:var(--spacing-lg)}.filter-buttons[data-v-c0ff4ecd],.filter-group[data-v-c0ff4ecd]{gap:var(--spacing-xs)}}
