body:not(.saas-loaded) #userRole { color: transparent !important; }

/* Menülerin aşağı itilmesini engelleyen görünmez iskele */
#userRole { display: block; min-height: 32px; }

/* ========================================================== */
/* 📱 MOBİL UYUM VE ESNEK TASARIM (RESPONSIVE) MOTORU         */
/* ========================================================== */
@media screen and (max-width: 850px) {
    /* 0. TAŞMA VE KAYBOLMA KİLİDİNİ AÇIYORUZ (Sayfa kaydırılabilir oluyor) */
    body { overflow-y: auto !important; height: auto !important; min-height: 100vh; }
    .main-content { overflow-y: visible !important; height: auto !important; min-height: 100vh; padding: 10px !important; }

    /* 1. SİDEBAR VE MENÜ BUTONU */
    #sidebar { position: fixed !important; left: -260px !important; top: 0; width: 250px !important; height: 100vh !important; z-index: 999999 !important; transition: left 0.3s ease; }
    #sidebar.mobile-active { left: 0 !important; } 
    .mobile-menu-btn { display: flex !important; position: fixed; bottom: 20px; right: 20px; width: 50px; height: 50px; background: var(--r-tema-mavi); color: white; border-radius: 50%; align-items: center; justify-content: center; font-size: 20px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); z-index: 10001; cursor: pointer; }
    
    /* Mobilde üstteki fazlalık 3 çizgi butonunu gizle */
    .toggle-btn { display: none !important; }

    /* 2. MÜŞTERİ KABUL SAYFASI (Ezikliği Önle ve Alt Alta Al) */
    .workspace { flex-direction: column !important; overflow: visible !important; height: auto !important; }
    .left-column { width: 100% !important; padding-right: 0 !important; overflow: visible !important; height: auto !important; }
    .right-column { width: 100% !important; height: auto !important; min-height: 500px; display: flex; flex-direction: column; overflow: visible !important; margin-top: 15px; }

    /* 3. TABLOLARIN EZİLMESİNİ VE YAZILARIN KESİLMESİNİ ÖNLEYEN ZIRH */
    .table-wrapper { 
        min-height: 400px; max-height: none !important; 
        overflow-x: auto !important; overflow-y: visible !important; 
        flex: none !important; display: block !important; width: 100% !important; 
        -webkit-overflow-scrolling: touch; /* Mobilde yağ gibi kaydırma */
    }
    .table-wrapper table { 
        min-width: 1000px !important; 
        table-layout: auto !important; 
    }
    /* Kart Görünümündeyken Genişlik Kilidini Kır (Kaydırma Çubuğunu Kaldırır) */
    .table-wrapper table.cari-grid-view, 
    .table-wrapper table.servis-grid-view, 
    .table-wrapper table.stok-grid-view { 
        min-width: 0 !important; 
    }
    .table-wrapper table th, .table-wrapper table td { 
        white-space: nowrap !important; /* Yazıların alt satıra geçip bozulmasını engeller */
    }

    /* 4. FİLTRE BARLARI (Arama kutuları taşmasın diye düzenliyoruz) */
    .filter-bar { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; height: auto !important; }
    .filter-group { width: 100% !important; min-width: 100% !important; }
    .filter-bar .btn { width: 100% !important; margin-top: 5px; }

    /* 5. EKSTRE VE BİLGİ KUTULARI (Yan Yana Duranları Alt Alta Al) */
    div[style*="display: grid"], div[style*="display:grid"] { grid-template-columns: 1fr !important; gap: 10px !important; }
    .main-content > div[style*="display: flex"], .main-content > div[style*="display:flex"] { 
        flex-direction: column !important; gap: 10px !important; height: auto !important; align-items: stretch !important; 
    }
    .panel-box { width: 100% !important; box-sizing: border-box !important; margin-left: 0 !important; margin-right: 0 !important; }

    /* 5.1 ALT BUTONLAR VE TOPLAM ALANI (Kusursuz Mobil Görünüm) */
    .footer-actions { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; height: auto !important; padding: 15px 10px !important; }
    
    /* Toplam Rakamlarının Olduğu Kutu */
    .footer-actions > div:first-child { 
        width: 100% !important; 
        display: flex !important; 
        flex-direction: row !important; /* Mobilde alt alta inmesin, yan yana dursun */
        flex-wrap: wrap !important;
        justify-content: space-between !important; 
        align-items: center !important;
        padding: 12px !important; 
        gap: 10px !important;
    }
    
    /* Araya koyduğumuz dikey ince çizgileri mobilde gizle */
    .footer-actions > div:first-child > div[style*="width: 1px"] { display: none !important; }
    
    /* Ara Toplam ve KDV (Küçük Yazılar Yan Yana) */
    .footer-actions > div:first-child > div:nth-child(1),
    .footer-actions > div:first-child > div:nth-child(3) {
        flex: 1;
        align-items: center !important;
        text-align: center;
    }
    
    /* Genel Toplam (Büyük Yazı Tam Satır Alt Kısma İner) */
    .footer-actions > div:first-child > div:nth-child(5) {
        width: 100%;
        align-items: center !important;
        border-top: 1px dashed var(--r-cizgi);
        padding-top: 8px;
        margin-top: 5px;
    }

    /* İşlem Butonları (Bekliyor, X, Kaydet) - Grid Sihirbazı */
    .footer-actions > div:last-child { 
        display: grid !important; 
        grid-template-columns: 1fr 50px !important; /* Bekliyor menüsü geniş, İptal (X) butonu ufak kare */
        gap: 10px !important; 
        width: 100% !important;
    }
    
    .footer-actions > div:last-child #statusDropdownContainer { width: 100% !important; }
    .footer-actions > div:last-child button { width: 100% !important; height: 42px !important; margin: 0 !important; }
    
    /* Kaydet Butonunu Alt Satıra Tam Genişlikte Yay */
    .footer-actions > div:last-child .btn-save { 
        grid-column: span 2 !important; 
        height: 48px !important; /* Baş parmakla basması kolay olsun diye biraz daha yüksek */
        font-size: 15px !important;
    } 

    /* 6. MODALLAR (AÇILIR PENCERELER) TELEFONA SIĞDIRMA */
    .modal-content { width: 95% !important; max-width: 100% !important; height: 100% !important; max-height: 96% !important; margin: 2% auto !important; padding: 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; }
    .settings-tabs { display: flex; flex-direction: column; overflow-x: visible; white-space: normal; gap: 8px; border-right: none !important; border-bottom: none !important; padding-bottom: 10px; margin-bottom: 15px; }
    .setting-tab { display: flex; align-items: center; width: 100%; background: var(--r-input-bg); border: 1px solid var(--r-cizgi); border-radius: 8px; padding: 15px 20px; font-size: 14px; color: var(--r-yazi-aktif); margin: 0 !important; justify-content: flex-start; }
    .setting-tab i { width: 35px; font-size: 18px; color: var(--r-tema-mavi); }
    .setting-tab.active { background: var(--r-tema-mavi) !important; color: white !important; border-color: var(--r-tema-mavi) !important; }
    .setting-tab.active i { color: white !important; }
    #modal-ayarlar .modal-content > div[style*="display: flex"] { flex-direction: column !important; overflow-y: visible; }
    
    .modern-form-group, .modern-input-wrap, input, select, textarea { width: 100% !important; box-sizing: border-box; }
    
    /* 7. DASHBOARD VE DİĞER KARTLAR */
    .dashboard-cards { grid-template-columns: 1fr !important; }
    .stat-card { width: 100% !important; margin-bottom: 10px; }
}

/* ==========================================================
   1. MERKEZİ KONTROL PANELİ (:root)
   ========================================================== */
:root {
    /* Koyu Tema (Varsayılan) */
    --r-sidebar-bg: #1e222d;   
    --r-body-bg:    #151923;   
    --r-panel-bg:   #1e222d;   
    --r-input-bg:   #2b3240;   
    --r-cizgi:      #2b3240;   
    --r-yazi-pasif: #9ca3af;   
    --r-yazi-aktif: #ffffff;   
    
    /* SaaS Dinamik Tema Rengi (JS ile değişecek) */ 
    --r-tema-mavi:  #1da1f2;   
    --r-btn-kaydet: var(--r-tema-mavi);   
    
    --r-btn-iptal:  #e02424;   
    --r-btn-yeni:   #f59e0b;   
    --r-btn-islem:  #16a34a;   
    --r-btn-gri:    #4b5563;   

    /* Boyutlar */
    --sidebar-w:    250px;     
    --sidebar-w-col: 70px; /* Kapalı Sidebar Genişliği */
    
    --btn-h:        36px;      
    --btn-radius:   5px;       
    --btn-font-sz:  13px;      
    --inp-h:        34px;      
    --inp-radius:   4px;       
    --modal-kucuk:  400px;     
    --modal-orta:   60%;       
    --modal-buyuk:  90%;       
}

/* AÇIK TEMA (Light Mode) AYARLARI */
:root.light-mode, body.light-mode {
    --r-sidebar-bg: #ffffff;   
    --r-body-bg:    #f1f5f9;   /* Biraz daha mat bir arka plan */
    --r-panel-bg:   #ffffff;   
    --r-input-bg:   #ffffff;   
    --r-cizgi:      #9ca3af;   /* SİHİR 1: Çizgiler 1 tık daha belirgin, asla sırıtmaz! */
    --r-yazi-pasif: #4b5563;   
    --r-yazi-aktif: #0f172a;   
}

* { box-sizing: border-box; margin: 0; padding: 0; font-family: 'Segoe UI', sans-serif; font-size: 13px; text-decoration: none; list-style: none;}
body { background-color: var(--r-body-bg); color: var(--r-yazi-aktif); height: 100vh; display: flex; overflow: hidden; }

/* ==========================================================
   3. SIDEBAR (Açılır/Kapanır Dinamik Yapı)
   ========================================================== */
.sidebar { width: var(--sidebar-w); background-color: var(--r-sidebar-bg); display: flex; flex-direction: column; border-right: 1px solid var(--r-cizgi); flex-shrink: 0; transition: width 0.3s ease; }
.tenant-header { height: 70px; display: flex; align-items: center; justify-content: flex-start; padding: 0 20px; border-bottom: 1px solid var(--r-cizgi); gap: 15px;}
.toggle-btn { color: var(--r-yazi-pasif); font-size: 18px; cursor: pointer; transition: 0.2s; }
.toggle-btn:hover { color: var(--r-tema-mavi); }
.tenant-logo-img { max-height: 40px; max-width: 150px; transition: 0.3s; }

