
/* ==== apps/index.php dosyasindan tasindi ==== */
        #qys-btn{position:fixed;bottom:20px;right:20px;width:56px;height:56px;
            border-radius:50%;background:linear-gradient(135deg,#1e3a8a,#2563eb);
            box-shadow:0 4px 14px rgba(0,0,0,.25);display:flex;align-items:center;
            justify-content:center;cursor:pointer;z-index:99998;transition:transform .15s;
            color:#fff; /* ikon stroke=currentColor — yüzen hâlde beyaz kalsın */}
        #qys-btn:hover{transform:scale(1.06);}

        /* ==== Yardım sohbeti header'a taşındığında (2026-09) ====
           Düğme artık sağ altta yüzen bir daire değil, header'ın sağ üst
           grubunun (#qdr-wrap) içinde, WhatsApp düğmesinin SAĞINDA duran bir
           flex öğesi — ölçüleri kardeşleriyle aynı (44x44, radius 8).
           Sınıflar JS ile ekleniyor (bkz. index.php'deki qysKonumla): kabuk
           henüz yoksa/hiç yoksa yukarıdaki eski yüzen stil GEÇERLİ KALIR,
           yani düğme hiçbir ekranda kaybolmaz. */
        #qys-btn.qys-in-header{position:relative;bottom:auto;right:auto;
            width:44px;height:44px;flex:0 0 auto;border-radius:8px;
            background:transparent;box-shadow:none;color:#94a3b8;
            transition:background .15s,color .15s;}
        #qys-btn.qys-in-header:hover{transform:none;background:rgba(56,189,248,0.14);color:#e2e8f0;}
        #qys-panel.qys-panel-header{top:52px;right:8px;bottom:auto;}
        #qys-panel{position:fixed;bottom:88px;right:20px;width:320px;max-width:92vw;
            height:440px;max-height:70vh;background:#fff;border-radius:14px;
            box-shadow:0 10px 30px rgba(0,0,0,.3);display:none;flex-direction:column;
            overflow:hidden;z-index:99999;font-family:inherit;}
        #qys-panel.qys-open{display:flex;}
        #qys-head{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;
            padding:12px 14px;font-size:13px;font-weight:700;display:flex;
            justify-content:space-between;align-items:center;flex-shrink:0;}
        #qys-close{cursor:pointer;opacity:.85;font-size:16px;line-height:1;}
        #qys-close:hover{opacity:1;}
        #qys-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:#f4f6f9;}
        .qys-msg{max-width:85%;padding:8px 11px;border-radius:10px;font-size:12.5px;line-height:1.5;white-space:pre-wrap;}
        .qys-msg-bot{align-self:flex-start;background:#fff;border:1px solid #e2e8f0;color:#1a2b4c;}
        .qys-msg-kullanici{align-self:flex-end;background:#2563eb;color:#fff;}
        .qys-msg-sistem{align-self:center;background:transparent;color:#94a3b8;font-size:11px;text-align:center;}
        #qys-input-row{display:flex;gap:6px;padding:10px;border-top:1px solid #e2e8f0;flex-shrink:0;}
        #qys-input{flex:1;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;font-size:12.5px;resize:none;font-family:inherit;}
        #qys-send{background:#2563eb;color:#fff;border:none;border-radius:8px;padding:0 14px;font-size:13px;font-weight:600;cursor:pointer;}
        #qys-send:disabled{opacity:.5;cursor:default;}

        /* ==== Üretim Huni Düğmesi + Açılır Liste (2026-09) ====
           Eski "dock" pill bar'ının yerini aldı — bkz. apps/js/uretim_dock.js.
           DÜZELTME (2026-09): Düğme artık SABİT offset'le konumlanmıyor. Eskiden
           position:fixed + right:140px idi; header'ın sağ üst grubu (#qdr-wrap,
           right:3px) SABİT genişlikte olmadığı için (içindeki "Soru Arama"
           chipbar düğmesi yalnızca Soru Havuzu'nda görünüyor, 40px) bu offset
           ya çakışma ya da düğme gizliyken kocaman bir boşluk bırakıyordu.
           Artık düğme #qdr-wrap'in İÇİNE, "Soru Arama"nın hemen sağına
           enjekte ediliyor (bkz. uretim_dock.js → konumla()); ikisi ortak
           flex satırında, sağa dayalı duruyor ve Soru Arama gizlenince satır
           kendiliğinden daralıyor — arada boşluk kalmıyor.
           Ölçüler kardeş düğmelerle (WhatsApp, ⋮) aynı: 44x44, radius 8px. */
        #uretim-huni-btn{position:relative;width:44px;height:44px;flex:0 0 auto;
            border:none;border-radius:8px;background:transparent;color:#94a3b8;
            cursor:pointer;display:none;align-items:center;justify-content:center;
            transition:background .15s,color .15s;}
        #uretim-huni-btn:hover,
        #uretim-huni-btn.uretim-huni-btn--acik{background:rgba(56,189,248,0.14);color:#e2e8f0;}
        /* Kullanıcı işlem yapması gerektiğinde (plan/üretim hazır ya da hata)
           düğme nabız gibi atar — panel açılana kadar sürer (bkz. uretim_dock.js
           dikkatVarMi/dikkatOnayla, kullanıcı isteği: ayrıca ding-dong sesi). */
        #uretim-huni-btn.uretim-huni-btn--dikkat{animation:uhuni-dikkat-nabiz 1.1s ease-in-out infinite;}
        @keyframes uhuni-dikkat-nabiz{
            0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.55);}
            50%{box-shadow:0 0 0 8px rgba(34,197,94,0);}
        }
        .uretim-huni-badge{position:absolute;bottom:4px;left:4px;min-width:16px;
            height:16px;padding:0 4px;border-radius:999px;background:#22c55e;
            color:#fff;font-size:10px;font-weight:700;line-height:16px;
            box-shadow:0 0 0 2px #0f2a52;}

        /* right/top JS ile düğmenin gerçek konumuna hizalanır (bkz. render());
           aşağıdakiler yalnızca ilk boyama için makul bir varsayılan. */
        /* 3 satırlı içerik (kapsam/tür/komut) için 300px dardı — SEVİYE|DERS|TEMA
           satırı sürekli kırpılıyordu; 340px'e çıkarıldı. */
        #uretim-huni-panel{position:fixed;top:50px;right:4px;width:340px;
            max-width:calc(100vw - 16px);max-height:min(60vh,420px);overflow-y:auto;
            background:#fff;border-radius:0 0 12px 12px;box-shadow:0 10px 30px rgba(0,0,0,.22);
            z-index:99997;display:none;flex-direction:column;padding:6px 0;}
        #uretim-huni-panel.uretim-huni-panel--acik{display:flex;}
        /* Satır 3 kademeli: kapsam (SEVİYE|DERS|TEMA), tür (Çeşit|İçerik [N]),
           komut — bkz. uretim_dock.js → rowOlustur. İkon ve kapat düğmesi
           üste hizalanır (align-items:flex-start), aksi halde tek satırlık
           ikon 3 satırın ortasında asılı kalıyordu. */
        .uretim-huni-row{display:flex;align-items:flex-start;gap:9px;padding:9px 14px;cursor:pointer;transition:background .12s;}
        .uretim-huni-row-metin{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
        /* Kaynak başlığı — bildirimin hangi ekrandan geldiğini gösterir
           ("Manuel Soru Üretimi", "Toplu Üretim (Otomatik)" vb.), kullanıcı
           isteği: liste kalabalıklaşınca kaynağı ayırt etmek için. */
        .uretim-huni-row-kaynak{font-size:10.5px;font-weight:700;color:#2563eb;
            text-transform:uppercase;letter-spacing:.03em;
            overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
        .uretim-huni-row-kapsam{font-size:11px;font-weight:700;color:#0f172a;letter-spacing:.01em;
            overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
        .uretim-huni-row-tur{font-size:11px;color:#64748b;
            overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
        .uretim-huni-row:hover{background:#f1f5f9;}
        .uretim-huni-row--aktif{background:#eff6ff;}
        .uretim-huni-row-icon{flex-shrink:0;width:18px;height:18px;margin-top:1px;display:flex;align-items:center;justify-content:center;}
        .uretim-huni-spin{width:14px;height:14px;border-radius:50%;
            border:2px solid rgba(34,197,94,.25);border-top-color:#22c55e;
            animation:uhuni-spin .8s linear infinite;}
        @keyframes uhuni-spin{to{transform:rotate(360deg);}}
        .uretim-huni-row-icon .fa-check-square{color:#2563eb;font-size:15px;}
        .uretim-huni-row-icon .fa-circle-exclamation{color:#dc2626;font-size:15px;}
        /* Limit nedeniyle kuyrukta bekleyen üretim (bkz. dock_durumlar → 'beklemede') */
        .uretim-huni-row-icon .fa-clock{color:#d97706;font-size:15px;}
        /* Not: flex:1 KALDIRILDI — bu öğe artık satırın doğrudan çocuğu değil,
           .uretim-huni-row-metin sütununun içinde (bkz. rowOlustur). */
        .uretim-huni-row-title{min-width:0;overflow:hidden;text-overflow:ellipsis;
            white-space:nowrap;font-size:12.5px;color:#1e293b;}
        .uretim-huni-row--ghost .uretim-huni-row-title{opacity:.72;font-style:italic;}
        /* İlerleme çubuğu — Toplu Üretim gerçek üretim aşamasında (bkz.
           UretimDock.ilerlemeGuncelle). */
        .uretim-huni-row-ilerleme-wrap{display:flex;align-items:center;gap:6px;margin-top:2px;}
        .uretim-huni-row-ilerleme-bar{flex:1;height:5px;border-radius:3px;background:#e2e8f0;overflow:hidden;}
        .uretim-huni-row-ilerleme-fill{height:100%;background:#22c55e;border-radius:3px;transition:width .3s;}
        .uretim-huni-row-ilerleme-sayi{flex-shrink:0;font-size:10.5px;color:#64748b;font-weight:600;}
        .uretim-huni-row-close{flex-shrink:0;width:20px;height:20px;border-radius:50%;
            display:flex;align-items:center;justify-content:center;color:#dc2626;
            font-size:15px;line-height:1;opacity:.75;}
        .uretim-huni-row-close:hover{opacity:1;background:rgba(220,38,38,.12);}
        /* Panelin en altındaki komut şeridi — yatay çizgiyle ayrılmış, altta
           ALT ALTA iki komut (bkz. render() — 2026-09 kullanıcı isteği). */
        .uretim-huni-altbar{border-top:1px solid #e2e8f0;margin-top:4px;padding:8px 14px 6px;
            display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
        .uretim-huni-temizle{font-size:12px;color:#dc2626;cursor:pointer;font-weight:600;}
        .uretim-huni-temizle:hover{text-decoration:underline;}
        .uretim-huni-temizle i{margin-right:3px;}
        /* "Tamamlananları temizle" — Tümünü Sil'in üstünde, daha az riskli
           (devam edenlere dokunmaz) olduğu için ayrı renkte (kırmızı değil, mavi). */
        .uretim-huni-tamamlanan-temizle{font-size:12px;color:#2563eb;cursor:pointer;font-weight:600;}
        .uretim-huni-tamamlanan-temizle:hover{text-decoration:underline;}
        .uretim-huni-tamamlanan-temizle i{margin-right:3px;}
        /* Bildirimler düğmesi her zaman görünür olduğu için boş durum mesajı. */
        .uretim-huni-bos{padding:22px 16px;text-align:center;color:#8892a4;font-size:13px;}

        .udock-toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,10px);
            background:#1a2b4c;color:#fff;padding:10px 18px;border-radius:8px;
            font-size:13px;box-shadow:0 6px 20px rgba(0,0,0,.3);z-index:100000;
            opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;}
        .udock-toast--show{opacity:1;transform:translate(-50%,0);}

