/* /Editors/AIOneri/AIOneriPaneli.razor.rz.scp.css */
/* ============================================================
   AI Oneri Paneli — KCConnect Akilli Siparis
   ============================================================ */

.ai-oneri-konteyner[b-kcu7qzl75d] {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 13px;
    color: #1F2937;
    padding: 0;
}

/* === YUKLENIYOR === */
.ai-yukleniyor[b-kcu7qzl75d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 0;
    gap: 12px;
    color: #6B7280;
}

.yukleniyor-noktalar[b-kcu7qzl75d] {
    display: flex;
    gap: 6px;
}

.yukleniyor-noktalar span[b-kcu7qzl75d] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #534AB7;
    animation: pulse-b-kcu7qzl75d 1.2s ease-in-out infinite;
}

.yukleniyor-noktalar span:nth-child(2)[b-kcu7qzl75d] { animation-delay: 0.2s; }
.yukleniyor-noktalar span:nth-child(3)[b-kcu7qzl75d] { animation-delay: 0.4s; }

@keyframes pulse-b-kcu7qzl75d {
    0%, 100% { opacity: 0.3; transform: scale(0.8); }
    50% { opacity: 1; transform: scale(1.1); }
}

/* === STAT KARTLARI === */
.stat-bar[b-kcu7qzl75d] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: #E5E7EB;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 16px;
}

.stat-kart[b-kcu7qzl75d] {
    background: #fff;
    padding: 16px 20px;
}

.stat-etiket[b-kcu7qzl75d] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6B7280;
    font-weight: 500;
    margin-bottom: 6px;
}

.stat-deger[b-kcu7qzl75d] {
    font-size: 28px;
    font-family: 'DM Mono', 'Fira Code', monospace;
    font-weight: 700;
    line-height: 1.1;
    color: #1F2937;
}

.stat-deger.kritik[b-kcu7qzl75d] { color: #ef4444; }
.stat-deger.dusuk[b-kcu7qzl75d] { color: #f59e0b; }

.stat-alt[b-kcu7qzl75d] {
    font-size: 12px;
    color: #9CA3AF;
    margin-top: 4px;
}

/* === BAĞLAM KARTLARI === */
.baglam-grid[b-kcu7qzl75d] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: #E5E7EB;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 20px;
}

.baglam-kart[b-kcu7qzl75d] {
    background: #fff;
    padding: 16px 18px;
    position: relative;
    min-height: 100px;
}

.baglam-efekt[b-kcu7qzl75d] {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 10px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 99px;
    white-space: nowrap;
}

.efekt-yukari[b-kcu7qzl75d] {
    background: #DCFCE7;
    color: #166534;
}

.efekt-asagi[b-kcu7qzl75d] {
    background: #FEE2E2;
    color: #991B1B;
}

.efekt-orta[b-kcu7qzl75d] {
    background: #FEF3C7;
    color: #92400E;
}

.baglam-baslik[b-kcu7qzl75d] {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #9CA3AF;
    font-weight: 600;
    margin-bottom: 6px;
    margin-top: 4px;
}

.baglam-deger[b-kcu7qzl75d] {
    font-size: 14px;
    font-weight: 600;
    color: #1F2937;
    margin-bottom: 6px;
}

.baglam-alt[b-kcu7qzl75d] {
    font-size: 12px;
    color: #6B7280;
    line-height: 1.4;
}

/* === ÜRÜN EKLE BAŞLIK === */
.urun-ekle-baslik[b-kcu7qzl75d] {
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #9CA3AF;
    padding: 10px 0 14px 0;
    text-transform: uppercase;
}

/* === ARAMA SATIRI === */
.arama-satiri[b-kcu7qzl75d] {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
    align-items: center;
}

.arama-wrap[b-kcu7qzl75d] {
    flex: 1;
    position: relative;
}

.arama-ikon[b-kcu7qzl75d] {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    z-index: 1;
    pointer-events: none;
    opacity: 0.5;
}

[b-kcu7qzl75d] .arama-input input {
    height: 38px;
    padding-left: 32px !important;
    font-size: 13px;
    border-radius: 8px;
    border: 1px solid #E5E7EB;
}

.btn-temizle[b-kcu7qzl75d] {
    height: 36px;
    border: 1px solid #E5E7EB !important;
    background: #fff !important;
    border-radius: 8px !important;
    padding: 0 16px !important;
    font-size: 13px;
    cursor: pointer;
    color: #6B7280;
}

.btn-tumunu[b-kcu7qzl75d] {
    height: 36px;
    background: #DCFCE7 !important;
    border: 1px solid #86EFAC !important;
    color: #166534 !important;
    border-radius: 8px !important;
    padding: 0 16px !important;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}

/* === CHİP SATIRI === */
.chip-satiri[b-kcu7qzl75d] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.chip[b-kcu7qzl75d] {
    border: 1px solid #E5E7EB;
    font-size: 12px;
    padding: 5px 14px;
    border-radius: 99px;
    cursor: pointer;
    user-select: none;
    transition: all 0.15s ease;
    color: #6B7280;
    background: #fff;
}

.chip:hover[b-kcu7qzl75d] {
    border-color: #86EFAC;
    color: #166534;
    background: #F0FDF4;
}

.chip-aktif[b-kcu7qzl75d] {
    background: #DCFCE7;
    border-color: #86EFAC;
    color: #166534;
    font-weight: 600;
}

/* === ÖNERİ TABLO KARTI === */
.oneri-tablo-kart[b-kcu7qzl75d] {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    overflow: hidden;
}

.oneri-tablo-baslik[b-kcu7qzl75d] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    border-bottom: 1px solid #F3F4F6;
}