.user-profile { display: flex; align-items: center; padding: 20px; gap: 12px; border-bottom: 1px solid var(--r-cizgi); overflow: hidden; white-space: nowrap; height: 85px; flex-shrink: 0; box-sizing: border-box; }
.avatar { width: 40px; height: 40px; background: var(--r-input-bg); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; color: var(--r-yazi-pasif); flex-shrink: 0; margin-top: 0; }
.user-info { display: flex; flex-direction: column; justify-content: center; height: 100%; flex: 1; }
.user-info h4 { color: var(--r-yazi-aktif); font-size: 14px; font-weight: 600; margin: 0 0 3px 0; line-height: 1.2; }
.user-info span { font-size: 12px; color: var(--r-yazi-pasif); display: block; min-height: 16px; line-height: 1; }

.menu-list { flex: 1; overflow-y: auto; padding: 15px 10px; display: flex; flex-direction: column; gap: 4px; overflow-x: hidden; }
.menu-item { display: flex; align-items: center; padding: 12px 15px; color: var(--r-yazi-pasif); border-radius: 6px; cursor: pointer; transition: background-color 0.2s, color 0.2s; font-size: 14px; white-space: nowrap; overflow: hidden; }
.menu-item i { display: inline-block !important; width: 26px !important; min-width: 26px !important; font-size: 16px; text-align: center; margin-right: 10px; }
.menu-item:hover { background: rgba(0,0,0,0.05); color: var(--r-yazi-aktif); }
.menu-item.active { background: var(--r-tema-mavi); color: #fff; font-weight: 600; }

.sidebar-footer { padding: 15px 10px; border-top: 1px solid var(--r-cizgi); display: flex; flex-direction: column; gap: 10px; min-height: 140px; flex-shrink: 0; box-sizing: border-box; justify-content: flex-end; }
.footer-tools { display: flex; justify-content: space-between; align-items: center; padding: 0 5px;}
.theme-switch { cursor: pointer; font-size: 16px; color: var(--r-yazi-pasif); transition: 0.2s; }
.theme-switch:hover { color: var(--r-tema-mavi); }

/* Renk Paleti (SaaS Temaları) */
.color-palette { display: flex; gap: 8px; justify-content: center; }
.c-dot { width: 15px; height: 15px; border-radius: 50%; cursor: pointer; border: 2px solid transparent; transition: 0.2s; }
.c-dot:hover { transform: scale(1.2); }

/* --- SIDEBAR KAPALI (COLLAPSED) HALİ --- */
.sidebar.collapsed { width: var(--sidebar-w-col); }
.sidebar.collapsed .tenant-logo-img { display: none; }
.sidebar.collapsed .user-info { display: none; }
.sidebar.collapsed .menu-item span { display: none; }
.sidebar.collapsed .menu-item i { margin-right: 0; }
.sidebar.collapsed .color-palette { flex-direction: column; align-items: center; }
.sidebar.collapsed .footer-tools { flex-direction: column; gap: 15px; }

/* ==========================================================
   4. ANA İÇERİK VE İŞ EMRİ FORMU (Eski kodlar aynen korundu)
   ========================================================== */
.main-content { flex: 1; display: flex; flex-direction: column; padding: 15px; overflow: hidden; background-color: var(--r-body-bg); }
.header-title { font-size: 18px; font-weight: 600; margin-bottom: 15px; text-transform: uppercase; color: var(--r-yazi-pasif); letter-spacing: 1px; }
.workspace { display: flex; gap: 15px; height: 100%; overflow: hidden; }

.left-column { width: 400px; display: flex; flex-direction: column; gap: 15px; overflow-y: auto; padding-right: 5px; }
.left-column::-webkit-scrollbar { width: 6px; }
.left-column::-webkit-scrollbar-thumb { background: var(--r-cizgi); border-radius: 10px; }

.panel-box { background: var(--r-panel-bg); border: 1px solid var(--r-cizgi); padding: 15px; border-radius: 6px; transition: 0.3s; }
.box-title { font-size: 13px; color: var(--r-yazi-pasif); border-bottom: 1px solid var(--r-cizgi); padding-bottom: 8px; margin-bottom: 12px; font-weight: 700; text-transform: uppercase; }

.form-row { display: flex; align-items: center; margin-bottom: 10px; }
.form-row label { width: 110px; color: var(--r-yazi-pasif); font-size: 13px; }
.form-row input, .form-row select, .form-row textarea { flex: 1; background: var(--r-input-bg); border: 1px solid var(--r-cizgi); color: var(--r-yazi-aktif); height: var(--inp-h); padding: 0 10px; border-radius: var(--inp-radius); outline: none; transition: 0.2s;}
.form-row textarea { height: 50px; padding: 8px 10px; resize: none; }
.form-row input:focus, .form-row select:focus, .form-row textarea:focus { border-color: var(--r-tema-mavi); }
.double-input { display: flex; gap: 8px; flex: 1; } .double-input input { width: 50%; }

.right-column { flex: 1; min-width: 0; display: flex; flex-direction: column; background: var(--r-panel-bg); border: 1px solid var(--r-cizgi); border-radius: 6px; overflow: hidden; transition: 0.3s; }
.top-tools { 
    display: flex; 
    flex-wrap: wrap; /* SİHİR 1: Ekrana sığmayan butonları taşırmaz, kibarca alt satıra kaydırır */
    justify-content: center; /* SİHİR 2: Tüm butonları tam merkeze (ortaya) çiviler */
    background: rgba(0,0,0,0.1); 
    padding: 10px; 
    gap: 8px; 
    border-bottom: 1px solid var(--r-cizgi); 
}
.tool-btn { 
    background: var(--r-input-bg); 
    color: var(--r-yazi-pasif); 
    border: 1px solid var(--r-cizgi); 
    height: var(--btn-h); 
    padding: 0 12px; /* Mobilde daha rahat sığması için boşluğu hafif kıstık */
    border-radius: var(--btn-radius); 
    cursor: pointer; 
    transition: 0.2s; 
    display: flex; 
    align-items: center; 
    justify-content: center; /* Butonun içindeki yazı ve ikonu tam ortalar */
    gap: 6px; 
    font-weight: 600;
    flex: 1 1 auto; /* SİHİR 3: Kalan boşlukları butonlara eşit dağıtıp ekrana tam oturtur */
    white-space: nowrap; /* Yazıların kırılıp çirkinleşmesini engeller */
}
.tool-btn:hover { border-color: var(--r-tema-mavi); color: var(--r-yazi-aktif); }

.table-controls { display: flex; align-items: center; padding: 12px 15px; border-bottom: 1px solid var(--r-cizgi); }
.section-label { font-weight: bold; margin-right: 15px; font-size: 14px; color: var(--r-yazi-pasif); }
.search-wrapper { flex: 1; max-width: 350px; position: relative; }
.search-box { width: 100%; background: var(--r-input-bg); border: 1px solid var(--r-cizgi); color: var(--r-yazi-aktif); height: var(--inp-h); padding: 0 15px; border-radius: 20px; outline: none; }
.search-box:focus { border-color: var(--r-tema-mavi); }
.action-btn-group { margin-left: auto; display: flex; gap: 10px; }

.table-wrapper { 
    flex: 1; 
    overflow-y: auto;   /* Sadece dikeyde (aşağı doğru) kaydırmaya izin ver */
    overflow-x: hidden; /* YATAY KAYDIRMA ÇUBUĞUNU TAMAMEN GİZLE (YASAKLA) */
    background: var(--r-body-bg); 
    transition: 0.3s;
}
.cell-input, .cell-text { width: 100%; height: 100%; background: transparent; border: none; color: var(--r-yazi-aktif); padding: 4px 8px; outline: none; }
.cell-input { text-align: right; font-family: 'Courier New', Courier, monospace; font-size: 14px; font-weight: 600;}
.cell-input:focus, .cell-text:focus { background: var(--r-input-bg); box-shadow: inset 0 0 0 1px var(--r-tema-mavi); }

.qty-control { display: flex; align-items: center; justify-content: center; gap: 2px; }
.qty-btn { width: 20px; height: 20px; background: var(--r-input-bg); border: 1px solid var(--r-cizgi); color: var(--r-yazi-aktif); cursor: pointer; border-radius: 2px; font-weight: bold; }
.qty-input { width: 30px; text-align: center; background: transparent; border: none; color: var(--r-yazi-aktif); font-weight: bold; outline: none; }

.footer-actions { padding: 15px; background: var(--r-panel-bg); border-top: 1px solid var(--r-cizgi); display: flex; align-items: center; gap: 12px; transition: 0.3s; flex-wrap: wrap;}
/* ... aradaki kodlara dokunma ... */
.btn { height: var(--btn-h); padding: 0 20px; border: none; color: #fff; cursor: pointer; border-radius: var(--btn-radius); font-weight: 600; font-size: var(--btn-font-sz); display: flex; align-items: center; justify-content: center; gap: 6px; transition: 0.2s; white-space: nowrap; flex-shrink: 0;}
.total-item { color: var(--r-yazi-pasif); display: flex; align-items: center; gap: 5px; } 
.total-item span { color: var(--r-yazi-aktif); font-weight: bold; font-family: monospace; font-size: 16px; }
.grand-total { color: #10b981; font-weight: bold; font-size: 18px; display: flex; align-items: center; gap: 5px;}

.btn { height: var(--btn-h); padding: 0 20px; border: none; color: #fff; cursor: pointer; border-radius: var(--btn-radius); font-weight: 600; font-size: var(--btn-font-sz); display: flex; align-items: center; justify-content: center; gap: 6px; transition: 0.2s;}
.btn:hover { filter: brightness(1.1); transform: translateY(-1px); }
.btn:active { transform: translateY(1px); }
.btn-save { background: var(--r-btn-kaydet); box-shadow: 0 4px 10px rgba(0,0,0,0.2); }
.btn-iptal { background: var(--r-btn-iptal); }
.btn-yeni { background: var(--r-btn-yeni); color: #000; }
.btn-islem { background: var(--r-btn-islem); }
.btn-status { background: var(--r-btn-gri); }
.btn-history { background: var(--r-input-bg); border: 1px solid var(--r-cizgi); color: var(--r-yazi-pasif); padding: 0 12px; border-radius: var(--inp-radius); cursor: pointer; height: var(--inp-h); display: flex; align-items: center;}
.btn-history:hover { color: var(--r-tema-mavi); border-color: var(--r-tema-mavi); }

.modal { display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); backdrop-filter: blur(2px); }
.modal-content { background: var(--r-panel-bg); margin: 5vh auto; padding: 25px; border: 1px solid var(--r-cizgi); border-radius: 8px; box-shadow: 0 15px 30px rgba(0,0,0,0.5); position: relative; width: var(--modal-orta); }
.close-btn { position: absolute; right: 20px; top: 20px; color: var(--r-yazi-pasif); font-size: 20px; cursor: pointer; transition: 0.2s;}
.close-btn:hover { color: var(--r-btn-iptal); }
.modal-header { font-size: 18px; font-weight: bold; margin-bottom: 20px; border-bottom: 1px solid var(--r-cizgi); padding-bottom: 15px; color: var(--r-yazi-aktif); display: flex; align-items: center; gap: 10px;}
.shortcut-hint { position: absolute; bottom: 5px; right: 15px; color: var(--r-yazi-pasif); font-size: 11px; }/* ==========================================================
   8. SERVİS LİSTESİ SAYFASI ÖZEL TASARIMLARI (Yeni Eklendi)
   ========================================================== */

/* Üst Filtre Çubuğu */
.filter-bar { display: flex; align-items: flex-end; gap: 15px; background: var(--r-panel-bg); padding: 15px; border: 1px solid var(--r-cizgi); border-radius: 6px; margin-bottom: 15px; flex-wrap: wrap; }
.filter-group { display: flex; flex-direction: column; gap: 5px; flex: 1; min-width: 150px; }
.filter-group label { color: var(--r-yazi-pasif); font-size: 12px; font-weight: 600; }
.filter-group input, .filter-group select { background: var(--r-input-bg); border: 1px solid var(--r-cizgi); color: var(--r-yazi-aktif); height: var(--inp-h); padding: 0 10px; border-radius: var(--inp-radius); outline: none; }
.filter-group input:focus, .filter-group select:focus { border-color: var(--r-tema-mavi); }

/* Arama Kutusu (Sağa dayalı) */
.search-group { display: flex; flex-direction: column; gap: 5px; margin-left: auto; width: 250px; }
.search-group input { background: var(--r-input-bg) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="%239ca3af" viewBox="0 0 16 16"><path d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"/></svg>') no-repeat right 10px center; padding-right: 30px; }

/* Durum Rozetleri (Badges) */
.badge { padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: bold; text-align: center; display: inline-block; min-width: 80px;}
.badge-bekliyor { background: rgba(107, 114, 128, 0.2); color: #9ca3af; border: 1px solid #4b5563; }
.badge-islemde { background: rgba(29, 161, 242, 0.2); color: #1da1f2; border: 1px solid #1da1f2; }
.badge-tamamlandi { background: rgba(22, 163, 74, 0.2); color: #22c55e; border: 1px solid #16a34a; }

/* Sayfalama (Pagination) */
.pagination { display: flex; align-items: center; gap: 5px; margin-left: auto; }
.page-btn { background: var(--r-input-bg); border: 1px solid var(--r-cizgi); color: var(--r-yazi-pasif); width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border-radius: 4px; cursor: pointer; transition: 0.2s;}
.page-btn:hover { background: var(--r-cizgi); color: var(--r-yazi-aktif); }
.page-btn.active { background: var(--r-tema-mavi); color: #fff; border-color: var(--r-tema-mavi); }/* Tarih Seçici İkonu Düzenlemesi */
input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    filter: invert(0.6); /* Karanlık temada ikonun gri/beyaz görünmesini sağlar */
    transition: 0.2s;
}
input[type="date"]::-webkit-calendar-picker-indicator:hover {
    filter: invert(1); /* Üzerine gelince tam beyaz olur */
}/* ==========================================================
   9. YAKIT DURUMU MODALI TASARIMI
   ========================================================== */
.yakit-btn-group { display: flex; justify-content: center; gap: 5px; margin-bottom: 20px; }
.yakit-btn { 
    background: var(--r-input-bg); 
    border: 1px solid var(--r-cizgi); 
    color: var(--r-yazi-aktif); 
    width: 45px; 
    height: 35px; 
    border-radius: 4px; 
    cursor: pointer; 
    transition: 0.2s; 
    font-weight: 600; 
    font-size: 14px;
}
.yakit-btn:hover { border-color: var(--r-tema-mavi); }
.yakit-btn.active { 
    background: #f59e0b; /* Resimdeki turuncu/sarı renk */
    color: #fff; 
    border-color: #f59e0b; 
}

.yakit-bar-container { 
    width: 100%; 
    height: 8px; 
    background: var(--r-input-bg); 
    border-radius: 5px; 
    overflow: hidden; 
    margin-bottom: 10px; 
    border: 1px solid var(--r-cizgi); 
}
.yakit-bar-fill { 
    height: 100%; 
    /* Resimdeki Yeşil -> Sarı -> Kırmızı gradyanı */
    background: linear-gradient(90deg, #10b981 0%, #f59e0b 50%, #ef4444 100%); 
    transition: width 0.3s ease-in-out; 
}

.yakit-text { font-size: 13px; color: var(--r-yazi-pasif); font-weight: 600; margin-bottom: 10px; }
/* ==========================================================
   11. NOTLAR MODALI (Şablonlu Textarea) TASARIMI
   ========================================================== */
.notes-container { display: flex; flex-direction: column; gap: 20px; max-height: 65vh; overflow-y: auto; padding-right: 5px; }
.notes-container::-webkit-scrollbar { width: 6px; }
.notes-container::-webkit-scrollbar-thumb { background: var(--r-cizgi); border-radius: 10px; }

.note-section { display: flex; flex-direction: column; gap: 8px; background: var(--r-body-bg); padding: 15px; border-radius: 6px; border: 1px solid var(--r-cizgi); }
.note-header { display: flex; justify-content: space-between; align-items: center; }
.note-header label { font-weight: 700; color: var(--r-yazi-aktif); font-size: 13px; }

.template-selector { display: flex; align-items: center; gap: 10px; }
.template-selector span { font-size: 10px; color: var(--r-yazi-pasif); text-align: right; line-height: 1.2; }
.template-selector select { 
    background: var(--r-input-bg); 
    border: 1px solid var(--r-cizgi); 
    color: var(--r-yazi-aktif); 
    height: 30px; 
    border-radius: 4px; 
    padding: 0 10px; 
    font-size: 12px; 
    outline: none;
    cursor: pointer;
    transition: 0.2s;
}
.template-selector select:hover { border-color: var(--r-tema-mavi); }

.note-section textarea {
    background: var(--r-input-bg);
    border: 1px solid var(--r-cizgi);
    color: var(--r-yazi-aktif);
    border-radius: 4px;
    padding: 12px;
    height: 80px;
    resize: vertical;
    outline: none;
    font-family: inherit;
    font-size: 13px;
    transition: 0.2s;
}
.note-section textarea:focus { border-color: var(--r-tema-mavi); box-shadow: inset 0 0 0 1px var(--r-tema-mavi); }
/* ==========================================================
   12. GELİŞMİŞ AYARLAR MODALI (SEKMELİ YAPI)
   ========================================================== */
.settings-tabs { list-style: none; padding: 0; margin: 0; }
.setting-tab { 
    padding: 12px 20px; 
    color: var(--r-yazi-pasif); 
    cursor: pointer; 
    border-left: 3px solid transparent; 
    transition: 0.2s; 
    font-weight: 500; 
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.setting-tab i { font-size: 14px; width: 20px; text-align: center; }
.setting-tab:hover { background: rgba(255,255,255,0.03); color: var(--r-yazi-aktif); }
.setting-tab.active { 
    background: rgba(255,255,255,0.05); 
    color: var(--r-tema-mavi); 
    border-left-color: var(--r-tema-mavi); 
    font-weight: bold;
}
.setting-content { display: none; animation: fadeIn 0.3s ease-in-out; }

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}/* ==========================================================
   13. RESİMLER MODALI (Fotoğraf Yükleme ve Galeri)
   ========================================================== */
.photo-tabs { display: flex; gap: 5px; margin-bottom: 15px; background: var(--r-input-bg); padding: 5px; border-radius: 6px; border: 1px solid var(--r-cizgi); }
.photo-tab { flex: 1; background: transparent; border: none; color: var(--r-yazi-pasif); padding: 10px 15px; border-radius: 4px; cursor: pointer; transition: 0.2s; font-weight: 600; font-size: 13px; }
.photo-tab.active { background: var(--r-tema-mavi); color: #fff; box-shadow: 0 2px 5px rgba(0,0,0,0.2); }

.photo-dropzone { border: 2px dashed var(--r-cizgi); border-radius: 6px; padding: 30px 20px; text-align: center; color: var(--r-yazi-pasif); cursor: pointer; transition: 0.2s; background: rgba(0,0,0,0.1); margin-bottom: 15px; }
.photo-dropzone:hover { border-color: var(--r-tema-mavi); background: rgba(29, 161, 242, 0.05); }

.photo-gallery { display: flex; flex-wrap: wrap; gap: 10px; min-height: 110px; padding: 10px; background: var(--r-input-bg); border: 1px solid var(--r-cizgi); border-radius: 6px; align-content: flex-start;}
.photo-thumb-container { position: relative; width: 90px; height: 90px; border-radius: 6px; overflow: hidden; border: 1px solid var(--r-cizgi); background: var(--r-body-bg); box-shadow: 0 2px 5px rgba(0,0,0,0.3);}
.photo-thumb { width: 100%; height: 100%; object-fit: cover; }
.photo-delete { position: absolute; top: 4px; right: 4px; background: rgba(224, 36, 36, 0.9); color: white; border: none; width: 22px; height: 22px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 11px; transition: 0.2s;}
.photo-delete:hover { transform: scale(1.1); background: #ef4444; }
/* ==========================================================
   14. RESİMLER MODALI KAYDIRMA ÇUBUĞU (Hacim Ayarı)
   ========================================================== */
/* Resim galerisi alanı için minimum ve maksimum yükseklik ayarı */
.photo-gallery {
    min-height: 100px;
    /* max-height vermiyoruz, çünkü üstündeki <div style="flex:1; overflow-y:auto"> alanı
       zaten kaydırma işlemini yapıyor. .photo-gallery içindeki resimler o alanın içinde
       alt alta sıralanacak. */
}/* ==========================================================
   16. SİGORTA MODALI TASARIMI
   ========================================================== */
.sigorta-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 Eşit Kolon */
    gap: 12px;
}
.sigorta-grid input, .sigorta-grid select {
    background: var(--r-input-bg);
    border: 1px solid var(--r-cizgi);
    color: var(--r-yazi-aktif);
    height: var(--inp-h);
    padding: 0 10px;
    border-radius: var(--inp-radius);
    outline: none;
    width: 100%;
    transition: 0.2s;
}
.sigorta-grid input:focus, .sigorta-grid select:focus, textarea:focus {
    border-color: var(--r-tema-mavi);
}/* ==========================================================
   17. BAKIM PAKETLERİ MODALI TASARIMI
   ========================================================== */
.paket-kart {
    background: var(--r-input-bg);
    border: 1px solid var(--r-cizgi);
    border-radius: 6px;
    padding: 12px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: 0.2s;
}
.paket-kart:hover { border-color: var(--r-tema-mavi); transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.2); }
.paket-kart.active { border-color: var(--r-tema-mavi); background: rgba(29, 161, 242, 0.1); border-left: 4px solid var(--r-tema-mavi); }

.paket-baslik { font-size: 14px; font-weight: bold; color: var(--r-yazi-aktif); margin-bottom: 5px; }
.paket-fiyat { font-size: 15px; font-weight: bold; color: #10b981; text-align: right; }

.paket-icerik-satiri {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid var(--r-cizgi);
    color: var(--r-yazi-pasif);
    font-size: 13px;
}
.paket-icerik-satiri:last-child { border-bottom: none; }

/* ==========================================================
   18. KUSURSUZ TABLO HİZALAMASI (BAŞLIK VE SATIR EŞİTLEME)
   ========================================================== */
.table-wrapper { 
    flex: 1; 
    min-width: 0; /* FLEX TAŞMASINI ÖNLEYEN SİHİRLİ KOD */
    overflow-y: auto;   
    overflow-x: auto; /* YATAY KAYDIRMA SERBEST BIRAKILDI */
    background: var(--r-body-bg); 
    transition: 0.3s;
}

/* Tablo yatay kaydırma çubuğu tasarımı */
.table-wrapper::-webkit-scrollbar { height: 8px; width: 8px; }
.table-wrapper::-webkit-scrollbar-thumb { background: var(--r-cizgi); border-radius: 4px; }
.table-wrapper::-webkit-scrollbar-thumb:hover { background: var(--r-tema-mavi); }

/* SİHİRLİ KİLİT AÇICI: Tablo Esneme Garantisi */
.table-wrapper table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed; /* STOK GİBİ BÜYÜK TABLOLARDA SAĞA ÇEKMEYİ ZORLA AÇAR */
}

/* Tablo Başlıkları (TH) */
.table-wrapper table th {
    background-color: var(--r-input-bg);
    color: var(--r-yazi-pasif);
    font-size: 12px;
    font-weight: 600;
    text-align: left; 
    padding: 8px 12px !important; /* BAŞLIK BOŞLUĞU */
    border-bottom: 1px solid var(--r-cizgi);
    border-right: 1px solid var(--r-cizgi); 
    resize: horizontal; 
    overflow: hidden;
    position: sticky;
    top: 0;
    white-space: nowrap;
    z-index: 10;
    
    /* EXCEL TARZI SAĞA SOLA ÇEKME MOTORU */
    resize: horizontal;
    overflow: hidden;
    text-overflow: ellipsis; /* Çok daraltılırsa yazıyı taşırmaz, sonuna ... koyar */
}

.table-wrapper table th:last-child {
    border-right: none;
    resize: none; 
    position: sticky;
    right: 0;
    background-color: var(--r-input-bg);
    z-index: 12;
    box-shadow: -4px 0px 10px rgba(0,0,0,0.15); /* Havalı bir derinlik gölgesi */
}

/* Tablo Satırları (TD) */
.table-wrapper table td {
    padding: 8px 12px !important;
    border-bottom: 1px solid var(--r-cizgi);
    border-right: 1px solid rgba(128, 128, 128, 0.05); 
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; 
}

.table-wrapper table td:last-child {
    border-right: none;
    overflow: visible; 
    position: sticky;
    right: 0;
    background-color: var(--r-body-bg); /* Kayarken alttaki yazılar birbirine girmesin diye zemin atadık */
    z-index: 2;
    box-shadow: -4px 0px 10px rgba(0,0,0,0.15);
}

/* ==========================================================
   20. SOL MENÜ AKTİF SEKME (RENK DEĞİŞİMİ UYUMLU)
   ========================================================== */
.menu-item.active {
    background-color: rgba(128, 128, 128, 0.15) !important; 
    border-right: 4px solid var(--r-tema-mavi) !important; 
    border-radius: 4px !important;
}

.menu-item.active i {
    color: var(--r-tema-mavi) !important; /* İkon tema renginde */
}

.menu-item.active span {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: var(--r-tema-mavi) !important; /* YAZI DA TEMA RENGİNE BAĞLANDI! */
    font-weight: 700 !important;
}

/* Menü kapalıyken yazıları gizleme garantisi */
.sidebar.collapsed .menu-item span {
    display: none !important;
}
/* ==========================================================
   21. YENİ ARAÇ EKLE MODALI (ÖZEL MODERN TASARIM)
   ========================================================== */
.modern-form-group { display: flex; flex-direction: column; gap: 6px; }
.modern-form-group label { font-size: 12px; color: var(--r-yazi-pasif); font-weight: 500; }
.modern-input-wrap { position: relative; display: flex; align-items: center; background: var(--r-input-bg); border: 1px solid var(--r-cizgi); border-radius: 6px; overflow: hidden; transition: 0.2s; }
.modern-input-wrap:focus-within { border-color: var(--r-tema-mavi); }
.modern-input-wrap i.left-icon { padding: 0 12px; color: var(--r-yazi-pasif); font-size: 14px; }
.modern-input-wrap input { flex: 1; background: transparent; border: none; color: var(--r-yazi-aktif); padding: 10px 0; outline: none; font-size: 13px; }
.modern-input-wrap input:first-child { padding-left: 12px; } /* İkon yoksa sol boşluk */
.modern-input-wrap .right-element { padding: 0 12px; color: var(--r-yazi-pasif); font-size: 13px; font-weight: bold; }
/* ==========================================================
   22. EVRENSEL BİLDİRİM (TOAST) SİSTEMİ
   ========================================================== */
.toast-msg {
    position: fixed;
    top: 20px;
    right: 20px;
    color: #ffffff;
    padding: 12px 25px;
    border-radius: 6px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.4);
    font-size: 14px;
    font-weight: 600;
    z-index: 100000; /* BÜTÜN MODALLARIN ÜSTÜNE ÇIKARILDI */
    opacity: 0;
    transform: translateY(-20px);
    transition: all 0.3s ease;
    pointer-events: none;
    display: flex;
    align-items: center;
    gap: 10px;
}
.toast-msg.show { opacity: 1; transform: translateY(0); }
.toast-success { background-color: #10b981; } /* Yeşil - Başarılı */
.toast-warning { background-color: #f59e0b; } /* Turuncu - Uyarı/Bekleme */
.toast-error { background-color: #ef4444; }   /* Kırmızı - Hata */

/* ==========================================================
   23. KARANLIK TEMA: AÇILIR MENÜ VE TAKVİM İKONU DÜZELTMELERİ
   ========================================================== */
/* Tarih/Saat Seçici İkonunu Karanlık Temada Görünür Yap */
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    filter: invert(0.8);
    transition: 0.2s;
}
input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover,
input[type="date"]::-webkit-calendar-picker-indicator:hover {
    filter: invert(1);
}

/* Açılır Menülerin (Select) İçindeki Seçeneklerin Renklerini Düzelt */
select option {
    background-color: var(--r-panel-bg);
    color: var(--r-yazi-aktif);
    font-size: 14px;
    padding: 10px;
}

/* ==========================================================
   24. ÜST ARAÇLAR BİLDİRİM ROZETİ (BADGE)
   ========================================================== */
.tool-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #ef4444;
    color: white;
    font-size: 11px;
    font-weight: bold;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--r-panel-bg);
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
    z-index: 2;
}

/* Modern Modal Açılış Animasyonu */
@keyframes modalFadeIn {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ========================================================== */
/* İŞLEMLER SÜTUNUNU SAĞDA SABİTLEME (TÜM EKRANLAR İÇİN)      */
/* ========================================================== */
.table-wrapper table th:last-child,
.table-wrapper table td:last-child {
    position: sticky !important;
    right: 0 !important;
    background: var(--r-panel-bg) !important; /* Altından yazılar kayarken birbirine girmemesi için arka plan verdik */
    z-index: 5 !important; /* Diğer hücrelerin daima üstünde durmasını sağlar */
    box-shadow: -4px 0 8px rgba(0,0,0,0.3) !important; /* Sütunun sabit olduğunu belli eden çok şık, hafif bir gölge */
}

/* ========================================================== */
/* KUSURSUZ TABLO ZIRHI (YUKARI VE SAĞA MIKNATIS)             */
/* ========================================================== */

/* 1. Sütun Başlıklarını (İsim, Bakiye, Tarih vb.) Yukarı Sabitle */
.table-wrapper table th {
    position: sticky !important;
    top: 0 !important;
    background: var(--r-panel-bg) !important; /* Satırlar altından kayarken birbirine girmemesi için katı renk */
    z-index: 10 !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3) !important; /* Başlığın altına şık bir derinlik gölgesi */
}

/* 2. "İşlemler" (3 Çizgi) Hücrelerini Sağa Sabitle ve Daralt */
.table-wrapper table td:last-child {
    position: sticky !important;
    right: 0 !important;
    background: var(--r-panel-bg) !important;
    z-index: 5 !important;
    box-shadow: -4px 0 8px rgba(0,0,0,0.1) !important;
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
    text-align: center !important;
}

/* 3. KRAL DAİRESİ: En Sağ Üstteki "İşlemler" Başlığı ve Daraltma */
.table-wrapper table th:last-child {
    position: sticky !important;
    right: 0 !important;
    top: 0 !important;
    background: var(--r-panel-bg) !important;
    z-index: 20 !important; 
    box-shadow: -4px 2px 8px rgba(0,0,0,0.15) !important;
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
    text-align: center !important;
}

/* MOBİLDE TABLO BAŞLIKLARINI YUKARIDA SABİT TUTMA (DİKEY KAYDIRMA KİLİDİ) */
@media (max-width: 850px) {
    .main-content .table-wrapper {
        max-height: 65vh !important; /* Tablo ekranın %65'inden fazla uzamasın */
        overflow-y: auto !important; /* Sayfa değil, sadece tablo kendi içinde kaysın */
    }
}

/* ========================================================== */
/* MOBİLDE İŞLEMLER SÜTUNUNU DARALTMA (MAKSİMUM ALAN TASARRUFU) */
/* ========================================================== */
@media (max-width: 850px) {
    /* Sütun genişliğini tam 3 çizgi butonunun boyutuna (55px) düşürür */
    .table-wrapper table th:last-child,
    .table-wrapper table td:last-child {
        width: 55px !important;
        min-width: 55px !important;
        max-width: 55px !important;
        padding: 5px !important; /* Yan boşlukları kırpar */
        text-align: center !important;
    }
    
    /* "İşlemler" yazısını mobilde görünmez yapar */
    .table-wrapper table th:last-child {
        font-size: 0 !important; 
    }
    
    /* Gizlenen "İşlemler" yazısının yerine şık bir 3 Çizgi (Hamburger) ikonu koyar */
    .table-wrapper table th:last-child::after {
        content: "\f0c9"; /* FontAwesome 3 Çizgi (Bars) İkonu Kodu */
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        font-size: 16px !important;
        color: var(--r-tema-mavi);
    }
}

/* ========================================================== */
/* STOK LİSTESİ - KUSURSUZ KART / GRID GÖRÜNÜMÜ MOTORU        */
/* ========================================================== */

/* ZIRH 1: NORMAL LİSTE GÖRÜNÜMÜNDE YATAY KAYDIRMAYI (SCROLL) SERBEST BIRAK! */
.table-wrapper { overflow-x: auto !important; max-width: 100%; }

/* ZIRH 2: KART GÖRÜNÜMÜNDE YATAY KAYDIRMAYI GİZLE */
.table-wrapper:has(table.stok-grid-view) { overflow-x: hidden !important; overflow-y: visible !important; }

/* Tabloyu Karta Çevirme */
table.stok-grid-view { min-width: 0 !important; width: 100% !important; display: block !important; border: none !important; box-sizing: border-box !important; }
table.stok-grid-view thead { display: none !important; }

/* Grid Yapısı (Masaüstünde tam 4 kart yan yana olacak şekilde sabitlendi) */
table.stok-grid-view tbody { 
    display: grid !important; 
    grid-template-columns: repeat(4, 1fr) !important; 
    gap: 15px !important; 
    background: transparent !important; 
    padding: 5px !important; 
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Tablet ve Mobil Uyumu (Ekran daraldığında 4'ten 3'e, 2'ye ve 1'e esnesin) */
@media screen and (max-width: 1200px) {
    table.stok-grid-view tbody { grid-template-columns: repeat(3, 1fr) !important; }
}
@media screen and (max-width: 900px) {
    table.stok-grid-view tbody { grid-template-columns: repeat(2, 1fr) !important; }
}
@media screen and (max-width: 600px) {
    table.stok-grid-view tbody { grid-template-columns: 1fr !important; }
}

/* Ana Kart Tasarımı */
table.stok-grid-view tr { 
    display: flex !important; 
    flex-direction: column !important; 
    background: var(--r-panel-bg) !important; 
    border: 1px solid var(--r-cizgi) !important; 
    border-radius: 8px !important; 
    padding: 15px !important; /* İç boşluklar daraltıldı */
    box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
    transition: transform 0.2s;
    box-sizing: border-box !important;
    width: 100% !important; 
    max-width: 100% !important;
    height: 100% !important; /* KART BOYUNU EŞİTLER, BUTONLARIN KESİLMESİNİ ENGELLER! */
}
table.stok-grid-view tr:hover { transform: translateY(-3px); box-shadow: 0 6px 12px rgba(0,0,0,0.25) !important; }

/* Satır (Özellik) Tasarımları */
table.stok-grid-view td { 
    display: flex !important; 
    justify-content: space-between !important; 
    align-items: center !important; 
    padding: 6px 0 !important; 
    border-bottom: 1px dashed rgba(128,128,128,0.2) !important; 
    border-right: none !important;
    text-align: right !important;
    font-size: 11px !important; 
    background: transparent !important;
    width: 100% !important; 
    box-sizing: border-box !important;
    
    /* MOBİLDE YAZILARIN SAĞA KAYIP KAYBOLMASINI ENGELLEYEN SİHİRLİ KODLAR */
    white-space: normal !important; 
    word-break: break-word !important; 
    min-width: 0 !important; 
}

table.stok-grid-view td[data-label]::before { 
    content: attr(data-label); 
    font-weight: 600; 
    color: var(--r-yazi-pasif); 
    font-size: 10px;
    text-align: left;
    margin-right: 10px;
    flex-shrink: 0; 
}

/* Sıralama Sihirbazı (Flex Order) */
table.stok-grid-view td.stok-foto-td { order: 1; border-bottom: none !important; padding-bottom: 0 !important; justify-content: center !important; }
table.stok-grid-view td.stok-foto-td::before { display: none !important; }
table.stok-grid-view td.stok-ad-td { order: 2; border-bottom: 2px solid var(--r-cizgi) !important; padding-bottom: 10px !important; margin-bottom: 5px; justify-content: center !important; text-align: center !important; font-size: 14px !important; }
table.stok-grid-view td.stok-ad-td::before { display: none !important; }

table.stok-grid-view td:nth-child(1) { order: 3; } /* Kod */
table.stok-grid-view td:nth-child(4) { order: 4; } /* Barkod */
table.stok-grid-view td:nth-child(5) { order: 5; } /* Kategori */
table.stok-grid-view td:nth-child(6) { order: 6; } /* Marka */
table.stok-grid-view td:nth-child(7) { order: 7; } /* Model */
table.stok-grid-view td:nth-child(10) { order: 8; } /* Alış Fiyatı */
table.stok-grid-view td:nth-child(11) { order: 9; font-size: 14px !important; font-weight: 900 !important; border-bottom: none !important; padding-top: 5px !important; } /* Satış Fiyatı */
table.stok-grid-view td:nth-child(8) { order: 10; font-size: 12px !important; border-bottom: none !important; } /* Stok Durumu (Miktar) */

/* Gizlenecek Tablo Hücreleri */
table.stok-grid-view td:nth-child(9) { display: none !important; } /* Birim */
table.stok-grid-view td:nth-child(12) { display: none !important; } /* Kritik Seviye */

/* İŞLEM BUTONLARI (Masaüstünde kesilmemesi için margin-top: auto ekledik) */
table.stok-grid-view td:last-child { 
    order: 10; 
    justify-content: center !important; 
    padding-top: 10px !important; 
    margin-top: auto !important; /* Karti aşağı iter, butonlar hep en altta görünür durur */
    border-bottom: none !important; 
    border-top: 1px solid var(--r-cizgi) !important; 
}

/* ========================================================== */
/* STOK KART GÖRÜNÜMÜ - BAŞLIK YENİDEN DİZAYN (SOLA HİZALAMA) */
/* ========================================================== */
/* Kartın en üst başlık hücresi (Resim ve Ad) */
table.stok-grid-view td.stok-img-ad { 
    order: 1 !important; 
    border-bottom: 2px solid var(--r-cizgi) !important; 
    padding-bottom: 15px !important; 
    margin-bottom: 10px !important; 
    justify-content: flex-start !important; /* SİHİR 1: Sol tarafa çiviler */
    flex-direction: row !important; /* SİHİR 2: Yan yana diz */
    align-items: center !important; /* Dikeyde merkeze al */
    gap: 15px !important; /* Resim ve yazı arası ferah boşluk */
    width: 100% !important;
}

/* RESİM DÜZELTMESİ (Sola hizalı ve daha kibar) */
table.stok-grid-view .stok-liste-img { 
    width: 70px !important; /* BOYUT 70px olarak sabitlendi */
    max-width: 70px !important;
    height: 70px !important;    
    margin: 0 !important; /* Merkeze alma kuralı iptal! */
    border-radius: 6px !important; 
    background: #fff !important; 
    padding: 4px !important; 
    object-fit: contain !important; 
    flex-shrink: 0 !important; /* Resmin ezilmesini yasakla */
}

/* ÜRÜN ADI DÜZELTMESİ (Sola hizalı ve daha rahat okunur) */
table.stok-grid-view .stok-liste-ad { 
    font-size: 13px !important; /* Font bir tık büyüdü */
    line-height: 1.4 !important; /* Satır arası ferahladı */
    color: var(--r-yazi-aktif) !important; 
    text-align: left !important; /* SİHİR 3: Sola hizala */
    flex: 1 !important; /* SİHİR 4: Kalan tüm boşluğu yazıya ver! */
    font-weight: bold !important; 
    margin: 0 !important;
    padding: 0 !important;
    word-break: break-word !important; /* Çok uzun kelimeleri kırar */
}

table.stok-grid-view td:nth-child(7)::after { content: ' ' attr(data-birim); font-size:9px; color:var(--r-yazi-pasif); margin-left: 5px; }

/* ========================================= */
/* İŞLEM BUTONLARI MERKEZLEME ZIRHI          */
/* ========================================= */
/* 1. Tablo görünümünden kalan "Sağa Sabitle (Sticky)" ve "55px Genişlik" kilitlerini PARÇALA! */
table.stok-grid-view td:last-child,
table.stok-grid-view tr td:last-child {
    position: static !important; /* Sağa yapışmayı iptal eder */
    right: auto !important;
    box-shadow: none !important;
    justify-content: center !important; 
    width: 100% !important;
    min-width: 100% !important; /* SİHİR BURADA: 55px kuralını ezer */
    max-width: 100% !important; /* SİHİR BURADA: 55px kuralını ezer */
    padding-top: 15px !important;
    margin-top: 10px !important;
    border-top: 1px dashed var(--r-cizgi) !important;
}

table.stok-grid-view tr td:last-child::before { display: none !important; }
table.stok-grid-view tr td:last-child .islem-toggle { display: none !important; }

/* Buton kutusunu (Popup) tam ortaya hizala */
table.stok-grid-view tr td:last-child .islem-popup { 
    position: static !important; 
    display: flex !important; 
    flex-direction: row !important; 
    justify-content: center !important; 
    align-items: center !important;
    transform: none !important; 
    background: transparent !important; 
    border: none !important; 
    box-shadow: none !important; 
    gap: 15px !important; 
    margin: 0 auto !important; 
    padding: 0 !important; 
    width: 100% !important; 
    right: auto !important;
}

/* Butonların boyutunu sabitle ve esnemesini (bozulmasını) engelle */
table.stok-grid-view tr td:last-child .islem-popup i { 
    font-size: 16px !important; 
    width: 45px !important; 
    height: 38px !important; 
    display: flex !important; 
    justify-content: center !important; 
    align-items: center !important; 
    border-radius: 6px !important; 
    flex: none !important; /* Esnemeyi yasaklar */
    border: 1px solid var(--r-cizgi) !important; 
    cursor: pointer; 
    transition: 0.2s;
    box-sizing: border-box !important;
    margin: 0 !important;
}

table.stok-grid-view .fa-eye { background: rgba(29, 161, 242, 0.1); color: var(--r-tema-mavi) !important; border-color: var(--r-tema-mavi) !important; }
table.stok-grid-view .fa-pen-to-square { background: rgba(16, 185, 129, 0.1); color: #10b981 !important; border-color: #10b981 !important; }
table.stok-grid-view .fa-trash { background: rgba(239, 68, 68, 0.1); color: #ef4444 !important; border-color: #ef4444 !important; }

/* SADECE MOBİL İÇİN DİZİLİM: Mobilde tek sütun olur ve ekranı taşırmaz */
@media screen and (max-width: 600px) {
    table.stok-grid-view tbody { 
        grid-template-columns: 1fr !important; 
        padding: 5px 0 !important; 
    } 
}

/* ========================================================== */
/* MOBİLDE DEVASA RAPOR KARTLARINI KİBARLAŞTIRMA (DİYET MOTORU) */
/* ========================================================== */
@media screen and (max-width: 850px) {
    /* Kartların arasındaki boşlukları ve alt boşluğu daralt */
    .dashboard-cards { 
        gap: 10px !important; 
        margin-bottom: 15px !important; 
    }
    /* Kartların içindeki devasa boşlukları (padding) küçült */
    .dashboard-cards .card { 
        padding: 12px 15px !important; 
    }
    /* Kart Başlığı (Örn: Toplam Satış) */
    .dashboard-cards .card > div > div:first-child { 
        font-size: 11px !important; 
        margin-bottom: 2px !important;
    }
    /* Tutar Yazısı (Örn: 0.00 TL) - 26px'den 18px'e indirildi */
    .dashboard-cards .card > div > div:nth-child(2) { 
        font-size: 18px !important; 
    }
    /* Sağdaki Kocaman İkonlar - 40px'den 26px'e indirildi */
    .dashboard-cards .card > i { 
        font-size: 26px !important; 
    }
}

/* ========================================================== */
/* MOBİLDE CARİ VE STOK LİSTESİ BUTONLARINI HİZALAMA ZIRHI    */
/* ========================================================== */
@media screen and (max-width: 850px) {
    .footer-actions:has(> button.btn) {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        padding: 15px 10px !important;
        gap: 10px !important;
    }
    
    /* Cari sayfasındaki "Sistemde toplam X cari var" yazısının butonları ezmesini engelle */
    .footer-actions:has(> button.btn) > div {
        width: 100% !important;
        flex: 1 1 100% !important;
        text-align: center !important;
        margin-bottom: 5px !important;
    }

    /* Tüm butonlara Sihirli Esneme (Flex Grow) veriyoruz. 
       Yan yana sığarsa %50 olurlar. Tek kalırsa %100'e uzarlar! */
    .footer-actions:has(> button.btn) > button.btn {
        flex: 1 1 calc(50% - 10px) !important;
        width: auto !important;
        height: 45px !important;
        font-size: 13px !important;
        padding: 0 !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }
    
    /* Ana eylem butonlarının yazılarını bir tık daha belirgin yapalım */
    .footer-actions:has(> button.btn) > button.btn-save {
        font-size: 14px !important;
    }

    /* Gizli dosya yükleme zımbırtılarını ekranda tutma */
    .footer-actions:has(> button.btn) > input[type="file"] {
        display: none !important;
    }
}

/* ========================================================== */
/* MODALLARDAKİ (STOK SEÇ / CARİ SEÇ) TABLOLARI KURTARMA ZIRHI */
/* ========================================================== */
@media screen and (max-width: 850px) {
    /* Açılır pencerelerdeki tabloların son sütununu (Ekle/Seç butonu) 55px'ten kurtarıp genişletiyoruz */
    .modal .table-wrapper table th:last-child,
    .modal .table-wrapper table td:last-child {
        width: 85px !important;
        min-width: 85px !important;
        max-width: 85px !important;
        padding: 5px !important;
    }

    /* Modallarda başlık gizlenmesin, kendi orijinal metni ("İşlem") görünsün */
    .modal .table-wrapper table th:last-child {
        font-size: 11px !important; 
    }
    
    /* Yanlışlıkla çıkan o Çark (Ayar) ikonunu modallarda tamamen yok et */
    .modal .table-wrapper table th:last-child::after {
        display: none !important;
    }

    /* Modal içindeki (+ Ekle ve Seç) butonlarını tam kutuya estetikçe oturt */
    .modal .table-wrapper table td:last-child .btn {
        width: 100% !important;
        padding: 0 5px !important;
        font-size: 11px !important;
        height: 32px !important;
        margin: 0 auto !important;
    }
}

/* ========================================================== */
/* PERSONEL KİLİT EKRANI (POS MODELİ) ZIRHI                   */
/* ========================================================== */
#pos-lock-screen {
    position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
    background: var(--r-body-bg); z-index: 9999999;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.pos-users-container { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; max-width: 800px; margin-top: 30px; }
.pos-user-card {
    background: var(--r-panel-bg); border: 2px solid var(--r-cizgi);
    padding: 25px 30px; border-radius: 12px; cursor: pointer;
    text-align: center; color: var(--r-yazi-aktif); transition: 0.3s;
    min-width: 160px; box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}
.pos-user-card:hover { border-color: var(--r-tema-mavi); transform: translateY(-5px); background: rgba(29, 161, 242, 0.05); }
.pos-user-card i { font-size: 40px; color: var(--r-tema-mavi); margin-bottom: 15px; }
.pos-user-card div { font-size: 16px; font-weight: bold; }

#pos-pin-screen { display: none; flex-direction: column; align-items: center; animation: fadeIn 0.3s; }
.pos-pin-input {
    background: var(--r-input-bg); border: 2px solid var(--r-tema-mavi);
    color: #10b981; font-size: 30px; text-align: center; font-weight: bold;
    width: 200px; height: 60px; border-radius: 8px; margin: 20px 0; outline: none;
    letter-spacing: 8px; font-family: monospace;
}

/* ========================================================== */
/* MOBİLDE FİLTRELERİ ÇEKMECEYE GİZLEME MOTORU                */
/* ========================================================== */
@media screen and (max-width: 850px) {
    .filter-bar {
        position: relative !important;
        padding-top: 60px !important;
        overflow: hidden !important;
        transition: max-height 0.3s ease-in-out !important;
        max-height: 2000px; /* Açık hali için geniş esneme limiti */
    }
    
    .filter-bar.filtre-kapali {
        max-height: 60px !important; /* Kutu kapandığında sadece butonun boyu kadar yer kaplar */
        padding-bottom: 0 !important;
        border-color: transparent !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    
    .mobil-filtre-btn {
        position: absolute !important;
        top: 10px !important;
        left: 10px !important;
        width: calc(100% - 20px) !important;
        height: 40px !important;
        background: var(--r-tema-mavi) !important;
        color: white !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 6px !important;
        font-weight: bold !important;
        font-size: 14px !important;
        cursor: pointer !important;
        z-index: 10 !important;
        box-shadow: 0 4px 10px rgba(0,0,0,0.2) !important;
        transition: 0.2s !important;
    }
}

/* SİDEBAR KİLİTLERİ (Esnemeyi Önler) */
.sidebar { display: flex !important; flex-direction: column !important; justify-content: space-between !important; height: 100vh !important; overflow: hidden !important; }
.menu-list { flex: 1 !important; overflow-y: auto !important; margin-bottom: 0 !important; }

/* PROFİL KUTUSU */
.user-profile { white-space: normal !important; align-items: flex-start !important; height: 85px !important; min-height: 85px !important; box-sizing: border-box !important; flex-shrink: 0 !important; }
.user-info { width: 100%; overflow: visible !important; height: 42px !important; display: flex !important; flex-direction: column; justify-content: center; }
.user-info h4 { white-space: normal !important; word-break: break-word; line-height: 1.3; margin-bottom: 2px !important; height: 18px; }
#userRole { height: 18px; display: block; }

/* RENKLER VE ÇIKIŞ KUTUSU (Zıplamayı engelleyen ana kısım) */
.sidebar-footer { 
    flex: none !important; 
    display: flex !important; 
    flex-direction: column !important; 
    justify-content: flex-end !important; 
    height: 155px !important; 
    min-height: 155px !important;
    max-height: 155px !important;
    padding: 15px 10px !important; 
    box-sizing: border-box !important;
    background: var(--r-sidebar-bg) !important;
    z-index: 100 !important;
    border-top: 1px solid var(--r-cizgi) !important;
}

#versionInfoBox { height: 50px !important; min-height: 50px !important; display: flex !important; flex-direction: column; justify-content: center; margin-top: auto !important; border-top: 1px dashed var(--r-cizgi); padding-top: 10px; }

.sidebar.collapsed #versionInfoBox { display: none !important; }
.sidebar.collapsed .tenant-logo-img { display: none !important; }

/* ========================================================== */
/* MOBİL FATURA EKRANI GENİŞLETME (TAM EKRAN TABLO ZIRHI)     */
/* ========================================================== */
@media screen and (max-width: 850px) {
    /* 1. Modal içindeki gereksiz sağ/sol 20px boşlukları eziyoruz */
    #modal-yeni-fatura .modal-content > .gizli-scroll {
        padding: 10px 5px !important; 
    }
    
    /* 2. Üstteki (Fatura Tipi, Cari vs.) kutunun iç boşluklarını daraltıyoruz */
    #modal-yeni-fatura .modal-content > .gizli-scroll > div:first-child {
        padding: 10px !important;
        gap: 10px !important;
    }
    
    /* 3. SİHİRLİ DOKUNUŞ: Tablonun etrafındaki çerçeveyi kırıp telefonun kenarlarına yapıştırıyoruz! */
    #modal-yeni-fatura .table-wrapper {
        border-left: none !important;
        border-right: none !important;
        border-radius: 0 !important;
        background: transparent !important;
        margin: 0 -5px !important; 
        width: calc(100% + 10px) !important;
    }

    /* 4. Alt kısımdaki Açıklama ve Genel Toplam alanlarını kenarlara oturtuyoruz */
    #modal-yeni-fatura .modal-content > .gizli-scroll > div:last-child {
        padding: 0 5px !important;
    }
    
    /* Fatura giriş kutularının paddinglerini daraltarak yazıların sığmasını kolaylaştır */
    .fatura-satir-input {
        padding: 0 5px !important;
    }
}

/* PLAKA OKUYUCU VE BARKOD MODALINI MOBİLDE KİBARLAŞTIRMA */
@media screen and (max-width: 850px) {
    #modal-ocr-scanner .modal-content, 
    #modal-scanner .modal-content {
        height: auto !important; /* Tam ekran olmasını engeller */
        max-height: 85vh !important;
        margin-top: 5vh !important;
        width: 90% !important;
    }

    /* Kamera açılmadan önce yerini ayırır, zıplamayı (genişlemeyi) önler */
    #ocrVideo, #reader {
        min-height: 250px !important;
        background: #000;
        display: block;
    }
}

/* ========================================================== */
/* BÜTÜN MODALLAR İÇİN SABİT KIRMIZI ÇARPI (X) BUTONU ZIRHI   */
/* ========================================================== */
.modal-content {
    position: relative !important;
}
.modal-header {
    padding-right: 60px !important; /* X butonuna yer açar ki yazıyla üst üste binmesin */
}
.modal-content .close-btn {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 36px !important;
    height: 36px !important;
    background: #ef4444 !important; /* Dikkat çekici kırmızı arka plan */
    color: white !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    line-height: 1 !important;
    z-index: 99999 !important; /* Her şeyin üstünde (Kameranın bile) havada kalır */
    box-shadow: 0 4px 10px rgba(0,0,0,0.5) !important;
    opacity: 1 !important;
    cursor: pointer !important;
    text-shadow: none !important;
    text-decoration: none !important;
    transition: 0.2s !important;
}
.modal-content .close-btn:hover {
    transform: scale(1.1) !important;
    background: #dc2626 !important; /* Üzerine gelince biraz daha koyu kırmızı */
}

/* ========================================================== */
/* CARİ VE SERVİS LİSTESİ KART GÖRÜNÜMÜ ZIRHI                 */
/* ========================================================== */

/* 1. Tablo iskeletini kır ve eski başlıkları (thead) tamamen gizle! */
table.cari-grid-view, table.servis-grid-view { 
    display: block !important; 
    width: 100% !important; 
    border: none !important; 
}
table.cari-grid-view thead, table.servis-grid-view thead { 
    display: none !important; 
}

/* Cari & Servis Kart Görünümü Ortak Ayarlar */
table.cari-grid-view tbody { 
    display: grid !important; 
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; 
    gap: 15px !important; 
    padding: 10px !important;
}

table.servis-grid-view tbody { 
    display: grid !important; 
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; 
    gap: 15px !important; 
    padding: 10px !important;
}

table.cari-grid-view tr, table.servis-grid-view tr { 
    display: flex !important; 
    flex-direction: column !important; 
    background: var(--r-panel-bg) !important; 
    border: 1px solid var(--r-cizgi) !important; 
    border-radius: 8px !important; 
    padding: 15px !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
    height: 100% !important; /* Butonların hizasını korur */
    transition: transform 0.2s;
}

table.cari-grid-view tr:hover, table.servis-grid-view tr:hover {
    transform: translateY(-3px); 
    box-shadow: 0 6px 12px rgba(0,0,0,0.25) !important;
}

/* Mobilde Kart Başlıklarını data-label ile gösterme */
.cari-grid-view td::before, .servis-grid-view td::before {
    content: attr(data-label);
    font-weight: bold;
    color: var(--r-yazi-pasif);
    margin-right: 10px;
    font-size: 11px;
}

.cari-grid-view td, .servis-grid-view td {
    display: flex !important;
    justify-content: space-between;
    align-items: center !important;
    border-bottom: 1px dashed rgba(128,128,128,0.2) !important;
    border-right: none !important;
    padding: 8px 0 !important;
    width: 100% !important;
    white-space: normal !important; 
    word-break: break-word !important;
}

/* ========================================================== */
/* İŞLEMLER BUTONLARINI AÇIĞA ÇIKARMA SİHRİ                   */
/* ========================================================== */

/* İşlemler satırını kartın en altına iter */
.cari-grid-view tr td:last-child, .servis-grid-view tr td:last-child {
    position: static !important; 
    right: auto !important;
    box-shadow: none !important;
    justify-content: center !important; 
    width: 100% !important;
    min-width: 100% !important; 
    max-width: 100% !important; 
    padding-top: 15px !important;
    margin-top: auto !important; /* İçeriği yukarı, butonları dibe iter */
    border-top: 1px dashed var(--r-cizgi) !important;
    border-bottom: none !important;
}

/* "İşlemler" etiketini ve 3 çizgili (Hamburger) menü butonunu gizle */
.cari-grid-view tr td:last-child::before, .servis-grid-view tr td:last-child::before { display: none !important; }
.cari-grid-view tr td:last-child .islem-toggle, .servis-grid-view tr td:last-child .islem-toggle { display: none !important; }

/* Gizli popup kutusunu şeffaf ve her zaman görünür yatay bir sıraya çevir */
.cari-grid-view tr td:last-child .islem-popup, .servis-grid-view tr td:last-child .islem-popup { 
    position: static !important; 
    display: flex !important; 
    flex-direction: row !important; 
    justify-content: center !important; 
    align-items: center !important;
    transform: none !important; 
    background: transparent !important; 
    border: none !important; 
    box-shadow: none !important; 
    gap: 12px !important; 
    margin: 0 auto !important; 
    padding: 0 !important; 
    width: 100% !important; 
}

/* İkonları kare şekilli, şık tıklanabilir butonlara dönüştür */
.cari-grid-view tr td:last-child .islem-popup > i, .servis-grid-view tr td:last-child .islem-popup > i,
.cari-grid-view tr td:last-child .islem-popup > div, .servis-grid-view tr td:last-child .islem-popup > div { 
    font-size: 16px !important; 
    width: 42px !important; 
    height: 38px !important; 
    display: flex !important; 
    justify-content: center !important; 
    align-items: center !important; 
    border-radius: 6px !important; 
    flex: none !important;
    border: 1px solid var(--r-cizgi) !important; 
    background: var(--r-input-bg);
    cursor: pointer; 
    transition: 0.2s;
}

.cari-grid-view tr td:last-child .islem-popup > i:hover, .servis-grid-view tr td:last-child .islem-popup > i:hover,
.cari-grid-view tr td:last-child .islem-popup > div:hover, .servis-grid-view tr td:last-child .islem-popup > div:hover {
    background: var(--r-cizgi);
}

/* MOBİL (Telefon) UYUMU: Ekran daraldığında kartları tek bir sütun halinde alt alta diz */
@media screen and (max-width: 600px) {
    table.cari-grid-view tbody, table.servis-grid-view tbody { 
        grid-template-columns: 1fr !important; 
        padding: 5px 0 !important; 
    } 
}

/* ========================================================== */
/* PERSONEL AYARLARI MOBİL GÖRÜNÜM ZIRHI                      */
/* ========================================================== */
@media screen and (max-width: 850px) {
    
    /* --- 1. YETKİ KUTUCUKLARI (CHECKBOX) DÜZELTMESİ --- */
    #tab-personel input[type="checkbox"] {
        width: 16px !important; /* %100 GENİŞLEME HASTALIĞINI DURDURUR! */
        height: 16px !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
    }
    #tab-personel div[style*="flex-wrap: wrap"] label {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important; /* Sola hizalar */
        gap: 8px !important; /* Kutucuk ile yazı arasını açar */
        white-space: nowrap !important;
    }
    /* Checkbox taşıyıcısını yan yana ip gibi 2 sütun (Grid) yap */
    #tab-personel div[style*="flex-wrap: wrap"] {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important; 
        gap: 12px 10px !important;
    }

    /* --- 2. PERSONEL TABLOSUNU "KART" GÖRÜNÜMÜNE ÇEVİRME --- */
    #tab-personel table {
        display: block !important;
        width: 100% !important;
        border: none !important;
    }
    #tab-personel table thead {
        display: none !important; /* Üst başlıkları gizle */
    }
    #tab-personel table tbody {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        padding: 5px 0 !important;
    }
    #tab-personel table tr {
        display: flex !important;
        flex-direction: column !important;
        background: var(--r-body-bg) !important;
        border: 1px solid var(--r-cizgi) !important;
        border-radius: 8px !important;
        padding: 15px !important;
        box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
    }
    #tab-personel table td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        border-bottom: 1px dashed rgba(128,128,128,0.2) !important;
        padding: 8px 0 !important;
        text-align: right !important;
        width: 100% !important;
    }
    
    /* JS'e dokunmadan CSS ile satır başlıklarını otomatik ekliyoruz */
    #tab-personel table td:nth-child(1)::before { content: "Personel Adı:"; font-weight: bold; color: var(--r-yazi-pasif); font-size: 11px; margin-right:10px; flex-shrink:0; }
    #tab-personel table td:nth-child(2)::before { content: "Yetkiler:"; font-weight: bold; color: var(--r-yazi-pasif); font-size: 11px; margin-right:10px; flex-shrink:0; }
    #tab-personel table td:nth-child(3)::before { content: "Giriş Şifresi:"; font-weight: bold; color: var(--r-yazi-pasif); font-size: 11px; margin-right:10px; flex-shrink:0; }
    
    /* Yetkiler kısmının yana taşmasını engelle, alta sarsın */
    #tab-personel table td:nth-child(2) {
        flex-wrap: wrap !important;
        justify-content: flex-end !important;
        gap: 4px;
    }
    #tab-personel table td:nth-child(2)::before {
        width: 100%;
        text-align: left;
        margin-bottom: 5px;
    }

    /* İşlem Butonları (Düzenle/Sil) En Alta Ortalı Kutular Halinde */
    #tab-personel table td:nth-child(4) {
        border-bottom: none !important;
        justify-content: center !important;
        padding-top: 15px !important;
        margin-top: auto !important;
        border-top: 1px solid var(--r-cizgi) !important;
    }
    #tab-personel table td:nth-child(4) > div {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        gap: 15px !important;
    }
    
    /* Sil ve Düzenle İkonlarını Kare Şık Butonlara Çevir */
    #tab-personel table td:nth-child(4) i {
        background: var(--r-input-bg) !important;
        border: 1px solid var(--r-cizgi) !important;
        width: 45px !important;
        height: 38px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 6px !important;
        font-size: 16px !important;
        transition: 0.2s;
    }
}

