/* Body arka plan: 03.webp (bg-body.png iptal) */
body {
  background-image: url('../../img/03.webp') !important;
}

/* Genel modal dialog (müşteri detay 4’lüsü hariç – onlar ui-modals center+scrollable kullanıyor) */
#projeEditModal > div,
#projeEditModalDetail > div,
#importModalContent,
#gorevDuzenleModal > div,
#gorevDetayModal > div,
#eventModal > div,
#productModal > div,
#reservationModal > div,
#reservationInstallmentModal > div,
#variantsModal > div,
#installmentPaymentModal > div,
#subscriptionPaymentModal > div,
#subscriptionModal > div,
#subscriptionPaymentModal .subscriptionPaymentModalBox,
#transactionModal > div,
#periodsModal > div,
#customInstallmentsModal > div,
#optionsModal > div,
#statusModal > div,
#editReservationModal > div {
    width: 60% !important;
    margin: 0 auto;
    max-height: 90vh !important;
    max-height: min(90vh, 100dvh) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    display: flex !important;
    flex-direction: column !important;
}

/* Rol izinleri popup: full ekran değil, max 80vh / 80%, z-index 99999 */
.perm-modal-overlay,
#permModal {
    z-index: 99999 !important;
}
#permModal > div > div.bg-white {
    max-width: 80% !important;
    max-height: 80vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}

/* Popup açıkken: overlay tam ekran (dikey 100%, margin 0) */
body.modal-enabled {
    overflow: hidden !important;
    margin: 0 !important;
}
body.modal-enabled .modal-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 100% !important;
    min-height: 100vh !important;
    margin: 0 !important;
}

/* Müşteri detay popupları: dikey ve yatay tam orta, header/footer sabit, sadece body scroll */
#kisiEkleModal.block,
#gorevEkleModal.block,
#gorevGuncelleModal.block,
#projeEkleModal.block {
    position: fixed !important;
    inset: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
#kisiEkleModal > .modal-dialog,
#gorevEkleModal > .modal-dialog,
#gorevGuncelleModal > .modal-dialog,
#projeEkleModal > .modal-dialog {
    margin: 0 auto !important;
    max-width: 80% !important;
    width: 80% !important;
    max-height: 90vh !important;   /* yükseklik en fazla 90vh */
    height: auto !important;      /* kısa içerikte kutu küçük kalır, overlay’e göre ortada */
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}
/* Tüm center/scrollable modal dialog'larında dikey ortalama */
.modal-dialog.modal-dialog-center,
.modal-dialog.modal-dialog-center.modal-dialog-scrollable {
    justify-content: center !important;
}
/* Proje Ekle: %100 açılmasın, max 90vh; dikey orta */
#projeEkleModal > .modal-dialog.modal-dialog-scrollable {
    max-height: 90vh !important;
    height: auto !important;
    min-height: 0 !important;
}
#kisiEkleModal .modal-content,
#gorevEkleModal .modal-content,
#gorevGuncelleModal .modal-content,
#projeEkleModal .modal-content {
    max-height: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}
#kisiEkleModal .modal-header,
#gorevEkleModal .modal-header,
#gorevGuncelleModal .modal-header,
#projeEkleModal .modal-header {
    flex-shrink: 0 !important;
}
#kisiEkleModal .modal-body,
#gorevEkleModal .modal-body,
#gorevGuncelleModal .modal-body,
#projeEkleModal .modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
}
#kisiEkleModal .modal-footer,
#gorevEkleModal .modal-footer,
#gorevGuncelleModal .modal-footer,
#projeEkleModal .modal-footer {
    flex-shrink: 0 !important;
}
/* Proje Ekle: Kullanıcılar listesi max 200px, dikey scroll */
#projeEkleModal #projeKullaniciSecim {
    max-height: 200px !important;
    overflow-y: auto !important;
}
/* Aynı modallarda içerik alanı flex ile küçülebilsin, scroll popup’ta olsun */
#projeEditModal .card-body,
#projeEditModalDetail .card-body,
#editReservationModal .card-body,
#gorevEkleModal .card-body,
#gorevDuzenleModal .card-body,
#kisiEkleModal .card-body,
#gorevDetayModal .card-body,
#customInstallmentsModal .card-body,
#permModal .card-body,
#installmentPaymentModal .card-body,
#gorevEkleModal .card-body,
#eventModal .card-body,
#optionsModal .card-body,
#reservationInstallmentModal .card-body,
#statusModal .card-body,
#productModal .card-body,
#variantsModal .card-body,
#subscriptionPaymentModal .card-body,
#subscriptionModal .card-body,
#transactionModal .card-body,
#periodsModal .card-body,
#gorevGuncelleModal .card-body,
#reservationModal .card-body,
#projeEkleModal .card-body {
    min-height: 0 !important;
    overflow-y: visible;
}

