<turbo-stream action="replace" target="calendar-navigation"><template>
  <div id="calendar-navigation" class="flex items-center justify-between h-14 py-2">
    <!-- Previous Month Button with ripple effect -->
    <a id="prev-month-button" data-turbo-method="get" data-turbo-stream="true" data-prev-month="true" class="relative overflow-hidden rounded-full p-2.5 bg-white shadow-md hover:shadow-lg active:scale-95 transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-emerald-400 group" href="/calendar/month?date=2026-04-17&amp;member_id=10&amp;team_id=2">
      <div class="absolute inset-0 rounded-full bg-gray-400 opacity-0 group-active:opacity-20 transition-opacity"></div>
      <svg class="w-5 h-5 relative z-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"></path>
      </svg>
</a>
    <!-- Enhanced month display -->
    <div class="flex flex-col items-center">
      <h1 id="calendar-month-year" class="text-lg font-semibold text-gray-900">
        2026년 5월
      </h1>
      <p id="calendar-week-range" class="text-xs text-gray-500 mt-0.5">
        05월 17일 - 05월 23일
      </p>
    </div>

    <!-- Next Month Button with ripple effect -->
    <a id="next-month-button" data-turbo-method="get" data-turbo-stream="true" data-next-month="true" class="relative overflow-hidden rounded-full p-2.5 bg-white shadow-md hover:shadow-lg active:scale-95 transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-emerald-400 group" href="/calendar/month?date=2026-06-17&amp;member_id=10&amp;team_id=2">
      <div class="absolute inset-0 rounded-full bg-gray-400 opacity-0 group-active:opacity-20 transition-opacity"></div>
      <svg class="w-5 h-5 relative z-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
      </svg>
</a>  </div>
</template></turbo-stream>
<turbo-stream action="replace" target="calendar-frame"><template>
  <turbo-frame class="block" id="calendar-frame">
    <div class="bg-gradient-to-b from-gray-50 to-white rounded-2xl shadow-lg overflow-hidden">
  <!-- Week headers with glass effect -->
  <div class="grid grid-cols-7 bg-white/70 backdrop-blur-md border-b border-gray-100">
      <div class="py-1.5 md:py-2 text-center">
        <span class="text-xs sm:text-sm font-bold tracking-wider text-emerald-500">
          일
        </span>
      </div>
      <div class="py-1.5 md:py-2 text-center">
        <span class="text-xs sm:text-sm font-bold tracking-wider text-gray-500">
          월
        </span>
      </div>
      <div class="py-1.5 md:py-2 text-center">
        <span class="text-xs sm:text-sm font-bold tracking-wider text-gray-500">
          화
        </span>
      </div>
      <div class="py-1.5 md:py-2 text-center">
        <span class="text-xs sm:text-sm font-bold tracking-wider text-gray-500">
          수
        </span>
      </div>
      <div class="py-1.5 md:py-2 text-center">
        <span class="text-xs sm:text-sm font-bold tracking-wider text-gray-500">
          목
        </span>
      </div>
      <div class="py-1.5 md:py-2 text-center">
        <span class="text-xs sm:text-sm font-bold tracking-wider text-gray-500">
          금
        </span>
      </div>
      <div class="py-1.5 md:py-2 text-center">
        <span class="text-xs sm:text-sm font-bold tracking-wider text-emerald-500">
          토
        </span>
      </div>
  </div>

  <!-- Calendar grid with responsive gaps -->
  <div class="grid grid-cols-7 gap-0.5 sm:gap-1 p-1 sm:p-2 bg-gray-100/50">
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square bg-gray-50 opacity-40 pointer-events-none"
           data-date="2026-04-26"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="false"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-400">
              26
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square bg-gray-50 opacity-40 pointer-events-none"
           data-date="2026-04-27"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="false"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-400">
              27
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square bg-gray-50 opacity-40 pointer-events-none"
           data-date="2026-04-28"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="false"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-400">
              28
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square bg-gray-50 opacity-40 pointer-events-none"
           data-date="2026-04-29"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="false"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-400">
              29
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square bg-gray-50 opacity-40 pointer-events-none"
           data-date="2026-04-30"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="false"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-400">
              30
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-01"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              1
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer bg-emerald-50/30"
           data-date="2026-05-02"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-emerald-600">
              2
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer bg-emerald-50/30"
           data-date="2026-05-03"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-emerald-600">
              3
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-04"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              4
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-05"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              5
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-06"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              6
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-07"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              7
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-08"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              8
            </span>

          <!-- Read indicator -->

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer bg-emerald-50/30"
           data-date="2026-05-09"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-emerald-600">
              9
            </span>

          <!-- Read indicator -->

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer bg-emerald-50/30"
           data-date="2026-05-10"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-emerald-600">
              10
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-11"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              11
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-12"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              12
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-13"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              13
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-14"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              14
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-15"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              15
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer bg-emerald-50/30"
           data-date="2026-05-16"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-emerald-600">
              16
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer bg-emerald-50/30"
           data-date="2026-05-17"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-emerald-600">
              17
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-18"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              18
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-19"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              19
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-20"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              20
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-21"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              21
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-22"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              22
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer bg-emerald-50/30"
           data-date="2026-05-23"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-emerald-600">
              23
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer bg-emerald-50/30"
           data-date="2026-05-24"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-emerald-600">
              24
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-25"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              25
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-26"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              26
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-27"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              27
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-28"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              28
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer"
           data-date="2026-05-29"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-700">
              29
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer bg-emerald-50/30"
           data-date="2026-05-30"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-emerald-600">
              30
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square hover:shadow-md hover:scale-[1.02] active:scale-[0.98] cursor-pointer bg-emerald-50/30"
           data-date="2026-05-31"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="true"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-emerald-600">
              31
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square bg-gray-50 opacity-40 pointer-events-none"
           data-date="2026-06-01"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="false"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-400">
              1
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square bg-gray-50 opacity-40 pointer-events-none"
           data-date="2026-06-02"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="false"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-400">
              2
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square bg-gray-50 opacity-40 pointer-events-none"
           data-date="2026-06-03"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="false"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-400">
              3
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square bg-gray-50 opacity-40 pointer-events-none"
           data-date="2026-06-04"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="false"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-400">
              4
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square bg-gray-50 opacity-40 pointer-events-none"
           data-date="2026-06-05"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="false"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-400">
              5
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
      <!-- Card-style day cells -->
      <div class="relative bg-white rounded-lg md:rounded-xl shadow-sm transition-all duration-200 min-h-[45px] sm:min-h-[55px] md:min-h-[80px] aspect-square bg-gray-50 opacity-40 pointer-events-none"
           data-date="2026-06-06"
           data-action="click->calendar#showDayDetails touchstart->calendar#onTouchStart touchend->calendar#onTouchEnd"
           data-current-month="false"
           data-calendar-target="day">

        <div class="relative h-full flex flex-col items-center justify-center p-0.5 sm:p-1">
          <!-- Day number with circle for today -->
            <span class="text-xs sm:text-sm font-medium text-gray-400">
              6
            </span>

          <!-- Read indicator -->
            <div class="reading-indicator absolute top-0.5 right-0.5 sm:top-1 sm:right-1">
              <div class="w-3 h-3 sm:w-3.5 sm:h-3.5 md:w-4 md:h-4 rounded-full bg-green-500 flex items-center justify-center shadow-sm">
                <svg class="w-2 h-2 sm:w-2.5 sm:h-2.5 text-white" fill="currentColor" viewBox="0 0 20 20">
                  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                </svg>
              </div>
            </div>

          <!-- Event dots placeholder -->
          <div class="flex gap-1 mt-1">
            <!-- Future: Add event dots here -->
          </div>
        </div>
      </div>
  </div>