/* ========================================================== */
/* AÇIK TEMA (LIGHT MODE) KESKİNLİK VE DERİNLİK ZIRHI         */
/* ========================================================== */
body.light-mode .panel-box, 
body.light-mode .right-column, 
body.light-mode .card,
body.light-mode .filter-bar,
body.light-mode .table-wrapper table th {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important; /* Panelleri hafifçe havaya kaldırır */
    border-color: #cbd5e1 !important; /* Çerçeveleri belirginleştirir */
}

body.light-mode .modern-input-wrap, 
body.light-mode input:not([type="checkbox"]), 
body.light-mode select, 
body.light-mode textarea {
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.03) !important; /* Kutulara şık bir iç çöküntü verir */
    border-color: #cbd5e1 !important;
}

body.light-mode .sidebar {
    box-shadow: 4px 0 15px rgba(0, 0, 0, 0.03) !important; /* Sol menüyü arka plandan ayırır */
}

/* ========================================================== */
/* İŞLEMLER POPUP MENÜSÜ İKON BÜYÜTME (TÜM SAYFALAR İÇİN)     */
/* ========================================================== */

/* Menü Kutusunun İçini Biraz Daha Ferahlat */
.islem-popup {
    padding: 12px 25px !important; 
    gap: 22px !important; 
}

