/* =============================================================================
   app.css — FİRMAYA ÖZEL stiller
   =============================================================================
   ⚠️ `.ui-*` STANDART SINIFLARI BURADA DEĞİL. Onlar platform paketinde:
      _content/Artun.Platform.UI/css/artun-ui.css   (Artun.Platform.UI/wwwroot/css/)

   Neden: `.ui-*` sınıflarını modül RCL sayfaları (Sentez.UI, OverdueDebts.UI…) kullanıyor.
   Firma app.css'inde dururlarsa modül UI'ı firma CSS'ine bağımlı olur ve ADR-0009'un
   "merkezî güncelleme" sözü kırılır. Token'lar (--ui-sp/-r/-sh/-ink/-line/-brand…) da orada.

   BURADA yalnız şunlar kalır:
     · Blazor şablon kalıntısı (bootstrap sınıfları, error boundary)
     · Yazdırma (A4 ekstre)
     · Firmaya/ekrana özel sınıflar: .cari-* (Cari Kartlar/Açılış/Ekstre), .cs-* (şirket seçici)

   Bu dosya artun-ui.css'ten SONRA yüklenir → buradaki kural platformu EZER (kasıtlı).
   Yeni ortak bir desen çıkarsa buraya değil, platform artun-ui.css'e yazılır.
   ============================================================================= */

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

a, .btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}
/* ---- Yazdırma (A4) → PLATFORMA TAŞINDI (27.07.2026) ----
   `.print-only` / `.no-print` / `@media print` bloğu ve ekstre yazdırma tablosu artık
   `artun-ui.css` §4c'de (`.ui-print-table` / `.ui-print-head` / `.ui-print-cur`).
   Sebep: bu sınıfları üreten markup modül RCL'inde (Sentez.UI ekstre bileşeni) duruyordu;
   tanım firmada kalınca paket güncellemesi stili taşımıyordu (ADR-0009 / UI_STANDARD §0).
   Firmaya özel bir yazdırma kuralı gerekirse buraya EKLENİR, platformdaki taban ezilmez. */

