/* ═══════════════════════════════════════════════════════════════════════════
   modules/todo — 투두 화면. **셸의 디자인 토큰만 상속한다**(B8).

   색·타이포·컨트롤은 `shell/shell.css` 의 토큰(--card·--line·--muted…)에서 온다.
   그래서 별도 시안 없이 리슨과 같은 룩앤필이 나온다 — 신규 모듈이 토큰만 상속하면
   일관성이 구조적으로 보장된다는 것이 B8 의 결정이다.

   ⚠️ 다른 스타일시트와 **같은 선택자를 두지 말 것**(로드 순서가 표시를 바꾼다 —
   tests/test_frontend_modules.py 가 잠근다). 이 파일의 선택자는 전부 `.todo-*` 다.
   ═══════════════════════════════════════════════════════════════════════════ */
.todo-body{max-width:680px;margin:0 auto;padding:4px 14px}
.todo-compose{max-width:680px;margin:0 auto;padding:8px 14px;display:flex;flex-direction:column;gap:8px}
.todo-compose input{width:100%}

.todo-sec{margin:10px 0 16px}
.todo-sec-h{display:flex;align-items:baseline;gap:8px;margin:0 0 6px}
.todo-sec-h strong{font-size:14px}

.todo-row{display:flex;align-items:flex-start;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:6px}
.todo-row.done{opacity:.55}
.todo-check{background:transparent;border:none;padding:0;font-size:20px;line-height:1.2;flex:0 0 auto}
.todo-main{flex:1;min-width:0}
.todo-title{font-size:15px;word-break:break-word}
.todo-row.done .todo-title{text-decoration:line-through}
/* 세부 내용 — 목록에서는 한 줄만 흘려 보여 주고, 전문은 편집 폼에서 본다 */
.todo-note{margin-top:3px;line-height:1.45;white-space:pre-wrap;word-break:break-word;
           display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.todo-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.todo-tag{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 7px}
.todo-tag.wait{color:var(--warn);border-color:var(--warn)}
.todo-tag.aging{color:var(--danger);border-color:var(--danger)}
.todo-tag.prio{color:var(--accent2);border-color:var(--accent2)}
.todo-tag.cal{color:var(--warn)}
.todo-edit{flex:0 0 auto}

.todo-form{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px;margin:-2px 0 10px}
.todo-raw{background:var(--input-bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:6px 0 12px}
.todo-raw-t{font-size:13px;white-space:pre-wrap;word-break:break-word;margin-top:2px}
