* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: Arial, sans-serif; background: #f4f4f4; display: flex; justify-content: center; padding: 20px; }
.todo-container { width: 100%; max-width: 500px; background: white; padding: 20px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
h1 { text-align: center; margin-bottom: 20px; }
.input-group, .controls { display: flex; gap: 10px; margin-bottom: 15px; flex-direction: column; }
@media (min-width: 400px) {
  .input-group, .controls { flex-direction: row; }
}
input[type="text"] { flex: 1; padding: 10px; border: 1px solid #ccc; border-radius: 4px; }
button { padding: 10px 15px; cursor: pointer; border: none; background: #28a745; color: white; border-radius: 4px; }
button:hover { background: #218838; }
.filters button { background: #007bff; flex: 1; }
.filters button.active { background: #0056b3; }
.filters button:hover { background: #0056b3; }
.filters { display: flex; gap: 5px; flex: 1; }
ul { list-style: none; padding: 0; }
li { display: flex; justify-content: space-between; align-items: center; padding: 10px; border-bottom: 1px solid #ddd; }
li.completed span { text-decoration: line-through; opacity: 0.6; }
.actions button { margin-left: 5px; padding: 5px 10px; font-size: 12px; }
.btn-edit { background: #ffc107; color: black; }
.btn-delete { background: #dc3545; }