</div>
</turbo-frame></template></turbo-stream>
<turbo-stream action="replace" target="weekly-team-matrix"><template>
  <turbo-frame data-current-team-id="2" id="weekly-team-matrix">

  <div class="mt-1 sm:mt-2 bg-white rounded-xl sm:rounded-2xl shadow-lg overflow-hidden">
    <!-- Team Selector Cards + Week Navigation -->
    <div class="p-3 sm:p-4 md:p-5 border-b border-gray-100">
      <!-- Team selector: 2-column grid on mobile, flex-wrap on desktop -->
      <div class="grid grid-cols-2 gap-2 sm:gap-2.5 sm:flex sm:flex-wrap sm:overflow-visible pb-0">

          <a data-turbo-method="get" data-turbo-stream="true" data-team-progress-card="1" data-team-goal-chapters="126" data-team-actual-chapters="126" class="w-full sm:flex-shrink-0 sm:min-w-[150px] sm:flex-1 rounded-xl p-3 sm:p-3.5 transition-all duration-200 active:scale-[0.97] bg-blue-50 text-blue-700 hover:shadow-md border border-transparent hover:border-gray-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-400" href="/calendar/month?date=2026-05-17&amp;team_id=1">
            <div class="flex items-center justify-between mb-1.5 sm:mb-2">
              <span class="text-sm sm:text-base font-bold truncate">토브</span>
              <span data-team-progress-percent="1" class="text-sm sm:text-base font-bold ml-2 text-green-600">
                100%
              </span>
            </div>
            <div class="h-2 sm:h-2.5 w-full rounded-full bg-black/10 overflow-hidden">
              <div data-team-progress-bar="1"
                   data-bar-incomplete-class="bg-gradient-to-r from-blue-500 to-blue-600"
                   class="h-full rounded-full transition-all duration-500 ease-out bg-gradient-to-r from-green-400 to-green-500"
                   style="width: 100%;">
              </div>
            </div>
              <div data-team-progress-chapters="1" class="mt-1 sm:mt-1.5 text-[10px] sm:text-xs opacity-80">
                126/126 챕터
              </div>
