<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-amber-400 group" href="/calendar/month?date=2027-12-01&amp;member_id=18&amp;team_id=4">
      <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">
        2028년 1월
      </h1>
      <p id="calendar-week-range" class="text-xs text-gray-500 mt-0.5">
        12월 26일 - 01월 01일
      </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-amber-400 group" href="/calendar/month?date=2028-02-01&amp;member_id=18&amp;team_id=4">
      <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-amber-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-amber-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="2027-12-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 -->

          <!-- 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="2027-12-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 -->

          <!-- 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="2027-12-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 -->

          <!-- 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="2027-12-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 -->

          <!-- 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="2027-12-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 -->

          <!-- 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="2027-12-31"
           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">
              31
            </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-amber-50/30"
           data-date="2028-01-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-amber-600">
              1
            </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-amber-50/30"
           data-date="2028-01-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-amber-600">
              2
            </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"
           data-date="2028-01-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-gray-700">
              3
            </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"
           data-date="2028-01-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 -->

          <!-- 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="2028-01-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 -->

          <!-- 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="2028-01-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 -->

          <!-- 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="2028-01-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 -->

          <!-- 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-amber-50/30"
           data-date="2028-01-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-amber-600">
              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-amber-50/30"
           data-date="2028-01-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-amber-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"
           data-date="2028-01-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-gray-700">
              10
            </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"
           data-date="2028-01-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 -->

          <!-- 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="2028-01-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 -->

          <!-- 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="2028-01-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 -->

          <!-- 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="2028-01-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 -->

          <!-- 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-amber-50/30"
           data-date="2028-01-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-amber-600">
              15
            </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-amber-50/30"
           data-date="2028-01-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-amber-600">
              16
            </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"
           data-date="2028-01-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-gray-700">
              17
            </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"
           data-date="2028-01-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 -->

          <!-- 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="2028-01-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 -->

          <!-- 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="2028-01-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 -->

          <!-- 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="2028-01-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 -->

          <!-- 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-amber-50/30"
           data-date="2028-01-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-amber-600">
              22
            </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-amber-50/30"
           data-date="2028-01-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-amber-600">
              23
            </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"
           data-date="2028-01-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-gray-700">
              24
            </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"
           data-date="2028-01-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 -->

          <!-- 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="2028-01-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 -->

          <!-- 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="2028-01-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 -->

          <!-- 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="2028-01-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 -->

          <!-- 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-amber-50/30"
           data-date="2028-01-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-amber-600">
              29
            </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-amber-50/30"
           data-date="2028-01-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-amber-600">
              30
            </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"
           data-date="2028-01-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-gray-700">
              31
            </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 bg-gray-50 opacity-40 pointer-events-none"
           data-date="2028-02-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 -->

          <!-- 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="2028-02-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 -->

          <!-- 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="2028-02-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 -->

          <!-- 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="2028-02-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 -->

          <!-- 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="2028-02-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 -->

          <!-- 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="4" 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="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-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=2028-01-01&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 ">
                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="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-blue-500 to-blue-600"
                   style="width: 0%;">
              </div>
            </div>
              <div data-team-progress-chapters="1" class="mt-1 sm:mt-1.5 text-[10px] sm:text-xs opacity-80">
                0/126 챕터
              </div>
