body {
    background-color: #f8f9fa;
    transition: background-color 0.3s, color 0.3s;
}

[data-bs-theme="dark"] {
    background-color: #121212;
    color: #e0e0e0;
}

[data-bs-theme="dark"] .card {
    background-color: #1e1e1e;
    border: 1px solid #333;
}

[data-bs-theme="dark"] .list-group-item {
    background-color: #252525;
    border-color: #333;
    color: #e0e0e0;
}

[data-bs-theme="dark"] .btn-outline-primary {
    color: #6ea8fe;
    border-color: #6ea8fe;
}

[data-bs-theme="dark"] .btn-outline-primary:hover {
    background-color: #007bff;
}

.todo-item {
    transition: background-color 0.2s;
}

.todo-item.completed {
    text-decoration: line-through;
    opacity: 0.7;
}

.priority-high {
    border-left: 4px solid #dc3545;
}

.priority-medium {
    border-left: 4px solid #ffc107;
}

.priority-low {
    border-left: 4px solid #28a745;
}

.list-group-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.todo-content {
    flex-grow: 1;
    cursor: pointer;
}

.todo-actions {
    display: flex;
    gap: 10px;
}

.btn-check {
    display: none;
}

.btn-check + .btn {
    position: relative;
    padding-left: 2.5rem;
}

.btn-check + .btn::before {
    content: '';
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1rem;
    height: 1rem;
    border: 1px solid #adb5bd;
    border-radius: 0.25rem;
    background-color: #fff;
    transition: all 0.2s;
}

[data-bs-theme="dark"] .btn-check + .btn::before {
    background-color: #252525;
    border-color: #495057;
}

.btn-check:checked + .btn::before {
    background-color: #0d6efd;
    border-color: #0d6efd;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
}

.btn-check:focus + .btn {
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}