/* ══ NO-EXT-FONT-001 (v87) — YEREL YAZI TİPİ TANIMLARI ══════════════════════
   Google Fonts bağlantısı kaldırıldı. Bu dosya dışarıya HİÇBİR istek atmaz.

   Şu an sistem yazı tipi yığını kullanılıyor: her platformda yerleşik olan,
   okunabilirliği yüksek yazı tipleri. Ek indirme yok, gecikme yok.

   ── ÖZGÜN YAZI TİPLERİNİ GERİ İSTERSENİZ ─────────────────────────────────
   1. fonts.google.com üzerinden Fraunces ve Hanken Grotesk woff2 dosyalarını
      indirin (SIL Open Font License — kendi sunucunuzdan servis serbesttir).
   2. wwwroot/fonts/ klasörüne koyun.
   3. Aşağıdaki @font-face bloklarının yorumunu kaldırın.
   4. --font-display ve --font-body değişkenlerini güncelleyin.
   Sonuç aynı görünüm, sıfır dış istek olur.                                */

/*
@font-face {
    font-family: 'Fraunces';
    src: url('/fonts/Fraunces-Variable.woff2') format('woff2-variations');
    font-weight: 400 700;
    font-display: swap;
}
@font-face {
    font-family: 'Hanken Grotesk';
    src: url('/fonts/HankenGrotesk-Variable.woff2') format('woff2-variations');
    font-weight: 400 800;
    font-display: swap;
}
*/

:root {
    /* Başlıklar — modern sans-serif sistem yığını */
    --font-display: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
                    'Helvetica Neue', 'Noto Sans', Arial, sans-serif;

    /* Gövde metni — modern sans-serif sistem yığını */
    --font-body: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
                 'Helvetica Neue', 'Noto Sans', Arial, sans-serif;
}

body {
    font-family: var(--font-body);
}

h1, h2, h3, .display-font {
    font-family: var(--font-display);
}

