/* ============================================================
   Uzser — Kurumsal layout & tema katmanı
   DevExpress (blazing-berry) üzerine kurumsal kabuk.

   TEMA: mobil uygulamanın görsel sözleşmesi web'e taşındı
   (mobile/uzser_ai_engine/lib/theme/tokens.dart). Üç kural:
     1. Tek vurgu rengi; renk yalnız ANLAM taşıdığında girer.
     2. Kart değil bant: ayrım gölgeyle değil KENARLA yapılır.
     3. Sayı öndedir: sabit genişlikli rakam, negatif harf aralığı.

   ⚠️ Renkler doğrudan yazılmaz, hepsi jeton üzerinden gelir. Bir kural
   içine sabit renk yazmak, o kuralı iki temadan birinde kırar — ve bu
   ancak temayı değiştiren kullanıcı fark ettiğinde ortaya çıkar.
   ============================================================ */

/* ============================================================
   1) JETONLAR — AÇIK tema (taban)
   ⚠️ Her jeton ÖNCE burada tanımlanır. Yalnız koyu blokta tanımlanan bir
   renk, açık temada hiç uygulanmaz ve metin/zemin birbirini yutar.
   ============================================================ */
:root {
    /* -- marka / vurgu -------------------------------------------------- */
    /* ⚠️ VURGU YEŞİL DEĞİL, İNDİGO. Yeşil bırakılmıştı ve "başarılı" durum rengiyle
       (--uz-ok) AYNI aileydi: vurgu ile semantik renk çakışınca her düğme, her etkin
       menü, her KPI "olumlu bir şey bildiriyor" gibi okunuyor ve ekran tek renge
       boğuluyordu. Vurgu artık yeşil/sarı/kırmızının DIŞINDA; o üç renk yalnız duruma ait. */
    --uz-brand:        #4338ca;
    --uz-brand-dark:   #3730a3;
    --uz-brand-rgb:    67, 56, 202;   /* Bootstrap --bs-primary-rgb köprüsü için */
    --uz-brand-fg:     #ffffff;   /* vurgu ÜZERİNDEKİ metin */
    --uz-brand-soft:   #eceafe;   /* vurgunun sönük zemini */

    /* -- yüzeyler ------------------------------------------------------- */
    --uz-content-bg:   #f3f5f9;
    --uz-surface:      #ffffff;   /* bant/kart/grid gövdesi */
    --uz-surface-alt:  #ffffff;   /* açılır menü, popup (bir kat yukarısı) */
    --uz-surface-sunk: #f6f8fb;   /* grid başlığı, boş durum zemini */
    --uz-border:       #dde3ec;
    --uz-border-soft:  #eaeff5;   /* satır içi ince ayraç */

    /* -- metin ---------------------------------------------------------- */
    --uz-ink:          #131a22;
    --uz-ink-soft:     #5b6775;
    --uz-ink-faint:    #8794a3;

    /* -- kabuk ---------------------------------------------------------- */
    --uz-header-bg:    #ffffff;
    --uz-header-fg:    #131a22;
    --uz-header-hover: rgba(19,26,34,.06);
    --uz-sidebar-bg:   #ffffff;
    --uz-sidebar-fg:   #5b6775;
    --uz-sidebar-muted:#8794a3;
    --uz-sidebar-hover-bg: rgba(19,26,34,.05);
    --uz-sidebar-hover-fg: #131a22;
    --uz-sidebar-active-bg: var(--uz-brand-soft);
    --uz-sidebar-active-fg: #131a22;
    --uz-sidebar-accent:    var(--uz-brand);
    --uz-sidebar-border:    var(--uz-border);

    /* -- durum (yalnız anlam) ------------------------------------------- */
    --uz-ok:           #16a34a;  --uz-ok-soft:      #e7f6ec;
    --uz-warn:         #b45309;  --uz-warn-soft:    #fdf3e3;
    --uz-danger:       #dc2626;  --uz-danger-soft:  #fdeaea;
    --uz-info:         #2563eb;  --uz-info-soft:    #e8effd;
    --uz-neutral:      #5b6775;  --uz-neutral-soft: #eceff3;

    /* AI sohbet rol renkleri — ai-chat.css'ten buraya taşındı ki tema
       değişkenleri tek dosyada dursun. */
    --uz-role-proje:   #0d9488;
    --uz-role-destek:  #d97706;
    --uz-role-satis:   #7c3aed;
    --uz-role-ceviri:  #db2777;

    /* -- listeler ------------------------------------------------------- */
    --uz-row-alt:      #f9fafb;
    --uz-row-hover:    #eef2f6;
    --uz-grid-head-bg: var(--uz-surface-sunk);

    /* -- widget serisi --------------------------------------------------- */
    /* Bileşenin KİMLİK rengi: hangi konuya ait olduğunu söyler, "iyi/kötü"
       demez. Bu yüzden seride yeşil/sarı/kırmızı YOKTUR — o üçü duruma ait.
       c2–c5 yukarıdaki --uz-role-* renklerinin ta kendisi; ayrı bir palet
       uydurmak iki listeyi ayrı ayrı bakımda tutmak demekti. */
    --uz-c1: var(--uz-brand);   --uz-c1-soft: var(--uz-brand-soft);
    --uz-c2: #0d9488;           --uz-c2-soft: #d9f2ee;
    --uz-c3: #d97706;           --uz-c3-soft: #fdf0dc;
    --uz-c4: #7c3aed;           --uz-c4-soft: #f0e9fe;
    --uz-c5: #db2777;           --uz-c5-soft: #fce7f1;
    --uz-c6: #64748b;           --uz-c6-soft: #eaeef3;

    /* -- ölçü ----------------------------------------------------------- */
    --uz-header-h:     56px;
    --uz-sidebar-w:    268px;
    /* Yarıçap ÖLÇÜLÜ: kontroller küçük, kartlar biraz daha yumuşak. Kartın
       kendi yarıçapı olmadığında pano tek bir gri alan gibi okunuyordu. */
    --uz-radius:       8px;
    --uz-radius-sm:    6px;
    --uz-radius-lg:    14px;
    /* Kenar hâlâ birincil ayraç; gölge yalnız KART katmanına ait ve yalnız
       açık temada var (koyuda gölge okunmaz, kartı kirli gösterir —
       orada ayrım yüzey basamağıyla yapılır, bkz. koyu blok). */
    --uz-shadow-sm:    none;
    --uz-shadow:       none;
    --uz-shadow-card:  0 1px 2px rgba(19,26,34,.045), 0 10px 26px -16px rgba(19,26,34,.16);
    --uz-shadow-float: 0 12px 32px rgba(19,26,34,.16);
    /* Liste satırlarındaki sol durum şeridi. */
    --uz-stripe:       3px;

    color-scheme: light;
}

/* ============================================================
   2) JETONLAR — KOYU tema
   Üç durum vardır: açık seçilmiş, koyu seçilmiş, seçim yok (sistem).
   Sistem durumunda gövdede hiçbir işaret bulunmaz; ayrımı yalnız
   prefers-color-scheme yapar. Bu yüzden iki blok gerekir.
   ============================================================ */
@media (prefers-color-scheme: dark) {
    /* :not([data-uz-theme="light"]) — kullanıcı AÇIK seçtiyse işletim
       sisteminin koyu tercihi onu ezmemeli. */
    :root:not([data-uz-theme="light"]) {
        --uz-brand:        #8f9bf5;
        --uz-brand-dark:   #7c88ee;
        --uz-brand-fg:     #14173a;
        --uz-brand-rgb:    143, 155, 245;
        --uz-brand-soft:   #282e52;

        --uz-content-bg:   #171b23;
        --uz-surface:      #212734;
        --uz-surface-alt:  #262d3c;
        --uz-surface-sunk: #1b2029;
        --uz-border:       #333c4b;
        --uz-border-soft:  #2a323f;

        --uz-ink:          #e9edf4;
        --uz-ink-soft:     #98a4b5;
        --uz-ink-faint:    #66717f;

        --uz-header-bg:    #1b2029;
        --uz-header-fg:    #e9edf4;
        --uz-header-hover: rgba(255,255,255,.06);
        --uz-sidebar-bg:   #1b2029;
        --uz-sidebar-fg:   #98a4b5;
        --uz-sidebar-muted:#66717f;
        --uz-sidebar-hover-bg: rgba(255,255,255,.05);
        --uz-sidebar-hover-fg: #e9edf4;
        --uz-sidebar-active-bg: #282e52;
        --uz-sidebar-active-fg: #e9edf4;
        --uz-sidebar-accent:    #8f9bf5;
        --uz-sidebar-border:    #333c4b;

        --uz-ok:           #4ade80;  --uz-ok-soft:      #1b3326;
        --uz-warn:         #fbbf24;  --uz-warn-soft:    #3a2f14;
        --uz-danger:       #f87171;  --uz-danger-soft:  #3b2020;
        --uz-info:         #60a5fa;  --uz-info-soft:    #1b2740;
        --uz-neutral:      #98a4b5;  --uz-neutral-soft: #2a323f;
        --uz-role-proje:   #14b8a6;
        --uz-role-destek:  #f59e0b;
        --uz-role-satis:   #a78bfa;
        --uz-role-ceviri:  #f472b6;

        /* Widget serisi: her ton bir kademe AÇILIR, yoksa koyu zeminde okunmaz. */
        --uz-c2: #14b8a6;  --uz-c2-soft: #123a37;
        --uz-c3: #f59e0b;  --uz-c3-soft: #3a2f14;
        --uz-c4: #a78bfa;  --uz-c4-soft: #2e2450;
        --uz-c5: #f472b6;  --uz-c5-soft: #43203a;
        --uz-c6: #94a3b8;  --uz-c6-soft: #242b37;

        /* Koyu zeminde zebra çizgisi gürültü yapıyor; ayrım kenarla. */
        --uz-row-alt:      transparent;
        --uz-row-hover:    rgba(255,255,255,.035);
        --uz-grid-head-bg: #1b2029;

        /* ⚠️ Kart gölgesi koyuda YOK. Koyu zeminde gölge derinlik vermez, kartın
           kenarını bulandırır; yükselti burada yüzey basamağıyla kurulur
           (#171b23 zemin → #212734 kart → #262d3c yüzen). */
        --uz-shadow-card:  none;
        --uz-shadow-float: 0 12px 32px rgba(0,0,0,.55);

        color-scheme: dark;
    }
}

/* Kullanıcı KOYU seçtiyse işletim sistemi ne derse desin koyu. */
:root[data-uz-theme="dark"] {
    --uz-brand:        #8f9bf5;
    --uz-brand-dark:   #7c88ee;
    --uz-brand-fg:     #14173a;
        --uz-brand-rgb:    143, 155, 245;
    --uz-brand-soft:   #282e52;

    --uz-content-bg:   #171b23;
    --uz-surface:      #212734;
    --uz-surface-alt:  #262d3c;
    --uz-surface-sunk: #1b2029;
    --uz-border:       #333c4b;
    --uz-border-soft:  #2a323f;

    --uz-ink:          #e9edf4;
    --uz-ink-soft:     #98a4b5;
    --uz-ink-faint:    #66717f;

    --uz-header-bg:    #1b2029;
    --uz-header-fg:    #e9edf4;
    --uz-header-hover: rgba(255,255,255,.06);
    --uz-sidebar-bg:   #1b2029;
    --uz-sidebar-fg:   #98a4b5;
    --uz-sidebar-muted:#66717f;
    --uz-sidebar-hover-bg: rgba(255,255,255,.05);
    --uz-sidebar-hover-fg: #e9edf4;
    --uz-sidebar-active-bg: #282e52;
    --uz-sidebar-active-fg: #e9edf4;
    --uz-sidebar-accent:    #8f9bf5;
    --uz-sidebar-border:    #333c4b;

    --uz-ok:           #4ade80;  --uz-ok-soft:      #1b3326;
    --uz-warn:         #fbbf24;  --uz-warn-soft:    #3a2f14;
    --uz-danger:       #f87171;  --uz-danger-soft:  #3b2020;
    --uz-info:         #60a5fa;  --uz-info-soft:    #1b2740;
    --uz-neutral:      #98a4b5;  --uz-neutral-soft: #2a323f;
        --uz-role-proje:   #14b8a6;
        --uz-role-destek:  #f59e0b;
        --uz-role-satis:   #a78bfa;
        --uz-role-ceviri:  #f472b6;

    /* Widget serisi: her ton bir kademe AÇILIR, yoksa koyu zeminde okunmaz. */
    --uz-c2: #14b8a6;  --uz-c2-soft: #123a37;
    --uz-c3: #f59e0b;  --uz-c3-soft: #3a2f14;
    --uz-c4: #a78bfa;  --uz-c4-soft: #2e2450;
    --uz-c5: #f472b6;  --uz-c5-soft: #43203a;
    --uz-c6: #94a3b8;  --uz-c6-soft: #242b37;

    --uz-row-alt:      transparent;
    --uz-row-hover:    rgba(255,255,255,.035);
    --uz-grid-head-bg: #1b2029;

    /* ⚠️ Kart gölgesi koyuda YOK — gerekçe yukarıdaki koyu blokta. */
    --uz-shadow-card:  none;
    --uz-shadow-float: 0 12px 32px rgba(0,0,0,.55);

    color-scheme: dark;
}

/* ============================================================
   3) BOOTSTRAP KÖPRÜSÜ
   ⚠️ Bootstrap kendi değişkenleriyle boyar (--bs-body-bg vb.). Bunlar
   eşlenmezse koyu temada sayfanın kabuğu koyu, içindeki her .table /
   .form-control / .alert BEYAZ kalır — yani "alaca" ekran. Köprü tek yerde
   durur ki bir sonraki bileşen eklenince yeniden düşünmek gerekmesin.
   ============================================================ */
:root {
    --bs-body-bg:            var(--uz-content-bg);
    --bs-body-color:         var(--uz-ink);
    --bs-emphasis-color:     var(--uz-ink);
    --bs-secondary-color:    var(--uz-ink-soft);
    --bs-tertiary-color:     var(--uz-ink-faint);
    --bs-border-color:       var(--uz-border);
    --bs-secondary-bg:       var(--uz-surface-sunk);
    --bs-tertiary-bg:        var(--uz-surface-sunk);
    --bs-link-color:         var(--uz-brand);
    --bs-link-hover-color:   var(--uz-brand-dark);
    --bs-heading-color:      var(--uz-ink);

    /* ⚠️ "primary" DevExpress temasından geliyor ve blazing-berry MORU (rgb(95,54,141)).
       Canlıda ölçüldü: KPI bileşeninin rakamı (.text-primary) mor çiziliyordu — grafik
       paletindeki morun aynısı, ürünün vurgu renginin yanında yabancı duruyordu. */
    --bs-primary:            var(--uz-brand);
    --bs-primary-rgb:        var(--uz-brand-rgb, 34, 197, 94);
    --bs-primary-text-emphasis: var(--uz-brand);
}

/* Yardımcı sınıflar jetona bağlanır: Bootstrap/DevExpress bunları kendi sabit
   renkleriyle boyuyor ve sayfa sayfa avlamak yerine tek yerde karşılanır. */
.text-primary { color: var(--uz-brand) !important; }

/* ============================================================
   YAZI TİPİ — kendi sunucumuzdan
   ⚠️ CDN'den ÇEKİLMEZ. Ürün müşterinin kendi ağından açılıyor; dış bir
   adrese bağımlı yazı tipi, o adres engelliyse ya da yavaşsa ekranı
   sistem yazı tipine düşürür ve arayüz her makinede başka görünür.
   Ayrıca istemcinin IP'si üçüncü bir tarafa sızar.

   Manrope DEĞİŞKEN font (tek dosya 400–800 arası her ağırlığı verir):
   iki alt küme, toplam ~40 KB. latin-ext ŞART — ğ ş ı İ orada.
   Lisans: SIL OFL 1.1, fonts/Manrope-OFL.txt.
   ============================================================ */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('../fonts/manrope-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('../fonts/manrope-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html, body {
    height: 100%;
    margin: 0;
    /* Yedek zincir gerçek: font gelmezse ekran bozulmaz, yalnız karakterini kaybeder. */
    font-family: 'Manrope', 'Segoe UI', Roboto, Arial, sans-serif;
    -webkit-tap-highlight-color: transparent;
    background: var(--uz-content-bg);
    color: var(--uz-ink);
}
* { box-sizing: border-box; }

/* Bağlantılar ve form alanları — bunlar her sayfada var. */
a, .btn-link { color: var(--uz-brand); }
a:hover { color: var(--uz-brand-dark); }
.table { --bs-table-bg: transparent; --bs-table-color: var(--uz-ink); color: var(--uz-ink); }
.table > :not(caption) > * > * { border-bottom-color: var(--uz-border-soft); }
/* ⚠️ background-COLOR, "background" kısa yazımı değil: kısa yazım Bootstrap'in açılır liste okunu
   (background-image) da sıfırlıyordu; sitedeki bütün <select>'ler düz metin kutusu gibi görünüyor,
   kullanıcı seçilebilir olduklarını anlamıyordu. */
.form-control, .form-select, .input-group-text {
    background-color: var(--uz-surface); color: var(--uz-ink); border-color: var(--uz-border);
}
.form-control:focus, .form-select:focus {
    background-color: var(--uz-surface); color: var(--uz-ink);
    border-color: var(--uz-brand); box-shadow: none;
}
/* Koyu temada ok açık renkli: Bootstrap'in varsayılanı koyu gri ve koyu zeminde kayboluyor. */
:root[data-uz-theme="dark"] .form-select {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23c3cad4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
@media (prefers-color-scheme: dark) {
    :root:not([data-uz-theme="light"]) .form-select {
        --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23c3cad4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    }
}
.form-control::placeholder { color: var(--uz-ink-faint); }
.form-check-input { background-color: var(--uz-surface); border-color: var(--uz-border); }
.form-check-input:checked { background-color: var(--uz-brand); border-color: var(--uz-brand); }
hr { border-color: var(--uz-border); opacity: 1; }

/* Bootstrap uyarı bantları — anlam rengi jetondan. */
.alert { border-radius: var(--uz-radius); border-width: 1px; }
.alert-info    { background: var(--uz-info-soft);    color: var(--uz-info);    border-color: var(--uz-info); }
.alert-success { background: var(--uz-ok-soft);      color: var(--uz-ok);      border-color: var(--uz-ok); }
.alert-warning { background: var(--uz-warn-soft);    color: var(--uz-warn);    border-color: var(--uz-warn); }
.alert-danger  { background: var(--uz-danger-soft);  color: var(--uz-danger);  border-color: var(--uz-danger); }
.alert .alert-heading { color: inherit; }

/* Sayı hizası: tutar ve bakiye güncellenince satır ZIPLAMAMALI. */
.uzser-shell table td, .uzser-shell table th,
.uzser-kpi-v, .uzser-stat .v, .uz-num { font-variant-numeric: tabular-nums; }

/* İnce, temaya uyan kaydırma çubukları: masaüstü Windows tarayıcısında liste kutuları (sohbet listesi vb.) oklu, açık
   gri işletim sistemi çubuğu gösteriyordu (2026-10-16 görsel denetim). */
.uzser-shell, .uzser-shell * { scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--uz-ink-faint) 55%, transparent) transparent; }

/* ===================== Uygulama kabuğu ===================== */
.uzser-shell {
    display: grid;
    grid-template-columns: var(--uz-sidebar-w) 1fr;
    grid-template-rows: var(--uz-header-h) 1fr;
    grid-template-areas: "header header" "sidebar main";
    height: 100vh; height: 100dvh;
    overflow: hidden;
}

.uzser-header {
    grid-area: header;
    background: var(--uz-header-bg);
    color: var(--uz-header-fg);
    border-bottom: 1px solid var(--uz-border);
    z-index: 30;
    display: flex; align-items: center; gap: 4px;
    padding: 0 12px;
}
.uzser-header-right { margin-left: auto; display: flex; align-items: center; gap: 2px; }
.uzser-header-sep { width: 1px; height: 22px; background: var(--uz-border); margin: 0 8px; flex: 0 0 auto; }
.uzser-brand {
    font-weight: 700; font-size: 18px; color: var(--uz-brand) !important;
    letter-spacing: -.2px; margin-left: 6px; white-space: nowrap; flex: 0 0 auto;
    display: inline-flex; align-items: center; gap: 8px;
}
.uzser-brand .bi { font-size: 20px; }

/* Ürün logosu (MarkaLogo.razor). Yükseklik kapsayıcıdan; genişlik orandan. Koyu varyant
   yalnız koyu temada görünür — üç tema durumu da (açık / koyu / sistem) aşağıda. */
.uz-logo { display: inline-flex; align-items: center; height: 30px; }
.uz-logo img { height: 100%; width: auto; display: block; }
.uz-logo .uz-logo-koyu { display: none; }
@media (prefers-color-scheme: dark) {
    :root:not([data-uz-theme="light"]) .uz-logo .uz-logo-acik { display: none; }
    :root:not([data-uz-theme="light"]) .uz-logo .uz-logo-koyu { display: block; }
}
:root[data-uz-theme="dark"] .uz-logo .uz-logo-acik { display: none; }
:root[data-uz-theme="dark"] .uz-logo .uz-logo-koyu { display: block; }

/* Header DxButton (Link) araçları — düz, çerçevesiz */
.uzser-htool.dxbl-btn, .uzser-htool {
    color: var(--uz-header-fg) !important; background: transparent !important;
    border: 0 !important; box-shadow: none !important; border-radius: var(--uz-radius-sm) !important;
    min-height: 38px; padding: 0 10px !important; font-weight: 500;
}
.uzser-htool.dxbl-btn:hover, .uzser-htool:hover { background: var(--uz-header-hover) !important; }
.uzser-htool.dxbl-btn:focus, .uzser-htool.dxbl-btn:focus-visible { box-shadow: none !important; outline: none !important; }
.uzser-htool .bi { font-size: 17px; }
.uzser-user-name { font-weight: 600; }
@media (max-width: 640px) { .uzser-user-name { display: none; } }

/* Hesap (kullanıcı) açılır menüsü */
.uzser-acct-pop {
    position: absolute; right: 0; top: 46px; width: 264px;
    background: var(--uz-surface-alt); border: 1px solid var(--uz-border);
    border-radius: var(--uz-radius); box-shadow: var(--uz-shadow-float); z-index: 50;
}
.uzser-acct-head { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--uz-border); }
.uzser-acct-avatar {
    width: 40px; height: 40px; border-radius: 50%; background: var(--uz-brand-soft); color: var(--uz-brand);
    display: flex; align-items: center; justify-content: center; flex: 0 0 auto;
}
.uzser-acct-avatar i { font-size: 24px; line-height: 1; }
.uzser-acct-name { font-weight: 700; font-size: 14px; color: var(--uz-ink); }
.uzser-acct-mail { font-size: 12px; color: var(--uz-ink-soft); }
.uzser-acct-menu { padding: 6px; }
.uzser-acct-item {
    display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 10px;
    border: 0; background: transparent; border-radius: var(--uz-radius-sm); font: inherit; font-size: 13.5px;
    color: var(--uz-ink); text-align: left; cursor: pointer;
}
.uzser-acct-item i { font-size: 16px; width: 18px; text-align: center; color: var(--uz-ink-soft); }
.uzser-acct-item:hover { background: var(--uz-row-hover); }
.uzser-acct-item.danger, .uzser-acct-item.danger i { color: var(--uz-danger); }
.uzser-acct-item.danger:hover { background: var(--uz-danger-soft); }
.uzser-acct-sep { height: 1px; background: var(--uz-border); margin: 4px 6px; }
.uzser-acct-label {
    font-size: 10.5px; letter-spacing: .7px; text-transform: uppercase;
    color: var(--uz-ink-faint); font-weight: 700; padding: 8px 10px 4px;
}
.uzser-badge {
    font-size: 11px; padding: 2px 9px; border-radius: var(--uz-radius-sm); font-weight: 600;
}
.uzser-badge.internal { background: var(--uz-info-soft); color: var(--uz-info); }
.uzser-badge.customer { background: var(--uz-neutral-soft); color: var(--uz-neutral); }

/* Tema seçici — üç durumlu (Sistem / Açık / Koyu) */
.uzser-tema { display: flex; gap: 4px; padding: 2px 6px 8px; }
.uzser-tema button {
    flex: 1 1 0; padding: 7px 4px; font: inherit; font-size: 12px; font-weight: 600;
    background: transparent; color: var(--uz-ink-soft);
    border: 1px solid var(--uz-border); border-radius: var(--uz-radius-sm); cursor: pointer;
}
.uzser-tema button:hover { background: var(--uz-row-hover); color: var(--uz-ink); }
.uzser-tema button[aria-pressed="true"] {
    background: var(--uz-brand-soft); color: var(--uz-brand); border-color: var(--uz-brand);
}
.uzser-tema button:focus-visible { outline: 2px solid var(--uz-brand); outline-offset: -2px; }
/* Başlık çubuğu biçimi: yalnız simge, sözcük yok. */
.uzser-tema.compact { padding: 0; gap: 2px; }
.uzser-tema.compact button { flex: 0 0 auto; min-width: 30px; padding: 5px 7px; font-size: 13px; line-height: 1; }

/* Hamburger sadece dar ekranda */
.uzser-burger-item { display: none !important; }
.uzser-shell.compact .uzser-burger-item { display: inline-flex !important; }

/* Bölümlü menü (NavBolumleri): başlık yalnız ayırır, açılıp kapanmaz; öğeler düz bağlantı.
   ⚠️ text-transform: uppercase KULLANILMAZ — Türkçede "i" yanlış büyür (TİGER/TIGER tuzağı); başlık metni olduğu gibi. */
.uzser-nav-bolumlu { display: flex; flex-direction: column; gap: 2px; }
.uzser-nav-bolum { padding: 0 10px; }
.uzser-nav-bolum + .uzser-nav-bolum { margin-top: 6px; }
.uzser-nav-bolum-baslik {
    font-size: .72rem; font-weight: 600; letter-spacing: .06em; color: var(--uz-sidebar-muted);
    padding: 8px 10px 4px;
}
.uzser-nav-oge {
    display: flex; align-items: center; gap: .65rem; margin: 2px 0; padding: 7px 10px;
    border-radius: var(--uz-radius-sm); border-left: var(--uz-stripe) solid transparent;
    font-size: .875rem; line-height: 1.3; color: var(--uz-sidebar-fg) !important; text-decoration: none !important;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.uzser-nav-oge .bi { opacity: .92; width: 1rem; text-align: center; flex: 0 0 auto; }
.uzser-nav-oge:hover { background: var(--uz-sidebar-hover-bg); color: var(--uz-sidebar-hover-fg) !important; }
.uzser-nav-oge.aktif {
    background: var(--uz-sidebar-active-bg); border-left-color: var(--uz-sidebar-accent);
    color: var(--uz-sidebar-active-fg) !important; font-weight: 600;
}
.uzser-nav-oge:focus-visible { outline: 2px solid var(--uz-sidebar-accent); outline-offset: 1px; }
/* Alt gruplu öğe (Yönetim grupları): düz öğeyle aynı hiza, ok sağda; altı girintili. */
button.uzser-nav-grup {
    width: 100%; background: transparent; border: 0; border-left: var(--uz-stripe) solid transparent;
    text-align: left; font: inherit; font-size: .875rem; line-height: 1.3; cursor: pointer;
}
.uzser-nav-grup .uzser-nav-ok { margin-left: auto; font-size: .7rem; opacity: .7; width: auto; }
.uzser-nav-grup.icinde-aktif { color: var(--uz-sidebar-active-fg) !important; font-weight: 600; }
.uzser-nav-alt { margin: 0 0 4px 14px; padding-left: 8px; border-left: 1px solid var(--uz-sidebar-border); }

/* ===================== Yan menü ===================== */
.uzser-sidebar {
    grid-area: sidebar; background: var(--uz-sidebar-bg); color: var(--uz-sidebar-fg);
    overflow-y: auto; overflow-x: hidden; padding: 10px 0;
    transition: transform .22s ease; border-right: 1px solid var(--uz-sidebar-border);
}
.uzser-nav, .uzser-nav .dxbl-treeview, .uzser-nav .dxbl-scroll-viewer {
    background: transparent !important; border: 0 !important; color: var(--uz-sidebar-fg);
    --dxbl-treeview-font-size: .875rem;
    --dxbl-treeview-item-border-radius: var(--uz-radius-sm);
    --dxbl-treeview-item-spacing-y: .125rem;
    --dxbl-treeview-item-text-wrap: normal;
    --dxbl-treeview-item-content-indent: .65rem;
    --dxbl-treeview-item-hover-bg: var(--uz-sidebar-hover-bg);
    --dxbl-treeview-item-hover-color: var(--uz-sidebar-hover-fg);
    --dxbl-treeview-item-selection-bg: var(--uz-sidebar-active-bg);
    --dxbl-treeview-item-selection-color: var(--uz-sidebar-active-fg);
    --dxbl-treeview-item-selection-focused-color: var(--uz-sidebar-active-fg);
    --dxbl-treeview-item-focus-outline-color: transparent;
    --dxbl-treeview-item-focus-outline-width: 0;
}
.uzser-nav .dxbl-treeview-item-text, .uzser-nav .dxbl-treeview-item-container, .uzser-nav a {
    color: var(--uz-sidebar-fg) !important; text-decoration: none !important;
}
.uzser-nav .dxbl-treeview-item-text {
    white-space: normal !important; overflow: visible !important; text-overflow: clip !important;
    word-break: break-word; line-height: 1.3;
}
.uzser-nav .dxbl-treeview-item-container {
    border-radius: var(--uz-radius-sm); padding: 7px 10px; border-left: var(--uz-stripe) solid transparent;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.uzser-nav .dxbl-treeview-item-container:hover {
    background: var(--uz-sidebar-hover-bg) !important; color: var(--uz-sidebar-hover-fg) !important;
}
.uzser-nav .dxbl-treeview-item-container:hover .dxbl-treeview-item-text { color: var(--uz-sidebar-hover-fg) !important; }
.uzser-nav .dxbl-treeview-item-container.dxbl-active,
.uzser-nav .dxbl-treeview-item-container[aria-selected="true"] {
    background: var(--uz-sidebar-active-bg) !important; border-left-color: var(--uz-sidebar-accent);
}
.uzser-nav .dxbl-treeview-item-container.dxbl-active .dxbl-treeview-item-text,
.uzser-nav .dxbl-treeview-item-container[aria-selected="true"] .dxbl-treeview-item-text {
    color: var(--uz-sidebar-active-fg) !important; font-weight: 600;
}
/* ⚠️ DevExpress seçili öğeyi ayrı bir ::before KATMANIYLA boyuyor. Yalnız
   kapsayıcının arka planını ezmek yetmiyor: üstte blazing-berry'nin MOR dolgusu
   kalıyor ve menü, temanın tek vurgu kuralını ihlal eden bir renk gösteriyordu.
   Canlıda ölçüldü (rgb(95,54,141)); ölçmeden fark edilmesi güç, çünkü öğenin
   kendi background'ı doğru değeri taşıyor. */
.uzser-nav .dxbl-treeview-item-container.dxbl-active::before,
.uzser-nav .dxbl-treeview-item-container[aria-selected="true"]::before,
.uzser-nav .dxbl-treeview-item-container:hover::before {
    background: transparent !important;
    background-color: transparent !important;
}
.uzser-nav .dxbl-treeview-item-container:focus, .uzser-nav .dxbl-treeview-item-container:focus-visible,
.uzser-nav *:focus, .uzser-nav *:focus-visible { outline: none !important; box-shadow: none !important; }
.uzser-nav .bi { margin-right: 9px; opacity: .85; font-size: .95em; width: 18px; display: inline-block; text-align: center; }
.uzser-nav .dxbl-btn:not(.dxbl-btn-primary):not(.dxbl-btn-secondary):not(.dxbl-btn-link) {
    background: transparent !important; border: 0 !important; box-shadow: none !important;
    color: var(--uz-sidebar-muted) !important; min-width: 0 !important;
}
.uzser-nav .dxbl-btn svg { fill: currentColor !important; }

/* ===================== İçerik ===================== */
.uzser-main { grid-area: main; background: var(--uz-content-bg); overflow-y: auto; overflow-x: hidden; }
/* ⚠️ 11-06 kullanıcı: "body ekranı kaplamıyor; kenar çubuğu küçültülünce sağda solda çok boşluk". Eskiden en çok 1600px
   ortalanıyordu: geniş ekranda ve daraltılmış kenar çubuğunda iki yanda boş şerit kalıyordu. İçerik artık ana alanın
   tamamını kaplar; okunaklılık için dar tutulan form sayfaları kendi sınırını taşır. */
.uzser-content { padding: 20px 24px 40px; width: 100%; max-width: none; margin: 0; }
.uzser-scrim { position: fixed; inset: 0; background: rgba(6, 9, 13, .55); z-index: 25; }

/* Dar ekran (drawer) */
.uzser-shell.compact { grid-template-columns: 1fr; grid-template-areas: "header" "main"; }
.uzser-shell.compact .uzser-sidebar {
    position: fixed; top: var(--uz-header-h); left: 0; bottom: 0; width: var(--uz-sidebar-w);
    transform: translateX(-100%); z-index: 26; box-shadow: var(--uz-shadow-float);
}
.uzser-shell.compact.nav-open .uzser-sidebar { transform: translateX(0); }
/* ⚠️ `compact` sınıfı DxLayoutBreakpoint'ten, yani Blazor bağlandıktan SONRA gelir: o ana kadar telefonda masaüstü
   ızgarası çiziliyor, sınıf gelince menü 0,22 sn kayarak kapanıyordu (her tam yüklemede menü flaşı, 2026-10-16
   görsel denetim). Aynı kurallar medya sorgusuyla baştan geçerli; kesme noktası DxLayoutBreakpoint MaxWidth ile aynı. */
@media (max-width: 992px) {
    .uzser-shell, .uzser-shell.dar { grid-template-columns: minmax(0, 1fr); grid-template-areas: "header" "main"; }
    .uzser-shell .uzser-sidebar, .uzser-shell.dar .uzser-sidebar {
        position: fixed; top: var(--uz-header-h); left: 0; bottom: 0; width: var(--uz-sidebar-w);
        transform: translateX(-100%); z-index: 26; box-shadow: var(--uz-shadow-float);
    }
    .uzser-shell.nav-open .uzser-sidebar { transform: translateX(0); }
    .uzser-burger-item { display: inline-flex !important; }
    /* Çekmecede simge modu anlamsız (MainLayout.SimgeModu da kapatır); düğmesi yalnız yer kaplıyordu. */
    .uzser-simge-dugme { display: none !important; }
}
/* Telefonda üst çubuğun sağ grubu sığmıyordu (191 > 182 px): kişi rozeti ve ayıracı gizlenir. */
@media (max-width: 480px) {
    .uzser-header .uzser-badge { display: none; }
}

/* ===================== Sayfa başlığı ===================== */
.uzser-page-header {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    margin-bottom: 18px; flex-wrap: wrap;
}
/* ⚠️ TEK sayfa başlığı biçimi (2026-10-16 görsel denetim): başlıklar altı ayrı biçimdeydi (18/500, 20/700, 22/700 +
   sol şerit, 20/800, 22/800, 24,5/500 …). Sayfa başlığı = kılavuz (?) düğmesini taşıyan başlık; sayfaya özgü başlık
   kuralları (uz-raporlar-bas, uz-kzn-arac …) boyut/ağırlık vermez, yalnız boşluk. Kahraman başlıklar (profil adı,
   çalıştırılan tanımın adı) ve sohbetin karşılama başlığı bu biçimin dışında. */
.uzser-page-header h1, .uzser-page-header h3,
.uzser-content :is(h1, h2, h3, h4):has(> .uz-kilavuz-dugme):not(.uz-profil-ad h3):not(.uz-calistir-ad h3):not(.uzser-ai-empty h2) {
    font-size: 21px; font-weight: 650; color: var(--uz-ink); letter-spacing: -.3px; line-height: 1.25;
}
.uzser-page-header h1, .uzser-page-header h3 { margin: 0; }
/* Başlık düğmeleri metnini kırmaz ("Yerleşik / Katalog" iki satıra iniyordu); sığmayan düğme alt satıra geçer. */
.uzser-page-header .dxbl-btn, .uzser-page-header .btn { white-space: nowrap; }
.uzser-page-header > div:last-child { flex-wrap: wrap; }
@media (max-width: 768px) {
    .uzser-page-header h1, .uzser-page-header h3,
    .uzser-content :is(h1, h2, h3, h4):has(> .uz-kilavuz-dugme):not(.uz-profil-ad h3):not(.uz-calistir-ad h3):not(.uzser-ai-empty h2) {
        font-size: 19px;
    }
}
.uzser-page-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.text-muted, .uzser-page-header p { color: var(--uz-ink-soft) !important; }

/* ===================== Bant sistemi (eski "kart") ===================== */
.uzser-card, .card {
    border: 1px solid var(--uz-border); border-radius: var(--uz-radius);
    background: var(--uz-surface); box-shadow: var(--uz-shadow-sm); color: var(--uz-ink);
}
.uzser-card { padding: 18px 20px; margin-bottom: 18px; }
.card-header {
    font-weight: 600; color: var(--uz-ink);
    background: transparent; border-bottom: 1px solid var(--uz-border);
}
.card-body { color: var(--uz-ink); }
/* Başlıklı bant (Kredi satın al, Bağlantılar, Ödeme sonucu): başlığın stili yoktu ve gövdenin p-3'ü bandın kendi iç
   boşluğuna ekleniyor, gövde başlıktan içeride duruyordu. İç boşluğu başlık ve gövde taşır. */
.uzser-card:has(> .uzser-card-header) { padding: 0; }
.uzser-card-header { padding: 12px 16px; font-weight: 600; color: var(--uz-ink); border-bottom: 1px solid var(--uz-border); }
.uzser-stat {
    background: var(--uz-surface); border: 1px solid var(--uz-border);
    border-radius: var(--uz-radius); padding: 16px 18px; box-shadow: var(--uz-shadow-sm);
}
.uzser-stat .v { font-size: 24px; font-weight: 700; color: var(--uz-ink); letter-spacing: -.6px; }
.uzser-stat .l { font-size: 13px; color: var(--uz-ink-soft); }

/* ===================== DevExpress Grid (liste) ===================== */
.dxbl-grid {
    --dxbl-grid-cell-padding-y: .5rem;
    border: 1px solid var(--uz-border) !important; border-radius: var(--uz-radius);
    overflow: hidden; background: var(--uz-surface); color: var(--uz-ink); font-size: 13.5px;
}
.dxbl-grid .dxbl-grid-header th, .dxbl-grid thead th {
    background: var(--uz-grid-head-bg) !important; color: var(--uz-ink-soft) !important; font-weight: 600 !important;
    font-size: 12.5px; border-bottom: 1px solid var(--uz-border) !important; white-space: nowrap;
}
/* ⚠️ Izgaranın kendi zemini yetmiyor: DevExpress içeride AYRI katmanlar çiziyor
   (kaydırma görüntüleyici, tablo, thead, sütun tanımları) ve her biri kendi
   beyazını taşıyor. Bunlar saydamlaştırılmazsa koyu temada satırlar BEYAZ kalır
   ve üzerlerindeki açık metin okunmaz olur — canlıda tam olarak bu görüldü. */
.dxbl-grid .dxbl-scroll-viewer,
.dxbl-grid .dxbl-scroll-viewer-content,
.dxbl-grid .dxbl-grid-table,
.dxbl-grid table,
.dxbl-grid thead,
.dxbl-grid tbody,
.dxbl-grid col,
.dxbl-grid .dxbl-grid-empty-cell {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--uz-ink);
}
.dxbl-grid tbody tr > td { background: transparent; color: var(--uz-ink); }
.dxbl-grid tbody tr:nth-child(even) > td { background: var(--uz-row-alt); }
.dxbl-grid tbody tr:hover > td { background: var(--uz-row-hover) !important; }
.dxbl-grid tbody td { border-bottom: 1px solid var(--uz-border-soft) !important; vertical-align: middle; }
.dxbl-grid .dxbl-pager {
    padding: 8px 10px; border-top: 1px solid var(--uz-border);
    background: var(--uz-surface); color: var(--uz-ink-soft);
}

/* Satır başındaki durum şeridi — listelerde durumu RENKLE değil, konumla
   da okunur kılar. `uz-row-<durum>` sınıfı taşıyan satırlarda görünür. */
.uz-row-ok      > td:first-child { box-shadow: inset var(--uz-stripe) 0 0 0 var(--uz-ok); }
.uz-row-warn    > td:first-child { box-shadow: inset var(--uz-stripe) 0 0 0 var(--uz-warn); }
.uz-row-danger  > td:first-child { box-shadow: inset var(--uz-stripe) 0 0 0 var(--uz-danger); }
.uz-row-info    > td:first-child { box-shadow: inset var(--uz-stripe) 0 0 0 var(--uz-info); }

/* ===================== Rozetler (pill) ===================== */
.uz-pill {
    display: inline-block; padding: 2px 10px; border-radius: var(--uz-radius-sm);
    font-size: 12px; font-weight: 600; line-height: 1.6; white-space: nowrap;
}
.uz-pill-green { background: var(--uz-ok-soft);      color: var(--uz-ok); }
.uz-pill-blue  { background: var(--uz-info-soft);    color: var(--uz-info); }
.uz-pill-amber { background: var(--uz-warn-soft);    color: var(--uz-warn); }
.uz-pill-red   { background: var(--uz-danger-soft);  color: var(--uz-danger); }
.uz-pill-gray  { background: var(--uz-neutral-soft); color: var(--uz-neutral); }

/* ===================== Butonlar ===================== */
.dxbl-btn { border-radius: var(--uz-radius-sm) !important; }
/* Anlam sınıfı taşımayan butonları nötr yap — tek-primary hiyerarşisi.
   ⚠️ `.dxbl-btn-tool`, `.dxbl-btn-text-secondary` ve girdi içi düğmeler DIŞARIDA:
   bunlar buton değil ARAYÜZ PARÇASI (menüdeki genişlet/daralt oku, ızgara
   sayfalayıcısı, combo'nun açılır oku, alan temizleme çarpısı). Nötr kurala
   yakalandıklarında kutulanıyorlar — ok olması gereken yerde düğme görünüyordu.

   ⚠️ Combo oku özellikle sinsiydi: `.dxbl-btn-outline-secondary` sınıfı taşıdığı
   için bu kurala giriyor, KOYU temada yüzey rengi girdiyle aynı olduğundan
   görünmüyor, AÇIK temada beyaz kutu + çerçeve olarak ortaya çıkıyordu. Tek
   temaya bakarak fark edilmesi mümkün değildi. */
.dxbl-btn:not(.dxbl-btn-primary):not(.dxbl-btn-secondary):not(.dxbl-btn-success):not(.dxbl-btn-danger):not(.dxbl-btn-warning):not(.dxbl-btn-info):not(.dxbl-btn-light):not(.dxbl-btn-dark):not(.dxbl-btn-link):not(.dxbl-btn-tool):not(.dxbl-btn-text-secondary):not(.dxbl-edit-btn-dropdown):not(.dxbl-edit-btn-clear):not(.dxbl-edit-btn-spin-up):not(.dxbl-edit-btn-spin-down) {
    background: var(--uz-surface) !important; border: 1px solid var(--uz-border) !important; color: var(--uz-ink) !important;
}
.dxbl-btn:not(.dxbl-btn-primary):not(.dxbl-btn-secondary):not(.dxbl-btn-success):not(.dxbl-btn-danger):not(.dxbl-btn-warning):not(.dxbl-btn-info):not(.dxbl-btn-light):not(.dxbl-btn-dark):not(.dxbl-btn-link):not(.dxbl-btn-tool):not(.dxbl-btn-text-secondary):not(.dxbl-edit-btn-dropdown):not(.dxbl-edit-btn-clear):not(.dxbl-edit-btn-spin-up):not(.dxbl-edit-btn-spin-down):hover {
    background: var(--uz-row-hover) !important;
}

/* Araç/metin butonları: çerçevesiz, zeminsiz — yalnız simge. */
.dxbl-btn-tool, .dxbl-btn-text-secondary {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--uz-ink-soft) !important;
}
.dxbl-btn-tool:hover, .dxbl-btn-text-secondary:hover {
    background: var(--uz-row-hover) !important; color: var(--uz-ink) !important;
}
/* Kenar çubuğunda zemin bile verilmez: menü satırının kendi vurgusu yeter. */
.uzser-sidebar .dxbl-btn-tool, .uzser-sidebar .dxbl-btn-text-secondary,
.uzser-nav .dxbl-btn-tool, .uzser-nav .dxbl-btn-text-secondary {
    color: var(--uz-sidebar-muted) !important;
}
.uzser-sidebar .dxbl-btn-tool:hover, .uzser-nav .dxbl-btn-tool:hover {
    background: transparent !important; color: var(--uz-sidebar-hover-fg) !important;
}
.dxbl-btn-secondary { background: var(--uz-surface) !important; border: 1px solid var(--uz-border) !important; color: var(--uz-ink) !important; }
.dxbl-btn-secondary:hover { background: var(--uz-row-hover) !important; }
.dxbl-btn-primary {
    background: var(--uz-brand) !important; border-color: var(--uz-brand) !important;
    color: var(--uz-brand-fg) !important;
}
.dxbl-btn-primary:hover { background: var(--uz-brand-dark) !important; border-color: var(--uz-brand-dark) !important; }
.dxbl-btn-link { color: var(--uz-brand) !important; }

/* ===================== Pasif butonlar (11-11) =====================
   ⚠️ Yukarıdaki renk kuralları !important ve :disabled ayrımı yok: pasif birincil düğme tam marka renginde,
   üstüne gelince koyulaşarak görünüyordu — yalnız imleç değişiyordu (Bootstrap .btn'de pointer-events:none olduğu
   için o bile değil). Burada HER buton türü pasifken soluk, gri tonlu ve tıklanamaz görünür; neden pasif olduğu
   ekranda ayrıca yazılır (ör. MusteriProfili BaslatmaEngeli). Sıra önemli: bu blok renk kurallarından SONRA gelmeli. */
.dxbl-btn:disabled, .dxbl-btn.dxbl-disabled, .dxbl-btn[aria-disabled="true"],
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
    opacity: .45 !important;
    filter: grayscale(.6);
    cursor: not-allowed !important;
    box-shadow: none !important;
}
.dxbl-btn-primary:disabled, .dxbl-btn-primary.dxbl-disabled,
.dxbl-btn-primary:disabled:hover, .dxbl-btn-primary.dxbl-disabled:hover {
    background: var(--uz-brand) !important; border-color: var(--uz-brand) !important;
}
.dxbl-btn-secondary:disabled:hover, .dxbl-btn-secondary.dxbl-disabled:hover { background: var(--uz-surface) !important; }
/* Bootstrap .btn pasifken olay almaz (pointer-events:none) → imleç ve title görünmez. Olayı geri açıp tıklamayı
   tarayıcının disabled'ı engeller; böylece ipucu (title) ile neden pasif olduğu okunabilir. */
.btn:disabled { pointer-events: auto !important; }
/* Zorunlu onay kutusu: işaretlenene kadar vurgulu. */
.uz-zorunlu-onay { padding: .4rem .6rem .4rem 2rem; border: 1px dashed var(--uz-warn); border-radius: var(--uz-radius-sm); background: var(--uz-warn-soft); }
.uz-zorunlu-onay.tamam { border-style: solid; border-color: var(--uz-border); background: transparent; }
.uz-zorunlu-isaret { color: var(--uz-danger); font-weight: 600; margin-left: .25rem; }
.uz-zorunlu-onay.tamam .uz-zorunlu-isaret { display: none; }
.uz-engel-notu { max-width: 60%; }
.uz-tarama-sira ol li { margin-bottom: .1rem; }

/* ===================== DevExpress yüzey köprüsü =====================
   ⚠️ DevExpress temasının 1700'den fazla değişkeni var; hepsini eşlemek bu
   turun işi değil. Burada yalnız KABUK ve LİSTELERİN dokunduğu yüzeyler
   bağlanır: metin kutuları (giriş ekranı bunlarla kuruluyor), açılır listeler
   ve popup'lar. Bunlar bağlanmazsa koyu temada form alanları BEYAZ kalır ve
   üzerlerindeki açık renkli etiket okunmaz olur — giriş ekranında tam olarak
   bu oluyordu.

   Kalanı (takvim, sihirbaz, grafik) bir sonraki tur. */
.dxbl-edit, .dxbl-text-edit, .dxbl-memo, .dxbl-combobox, .dxbl-spin-edit, .dxbl-date-edit {
    --dxbl-text-edit-bg: var(--uz-surface);
    --dxbl-text-edit-color: var(--uz-ink);
    --dxbl-text-edit-border-color: var(--uz-border);
    background: var(--uz-surface) !important;
    color: var(--uz-ink) !important;
    border-color: var(--uz-border) !important;
    border-radius: var(--uz-radius-sm) !important;
}
.dxbl-edit input, .dxbl-edit textarea, .dxbl-edit-input,
input.dxbl-textbox, textarea.dxbl-memo-input {
    background: transparent !important;
    color: var(--uz-ink) !important;
}
.dxbl-edit input::placeholder, .dxbl-edit textarea::placeholder { color: var(--uz-ink-faint) !important; }
.dxbl-edit:focus-within { border-color: var(--uz-brand) !important; box-shadow: none !important; }

/* DxFormLayout GRUBU (DxFormLayoutGroup) — kendi BEYAZINI taşıyor.
   ⚠️ Ölçüldü: .dxbl-group.expanded → rgb(255,255,255). Koyu temada grubun içindeki
   etiketler --uz-ink-soft ile çizildiği için beyaz zeminde 2.53 kontrasta düşüyor,
   yani okunmuyor. Kap saydam bırakılır: arkasındaki yüzey neyse onu alsın.
   Başlık şeridi de aynı sebeple jetona bağlanır. */
.dxbl-group, .dxbl-group-body, .dxbl-group-body-content { background: transparent !important; }
.dxbl-group > .dxbl-group-header, .dxbl-group-header {
    background: var(--uz-surface-sunk) !important;
    color: var(--uz-ink) !important;
    border-color: var(--uz-border) !important;
}

/* Form etiketleri (DxFormLayoutItem Caption) — koyu zeminde okunmalı. */
.dxbl-fl-cpt, .dxbl-fl-cpt label, .dxbl-form-layout label { color: var(--uz-ink-soft) !important; }

/* Kapalı combo: sağdaki ok düğmesi.
   ⚠️ Düğmenin ARKASINDAKİ grup kabı kendi beyazını taşıyor (ölçüldü:
   .dxbl-btn-group → rgb(255,255,255)) ve düğmenin 1px kenarı var. İkisi birden,
   koyu girdi alanının içinde beyaz bir kutu ve çerçeve bırakıyordu. Ok bir
   düğme değil, alanın parçası. */
.dxbl-edit .dxbl-btn-group,
.dxbl-text-edit .dxbl-btn-group,
.dxbl-edit .dxbl-btn-group-right,
/* Sayısal alanın artır/azalt grubu — aynı sorun, ayrı sınıf adı. */
.dxbl-spin-btns, .dxbl-btn-group-vertical {
    background: transparent !important;
    background-color: transparent !important;
}
.dxbl-edit-btn-dropdown,
.dxbl-edit .dxbl-btn-outline-secondary,
.dxbl-edit .dxbl-edit-btn-clear {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--uz-ink-soft) !important;
}
.dxbl-edit-btn-dropdown:hover,
.dxbl-edit .dxbl-btn-outline-secondary:hover {
    background: var(--uz-row-hover) !important; color: var(--uz-ink) !important;
}

/* Açılan liste. ⚠️ Sınıf adları TAHMİN edilmedi, açık combo üzerinde ölçüldü:
   dış kap `dxbl-dropdown-dialog`, içi `dxbl-list-box-render-container` ve onun
   içinde ayrıca kendi beyazını taşıyan bir kaydırma görüntüleyici var. Üçü
   birden boyanmazsa liste koyu temada beyaz açılır. */
dxbl-dropdown-dialog, .dxbl-dropdown-dialog, .dxbl-edit-dropdown,
.dxbl-list-box-render-container,
.dxbl-dropdown-dialog .dxbl-scroll-viewer,
.dxbl-dropdown-dialog .dxbl-scroll-viewer-content,
.dxbl-edit-dropdown .dxbl-scroll-viewer,
.dxbl-edit-dropdown .dxbl-scroll-viewer-content {
    background: var(--uz-surface-alt) !important;
    background-color: var(--uz-surface-alt) !important;
    color: var(--uz-ink) !important;
    border-color: var(--uz-border) !important;
}
.dxbl-list-box-item, .dxbl-list-box-item td { color: var(--uz-ink) !important; }
.dxbl-list-box-item:hover { background: var(--uz-row-hover) !important; }
/* ⚠️ Seçili satırı DevExpress yine ayrı bir ::before katmanıyla boyuyor —
   menüdeki mor dolgunun aynısı (ölçüldü: rgb(95,54,141)). Satırın kendi
   arka planını ezmek yetmez. */
.dxbl-list-box-item-selected::before,
.dxbl-list-box-item-focused::before,
.dxbl-list-box-item:hover::before {
    background: transparent !important;
    background-color: transparent !important;
}
.dxbl-list-box-item-selected {
    background: var(--uz-brand-soft) !important; color: var(--uz-ink) !important;
}

/* Takvim.
   ⚠️ DevExpress'in ÜÇÜNCÜ ::before vakası (menü öğesi ve liste satırından sonra):
   "bugün" ve seçili gün ayrı bir katmanla mor boyanıyor (ölçüldü: rgb(95,54,141)).
   Hücrenin kendi arka planı saydam olduğu için ölçmeden fark edilmiyor. */
.dxbl-calendar-day::before,
.dxbl-calendar-today::before,
.dxbl-calendar-day-selected::before,
.dxbl-calendar-selected::before {
    background: transparent !important;
    background-color: transparent !important;
}
/* Bugün: dolgu değil ÇERÇEVE — seçili günle karışmasın.
   ⚠️ Burada mor, ::before'dan DEĞİL `border` ve `outline`'dan geliyordu. Yalnız
   arka plan rengine bakan bir denetim bunu "temiz" sanır; üç özelliği de
   bağlamak gerekiyor. */
.dxbl-calendar-today {
    border-color: var(--uz-brand) !important;
    outline-color: var(--uz-brand) !important;
    box-shadow: none !important;
    border-radius: var(--uz-radius-sm);
}
.dxbl-calendar-day-selected, .dxbl-calendar-selected, .dxbl-calendar-selected-item {
    background: var(--uz-brand-soft) !important; color: var(--uz-ink) !important;
    border-color: var(--uz-brand) !important; outline-color: var(--uz-brand) !important;
}
/* Odak halkası da aynı vurgudan. */
.dxbl-calendar-day:focus, .dxbl-calendar-day:focus-visible,
.dxbl-calendar-cell:focus, .dxbl-calendar-cell:focus-visible {
    outline-color: var(--uz-brand) !important;
}
.dxbl-calendar-day:hover { background: var(--uz-row-hover) !important; }
.dxbl-calendar-header, .dxbl-calendar-footer {
    background: transparent !important; color: var(--uz-ink) !important;
}
.dxbl-calendar-days-of-week, .dxbl-calendar-week-number { color: var(--uz-ink-faint) !important; }
.dxbl-calendar-other-month { color: var(--uz-ink-faint) !important; }

/* Yüzen katmanlar: açılır liste, popup, pencere. */
.dxbl-dropdown, .dxbl-popup, .dxbl-window, .dxbl-listbox, .dxbl-calendar {
    --dxbl-dropdown-bg: var(--uz-surface-alt);
    --dxbl-dropdown-color: var(--uz-ink);
    --dxbl-dropdown-border-color: var(--uz-border);
    --dxbl-list-box-bg: var(--uz-surface-alt);
    --dxbl-list-box-color: var(--uz-ink);
    --dxbl-list-box-border-color: var(--uz-border);
    --dxbl-list-box-item-hover-bg: var(--uz-row-hover);
    --dxbl-list-box-item-hover-color: var(--uz-ink);
    --dxbl-list-box-item-active-bg: var(--uz-brand-soft);
    --dxbl-list-box-item-active-color: var(--uz-ink);
    --dxbl-calendar-bg: var(--uz-surface-alt);
    --dxbl-calendar-color: var(--uz-ink);
    --dxbl-calendar-border-color: var(--uz-border);
    background-color: var(--uz-surface-alt) !important;
    color: var(--uz-ink) !important;
    border-color: var(--uz-border) !important;
}
.dxbl-popup-header, .dxbl-window-header {
    background: var(--uz-surface-alt) !important; color: var(--uz-ink) !important;
    border-bottom: 1px solid var(--uz-border) !important;
}
.dxbl-popup-body, .dxbl-window-body { background: var(--uz-surface-alt) !important; color: var(--uz-ink) !important; }

/* Modal (diyalog) ailesi.
   ⚠️ Gövdeyi taşıyan sınıf `dxbl-modal-content`; `dxbl-popup`/`dxbl-window`
   köprüsü ona ULAŞMIYORDU ve diyaloglar koyu temada bembeyaz açılıyordu.
   Sınıf adları açık bir diyalog üzerinde sayıldı, tahmin edilmedi. */
.dxbl-modal-content, .dxbl-modal-header, .dxbl-modal-body, .dxbl-modal-footer {
    background: var(--uz-surface-alt) !important;
    background-color: var(--uz-surface-alt) !important;
    color: var(--uz-ink) !important;
    border-color: var(--uz-border) !important;
}
.dxbl-modal-content { border-radius: var(--uz-radius) !important; box-shadow: var(--uz-shadow-float) !important; }
.dxbl-modal-header, .dxbl-modal-footer { border-color: var(--uz-border) !important; }
.dxbl-modal-title { color: var(--uz-ink) !important; }
/* Perde: ekranın geri kalanını bastırır — açık temada da koyu olmalı. */
.dxbl-modal-back, .dxbl-popup-backdrop { background: rgba(6, 9, 13, .55) !important; }

/* ===================== Bootstrap yardımcı sınıfları =====================
   ⚠️ Sayfalar bu sınıfları doğrudan kullanıyor (`badge bg-light`, `table` …) ve
   Bootstrap onları SABİT açık renklerle boyuyor. Jetona bağlanmazlarsa koyu
   temada tek tek beyaz lekeler kalır — sayfa sayfa avlamak yerine burada,
   tek yerde karşılanır. */
.bg-white, .bg-light {
    background-color: var(--uz-surface-sunk) !important;
    color: var(--uz-ink) !important;
}
.text-dark { color: var(--uz-ink) !important; }
/* Aynı sebeple: `btn-light` (E-posta Kuyruğu durum kutucukları) ve breadcrumb koyu temada açık gri zeminde kalıyordu
   (kontrast 2,14 / 1,97); vurgu zeminindeki beyaz yazı da (sihirbaz adım dairesi) açık vurguda okunmuyordu (2,57). */
.btn-light {
    --bs-btn-bg: var(--uz-surface-sunk); --bs-btn-color: var(--uz-ink); --bs-btn-border-color: var(--uz-border);
    --bs-btn-hover-bg: var(--uz-row-hover); --bs-btn-hover-color: var(--uz-ink); --bs-btn-hover-border-color: var(--uz-border);
    --bs-btn-active-bg: var(--uz-brand-soft); --bs-btn-active-color: var(--uz-ink); --bs-btn-active-border-color: var(--uz-brand);
}
.breadcrumb { background: transparent !important; padding: 0; }
.breadcrumb-item, .breadcrumb-item.active { color: var(--uz-ink-soft); }
.breadcrumb-item + .breadcrumb-item::before { color: var(--uz-ink-faint); }
.bg-primary.text-white, .text-bg-primary { color: var(--uz-brand-fg) !important; }
.text-body-secondary, .text-secondary { color: var(--uz-ink-soft) !important; }
.border, .border-top, .border-bottom, .border-start, .border-end { border-color: var(--uz-border) !important; }

.table > thead th, .table-light, .table-light > th, .table-light > td {
    background-color: var(--uz-grid-head-bg) !important;
    color: var(--uz-ink-soft) !important;
    border-color: var(--uz-border) !important;
}

/* Yatay kayan tablolarda başlık kırılmaz: telefonda "Farklı / hesap", "Son / deneme" üç satıra iniyordu (Güvenlik). */
.table-responsive .table > thead th { white-space: nowrap; }

.progress { background-color: var(--uz-neutral-soft); }
/* ⚠️ İlerleme çubuğu Bootstrap'in kendi birincil rengini alıyordu — blazing-berry
   moru. Tek vurgu kuralı gereği bizim vurgumuz olmalı. */
.progress-bar { background-color: var(--uz-brand) !important; }

/* Sekmeler (nav-tabs) dar ekranda alt alta düşüyordu (Şirket Belleği): etkin çizgi yalnız ilkinin altında kalıyor,
   ikinci sekme ayrı satırda bağlantı gibi görünüyordu. Tek satır, sığmazsa yatay kayar. */
.nav-tabs { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.nav-tabs .nav-link { white-space: nowrap; }

/* ===================== DevExpress onay kutusu =====================
   Kutunun kendisi sınıfsız bir iç DIV; dışarıdaki sınıf işaretli durumu söyler
   (ölçüldü: .dxbl-checkbox-display-view-checked). İç DIV boyanmazsa koyu temada
   beyaz kare olarak kalır. */
.dxbl-checkbox > div {
    background: var(--uz-surface) !important;
    border-color: var(--uz-border) !important;
}
.dxbl-checkbox-checked > div,
.dxbl-checkbox-display-view-checked > div,
.dxbl-checkbox-indeterminate > div {
    background: var(--uz-brand) !important;
    border-color: var(--uz-brand) !important;
    color: var(--uz-brand-fg) !important;
}

/* ===================== Grafikler (DevExpress SVG) =====================
   Seri renkleri C# tarafındaki ortak paletten gelir (UzChartPalette); burada
   yalnız grafiğin ÇEVRESİ — yazı, ızgara, eksen — temaya bağlanır.

   ⚠️ DevExpress eksen yazılarının rengini SATIR İÇİ stille yazıyor
   (ölçüldü: `style="fill: rgba(33,37,41,.75)"`). Satır içi stili yalnız
   `!important` taşıyan bir kural yenebilir; onsuz etiketler koyu zeminde
   neredeyse siyah kalıyor ve grafik okunmuyordu. */
.dxc-chart text, .dxbl-chart-root text, .dxbl-pie-chart text {
    fill: var(--uz-ink-soft) !important;
}
/* Izgara ve eksen çizgileri öznitelikle geliyor (#d3d3d3 / #767676) — koyu
   zeminde fazla parlak. Yalnız bu gruplar hedeflenir; seri çizgisi kapsam
   dışıdır, aksi hâlde grafiğin kendi rengi de gri olurdu. */
.dxc-grids-group path, .dxc-val-grid path, .dxc-arg-grid path,
.dxc-axes-group path, .dxc-border path {
    stroke: var(--uz-border) !important;
}
.dxc-background { fill: transparent !important; }

/* ===================== Sekmeler ===================== */
.dxbl-tabs .dxbl-tab.dxbl-active { font-weight: 600; }
.dxbl-tabs .dxbl-tab.dxbl-active::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background: var(--uz-brand); }

/* ===================== Boş durum ===================== */
.uzser-empty {
    text-align: center; color: var(--uz-ink-soft); padding: 36px 16px;
    border: 1px dashed var(--uz-border); border-radius: var(--uz-radius); background: var(--uz-surface-sunk);
}
.uzser-empty i { font-size: 28px; opacity: .5; display: block; margin-bottom: 8px; }

/* ===================== Giriş ekranı ===================== */
.uzser-login-shell {
    min-height: 100dvh; display: flex; align-items: center; justify-content: center;
    background: var(--uz-content-bg); padding: 16px;
}
.uzser-login-card {
    background: var(--uz-surface); padding: 32px 28px; width: min(420px, 100%);
    border: 1px solid var(--uz-border); border-radius: var(--uz-radius); box-shadow: var(--uz-shadow-sm);
}
/* Giriş ekranı (GirisEkrani.razor): solda marka paneli, sağda form.
   Marka paneli LOGO renklerini kullanır (lacivert #223a65 + turuncu #fc5f00) ve iki temada da
   lacivert kalır; form tarafı uygulamanın tema jetonlarını izler. */
.uz-giris {
    --giris-lacivert: #223a65;
    --giris-lacivert-koyu: #14223d;
    --giris-turuncu: #fc5f00;
    --giris-turuncu-acik: #ff9a57;   /* lacivert zeminde okunur turuncu */
    --giris-odak: #223a65;
    --giris-hata-zemin: #fdecea;
    --giris-hata-cizgi: #f5c2bd;
    --giris-hata-yazi: #a4231a;

    min-height: 100vh; min-height: 100dvh;
    display: grid; grid-template-columns: minmax(400px, 46%) 1fr;
    background: var(--uz-surface);
}
@media (prefers-color-scheme: dark) {
    :root:not([data-uz-theme="light"]) .uz-giris {
        --giris-odak: #8fa6d6; --giris-hata-zemin: #3a1d1d; --giris-hata-cizgi: #6b2c2c; --giris-hata-yazi: #f7b4ad;
    }
}
:root[data-uz-theme="dark"] .uz-giris {
    --giris-odak: #8fa6d6; --giris-hata-zemin: #3a1d1d; --giris-hata-cizgi: #6b2c2c; --giris-hata-yazi: #f7b4ad;
}

/* ---- marka paneli ---- */
.uz-giris-marka {
    position: relative; overflow: hidden; color: #fff;
    background:
        radial-gradient(120% 70% at 100% 0%, rgba(252, 95, 0, .16) 0%, rgba(252, 95, 0, 0) 55%),
        linear-gradient(160deg, var(--giris-lacivert) 0%, var(--giris-lacivert-koyu) 100%);
}
.uz-giris-ag {
    position: absolute; inset: 0; width: 100%; height: 100%;
    /* Motif yalnız üst bölümde: metnin arkasına düşen çizgi okumayı bozuyordu. */
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 30%, transparent 58%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 30%, transparent 58%);
}
.uz-giris-ag-cizgi path { fill: none; stroke: rgba(255, 255, 255, .10); stroke-width: 2; }
.uz-giris-ag-dugum circle { fill: var(--giris-lacivert-koyu); stroke: rgba(255, 255, 255, .28); stroke-width: 2; }
.uz-giris-ag-vurgu circle { fill: var(--giris-turuncu); }

.uz-giris-marka-ic {
    position: relative; height: 100%;
    display: flex; flex-direction: column; gap: 40px;
    padding: 48px 56px;
}
.uz-giris-logo { height: 52px; width: auto; align-self: flex-start; }
.uz-giris-tez { margin-top: auto; }
.uz-giris-ust {
    margin: 0 0 12px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
    color: var(--giris-turuncu-acik);
}
.uz-giris-tez h2 {
    margin: 0 0 14px; max-width: 20ch;
    font-size: clamp(26px, 2.5vw, 36px); line-height: 1.18; font-weight: 750; letter-spacing: -.02em;
    text-wrap: balance; color: #fff;
}
.uz-giris-aciklama { margin: 0; max-width: 46ch; font-size: 15px; line-height: 1.6; color: rgba(255, 255, 255, .74); }

.uz-giris-maddeler { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; max-width: 46ch; }
.uz-giris-maddeler li { display: flex; gap: 14px; align-items: flex-start; }
.uz-giris-maddeler .bi {
    flex: 0 0 36px; height: 36px; border-radius: 10px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12);
    color: var(--giris-turuncu-acik); font-size: 17px;
}
.uz-giris-maddeler span { font-size: 13.5px; line-height: 1.5; color: rgba(255, 255, 255, .66); }
.uz-giris-maddeler b { display: block; font-size: 14.5px; font-weight: 650; color: #fff; margin-bottom: 1px; }
.uz-giris-imza { margin: 0; font-size: 12px; letter-spacing: .02em; color: rgba(255, 255, 255, .42); }

/* ---- form ---- */
.uz-giris-form-alani {
    position: relative;
    display: flex; align-items: center; justify-content: center;
    padding: 48px 24px; background: var(--uz-surface);
}
/* Dil seçimi oturum açmadan da görünür olmalı: form alanının sağ üst köşesi. */
.uz-giris-dil {
    position: absolute; top: 20px; right: 24px;
    display: inline-flex; align-items: center; gap: 8px;
    color: var(--uz-ink-soft); font-size: 18px;
}
.uz-giris-form { width: min(400px, 100%); display: flex; flex-direction: column; gap: 20px; }
.uz-giris-logo-mobil { display: none; }
.uz-giris-form header h1 {
    margin: 0 0 6px; font-size: 28px; font-weight: 750; letter-spacing: -.02em; color: var(--uz-ink);
}
.uz-giris-form header p { margin: 0; font-size: 15px; color: var(--uz-ink-soft); }

.uz-giris-alan { display: flex; flex-direction: column; gap: 7px; }
.uz-giris-alan label { font-size: 13px; font-weight: 650; color: var(--uz-ink); }
.uz-giris-girdi { position: relative; }
.uz-giris-girdi > .bi {
    position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
    color: var(--uz-ink-faint); font-size: 16px; pointer-events: none;
}
.uz-giris-girdi input {
    width: 100%; height: 48px; padding: 0 46px 0 42px;
    border: 1px solid var(--uz-border); border-radius: 10px;
    background: var(--uz-surface-sunk); color: var(--uz-ink); font-size: 15px;
    transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.uz-giris-girdi input::placeholder { color: var(--uz-ink-faint); }
.uz-giris-girdi input:focus {
    outline: none; background: var(--uz-surface);
    border-color: var(--giris-odak); box-shadow: 0 0 0 3px color-mix(in srgb, var(--giris-odak) 22%, transparent);
}
.uz-giris-girdi input:disabled { opacity: .65; }
.uz-giris-goster {
    position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
    width: 36px; height: 36px; border: 0; border-radius: 8px; background: transparent;
    color: var(--uz-ink-soft); display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
.uz-giris-goster:hover { background: var(--uz-surface-sunk); color: var(--uz-ink); }
.uz-giris-goster:focus-visible { outline: 2px solid var(--giris-odak); outline-offset: 1px; }

.uz-giris-dugme {
    margin-top: 4px; height: 50px; border: 0; border-radius: 10px;
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    background: var(--giris-lacivert); color: #fff; font-size: 15.5px; font-weight: 650; cursor: pointer;
    box-shadow: 0 1px 2px rgba(20, 34, 61, .2), 0 8px 20px -10px rgba(20, 34, 61, .55);
    transition: background-color .15s;
}
.uz-giris-dugme:hover:not(:disabled) { background: var(--giris-lacivert-koyu); }
.uz-giris-dugme .bi-arrow-right { transition: transform .15s; }
.uz-giris-dugme:hover:not(:disabled) .bi-arrow-right { transform: translateX(3px); }
.uz-giris-dugme:focus-visible { outline: 3px solid var(--giris-turuncu); outline-offset: 2px; }
.uz-giris-dugme:disabled { opacity: .55; cursor: not-allowed; box-shadow: none; }

/* Kullanıcılar ekranı: Portal'dan gelen erişim istekleri (pasif hesaplardan ayrı, listenin üstünde). */
.uz-erisim-istekleri { border-left: 0; box-shadow: 0 0 0 1px var(--bs-warning-border-subtle, #ffe69c) inset; }
.uz-erisim-istekleri .uz-kart-bas h4 .bi { color: var(--bs-warning, #d97706); }

/* Herkese açık "hesap silme" sayfası (Google Play): giriş yerleşiminde okunacak metin. */
.uz-hesap-silme { width: min(520px, 100%); gap: 18px; }
.uz-hesap-silme section { display: flex; flex-direction: column; gap: 6px; }
.uz-hesap-silme h2 { margin: 6px 0 0; font-size: 15px; font-weight: 700; color: var(--uz-ink); }
.uz-hesap-silme p, .uz-hesap-silme li { margin: 0; font-size: 14px; line-height: 1.55; color: var(--uz-ink-soft); }
.uz-hesap-silme ul { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; }
.uz-hesap-silme-not { font-size: 13px !important; }
.uz-hesap-silme-don { text-decoration: none; }
.uz-hesap-silme-form { padding: 14px 16px; border: 1px solid var(--uz-border); border-radius: 12px; background: var(--uz-surface-sunk); gap: 10px !important; }
.uz-hesap-silme-onay { display: flex; align-items: flex-start; gap: 8px; font-size: 13.5px; color: var(--uz-ink-soft); cursor: pointer; }
.uz-hesap-silme-onay .form-check-input { margin-top: 3px; flex: 0 0 auto; }
.uz-hesap-silme-dugme { background: var(--uz-danger, #c0392b) !important; border-color: var(--uz-danger, #c0392b) !important; }

/* ---- Okuma sayfası (/gizlilik) ----
   Uzun metin giriş ekranının düzenine sığmıyordu: yarım ekran marka paneli, 520 px sütunda 2,7 bin px (10-30).
   ⚠️ .uzser-ai-md kuralları ai-chat.css'te ve sohbet balonu ölçüsünde: burada özgüllükle büyütülür. */
.uz-belge { min-height: 100vh; background: var(--uz-surface); color: var(--uz-ink); }
.uz-belge-ust, .uz-belge-govde { width: min(800px, 100%); margin: 0 auto; }
.uz-belge-ust { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 24px 0; }
.uz-belge-logo { display: inline-flex; height: 34px; }
.uz-belge-ust .uz-giris-dil { position: static; }
.uz-belge-govde { display: flex; flex-direction: column; gap: 20px; padding: 32px 24px 48px; }
.uz-belge-govde h1 { margin: 0 0 6px; font-size: 28px; font-weight: 750; letter-spacing: -.02em; color: var(--uz-ink); }
.uz-belge-govde header p { margin: 0; }
.uz-belge-metin .uzser-ai-md { font-size: 15px; line-height: 1.65; color: var(--uz-ink); }
.uz-belge-metin .uzser-ai-md h2 { margin: 28px 0 8px; font-size: 18px; font-weight: 700; }
.uz-belge-metin .uzser-ai-md p, .uz-belge-metin .uzser-ai-md ul { margin: 8px 0; }
.uz-belge-metin .uzser-ai-md li { margin: 4px 0; }
.uz-belge-metin .uzser-ai-md table { display: block; overflow-x: auto; max-width: 100%; margin: 12px 0; font-size: 14px; }
.uz-belge-metin .uzser-ai-md th, .uz-belge-metin .uzser-ai-md td { padding: 8px 12px; vertical-align: top; }
.uz-belge-don { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--uz-ink-soft); text-decoration: none; }
.uz-belge-don:hover { color: var(--uz-ink); text-decoration: underline; }
.uz-giris-basari { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border-radius: 10px; font-size: 14px;
  color: var(--uz-success, #1e7e34); background: var(--uz-success-soft, rgba(40, 167, 69, .12)); }

.uz-giris-hata {
    display: flex; gap: 10px; align-items: flex-start; padding: 11px 14px; border-radius: 10px;
    background: var(--giris-hata-zemin); border: 1px solid var(--giris-hata-cizgi); color: var(--giris-hata-yazi);
    font-size: 14px; line-height: 1.45;
}
.uz-giris-hata .bi { margin-top: 1px; }
/* Bilgi kutusu ("bağlantı gönderildi", "parola kaydedildi") — hatanın kardeşi, olumlu renkte. */
.uz-giris-bilgi {
    display: flex; gap: 10px; align-items: flex-start; padding: 11px 14px; border-radius: 10px;
    background: var(--uz-ok-soft);
    border: 1px solid color-mix(in srgb, var(--uz-ok) 35%, transparent);
    color: var(--uz-ink); font-size: 14px; line-height: 1.45;
}
.uz-giris-bilgi .bi { margin-top: 1px; color: var(--uz-ok); }
.uz-giris-yardim { margin: 0; font-size: 13px; line-height: 1.5; color: var(--uz-ink-soft); }
.uz-giris-alt {
    display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
    margin-top: 8px; padding-top: 18px; border-top: 1px solid var(--uz-border);
    font-size: 12.5px; color: var(--uz-ink-faint);
}
.uz-giris-alt .bi { margin-right: 4px; }

/* ---- dar ekran: marka paneli kalkar, logo formun üstüne gelir ---- */
@media (max-width: 900px) {
    .uz-giris { grid-template-columns: 1fr; }
    .uz-giris-marka { display: none; }
    .uz-giris-form-alani { align-items: flex-start; padding: 64px 16px 40px; }
    .uz-giris-dil { top: 16px; right: 16px; }
    .uz-giris-form .uz-giris-logo-mobil { display: inline-flex; height: 34px; margin-bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) {
    .uz-giris-dugme, .uz-giris-dugme .bi-arrow-right, .uz-giris-girdi input { transition: none; }
}

/* ===================== Blazor hata banner'ı ===================== */
#blazor-error-ui {
    background: var(--uz-danger-soft); color: var(--uz-danger); padding: 12px 20px;
    border-top: 1px solid var(--uz-danger); bottom: 0; display: none; left: 0;
    position: fixed; width: 100%; z-index: 1000;
}
#blazor-error-ui .dismiss, #blazor-error-ui .reload { cursor: pointer; margin-left: 10px; }

/* ===================== KPI bantları ===================== */
.uzser-kpi {
    display: flex; align-items: center; gap: 14px; background: var(--uz-surface);
    border: 1px solid var(--uz-border); border-radius: var(--uz-radius);
    padding: 15px 18px; box-shadow: var(--uz-shadow-sm); height: 100%;
}
.uzser-kpi-ic {
    width: 46px; height: 46px; border-radius: var(--uz-radius); flex: 0 0 auto;
    display: inline-flex; align-items: center; justify-content: center; font-size: 21px;
}
.uzser-kpi-body { min-width: 0; }
.uzser-kpi-l { font-size: 12.5px; color: var(--uz-ink-soft); font-weight: 500; }
.uzser-kpi-v {
    font-size: 26px; font-weight: 700; color: var(--uz-ink); line-height: 1.15; letter-spacing: -.8px;
}
.uzser-kpi-v .u { font-size: 14px; font-weight: 600; color: var(--uz-ink-soft); margin-left: 3px; }
/* Alt metin iki satıra kadar (tek satır "Uzser yapay zekâsı (varsayılan) · satıştaki p…" diye kesiliyordu). */
.uzser-kpi-sub { font-size: 12px; color: var(--uz-ink-soft); margin-top: 1px; overflow: hidden;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.uzser-kpi-trend { font-size: 12px; font-weight: 600; margin-top: 2px; }
@media (max-width: 576px) {
    .uzser-kpi { flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px 14px; }
    .uzser-kpi-ic { width: 34px; height: 34px; font-size: 16px; }
    .uzser-kpi-v { font-size: 22px; }
}
/* ⚠️ İkon zeminleri jetondan gelir; sabit renkler koyu temada beyaz kutulara dönüyordu. */
.uzser-kpi-ic.t-blue   { background: var(--uz-info-soft);    color: var(--uz-info); }
.uzser-kpi-ic.t-green  { background: var(--uz-ok-soft);      color: var(--uz-ok); }
.uzser-kpi-ic.t-red    { background: var(--uz-danger-soft);  color: var(--uz-danger); }
.uzser-kpi-ic.t-amber  { background: var(--uz-warn-soft);    color: var(--uz-warn); }
.uzser-kpi-ic.t-purple { background: var(--uz-info-soft);    color: var(--uz-info); }
.uzser-kpi-ic.t-cyan   { background: var(--uz-info-soft);    color: var(--uz-info); }
.uzser-kpi-ic.t-gray   { background: var(--uz-neutral-soft); color: var(--uz-neutral); }
.uzser-kpi-ok     { color: var(--uz-ok); }
.uzser-kpi-warn   { color: var(--uz-warn); }
.uzser-kpi-danger { color: var(--uz-danger); }

/* ===================== Sürükleme tutacağı ===================== */
.uz-drag { cursor: grab; user-select: none; }
.uz-drag:active { cursor: grabbing; }

/* ===================== Pano ızgarası ===================== */
.uzser-dash-grid .uv-dash-item > .card { height: 100%; display: flex; flex-direction: column; }
.uzser-dash-grid .card-header { flex: 0 0 auto; padding: 8px 12px; }
.uzser-dash-grid .card-body { flex: 1 1 auto; min-height: 0; overflow: hidden; padding: 8px 12px; display: flex; flex-direction: column; }
.uzser-dash-grid .card-body > .dxbl-chart,
.uzser-dash-grid .card-body .dxbl-chart,
.uzser-dash-grid .card-body > .dxbl-pie-chart { flex: 1 1 auto; min-height: 0; max-width: 100%; }
.uzser-grid-fill { flex: 1 1 auto; min-height: 0; }

/* ===================== Mobil ===================== */
@media (max-width: 768px) {
    .uzser-content { padding: 14px 12px 32px; min-width: 0; }
    .uzser-main { min-width: 0; }
    .dxbl-grid { font-size: 13px; max-width: 100%; }
    h1 { font-size: 22px; } h3 { font-size: 18px; }
    .uzser-page-actions { flex-wrap: wrap; }
    .dxbl-popup, .dxbl-window { max-width: 96vw !important; }
    .dxbl-popup-body { max-height: 80vh; overflow-y: auto; }
    /* ⚠️ Modal diyalog: genişlik 96vw + DevExpress'in 1.75rem kenar boşluğu = ekrandan taşma (375'te 388 px; "İptal"
       yarım, sayfa yana kayıyordu). Uzun formlar da ekran boyunu aşıp alt düğmeleri görünmez bırakıyordu (1045–1383 px):
       modal gövdesinin sınıfı `dxbl-modal-body`, üstteki `.dxbl-popup-body` kuralı ona hiç uygulanmıyordu. Başlık ve
       alt çubuk sabit kalır, yalnız gövde kayar (2026-10-16 görsel denetim). */
    dxbl-modal-root > dxbl-modal-dialog.dxbl-popup, dxbl-modal-root > .dxbl-window {
        margin: 8px auto !important; max-width: calc(100vw - 16px) !important;
    }
    dxbl-modal-dialog .dxbl-modal-content { max-height: calc(100dvh - 16px); display: flex; flex-direction: column; }
    dxbl-modal-dialog .dxbl-modal-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
}

/* ── ZAMANLAMA DÜZENLEYİCİ ───────────────────────────────────────────────────
   Cron altta kalır; bu yüzey yalnız onu insan diline çevirir. Renkler jetondan:
   diyalog koyu temada açıldığında ada gibi kalmasın. */
.uz-cron { display: flex; flex-direction: column; gap: 8px; }
.uz-cron-row { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.uz-cron-lbl { font-size: 13px; color: var(--uz-ink-soft); }

.uz-cron-days { display: flex; gap: 5px; flex-wrap: wrap; }
.uz-cron-day {
    display: inline-flex; align-items: center; gap: 5px; cursor: pointer;
    padding: 4px 9px; font-size: 12.5px; color: var(--uz-ink);
    background: var(--uz-surface-sunk); border: 1px solid var(--uz-border);
    border-radius: var(--uz-radius-sm);
}
.uz-cron-day input { margin: 0; }
.uz-cron-day.on { border-color: var(--uz-brand); background: var(--uz-brand-soft); }

/* Seçimin insan dilindeki karşılığı — kaydetmeden önce doğrulamanın tek hızlı yolu. */
.uz-cron-desc {
    display: flex; align-items: center; gap: 7px; flex-wrap: wrap;
    font-size: 12.5px; color: var(--uz-ink-soft);
}
.uz-cron-raw {
    font-size: 11.5px; padding: 1px 7px; border-radius: 999px;
    background: var(--uz-surface-sunk); border: 1px solid var(--uz-border-soft);
    color: var(--uz-ink-soft);
}

/* ── AKIŞ AYARLARI PENCERESİ ─────────────────────────────────────────────────
   Hangi müşterinin ayarı olduğu en üstte; iki bayrak yan yana kart. Kuru çalışma
   KAPALI iken kart uyarı rengine döner: kapatmak geri alınamaz yazımlar demek. */
.uz-ayar-musteri {
    display: flex; align-items: center; gap: 8px; margin-bottom: 12px;
    padding: 7px 11px; font-size: 13px; color: var(--uz-ink);
    background: var(--uz-brand-soft); border-radius: var(--uz-radius-sm);
}
.uz-ayar-musteri i { color: var(--uz-brand); }
.uz-ayar-bayraklar { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }
.uz-ayar-bayrak {
    display: flex; align-items: flex-start; gap: 9px; cursor: pointer; margin: 0;
    padding: 9px 11px; border: 1px solid var(--uz-border); border-radius: var(--uz-radius-sm);
    background: var(--uz-surface);
}
.uz-ayar-bayrak span { display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: var(--uz-ink); }
.uz-ayar-bayrak small { font-size: 11.5px; color: var(--uz-ink-soft); line-height: 1.35; }
.uz-ayar-bayrak.on { border-color: var(--uz-brand); }
.uz-ayar-bayrak.warn { border-color: var(--uz-danger); background: var(--uz-danger-soft); }

/* ── AKIŞ KATALOĞU ───────────────────────────────────────────────────────────
   Kartta yalnız ÖZET; müşteri listesi diyalogda. Müşteri sayısı arttıkça sayfa
   uzamaz, akışlar bakışta taranır. */
.uz-kat-ozet { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.uz-kat-sayac {
    display: inline-flex; align-items: baseline; gap: 5px;
    padding: 3px 10px; font-size: 12px; color: var(--uz-ink-soft);
    background: var(--uz-surface-sunk); border: 1px solid var(--uz-border-soft); border-radius: 999px;
}
.uz-kat-sayac b { font-size: 13px; color: var(--uz-ink); font-variant-numeric: tabular-nums; }
.uz-kat-sayac.ok b { color: var(--uz-ok); }
.uz-kat-sayac.warn b { color: var(--uz-warn); }
.uz-kat-sayac.danger b { color: var(--uz-danger); }

.uz-atama-arac { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.uz-atama-suzgec { display: flex; gap: 4px; flex-wrap: wrap; }
.uz-atama-suzgec button {
    border: 1px solid var(--uz-border); background: var(--uz-surface); color: var(--uz-ink-soft);
    font-size: 12px; padding: 3px 10px; border-radius: 999px; cursor: pointer;
}
.uz-atama-suzgec button b { color: var(--uz-ink); margin-left: 3px; font-variant-numeric: tabular-nums; }
.uz-atama-suzgec button.on { border-color: var(--uz-brand); background: var(--uz-brand-soft); color: var(--uz-ink); }
.uz-atama-tablo { max-height: 58vh; overflow: auto; border: 1px solid var(--uz-border); border-radius: var(--uz-radius-sm); }
.uz-atama-tablo table { margin: 0; font-size: 13px; }
.uz-atama-tablo thead th {
    position: sticky; top: 0; z-index: 1; white-space: nowrap;
    background: var(--uz-surface-sunk); color: var(--uz-ink-soft); font-weight: 600; font-size: 12px;
}
.uz-atama-tablo th.sirala { cursor: pointer; user-select: none; }
.uz-atama-tablo th.sirala:hover { color: var(--uz-ink); }
.uz-atama-tablo th .bi { font-size: 10px; margin-left: 3px; }
.uz-atama-tablo td { font-variant-numeric: tabular-nums; }
.uz-atama-islem { display: flex; gap: 4px; justify-content: flex-end; flex-wrap: nowrap; }
.uz-atama-sayfa { display: flex; align-items: center; gap: 8px; justify-content: flex-end; margin-top: 8px; font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-ayar-hata {
    display: flex; align-items: flex-start; gap: 6px; max-width: 70%;
    font-size: 12.5px; color: var(--uz-danger); line-height: 1.35;
}
/* İki satırda kırpılan uzun metin — tamamı title ile okunur. */
.uz-satir-kirp { display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.uz-ayar-govde { max-height: calc(100vh - 220px); overflow-y: auto; padding-right: 4px; }

/* ════════════════════════════════════════════════════════════════════════════
   ÖZET PANOLARI (yönetici / müşteri)
   Sayı önce, ayrıntı sonra: gösterge ızgarası → eğilim → kırılımlar → satırlar.
   Renk yalnız anlam taşır (ok/uyarı/hata); vurgu rengi etkileşim içindir.
   ════════════════════════════════════════════════════════════════════════════ */
.uz-pano { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.uz-pano-bas { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.uz-pano-bas h3 { margin: 0; display: flex; align-items: center; gap: 8px; }
.uz-pano-bas p { margin: 2px 0 0; font-size: 13px; color: var(--uz-ink-soft); }
.uz-pano-zaman { margin-left: auto; font-size: 12px; color: var(--uz-ink-faint); display: inline-flex; gap: 6px; align-items: center; }
.uz-kapsam { display: inline-flex; align-items: center; gap: 5px; padding: 1px 8px; border-radius: 999px;
    background: var(--uz-neutral-soft); color: var(--uz-ink); font-size: 12px; }
.uz-kapsam.firma { background: var(--uz-brand-soft); }
.uz-yukleniyor { color: var(--uz-ink-soft); font-size: 14px; display: flex; gap: 8px; align-items: center; padding: 24px 0; }

/* ---- filtre çubuğu ---- */
.uz-pf { display: flex; flex-direction: column; gap: 10px; padding: 10px 12px;
    background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); }
.uz-pf-satir { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.uz-pf-hazir, .uz-pf-segment { display: inline-flex; border: 1px solid var(--uz-border); border-radius: var(--uz-radius-sm); overflow: hidden; }
.uz-pf-hazir button, .uz-pf-segment button {
    border: 0; border-right: 1px solid var(--uz-border); background: transparent; color: var(--uz-ink-soft);
    font-size: 12.5px; padding: 5px 11px; cursor: pointer; white-space: nowrap; }
.uz-pf-hazir button:last-child, .uz-pf-segment button:last-child { border-right: 0; }
.uz-pf-hazir button:hover, .uz-pf-segment button:hover { background: var(--uz-surface-sunk); color: var(--uz-ink); }
.uz-pf-hazir button.on, .uz-pf-segment button.on { background: var(--uz-brand-soft); color: var(--uz-ink); font-weight: 600; }
.uz-pf-aralik { display: inline-flex; align-items: center; gap: 6px; }
.uz-pf-aralik .dxbl-date-edit { width: 128px; }
.uz-pf-ac { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--uz-border); background: var(--uz-surface);
    color: var(--uz-ink); font-size: 12.5px; padding: 5px 11px; border-radius: var(--uz-radius-sm); cursor: pointer; }
.uz-pf-ac:hover { background: var(--uz-surface-sunk); }
.uz-pf-ac.on { border-color: var(--uz-brand); }
.uz-pf-ac:disabled { opacity: .6; cursor: default; }
.uz-pf-sayac { background: var(--uz-brand); color: var(--uz-brand-fg); font-size: 11px; font-weight: 700;
    border-radius: 999px; min-width: 18px; padding: 0 5px; text-align: center; }
.uz-pf-panel { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px 14px;
    padding-top: 10px; border-top: 1px dashed var(--uz-border); }
.uz-pf-alan { display: flex; flex-direction: column; gap: 4px; margin: 0; min-width: 0; }
.uz-pf-alan > span { font-size: 11.5px; font-weight: 600; letter-spacing: .02em; color: var(--uz-ink-soft); }
.uz-pf-etiketler { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.uz-pf-etiket-baslik { font-size: 12px; color: var(--uz-ink-soft); display: inline-flex; gap: 5px; align-items: center; }
.uz-pf-etiket { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--uz-ink);
    background: var(--uz-brand-soft); border-radius: 999px; padding: 2px 4px 2px 10px; }
.uz-pf-etiket small { color: var(--uz-ink-soft); font-size: 11px; }
.uz-pf-etiket button { border: 0; background: transparent; color: var(--uz-ink-soft); padding: 0 4px; line-height: 1; cursor: pointer; border-radius: 999px; }
.uz-pf-etiket button:hover { color: var(--uz-danger); }
.uz-pf-temizle { border: 0; background: transparent; color: var(--uz-brand); font-size: 12px; cursor: pointer; text-decoration: underline; }
.uz-pf button:focus-visible, .uz-kpi.tik:focus-visible { outline: 2px solid var(--uz-brand); outline-offset: 1px; }

/* ---- uyarı şeridi ---- */
.uz-uyari-serit { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: var(--uz-radius);
    background: var(--uz-danger-soft); border: 1px solid color-mix(in srgb, var(--uz-danger) 35%, transparent);
    color: var(--uz-ink); font-size: 13.5px; flex-wrap: wrap; }
.uz-uyari-serit > i { color: var(--uz-danger); font-size: 18px; }
/* Metin simgenin yanında daralır; sığmazsa yalnız bağlantı alt satıra iner (telefonda simge tek başına satırda kalıyordu). */
.uz-uyari-serit > div { display: flex; flex-direction: column; gap: 2px; flex: 1 1 220px; min-width: 0; }
.uz-uyari-serit a { color: var(--uz-ink); font-weight: 600; font-size: 13px; white-space: nowrap; padding: 6px 0; }
/* Uyarı değil BİLGİ (mavi) ve DİKKAT (sarı) şeritleri: kırmızı yalnız gerçek sorun içindir (11-13 personel ekranı). */
.uz-uyari-serit.bilgi { background: var(--uz-info-soft); border-color: color-mix(in srgb, var(--uz-info) 35%, transparent); }
.uz-uyari-serit.bilgi > i { color: var(--uz-info); }
.uz-uyari-serit.dikkat { background: var(--uz-warn-soft); border-color: color-mix(in srgb, var(--uz-warn) 40%, transparent); }
.uz-uyari-serit.dikkat > i { color: var(--uz-warn); }

/* ---- personel yetkileri (11-13): kişi başlığı, katalog kademe kartları, yetki sorgusu ---- */
.uz-personel-bas { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.uz-personel-bas .uz-kisi-avatar { width: 48px; height: 48px; font-size: 17px; }
.uz-personel-bas h4 { margin: 0; }
.uz-kademe-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.uz-kademe { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border: 1px solid var(--uz-border);
    border-radius: var(--uz-radius); background: var(--uz-surface); cursor: pointer; text-align: left; color: var(--uz-ink); }
.uz-kademe:hover:not(:disabled) { border-color: var(--uz-brand); }
.uz-kademe.secili { border-color: var(--uz-brand); box-shadow: 0 0 0 2px color-mix(in srgb, var(--uz-brand) 30%, transparent); background: var(--uz-brand-soft); }
.uz-kademe:disabled { cursor: default; opacity: .75; }
.uz-kademe b { font-size: 14px; }
.uz-kademe ul { margin: 0; padding-left: 18px; font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-sorgu-sonuc { display: flex; gap: 12px; padding: 12px 14px; border-radius: var(--uz-radius); border: 1px solid var(--uz-border); }
.uz-sorgu-sonuc.evet { background: var(--uz-ok-soft); border-color: color-mix(in srgb, var(--uz-ok) 40%, transparent); }
.uz-sorgu-sonuc.hayir { background: var(--uz-danger-soft); border-color: color-mix(in srgb, var(--uz-danger) 35%, transparent); }
.uz-sorgu-sonuc > i { font-size: 22px; }
.uz-sorgu-sonuc.evet > i { color: var(--uz-ok); }
.uz-sorgu-sonuc.hayir > i { color: var(--uz-danger); }
.uz-sorgu-sonuc ul { margin: 4px 0 0; padding-left: 18px; font-size: 13px; }

/* Personel hesabı sayfası (11-13): solda numaralı bölümler, sağda yapışkan özet; altta yapışkan kaydet çubuğu. */
.uz-form-sayfa { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.uz-form-sayfa-ana { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.uz-form-sayfa-yan { position: sticky; top: 12px; min-width: 0; }
.uz-form-sayfa-yan .min-w-0 { min-width: 0; }
@media (max-width: 991px) {
    .uz-form-sayfa { grid-template-columns: minmax(0, 1fr); }
    .uz-form-sayfa-yan { position: static; order: -1; }
}
.uz-hesap-durum { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.uz-hesap-ozet { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.uz-hesap-ozet li { display: flex; gap: 8px; align-items: flex-start; }
.uz-hesap-ozet li > i { color: var(--uz-brand); margin-top: 1px; }
.uz-form-alt-yapiskan { position: sticky; bottom: 0; z-index: 5; margin-top: 16px; padding: 12px 16px; border: 1px solid var(--uz-border);
    border-radius: var(--uz-radius); background: var(--uz-surface); box-shadow: var(--uz-shadow-float); }

/* ---- göstergeler ---- */
.uz-kpi-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 10px; }
/* 8 gösterge 6 sütuna 6+2 dağılıp ikinci satırda geniş boşluk bırakıyordu (Yönetim Özeti): 4×2. */
@media (min-width: 576px) {
    .uz-kpi-izgara:has(> :nth-child(8):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.uz-kpi { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 12px 14px 11px;
    background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); min-width: 0; }
.uz-kpi.tik { cursor: pointer; transition: border-color .12s; }
.uz-kpi.tik:hover { border-color: var(--uz-brand); }
/* 📊 F5 KPI: sayısal kutu ortak kütüphanenin kartında (SVG sahne). Çerçeve eski kutuyla aynı; kart kendi zeminini çizmez. */
.uz-kpi-gorsel { position: relative; padding: 6px 8px 4px; background: var(--uz-surface); border: 1px solid var(--uz-border);
    border-radius: var(--uz-radius); min-width: 0; }
.uz-kpi-gorsel .uv-visual { background: transparent; }
.uz-kpi-gorsel.tik { cursor: pointer; transition: border-color .12s; }
.uz-kpi-gorsel.tik:hover { border-color: var(--uz-brand); }
.uz-kpi-ust { display: flex; align-items: center; gap: 7px; min-width: 0; }
.uz-kpi-ikon { width: 24px; height: 24px; flex: none; display: grid; place-items: center; border-radius: 6px;
    background: var(--uz-brand-soft); color: var(--uz-brand); font-size: 13px; }
/* Etiket iki satıra kadar sarılır: tek satır + üç nokta "Başarısız giriş (24 s…" gibi anlamı kesiyordu (masaüstünde de). */
.uz-kpi-etiket { font-size: 12px; color: var(--uz-ink-soft); line-height: 1.25; overflow: hidden;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.uz-kpi-deger { font-size: 24px; font-weight: 700; line-height: 1.15; color: var(--uz-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.uz-kpi-alt { display: flex; gap: 6px; flex-wrap: wrap; font-size: 11.5px; color: var(--uz-ink-faint); min-height: 16px; }
.uz-kpi-degisim { font-weight: 600; }
.uz-kpi-degisim.ok { color: var(--uz-ok); }
.uz-kpi-degisim.danger { color: var(--uz-danger); }
.uz-kpi-degisim.neutral { color: var(--uz-ink-soft); }
.uz-kpi-danger .uz-kpi-deger { color: var(--uz-danger); }
.uz-kpi-danger .uz-kpi-ikon { background: var(--uz-danger-soft); color: var(--uz-danger); }
.uz-kpi-warn .uz-kpi-deger { color: var(--uz-warn); }
.uz-kpi-warn .uz-kpi-ikon { background: var(--uz-warn-soft); color: var(--uz-warn); }
.uz-kpi-ok .uz-kpi-ikon { background: var(--uz-ok-soft); color: var(--uz-ok); }

/* ---- ızgara + kart ---- */
.uz-izgara { display: grid; gap: 16px; min-width: 0; }
.uz-izgara > * { min-width: 0; }
.uz-izgara-8-4 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.uz-izgara-7-5 { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
@media (max-width: 1199.98px) { .uz-izgara-8-4, .uz-izgara-7-5 { grid-template-columns: minmax(0, 1fr); } }
.uz-yigin { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
/* Yan sütun uzunsa kart esner; içindeki boş durum kutusu kartın kalanını doldurur (altta boş şerit kalıyordu). */
.uz-izgara > .uz-kart { display: flex; flex-direction: column; }
.uz-izgara > .uz-kart > .uz-bos { flex: 1 1 auto; }
.uz-kart { background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius);
    padding: 14px 16px; min-width: 0; }
.uz-kart-vurgu { border-color: color-mix(in srgb, var(--uz-warn) 45%, var(--uz-border)); }
.uz-kart-bas { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.uz-kart-bas h4 { margin: 0; font-size: 14.5px; font-weight: 700; display: inline-flex; gap: 7px; align-items: center; color: var(--uz-ink); }
.uz-kart-bas h4 i { color: var(--uz-ink-soft); }
.uz-kart-bas > span { font-size: 12px; color: var(--uz-ink-faint); }
.uz-kart-arac { margin-left: auto; font-size: 12.5px; }
.uz-kart-arac input { width: 200px; }
.uz-bos { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 28px 12px;
    color: var(--uz-ink-soft); font-size: 13px; background: var(--uz-surface-sunk); border-radius: var(--uz-radius-sm); }
.uz-bos > i { font-size: 18px; color: var(--uz-ink-faint); }
.uz-bos-kucuk { padding: 14px; }
.uz-bos-iyi > i { color: var(--uz-ok); }
.uz-not { font-size: 12px; color: var(--uz-ink-faint); margin-top: 8px; }
.uz-grafik-ipucu { font-size: 12px; }

/* ---- tablo ---- */
.uz-tablo-kap { overflow-x: auto; }
.uz-tablo { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13px; color: var(--uz-ink); }
.uz-tablo th { background: var(--uz-surface); text-align: left; font-size: 11.5px; font-weight: 600;
    color: var(--uz-ink-soft); padding: 6px 8px; border-bottom: 1px solid var(--uz-border); white-space: nowrap; }
.uz-tablo th.sirala { cursor: pointer; user-select: none; }
.uz-tablo th.sirala:hover { color: var(--uz-ink); }
.uz-tablo th .bi { font-size: 9px; margin-left: 2px; }
.uz-tablo td { padding: 8px; border-bottom: 1px solid var(--uz-border-soft); vertical-align: middle; font-variant-numeric: tabular-nums; }
.uz-tablo tbody tr:last-child td { border-bottom: 0; }
.uz-tablo tr.tik { cursor: pointer; }
.uz-tablo tr.tik:hover td { background: var(--uz-surface-sunk); }
.uz-tablo tr.secili td { background: var(--uz-brand-soft); }
.uz-tablo .sag { text-align: right; }
.uz-tablo .ad { font-weight: 600; min-width: 160px; }
.uz-tablo .genis { min-width: 130px; }
.uz-tablo .soluk { color: var(--uz-ink-soft); font-weight: 400; }
.uz-tablo .kucuk { font-size: 11.5px; }
.uz-tablo .nowrap { white-space: nowrap; }
.uz-tablo .hata { color: var(--uz-danger); font-weight: 600; }
.uz-tablo .uyari { color: var(--uz-warn); font-weight: 600; }
.uz-tablo .badge { font-weight: 600; }
.uz-satir-hata { font-size: 11.5px; font-weight: 400; color: var(--uz-danger); max-width: 360px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Aciliyet sol şeritte: satırı boyamak koyu temada metni okunmaz yapıyordu. */
.uz-tablo tr.uz-aciliyet-2 td:first-child { box-shadow: inset 3px 0 0 var(--uz-danger); }
.uz-tablo tr.uz-aciliyet-1 td:first-child { box-shadow: inset 3px 0 0 var(--uz-warn); }
.uz-durum-nokta { display: inline-block; width: 8px; height: 8px; border-radius: 999px; margin-right: 4px; vertical-align: middle; }
.uz-durum-nokta.ok { background: var(--uz-ok); }
.uz-durum-nokta.danger { background: var(--uz-danger); }
.uz-durum-nokta.warn { background: var(--uz-warn); }
.uz-durum-nokta.info { background: var(--uz-info); }

/* ---- Kredi satın alma: ödeme adımı (form + sipariş özeti) ---- */
.uz-odeme { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
.uz-odeme-ozet { position: sticky; top: 12px; }
.uz-odeme-satir { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 13px;
    border-bottom: 1px solid var(--uz-border-soft); }
.uz-odeme-satir span { color: var(--uz-ink-soft); }
.uz-odeme-satir b { color: var(--uz-ink); text-align: right; font-variant-numeric: tabular-nums; }
.uz-odeme-toplam { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 10px; }
.uz-odeme-toplam span { font-weight: 600; color: var(--uz-ink); }
.uz-odeme-toplam b { font-size: 20px; color: var(--uz-ink); font-variant-numeric: tabular-nums; }
@media (max-width: 860px) {
    .uz-odeme { grid-template-columns: 1fr; }
    .uz-odeme-ozet { position: static; order: -1; }
}

/* ---- Sistem sağlığı (admin/health) ----
   Durum renkleri yalnız sol şerit + simge + hapta: kart zemini nötr kalır ki koyu temada metin okunur olsun. */
.uz-ssg-genel { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 16px; margin-bottom: 14px;
    border: 1px solid var(--uz-border); border-radius: var(--uz-radius); background: var(--uz-surface); }
.uz-ssg-genel > .bi { font-size: 22px; }
.uz-ssg-genel.iyi > .bi, .uz-ssg-genel.bilgi > .bi { color: var(--uz-ok); }
.uz-ssg-genel.uyari { border-color: color-mix(in srgb, var(--uz-warn) 45%, var(--uz-border)); background: var(--uz-warn-soft); }
.uz-ssg-genel.uyari > .bi { color: var(--uz-warn); }
.uz-ssg-genel.hata { border-color: color-mix(in srgb, var(--uz-danger) 45%, var(--uz-border)); background: var(--uz-danger-soft); }
.uz-ssg-genel.hata > .bi { color: var(--uz-danger); }
.uz-ssg-genel-metin { display: flex; flex-direction: column; min-width: 0; flex: 1 1 260px; }
.uz-ssg-genel-metin b { font-size: 15px; color: var(--uz-ink); }
.uz-ssg-genel-metin span { font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-ssg-genel-arac { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-left: auto; }
.uz-ssg-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.uz-ssg-bilesen { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; background: var(--uz-surface);
    border: 1px solid var(--uz-border); border-radius: var(--uz-radius); box-shadow: inset 3px 0 0 var(--uz-ok); min-width: 0; }
.uz-ssg-bilesen.uyari { box-shadow: inset 3px 0 0 var(--uz-warn); }
.uz-ssg-bilesen.hata { box-shadow: inset 3px 0 0 var(--uz-danger); }
.uz-ssg-bilesen.bilgi { box-shadow: inset 3px 0 0 var(--uz-info); }
.uz-ssg-bilesen-ust { display: flex; align-items: center; gap: 7px; }
.uz-ssg-bilesen-ust > .bi { color: var(--uz-ink-soft); }
.uz-ssg-bilesen-ad { font-weight: 700; font-size: 13px; color: var(--uz-ink); flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-ssg-deger { font-size: 18px; font-weight: 700; color: var(--uz-ink); font-variant-numeric: tabular-nums; }
.uz-ssg-ayrinti { font-size: 12px; color: var(--uz-ink-soft); line-height: 1.35; }
.uz-ssg-bag { font-size: 12px; text-decoration: none; margin-top: auto; align-self: flex-start; white-space: nowrap; }
.uz-ssg-hiz { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--uz-border-soft); }
.uz-ssg-hatalar { display: flex; flex-direction: column; max-height: 460px; overflow: auto; }
.uz-ssg-hata { display: grid; grid-template-columns: 82px auto minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 7px 2px;
    border-bottom: 1px solid var(--uz-border-soft); font-size: 12.5px; }
.uz-ssg-hata:last-child { border-bottom: 0; }
.uz-ssg-hata-zaman { color: var(--uz-ink-faint); font-variant-numeric: tabular-nums; white-space: nowrap; }
.uz-ssg-hata-govde { min-width: 0; }
.uz-ssg-hata-mesaj { color: var(--uz-danger); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-word; }
@media (max-width: 640px) {
    .uz-ssg-hata { grid-template-columns: auto minmax(0, 1fr); }
    .uz-ssg-hata-zaman, .uz-ssg-hata > .uz-pill { grid-column: 1 / -1; }
    .uz-ssg-genel-arac { margin-left: 0; }
}
.uz-oran { display: flex; align-items: center; gap: 8px; }
.uz-oran > span { font-size: 12px; min-width: 44px; text-align: right; }
.uz-oran-cubuk { flex: 1; height: 6px; border-radius: 999px; background: var(--uz-surface-sunk); overflow: hidden; min-width: 50px; }
.uz-oran-cubuk span { display: block; height: 100%; border-radius: 999px; }
.uz-oran-cubuk .ok { background: var(--uz-ok); }
.uz-oran-cubuk .warn { background: var(--uz-warn); }
.uz-oran-cubuk .danger { background: var(--uz-danger); }

/* ---- dağılım ---- */
.uz-dagilim-cubuk { display: flex; height: 10px; border-radius: 999px; overflow: hidden; background: var(--uz-surface-sunk); gap: 2px; margin-bottom: 10px; }
.uz-dagilim-cubuk span { display: block; height: 100%; min-width: 3px; }
.uz-dagilim-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.uz-dagilim-liste button { width: 100%; display: flex; align-items: center; gap: 8px; border: 0; background: transparent;
    padding: 5px 6px; border-radius: var(--uz-radius-sm); font-size: 13px; color: var(--uz-ink); cursor: pointer; text-align: left; }
.uz-dagilim-liste button:hover { background: var(--uz-surface-sunk); }
.uz-dagilim-liste button.on { background: var(--uz-brand-soft); }
.uz-nokta { width: 9px; height: 9px; border-radius: 3px; flex: none; }
.uz-dagilim-ad { flex: 1; }
.uz-dagilim-sayi { font-weight: 600; font-variant-numeric: tabular-nums; }
.uz-dagilim-oran { width: 42px; text-align: right; color: var(--uz-ink-faint); font-size: 12px; font-variant-numeric: tabular-nums; }

/* ---- hatalar ---- */
.uz-hata-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.uz-hata-liste li { display: flex; align-items: flex-start; gap: 10px; padding: 9px 2px; border-bottom: 1px solid var(--uz-border-soft); }
.uz-hata-liste li:last-child { border-bottom: 0; }
.uz-hata-adet { flex: none; min-width: 38px; text-align: center; font-weight: 700; font-size: 12.5px; color: var(--uz-danger);
    background: var(--uz-danger-soft); border-radius: 6px; padding: 2px 6px; font-variant-numeric: tabular-nums; }
.uz-hata-govde { flex: 1; min-width: 0; }
.uz-hata-mesaj { font-size: 13px; color: var(--uz-ink); display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.uz-hata-meta { font-size: 11.5px; color: var(--uz-ink-faint); margin-top: 2px; }
.uz-hata-git { color: var(--uz-ink-soft); padding: 2px 4px; }
.uz-hata-git:hover { color: var(--uz-brand); }

/* ---- onay listesi (müşteri) ---- */
.uz-onay-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px; }
.uz-onay-liste a { display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; padding: 9px 12px; text-decoration: none;
    border: 1px solid var(--uz-border); border-left: 3px solid var(--uz-warn); border-radius: var(--uz-radius-sm); color: var(--uz-ink); }
.uz-onay-liste a:hover { background: var(--uz-surface-sunk); }
.uz-onay-baslik { font-weight: 600; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-onay-meta { grid-column: 1; font-size: 11.5px; color: var(--uz-ink-faint); }
.uz-onay-liste a i { grid-row: 1 / span 2; grid-column: 2; align-self: center; color: var(--uz-ink-faint); }

/* ---- kısayollar (müşteri ana sayfası) ---- */
.uz-kisayollar { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; margin-top: 20px; }
.uz-kisayollar a { display: flex; gap: 12px; align-items: center; padding: 12px 14px; text-decoration: none; color: var(--uz-ink);
    background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); }
.uz-kisayollar a:hover { border-color: var(--uz-brand); }
.uz-kisayollar i { font-size: 20px; color: var(--uz-brand); }
.uz-kisayollar span { display: flex; flex-direction: column; }
.uz-kisayollar b { font-size: 13.5px; }
.uz-kisayollar small { font-size: 12px; color: var(--uz-ink-soft); }

@media (max-width: 575.98px) {
    /* Dönem düğmeleri kırılınca ilk satır sonunda boş hücre kalıyordu: tek satır, yatay kayar. */
    .uz-pf-hazir { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; scrollbar-width: none; }
    .uz-pf-hazir button { flex: 0 0 auto; white-space: nowrap; }
    .uz-kpi-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .uz-kpi-deger { font-size: 20px; }
    .uz-kart { padding: 12px; }
    .uz-kart-arac, .uz-kart-arac input { width: 100%; margin-left: 0; }
}

/* ════════════════════════════════════════════════════════════════════════════
   PROFİLİM — kimlik önde, işlem yüzeyleri (bilgi, parola, oturum) solda,
   bilgi yüzeyleri (görünüm, firma, yetki, hareket) sağda.
   ════════════════════════════════════════════════════════════════════════════ */
.uz-profil { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.uz-profil-kimlik { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center;
    padding: 18px 20px; background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); }
.uz-profil-avatar { width: 72px; height: 72px; border-radius: 999px; display: grid; place-items: center;
    font-size: 26px; font-weight: 800; letter-spacing: .02em; color: var(--uz-brand);
    background: var(--uz-brand-soft); border: 2px solid color-mix(in srgb, var(--uz-brand) 35%, transparent); }
.uz-profil-ad { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.uz-profil-ad h3 { margin: 0; font-size: 22px; font-weight: 800; color: var(--uz-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-profil-alt { display: flex; gap: 14px; flex-wrap: wrap; font-size: 13px; color: var(--uz-ink-soft); }
.uz-profil-alt span { display: inline-flex; align-items: center; gap: 5px; }
.uz-profil-eksik { color: var(--uz-warn) !important; }
.uz-profil-rozetler { display: flex; gap: 6px; flex-wrap: wrap; }
.uz-rozet { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; padding: 2px 9px;
    border-radius: 999px; background: var(--uz-neutral-soft); color: var(--uz-ink); }
.uz-rozet.vurgu { background: var(--uz-brand-soft); color: var(--uz-ink); }
.uz-rozet.soluk { font-weight: 400; color: var(--uz-ink-soft); }
.uz-profil-zaman { margin: 0; display: grid; grid-template-columns: repeat(3, auto); gap: 4px 22px; text-align: right; }
.uz-profil-zaman div { display: flex; flex-direction: column; }
.uz-profil-zaman dt { font-size: 11.5px; font-weight: 500; color: var(--uz-ink-faint); }
.uz-profil-zaman dd { margin: 0; font-size: 14px; font-weight: 700; color: var(--uz-ink); white-space: nowrap; }
@media (max-width: 991.98px) {
    .uz-profil-kimlik { grid-template-columns: auto minmax(0, 1fr); }
    .uz-profil-zaman { grid-column: 1 / -1; text-align: left; justify-content: start; }
}

/* ---- form ---- */
.uz-form { display: flex; flex-direction: column; gap: 12px; }
.uz-form-iki { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.uz-alan { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.uz-alan > span { font-size: 12.5px; font-weight: 600; color: var(--uz-ink-soft); }
.uz-alan > small { font-size: 11.5px; color: var(--uz-ink-faint); }
.uz-alan input:disabled { opacity: .75; }
.uz-form-alt { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.uz-form-mesaj { font-size: 12.5px; margin-right: auto; }
.uz-form-mesaj.ok { color: var(--uz-ok); }
.uz-form-mesaj.hata { color: var(--uz-danger); }
/* Bölümlü form (10-21, kullanıcı penceresi): başlıklı bölümler, ince ayraç; ikincil/tehlikeli işlemler altbilgide değil kendi bölümünde. */
.uz-form-bolum { display: flex; flex-direction: column; gap: 10px; padding-top: 12px; border-top: 1px solid var(--uz-border-soft); }
.uz-form-bolum:first-child { padding-top: 0; border-top: 0; }
.uz-form-bolum-bas { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.uz-form-bolum-bas h6 { margin: 0; font-size: 13.5px; font-weight: 700; color: var(--uz-ink); display: flex; align-items: center; gap: 6px; }
.uz-form-bolum-bas h6 i { color: var(--uz-brand); }
.uz-form-bolum-bas small { font-size: 11.5px; color: var(--uz-ink-faint); }
.uz-form-islemler { display: flex; flex-wrap: wrap; gap: 6px; }
.uz-tehlike { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; padding: 8px 10px;
    border: 1px solid var(--uz-danger-soft); border-radius: var(--uz-radius-sm); }
.uz-tehlike small { color: var(--uz-ink-faint); font-size: 11.5px; }
.uz-kredi-sinir { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.uz-kredi-sinir input[type=number] { width: 120px; }
.uz-kredi-cubuk { height: 6px; border-radius: 999px; background: var(--uz-neutral-soft); overflow: hidden; }
.uz-kredi-cubuk > span { display: block; height: 100%; background: var(--uz-brand); }
.uz-kredi-cubuk > span.dolu { background: var(--uz-danger); }
/* Şirket Belleği › Kod anlamları (10-21): kolon başına değer → anlam tablosu. */
.uz-kod-alani { border: 1px solid var(--uz-border-soft); border-radius: var(--uz-radius); padding: 10px 12px; margin-bottom: 10px; background: var(--uz-surface-alt); }
.uz-kod-alani-bas { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; margin-bottom: 6px; }
.uz-kod-tablo td:first-child { width: 22%; } .uz-kod-tablo td:nth-child(2) { width: 12%; }
/* 10-27: Kod anlamları iki bölmeli düzen — solda alan listesi (tabloya göre gruplu, ilerleme çubuklu), sağda düzenleyici. */
.uz-kodlar { display: grid; grid-template-columns: minmax(250px, 320px) minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 900px) { .uz-kodlar { grid-template-columns: 1fr; } }
.uz-kodlar-liste { display: flex; flex-direction: column; gap: 10px; background: var(--uz-surface); border: 1px solid var(--uz-border);
    border-radius: var(--uz-radius-lg); padding: 12px; position: sticky; top: calc(var(--uz-header-h) + 12px); }
.uz-kodlar-liste .uz-arama { max-width: none; flex: none; }
.uz-kodlar-liste .uz-segment { display: flex; } .uz-kodlar-liste .uz-segment button { flex: 1; justify-content: center; padding: 5px 6px; font-size: 12.5px; }
.uz-kodlar-ozet { display: flex; flex-direction: column; gap: 6px; padding: 2px 2px 4px; color: var(--uz-ink-soft); }
.uz-kodlar-cubuk { display: block; height: 6px; border-radius: 999px; background: var(--uz-neutral-soft); overflow: hidden; }
.uz-kodlar-cubuk.ince { height: 4px; }
.uz-kodlar-cubuk > span { display: block; height: 100%; border-radius: inherit; background: var(--uz-brand); transition: width .25s ease; }
.uz-kodlar-cubuk > span.tamam { background: var(--uz-ok); }
.uz-kodlar-ogeler { max-height: 62vh; overflow-y: auto; margin: 0 -4px; padding: 0 4px; display: flex; flex-direction: column; gap: 2px; }
.uz-kodlar-grup { font-size: 11.5px; font-weight: 700; color: var(--uz-ink-faint); text-transform: uppercase; letter-spacing: .04em;
    padding: 10px 6px 4px; display: flex; gap: 6px; align-items: center; }
.uz-kodlar-grup .font-monospace { text-transform: none; letter-spacing: 0; font-size: 12px; color: var(--uz-ink-soft); }
.uz-kodlar-oge { display: flex; flex-direction: column; gap: 4px; text-align: left; width: 100%; border: 1px solid transparent;
    background: transparent; border-radius: var(--uz-radius-sm); padding: 7px 8px; color: var(--uz-ink); cursor: pointer; font: inherit; }
.uz-kodlar-oge:hover { background: var(--uz-row-hover); }
.uz-kodlar-oge.secili { background: var(--uz-brand-soft); border-color: rgba(var(--uz-brand-rgb), .35); }
.uz-kodlar-oge:focus-visible { outline: 2px solid var(--uz-brand); outline-offset: 1px; }
.uz-kodlar-oge-ust { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.uz-kodlar-oge-alt { font-size: 12px; color: var(--uz-ink-soft); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-kodlar-taslak { font-size: 7px; color: var(--uz-warn); }
.uz-kodlar-duzen { background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius-lg); padding: 16px 18px;
    box-shadow: var(--uz-shadow-card); min-width: 0; }
.uz-kodlar-baslik { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-bottom: 12px; margin-bottom: 12px;
    border-bottom: 1px solid var(--uz-border-soft); }
.uz-kodlar-baslik h5 { font-size: 17px; font-weight: 700; color: var(--uz-ink); word-break: break-all; }
.uz-kodlar-istatistik { display: flex; gap: 6px; flex-wrap: wrap; align-items: flex-start; }
.uz-kodlar-istatistik > div { display: flex; flex-direction: column; gap: 1px; min-width: 78px; padding: 6px 10px;
    background: var(--uz-surface-sunk); border-radius: var(--uz-radius-sm); }
.uz-kodlar-istatistik span { font-size: 11px; color: var(--uz-ink-faint); text-transform: uppercase; letter-spacing: .03em; }
.uz-kodlar-istatistik strong { font-size: 15px; font-variant-numeric: tabular-nums; color: var(--uz-ink); }
.uz-kodlar-tablo thead th { font-size: 11.5px; text-transform: uppercase; letter-spacing: .03em; color: var(--uz-ink-faint); font-weight: 700;
    background: var(--uz-surface-sunk); border-bottom: 1px solid var(--uz-border); }
.uz-kodlar-tablo th:first-child, .uz-kodlar-tablo td:first-child { width: 18%; }
.uz-kodlar-tablo th:nth-child(2), .uz-kodlar-tablo td:nth-child(2) { width: 24%; }
.uz-kodlar-tablo td { border-color: var(--uz-border-soft); }
.uz-kodlar-tablo tr.degisti td { background: var(--uz-warn-soft); }
.uz-kodlar-kullanim { display: table-cell; }
.uz-kodlar-kullanim .uz-kodlar-cubuk { margin-bottom: 4px; max-width: 160px; }
.uz-kodlar-kullanim .small { font-variant-numeric: tabular-nums; }
.uz-kod-deger { display: inline-block; font-family: var(--bs-font-monospace); font-size: 12.5px; font-weight: 600; padding: 2px 8px;
    border-radius: var(--uz-radius-sm); background: var(--uz-surface-sunk); border: 1px solid var(--uz-border-soft); color: var(--uz-ink); }
.uz-kodlar-girdi { display: flex; align-items: center; gap: 8px; }
.uz-kodlar-girdi input { flex: 1 1 auto; min-width: 140px; }
.uz-kodlar-alt { position: sticky; bottom: 0; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap;
    margin: 12px -18px -16px; padding: 10px 18px; background: var(--uz-surface-alt); border-top: 1px solid var(--uz-border);
    border-radius: 0 0 var(--uz-radius-lg) var(--uz-radius-lg); color: var(--uz-warn); }
/* 10-27: Şirket Belleği › Tablolar — özet kartları, süzgeç çubuğu, satır altında sütun özeti. */
.uz-tablolar-kpi { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin-bottom: 14px; }
.uz-tablolar-kpi > div { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; background: var(--uz-surface);
    border: 1px solid var(--uz-border); border-radius: var(--uz-radius-lg); }
.uz-tablolar-kpi span { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--uz-ink-faint); }
.uz-tablolar-kpi strong { font-size: 22px; font-weight: 700; color: var(--uz-ink); font-variant-numeric: tabular-nums; line-height: 1.2; }
.uz-tablolar-kpi small { font-size: 12px; color: var(--uz-ink-soft); }
.uz-tablolar-kpi > div.dikkat { border-color: color-mix(in srgb, var(--uz-warn) 45%, var(--uz-border)); background: var(--uz-warn-soft); }
.uz-tablolar-kpi > div.katalog { border-color: color-mix(in srgb, var(--uz-info) 40%, var(--uz-border)); background: var(--uz-info-soft); }
.uz-tablolar-bilinen { background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); padding: 10px 14px; }
.uz-tablolar-bilinen summary { font-size: 13px; font-weight: 600; color: var(--uz-ink); cursor: pointer; }
.uz-tablolar-bilinen-liste { display: flex; flex-wrap: wrap; gap: 4px 8px; max-height: 180px; overflow-y: auto; }
.uz-tablolar-bilinen-liste span { font-size: 12px; padding: 1px 8px; border-radius: var(--uz-radius-sm); background: var(--uz-surface-sunk); color: var(--uz-ink-soft); }
.uz-tablolar-arac { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.uz-tablolar-moduller { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.uz-tablolar-grid { background: var(--uz-surface); border-radius: var(--uz-radius-lg); }
.uz-tablo-hucre { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.uz-tablo-anlam { font-size: 13px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.uz-tablo-sayi { display: flex; flex-direction: column; gap: 4px; font-variant-numeric: tabular-nums; font-size: 13px; }
.uz-tablo-sayi .uz-kodlar-cubuk { max-width: 110px; }
.uz-alan-ozet { padding: 6px 4px 10px 8px; }
.uz-alan-ozet-ust { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 8px; }
.uz-alan-ozet-liste { display: flex; flex-direction: column; border: 1px solid var(--uz-border-soft); border-radius: var(--uz-radius); overflow: hidden; }
.uz-alan-ozet-satir { display: grid; grid-template-columns: minmax(150px, 1.1fr) minmax(180px, 2fr) 120px minmax(160px, 1.6fr); gap: 12px;
    align-items: center; padding: 7px 12px; border-bottom: 1px solid var(--uz-border-soft); font-size: 13px; }
.uz-alan-ozet-satir:last-child { border-bottom: 0; }
.uz-alan-ozet-satir:nth-child(even) { background: var(--uz-row-alt); }
@media (max-width: 900px) { .uz-alan-ozet-satir { grid-template-columns: 1fr 1fr; } }
.uz-alan-ozet-ad { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; min-width: 0; }
.uz-alan-ozet-ad .font-monospace { font-weight: 600; font-size: 12.5px; word-break: break-all; }
.uz-alan-ozet-anlam { color: var(--uz-ink-soft); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.uz-alan-ozet-doluluk { display: flex; align-items: center; gap: 6px; font-variant-numeric: tabular-nums; }
.uz-alan-ozet-doluluk .uz-kodlar-cubuk { flex: 1 1 auto; }
.uz-alan-ozet-degerler { display: flex; gap: 4px; flex-wrap: wrap; align-items: center; min-width: 0; }
.uz-alan-deger { font-size: 11.5px; padding: 1px 7px; border-radius: 999px; background: var(--uz-surface-sunk); border: 1px solid var(--uz-border-soft);
    color: var(--uz-ink-soft); max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-alan-rol { font-size: 10.5px; font-weight: 700; padding: 0 6px; border-radius: 999px; background: var(--uz-neutral-soft); color: var(--uz-ink-soft);
    text-transform: uppercase; letter-spacing: .03em; }
.uz-alan-rol.rol-1 { background: var(--uz-c4-soft); color: var(--uz-c4); }
.uz-alan-rol.rol-3 { background: var(--uz-c2-soft); color: var(--uz-c2); }
.uz-alan-rol.rol-4 { background: var(--uz-c3-soft); color: var(--uz-c3); }
.uz-alan-rol.rol-5 { background: var(--uz-c1-soft); color: var(--uz-c1); }
.uz-alan-rol.eksik { background: var(--uz-warn-soft); color: var(--uz-warn); text-transform: none; }
.uz-alan-iliski { margin-left: 6px; font-size: 11.5px; font-family: var(--bs-font-monospace); color: var(--uz-info); }
/* 10-27: Tanım kataloğu — nasıl çalışır şeridi, kaynak tipi kartları, tablo merkezli iki bölme, üç adımlı aktarım. */
.uz-tk-nasil { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 12px 14px; margin-bottom: 14px;
    background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius-lg); }
.uz-tk-nasil > div { display: flex; gap: 10px; align-items: flex-start; flex: 1 1 190px; min-width: 0; }
.uz-tk-nasil > div > div { display: flex; flex-direction: column; min-width: 0; }
.uz-tk-nasil strong { font-size: 13px; color: var(--uz-ink); }
.uz-tk-nasil small { font-size: 12px; color: var(--uz-ink-soft); line-height: 1.35; }
.uz-tk-nasil > i { color: var(--uz-ink-faint); font-size: 12px; }
@media (max-width: 900px) { .uz-tk-nasil > i { display: none; } }
.uz-tk-adim { flex: none; display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 999px;
    background: var(--uz-brand-soft); color: var(--uz-brand); font-size: 12px; font-weight: 700; }
.uz-tk-tipler { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; margin-bottom: 14px; }
.uz-tk-tip { display: flex; flex-direction: column; gap: 6px; text-align: left; padding: 12px 14px; font: inherit; cursor: pointer;
    background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius-lg); color: var(--uz-ink);
    transition: border-color .15s ease, box-shadow .15s ease; }
.uz-tk-tip:hover { border-color: color-mix(in srgb, var(--uz-brand) 40%, var(--uz-border)); }
.uz-tk-tip:focus-visible { outline: 2px solid var(--uz-brand); outline-offset: 2px; }
.uz-tk-tip.secili { border-color: var(--uz-brand); box-shadow: 0 0 0 1px var(--uz-brand) inset; background: color-mix(in srgb, var(--uz-brand-soft) 45%, var(--uz-surface)); }
.uz-tk-tip-ad { font-weight: 700; font-size: 14px; text-transform: capitalize; }
.uz-tk-tip-ad i { color: var(--uz-ink-faint); margin-right: 2px; }
.uz-tk-yigin { display: flex; height: 6px; border-radius: 999px; overflow: hidden; background: var(--uz-neutral-soft); }
.uz-tk-yigin > span { display: block; height: 100%; }
.uz-tk-yigin .onayli, .uz-tk-nokta.onayli { background: var(--uz-ok); }
.uz-tk-yigin .aday, .uz-tk-nokta.aday { background: var(--uz-warn); }
.uz-tk-yigin .red, .uz-tk-nokta.red { background: var(--uz-danger); }
.uz-tk-tip-sayilar { display: flex; gap: 10px; font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.uz-tk-tip-sayilar span::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 999px; margin-right: 4px; vertical-align: 1px; }
.uz-tk-tip-sayilar .onayli { color: var(--uz-ok); } .uz-tk-tip-sayilar .onayli::before { background: var(--uz-ok); }
.uz-tk-tip-sayilar .aday { color: var(--uz-warn); } .uz-tk-tip-sayilar .aday::before { background: var(--uz-warn); }
.uz-tk-tip-sayilar .red { color: var(--uz-danger); } .uz-tk-tip-sayilar .red::before { background: var(--uz-danger); }

.uz-tk { display: grid; grid-template-columns: minmax(250px, 330px) minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 900px) { .uz-tk { grid-template-columns: 1fr; } }
.uz-tk-liste { display: flex; flex-direction: column; gap: 10px; background: var(--uz-surface); border: 1px solid var(--uz-border);
    border-radius: var(--uz-radius-lg); padding: 12px; position: sticky; top: calc(var(--uz-header-h) + 12px); }
.uz-tk-liste .uz-arama { max-width: none; flex: none; }
.uz-tk-durum { display: flex; } .uz-tk-durum button { flex: 1; justify-content: center; padding: 5px 4px; font-size: 12px; }
.uz-tk-ogeler { max-height: 62vh; overflow-y: auto; margin: 0 -4px; padding: 0 4px; display: flex; flex-direction: column; gap: 2px; }
.uz-tk-oge { display: flex; flex-direction: column; gap: 1px; text-align: left; width: 100%; padding: 7px 9px; font: inherit; font-size: 13px;
    border: 1px solid transparent; border-radius: var(--uz-radius-sm); background: transparent; color: var(--uz-ink); cursor: pointer; }
.uz-tk-oge:hover { background: var(--uz-row-hover); }
.uz-tk-oge.secili { background: var(--uz-brand-soft); border-color: color-mix(in srgb, var(--uz-brand) 35%, transparent); }
.uz-tk-oge-alt { font-size: 12px; color: var(--uz-ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.uz-tk-nokta { display: inline-block; width: 8px; height: 8px; border-radius: 999px; }
.uz-tk-detay { background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius-lg); padding: 16px 18px; min-width: 0; }
.uz-tk-baslik { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-bottom: 12px; border-bottom: 1px solid var(--uz-border-soft); }
.uz-tk-baslik h5 { font-size: 18px; font-weight: 700; color: var(--uz-ink); word-break: break-all; }
.uz-tk-anlam { margin-top: 12px; padding: 10px 12px; background: var(--uz-surface-alt); border-radius: var(--uz-radius); font-size: 14px; color: var(--uz-ink); }
.uz-tk-durum-rozet { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 700; padding: 1px 8px; border-radius: 999px; white-space: nowrap; }
.uz-tk-durum-rozet.onayli { background: var(--uz-ok-soft); color: var(--uz-ok); }
.uz-tk-durum-rozet.aday { background: var(--uz-warn-soft); color: var(--uz-warn); }
.uz-tk-durum-rozet.red { background: var(--uz-danger-soft); color: var(--uz-danger); }
.uz-tk-kolonlar .uz-tk-duzelt { opacity: 0; transition: opacity .15s ease; }
.uz-tk-kolonlar tr:hover .uz-tk-duzelt, .uz-tk-duzelt:focus-visible { opacity: 1; }

.uz-tk-aktar { max-width: 1000px; }
.uz-tk-adimlar { display: flex; flex-direction: column; gap: 12px; }
.uz-tk-adimlar > section { background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius-lg); padding: 14px 16px; }
.uz-tk-adimlar > section.kapali { opacity: .55; pointer-events: none; }
.uz-tk-adimlar > section.tamam .uz-tk-adim { background: var(--uz-ok-soft); color: var(--uz-ok); }
.uz-tk-adimlar h6 { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--uz-ink); margin-bottom: 10px; }
.uz-tk-onizleme { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; margin-top: 12px; }
.uz-tk-onizleme > div { display: flex; flex-direction: column; padding: 8px 12px; border-radius: var(--uz-radius); background: var(--uz-surface-alt); }
.uz-tk-onizleme span { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--uz-ink-faint); }
.uz-tk-onizleme strong { font-size: 20px; font-variant-numeric: tabular-nums; color: var(--uz-ink); }
.uz-tk-onizleme .yeni strong { color: var(--uz-ok); } .uz-tk-onizleme .guncel strong { color: var(--uz-info); }
.uz-tk-ornek { margin: 10px 0 0; padding-left: 18px; font-size: 12.5px; color: var(--uz-ink-soft); max-height: 220px; overflow-y: auto; }
/* 10-27: Zamanlanmış rapor denemesi — adım adım sonuç (tamam / uyarı / hata). */
.uz-zrd { border: 1px solid var(--uz-border); border-radius: var(--uz-radius); padding: 10px 12px; background: var(--uz-surface-alt); }
.uz-zrd-bas { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 6px; }
.uz-zrd-adimlar { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.uz-zrd-adimlar li { display: grid; grid-template-columns: 18px minmax(110px, 150px) 1fr; gap: 6px; align-items: baseline; font-size: 13px; }
.uz-zrd-adimlar li.tamam i { color: var(--uz-ok); }
.uz-zrd-adimlar li.uyari i { color: var(--uz-warn); }
.uz-zrd-adimlar li.hata i { color: var(--uz-danger); }
.uz-zrd-adimlar li.hata .uz-zrd-mesaj { color: var(--uz-danger); }
.uz-zrd-ad { font-weight: 600; color: var(--uz-ink); }
.uz-zrd-mesaj { color: var(--uz-ink-soft); }
@media (max-width: 600px) { .uz-zrd-adimlar li { grid-template-columns: 18px 1fr; } .uz-zrd-mesaj { grid-column: 2; } }

/* "AI ile kur" canlı adımları (veri tanımı oluşturma) */
.uz-tanim-ilerleme { border: 1px solid var(--uz-border); border-radius: var(--uz-radius); padding: 12px 14px; background: var(--uz-surface-alt); }
.uz-tanim-ilerleme-bas { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--uz-ink); }
.uz-tanim-ilerleme-sure { margin-left: auto; font-size: 12px; color: var(--uz-ink-soft); font-variant-numeric: tabular-nums; }
.uz-tanim-adimlar { list-style: none; margin: 10px 0 8px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.uz-tanim-adimlar li { display: grid; grid-template-columns: 18px 1fr; column-gap: 8px; align-items: baseline; font-size: 13px; color: var(--uz-ink); }
.uz-tanim-adimlar li .spinner-border { width: 12px; height: 12px; border-width: 2px; color: var(--uz-brand); }
.uz-tanim-adimlar li.tamam i { color: var(--uz-ok); }
.uz-tanim-adimlar li.uyari i { color: var(--uz-warn); }
.uz-tanim-adimlar li.suruyor > span:not(.spinner-border) { font-weight: 600; }
.uz-tanim-adim-detay { grid-column: 2; font-size: 12px; color: var(--uz-ink-soft); overflow-wrap: anywhere; }
.uz-tanim-adimlar li.uyari .uz-tanim-adim-detay { color: var(--uz-warn); }
.uz-tanim-ilerleme-ipucu { font-size: 12px; color: var(--uz-ink-faint); }
.uz-tanim-ilerleme-ozet > summary { cursor: pointer; font-size: 12px; color: var(--uz-ink-soft); }
.uz-tanim-ilerleme-ozet .uz-tanim-adimlar { margin: 8px 0 0; }

/* Mobil uygulamayı bağla (QR) — QR zemini temadan bağımsız beyaz kalır (koyu temada okunabilsin). */
.uz-mobilqr { display: flex; flex-direction: column; gap: 10px; }
.uz-mobilqr-adim { margin: 0; font-size: 13px; color: var(--uz-ink-soft); }
.uz-mobilqr-kod { display: flex; align-items: center; justify-content: center; min-height: 260px; padding: 8px; background: #fff; border: 1px solid var(--uz-border); border-radius: var(--uz-radius); }
.uz-mobilqr-kod svg { width: 260px; height: 260px; }
.uz-mobilqr-kod .soluk { color: #5b6573; text-align: center; padding: 0 12px; }
.uz-mobilqr .dxbl-btn { white-space: nowrap; flex-shrink: 0; }
.uz-mobilqr-etiket { font-size: 12px; font-weight: 600; color: var(--uz-ink-soft); margin: 0; }
.uz-mobilqr-iz { font-size: 12px; color: var(--uz-ink-soft); overflow-wrap: anywhere; }
.uz-mobilqr-iz code { font-size: 11px; }
.uz-mobilqr-iz.uyari { color: var(--uz-warn); }
.uz-alan-ozet-bos { margin-top: 8px; color: var(--uz-ink-soft); }
.uz-bos-durum { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 40px 16px; color: var(--uz-ink-faint); text-align: center; }
.uz-bos-durum i { font-size: 28px; color: var(--uz-ink-faint); }
.uz-parola-kural { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12px; color: var(--uz-ink-faint); }
.uz-parola-kural li { display: inline-flex; align-items: center; gap: 5px; }
.uz-parola-kural li.ok { color: var(--uz-ok); }

/* ---- oturumlar ---- */
.uz-oturum-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.uz-oturum-liste li { display: flex; align-items: center; gap: 12px; padding: 10px 4px; border-bottom: 1px solid var(--uz-border-soft); flex-wrap: wrap; }
.uz-oturum-liste li:last-child { border-bottom: 0; }
.uz-oturum-liste li.bu .uz-oturum-ikon { background: var(--uz-brand-soft); color: var(--uz-brand); }
.uz-oturum-ikon { width: 36px; height: 36px; flex: none; border-radius: 10px; display: grid; place-items: center;
    background: var(--uz-surface-sunk); color: var(--uz-ink-soft); font-size: 17px; }
.uz-oturum-govde { flex: 1; min-width: 180px; }
.uz-oturum-ad { font-size: 13.5px; font-weight: 600; color: var(--uz-ink); display: flex; gap: 8px; align-items: center; }
.uz-oturum-meta { font-size: 12px; color: var(--uz-ink-faint); }

/* ---- bilgi / yetki / hareket ---- */
.uz-bilgi-liste { margin: 0 0 10px; display: flex; flex-direction: column; }
.uz-bilgi-liste div { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--uz-border-soft); font-size: 13px; }
.uz-bilgi-liste div:last-child { border-bottom: 0; }
.uz-bilgi-liste dt { font-weight: 500; color: var(--uz-ink-soft); }
.uz-bilgi-liste dd { margin: 0; color: var(--uz-ink); text-align: right; }
.uz-kart-baglanti { display: flex; align-items: center; gap: 8px; padding: 9px 12px; margin-bottom: 8px; text-decoration: none;
    border: 1px solid var(--uz-border); border-radius: var(--uz-radius-sm); color: var(--uz-ink); font-size: 13px; font-weight: 600; }
.uz-kart-baglanti:hover { border-color: var(--uz-brand); color: var(--uz-ink); }
.uz-yetki-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.uz-yetki-liste li { display: flex; flex-direction: column; gap: 1px; font-size: 13px; }
.uz-yetki-liste b { color: var(--uz-ink); font-weight: 600; }
.uz-yetki-liste span { color: var(--uz-ink-soft); font-size: 12.5px; }
.uz-etkinlik { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.uz-etkinlik li { display: flex; gap: 10px; padding: 0 0 12px; position: relative; }
.uz-etkinlik li::before { content: ""; position: absolute; left: 4px; top: 12px; bottom: 0; width: 1px; background: var(--uz-border); }
.uz-etkinlik li:last-child::before { display: none; }
.uz-etkinlik-nokta { width: 9px; height: 9px; flex: none; margin-top: 5px; border-radius: 999px; background: var(--uz-brand); }
.uz-etkinlik li.hata .uz-etkinlik-nokta { background: var(--uz-danger); }
.uz-etkinlik li > div { min-width: 0; flex: 1; }
.uz-etkinlik-ust { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; }
.uz-etkinlik-ust span { color: var(--uz-ink-faint); font-size: 12px; white-space: nowrap; }
.uz-etkinlik-metin { font-size: 12.5px; color: var(--uz-ink-soft); }
.uzser-user-link { display: inline-flex; align-items: center; gap: 7px; text-decoration: none; color: inherit; }
.uzser-user-link:hover { color: inherit; }

/* ════════════════════════════════════════════════════════════════════════════
   RAPORLAR — hazır raporlar önde (kart), veri tanımları "buradan kur" listesi.
   Çalıştırma ekranı: kullanım kipinde sorular, düzenleme kipinde filtre satırları.
   ════════════════════════════════════════════════════════════════════════════ */
.uz-raporlar, .uz-calistir { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.uz-raporlar-bas { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.uz-raporlar-bas h3 { margin: 0; }
.uz-raporlar-bas p { margin: 2px 0 0; font-size: 13px; color: var(--uz-ink-soft); }
.uz-raporlar-bas-arac { margin-left: auto; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.uz-raporlar-arac { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.uz-segment { display: inline-flex; padding: 3px; gap: 2px; background: var(--uz-surface-sunk);
    border: 1px solid var(--uz-border); border-radius: var(--uz-radius); }
.uz-segment button { border: 0; background: transparent; color: var(--uz-ink-soft); font: inherit; font-size: 13px; font-weight: 600;
    padding: 6px 12px; border-radius: var(--uz-radius-sm); display: inline-flex; gap: 6px; align-items: center; cursor: pointer; }
.uz-segment button span { font-size: 11.5px; font-weight: 700; padding: 0 6px; border-radius: 999px; background: var(--uz-neutral-soft); color: var(--uz-ink-soft); }
.uz-segment button.aktif { background: var(--uz-surface); color: var(--uz-ink); box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.uz-segment button.aktif span { background: var(--uz-brand-soft); color: var(--uz-brand); }
.uz-segment button:focus-visible { outline: 2px solid var(--uz-brand); outline-offset: 1px; }

.uz-arama { position: relative; flex: 1 1 240px; max-width: 380px; }
.uz-arama i { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--uz-ink-faint); font-size: 13px; }
.uz-arama input { width: 100%; padding: 6px 10px 6px 30px; font-size: 13px; color: var(--uz-ink);
    background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius-sm); }
.uz-arama input:focus { outline: none; border-color: var(--uz-brand); box-shadow: 0 0 0 3px var(--uz-brand-soft); }
.uz-cipler { display: flex; gap: 6px; flex-wrap: wrap; }
.uz-cip { border: 1px solid var(--uz-border); background: var(--uz-surface); color: var(--uz-ink-soft); font: inherit; font-size: 12.5px;
    font-weight: 600; padding: 4px 10px; border-radius: 999px; display: inline-flex; gap: 5px; align-items: center; cursor: pointer; }
.uz-cip span { color: var(--uz-ink-faint); font-weight: 500; }
.uz-cip:hover { border-color: var(--uz-brand); color: var(--uz-ink); }
.uz-cip.secili { background: var(--uz-brand-soft); border-color: color-mix(in srgb, var(--uz-brand) 40%, transparent); color: var(--uz-ink); }
.uz-kaynak-sec { width: auto; min-width: 150px; }
/* Müşteri seçici (TenantSelect): genişlik sayfadan satır içi gelir; telefonda satırın yarısında kalmasın. */
@media (max-width: 576px) {
    .uz-musteri-secici { width: 100% !important; flex: 1 1 100%; }
    /* Üst kutu içeriğe göre daralıyorsa %100 onun genişliği olur (Şirket Belleği'nde 203 px): üst kutu da tam satır. */
    :has(> .uz-musteri-secici) { flex-grow: 1; flex-basis: 100%; min-width: 0; }
}

.uz-bos-buyuk { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 40px 16px;
    background: var(--uz-surface); border: 1px dashed var(--uz-border); border-radius: var(--uz-radius); }
/* ⚠️ Yalnız doğrudan çocuk simge: `.uz-bos-buyuk i` içerideki düğmenin simgesini de vurgu rengine boyuyordu — birincil
   düğmenin zemini de vurgu rengi, simge görünmez oluyordu (Firma Hesabı, kontrast 1,00). */
.uz-bos-buyuk > i { font-size: 30px; color: var(--uz-brand); }
.uz-bos-buyuk b { font-size: 15px; color: var(--uz-ink); }
.uz-bos-buyuk span { max-width: 520px; font-size: 13px; color: var(--uz-ink-soft); }

.uz-rapor-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.uz-rapor-kart { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; min-width: 0;
    background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); }
.uz-rapor-kart:hover { border-color: color-mix(in srgb, var(--uz-brand) 45%, var(--uz-border)); }
.uz-rapor-kart-ust { display: flex; gap: 10px; align-items: flex-start; }
.uz-rapor-ikon { width: 36px; height: 36px; flex: none; border-radius: 10px; display: grid; place-items: center; font-size: 17px;
    background: var(--uz-brand-soft); color: var(--uz-brand); }
.uz-rapor-ikon.kisisel { background: var(--uz-neutral-soft); color: var(--uz-ink-soft); }
.uz-rapor-ikon.uzser { background: var(--uz-ok-soft); color: var(--uz-ok); }
.uz-rapor-kart-ad { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.uz-rapor-kart-ad a { text-decoration: none; }
.uz-rapor-kart-ad h4 { margin: 0; font-size: 14.5px; font-weight: 700; color: var(--uz-ink); text-wrap: balance; }
.uz-rapor-kart-ad a:hover h4 { color: var(--uz-brand); }
.uz-rapor-kart-ad span { font-size: 12px; color: var(--uz-ink-faint); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-rapor-aciklama { margin: 0; font-size: 12.5px; color: var(--uz-ink-soft); display: -webkit-box; -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; overflow: hidden; }
.uz-filtre-cipleri { display: flex; flex-wrap: wrap; gap: 5px; }
.uz-filtre-cip { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; font-size: 12px; padding: 3px 8px;
    border-radius: var(--uz-radius-sm); background: var(--uz-info-soft); color: var(--uz-ink); }
.uz-filtre-cip i { font-size: 11px; color: var(--uz-info); }
.uz-filtre-cip.kilitli { background: var(--uz-neutral-soft); }
.uz-filtre-cip.kilitli i { color: var(--uz-ink-soft); }
.uz-filtre-cip.soluk { background: transparent; border: 1px dashed var(--uz-border); color: var(--uz-ink-faint); }
.uz-filtre-cip.soluk i { color: var(--uz-ink-faint); }
.uz-rapor-kart-alt { margin-top: auto; display: flex; align-items: center; gap: 6px; padding-top: 8px; border-top: 1px solid var(--uz-border-soft); }
.uz-rapor-kart-meta { margin-right: auto; font-size: 11.5px; color: var(--uz-ink-faint); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.uz-tanim-liste { list-style: none; margin: 0; padding: 0; background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); }
.uz-tanim-liste li { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-bottom: 1px solid var(--uz-border-soft); }
.uz-tanim-liste li:last-child { border-bottom: 0; }
.uz-tanim-liste li:hover { background: var(--uz-row-hover); }
.uz-tanim-ikon { width: 32px; height: 32px; flex: none; border-radius: 8px; display: grid; place-items: center; background: var(--uz-surface-sunk); color: var(--uz-ink-soft); }
.uz-tanim-govde { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.uz-tanim-govde a { text-decoration: none; color: var(--uz-ink); font-size: 13.5px; }
.uz-tanim-govde a:hover { color: var(--uz-brand); }
.uz-tanim-govde > span { font-size: 12.5px; color: var(--uz-ink-soft); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-tanim-govde small { font-size: 11.5px; color: var(--uz-ink-faint); }
/* Telefonda düğme alta iner: sağda kalınca başlığı iki satıra, açıklamayı ~100 px'e sıkıştırıyordu. */
@media (max-width: 576px) {
    .uz-tanim-liste li { flex-wrap: wrap; }
    .uz-tanim-liste li > .btn { flex: 1 1 100%; }
}

/* ---- çalıştırma ---- */
.uz-calistir-bas { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.uz-geri { width: 34px; height: 34px; flex: none; display: grid; place-items: center; border-radius: var(--uz-radius-sm);
    color: var(--uz-ink-soft); border: 1px solid var(--uz-border); background: var(--uz-surface); text-decoration: none; }
.uz-geri:hover { color: var(--uz-ink); border-color: var(--uz-brand); }
.uz-calistir-ad { min-width: 0; flex: 1 1 280px; }
.uz-calistir-ad h3 { margin: 0; font-size: 20px; font-weight: 800; color: var(--uz-ink); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.uz-calistir-ad h3 .uz-rozet { font-size: 11.5px; }
.uz-calistir-ad > span { font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-calistir-arac { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-left: auto; }
.uz-rozet.uyari { background: var(--uz-warn-soft); color: var(--uz-warn); }
.uz-rozet.kirmizi { background: var(--uz-danger-soft); color: var(--uz-danger); }
.uz-ipucu-kutu { display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px; color: var(--uz-ink-soft);
    padding: 9px 12px; background: var(--uz-info-soft); border-radius: var(--uz-radius-sm); }
.uz-ipucu-kutu i { color: var(--uz-info); margin-top: 1px; }

.uz-soru-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px 18px; }
.uz-soru { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.uz-soru-etiket { font-size: 12.5px; font-weight: 600; color: var(--uz-ink-soft); }
.uz-soru-etiket small { font-weight: 400; color: var(--uz-ink-faint); margin-left: 4px; }

.uz-filtre-liste { display: flex; flex-direction: column; gap: 8px; }
.uz-filtre-satir { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 10px;
    background: var(--uz-surface-sunk); border-radius: var(--uz-radius-sm); }
.uz-filtre-ekle { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.uz-deger-tarih, .uz-deger-aralik { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.uz-deger-ayrac { color: var(--uz-ink-faint); }
.uz-deger-ipucu { font-size: 12px; color: var(--uz-ink-soft); font-variant-numeric: tabular-nums; }

.uz-gorunum > summary { cursor: pointer; font-size: 13.5px; font-weight: 700; color: var(--uz-ink); display: flex; gap: 7px; align-items: center; list-style: none; }
.uz-gorunum > summary::-webkit-details-marker { display: none; }
.uz-gorunum > summary i { color: var(--uz-ink-soft); }
.uz-gorunum > summary span { font-size: 12px; font-weight: 400; color: var(--uz-ink-faint); }
.uz-sonuc .dxbl-grid { font-variant-numeric: tabular-nums; }

/* ---- kaydet penceresi ---- */
.uz-kapsam-sec { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 8px; }
.uz-kapsam-sec label { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; align-items: center; padding: 9px 11px; cursor: pointer;
    border: 1px solid var(--uz-border); border-radius: var(--uz-radius-sm); background: var(--uz-surface); }
.uz-kapsam-sec label input { position: absolute; opacity: 0; pointer-events: none; }
.uz-kapsam-sec label i { color: var(--uz-ink-soft); }
.uz-kapsam-sec label b { font-size: 13px; color: var(--uz-ink); }
.uz-kapsam-sec label small { grid-column: 1 / -1; font-size: 11.5px; color: var(--uz-ink-faint); }
.uz-kapsam-sec label.secili { border-color: var(--uz-brand); background: var(--uz-brand-soft); }
.uz-kapsam-sec label.secili i { color: var(--uz-brand); }
.uz-kapsam-sec label:focus-within { outline: 2px solid var(--uz-brand); outline-offset: 1px; }
.uz-kapsam-sec label.kapali { cursor: not-allowed; opacity: .6; }
.uz-kaydet fieldset { border: 0; padding: 0; }
.uz-kaydet-filtre { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; }
.uz-kaydet-filtre li { display: flex; align-items: center; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--uz-border-soft); }
.uz-kaydet-filtre li:last-child { border-bottom: 0; }
.uz-kaydet-filtre li > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.uz-kaydet-filtre b { font-size: 13px; color: var(--uz-ink); }
.uz-kaydet-filtre li > div > span { font-size: 12px; color: var(--uz-ink-soft); }

@media (max-width: 575.98px) {
    .uz-raporlar-bas-arac, .uz-calistir-arac { margin-left: 0; width: 100%; }
    .uz-arama { max-width: none; }
    .uz-rapor-izgara, .uz-soru-izgara { grid-template-columns: minmax(0, 1fr); }
    .uz-filtre-satir > * { max-width: 100%; }
}

/* ---------------------------------------------------------------- AI İLE PANO
   Tarif formu → adım adım ilerleme → canlı önizlemeli taslak. Her bileşenin altında kaynak kutusu:
   tıklanınca kullanılan alanlar, filtreler ve AI gerekçesi açılır. */
.uz-aip { display: flex; flex-direction: column; gap: 14px; }
.uz-aip-geri { font-size: 12.5px; color: var(--uz-ink-soft); text-decoration: none; display: inline-flex; gap: 4px; margin-bottom: 4px; }
.uz-aip-geri:hover { color: var(--uz-brand); }
.uz-aip-alt { color: var(--uz-ink-soft); font-size: 13.5px; margin-top: 2px; }
.uz-aip-form { max-width: 760px; background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); padding: 18px 20px; }
.uz-aip-etiket { display: block; font-size: 12px; font-weight: 600; color: var(--uz-ink-soft); letter-spacing: .02em; margin-bottom: 4px; }
.uz-aip-satir { display: flex; flex-wrap: wrap; gap: 14px; }
.uz-aip-satir > div { min-width: 150px; }
.uz-aip-not { font-size: 12.5px; color: var(--uz-ink-faint); }
.uz-aip-adimlar { list-style: none; padding: 0; margin: 16px 0 0; display: flex; flex-direction: column; gap: 8px; }
.uz-aip-adim { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; color: var(--uz-ink); }
.uz-aip-adim-ic { flex: 0 0 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    background: var(--uz-surface-sunk); color: var(--uz-ink-soft); font-size: 12px; }
.uz-aip-adim.tamam .uz-aip-adim-ic { background: var(--uz-ok-soft); color: var(--uz-ok); }
.uz-aip-adim.hata .uz-aip-adim-ic { background: var(--uz-danger-soft); color: var(--uz-danger); }
.uz-aip-adim.calisiyor { color: var(--uz-ink-soft); }

.uz-aip-ust { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px; }
.uz-aip-ad { flex: 1 1 280px; max-width: 460px; }
.uz-aip-paylas { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; padding-bottom: 7px; }
.uz-aip-eylemler { margin-left: auto; display: flex; gap: 8px; }
.uz-aip-aciklama { margin: 0; color: var(--uz-ink-soft); font-size: 13.5px; }
.uz-aip-aciklama .bi { color: var(--uz-brand); }

.uz-aip-kaynaklar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.uz-aip-kutu, .uz-aip-kaynak { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--uz-ink);
    background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius-sm); padding: 4px 10px; cursor: pointer; }
.uz-aip-kutu:hover, .uz-aip-kaynak:hover { border-color: var(--uz-brand); }
.uz-aip-kutu.acik, .uz-aip-kaynak.acik { border-color: var(--uz-brand); background: var(--uz-brand-soft); }
.uz-aip-kutu:focus-visible, .uz-aip-kaynak:focus-visible { outline: 2px solid var(--uz-brand); outline-offset: 1px; }
.uz-aip-kutu-say { font-size: 11px; font-weight: 600; min-width: 18px; text-align: center; border-radius: 999px;
    background: var(--uz-surface-sunk); color: var(--uz-ink-soft); padding: 0 5px; }
.uz-aip-kaynak-ayrinti { background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius-sm); padding: 10px 14px; }
.uz-aip-kaynak-ayrinti dl { display: grid; grid-template-columns: max-content 1fr; gap: 4px 14px; margin: 0; font-size: 13px; }
.uz-aip-kaynak-ayrinti dt { color: var(--uz-ink-soft); font-weight: 600; }
.uz-aip-kaynak-ayrinti dd { margin: 0; }

/* Önizleme panodaki yerleşimi AYNEN gösterir (X/Y/genişlik/yükseklik): yan süzgeç sütunu, eşit satır yükseklikleri.
   Satır birimi en az 40 px + 12 px aralık ≈ panodaki 45 px; düzenleme satırı ve kaynak düğmesi de hücrede
   durduğu için kısa (süzgeç) hücrede satır içeriğe göre uzar. */
.uz-aip-izgara { display: grid; grid-template-columns: repeat(24, minmax(0, 1fr)); grid-auto-rows: minmax(40px, auto); gap: 12px; align-items: stretch; }
.uz-aip-hucre { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.uz-aip-duzen { display: flex; gap: 6px; }
.uz-aip-duzen .form-control { flex: 1 1 auto; min-width: 0; }
.uz-aip-duzen .form-select { flex: 0 0 auto; width: auto; }
.uz-aip-kart { flex: 1 1 auto; min-height: 64px; }  /* kısa süzgeç hücresinde satır kartın sığacağı kadar uzar */
.uz-aip-kart > .card { height: 100%; display: flex; flex-direction: column; }
.uz-aip-kart .card-header { flex: 0 0 auto; padding: 8px 12px; }
.uz-aip-kart .card-body { flex: 1 1 auto; min-height: 0; overflow: hidden; padding: 8px 12px; display: flex; flex-direction: column; 
    /* KPI puntosu kart genişliğine göre küçülür (bi-theme: uzser-kpi-value, cqw) — kap olmadan 3/12 kartta
       "481.199.498" kesiliyordu. */
    container-type: inline-size; }
.uz-aip-kart .card-body .dxbl-chart, .uz-aip-kart .card-body > .dxbl-pie-chart { flex: 1 1 auto; min-height: 0; max-width: 100%; }
.uz-aip-kaynak { width: 100%; }
.uz-aip-bilesen-ayrinti { font-size: 12.5px; color: var(--uz-ink); background: var(--uz-surface-sunk); border-radius: var(--uz-radius-sm);
    padding: 8px 10px; display: flex; flex-direction: column; gap: 3px; }
.uz-aip-gerekce { color: var(--uz-ink-soft); }
.uz-aip-gerekce .bi { color: var(--uz-brand); }

@media (max-width: 900px) {
    .uz-aip-izgara { grid-template-columns: 1fr; grid-auto-rows: auto; }
    .uz-aip-hucre { grid-column: auto !important; grid-row: auto !important; }
    .uz-aip-kart { flex: none; height: var(--aip-h, 280px); }
    .uz-aip-eylemler { margin-left: 0; }
}

/* Eşik takibi açık göstergenin zili: izlendiği bir bakışta görünsün. */
.uz-esik-takipte, .uz-esik-takipte .bi { color: #e8590c !important; }

/* Grafikte tıklanan değer için eylem şeridi (WidgetView): panoyu süz / detayı aç. */
/* ⚠️ Kartın üstünde YÜZER: içeriği aşağı itseydi pano yüksekliği değişir, ResizeObserver tetiklenir
   ve bileşenler yeniden oluşturulurdu. */
.card-body:has(> .uz-w-secim) { position: relative; }
.uz-w-secim {
    position: absolute; top: 6px; left: 8px; right: 8px; z-index: 5;
    display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
    padding: 6px 8px; border-radius: 8px;
    background: var(--uz-surface); border: 1px solid var(--uz-border);
    box-shadow: var(--uz-shadow-float); font-size: 12.5px;
}
.uz-w-secim-deger {
    font-weight: 600; color: var(--uz-ink); margin-right: auto;
    max-width: 40%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.uz-w-secim-dugme {
    display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 6px;
    border: 1px solid var(--uz-border); background: var(--uz-surface); color: var(--uz-ink); cursor: pointer;
}
.uz-w-secim-dugme:hover { border-color: var(--uz-brand); color: var(--uz-brand); }
.uz-w-secim-dugme.birincil { background: var(--uz-brand); border-color: var(--uz-brand); color: var(--uz-brand-fg); }
.uz-w-secim-dugme.birincil:hover { filter: brightness(1.08); color: var(--uz-brand-fg); }
.uz-w-secim-kapat { border: 0; background: transparent; color: var(--uz-ink-soft); padding: 2px 4px; cursor: pointer; }
.uz-w-secim-dugme:focus-visible, .uz-w-secim-kapat:focus-visible { outline: 2px solid var(--uz-brand); outline-offset: 1px; }

/* ===================== Haftalık özet (Icgoruler.razor) ===================== */
.uz-icgoru { display: flex; flex-direction: column; gap: 16px; max-width: 980px; }
.uz-icgoru-bas { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.uz-icgoru-bas h3 { margin: 0 0 4px; }
.uz-icgoru-bas p { margin: 0; color: var(--uz-ink-soft); font-size: 14px; max-width: 60ch; }
.uz-icgoru-arac { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.uz-icgoru-bos {
    display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center;
    padding: 40px 16px; border: 1px dashed var(--uz-border); border-radius: var(--uz-radius); color: var(--uz-ink-soft);
}
.uz-icgoru-bos .bi { font-size: 28px; color: var(--uz-brand); }
.uz-icgoru-bos b { color: var(--uz-ink); }
.uz-icgoru-hafta {
    background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius);
    padding: 16px 18px; display: flex; flex-direction: column; gap: 10px;
}
.uz-icgoru-hafta.guncel { box-shadow: var(--uz-shadow-card); }
.uz-icgoru-hafta:not(.guncel) { opacity: .88; }
.uz-icgoru-hafta-bas { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.uz-icgoru-hafta-bas h4 { margin: 0; font-size: 16px; font-weight: 700; color: var(--uz-ink); }
.uz-icgoru-meta { font-size: 12.5px; color: var(--uz-ink-faint); }
.uz-icgoru-sakin { margin: 0; color: var(--uz-ink-soft); }
.uz-icgoru-sakin .bi { color: #16a34a; margin-right: 4px; }
.uz-icgoru-maddeler { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.uz-icgoru-maddeler li {
    display: grid; grid-template-columns: 78px 1fr auto; gap: 12px; align-items: start;
    padding: 10px 12px; border-radius: 8px; background: var(--uz-surface-sunk);
    border-left: var(--uz-stripe) solid var(--uz-border);
}
.uz-icgoru-maddeler li.yuksek { border-left-color: #dc2626; }
.uz-icgoru-maddeler li.orta { border-left-color: #d97706; }
.uz-icgoru-onem { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--uz-ink-faint); padding-top: 2px; }
.uz-icgoru-maddeler li.yuksek .uz-icgoru-onem { color: #dc2626; }
.uz-icgoru-maddeler li.orta .uz-icgoru-onem { color: #d97706; }
.uz-icgoru-metin { color: var(--uz-ink); font-size: 14px; line-height: 1.5; }
.uz-icgoru-git { font-size: 13px; white-space: nowrap; text-decoration: none; color: var(--uz-brand); }
.uz-icgoru-alt-baslik { margin: 4px 0 0; font-size: 13px; font-weight: 700; color: var(--uz-ink-soft); text-transform: uppercase; letter-spacing: .05em; }
/* Geçen haftanın kazanımı (Kazanımlar sayfasının bir haftalık hâli). */
.uz-icgoru-kazanim {
    display: flex; flex-direction: column; gap: 10px; padding: 12px 14px; border-radius: 10px;
    background: color-mix(in srgb, var(--uz-brand) 6%, var(--uz-surface)); border: 1px solid color-mix(in srgb, var(--uz-brand) 20%, var(--uz-border));
}
.uz-icgoru-kazanim-bas { display: flex; gap: 12px; align-items: flex-start; }
.uz-icgoru-kazanim-bas > .bi { font-size: 22px; color: var(--uz-brand); }
.uz-icgoru-kazanim-ust { font-size: 12px; color: var(--uz-ink-faint); text-transform: uppercase; letter-spacing: .04em; }
.uz-icgoru-kazanim-sure { font-size: 22px; font-weight: 700; color: var(--uz-brand); white-space: nowrap; }
.uz-icgoru-kazanim-isler { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; }
.uz-icgoru-kazanim-isler li { display: grid; grid-template-columns: 20px 1fr auto; gap: 8px; align-items: baseline; }
.uz-icgoru-kazanim-isler .bi { color: var(--uz-brand); }
.uz-icgoru-gunler { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; align-items: end; height: 70px; }
.uz-icgoru-gunler > div { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; height: 100%; }
.uz-icgoru-gunler span { width: 60%; min-height: 2px; border-radius: 4px 4px 0 0; background: var(--uz-brand); opacity: .8; }
.uz-icgoru-gunler small { font-size: 11px; color: var(--uz-ink-faint); }
@media (max-width: 600px) { .uz-icgoru-kazanim-bas { flex-wrap: wrap; } }
@media (max-width: 600px) {
    .uz-icgoru-maddeler li { grid-template-columns: 1fr; gap: 4px; }
}

/* ===================== Sohbet: "bu sayı nereden geldi" (VeriIziKutusu) ===================== */
.uz-iz-liste { margin-top: 8px; display: flex; flex-direction: column; gap: 6px; }
.uz-iz-liste-baslik { font-size: 12px; font-weight: 600; color: var(--uz-ink-soft); display: flex; gap: 6px; align-items: center; }
.uz-iz-kutu { border: 1px solid var(--uz-border); border-radius: 10px; background: var(--uz-surface); }
.uz-iz-kutu > summary {
    list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 8px 12px; font-size: 13.5px;
}
.uz-iz-kutu > summary::-webkit-details-marker { display: none; }
.uz-iz-kutu > summary::after { content: "\F282"; font-family: "bootstrap-icons"; margin-left: 4px; color: var(--uz-ink-faint); transition: transform .15s; }
.uz-iz-kutu[open] > summary::after { transform: rotate(180deg); }
.uz-iz-kutu > summary .bi { color: var(--uz-brand); }
.uz-iz-ad { font-weight: 600; color: var(--uz-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-iz-tur { font-size: 11px; padding: 1px 7px; border-radius: 999px; background: var(--uz-brand-soft); color: var(--uz-brand); white-space: nowrap; }
.uz-iz-satir { margin-left: auto; font-size: 12px; color: var(--uz-ink-faint); white-space: nowrap; font-variant-numeric: tabular-nums; }
.uz-iz-govde { padding: 0 12px 12px; display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.uz-iz-baslik { font-size: 12px; font-weight: 600; color: var(--uz-ink-soft); }
.uz-iz-govde ul { margin: 0; padding-left: 18px; color: var(--uz-ink); }
.uz-iz-ozet { color: var(--uz-ink); }
.uz-iz-not { color: #b45309; font-size: 12.5px; }
.uz-iz-eylem { display: flex; gap: 8px; flex-wrap: wrap; }
.uz-iz-eylem a {
    display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 7px; text-decoration: none;
    border: 1px solid var(--uz-border); color: var(--uz-ink); font-size: 12.5px;
}
.uz-iz-eylem a:hover { border-color: var(--uz-brand); color: var(--uz-brand); }
.uz-iz-eylem a.birincil { background: var(--uz-brand); border-color: var(--uz-brand); color: var(--uz-brand-fg); }
.uz-iz-eylem a.birincil:hover { filter: brightness(1.08); color: var(--uz-brand-fg); }

/* ===================== Dış tetikleyiciler (Webhooklar.razor) ===================== */
.uz-webhook { display: flex; flex-direction: column; gap: 14px; max-width: 1000px; }
.uz-webhook-bas { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; flex-wrap: wrap; }
.uz-webhook-bas > div { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; }
.uz-webhook-bas h3 { margin: 0; }
.uz-webhook-bas p { grid-column: 1 / -1; margin: 6px 0 0; color: var(--uz-ink-soft); font-size: 14px; max-width: 75ch; }
.uz-webhook-sir {
    display: flex; flex-direction: column; gap: 8px; align-items: flex-start; padding: 12px 14px; border-radius: var(--uz-radius);
    background: color-mix(in srgb, #d97706 10%, var(--uz-surface)); border: 1px solid color-mix(in srgb, #d97706 45%, var(--uz-border));
}
.uz-webhook-kod {
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12.5px; padding: 8px 10px; border-radius: 8px;
    background: var(--uz-surface-sunk); border: 1px solid var(--uz-border); color: var(--uz-ink);
    overflow-x: auto; max-width: 100%; white-space: pre; margin: 0; user-select: all;
}
.uz-webhook-yeni { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }
.uz-webhook-alan { display: flex; flex-direction: column; gap: 4px; min-width: 220px; }
.uz-webhook-alan label { font-size: 12.5px; font-weight: 600; color: var(--uz-ink-soft); }
.uz-webhook-bos { display: flex; gap: 8px; align-items: center; color: var(--uz-ink-soft); padding: 20px; border: 1px dashed var(--uz-border); border-radius: var(--uz-radius); }
.uz-webhook-kart {
    background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius);
    padding: 14px 16px; display: flex; flex-direction: column; gap: 10px;
}
.uz-webhook-kart.kapali { opacity: .7; }
.uz-webhook-kart-bas { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.uz-webhook-kart-bas h4 { margin: 0 0 2px; font-size: 16px; font-weight: 700; }
.uz-webhook-olay { font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-webhook-arac { display: flex; gap: 6px; flex-wrap: wrap; align-items: flex-start; }
.uz-webhook-adres { display: flex; gap: 8px; align-items: center; min-width: 0; }
.uz-webhook-adres span { font-size: 11px; font-weight: 700; padding: 2px 6px; border-radius: 5px; background: var(--uz-brand-soft); color: var(--uz-brand); }
.uz-webhook-adres code { overflow-x: auto; white-space: nowrap; font-size: 13px; }
.uz-webhook-durum { font-size: 13px; display: flex; gap: 6px; flex-wrap: wrap; }
.uz-webhook-ornek summary { cursor: pointer; font-size: 13px; color: var(--uz-brand); }
.uz-webhook-ornek ol { font-size: 13px; margin: 8px 0; padding-left: 20px; }
.uz-cron-day.kapali { opacity: .55; }
.uz-webhook-alan-genis { flex: 1 1 320px; }
.uz-webhook-ozellik { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-webhook-ozellik i { margin-right: 3px; }
.uz-webhook-ayar {
    display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end; padding: 12px;
    border-radius: 8px; background: var(--uz-surface-sunk); border: 1px solid var(--uz-border);
}
.uz-webhook-ayar-arac { display: flex; gap: 6px; width: 100%; }
.uz-dinleyiciler { display: flex; flex-direction: column; gap: 12px; }
.uz-dinleyici-tur { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; white-space: nowrap; }
.uz-dinleyici-durum { font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-dinleyici-durum.iyi i { color: #16a34a; }
.uz-dinleyici-durum.uyari { color: #b45309; }
.uz-dinleyici-durum.kotu { color: #b91c1c; }
.uz-dinleyici-kart { display: flex; flex-direction: column; gap: 6px; }
@media (max-width: 600px) { .uz-webhook-alan { min-width: 0; width: 100%; } }
.uz-webhook-deneme { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 8px; font-size: 13.5px; }
.uz-webhook-deneme > div { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.uz-webhook-deneme > i { font-size: 16px; margin-top: 1px; }
.uz-webhook-deneme.iyi { background: color-mix(in srgb, #16a34a 10%, var(--uz-surface)); border: 1px solid color-mix(in srgb, #16a34a 35%, var(--uz-border)); }
.uz-webhook-deneme.iyi > i { color: #16a34a; }
.uz-webhook-deneme.kotu { background: color-mix(in srgb, #dc2626 8%, var(--uz-surface)); border: 1px solid color-mix(in srgb, #dc2626 35%, var(--uz-border)); }
.uz-webhook-deneme.kotu > i { color: #dc2626; }
.uz-webhook .uz-segment { align-self: flex-start; }

/* ---- Onay vekaleti ---- */
.uz-vekalet-serit { display: flex; gap: 10px; align-items: center; padding: 8px 12px; border-radius: var(--uz-radius); margin-bottom: 10px; font-size: 13.5px; flex-wrap: wrap; }
.uz-vekalet-serit > span { flex: 1 1 260px; }
.uz-vekalet-serit .btn-link { padding: 0 4px; }
.uz-vekalet-serit.bana { background: color-mix(in srgb, #0891b2 10%, var(--uz-surface)); border: 1px solid color-mix(in srgb, #0891b2 35%, var(--uz-border)); }
.uz-vekalet-serit.benden { background: var(--uz-surface-sunk); border: 1px solid var(--uz-border); }
.uz-vekalet-panel { background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); padding: 14px 16px; margin-bottom: 14px; }
.uz-vekalet-panel header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.uz-vekalet-panel h5 { margin: 0 0 4px; }
.uz-vekalet-panel header p { margin: 0; color: var(--uz-ink-soft); font-size: 13.5px; max-width: 80ch; }
.uz-vekalet-form { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }
.uz-vekalet-form label { display: flex; flex-direction: column; gap: 4px; min-width: 170px; }
.uz-vekalet-form label.genis { flex: 1 1 260px; }
.uz-vekalet-form label > span { font-size: 12.5px; font-weight: 600; color: var(--uz-ink-soft); }
.uz-vekalet-tablo { font-size: 13.5px; font-variant-numeric: tabular-nums; }

/* ---- İlk kurulum sihirbazı ---- */
.uz-kurulum { display: flex; flex-direction: column; gap: 14px; max-width: 980px; }
.uz-kurulum-bas { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; flex-wrap: wrap; }
.uz-kurulum-bas h3 { margin: 0 0 4px; }
.uz-kurulum-bas p { margin: 0; color: var(--uz-ink-soft); font-size: 14px; max-width: 75ch; }
.uz-kurulum-adimlar { list-style: none; padding: 0; margin: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.uz-kurulum-adimlar li { display: flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 999px;
    border: 1px solid var(--uz-border); background: var(--uz-surface); font-size: 13.5px; font-weight: 600; color: var(--uz-ink-soft); }
.uz-kurulum-adimlar li.aktif { border-color: var(--uz-brand); color: var(--uz-ink); }
.uz-kurulum-adimlar li.tamam { color: #15803d; border-color: color-mix(in srgb, #16a34a 40%, var(--uz-border)); }
.uz-kurulum-no { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; font-size: 12.5px; font-weight: 700;
    background: var(--uz-surface-sunk); color: var(--uz-ink-soft); flex: none; }
.aktif > .uz-kurulum-no, .uz-kurulum-kart.aktif h4 .uz-kurulum-no { background: var(--uz-brand); color: #fff; }
.tamam > .uz-kurulum-no, .uz-kurulum-kart.tamam h4 .uz-kurulum-no { background: #16a34a; color: #fff; }
.uz-kurulum-kart { background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); padding: 16px 18px; }
.uz-kurulum-kart.aktif { border-color: color-mix(in srgb, var(--uz-brand) 55%, var(--uz-border)); box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.uz-kurulum-kart.bekliyor { opacity: .72; }
.uz-kurulum-kart h4 { display: flex; align-items: center; gap: 10px; font-size: 16.5px; margin: 0 0 10px; }
.uz-kurulum-kart p { font-size: 14px; max-width: 80ch; }
.uz-kurulum-ic { display: grid; gap: 14px; }
.uz-kurulum-alt h5 { font-size: 13.5px; font-weight: 700; margin: 0 0 6px; }
.uz-kurulum-bilgi { display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; margin: 0; font-size: 13.5px; align-items: baseline; }
.uz-kurulum-bilgi dt { color: var(--uz-ink-soft); font-weight: 600; }
.uz-kurulum-bilgi dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.uz-kurulum-sir { font-size: 13px; user-select: all; }
.uz-kurulum-kucuk { font-size: 12px; color: var(--uz-ink-soft); margin-top: 4px; overflow-wrap: anywhere; }
.uz-kurulum-uyari { font-size: 13px; color: #b45309; }
.uz-kurulum-ok { color: #15803d; font-weight: 600; }
.uz-kurulum-kotu { color: #b91c1c; font-weight: 600; }
.uz-kurulum-tablo { font-size: 13.5px; max-width: 760px; }
.uz-kurulum-oneri { border-left: 3px solid var(--uz-brand); padding: 6px 12px; margin: 0 0 12px; font-size: 13.5px;
    color: var(--uz-ink); background: var(--uz-surface-sunk); border-radius: 0 8px 8px 0; }
.uz-kurulum-sessiz summary { cursor: pointer; font-size: 13px; color: var(--uz-brand); margin-top: 8px; }
.uz-kurulum-bitti { display: flex; gap: 12px; align-items: center; padding: 12px 16px; border-radius: var(--uz-radius); flex-wrap: wrap;
    background: color-mix(in srgb, #16a34a 9%, var(--uz-surface)); border: 1px solid color-mix(in srgb, #16a34a 35%, var(--uz-border)); }
.uz-kurulum-bitti > i { color: #16a34a; font-size: 20px; }

/* ============================================================
   Ofis ekranı (TV) modu — /dashboards/tv
   Kabuğun (başlık, menü) ÜSTÜNE tam ekran örtü: yerleşim oturumu ve lisansı açmaya devam
   eder, ekran yalnız panoyu gösterir. Renkler tema jetonlarından; duvar ekranı koyu temada
   da açık temada da aynı düzende okunur.
   ============================================================ */
.uz-tv-kurulum { max-width: 980px; }
.uz-tv-ayar { margin-bottom: 18px; }
.uz-tv-ayar > label { display: block; font-weight: 600; font-size: 13.5px; margin-bottom: 6px; color: var(--uz-ink); }
.uz-tv-secim { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.uz-tv-secenek { display: grid; grid-template-columns: 26px 1fr; column-gap: 10px; row-gap: 2px; align-items: center; text-align: left;
    padding: 10px 12px; border-radius: var(--uz-radius); border: 1px solid var(--uz-border); background: var(--uz-surface); color: var(--uz-ink); cursor: pointer; }
.uz-tv-secenek:hover { border-color: color-mix(in srgb, var(--uz-brand) 45%, var(--uz-border)); }
.uz-tv-secenek:focus-visible { outline: 2px solid var(--uz-brand); outline-offset: 2px; }
.uz-tv-secenek.secili { border-color: var(--uz-brand); background: var(--uz-brand-soft); }
.uz-tv-secenek > small { grid-column: 2; color: var(--uz-ink-soft); font-size: 12px; }
.uz-tv-secenek-ad { font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-tv-sira { grid-row: span 2; width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--uz-border); display: grid; place-items: center;
    font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.uz-tv-secenek.secili .uz-tv-sira { background: var(--uz-brand); border-color: var(--uz-brand); color: var(--uz-brand-fg); }
.uz-tv-adres { font-size: 12px; padding: 4px 8px; border-radius: var(--uz-radius-sm); background: var(--uz-surface-sunk); color: var(--uz-ink-soft);
    word-break: break-all; max-width: 100%; }

.uz-tv { position: fixed; inset: 0; z-index: 1900; display: flex; flex-direction: column; background: var(--uz-content-bg); color: var(--uz-ink); outline: none; }
.uz-tv.bosta { cursor: none; }

.uz-tv-ilerleme { position: absolute; top: 0; left: 0; right: 0; height: 3px; z-index: 2; }
.uz-tv-ilerleme > span { display: block; height: 100%; width: 0; background: var(--uz-brand); }
.uz-tv.duraklatildi .uz-tv-ilerleme > span { background: var(--uz-warn); }
@keyframes uz-tv-ilerle { from { width: 0; } to { width: 100%; } }

.uz-tv-bas { flex: 0 0 auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; padding: 14px 24px 10px; }
.uz-tv-logo { height: 30px; display: inline-flex; }
.uz-tv-logo img { height: 100%; width: auto; }
.uz-tv-baslik { min-width: 0; display: flex; align-items: center; gap: 16px; }
.uz-tv-baslik h1 { margin: 0; font-size: clamp(1.3rem, 2.2vw, 2.4rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.1;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Sayfa göstergesi ("2/3"): pano ekrana sığmayıp sayfalara bölündüğünde çıkar. */
.uz-tv-sayfa { flex: 0 0 auto; font-size: .8rem; font-weight: 600; color: var(--uz-ink-soft);
    background: var(--uz-surface-sunk); border: 1px solid var(--uz-border);
    border-radius: 999px; padding: 1px 9px; font-variant-numeric: tabular-nums; }
.uz-tv-noktalar { display: flex; gap: 6px; flex: 0 0 auto; }
.uz-tv-noktalar > span { width: 8px; height: 8px; border-radius: 4px; background: var(--uz-border); transition: width .3s, background .3s; }
.uz-tv-noktalar > span.etkin { width: 22px; background: var(--uz-brand); }
.uz-tv-saat { display: grid; justify-items: end; line-height: 1.05; }
.uz-tv-saat b { font-size: clamp(1.6rem, 3vw, 3.2rem); font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.03em; }
.uz-tv-saat small { color: var(--uz-ink-soft); font-size: clamp(.75rem, .9vw, 1rem); }
.uz-tv-tazelik { font-variant-numeric: tabular-nums; }

.uz-tv-sahne { flex: 1 1 auto; position: relative; min-height: 0; }
.uz-tv-slayt { position: absolute; inset: 0; padding: 4px 20px 16px; opacity: 0; visibility: hidden; transform: scale(.985);
    overflow-y: auto; scrollbar-width: none;
    transition: opacity .7s ease, transform .7s ease, visibility 0s linear .7s; }
.uz-tv-slayt.etkin { opacity: 1; visibility: visible; transform: none; transition: opacity .7s ease, transform .7s ease; }
.uz-tv-bos { position: absolute; inset: 0; display: grid; place-items: center; color: var(--uz-ink-soft); font-size: 1.2rem; }

/* Ekrana sığan panoda yükseklik %100 (boşluk kalmaz); sığmayanda içerik kadar uzar ve slayt kayar. */
/* 24 sütun: pano ızgarasıyla aynı birim (bkz. PanoIzgara). */
.uz-tv-izgara { display: grid; grid-template-columns: repeat(24, minmax(0, 1fr)); gap: 14px; min-height: 100%; }
/* Duvardaki ekrandan okunabilecek en küçük kart yüksekliği. */
/* ⚠️ KARTIN asgarisi, satırın değil. Satır birimine çevirmeyi izgara yapar (bkz. TvEkrani.razor):
   tasarımcı birimi 45px ve bir bileşen 6-8 satır kaplar, taban doğrudan satıra uygulanırsa pano
   kat kat şişer. Bu değer "duvardaki ekrandan okunabilecek en küçük kart" demektir. */
.uz-tv { --uz-tv-kart-min: 160px; --uz-tv-satir-min: 160px; }
.uz-tv-slayt::-webkit-scrollbar { width: 0; height: 0; }
.uz-tv-hucre { min-width: 0; min-height: 0; }
.uz-tv-hucre > .card { height: 100%; display: flex; flex-direction: column; }
.uz-tv .card-header { flex: 0 0 auto; padding: 10px 14px; }
.uz-tv .card-header .small { font-size: clamp(.85rem, .95vw, 1.1rem); }
.uz-tv .card-body { flex: 1 1 auto; min-height: 0; overflow: hidden; padding: 8px 14px; display: flex; flex-direction: column; }
.uz-tv .card-body .dxbl-chart, .uz-tv .card-body > .dxbl-pie-chart { flex: 1 1 auto; min-height: 0; max-width: 100%; }
/* Uzaktan okunur: KPI rakamı normal panodaki 3rem tavanını aşar. Kap ölçüsü (cqw) yine sınırlar. */
.uz-tv .uzser-kpi-value { font-size: clamp(1.8rem, calc(150cqw / var(--uz-kpi-len, 12)), 7rem); }

/* Eşik durumu KARTIN kendisinde: ofis ekranına bakan kişi rakamı okumadan rengi görür.
   (Yalnız DurumVurgusu açıkken çizilir; normal panoda renk rakamdadır.) */
.card.uz-w-kritik { border-color: var(--uz-danger); box-shadow: 0 0 0 2px var(--uz-danger), 0 0 32px -8px var(--uz-danger); animation: uz-w-nabiz 2.4s ease-in-out infinite; }
.card.uz-w-kritik > .card-header { background: color-mix(in srgb, var(--uz-danger) 14%, var(--uz-surface)); }
.card.uz-w-uyari { border-color: var(--uz-warn); box-shadow: 0 0 0 2px var(--uz-warn); }
.card.uz-w-uyari > .card-header { background: color-mix(in srgb, var(--uz-warn) 12%, var(--uz-surface)); }
@keyframes uz-w-nabiz { 50% { box-shadow: 0 0 0 2px var(--uz-danger), 0 0 48px -4px var(--uz-danger); } }

.uz-tv-serit { flex: 0 0 auto; display: flex; align-items: center; gap: 16px; padding: 10px 24px; font-size: clamp(.9rem, 1vw, 1.15rem); min-width: 0; }
.uz-tv-serit.kritik { background: var(--uz-danger); color: #fff; }
.uz-tv-serit.uyari { background: var(--uz-warn-soft); color: var(--uz-ink); border-top: 1px solid var(--uz-warn); }
.uz-tv-serit-bas { flex: 0 0 auto; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; }
.uz-tv-serit-liste { display: flex; gap: 22px; overflow: hidden; white-space: nowrap; min-width: 0; mask-image: linear-gradient(90deg, #000 92%, transparent); }
.uz-tv-serit-oge small { opacity: .75; }
.uz-tv-serit.uyari .uz-tv-serit-oge.uyari::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--uz-warn); margin-right: 6px; }

.uz-tv-kontrol { position: absolute; right: 20px; bottom: 64px; display: flex; gap: 4px; padding: 5px; border-radius: 999px; z-index: 3;
    background: var(--uz-surface-alt); border: 1px solid var(--uz-border); box-shadow: var(--uz-shadow-float); transition: opacity .4s; }
.uz-tv-kontrol > button, .uz-tv-kontrol > a { width: 38px; height: 38px; border-radius: 50%; border: 0; display: grid; place-items: center;
    background: transparent; color: var(--uz-ink); font-size: 17px; text-decoration: none; cursor: pointer; }
.uz-tv-kontrol > button:hover, .uz-tv-kontrol > a:hover { background: var(--uz-brand-soft); }
.uz-tv-kontrol > :focus-visible { outline: 2px solid var(--uz-brand); }
.uz-tv.bosta .uz-tv-kontrol { opacity: 0; pointer-events: none; }

@media (prefers-reduced-motion: reduce) {
    .uz-tv-slayt, .uz-tv-slayt.etkin { transition: none; transform: none; }
    .card.uz-w-kritik { animation: none; }
}

/* Dar ekran (telefonla bakılırsa): tek sütun, kaydırılır. Duvar ekranı için tasarlanmıştır. */
@media (max-width: 900px) {
    .uz-tv-bas { grid-template-columns: 1fr auto; padding: 12px 16px 8px; }
    .uz-tv-logo { display: none; }
    .uz-tv-slayt { overflow-y: auto; padding: 4px 16px 16px; }
    .uz-tv-izgara { display: flex !important; flex-direction: column; height: auto !important; }
    .uz-tv-hucre { height: 280px; flex: 0 0 auto; }
    .uz-tv-kontrol { right: 12px; }
}

/* ============================================================
   Pano harita bileşeni — ortak kütüphane (map.filled, F4). Harita, ipucu, lejant, etiket ve atıf kütüphanede;
   burada yalnız kap, eşleşmeyen değer notu ve tıklanan bölgenin "en yüksek N" listesi.
   ============================================================ */
.uz-harita-kap { flex: 1 1 auto; display: flex; flex-direction: column; gap: 4px; min-height: 0; height: 100%; position: relative; }
.uz-harita-not { flex: 0 0 auto; font-size: 12px; color: var(--uz-ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.uz-harita-not .bi { margin-right: 4px; }
/* Liste haritanın sol altında yüzer (kartın içinde; harita küçülmesin). */
.uz-harita-liste-panel { position: absolute; left: 6px; bottom: 26px; z-index: 5; min-width: 220px; max-width: min(320px, calc(100% - 12px));
    max-height: calc(100% - 40px); overflow: auto; padding: 8px 10px; background: var(--uz-surface-alt); color: var(--uz-ink);
    border: 1px solid var(--uz-border); border-radius: var(--uz-radius); box-shadow: var(--uz-shadow-float);
    font-size: 12.5px; line-height: 1.45; font-variant-numeric: tabular-nums; }
.uz-harita-liste-bas { display: flex; align-items: baseline; gap: 8px; }
.uz-harita-liste-bas > span { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--uz-ink-soft); flex: 1 1 auto; }
.uz-harita-liste-bas > .btn-close { flex: 0 0 auto; }
.uz-harita-liste { margin: 4px 0 0; padding-left: 18px; }
.uz-harita-liste > li { padding: 1px 0; }
.uz-harita-liste > li > span { display: inline-block; max-width: 170px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.uz-harita-liste > li > b { float: right; font-weight: 600; margin-left: 10px; }
/* Bileşen formu: harita ipucu ek alanları. */
.uz-harita-ipucu-form { display: flex; flex-direction: column; gap: 6px; }
.uz-harita-ipucu-satir { display: grid; grid-template-columns: minmax(0, 1fr) 180px auto; gap: 8px; align-items: center; }

/* Harita sağlayıcısı yönetim ekranı: solda form, sağda canlı önizleme. */
.uz-harita-ayar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 20px; align-items: start; }
.uz-harita-ayar-onizleme .card-body { height: 440px; display: flex; flex-direction: column; }
@media (max-width: 1000px) { .uz-harita-ayar { grid-template-columns: 1fr; } }
/* Şirket belleği taraması: kart içindeki (p-0) tabloların ilk/son hücresi kart kenarına yapışmasın. */
.uz-ptm .card-body.p-0 .table > :not(caption) > * > :first-child { padding-left: 1rem; }
.uz-ptm .card-body.p-0 .table > :not(caption) > * > :last-child { padding-right: 1rem; }

/* Nakit projeksiyonu: özet şeridi, grafik, katlanır kalem dökümü. */
.uz-nakit { display: flex; flex-direction: column; gap: 8px; height: 100%; min-height: 0; }
.uz-nakit-ozet { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 6px 18px; font-variant-numeric: tabular-nums; }
.uz-nakit-ozet > div { display: grid; line-height: 1.15; }
.uz-nakit-ozet small { color: var(--uz-ink-soft); font-size: 11.5px; }
.uz-nakit-ozet b { font-size: 1.15rem; font-weight: 700; color: var(--uz-ink); }
.uz-nakit-ozet b.eksi { color: var(--uz-danger); }
.uz-nakit-durum { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 600; }
.uz-nakit-durum.iyi { background: var(--uz-ok-soft); color: var(--uz-ok); }
.uz-nakit-durum.uyari { background: var(--uz-warn-soft); color: var(--uz-warn); }
.uz-nakit-durum.kritik { background: var(--uz-danger-soft); color: var(--uz-danger); }
.uz-nakit-grafik { flex: 1 1 auto; min-height: 160px; }
.uz-nakit-grafik .dxbl-chart { height: 100%; }
.uz-nakit-ipucu { font-size: 12.5px; font-variant-numeric: tabular-nums; }
.uz-nakit-dokum { flex: 0 0 auto; font-size: 12.5px; }
.uz-nakit-dokum summary { cursor: pointer; color: var(--uz-ink); font-weight: 600; }
.uz-nakit-dokum summary small { font-weight: 400; color: var(--uz-ink-soft); }
.uz-nakit-dokum table { width: 100%; margin-top: 6px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.uz-nakit-dokum th, .uz-nakit-dokum td { padding: 3px 6px; border-bottom: 1px solid var(--uz-border-soft); text-align: right; }
.uz-nakit-dokum th:first-child, .uz-nakit-dokum td:first-child { text-align: left; }
.uz-nakit-dokum th { color: var(--uz-ink-soft); font-weight: 600; font-size: 11.5px; }
.uz-nakit-hata { color: var(--uz-warn); font-size: 11.5px; }
.uz-tv .uz-nakit-ozet b { font-size: 1.6rem; }

/* Nakit projeksiyonu ayar formu. */
.uz-nakit-form { display: flex; flex-direction: column; gap: 14px; }
.uz-nakit-form-satir { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.uz-nakit-form-satir > label { display: grid; gap: 4px; font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-nakit-form-sablon { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; }
.uz-nakit-form-grup { display: flex; flex-direction: column; gap: 8px; padding: 10px 12px; border: 1px solid var(--uz-border); border-radius: var(--uz-radius); background: var(--uz-surface-sunk); }
.uz-nakit-form-grup-bas { display: grid; gap: 2px; }
.uz-nakit-kalem { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: 6px; align-items: center;
    padding-bottom: 8px; border-bottom: 1px dashed var(--uz-border); }
.uz-nakit-suzgec { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
/* Kazanımlar: iş türüne göre */
.uz-kazanim-isler { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; }
.uz-kazanim-is { display: grid; grid-template-columns: auto auto 1fr; grid-template-rows: auto auto; column-gap: 8px; align-items: baseline;
    padding: 8px 10px; border: 1px solid var(--uz-border); border-radius: 8px; }
.uz-kazanim-is .bi { color: var(--uz-brand); grid-row: 1 / span 2; align-self: center; }
.uz-kazanim-is b { font-size: 18px; font-variant-numeric: tabular-nums; }
.uz-kazanim-is small { grid-column: 2 / -1; }

/* Veri tanımı AI revizyonu: sorgu farkı */
.uz-fark { font-family: var(--bs-font-monospace); font-size: 12px; border: 1px solid var(--uz-border); border-radius: 6px; padding: 6px 0; max-height: 360px; overflow: auto; }
.uz-fark > div { padding: 0 10px; white-space: pre-wrap; word-break: break-word; }
.uz-fark .isaret { display: inline-block; width: 14px; color: var(--uz-ink-soft); }
.uz-fark-kat > summary { cursor: pointer; list-style: revert; user-select: none; }
.uz-fark-kat > summary span { margin-left: 6px; font-weight: 500; }
.uz-fark-kat[open] > summary { margin-bottom: 4px; }
.uz-fark .ek { background: color-mix(in srgb, var(--uz-success, #1a7f37) 14%, transparent); }
.uz-fark .cik { background: color-mix(in srgb, var(--uz-danger, #c62828) 12%, transparent); text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--uz-danger, #c62828) 60%, transparent); }

/* Dosya parametresi şablonu */
.uz-dosya-sablon, .uz-alan-sablon { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 4px; }

/* Akış kullanımı: süzgeç satırı + ay ay pivot */
.uz-pu-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.uz-pivot th, .uz-pivot td { white-space: nowrap; font-variant-numeric: tabular-nums; }
.uz-pivot th:first-child, .uz-pivot td:first-child { position: sticky; left: 0; background: var(--uz-surface, var(--bs-body-bg)); z-index: 1; }
.uz-pivot tbody tr { cursor: pointer; }
.uz-pivot tr.uz-pivot-alt td { font-size: 12.5px; }
.uz-pivot tr.secili td:first-child { box-shadow: inset 3px 0 0 var(--uz-brand); }
.uz-pivot tfoot th { border-top: 2px solid var(--uz-border); }
.uz-nakit-suzgec-kurucu { flex-basis: 100%; padding: 6px 8px; border: 1px solid var(--uz-border); border-radius: 6px; background: var(--uz-surface-sunk); }
@media (max-width: 800px) { .uz-nakit-kalem { grid-template-columns: 1fr 1fr; } }

/* ===================== Kenar çubuğu: simge modu ===================== */
/* Pano ve akış tasarımcısı gibi TUVAL ekranlarında menü 64px'e iner; üzerine gelince
   AÇILIR. Açılma içeriği İTMEZ (overlay): panonun yerleşimi her hover'da yeniden
   hesaplanırsa bileşenler zıplar ve tasarımcı sürükleme sırasında konumu kaybeder. */
/* ⚠️ Yalnız geniş ekranda: bu kurallar 992 px medya sorgusundan SONRA geldiği için telefonda onu eziyordu — panoda ana alan
   64 px'lik sütuna düşüyor, tuval 12 px genişlikte kalıyordu (11-09, F3 sırasında bulundu). */
@media (min-width: 993px) {
    .uzser-shell.dar {
        grid-template-columns: var(--uz-sidebar-dar-w, 64px) 1fr;
    }

    .uzser-shell.dar .uzser-sidebar {
        position: fixed;
        top: var(--uz-header-h);
        left: 0;
        bottom: 0;
        width: var(--uz-sidebar-dar-w, 64px);
        z-index: 40;
        transition: width .18s ease, box-shadow .18s ease;
        overflow: hidden;
    }

    .uzser-shell.dar .uzser-sidebar:hover,
    .uzser-shell.dar .uzser-sidebar:focus-within {
        width: var(--uz-sidebar-w);
        box-shadow: var(--uz-shadow-float);
        overflow-y: auto;
    }
}

/* Simge modunda YALNIZ ikon görünür; metin yer kaplamasın diye genişliği sıfırlanır
   (display:none DevExpress ağacının ölçümünü bozuyor ve ikonlar sola yapışıyordu).

   ⚠️ YÜKSEKLİK DE SIFIRLANIR ve KAP da hedeflenir. Yalnız iç SPAN'in genişliği sıfırlanınca
   metin 0 piksellik kutuda satır satır sarıyor (DevExpress'in .dxbl-text kuralı white-space'i
   geri alıyor, bu yüzden !important): her menü satırı 200-300px yüksekliğe çıkıyor, ekranda
   dev boşluklarla 4-5 ikon kalıyordu. Canlıda "sidebar bozuluyor" diye bildirildi. */
.uzser-shell.dar .uzser-sidebar:not(:hover):not(:focus-within) .uzser-nav .dxbl-treeview-item-text-container,
.uzser-shell.dar .uzser-sidebar:not(:hover):not(:focus-within) .uzser-nav .dxbl-treeview-item-text {
    opacity: 0;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    display: inline-block;
    white-space: nowrap !important;
}

.uzser-shell.dar .uzser-sidebar:not(:hover):not(:focus-within) .uzser-nav .dxbl-treeview-item-container {
    justify-content: center;
    padding-inline: 0;
}

.uzser-shell.dar .uzser-sidebar:not(:hover):not(:focus-within) .uzser-nav .bi {
    margin-right: 0;
    font-size: 1.05rem;
}

/* Grup oklarını simge modunda gizle: tıklanamayacak kadar dar bir alanda ok göstermek
   "açılır" yanılsaması veriyordu. */
.uzser-shell.dar .uzser-sidebar:not(:hover):not(:focus-within) .uzser-nav .dxbl-treeview-item-expand-button {
    display: none !important;
}

/* ⚠️ AÇIK GRUBUN ÇOCUKLARI simge modunda GİZLENİR. Geniş menüde açılan grup (ör. Yönetim >
   Kullanıcılar) çubuk daraltılınca açık kalıyor, 64px'lik şeritte alt öğelerin ikonları girintili
   ve başlıksız sıralanıyordu — hangi ikonun hangi gruba ait olduğu anlaşılmıyor, menü bozuk
   görünüyordu. Kural yalnız İÇ İÇE liste kabını hedefler (.dxbl-treeview-item altındaki kap);
   kök liste de aynı sınıfı taşıdığından "item" öneki şart.
   Grupları sunucuda kapatmak yerine CSS seçildi: açık/kapalı durumu DevExpress ağacında
   olduğu gibi kalır, üzerine gelince (ya da çubuk yeniden genişletilince) kullanıcı bıraktığı
   grupları aynen açık bulur — ayrıca bir durum saklamaya gerek kalmaz. */
.uzser-shell.dar .uzser-sidebar:not(:hover):not(:focus-within) .uzser-nav .dxbl-treeview-item .dxbl-treeview-items-container {
    display: none !important;
}

/* ⚠️ BÖLÜMLÜ MENÜ (NavBolumleri) simge modu. Menü DevExpress ağacından bölümlü menüye geçince yukarıdaki kurallar
   hiçbir öğeyi tutmaz oldu: 64px'lik şeritte metinler kırpılmış görünüyordu ("Ai Sa", "Rapor", "Otomas") — akış
   tasarımcısı ve panoda "kenar çubuğu daralınca bozuk" diye bildirildi (2026-10-09). Metin genişliği sıfırlanır
   (display:none yerine: geçişte zıplamasın), bölüm başlığı ince bir ayraca, alt grup ve okları gizlenir. */
.uzser-shell.dar .uzser-sidebar:not(:hover):not(:focus-within) .uzser-nav-bolum { padding: 0 8px; }
.uzser-shell.dar .uzser-sidebar:not(:hover):not(:focus-within) .uzser-nav-bolum-baslik {
    font-size: 0; line-height: 0; padding: 0; margin: 6px 6px 4px; height: 1px; overflow: hidden;
    background: var(--uz-sidebar-border);
}
.uzser-shell.dar .uzser-sidebar:not(:hover):not(:focus-within) .uzser-nav-oge {
    justify-content: center; gap: 0; padding-inline: 0;
}
.uzser-shell.dar .uzser-sidebar:not(:hover):not(:focus-within) .uzser-nav-oge > span {
    opacity: 0; width: 0; min-width: 0; overflow: hidden; white-space: nowrap; display: inline-block;
}
.uzser-shell.dar .uzser-sidebar:not(:hover):not(:focus-within) .uzser-nav-oge .bi { font-size: 1.05rem; width: auto; }
.uzser-shell.dar .uzser-sidebar:not(:hover):not(:focus-within) .uzser-nav-ok,
.uzser-shell.dar .uzser-sidebar:not(:hover):not(:focus-within) .uzser-nav-alt { display: none !important; }

/* ---- Müşteri profili ---- */
/* Dikkat isteyen çıkarım göz ile ayrılır: ara değerler kesinmiş gibi durmamalı. */
.uz-profil-dikkat { border-left: 3px solid var(--bs-warning); }
.uz-profil-kanit { background: rgba(127,127,127,.08); border-radius: .375rem; padding: .5rem .75rem; }
.uz-profil-kanit pre { font-size: .72rem; white-space: pre-wrap; word-break: break-word; margin: 0; }
.uz-profil-kaynak { min-width: 150px; }
/* Müşteri profili özet sekmesi (10-20): modül ızgarası + yapılandırılmış madde kartları */
.uz-ozet-ust { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 6px; }
.uz-ozet-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; font-size: 13px; color: var(--uz-ink-soft); }
.uz-ozet-grup-bas { font-weight: 600; font-size: 14px; color: var(--uz-ink-soft); margin: 18px 0 8px; }
.uz-ozet-moduller { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
.uz-ozet-liste { display: flex; flex-direction: column; gap: 8px; }
.uz-ozet-kart { background: var(--uz-surface, var(--bs-body-bg)); border: 1px solid var(--uz-border, var(--bs-border-color)); border-radius: 10px; padding: 10px 12px; min-width: 0; }
.uz-ozet-kart.uz-ozet-red { opacity: .7; }
.uz-ozet-kart-bas { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.uz-ozet-kart-ad { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.uz-ozet-karar .btn { padding: 0 6px; line-height: 1.5; }
.uz-ozet-cumle { font-size: 13.5px; margin-top: 6px; line-height: 1.5; }
.uz-ozet-satirlar { list-style: none; padding: 0; margin: 8px 0 0; font-size: 13px; }
.uz-ozet-satirlar li { display: flex; justify-content: space-between; gap: 12px; padding: 3px 0; border-bottom: 1px dashed var(--uz-border, var(--bs-border-color)); min-width: 0; }
.uz-ozet-satirlar li:last-child { border-bottom: 0; }
.uz-ozet-satirlar li > span:first-child { min-width: 0; }
.uz-ozet-cipler { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }
.uz-ozet-cip { font-size: 12px; padding: 1px 8px; border-radius: 999px; background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); }
.uz-ozet-cip-bos { background: var(--bs-danger-bg-subtle); border-color: var(--bs-danger-border-subtle); color: var(--bs-danger-text-emphasis); }
.uz-ozet-kart-alt { display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: center; font-size: 12px; margin-top: 6px; }
.uz-ozet-kart-alt .btn-link { font-size: 12px; }
.uz-kanit-dl { display: grid; grid-template-columns: minmax(110px, max-content) 1fr; gap: 6px 14px; margin: 0; font-size: 12.5px; }
.uz-kanit-dl dt { font-weight: 600; color: var(--uz-ink-soft); }
.uz-kanit-dl dd { margin: 0; min-width: 0; }
.uz-kanit-tablo { font-size: 12px; --bs-table-bg: transparent; }
.uz-kanit-tablo th { font-weight: 600; white-space: nowrap; }
@media (max-width: 576px) { .uz-kanit-dl { grid-template-columns: 1fr; } }

/* Profil taraması kapsam seçimi + tahmin (10-21) */
.uz-tarama-kapsam { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; }
.uz-tarama-kapsam-oge { display: flex; gap: 10px; align-items: flex-start; text-align: left; border: 1px solid var(--uz-border, var(--bs-border-color));
    background: var(--uz-surface, var(--bs-body-bg)); border-radius: 10px; padding: 10px; color: var(--uz-ink); cursor: pointer; }
.uz-tarama-kapsam-oge:hover { border-color: var(--uz-brand); }
.uz-tarama-kapsam-oge.secili { border-color: var(--uz-brand); box-shadow: 0 0 0 2px var(--uz-brand-soft, rgba(99,102,241,.25)); }
.uz-tarama-kapsam-oge > i { font-size: 18px; color: var(--uz-brand); margin-top: 2px; }
.uz-tarama-kapsam-oge span { display: flex; flex-direction: column; gap: 2px; }
.uz-tarama-kapsam-oge small { font-size: 12px; color: var(--uz-ink-soft); line-height: 1.35; }
.uz-tarama-tahmin { min-height: 54px; padding: 10px; border-radius: 10px; background: var(--bs-tertiary-bg); }
.uz-tarama-tahmin-sayilar { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.uz-tarama-tahmin-sayilar > div { display: flex; flex-direction: column; }
.uz-tarama-tahmin-sayilar span { font-size: 11.5px; color: var(--uz-ink-soft); }
.uz-tarama-tahmin-sayilar strong { font-size: 15px; }
/* Seçili tablolar seçicisi (11-03): sayaç sınıra gelince uyarı renginde; anlam tek satır, taşan üç nokta. */
.uz-tablo-secici-sayac { font-size: 12.5px; font-weight: 600; color: var(--uz-brand); white-space: nowrap; }
.uz-tablo-secici-sayac.dolu { color: var(--uz-warn); }
.uz-tablo-secici-anlam { max-width: 420px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 400; }
.uz-tablo-secici .uz-tablo td { padding: 5px 8px; }

/* Pano bileşeni (10-20): düzenleme simgeleri yalnız üstüne gelince / klavye odağında; dokunmatikte hep görünür */
@media (hover: hover) {
    /* ⚠️ 11-10: görünmezken YER KAPLAMAZ (display:none): 120 px boş yer küçük KPI kartında başlığı "Fa…"ya kesiyordu. */
    .uz-w-yonet { display: none !important; }
    .card:hover .uz-w-yonet, .card:focus-within .uz-w-yonet { display: flex !important; }
}

/* Sunucu sağlığı (10-20): durum kartındaki ölçüt kutucukları + kesinti sayıları */
.uz-sg-olcutler { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px; }
.uz-sg-olcut { border: 1px solid var(--uz-border, var(--bs-border-color)); border-left: 4px solid var(--bs-secondary-border-subtle); border-radius: 8px; padding: 8px 10px; min-width: 0; cursor: default; }
.uz-sg-olcut.uz-sg-kritik { border-left-color: var(--bs-danger); background: var(--bs-danger-bg-subtle); }
.uz-sg-olcut.uz-sg-dikkat { border-left-color: var(--bs-warning); background: var(--bs-warning-bg-subtle); }
.uz-sg-olcut.uz-sg-iyi { border-left-color: var(--bs-success); }
.uz-sg-olcut-bas { font-size: 12px; color: var(--uz-ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.uz-sg-olcut-deger { font-size: 18px; font-weight: 700; color: var(--uz-ink); line-height: 1.3; }
.uz-sg-olcut-alt { font-size: 11.5px; color: var(--uz-ink-faint); display: flex; flex-wrap: wrap; gap: 2px 8px; }
.uz-sg-kotuler { list-style: none; padding: 0; margin: 10px 0 0; font-size: 13px; display: flex; flex-direction: column; gap: 4px; }
.uz-sg-sayilar { display: flex; flex-wrap: wrap; gap: 8px; }
.uz-sg-sayilar > div { display: flex; flex-direction: column; min-width: 110px; padding: 6px 10px; border-radius: 8px; background: var(--bs-tertiary-bg); }
.uz-sg-sayilar span { font-size: 11.5px; color: var(--uz-ink-soft); }
.uz-sg-sayilar strong { font-size: 15px; }
/* Müşteri profili: tarama aşamaları + değer rozetleri */
.uz-mb-asamalar { list-style: none; display: flex; gap: 0; padding: 0; margin: 4px 0 10px; flex-wrap: wrap; }
.uz-mb-asamalar li { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--uz-ink-faint); padding-right: 18px; position: relative; }
.uz-mb-asamalar li:not(:last-child)::after { content: ""; width: 18px; height: 1px; background: var(--uz-border); margin-left: 8px; }
.uz-mb-asamalar li.simdi { color: var(--uz-ink); font-weight: 600; }
.uz-mb-asamalar li.bitti { color: var(--uz-ok); }
.uz-mb-nokta { width: 20px; height: 20px; border-radius: 999px; display: inline-grid; place-items: center; font-size: 12px;
    border: 1.5px solid currentColor; }
.uz-mb-asamalar li.bitti .uz-mb-nokta { background: var(--uz-ok-soft); }
.uz-mb-asamalar li.simdi .uz-mb-nokta { color: var(--uz-brand); background: var(--uz-brand-soft); }
.uz-mb-asamalar li.simdi .spinner-grow { width: 8px; height: 8px; }
.uz-mb-deger { display: inline-block; margin: 0 8px 2px 0; white-space: nowrap; font-family: var(--bs-font-monospace); font-size: 12px; }

/* ---- AI ile veri tanımı önerisi ---- */
/* SQL tam gösterilir ama sayfayı ele geçirmez: uzun sorgu kendi içinde kaydırılır. */
.uz-oneri-sql {
    background: color-mix(in srgb, var(--uz-ink) 6%, transparent);
    border-radius: .375rem;
    padding: .6rem .75rem;
    font-size: .72rem;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 220px;
    overflow: auto;
}

.uz-oneri-onizleme { max-height: 260px; overflow: auto; }

/* =====================================================================
   Firma hesabı — müşteri yöneticisinin tek yönetim yüzeyi.
   Teknik olmayan kullanıcı için: bölüm menüsü, sade kartlar, cümle gibi okunan kurallar.
   ===================================================================== */
.uz-hesap { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.uz-hesap-bas { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center;
    padding: 16px 20px; background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); }
.uz-hesap-logo { width: 56px; height: 56px; border-radius: 14px; display: grid; place-items: center; font-size: 24px;
    background: var(--uz-brand-soft); color: var(--uz-brand); }
.uz-hesap-ad { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.uz-hesap-ad h3 { margin: 0; font-size: 21px; font-weight: 800; color: var(--uz-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-hesap-ad p { margin: 0; font-size: 13px; color: var(--uz-ink-soft); }
.uz-hesap-mesaj { justify-self: end; font-size: 13px; display: inline-flex; gap: 6px; align-items: center; padding: 6px 10px;
    border-radius: var(--uz-radius-sm); }
.uz-hesap-mesaj.ok { background: var(--uz-ok-soft); color: var(--uz-ok); }
.uz-hesap-mesaj.hata { background: var(--uz-danger-soft); color: var(--uz-danger); }

.uz-hesap-govde { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 16px; align-items: start; }
.uz-hesap-menu { position: sticky; top: calc(var(--uz-header-h) + 12px); display: flex; flex-direction: column; gap: 2px;
    padding: 6px; background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); }
.uz-hesap-menu button { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 8px; align-items: center; text-align: left;
    border: 0; background: transparent; color: var(--uz-ink); font: inherit; padding: 8px 10px; border-radius: var(--uz-radius-sm); cursor: pointer; }
.uz-hesap-menu button:hover { background: var(--uz-row-hover); }
.uz-hesap-menu button.aktif { background: var(--uz-brand-soft); }
.uz-hesap-menu button:focus-visible { outline: 2px solid var(--uz-brand); outline-offset: 1px; }
.uz-hesap-menu button > i { font-size: 17px; color: var(--uz-ink-soft); justify-self: center; }
.uz-hesap-menu button.aktif > i { color: var(--uz-brand); }
.uz-hesap-menu b { display: block; font-size: 13.5px; font-weight: 650; }
.uz-hesap-menu small { display: block; font-size: 11.5px; color: var(--uz-ink-faint); line-height: 1.3; }
.uz-hesap-menu .uz-sayi { font-size: 11px; font-weight: 800; min-width: 20px; text-align: center; padding: 1px 6px; border-radius: 999px;
    background: var(--uz-warn); color: #fff; }
.uz-hesap-menu-baslik { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--uz-ink-faint);
    padding: 10px 10px 2px; }
@media (max-width: 991.98px) {
    .uz-hesap-govde { grid-template-columns: minmax(0, 1fr); }
    .uz-hesap-menu { position: static; flex-direction: row; overflow-x: auto; }
    .uz-hesap-menu button { grid-template-columns: auto auto auto; white-space: nowrap; }
    .uz-hesap-menu small, .uz-hesap-menu-baslik { display: none; }
    .uz-hesap-bas { grid-template-columns: auto minmax(0, 1fr); }
    .uz-hesap-mesaj { grid-column: 1 / -1; justify-self: start; }
}

.uz-bolum { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.uz-bolum-bas { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.uz-bolum-bas h4 { margin: 0; font-size: 18px; font-weight: 800; color: var(--uz-ink); }
.uz-bolum-bas p { margin: 2px 0 0; font-size: 13px; color: var(--uz-ink-soft); max-width: 720px; }
.uz-bolum-bas .uz-bolum-arac { margin-left: auto; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }

/* Açıklama kutusu: "bu ne işe yarar" — örnekle */
.uz-anlatim { display: flex; gap: 12px; padding: 12px 14px; border-radius: var(--uz-radius); background: var(--uz-info-soft);
    color: var(--uz-ink); font-size: 13px; }
.uz-anlatim > i { font-size: 20px; color: var(--uz-info); flex: none; }
.uz-anlatim p { margin: 0; }
.uz-anlatim p + p { margin-top: 4px; color: var(--uz-ink-soft); }

/* Kişi / ekip görseli */
.uz-kisi { display: flex; align-items: center; gap: 10px; min-width: 0; }
.uz-kisi-avatar { width: 34px; height: 34px; flex: none; border-radius: 999px; display: grid; place-items: center; font-size: 12.5px;
    font-weight: 800; background: var(--uz-brand-soft); color: var(--uz-brand); }
.uz-kisi-avatar.pasif { background: var(--uz-neutral-soft); color: var(--uz-ink-faint); }
.uz-kisi-ad { min-width: 0; display: flex; flex-direction: column; }
.uz-kisi-ad b { font-size: 13.5px; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-kisi-ad span { font-size: 12px; color: var(--uz-ink-faint); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-avatar-dizi { display: flex; }
.uz-avatar-dizi .uz-kisi-avatar { width: 28px; height: 28px; font-size: 11px; border: 2px solid var(--uz-surface); margin-left: -6px; }
.uz-avatar-dizi .uz-kisi-avatar:first-child { margin-left: 0; }

/* Seçilebilir kartlar (rol seçimi, şablon) */
.uz-secim-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.uz-secim { display: flex; gap: 10px; align-items: flex-start; text-align: left; padding: 10px 12px; cursor: pointer; font: inherit;
    background: var(--uz-surface); color: var(--uz-ink); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); }
.uz-secim:hover { border-color: color-mix(in srgb, var(--uz-brand) 45%, var(--uz-border)); }
.uz-secim.secili { border-color: var(--uz-brand); background: var(--uz-brand-soft); box-shadow: 0 0 0 1px var(--uz-brand) inset; }
.uz-secim > i { font-size: 18px; color: var(--uz-brand); margin-top: 1px; }
.uz-secim b { display: block; font-size: 13.5px; }
.uz-secim small { display: block; font-size: 12px; color: var(--uz-ink-soft); line-height: 1.35; }

/* Açık / kapalı anahtarı */
.uz-anahtar { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; user-select: none; margin: 0; }
.uz-anahtar input { appearance: none; -webkit-appearance: none; width: 38px; height: 22px; border-radius: 999px; background: var(--uz-neutral-soft);
    border: 1px solid var(--uz-border); position: relative; cursor: pointer; transition: background .15s; flex: none; margin: 0; }
.uz-anahtar input::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 999px;
    background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); transition: transform .15s; }
.uz-anahtar input:checked { background: var(--uz-brand); border-color: var(--uz-brand); }
.uz-anahtar input:checked::after { transform: translateX(16px); }
.uz-anahtar input:disabled { opacity: .5; cursor: not-allowed; }
.uz-anahtar input:focus-visible { outline: 2px solid var(--uz-brand); outline-offset: 2px; }

/* İzin listesi: başlık + açıklama + denetim */
.uz-izin-alan { font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--uz-ink-faint);
    margin: 14px 0 6px; display: flex; gap: 6px; align-items: center; }
.uz-izin-alan:first-child { margin-top: 0; }
.uz-izin { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 9px 12px;
    border: 1px solid var(--uz-border-soft); border-radius: var(--uz-radius-sm); background: var(--uz-surface); }
.uz-izin + .uz-izin { margin-top: 6px; }
.uz-izin b { display: block; font-size: 13.5px; font-weight: 600; }
.uz-izin small { display: block; font-size: 12px; color: var(--uz-ink-soft); }
/* Erişim (kim neyi görür): solda kategori ağacı, sağda kayıtlar */
.uz-erisim { display: grid; grid-template-columns: minmax(200px, 260px) minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 900px) { .uz-erisim { grid-template-columns: minmax(0, 1fr); } }
.uz-erisim-agac ul { list-style: none; margin: 0 0 10px; padding: 0; }
.uz-erisim-agac li button { width: 100%; border: 0; background: none; color: inherit; text-align: left; padding: 6px 8px;
    border-radius: var(--uz-radius-sm); display: flex; gap: 6px; align-items: center; font-size: 13.5px; }
.uz-erisim-agac li button small { margin-left: auto; color: var(--uz-ink-faint); }
.uz-erisim-agac li button:hover { background: color-mix(in srgb, var(--uz-brand-soft) 45%, transparent); }
.uz-erisim-agac li.secili button { background: var(--uz-brand-soft); font-weight: 600; }
/* Sürükle-bırak: satır tutulabilir, bırakılacak kategori kesik çerçeveyle belirir. */
.uz-erisim-tablo tr[draggable="true"] { cursor: grab; }
.uz-erisim-tablo tr.suruklenen { opacity: .55; }
.uz-erisim-agac li.birak button { outline: 2px dashed var(--uz-brand); outline-offset: -2px; background: var(--uz-brand-soft); }
.uz-erisim-agac li button:focus-visible { outline: 2px solid var(--uz-brand); outline-offset: 1px; }
.uz-erisim-kategori { padding: 10px 12px; margin-bottom: 12px; border: 1px solid var(--uz-border-soft); border-radius: var(--uz-radius-sm); background: var(--uz-surface); }
.uz-erisim-toplu { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 8px 10px; margin: 8px 0;
    border-radius: var(--uz-radius-sm); background: color-mix(in srgb, var(--uz-brand-soft) 55%, var(--uz-surface)); }
.uz-erisim-secici { min-width: 200px; max-width: 320px; }
.uz-erisim-tablo .uz-rozet { margin: 1px 4px 1px 0; }

/* İzin matrisi (rol düzenleyici): satır = modül, sütun = eylem */
.uz-izin-matris-kap { overflow-x: auto; border: 1px solid var(--uz-border-soft); border-radius: var(--uz-radius-sm); }
.uz-izin-matris { width: 100%; border-collapse: collapse; font-size: 13px; }
.uz-izin-matris th, .uz-izin-matris td { padding: 7px 8px; border-bottom: 1px solid var(--uz-border-soft); text-align: center; }
.uz-izin-matris thead th { font-size: 11.5px; font-weight: 700; color: var(--uz-ink-faint); white-space: nowrap; background: var(--uz-surface); position: sticky; top: 0; }
.uz-izin-matris tbody th { text-align: left; font-weight: 600; white-space: nowrap; }
.uz-izin-matris thead th:first-child { text-align: left; }
.uz-izin-matris tbody tr:hover { background: color-mix(in srgb, var(--uz-brand-soft) 35%, transparent); }
.uz-izin-matris-satir { border: 0; background: none; padding: 0; color: inherit; font: inherit; display: inline-flex; gap: 6px; align-items: center; cursor: pointer; }
.uz-izin-matris-satir:focus-visible { outline: 2px solid var(--uz-brand); outline-offset: 2px; }
.uz-izin-hucre { display: inline-flex; padding: 2px; cursor: pointer; }
.uz-izin-hucre input { width: 16px; height: 16px; cursor: inherit; }
.uz-izin-hucre input:disabled { cursor: not-allowed; }
.uz-izin-matris-aciklama td { text-align: left; font-size: 12.5px; color: var(--uz-ink-soft); background: var(--uz-surface); }
.uz-izin-matris-aciklama td > div + div { margin-top: 4px; }
.uz-izin.degisti { border-color: color-mix(in srgb, var(--uz-brand) 45%, var(--uz-border));
    background: color-mix(in srgb, var(--uz-brand-soft) 45%, var(--uz-surface)); }
.uz-segment.kucuk button { padding: 4px 9px; font-size: 12px; }
.uz-segment button.aktif.ok { color: var(--uz-ok); }
.uz-segment button.aktif.hayir { color: var(--uz-danger); }

/* Cümle kurucu: "[Satış ekibi] [satış panosunda] tutarları [görsün]" */
.uz-cumle { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: var(--uz-ink);
    padding: 12px 14px; background: var(--uz-surface-sunk); border: 1px dashed var(--uz-border); border-radius: var(--uz-radius); }
.uz-cumle select, .uz-cumle input { width: auto; min-width: 150px; max-width: 100%; font-size: 13.5px; }
.uz-cumle .btn { margin-left: auto; }
.uz-kural-liste { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.uz-kural-liste li { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 10px 12px; background: var(--uz-surface);
    border: 1px solid var(--uz-border); border-radius: var(--uz-radius-sm); font-size: 13.5px; }
.uz-kural-liste li > i { font-size: 18px; flex: none; }
/* Metin en az 220 px kalır; eylemlere yer yoksa (dar içerik sütunu, tablet) alt satıra geçerler. 11-03: ölçüt kartında uyarı kelime kelime kırılıyordu. */
.uz-kural-liste li > span { flex: 1 1 220px; min-width: 0; }
.uz-kural-liste li small { display: block; font-size: 11.5px; color: var(--uz-ink-faint); }
.uz-kural-liste .gor { color: var(--uz-ok); }
.uz-kural-liste .gizle { color: var(--uz-danger); }
.uz-kural-liste .bilgi { color: var(--uz-info); }
/* Telefonda Düzenle/Sil metnin yanında kalınca metin ~90 px'lik sütuna sıkışıyordu: eylemler alt satıra, sağa. */
@media (max-width: 576px) {
    .uz-kural-liste li { flex-wrap: wrap; }
    .uz-kural-liste li > span { flex: 1 1 calc(100% - 30px); }
    .uz-kural-liste li > span ~ .btn:first-of-type { margin-left: auto; }
    /* Bellek formu: "Tür" seçicisi 160 px kalırken diğer alanlar tam satırdı. */
    .uz-bellek-form label { flex: 1 1 100% !important; }
    .uz-bellek-form select { width: 100%; }
}

/* Adımlar */
.uz-adim-bas { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.uz-adim-no { width: 26px; height: 26px; flex: none; border-radius: 999px; display: grid; place-items: center; font-size: 13px; font-weight: 800;
    background: var(--uz-brand); color: var(--uz-brand-fg); }
.uz-adim-no.bitti { background: var(--uz-ok); }
.uz-adim-bas h5 { margin: 0; font-size: 14.5px; font-weight: 700; }
/* Açıklama metni; numara dairesi (.uz-adim-no) HARİÇ — yoksa numara gri kalıp dairede kayboluyordu. */
.uz-adim-bas > span:not(.uz-adim-no) { font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-adim-kapali { opacity: .55; pointer-events: none; }

/* Yapılacaklar */
.uz-yapilacak { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.uz-yapilacak li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: var(--uz-radius-sm);
    background: var(--uz-warn-soft); font-size: 13.5px; }
.uz-yapilacak li.bilgi { background: var(--uz-info-soft); }
.uz-yapilacak li > i { font-size: 18px; color: var(--uz-warn); }
.uz-yapilacak li.bilgi > i { color: var(--uz-info); }
.uz-yapilacak li > span { flex: 1; min-width: 0; }
.uz-yapilacak li button { white-space: nowrap; }

/* Talep kartı (destek erişimi) */
.uz-talep { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; padding: 14px 16px; border-radius: var(--uz-radius);
    border: 1px solid color-mix(in srgb, var(--uz-warn) 45%, var(--uz-border)); background: var(--uz-warn-soft); }
.uz-talep > i { font-size: 22px; color: var(--uz-warn); }
.uz-talep h5 { margin: 0 0 2px; font-size: 14.5px; font-weight: 700; }
.uz-talep p { margin: 0 0 10px; font-size: 13px; color: var(--uz-ink-soft); }
.uz-talep-arac { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.uz-talep-arac select { width: auto; }
.uz-durum-kart { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: var(--uz-radius);
    background: var(--uz-surface); border: 1px solid var(--uz-border); flex-wrap: wrap; }
.uz-durum-kart > i { font-size: 26px; }
.uz-durum-kart.acik { border-color: color-mix(in srgb, var(--uz-warn) 50%, var(--uz-border)); }
.uz-durum-kart.acik > i { color: var(--uz-warn); }
.uz-durum-kart.kapali > i { color: var(--uz-ok); }
.uz-durum-kart b { display: block; font-size: 15px; }
.uz-durum-kart span { font-size: 13px; color: var(--uz-ink-soft); }
.uz-durum-kart .uz-durum-arac { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }

/* Ekip kartı */
.uz-ekip-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.uz-ekip { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; background: var(--uz-surface);
    border: 1px solid var(--uz-border); border-radius: var(--uz-radius); min-width: 0; }
.uz-ekip.pasif { opacity: .6; }
.uz-ekip-bas { display: flex; gap: 10px; align-items: flex-start; }
.uz-ekip-bas h5 { margin: 0; font-size: 14.5px; font-weight: 700; }
.uz-ekip-bas p { margin: 0; font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-ekip-alt { display: flex; align-items: center; gap: 8px; margin-top: auto; font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-ekip-alt .uz-ekip-islem { margin-left: auto; display: flex; gap: 4px; }

/* Onay kutusu listesi (üye seçimi) */
.uz-cek-liste { max-height: 280px; overflow: auto; border: 1px solid var(--uz-border); border-radius: var(--uz-radius-sm); }
.uz-cek-liste label { display: flex; align-items: center; gap: 10px; padding: 7px 10px; cursor: pointer; margin: 0; }
.uz-cek-liste label + label { border-top: 1px solid var(--uz-border-soft); }
.uz-cek-liste label:hover { background: var(--uz-row-hover); }
.uz-cek-liste input { flex: none; }
.uz-gelismis { font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-gelismis summary { cursor: pointer; color: var(--uz-ink-soft); }
.uz-ornek-maske { font-family: var(--bs-font-monospace); letter-spacing: .1em; color: var(--uz-ink-soft); }

/* İşlem sonucu bildirimi (UzBildirim): her zaman görünür yerde. */
.uz-bildirim { position: fixed; right: 20px; bottom: 20px; z-index: 1090; max-width: min(460px, calc(100vw - 32px));
    display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: var(--uz-radius);
    background: var(--uz-surface-alt); color: var(--uz-ink); border: 1px solid var(--uz-border);
    box-shadow: 0 8px 24px rgba(0,0,0,.18); font-size: 13.5px; animation: uz-bildirim-gir .18s ease-out; }
.uz-bildirim > i { font-size: 18px; flex: none; }
.uz-bildirim.ok > i { color: var(--uz-ok); }
.uz-bildirim.hata { border-color: color-mix(in srgb, var(--uz-danger) 50%, var(--uz-border)); }
.uz-bildirim.hata > i { color: var(--uz-danger); }
.uz-bildirim > span { flex: 1; min-width: 0; }
@keyframes uz-bildirim-gir { from { transform: translateY(8px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .uz-bildirim { animation: none; } }

/* =====================================================================
   UzListe — yönetim listelerinin ortak bileşeni (tablo/kart, süzgeç, sıralama, toplu işlem).
   ===================================================================== */
.uz-liste { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.uz-liste-arac { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.uz-liste-sayi { margin-left: auto; font-size: 12.5px; color: var(--uz-ink-soft); white-space: nowrap; }
.uz-liste-sayi b { color: var(--uz-ink); }
.uz-liste-sira { width: auto; min-width: 140px; }
.uz-liste-suzgec { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; padding: 8px 10px;
    background: var(--uz-surface-sunk); border: 1px solid var(--uz-border-soft); border-radius: var(--uz-radius); }
.uz-liste-grup { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.uz-liste-grup-ad { font-size: 11.5px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--uz-ink-faint); margin-right: 2px; }
.uz-liste-grup .uz-cip:disabled { opacity: .45; cursor: default; }
.uz-liste-temizle { margin-left: auto; font-size: 12.5px; }
.uz-liste-toplu { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 12px; border-radius: var(--uz-radius);
    background: var(--uz-brand-soft); border: 1px solid color-mix(in srgb, var(--uz-brand) 35%, transparent); font-size: 13px; }
.uz-liste-kartlar { display: grid; gap: 12px; }
.uz-liste-kart { position: relative; min-width: 0; display: flex; flex-direction: column; }
.uz-liste-kart > .uz-rapor-kart, .uz-liste-kart > .uz-kart { flex: 1; }
.uz-liste-kart.secili > * { border-color: var(--uz-brand) !important; box-shadow: 0 0 0 1px var(--uz-brand) inset; }
.uz-liste-kart-sec { position: absolute; top: 12px; right: 12px; z-index: 1; }
.uz-liste-sayfa { display: flex; align-items: center; justify-content: flex-end; gap: 8px; font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-tablo tr.secili td { background: color-mix(in srgb, var(--uz-brand-soft) 60%, var(--uz-surface)); }
@media (max-width: 767.98px) { .uz-tablo .uz-ikincil { display: none; } }
/* Sınırlı yükseklikli liste (pano bölümleri): gövde içeride kayar, tablo başlığı yapışık kalır.
   ⚠️ Telefonda sabit piksel sınırı ekranın çoğunu tek kutuya verirdi; vh ile üst sınır — iç içe kaydırma kısa kalsın. */
.uz-liste-sinirli .uz-tablo-kap,
.uz-liste-sinirli .uz-liste-kartlar { max-height: min(var(--uz-liste-azami, 460px), 70vh); overflow: auto; }
.uz-liste-sinirli .uz-tablo thead th { position: sticky; top: 0; z-index: 1; }
/* 📊 F5 (11-09): UzListe'nin tablosu/kartları ortak kütüphanenin ızgarasında (UzserGrid). Kütüphanenin tablosu tek satırlı ve
   sabit düzenli (nowrap + ellipsis, table-layout: fixed); yönetim listelerinin hücreleri rozet, düğme ve iki satırlı metin taşıyor.
   ⚠️ Bu yüzden UzListe İÇİNDE ızgara eski .uz-tablo düzenine çekilir; ekranların yardımcı sınıfları (sag, nowrap, soluk…) da
   aynı anlamı taşır. DevExpress DxGrid'den geçen ekranlar (UzGorsel Sinif="uz-veri-izgara") da aynı düzeni kullanır. Kart görünümü kütüphanede tek sütun; bizde KartGenislik'e göre çok sütunlu ızgara. */
.uz-liste .uz-liste-izgara { display: block; }
:is(.uz-liste, .uz-veri-izgara) .uv-grid { background: transparent; font-size: 13px; color: var(--uz-ink); }
:is(.uz-liste, .uz-veri-izgara) .uv-grid-table { table-layout: auto; }
:is(.uz-liste, .uz-veri-izgara) .uv-grid-table th, :is(.uz-liste, .uz-veri-izgara) .uv-grid-table td { overflow: visible; text-overflow: clip; }
:is(.uz-liste, .uz-veri-izgara) .uv-grid-table td { white-space: normal; height: auto; padding: 8px; vertical-align: middle;
    border-bottom-color: var(--uz-border-soft); font-variant-numeric: tabular-nums; }
:is(.uz-liste, .uz-veri-izgara) .uv-grid-table thead th { font-size: 11.5px; color: var(--uz-ink-soft); padding: 6px 8px; white-space: nowrap; }
:is(.uz-liste, .uz-veri-izgara) .uv-grid-table tbody tr:last-child td { border-bottom: 0; }
:is(.uz-liste, .uz-veri-izgara) .uv-grid-table .sag, :is(.uz-liste, .uz-veri-izgara) .uv-grid-table .text-end { text-align: right; }
:is(.uz-liste, .uz-veri-izgara) .uv-grid-table td.ad { font-weight: 600; min-width: 160px; }
:is(.uz-liste, .uz-veri-izgara) .uv-grid-table td.genis { min-width: 130px; }
:is(.uz-liste, .uz-veri-izgara) .uv-grid-table td.soluk { color: var(--uz-ink-soft); font-weight: 400; }
:is(.uz-liste, .uz-veri-izgara) .uv-grid-table td.kucuk { font-size: 11.5px; }
:is(.uz-liste, .uz-veri-izgara) .uv-grid-table td.nowrap { white-space: nowrap; }
:is(.uz-liste, .uz-veri-izgara) .uv-grid-table .hata { color: var(--uz-danger); font-weight: 600; }
:is(.uz-liste, .uz-veri-izgara) .uv-grid-table .uyari { color: var(--uz-warn); font-weight: 600; }
:is(.uz-liste, .uz-veri-izgara) .uv-grid-table .badge { font-weight: 600; }
.uz-liste .uv-grid-cards { display: grid; gap: 12px; padding: 0;
    grid-template-columns: repeat(auto-fill, minmax(min(var(--uz-liste-kart, 300px), 100%), 1fr)); }
.uz-liste .uv-grid-card { padding: 0; border: 0; background: transparent; }
.uz-liste .uv-grid-card > * { min-width: 0; }
/* Pano kartları: satıra tıklayınca süzen listelerde seçim ve aciliyet kart görünümünde de görünsün. */
.uz-rapor-kart.secili { border-color: var(--uz-brand); box-shadow: 0 0 0 1px var(--uz-brand) inset; }
.uz-rapor-kart.uz-aciliyet-2 { border-left: 3px solid var(--uz-danger); }
.uz-rapor-kart.uz-aciliyet-1 { border-left: 3px solid var(--uz-warn); }
.uz-rapor-kart .uz-satir-hata { max-width: 100%; }

/* Küçük sayaç rozetleri (kart ve tabloda durum özeti) */
.uz-sayac { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; padding: 1px 8px; border-radius: 999px;
    background: var(--uz-neutral-soft); color: var(--uz-ink-soft); white-space: nowrap; }
.uz-sayac b { color: var(--uz-ink); font-weight: 700; }
.uz-sayac.ok { background: var(--uz-ok-soft); } .uz-sayac.ok b { color: var(--uz-ok); }
.uz-sayac.warn { background: var(--uz-warn-soft); } .uz-sayac.warn b { color: var(--uz-warn); }
.uz-sayac.danger { background: var(--uz-danger-soft); } .uz-sayac.danger b { color: var(--uz-danger); }
.uz-sayac.info { background: var(--uz-info-soft); } .uz-sayac.info b { color: var(--uz-info); }
.uz-sayaclar { display: flex; flex-wrap: wrap; gap: 6px; }

/* Liste ekranlarının küçük yardımcıları (Faz 2) */
.uz-rapor-kart.tik { cursor: pointer; }
.uz-anlatim.uyari { background: var(--uz-warn-soft); }
.uz-anlatim.uyari > i { color: var(--uz-warn); }
.uz-madde-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.uz-madde-liste li { padding-left: 14px; position: relative; overflow: hidden; text-overflow: ellipsis; }
.uz-madde-liste li::before { content: ""; position: absolute; left: 2px; top: .6em; width: 5px; height: 5px; border-radius: 50%; background: var(--uz-brand); }
/* Satır içi aylık eğilim çubukları */
.uz-mini-sutun { display: flex; align-items: flex-end; gap: 3px; height: 24px; }
.uz-mini-sutun span { flex: 1; min-width: 4px; max-width: 12px; border-radius: 2px 2px 0 0; background: var(--uz-brand); opacity: .85; }
.uz-mini-sutun span.bos { background: var(--uz-border); opacity: 1; }
/* Liste tablosunda uzun ad/açıklama sütunu tabloyu yana taşırmasın: hücre içi kısaltılır, tamamı title'da. */
.uz-liste .uz-tablo .uz-kisi-ad, :is(.uz-liste, .uz-veri-izgara) .uv-grid-table .uz-kisi-ad { max-width: 360px; }
.uz-liste .uz-tablo .uz-rozet, :is(.uz-liste, .uz-veri-izgara) .uv-grid-table .uz-rozet, .uz-liste .uz-sayac { white-space: nowrap; }
/* ⚠️ Telefonda üst çubuk 431 px'e genişleyip TÜM sayfayı sağdan kırpıyordu: "1fr" sütunu içeriğin
   en küçük genişliğinin altına inemez. minmax(0, 1fr) + daha sıkı araç çubuğu. */
@media (max-width: 768px) {
    .uzser-shell.compact { grid-template-columns: minmax(0, 1fr); }
    .uzser-header { min-width: 0; padding: 0 8px; }
    .uzser-header-right { min-width: 0; }
    .uzser-header-sep { display: none; }
    .uzser-htool.dxbl-btn, .uzser-htool { padding: 0 6px !important; }
}
.uz-atama-islem .btn { white-space: nowrap; }

/* ---- Akış dosya parametresi (çalıştırma / ayarlar formu) ---- */
.uz-dosya-sec {
    position: relative; overflow: hidden; cursor: pointer;
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    padding: 10px 12px; border: 1px dashed var(--uz-border); border-radius: 8px;
    background: var(--uz-surface-sunk); color: var(--uz-ink-soft);
}
.uz-dosya-sec:hover { border-color: var(--uz-brand); color: var(--uz-ink); }
.uz-dosya-sec.mesgul { pointer-events: none; opacity: .8; }
.uz-dosya-sec input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.uz-dosya-secili {
    display: flex; align-items: center; gap: 8px; margin-bottom: 6px;
    padding: 8px 10px; border: 1px solid var(--uz-border); border-radius: 8px; background: var(--uz-surface);
}
.uz-dosya-secili .ad { font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-dosya-secili .bi { font-size: 1.1rem; }
.uz-kolon-listesi { display: flex; flex-wrap: wrap; gap: 4px; }
.uz-kolon { font-size: .75rem; padding: 2px 8px; border-radius: 999px; background: var(--uz-brand-soft); color: var(--uz-ink); }
.uz-hata-ayar { border-top: 1px solid var(--uz-border-soft); padding-top: 6px; }
.uz-hata-ayar > summary { cursor: pointer; color: var(--uz-ink-soft); }
.uz-eslesme { width: 100%; border-collapse: separate; border-spacing: 0 4px; }
.uz-eslesme td:first-child { font-size: .78rem; color: var(--uz-ink-soft); padding-right: 8px; white-space: nowrap; width: 1%; }

/* Alan tanımı düzenleyicisi (başlangıç parametreleri + form düğümü) */
.uz-alan-duzen { display: grid; grid-template-columns: 1fr; gap: 14px; }
.uz-alan-duzen.onizlemeli { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
@media (max-width: 860px) { .uz-alan-duzen.onizlemeli { grid-template-columns: 1fr; } }
.uz-alan-liste { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.uz-alan-kart { border: 1px solid var(--uz-border); border-radius: 8px; padding: 8px 10px; background: var(--uz-surface); display: flex; flex-direction: column; gap: 8px; }
.uz-alan-ust { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.uz-alan-etiket { flex: 1 1 180px; min-width: 0; font-weight: 600; }
.uz-alan-tip { flex: 0 0 150px; }
.uz-alan-zorunlu { display: inline-flex; gap: 4px; align-items: center; font-size: 12.5px; color: var(--uz-ink-soft); white-space: nowrap; }
.uz-alan-arac { display: inline-flex; gap: 8px; margin-left: auto; }
.uz-alan-ayrinti { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 600px) { .uz-alan-ayrinti { grid-template-columns: 1fr; } }
.uz-alan-satir { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.uz-alan-satir > label { font-size: 12px; font-weight: 600; color: var(--uz-ink-soft); }
.uz-alan-genis { grid-column: 1 / -1; }
.uz-alan-onizleme { border: 1px dashed var(--uz-border); border-radius: 8px; padding: 12px; background: var(--uz-surface-sunk); min-width: 0; align-self: start; }
.uz-alan-onizleme-bas { font-size: 12px; font-weight: 700; color: var(--uz-ink-soft); text-transform: uppercase; margin-bottom: 8px; }

/* Veri kaynağı seçici (P1) — pano, zamanlanmış rapor, akış parametresi, tasarımcı ortak */
.uz-vks-alan { display: flex; align-items: center; gap: 8px; min-height: 31px; padding: 4px 10px; border: 1px solid var(--uz-border); border-radius: 6px; background: var(--uz-surface); cursor: pointer; min-width: 0; }
.uz-vks-alan:hover, .uz-vks-alan:focus { border-color: var(--uz-brand); outline: none; }
.uz-vks-alan.pasif { opacity: .6; cursor: default; }
.uz-vks-ad { font-size: 13.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.uz-vks-ad.bos { font-weight: 400; color: var(--uz-ink-soft); }
.uz-vks-kod { font-family: ui-monospace, Consolas, monospace; font-size: 11.5px; color: var(--uz-ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.uz-vks-ok { margin-left: auto; color: var(--uz-ink-soft); }
.uz-vks-arac { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.uz-vks-arac > input { flex: 1 1 240px; }
.uz-vks-grupla { display: inline-flex; gap: 6px; align-items: center; font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-vks-govde { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 4fr); gap: 12px; height: min(60vh, 560px); }
@media (max-width: 760px) { .uz-vks-govde { grid-template-columns: 1fr; height: auto; } .uz-vks-liste { max-height: 45vh; } }
.uz-vks-liste { overflow-y: auto; border: 1px solid var(--uz-border); border-radius: 8px; padding: 4px; }
.uz-vks-grup { position: sticky; top: -4px; background: var(--uz-surface); padding: 6px 8px 3px; font-size: 11.5px; font-weight: 700; letter-spacing: .02em; color: var(--uz-ink-soft); border-bottom: 1px solid var(--uz-border); z-index: 1; }
.uz-vks-grup span { font-weight: 400; margin-left: 4px; }
.uz-vks-oge { display: grid; grid-template-columns: 18px minmax(0, 1fr); column-gap: 8px; width: 100%; text-align: left; border: 0; background: none; padding: 6px 8px; border-radius: 6px; }
.uz-vks-oge:hover { background: var(--uz-surface-sunk); }
.uz-vks-oge.vurgu { background: var(--uz-brand-soft); }
.uz-vks-oge.secili .uz-vks-oge-ad::after { content: " ✓"; color: var(--uz-brand); }
.uz-vks-oge > i { grid-row: span 2; color: var(--uz-ink-soft); margin-top: 2px; }
.uz-vks-oge-ad { font-size: 13.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-vks-oge-kisa { grid-column: 2; font-size: 12px; color: var(--uz-ink-soft); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-vks-ayrinti { overflow-y: auto; border: 1px solid var(--uz-border); border-radius: 8px; padding: 12px; background: var(--uz-surface-sunk); }
.uz-vks-ayrinti-bas h5 { margin: 6px 0 2px; font-size: 16px; font-weight: 700; }
.uz-vks-ayrinti-bas code { font-size: 12px; }
.uz-vks-dl { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; font-size: 12.5px; margin: 8px 0; }
.uz-vks-dl dt { color: var(--uz-ink-soft); font-weight: 600; }
.uz-vks-dl dd { margin: 0; }
.uz-vks-baslik { font-size: 11.5px; font-weight: 700; text-transform: uppercase; color: var(--uz-ink-soft); margin: 10px 0 4px; }
.uz-vks-alanlar { display: flex; flex-wrap: wrap; gap: 4px; }
.uz-vks-alan-etiket { font-size: 11.5px; padding: 2px 7px; border-radius: 10px; background: var(--uz-surface); border: 1px solid var(--uz-border); }

/* Süzgeç bileşeni (P3)
   İki satıra sığar (2 × 45 px − 8 px kenar = 82 px): ince başlık (~24 px) + tek denetim (31 px) + az boşluk.
   Onay kutulu liste beş satır alır, liste kendi içinde kayar. Diğer kartların başlık/gövde dolgusu süzgeçte
   yerin yarısını yiyordu. Seçicide .uzser-dash-grid şart: genel .card-body dolgusunu ezmesi için. */
.uzser-dash-grid .uz-suzgec > .card-header { padding: 1px 2px 0 10px; min-height: 24px; border-bottom: 0; }
.uzser-dash-grid .uz-suzgec > .card-header .dxbl-btn { padding: 0 4px; min-height: 0; height: 22px; }
.uzser-dash-grid .uz-suzgec > .card-body { padding: 2px 10px 6px; }
.uz-suzgec > .card-header .badge { max-width: 55%; overflow: hidden; text-overflow: ellipsis; }
.uz-suzgec-govde { display: flex; flex-direction: column; min-height: 0; overflow: auto; }
.uz-suzgec-liste { overflow-y: auto; min-height: 0; flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; }
.uz-suzgec-oge { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 6px; align-items: center; font-size: 13px; padding: 2px 4px; border-radius: 4px; cursor: pointer; }
.uz-suzgec-oge:hover { background: var(--uz-surface-sunk); }
.uz-suzgec-sayi { font-size: 11.5px; color: var(--uz-ink-soft); font-variant-numeric: tabular-nums; }

/* Kısa süzgeç kutusunda (iki-üç satır) onay kutulu liste YATAY seçim düğmelerine döner: aynı işaretleme, yalnız
   biçim değişir. Kutu uzatılınca kendiliğinden dikey listeye ve arama kutusuna geçer — boyutlandırma canlı izlenir
   (kapsayıcı sorgusu), yeniden çizim gerekmez. Yıl/durum gibi kısa listeler iki satıra böylece sığar. */
.uzser-dash-grid .uz-suzgec > .card-body, .uz-aip-kart .uz-suzgec > .card-body { container: suzgec / size; }
@container suzgec (max-height: 110px) {
    .uz-suzgec-arama { display: none; }
    .uz-suzgec-liste { flex: 0 0 auto; flex-direction: row; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; gap: 4px; padding-bottom: 2px; }
    .uz-suzgec-oge { position: relative; display: inline-flex; flex: none; gap: 5px; white-space: nowrap; padding: 3px 10px;
        border: 1px solid var(--uz-border); border-radius: 999px; }
    .uz-suzgec-oge > input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
    .uz-suzgec-oge:has(> input:checked) { background: var(--uz-brand); border-color: var(--uz-brand); color: var(--uz-brand-fg); }
    .uz-suzgec-oge:has(> input:checked) .uz-suzgec-sayi { color: inherit; opacity: .8; }
    .uz-suzgec-oge:has(> input:focus-visible) { outline: 2px solid var(--uz-brand); outline-offset: 1px; }
    .uz-suzgec-oge > .text-truncate { overflow: visible; }
}

/* AI sihirbazı (S) */
.uz-sihirbaz { display: flex; flex-direction: column; gap: 10px; }
.uz-sihirbaz-ornek, .uz-sihirbaz-secenekler { display: flex; flex-wrap: wrap; gap: 6px; }
.uz-sihirbaz-arac { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.uz-sihirbaz-anlasilan { font-size: 13.5px; padding: 8px 10px; border-radius: 8px; background: var(--uz-brand-soft); }
.uz-sihirbaz-soru { padding: 8px 10px; border: 1px solid var(--uz-border); border-radius: 8px; background: var(--uz-surface); }
.uz-sihirbaz-plan { padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--uz-brand) 35%, var(--uz-border)); border-radius: 8px; background: var(--uz-surface); font-size: 13.5px; }

/* AI üretimlerinde veri ihtiyacı (karşılayan tanım / eksik tanım önerisi) */
/* Gereken veriler (AI ile akış/pano/rapor): her veri bir satır; durum işaret + çiple, yapılacak iş tek düğmeyle.
   ⚠️ Önizleme tablosu nowrap; kaydırma kendi kutusunda olmalı. Grid/flex öğeleri varsayılan min-width:auto ile tablonun
   genişliğine uzuyor ve diyaloğun dışına taşıyordu (2026-10-13). Her kapta min-width:0. */
.uz-vi { margin-top: 10px; border: 1px solid var(--uz-border); border-radius: var(--uz-radius-lg, 10px); background: var(--uz-surface);
  min-width: 0; max-width: 100%; overflow: hidden; }
.uz-vi-ust { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px 6px; }
.uz-vi-baslik { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 13.5px; color: var(--uz-ink); }
.uz-vi-baslik .bi { color: var(--uz-brand); }
.uz-vi-sayac { font-size: 12px; font-weight: 600; padding: 2px 9px; border-radius: 999px; background: var(--uz-warn-soft); color: var(--uz-warn);
  font-variant-numeric: tabular-nums; white-space: nowrap; }
.uz-vi-sayac.tamam { background: var(--uz-ok-soft); color: var(--uz-ok); }
.uz-vi-aciklama { padding: 0 12px 8px; font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-vi-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); }
.uz-vi-oge { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-top: 1px solid var(--uz-border); min-width: 0; }
.uz-vi-oge.eksik { background: color-mix(in srgb, var(--uz-warn-soft) 45%, transparent); }
.uz-vi-isaret { flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 13px;
  background: var(--uz-neutral-soft); color: var(--uz-ink-faint); margin-top: 1px; }
.uz-vi-oge.hazir .uz-vi-isaret { background: var(--uz-ok-soft); color: var(--uz-ok); }
.uz-vi-oge.eksik .uz-vi-isaret { background: var(--uz-warn-soft); color: var(--uz-warn); }
.uz-vi-govde { flex: 1 1 auto; min-width: 0; display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr); }
.uz-vi-baslik-satiri { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; min-width: 0; }
.uz-vi-ne { font-size: 13.5px; color: var(--uz-ink); font-weight: 500; min-width: 0; overflow-wrap: anywhere;
  display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.uz-vi-cip { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; font-size: 12px; padding: 2px 9px; border-radius: 999px;
  border: 1px solid var(--uz-border); background: var(--uz-surface); color: var(--uz-ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.uz-vi-cip.hazir { border-color: transparent; background: var(--uz-ok-soft); color: var(--uz-ok); }
.uz-vi-cip.eksik { border-color: transparent; background: var(--uz-warn-soft); color: var(--uz-warn); }
.uz-vi-oge.kapali .uz-vi-cip.eksik { background: var(--uz-neutral-soft); color: var(--uz-ink-faint); }
.uz-vi-not { font-size: 12.5px; color: var(--uz-ink-soft); overflow-wrap: anywhere; }
.uz-vi-not.uyari { color: var(--uz-warn); padding: 8px 10px; }
.uz-vi-not.hata { color: var(--uz-danger); }
.uz-vi-uyarilar { list-style: none; margin: 0; padding: 8px 10px; display: grid; gap: 4px; font-size: 12.5px; color: var(--uz-warn);
  border: 1px solid color-mix(in srgb, var(--uz-warn) 35%, transparent); border-radius: 8px; overflow-wrap: anywhere; }
.uz-vi-adimlar { list-style: none; display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; font-size: 12px; color: var(--uz-ink-faint); }
.uz-vi-adimlar li { display: inline-flex; align-items: center; gap: 6px; }
.uz-vi-adimlar li + li::before { content: ""; width: 18px; height: 1px; background: var(--uz-border); margin-right: 2px; }
.uz-vi-adimlar span { width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 600;
  border: 1px solid var(--uz-border); background: var(--uz-surface); }
.uz-vi-adimlar li.aktif { color: var(--uz-ink); font-weight: 600; }
.uz-vi-adimlar li.aktif span { background: var(--uz-brand); border-color: var(--uz-brand); color: var(--uz-brand-fg, #fff); }
.uz-vi-adimlar li.bitti { color: var(--uz-ok); }
.uz-vi-adimlar li.bitti span { background: var(--uz-ok-soft); border-color: transparent; color: var(--uz-ok); }
.uz-vi-eylem { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.uz-vi-baglanti { padding-left: 0; padding-right: 0; text-decoration: none; }
.uz-vi-govde > .btn { justify-self: start; }
.uz-vi-ad { flex: 1 1 200px; max-width: 320px; min-width: 0; }
.uz-vi-onizleme { border: 1px solid var(--uz-border); border-radius: var(--uz-radius, 8px); background: var(--uz-surface); min-width: 0; overflow: hidden; }
.uz-vi-onizleme-ust { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; padding: 6px 10px;
  font-size: 12px; color: var(--uz-ink-soft); background: var(--uz-surface-alt); }
.uz-vi-onizleme .uz-veri-ihtiyac-tablo { border: 0; border-top: 1px solid var(--uz-border); border-radius: 0; margin: 0; }
.uz-vi-sorgu summary { cursor: pointer; color: var(--uz-brand); }
.uz-vi-sorgu[open] { flex-basis: 100%; }
.uz-vi-alt { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 12px; border-top: 1px solid var(--uz-border);
  background: var(--uz-surface-alt); }
.uz-veri-ihtiyac-tablo { overflow-x: auto; max-width: 100%; border: 1px solid var(--uz-border); border-radius: 6px; margin-top: 4px; }
.uz-veri-ihtiyac-tablo table { font-size: 12px; white-space: nowrap; }
.uz-veri-ihtiyac-sql { white-space: pre-wrap; word-break: break-word; font-size: 11.5px; max-height: 220px; overflow: auto; background: var(--uz-surface-sunk)); padding: 6px 8px; border-radius: 6px; margin: 4px 0 0; }

/* Müşteri ana sayfası (M1) */
.uz-izgara-6-6 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 900px) { .uz-izgara-6-6 { grid-template-columns: 1fr; } }
.uz-ana-panolar { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; }
.uz-ana-pano { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 8px; align-items: center; padding: 10px 12px; border: 1px solid var(--uz-border); border-radius: 8px; color: var(--uz-ink); text-decoration: none; background: var(--uz-surface); }
.uz-ana-pano:hover { border-color: var(--uz-brand); }
.uz-ana-pano > i { grid-row: span 2; color: var(--uz-brand); font-size: 18px; }
.uz-ana-pano small { color: var(--uz-ink-soft); font-size: 11.5px; }
.uz-ana-analiz > summary { cursor: pointer; font-weight: 600; font-size: 14px; margin: 6px 0 10px; color: var(--uz-ink-soft); }
.uz-ana-analiz[open] > summary { color: var(--uz-ink); }

/* Kazanımlarınız (M2) */
.uz-kazanim { display: flex; flex-direction: column; gap: 14px; }
.uz-kazanim-ana { padding: 18px 20px; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--uz-brand) 30%, var(--uz-border)); background: linear-gradient(135deg, var(--uz-brand-soft), var(--uz-surface)); }
.uz-kazanim-deger { display: flex; flex-direction: column; gap: 2px; margin-bottom: 14px; }
.uz-kazanim-sayi { font-size: 34px; font-weight: 800; line-height: 1.1; color: var(--uz-ink); }
.uz-kazanim-alt { color: var(--uz-ink-soft); font-size: 13.5px; }
.uz-kazanim-kpi { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.uz-kazanim-kpi > div { display: flex; flex-direction: column; padding: 8px 10px; border-radius: 8px; background: var(--uz-surface); border: 1px solid var(--uz-border); }
.uz-kazanim-kpi b { font-size: 20px; }
.uz-kazanim-kpi span { font-size: 12px; color: var(--uz-ink-soft); }
.uz-kazanim-cubuk { height: 8px; border-radius: 4px; background: var(--uz-surface-sunk); overflow: hidden; }
.uz-kazanim-cubuk > span { display: block; height: 100%; background: var(--uz-brand); border-radius: 4px; }
.uz-kazanim-ay { display: grid; grid-template-columns: 110px minmax(0, 1fr); column-gap: 10px; align-items: center; margin-bottom: 8px; font-size: 13px; }
.uz-kazanim-ay > small { grid-column: 2; color: var(--uz-ink-soft); }

/* ============================================================
   Filtre kurucu (P2): kök mantık cümlesi ve VEYA grupları.
   ⚠️ Stil eksikti: açılır kutular tam genişliğe yayılıyor, "Şu koşulların [tümü] sağlansın" cümlesi üç satıra
   bölünüyor, grubun sınırı görünmüyordu.
   ============================================================ */
.uz-fk-cumle { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; margin-bottom: 8px; }
.uz-fk-cumle .form-select, .uz-fk-grup-bas .form-select { width: auto; min-width: 150px; }
.uz-fk-grup { border: 1px dashed var(--uz-border); border-radius: var(--uz-radius); padding: 8px 10px; margin-top: 8px;
    background: color-mix(in srgb, var(--uz-brand) 4%, transparent); }
.uz-fk-grup-bas { display: flex; align-items: center; gap: 8px; font-size: 13px; margin-bottom: 6px; }

/* Hata içeren tablo satırı: açık sarı (table-warning) koyu temada sırıtıyordu; ince kırmızı sol çizgi yeterli. */
.uz-satir-hatali > td:first-child { box-shadow: inset 3px 0 0 var(--uz-danger); }

/* ---- Kazanımlarınız: tanıtım sayfası (manşet, işe özel kartlar, akış hikâyeleri) ---- */
.uz-kzn { display: flex; flex-direction: column; gap: 18px; }
.uz-kzn-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.uz-kzn-arac h3 { margin: 0; display: flex; align-items: center; gap: 8px; }
.uz-kzn-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 28px 30px;
    border-radius: 16px; color: #fff; overflow: hidden; position: relative;
    background: radial-gradient(120% 140% at 100% 0%, rgba(255,255,255,.16) 0, transparent 45%),
                linear-gradient(135deg, var(--uz-brand) 0%, var(--uz-brand-dark) 70%, #1e1b4b 100%); }
.uz-kzn-hero.bos { grid-template-columns: minmax(0, 1fr); }
.uz-kzn-hero h1 { font-size: clamp(24px, 3.2vw, 36px); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; margin: 6px 0 8px; text-wrap: balance; color: #fff; }
.uz-kzn-hero p { font-size: 15.5px; line-height: 1.55; opacity: .92; max-width: 70ch; margin: 0; }
.uz-kzn-ust { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; opacity: .85; display: inline-flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.uz-kzn-ai-rozet { text-transform: none; letter-spacing: 0; background: rgba(255,255,255,.18); border-radius: 999px; padding: 2px 10px; font-size: 12px; }
.uz-kzn-cipler { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.uz-kzn-cipler span { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; padding: 4px 12px;
    font-size: 13px; display: inline-flex; gap: 6px; align-items: center; }
.uz-kzn-cipler .arti { background: rgba(74,222,128,.22); border-color: rgba(74,222,128,.45); }
.uz-kzn-cipler .eksi { background: rgba(251,191,36,.20); border-color: rgba(251,191,36,.45); }
.uz-kzn-hero-sayi { text-align: right; padding-left: 24px; border-left: 1px solid rgba(255,255,255,.22); }
.uz-kzn-hero-sayi b { display: block; font-size: clamp(36px, 5vw, 56px); font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -.03em; }
.uz-kzn-hero-sayi span { font-size: 13px; opacity: .85; }
@media (max-width: 767.98px) {
    .uz-kzn-hero { grid-template-columns: minmax(0, 1fr); padding: 22px 20px; }
    .uz-kzn-hero-sayi { text-align: left; padding: 14px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.22); }
}
.uz-kzn-ai-serit { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 10px 14px; border-radius: 12px;
    background: var(--uz-brand-soft); color: var(--uz-ink); font-size: 13.5px; }
.uz-kzn-ai-serit > .bi { color: var(--uz-brand); font-size: 18px; }
.uz-kzn-bolum { background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: 14px; padding: 18px 20px; }
.uz-kzn-bolum-bas { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-bottom: 14px; }
.uz-kzn-bolum-bas h2 { font-size: 17px; font-weight: 700; margin: 0; display: flex; gap: 8px; align-items: center; }
.uz-kzn-bolum-bas span { font-size: 13px; color: var(--uz-ink-soft); }
.uz-kzn-isler { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.uz-kzn-is { display: flex; flex-direction: column; gap: 6px; padding: 16px; border-radius: 12px; background: var(--uz-surface-alt);
    border: 1px solid var(--uz-border-soft); }
.uz-kzn-is-ikon { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; font-size: 18px;
    background: var(--uz-brand-soft); color: var(--uz-brand); }
.uz-kzn-is[data-kategori="ai"] .uz-kzn-is-ikon, .uz-kzn-is[data-kategori="raporlama"] .uz-kzn-is-ikon { background: var(--uz-info-soft); color: var(--uz-info); }
.uz-kzn-is[data-kategori="iletisim"] .uz-kzn-is-ikon, .uz-kzn-is[data-kategori="onay"] .uz-kzn-is-ikon { background: var(--uz-ok-soft); color: var(--uz-ok); }
.uz-kzn-is h3 { font-size: 15px; font-weight: 700; line-height: 1.35; margin: 4px 0 0; color: var(--uz-ink); }
.uz-kzn-is p { font-size: 13.5px; color: var(--uz-ink-soft); margin: 0; line-height: 1.5; }
.uz-kzn-is footer { margin-top: auto; padding-top: 8px; display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 12.5px; }
.uz-kzn-is footer b { color: var(--uz-brand); font-variant-numeric: tabular-nums; }
.uz-kzn-kategori { color: var(--uz-ink-faint); text-transform: uppercase; letter-spacing: .05em; font-size: 11px; }
.uz-kzn-hikayeler { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.uz-kzn-hikaye { padding: 16px; border-radius: 12px; border: 1px solid var(--uz-border-soft); background: var(--uz-surface-alt); display: flex; flex-direction: column; gap: 10px; }
.uz-kzn-hikaye.lider { border-color: color-mix(in srgb, var(--uz-brand) 45%, transparent); box-shadow: 0 6px 24px -14px rgba(var(--uz-brand-rgb), .55); }
.uz-kzn-hikaye-bas { display: flex; gap: 10px; align-items: flex-start; }
.uz-kzn-hikaye-bas h3 { font-size: 15px; font-weight: 700; margin: 0; line-height: 1.3; }
.uz-kzn-hikaye-bas > b { font-size: 18px; font-variant-numeric: tabular-nums; color: var(--uz-brand); white-space: nowrap; }
.uz-kzn-sira { flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700;
    background: var(--uz-neutral-soft); color: var(--uz-ink-soft); }
.uz-kzn-hikaye.lider .uz-kzn-sira { background: var(--uz-brand); color: var(--uz-brand-fg, #fff); }
.uz-kzn-lider-rozet { font-size: 11.5px; color: var(--uz-brand); font-weight: 600; }
.uz-kzn-hikaye p { margin: 0; font-size: 13.5px; color: var(--uz-ink-soft); line-height: 1.5; }
.uz-kzn-cubuk { height: 6px; border-radius: 3px; background: var(--uz-neutral-soft); overflow: hidden; }
.uz-kzn-cubuk span { display: block; height: 100%; border-radius: 3px; background: linear-gradient(90deg, var(--uz-brand), color-mix(in srgb, var(--uz-brand) 60%, #22d3ee)); }
.uz-kzn-alan { display: grid; grid-template-columns: 22px minmax(90px, 160px) minmax(0, 1fr) 44px auto; gap: 10px; align-items: center; padding: 6px 0; font-size: 13.5px; }
.uz-kzn-alan > .bi { color: var(--uz-brand); }
.uz-kzn-alan b { text-align: right; font-variant-numeric: tabular-nums; }
.uz-kzn-alan small { color: var(--uz-ink-soft); white-space: nowrap; }
.uz-kzn-degerlendirme blockquote { margin: 0; padding: 4px 0 4px 16px; border-left: 3px solid var(--uz-brand); font-size: 15px; line-height: 1.65; color: var(--uz-ink); }
.uz-kzn-yontem { border: 1px solid var(--uz-border); border-radius: 12px; padding: 12px 16px; background: var(--uz-surface); font-size: 13.5px; }
.uz-kzn-yontem summary { cursor: pointer; font-weight: 600; }
.uz-kzn-yontem p { margin: 10px 0; color: var(--uz-ink-soft); }
.uz-kzn-yontem ul { list-style: none; padding: 0; margin: 0 0 8px; display: grid; gap: 4px; }
.uz-kzn-yontem li { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px dashed var(--uz-border-soft); padding: 3px 0; }
@media print {
    .uzser-sidebar, .uz-kzn-arac .uz-segment, .uz-kzn-arac .btn, .uz-no-print { display: none !important; }
    .uz-kzn-hero { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .uz-kzn-bolum, .uz-kzn-hikaye, .uz-kzn-is { break-inside: avoid; }
}
.uz-kzn-ayrica { margin: 12px 0 0; font-size: 13px; color: var(--uz-ink-soft); line-height: 1.5; }

/* --- Veri kaynağı seçimi (pano / rapor / akış) ve kaynak izinleri (kişi / ekip / personel) --- */
.uz-kaynak-secimi { border: 1px solid var(--uz-border); border-radius: 8px; padding: 10px 12px; margin: 8px 0; background: var(--uz-surface-sunk, transparent); }
.uz-kaynak-secimi-baslik { font-weight: 600; font-size: .85rem; margin-bottom: 2px; }
.uz-kaynak-secimi-aciklama { font-size: .78rem; color: var(--uz-ink-soft); margin-bottom: 8px; line-height: 1.4; }
.uz-kaynak-secimi-satir { display: grid; grid-template-columns: minmax(90px, 30%) 1fr; gap: 8px; align-items: center; margin-bottom: 6px; }
.uz-kaynak-secimi-satir label { font-size: .82rem; color: var(--uz-ink); }
.uz-kaynak-izin-tip { font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--uz-ink-soft); margin: 6px 0 4px; }
.uz-kaynak-izin-liste { display: flex; flex-wrap: wrap; gap: 6px; }
.uz-kaynak-izin-oge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid var(--uz-border); border-radius: 999px; font-size: .82rem; cursor: pointer; }
.uz-kaynak-izin-oge.on { border-color: var(--uz-brand); background: var(--uz-brand-soft); }
@media (max-width: 576px) { .uz-kaynak-secimi-satir { grid-template-columns: 1fr; } }

/* Kişi özellik değeri seçici (plasiyer / depo…: veriden kod + ad) */
.uz-ozdeger { display: flex; flex-direction: column; gap: 6px; }
.uz-ozdeger-hepsi { display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; margin: 0; white-space: nowrap; }
.uz-ozdeger-cipler { display: flex; flex-wrap: wrap; gap: 4px; }
.uz-ozdeger-cipler .uz-cip { cursor: default; }
.uz-ozdeger-yabanci { border-color: var(--uz-warning, #d97706) !important; }
.uz-ozdeger-ara { position: relative; max-width: 320px; }
.uz-ozdeger-liste { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 2px); max-height: 260px; overflow-y: auto;
    background: var(--uz-surface-alt); border: 1px solid var(--uz-border); border-radius: 8px; box-shadow: 0 6px 20px rgba(0,0,0,.12); padding: 4px; }
.uz-ozdeger-oge { display: flex; gap: 8px; width: 100%; text-align: left; border: 0; background: none; padding: 5px 8px; border-radius: 6px; font-size: .82rem; color: inherit; }
.uz-ozdeger-oge:hover { background: var(--uz-brand-soft); }
.uz-ozdeger-oge span { color: var(--uz-ink-soft); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-ozdeger-bos { padding: 6px 8px; font-size: .8rem; color: var(--uz-ink-soft); }
.uz-ozdeger-kapat { display: block; width: 100%; border: 0; background: none; font-size: .75rem; color: var(--uz-ink-soft); padding: 4px; text-align: right; }
.uz-hesap-ozdeger { display: grid; grid-template-columns: minmax(90px, 140px) minmax(0, 1fr); gap: 8px; align-items: start; margin-bottom: 8px; }
.uz-hesap-ozdeger > span { font-size: .85rem; font-weight: 600; padding-top: 2px; }
@media (max-width: 560px) { .uz-hesap-ozdeger { grid-template-columns: minmax(0, 1fr); } }
.uz-sk-esleme .uz-tablo select { min-width: 130px; }

/* ---- Erişim ve görünürlük (2026-11-03): ekipten gelen değer, kaynak kitlesi, önizleme ---- */
.uz-ozdeger-ekipten { display: flex; gap: 5px; align-items: baseline; margin-top: 4px; font-size: 11.5px; color: var(--uz-ink-soft); }
.uz-ozdeger-ekipten .bi { color: var(--uz-info); }
.uz-kural-liste .soluk { color: var(--uz-ink-faint); }
.uz-kural-liste li.uz-kaynak-kitle.acik { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-color: var(--uz-brand); }
.uz-kural-liste li.uz-kaynak-kitle-duzen { margin-top: -8px; border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0;
    border-color: var(--uz-brand); background: var(--uz-surface-sunk); }
.uz-kaynak-kitle-secici { width: 100%; }
.uz-onizleme-baslik { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--uz-ink-soft); margin: 4px 0 8px; }
.uz-onizleme-sonuc { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: var(--uz-radius); font-size: 13.5px; }
.uz-onizleme-sonuc.ok { background: var(--uz-ok-soft, var(--uz-info-soft)); color: var(--uz-ink); }
.uz-onizleme-sonuc.ok .bi { color: var(--uz-ok); font-size: 18px; }
.uz-kural-liste li > .uz-segment { flex: none; }
@media (max-width: 720px) { .uz-kural-liste li { flex-wrap: wrap; } }

/* ---- Kullanım kılavuzu: sayfa başlığındaki "?", yan panel ve kılavuz sayfası ---- */
/* Dokunma alanı en az 28 px (22×15 idi); negatif kenar boşluğu görünen yerini ve satır yüksekliğini değiştirmez. */
.uz-kilavuz-dugme { border: 0; background: none; padding: 7px; margin: -7px -7px -7px 1px; min-width: 28px; min-height: 28px;
    font-size: .8em; line-height: 1; color: var(--uz-ink-soft); vertical-align: middle; cursor: pointer; }
.uz-kilavuz-dugme:hover, .uz-kilavuz-dugme:focus-visible { color: var(--uz-brand); }
.uz-kilavuz-dugme:focus-visible { outline: 2px solid var(--uz-brand); outline-offset: 2px; border-radius: 4px; }
.uz-kilavuz-perde { position: fixed; inset: 0; background: rgba(15, 23, 42, .28); z-index: 1060; }
.uz-kilavuz-panel { position: fixed; top: 0; right: 0; bottom: 0; width: min(520px, 100vw); z-index: 1061; display: flex; flex-direction: column;
    background: var(--uz-surface-alt); border-left: 1px solid var(--uz-border); box-shadow: -8px 0 28px rgba(0,0,0,.14); outline: none; }
.uz-kilavuz-panel > header { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 14px 16px; border-bottom: 1px solid var(--uz-border); }
.uz-kilavuz-panel > header h2 { font-size: 1.05rem; font-weight: 700; margin: 0; display: flex; gap: 8px; align-items: center; }
.uz-kilavuz-panel > header h2 .bi { color: var(--uz-brand); }
.uz-kilavuz-panel .uz-kilavuz-icerik { flex: 1; overflow-y: auto; padding: 14px 18px; }
.uz-kilavuz-panel > footer { padding: 10px 16px; border-top: 1px solid var(--uz-border); }
.uz-kilavuz-icerik { font-size: .9rem; line-height: 1.6; color: var(--uz-ink); }
.uz-kilavuz-icerik h2 { font-size: 1rem; font-weight: 700; margin: 18px 0 8px; }
.uz-kilavuz-icerik h3 { font-size: .92rem; font-weight: 700; margin: 14px 0 6px; }
.uz-kilavuz-icerik table { width: 100%; border-collapse: collapse; font-size: .85rem; margin: 8px 0 12px; }
.uz-kilavuz-icerik th, .uz-kilavuz-icerik td { border: 1px solid var(--uz-border); padding: 5px 8px; text-align: left; vertical-align: top; }
.uz-kilavuz-icerik th { background: var(--uz-surface-sunk); }
.uz-kilavuz-icerik blockquote { margin: 10px 0; padding: 8px 12px; border-left: 3px solid var(--uz-brand); background: var(--uz-brand-soft); border-radius: 0 6px 6px 0; }
.uz-kilavuz-icerik blockquote p:last-child { margin-bottom: 0; }
.uz-kilavuz-icerik code { font-size: .85em; }
.uz-kilavuz-duzen { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; align-items: start; }
.uz-kilavuz-icindekiler { position: sticky; top: 12px; max-height: calc(100vh - 100px); overflow-y: auto; }
.uz-kilavuz-icindekiler nav { display: flex; flex-direction: column; gap: 1px; }
.uz-kilavuz-grup { font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--uz-ink-soft); margin: 10px 0 4px; }
.uz-kilavuz-icindekiler nav a { display: flex; gap: 8px; align-items: center; padding: 5px 8px; border-radius: 6px; font-size: .86rem; color: var(--uz-ink); text-decoration: none; }
.uz-kilavuz-icindekiler nav a:hover { background: var(--uz-surface-sunk); }
.uz-kilavuz-icindekiler nav a.aktif { background: var(--uz-brand-soft); color: var(--uz-brand); font-weight: 600; }
.uz-kilavuz-konu { background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: 10px; padding: 16px 20px; margin-bottom: 16px; scroll-margin-top: 12px; }
.uz-kilavuz-konu > h2 { font-size: 1.1rem; font-weight: 700; margin: 0 0 10px; display: flex; gap: 8px; align-items: center; }
.uz-kilavuz-konu > h2 .bi { color: var(--uz-brand); }
@media (max-width: 900px) { .uz-kilavuz-duzen { grid-template-columns: minmax(0, 1fr); } .uz-kilavuz-icindekiler { position: static; max-height: none; } }
@media print {
    .uzser-header, .uzser-sidebar, .uz-kilavuz-icindekiler, .uz-kilavuz-yazdirma-gizle { display: none !important; }
    .uz-kilavuz-duzen { display: block; }
    .uz-kilavuz-konu { break-inside: avoid; border: none; padding: 0 0 12px; }
}

/* ---- Sağlık grafikleri (UzCizgiGrafik; çizim ortak kütüphanede — Uzser.Visualization chart.line) ----
   ⚠️ Önek uz-cgr: ilk hâli uz-grafik idi ve PanoZamanGrafigi'nin (DxChart CssClass="uz-grafik") SVG lejant
   işaretlerini 110 px kutulara büyüttü (ana sayfa çalışma eğilimi, 2026-10-12). */
.uz-cgr { background: var(--uz-surface); border: 1px solid var(--uz-border-soft); border-radius: 10px; padding: 10px 12px 8px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.uz-cgr-baslik { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-cgr-baslik strong { color: var(--uz-ink); font-size: 15px; font-variant-numeric: tabular-nums; }
.uz-cgr-bos { font-size: 12px; color: var(--uz-ink-faint); padding: 28px 0; text-align: center; }
.uz-cgr-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.uz-bekleme-cubuk { height: 6px; border-radius: 3px; background: var(--uz-brand); }
.uz-bekleme-zemin { height: 6px; border-radius: 3px; background: var(--uz-surface-sunk); flex: 1; }

/* Firma Hesabı › Yapay zekâ: Uzser modeli seçimi — satırın tamamı tıklanır, seçili satır vurgulu. */
.musai-model { cursor: pointer; border-radius: var(--uz-radius); padding: 10px 12px; }
.musai-model.secili { background: var(--uz-brand-soft); outline: 1px solid var(--uz-brand); }
.musai-model small { display: block; }
.musai-model-kredi { color: var(--uz-ink-soft); margin-top: 2px; }

/* ------------------------------------------------------------------ Akış tasarımcısı AI sohbeti (yan panel) */
.uz-as { display: flex; flex-direction: column; height: 100%; min-width: 0; border: 1px solid var(--uz-border); border-radius: var(--uz-radius-lg, 10px);
  background: var(--uz-surface); overflow: hidden; }
.uz-as-ust { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px 8px 14px;
  border-bottom: 1px solid var(--uz-border); background: var(--uz-surface-alt); }
.uz-as-baslik { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; font-size: 14px; color: var(--uz-ink); }
.uz-as-baslik .bi { color: var(--uz-brand); }
.uz-as-ust-arac { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; justify-content: flex-end; }
.uz-as-ikon { color: var(--uz-ink-soft); padding: 2px 6px; }
.uz-as-ikon:hover { color: var(--uz-ink); }
.uz-as-onay { font-size: 12px; color: var(--uz-ink-soft); }
.uz-as-liste { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 14px 12px; display: flex; flex-direction: column; gap: 10px; }
.uz-as-bos { color: var(--uz-ink-soft); font-size: 13px; }
.uz-as-karsilama { margin: auto 0; text-align: center; display: grid; gap: 8px; justify-items: center; color: var(--uz-ink-soft); padding: 8px; }
.uz-as-karsilama .fw-semibold { color: var(--uz-ink); font-size: 15px; }
.uz-as-karsilama-ikon { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-size: 20px;
  background: var(--uz-brand-soft); color: var(--uz-brand); }
.uz-as-ornekler { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-top: 4px; }
.uz-as-ayrac { align-self: center; font-size: 11.5px; color: var(--uz-ink-faint); text-transform: uppercase; letter-spacing: .05em; }
.uz-as-mesaj { display: flex; flex-direction: column; gap: 4px; max-width: 92%; min-width: 0; }
.uz-as-mesaj.ai { align-self: flex-start; }
.uz-as-mesaj.genis { max-width: 100%; align-self: stretch; }
.uz-as-mesaj.kullanici { align-self: flex-end; align-items: flex-end; }
.uz-as-balon { padding: 8px 12px; border-radius: 12px; font-size: 13.5px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere;
  background: var(--uz-surface-alt); color: var(--uz-ink); border: 1px solid var(--uz-border); }
.uz-as-mesaj.kullanici .uz-as-balon { background: var(--uz-brand); border-color: var(--uz-brand); color: var(--uz-brand-fg, #fff); border-bottom-right-radius: 4px; }
.uz-as-mesaj.ai .uz-as-balon { border-bottom-left-radius: 4px; }
.uz-as-mesaj.hata .uz-as-balon { background: var(--uz-danger-soft); border-color: transparent; color: var(--uz-danger); }
.uz-as-balon.soluk { background: transparent; border-style: dashed; color: var(--uz-ink-soft); font-size: 12.5px; }
.uz-as-kim { font-size: 11px; color: var(--uz-ink-faint); }
.uz-as-kart { border: 1px solid var(--uz-border); border-radius: 12px; background: var(--uz-surface); padding: 10px 12px; display: grid; gap: 8px;
  min-width: 0; box-shadow: var(--uz-shadow-card, none); }
.uz-as-kart.sonuc { border-color: color-mix(in srgb, var(--uz-brand) 45%, var(--uz-border)); }
.uz-as-kart-baslik { font-weight: 600; font-size: 13px; color: var(--uz-ink); display: flex; align-items: center; }
.uz-as-kart-baslik .bi { color: var(--uz-brand); }
.uz-as-kart-metin { font-size: 13px; color: var(--uz-ink); white-space: pre-wrap; overflow-wrap: anywhere; }
.uz-as-maddeler { margin: 0; padding-left: 18px; font-size: 13px; color: var(--uz-ink); display: grid; gap: 3px; }
/* Plan F3: şirket bilgisine dayanan kararlar */
.uz-dayanak { border-left: 3px solid var(--uz-brand); background: color-mix(in srgb, var(--uz-brand) 6%, transparent); border-radius: 6px;
  padding: 6px 10px; display: grid; gap: 4px; min-width: 0; }
.uz-dayanak-bas { font-weight: 600; font-size: 12.5px; color: var(--uz-ink); display: flex; align-items: center; }
.uz-dayanak-bas .bi { color: var(--uz-brand); }
.uz-dayanak ul { margin: 0; padding-left: 18px; display: grid; gap: 3px; font-size: 12.5px; color: var(--uz-ink); }
.uz-dayanak li > span:first-child { display: block; overflow-wrap: anywhere; }
.uz-dayanak-kaynak { display: block; font-size: 11.5px; color: var(--uz-ink-soft); overflow-wrap: anywhere; }
.uz-dayanak li.celiski > span:first-child { color: var(--uz-warn); font-weight: 600; }
.uz-as-uyari { font-size: 12.5px; color: var(--uz-warn); }
.uz-as-not-satir { font-size: 12px; color: var(--uz-ink-soft); }
.uz-as-eylem { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.uz-as-not { font-size: 12px; color: var(--uz-ink-faint); }
.uz-as-soru { display: grid; gap: 6px; }
.uz-as-soru-metin { font-weight: 600; font-size: 13px; color: var(--uz-ink); }
.uz-as-secenekler { display: flex; flex-wrap: wrap; gap: 6px; }
.uz-as-ilerleme { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--uz-ink-soft);
  padding: 6px 10px; border-radius: 999px; background: var(--uz-brand-soft); }
.uz-as-ilerleme .btn { padding: 0 2px; font-size: 12px; }
.uz-as-dusunce { align-self: stretch; border: 1px dashed var(--uz-border); border-radius: 8px; padding: 6px 8px; background: var(--uz-surface); }
.uz-as-dusunce-bas { display: flex; justify-content: space-between; gap: 8px; font-size: 11.5px; color: var(--uz-ink-faint); margin-bottom: 4px; }
.uz-as-dusunce pre { margin: 0; max-height: 180px; overflow: auto; white-space: pre-wrap; word-break: break-word; font-family: inherit; font-size: 12px; color: var(--uz-ink-soft); }
.uz-as .uz-vi { margin-top: 0; }
.uz-as-alt { border-top: 1px solid var(--uz-border); padding: 10px; display: grid; gap: 8px; background: var(--uz-surface); }
.uz-as-alt textarea { resize: none; font-size: 13.5px; }
.uz-as-alt-arac { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.uz-as-secim { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--uz-ink-soft); cursor: pointer; margin: 0; }
.uz-as-secim .form-check-input { margin: 0; }
@media (prefers-reduced-motion: no-preference) {
  .uz-as-mesaj, .uz-as-ilerleme { animation: uz-as-gir .18s ease-out; }
}
@keyframes uz-as-gir { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* ---- Müşteri tanımı kartı: akordeon başlığı (varsayılan kapalı) ---- */
.uz-isl-ac { display: flex; align-items: flex-start; gap: 8px; background: none; border: 0; padding: 0; margin: 0;
    text-align: left; color: inherit; cursor: pointer; flex: 1 1 260px; min-width: 0; }
.uz-isl-ac:focus-visible { outline: 2px solid var(--uz-brand); outline-offset: 2px; border-radius: 6px; }
.uz-isl-ok { margin-top: 3px; color: var(--uz-ink-faint); transition: transform .15s ease; }
.uz-isl-ac .uz-isl-aciklama { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

/* Üst çubuk Destek bağlantısı: genişte simge + ad, dar ekranda yalnız simge. */
.uzser-destek-link { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; color: inherit; }
.uzser-destek-link:hover { color: inherit; }
.uzser-destek-link span { font-size: 13px; font-weight: 500; }
.uzser-shell.compact .uzser-destek-link span { display: none; }

/* İki adımlı doğrulama kartı (profil). */
.uz-mfa-adimlar { padding-left: 1.2rem; margin-bottom: .75rem; }
.uz-mfa-kurulum { display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: flex-start; }
.uz-mfa-kurulum img { border: 1px solid var(--bs-border-color); border-radius: 8px; background: #fff; padding: 6px; image-rendering: pixelated; }
.uz-mfa-anahtar { display: inline-block; font-size: .95rem; letter-spacing: .06em; padding: .25rem .5rem; border-radius: 6px; background: var(--bs-tertiary-bg); word-break: break-all; }
.uz-mfa-kodlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: .4rem; }
.uz-mfa-kodlar code { padding: .35rem .5rem; border-radius: 6px; background: var(--bs-tertiary-bg); text-align: center; letter-spacing: .05em; font-variant-numeric: tabular-nums; }

/* ---- AI ile pano düzenleme (plan 9): sağdan açılan panel ---- */
.uz-pano-ai { position: fixed; top: 64px; right: 16px; bottom: 16px; width: min(440px, calc(100vw - 32px)); z-index: 1040;
  overflow-y: auto; padding: 16px; border-radius: 14px; background: var(--uz-surface, #fff); border: 1px solid var(--uz-border-soft);
  box-shadow: 0 12px 32px rgba(0,0,0,.18); display: flex; flex-direction: column; gap: 8px; }
.uz-pano-ai-bas { display: flex; justify-content: space-between; align-items: center; }
.uz-pano-ai-bas h5 { margin: 0; font-size: 1rem; }
.uz-pano-ai-odak { font-size: .85rem; padding: 6px 10px; border-radius: 8px; background: var(--uz-accent-soft, rgba(0,0,0,.04)); }
.uz-pano-ai-liste { list-style: none; padding: 0; margin: 8px 0; display: flex; flex-direction: column; gap: 6px; }
.uz-pano-ai-satir label { display: flex; gap: 8px; align-items: flex-start; margin: 0; cursor: pointer; padding: 8px; border-radius: 10px;
  border: 1px solid var(--uz-border-soft); }
.uz-pano-ai-satir.yeni label { border-left: 3px solid var(--bs-success, #198754); }
.uz-pano-ai-satir.degisti label { border-left: 3px solid var(--bs-warning, #ffc107); }
.uz-pano-ai-satir.cikacak label { border-left: 3px solid var(--bs-danger, #dc3545); }
.uz-pano-ai-isaret { font-weight: 700; width: 12px; text-align: center; }
.uz-pano-ai-govde { min-width: 0; overflow-wrap: anywhere; }
.uz-pano-ai-rev { border-top: 1px solid var(--uz-border-soft); padding-top: 8px; margin-top: 4px; display: flex; flex-direction: column; gap: 4px; }


/* Kayıttan süzme: tablo/pivot/ısı haritası hücresi panoyu süzer (grafik noktası gibi). */
.uz-suzulebilir { cursor: pointer; }
span.uz-suzulebilir { text-decoration: underline dotted; text-decoration-color: var(--uz-text-muted, #8a94a6); text-underline-offset: 3px; }
.uz-suzulebilir:hover, .uz-suzulebilir:focus-visible { text-decoration: underline dotted; text-underline-offset: 3px; outline: none; }
td.uz-suzulebilir:hover, th.uz-suzulebilir:hover { box-shadow: inset 0 0 0 2px var(--uz-brand, #6d5dfc); }

/* Katalog kopyası rozeti (plan 9): "Kopya · s3" + "Yeni sürüm var". */
.uz-kat-rozet { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-left: 6px; vertical-align: middle; }
.uz-kat-rozet .small { max-width: 60ch; }

/* Veri tanımı: AI ile sorgu düzenleme (plan 9) — düzenleme penceresinde, sorgunun altında. */
.uz-tanim-ai { border: 1px solid var(--uz-border-soft); border-radius: 10px; padding: 10px 12px; }
.uz-tanim-ai-kiyas { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.uz-tanim-ai-kiyas > div { min-width: 0; }
.uz-tanim-ai-olcu { font-variant-numeric: tabular-nums; font-size: .85rem; font-weight: 600; }
.uz-tanim-ai-sql { max-height: 180px; overflow: auto; font-size: .78rem; white-space: pre-wrap; word-break: break-word;
  background: var(--uz-surface-sunk)); border-radius: 6px; padding: 6px 8px; margin: 4px 0 0; }
.uz-tanim-ai-rev { border-top: 1px solid var(--uz-border-soft); padding-top: 8px; display: flex; flex-direction: column; gap: 4px; }

/* KVKK aydınlatma kapısı: yayındaki metin okunana kadar ekranın önünde (kapatma yok, "Okudum" kaydedilir). */
.uz-aydinlatma-ort { position: fixed; inset: 0; z-index: 2000; background: rgba(0,0,0,.45); display: flex;
  align-items: center; justify-content: center; padding: 16px; }
.uz-aydinlatma { background: var(--uz-surface, #fff); border-radius: 14px; box-shadow: 0 16px 40px rgba(0,0,0,.25);
  width: min(760px, 100%); max-height: calc(100vh - 32px); display: flex; flex-direction: column; padding: 20px; }
.uz-aydinlatma h4 { margin: 0 0 4px; text-wrap: balance; }
.uz-aydinlatma-metin { overflow-y: auto; flex: 1 1 auto; min-height: 120px; max-width: 75ch; }
.uz-aydinlatma-metin table { font-size: .9rem; }

/* ---- Destek isteği (/destek) ----
   ⚠️ Sayfanın sınıflarının hiç stili yoktu: form alanları boşluksuz üst üste biniyor, yardım metni sonraki alanın
   etiketine yapışıyor, iki sütunlu satır bölünmüyordu (2026-10-16 görsel denetim). */
.uz-destek { max-width: 760px; display: flex; flex-direction: column; gap: 16px; }
.uz-destek-bas h3 { margin: 0 0 4px; }
.uz-destek-bas p { margin: 0; color: var(--uz-ink-soft); font-size: 13.5px; }
.uz-destek-form { display: flex; flex-direction: column; gap: 16px; padding: 18px 20px;
    background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); }
.uz-destek-alan { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.uz-destek-alan > label { margin: 0; font-size: 13px; font-weight: 600; color: var(--uz-ink); }
.uz-destek-ops { font-size: 12px; font-weight: 400; color: var(--uz-ink-faint); }
.uz-destek-satir { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.uz-destek-arac { display: flex; gap: 8px; align-items: center; }
.uz-destek-not { margin: 0; font-size: 12px; color: var(--uz-ink-faint); }
.uz-destek-tamam { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 32px 20px;
    background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); }
.uz-destek-tamam > i { font-size: 34px; color: var(--uz-ok); }
.uz-destek-tamam p { margin: 0; max-width: 460px; color: var(--uz-ink-soft); font-size: 13.5px; }
.uz-destek-kod { font-size: 22px; font-weight: 700; letter-spacing: .5px; font-variant-numeric: tabular-nums; color: var(--uz-ink); }
@media (max-width: 576px) {
    .uz-destek-form { padding: 14px; }
    .uz-destek-satir { grid-template-columns: minmax(0, 1fr); }
    .uz-destek-arac .dxbl-btn { flex: 1 1 auto; }
}

/* Uzak destek şeridi (İP-4): ekranlar müşterinin yerinde kurulumunu gösteriyor. Göze batmalı ama içeriği örtmemeli. */
.uz-uzak-serit {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
    padding: .5rem .9rem;
    margin: 0 0 .8rem 0;
    border-radius: var(--uz-radius-sm);
    background: var(--uz-info-soft);
    color: var(--uz-info);
    border: 1px solid var(--uz-info);
    font-size: .9rem;
    font-weight: 600;
}
.uz-uzak-serit > i { font-size: 1.1rem; }

/* Şirket Belleği › Kaynaklar arası bağlantılar (10-27, Faz 1) */
.uz-kbag-bas { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.uz-kbag-bas p { max-width: 72ch; }
.uz-kbag-kaynak { font-weight: 600; color: var(--uz-ink); }
.uz-kbag-tablo code { font-size: 12.5px; }
.uz-kbag-oran { width: 90px; height: 6px; border-radius: 3px; background: var(--uz-brand-soft); overflow: hidden; margin-bottom: 3px; }
.uz-kbag-oran span { display: block; height: 100%; background: var(--uz-brand); }
.uz-kbag-tablo tr.uz-kbag-red td { opacity: .55; }
@media (max-width: 640px) { .uz-kbag-bas { flex-direction: column; } }

/* Veri tanımı › çok kaynak (10-27, Faz 2) */
.uz-cok-kaynak { border: 1px dashed var(--uz-border); border-radius: var(--uz-radius); padding: 12px 14px; }
.uz-yardimci-liste { display: flex; flex-direction: column; gap: 8px; }
.uz-yardimci { border: 1px solid var(--uz-border); border-radius: var(--uz-radius); padding: 8px 10px; background: var(--uz-surface-alt); }
.uz-yardimci code { font-size: 12.5px; }

/* ==================================================================================================================
   Çalışma alanı (11-04): veri tanımı düzenleme/oluşturma ve pano oluşturma sayfaları. Üstte başlık çubuğu (yol, ad,
   durum, eylemler), altta ana alan + sağda AI sohbeti (TasarimSohbetPaneli). Sayfa yüksekliği ekrana oturur; ana alan
   ve sohbet kendi içinde kayar. ⚠️ Eskiden veri tanımı düzenleme 760-1000 px bir diyalogdu: her şey alt alta, SQL üç satır.
   ================================================================================================================== */
.uz-calisma { display: flex; flex-direction: column; height: calc(100vh - 86px); min-height: 560px; margin-bottom: -40px; }
.uz-calisma-ust { display: flex; align-items: center; gap: 12px 16px; flex-wrap: wrap; padding-bottom: 12px;
  border-bottom: 1px solid var(--uz-border); flex: none; }
.uz-calisma-kimlik { display: grid; gap: 2px; min-width: 0; flex: 1 1 320px; }
.uz-calisma-yol { font-size: 12.5px; color: var(--uz-ink-soft); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.uz-calisma-yol a { color: var(--uz-ink-soft); text-decoration: none; }
.uz-calisma-yol a:hover { color: var(--uz-brand); }
.uz-calisma-baslik { display: flex; align-items: center; gap: 10px; min-width: 0; flex-wrap: wrap; }
.uz-calisma-baslik h1 { font-size: 20px; font-weight: 650; letter-spacing: -.3px; margin: 0; color: var(--uz-ink);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.uz-calisma-rozet { font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--uz-border);
  color: var(--uz-ink-soft); background: var(--uz-surface-alt); white-space: nowrap; }
.uz-calisma-rozet.iyi { color: var(--uz-success, #16a34a); border-color: color-mix(in srgb, var(--uz-success, #16a34a) 40%, transparent); }
.uz-calisma-rozet.uyari { color: var(--uz-warn); border-color: color-mix(in srgb, var(--uz-warn) 40%, transparent); }
.uz-calisma-rozet.marka { color: var(--uz-brand); border-color: color-mix(in srgb, var(--uz-brand) 40%, transparent); background: var(--uz-brand-soft); }
.uz-calisma-eylem { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.uz-calisma-eylem .btn, .uz-calisma-eylem .dxbl-btn { white-space: nowrap; }
.uz-calisma-degisti { font-size: 12.5px; color: var(--uz-warn); display: inline-flex; align-items: center; gap: 5px; }

.uz-calisma-govde { flex: 1 1 auto; min-height: 0; display: flex; gap: 16px; padding-top: 14px; }
.uz-calisma-ana { flex: 1 1 auto; min-width: 0; overflow-y: auto; padding: 0 4px 24px 0; display: flex; flex-direction: column; gap: 16px; }
.uz-calisma-yan { flex: 0 0 clamp(340px, 30%, 440px); min-width: 0; display: flex; padding-bottom: 16px; }
.uz-calisma-yan > .uz-as { flex: 1 1 auto; }
.uz-calisma-yan-ac { display: none; }
@media (max-width: 1199.98px) {
  /* Dar ekranda sohbet sağdan açılan çekmece: ana alan tam genişlik. */
  .uz-calisma-yan { position: fixed; z-index: 1040; top: 64px; right: 12px; bottom: 12px; width: min(440px, calc(100vw - 24px));
    padding: 0; box-shadow: var(--uz-shadow-lg, 0 12px 32px rgba(0,0,0,.25)); border-radius: var(--uz-radius-lg, 10px);
    transform: translateX(calc(100% + 24px)); transition: transform .2s ease; }
  .uz-calisma-yan.acik { transform: none; }
  .uz-calisma-yan-ac { display: inline-flex; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  /* ⚠️ Yerel deneme 11-04: açık çekmece başlık çubuğunun eylemlerini (Kaydet, Vazgeç) örtüyordu; pano kaydedilemiyordu.
     Çekmece açıkken başlık içeriği çekmecenin soluna sığar (gerekirse iki satıra iner). */
  .uz-calisma:has(.uz-calisma-yan.acik) .uz-calisma-ust { padding-right: calc(min(440px, 100vw - 24px) + 12px); }
}
@media (max-width: 767.98px) {
  .uz-calisma { height: auto; margin-bottom: 0; }
  .uz-calisma-ana { overflow: visible; }
}

/* Bölüm kartı: başlık + açıklama + gövde; alanlar iki sütunlu ızgarada. */
.uz-bolum { border: 1px solid var(--uz-border); border-radius: var(--uz-radius); background: var(--uz-surface); box-shadow: var(--uz-shadow-sm); }
.uz-bolum-bas { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px 18px 10px; flex-wrap: wrap; }
.uz-bolum-bas h2 { font-size: 15px; font-weight: 650; margin: 0; color: var(--uz-ink); display: flex; align-items: center; gap: 8px; }
.uz-bolum-bas h2 .bi { color: var(--uz-brand); }
.uz-bolum-bas p { margin: 2px 0 0; font-size: 12.5px; color: var(--uz-ink-soft); }
.uz-bolum-arac { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.uz-bolum-govde { padding: 4px 18px 18px; }
.uz-bolum-govde.sifir { padding: 0; }
.uz-alanlar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; }
.uz-alanlar.uc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.uz-alanlar > .genis { grid-column: 1 / -1; }
@media (max-width: 991.98px) { .uz-alanlar, .uz-alanlar.uc { grid-template-columns: minmax(0, 1fr); } }
.uz-alan { display: grid; gap: 5px; min-width: 0; }
.uz-alan > label, .uz-alan-etiket { font-size: 12.5px; font-weight: 600; color: var(--uz-ink); margin: 0; }
.uz-alan-ipucu { font-size: 12px; color: var(--uz-ink-faint); }

/* Sekmeler: bölümler arasında geçiş (ana alanın üstünde, kayarken yerinde kalır). */
.uz-sekmeler { display: flex; gap: 2px; border-bottom: 1px solid var(--uz-border); position: sticky; top: 0; z-index: 2;
  background: var(--uz-bg, var(--uz-surface-alt)); overflow-x: auto; scrollbar-width: none; flex: none; }
.uz-sekme { border: 0; background: none; color: var(--uz-ink-soft); font: inherit; font-size: 13.5px; font-weight: 600; padding: 10px 14px;
  border-bottom: 2px solid transparent; white-space: nowrap; display: inline-flex; align-items: center; gap: 7px; cursor: pointer; }
.uz-sekme:hover { color: var(--uz-ink); }
.uz-sekme.secili { color: var(--uz-brand); border-bottom-color: var(--uz-brand); }
.uz-sekme-sayi { font-size: 11px; font-weight: 700; padding: 0 6px; border-radius: 999px; background: var(--uz-surface-alt); color: var(--uz-ink-soft); }
.uz-sekme.secili .uz-sekme-sayi { background: var(--uz-brand-soft); color: var(--uz-brand); }

/* SQL düzenleyici: tek renkli, satır yüksekliği sabit, yüksekliği içerikle büyür (en çok 60vh). */
.uz-sql { font-family: var(--uz-mono, ui-monospace, SFMono-Regular, Consolas, monospace); font-size: 13px; line-height: 1.55; tab-size: 4;
  width: 100%; min-height: 260px; max-height: 60vh; resize: vertical; padding: 12px 14px; border: 1px solid var(--uz-border);
  border-radius: var(--uz-radius); background: var(--uz-surface-alt); color: var(--uz-ink); white-space: pre; overflow: auto; }
.uz-sql:focus { outline: none; border-color: var(--uz-brand); box-shadow: 0 0 0 3px var(--uz-brand-soft); }
.uz-sql-alt { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 12px; color: var(--uz-ink-faint); margin-top: 6px; }

/* Sohbet kartındaki öneri önizlemesi (SQL farkı, bileşen listesi). */
.uz-ts-onizleme { display: grid; gap: 8px; min-width: 0; }
.uz-ts-onizleme pre { margin: 0; max-height: 240px; overflow: auto; font-size: 12px; padding: 8px 10px; border-radius: 8px;
  background: var(--uz-surface-alt); border: 1px solid var(--uz-border); white-space: pre-wrap; overflow-wrap: anywhere; }
.uz-ts-satir { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--uz-ink-soft); flex-wrap: wrap; }

/* ==================================================================================================================
   Katalog klasörleri (11-04): solda ağaç (Uzser / firmalar / kişisel), sağda seçili klasörün kayıtları.
   ================================================================================================================== */
.uz-kkl { display: grid; grid-template-columns: minmax(240px, 300px) 1fr; gap: 16px; align-items: start; }
.uz-kkl-agac { border: 1px solid var(--uz-border); border-radius: var(--uz-radius); background: var(--uz-surface); padding: 10px;
  position: sticky; top: 8px; max-height: calc(100vh - 120px); overflow-y: auto; }
.uz-kkl-baslik { font-size: 11.5px; font-weight: 650; text-transform: uppercase; letter-spacing: .4px; color: var(--uz-ink-soft); padding: 2px 6px 6px; }
.uz-kkl-alt-baslik { font-size: 12.5px; color: var(--uz-ink-soft); padding: 6px 6px 2px; }
.uz-kkl-kok { display: flex; align-items: center; gap: 2px; min-width: 0; }
.uz-kkl-ok { width: 20px; flex: none; border: 0; background: none; color: var(--uz-ink-soft); padding: 0; font-size: 11px; }
.uz-kkl-dugum { display: flex; align-items: center; gap: 7px; flex: 1 1 auto; min-width: 0; border: 0; background: none; text-align: left;
  padding: 5px 8px; border-radius: 6px; color: var(--uz-ink); font-size: 13.5px; }
.uz-kkl-dugum span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uz-kkl-dugum:hover { background: var(--uz-surface-alt); }
.uz-kkl-dugum.secili { background: var(--uz-brand-soft); color: var(--uz-brand); font-weight: 600; }
.uz-kkl-dugum.kok { font-weight: 600; }
.uz-kkl-dugum i { flex: none; }
.uz-kkl-kod { margin-left: 4px; color: var(--uz-ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 40%; flex: 0 1 auto; }
.uz-kkl-sayi { margin-left: auto; font-size: 11px; color: var(--uz-ink-soft); background: var(--uz-surface-alt); border-radius: 999px; padding: 0 7px; }
.uz-kkl-icerik { min-width: 0; border: 1px solid var(--uz-border); border-radius: var(--uz-radius); background: var(--uz-surface); padding: 14px 16px; }
.uz-kkl-ust { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.uz-kkl-yol { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 15px; }
.uz-kkl-bos { display: grid; justify-items: center; gap: 8px; text-align: center; color: var(--uz-ink-soft); padding: 48px 16px; }
.uz-kkl-bos i { font-size: 32px; opacity: .6; }
.uz-kkl-secim { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 10px; margin-bottom: 8px; border-radius: 8px;
  background: var(--uz-brand-soft); border: 1px solid color-mix(in srgb, var(--uz-brand) 30%, transparent); }
.uz-kkl-hedefler { display: grid; gap: 2px; max-height: 50vh; overflow-y: auto; }
.uz-kkl-tablo td, .uz-kkl-tablo th { vertical-align: middle; }
@media (max-width: 900px) {
  .uz-kkl { grid-template-columns: 1fr; }
  .uz-kkl-agac { position: static; max-height: 40vh; }
}

/* ---- Yönetim › Şirket belleği taraması (11-04) ------------------------------------------------------------------ */
.uz-ptm-ust { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.uz-ptm-ust p { flex: 1 1 auto; }
.uz-ptm-canli { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--uz-ok); white-space: nowrap;
  background: var(--uz-ok-soft); border-radius: 999px; padding: 2px 10px; }
.uz-ptm-nabiz { width: 7px; height: 7px; border-radius: 50%; background: var(--uz-ok); animation: uz-ptm-nabiz 2s ease-in-out infinite; }
@keyframes uz-ptm-nabiz { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
@media (prefers-reduced-motion: reduce) { .uz-ptm-nabiz { animation: none; } }
.uz-ptm-kpiler { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
@media (max-width: 1200px) { .uz-ptm-kpiler { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.uz-ptm-kpi { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center; text-align: left;
  border: 1px solid var(--uz-border); border-radius: var(--uz-radius); background: var(--uz-surface); padding: 10px 12px; color: var(--uz-ink);
  transition: border-color .15s, box-shadow .15s; }
.uz-ptm-kpi:hover { border-color: color-mix(in srgb, var(--uz-brand) 45%, var(--uz-border)); }
.uz-ptm-kpi.secili { border-color: var(--uz-brand); box-shadow: 0 0 0 2px var(--uz-brand-soft); }
.uz-ptm-kpi-ikon { grid-row: span 2; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; font-size: 17px; }
.uz-ptm-kpi-ikon.mavi { background: var(--uz-info-soft); color: var(--uz-info); }
.uz-ptm-kpi-ikon.sari, .uz-ptm-kpi-ikon.turuncu { background: var(--uz-warn-soft); color: var(--uz-warn); }
.uz-ptm-kpi-ikon.yesil { background: var(--uz-ok-soft); color: var(--uz-ok); }
.uz-ptm-kpi-ikon.kirmizi { background: var(--uz-danger-soft); color: var(--uz-danger); }
.uz-ptm-kpi-ikon.gri { background: var(--uz-neutral-soft); color: var(--uz-neutral); }
.uz-ptm-kpi-ikon.mor { background: var(--uz-brand-soft); color: var(--uz-brand); }
.uz-ptm-kpi-deger { font-size: 22px; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.uz-ptm-kpi-deger small { font-size: 13px; font-weight: 500; color: var(--uz-ink-soft); }
.uz-ptm-kpi-ad { font-size: 12px; color: var(--uz-ink-soft); line-height: 1.25; }
.uz-ptm-sekmeler { display: flex; gap: 2px; flex-wrap: wrap; border-bottom: 1px solid var(--uz-border); }
.uz-ptm-sekme { border: 0; background: none; padding: 8px 12px; font-size: 13.5px; color: var(--uz-ink-soft); border-bottom: 2px solid transparent;
  margin-bottom: -1px; display: inline-flex; align-items: center; gap: 6px; }
.uz-ptm-sekme:hover { color: var(--uz-ink); }
.uz-ptm-sekme.secili { color: var(--uz-brand); border-bottom-color: var(--uz-brand); font-weight: 600; }
.uz-ptm-sayi { font-size: 11px; font-weight: 600; background: var(--uz-surface-alt); color: var(--uz-ink-soft); border-radius: 999px; padding: 0 7px; }
.uz-ptm-panel { border: 1px solid var(--uz-border); border-top: 0; border-radius: 0 0 var(--uz-radius) var(--uz-radius); background: var(--uz-surface);
  padding: 14px 16px; }
.uz-ptm-arac { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.uz-ptm-ara { max-width: 320px; }
.uz-ptm-alt-baslik { font-size: 12px; font-weight: 650; text-transform: uppercase; letter-spacing: .4px; color: var(--uz-ink-soft);
  display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.uz-ptm-bos { display: grid; justify-items: center; gap: 6px; text-align: center; color: var(--uz-ink-soft); padding: 36px 16px; }
.uz-ptm-bos i { font-size: 28px; opacity: .55; }
.uz-ptm-bos.kucuk { padding: 14px; grid-auto-flow: column; justify-content: start; font-size: 13px; }
.uz-ptm-bos.kucuk i { font-size: 18px; }
.uz-ptm-isler { display: grid; gap: 10px; }
.uz-ptm-is { border: 1px solid var(--uz-border); border-radius: var(--uz-radius); padding: 10px 12px; background: var(--uz-surface-alt); }
.uz-ptm-is-bas { display: flex; justify-content: space-between; gap: 12px; }
.uz-ptm-is-bas .min-w-0 { min-width: 0; }
.uz-ptm-asamalar { display: flex; gap: 4px; margin: 8px 0 6px; flex-wrap: wrap; }
.uz-ptm-asamalar span { font-size: 11px; padding: 1px 8px; border-radius: 999px; background: var(--uz-neutral-soft); color: var(--uz-ink-soft); }
.uz-ptm-asamalar span.bitti { background: var(--uz-ok-soft); color: var(--uz-ok); }
.uz-ptm-asamalar span.simdi { background: var(--uz-brand-soft); color: var(--uz-brand); font-weight: 600; }
.uz-ptm-ilerleme { height: 6px; }
.uz-ptm-cubuk { display: flex; height: 6px; border-radius: 999px; background: var(--uz-neutral-soft); overflow: hidden; margin: 4px 0; max-width: 260px; }
.uz-ptm-cubuk .ok { background: var(--uz-ok); }
.uz-ptm-cubuk .hata { background: var(--uz-danger); }
.uz-ptm-rozetler { display: flex; gap: 4px; flex-wrap: wrap; }
.uz-ptm-rozetler .badge { font-weight: 500; }
.uz-ptm-tablo th { font-size: 11.5px; font-weight: 600; color: var(--uz-ink-soft); text-transform: uppercase; letter-spacing: .3px; }
.uz-ptm-ayar { border: 1px solid var(--uz-border); border-radius: var(--uz-radius); padding: 12px 14px; margin-bottom: 12px; }
.uz-ptm-liste li { margin-bottom: 4px; }
@media (max-width: 600px) {
  .uz-ptm-kpiler { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .uz-ptm-panel { padding: 12px; }
  .uz-ptm-is-bas { flex-direction: column; }
  .uz-ptm-is-bas .text-end { text-align: left !important; }
}
/* Şirket Belleği › Kapsam (11-04) */
.uz-mb-kapsam { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; margin-bottom: 10px; }
.uz-mb-kapsam > div { border: 1px solid var(--uz-border); border-radius: var(--uz-radius); background: var(--uz-surface); padding: 8px 12px;
  display: grid; gap: 2px; }
.uz-mb-kapsam span { font-size: 12px; color: var(--uz-ink-soft); }
.uz-mb-kapsam strong { font-size: 19px; font-variant-numeric: tabular-nums; }
.uz-mb-kapsam .iyi strong { color: var(--uz-ok); }
.uz-mb-kapsam .uyari { border-color: color-mix(in srgb, var(--uz-warn) 45%, var(--uz-border)); background: var(--uz-warn-soft); }
.uz-mb-kapsam .uyari strong { color: var(--uz-warn); }

/* Müşteri detayı kimlik bandı (11-05): ad, kod, durum rozetleri ve hızlı bağlantılar tek satırda. */
.uz-musteri-bant { border-color: var(--uz-border); }
.uz-musteri-simge {
    width: 52px; height: 52px; flex: 0 0 52px;
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 1.15rem; letter-spacing: .02em;
    background: var(--uz-brand-soft); color: var(--uz-brand);
}

/* ---- Sıralama kurucusu (rapor, rapor kullanımı, pano bileşeni) ---- */
.uz-sirala { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.uz-sirala-satir { display: flex; gap: 8px; align-items: center; width: 100%; max-width: 640px; flex-wrap: wrap; }
.uz-sirala-no { font-size: 12px; font-weight: 600; color: var(--uz-ink-faint); min-width: 44px; }
.uz-sirala-alan { flex: 1 1 220px; min-width: 0; }
.uz-sirala-yon { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.uz-sirala.kompakt .uz-sirala-no { display: none; }
.uz-sirala.kompakt .uz-sirala-satir { max-width: 520px; }
.uz-soru-sirala { max-width: 560px; }

/* ---- Pano bileşeni: başka veri tanımlarından ek seriler ---- */
.uz-ekseri { display: flex; flex-direction: column; gap: 10px; border: 1px dashed var(--uz-line, #d8dde6); border-radius: 10px; padding: 10px 12px; }
.uz-ekseri-bas { display: flex; flex-direction: column; gap: 2px; }
.uz-ekseri-ana { display: flex; flex-direction: column; gap: 4px; max-width: 320px; }
.uz-ekseri-satir { border-top: 1px solid var(--uz-line, #e5e8ee); padding-top: 10px; }
.uz-ekseri-izgara { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(180px, 1.4fr) minmax(150px, 1.2fr) minmax(110px, .8fr) minmax(150px, 1.2fr) auto; gap: 8px; align-items: end; }
.uz-ekseri-izgara > label { display: flex; flex-direction: column; gap: 4px; min-width: 0; font-size: 12px; color: var(--uz-ink-soft); }
.uz-ekseri-arac { display: flex; gap: 2px; align-items: center; padding-bottom: 2px; }
@media (max-width: 900px) { .uz-ekseri-izgara { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.uz-tanim-oner { border: 1px solid var(--uz-brand-soft, #e7eefc); background: var(--uz-surface-sunk); border-radius: 10px; padding: 10px 12px; }

/* 📐 Motor formları (Uzser.Bpm 0.38.0, uzser-bpm-forms.css): çizici ve form tasarımcısı renklerini Portal adlı değişkenlerden (--uz-yuzey,
   --uz-metin …) okur; bizim temamız İngilizce adlı (--uz-surface, --uz-ink …). Köprü olmadan koyu temada form beyaz zeminde kalıyordu. */
.uz-form,
.uz-fd {
    --uz-metin: var(--uz-ink);
    --uz-soluk: var(--uz-ink-soft);
    --uz-yuzey: var(--uz-surface);
    --uz-yuzey-ikincil: var(--uz-surface-sunk);
    --uz-kenar: var(--uz-border);
    --uz-kenar-guclu: var(--uz-ink-faint);
    --uz-vurgu: var(--uz-brand);
    --uz-vurgu-metin: var(--uz-brand);
    --uz-vurgu-zemin: var(--uz-brand-soft);
    --uz-hata: var(--uz-danger);
    --uz-uyari: var(--uz-warn);
    --uz-basari: var(--uz-ok);
    --uz-bilgi: var(--uz-info);
    --uz-odak: rgba(var(--uz-brand-rgb), .35);
    /* 11-11 (motor 0.43.0 denetimi): form tasarımcısının tuvali/paneli bunları da okur; eşlenmeyince koyuda açık renkte kalıyordu. */
    --uz-yuzey-2: var(--uz-surface-alt);
    --uz-zemin: var(--uz-surface-sunk);
    --uz-uzeri: var(--uz-brand-fg);
    --uz-vurgu-hayalet: var(--uz-brand-soft);
}

/* ===================================================================================================================
   🗂️ Sağa yapışık panel (UzYanPanel, 11-10): pano bileşeni ekleme/düzenleme. ⚠️ z-index DevExpress açılır listelerinin ve
   iç pencerelerinin (≥ 1050) ALTINDA: panelin içindeki seçici ve "Veri kaynağı seç" penceresi panelin üstünde açılmalı.
   =================================================================================================================== */
.uz-yan-perde { position: fixed; inset: 0; background: rgba(15, 23, 42, .32); z-index: 1040; }
.uz-yan-panel { position: fixed; top: 0; right: 0; bottom: 0; width: min(var(--uz-yan-genislik, 760px), 100vw); z-index: 1041;
    display: flex; flex-direction: column; background: var(--uz-surface-alt); color: var(--uz-ink);
    border-left: 1px solid var(--uz-border); box-shadow: -10px 0 32px rgba(0,0,0,.18); animation: uz-yan-gir .16s ease-out; }
@keyframes uz-yan-gir { from { transform: translateX(24px); opacity: .6; } to { transform: none; opacity: 1; } }
.uz-yan-ust { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--uz-border); }
.uz-yan-ust h2 { font-size: 1.05rem; font-weight: 700; margin: 0; flex: 1; display: flex; align-items: center; min-width: 0; }
.uz-yan-ust h2 .bi { color: var(--uz-brand); }
.uz-yan-govde { flex: 1; overflow-y: auto; overflow-x: hidden; padding: 14px 18px 18px; }
.uz-yan-alt { display: flex; justify-content: flex-end; align-items: center; gap: 8px; padding: 10px 16px;
    border-top: 1px solid var(--uz-border); background: var(--uz-surface-alt); }
.uz-yan-alt .uz-yan-alt-sol { margin-right: auto; }
@media (max-width: 640px) { .uz-yan-govde { padding: 12px; } }

/* Bölüm başlıkları ve 12 sütunlu form ızgarası: ilişkili alanlar yan yana, etiketler aynı hizada, eşit yükseklik. */
.uz-yan-bolum { margin-bottom: 18px; }
.uz-yan-bolum > h3 { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--uz-ink-soft);
    margin: 0 0 8px; display: flex; align-items: center; gap: 6px; }
.uz-form-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; align-items: start; }
.uz-form-izgara > .uz-alan-tam { grid-column: 1 / -1; }
.uz-form-izgara .form-label { font-size: .8rem; font-weight: 600; color: var(--uz-ink-soft); margin-bottom: 4px; }
.uz-alan-onay { align-self: end; padding-bottom: 4px; }
@media (max-width: 640px) { .uz-form-izgara { grid-template-columns: minmax(0, 1fr); } }
/* DevExpress form düzeni panelde: md kırılımı pencereye göre olduğu için dar panelde 3 sütuna düşmesin (alanlar 2 sütun). */
/* Form satırı (.dxbl-row) iki yana -12px taşar (oluk payı) ve kabından geniş kalır: klavyeyle/kaydırmayla bir alana gidilince form
   12px yana kayıyor, etiketlerin ilk harfi kesiliyordu ("aynak türü"). Kap aynı payla genişletilir: taşma kalmaz, hizalama değişmez. */
.uz-yan-panel .widget-form { margin-left: -12px; margin-right: -12px; padding-left: 12px; padding-right: 12px; }
.uz-yan-panel .widget-form .dxbl-fl-gd { row-gap: 12px; column-gap: 14px; }
.uz-yan-panel .widget-form .dxbl-fl-cpt { font-size: .8rem; font-weight: 600; color: var(--uz-ink-soft); }

/* Sekmeler (Veri / Görünüm) */
.uz-yan-sekmeler { display: flex; gap: 4px; border-bottom: 1px solid var(--uz-border); margin: 4px 0 14px; }
.uz-yan-sekme { border: 0; background: none; padding: 8px 12px; font-size: .88rem; font-weight: 600; color: var(--uz-ink-soft);
    border-bottom: 2px solid transparent; margin-bottom: -1px; }
.uz-yan-sekme.secili { color: var(--uz-brand); border-bottom-color: var(--uz-brand); }
.uz-yan-sekme:hover { color: var(--uz-ink); }

/* 🧭 Tür kart seçici (BilesenTuruSecici) */
.uz-tur-secici { display: flex; flex-direction: column; gap: 10px; }
.uz-tur-gruplar { display: flex; flex-wrap: wrap; gap: 6px; }
.uz-tur-grup { position: relative; border: 1px solid var(--uz-border); background: var(--uz-surface); color: var(--uz-ink-soft);
    border-radius: 999px; padding: 4px 11px; font-size: .8rem; font-weight: 600; display: inline-flex; align-items: center; gap: 5px; }
.uz-tur-grup:hover { color: var(--uz-ink); border-color: var(--uz-brand); }
.uz-tur-grup.secili { background: var(--uz-brand); border-color: var(--uz-brand); color: var(--uz-brand-fg); }
.uz-tur-grup-nokta { width: 6px; height: 6px; border-radius: 50%; background: var(--uz-ok); }
.uz-tur-grup.secili .uz-tur-grup-nokta { background: var(--uz-brand-fg); }
.uz-tur-kartlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.uz-tur-kart { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 8px; text-align: left;
    border: 1px solid var(--uz-border); border-radius: 10px; background: var(--uz-surface); color: var(--uz-ink);
    transition: border-color .12s, box-shadow .12s; }
.uz-tur-kart:hover { border-color: var(--uz-brand); box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.uz-tur-kart.secili { border-color: var(--uz-brand); box-shadow: 0 0 0 2px rgba(var(--uz-brand-rgb), .35); }
.uz-tur-onizleme { height: 84px; display: flex; align-items: center; justify-content: center; overflow: hidden; pointer-events: none;
    border-radius: 6px; background: var(--uz-surface-sunk); }
.uz-tur-onizleme > .bi { font-size: 2rem; color: var(--uz-ink-faint); }
.uz-tur-onizleme .uz-gorsel, .uz-tur-onizleme .uv-root { width: 100%; height: 100%; }
.uz-tur-ad { font-size: .82rem; font-weight: 600; line-height: 1.25; }
.uz-tur-isaret { position: absolute; top: 6px; right: 6px; color: var(--uz-brand); }
.uz-tur-aciklama { padding: 6px 2px 0; }
/* Seçili türün özeti (düzenlemede kart seçici kapalı): ad + değiştir */
.uz-tur-ozet { display: flex; align-items: center; gap: 12px; padding: 8px; border: 1px solid var(--uz-border); border-radius: 10px;
    background: var(--uz-surface); }
.uz-tur-ozet .uz-tur-onizleme { width: 140px; flex: 0 0 140px; height: 70px; }
.uz-tur-ozet-ad { flex: 1; min-width: 0; }
.uz-tur-ozet-ad strong { display: block; font-size: .9rem; }

/* 🎨 Görünüm sekmesi (GorunumAyarlari) */
.uz-gorunum-grup { border: 1px solid var(--uz-border-soft); border-radius: 10px; padding: 10px 12px 12px; margin: 0 0 12px; }
.uz-gorunum-grup > legend { float: none; width: auto; font-size: .78rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .04em; color: var(--uz-ink-soft); padding: 0 6px; margin: 0; }

/* 📊 Pano tablosu: başlık kartın üstünde zaten var. Kütüphane tablosu başlığı araç düğmeleri (CSV/XLSX) ve dosya adı için taşır;
   ekranda yalnız metni gizlenir (yer tutar, düğmeler sağda kalır). */
.uz-w-gorsel .uv-table-head .uv-table-title { visibility: hidden; }

/* 🔍 Pano odağı (11-11): seçilen bileşen panonun YERİNDE, o anki görünür alanı doldurur; diğer bileşenler gizlenir. Popup değil:
   perde, gölge, kenar boşluğu yok. Tuval DOM'da kalır (visibility:hidden) — çıkışta bileşenler yeniden okunmaz, genişlik ölçümü
   bozulmaz. Alan yüksekliği --uz-odak-h'yi pano-tuval.js odakAlani verir (kaydırma kabının görünür yüksekliği); JS gelmezse
   varsayılan pencere yüksekliğinden pay düşülür. Kart pano kartıyla aynı düzen: başlık şeridi + esneyen gövde. */
.uz-pano-alan { position: relative; }
.uz-pano-alan.uz-odakta { height: var(--uz-odak-h, calc(100vh - 140px)); overflow: hidden; }
/* Gizlenen: odak paneli dışındaki her şey — kayıtlı panoda tuval, AI önizlemesinde ızgara. */
.uz-pano-alan.uz-odakta > :not(.uz-pano-odak) { visibility: hidden; opacity: 0; pointer-events: none; }
.uz-pano-odak { position: absolute; inset: 0; display: flex; outline: none; animation: uz-odak-ac .14s ease-out; }
.uz-pano-odak > .card { flex: 1 1 auto; min-width: 0; height: auto !important; display: flex; flex-direction: column; }
.uz-pano-odak > .card > .card-header { flex: 0 0 auto; }
.uz-pano-odak > .card > .card-body { flex: 1 1 auto; min-height: 0; overflow: hidden; display: flex; flex-direction: column; }
@keyframes uz-odak-ac { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .uz-pano-odak { animation: none; } }

/* ==== musteri-yonetimi 11-13 basi ==== */
/* Müşteri portföyü, müşteri detayı ve Firma Hesabı kişi sayfası (11-13). */
.uz-mys .soluk { color: var(--uz-ink-soft); font-weight: 400; }
.uz-mys .kucuk { font-size: 11.5px; }
.uz-mys .nowrap { white-space: nowrap; }
.uz-kpi.secili { border-color: var(--uz-brand); box-shadow: 0 0 0 1px var(--uz-brand) inset; }

/* sağlık rozeti: liste ve detay */
.uz-saglik { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; padding: 2px 8px;
    border-radius: 999px; white-space: nowrap; }
.uz-saglik.iyi { color: var(--uz-ok); background: var(--uz-ok-soft); }
.uz-saglik.bilgi { color: var(--uz-info); background: var(--uz-info-soft); }
.uz-saglik.uyari { color: var(--uz-warn); background: var(--uz-warn-soft); }
.uz-saglik.kritik { color: var(--uz-danger); background: var(--uz-danger-soft); }
.uz-konu-ozet { font-size: 11.5px; margin: 3px 0 0 44px; }
.uz-konu-ozet.kritik { color: var(--uz-danger); }
.uz-konu-ozet.uyari { color: var(--uz-warn); }
.uz-konu-ozet.bilgi { color: var(--uz-ink-soft); }
.uz-portfoy td { vertical-align: top; }
.uz-portfoy td.uz-portfoy-saglik { width: 64px; }
.uz-portfoy tr.pasif td { opacity: .65; }
.uz-agent-durum { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--uz-ink-soft); }
.uz-agent-durum i { font-size: 8px; color: var(--uz-ink-faint); }
.uz-agent-durum.acik { color: var(--uz-ok); }
.uz-agent-durum.acik i { color: var(--uz-ok); }
.uz-mini-bar { height: 5px; border-radius: 999px; background: var(--uz-surface-sunk); overflow: hidden; margin-top: 4px; max-width: 110px; }
.uz-mini-bar > span { display: block; height: 100%; background: var(--uz-brand); border-radius: 999px; }
.uz-mini-bar.yakin > span { background: var(--uz-warn); }
.uz-mini-bar.dolu > span { background: var(--uz-danger); }
.uz-ikon-dugme { display: inline-grid; place-items: center; width: 28px; height: 28px; border: 0; border-radius: 6px;
    background: transparent; color: var(--uz-ink-soft); text-decoration: none; }
.uz-ikon-dugme:hover { background: var(--uz-surface-sunk); color: var(--uz-ink); }
.uz-ikon-dugme.tehlike:hover { color: var(--uz-danger); }

/* müşteri detayı: dikkat listesi + özet kartları */
.uz-konu-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.uz-konu-liste li { display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; border-radius: var(--uz-radius-sm);
    background: var(--uz-surface-sunk); font-size: 13px; }
.uz-konu-liste li > i { font-size: 15px; margin-top: 1px; }
.uz-konu-liste li.kritik > i { color: var(--uz-danger); }
.uz-konu-liste li.uyari > i { color: var(--uz-warn); }
.uz-konu-liste li.bilgi > i { color: var(--uz-info); }
.uz-konu-liste li button { margin-left: auto; border: 0; background: none; color: var(--uz-brand); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.uz-ozet-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.uz-ozet-kart { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; background: var(--uz-surface);
    border: 1px solid var(--uz-border); border-radius: var(--uz-radius); cursor: pointer; text-align: left; color: inherit; font: inherit; }
.uz-ozet-kart:hover { border-color: var(--uz-brand); }
.uz-ozet-kart-bas { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; color: var(--uz-ink-soft); }
.uz-ozet-kart-bas .uz-saglik { margin-left: auto; }
.uz-ozet-kart-deger { font-size: 22px; font-weight: 700; color: var(--uz-ink); font-variant-numeric: tabular-nums; line-height: 1.15; }
.uz-ozet-kart-alt { font-size: 12px; color: var(--uz-ink-soft); display: flex; flex-direction: column; gap: 2px; }
.uz-sekmeler { display: flex; gap: 2px; border-bottom: 1px solid var(--uz-border); margin-bottom: 16px; overflow-x: auto; scrollbar-width: thin; }
.uz-sekmeler button { border: 0; background: none; padding: 9px 12px; font-size: 13px; font-weight: 600; color: var(--uz-ink-soft);
    border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; }
.uz-sekmeler button:hover { color: var(--uz-ink); }
.uz-sekmeler button.aktif { color: var(--uz-ink); border-bottom-color: var(--uz-brand); }
.uz-sekmeler button .sayi { font-size: 11px; font-weight: 700; padding: 0 6px; border-radius: 999px; background: var(--uz-neutral-soft); color: var(--uz-ink-soft); }
.uz-sekmeler button .sayi.kirmizi { background: var(--uz-danger-soft); color: var(--uz-danger); }
.uz-bilgi-listesi { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px 16px; margin: 0; }
.uz-bilgi-listesi dt { font-size: 11.5px; font-weight: 500; color: var(--uz-ink-faint); }
.uz-bilgi-listesi dd { margin: 2px 0 0; font-size: 13.5px; font-weight: 600; color: var(--uz-ink); overflow-wrap: anywhere; }
.uz-cubuk-grafik { display: flex; align-items: flex-end; gap: 3px; height: 90px; padding-top: 6px; }
.uz-cubuk-grafik > span { flex: 1 1 0; min-width: 3px; background: var(--uz-brand); border-radius: 3px 3px 0 0; opacity: .85; }
.uz-cubuk-grafik > span.bos { background: var(--uz-surface-sunk); opacity: 1; }
.uz-cubuk-eksen { display: flex; justify-content: space-between; font-size: 11px; color: var(--uz-ink-faint); margin-top: 4px; }
.uz-dagilim { display: flex; flex-direction: column; gap: 6px; }
.uz-dagilim-satir { display: grid; grid-template-columns: minmax(0, 1fr) 56px; gap: 8px; align-items: center; font-size: 12.5px; }
.uz-dagilim-satir .uz-mini-bar { max-width: none; margin-top: 3px; }
.uz-zaman-cizelgesi { list-style: none; margin: 0; padding: 0; }
.uz-zaman-cizelgesi li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--uz-border-soft); font-size: 13px; }
.uz-zaman-cizelgesi li:last-child { border-bottom: 0; }
.uz-zaman-cizelgesi time { font-size: 12px; color: var(--uz-ink-faint); }
.uz-zaman-cizelgesi .hatali { color: var(--uz-danger); }

/* Firma Hesabı kişi sayfası */
.uz-kisi-bas { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px 18px;
    background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius); }
.uz-kisi-bas .uz-kisi-avatar { width: 52px; height: 52px; font-size: 18px; }
.uz-kisi-bas h3 { margin: 0; font-size: 19px; font-weight: 800; color: var(--uz-ink); }
.uz-kisi-bas p { margin: 2px 0 0; font-size: 13px; color: var(--uz-ink-soft); }
.uz-rozet-satiri { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
@media (max-width: 767.98px) { .uz-kisi-bas { grid-template-columns: auto minmax(0, 1fr); } .uz-kisi-bas > :last-child { grid-column: 1 / -1; } }
.uz-erisim-bolum + .uz-erisim-bolum { margin-top: 16px; }
.uz-erisim-satir { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 8px 0;
    border-bottom: 1px solid var(--uz-border-soft); font-size: 13px; }
.uz-erisim-satir:last-child { border-bottom: 0; }
.uz-erisim-satir > i { font-size: 15px; margin-top: 1px; }
.uz-erisim-satir > i.evet { color: var(--uz-ok); }
.uz-erisim-satir > i.hayir { color: var(--uz-ink-faint); }
.uz-erisim-satir > i.engel { color: var(--uz-danger); }
.uz-erisim-satir b { font-weight: 600; }
.uz-erisim-satir small { display: block; color: var(--uz-ink-soft); font-size: 12px; }
.uz-izin-grup { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--uz-ink-faint); margin: 14px 0 2px; }
.uz-toplu-serit { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 12px; margin-bottom: 10px;
    background: var(--uz-brand-soft); border-radius: var(--uz-radius-sm); font-size: 13px; }
.uz-toplu-serit select { font-size: 13px; padding: 4px 8px; border: 1px solid var(--uz-border); border-radius: 6px; background: var(--uz-surface); color: var(--uz-ink); }
.uz-ozet-kart { align-items: stretch; }
.uz-ozet-kart > * { text-align: left; }
.uz-geri-baglanti { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--uz-ink-soft); text-decoration: none; }
.uz-geri-baglanti:hover { color: var(--uz-ink); }
.uz-tablo tr.secili td { background: var(--uz-brand-soft); }
/* Firma Hesabı: sol menü yerine yatay sekmeler (11-13) */
.uz-hesap-sekmeli { display: flex; flex-direction: column; min-width: 0; }
.uz-hesap-sekmeler { position: sticky; top: var(--uz-header-h); z-index: 5; background: var(--uz-content-bg); padding-top: 4px; }
.uz-hesap-sekmeli > .uz-bolum { min-width: 0; }
.uz-portfoy tr.tik:hover td { background: var(--uz-surface-sunk); }
/* Firma Hesabı › kullanıcı hesabı sayfası (11-13) */
.uz-kh-bas h3 { margin: 6px 0 2px; font-size: 19px; font-weight: 800; color: var(--uz-ink); }
.uz-kh-bas p { margin: 0; font-size: 13px; color: var(--uz-ink-soft); }
.uz-kform { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.uz-kform-ana { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.uz-kform-yan { position: sticky; top: calc(var(--uz-header-h) + 12px); min-width: 0; }
@media (max-width: 1199.98px) { .uz-kform { grid-template-columns: minmax(0, 1fr); } .uz-kform-yan { position: static; order: -1; } }
.uz-kform-adim { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
.uz-kform-adim .no { width: 26px; height: 26px; flex: none; border-radius: 999px; display: grid; place-items: center; font-size: 13px;
    font-weight: 800; background: var(--uz-brand); color: #fff; }
.uz-kform-adim h5 { margin: 0; font-size: 14.5px; font-weight: 700; color: var(--uz-ink); }
.uz-kform-adim > span:last-child { font-size: 12.5px; color: var(--uz-ink-soft); flex: 1 1 260px; }
.uz-kform-alan { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--uz-border-soft); }
.uz-kform-tehlike { border-color: color-mix(in srgb, var(--uz-danger) 35%, var(--uz-border)); }
.uz-kform-alt { position: sticky; bottom: 0; z-index: 5; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 16px;
    padding: 12px 16px; background: var(--uz-surface); border: 1px solid var(--uz-border); border-radius: var(--uz-radius);
    box-shadow: 0 -4px 12px rgba(0,0,0,.06); }
/* ==== musteri-yonetimi 11-13 sonu ==== */