</a>
          <a data-turbo-method="get" data-turbo-stream="true" data-team-progress-card="2" data-team-goal-chapters="105" data-team-actual-chapters="105" class="w-full sm:flex-shrink-0 sm:min-w-[150px] sm:flex-1 rounded-xl p-3 sm:p-3.5 transition-all duration-200 active:scale-[0.97] bg-emerald-600 text-white shadow-xl shadow-emerald-500/50 border-2 border-emerald-400 shadow-lg shadow-emerald-500/30 ring-2 ring-emerald-400 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-emerald-400" href="/calendar/month?date=2026-05-17&amp;team_id=2">
            <div class="flex items-center justify-between mb-1.5 sm:mb-2">
              <span class="text-sm sm:text-base font-bold truncate">레브</span>
              <span data-team-progress-percent="2" class="text-sm sm:text-base font-bold ml-2 text-green-600">
                100%
              </span>
            </div>
            <div class="h-2 sm:h-2.5 w-full rounded-full bg-black/10 overflow-hidden">
              <div data-team-progress-bar="2"
                   data-bar-incomplete-class="bg-white/80"
                   class="h-full rounded-full transition-all duration-500 ease-out bg-gradient-to-r from-green-400 to-green-500"
                   style="width: 100%;">
              </div>
            </div>
              <div data-team-progress-chapters="2" class="mt-1 sm:mt-1.5 text-[10px] sm:text-xs opacity-80">
                105/105 챕터
              </div>
</a>
          <a data-turbo-method="get" data-turbo-stream="true" data-team-progress-card="3" data-team-goal-chapters="105" data-team-actual-chapters="15" class="w-full sm:flex-shrink-0 sm:min-w-[150px] sm:flex-1 rounded-xl p-3 sm:p-3.5 transition-all duration-200 active:scale-[0.97] bg-purple-50 text-purple-700 hover:shadow-md border border-transparent hover:border-gray-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-purple-400" href="/calendar/month?date=2026-05-17&amp;team_id=3">
            <div class="flex items-center justify-between mb-1.5 sm:mb-2">
              <span class="text-sm sm:text-base font-bold truncate">데레크</span>
              <span data-team-progress-percent="3" class="text-sm sm:text-base font-bold ml-2 ">
                15%
              </span>
            </div>
            <div class="h-2 sm:h-2.5 w-full rounded-full bg-black/10 overflow-hidden">
              <div data-team-progress-bar="3"
                   data-bar-incomplete-class="bg-gradient-to-r from-purple-500 to-purple-600"
                   class="h-full rounded-full transition-all duration-500 ease-out bg-gradient-to-r from-purple-500 to-purple-600"
                   style="width: 15%;">
              </div>
            </div>
              <div data-team-progress-chapters="3" class="mt-1 sm:mt-1.5 text-[10px] sm:text-xs opacity-80">
                15/105 챕터
              </div>
</a>
          <a data-turbo-method="get" data-turbo-stream="true" data-team-progress-card="4" data-team-goal-chapters="105" data-team-actual-chapters="102" class="w-full sm:flex-shrink-0 sm:min-w-[150px] sm:flex-1 rounded-xl p-3 sm:p-3.5 transition-all duration-200 active:scale-[0.97] bg-amber-50 text-amber-700 hover:shadow-md border border-transparent hover:border-gray-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-400" href="/calendar/month?date=2026-05-17&amp;team_id=4">
            <div class="flex items-center justify-between mb-1.5 sm:mb-2">
              <span class="text-sm sm:text-base font-bold truncate">에무나</span>
              <span data-team-progress-percent="4" class="text-sm sm:text-base font-bold ml-2 ">
                98%
              </span>
            </div>
            <div class="h-2 sm:h-2.5 w-full rounded-full bg-black/10 overflow-hidden">
              <div data-team-progress-bar="4"
                   data-bar-incomplete-class="bg-gradient-to-r from-amber-500 to-amber-600"
                   class="h-full rounded-full transition-all duration-500 ease-out bg-gradient-to-r from-amber-500 to-amber-600"
                   style="width: 98%;">
              </div>
            </div>
              <div data-team-progress-chapters="4" class="mt-1 sm:mt-1.5 text-[10px] sm:text-xs opacity-80">
                102/105 챕터
              </div>
</a>
          <a data-turbo-method="get" data-turbo-stream="true" data-team-progress-card="5" data-team-goal-chapters="63" data-team-actual-chapters="0" class="w-full sm:flex-shrink-0 sm:min-w-[150px] sm:flex-1 rounded-xl p-3 sm:p-3.5 transition-all duration-200 active:scale-[0.97] bg-rose-50 text-rose-700 hover:shadow-md border border-transparent hover:border-gray-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-rose-400" href="/calendar/month?date=2026-05-17&amp;team_id=5">
            <div class="flex items-center justify-between mb-1.5 sm:mb-2">
              <span class="text-sm sm:text-base font-bold truncate">아로민</span>
              <span data-team-progress-percent="5" class="text-sm sm:text-base font-bold ml-2 ">
                0%
              </span>
            </div>
            <div class="h-2 sm:h-2.5 w-full rounded-full bg-black/10 overflow-hidden">
              <div data-team-progress-bar="5"
                   data-bar-incomplete-class="bg-gradient-to-r from-rose-500 to-rose-600"
                   class="h-full rounded-full transition-all duration-500 ease-out bg-gradient-to-r from-rose-500 to-rose-600"
                   style="width: 0%;">
              </div>
            </div>
              <div data-team-progress-chapters="5" class="mt-1 sm:mt-1.5 text-[10px] sm:text-xs opacity-80">
                0/63 챕터
              </div>