/* İkonların Boyutunu ve Tıklama Alanını (Hitbox) Büyüt */
.islem-popup i, 
.islem-popup div[title] {
    font-size: 22px !important; /* Eski boyut 16px idi, şimdi devasa ve net oldu */
    cursor: pointer;
    padding: 5px; /* Parmakla basması kolay olsun diye etrafına görünmez ekstra boşluk ekledik */
    transition: transform 0.2s ease, filter 0.2s ease;
}

/* Fareyle üzerine gelince (veya telefonda dokununca) şıkça büyüyüp zıplama efekti */
.islem-popup i:hover, 
.islem-popup div[title]:hover {
    transform: scale(1.3) !important;
    filter: brightness(1.2);
}

/* ========================================================== */
/* KART GÖRÜNÜMÜ KESİN HİZALAMA ZIRHI (FLEXBOX DÜZELTMESİ)    */
/* ========================================================== */
table.stok-grid-view td {
    justify-content: flex-end !important; /* Tüm içeriği kesin olarak sağa yaslar */
    text-align: right !important;
}

table.stok-grid-view td::before {
    margin-right: auto !important; /* SİHİR BURADA: Başlığı (Model, Marka vb.) en sola kilitler! */
}

/* Özel kutuların (Fotoğraf, İsim, İşlemler) bozulmasını engeller */
table.stok-grid-view td.stok-foto-td,
table.stok-grid-view tr td:last-child { 
    justify-content: center !important; 
}
table.stok-grid-view td.stok-ad-td { 
    justify-content: flex-start !important; 
}

