/* Haftalık takvim. Ayrı bir takvim kütüphanesi yok — BaseGrid gibi projenin kendi
   bileşeni. Hücre GÜN bazlı: saat ızgarası çizilseydi bırakılan noktadan saat tahmin
   etmek gerekirdi; saati kaydın kendi ekranı verir. */

.wf-cal {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: .5rem;
    position: relative;
}

/* Ay kipinde hücreler alçalır: 5-6 satır ekrana sığmalı, kayıt çoksa hücre kaydırır. */
.wf-cal.month .wf-cal-day { min-height: 108px; max-height: 168px; overflow-y: auto; }
.wf-cal.month .wf-cal-day-name { display: none; }

/* Komşu aya taşan günler soluk: ızgara tam haftalara tamamlanıyor. */
.wf-cal-day.outside { opacity: .55; background: var(--bs-tertiary-bg, #f8f9fa); }

@media (max-width: 992px) {
    .wf-cal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wf-cal.month .wf-cal-day-name { display: inline; }
}

@media (max-width: 576px) {
    .wf-cal { grid-template-columns: 1fr; }
}

.wf-cal-day {
    border: 1px solid var(--bs-border-color, #e9ebec);
    border-radius: .5rem;
    min-height: 160px;
    padding: .4rem;
    background: var(--bs-body-bg, #fff);
    transition: background-color .12s, border-color .12s;
}

.wf-cal-day.today { border-color: #3b76e1; box-shadow: inset 0 0 0 1px rgba(59, 118, 225, .25); }

/* Sürükleme hedefi: bırakılacak gün belirgin olmalı, yoksa kullanıcı nereye
   bıraktığını ancak sonuçtan anlar. */
.wf-cal-day.drop { background: rgba(59, 118, 225, .08); border-color: #3b76e1; }

.wf-cal-day-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 0 .15rem .3rem;
    border-bottom: 1px solid var(--bs-border-color, #e9ebec);
    margin-bottom: .35rem;
}

.wf-cal-day-name { font-size: 11px; text-transform: uppercase; color: var(--bs-secondary-color, #74788d); }
.wf-cal-day-num { font-weight: 600; font-size: 14px; }

.wf-cal-empty { text-align: center; color: var(--bs-secondary-color, #adb5bd); font-size: 12px; padding: .5rem 0; }

.wf-cal-item {
    border-left: 3px solid #74788d;
    border-radius: .25rem;
    background: rgba(120, 130, 150, .08);
    padding: .3rem .4rem;
    margin-bottom: .35rem;
    cursor: grab;
    font-size: 12px;
}

.wf-cal-item:active { cursor: grabbing; }

.wf-cal-item.active { border-left-color: #3b76e1; background: rgba(59, 118, 225, .1); }
.wf-cal-item.done { border-left-color: #34c38f; background: rgba(52, 195, 143, .1); }
.wf-cal-item.rejected { border-left-color: #f46a6a; background: rgba(244, 106, 106, .1); }

.wf-cal-time { font-weight: 600; font-size: 11.5px; }

.wf-cal-title {
    display: block;
    color: var(--bs-body-color, #495057);
    text-decoration: none;
    font-weight: 500;
    line-height: 1.25;
}

.wf-cal-title:hover { text-decoration: underline; }

.wf-cal-entity,
.wf-cal-assignee { font-size: 10.5px; color: var(--bs-secondary-color, #74788d); line-height: 1.3; }

/* Yükleme sırasında tuvali kapatmıyoruz; üstte ince bir gösterge yeterli —
   hafta değiştirirken takvimin boşalması yanıp sönme etkisi yaratıyordu. */
.wf-cal-busy {
    position: absolute;
    right: 1rem;
    z-index: 2;
}
