@import '_content/MashaB2B.Modules.Alici/MashaB2B.Modules.Alici.8ljfmq9906.bundle.scp.css';
@import '_content/MashaB2B.Modules.Finans/MashaB2B.Modules.Finans.zvjuj3ow81.bundle.scp.css';
@import '_content/MashaB2B.Modules.Fiyat/MashaB2B.Modules.Fiyat.uj4uvjnjta.bundle.scp.css';
@import '_content/MashaB2B.Modules.Icerik/MashaB2B.Modules.Icerik.lntdcchvrl.bundle.scp.css';
@import '_content/MashaB2B.Modules.Katalog/MashaB2B.Modules.Katalog.1qoijw804k.bundle.scp.css';
@import '_content/MashaB2B.Modules.Siparis/MashaB2B.Modules.Siparis.uw441if02k.bundle.scp.css';
@import '_content/MashaB2B.Modules.Stok/MashaB2B.Modules.Stok.dujt59cfkq.bundle.scp.css';
@import '_content/MashaB2B.Modules.Teklif/MashaB2B.Modules.Teklif.yibdgea3lr.bundle.scp.css';
@import '_content/MashaB2B.UI/MashaB2B.UI.6n09jvkvny.bundle.scp.css';

/* /Components/Account/Shared/AccountLayout.razor.rz.scp.css */
/* Giriş kabuğu (2026-08-25, R2). Öncesi: sol %40 siyah panel yalnız logo + tek satır slogan
   taşıyordu, gerisi boştu; kart da sağ yarının içinde ortalandığı için sayfa bütünü dengesizdi.
   Tek ortalanmış sütun: marka, kart, sürüm. Zemin uygulamanın tuvali — giriş ayrı bir dünya
   gibi durmasın. */
.account-shell[b-p6u9fptqcf] {
    display: flex;
    min-height: 100vh;
    font-family: var(--font-family);
    background-color: var(--color-canvas);
}

.account-panel[b-p6u9fptqcf] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-5);
}

.account-brand[b-p6u9fptqcf] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.account-brand-mark[b-p6u9fptqcf] {
    width: 44px;
    height: 44px;
    border-radius: var(--radius-lg);
    background-color: var(--color-primary);
    color: var(--color-on-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-metric);
    font-weight: var(--weight-bold);
}

/* Müşteri logosu yüklediyse harf rozetinin yerine geçer; yükseklik rozetle aynı kalsın diye
   sabit, genişlik oranla — logolar kare değil, çoğu yatay. */
.account-brand-logo[b-p6u9fptqcf] {
    height: 44px;
    max-width: 220px;
    object-fit: contain;
    display: block;
}

.account-brand-name[b-p6u9fptqcf] {
    font-size: var(--text-metric);
    font-weight: var(--weight-bold);
    color: var(--color-ink);
}

.account-brand-tagline[b-p6u9fptqcf] {
    margin: 0 0 var(--space-3);
    color: var(--color-ink-muted);
    font-size: var(--text-body);
}

.account-card[b-p6u9fptqcf] {
    width: 100%;
    max-width: 400px;
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: var(--space-6) var(--space-5);
}

@media (max-width: 720px) {
    .account-panel[b-p6u9fptqcf] {
        justify-content: flex-start;
        padding: var(--space-5) var(--space-3);
    }
}

/* Hesap sayfalarının (statik SSR, MashaErp.UI bileşenleri kullanamaz — bkz.
   AccountLayout özeti) kendi düz HTML'lerini bu tek yerden stiller. ::deep,
   @Body ile projelenen çocuk sayfa içeriğine ulaşmak için gerekli. */
.account-card[b-p6u9fptqcf]  h1 {
    margin: 0 0 var(--space-1);
    font-size: var(--text-h1);
    color: var(--color-ink);
}

.account-card[b-p6u9fptqcf]  h2 {
    margin: 0 0 var(--space-4);
    font-size: var(--text-body);
    font-weight: 400;
    color: var(--color-gray-500);
}

.account-card[b-p6u9fptqcf]  p {
    font-size: var(--text-body);
    color: var(--color-ink);
    line-height: 1.6;
}

.account-card[b-p6u9fptqcf]  .account-field {
    margin-bottom: var(--space-3);
}

.account-card[b-p6u9fptqcf]  .account-field label {
    display: block;
    margin-bottom: var(--space-1);
    font-size: var(--text-caption);
    color: var(--color-gray-500);
}

.account-card[b-p6u9fptqcf]  .account-field input,
.account-card[b-p6u9fptqcf]  .account-field textarea {
    width: 100%;
    box-sizing: border-box;
    height: var(--control-h);
    padding: 0 var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    font-size: var(--text-body);
    font-family: inherit;
}

/* Cok satirli alan yuksekligini icerik belirler. */
.account-card[b-p6u9fptqcf]  .account-field textarea {
    height: auto;
    padding: var(--space-2) var(--space-3);
}

.account-card[b-p6u9fptqcf]  .account-field textarea {
    resize: vertical;
}

.account-card[b-p6u9fptqcf]  .account-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 var(--space-3);
}

.account-card[b-p6u9fptqcf]  .account-field input:focus,
.account-card[b-p6u9fptqcf]  .account-field textarea:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: -1px;
}

.account-card[b-p6u9fptqcf]  .account-checkbox-row {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
    font-size: var(--text-body);
    color: var(--color-ink);
}

.account-card[b-p6u9fptqcf]  button[type="submit"] {
    width: 100%;
    height: var(--control-h);
    background-color: var(--color-primary);
    color: var(--color-on-accent);
    border: none;
    border-radius: var(--radius-md);
    font-size: var(--text-body);
    font-weight: var(--weight-semibold);
    cursor: pointer;
}

.account-card[b-p6u9fptqcf]  button[type="submit"]:hover {
    background-color: var(--color-primary-dark);
}

.account-card[b-p6u9fptqcf]  .account-links {
    margin-top: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    font-size: var(--text-body);
    text-align: center;
}

.account-card[b-p6u9fptqcf]  a {
    color: var(--color-primary);
    text-decoration: none;
}

.account-card[b-p6u9fptqcf]  a:hover {
    text-decoration: underline;
}

.account-card[b-p6u9fptqcf]  .account-validation {
    color: var(--color-danger);
    font-size: var(--text-caption);
    display: block;
    margin-top: 2px;
}

.account-card[b-p6u9fptqcf]  .account-alert {
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-sm);
    font-size: var(--text-body);
    margin-bottom: var(--space-4);
}

.account-card[b-p6u9fptqcf]  .account-alert--danger {
    background-color: var(--color-danger-bg);
    color: var(--color-danger);
}

/* Formun altındaki açıklama satırı (kurtarma kodu uyarısı gibi): gövde metninden bir kademe
   küçük ve soluk, yoksa ana yönergeyle aynı ağırlıkta görünüp gözü bölüyordu. */
.account-card[b-p6u9fptqcf]  .account-note {
    margin: var(--space-4) 0 0;
    font-size: var(--text-caption);
    color: var(--color-gray-500);
    line-height: var(--leading-normal);
}

.account-card[b-p6u9fptqcf]  .account-alert--success {
    background-color: var(--color-success-bg);
    color: var(--color-success);
}

/* Klavye kullanıcısı için odak halkası korunur, fare/otomatik odakta çizgi görünmez. */
.account-card[b-p6u9fptqcf]  h1:focus:not(:focus-visible) {
    outline: none;
}

/* ---------------------------------------------------------------- yerleşimler (2026-09-06)

   Ne vardı: tek yerleşim, koda gömülü slogan, hiçbir şey ayarlanabilir değil.
   Neden yanlıştı: giriş ekranı bayinin portalla ilk karşılaştığı yer ve beyaz etiketin en
   görünür noktası. Her müşteride aynı cümlenin çıkması, satıcının markasını ürünün sesiyle
   konuşturuyordu.
   Ne yapıldı: üç yerleşim panelden seçiliyor. Ortak olan her şey (marka, kart, form, alt bilgi)
   aynı kaldı; değişen yalnız kabuk. R2'de kaldırılan bölünmüş yerleşim geri geldi çünkü oradaki
   sorun bölünme değil, yarısının BOŞ kalmasıydı — artık yarı ya görsel ya da satıcının metnini
   taşıyor, boşsa yerleşim ortalanmışa düşüyor. */

/* Ortalanmış: görsel varsa tuvale basılır, kartın okunurluğu için üzerine perde çekilir. */
.account-shell--ortalanmis[b-p6u9fptqcf] {
    background-image: var(--giris-gorsel, none);
    background-size: cover;
    background-position: center;
}

.account-shell--ortalanmis:has(.account-panel)[b-p6u9fptqcf]::before {
    content: "";
    position: fixed;
    inset: 0;
    background-color: var(--color-canvas);
    opacity: var(--giris-perde, 0);
}

.account-shell--ortalanmis[style*="--giris-gorsel"][b-p6u9fptqcf] {
    --giris-perde: 0.82;
}

.account-shell--ortalanmis > .account-panel[b-p6u9fptqcf] {
    position: relative;
}

/* Bölünmüş: solda marka yüzeyi, sağda form. Yüzey görselsizken marka rengiyle dolu kalır. */
.account-shell--bolunmus[b-p6u9fptqcf],
.account-shell--tanitim[b-p6u9fptqcf] {
    align-items: stretch;
}

.account-yuz[b-p6u9fptqcf] {
    flex: 1 1 45%;
    min-width: 0;
    background-color: var(--color-primary);
    background-image: var(--giris-gorsel, none);
    background-size: cover;
    background-position: center;
}

/* Tanıtım paneli: solda form, sağda satıcının yazdığı sabit metin. */
.account-tanitim[b-p6u9fptqcf] {
    flex: 1 1 45%;
    min-width: 0;
    display: flex;
    align-items: center;
    padding: var(--space-6);
    background-color: var(--color-primary);
    background-image: var(--giris-gorsel, none);
    background-size: cover;
    background-position: center;
    color: var(--color-on-accent);
}

.account-tanitim-govde[b-p6u9fptqcf] {
    max-width: 46ch;
    margin: 0 auto;
}

.account-tanitim h2[b-p6u9fptqcf] {
    margin: 0 0 var(--space-4);
    font-size: var(--text-page);
    font-weight: var(--weight-semibold);
    line-height: 1.3;
}

.account-tanitim p[b-p6u9fptqcf] {
    margin: 0;
    font-size: var(--text-body);
    line-height: 1.7;
    /* Satıcı madde madde yazabilsin: girdiği satır sonları korunur. */
    white-space: pre-line;
}

/* Dar ekranda yan yüzeyler kaybolur. Telefonda yarım ekran görsel, formu ekranın dışına
   itiyordu; bayi siparişi çoğu zaman telefondan giriyor. */
@media (max-width: 860px) {
    .account-yuz[b-p6u9fptqcf],
    .account-tanitim[b-p6u9fptqcf] {
        display: none;
    }
}
/* /Components/Account/Shared/ManageLayout.razor.rz.scp.css */
.manage-shell[b-h1zuantlrs] {
    padding: var(--space-4);
}

/* design.md §2: sayfa başlığı tek kademedir. Global h1 bu ekranda başka bir kademe okuyordu. */
.manage-shell-title[b-h1zuantlrs] {
    margin: 0;
    font-size: var(--text-page);
    font-weight: var(--weight-semibold);
    color: var(--color-ink);
}

.manage-shell-subtitle[b-h1zuantlrs] {
    color: var(--color-gray-500);
    font-size: var(--text-body);
    margin: var(--space-1) 0 var(--space-4);
}

/* İçerik kartı: panelin OneCard'ıyla aynı yüzey, kenarlık ve yuvarlaklık. Öncesinde form
   doğrudan tuvalin üstünde duruyordu, ekran panelin hiçbir sayfasına benzemiyordu. */
.manage-card[b-h1zuantlrs] {
    display: block;
    background-color: var(--color-surface);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    padding: var(--space-4);
}