/* ========================================================== */
/* İŞLEMLER MENÜSÜ (POPUP) TAŞMA VE ALT SATIRA GEÇME ZIRHI    */
/* ========================================================== */
.islem-popup {
    white-space: normal !important; 
    flex-wrap: wrap !important; 
    width: 220px !important; /* SİHİRLİ DOKUNUŞ: Kutunun daralıp dikey (ip gibi) olmasını yasaklar, yatayda tutar! */
    justify-content: center !important;
    align-items: center !important;
    gap: 15px !important; /* İkonlar arası ferah boşluk */
    padding: 15px !important;
}

/* ========================================================== */
/* 25. PROFESYONEL YAZDIRMA (PRINT) OPTİMİZASYONU ZIRHI       */
/* ========================================================== */
@media print {
    /* 1. Gereksiz UI Elemanlarını Gizle (Mürekkep İsrafını Önle) */
    .sidebar, .mobile-menu-btn, .filter-bar, .footer-actions, 
    .btn, .islem-toggle, .islem-popup, .close-btn, .theme-switch, 
    .pagination, .top-tools {
        display: none !important;
    }

    /* 2. Koyu Temayı ve Arka Planları Beyaza Çevir (Tasarruf ve Netlik) */
    body, .main-content, .panel-box, .table-wrapper, .card {
        background: #fff !important;
        color: #000 !important;
        box-shadow: none !important;
        border: none !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    /* 3. Ekranı A4 Kağıdına Tam Yay */
    body {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
    }
    .main-content {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* 4. Tabloları A4'e Kusursuz Sığdır ve Kaydırmaları İptal Et */
    .table-wrapper {
        overflow: visible !important;
        max-height: none !important;
        width: 100% !important;
    }
    .table-wrapper table {
        width: 100% !important;
        max-width: 100% !important;
        border-collapse: collapse !important;
        page-break-inside: auto !important;
        table-layout: auto !important; /* SİHİR 1: Tabloyu kağıda göre esnetir */
    }
    .table-wrapper table tr {
        page-break-inside: avoid !important; 
        page-break-after: auto !important;
    }
    .table-wrapper table th, .table-wrapper table td {
        background: #fff !important;
        color: #000 !important;
        border: 1px solid #ccc !important;
        padding: 4px !important; /* İç boşluğu daraltıp yer kazandırır */
        font-size: 10px !important; /* Yazı fontunu A4'e uygun hale getirir */
        white-space: normal !important; 
        word-break: break-word !important; /* SİHİR 2: Uzun yazıları taşmadan alt satıra atar */
        text-align: left !important;
        width: auto !important; /* HTML'deki sabit genişlikleri ezer */
        min-width: 0 !important;
    }
    .table-wrapper table th {
        background: #f1f5f9 !important; /* Açık gri başlık */
        font-weight: bold !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* 5. İşlemler (3 Çizgi) Sütununu Tamamen Yok Et */
    .table-wrapper table th:last-child, .table-wrapper table td:last-child {
        display: none !important;
    }

    /* 6. Renkli Durum Rozetlerini (Badges) Kağıda Uygun Hale Getir */
    .badge, span[style*="background"] {
        background: transparent !important;
        color: #000 !important;
        border: 1px solid #666 !important;
        padding: 2px 4px !important;
        border-radius: 4px !important;
        font-weight: bold !important;
    }

    /* 7. Ekstre Üst Bilgi Kutularını (Panel-box) Düzenle */
    .panel-box {
        border: 1px solid #aaa !important;
        margin-bottom: 15px !important;
        padding: 10px !important;
        page-break-inside: avoid !important;
    }

    /* 8. Genel Yazı Renklerini Siyaha Zorla */
    * {
        color: #000 !important;
        text-shadow: none !important;
    }

    /* 9. A4 Kağıdı Standart Kenar Boşlukları ve Tarayıcı Yazıları Engeli */
    @page {
        margin: 0mm; /* SİHİR BURADA: Tarayıcının otomatik eklediği tarih, sürüm ve link yazılarını kağıttan siler! */
        size: A4 portrait;
    }
    body {
        padding: 15mm !important; /* Kenar boşluklarını kağıdın içine alarak metnin kesilmesini önleriz */
    }
}

/* ========================================================== */
/* MOBİLDE İŞLEMLER MENÜSÜNÜ (POPUP) MERKEZE ALMA ZIRHI       */
/* ========================================================== */
@media screen and (max-width: 850px) {
    /* Sadece Liste Görünümündeki popupları etkiler, Kart (Grid) görünümünü bozmaz! */
    table:not(.cari-grid-view):not(.servis-grid-view):not(.stok-grid-view) .islem-popup {
        position: fixed !important; /* Tablo hücresinden bağımsızlaştırır */
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important; /* Ekranın tam ortasına getirir */
        width: 280px !important;
        background: var(--r-panel-bg) !important;
        border: 2px solid var(--r-tema-mavi) !important;
        border-radius: 12px !important;
        padding: 25px 20px !important;
        z-index: 9999999 !important; /* Başlıkların ve her şeyin üstüne çıkarır (Kesilmeyi %100 önler) */
        
        /* Ekranın geri kalanını hafifçe karartarak sadece menüye odaklanmayı sağlar */
        box-shadow: 0 0 0 2000px rgba(0,0,0,0.7), 0 15px 35px rgba(0,0,0,0.5) !important; 
    }

    /* Mobilde ikonları biraz daha büyütüp parmakla basmayı kolaylaştıralım */
    table:not(.cari-grid-view):not(.servis-grid-view):not(.stok-grid-view) .islem-popup i, 
    table:not(.cari-grid-view):not(.servis-grid-view):not(.stok-grid-view) .islem-popup div[title] {
        width: 50px !important;
        height: 45px !important;
        font-size: 20px !important;
    }
}

/* ========================================================== */
/* MENÜ AÇIKKEN TABLO BAŞLIKLARININ ALTINDA EZİLMEYİ ÖNLEYEN ZIRH */
/* ========================================================== */
.table-wrapper table tr:has(.islem-popup[style*="display: flex"]),
.table-wrapper table td:last-child:has(.islem-popup[style*="display: flex"]) {
    z-index: 999999 !important; /* Menü açıkken o satırı ve hücreyi en tepeye fırlatır */
}

/* ========================================================== */
/* KAMERA VE ÜST ÜSTE AÇILAN PENCERELER İÇİN (Z-INDEX) ZIRHI  */
/* ========================================================== */
#modal-scanner, 
#modal-sniper-kamera {
    z-index: 99999999 !important; /* Standart pencerelerden (9 Milyon) bir tık daha güçlü (99 Milyon) */
}

/* ========================================================== */
/* SIDEBAR (SOL MENÜ) PREMIUM SİLİKON VADİSİ MAKYAJI          */
/* ========================================================== */

/* 1. Aktif (Seçili) Menüye Sol Çizgi ve Neon Degrade (Işık) Efekti */
.menu-item.active {
    background: linear-gradient(90deg, rgba(29, 161, 242, 0.15) 0%, transparent 100%) !important;
    border-left: 4px solid var(--r-tema-mavi) !important;
    border-right: none !important;
    border-radius: 0 6px 6px 0 !important; /* Sadece sağ köşeleri yuvarlatır, sol taraf duvara yapışır */
    box-shadow: none !important;
}

/* Aktif menünün yazısı ve ikonu daha parlak olsun */
.menu-item.active span, .menu-item.active i {
    text-shadow: 0 0 10px rgba(29, 161, 242, 0.4) !important;
}

/* 2. Fareyle Üzerine Gelince (Hover) Tatlı Bir Kayma Animasyonu */
.menu-item {
    transition: all 0.3s ease !important;
    border-left: 4px solid transparent; /* Titremeyi önlemek için gizli çizgi */
}

.menu-item:hover:not(.active) {
    background: rgba(255, 255, 255, 0.03) !important;
    padding-left: 20px !important; /* Yazıyı hafifçe sağa kaydırır */
    color: var(--r-yazi-aktif) !important;
}

/* 3. Sert Çizgileri (Borders) Yumuşatma Operasyonu */
.tenant-header, .user-profile, .sidebar-footer {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* 4. Profil Fotoğrafına (Avatar) Hafif Bir Derinlik / Işık */
.avatar {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5), 0 0 10px rgba(29, 161, 242, 0.2) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* 5. Alt Taraftaki Renk Toplarına (Palette) Tıklama Hissi */
.c-dot {
    box-shadow: 0 2px 5px rgba(0,0,0,0.5) !important;
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}
.c-dot:hover {
    transform: scale(1.4) !important; /* Üzerine gelince tatlıca büyür */
}