@foreach(['Sun','Mon','Tue','Wed','Thu','Fri','Sat'] as $day)
{{ $day }}
@endforeach
@php
$firstDay = $startDate->copy()->startOfMonth();
$lastDay = $startDate->copy()->endOfMonth();
$startPadding = $firstDay->dayOfWeek;
@endphp
@for($i = 0; $i < $startPadding; $i++)
@endfor
@for($day = 1; $day <= $lastDay->day; $day++)
@php
$dateStr = $startDate->format('Y-m') . '-' . str_pad($day, 2, '0', STR_PAD_LEFT);
$dateObj = \Carbon\Carbon::parse($dateStr);
$attendance = $attendances->get($dateStr);
$isSunday = $dateObj->isSunday();
$isFuture = $dateObj->isFuture();
$isToday = $dateObj->isToday();
$bgClass = 'bg-gray-50 text-gray-400';
$icon = '';
if ($isSunday) { $bgClass = 'bg-gray-100 text-gray-300'; }
elseif ($isFuture) { $bgClass = 'bg-gray-50 text-gray-300'; }
elseif ($attendance) {
$bgClass = match($attendance->status) {
'present' => 'bg-green-50 text-green-700 ring-1 ring-green-200',
'absent' => 'bg-red-50 text-red-700 ring-1 ring-red-200',
'late' => 'bg-yellow-50 text-yellow-700 ring-1 ring-yellow-200',
'half_day' => 'bg-orange-50 text-orange-700 ring-1 ring-orange-200',
'excused' => 'bg-blue-50 text-blue-700 ring-1 ring-blue-200',
default => 'bg-gray-50 text-gray-400',
};
$icon = match($attendance->status) { 'present'=>'✅','absent'=>'❌','late'=>'⏰','half_day'=>'🕐','excused'=>'📋',default=>'' };
}
@endphp
{{ $day }}
@if($icon){{ $icon }}@endif
@if($isSunday && !$isFuture)OFF@endif
@endfor