/* V2-2: Manage sayfaları statik SSR — MashaErp.UI bileşenleri çalışmaz (bkz. AccountLayout
   özeti). AccountLayout.razor.css'teki account-* stillerinin manage karşılığı burada, tek
   yerden. ::deep, @Body ile projelenen çocuk sayfa içeriğine ulaşmak için gerekli. */
/* Bölüm başlığı kartın başlık çubuğudur (OneCard'ın one-card-header'ı). Çubuğu kartın
   kenarlarına taşımak için gövde dolgusu kadar negatif kenar boşluğu verilir; alternatifi her
   sayfaya başlık parametresi eklemekti, bu on üç dosyayı yeniden düzenlemek demekti. */
.manage-card[b-h1zuantlrs]  h3 {
    margin: calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-4);
    padding: 12px 16px;
    border-bottom: 1px solid var(--color-gray-200);
    font-size: var(--text-h2);
    color: var(--color-ink);
}

.manage-card[b-h1zuantlrs]  h4 {
    margin: var(--space-4) 0 var(--space-2);
    font-size: var(--text-body);
    color: var(--color-ink);
}

.manage-card[b-h1zuantlrs]  p {
    font-size: var(--text-body);
    color: var(--color-ink);
    line-height: 1.6;
}

.manage-card[b-h1zuantlrs]  .manage-form {
    max-width: 420px;
}

.manage-card[b-h1zuantlrs]  .manage-field {
    margin-bottom: var(--space-3);
}

.manage-card[b-h1zuantlrs]  .manage-field label {
    display: block;
    margin-bottom: var(--space-1);
    font-size: var(--text-caption);
    color: var(--color-gray-500);
}

.manage-card[b-h1zuantlrs]  .manage-field input {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-sm);
    font-size: var(--text-body);
    font-family: inherit;
}

.manage-card[b-h1zuantlrs]  .manage-field input:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: -1px;
}

.manage-card[b-h1zuantlrs]  .manage-field input:disabled {
    background: var(--color-gray-50);
    color: var(--color-gray-500);
}

.manage-card[b-h1zuantlrs]  .manage-checkbox-row {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    font-size: var(--text-body);
    color: var(--color-ink);
}

.manage-card[b-h1zuantlrs]  .manage-validation {
    color: var(--color-danger);
    font-size: var(--text-caption);
    display: block;
    margin-top: 2px;
}

.manage-card[b-h1zuantlrs]  .manage-actions {
    margin-top: var(--space-4);
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.manage-card[b-h1zuantlrs]  .manage-button {
    display: inline-block;
    padding: 9px 18px;
    background-color: var(--color-primary);
    color: var(--color-on-accent);
    border: none;
    border-radius: var(--radius-sm);
    font-size: var(--text-body);
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    text-decoration: none;
}

.manage-card[b-h1zuantlrs]  .manage-button:hover {
    background-color: var(--color-primary-dark);
    text-decoration: none;
}

.manage-card[b-h1zuantlrs]  .manage-button--danger {
    background-color: var(--color-danger);
}

.manage-card[b-h1zuantlrs]  .manage-button--danger:hover {
    filter: brightness(0.92);
    background-color: var(--color-danger);
}

.manage-card[b-h1zuantlrs]  .manage-button--secondary {
    background-color: var(--color-surface);
    color: var(--color-ink);
    border: 1px solid var(--color-gray-200);
}

.manage-card[b-h1zuantlrs]  .manage-button--secondary:hover {
    background-color: var(--color-gray-50);
}

.manage-card[b-h1zuantlrs]  a {
    color: var(--color-primary);
    text-decoration: none;
}

.manage-card[b-h1zuantlrs]  a:hover {
    text-decoration: underline;
}

.manage-card[b-h1zuantlrs]  .manage-links {
    margin-top: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.manage-card[b-h1zuantlrs]  .manage-note {
    display: block;
    margin-top: var(--space-1);
    color: var(--color-gray-500);
    font-size: var(--text-caption);
    line-height: var(--leading-normal);
}

/* Alan içindeki ikincil eylem (doğrulama e-postasını yeniden gönder): düğme gibi kutulanırsa
   asıl Kaydet düğmesiyle yarışıyor; bağlantı ağırlığı doğru olan. */
.manage-card[b-h1zuantlrs]  .manage-link-button {
    margin-top: var(--space-1);
    padding: 0;
    background: none;
    border: 0;
    color: var(--color-primary);
    font: inherit;
    font-size: var(--text-caption);
    cursor: pointer;
    text-decoration: underline;
}

.manage-card[b-h1zuantlrs]  .manage-link-button:hover {
    color: var(--color-primary-dark);
}

/* StatusMessage account-alert üretir (paylaşılan bileşen); manage-alert kendi
   sayfalarımın uyarıları — ikisi de aynı görünür. */
.manage-card[b-h1zuantlrs]  .manage-alert,
.manage-card[b-h1zuantlrs]  .account-alert {
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-sm);
    font-size: var(--text-body);
    margin-bottom: var(--space-4);
}

.manage-card[b-h1zuantlrs]  .manage-alert--danger,
.manage-card[b-h1zuantlrs]  .account-alert--danger {
    background-color: var(--color-danger-bg);
    color: var(--color-danger);
}

.manage-card[b-h1zuantlrs]  .manage-alert--success,
.manage-card[b-h1zuantlrs]  .account-alert--success {
    background-color: var(--color-success-bg);
    color: var(--color-success);
}

.manage-card[b-h1zuantlrs]  .manage-alert--warning {
    background-color: var(--color-warning-bg);
    color: var(--color-warning);
}

.manage-card[b-h1zuantlrs]  .manage-alert--info {
    background-color: var(--color-gray-50);
    color: var(--color-gray-500);
}

.manage-card[b-h1zuantlrs]  .manage-key {
    display: inline-block;
    padding: 6px 10px;
    background: var(--color-gray-50);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-sm);
    font-family: monospace;
    font-size: var(--text-body);
    letter-spacing: 0.08em;
}

.manage-card[b-h1zuantlrs]  .manage-recovery-codes {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-2);
    max-width: 420px;
    margin: var(--space-3) 0;
}

.manage-card[b-h1zuantlrs]  .manage-recovery-codes code {
    padding: 6px 10px;
    background: var(--color-gray-50);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-sm);
    font-family: monospace;
    text-align: center;
}

.manage-card[b-h1zuantlrs]  .manage-qr svg,
.manage-card[b-h1zuantlrs]  .manage-qr img {
    margin: var(--space-3) 0;
}
/* /Components/Account/Shared/ManageNavMenu.razor.rz.scp.css */
/* Panelin bölüm içi gezinme şeridiyle (OneModuleBreadcrumb) aynı ölçüler: nokta ayraç, caption
   kademesi, aktif satır birincil renkte ve 600. Bileşen kopyalanmadı çünkü One* bileşenleri
   statik SSR hesap sayfalarında kullanılamıyor. */
.manage-nav[b-f1rvc86hb6] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--color-gray-200);
}

.manage-nav-sep[b-f1rvc86hb6] {
    color: var(--color-gray-500);
    font-size: var(--text-caption);
}

/* ::deep şart: bağlantıyı NavLink bileşeni üretiyor, Blazor kapsam özniteliğini yalnız bu
   bileşenin kendi yazdığı etiketlere basıyor. Yoksa kural hiç eşleşmiyor. */
.manage-nav[b-f1rvc86hb6]  .manage-nav-link {
    font-size: var(--text-caption);
    color: var(--color-gray-500);
    text-decoration: none;
}

.manage-nav[b-f1rvc86hb6]  .manage-nav-link:hover {
    color: var(--color-primary);
    text-decoration: none;
}

.manage-nav[b-f1rvc86hb6]  .manage-nav-link.active {
    color: var(--color-primary);
    font-weight: 600;
}
/* /Components/Layout/BuyerBottomBar.razor.rz.scp.css */
/* R6 (2026-08-25) — bayi alt araç çubuğu. Üst çubukla aynı koyu kabuk dili: içerik beyaz kalır,
   kabuk (üst + alt şerit) koyu. Yükseklik --bbar-h tokenine bağlı; .app-content'in alt dolgusu
   aynı tokenden hesaplanır, ikisi ayrı sabitlerle yazılsaydı biri değişince öteki kayardı. */
.bbar[b-r9sdpzo902] {
    position: fixed;
    inset: auto 0 0 0;
    height: var(--bbar-h);
    background: var(--color-ink);
    color: var(--color-on-accent);
    z-index: 30;
}

.bbar-inner[b-r9sdpzo902] {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    height: 100%;
}

.bbar-left[b-r9sdpzo902],
.bbar-right[b-r9sdpzo902] {
    display: flex;
    align-items: stretch;
}

.bbar-slot[b-r9sdpzo902] {
    position: relative;
    display: flex;
    align-items: stretch;
}

/* Girişler çubuğun tam yüksekliğinde: 36px'lik şeritte ayrı bir buton kutusu çizmek (kenarlık,
   yuvarlaklık) şeridi kalabalıklaştırıyordu; ayrımı hover zemini yapar. */
.bbar-entry[b-r9sdpzo902],
.bbar-icon[b-r9sdpzo902] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 0 var(--space-3);
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.85);
    font-size: var(--text-caption);
    font-family: inherit;
    cursor: pointer;
}

.bbar-entry:hover[b-r9sdpzo902],
.bbar-icon:hover[b-r9sdpzo902],
.bbar-entry--on[b-r9sdpzo902] {
    background: rgba(255, 255, 255, 0.1);
    color: var(--color-on-accent);
}

.bbar-entry i[b-r9sdpzo902],
.bbar-icon i[b-r9sdpzo902] {
    font-size: var(--icon-md);
}

/* Daraltılmış durum: kullanıcı çubuğu ince tutmak istedi, etiketler gizlenir, ikonlar ve
   rozetler kalır. Tercih localStorage'da kullanıcı başına durur. */
.bbar-inner--min .bbar-entry-label[b-r9sdpzo902] {
    display: none;
}

.bbar-badge[b-r9sdpzo902] {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: var(--radius-pill);
    background: var(--color-surface);
    color: var(--color-primary);
    font-size: var(--text-micro);
    font-weight: var(--weight-bold);
    font-variant-numeric: tabular-nums;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Panel çubuğun üstünden açılır ve girişin sol kenarına hizalanır. Beyaz yüzey: panel içerik
   dünyasına aittir, kabuğa değil — koyu panel listedeki durum renklerini okunmaz yapıyordu. */
.bbar-panel[b-r9sdpzo902] {
    position: absolute;
    bottom: 100%;
    left: 0;
    margin-bottom: var(--space-1);
    width: 320px;
    background: var(--color-surface);
    color: var(--color-ink);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    z-index: 45;
    overflow: hidden;
}

.bbar-panel-head[b-r9sdpzo902] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-caption);
    font-weight: var(--weight-semibold);
    color: var(--color-ink-muted);
    border-bottom: 1px solid var(--color-border-soft);
}

.bbar-empty[b-r9sdpzo902] {
    margin: 0;
    padding: var(--space-3);
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}

.bbar-list[b-r9sdpzo902] {
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 280px;
    overflow-y: auto;
}

.bbar-list li + li[b-r9sdpzo902] {
    border-top: 1px solid var(--color-border-soft);
}

.bbar-list-link[b-r9sdpzo902] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    color: var(--color-ink);
    text-decoration: none;
    font-size: var(--text-caption);
}

.bbar-list-link:hover[b-r9sdpzo902] {
    background: var(--color-surface-alt);
}

.bbar-list-link i[b-r9sdpzo902] {
    font-size: var(--icon-sm);
    color: var(--color-ink-muted);
    flex: none;
}

.bbar-list-text[b-r9sdpzo902] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bbar-list-note[b-r9sdpzo902] {
    flex: none;
    font-size: var(--text-micro);
    font-weight: var(--weight-semibold);
    color: var(--color-primary);
}