/* Mobil */
@media (max-width: 768px) {
    #projeEditModal > div,
    #periodsModal > div,
    #reservationModal > div,
    #transactionModal > div,
    #subscriptionPaymentModal > div,
    #subscriptionModal > div,
    #subscriptionPaymentModal .subscriptionPaymentModalBox,
    #eventModal > div,
    #gorevDetayModal > div,
    #gorevDuzenleModal > div,
    #editReservationModal > div,
    #productModal > div,
    #statusModal > div,
    #optionsModal > div,
    #variantsModal > div,
    #projeEditModalDetail > div,
    #customInstallmentsModal > div,
    #installmentPaymentModal > div,
    #reservationInstallmentModal > div {
        width: 90% !important;
    }
    #kisiEkleModal > .modal-dialog,
    #gorevEkleModal > .modal-dialog,
    #gorevGuncelleModal > .modal-dialog,
    #projeEkleModal > .modal-dialog {
        width: 90% !important;
        max-width: 90% !important;
    }
}

/* Proje Aktiviteler timeline - ikon ve li hizalama */
#projeAktivitelerList li > span:first-of-type {
    margin-left: -18px;
}
#projeAktivitelerList li {
    padding-left: 2rem !important;
}

@media (min-width: 768px) {
    #pane-aktiviteler .proje-aktiviteler-sol {
        width: 490px !important;
        max-width: 33% !important;
        flex-shrink: 0;
    }
}

#gorevDetayModal, #kisiEkleModal, #gorevGuncelleModal, #gorevEkleModal, #installmentPaymentModal, #projeEditModalDetail, #projeEditModal, #gorevDuzenleModal, #eventModal, #projeEkleModal{
    z-index: 9999 !important;
}

/* projects.php: Proje Ekle / Proje Düzenle popup (custom .projeModalBox) – overlay orta, kutu max 90vh, form scroll */
#projeEkleModal.flex,
#projeEditModal.flex {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    min-height: 100vh !important;
}
#projeEkleModal.flex > div {
    max-height: 100vh !important;
    width: 80% !important;
}
#projeEkleModal.flex .projeModalBox,
#projeEditModal.flex .projeModalBox {
    max-height: 90vh !important;
    height: auto !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    width: 80% !important;
    max-width: 80% !important;
}
#projeEkleModal.flex .projeModalBox > div:first-child,
#projeEditModal.flex .projeModalBox > div:first-child {
    flex-shrink: 0 !important;
}
#projeEkleModal.flex .projeModalBox form,
#projeEditModal.flex .projeModalBox form {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
}
#projeEkleModal.flex .projeModalBox > div:last-child,
#projeEditModal.flex .projeModalBox > div:last-child {
    flex-shrink: 0 !important;
}
/* projects.php: Kullanıcılar listesi 200px scroll */
#projeEkleModal #projeKullaniciSecim,
#projeEditModal #projeEditKullaniciSecim {
    max-height: 200px !important;
    overflow-y: auto !important;
}
@media (max-width: 767px) {
    #projeEkleModal.flex .projeModalBox,
    #projeEditModal.flex .projeModalBox {
        width: 95% !important;
        max-width: 95% !important;
    }
}

#eventModal #eventForm > div.flex.gap-2.justify-end {
    margin-bottom: 20px;
}

/* Görev Detay modal: içerik alanı mutlaka scroll olsun */
#gorevDetayModal > div {
    display: flex !important;
    flex-direction: column !important;
    max-height: 90vh !important;
}
#gorevDetayModalBody {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    min-height: 0 !important;
    max-height: calc(90vh - 4rem) !important; /* başlık + padding için yer bırak */
    -webkit-overflow-scrolling: touch;
}

/* Takvim etkinlik modalı: atanan kullanıcılar listesi scroll */
#eventAssignedUsersWrap {
    max-height: 12rem;
    overflow-y: auto;
    min-height: 0;
    -webkit-overflow-scrolling: touch;
}

/* Görev detay aktivite listesi: son satırdaki dikey çizgi gizlensin */
#gorevDetayAktivitelerList > li:last-child .gorev-detay-timeline-line {
    opacity: 0;
}

/* Formlar: space-y-5 ve label mb-2 ile başlık/input boşlukları sayfa içi sınıflarla verildi */

/* Nav: mobilde alt menüler tam genişlik, tıklanabilir; alt başlıkları gizle */
@media (max-width: 767px) {
  .navbar .dropdown-menu {
    width: 100% !important;
    min-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .navbar .dropdown-menu > div:first-child {
    display: none;
  }
  /* Profil dropdown: dar parent'tan çıkmayıp doğru konumda açılsın */
  .navbar #navUserdata.dropdown-menu {
    position: absolute !important;
    right: 0 !important;
    top: 100% !important;
    width: 12rem !important;
    min-width: 12rem !important;
    margin-top: 0.25rem !important;
    transform: none !important;
  }
}

#dashboardTodayEvents li {
    padding: 0px 20px;
}

#yetkililerList{
    max-height: 500px;
    overflow-y: scroll !important;
}

#navSearchPopupBox {
    max-width: 1080px;
    border-radius: 10px;
    padding: 15px;
}