.oneri-tablo-baslik-sol[b-kcu7qzl75d] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #1F2937;
}

.ai-ikon-kucuk[b-kcu7qzl75d] {
    color: #534AB7;
    font-size: 16px;
}

.alt-yazi[b-kcu7qzl75d] {
    font-size: 12px;
    color: #9CA3AF;
}

/* DxGrid override */
[b-kcu7qzl75d] .oneri-grid {
    border: none !important;
}

[b-kcu7qzl75d] .oneri-grid .dxbl-grid-header-row th {
    background: #F9FAFB;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #9CA3AF;
    font-weight: 600;
    padding: 10px 12px;
    border-bottom: 1px solid #F3F4F6;
}

[b-kcu7qzl75d] .oneri-grid .dxbl-grid-table td {
    padding: 10px 12px;
    vertical-align: middle;
    border-bottom: 1px solid #F3F4F6;
}

[b-kcu7qzl75d] .oneri-grid .dxbl-grid-table tr:hover td {
    background: #FAFAFA;
}

/* === ÜRÜN === */
.urun-hucre[b-kcu7qzl75d] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.urun-bilgi[b-kcu7qzl75d] {
    display: flex;
    flex-direction: column;
}

.urun-adi[b-kcu7qzl75d] {
    font-size: 13px;
    font-weight: 600;
    color: #1F2937;
}

.urun-kod[b-kcu7qzl75d] {
    font-size: 11px;
    color: #9CA3AF;
    font-family: 'DM Mono', monospace;
}

/* === FAKTÖRLER === */
.faktor-satiri[b-kcu7qzl75d] {
    display: flex;
    gap: 4px;
    margin-top: 5px;
    flex-wrap: wrap;
}

.faktor-etiketi[b-kcu7qzl75d] {
    font-size: 10px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 99px;
    white-space: nowrap;
}

.faktor-day[b-kcu7qzl75d] {
    background: #EFF6FF;
    color: #1D4ED8;
}

.faktor-season[b-kcu7qzl75d] {
    background: #F0FDFA;
    color: #0F766E;
}

.faktor-fire[b-kcu7qzl75d] {
    background: #FEE2E2;
    color: #991B1B;
}

.faktor-delivery[b-kcu7qzl75d] {
    background: #FEF3C7;
    color: #92400E;
}

/* === KATEGORİ === */
.kategori-pill[b-kcu7qzl75d] {
    font-size: 11px;
    padding: 3px 10px;
    border-radius: 99px;
    background: #F3F4F6;
    border: 1px solid #E5E7EB;
    color: #4B5563;
    white-space: nowrap;
}

/* === STOK === */
.stok-hucre[b-kcu7qzl75d] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.stok-bar-bg[b-kcu7qzl75d] {
    width: 60px;
    height: 6px;
    background: #F3F4F6;
    border-radius: 3px;
    overflow: hidden;
    flex-shrink: 0;
}

.stok-bar-dolgu[b-kcu7qzl75d] {
    height: 6px;
    border-radius: 3px;
    transition: width 0.3s ease;
}

.stok-sayi[b-kcu7qzl75d] {
    font-size: 13px;
    font-family: 'DM Mono', monospace;
    font-weight: 500;
    color: #1F2937;
}

/* === SATIŞ === */
.satis-deger[b-kcu7qzl75d] {
    font-weight: 600;
    font-family: 'DM Mono', monospace;
    font-size: 13px;
    color: #1F2937;
}