.bbar-panel-foot[b-r9sdpzo902] {
    display: block;
    padding: var(--space-2) var(--space-3);
    border-top: 1px solid var(--color-border-soft);
    font-size: var(--text-caption);
    color: var(--color-primary);
    text-decoration: none;
}

.bbar-panel-foot:hover[b-r9sdpzo902] {
    background: var(--color-surface-alt);
}

/* Dışa tıklayınca kapanma: zil paneliyle aynı görünmez arka katman deseni. Çubuğun kendi
   şeridini KAPATMAZ (bottom): tüm ekranı kaplayınca panel açıkken başka girişe tıklamak önce
   paneli kapatmayı gerektiriyordu (ERP canlı testinde yakalandı, ikisi aynı desen). */
.bbar-backdrop[b-r9sdpzo902] {
    position: fixed;
    inset: 0 0 var(--bbar-h) 0;
    border: 0;
    background: transparent;
    cursor: default;
    z-index: 40;
}

/* Mobilde çubuk yok: 390px'te 36px'lik sabit şerit zaten kıt olan dikey alanı yer, girişlerin
   hepsine hamburger menü ve sayfalar üzerinden ulaşılıyor. app.css'teki mobil içerik dolgusu da
   bu yüzden eski değerinde kalır. */
@media (max-width: 860px) {
    .bbar[b-r9sdpzo902] {
        display: none;
    }
}
/* /Components/Layout/BuyerTopNav.razor.rz.scp.css */
/* Bayi kabuğu — tek satır koyu çubuk + breadcrumb şeridi (2026-08-25, R0).
   Öncesi: koyu bir başlık ve altında ayrı beyaz bir çubuk. İki şerit 108px yükseklik yiyordu,
   arama solda tek başına duruyordu, hangi sayfada olunduğu hiçbir yerde yazmıyordu ve 390px'te
   iki ayrı yatay kaydırma çubuğu çıkıyordu. Kabuk koyu, içerik beyaz: marka rengi yalnız birincil
   eylemde (sepet) ve aktif menü öğesinde görünür. */

/* Koyu kabukta beyazın beş ayrı alfası vardı: .82 menü bağlantısı, .75 alt bağlantı, .7 arama
   ikonu, .55 placeholder, .1 zemin. Aynı iki rol (birincil ve ikincil metin) beş tonla
   yazılmıştı ve tonlar arası fark hiçbir bilgi taşımıyordu — yan yana duran menü ile arama
   kutusu farklı beyazlıkta okunuyordu. İki kademe kaldı: birincil metin düz beyaz, ikincil
   metin tek bir soluk beyaz. .1 metin değil, koyu kabuk üstündeki zemin yıkaması. */
.bnav[b-95dakim48o] {
    position: sticky;
    top: 0;
    z-index: 20;
    background: var(--color-ink);
    color: var(--color-on-accent);
    --bnav-ink-muted: rgba(255, 255, 255, 0.72);
    --bnav-wash: rgba(255, 255, 255, 0.1);
}

/* Bant tam genişlik, içerik ortak konteynerde: üst çubuk, breadcrumb ve sayfa gövdesi aynı
   kutuda hizalanır (app.css `.one-container`). */
.bnav-row[b-95dakim48o] {
    height: 56px;
}

/* (2026-08-26) Konteyner 1440'tan 1200'e inince çubuğun eski boşluk bütçesi ~120px taşıyordu;
   gap ve menü dolguları bir kademe daraldı, sepet etiketi 1280 altında ikona iner. */
.bnav-inner[b-95dakim48o] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    height: 100%;
}

/* ---------------------------------------------------------------- marka */

.bnav-brand[b-95dakim48o] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex: none;
    text-decoration: none;
    color: var(--color-on-accent);
}

.bnav-logo[b-95dakim48o] {
    height: 26px;
    width: auto;
}

.bnav-mark[b-95dakim48o] {
    width: 28px;
    height: 28px;
    border-radius: var(--radius-md);
    background: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-subsection);
    font-weight: var(--weight-bold);
}

.bnav-name[b-95dakim48o] {
    font-size: var(--text-subsection);
    font-weight: var(--weight-semibold);
    white-space: nowrap;
}

/* ---------------------------------------------------------------- gezinme */

.bnav-burger[b-95dakim48o] {
    display: none;
    flex: none;
    border: 0;
    background: none;
    color: var(--color-on-accent);
    font-size: var(--icon-md);
    line-height: 1;
    padding: var(--space-2);
    cursor: pointer;
}

.bnav-nav[b-95dakim48o] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex: none;
}

.bnav-item[b-95dakim48o] {
    position: relative;
}

.bnav-item[b-95dakim48o]  .bnav-top {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-2);
    border-radius: var(--radius-md);
    font-size: var(--text-body);
    font-weight: var(--weight-medium);
    color: var(--bnav-ink-muted);
    text-decoration: none;
    white-space: nowrap;
}

.bnav-item[b-95dakim48o]  .bnav-top:hover {
    background: var(--bnav-wash);
    color: var(--color-on-accent);
}

/* Aktif bölüm: koyu zeminde marka rengi yeterince okunmuyor, bu yüzden beyaz metin + altında
   marka renginde ince çubuk. Renk tek sinyal değil, ağırlık da artıyor. */
.bnav-item[b-95dakim48o]  .bnav-top.active {
    color: var(--color-on-accent);
    font-weight: var(--weight-semibold);
    box-shadow: inset 0 -2px 0 var(--color-primary);
}

.bnav-caret[b-95dakim48o] {
    font-size: var(--icon-sm);
    color: var(--bnav-ink-muted);
}

.bnav-panel[b-95dakim48o] {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    padding: var(--space-2);
    background: var(--color-surface);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    z-index: 30;
}

.bnav-item:hover .bnav-panel[b-95dakim48o],
.bnav-item:focus-within .bnav-panel[b-95dakim48o] {
    display: block;
}

.bnav-panel a[b-95dakim48o] {
    display: block;
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-md);
    font-size: var(--text-body);
    color: var(--color-ink);
    text-decoration: none;
    white-space: nowrap;
}

.bnav-panel a:hover[b-95dakim48o] {
    background: var(--color-gray-50);
    color: var(--color-primary);
}

/* ---------------------------------------------------------------- arama */

/* (2026-08-26) Konteyner 1200'e inince flex sıkışması aramayı 26px'e ezip yalnız ikon
   bırakıyordu; alt sınır arama kutusunu her genişlikte kullanılır tutar. */
.bnav-search[b-95dakim48o] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex: 1;
    min-width: 170px;
    max-width: 460px;
    margin-left: auto;
    padding: 0 var(--space-3);
    /* 34px sabitti; yanındaki sepet düğmesi de 34, zil ~28, kullanıcı menüsü ~36 çıkıyordu.
       Aynı çubuktaki dört kontrol tek tokenden okur (§1b). */
    height: var(--control-h);
    border-radius: var(--radius-md);
    background: var(--bnav-wash);
    color: var(--bnav-ink-muted);
}

.bnav-search:focus-within[b-95dakim48o] {
    background: var(--color-surface);
    color: var(--color-gray-500);
}

.bnav-search i[b-95dakim48o] {
    font-size: var(--icon-sm);
    flex: none;
}

.bnav-search input[b-95dakim48o] {
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: var(--text-body);
    color: var(--color-on-accent);
    outline: none;
}

.bnav-search input[b-95dakim48o]::placeholder {
    color: var(--bnav-ink-muted);
}

.bnav-search:focus-within input[b-95dakim48o] {
    color: var(--color-ink);
}

.bnav-search:focus-within input[b-95dakim48o]::placeholder {
    color: var(--color-gray-500);
}

/* ---------------------------------------------------------------- sağ blok */

.bnav-right[b-95dakim48o] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex: none;
}

.bnav-cart[b-95dakim48o] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: 0 var(--space-3);
    height: var(--control-h);
    border: 0;
    border-radius: var(--radius-md);
    background: var(--color-primary);
    color: var(--color-on-accent);
    font-family: var(--font-family);
    font-size: var(--text-body);
    font-weight: var(--weight-semibold);
    white-space: nowrap;
    cursor: pointer;
}

.bnav-cart:hover[b-95dakim48o] {
    background: var(--color-primary-dark);
}

.bnav-cart i[b-95dakim48o] {
    font-size: var(--icon-md);
}

.bnav-cart-count[b-95dakim48o] {
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: var(--radius-pill);
    background: var(--color-surface);
    color: var(--color-primary);
    font-size: var(--text-caption);
    font-weight: var(--weight-bold);
    font-variant-numeric: tabular-nums;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ---------------------------------------------------------------- breadcrumb */

.bnav-crumbs[b-95dakim48o] {
    padding: var(--space-2) 0;
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-gray-200);
    font-size: var(--text-caption);
    color: var(--color-gray-500);
}

.bnav-crumbs-inner[b-95dakim48o] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    overflow-x: auto;
    white-space: nowrap;
}

.bnav-crumbs a[b-95dakim48o] {
    color: var(--color-gray-500);
    text-decoration: none;
}

.bnav-crumbs a:hover[b-95dakim48o] {
    color: var(--color-primary);
}

.bnav-crumbs span[aria-current][b-95dakim48o] {
    color: var(--color-ink);
    font-weight: var(--weight-medium);
}

.bnav-crumbs i[b-95dakim48o] {
    font-size: var(--icon-sm);
    color: var(--color-ink-muted);
}

/* ---------------------------------------------------------------- dar ekran
   390px'te önceki kabukta iki yatay kaydırma çubuğu vardı, arama ve sepet ekrandan düşüyordu.
   Menü hamburger'in altına açılan bir listeye iniyor, arama tam genişlik alıyor, sepet düğmesi
   etiketini bırakıp ikon + sayaç olarak kalıyor. Yatay kaydırma yok. */

@media (max-width: 1080px) {
    .bnav-name[b-95dakim48o] {
        display: none;
    }

    .bnav-search[b-95dakim48o] {
        max-width: none;
    }
}

@media (max-width: 860px) {
    .bnav-row[b-95dakim48o] {
        height: auto;
    }

    .bnav-inner[b-95dakim48o] {
        flex-wrap: wrap;
        height: auto;
        padding-block: var(--space-2);
        gap: var(--space-2);
    }

    .bnav-burger[b-95dakim48o] {
        display: block;
        order: 1;
    }

    .bnav-brand[b-95dakim48o] {
        order: 2;
    }

    .bnav-name[b-95dakim48o] {
        display: inline;
    }

    .bnav-right[b-95dakim48o] {
        order: 3;
        margin-left: auto;
    }

    .bnav-search[b-95dakim48o] {
        order: 4;
        flex-basis: 100%;
        margin-left: 0;
    }

    /* Menü akıştan çıkıp hamburger'in altına açılıyor; kapalıyken hiç yer kaplamıyor. */
    .bnav-nav[b-95dakim48o] {
        order: 5;
        display: none;
        flex-basis: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding-bottom: var(--space-2);
    }

    .bnav-nav--open[b-95dakim48o] {
        display: flex;
    }

    .bnav-item[b-95dakim48o]  .bnav-top {
        padding: var(--space-3);
        border-radius: 0;
        justify-content: space-between;
        /* Aktif satırı inset gölge işaretliyordu: gölge tokeni ikiye sabit (anti-slop §1) ve o
           gölge aslında bir çubuk çiziyordu. Çubuk kenarlıkla çizilir; her satırda saydam
           duruyor ki aktif olan satır 3px kaymasın. */
        border-left: 3px solid transparent;
    }

    .bnav-item[b-95dakim48o]  .bnav-top.active {
        border-left-color: var(--color-primary);
    }

    /* Dar ekranda açılır panel yok: alt bağlantılar doğrudan listede, girintili. */
    .bnav-panel[b-95dakim48o] {
        display: block;
        position: static;
        min-width: 0;
        padding: 0 0 var(--space-2) var(--space-5);
        background: none;
        border: 0;
        box-shadow: none;
    }

    .bnav-panel a[b-95dakim48o] {
        color: var(--bnav-ink-muted);
        padding: var(--space-2) var(--space-3);
    }

    .bnav-panel a:hover[b-95dakim48o] {
        background: var(--bnav-wash);
        color: var(--color-on-accent);
    }

    .bnav-caret[b-95dakim48o] {
        display: none;
    }

}