</a>
          <a data-turbo-method="get" data-turbo-stream="true" data-team-progress-card="2" data-team-goal-chapters="126" 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-emerald-50 text-emerald-700 hover:shadow-md border border-transparent hover:border-gray-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-emerald-400" href="/calendar/month?date=2028-01-01&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 ">
                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="2"
                   data-bar-incomplete-class="bg-gradient-to-r from-emerald-500 to-emerald-600"
                   class="h-full rounded-full transition-all duration-500 ease-out bg-gradient-to-r from-emerald-500 to-emerald-600"
                   style="width: 0%;">
              </div>
            </div>
              <div data-team-progress-chapters="2" class="mt-1 sm:mt-1.5 text-[10px] sm:text-xs opacity-80">
                0/126 챕터
              </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="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-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=2028-01-01&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 ">
                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="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: 0%;">
              </div>
            </div>
              <div data-team-progress-chapters="3" class="mt-1 sm:mt-1.5 text-[10px] sm:text-xs opacity-80">
                0/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="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-amber-600 text-white shadow-xl shadow-amber-500/50 border-2 border-amber-400 shadow-lg shadow-amber-500/30 ring-2 ring-amber-400 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-400" href="/calendar/month?date=2028-01-01&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 ">
                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="4"
                   data-bar-incomplete-class="bg-white/80"
                   class="h-full rounded-full transition-all duration-500 ease-out bg-white/80"
                   style="width: 0%;">
              </div>
            </div>
              <div data-team-progress-chapters="4" class="mt-1 sm:mt-1.5 text-[10px] sm:text-xs opacity-80">
                0/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=2028-01-01&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=2027-12-19&amp;team_id=4">
          <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">
          12/26 – 01/01
        </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=2028-01-02&amp;team_id=4">
          <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]">26</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]">27</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]">28</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]">29</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]">30</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]">31</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]">1</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-amber-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=2028-01-01&amp;member_id=21&amp;team_id=4">
                      <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="21" data-date="2027-12-26" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="Z_Qxu7ZC4k1RYEWZIVXj0NQKxkqGtK_-64fWeNeyI25wAYoojVcIkvigDK9m1U8A-cSWway-ADG7KBp_Zw_n3g" /><input type="hidden" name="date" value="2027-12-26" /><input type="hidden" name="target_member_id" value="21" /><input type="hidden" name="team_id" value="4" /></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="21" data-date="2027-12-27" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="61HtYulrpY86CotAFET_biEW6Ab8abOyDEMI2VYxGfT8pFbx0n5PUJPKwnZTxFO-DNi4jdZjHH1c7MTe5ozdRA" /><input type="hidden" name="date" value="2027-12-27" /><input type="hidden" name="target_member_id" value="21" /><input type="hidden" name="team_id" value="4" /></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="21" data-date="2027-12-28" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="6-0OWSnAo87eYLQJacgNBWpT6Y47JnkqKffn0_oFAh78GLXKEtVJEXeg_T8uSKHVR525BREs1uV5WCvUSrjGrg" /><input type="hidden" name="date" value="2027-12-28" /><input type="hidden" name="target_member_id" value="21" /><input type="hidden" name="team_id" value="4" /></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="21" data-date="2027-12-29" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="nLyjHWiEC0rc9N4NILVMQwrvIhgrXqZAZ58-rcoO3M2LSRiOU5HhlXU0lztnNeCTJyFykwFUCY83MPKqerMYfQ" /><input type="hidden" name="date" value="2027-12-29" /><input type="hidden" name="target_member_id" value="21" /><input type="hidden" name="team_id" value="4" /></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="21" data-date="2027-12-30" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="8ufhjwdsFDVaNatrIH2creXXJO_8vtUslSLI_Z0OEfHlElocPHn-6vP14l1n_TB9yBl0ZNa0euPFjQT6LbPVQQ" /><input type="hidden" name="date" value="2027-12-30" /><input type="hidden" name="target_member_id" value="21" /><input type="hidden" name="team_id" value="4" /></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="21" data-date="2027-12-31" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="QAX16kqvAbFc1cFb9gxqvmxmM1ZSKO1drHtUT1sCQCxX8E55cbrrbvUViG2xjMZuQahj3XgiQpL81JhI67-EnA" /><input type="hidden" name="date" value="2027-12-31" /><input type="hidden" name="target_member_id" value="21" /><input type="hidden" name="team_id" value="4" /></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="21" data-date="2028-01-01" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="brzZGkiu13A1_X26o1VZqXBslUs3RhATwb6o6He6IvN5SWKJc7s9r5w9NIzk1fV5XaLFwB1Mv9yREWTvxwfmQw" /><input type="hidden" name="date" value="2028-01-01" /><input type="hidden" name="target_member_id" value="21" /><input type="hidden" name="team_id" value="4" /></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="21"
                          data-member-total="0"
                          class="inline-flex items-center justify-center min-w-[20px] px-1.5 py-0.5 text-xs font-semibold rounded-full bg-gray-100 text-gray-700">
                      0/7
                    </span>
                  </div>
                </td>
              </tr>
              <tr class="bg-gray-50/50 hover:bg-amber-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=2028-01-01&amp;member_id=19&amp;team_id=4">
                      <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="19" data-date="2027-12-26" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="OvsqMkutmlt-FHp--QpgahZCR1bfh0_UB4mwDleBEKYtDpGhcLhwhNfUM0i-isy6O4wX3fWN4BtXJnwJ5zzUFg" /><input type="hidden" name="date" value="2027-12-26" /><input type="hidden" name="target_member_id" value="19" /><input type="hidden" name="team_id" value="4" /></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="19" data-date="2027-12-27" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="2zus-xEP_8_JkmKXHQid6apiopAzpg2YpEtNb-qaeSnMzhdoKhoVEGBSK6FaiDE5h6zyGxmsolf05IFoWie9mQ" /><input type="hidden" name="date" value="2027-12-27" /><input type="hidden" name="target_member_id" value="19" /><input type="hidden" name="team_id" value="4" /></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="19" data-date="2027-12-28" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="lvKB77IlY_07rnSpUW8GF47ep75i-l1W5sn6B-YAU-yBBzp8iTCJIpJuPZ8W76rHoxD3NUjw8pm2ZjYAVr2XXA" /><input type="hidden" name="date" value="2027-12-28" /><input type="hidden" name="target_member_id" value="19" /><input type="hidden" name="team_id" value="4" /></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="19" data-date="2027-12-29" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="mHsfdkmSGo-C3rZwGyDtlJUeyIWHnKSwqZ6TwpEX66GPjqTlcofwUCse_0ZcoEFEuNCYDq2WC3_5MV_FIaovEQ" /><input type="hidden" name="date" value="2027-12-29" /><input type="hidden" name="target_member_id" value="19" /><input type="hidden" name="team_id" value="4" /></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="19" data-date="2027-12-30" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="PqnTH4c9eJuyaW55eNDpEdOuT6_7F4IuqTIcpwaNg3cpXGiMvCiSRBupJ08_UEXB_mAfJNEdLeH5ndCgtjBHxw" /><input type="hidden" name="date" value="2027-12-30" /><input type="hidden" name="target_member_id" value="19" /><input type="hidden" name="team_id" value="4" /></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="19" data-date="2027-12-31" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="_pT0_diRWYXmVAZKo8rahaB4fPJdi37vfgWkTtSAoprpYU9u44SzWk-UT3zkSnZVjbYseXeB0SAuqmhJZD1mKg" /><input type="hidden" name="date" value="2027-12-31" /><input type="hidden" name="target_member_id" value="19" /><input type="hidden" name="team_id" value="4" /></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="19" data-date="2028-01-01" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="c3QV6eUidn6Wzoel3XT3cnPye6yfjPDzTCsX5lK4b_Nkga563jecoT8OzpOa9FuiXjwrJ7WGXzwchNvh4gWrQw" /><input type="hidden" name="date" value="2028-01-01" /><input type="hidden" name="target_member_id" value="19" /><input type="hidden" name="team_id" value="4" /></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="19"
                          data-member-total="0"
                          class="inline-flex items-center justify-center min-w-[20px] px-1.5 py-0.5 text-xs font-semibold rounded-full bg-gray-100 text-gray-700">
                      0/7
                    </span>
                  </div>
                </td>
              </tr>
              <tr class="bg-white hover:bg-amber-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-amber-100 text-amber-700 font-bold ring-1 ring-amber-400" href="/calendar/month?date=2028-01-01&amp;team_id=4">
                      <span>최명선</span>
                        <svg class="w-3 h-3 sm:w-3.5 sm:h-3.5 text-amber-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="18" data-date="2027-12-26" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="UH3Y4TebAl-U0340Bkb-NUAZOYZwKS-Bl78hJYlsSJJHiGNyDI7ogD0TNwJBxlLlbddpDVojgE7HEO0iOdGMIg" /><input type="hidden" name="date" value="2027-12-26" /><input type="hidden" name="target_member_id" value="18" /><input type="hidden" name="team_id" value="4" /></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="18" data-date="2027-12-27" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="h-BOIqAymYGe4BpEsxwJZ6apZp4g_aNQtxcnwaPtoSuQFfWxmydzXjcgU3L0nKW3i2c2FQr3DJ_nuOvGE1Blmw" /><input type="hidden" name="date" value="2027-12-27" /><input type="hidden" name="target_member_id" value="18" /><input type="hidden" name="team_id" value="4" /></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="18" data-date="2027-12-28" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="QVKFQyYntQoEoOqV-Mgju8NW_RtvETJngwmoUaQv3F9Wpz7QHTJf1a1go6O_SI9r7pitkEUbnajTpmRWFJIY7w" /><input type="hidden" name="date" value="2027-12-28" /><input type="hidden" name="target_member_id" value="18" /><input type="hidden" name="team_id" value="4" /></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="18" data-date="2027-12-29" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="Cx2ZF6bsN-3ABvND0SdQ3hKwcamHZNjexrBVeN67Wj8c6CKEnfndMmnGunWWp_wOP34hIq1udxGWH5l_bgaejw" /><input type="hidden" name="date" value="2027-12-29" /><input type="hidden" name="target_member_id" value="18" /><input type="hidden" name="team_id" value="4" /></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="18" data-date="2027-12-30" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="AbrT2INb1XvgcxExSw0d3BSd-0ZpepnzUSwBOQGWRdUWT2hLuE4_pEmzWAcMjbEMOVOrzUNwNjwBg80-sSuBZQ" /><input type="hidden" name="date" value="2027-12-30" /><input type="hidden" name="target_member_id" value="18" /><input type="hidden" name="team_id" value="4" /></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="18" data-date="2027-12-31" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="GJ4TRUIcQdQfh5ieiRAUFCkPgb6d1MhkWGocngrIz28Pa6jWeQmrC7ZH0ajOkLjEBMHRNbfeZ6sIxdCZunUL3w" /><input type="hidden" name="date" value="2027-12-31" /><input type="hidden" name="target_member_id" value="18" /><input type="hidden" name="team_id" value="4" /></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="18" data-date="2028-01-01" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="hRVuh3HwUjDg7AM69FwI0-94hIQcZFQrKGIKFalN3R6S4NUUSuW470ksSgyz3KQDwrbUDzZu--R4zcYSGfAZrg" /><input type="hidden" name="date" value="2028-01-01" /><input type="hidden" name="target_member_id" value="18" /><input type="hidden" name="team_id" value="4" /></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="18"
                          data-member-total="0"
                          class="inline-flex items-center justify-center min-w-[20px] px-1.5 py-0.5 text-xs font-semibold rounded-full bg-gray-100 text-gray-700">
                      0/7
                    </span>
                  </div>
                </td>
              </tr>
              <tr class="bg-gray-50/50 hover:bg-amber-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=2028-01-01&amp;member_id=20&amp;team_id=4">
                      <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="20" data-date="2027-12-26" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="Ay1wlt_tlVO3GbkKIlrqV8UccGQmoT-ILM8SNH9LcWwU2MsF5Ph_jB7Z8Dxl2kaH6NIg7wyrkEd8YN4zz_a13A" /><input type="hidden" name="date" value="2027-12-26" /><input type="hidden" name="target_member_id" value="20" /><input type="hidden" name="team_id" value="4" /></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="20" data-date="2027-12-27" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="ZrhjAVsJONx1OtoTRnZXkbZRBkjBguAfPze_oY51pCVxTdiSYBzSA9z6kyUB9vtBm59Ww-uIT9BvmHOmPshglQ" /><input type="hidden" name="date" value="2027-12-27" /><input type="hidden" name="target_member_id" value="20" /><input type="hidden" name="team_id" value="4" /></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="20" data-date="2027-12-28" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="x8GFz-lFohil2wd2jg27mJqmxgoltvX8_lf6uW4sKxzQND5c0lBIxwwbTkDJjRdIt2iWgQ-8WjOu-Da-3pHvrA" /><input type="hidden" name="date" value="2027-12-28" /><input type="hidden" name="target_member_id" value="20" /><input type="hidden" name="team_id" value="4" /></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="20" data-date="2027-12-29" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="Q3wUMUGQLgMTnWRZy70CCfeZaNo_EPgQWBpdgEpAIQFUia-ieoXE3LpdLW-MPa7Z2lc4URUaV98ItZGH-v3lsQ" /><input type="hidden" name="date" value="2027-12-29" /><input type="hidden" name="target_member_id" value="20" /><input type="hidden" name="team_id" value="4" /></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="20" data-date="2027-12-30" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="CRfbzuZ_62yqEFV6jHsYMLhHjZCBUdw4d7GHbwcKraUe4mBd3WoBswPQHEzL-7TglYndG6tbc_cnHktot7dpFQ" /><input type="hidden" name="date" value="2027-12-30" /><input type="hidden" name="target_member_id" value="20" /><input type="hidden" name="team_id" value="4" /></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="20" data-date="2027-12-31" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="qY-1U0owBFU95qBgu66SeijWkOB3UtcawpB-w-5PMc6-eg7AcSXuipQm6Vb8Lj6qBRjAa11YeNWSP7LEXvL1fg" /><input type="hidden" name="date" value="2027-12-31" /><input type="hidden" name="target_member_id" value="20" /><input type="hidden" name="team_id" value="4" /></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="20" data-date="2028-01-01" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="JTD5a0a_ckE238C7vtQiJcjdfcysg01A4bMNRXrtktQyxUL4faqYnp8fiY35VI715RMtR4aJ4o-xHMFCylBWZA" /><input type="hidden" name="date" value="2028-01-01" /><input type="hidden" name="target_member_id" value="20" /><input type="hidden" name="team_id" value="4" /></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="20"
                          data-member-total="0"
                          class="inline-flex items-center justify-center min-w-[20px] px-1.5 py-0.5 text-xs font-semibold rounded-full bg-gray-100 text-gray-700">
                      0/7
                    </span>
                  </div>
                </td>
              </tr>
              <tr class="bg-white hover:bg-amber-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=2028-01-01&amp;member_id=17&amp;team_id=4">
                      <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="17" data-date="2027-12-26" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="-QQeV6W7KOaLiV6YbYeA0573c-H33p-hIySRbd4nxlLu8aXEnq7COSJJF64qBywDszkjat3UMG5zi11qbpoC4g" /><input type="hidden" name="date" value="2027-12-26" /><input type="hidden" name="target_member_id" value="17" /><input type="hidden" name="team_id" value="4" /></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="17" data-date="2027-12-27" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="V8ypwUg-GTnYzERVfBih9lw5KIi5_Ss0LfGlkkiuF9FAORJScyvz5nEMDWM7mA0mcfd4A5P3hPt9XmmV-BPTYQ" /><input type="hidden" name="date" value="2027-12-27" /><input type="hidden" name="target_member_id" value="17" /><input type="hidden" name="team_id" value="4" /></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="17" data-date="2027-12-28" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="pKFfD-XG6CBRKVxqju5FGv_YHSgPkZmEwdbMyL8fdaezVOSc3tMC__jpFVzJbunK0hZNoyWbNkuReQDPD6KxFw" /><input type="hidden" name="date" value="2027-12-28" /><input type="hidden" name="target_member_id" value="17" /><input type="hidden" name="team_id" value="4" /></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="17" data-date="2027-12-29" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="oHXhK5X6U8Irfloe0BjmS14sWmt_2vO9oREgaWd2pIe3gFq4ru-5HYK-EyiXmEqbc-IK4FXQXHLxvuxu18tgNw" /><input type="hidden" name="date" value="2027-12-29" /><input type="hidden" name="target_member_id" value="17" /><input type="hidden" name="team_id" value="4" /></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="17" data-date="2027-12-30" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="d0993t5mNApBcD1fbJUM5FOGXWAdHdK9wse7jwHkWWVgusZN5XPe1eiwdGkrFaA0fkgN6zcXfXKSaHeIsVmd1Q" /><input type="hidden" name="date" value="2027-12-30" /><input type="hidden" name="target_member_id" value="17" /><input type="hidden" name="team_id" value="4" /></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="17" data-date="2027-12-31" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="5bYmpjinGAi9gKPJeC2XEXlzz-XocpG7iIz-J0ri1GjyQ501A7Ly1xRA6v8_rTvBVL2fbsJ4PnTYIzIg-l8Q2A" /><input type="hidden" name="date" value="2027-12-31" /><input type="hidden" name="target_member_id" value="17" /><input type="hidden" name="team_id" value="4" /></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="17" data-date="2028-01-01" data-team-id="4" data-read="false" 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-gray-100 text-gray-400 hover:bg-gray-200" type="submit">
                        <span data-matrix-icon="read" 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="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="">
                          <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="fnkTCIMbAemMYi4jpQT4e-VDWdYlyNCxOByth8smAWxpjKibuA7rNiWiZxXihFSryI0JXQ_Cf35os2GAe5vF3A" /><input type="hidden" name="date" value="2028-01-01" /><input type="hidden" name="target_member_id" value="17" /><input type="hidden" name="team_id" value="4" /></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="17"
                          data-member-total="0"
                          class="inline-flex items-center justify-center min-w-[20px] px-1.5 py-0.5 text-xs font-semibold rounded-full bg-gray-100 text-gray-700">
                      0/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">0</span>/<span data-matrix-summary="total">35</span> 완료
          </span>
          <span data-matrix-summary="percent" class="font-semibold text-gray-700">
            0%
          </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-amber-100 border border-amber-400">
    <div class="flex items-center gap-2">
      <div class="w-2 h-2 rounded-full bg-amber-500 animate-pulse"></div>
      <span class="text-sm font-semibold text-amber-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-amber-600 hover:bg-white/50 transition-colors" href="/calendar/month?date=2028-01-01&amp;team_id=4">
      <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="2028-01-01"
     data-read="false"
     data-team-ring-class="ring-amber-400">
</div>

</template></turbo-stream>
