/* Todos Module */
.todos-module { display: flex; flex-direction: column; gap: var(--sp-4); }

.week-nav {
    display: flex; align-items: center; justify-content: space-between;
    padding: var(--sp-3) 0;
}
.week-nav button {
    background: var(--bg-card); border: 1px solid var(--border);
    color: var(--text-secondary); padding: var(--sp-2) var(--sp-3);
    border-radius: var(--radius-md); cursor: pointer; font-family: var(--font-sans);
    transition: all var(--dur-fast);
}
.week-nav button:hover { border-color: var(--accent); color: var(--accent); }
.week-label { font-size: var(--text-lg); font-weight: 700; color: var(--text-primary); }

.todo-day-group { margin-bottom: var(--sp-4); }

.todo-day-header {
    font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: 0.05em;
    padding: var(--sp-2) 0; border-bottom: 1px solid var(--border);
    margin-bottom: var(--sp-2);
}

.todo-item {
    display: flex; align-items: flex-start; gap: var(--sp-3);
    padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-md);
    background: var(--bg-card); border: 1px solid var(--border);
    margin-bottom: var(--sp-2); transition: all var(--dur-fast);
}
.todo-item:hover { border-color: var(--border-strong); }
.todo-item.done { opacity: 0.5; }
.todo-item.done .todo-title { text-decoration: line-through; }

.todo-content { flex: 1; min-width: 0; }
.todo-title { font-size: var(--text-base); font-weight: 500; color: var(--text-primary); }
.todo-desc { font-size: var(--text-sm); color: var(--text-muted); margin-top: 2px; }

.todo-meta {
    display: flex; gap: var(--sp-3); margin-top: var(--sp-1);
    font-size: var(--text-xs); color: var(--text-muted);
}

.todo-priority {
    font-size: var(--text-xs); font-weight: 600; padding: 1px 6px;
    border-radius: var(--radius-full);
}
.todo-priority.high { background: var(--red-muted); color: var(--red); }
.todo-priority.medium { background: var(--orange-muted); color: var(--orange); }
.todo-priority.low { background: var(--green-muted); color: var(--green); }

.todo-assignee {
    font-size: var(--text-xs); color: var(--accent);
    background: var(--accent-muted); padding: 1px 6px;
    border-radius: var(--radius-full);
}

/* Bearbeiter-Avatar */
.todo-avatar {
    width: 28px; height: 28px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 700; color: white;
    flex-shrink: 0; align-self: center;
}

/* Sektion "Zugewiesen an andere" */
.todo-assignee-section {
    margin-top: var(--sp-5); padding-top: var(--sp-3);
    border-top: 2px dashed var(--border);
}
.todo-section-header {
    display: flex; align-items: center; gap: var(--sp-2);
    font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: 0.05em;
    padding: var(--sp-2) 0; margin-bottom: var(--sp-3);
}

.todo-time { font-size: var(--text-xs); color: var(--text-muted); font-family: var(--font-mono); }

/* Add form */
.add-todo-form {
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: var(--radius-lg); padding: var(--sp-4);
    display: flex; flex-direction: column; gap: var(--sp-3);
}

.add-todo-form input,
.add-todo-form select,
.add-todo-form textarea {
    padding: var(--sp-2) var(--sp-3); background: var(--bg-input);
    border: 1px solid var(--border); border-radius: var(--radius-md);
    color: var(--text-primary); font-size: var(--text-sm);
    font-family: var(--font-sans); outline: none;
}
.add-todo-form input:focus,
.add-todo-form select:focus { border-color: var(--accent); }
.add-todo-form .form-row { display: flex; gap: var(--sp-3); flex-wrap: wrap; }
.add-todo-form .form-row > * { flex: 1; min-width: 120px; }