/* (2026-10-07) `.bnav-cart-label` kaldirildi: sepet dugmesi her genislikte yalniz ikon + sayac.
   Onceden etiket genis masaustunde goruluyor, 1280'in altinda gizleniyordu; iki kural bunu
   yonetiyordu ve etiket silinince ikisi de olu kaldi. Dugmenin adi artik title/aria-label'da. */
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-hn5gfxl9fw] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.app-body[b-hn5gfxl9fw] {
    display: flex;
    flex: 1;
    min-height: 0;
}

main[b-hn5gfxl9fw] {
    flex: 1;
    min-width: 0;
}

#blazor-error-ui[b-hn5gfxl9fw] {
    background: var(--color-warning-bg);
    color: var(--color-ink);
    border-top: 2px solid var(--color-warning);
    bottom: 0;
    box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.1);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
    font-size: var(--text-body);
}

#blazor-error-ui .dismiss[b-hn5gfxl9fw] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
    background: none;
    border: 0;
    padding: 0;
    color: inherit;
    line-height: 1;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* Koyu yüzey mürekkebini bir kez kurar. Öncesinde yalnız zemin verilmişti: her kardeş kendi
   rengini yazdığı için sorun görünmüyordu, ama bildirim zili `color: inherit` diyordu ve
   gövdeden --color-ink'i alıyordu — siyah zil, siyah çubuk, kontrast 1:1, ikon hiç görünmüyordu.
   Bayi üst çubuğu (BuyerTopNav) bu rengi zaten kuruyor, zil orada doğru çiziliyordu.
   Açılır menüler (bildirim paneli, kullanıcı menüsü) açık yüzey olduklarından kendi mürekkebini
   kuruyor; bu kural onları etkilemez. */
.top-nav[b-e6nuaam673] {
    background: var(--color-ink);
    color: var(--color-on-accent);
    position: sticky;
    top: 0;
    z-index: 10;
}

.top-nav-inner[b-e6nuaam673] {
    width: 100%;
    height: 56px;
    display: flex;
    align-items: center;
    gap: 32px;
    padding: 0 24px;
}

.brand[b-e6nuaam673] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-on-accent) !important;
    flex-shrink: 0;
}

.brand:hover[b-e6nuaam673] {
    color: var(--color-on-accent) !important;
}

.brand-mark[b-e6nuaam673] {
    width: 28px;
    height: 28px;
    border-radius: var(--radius-md);
    background: var(--color-primary);
    color: var(--color-on-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--weight-bold);
    font-size: var(--text-subsection);
}

.brand-name[b-e6nuaam673] {
    font-weight: var(--weight-semibold);
    font-size: var(--text-subsection);
}

.top-nav-links[b-e6nuaam673] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 1;
}

.top-nav-actions[b-e6nuaam673] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.top-nav[b-e6nuaam673]  .nav-link {
    color: rgba(255, 255, 255, 0.75) !important;
    font-size: var(--text-caption);
    font-weight: var(--weight-medium);
    padding: 8px 12px;
    border-radius: var(--radius-md);
    background: none;
    border-width: 0 0 2px 0;
    border-style: solid;
    border-color: transparent;
    transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
    cursor: pointer;
}

.top-nav[b-e6nuaam673]  .nav-link:hover {
    color: var(--color-on-accent) !important;
    background: rgba(255, 255, 255, 0.06);
}

.top-nav[b-e6nuaam673]  .nav-link.active {
    color: var(--color-on-accent) !important;
    border-bottom-color: var(--color-primary);
}

.top-nav[b-e6nuaam673]  .nav-link-primary {
    background: var(--color-primary);
    color: var(--color-on-accent) !important;
}

.top-nav[b-e6nuaam673]  .nav-link-primary:hover {
    background: var(--color-primary-dark);
}

.top-nav[b-e6nuaam673]  .nav-link-button {
    font-family: inherit;
}

@media (max-width: 768px) {
    .top-nav-links[b-e6nuaam673] {
        display: none;
    }
}

/* Satıcı personeli hangi tarafta olduğunu görsün: bayi kullanıcısı bu rozeti hiç görmez. */
.top-nav-mode[b-e6nuaam673] {
    font-size: var(--text-micro);
    font-weight: var(--weight-semibold);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    padding: 3px 8px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--radius-pill);
}

/* Yüklenen logo: yükseklik sabit, en-boy oranı korunur — hangi ölçüde yüklenirse yüklensin
   üst çubuğun yüksekliğini bozmaz. */
.brand-logo[b-e6nuaam673] {
    height: 28px;
    max-width: 160px;
    object-fit: contain;
    border-radius: var(--radius-sm);
}

/* --------------------------------------------------------------- dar ekran (2026-08-28)
   390px'te üst çubuk 215px taşıyordu: marka + sürüm + mod rozeti + zil + kullanıcı adı sığmıyor,
   sayfanın tamamı yatay kayıyordu. Sürüm ve mod rozeti bilgi taşıyor ama dar ekranda kritik
   değil; ad zaten kullanıcı menüsünde yazıyor. Hamburger yalnız burada görünür. */
.top-nav-burger[b-e6nuaam673] {
    display: none;
    align-items: center;
    justify-content: center;
    width: var(--control-h);
    height: var(--control-h);
    flex-shrink: 0;
    border: 0;
    border-radius: var(--radius-md);
    background: none;
    color: var(--color-on-accent);
    font-size: var(--icon-md);
    cursor: pointer;
}

.top-nav-burger:hover[b-e6nuaam673] {
    background: rgba(255, 255, 255, 0.1);
}

@media (max-width: 900px) {
    .top-nav-burger[b-e6nuaam673] {
        display: inline-flex;
    }

    .top-nav-inner[b-e6nuaam673] {
        gap: var(--space-3);
        padding: 0 var(--space-3);
    }

    .top-nav-mode[b-e6nuaam673] {
        display: none;
    }
}
/* /Components/Layout/NotificationBell.razor.rz.scp.css */
.nbl-wrap[b-3g5nkz10fv] {
    position: relative;
    display: inline-flex;
}

/* Yükseklik dolgudan çıkıyordu (~28px); yanındaki kullanıcı menüsü ~36px, üst çubuk bağlantıları
   34px'ti — üç kontrol üç ayrı yükseklikte yan yana duruyordu (§1b). Yükseklik tokenden gelir. */
.nbl-button[b-3g5nkz10fv] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--control-h);
    background: none;
    border: 0;
    padding: 0 8px;
    cursor: pointer;
    font-size: var(--icon-md);
    line-height: 1;
    color: inherit;
}

.nbl-badge[b-3g5nkz10fv] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 16px;
    padding: 1px 4px;
    border-radius: var(--radius-pill);
    background: var(--color-danger);
    color: var(--color-on-accent);
    font-size: var(--text-micro);
    font-weight: var(--weight-bold);
    line-height: 14px;
    text-align: center;
}

.nbl-panel[b-3g5nkz10fv] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    width: 340px;
    background: var(--color-surface);
    color: var(--color-ink);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    z-index: 50;
    overflow: hidden;
}

.nbl-head[b-3g5nkz10fv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3);
    border-bottom: 1px solid var(--color-border-soft);
    font-size: var(--text-body);
    font-weight: var(--weight-semibold);
}

.nbl-link[b-3g5nkz10fv] {
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    font-weight: var(--weight-regular);
    font-size: var(--text-dense);
    color: var(--color-primary);
    cursor: pointer;
}

.nbl-empty[b-3g5nkz10fv] {
    margin: 0;
    padding: var(--space-4) var(--space-3);
    font-size: var(--text-body);
    color: var(--color-ink-muted);
    text-align: center;
}

.nbl-list[b-3g5nkz10fv] {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 320px;
    overflow-y: auto;
}

.nbl-item[b-3g5nkz10fv] {
    border-bottom: 1px solid var(--color-border-soft);
}

.nbl-item--unread[b-3g5nkz10fv] {
    background: var(--color-primary-soft);
}

.nbl-item-btn[b-3g5nkz10fv] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    width: 100%;
    text-align: left;
    background: none;
    border: 0;
    padding: var(--space-3);
    cursor: pointer;
    font: inherit;
}

.nbl-item-btn:hover[b-3g5nkz10fv] {
    background: var(--color-surface-alt);
}

.nbl-item-title[b-3g5nkz10fv] {
    font-size: var(--text-body);
    font-weight: var(--weight-semibold);
}

.nbl-item-date[b-3g5nkz10fv] {
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}

.nbl-all[b-3g5nkz10fv] {
    display: block;
    padding: var(--space-3);
    text-align: center;
    font-size: var(--text-body);
    color: var(--color-primary);
    text-decoration: none;
    border-top: 1px solid var(--color-border-soft);
}

/* Panelin arkasindaki gorunmez katman: disari tiklayinca kapatir. Panelden dusuk z-index. */
.nbl-backdrop[b-3g5nkz10fv] {
    position: fixed;
    inset: 0;
    border: 0;
    background: transparent;
    cursor: default;
    z-index: 40;
}
/* /Components/Layout/ProductFooter.razor.rz.scp.css */
/* Sayfanın dibinde tek satır, içeriğin dikkatini çekmeyecek ağırlıkta: ürün imzası bilgi
   satırıdır, eylem değil. Giriş kabuğunda ve panelde aynı görünür. */
.product-footer[b-o94sf4ilqi] {
    padding: var(--space-4) 0 var(--space-3);
    text-align: center;
    font-size: var(--text-caption);
    color: var(--color-gray-500);
}

.product-footer strong[b-o94sf4ilqi] {
    font-weight: var(--weight-semibold);
    color: var(--color-ink-muted);
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-zl74hx71pn],
.components-reconnect-repeated-attempt-visible[b-zl74hx71pn],
.components-reconnect-failed-visible[b-zl74hx71pn],
.components-pause-visible[b-zl74hx71pn],
.components-resume-failed-visible[b-zl74hx71pn],
.components-rejoining-animation[b-zl74hx71pn] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-zl74hx71pn],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-zl74hx71pn],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-zl74hx71pn],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-zl74hx71pn],
#components-reconnect-modal.components-reconnect-retrying[b-zl74hx71pn],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-zl74hx71pn],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-zl74hx71pn],
#components-reconnect-modal.components-reconnect-failed[b-zl74hx71pn],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-zl74hx71pn] {
    display: block;
}


#components-reconnect-modal[b-zl74hx71pn] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-zl74hx71pn 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-zl74hx71pn 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-zl74hx71pn 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-zl74hx71pn]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-zl74hx71pn 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-zl74hx71pn {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-zl74hx71pn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-zl74hx71pn {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-zl74hx71pn] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-zl74hx71pn] {
    margin: 0;
    text-align: center;
}

/* Düğme ve halka Blazor şablonunun mavileriyle (#6b9ed2 / #3b6ea2 / #0087ff) geliyordu: bağlantı
   koptuğunda ekrana çıkan tek katman, uygulamanın hiçbir yerinde olmayan bir renkle açılıyordu —
   beyaz etiket kurulumunda iyice yabancı duruyor. Marka rengine bağlandı. */
#components-reconnect-modal button[b-zl74hx71pn] {
    border: 0;
    background-color: var(--color-primary);
    color: var(--color-on-accent);
    padding: 4px 24px;
    border-radius: var(--radius-sm);
}

    #components-reconnect-modal button:hover[b-zl74hx71pn] {
        background-color: var(--color-primary-dark);
    }

    #components-reconnect-modal button:active[b-zl74hx71pn] {
        background-color: var(--color-primary-dark);
    }