/* ═══════════════════════════════════════════════════════════════════════════
   Antlaşma — Design Tokens · "Refined Industrial Luxury"
   ───────────────────────────────────────────────────────────────────────────
   Tek kaynak hakikat: tüm renk, tipografi, boşluk, gölge token'ları burada.
   Aesthetic: derin sıcak-antrasit zemin · değerli-metal amber · editöryel
   serif başlık (Fraunces) + rafine grotesk gövde (Hanken Grotesk) · atmosferik
   ışıma + ince grain + cam yüzeyler. Class isimleri v68 ile birebir uyumlu.
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  /* ═══════════════════════════════════════════════════════════════════════
     KURUMSAL B2B PALETİ (v70) — RGB kanal üçlüsü
     ─────────────────────────────────────────────────────────────────────
     Değerler boşlukla ayrılmış RGB kanalı olarak tutulur; böylece
     rgb(var(--color-x) / 0.10) yazımıyla tek kaynaktan opaklık türetilebilir.
     (NOT: Bu proje Tailwind KULLANMIYOR — Bootstrap + özel CSS. Triplet
      biçimi modern CSS'te doğrudan çalışır, ancak `bg-primary-600/10` gibi
      utility class'lar Tailwind eklenmedikçe gelmez.)

     ROL AYRIMI — en önemli kural:
       primary  = AKSİYON (buton, link, nav). Kurumsal güven rengi.
       accent   = "ÖNE ÇIKAN/PREMIUM" etiketi. ASLA CTA olarak kullanılmaz;
                  kullanılırsa "aksiyon al" ile "öne çıkarıldı" anlamları çakışır.
     ═══════════════════════════════════════════════════════════════════════ */

  /* Primary — derin lacivert. Kurumsal güven, birincil aksiyon, nav, link. */
  --color-primary-50:  238 244 250;
  --color-primary-100: 210 227 243;
  --color-primary-200: 166 199 232;
  --color-primary-300: 120 168 214;
  --color-primary-400:  76 134 190;
  --color-primary-500:  46 105 159;
  --color-primary-600:  31  79 122;   /* #1F4F7A — ana renk */
  --color-primary-700:  22  60  94;
  --color-primary-800:  16  42  68;
  --color-primary-900:  10  27  44;

  /* Neutral — soğuk arduvaz. Metin / kenarlık / yüzey hiyerarşisi. */
  --color-neutral-0:   255 255 255;
  --color-neutral-50:  246 248 250;
  --color-neutral-100: 236 240 243;
  --color-neutral-200: 220 226 232;
  --color-neutral-300: 193 202 211;
  --color-neutral-400: 152 163 175;
  --color-neutral-500: 112 124 138;
  --color-neutral-600:  82  94 109;
  --color-neutral-700:  58  68  81;
  --color-neutral-800:  38  46  56;
  --color-neutral-900:  21  27  34;

  /* Accent — sinyal altını. YALNIZCA öne çıkan/premium etiketi. */
  --color-accent-light: 251 235 209;
  --color-accent-base:  181 118  14;   /* #B5760E */
  --color-accent-dark:  138  89  10;

  /* Semantik — ihale yaşam döngüsü. Her duruma tek renk, paylaşılmaz. */
  --color-success-light: 220 243 231;  /* kazanıldı / onaylandı */
  --color-success-base:   28 131  82;  /* #1C8352 */
  --color-success-dark:   20 101  64;

  --color-warning-light: 251 229 211;  /* kapanışa yakın */
  --color-warning-base:  194  84  13;  /* #C2540D */
  --color-warning-dark:  150  63   9;

  --color-danger-light:  251 225 223;  /* reddedildi / iptal */
  --color-danger-base:   194  46  38;  /* #C22E26 */
  --color-danger-dark:   150  33  27;

  --color-pending-light: 233 228 251;  /* değerlendirmede */
  --color-pending-base:  102  71 194;  /* #6647C2 */
  --color-pending-dark:   78  52 154;

  /* ── Backgrounds (light — premium paper) ─────────────────────────── */
  --bg-base:          rgb(var(--color-neutral-50));   /* v70: nötr — palet ile aynı sıcaklık */
  --bg-surface:       #ffffff;
  --bg-surface-2:     rgb(var(--color-neutral-100));
  --bg-surface-3:     rgb(var(--color-neutral-200));
  --bg-content:       rgb(var(--color-neutral-0));

  /* ── Text ─────────────────────────────────────────────────────────── */
  --text-heading:     rgb(var(--color-neutral-900));
  --text-body:        rgb(var(--color-neutral-700));
  --text-subtle:      rgb(var(--color-neutral-600));   /* v70: AA (6.60:1) */
  --text-muted:       rgb(var(--color-neutral-600));   /* v70: neutral-500 yalnız büyük metin/ikon için yeterli */
  --text-disabled:    rgb(var(--color-neutral-400));
  --text-on-accent:   #1a1407;

  /* ── Borders ──────────────────────────────────────────────────────── */
  --border:           rgb(var(--color-neutral-200));
  --border-subtle:    rgb(var(--color-neutral-100));
  --border-strong:    rgb(var(--color-neutral-300));
  --border-focus:     var(--primary);   /* v70: odak = aksiyon rengi */

  /* ── Accent (polished gold / amber) — tek vurgu ───────────────────── */
  /* v70: "öne çıkan/premium" etiketi. CTA DEĞİL — bkz. rol ayrımı notu. */
  --accent:           var(--tenant-accent, rgb(var(--color-accent-base)));
  --accent-hover:     rgb(var(--color-accent-dark));
  --accent-active:    rgb(var(--color-accent-dark));
  --accent-bright:    #f0b429;   /* parlak vurgu / glow için */
  --accent-soft:      rgb(var(--color-accent-base) / 0.10);
  --accent-soft-hover:rgb(var(--color-accent-base) / 0.18);
  --accent-glow:      rgba(240, 180, 41, 0.00);  /* light: glow kapalı */
  --accent-gradient:  linear-gradient(135deg, #f0b429 0%, #cf8a09 100%);
  /* v70: eski "primary = accent" tanımı KALDIRILDI — rol çakışmasının kaynağıydı. */

  /* ── Legacy brand token'ları (eski sayfalarda referans veriliyor) ──────
     Tanımsız kaldıklarında fallback'siz kullanımlar (ör. ReklamOdeme'de
     var(--brand-navy)) şeffaf zemin + beyaz yazı = görünmez yaratıyordu.
     Sabit marka renkleri: her iki modda da beyaz yazı kontrastı güvenli. */
  --brand-orange:       #D35400;
  --brand-orange-hover: #b34700;
  --brand-orange-soft:  rgba(211, 84, 0, 0.10);
  --brand-navy:         #1e293b;
  --brand-gold:         #f0b429;

  /* ── Semantic (status/badge) ──────────────────────────────────────── */
  --success:          rgb(var(--color-success-base));
  --success-soft:     rgb(var(--color-success-light));
  --warning:          rgb(var(--color-warning-base));   /* v70: accentten AYRILDI */
  --warning-soft:     rgb(var(--color-warning-light));
  --danger:           rgb(var(--color-danger-base));
  --danger-soft:      rgb(var(--color-danger-light));
  --info:             rgb(var(--color-primary-600));   /* v70: bilgi = kurumsal lacivert */
  --info-soft:        rgb(var(--color-primary-600) / 0.10);

  /* ── v70: PRIMARY — birincil aksiyon rengi ─────────────────────────
     Bu rol daha önce yoktu; CTA'lar accent (altın) kullanıyordu ve
     "öne çıkan" etiketiyle aynı rengi paylaşıyordu. Ayrıldı. */
  --primary:          var(--tenant-primary, rgb(var(--color-primary-600)));
  --primary-hover:    rgb(var(--color-primary-700));
  --primary-active:   rgb(var(--color-primary-800));
  --primary-soft:     rgb(var(--color-primary-600) / 0.08);
  --primary-border:   rgb(var(--color-primary-600) / 0.25);
  --text-on-primary:  rgb(var(--color-neutral-0));

  /* ── v70: PENDING — "değerlendirmede" ────────────────────────────── */
  --pending:          rgb(var(--color-pending-base));
  --pending-soft:     rgb(var(--color-pending-light));
  --pending-dark:     rgb(var(--color-pending-dark));
  --support-accent:   #9333ea;
  --success-gradient: linear-gradient(135deg, #10b981, #059669);

  /* ── Premium tier ─────────────────────────────────────────────────── */
  --tier-gold-gradient:     linear-gradient(135deg, #f5d061, #b97e0d);
  --tier-platinum-gradient: linear-gradient(135deg, #c7c9cf, #6b6e78);
  --tier-diamond-gradient:  linear-gradient(135deg, #d9f3ff, #6aa9d6);

  /* ── Atmosphere (zemin ışıması + cam) ─────────────────────────────── */
  --mesh-1:  radial-gradient(60% 50% at 15% 0%, rgba(240,180,41,0.06) 0%, transparent 60%);
  --mesh-2:  radial-gradient(50% 45% at 100% 10%, rgba(207,138,9,0.05) 0%, transparent 55%);
  --grain-opacity: 0;   /* v70: grain katmanı kaldırıldı */
  --glass-bg:     rgba(255, 255, 255, 0.72);
  --glass-blur:   saturate(180%) blur(16px);
  --glass-border: rgba(255, 255, 255, 0.5);

  /* ── Font Stacks ──────────────────────────────────────────────────── */
  --font-display: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-sans:    'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono:    'JetBrains Mono', 'Cascadia Code', Consolas, monospace;

  /* ── Type Scale ───────────────────────────────────────────────────── */
  --text-xs:    0.75rem;
  --text-sm:    0.875rem;
  --text-base:  1rem;
  --text-lg:    1.125rem;
  --text-xl:    1.25rem;
  --text-2xl:   1.5rem;
  --text-3xl:   1.875rem;
  --text-4xl:   2.25rem;
  --text-5xl:   3rem;
  --text-6xl:   3.75rem;
  --text-hero:  clamp(2.4rem, 5.5vw, 4.25rem);

  --leading-tight:   1.08;
  --leading-snug:    1.3;
  --leading-normal:  1.6;
  --leading-relaxed: 1.78;

  --tracking-tighter: -0.035em;
  --tracking-tight:   -0.018em;
  --tracking-normal:  0;
  --tracking-wide:    0.04em;
  --tracking-wider:   0.08em;

  /* ── Spacing ──────────────────────────────────────────────────────── */
  --space-0:.0; --space-1:.25rem; --space-2:.5rem; --space-3:.75rem;
  --space-4:1rem; --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem;
  --space-10:2.5rem; --space-12:3rem; --space-16:4rem; --space-20:5rem;
  --space-24:6rem; --space-32:8rem;

  --container-max:    1200px;
  --container-narrow: 760px;
  --container-padding-x: 1.25rem;

  /* ── Radius ───────────────────────────────────────────────────────── */
  --radius-xs:4px; --radius-sm:7px; --radius-md:11px; --radius-lg:16px;
  --radius-xl:22px; --radius-2xl:30px; --radius-full:9999px;

  /* ── Shadows (refined, layered) ───────────────────────────────────── */
  --shadow-xs:  0 0 0 1px var(--border);
  --shadow-sm:  0 1px 2px rgba(20,18,12,0.06), 0 1px 1px rgba(20,18,12,0.04);
  --shadow-md:  0 2px 4px rgba(20,18,12,0.05), 0 6px 14px -4px rgba(20,18,12,0.08);
  --shadow-lg:  0 4px 10px rgba(20,18,12,0.05), 0 18px 40px -12px rgba(20,18,12,0.14);
  --shadow-xl:  0 8px 18px rgba(20,18,12,0.06), 0 32px 64px -16px rgba(20,18,12,0.18);
  --shadow-glow: 0 0 0 1px var(--primary-border), 0 8px 24px -10px rgb(var(--color-neutral-900) / 0.14);   /* v70: altın ışıma yerine sakin nötr */
  --shadow-inset-top: inset 0 1px 0 rgba(255,255,255,0.6);

  /* ── Animation ────────────────────────────────────────────────────── */
  --duration-fast:    160ms;
  --duration-normal:  280ms;
  --duration-slow:    480ms;
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.45, 0, 0.15, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Breakpoints ──────────────────────────────────────────────────── */
  --breakpoint-sm:640px; --breakpoint-md:768px; --breakpoint-lg:1024px;
  --breakpoint-xl:1280px; --breakpoint-2xl:1536px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   DARK — derin sıcak antrasit, değerli-metal vurgular, glow açık
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] {
  --bg-base:          #0f1318;   /* v70: nötr koyu — saf siyah değil */
  --bg-surface:       #151b22;   /* neutral-900 */
  --bg-surface-2:     #1c242d;
  --bg-surface-3:     #262e38;   /* neutral-800 */
  --bg-content:       #121820;

  --text-heading:     #f1f4f7;
  --text-body:        #c1cad3;   /* neutral-300 */
  --text-subtle:      #98a3af;   /* neutral-400 */
  --text-muted:       #98a3af;
  --text-disabled:    #707c8a;   /* neutral-500 */
  --text-on-accent:   #1a1407;

  --border:           #2a2830;
  --border-subtle:    #211f26;
  --border-strong:    #3d3a45;
  --border-focus:     #f0b429;

  --accent:           var(--tenant-accent, #f0b429);   /* dark modda parlak altın */
  --accent-hover:     #f5c34d;
  --accent-active:    #d99e16;
  --accent-bright:    #ffcb52;
  --accent-soft:      rgba(240, 180, 41, 0.13);
  --accent-soft-hover:rgba(240, 180, 41, 0.22);
  --accent-glow:      rgba(240, 180, 41, 0.00);   /* v70: glow kapatıldı */
  --accent-gradient:  linear-gradient(135deg, #ffcb52 0%, #e0a020 100%);
  /* v70: eski "primary = accent" tanımı kaldırıldı. */

  --success:          #34c98a;
  --success-soft:     rgba(47, 207, 148, 0.14);
  --warning:          #ef8140;   /* v70: accent'ten AYRILDI — turuncu */
  --warning-soft:     rgba(239, 129, 64, 0.16);
  --danger:           #ef6a62;
  --danger-soft:      rgba(244, 98, 95, 0.14);
  --info:             rgb(var(--color-primary-300));   /* v70: koyu zeminde açık lacivert */
  --info-soft:        rgb(var(--color-primary-300) / 0.14);

  /* v70: PRIMARY (koyu tema) — koyu zeminde açık lacivert okunur kalır. */
  --primary:          var(--tenant-primary, rgb(var(--color-primary-400)));
  --primary-hover:    rgb(var(--color-primary-300));
  --primary-active:   rgb(var(--color-primary-200));
  --primary-soft:     rgb(var(--color-primary-400) / 0.16);
  --primary-border:   rgb(var(--color-primary-400) / 0.35);
  --text-on-primary:  rgb(var(--color-neutral-900));

  /* v70: PENDING (koyu tema) */
  --pending:          #9b86e8;
  --pending-soft:     rgba(155, 134, 232, 0.16);
  --pending-dark:     #b7a8ef;
  --support-accent:   #b266f5;
  --success-gradient: linear-gradient(135deg, #2fcf94, #0f9d6e);

  --mesh-1: radial-gradient(60% 55% at 12% -5%, rgba(240,180,41,0.10) 0%, transparent 58%);
  --mesh-2: radial-gradient(55% 50% at 105% 5%, rgba(207,138,9,0.08) 0%, transparent 55%);
  --grain-opacity: 0;   /* v70: grain katmanı kaldırıldı */
  --glass-bg:     rgba(22, 21, 25, 0.66);
  --glass-blur:   saturate(160%) blur(18px);
  --glass-border: rgba(255, 255, 255, 0.06);

  --shadow-sm:  0 1px 2px rgba(0,0,0,0.5);
  --shadow-md:  0 2px 6px rgba(0,0,0,0.45), 0 8px 20px -6px rgba(0,0,0,0.55);
  --shadow-lg:  0 6px 16px rgba(0,0,0,0.5), 0 24px 50px -14px rgba(0,0,0,0.7);
  --shadow-xl:  0 10px 26px rgba(0,0,0,0.55), 0 40px 80px -20px rgba(0,0,0,0.78);
  --shadow-glow: 0 0 0 1px var(--primary-border), 0 10px 30px -12px rgb(0 0 0 / 0.45);   /* v70 dark */
  --shadow-inset-top: inset 0 1px 0 rgba(255,255,255,0.04);
}

@media (min-width: 768px) {
  :root {
    --text-base: 1.0625rem;
    --container-padding-x: 2rem;
  }
}