.birim-kucuk[b-kcu7qzl75d] {
    font-size: 11px;
    color: #9CA3AF;
    margin-left: 3px;
}

/* === MİKTAR === */
.miktar-hucre[b-kcu7qzl75d] {
    display: flex;
    align-items: center;
    gap: 4px;
}

[b-kcu7qzl75d] .miktar-input {
    width: 70px;
}

[b-kcu7qzl75d] .miktar-input input {
    font-size: 13px;
    font-family: 'DM Mono', monospace;
    text-align: center;
    padding: 4px 6px;
    border-radius: 6px;
    border: 1px solid #E5E7EB;
    height: 32px;
}

/* === SEVİYE === */
.seviye-hucre[b-kcu7qzl75d] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.durum-rozet[b-kcu7qzl75d] {
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 99px;
    display: inline-block;
    width: fit-content;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.durum-kritik[b-kcu7qzl75d] {
    background: #FEE2E2;
    color: #DC2626;
}

.durum-dusuk[b-kcu7qzl75d] {
    background: #FEF3C7;
    color: #D97706;
}

.durum-normal[b-kcu7qzl75d] {
    background: #DCFCE7;
    color: #16A34A;
}

.gerekce-metin[b-kcu7qzl75d] {
    font-size: 11px;
    color: #6B7280;
    max-width: 160px;
    line-height: 1.3;
}

/* === EKLE BUTONU === */
[b-kcu7qzl75d] .btn-ekle {
    height: 32px;
    font-size: 12px;
    font-weight: 500;
    border: 1px solid #E5E7EB !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #374151 !important;
    cursor: pointer;
    padding: 0 14px !important;
    transition: all 0.15s ease;
}

[b-kcu7qzl75d] .btn-ekle:hover {
    background: #F0FDF4 !important;
    border-color: #86EFAC !important;
    color: #166534 !important;
}

[b-kcu7qzl75d] .btn-eklendi {
    background: #DCFCE7 !important;
    border-color: #86EFAC !important;
    color: #166534 !important;
    cursor: default;
}
/* /Editors/FotografViewer/FotografViewerPaneli.razor.rz.scp.css */
/* MobilAlisIrsaliyesi fotoğraf görüntüleyici — üst büyük foto + alt thumbnail şeridi */

.kc-foto-viewer[b-lxn101kucr] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
    padding: 6px;
    box-sizing: border-box;
    /* Viewport'u tamamen doldurmasin diye tavan — image cok buyumesin. */
    max-height: calc(100vh - 220px);
}

.kc-foto-viewer-main[b-lxn101kucr] {
    /* SABIT piksel yukseklik — parent height chain'e bagimli degil, garanti cerceve.
       Kisa ekranlarda vh-tavan ile kisalir. Resim icine object-fit:contain ile sigar. */
    height: 380px;
    max-height: calc(100vh - 280px);
    min-height: 240px;
    display: flex;
    flex-direction: column;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #f9f9f9;
    overflow: hidden;
    position: relative;
    flex: 0 0 auto;
}

.kc-foto-viewer-toolbar[b-lxn101kucr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px;
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid #e5e5e5;
    font-size: 12px;
    color: #333;
    gap: 8px;
}

.kc-foto-viewer-ad[b-lxn101kucr] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1 1 auto;
    min-width: 0;
}

.kc-foto-viewer-butonlar[b-lxn101kucr] {
    display: flex;
    gap: 4px;
    flex: 0 0 auto;
}

.kc-foto-viewer-butonlar button[b-lxn101kucr] {
    padding: 4px 10px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    line-height: 1;
}

.kc-foto-viewer-butonlar button:hover[b-lxn101kucr] {
    background: #f0f0f0;
    border-color: #999;
}

.kc-foto-viewer-image-wrap[b-lxn101kucr] {
    /* flex-basis 0 — icerige gore buyumesin. */
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 8px;
    min-height: 0;
    min-width: 0;
    box-sizing: border-box;
}

.kc-foto-viewer-image-wrap img[b-lxn101kucr] {
    /* Container'a sigdir — object-fit oran koruyarak ici doldurmadan yerlestirir. */
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.2s ease;
    user-select: none;
    -webkit-user-drag: none;
}

.kc-foto-viewer-bos[b-lxn101kucr] {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 14px;
    padding: 20px;
    text-align: center;
}

.kc-foto-viewer-thumbs[b-lxn101kucr] {
    flex: 0 0 auto;
    display: flex;
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 2px;
    max-height: 96px;
}