.components-rejoining-animation[b-zl74hx71pn] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-zl74hx71pn] {
        position: absolute;
        border: 3px solid var(--color-primary);
        border-radius: var(--radius-pill);
        animation: components-rejoining-animation-b-zl74hx71pn 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-zl74hx71pn] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-zl74hx71pn {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/SalesRepBanner.razor.rz.scp.css */
/* Temsilci modu bandı: dikkat çekmeli ama içerik alanını ezmemeli. */
.srb-bar[b-feigdpp5z1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 20px;
    /* Zemin #7A5C2B idi: palette olmayan, yalnız burada geçen bir kahverengi. Band bir UYARI
       söylüyor ("başka bir bayi adına geziyorsun"), o rolün tokeni zaten var. Uyarı zemini +
       ana metin rengi kullanılıyor, tek kullanımlık renk kalktı. */
    background: var(--color-warning);
    color: var(--color-ink);
    font-size: var(--text-body);
}

.srb-text b[b-feigdpp5z1] {
    font-weight: var(--weight-bold);
}

.srb-exit[b-feigdpp5z1] {
    flex: none;
    padding: 5px 12px;
    border: 1px solid var(--color-ink);
    /* 5px hiçbir yuvarlaklık tokeniyle eşleşmiyordu (§1a: sm/md/lg/pill). Kontrol ailesi md. */
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--color-ink);
    cursor: pointer;
    font: inherit;
}

.srb-exit:hover[b-feigdpp5z1] {
    background: var(--color-warning-bg);
}
/* /Components/Layout/SetupBanner.razor.rz.scp.css */
/* Kurulum hatırlatması: temsilci bandıyla aynı yükseklikte, farklı renkte — ikisi aynı anda
   görünebilir ve karışmamalı. */
.stb-bar[b-n2qqww1cg7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 20px;
    /* Zemin #1F4E79 idi: palette olmayan, yalnız burada geçen bir lacivert. Band BİLGİ veriyor
       ("kurulum yarım kaldı"), o rolün tokeni zaten var. Temsilci bandı uyarı sarısında kaldığı
       için ikisi yan yana düşse de hâlâ ayrılıyor (bkz. SalesRepBanner). */
    background: var(--color-info);
    color: var(--color-on-accent);
    font-size: var(--text-body);
}

.stb-text b[b-n2qqww1cg7] {
    font-weight: var(--weight-bold);
}

.stb-link[b-n2qqww1cg7] {
    flex: none;
    padding: 5px 12px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: var(--radius-md);
    color: var(--color-on-accent);
    text-decoration: none;
}

.stb-link:hover[b-n2qqww1cg7] {
    background: rgba(255, 255, 255, 0.14);
    color: var(--color-on-accent);
}
/* /Components/Layout/UserMenuHost.razor.rz.scp.css */
.user-menu-host[b-p2pg0t7vwo] {
    position: relative;
}

/* (2026-08-26) Uzun kullanıcı adı 1200 konteynerde üst çubuğu 7px taşırıyordu; ad kısaltılır. */
.user-menu-trigger[b-p2pg0t7vwo] {
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: 190px;
    background: none;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    /* Dolgudan hesaplanan yükseklik ~36px'ti; yanındaki zil ~28px, menü bağlantıları 34px
       çıkıyordu — üst çubukta üç kontrol üç ayrı yükseklikte duruyordu ve fark bir bilgi
       taşımıyordu (§1b). Yükseklik tokenden gelir, dolgu yalnız yatayda kalır. */
    height: var(--control-h);
    padding: 0 8px 0 4px;
    cursor: pointer;
    transition: border-color 0.15s ease;
}

.user-menu-trigger > :last-child[b-p2pg0t7vwo] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-menu-trigger:hover[b-p2pg0t7vwo] {
    border-color: var(--color-gray-500);
}

.user-menu-avatar[b-p2pg0t7vwo] {
    position: relative;
    width: 28px;
    height: 28px;
    border-radius: var(--radius-pill);
    overflow: hidden;
    flex-shrink: 0;
}

.user-menu-avatar-img[b-p2pg0t7vwo] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* display:none idi. Kural bir <img> varken fallback'i gizlemek için yazılmış ama bileşen hiç
   görsel basmıyor (avatar yükleme özelliği yok): geriye 28px'lik boş bir delik kalıyordu, üst
   çubukta kullanıcı adının yanındaki baş harf rozeti hiç görünmedi. Görsel özelliği eklenirse
   gizleme kuralı img'nin varlığına bağlanır, sabit olarak değil. */
.user-menu-avatar-fallback[b-p2pg0t7vwo] {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    background: var(--color-primary);
    color: var(--color-on-accent);
    font-size: var(--text-dense);
    font-weight: var(--weight-bold);
}

.user-menu-name[b-p2pg0t7vwo] {
    color: var(--color-on-accent);
    font-size: var(--text-caption);
    font-weight: var(--weight-medium);
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-menu-panel[b-p2pg0t7vwo] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 220px;
    background-color: var(--color-surface);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md);
    /* Kendi gölgesini yazıyordu; yanındaki bildirim paneli --shadow-sm kullanıyor ve ikisi aynı
       çubuktan yan yana açılıyor — iki farklı gölge yan yana kaymış görünüyordu. Tokene çekildi. */
    box-shadow: var(--shadow-sm);
    padding: 8px;
    z-index: 50;
}

.user-menu-identity[b-p2pg0t7vwo] {
    padding: 6px 8px 10px;
    border-bottom: 1px solid var(--color-gray-200);
    margin-bottom: 6px;
}

.user-menu-identity-name[b-p2pg0t7vwo] {
    font-size: var(--text-body);
    font-weight: var(--weight-semibold);
    color: var(--color-ink);
}

.user-menu-identity-email[b-p2pg0t7vwo] {
    font-size: var(--text-caption);
    color: var(--color-gray-500);
}

.user-menu-item[b-p2pg0t7vwo] {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 8px;
    border-radius: var(--radius-sm);
    font-size: var(--text-body);
    font-family: var(--font-family);
    color: var(--color-ink);
    cursor: pointer;
    text-decoration: none;
}

.user-menu-item:hover[b-p2pg0t7vwo] {
    background-color: var(--color-gray-50);
    color: var(--color-ink);
}

.user-menu-item-button[b-p2pg0t7vwo] {
    color: var(--color-danger);
}

.user-menu-divider[b-p2pg0t7vwo] {
    height: 1px;
    background: var(--color-gray-200);
    margin: 6px 0;
}
/* /Components/Pages/Bildirimler.razor.rz.scp.css */
.bld-page[b-dw5ki2br6w] {
    /* Konteyner bayi kabugunun .app-content kuralindan gelir; icerik SOLA yaslanir, ortalanan
       dar sutun ust cubukla hizasizdi. Okuma genisligi max-width ile korunur. */
    max-width: 900px;
}

.bld-head[b-dw5ki2br6w] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4);
    margin-bottom: 20px;
}

.bld-title[b-dw5ki2br6w] {
    margin: 0 0 4px;
    font-size: var(--text-page);
}

.bld-sub[b-dw5ki2br6w] {
    margin: 0;
    font-size: var(--text-subsection);
    color: var(--color-ink-muted);
    max-width: 70ch;
    line-height: var(--leading-normal);
}

/* (2026-08-26 mobil geçişi) nowrap satırı 390px'te 482px'e taşırıyordu: "Tümünü okundu
   işaretle" + onay kutusu yan yana sığmıyor. Dar ekranda satır sarar. */
.bld-actions[b-dw5ki2br6w] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.bld-muted[b-dw5ki2br6w] {
    font-size: var(--text-subsection);
    color: var(--color-ink-muted);
}

.bld-empty[b-dw5ki2br6w] {
    border: 1px dashed var(--color-border);
    border-radius: var(--radius-lg);
    padding: 28px;
    text-align: center;
    font-size: var(--text-subsection);
    color: var(--color-ink-muted);
}

.bld-list[b-dw5ki2br6w] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.bld-item[b-dw5ki2br6w] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-3) var(--space-4);
    background: var(--color-surface);
}

/* Okunmamış bildirimi inset gölge işaretliyordu: gölge tokeni ikiye sabitken (anti-slop §1)
   üçüncü, gerekçesiz bir gölge daha vardı ve o gölge aslında bir çubuk çiziyordu. Çubuğu
   doğrudan kenarlıkla çiziyoruz — aynı görünüm, gölge enflasyonu yok. */
.bld-item--unread[b-dw5ki2br6w] {
    border-color: var(--color-primary);
    border-left-width: 3px;
}

.bld-item-head[b-dw5ki2br6w] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    width: 100%;
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    cursor: pointer;
    text-align: left;
}

.bld-item-title[b-dw5ki2br6w] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: var(--text-subsection);
}

.bld-dot[b-dw5ki2br6w] {
    width: 8px;
    height: 8px;
    border-radius: var(--radius-pill);
    background: var(--color-primary);
    display: inline-block;
}

.bld-item-date[b-dw5ki2br6w] {
    font-size: var(--text-dense);
    color: var(--color-ink-muted);
    white-space: nowrap;
}

.bld-item-body[b-dw5ki2br6w] {
    margin: 8px 0 0;
    font-size: var(--text-body);
    line-height: var(--leading-normal);
    color: var(--color-ink-muted);
    white-space: pre-wrap;
}
/* /Components/Pages/BildirimTercihleri.razor.rz.scp.css */
.btr-page[b-zgqgtqlh9u] {
    max-width: 820px;
}

.btr-head[b-zgqgtqlh9u] {
    margin-bottom: 18px;
}

.btr-title[b-zgqgtqlh9u] {
    font-size: var(--text-page);
    font-weight: 600;
    margin: 0 0 6px;
}

.btr-sub[b-zgqgtqlh9u] {
    font-size: var(--text-subsection);
    line-height: var(--leading-normal);
    color: var(--color-ink-muted);
    margin: 0;
}

.btr-table-wrap[b-zgqgtqlh9u] {
    overflow-x: auto;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
}

.btr-table[b-zgqgtqlh9u] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-subsection);
}

.btr-table th[b-zgqgtqlh9u],
.btr-table td[b-zgqgtqlh9u] {
    padding: 10px 14px;
    border-bottom: 1px solid var(--color-border-soft);
}

.btr-table tbody tr:last-child td[b-zgqgtqlh9u] {
    border-bottom: 0;
}

/* Anahtar sütunu ortalıydı: veri ekranı sola hizalıdır (anti-slop §1), ortalanan anahtarlar
   kanal adlarıyla aynı okuma hattında durmuyordu ve göz her satırda sıçrıyordu. Sola yaslandı. */
.btr-switch-col[b-zgqgtqlh9u] {
    width: 110px;
    text-align: left;
}

.btr-name[b-zgqgtqlh9u] {
    display: block;
}

.btr-note[b-zgqgtqlh9u] {
    display: block;
    font-size: var(--text-dense);
    color: var(--color-ink-muted);
    margin-top: 2px;
}

.btr-row--off .btr-name[b-zgqgtqlh9u] {
    color: var(--color-ink-muted);
}

.btr-empty[b-zgqgtqlh9u] {
    border: 1px dashed var(--color-border);
    border-radius: var(--radius-lg);
    padding: 28px;
    text-align: center;
    font-size: var(--text-subsection);
    color: var(--color-ink-muted);
}

