/* ═══════════════════════════════════════════════════════════════
   KARİYER — BİLDİRİM VE ONAY BİLEŞENLERİ
   Neden var: kariyer bölümünde 58 adet native alert() vardı. Native
   alert tarayıcıyı BLOKLAR (denetimde kişilik testi sırasında sekme
   tamamen dondu), mobilde kaba görünür ve site tasarımına yabancıdır.
   CLAUDE.md zaten native confirm() yerine site modalını şart koşuyor.
   Görünüm kurumsal bölümün .toast bileşeninden alındı (cam zemin,
   sağ-alt yığın) ki iki taraf tutarlı olsun.
   ═══════════════════════════════════════════════════════════════ */

.kb-toast-katman {
    position: fixed;
    bottom: var(--space-6, 1.5rem);
    right: var(--space-6, 1.5rem);
    z-index: 2147483000;          /* modal + flyout üstünde kalmalı */
    display: flex;
    flex-direction: column;
    gap: var(--space-3, .75rem);
    pointer-events: none;
    max-width: min(380px, calc(100vw - 2rem));
}

.kb-toast {
    pointer-events: auto;
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .875rem 1rem;
    border-radius: var(--radius-lg, .75rem);
    background: var(--bg-glass-strong, var(--bg-secondary, #1a1a24));
    border: 1px solid var(--border-glass, rgba(255,255,255,.12));
    box-shadow: 0 10px 30px rgba(0,0,0,.35);
    color: var(--text-primary, #fff);
    font-size: .9rem;
    line-height: 1.45;
    animation: kbToastGir .28s cubic-bezier(.16,1,.3,1);
}
.kb-toast.kb-cikis { animation: kbToastCik .22s ease forwards; }

@keyframes kbToastGir { from { opacity:0; transform: translateY(12px) scale(.97);} to { opacity:1; transform:none; } }
@keyframes kbToastCik { to { opacity:0; transform: translateX(16px); } }

.kb-toast i { font-size: 1.05rem; margin-top: .1rem; flex-shrink: 0; }
.kb-toast.basari  i { color: var(--color-success, #10b981); }
.kb-toast.hata    i { color: var(--color-danger,  #ef4444); }
.kb-toast.uyari   i { color: var(--color-warning, #f59e0b); }
.kb-toast.bilgi   i { color: var(--brand-primary, #3b82f6); }

.kb-toast-metin { flex: 1; word-break: break-word; }
.kb-toast-kapat {
    background: none; border: 0; cursor: pointer; padding: 0 .15rem;
    color: var(--text-tertiary, #9aa0aa); font-size: .95rem; line-height: 1;
}
.kb-toast-kapat:hover { color: var(--text-primary, #fff); }

/* ─── Onay penceresi ─── */
.kb-onay-perde {
    position: fixed; inset: 0; z-index: 2147483100;
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(3px);
    display: flex; align-items: center; justify-content: center;
    padding: 1rem;
    animation: kbFade .18s ease;
}
@keyframes kbFade { from { opacity: 0; } to { opacity: 1; } }

.kb-onay {
    width: 100%; max-width: 420px;
    background: var(--bg-secondary, #16161e);
    border: 1px solid var(--border-glass, rgba(255,255,255,.12));
    border-radius: var(--radius-xl, 1rem);
    box-shadow: 0 24px 60px rgba(0,0,0,.5);
    padding: 1.5rem;
    animation: kbOnayGir .24s cubic-bezier(.16,1,.3,1);
}
@keyframes kbOnayGir { from { opacity:0; transform: translateY(14px) scale(.97);} to { opacity:1; transform:none; } }

.kb-onay-baslik {
    display: flex; align-items: center; gap: .6rem;
    font-size: 1.05rem; font-weight: 700;
    color: var(--text-primary, #fff); margin: 0 0 .6rem;
}
.kb-onay-baslik i { color: var(--color-warning, #f59e0b); }
.kb-onay-metin { color: var(--text-secondary, #c7ccd4); font-size: .92rem; line-height: 1.55; margin: 0 0 1.25rem; }
.kb-onay-dugmeler { display: flex; gap: .6rem; justify-content: flex-end; flex-wrap: wrap; }
.kb-onay-dugmeler button {
    padding: .55rem 1.1rem; border-radius: var(--radius-md, .5rem);
    font-size: .9rem; font-weight: 600; cursor: pointer; border: 1px solid transparent;
    font-family: inherit;
}
.kb-btn-iptal {
    background: transparent; color: var(--text-secondary, #c7ccd4);
    border-color: var(--border-glass, rgba(255,255,255,.16));
}
.kb-btn-iptal:hover { color: var(--text-primary, #fff); }
.kb-btn-onayla { background: var(--color-danger, #ef4444); color: #fff; }
.kb-btn-onayla:hover { filter: brightness(1.08); }
.kb-onay.bilgi .kb-btn-onayla { background: var(--brand-primary, #3b82f6); }
.kb-onay.bilgi .kb-onay-baslik i { color: var(--brand-primary, #3b82f6); }
/* 28 Eyl 2026: kariyerParolaSor() — maskeli parola alani (prompt() yerine) */
.kb-onay-metin[for] { display: block; margin-bottom: .6rem; }
.kb-onay-girdi {
    width: 100%; box-sizing: border-box;
    padding: 0.875rem 1rem; border-radius: var(--radius-lg, 12px);
    border: 1px solid var(--border-glass, rgba(255,255,255,.12));
    background: var(--bg-tertiary, rgba(255,255,255,.04));
    color: var(--text-primary, #fff); font-size: .95rem; font-family: inherit;
}
.kb-onay-girdi:focus { outline: none; border-color: var(--brand-primary, #3b82f6); box-shadow: 0 0 0 3px rgba(102,126,234,.2); }
.kb-onay-uyari { min-height: 1.1rem; margin: .35rem 0 .9rem; font-size: .82rem; color: var(--color-danger, #ef4444); }

@media (max-width: 600px) {
    .kb-toast-katman { left: 1rem; right: 1rem; bottom: 1rem; max-width: none; }
}

/* ════════════════════════════════════════════════════════
   BAŞLIK PANELLERİ — Bildirimler + Mesajlar (8 Eyl 2026)
   #notifications-toggle / #messages-toggle düğmeleri baslik-paneller.js ile
   sarmalanır; görünüm kurumsal .notification-panel bileşeninden alındı.
   ════════════════════════════════════════════════════════ */
.kbp-sarmal { position: relative; display: inline-flex; }
.kbp-rozet {
    position: absolute; top: -4px; right: -4px;
    min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px;
    background: var(--brand-danger, #ef4444); color: #fff;
    font-size: .625rem; font-weight: 700; line-height: 1;
    display: none; align-items: center; justify-content: center;
    border: 2px solid var(--bg-secondary, #0a0a0a);
    pointer-events: none;
}
.kbp-panel {
    position: absolute; top: calc(100% + 10px); right: 0;
    width: 360px; max-width: calc(100vw - 24px); max-height: 480px;
    display: flex; flex-direction: column;
    background: var(--bg-secondary, #0a0a0a);
    border: 1px solid var(--border-primary, rgba(255,255,255,.1));
    border-radius: var(--radius-xl, 16px);
    box-shadow: var(--shadow-xl, 0 20px 40px rgba(0,0,0,.4));
    opacity: 0; visibility: hidden; transform: translateY(-6px) scale(.98);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
    z-index: 1200; overflow: hidden; text-align: left;
}
.kbp-panel.acik { opacity: 1; visibility: visible; transform: none; }
.kbp-baslik {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 16px; border-bottom: 1px solid var(--border-primary, rgba(255,255,255,.1));
    font-weight: 700; font-size: .95rem; color: var(--text-primary);
}
.kbp-arac {
    border: none; background: transparent; color: var(--text-secondary); cursor: pointer;
    font-size: .8rem; padding: 5px 8px; border-radius: 8px; transition: background .15s, color .15s;
}
.kbp-arac:hover { background: var(--bg-tertiary); color: var(--brand-primary); }
.kbp-liste { overflow-y: auto; max-height: 380px; }
.kbp-oge {
    display: flex; gap: 12px; padding: 12px 16px; position: relative;
    border-bottom: 1px solid var(--border-primary, rgba(255,255,255,.08));
    cursor: pointer; text-decoration: none; color: inherit; transition: background .15s;
}
.kbp-oge:last-child { border-bottom: none; }
.kbp-oge:hover { background: var(--bg-tertiary); }
.kbp-oge::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--brand-primary); border-radius: 0 2px 2px 0; }
.kbp-oge.okundu { opacity: .62; }
.kbp-oge.okundu::before { opacity: 0; }
.kbp-oge.okundu:hover { opacity: .85; }
.kbp-ikon {
    width: 36px; height: 36px; min-width: 36px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center; font-size: .85rem;
    background: rgba(255, 107, 53, .14); color: var(--brand-primary);
}
.kbp-icerik { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.kbp-t { font-weight: 600; font-size: .85rem; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kbp-m { font-size: .78rem; color: var(--text-secondary); margin-top: 2px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.kbp-z { font-size: .7rem; color: var(--text-tertiary, var(--text-secondary)); margin-top: 4px; }
.kbp-bos { padding: 32px 18px; text-align: center; color: var(--text-secondary); font-size: .85rem; line-height: 1.5; }
.kbp-bos i { font-size: 1.6rem; display: block; margin-bottom: 10px; opacity: .55; }
.kbp-alt { padding: 10px 16px; border-top: 1px solid var(--border-primary, rgba(255,255,255,.1)); text-align: center; font-size: .8rem; }
.kbp-alt a { color: var(--brand-primary); font-weight: 600; text-decoration: none; }
.kbp-alt a:hover { text-decoration: underline; }
.kbp-sayi {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 18px; height: 18px; padding: 0 5px; margin-left: 4px; border-radius: 999px;
    background: var(--brand-primary); color: #fff; font-size: .65rem; font-weight: 700; vertical-align: middle;
}
.header-btn.kbp-var { color: var(--brand-primary); }
@media (max-width: 560px) {
    .kbp-panel { position: fixed; left: 12px; right: 12px; top: calc(var(--header-height, 64px) + 8px); width: auto; max-height: 70vh; }
}