.kc-foto-viewer-thumbs .kc-thumb[b-lxn101kucr] {
    height: 80px;
    width: 80px;
    object-fit: cover;
    border-radius: 4px;
    border: 2px solid #ddd;
    cursor: pointer;
    flex-shrink: 0;
    transition: border-color 0.15s, transform 0.15s;
}

.kc-foto-viewer-thumbs .kc-thumb:hover[b-lxn101kucr] {
    border-color: #888;
    transform: translateY(-1px);
}

.kc-foto-viewer-thumbs .kc-thumb.aktif[b-lxn101kucr] {
    border-color: rgb(var(--kc-accent, 255, 102, 0));
    box-shadow: 0 0 0 2px rgba(var(--kc-accent, 255, 102, 0), 0.25);
}
/* /Editors/Konusma/KonusmaBilesen.razor.rz.scp.css */
/* Talep sohbet paneli — mesaj baloncukları (mockup: kendi mesaj sağda mor, başkası solda açık). */

.konusma-konteyner[b-btf6uojz01] {
    display: flex;
    flex-direction: column;
    /* Dikey yığında SABİT yükseklik blok (tam genişlik): baloncuk listesi içeride
       scroll olur, giriş kutusu altta sabit kalır. Tam-yükseklik "doldur" yapmaz —
       altındaki Atamalar görünür kalsın diye bounded ~360px. */
    height: 360px;
    border: 1px solid #E2E1EF;
    border-radius: 10px;
    overflow: hidden;
    background: #FFFFFF;
}

.konusma-liste[b-btf6uojz01] {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 10px 12px;
    background: #F7F6FB;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.konusma-bos[b-btf6uojz01] {
    margin: auto;
    color: #9A98AE;
    font-size: 14px;
}

.balon-satir[b-btf6uojz01] {
    display: flex;
    width: 100%;
}

.satir-benim[b-btf6uojz01] {
    justify-content: flex-end;
}

.satir-diger[b-btf6uojz01] {
    justify-content: flex-start;
}

.balon[b-btf6uojz01] {
    max-width: 66%;
    padding: 4px 9px;
    border-radius: 10px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    word-wrap: break-word;
    /* metin tek satırda akar, gerekirse sarar; meta altında küçük. */
    display: inline-flex;
    flex-direction: column;
}

/* Kendi mesajın: sağda, mor zemin, beyaz yazı. */
.balon-benim[b-btf6uojz01] {
    background: #534AB7;
    color: #FFFFFF;
    border-bottom-right-radius: 4px;
}

/* Başkasının mesajı: solda, açık zemin, koyu yazı. */
.balon-diger[b-btf6uojz01] {
    background: #FFFFFF;
    color: #2A2A35;
    border: 1px solid #E6E5F0;
    border-bottom-left-radius: 4px;
}

.balon-metin[b-btf6uojz01] {
    font-size: 13px;
    line-height: 1.3;
}

/* Mesajın ALTINDA tek satır: gönderen · saat (küçük, soluk). */
.balon-meta[b-btf6uojz01] {
    font-size: 10px;
    opacity: 0.65;
    margin-top: 1px;
    white-space: nowrap;
}

.konusma-giris[b-btf6uojz01] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding: 10px;
    border-top: 1px solid #E2E1EF;
    background: #FFFFFF;
}

.giris-kutu[b-btf6uojz01] {
    flex: 1 1 auto;
    resize: none;
    border: 1px solid #D9D8E6;
    border-radius: 8px;
    padding: 8px 10px;
    font-family: inherit;
    font-size: 14px;
    outline: none;
}

.giris-kutu:focus[b-btf6uojz01] {
    border-color: #534AB7;
}

.giris-buton[b-btf6uojz01] {
    flex: 0 0 auto;
    padding: 8px 18px;
    background: #534AB7;
    color: #FFFFFF;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.giris-buton:disabled[b-btf6uojz01] {
    background: #B7B3DC;
    cursor: default;
}

.giris-uyari[b-btf6uojz01] {
    flex: 1 1 auto;
    color: #9A6A00;
    background: #FFF7E6;
    border: 1px solid #FFE0A3;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 13px;
}
/* /Editors/TalepIslem/TalepIslemBilesen.razor.rz.scp.css */
/* Talep "İşlem" kartı — bağlamsal durum geçişi butonları (DetailView içinde, üst bar yerine). */

.islem-kart[b-nkknyf3n99] {
    border: 1px solid #E2E1EF;
    border-radius: 10px;
    background: #FFFFFF;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.islem-bos[b-nkknyf3n99], .islem-uyari[b-nkknyf3n99] {
    color: #9A6A00;
    font-size: 13px;
}