.btr-muted[b-zgqgtqlh9u] {
    font-size: var(--text-body);
    color: var(--color-ink-muted);
    margin-top: 12px;
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home-hint[b-6vvuvrvksg] {
    margin: 0;
    font-size: var(--text-body);
    color: var(--color-ink-muted);
}

/* Kabuk konteyneriyle aynı kutu (1440px): üst çubuk, breadcrumb ve içerik sol kenarda hizalanır.
   1280'de kalsaydı geniş ekranda menünün altında içerik içeri kaçık dururdu. */
.home-panel[b-6vvuvrvksg] {
    display: block;
}

.home-title[b-6vvuvrvksg] {
    margin: 0;
    font-size: var(--text-page);
    font-weight: var(--weight-semibold);
}

.home-sub[b-6vvuvrvksg] {
    margin: var(--space-1) 0 var(--space-4);
    font-size: var(--text-body);
    color: var(--color-ink-muted);
}

.home-cards[b-6vvuvrvksg] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: var(--space-4);
}

.home-card[b-6vvuvrvksg] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.home-card:hover[b-6vvuvrvksg] {
    border-color: var(--color-primary);
    box-shadow: var(--shadow-sm);
}

.home-card--alert[b-6vvuvrvksg] {
    border-left: 3px solid var(--color-warning);
    background: var(--color-warning-bg);
}

/* İskelet iki elle yazılmış griyle çiziliyordu (#f2f2f2, #ececec); aynı iskelet katalogda yüzey
   tokenleriyle yazılmış. Rol tokenleri kullanılıyor ki tema değişince ikisi birlikte değişsin. */
.home-card--skeleton[b-6vvuvrvksg] {
    height: 96px;
    background: linear-gradient(90deg, var(--color-surface) 25%, var(--color-surface-alt) 37%, var(--color-surface) 63%);
    background-size: 400% 100%;
    animation: home-shimmer-b-6vvuvrvksg 1.2s ease-in-out infinite;
    border: 0;
}

@keyframes home-shimmer-b-6vvuvrvksg {
    0% { background-position: 100% 50%; }
    100% { background-position: 0 50%; }
}

.home-card-title[b-6vvuvrvksg] {
    font-size: var(--text-dense);
    color: var(--color-ink-muted);
}

.home-card-alert[b-6vvuvrvksg] {
    margin-right: var(--space-1);
    font-size: var(--icon-sm);
    color: var(--color-warning);
    vertical-align: -1px;
}

.home-card-value[b-6vvuvrvksg] {
    font-size: var(--text-metric);
    font-weight: var(--weight-bold);
    line-height: var(--leading-tight);
}

.home-card-caption[b-6vvuvrvksg] {
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}

.home-panels[b-6vvuvrvksg] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: var(--space-4);
    margin-top: var(--space-5);
}

/* Grafik bloğu (2026-08-26): kart diliyle aynı beyaz hairline kutu; grafik SVG kutunun
   içine dolgusuyla oturur — kenarsız SVG kart kenarına yapışıyordu. Tek grafik tam
   genişlik yayılmasın diye auto-fill + üst sınır (kampanya şeridindeki auto-fit dersi). */
.home-charts[b-6vvuvrvksg] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 640px));
    gap: var(--space-4);
    margin-top: var(--space-5);
}

.home-charts .home-block[b-6vvuvrvksg] {
    padding-bottom: var(--space-2);
}

.home-chart-caption[b-6vvuvrvksg] {
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}

.home-block[b-6vvuvrvksg] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    overflow: hidden;
}

.home-block header[b-6vvuvrvksg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface-alt);
}

.home-block h2[b-6vvuvrvksg] {
    margin: 0;
    font-size: var(--text-section);
    font-weight: var(--weight-semibold);
}

.home-block header a[b-6vvuvrvksg] {
    font-size: var(--text-dense);
    color: var(--color-primary);
    text-decoration: none;
}

.home-block ul[b-6vvuvrvksg] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-block li[b-6vvuvrvksg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--color-border-soft);
}

.home-block li:last-child[b-6vvuvrvksg] {
    border-bottom: 0;
}

.home-block li a[b-6vvuvrvksg] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    text-decoration: none;
    color: inherit;
    min-width: 0;
}

.home-row-label[b-6vvuvrvksg] {
    font-size: var(--text-body);
    font-weight: var(--weight-semibold);
    font-family: var(--font-mono, ui-monospace, monospace);
}

.home-row-caption[b-6vvuvrvksg] {
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}

.home-row-value[b-6vvuvrvksg] {
    font-size: var(--text-body);
    font-weight: var(--weight-bold);
    white-space: nowrap;
}

.home-quick[b-6vvuvrvksg] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

.home-quick-link[b-6vvuvrvksg] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-3) var(--space-4);
    font-size: var(--text-body);
    font-weight: var(--weight-semibold);
    text-decoration: none;
    color: var(--color-ink);
    background: var(--color-surface);
}

.home-quick-link:hover[b-6vvuvrvksg] {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

/* ---------------------------------------------------------------- bayi ana sayfası (R1)
   Öncesi: başlık, üç bağlantı, üç büyük kart ve sonra ~500px boş ekran. Kartlar sayfanın
   başroluydu ama bayi oraya alışveriş için geliyor. Şimdi hesap özeti ince bir şerit, sayfanın
   gövdesini vitrin dolduruyor. */

.home-welcome[b-6vvuvrvksg] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    flex-wrap: wrap;
}

.home-cta[b-6vvuvrvksg] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    height: var(--control-h);
    padding: 0 var(--space-4);
    border-radius: var(--radius-md);
    background: var(--color-primary);
    color: var(--color-on-accent);
    font-size: var(--text-body);
    font-weight: var(--weight-semibold);
    text-decoration: none;
    white-space: nowrap;
}

.home-cta:hover[b-6vvuvrvksg] {
    background: var(--color-primary-dark);
}

.home-cta i[b-6vvuvrvksg] {
    font-size: var(--icon-sm);
}

/* Karşılama + hesap özeti tek beyaz kartta: metin doğrudan tuvale yazılıydı, sayfanın girişi
   yoktu. Kart chrome'u kataloğun kartlarıyla aynı (hairline, radius-lg, gölge yok). */
.home-hero[b-6vvuvrvksg] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-5);
}

/* Özet kutuları: hero kartın içinde küçük stat kartları. Rakam etiketten büyük, tabular —
   kutular yan yana okunurken basamaklar hizalı kalır. */
.home-strip[b-6vvuvrvksg] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: var(--space-3);
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: 1px solid var(--color-border-soft);
}

/* Çipler beyaz kart içinde beyaz kartlardı: hero'nun 1px çerçevesinin içinde altı tane daha
   1px çerçeve, bayinin gördüğü ilk ekranı olduğundan fazla "ambalajlı" gösteriyordu. Ayrımı
   çerçeve değil zemin yapıyor (UrunDetay'ın gri pano çözümü); hover'da zemin koyulaşıyor. */
.home-chip[b-6vvuvrvksg] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--space-3) var(--space-4);
    border: 1px solid transparent;
    border-radius: var(--radius-md);
    background: var(--color-surface-alt);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.12s ease, background-color 0.12s ease;
}

.home-chip:hover[b-6vvuvrvksg] {
    border-color: var(--color-primary);
    background: var(--color-primary-soft);
}

.home-chip--alert[b-6vvuvrvksg] {
    border-left: 3px solid var(--color-warning);
    background: var(--color-warning-bg);
}

.home-chip-alert[b-6vvuvrvksg] {
    font-size: var(--icon-sm);
    color: var(--color-warning);
    margin-right: var(--space-1);
    vertical-align: -1px;
}

.home-chip-title[b-6vvuvrvksg] {
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}

.home-chip-value[b-6vvuvrvksg] {
    font-size: var(--text-section);
    font-weight: var(--weight-bold);
    font-variant-numeric: tabular-nums;
}

.home-chip-caption[b-6vvuvrvksg] {
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}
/* /Components/Pages/Panel/ApiJetonlari.razor.rz.scp.css */
.apj-intro[b-3s5p2ojw2h],
.apj-note[b-3s5p2ojw2h],
.apj-muted[b-3s5p2ojw2h] {
    font-size: var(--text-body);
    line-height: 1.55;
    color: var(--color-ink-muted);
    margin: 0 0 var(--space-4);
    max-width: 760px;
}

.apj-warn[b-3s5p2ojw2h] {
    margin: 0 0 var(--space-3);
    padding: var(--space-3);
    border-radius: var(--radius-md);
    background: var(--color-warning-bg);
    color: var(--color-warning);
    font-size: var(--text-body);
    line-height: 1.55;
}

.apj-error[b-3s5p2ojw2h] {
    margin: var(--space-3) 0 0;
    color: var(--color-danger);
    font-size: var(--text-body);
}

.apj-token[b-3s5p2ojw2h] {
    margin: 0 0 var(--space-3);
    padding: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-alt);
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-size: var(--text-caption);
    white-space: pre-wrap;
    word-break: break-all;
}

.apj-table[b-3s5p2ojw2h] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-caption);
}

.apj-table th[b-3s5p2ojw2h],
.apj-table td[b-3s5p2ojw2h] {
    padding: 6px 8px;
    border-bottom: 1px solid var(--color-border);
}

.apj-table th[b-3s5p2ojw2h] {
    font-weight: 600;
    color: var(--color-ink-muted);
}

.apj-col-act[b-3s5p2ojw2h] {
    width: 110px;
    text-align: right;
}
/* /Components/Pages/Panel/Ayarlar.razor.rz.scp.css */
/* Sekme şeridi: bayi kartındaki (.bk-tabs) desenin aynısı — panelde iki ayrı sekme görünümü
   olmasın. */
.ay-tabs[b-obdq2iy054] {
    display: flex;
    gap: 2px;
    border-bottom: 1px solid var(--color-border);
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.ay-tab[b-obdq2iy054] {
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 8px 14px;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
    color: var(--color-ink-muted);
}

.ay-tab--active[b-obdq2iy054] {
    border-bottom-color: var(--color-primary);
    color: var(--color-ink);
    font-weight: 600;
}

.ay-intro[b-obdq2iy054],
.ay-note[b-obdq2iy054] {
    margin: 0 0 12px;
    font-size: 13px;
    max-width: 90ch;
}

.ay-note[b-obdq2iy054] {
    color: var(--color-ink-muted);
}

.ay-muted[b-obdq2iy054] {
    color: var(--color-ink-muted);
    margin-bottom: 0;
}

.ay-error[b-obdq2iy054] {
    margin: 0 0 8px;
    color: var(--color-danger);
    font-size: 13px;
}

.ay-save[b-obdq2iy054] {
    margin-top: 4px;
}

.ay-brand[b-obdq2iy054] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    margin-top: var(--space-3);
}

.ay-brand-preview[b-obdq2iy054] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.ay-brand-actions[b-obdq2iy054] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.ay-logo[b-obdq2iy054] {
    height: 32px;
    max-width: 180px;
    object-fit: contain;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: 2px 6px;
}

/* Simge sekmede görüneceği ölçüde önizlenir: 180px'e büyütülmüş bir favicon, 16 pikselde nasıl
   duracağı hakkında yanlış fikir verir. */
.ay-favicon[b-obdq2iy054] {
    width: 32px;
    height: 32px;
    object-fit: contain;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: 2px;
}

.ay-logo-empty[b-obdq2iy054] {
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
    border: 1px dashed var(--color-border);
    border-radius: var(--radius-sm);
    padding: 8px 12px;
}

.ay-swatch[b-obdq2iy054] {
    width: 32px;
    height: 32px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-border);
}
/* /Components/Pages/Panel/DenetimGunlugu.razor.rz.scp.css */
.dgl-note[b-o4k5wcvkqu] {
    font-size: var(--text-body);
    line-height: 1.55;
    color: var(--color-ink-muted);
    margin: 0 0 14px;
    max-width: 760px;
}

/* /Components/Pages/Panel/ErpEntegrasyon.razor.rz.scp.css */
.erp-intro[b-20qontex66],
.erp-muted[b-20qontex66],
.erp-mesaj[b-20qontex66] {
    font-size: var(--text-body);
    line-height: 1.55;
    color: var(--color-ink-muted);
    margin: 0 0 var(--space-4);
    max-width: 760px;
}