/* ---- Cari Kartlar — Slate/Sky paleti (Tailwind), beyaz panel + sade grid ---- */
/* Beyaz amaç paneli */
.cari-panel {
    display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
    background: #ffffff; padding: 7px 16px; border: 1px solid #e2e8f0; border-radius: 10px;
    margin-bottom: 10px; box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
}
/* Başlık: BOLD ama kompakt (panel yüksekliği düşük kalsın) */
.cari-panel-h { font-size: 1.35rem; font-weight: 700; color: #1e293b; line-height: 1.15; }
.cari-panel-sub { font-size: .8rem; color: #64748b; margin-top: 1px; }
/* Şirket seçimi panel sağında — görsel kutu (kenarlık + ikon + etiket) */
.cari-company-box {
    display: flex; align-items: center; gap: 8px; padding: 5px 10px;
    border: 1px solid #cbd5e1; border-radius: 8px; background: #f8fafc;
}
.cari-panel-right-label { color: #475569; font-weight: 600; font-size: .85rem; white-space: nowrap; }

/* Gridin üstündeki araç çubuğu — normal (ayrık) butonlar */
.cari-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.cari-toolbar-left { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cari-toolbar-right { display: flex; align-items: center; gap: 0; }
/* Sağ grup ikonları (Yenile/Excel/Kolonlar/Genişlik) bir arada dursun — buton iç boşluğu daralt. */
.cari-toolbar-right .mud-icon-button { padding: 5px; }

/* Buton stilleri: ikincil = outline (slate), birincil (Yeni Cari) = sky mavi */
.cari-btn.mud-button-root {
    text-transform: none !important; color: #334155 !important; border-color: #cbd5e1 !important;
    background-color: #fff !important;
}
.cari-btn.mud-button-root:hover { background-color: #f1f5f9 !important; }
.cari-btn-primary.mud-button-root {
    text-transform: none !important; background-color: #0284c7 !important; color: #fff !important; border: none !important;
}
.cari-btn-primary.mud-button-root:hover { background-color: #0369a1 !important; }

/* Vade raporu: grid'in hemen üstü — solda KPI'lar, sağda grid düğmeleri */
.cari-gridbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 .4rem 0; flex-wrap: wrap; }
.cari-scope { display: flex; gap: .4rem; }

/* Vade raporu KPI badge'leri (para birimi başına açık tutar toplamı) */
.cari-kpi-row { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; }
.cari-kpi {
    display: inline-flex; align-items: baseline; gap: .4rem; padding: .25rem .6rem;
    border-radius: 6px; background-color: #f8fafc;
}
.cari-kpi-cur { font-size: .72rem; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: .03em; }
.cari-kpi-val { font-size: 1.05rem; font-weight: 700; color: #0f172a; }

/* Toolbar'da seçili cari ünvanı (butonların yanında) */
.cari-toolbar-sel {
    display: inline-block; max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    vertical-align: middle; font-weight: 600; color: #1e293b; font-size: .95rem; padding: 0 6px;
}

/* Grid header — koyu slate (üst bar rengi) + beyaz yazı + beyaz ikonlar (sıralama/filtre).
   Satırlar SizeMode.Small ile kompakt; başlık satırı onlardan ÇOK AZ daha yüksek dursun. */
.cari-grid-hdr, .cari-grid-hdr th, .cari-grid-hdr td {
    background-color: #334155 !important; color: #ffffff !important; font-weight: 600 !important;
    padding-top: 7px !important; padding-bottom: 7px !important;
}
.cari-grid-hdr i, .cari-grid-hdr svg { color: #ffffff !important; fill: #ffffff !important; }
.cari-grid-hdr .dxbl-button, .cari-grid-hdr .dxbl-button i, .cari-grid-hdr button { color: #ffffff !important; }
/* En sol ve en sağ dikey kenar KOYU — beyaz çizgi yüzünden header dar görünmesin (yalnız başlık satırı). */
.cari-grid-hdr:first-child { border-left: 2px solid #1e293b !important; }
.cari-grid-hdr:last-child { border-right: 2px solid #1e293b !important; }
/* Grid'i görünür ekran yüksekliğine sığdır → sayfa taşmaz; veri içeride kayar, BAŞLIK + PAGER sabit kalır.
   (DevExpress: yükseklik sınırlıysa header/footer sabit, yalnız veri alanı scroll olur.) */
.cari-grid.dxbl-grid { height: calc(100vh - 188px); min-height: 320px; }
/* Vade raporu: üstte filtre paneli + KPI/gridbar olduğu için grid daha kısa → sayfa kaymadan pager/footer görünür. */
.cari-grid-aging.dxbl-grid { height: calc(100vh - 300px); min-height: 280px; }
/* Satır işlem simgesi — ÇOK kompakt (padding'siz) → SizeMode.Small satır yüksekliğini büyütmez. */
.cari-row-action { display: flex; justify-content: center; align-items: center; }
.cari-row-action .mud-icon-button { padding: 1px; min-width: 0; height: 22px; width: 22px; }
.cari-row-action .mud-icon-button .mud-icon-root { font-size: 1.05rem; }
/* Filtre satırı — slate-50 zemin; input kenarlıkları slate-300 */
.cari-grid-filter, .cari-grid-filter td { background-color: #f8fafc !important; }
.cari-grid-filter input, .cari-grid-filter .dxbl-edit { border-color: #cbd5e1 !important; }
/* Odaklı (seçili) satır — pastel gri-mavi zemin, KOYU yazı (beyaz değil), sol 3px slate çizgi */
.cari-grid-focused, .cari-grid-focused td { background-color: #dbe4ee !important; color: #1e293b !important; }
.cari-grid-focused td:first-child { box-shadow: inset 3px 0 0 0 #334155; }

/* KALDIRILDI (27.07.2026) — cari detayı standarda çekilirken bu sınıfların kullanıcısı kalmadı:
     .cari-addr-table            → Adresler/Yetkililer artık DxGrid (UI_STANDARD §A, UI_GRID §7)
     .cari-stmt-block/-left/-cur/-sum/-foot → platform `.ui-block*` (artun-ui.css §4b)
     .cari-stmt-acc/-name/-code  → hiçbir sayfada kullanılmıyordu (ölü)
     .statement-print-cur        → platform `.ui-print-cur`
   Sebep yalnız temizlik değil SINIR: bu sınıfları ÜRETEN markup modül RCL'inde (Sentez.UI) duruyordu,
   tanım ise burada — firma paketi bump'layınca sayfayı alıp STİLİNİ ALMIYORDU (ADR-0009 / UI_STANDARD §0).

   ⚠️ `.cari-block-bar` 28.07.2026'da SİLİNDİ: tek kullanıcısı `CariOpeningSettings` sayfasıydı, o da
   standart `.ui-scard` başlığına geçti → kullanılmayan tanım bırakılmaz (CLAUDE.md §6 dead code).
   `.cari-grid-*` / `.cari-toolbar-*` de korundu — Satış/Alış Faturaları, Gelen e-Faturalar,
   Banka Entegratör Hesapları ve Cari Açılış sayfaları hâlâ onlara bağlı. Onların `.ui-*`'e geçişi
   AYRI bir iş (her biri kendi modül paketinde bump ister). */
/* ---- Cari Açılış formu — düz (çerçevesiz) bölümler + belirgin koyu başlıklar ---- */
/* Tek beyaz kart; içinde bölümler ÇERÇEVESİZ, koyu başlık + kalın koyu alt çizgi ile ayrılır. */
.cari-form-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 18px 20px; box-shadow: 0 1px 3px rgba(15,23,42,.06); }
.cari-sec { margin: 0 0 22px; }
.cari-sec:last-child { margin-bottom: 4px; }
/* Bölüm başlığı: standart font, koyu (700), "Yeni Cari"den küçük; ikon yok; kalın koyu alt çizgi. */
.cari-sec-h {
    font-size: 1.05rem; font-weight: 700; color: #1e293b;
    padding: 0 0 6px; margin: 0 0 14px; border-bottom: 3px solid #334155;
}
.cari-sec-req { color: #d32f2f; font-weight: 700; }
/* Sağ Cari Kodu paneli — hafif vurgulu kart. */
.cari-code-card { background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 10px; padding: 16px; }
.cari-code-h { font-size: 1.05rem; font-weight: 700; color: #1e293b; padding-bottom: 6px; border-bottom: 3px solid #334155; margin-bottom: 12px; }
.cari-code-val { font-size: 1.55rem; font-weight: 800; color: #0f172a; letter-spacing: .5px; }
/* Kilitli (değiştirilemez) alan — label + sabit değer (input yerine). */
.cari-locked { display: flex; flex-direction: column; padding: 4px 0; }
.cari-locked-l { font-size: .78rem; color: #64748b; }
.cari-locked-v { font-size: 1rem; font-weight: 700; color: #1e293b; }

/* Cari Açılış — 3 sütun kart düzeni: her bölüm ayrı kart + sağ YAPIŞKAN öneri rayı (kod + sabit değerler) */
.cari-form-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 300px; gap: 16px; align-items: start; padding-bottom: 24px; }
.cari-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.cari-col-rail { position: sticky; top: 12px; }
.cari-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; box-shadow: 0 1px 3px rgba(15,23,42,.06); }
.cari-fixed-card { margin-top: 14px; }
/* Dar ekran: tek sütuna in, ray sabitlemesini bırak */
@media (max-width: 1100px) { .cari-form-grid { grid-template-columns: 1fr; } .cari-col-rail { position: static; } }

/* ── Header global şirket kapsamı seçici (CompanyScopePicker) ── */
.cs-btn { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 8px 0 10px; border-radius: 9px;
          border: 1px solid rgba(248,250,252,.22); background: rgba(248,250,252,.07); color: #f8fafc;
          font-size: .83rem; font-weight: 600; cursor: pointer; white-space: nowrap; transition: background .15s; }
.cs-btn:hover { background: rgba(248,250,252,.15); }
.cs-loading { cursor: progress; opacity: .9; }
.cs-btn .mud-icon-root { font-size: 1.15rem; }
.cs-lbl { line-height: 1; }
/* Çoklu seçim sayısı ikonun KÖŞESİNDE rozet (24.07.2026) — yanda ayrı sayı genişlik kaplıyordu. */
.cs-ico { position: relative; display: inline-flex; }
.cs-cnt-badge { position: absolute; top: -6px; right: -8px; min-width: 14px; height: 14px; padding: 0 3px;
                border-radius: 999px; background: #0ea5e9; color: #04283a;
                font-size: .6rem; font-weight: 800; display: inline-grid; place-items: center; line-height: 1; }
.cs-car { opacity: .7; }
.cs-spin { width: 16px !important; height: 16px !important; }

/* Mobil AppBar kullanıcı rozeti — tam ad yerine baş harfler (24.07.2026; header'da yer yok).
   Koyu barda yarı saydam nötr daire (cs-btn ile aynı dil); tam ad title'da (basılı tutunca). */
.appbar-avatar { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
                 background: rgba(248,250,252,.18); border: 1px solid rgba(248,250,252,.25); color: #f8fafc;
                 font-size: .68rem; font-weight: 700; letter-spacing: .02em; }

/* açılır liste (manuel dropdown — button altında, backdrop dış tıklamayı kapatır) */
.cs-anchor { position: relative; display: inline-flex; }
.cs-anchor .cs-btn { position: relative; z-index: 1202; }
.cs-backdrop { position: fixed; inset: 0; z-index: 1200; background: transparent; }
.cs-pop { position: fixed; top: 52px; right: 14px; z-index: 1202; width: 320px;
          background: #fff; border: 1px solid #cbd5e1; border-radius: 10px;
          box-shadow: 0 12px 30px rgba(15,23,42,.20); color: #1e293b; overflow: hidden; }
.cs-pop-h { display: flex; align-items: center; justify-content: space-between; padding: 10px 13px; border-bottom: 1px solid #e2e8f0; }
.cs-pop-h b { font-size: .9rem; }
.cs-pop-h .cs-sub { font-size: .72rem; color: #64748b; }
.cs-pop-list { max-height: 260px; overflow: auto; padding: 5px; }
.cs-row { display: flex; align-items: center; gap: 9px; padding: 7px 9px; border-radius: 7px; cursor: pointer; }
.cs-row:hover { background: #f1f5f9; }
.cs-row .cs-code { font-weight: 700; font-size: .82rem; min-width: 56px; }
.cs-row .cs-name { color: #64748b; font-size: .82rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-row.cs-all { border-bottom: 1px solid #e2e8f0; border-radius: 0; margin-bottom: 4px; }
.cs-pop-f { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 12px; border-top: 1px solid #e2e8f0; background: #f8fafc; }
.cs-pop-f .cs-selinfo { font-size: .76rem; color: #64748b; }
.cs-pop-f .cs-btns { display: flex; gap: 6px; }

/* --- ÜRÜN markası: "360°" vurgusu — KALDIRILDI (14.08.2026) -----------------------------------
   Giriş ekranı hero'su artık PAKETTE (Artun.Platform.Web/Components/AuthLayout.razor) → stili de
   pakette: `.ui-auth-accent` (artun-ui.css). Burada kalsaydı hero paketten gelir, rengi firmadan
   gelirdi; firma CSS'i eskirse vurgu sessizce kaybolurdu. */

/* --- Kullanıcı yönetimi: yetki override satırı — KALDIRILDI (28.07.2026) ----------------------
   `.override-row` MudRadioGroup'u sıkıştırmak içindi. Yetki istisnası artık üç durumlu segment
   seçicisiyle veriliyor (`.ui-seg ui-seg-xs`, UI_STANDARD §A: 2-3 durumlu mod seçimi buton/radyo
   değil segment) → kurallar platform CSS'inde, firmaya özel stil kalmadı. */