</a>      </div>

      <!-- Week navigation row -->
      <div class="flex items-center justify-between mt-3 sm:mt-3">
        <a data-turbo-method="get" data-turbo-stream="true" class="flex items-center gap-1 p-2 sm:p-2.5 rounded-lg hover:bg-gray-100 active:bg-gray-200 transition-colors min-h-[44px]" href="/calendar/day?date=2026-05-10&amp;team_id=2">
          <svg class="w-4 h-4 sm:w-5 sm:h-5 text-gray-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"></path>
          </svg>
          <span class="text-xs sm:text-sm text-gray-600 font-medium">이전 주</span>
</a>
        <div class="text-xs sm:text-sm font-medium text-gray-700">
          05/17 – 05/23
        </div>

        <a data-turbo-method="get" data-turbo-stream="true" class="flex items-center gap-1 p-2 sm:p-2.5 rounded-lg hover:bg-gray-100 active:bg-gray-200 transition-colors min-h-[44px]" href="/calendar/day?date=2026-05-24&amp;team_id=2">
          <span class="text-xs sm:text-sm text-gray-600 font-medium">다음 주</span>
          <svg class="w-4 h-4 sm:w-5 sm:h-5 text-gray-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
          </svg>
</a>      </div>
    </div>

      <!-- Matrix Table -->
      <div class="overflow-x-auto">
        <table class="w-full min-w-[320px]">
          <thead>
            <tr class="bg-gray-50 border-b border-gray-200">
              <th class="px-2 sm:px-3 py-2 text-left text-xs sm:text-sm font-medium text-gray-700 sticky left-0 bg-gray-50 z-10">
                멤버
              </th>
                <th class="px-1 sm:px-2 py-2 text-center text-[10px] sm:text-xs font-medium text-gray-600">
                  <div class="flex flex-col items-center">
                    <span class="hidden sm:block">일</span>
                    <span class="text-[9px] sm:text-[10px]">17</span>
                  </div>
                </th>
                <th class="px-1 sm:px-2 py-2 text-center text-[10px] sm:text-xs font-medium text-gray-600">
                  <div class="flex flex-col items-center">
                    <span class="hidden sm:block">월</span>
                    <span class="text-[9px] sm:text-[10px]">18</span>
                  </div>
                </th>
                <th class="px-1 sm:px-2 py-2 text-center text-[10px] sm:text-xs font-medium text-gray-600">
                  <div class="flex flex-col items-center">
                    <span class="hidden sm:block">화</span>
                    <span class="text-[9px] sm:text-[10px]">19</span>
                  </div>
                </th>
                <th class="px-1 sm:px-2 py-2 text-center text-[10px] sm:text-xs font-medium text-gray-600">
                  <div class="flex flex-col items-center">
                    <span class="hidden sm:block">수</span>
                    <span class="text-[9px] sm:text-[10px]">20</span>
                  </div>
                </th>
                <th class="px-1 sm:px-2 py-2 text-center text-[10px] sm:text-xs font-medium text-gray-600">
                  <div class="flex flex-col items-center">
                    <span class="hidden sm:block">목</span>
                    <span class="text-[9px] sm:text-[10px]">21</span>
                  </div>
                </th>
                <th class="px-1 sm:px-2 py-2 text-center text-[10px] sm:text-xs font-medium text-gray-600">
                  <div class="flex flex-col items-center">
                    <span class="hidden sm:block">금</span>
                    <span class="text-[9px] sm:text-[10px]">22</span>
                  </div>
                </th>
                <th class="px-1 sm:px-2 py-2 text-center text-[10px] sm:text-xs font-medium text-gray-600">
                  <div class="flex flex-col items-center">
                    <span class="hidden sm:block">토</span>
                    <span class="text-[9px] sm:text-[10px]">23</span>
                  </div>
                </th>
              <th class="px-2 sm:px-3 py-2 text-center text-xs sm:text-sm font-medium text-gray-700">
                완료
              </th>
            </tr>
          </thead>
          <tbody class="divide-y divide-gray-100">
              <tr class="bg-white hover:bg-emerald-50/30 transition-colors">
                <td class="px-2 sm:px-3 py-2 sm:py-3 text-xs sm:text-sm font-medium text-gray-900 sticky left-0 bg-white z-10">
                  <div class="flex items-center gap-1 h-6 sm:h-7">
                    <a data-turbo-method="get" data-turbo-stream="true" class="inline-flex items-center gap-1 px-1.5 py-0.5 rounded-md transition-all duration-150 hover:bg-gray-100 active:scale-95 cursor-pointer" href="/calendar/month?date=2026-05-17&amp;member_id=11&amp;team_id=2">
                      <span>김사무엘</span>