.erp-durum[b-20qontex66] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}

.erp-son[b-20qontex66] {
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}

.erp-ok[b-20qontex66] {
    color: var(--color-success);
    font-weight: 500;
}

.erp-hata[b-20qontex66] {
    color: var(--color-danger);
    font-weight: 500;
}

.erp-form[b-20qontex66] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--space-3);
    max-width: 900px;
    margin-bottom: var(--space-4);
}

.erp-baslik[b-20qontex66] {
    font-size: var(--text-body);
    margin: 0 0 var(--space-3);
}

/* Ne vardı: yoktu — webhook imza sırrı alanı bu turda eklendi.
   Neden gerekti: sır tanımlı değilken kullanıcı "neden takip numarası gelmiyor" sorusunun
   cevabını hiçbir yerde göremiyordu; kurulum adımı alanın hemen altında anlatılmalı.
   Ne yapıldı: yalnız sır boşken görünen, form genişliğine hizalı sessiz bir açıklama bloğu. */
.erp-not[b-20qontex66] {
    max-width: 900px;
    margin: 0 0 var(--space-4);
    padding: var(--space-3);
    border-left: 3px solid var(--color-border);
    background: var(--color-surface-alt);
    color: var(--color-ink-muted);
    font-size: var(--text-caption);
    line-height: 1.6;
}

.erp-actions[b-20qontex66] {
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.erp-yardim[b-20qontex66] {
    margin: 0;
    padding-left: 18px;
    font-size: var(--text-body);
    line-height: 1.6;
    max-width: 820px;
}

.erp-yardim li[b-20qontex66] {
    margin-bottom: var(--space-2);
}

.erp-tablo[b-20qontex66] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-caption);
    margin-bottom: var(--space-3);
    max-width: 720px;
}

.erp-tablo th[b-20qontex66],
.erp-tablo td[b-20qontex66] {
    border-bottom: 1px solid var(--color-border);
    padding: 6px 10px;
}

.erp-tablo th[b-20qontex66] {
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
    font-weight: 600;
}
/* /Components/Pages/Panel/ErpGunlugu.razor.rz.scp.css */
.egl-intro[b-ynk8vezihv],
.egl-muted[b-ynk8vezihv] {
    font-size: var(--text-body);
    line-height: 1.55;
    color: var(--color-ink-muted);
    margin: 0 0 var(--space-4);
    max-width: 820px;
}

.egl-filters[b-ynk8vezihv] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.egl-table[b-ynk8vezihv] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-caption);
    margin-bottom: var(--space-3);
}

.egl-table th[b-ynk8vezihv],
.egl-table td[b-ynk8vezihv] {
    border-bottom: 1px solid var(--color-border);
    padding: 6px 10px;
    vertical-align: top;
}

.egl-table th[b-ynk8vezihv] {
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
    font-weight: 600;
    white-space: nowrap;
}

/* Sorunlu satır yalnız renkle anlatılmıyor: hata sütunundaki sayı da onu söylüyor. */
.egl-sorunlu[b-ynk8vezihv] {
    background: var(--color-danger-bg);
}

.egl-link[b-ynk8vezihv] {
    background: none;
    border: none;
    padding: 0;
    color: var(--color-primary);
    font-size: var(--text-caption);
    text-decoration: underline;
    cursor: pointer;
}

.egl-detay > td[b-ynk8vezihv] {
    background: var(--color-surface-alt);
}

.egl-hata[b-ynk8vezihv] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-caption);
    margin-bottom: var(--space-2);
}

.egl-hata th[b-ynk8vezihv],
.egl-hata td[b-ynk8vezihv] {
    border-bottom: 1px solid var(--color-border);
    padding: 4px 8px;
}

.egl-detay-actions[b-ynk8vezihv] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-3);
}

.egl-detay-actions .egl-muted[b-ynk8vezihv] {
    margin: 0;
    font-size: var(--text-caption);
}
/* /Components/Pages/Panel/Kullanicilar.razor.rz.scp.css */
.kul-tabs[b-t35kubi4ow] {
    display: flex;
    gap: 2px;
    border-bottom: 1px solid var(--color-border);
    margin-bottom: 12px;
}

.kul-tab[b-t35kubi4ow] {
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 8px 14px;
    font: inherit;
    font-size: var(--text-body);
    cursor: pointer;
    color: var(--color-ink-muted);
}

.kul-tab--active[b-t35kubi4ow] {
    border-bottom-color: var(--color-primary);
    color: var(--color-ink);
    font-weight: 600;
}

.kul-toolbar[b-t35kubi4ow] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.kul-count[b-t35kubi4ow] {
    flex: 1;
    font-size: var(--text-dense);
    color: var(--color-ink-muted);
}

.kul-empty[b-t35kubi4ow],
.kul-hint[b-t35kubi4ow] {
    margin: 10px 0 0;
    font-size: var(--text-body);
    color: var(--color-ink-muted);
    line-height: var(--leading-normal);
}

.kul-error[b-t35kubi4ow] {
    margin: 10px 0 0;
    padding: 8px 12px;
    border-left: 3px solid var(--color-danger);
    background: var(--color-danger-bg);
    font-size: var(--text-body);
}

.kul-secret[b-t35kubi4ow] {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-left: 3px solid var(--color-primary);
    background: var(--color-primary-soft);
    font-size: var(--text-body);
    line-height: var(--leading-normal);
}

.kul-table[b-t35kubi4ow] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-body);
}

.kul-table th[b-t35kubi4ow],
.kul-table td[b-t35kubi4ow] {
    border: 1px solid var(--color-border);
    padding: 5px 8px;
    vertical-align: middle;
}

.kul-table thead th[b-t35kubi4ow] {
    background: var(--color-surface-alt);
    font-size: var(--text-caption);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.kul-actions[b-t35kubi4ow] {
    white-space: nowrap;
}

.kul-sys[b-t35kubi4ow] {
    margin-left: 8px;
    font-size: var(--text-caption);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--color-ink-muted);
}

.kul-link[b-t35kubi4ow] {
    background: none;
    border: 0;
    padding: 0 6px 0 0;
    color: var(--color-primary);
    cursor: pointer;
    font: inherit;
    text-decoration: underline;
}

/* Kapalı bağlantı opacity ile soluyordu: %50'de altı çizili yazı okunmuyordu (§1b).
   Renk soluk metne döner, altı çizgi kalkar. */
.kul-link:disabled[b-t35kubi4ow] {
    color: var(--color-ink-muted);
    text-decoration: none;
    cursor: default;
}

.kul-roles[b-t35kubi4ow],
.kul-perm-group[b-t35kubi4ow] {
    margin: 12px 0 0;
    padding: 8px 12px 10px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}

.kul-roles legend[b-t35kubi4ow],
.kul-perm-group legend[b-t35kubi4ow] {
    padding: 0 4px;
    font-size: var(--text-caption);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--color-ink-muted);
}

.kul-perm-toolbar[b-t35kubi4ow] {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* İzin sayısı modülle birlikte büyüyor; tek kolonda liste metrelerce uzuyordu.
   Gruplar sığdıkça yan yana dizilir, dar ekranda tek kolona düşer. */
.kul-perm-grid[b-t35kubi4ow] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 0 16px;
    align-items: start;
}
/* /Components/Pages/Panel/Kurulum.razor.rz.scp.css */
.kur-intro[b-lqut23omot] {
    font-size: var(--text-body);
    line-height: 1.55;
    color: var(--color-ink-muted);
    margin: 0 0 var(--space-4);
    max-width: 760px;
}

.kur-steps[b-lqut23omot] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.kur-step[b-lqut23omot] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
}

.kur-step--done[b-lqut23omot] {
    background: var(--color-success-bg);
    border-color: transparent;
}

.kur-no[b-lqut23omot] {
    flex: none;
    width: 26px;
    height: 26px;
    border-radius: var(--radius-pill);
    background: var(--color-surface-alt);
    border: 1px solid var(--color-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-caption);
    font-weight: 600;
}

.kur-step--done .kur-no[b-lqut23omot] {
    background: var(--color-success);
    border-color: var(--color-success);
    color: var(--color-on-accent);
}

.kur-body[b-lqut23omot] {
    flex: 1 1 auto;
    min-width: 0;
}

.kur-head[b-lqut23omot] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.kur-summary[b-lqut23omot] {
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}

.kur-desc[b-lqut23omot] {
    margin: var(--space-1) 0 0;
    font-size: var(--text-caption);
    line-height: 1.5;
    color: var(--color-ink-muted);
}

.kur-link[b-lqut23omot] {
    flex: none;
    align-self: center;
    padding: 5px 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    font-size: var(--text-caption);
    text-decoration: none;
    color: var(--color-primary);
    background: var(--color-surface);
}

.kur-link:hover[b-lqut23omot] {
    border-color: var(--color-primary);
}

.kur-note[b-lqut23omot],
.kur-muted[b-lqut23omot] {
    font-size: var(--text-body);
    line-height: 1.55;
    color: var(--color-ink-muted);
    margin: 0 0 var(--space-3);
    max-width: 760px;
}
/* /Components/Pages/Panel/Lisans.razor.rz.scp.css */
.lis-intro[b-l5wqfzzyfx],
.lis-note[b-l5wqfzzyfx],
.lis-muted[b-l5wqfzzyfx] {
    font-size: var(--text-body);
    line-height: 1.55;
    color: var(--color-ink-muted);
    margin: 0 0 var(--space-4);
    max-width: 760px;
}

.lis-detay[b-l5wqfzzyfx] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--space-3);
    margin: 0;
}

.lis-detay dt[b-l5wqfzzyfx] {
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}

.lis-detay dd[b-l5wqfzzyfx] {
    margin: 2px 0 0;
    font-size: var(--text-body);
    font-weight: 500;
}

.lis-alarm[b-l5wqfzzyfx] {
    margin: var(--space-3) 0 0;
    padding: var(--space-3);
    border-radius: var(--radius-md);
    background: var(--color-danger-bg);
    color: var(--color-danger);
    font-size: var(--text-body);
    line-height: 1.55;
}

.lis-uyari[b-l5wqfzzyfx] {
    margin: var(--space-3) 0 0;
    padding: var(--space-3);
    border-radius: var(--radius-md);
    background: var(--color-warning-bg);
    color: var(--color-warning);
    font-size: var(--text-body);
    line-height: 1.55;
}

.lis-bos[b-l5wqfzzyfx] {
    padding: var(--space-4);
    border: 1px dashed var(--color-border);
    border-radius: var(--radius-md);
    font-size: var(--text-body);
    line-height: 1.55;
    color: var(--color-ink-muted);
}
/* /Components/Pages/Panel/Raporlar.razor.rz.scp.css */
.rpr-note[b-ks3eizgkcj] {
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.55;
    color: var(--color-ink-muted);
    max-width: 95ch;
}

.rpr-layout[b-ks3eizgkcj] {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 20px;
    align-items: start;
}

@media (max-width: 900px) {
    .rpr-layout[b-ks3eizgkcj] {
        grid-template-columns: 1fr;
    }
}

.rpr-list[b-ks3eizgkcj] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-right: 1px solid var(--color-border);
    padding-right: 14px;
}

.rpr-group[b-ks3eizgkcj] {
    margin-top: 12px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-ink-muted);
}

.rpr-group:first-child[b-ks3eizgkcj] {
    margin-top: 0;
}

.rpr-item[b-ks3eizgkcj] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: left;
    background: none;
    border: 1px solid transparent;
    border-radius: var(--radius-lg);
    padding: 8px 10px;
    cursor: pointer;
    font: inherit;
}

.rpr-item:hover[b-ks3eizgkcj] {
    background: var(--color-surface-alt);
}

.rpr-item--active[b-ks3eizgkcj] {
    border-color: var(--color-primary);
    background: var(--color-primary-soft);
}

.rpr-item-name[b-ks3eizgkcj] {
    font-weight: 600;
    font-size: 14px;
}

