.task-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; padding: 12px; width: 100%; box-sizing: border-box; } .task-card { border: 1px solid #e6e6e6; border-radius: 2px; background-color: #fff; box-shadow: 0 1px 2px 0 rgba(0,0,0,.05); padding: 12px; transition: all .3s; box-sizing: border-box; height: 100%; display: flex; flex-direction: column; } .task-card:hover { box-shadow: 0 1px 6px rgba(0,0,0,.1); } .task-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; } .task-name { font-weight: bold; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; } .task-desc { color: #666; font-size: 13px; margin: 6px 0 12px 0; line-height: 1.4; flex: 1; } .task-progress { margin-bottom: 12px; } .progress-bar { height: 8px; background-color: #f2f2f2; border-radius: 4px; overflow: hidden; margin-top: 4px; } .progress-value { height: 100%; background-color: #1E9FFF; width: 0%; transition: width 0.5s ease, background-color 0.3s; } .task-actions { display: flex; justify-content: flex-end; margin-top: auto; } .stop-btn { background-color: #FF5722; color: white; border: none; padding: 4px 8px; border-radius: 2px; cursor: pointer; font-size: 12px; height: 24px; } .stop-btn:hover { background-color: #e54d1b; } @media screen and (max-width: 300px) { .task-container { grid-template-columns: 1fr; } }