.ttl-weekly { background: white; border-radius: 12px; padding: 1.5rem; box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
.ttl-weekly--empty { min-height: 120px; display: flex; align-items: center; justify-content: center; }

.ttl-weekly__header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.ttl-weekly__week-badge { background: #7E4A8C; color: white; font-size: 1.1rem; font-weight: 700; padding: 0.5rem 1.2rem; border-radius: 8px; white-space: nowrap; }
.ttl-weekly__book { padding: 0.6rem 1.2rem; border-radius: 8px; flex: 1; }
.ttl-weekly__book-title { font-size: 1rem; font-weight: 600; color: #7E4A8C; }

.ttl-weekly__section-title { font-size: 0.9rem; font-weight: 700; color: #7E4A8C; margin: 0 0 0.5rem; }
.ttl-weekly__mentor-badge { display: inline-block; background: #EDE9FE; color: #7C3AED; font-size: 0.75rem; font-weight: 600; padding: 0.2rem 0.6rem; border-radius: 4px; margin-bottom: 0.5rem; }

.ttl-weekly__strategies { margin-bottom: 1.25rem; }
.ttl-weekly__strategy-card { border: 1px solid #e5e7eb; border-radius: 8px; padding: 0.6rem 0.8rem; margin-bottom: 0.4rem; cursor: pointer; transition: background 0.15s; }
.ttl-weekly__strategy-card:hover { background: #f9fafb; }
.ttl-weekly__strategy-header { display: flex; align-items: center; gap: 0.5rem; }
.ttl-weekly__strategy-num { width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 700; color: #7E4A8C; flex-shrink: 0; }
.ttl-weekly__strategy-num--green { background: #D4EDBC; }
.ttl-weekly__strategy-num--orange { background: #FDEAB6; }
.ttl-weekly__strategy-title { flex: 1; font-size: 0.85rem; font-weight: 600; color: #7E4A8C; }
.ttl-weekly__strategy-toggle { font-size: 0.7rem; color: #9CA3AF; }
.ttl-weekly__strategy-desc { margin-top: 0.5rem; font-size: 0.8rem; color: #4B5563; line-height: 1.5; padding-left: 2rem; }

.ttl-weekly__sessions { margin-bottom: 1.25rem; }
.ttl-weekly__session-list { list-style: none; padding: 0; margin: 0; }
.ttl-weekly__session-list li { font-size: 0.85rem; color: #7E4A8C; padding: 0.3rem 0; padding-left: 1rem; position: relative; }
.ttl-weekly__session-list li::before { content: '•'; position: absolute; left: 0; color: #03A696; font-weight: 700; }

.ttl-weekly__checklist { margin-bottom: 1.25rem; }
.ttl-weekly__check-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; color: #7E4A8C; padding: 0.3rem 0; cursor: pointer; }
.ttl-weekly__check-item input[type="checkbox"] { width: 16px; height: 16px; accent-color: #03A696; }
.ttl-weekly__check-done { text-decoration: line-through; color: #9CA3AF; }

.ttl-weekly__next-week { background: #F0F8FC; border: 1px solid #03A696; border-radius: 8px; padding: 0.75rem 1rem; }
.ttl-weekly__next-summary { font-size: 0.82rem; color: #7E4A8C; margin: 0; line-height: 1.5; }