</a>                  </div>
                </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="11" data-date="2026-05-17" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="-0T5LAwISS-E7r-SaEdhNBb_3VXrlITZEHu92yo1TvWu5EZx6Yk80L6jHWL6lDkpxrA5vFpX2UJ5ET0YXhuP8w" /><input type="hidden" name="date" value="2026-05-17" /><input type="hidden" name="target_member_id" value="11" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="11" data-date="2026-05-18" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="VtKOTaYGj3ZTKjgre1NKkOBDiPtUwq1ZPra_QLNDSigDcjEQQ4f6iWlnmtvpgBKNMAxsEuUB8MJX3D-Dx22LLg" /><input type="hidden" name="date" value="2026-05-18" /><input type="hidden" name="target_member_id" value="11" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="11" data-date="2026-05-19" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="1JFASQVTXIdAWFu0kBNwS4Uvtp1ijaXA5DmgzDLZtXWBMf8U4NIpeHoV-UQCwChWVWBSdNNO-FuNUyAPRvd0cw" /><input type="hidden" name="date" value="2026-05-19" /><input type="hidden" name="target_member_id" value="11" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="11" data-date="2026-05-20" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="B26frXyXgHSMyWzCvBWJh5R40dHCkk4RTEnR03YEgcZSziDwmRb1i7aEzjIuxtGaRDc1OHNRE4olI1EQAipAwA" /><input type="hidden" name="date" value="2026-05-20" /><input type="hidden" name="target_member_id" value="11" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="11" data-date="2026-05-21" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="mE3yAP33Y1gnw2VfXGXRR983OhfyAXT-VLPM6_KER_XN7U1dGHYWpx2Ox6_OtolaD3je_kPCKWU92UwohqqG8w" /><input type="hidden" name="date" value="2026-05-21" /><input type="hidden" name="target_member_id" value="11" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="11" data-date="2026-05-22" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="Oo6S-GczNHJdVKmzGuxPLxrQ4yKuaqjXWi3jTukkWGtvLi2lgrJBjWcZC0OIPxcyyp8Hyx-p9UwzR2ONnQqZbQ" /><input type="hidden" name="date" value="2026-05-22" /><input type="hidden" name="target_member_id" value="11" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="11" data-date="2026-05-23" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="TBmFqOPhpLCiGXl2gxwooaQY3i6xaxGodeJrbA1d6V4ZuTr1BmDRT5hU24YRz3C8dFc6xwCoTDMciOuveXMoWA" /><input type="hidden" name="date" value="2026-05-23" /><input type="hidden" name="target_member_id" value="11" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                <td class="px-2 sm:px-3 py-2 sm:py-3 text-center">
                  <div class="flex items-center justify-center h-6 sm:h-7">
                    <span data-member-total-for="11"
                          data-member-total="7"
                          class="inline-flex items-center justify-center min-w-[20px] px-1.5 py-0.5 text-xs font-semibold rounded-full bg-green-100 text-green-700">
                      7/7
                    </span>
                  </div>
                </td>
              </tr>
              <tr class="bg-gray-50/50 hover:bg-emerald-50/30 transition-colors">
                <td class="px-2 sm:px-3 py-2 sm:py-3 text-xs sm:text-sm font-medium text-gray-900 sticky left-0 bg-gray-50/50 z-10">
                  <div class="flex items-center gap-1 h-6 sm:h-7">
                    <a data-turbo-method="get" data-turbo-stream="true" class="inline-flex items-center gap-1 px-1.5 py-0.5 rounded-md transition-all duration-150 hover:bg-gray-100 active:scale-95 cursor-pointer" href="/calendar/month?date=2026-05-17&amp;member_id=7&amp;team_id=2">
                      <span>김승일</span>