#navSearchResults {
    max-height: 300px;
    overflow-y: scroll;
}

#projelerList p {
    font-size: 13px;
}

#mobile-menu-2 ul li {
    margin-left: 10px !important; 
}

#messagesChatActive {padding: 20px;}

#subscriptionPaymentModal {
    z-index: 99;
}

.choices__inner {z-index: -1;}

#transactionModal {
    z-index: 9999;
}

.navbar {
    z-index: 9999;
}

.paginate_button {
    cursor: pointer;
}

/* Taksit ödemeleri takvim etiketi - beyaz yazı */
#calendar .fc-event-installment,
#calendar .fc-event-installment a,
#calendar .fc-event-installment *,
#calendar .fc-event-installment .fc-event-title,
#calendar .fc-event-installment .fc-event-main,
#calendar .fc-event-installment .fc-event-main-frame,
#calendar .fc-event-installment .fc-event-title-container {
    color: #ffffff !important;
}

.customer-select-wrap {
    z-index: 99 !important;
}

#subscriptionModal, #reservationModal, #reservationInstallmentModal {
    z-index: 99999 !important
}

#navCalendar, #navOpportunities, #navTasks {
    min-width: 250px;
}

/* Rezervasyon takvim etiketi: siyah arka plan, beyaz yazı; başlık + saat iki satır (pre-line) */
#calendar .fc-event-reservation,
#calendar .fc-event-reservation a,
#calendar .fc-event-reservation *,
#calendar .fc-event-reservation .fc-event-title,
#calendar .fc-event-reservation .fc-event-main,
#calendar .fc-event-reservation .fc-event-main-frame,
#calendar .fc-event-reservation .fc-event-title-container {
    background-color: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}
#calendar .fc-event-reservation .fc-event-title {
    white-space: pre-line !important;
}
#calendar .fc-event-reservation .fc-event-time {
    display: none !important;
}
/* Rezervasyon taksit etiketi: sarı arka plan, beyaz yazı */
#calendar .fc-event-reservation-installment,
#calendar .fc-event-reservation-installment a,
#calendar .fc-event-reservation-installment *,
#calendar .fc-event-reservation-installment .fc-event-title,
#calendar .fc-event-reservation-installment .fc-event-main,
#calendar .fc-event-reservation-installment .fc-event-main-frame,
#calendar .fc-event-reservation-installment .fc-event-title-container {
    background-color: #eab308 !important;
    border-color: #ca8a04 !important;
    color: #ffffff !important;
}

/* Takvim etiketleri: metnin tam görünmesi (taşma kaldırıldı, satır kırılır) */
#calendar .fc-event {
    min-height: 1.5em;
    overflow: visible !important;
}
#calendar .fc-event .fc-event-main,
#calendar .fc-event .fc-event-main-frame,
#calendar .fc-event .fc-event-title-container {
    overflow: visible !important;
}
#calendar .fc-event .fc-event-title {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    overflow: visible !important;
}

.mb20 {
    margin-bottom: 20px;
}


.pb20 {
    padding-bottom: 20px;
}

/* Filtreler alanı - sadece mobilde input/select'ler alt alta, tam genişlik */
@media (max-width: 767px) {
    .card-body > div.flex.flex-wrap.items-end,
    .card-body.flex.flex-wrap.items-end {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .card-body > div.flex.flex-wrap.items-end > *,
    .card-body.flex.flex-wrap.items-end > * {
        min-width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }
    /* Filtre accordion açıkken mobilde sabit max-height kaldır; içerik kesilmesin, gerekirse scroll */
    #filterAccordion.accordion-open #filterAccordionBody {
        max-height: min(85vh, 800px) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    /* Takvim sayfası – mobilde daha ferah */
    .calendar-page {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* Takvim – mobil araç çubuğu ve hücreler */
    #calendar .fc-toolbar {
        flex-wrap: wrap !important;
        gap: 0.5rem !important;
        row-gap: 0.5rem;
    }
    #calendar .fc-toolbar-chunk {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.25rem;
    }
    #calendar .fc-toolbar-title {
        font-size: 1rem !important;
        margin: 0 0.25rem;
    }
    #calendar .fc-button {
        padding: 0.35em 0.5em !important;
        font-size: 0.8rem !important;
    }
    /* Aylık görünümde gün hücresi minimum yükseklik (dokunmatik) */
    #calendar .fc-daygrid-day-frame {
        min-height: 2.75rem;
    }
    #calendar .fc-daygrid-day-number {
        font-size: 0.75rem;
        padding: 0.2rem 0.35rem;
    }
    #calendar .fc-event {
        font-size: 0.7rem;
    }
    /* Takvim sütunu: taşmayı keser, scroll sadece kartın içinde */
    .calendar-column {
        min-width: 0;
    }
    /* Takvim kartı mobilde: yatay scroll sadece .card içinde, sayfa scroll olmaz */
    .calendar-card {
        width: 100%;
        max-width: 100% !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    #calendar {
        min-width: 700px;
    }
}