/**
 * İLEKA Soft Portal - Özel CSS Stilleri
 * AdminLTE ve Bootstrap'e ek özel stiller
 */

/* ======================================
   Filtre Kartı Stilleri
   ====================================== */
.card.filter-card {
    margin-bottom: 1rem;
}

.card.filter-card .card-header {
    cursor: pointer;
}

.card.filter-card .card-header:hover {
    background-color: rgba(0, 0, 0, 0.03);
}

/* Filtre butonu stilleri */
.filter-buttons {
    margin-top: 1rem;
}

/* ======================================
   Toast Container (Zaten custom.js'de oluşturuluyor ama stil ekstra)
   ====================================== */
#toastContainer {
    z-index: 9999 !important;
}

/* ======================================
   Select2 Özelleştirmeleri
   ====================================== */
.select2-container--bootstrap-5 .select2-selection {
    min-height: 38px;
}

/* Modal içindeki Select2 z-index düzeltmesi */
.modal .select2-container {
    z-index: 10000 !important;
}

/* ======================================
   DataTable Özelleştirmeleri
   ====================================== */
.dataTables_wrapper .dataTables_filter input {
    margin-left: 0.5em;
    border-radius: 0.25rem;
}

.dataTables_wrapper .dataTables_length select {
    padding: 0.375rem 2.25rem 0.375rem 0.75rem;
    border-radius: 0.25rem;
}

/* ======================================
   Info Box Özelleştirmeleri
   ====================================== */
.info-box {
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.info-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 3px 6px rgba(0, 0, 0, 0.3);
}

/* ======================================
   Loading Spinner
   ====================================== */
#globalLoading {
    backdrop-filter: blur(5px);
}

/* ======================================
   Form Stilleri
   ====================================== */
.required-field label::after {
    content: " *";
    color: #dc3545;
}

.form-label.required::after {
    content: " *";
    color: #dc3545;
}

/* ======================================
   Tablo Stilleri
   ====================================== */
.table-hover tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.075);
    cursor: pointer;
}

.table .badge {
    font-size: 0.875rem;
}

/* ======================================
   Buton Stilleri
   ====================================== */
.btn-group .btn {
    margin-right: 0.25rem;
}

.btn-group .btn:last-child {
    margin-right: 0;
}

/* Buton icon spacing */
.btn i {
    margin-right: 0.25rem;
}

.btn-sm i {
    margin-right: 0;
}

/* ======================================
   Card Özellikleri
   ====================================== */
.card {
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.2);
}

.card.card-outline {
    border-top-width: 3px;
}

/* ======================================
   Responsive Düzenlemeler
   ====================================== */
@media (max-width: 768px) {

    /* Filtre kartı mobilde tam genişlik */
    .filter-card .col-md-2,
    .filter-card .col-md-3,
    .filter-card .col-md-4 {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 0.75rem;
    }

    /* Tablo scroll */
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Butonlar */
    .btn-group {
        display: flex;
        flex-direction: column;
    }

    .btn-group .btn {
        margin-right: 0;
        margin-bottom: 0.5rem;
    }

    /* Info boxes */
    .info-box {
        margin-bottom: 1rem;
    }
}

/* ======================================
   Yardımcı Sınıflar
   ====================================== */
.cursor-pointer {
    cursor: pointer;
}

.text-truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bg-light-hover:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

/* ======================================
   Badge Özelleştirmeleri
   ====================================== */
.badge {
    font-weight: 500;
    padding: 0.35em 0.65em;
}

/* ======================================
   Animasyonlar
   ====================================== */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in {
    animation: fadeIn 0.3s ease-in-out;
}

/* ======================================
   Print Stilleri
   ====================================== */
@media print {

    .no-print,
    .app-header,
    .app-sidebar,
    .app-footer,
    .card-tools,
    .btn,
    #toastContainer {
        display: none !important;
    }

    .app-main {
        margin-left: 0 !important;
    }

    .card {
        box-shadow: none;
        border: 1px solid #dee2e6;
    }
}

/* ======================================
   Dark Mode Desteği (İleride kullanım için)
   ====================================== */
@media (prefers-color-scheme: dark) {
    /* Dark mode stilleri buraya eklenebilir */
}

/* ======================================
   AdminLTE Style Navbar (Sidebar olmadan)
   ====================================== */

/* Sticky Footer için app-wrapper */
.app-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.app-main {
    flex: 1;
}

/* AdminLTE Footer stili - AdminLTE CSS'den gelecek, override yok */

.app-header.navbar {
    min-height: 56px;
    padding: 0.5rem 0;
    background: #fff !important;
}

.app-header .nav-link {
    color: #495057;
    padding: 0.5rem 1rem;
    transition: all 0.2s ease;
}

.app-header .nav-link:hover {
    color: #667eea;
}

.app-header .nav-link.active {
    color: #667eea;
    font-weight: 500;
}

/* Navbar Badge */
.navbar-badge {
    font-size: 0.6rem;
    font-weight: 600;
    padding: 2px 4px;
    position: absolute;
    right: 5px;
    top: 5px;
}

/* User Menu Dropdown */
.user-menu .dropdown-menu {
    width: 280px;
    padding: 0;
    border: none;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
}

.user-menu .user-header {
    border-radius: 0;
}

.user-menu .user-header img {
    border: 3px solid rgba(255, 255, 255, 0.3);
}

.user-menu .user-footer {
    background: #f8f9fa;
    border-top: 1px solid #dee2e6;
}

/* User Image */
.user-image {
    border: 2px solid rgba(0, 0, 0, 0.1);
}

/* Dropdown Menu Large */
.dropdown-menu-lg {
    min-width: 280px;
    padding: 0;
}

.dropdown-menu-lg .dropdown-item {
    padding: 0.75rem 1rem;
}

.dropdown-menu-lg .dropdown-header {
    padding: 0.75rem 1rem;
    background: #f8f9fa;
    font-weight: 600;
}

.dropdown-menu-lg .dropdown-footer {
    padding: 0.75rem 1rem;
    text-align: center;
    background: #f8f9fa;
    border-top: 1px solid #dee2e6;
}