</a>                  </div>
                </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="7" data-date="2026-05-17" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="34uheo-gs-Nhnnn0ZQ9nzLt_1oe3o87bs4uw2CQDIZeKKx4naiHGHFvT2wT33D_RazAybgZgk0Da4TAbUC3gkQ" /><input type="hidden" name="date" value="2026-05-17" /><input type="hidden" name="target_member_id" value="7" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="7" data-date="2026-05-18" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="I5OASyNrTheW8HsBYyaosUsFBCFR22ZkWhKGf2qbBc92Mz8Wxuo76Ky92fHx9fCsm0rgyOAYO_8zeAa8HrXEyQ" /><input type="hidden" name="date" value="2026-05-18" /><input type="hidden" name="target_member_id" value="7" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="7" data-date="2026-05-19" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="mCo9ms3W4b929WRxBapaE3j_Im5b_6TU3VTCo17GfhbNioLHKFeUQEy4xoGXeQIOqLDGh-o8-U-0PkJgKui_EA" /><input type="hidden" name="date" value="2026-05-19" /><input type="hidden" name="target_member_id" value="7" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="7" data-date="2026-05-20" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="v4u_NaH4UaFE61lm5IpgUQ2Uver3uVRXg93EGB9H3RnqKwBoRHkkXn6m-5Z2WThM3dtZA0Z6Cczqt0Tba2kcHw" /><input type="hidden" name="date" value="2026-05-20" /><input type="hidden" name="target_member_id" value="7" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="7" data-date="2026-05-21" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="VG6QEAgtNmb27nh9kokWJmx44-UhQhVlgQi1-Txr-HYBzi9N7axDmcyj2o0AWk47vDcHDJCBSP7oYjU6SEU5cA" /><input type="hidden" name="date" value="2026-05-21" /><input type="hidden" name="target_member_id" value="7" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="7" data-date="2026-05-22" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="XDZw5wuX9noav3wxqiPYNvmT66OMabd1ymVxppc4TMcJls-67haDhSDy3sE48IArKdwPSj2q6u6jD_Fl4xaNwQ" /><input type="hidden" name="date" value="2026-05-22" /><input type="hidden" name="target_member_id" value="7" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="7" data-date="2026-05-23" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="8_7hbvjRbIUVdE05Mrlh9fn2444awN2buJC-zuM-C4-mXl4zHVAZei8578mgajnoKbkHZ6sDgADR-j4NlxDKiQ" /><input type="hidden" name="date" value="2026-05-23" /><input type="hidden" name="target_member_id" value="7" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                <td class="px-2 sm:px-3 py-2 sm:py-3 text-center">
                  <div class="flex items-center justify-center h-6 sm:h-7">
                    <span data-member-total-for="7"
                          data-member-total="7"
                          class="inline-flex items-center justify-center min-w-[20px] px-1.5 py-0.5 text-xs font-semibold rounded-full bg-green-100 text-green-700">
                      7/7
                    </span>
                  </div>
                </td>
              </tr>
              <tr class="bg-white hover:bg-emerald-50/30 transition-colors">
                <td class="px-2 sm:px-3 py-2 sm:py-3 text-xs sm:text-sm font-medium text-gray-900 sticky left-0 bg-white z-10">
                  <div class="flex items-center gap-1 h-6 sm:h-7">
                    <a data-turbo-method="get" data-turbo-stream="true" class="inline-flex items-center gap-1 px-1.5 py-0.5 rounded-md transition-all duration-150 hover:bg-gray-100 active:scale-95 cursor-pointer" href="/calendar/month?date=2026-05-17&amp;member_id=8&amp;team_id=2">
                      <span>김용례</span>
</a>                  </div>
                </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="8" data-date="2026-05-17" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="92EepkEOa_JSy_do9tn_H_NIkteHk7ST45YzplI3PgeiwaH7pI8eDWiGVZhkCqcCIwd2PjZQ6QiK_LNlJhn_AQ" /><input type="hidden" name="date" value="2026-05-17" /><input type="hidden" name="target_member_id" value="8" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="8" data-date="2026-05-18" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="KHiWzPqd9tp8NXnoJtvJPS3EGXoh7Pndqm8h6fdQzLl92CmRHxyDJUZ42xi0CJEg_Yv9k5AvpEbDBaEqg34Nvw" /><input type="hidden" name="date" value="2026-05-18" /><input type="hidden" name="target_member_id" value="8" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="8" data-date="2026-05-19" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="Kgy6-h1fVpDkf6eJhEF2CPkDwdHkEUMXIfNzCGAV-ft_rAWn-N4jb94yBXkWki4VKUwlOFXSHoxImfPLFDs4_Q" /><input type="hidden" name="date" value="2026-05-19" /><input type="hidden" name="target_member_id" value="8" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="8" data-date="2026-05-20" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="bIGLkV67bnBGlFq_GNYlp6ymjIk2JR3i7xCjt4lUjgQ5ITTMuzobj3zZ-E-KBX26fOloYIfmQHmGeiN0_XpPAg" /><input type="hidden" name="date" value="2026-05-20" /><input type="hidden" name="target_member_id" value="8" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="8" data-date="2026-05-21" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="2LK2IcdF0LPs3ZfYyHbSFXrDUTBDM868tdg-gvhvIxSNEgl8IsSlTNaQNShapYoIqoy12fLwkyfcsr5BjEHiEg" /><input type="hidden" name="date" value="2026-05-21" /><input type="hidden" name="target_member_id" value="8" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="8" data-date="2026-05-22" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="Xn8hfFUdQr1QE8oENWK1adZu0Ou3RM69av3qVaAYhpEL354hsJw3QmpeaPSnse10BiE0AgaHkyYDl2qW1DZHlw" /><input type="hidden" name="date" value="2026-05-22" /><input type="hidden" name="target_member_id" value="8" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="8" data-date="2026-05-23" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="b04upIOwxj6tin9efRJhhsKDx-XQpgLUofOxckcgRrg67pH5ZjGzwZfH3a7vwTmbEswjDGFlX0_ImTGxMw6Hvg" /><input type="hidden" name="date" value="2026-05-23" /><input type="hidden" name="target_member_id" value="8" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                <td class="px-2 sm:px-3 py-2 sm:py-3 text-center">
                  <div class="flex items-center justify-center h-6 sm:h-7">
                    <span data-member-total-for="8"
                          data-member-total="7"
                          class="inline-flex items-center justify-center min-w-[20px] px-1.5 py-0.5 text-xs font-semibold rounded-full bg-green-100 text-green-700">
                      7/7
                    </span>
                  </div>
                </td>
              </tr>
              <tr class="bg-gray-50/50 hover:bg-emerald-50/30 transition-colors">
                <td class="px-2 sm:px-3 py-2 sm:py-3 text-xs sm:text-sm font-medium text-gray-900 sticky left-0 bg-gray-50/50 z-10">
                  <div class="flex items-center gap-1 h-6 sm:h-7">
                    <a data-turbo-method="get" data-turbo-stream="true" class="inline-flex items-center gap-1 px-1.5 py-0.5 rounded-md transition-all duration-150 hover:bg-gray-100 active:scale-95 cursor-pointer" href="/calendar/month?date=2026-05-17&amp;member_id=9&amp;team_id=2">
                      <span>박성심</span>
