.todo-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}.todo-summary article{padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.todo-summary strong{display:block;font-size:1.35rem}.todo-summary span{font-size:.78rem;color:var(--muted)}.todo-panel{padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.todo-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.todo-controls{display:flex;gap:8px;flex-wrap:wrap}.todo-controls input,.todo-controls select{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text)}.todo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.todo-card{display:grid;gap:12px;padding:15px;border:1px solid var(--border);border-left:5px solid var(--border);border-radius:16px;background:var(--surface2)}.todo-card.priority-高{border-left-color:var(--danger)}.todo-card.priority-中{border-left-color:var(--warn)}.todo-card.priority-低{border-left-color:var(--accent)}.todo-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.todo-head h3{margin:0}.todo-head select{max-width:120px;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}.todo-title{margin:0;white-space:pre-wrap;line-height:1.55}.todo-note{margin:0;color:var(--muted);font-size:.84rem;white-space:pre-wrap}.todo-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.74rem}.todo-actions{display:flex;gap:8px;justify-content:flex-end}.todo-empty{padding:30px;text-align:center;color:var(--muted)}@media(max-width:900px){.todo-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.todo-summary{grid-template-columns:repeat(2,1fr)}.todo-toolbar{flex-direction:column}.todo-controls{width:100%;display:grid;grid-template-columns:1fr 1fr}.todo-controls input{grid-column:1/-1}.todo-list{grid-template-columns:1fr}.todo-head{align-items:stretch;flex-direction:column}.todo-head select{max-width:none;width:100%}}