.islem-uyari[b-nkknyf3n99] {
    background: #FFF7E6;
    border: 1px solid #FFE0A3;
    border-radius: 8px;
    padding: 8px 10px;
}

.islem-hata[b-nkknyf3n99] {
    color: #991B1B;
    background: #FEE2E2;
    border: 1px solid #FCA5A5;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: 13px;
}

.islem-ust[b-nkknyf3n99] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.islem-atanan[b-nkknyf3n99], .islem-departman[b-nkknyf3n99] {
    font-size: 13px;
    color: #4A4A57;
}

.durum-rozet[b-nkknyf3n99] {
    display: inline-block;
    padding: 3px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    color: #FFFFFF;
}

.rozet-acik[b-nkknyf3n99]        { background: #6B7280; }
.rozet-ustlenildi[b-nkknyf3n99]  { background: #2563EB; }
.rozet-islemde[b-nkknyf3n99]     { background: #534AB7; }
.rozet-cozuldu[b-nkknyf3n99]     { background: #16A34A; }
.rozet-kapandi[b-nkknyf3n99]     { background: #4B5563; }
.rozet-reddedildi[b-nkknyf3n99]  { background: #B91C1C; }
.rozet-yeniden[b-nkknyf3n99]     { background: #D97706; }

/* İşlem satırı: departman + kişi seçici + tüm butonlar TEK SIRADA, yan yana.
   Çok dar ekranda flex-wrap ile alta kayar; hedef tek satır. */
.islem-butonlar[b-nkknyf3n99] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ik-secici[b-nkknyf3n99] {
    /* Kalan alanı doldur: iki seçici eşit esner, satırın boş genişliğini kaplar. */
    flex: 1 1 180px;
    min-width: 150px;
    border: 1px solid #D9D8E6;
    border-radius: 8px;
    padding: 7px 10px;
    font-size: 13px;
    background: #FFFFFF;
}

.ik-btn[b-nkknyf3n99] {
    padding: 7px 14px;
    border: 1px solid #D9D8E6;
    border-radius: 8px;
    background: #F3F2FA;
    color: #2A2A35;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.ik-btn:hover[b-nkknyf3n99] { background: #E9E7F6; }
.ik-btn:disabled[b-nkknyf3n99] { opacity: 0.5; cursor: default; }

.ik-birincil[b-nkknyf3n99] { background: #534AB7; color: #FFFFFF; border-color: #534AB7; }
.ik-birincil:hover[b-nkknyf3n99] { background: #443BA0; }

.ik-basari[b-nkknyf3n99] { background: #16A34A; color: #FFFFFF; border-color: #16A34A; }
.ik-basari:hover[b-nkknyf3n99] { background: #128A3E; }

.ik-tehlike[b-nkknyf3n99] { background: #FFFFFF; color: #B91C1C; border-color: #E7B4B4; }
.ik-tehlike:hover[b-nkknyf3n99] { background: #FEECEC; }

.islem-red[b-nkknyf3n99] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-top: 1px solid #EEE;
    padding-top: 10px;
}

.red-kutu[b-nkknyf3n99] {
    resize: none;
    border: 1px solid #D9D8E6;
    border-radius: 8px;
    padding: 8px 10px;
    font-family: inherit;
    font-size: 13px;
    outline: none;
}

.red-kutu:focus[b-nkknyf3n99] { border-color: #B91C1C; }

.red-aksiyon[b-nkknyf3n99] { display: flex; gap: 8px; }
/* /Pages/VardiyaPlaniTakvim.razor.rz.scp.css */
/* ============================================================================
   Vardiya Planı — Haftalık Saat-Bazlı Takvim (Component-Scoped CSS)
   Dosya: Pages/VardiyaPlaniTakvim.razor.css
   --------------------------------------------------------------------------
   Layout:  [Üst toolbar (60px)] | [Sol takvim | Sağ panel 280px]
   Takvim:  [56px saat gutter + 7 gün sütunu] · saat ızgarası (Y: otomatik
            saat penceresi, X: Pzt-Paz). Vardiyalar gerçek saat bloklarında.
   ============================================================================ */

.vpt-container[b-6wz9evs2vq] {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 80px);
    padding: 16px 20px;
    gap: 12px;
    background: #F4F6F8;
    font-family: 'Segoe UI', system-ui, sans-serif;
    box-sizing: border-box;
}

/* ── ÜST TOOLBAR ────────────────────────────────────────────────────────── */
.vpt-toolbar[b-6wz9evs2vq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #FFFFFF;
    padding: 10px 14px;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    min-height: 56px;
    flex-shrink: 0;
}

.vpt-toolbar-left[b-6wz9evs2vq] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    max-width: 480px;
}

.vpt-toolbar-right[b-6wz9evs2vq] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.vpt-label[b-6wz9evs2vq] {
    font-size: 13px;
    font-weight: 600;
    color: #4A5568;
    margin: 0;
    white-space: nowrap;
}

/* "Geri" toolbar butonu pending-mode'da kaldırıldı — çıkış sağ paneldeki
   "Çık (Kaydetmeden)" / "Kaydet ve Çık" butonlarından yapılır. */

.vpt-magaza-combo[b-6wz9evs2vq] {
    min-width: 280px;
    flex: 1;
}

.vpt-nav-btn[b-6wz9evs2vq] {
    background: #F4F6F8;
    border: 1px solid #D0D7DE;
    border-radius: 6px;
    width: 32px;
    height: 32px;
    font-size: 14px;
    font-weight: 600;
    color: #4A5568;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 120ms;
}

.vpt-nav-btn:hover[b-6wz9evs2vq] {
    background: #E6EAEE;
}

.vpt-hafta-baslik[b-6wz9evs2vq] {
    font-size: 15px;
    font-weight: 600;
    color: #1A2330;
    min-width: 190px;
    text-align: center;
}

/* ── GÖVDE: Takvim + Sağ Panel ──────────────────────────────────────────── */
.vpt-body[b-6wz9evs2vq] {
    display: flex;
    gap: 12px;
    flex: 1;
    min-height: 0;
}

/* ── TAKVİM ─────────────────────────────────────────────────────────────── */
.vpt-takvim[b-6wz9evs2vq] {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

/* Sabit satır yüksekliği — saat gutter'ı ile gün sütunlarındaki saat
   çizgileri aynı yükseklikte olmalı ki hizalansınlar. */
.vpt-takvim[b-6wz9evs2vq] {
    /* CSS değişkeni: saat satırı yüksekliği (gutter + day-col paylaşır) */
    --vpt-saat-yukseklik: 46px;
}

/* ── ÜST BAŞLIK: sol köşe (saat sütunu) + 7 gün ─────────────────────── */
.vpt-week-header[b-6wz9evs2vq] {
    display: grid;
    grid-template-columns: 56px repeat(7, 1fr);
    height: 44px;
    border-bottom: 1px solid #E1E5EA;
    background: #FAFBFC;
    flex-shrink: 0;
}

.vpt-corner[b-6wz9evs2vq] {
    border-right: 1px solid #E1E5EA;
}

.vpt-day-head[b-6wz9evs2vq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    border-right: 1px solid #E1E5EA;
}

.vpt-day-head:last-child[b-6wz9evs2vq] {
    border-right: none;
}

.vpt-day-name[b-6wz9evs2vq] {
    font-size: 11px;
    font-weight: 600;
    color: #6B7785;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.vpt-day-date[b-6wz9evs2vq] {
    font-size: 12px;
    font-weight: 600;
    color: #2D3748;
}

.vpt-day-head.bugun[b-6wz9evs2vq] {
    background: #F0F7FF;
}

.vpt-day-head.bugun .vpt-day-name[b-6wz9evs2vq],
.vpt-day-head.bugun .vpt-day-date[b-6wz9evs2vq] {
    color: #185FA5;
}

/* ── GÖVDE: saat gutter'ı + 7 gün sütunu (kaydırılabilir) ───────────── */
.vpt-week-body[b-6wz9evs2vq] {
    flex: 1;
    display: grid;
    grid-template-columns: 56px repeat(7, 1fr);
    overflow-y: auto;
    min-height: 0;
}

/* Sol saat etiketleri (Y ekseni) */
.vpt-hour-gutter[b-6wz9evs2vq] {
    display: flex;
    flex-direction: column;
    border-right: 1px solid #E1E5EA;
    background: #FAFBFC;
}

.vpt-hour-label[b-6wz9evs2vq] {
    height: var(--vpt-saat-yukseklik);
    flex: 0 0 var(--vpt-saat-yukseklik);
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 2px 6px 0 0;
    font-size: 11px;
    color: #8A95A0;
    box-sizing: border-box;
}

/* Gün sütunu — tıklanabilir (seçili vardiyayı o güne atar). Bloklar absolute. */
.vpt-day-col[b-6wz9evs2vq] {
    position: relative;
    border-right: 1px solid #E8ECEF;
    cursor: pointer;
    transition: background 80ms;
}

.vpt-day-col:last-child[b-6wz9evs2vq] {
    border-right: none;
}

.vpt-day-col:hover[b-6wz9evs2vq] {
    background: #F4F8FB;
}

.vpt-day-col.bugun[b-6wz9evs2vq] {
    background: #F7FBFF;
}

/* Yatay saat çizgileri — normal akışta dizilir, sütun yüksekliğini verir. */
.vpt-hour-line[b-6wz9evs2vq] {
    height: var(--vpt-saat-yukseklik);
    flex: 0 0 var(--vpt-saat-yukseklik);
    border-bottom: 1px solid #EEF1F4;
    box-sizing: border-box;
    pointer-events: none;
}

/* Vardiya bloğu — gerçek saat konumunda, vardiya renginde.
   top/height/left/width inline style ile (yüzde + px insets) gelir.
   pointer-events:none → tıklama gün sütununa gider (OnGunTikla). */
.vpt-blok[b-6wz9evs2vq] {
    position: absolute;
    border-radius: 6px;
    border: 1.5px solid;
    padding: 3px 6px;
    box-sizing: border-box;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 1px;
    pointer-events: none;
    min-height: 16px;
}

.vpt-blok-baslik[b-6wz9evs2vq] {
    font-weight: 700;
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vpt-blok-saat[b-6wz9evs2vq] {
    font-size: 10px;
    opacity: 0.85;
    line-height: 1.2;
}

.vpt-blok-personel[b-6wz9evs2vq] {
    font-size: 10px;
    line-height: 1.3;
    opacity: 0.95;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vpt-blok-rozet[b-6wz9evs2vq] {
    font-size: 9px;
    font-style: italic;
    opacity: 0.8;
}

/* ── SAĞ PANEL ──────────────────────────────────────────────────────────── */
.vpt-sag-panel[b-6wz9evs2vq] {
    width: 280px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #FFFFFF;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    padding: 14px;
}

.vpt-palet-baslik[b-6wz9evs2vq],
.vpt-toplu-baslik[b-6wz9evs2vq] {
    font-size: 13px;
    font-weight: 700;
    color: #4A5568;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
}

.vpt-toplu-baslik[b-6wz9evs2vq] {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid #E8ECEF;
}

.vpt-palet[b-6wz9evs2vq] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.vpt-vardiya-karti[b-6wz9evs2vq] {
    border: 2px solid transparent;
    border-radius: 8px;
    padding: 12px 14px;
    cursor: pointer;
    transition: transform 120ms, box-shadow 120ms;
    user-select: none;
}

.vpt-vardiya-karti:hover[b-6wz9evs2vq] {
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.vpt-vardiya-secili[b-6wz9evs2vq] {
    border-width: 3px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.vpt-vardiya-karti-ad[b-6wz9evs2vq] {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 2px;
}

.vpt-vardiya-karti-saat[b-6wz9evs2vq] {
    font-size: 12px;
    opacity: 0.85;
}

/* ── TOPLU UYGULAMA BUTONLARI ───────────────────────────────────────────── */
.vpt-toplu-butonlar[b-6wz9evs2vq] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.vpt-toplu-btn[b-6wz9evs2vq] {
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 120ms, border-color 120ms;
}

.vpt-toplu-btn-primary[b-6wz9evs2vq] {
    background: #185FA5;
    border: 1px solid #185FA5;
    color: #FFFFFF;
}

.vpt-toplu-btn-primary:hover[b-6wz9evs2vq] {
    background: #134B83;
    border-color: #134B83;
}

.vpt-toplu-btn-secondary[b-6wz9evs2vq] {
    background: #FFFFFF;
    border: 1px solid #D0D7DE;
    color: #4A5568;
}

.vpt-toplu-btn-secondary:hover[b-6wz9evs2vq] {
    background: #F4F6F8;
}

.vpt-toplu-btn:disabled[b-6wz9evs2vq],
.vpt-nav-btn:disabled[b-6wz9evs2vq] {
    opacity: 0.45;
    cursor: not-allowed;
}

.vpt-toplu-btn:disabled:hover[b-6wz9evs2vq] {
    background: inherit;
    transform: none;
}

/* "Tanımlı vardiya yok" boş hali */
.vpt-palet-bos[b-6wz9evs2vq] {
    padding: 16px 12px;
    text-align: center;
    color: #8A95A0;
    font-size: 12px;
    font-style: italic;
    border: 1px dashed #D0D7DE;
    border-radius: 6px;
}

/* Toolbar mesajı (success/error/info) */
.vpt-mesaj[b-6wz9evs2vq] {
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 4px;
    white-space: nowrap;
    max-width: 360px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vpt-mesaj.success[b-6wz9evs2vq] {
    background: #E3F5E9;
    color: #1B6E3A;
    border: 1px solid #B5DCC1;
}

.vpt-mesaj.error[b-6wz9evs2vq] {
    background: #FBE9E9;
    color: #A92020;
    border: 1px solid #E9B5B5;
}

.vpt-mesaj.info[b-6wz9evs2vq] {
    background: #E6F1FB;
    color: #185FA5;
    border: 1px solid #B6D2EB;
}

/* Toolbar — Yetki / Bölge Müdürü bilgi rozeti */
.vpt-kullanici-bilgi[b-6wz9evs2vq] {
    padding: 6px 12px;
    background: #F4F6F8;
    border-radius: 6px;
    color: #5F5E5A;
    font-size: 14px;
    white-space: nowrap;
}

.vpt-kullanici-bilgi strong[b-6wz9evs2vq] {
    color: #1A2330;
    font-weight: 600;
    margin-right: 4px;
}

/* ── Personel listesi (sağ panel) ─────────────────────────────────── */

.vpt-bolum-baslik[b-6wz9evs2vq] {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #5F5E5A;
    margin: 14px 0 6px;
    text-transform: uppercase;
}

.vpt-personel-liste[b-6wz9evs2vq] {
    max-height: 240px;
    overflow-y: auto;
    padding-right: 2px;
}

.vpt-personel-kart[b-6wz9evs2vq] {
    padding: 6px 10px;
    border: 1px solid #E5E7EB;
    border-radius: 6px;
    margin-bottom: 4px;
    cursor: pointer;
    font-size: 13px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #FFFFFF;
    transition: background 100ms, border-color 100ms;
}

.vpt-personel-kart:hover[b-6wz9evs2vq] {
    background: #F4F6F8;
}

/* Seçili kartın çerçevesi — kart rengi inline style ile geldiği için
   arka planı override etmiyoruz; renk üzerine beyaz iç-gölge overlay
   ile mavi çerçeveyi belirginleştiriyoruz. */
.vpt-personel-kart.secili[b-6wz9evs2vq] {
    border: 2px solid #185FA5;
    padding: 5px 9px; /* border büyüdüğü için padding 1px azaltıldı */
    box-shadow: 0 0 0 1px white inset;
}

.vpt-personel-kart .rozet[b-6wz9evs2vq] {
    font-size: 10px;
    color: #5F5E5A;
    background: #EFEFEF;
    padding: 1px 6px;
    border-radius: 8px;
    white-space: nowrap;
}

/* "Temizle" — ayın tüm planlarını pending-silmek için destructive buton.
   ClearMonth kendi confirm dialog'unu sorar. Beyaz; hover'da kırmızı uyarı. */
.vpt-buton-temizle[b-6wz9evs2vq] {
    width: 100%;
    padding: 10px;
    background: white;
    color: #5F5E5A;
    border: 1px solid #D0D7DE;
    border-radius: 6px;
    font-weight: 500;
    font-size: 14px;
    cursor: pointer;
}

.vpt-buton-temizle:hover[b-6wz9evs2vq] {
    background: #F4F6F8;
    border-color: #DC2626;
    color: #DC2626;
}

.vpt-buton-temizle:disabled[b-6wz9evs2vq] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* "Çık (Kaydetmeden)" — pending değişiklikleri terk eden çıkış butonu.
   Beyaz; hover'da kırmızı vurgu (uyarı) yapar. */
.vpt-buton-cik[b-6wz9evs2vq] {
    width: 100%;
    padding: 10px;
    background: white;
    color: #374151;
    border: 1px solid #E5E7EB;
    border-radius: 6px;
    font-weight: 500;
    font-size: 14px;
    cursor: pointer;
    margin-top: 8px;
}

.vpt-buton-cik:hover[b-6wz9evs2vq] {
    background: #F4F6F8;
    border-color: #DC2626;
    color: #DC2626;
}

.vpt-buton-cik:disabled[b-6wz9evs2vq] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* "Kaydet ve Çık" butonu — sağ panel commit + dön. */
.vpt-buton-kaydet[b-6wz9evs2vq] {
    width: 100%;
    padding: 10px;
    background: #185FA5;
    color: white;
    border: none;
    border-radius: 6px;
    font-weight: 500;
    font-size: 14px;
    cursor: pointer;
    margin-top: 8px;
}

.vpt-buton-kaydet:hover:not(:disabled)[b-6wz9evs2vq] {
    background: #0C447C;
}

.vpt-buton-kaydet:disabled[b-6wz9evs2vq] {
    opacity: 0.5;
    cursor: not-allowed;
}