</a>                  </div>
                </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="9" data-date="2026-05-17" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="DUGfXkyTUQqbFSYIVC0pqqf2607CLY2B9nhjF7-u40dY4SADqRIk9aFYhPjG_nG3d7kPp3Pu0BqfEuPUy4AiQQ" /><input type="hidden" name="date" value="2026-05-17" /><input type="hidden" name="target_member_id" value="9" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="9" data-date="2026-05-18" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="jKPn_LPsjmLdFnvJbTfg9JgVsGt-yx1EoMrF-aU1qI_ZA1ihVm37nedb2Tn_5LjpSFpUgs8IQN_JoEU60RtpiQ" /><input type="hidden" name="date" value="2026-05-18" /><input type="hidden" name="target_member_id" value="9" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="9" data-date="2026-05-19" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="Io0Hf6Kr65IYGXYa8BrQlpWIRbRanvmQHXNJNYJCLKp3LbgiRyqebSJU1OpiyYiLRcehXetdpAt0Gcn29mztrA" /><input type="hidden" name="date" value="2026-05-19" /><input type="hidden" name="target_member_id" value="9" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="9" data-date="2026-05-20" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="OoV4Q-wW4qi2do8piKjSi_4xzFzgplIJKxBnJOgtpsRvJcceCZeXV4w7Ldkae4qWLn4otVFlD5JCeufnnANnwg" /><input type="hidden" name="date" value="2026-05-20" /><input type="hidden" name="target_member_id" value="9" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="9" data-date="2026-05-21" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="L42bKK_zEQgVGgb3Iku_gTOaHoelasWR1wlhBUdunVd6LSR1SnJk9y9XpAewmOec49X6bhSpmAq-Y-HGM0BcUQ" /><input type="hidden" name="date" value="2026-05-21" /><input type="hidden" name="target_member_id" value="9" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="9" data-date="2026-05-22" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="Xfcs1UZZDgJDywvtqpGrH9bXoZiBdxvznl2ZU0VBg5QIV5OIo9h7_XmGqR04QvMCBphFcTC0Rmj3NxmQMW9Ckg" /><input type="hidden" name="date" value="2026-05-22" /><input type="hidden" name="target_member_id" value="9" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="9" data-date="2026-05-23" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="fbSDzjaU1PYN5qlsbRwWZ0AChkzEJlfTTQ5pimaWSUsoFDyT0xWhCTerC5z_z056kE1ipXXlCkgkZOlJEriITQ" /><input type="hidden" name="date" value="2026-05-23" /><input type="hidden" name="target_member_id" value="9" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                <td class="px-2 sm:px-3 py-2 sm:py-3 text-center">
                  <div class="flex items-center justify-center h-6 sm:h-7">
                    <span data-member-total-for="9"
                          data-member-total="7"
                          class="inline-flex items-center justify-center min-w-[20px] px-1.5 py-0.5 text-xs font-semibold rounded-full bg-green-100 text-green-700">
                      7/7
                    </span>
                  </div>
                </td>
              </tr>
              <tr class="bg-white hover:bg-emerald-50/30 transition-colors">
                <td class="px-2 sm:px-3 py-2 sm:py-3 text-xs sm:text-sm font-medium text-gray-900 sticky left-0 bg-white z-10">
                  <div class="flex items-center gap-1 h-6 sm:h-7">
                    <a data-turbo-method="get" data-turbo-stream="true" class="inline-flex items-center gap-1 px-1.5 py-0.5 rounded-md transition-all duration-150 hover:bg-gray-100 active:scale-95 cursor-pointer bg-emerald-100 text-emerald-700 font-bold ring-1 ring-emerald-400" href="/calendar/month?date=2026-05-17&amp;team_id=2">
                      <span>최다솔</span>
                        <svg class="w-3 h-3 sm:w-3.5 sm:h-3.5 text-emerald-600" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2">
                          <path stroke-linecap="round" stroke-linejoin="round" d="M15 12H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"></path>
                        </svg>