.rpr-item-desc[b-ks3eizgkcj] {
    font-size: 12px;
    color: var(--color-ink-muted);
    line-height: 1.4;
}

.rpr-panel[b-ks3eizgkcj] {
    min-width: 0;
}

.rpr-title[b-ks3eizgkcj] {
    margin: 0 0 12px;
    font-size: 18px;
}

.rpr-filters[b-ks3eizgkcj] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--color-border);
}

.rpr-actions[b-ks3eizgkcj] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rpr-download[b-ks3eizgkcj] {
    font-size: 13px;
    color: var(--color-primary);
}

.rpr-table-wrap[b-ks3eizgkcj] {
    overflow-x: auto;
}

.rpr-table[b-ks3eizgkcj] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.rpr-table th[b-ks3eizgkcj],
.rpr-table td[b-ks3eizgkcj] {
    padding: 7px 10px;
    border-bottom: 1px solid var(--color-border);
    white-space: nowrap;
}

.rpr-table th[b-ks3eizgkcj] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-ink-muted);
}

.rpr-num[b-ks3eizgkcj] {
    text-align: right;
}

.rpr-index[b-ks3eizgkcj] {
    color: var(--color-ink-muted);
    width: 44px;
}

.rpr-empty[b-ks3eizgkcj] {
    border: 1px dashed var(--color-border);
    border-radius: var(--radius-lg);
    padding: 28px;
    text-align: center;
    font-size: 14px;
    color: var(--color-ink-muted);
    margin-top: 16px;
}

.rpr-muted[b-ks3eizgkcj] {
    font-size: 13px;
    color: var(--color-ink-muted);
    margin-top: 12px;
}

.rpr-saved[b-ks3eizgkcj] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 12px 0 4px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--color-border);
}

.rpr-saved-label[b-ks3eizgkcj] {
    font-size: 13px;
    color: var(--color-ink-muted);
    margin-right: 4px;
}

.rpr-chip[b-ks3eizgkcj] {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    overflow: hidden;
    background: var(--color-surface-alt);
}

.rpr-chip-run[b-ks3eizgkcj] {
    border: 0;
    background: transparent;
    padding: 5px 12px;
    font-size: 13px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.rpr-chip-run:hover[b-ks3eizgkcj] {
    background: var(--color-surface-alt);
}

.rpr-chip-shared[b-ks3eizgkcj] {
    font-size: 11px;
    color: var(--color-ink-muted);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    padding: 0 6px;
}

.rpr-chip-remove[b-ks3eizgkcj] {
    border: 0;
    border-left: 1px solid var(--color-border);
    background: transparent;
    padding: 0 9px;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
    color: var(--color-ink-muted);
}

.rpr-chip-remove:hover[b-ks3eizgkcj] {
    background: var(--color-danger-bg);
    color: var(--color-ink);
}

.rpr-chip-plan[b-ks3eizgkcj] {
    font-size: 11px;
    color: var(--color-ink-muted);
    border-left: 1px solid var(--color-border);
    padding: 0 8px;
    display: inline-flex;
    align-items: center;
}

.rpr-chip-plan--warn[b-ks3eizgkcj] {
    color: var(--color-danger);
    color: var(--color-ink);
}

.rpr-chip-plan-edit[b-ks3eizgkcj] {
    border: 0;
    border-left: 1px solid var(--color-border);
    background: transparent;
    padding: 0 8px;
    font-size: 13px;
    cursor: pointer;
    color: var(--color-ink-muted);
}

.rpr-chip-plan-edit:hover[b-ks3eizgkcj] {
    background: var(--color-surface-alt);
    color: var(--color-ink);
}

.rpr-error[b-ks3eizgkcj] {
    color: var(--color-danger);
    font-size: 13px;
    margin-top: 10px;
}

/* Çıktı bağlantısı Excel düğmesiyle aynı sırada duruyor ama bağlantı, düğme değil: yeni sekme
   açıyor. Görünüm ikincil düğmeyle aynı olsun diye ortak ölçüler tekrarlanmadan hizalanıyor. */
.rpr-print[b-ks3eizgkcj] {
    align-self: center;
    padding: 6px 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-ink);
    font-size: var(--text-dense);
    text-decoration: none;
    white-space: nowrap;
}

.rpr-print:hover[b-ks3eizgkcj] {
    background-color: var(--color-surface-alt);
}
/* /Components/Pages/Panel/RaporYazdir.razor.rz.scp.css */
/* Rapor çıktısı: ekranda A4 benzeri bir kağıt, yazdırırken sayfanın tamamı. Uygulama kabuğunu
   gizleyen kurallar app.css'te (@media print); burada yalnız belgenin kendisi var. Sipariş fişi ve
   teklif çıktısıyla aynı desen — üç belge aynı kağıda benzesin. */
.ryz-toolbar[b-zr8soivcgk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    max-width: 1000px;
    margin: 16px auto 10px;
    padding: 0 8px;
    font-size: var(--text-body);
}

.ryz-toolbar a[b-zr8soivcgk] {
    color: var(--color-primary);
    text-decoration: none;
}

.ryz-toolbar button[b-zr8soivcgk] {
    border: 1px solid var(--color-primary);
    background: var(--color-primary);
    color: var(--color-on-accent);
    border-radius: var(--radius-md);
    padding: 8px 14px;
    font: inherit;
    font-size: var(--text-body);
    font-weight: 600;
    cursor: pointer;
}

/* Rapor tablosu sipariş fişinden geniş olabiliyor: kağıt 1000px, fiş 820px. */
.ryz-sheet[b-zr8soivcgk] {
    max-width: 1000px;
    margin: 0 auto 40px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 28px 32px 36px;
    color: var(--color-ink);
    font-size: var(--text-body);
}

.ryz-seller[b-zr8soivcgk] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 16px;
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}

.ryz-head[b-zr8soivcgk] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 2px solid var(--color-ink);
    padding-bottom: 12px;
}

.ryz-head h1[b-zr8soivcgk] {
    margin: 0;
    font-size: 20px;
    letter-spacing: 0.02em;
}

.ryz-desc[b-zr8soivcgk] {
    margin-top: 4px;
    max-width: 560px;
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}

.ryz-head-meta[b-zr8soivcgk] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: right;
    font-size: var(--text-caption);
}

.ryz-head-meta span[b-zr8soivcgk] {
    color: var(--color-ink-muted);
    margin-right: 6px;
}

/* Süzgeçler çıktıda görünür: "bu rakam hangi filtreyle alındı" sorusu aylar sonra sorulur. */
.ryz-params[b-zr8soivcgk] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin-top: 12px;
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}

.ryz-summaries[b-zr8soivcgk] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.ryz-summary[b-zr8soivcgk] {
    flex: 1 1 150px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 8px 10px;
}

.ryz-summary span[b-zr8soivcgk] {
    display: block;
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}

.ryz-summary b[b-zr8soivcgk] {
    display: block;
    margin-top: 2px;
    font-size: 15px;
}

/* Uyarı kutusu yalnız renkle değil, kalın kenarla da ayrılıyor: siyah beyaz baskıda renk kaybolur. */
.ryz-summary--warn[b-zr8soivcgk] {
    border-color: var(--color-warning);
    border-left-width: 3px;
}

.ryz-table[b-zr8soivcgk] {
    width: 100%;
    margin-top: 18px;
    border-collapse: collapse;
    font-size: var(--text-caption);
}

.ryz-table th[b-zr8soivcgk],
.ryz-table td[b-zr8soivcgk] {
    border-bottom: 1px solid var(--color-border);
    padding: 5px 7px;
    text-align: left;
    vertical-align: top;
}

.ryz-table thead th[b-zr8soivcgk] {
    border-bottom: 1px solid var(--color-ink);
    font-weight: 700;
    white-space: nowrap;
}

.ryz-num[b-zr8soivcgk] {
    text-align: right;
    white-space: nowrap;
}

.ryz-count[b-zr8soivcgk],
.ryz-note[b-zr8soivcgk],
.ryz-empty[b-zr8soivcgk] {
    margin-top: 10px;
    font-size: var(--text-caption);
    color: var(--color-ink-muted);
}

.ryz-muted[b-zr8soivcgk] {
    max-width: 1000px;
    margin: 24px auto;
    padding: 0 8px;
    color: var(--color-ink-muted);
}

@media print {
    .ryz-toolbar[b-zr8soivcgk] {
        display: none;
    }

    .ryz-sheet[b-zr8soivcgk] {
        max-width: none;
        margin: 0;
        border: 0;
        border-radius: 0;
        padding: 0;
    }

    /* Uzun rapor birden çok sayfaya taşar: başlık her sayfada tekrarlansın, satır ortadan
       bölünmesin. */
    .ryz-table thead[b-zr8soivcgk] {
        display: table-header-group;
    }

    .ryz-table tr[b-zr8soivcgk] {
        break-inside: avoid;
    }
}
/* /Components/Pages/Panel/TopluAktarim.razor.rz.scp.css */
.ta-intro[b-sell96qosv],
.ta-note[b-sell96qosv] {
    margin: 0 0 12px;
    font-size: 13px;
    max-width: 90ch;
}

.ta-note[b-sell96qosv] {
    color: var(--color-ink-muted);
}

.ta-hint[b-sell96qosv] {
    margin: 4px 0 10px;
    font-size: 12px;
    color: var(--color-ink-muted);
}

.ta-empty[b-sell96qosv] {
    margin: 0;
    font-size: 13px;
    color: var(--color-ink-muted);
}

/* Tür seçimi: ham açılır liste yerine kartlar — hangi türün ne yaptığı seçim anında okunur. */
.ta-kinds[b-sell96qosv] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* Kenarlık 2px: seçili kartın kalınlığı renkli iç gölgeyle çiziliyordu (yasak) ve kapsamlı CSS
   özgüllüğü klavye odağı halkasını eziyordu — seçili karta Tab'la gelen kullanıcı nerede olduğunu
   göremiyordu. Taban da 2px, çünkü 1'den 2'ye çıkan kenarlık seçim anında kutuyu kaydırıyordu:
   kalınlık sabit kalıyor, yalnız renk değişiyor. */
.ta-kind[b-sell96qosv] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    width: 260px;
    padding: 10px 12px;
    text-align: left;
    border: 2px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    cursor: pointer;
    font: inherit;
}

.ta-kind:hover[b-sell96qosv] {
    border-color: var(--color-primary);
}

.ta-kind--on[b-sell96qosv] {
    border-color: var(--color-primary);
    background: var(--color-primary-soft);
}

.ta-kind-name[b-sell96qosv] {
    font-weight: 600;
}

.ta-kind-desc[b-sell96qosv] {
    font-size: 12px;
    color: var(--color-ink-muted);
    line-height: 1.35;
}

.ta-upload[b-sell96qosv] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 13px;
}


.ta-table[b-sell96qosv] {
    width: 100%;
    border-collapse: collapse;
    margin: 8px 0 12px;
    font-size: 13px;
}

.ta-table th[b-sell96qosv],
.ta-table td[b-sell96qosv] {
    border-bottom: 1px solid var(--color-border);
    padding: 5px 8px;
}

.ta-table th[b-sell96qosv] {
    background: var(--color-surface-alt);
    font-weight: 600;
}

/* Satır numarası dar kalsın: sorun metni numaranın hemen yanında okunur. */
.ta-table th:first-child[b-sell96qosv],
.ta-table td:first-child[b-sell96qosv] {
    width: 80px;
}

.ta-upload-empty[b-sell96qosv] {
    color: var(--color-ink-muted);
}

.ta-download[b-sell96qosv],
.ta-applied[b-sell96qosv] {
    margin: 8px 0 0;
    font-size: 13px;
}

.ta-file[b-sell96qosv] {
    font-weight: 600;
}

.ta-error[b-sell96qosv] {
    margin: 8px 0 0;
    color: var(--color-danger);
    font-size: 13px;
}