</a>                  </div>
                </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="10" data-date="2026-05-17" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="XXimCtdbBui7zdQW2LY96iu8a21DtqoIwNVDKqnfGUcI2BlXMtpzF4GAduZKZWX3-_OPhPJ195Opv8Pp3fHYQQ" /><input type="hidden" name="date" value="2026-05-17" /><input type="hidden" name="target_member_id" value="10" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="10" data-date="2026-05-18" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="x6gOAjjCwM5smo-UBJxvUm1A6mXn8ClJzGVGJdiDX-ySCLFf3UO1MVbXLWSWTzdPvQ8OjFYzdNKlD8bmrK2e6g" /><input type="hidden" name="date" value="2026-05-18" /><input type="hidden" name="target_member_id" value="10" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="10" data-date="2026-05-19" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="VbNw7q-pa4z7bcT25UPlOTP52uX-A8k3lP0Bv-EYIDEAE8-zSigec8EgZgZ3kL0k47Y-DE_AlKz9l4F8lTbhNw" /><input type="hidden" name="date" value="2026-05-19" /><input type="hidden" name="target_member_id" value="10" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="10" data-date="2026-05-20" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="NTwybN3rbcHWHBRxWpIOR_itNfjhFfNB-cAgO2i_gdBgnI0xOGoYPuxRtoHIQVZaKOLREVDWrtqQqqD4HJFA1g" /><input type="hidden" name="date" value="2026-05-20" /><input type="hidden" name="target_member_id" value="10" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="10" data-date="2026-05-21" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="gF1G2DVPSDlFAUgp3BctoU--2uZ_ecGnGm5EDIY0ao7V_fmF0M49xn9M6tlOxHW8n_E-D866nDxzBMTP8hqriA" /><input type="hidden" name="date" value="2026-05-21" /><input type="hidden" name="target_member_id" value="10" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="10" data-date="2026-05-22" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="zx5Faaem01Sd0aodfuXMJxxzMx9TaLSZBz8MiiUlejCavvo0Qiemq6ecCO3sNpQ6zDzX9uKr6QJuVYxJUQu7Ng" /><input type="hidden" name="date" value="2026-05-22" /><input type="hidden" name="target_member_id" value="10" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                  <td class="px-1 sm:px-2 py-2 sm:py-3 text-center ">
                    <div class="flex items-center justify-center h-6 sm:h-7">
                      <form data-turbo-frame="_top" data-matrix-toggle-form="true" data-member-id="10" data-date="2026-05-23" data-team-id="2" data-read="true" class="inline-block" method="post" action="/calendar/toggle_read"><button data-turbo-stream="true" class="inline-flex items-center justify-center w-5 h-5 sm:w-6 sm:h-6 rounded-full transition-all duration-150 hover:scale-110 active:scale-95 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed bg-green-100 text-green-600 hover:bg-green-200" type="submit">
                        <span data-matrix-icon="read" class="">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
                        <span data-matrix-icon="unread" class="hidden">
                          <svg class="w-3 h-3 sm:w-4 sm:h-4" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
                          </svg>
                        </span>
</button><input type="hidden" name="authenticity_token" value="dr2yYXnxPlZq0pELu080nujfz8rlcmjGFLLXT_a61RwjHQ08nHBLqVCfM_spnGyDOJArI1SxNV192FeMgpQUGg" /><input type="hidden" name="date" value="2026-05-23" /><input type="hidden" name="target_member_id" value="10" /><input type="hidden" name="team_id" value="2" /></form>                    </div>
                  </td>
                <td class="px-2 sm:px-3 py-2 sm:py-3 text-center">
                  <div class="flex items-center justify-center h-6 sm:h-7">
                    <span data-member-total-for="10"
                          data-member-total="7"
                          class="inline-flex items-center justify-center min-w-[20px] px-1.5 py-0.5 text-xs font-semibold rounded-full bg-green-100 text-green-700">
                      7/7
                    </span>
                  </div>
                </td>
              </tr>
          </tbody>
        </table>
      </div>

      <!-- Summary Footer -->
      <div class="px-3 sm:px-4 py-2 sm:py-3 bg-gray-50 border-t border-gray-200">
        <div class="flex items-center justify-between text-xs sm:text-sm">
          <span class="text-gray-600">
            팀 전체: <span data-matrix-summary="completed">35</span>/<span data-matrix-summary="total">35</span> 완료
          </span>
          <span data-matrix-summary="percent" class="font-semibold text-green-600">
            100%
          </span>
        </div>
      </div>
  </div>
</turbo-frame>
</template></turbo-stream>
<turbo-stream action="update" target="member-filter-banner"><template>
    <div class="mb-2 flex items-center justify-between px-3 py-2 rounded-xl bg-emerald-100 border border-emerald-400">
    <div class="flex items-center gap-2">
      <div class="w-2 h-2 rounded-full bg-emerald-500 animate-pulse"></div>
      <span class="text-sm font-semibold text-emerald-700">
        최다솔님의 읽기 현황
      </span>
    </div>
    <a data-turbo-method="get" data-turbo-stream="true" class="inline-flex items-center gap-1 px-2 py-1 text-xs font-medium rounded-lg text-emerald-600 hover:bg-white/50 transition-colors" href="/calendar/month?date=2026-05-17&amp;team_id=2">
      <svg class="w-3.5 h-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2">
        <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path>
      </svg>
      전체보기
</a>  </div>

</template></turbo-stream>
<turbo-stream action="update" target="selected-day-panel"><template>
  <!-- Hidden container that only maintains data attributes for Stimulus/Turbo state -->
<div class="hidden"
     data-calendar-target="selectedDay"
     data-selected-date="2026-05-17"
     data-read="true"
     data-team-ring-class="ring-emerald-400">
</div>

</template></turbo-stream>
