/* =========================================================================
   LIMAK CIMENTO - PROJE YONETIM SISTEMI (PYS)
   temel.css - Tasarim sistemi cekirdegi
   Surum: 1.1.0
   -------------------------------------------------------------------------
   * Saf CSS. Hicbir dis kaynak, font veya kutuphane yuklenmez (KARARLAR K-04).
   * Kaynak: _analiz/faz1/tasarim_demo.html (dogrulanmis bilesen katalogu).
   * Yazdirma stilleri AYRI dosyadadir: static/css/yazdir.css
   * Tema: :root (acik) + :root[data-tema="koyu"]; prefers-color-scheme
     YALNIZCA :root[data-tema="sistem"] iken devreye girer.
   ========================================================================= */

/* ---------- 1. RENK JETONLARI - ACIK TEMA (varsayilan) ---------- */
:root{
  color-scheme: light;

  /* Yuzeyler (3 kademe) */
  --renk-yuzey-1:#f4f6f9;          /* sayfa zemini             */
  --renk-yuzey-2:#ffffff;          /* kart / panel / modal     */
  --renk-yuzey-3:#e9edf2;          /* tablo basligi, arac cub. */
  --renk-yuzey-hover:#eef2f6;      /* satir / menu hover       */
  --renk-yuzey-secili:#e3ebf5;     /* secili satir             */
  --renk-yuzey-ters:#101c2b;       /* tooltip zemini           */
  --renk-metin-ters:#ffffff;

  /* Metin */
  --renk-metin-1:#101c2b;          /* birincil  17.17:1 */
  --renk-metin-2:#44566e;          /* ikincil    7.49:1 */
  --renk-metin-3:#5f6d82;          /* silik      5.25:1 */

  /* Kenarliklar */
  --renk-kenar:#d4dbe3;            /* dekoratif ayrac    */
  --renk-kenar-guclu:#7b8798;      /* form kenari - 1.4.11: en kotu zemine (secili satir #e3ebf5) karsi 3.03:1 */

  /* Vurgu (kehribar) */
  --renk-vurgu:#b45309;            /* 5.02:1 beyaz uzerinde */
  --renk-vurgu-guclu:#8f4109;      /* hover / basili        */
  --renk-vurgu-zemin:#fff5e8;      /* yumusak zemin         */
  --renk-vurgu-uzeri:#ffffff;      /* dolu buton metni      */

  /* Odak halkasi - vurgudan AYRI renk */
  --renk-odak:#0b57d0;             /* 6.39:1 */
  --renk-odak-halka:rgba(11,87,208,.28);
  --renk-hata-halka:rgba(179,38,30,.22);

  /* Durum renkleri */
  --renk-basari:#12703a;  --renk-basari-zemin:#e9f7ef;  --renk-basari-kenar:#a9d9bd;
  --renk-uyari:#8a5a00;   --renk-uyari-zemin:#fff6e0;   --renk-uyari-kenar:#e8cd8a;
  --renk-hata:#b3261e;    --renk-hata-zemin:#fdedec;    --renk-hata-kenar:#e9b3ae;
  --renk-bilgi:#12559e;   --renk-bilgi-zemin:#e9f2fc;   --renk-bilgi-kenar:#aecbea;
  --renk-notr:#44566e;    --renk-notr-zemin:#eef1f5;    --renk-notr-kenar:#ccd5df;

  /* Grafik paleti - 8 kategorik (Okabe-Ito turevi, renk korlugune uygun) */
  --renk-grafik-1:#0072B2;  /* mavi    */
  --renk-grafik-2:#D55E00;  /* kiremit */
  --renk-grafik-3:#009E73;  /* yesil   */
  --renk-grafik-4:#B3608F;  /* eflatun */
  --renk-grafik-5:#8C6B00;  /* hardal  */
  --renk-grafik-6:#5D4A9C;  /* mor     */
  --renk-grafik-7:#1F7EA8;  /* gok     */
  --renk-grafik-8:#4D5D6C;  /* kursuni */
  --renk-grafik-izgara:#dfe5ec;
  --renk-grafik-eksen:#7b8798;

  /* Golge (koyu temada yeniden tanimlanir) */
  --golge-1:0 1px 2px rgba(16,28,43,.07), 0 1px 1px rgba(16,28,43,.05);
  --golge-2:0 2px 6px rgba(16,28,43,.09), 0 1px 2px rgba(16,28,43,.06);
  --golge-3:0 10px 32px rgba(16,28,43,.16), 0 2px 8px rgba(16,28,43,.09);
  --perde:rgba(16,28,43,.45);
}

/* ---------- 2. RENK JETONLARI - KOYU TEMA ---------- */
:root[data-tema="koyu"]{
  color-scheme: dark;

  --renk-yuzey-1:#0d141d;
  --renk-yuzey-2:#151f2b;
  --renk-yuzey-3:#1e2b3a;
  --renk-yuzey-hover:#1c2836;
  --renk-yuzey-secili:#22344a;
  --renk-yuzey-ters:#e8eef5;
  --renk-metin-ters:#0d141d;

  --renk-metin-1:#e8eef5;          /* 14.24:1 */
  --renk-metin-2:#a9bbcd;          /*  8.46:1 */
  --renk-metin-3:#7f93a8;          /*  5.26:1 */

  --renk-kenar:#2b3a4b;
  --renk-kenar-guclu:#66809b;      /* 1.4.11: en kotu zemine (secili satir #22344a) karsi 3.09:1 */

  --renk-vurgu:#f5a524;            /* 8.15:1 */
  --renk-vurgu-guclu:#ffc25c;
  --renk-vurgu-zemin:#3a2a0e;
  --renk-vurgu-uzeri:#1a1206;      /* parlak zemin uzerinde koyu metin */

  --renk-odak:#8ab4ff;             /* 7.96:1 */
  --renk-odak-halka:rgba(138,180,255,.34);
  --renk-hata-halka:rgba(255,123,114,.28);

  --renk-basari:#4fd18b;  --renk-basari-zemin:#12301f;  --renk-basari-kenar:#2c6a48;
  --renk-uyari:#f0b429;   --renk-uyari-zemin:#33270a;   --renk-uyari-kenar:#7a5d16;
  --renk-hata:#ff7b72;    --renk-hata-zemin:#3a1a18;    --renk-hata-kenar:#8a3a34;
  --renk-bilgi:#6bb2f5;   --renk-bilgi-zemin:#132a42;   --renk-bilgi-kenar:#2f5f8c;
  --renk-notr:#a9bbcd;    --renk-notr-zemin:#202c3a;    --renk-notr-kenar:#3a4b5e;

  --renk-grafik-1:#56B4E9;
  --renk-grafik-2:#F58E4A;
  --renk-grafik-3:#3FCF9E;
  --renk-grafik-4:#E79AC6;
  --renk-grafik-5:#F0DC5C;
  --renk-grafik-6:#A78BFA;
  --renk-grafik-7:#8FD3F4;
  --renk-grafik-8:#A6B6C8;
  --renk-grafik-izgara:#25344a;
  --renk-grafik-eksen:#66809b;

  --golge-1:0 1px 2px rgba(0,0,0,.45);
  --golge-2:0 2px 8px rgba(0,0,0,.5);
  --golge-3:0 12px 36px rgba(0,0,0,.6);
  --perde:rgba(0,0,0,.62);
}

/* ---------- 3. SISTEM TEMASI (ucuncu secenek) ----------
   data-tema="sistem" -> isletim sistemi tercihini izler.
   Kullanici acik/koyu sectiyse bu blok ESLESMEZ (ozgulluk yarisi yok).   */
@media (prefers-color-scheme: dark){
  :root[data-tema="sistem"]{
    color-scheme: dark;
    --renk-yuzey-1:#0d141d; --renk-yuzey-2:#151f2b; --renk-yuzey-3:#1e2b3a;
    --renk-yuzey-hover:#1c2836; --renk-yuzey-secili:#22344a;
    --renk-yuzey-ters:#e8eef5; --renk-metin-ters:#0d141d;
    --renk-metin-1:#e8eef5; --renk-metin-2:#a9bbcd; --renk-metin-3:#7f93a8;
    --renk-kenar:#2b3a4b; --renk-kenar-guclu:#66809b;
    --renk-vurgu:#f5a524; --renk-vurgu-guclu:#ffc25c;
    --renk-vurgu-zemin:#3a2a0e; --renk-vurgu-uzeri:#1a1206;
    --renk-odak:#8ab4ff;
    --renk-odak-halka:rgba(138,180,255,.34);
    --renk-hata-halka:rgba(255,123,114,.28);
    --renk-basari:#4fd18b; --renk-basari-zemin:#12301f; --renk-basari-kenar:#2c6a48;
    --renk-uyari:#f0b429;  --renk-uyari-zemin:#33270a;  --renk-uyari-kenar:#7a5d16;
    --renk-hata:#ff7b72;   --renk-hata-zemin:#3a1a18;   --renk-hata-kenar:#8a3a34;
    --renk-bilgi:#6bb2f5;  --renk-bilgi-zemin:#132a42;  --renk-bilgi-kenar:#2f5f8c;
    --renk-notr:#a9bbcd;   --renk-notr-zemin:#202c3a;   --renk-notr-kenar:#3a4b5e;
    --renk-grafik-1:#56B4E9; --renk-grafik-2:#F58E4A; --renk-grafik-3:#3FCF9E;
    --renk-grafik-4:#E79AC6; --renk-grafik-5:#F0DC5C; --renk-grafik-6:#A78BFA;
    --renk-grafik-7:#8FD3F4; --renk-grafik-8:#A6B6C8;
    --renk-grafik-izgara:#25344a; --renk-grafik-eksen:#66809b;
    --golge-1:0 1px 2px rgba(0,0,0,.45);
    --golge-2:0 2px 8px rgba(0,0,0,.5);
    --golge-3:0 12px 36px rgba(0,0,0,.6);
    --perde:rgba(0,0,0,.62);
  }
}

/* ---------- 4. KISA TAKMA ADLAR (A2/A3 spesifikasyonlariyla uyum) ---------- */
:root{
  --yuzey:var(--renk-yuzey-2);
  --yuzey-alt:var(--renk-yuzey-1);
  --kenar:var(--renk-kenar);
  --kenar-hafif:var(--renk-kenar);
  --satir-hover:var(--renk-yuzey-hover);
  --metin:var(--renk-metin-1);
  --metin-soluk:var(--renk-metin-3);
}

/* ---------- 5. TIPOGRAFI JETONLARI ---------- */
:root{
  /* Sistem font yigini - hicbir dis font indirilmez.
     Turkce: yigindaki tum yuzler Latin-Ext kapsar (i I g G s S c C o O u U). */
  --yazi-govde:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  --yazi-mono:"Cascadia Mono", "Segoe UI Mono", Consolas, "SF Mono",
              "DejaVu Sans Mono", "Liberation Mono", monospace;

  --p-12:12px; --p-13:13px; --p-14:14px; --p-16:16px;
  --p-20:20px; --p-24:24px; --p-32:32px;

  --sy-sik:1.25;      /* baslik, KPI sayisi */
  --sy-normal:1.45;   /* arayuz metni       */
  --sy-genis:1.65;    /* paragraf / not     */

  --k-normal:400; --k-orta:500; --k-yari:600; --k-kalin:700;

  --harf-baslik:-0.01em;
  --harf-kucuk:0.02em;
}

/* ---------- 6. BOSLUK / IZGARA / YARICAP / KATMAN / HAREKET ---------- */
:root{
  --b-0:0;     --b-1:4px;   --b-2:8px;   --b-3:12px;  --b-4:16px;
  --b-5:20px;  --b-6:24px;  --b-8:32px;  --b-10:40px; --b-12:48px;
  --b-16:64px; --b-20:80px;

  --yc-1:4px; --yc-2:6px; --yc-3:8px; --yc-4:12px; --yc-tam:999px;

  --kon-dar:640px;    /* giris / tekil form  */
  --kon-orta:1024px;  /* icerik sayfasi      */
  --kon-genis:1440px; /* pano / rapor        */

  --yan-menu-g:248px;
  --yan-menu-dar:60px;
  --ust-cubuk-y:56px;

  --dokunma:44px;

  --z-yapiskan:100; --z-ustcubuk:200; --z-acilir:300;
  --z-perde:400; --z-modal:410; --z-tooltip:500; --z-bildirim:600;

  --sure-hizli:120ms; --sure-normal:180ms; --sure-yavas:260ms;
  --egri:cubic-bezier(.2,.6,.35,1);
}

/* ---------- 7. SIFIRLAMA VE TEMEL ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--renk-yuzey-1);
  color:var(--renk-metin-1);
  font-family:var(--yazi-govde);
  font-size:var(--p-14);
  line-height:var(--sy-normal);
  font-weight:var(--k-normal);
  /* Turkce metinde bagli-harf/kerning sorunu cikarmayan guvenli ayarlar */
  font-kerning:normal;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
img,svg,video{max-width:100%;}
svg{display:block;}
hr{border:0;border-top:1px solid var(--renk-kenar);margin:var(--b-4) 0;}

/* ---------- 8. TIPOGRAFI ---------- */
h1,h2,h3,h4,h5,h6{margin:0 0 var(--b-2);line-height:var(--sy-sik);
  letter-spacing:var(--harf-baslik);font-weight:var(--k-yari);color:var(--renk-metin-1);}
h1{font-size:var(--p-32);font-weight:var(--k-kalin);}
h2{font-size:var(--p-24);}
h3{font-size:var(--p-20);}
h4{font-size:var(--p-16);}
h5{font-size:var(--p-14);}
h6{font-size:var(--p-13);letter-spacing:var(--harf-kucuk);
   color:var(--renk-metin-3);font-weight:var(--k-yari);}
p{margin:0 0 var(--b-3);line-height:var(--sy-genis);}
small,.p-12{font-size:var(--p-12);}
.p-13{font-size:var(--p-13);} .p-14{font-size:var(--p-14);} .p-16{font-size:var(--p-16);}
.p-20{font-size:var(--p-20);} .p-24{font-size:var(--p-24);} .p-32{font-size:var(--p-32);}
.metin-2{color:var(--renk-metin-2);} .metin-3{color:var(--renk-metin-3);}
.kalin{font-weight:var(--k-yari);} .cok-kalin{font-weight:var(--k-kalin);}
.mono{font-family:var(--yazi-mono);font-size:var(--p-13);}
/* Sekmeli rakam - TUM sayisal hucrelerde zorunlu */
.rakam,table,.kpi-sayi,input[type="text"].sayi,.tarih-alan input{
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
}
.sag{text-align:right;} .orta{text-align:center;}
a{color:var(--renk-vurgu);text-underline-offset:2px;}
a:hover{color:var(--renk-vurgu-guclu);}

/* ---------- 9. ERISILEBILIRLIK ---------- */
.sr-only{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}
.sr-only-odakta:not(:focus):not(:focus-within){
  position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);
}
/* Odak halkasi - ASLA outline:none birakilmaz */
:focus-visible{
  outline:2px solid var(--renk-odak);
  outline-offset:2px;
  border-radius:var(--yc-1);
}
/* Fare tiklamasinda halka gostermemek icin AYRI bir kurala gerek yoktur:
   tarayicilar varsayilan odak halkasini zaten :focus-visible durumunda cizer.
   Odak halkasini kaldiran hicbir kural bu dosyada BULUNMAZ (WCAG 2.4.7). */
.icerige-atla{
  position:absolute;left:var(--b-2);top:-64px;z-index:var(--z-bildirim);
  background:var(--renk-yuzey-2);color:var(--renk-metin-1);
  border:1px solid var(--renk-kenar-guclu);border-radius:var(--yc-2);
  padding:var(--b-2) var(--b-4);box-shadow:var(--golge-3);
  transition:top var(--sure-normal) var(--egri);
}
.icerige-atla:focus{top:var(--b-2);}
[aria-busy="true"]{cursor:progress;}
[hidden]{display:none!important;}

/* ---------- 10. HAREKET ----------
   prefers-reduced-motion: hareket KAPATILIR ama icerik ASLA gizlenmez.
   Onemli: animation:none yerine sureleri 1ms'e cekiyoruz; boylece
   "acilis animasyonu ile gorunur hale gelen" ogeler opacity:0'da KALMAZ. */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:1ms!important;
    animation-iteration-count:1!important;
    transition-duration:1ms!important;
    scroll-behavior:auto!important;
  }
  /* Donen/kayan gostergeler: hareket durur ama oge GORUNUR kalir.
     `animation:none` YAZILMAZ - acilis animasyonuyla gorunur hale gelen
     ogeler opacity:0'da kalirdi. Yukaridaki 1ms kurali hareketi zaten
     bitirir; burada yalnizca son karenin okunur olmasi garanti edilir. */
  .spinner{border-top-color:var(--renk-vurgu)!important;}
  .iskelet{background:var(--renk-yuzey-3)!important;opacity:.75;}
}

/* ---------- 11. DUZEN YARDIMCILARI ---------- */
.yigin{display:flex;flex-direction:column;gap:var(--b-3);}
.satir{display:flex;align-items:center;gap:var(--b-2);}
.satir-yay{display:flex;align-items:center;justify-content:space-between;gap:var(--b-3);}
.sar{flex-wrap:wrap;}
.buyu{flex:1 1 auto;min-width:0;}
.izgara{display:grid;gap:var(--b-4);}
.izgara-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.izgara-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.izgara-4{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:1023px){ .izgara-3,.izgara-4{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:639px){ .izgara-2,.izgara-3,.izgara-4{grid-template-columns:1fr;} }
.kon-dar{max-width:var(--kon-dar);margin-inline:auto;}
.kon-orta{max-width:var(--kon-orta);margin-inline:auto;}
.kon-genis{max-width:var(--kon-genis);margin-inline:auto;}

/* NOT (WCAG 2.5.8 - hedef boyutu): asagidaki .ikon / .onay input /
   .radyo input olculeri GORSEL boyutlardir, tiklama hedefi degildir.
   Ikonlar dekoratiftir (aria-hidden); onay kutusu ve radyo daima
   min-height:44px olan <label class="onay"> icindedir; butonlarda
   .btn::after ile 44px dokunma alani uretilir. */
/* ---------- 12. IKON SISTEMI ----------
   Tum ikonlar 24x24 viewBox, currentColor, tek <use> ile sprite'tan gelir. */
.ikon{--a11y-hedef-muaf:"dekoratif ikon (aria-hidden); hedef sarmalayan .btn/.a, 44px";
  width:20px;height:20px;flex:none;fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.ikon-16{--a11y-hedef-muaf:"dekoratif ikon; hedef sarmalayicidadir";
  width:16px;height:16px;stroke-width:2;}
.ikon-24{width:24px;height:24px;stroke-width:1.7;}
.ikon-32{width:32px;height:32px;stroke-width:1.5;}
.ikon-bb{width:32px;height:32px;stroke-width:1.4;}   /* buyuk - marka/hata sayfasi */
.ikon-dolu{fill:currentColor;stroke:none;}

/* ---------- 13. BUTON ---------- */
.btn{
  --btn-y:36px;                       /* yukseklik   */
  --btn-p:0 var(--b-3);               /* ic bosluk   */
  --btn-f:var(--p-14);
  display:inline-flex;align-items:center;justify-content:center;gap:var(--b-2);
  min-height:var(--btn-y);padding:var(--btn-p);
  font-family:inherit;font-size:var(--btn-f);font-weight:var(--k-yari);
  line-height:1;white-space:nowrap;text-decoration:none;
  border:1px solid transparent;border-radius:var(--yc-2);
  background:transparent;color:var(--renk-metin-1);
  cursor:pointer;position:relative;
  transition:background-color var(--sure-hizli) var(--egri),
             border-color var(--sure-hizli) var(--egri),
             color var(--sure-hizli) var(--egri);
}
/* Dokunma hedefi 44px: gorsel yukseklik 36px kalirken tiklama alani buyutulur */
.btn::after{content:"";position:absolute;inset:50% 0 auto;
  transform:translateY(-50%);height:var(--dokunma);}
@media (pointer:fine){ .btn::after{display:none;} }

.btn:disabled,.btn[aria-disabled="true"]{
  opacity:.5;cursor:not-allowed;pointer-events:none;
}
/* Boyutlar */
.btn-kk{--btn-y:28px;--btn-p:0 var(--b-2);--btn-f:var(--p-13);}
.btn-bb{--btn-y:44px;--btn-p:0 var(--b-5);--btn-f:var(--p-16);}
.btn-blok{display:flex;width:100%;}
.btn-ikon{--btn-p:0;width:var(--btn-y);padding:0;}
.btn-ikon.btn-kk{width:28px;} .btn-ikon.btn-bb{width:44px;}

/* Varyantlar */
.btn-birincil{background:var(--renk-vurgu);color:var(--renk-vurgu-uzeri);
  border-color:var(--renk-vurgu);}
.btn-birincil:hover{background:var(--renk-vurgu-guclu);border-color:var(--renk-vurgu-guclu);}
.btn-birincil:active{filter:brightness(.94);}

.btn-ikincil{background:var(--renk-yuzey-2);color:var(--renk-metin-1);
  border-color:var(--renk-kenar-guclu);box-shadow:var(--golge-1);}
.btn-ikincil:hover{background:var(--renk-yuzey-hover);}

.btn-tehlike{background:var(--renk-hata);color:var(--renk-metin-ters);
  border-color:var(--renk-hata);}
:root[data-tema="koyu"] .btn-tehlike{color:#25100e;}
.btn-tehlike:hover{filter:brightness(.92);}

.btn-hayalet{background:transparent;color:var(--renk-metin-2);border-color:transparent;}
.btn-hayalet:hover{background:var(--renk-yuzey-hover);color:var(--renk-metin-1);}

.btn-bag{background:none;border:0;color:var(--renk-vurgu);
  text-decoration:underline;text-underline-offset:2px;padding:0;min-height:auto;}

/* Yuklenme durumu: metin yerinde kalir (genislik zipla-maz), spinner ustune biner */
.btn[data-yukleniyor="true"]{pointer-events:none;color:transparent!important;}
.btn[data-yukleniyor="true"] .ikon{visibility:hidden;}
.btn[data-yukleniyor="true"]::before{
  content:"";position:absolute;width:16px;height:16px;border-radius:50%;
  border:2px solid currentColor;border-top-color:transparent;
  color:var(--renk-vurgu-uzeri);
  animation:donme 700ms linear infinite;
}
.btn-ikincil[data-yukleniyor="true"]::before,
.btn-hayalet[data-yukleniyor="true"]::before{color:var(--renk-metin-2);}
@keyframes donme{to{transform:rotate(360deg);}}

/* Buton grubu (segment) */
.btn-grup{display:inline-flex;border:1px solid var(--renk-kenar-guclu);
  border-radius:var(--yc-2);overflow:hidden;background:var(--renk-yuzey-2);}
.btn-grup .btn{border-radius:0;border:0;border-right:1px solid var(--renk-kenar);}
.btn-grup .btn:last-child{border-right:0;}
.btn-grup .btn[aria-pressed="true"]{background:var(--renk-vurgu-zemin);
  color:var(--renk-vurgu);font-weight:var(--k-yari);}

/* ---------- 14. FORM ALANLARI ---------- */
.alan{display:flex;flex-direction:column;gap:var(--b-1);margin-bottom:var(--b-4);}
.alan-etiket{font-size:var(--p-13);font-weight:var(--k-yari);color:var(--renk-metin-2);
  display:flex;align-items:center;gap:var(--b-1);}
.zorunlu-yildiz{color:var(--renk-hata);font-weight:var(--k-kalin);}
.alan-yardim{font-size:var(--p-12);color:var(--renk-metin-3);line-height:var(--sy-normal);}
.alan-hata{font-size:var(--p-12);color:var(--renk-hata);font-weight:var(--k-orta);
  display:flex;align-items:flex-start;gap:var(--b-1);}
.alan-hata .ikon{margin-top:1px;}

.girdi,.secim,textarea.girdi{
  width:100%;min-height:36px;padding:7px var(--b-3);
  font-family:inherit;font-size:var(--p-14);line-height:var(--sy-normal);
  color:var(--renk-metin-1);background:var(--renk-yuzey-2);
  border:1px solid var(--renk-kenar-guclu);border-radius:var(--yc-2);
  transition:border-color var(--sure-hizli) var(--egri),
             box-shadow var(--sure-hizli) var(--egri);
}
.girdi::placeholder{color:var(--renk-metin-3);opacity:1;}
.girdi:hover:not(:disabled),.secim:hover:not(:disabled){border-color:var(--renk-metin-3);}
.girdi:focus-visible,.secim:focus-visible,textarea.girdi:focus-visible{
  border-color:var(--renk-odak);
  box-shadow:0 0 0 3px var(--renk-odak-halka);
  outline:2px solid transparent;outline-offset:0;
}
.girdi:disabled,.secim:disabled{background:var(--renk-yuzey-3);color:var(--renk-metin-3);
  cursor:not-allowed;border-color:var(--renk-kenar);}
.girdi[readonly]{background:var(--renk-yuzey-3);}
.girdi[aria-invalid="true"],.secim[aria-invalid="true"]{
  border-color:var(--renk-hata);
  box-shadow:0 0 0 3px var(--renk-hata-halka);
}
textarea.girdi{min-height:88px;resize:vertical;line-height:var(--sy-genis);}
.girdi-kk{min-height:28px;padding:3px var(--b-2);font-size:var(--p-13);}
.girdi-bb{min-height:44px;font-size:var(--p-16);}

/* Select: yerel ok gizlenip kendi okumuz cizilir (dis ikon dosyasi yok) */
.secim{
  appearance:none;-webkit-appearance:none;padding-right:var(--b-8);
  background-image:
    linear-gradient(45deg,transparent 50%,var(--renk-metin-2) 50%),
    linear-gradient(135deg,var(--renk-metin-2) 50%,transparent 50%);
  background-position:calc(100% - 18px) calc(50% + 2px),calc(100% - 12px) calc(50% + 2px);
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;
}
.secim option{background:var(--renk-yuzey-2);color:var(--renk-metin-1);}

/* Girdi grubu: onek/sonek ikon veya buton */
.girdi-grup{position:relative;display:flex;align-items:center;}
.girdi-grup .girdi{padding-left:var(--b-8);}
.girdi-grup > .ikon-onek{position:absolute;left:10px;color:var(--renk-metin-3);
  pointer-events:none;}
.girdi-grup > .son-btn{position:absolute;right:4px;}
.girdi-grup.sag-ikonlu .girdi{padding-left:var(--b-3);padding-right:var(--b-10);}

/* Arama kutusu */
.arama{max-width:360px;}
.arama .girdi{border-radius:var(--yc-tam);}

/* Onay kutusu ve radyo - ozel cizim, 20px kutu + 44px dokunma alani */
.onay,.radyo{
  display:inline-flex;align-items:flex-start;gap:var(--b-2);
  min-height:var(--dokunma);padding:var(--b-2) 0;cursor:pointer;
  font-size:var(--p-14);color:var(--renk-metin-1);
}
.onay input,.radyo input{
  /* 20px GORSEL kutudur; gercek hedef min-height:44px olan <label class="onay">
     sarmalayicisidir (yukaridaki .onay,.radyo kurali). */
  --a11y-hedef-muaf:"gorsel kutu; hedef min-height:44px olan .onay/.radyo etiketi";
  appearance:none;-webkit-appearance:none;margin:0;flex:none;
  width:20px;height:20px;border:1px solid var(--renk-kenar-guclu);
  background:var(--renk-yuzey-2);cursor:pointer;position:relative;
  transition:background-color var(--sure-hizli) var(--egri),
             border-color var(--sure-hizli) var(--egri);
}
.onay input{border-radius:var(--yc-1);}
.radyo input{border-radius:50%;}
.onay input:checked,.radyo input:checked{
  background:var(--renk-vurgu);border-color:var(--renk-vurgu);
}
.onay input:checked::after{
  content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;
  border:2px solid var(--renk-vurgu-uzeri);border-top:0;border-left:0;
  transform:rotate(42deg);
}
.onay input:indeterminate{background:var(--renk-vurgu);border-color:var(--renk-vurgu);}
.onay input:indeterminate::after{
  content:"";position:absolute;left:3px;top:8px;width:12px;height:2px;
  background:var(--renk-vurgu-uzeri);
}
.radyo input:checked::after{
  content:"";position:absolute;left:5px;top:5px;width:8px;height:8px;border-radius:50%;
  background:var(--renk-vurgu-uzeri);
}
.onay input:disabled,.radyo input:disabled{opacity:.45;cursor:not-allowed;}
.onay-metin{padding-top:1px;line-height:var(--sy-normal);}

/* Anahtar (switch) - tema secimi gibi ikili durumlar icin */
.anahtar{display:inline-flex;align-items:center;gap:var(--b-2);min-height:var(--dokunma);
  cursor:pointer;}
.anahtar input{appearance:none;-webkit-appearance:none;margin:0;
  width:44px;height:24px;border-radius:var(--yc-tam);
  background:var(--renk-kenar-guclu);position:relative;cursor:pointer;
  transition:background-color var(--sure-normal) var(--egri);}
.anahtar input::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;
  border-radius:50%;background:#fff;box-shadow:var(--golge-1);
  transition:transform var(--sure-normal) var(--egri);}
.anahtar input:checked{background:var(--renk-vurgu);}
.anahtar input:checked::after{transform:translateX(20px);}

/* ---------- 15. TARIH ALANI (ozel - dd/mm/yyyy) ----------
   KARAR: yerel <input type="date"> KULLANILMAZ (bkz. dokuman KARAR-T1).
   Maskeli metin girisi + kendi cizdigimiz Turkce takvim + gizli ISO alan. */
.tarih-alan{position:relative;}
.tarih-alan .girdi{padding-right:var(--b-10);letter-spacing:.02em;}
.tarih-alan .tkv-btn{position:absolute;right:3px;top:50%;transform:translateY(-50%);}
.takvim{
  position:absolute;z-index:var(--z-acilir);top:calc(100% + 4px);left:0;width:276px;
  background:var(--renk-yuzey-2);border:1px solid var(--renk-kenar);
  border-radius:var(--yc-3);box-shadow:var(--golge-3);padding:var(--b-3);
}
.takvim-ust{display:flex;align-items:center;justify-content:space-between;
  margin-bottom:var(--b-2);gap:var(--b-1);}
.takvim-ay{font-weight:var(--k-yari);font-size:var(--p-14);}
.takvim-izgara{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.takvim-gun-basi{font-size:var(--p-12);color:var(--renk-metin-3);text-align:center;
  padding:var(--b-1) 0;font-weight:var(--k-yari);}
.takvim-gun{
  min-height:32px;border:1px solid transparent;border-radius:var(--yc-1);
  background:transparent;color:var(--renk-metin-1);font:inherit;font-size:var(--p-13);
  cursor:pointer;font-variant-numeric:tabular-nums;
}
.takvim-gun:hover{background:var(--renk-yuzey-hover);}
.takvim-gun.disari{color:var(--renk-metin-3);opacity:.55;}
.takvim-gun.bugun{border-color:var(--renk-vurgu);font-weight:var(--k-yari);}
.takvim-gun[aria-selected="true"]{background:var(--renk-vurgu);color:var(--renk-vurgu-uzeri);
  font-weight:var(--k-yari);}
.takvim-alt{display:flex;justify-content:space-between;margin-top:var(--b-2);
  padding-top:var(--b-2);border-top:1px solid var(--renk-kenar);}

/* ---------- 16. ARANABILIR COKLU SECIM (cip'li picklist) ---------- */
.coklu{position:relative;}
.coklu-kutu{
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--b-1);
  min-height:36px;padding:4px 32px 4px var(--b-2);
  background:var(--renk-yuzey-2);border:1px solid var(--renk-kenar-guclu);
  border-radius:var(--yc-2);cursor:text;
}
.coklu-kutu:focus-within{
  border-color:var(--renk-odak);
  box-shadow:0 0 0 3px var(--renk-odak-halka);
}
/* Ic girdide gorsel halka gosterilmez; odak halkasini SARMALAYICI cizer
   (.coklu-kutu:focus-within). `outline:none` YAZILMAZ - seffaf outline
   birakilir ki yuksek kontrast kipinde sistem halkasi kaybolmasin. */
.coklu-kutu .coklu-girdi{
  flex:1 1 80px;min-width:80px;border:0;
  outline:2px solid transparent;outline-offset:0;background:transparent;
  color:var(--renk-metin-1);font:inherit;font-size:var(--p-14);padding:4px 2px;
}
.coklu-ok{position:absolute;right:10px;top:12px;color:var(--renk-metin-3);
  pointer-events:none;}
.coklu-liste{
  position:absolute;z-index:var(--z-acilir);top:calc(100% + 4px);left:0;right:0;
  max-height:248px;overflow-y:auto;margin:0;padding:var(--b-1);list-style:none;
  background:var(--renk-yuzey-2);border:1px solid var(--renk-kenar);
  border-radius:var(--yc-3);box-shadow:var(--golge-3);
}
.coklu-liste li{
  display:flex;align-items:center;gap:var(--b-2);min-height:36px;
  padding:var(--b-2) var(--b-2);border-radius:var(--yc-1);cursor:pointer;
  font-size:var(--p-14);
}
.coklu-liste li[aria-selected="true"]{background:var(--renk-yuzey-secili);}
.coklu-liste li.imlecte{background:var(--renk-yuzey-hover);
  box-shadow:inset 2px 0 0 var(--renk-vurgu);}
.coklu-liste .bos{color:var(--renk-metin-3);cursor:default;justify-content:center;}
.coklu-liste mark{background:var(--renk-vurgu-zemin);color:var(--renk-vurgu);
  font-weight:var(--k-yari);padding:0 1px;border-radius:2px;}

/* ---------- 17. CIP / ROZET / ETIKET ---------- */
.cip{
  display:inline-flex;align-items:center;gap:4px;max-width:220px;
  padding:2px var(--b-1) 2px var(--b-2);border-radius:var(--yc-tam);
  background:var(--renk-yuzey-3);color:var(--renk-metin-1);
  border:1px solid var(--renk-kenar);font-size:var(--p-12);line-height:18px;
}
.cip-metin{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cip-sil{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border:0;border-radius:50%;background:transparent;
  color:var(--renk-metin-2);cursor:pointer;padding:0;flex:none;
}
.cip-sil:hover{background:var(--renk-hata-zemin);color:var(--renk-hata);}

.rozet{
  display:inline-flex;align-items:center;gap:4px;
  padding:2px var(--b-2);border-radius:var(--yc-tam);
  font-size:var(--p-12);font-weight:var(--k-yari);line-height:18px;
  border:1px solid transparent;white-space:nowrap;
}
.rozet .nokta{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none;}
.rozet-notr  {background:var(--renk-notr-zemin);  color:var(--renk-notr);  border-color:var(--renk-notr-kenar);}
.rozet-basari{background:var(--renk-basari-zemin);color:var(--renk-basari);border-color:var(--renk-basari-kenar);}
.rozet-uyari {background:var(--renk-uyari-zemin); color:var(--renk-uyari); border-color:var(--renk-uyari-kenar);}
.rozet-hata  {background:var(--renk-hata-zemin);  color:var(--renk-hata);  border-color:var(--renk-hata-kenar);}
.rozet-bilgi {background:var(--renk-bilgi-zemin); color:var(--renk-bilgi); border-color:var(--renk-bilgi-kenar);}
.rozet-vurgu {background:var(--renk-vurgu-zemin); color:var(--renk-vurgu); border-color:var(--renk-vurgu);}
.rozet-sayac{min-width:18px;justify-content:center;padding:0 5px;
  background:var(--renk-hata);color:var(--renk-metin-ters);border:0;}
:root[data-tema="koyu"] .rozet-sayac{color:#25100e;}

/* ---------- 18. KART ---------- */
.kart{
  background:var(--renk-yuzey-2);border:1px solid var(--renk-kenar);
  border-radius:var(--yc-3);box-shadow:var(--golge-1);
}
.kart-basi{
  display:flex;align-items:center;justify-content:space-between;gap:var(--b-3);
  padding:var(--b-3) var(--b-4);border-bottom:1px solid var(--renk-kenar);
  min-height:52px;
}
.kart-basi h3,.kart-basi h4{margin:0;}
.kart-govde{padding:var(--b-4);}
.kart-alt{padding:var(--b-3) var(--b-4);border-top:1px solid var(--renk-kenar);
  background:var(--renk-yuzey-1);border-radius:0 0 var(--yc-3) var(--yc-3);}

/* Istatistik (KPI) kutusu */
.kpi{
  display:flex;flex-direction:column;gap:var(--b-2);
  padding:var(--b-4);background:var(--renk-yuzey-2);
  border:1px solid var(--renk-kenar);border-left:3px solid var(--renk-vurgu);
  border-radius:var(--yc-3);box-shadow:var(--golge-1);min-width:0;
}
.kpi-baslik{font-size:var(--p-13);color:var(--renk-metin-2);font-weight:var(--k-orta);
  display:flex;align-items:center;gap:var(--b-1);}
.kpi-orta{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--b-3);}
.kpi-sayi{font-size:var(--p-32);font-weight:var(--k-kalin);line-height:1.1;
  letter-spacing:-.02em;color:var(--renk-metin-1);}
.kpi-birim{font-size:var(--p-14);font-weight:var(--k-orta);color:var(--renk-metin-3);
  margin-left:4px;}
.kpi-degisim{display:inline-flex;align-items:center;gap:3px;font-size:var(--p-13);
  font-weight:var(--k-yari);white-space:nowrap;}
.kpi-degisim.artis{color:var(--renk-basari);}
.kpi-degisim.azalis{color:var(--renk-hata);}
.kpi-degisim.sabit{color:var(--renk-metin-3);}
.kpi-mini{height:36px;width:100%;} /* mini grafik (sparkline) yeri */
.kpi-dip{font-size:var(--p-12);color:var(--renk-metin-3);}

/* ---------- 19. TABLO ---------- */
.tablo-kabi{
  position:relative;overflow:auto;max-height:none;
  border:1px solid var(--renk-kenar);border-radius:var(--yc-3);
  background:var(--renk-yuzey-2);
}
.tablo{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--p-14);}
.tablo caption{text-align:left;padding:var(--b-3) var(--b-4);font-weight:var(--k-yari);
  color:var(--renk-metin-2);}
.tablo th,.tablo td{
  padding:var(--b-2) var(--b-3);text-align:left;vertical-align:middle;
  border-bottom:1px solid var(--renk-kenar);
}
.tablo thead th{
  position:sticky;top:0;z-index:var(--z-yapiskan);
  background:var(--renk-yuzey-3);color:var(--renk-metin-2);
  font-size:var(--p-13);font-weight:var(--k-yari);white-space:nowrap;
  border-bottom:1px solid var(--renk-kenar-guclu);
  box-shadow:inset 0 -1px 0 var(--renk-kenar);
}
.tablo tbody tr{transition:background-color var(--sure-hizli) var(--egri);}
.tablo tbody tr:hover{background:var(--renk-yuzey-hover);}
.tablo tbody tr[aria-selected="true"]{background:var(--renk-yuzey-secili);}
.tablo tbody tr:last-child td{border-bottom:0;}
.tablo-zebra tbody tr:nth-child(even){background:var(--renk-yuzey-1);}
.tablo-zebra tbody tr:nth-child(even):hover{background:var(--renk-yuzey-hover);}
.tablo-sik th,.tablo-sik td{padding:var(--b-1) var(--b-2);}
.tablo .sayi{text-align:right;font-variant-numeric:tabular-nums;}
.tablo .islem{width:1%;white-space:nowrap;}

/* Siralanabilir baslik */
.tablo th.sirali{padding:0;}
.tablo th.sirali .sirala-btn{
  display:flex;align-items:center;gap:var(--b-1);width:100%;
  padding:var(--b-2) var(--b-3);background:none;border:0;cursor:pointer;
  font:inherit;font-size:var(--p-13);font-weight:var(--k-yari);
  color:var(--renk-metin-2);text-align:left;
}
.tablo th.sirali .sirala-btn:hover{background:var(--renk-yuzey-hover);
  color:var(--renk-metin-1);}
.sirala-ok{opacity:.35;transition:opacity var(--sure-hizli) var(--egri);}
th[aria-sort="ascending"] .sirala-ok,
th[aria-sort="descending"] .sirala-ok{opacity:1;color:var(--renk-vurgu);}
th[aria-sort="descending"] .sirala-ok{transform:rotate(180deg);}

/* Agac girintisi (3 seviyeye kadar alt kirilim) */
.tablo .agac{display:flex;align-items:center;gap:var(--b-1);min-width:0;}
.tablo tr[data-seviye="1"] .agac{padding-left:24px;}
.tablo tr[data-seviye="2"] .agac{padding-left:48px;}
.tablo tr[data-seviye="3"] .agac{padding-left:72px;}
.tablo tr[data-seviye="1"] td:first-child{box-shadow:inset 3px 0 0 var(--renk-grafik-1);}
.tablo tr[data-seviye="2"] td:first-child{box-shadow:inset 3px 0 0 var(--renk-grafik-3);}
.tablo tr[data-seviye="3"] td:first-child{box-shadow:inset 3px 0 0 var(--renk-grafik-5);}
.agac-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;flex:none;padding:0;border:0;border-radius:var(--yc-1);
  background:transparent;color:var(--renk-metin-2);cursor:pointer;
}
.agac-btn:hover{background:var(--renk-yuzey-3);color:var(--renk-metin-1);}
.agac-btn .ikon{transition:transform var(--sure-normal) var(--egri);}
.agac-btn[aria-expanded="true"] .ikon{transform:rotate(90deg);}
.agac-bosluk{width:24px;flex:none;}

/* Yapiskan ilk sutun (genis tablolarda) */
.tablo-donuk td:first-child,.tablo-donuk th:first-child{
  position:sticky;left:0;z-index:2;background:var(--renk-yuzey-2);
}
.tablo-donuk thead th:first-child{z-index:calc(var(--z-yapiskan) + 1);
  background:var(--renk-yuzey-3);}

/* Bos durum */
.bos-durum{
  display:flex;flex-direction:column;align-items:center;gap:var(--b-3);
  padding:var(--b-12) var(--b-4);text-align:center;color:var(--renk-metin-2);
}
.bos-durum .ikon{width:44px;height:44px;color:var(--renk-metin-3);stroke-width:1.2;}
.bos-durum h4,.bos-durum h2{margin:0;font-size:var(--p-16);
  font-weight:var(--k-yari);color:var(--renk-metin-1);}
.bos-durum p{max-width:46ch;margin:0;color:var(--renk-metin-3);}

/* Yukleniyor iskeleti */
.iskelet{
  display:block;height:12px;border-radius:var(--yc-1);
  background:linear-gradient(90deg,
    var(--renk-yuzey-3) 0%, var(--renk-yuzey-hover) 50%, var(--renk-yuzey-3) 100%);
  background-size:200% 100%;
  animation:iskelet-kay 1.4s ease-in-out infinite;
}
.iskelet-satir{height:16px;margin:var(--b-2) 0;}
@keyframes iskelet-kay{0%{background-position:200% 0;}100%{background-position:-200% 0;}}

/* ---------- 20. UYARI KUTUSU (satir ici) ---------- */
.uyari-kutu{
  display:flex;gap:var(--b-3);padding:var(--b-3) var(--b-4);
  border:1px solid;border-left-width:3px;border-radius:var(--yc-2);
  font-size:var(--p-14);line-height:var(--sy-normal);
}
.uyari-kutu .ikon{flex:none;margin-top:1px;}
.uyari-kutu h5,.uyari-kutu h2{margin:0 0 2px;font-size:var(--p-14);
  line-height:var(--sy-sik);font-weight:var(--k-yari);}
.uyari-kutu p{margin:0;color:inherit;}
.uyari-bilgi {background:var(--renk-bilgi-zemin); border-color:var(--renk-bilgi-kenar); border-left-color:var(--renk-bilgi); color:var(--renk-bilgi);}
.uyari-basari{background:var(--renk-basari-zemin);border-color:var(--renk-basari-kenar);border-left-color:var(--renk-basari);color:var(--renk-basari);}
.uyari-uyari {background:var(--renk-uyari-zemin); border-color:var(--renk-uyari-kenar); border-left-color:var(--renk-uyari); color:var(--renk-uyari);}
.uyari-hata  {background:var(--renk-hata-zemin);  border-color:var(--renk-hata-kenar);  border-left-color:var(--renk-hata);  color:var(--renk-hata);}
.uyari-kutu .govde{color:var(--renk-metin-1);}

/* ---------- 21. BILDIRIM (toast) - SADECE UYGULAMA ICI ---------- */
.bildirim-yuvasi{
  position:fixed;right:var(--b-4);bottom:var(--b-4);z-index:var(--z-bildirim);
  display:flex;flex-direction:column;gap:var(--b-2);
  width:min(380px,calc(100vw - 32px));pointer-events:none;
}
.bildirim{
  pointer-events:auto;display:flex;gap:var(--b-3);align-items:flex-start;
  padding:var(--b-3) var(--b-4);background:var(--renk-yuzey-2);
  border:1px solid var(--renk-kenar);border-left:3px solid var(--renk-bilgi);
  border-radius:var(--yc-3);box-shadow:var(--golge-3);
  animation:bildirim-gir var(--sure-yavas) var(--egri);
}
.bildirim.basari{border-left-color:var(--renk-basari);}
.bildirim.uyari{border-left-color:var(--renk-uyari);}
.bildirim.hata{border-left-color:var(--renk-hata);}
.bildirim .ikon{flex:none;margin-top:1px;}
.bildirim.basari > .ikon{color:var(--renk-basari);}
.bildirim.uyari > .ikon{color:var(--renk-uyari);}
.bildirim.hata > .ikon{color:var(--renk-hata);}
.bildirim.bilgi > .ikon{color:var(--renk-bilgi);}
.bildirim-govde{flex:1;min-width:0;}
.bildirim-baslik{font-weight:var(--k-yari);margin-bottom:2px;}
.bildirim-metin{font-size:var(--p-13);color:var(--renk-metin-2);}
@keyframes bildirim-gir{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* ---------- 22. MODAL ---------- */
.perde{
  position:fixed;inset:0;z-index:var(--z-perde);background:var(--perde);
  display:flex;align-items:center;justify-content:center;padding:var(--b-4);
  animation:solgun var(--sure-normal) var(--egri);
}
@keyframes solgun{from{opacity:0;}to{opacity:1;}}
.modal{
  position:relative;z-index:var(--z-modal);
  display:flex;flex-direction:column;
  width:min(720px,100%);max-height:calc(100vh - 32px);
  background:var(--renk-yuzey-2);border:1px solid var(--renk-kenar);
  border-radius:var(--yc-4);box-shadow:var(--golge-3);overflow:hidden;
  animation:modal-gir var(--sure-yavas) var(--egri);
}
@keyframes modal-gir{from{opacity:0;transform:translateY(12px) scale(.99);}to{opacity:1;transform:none;}}
.modal-kk{width:min(440px,100%);}
.modal-bb{width:min(1080px,100%);}
.modal-basi{
  display:flex;align-items:center;justify-content:space-between;gap:var(--b-3);
  padding:var(--b-4);border-bottom:1px solid var(--renk-kenar);flex:none;
}
.modal-basi h3{margin:0;font-size:var(--p-20);}
.modal-govde{padding:var(--b-4);overflow-y:auto;flex:1 1 auto;
  overscroll-behavior:contain;}
.modal-alt{
  display:flex;align-items:center;justify-content:flex-end;gap:var(--b-2);
  padding:var(--b-3) var(--b-4);border-top:1px solid var(--renk-kenar);
  background:var(--renk-yuzey-1);flex:none;
}
body.modal-acik{overflow:hidden;}   /* arka plan kaydirma kilidi */
@media (max-width:639px){
  .perde{padding:0;align-items:flex-end;}
  .modal{width:100%;max-height:92vh;border-radius:var(--yc-4) var(--yc-4) 0 0;}
  .modal-alt{flex-direction:column-reverse;}
  .modal-alt .btn{width:100%;}
}

/* ---------- 23. SEKMELER ---------- */
.sekmeler{display:flex;gap:var(--b-1);border-bottom:1px solid var(--renk-kenar);
  overflow-x:auto;}
.sekme{
  position:relative;display:inline-flex;align-items:center;gap:var(--b-2);
  padding:var(--b-3) var(--b-4);min-height:var(--dokunma);
  background:none;border:0;border-bottom:2px solid transparent;
  font:inherit;font-size:var(--p-14);font-weight:var(--k-orta);
  color:var(--renk-metin-2);cursor:pointer;white-space:nowrap;
  transition:color var(--sure-hizli) var(--egri),
             border-color var(--sure-hizli) var(--egri);
}
.sekme:hover{color:var(--renk-metin-1);background:var(--renk-yuzey-hover);}
.sekme[aria-selected="true"]{color:var(--renk-vurgu);border-bottom-color:var(--renk-vurgu);
  font-weight:var(--k-yari);}
.sekme-panel{padding:var(--b-4) 0;}
.sekme-panel[hidden]{display:none;}

/* ---------- 24. ACILIR MENU ---------- */
.acilir{position:relative;display:inline-block;}
.acilir-menu{
  position:absolute;z-index:var(--z-acilir);top:calc(100% + 4px);right:0;min-width:220px;
  margin:0;padding:var(--b-1);list-style:none;
  background:var(--renk-yuzey-2);border:1px solid var(--renk-kenar);
  border-radius:var(--yc-3);box-shadow:var(--golge-3);
}
.acilir-menu.sola{right:auto;left:0;}
.acilir-menu li{margin:0;}
.acilir-oge{
  display:flex;align-items:center;gap:var(--b-2);width:100%;
  padding:var(--b-2) var(--b-3);min-height:36px;
  background:none;border:0;border-radius:var(--yc-2);
  font:inherit;font-size:var(--p-14);color:var(--renk-metin-1);
  text-align:left;text-decoration:none;cursor:pointer;
}
.acilir-oge:hover{background:var(--renk-yuzey-hover);}
.acilir-oge.tehlike{color:var(--renk-hata);}
.acilir-oge.tehlike:hover{background:var(--renk-hata-zemin);}
.acilir-ayrac{height:1px;margin:var(--b-1) 0;background:var(--renk-kenar);}
/* K-09: text-transform:uppercase KULLANILMAZ ("i" -> "I" uretir, "İ" olmali).
   Ust bilgi gorunumu buyuk harf yerine punto + harf araligi + renk ile verilir. */
.acilir-baslik{padding:var(--b-2) var(--b-3) var(--b-1);font-size:var(--p-12);
  letter-spacing:var(--harf-kucuk);color:var(--renk-metin-3);
  font-weight:var(--k-yari);}

/* ---------- 25. TOOLTIP (saf CSS, JS'siz) ---------- */
.ipucu{position:relative;}
.ipucu::after{
  content:attr(data-ipucu);
  position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);
  z-index:var(--z-tooltip);
  padding:5px var(--b-2);max-width:260px;width:max-content;
  background:var(--renk-yuzey-ters);color:var(--renk-metin-ters);
  font-size:var(--p-12);line-height:1.35;border-radius:var(--yc-2);
  box-shadow:var(--golge-2);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity var(--sure-hizli) var(--egri),
             visibility var(--sure-hizli) var(--egri);
}
.ipucu:hover::after,.ipucu:focus-visible::after{opacity:1;visibility:visible;}
.ipucu-alt::after{bottom:auto;top:calc(100% + 6px);}

/* ---------- 26. SAYFALAMA ---------- */
.sayfalama{display:flex;align-items:center;gap:var(--b-1);flex-wrap:wrap;}
.sayfalama .sayfa{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;height:34px;padding:0 var(--b-2);
  border:1px solid var(--renk-kenar);border-radius:var(--yc-2);
  background:var(--renk-yuzey-2);color:var(--renk-metin-1);
  font:inherit;font-size:var(--p-13);font-variant-numeric:tabular-nums;cursor:pointer;
}
.sayfalama .sayfa:hover{background:var(--renk-yuzey-hover);}
.sayfalama .sayfa[aria-current="page"]{
  background:var(--renk-vurgu);border-color:var(--renk-vurgu);
  color:var(--renk-vurgu-uzeri);font-weight:var(--k-yari);
}
.sayfalama .sayfa:disabled{opacity:.4;cursor:not-allowed;}
.sayfalama .bosluk{padding:0 4px;color:var(--renk-metin-3);}

/* ---------- 27. YUKLEME GOSTERGESI / ILERLEME ---------- */
.spinner{
  width:20px;height:20px;flex:none;border-radius:50%;
  border:2px solid var(--renk-kenar-guclu);border-top-color:var(--renk-vurgu);
  animation:donme 700ms linear infinite;
}
.spinner-bb{width:32px;height:32px;border-width:3px;}
.ilerleme{
  height:8px;width:100%;background:var(--renk-yuzey-3);
  border-radius:var(--yc-tam);overflow:hidden;
}
.ilerleme > i{
  display:block;height:100%;background:var(--renk-vurgu);border-radius:inherit;
  transition:width var(--sure-yavas) var(--egri);
}
.ilerleme.basari > i{background:var(--renk-basari);}
.ilerleme.hata > i{background:var(--renk-hata);}
.ilerleme-belirsiz > i{width:36%;animation:ilerleme-git 1.2s ease-in-out infinite;}
@keyframes ilerleme-git{0%{margin-left:-36%;}100%{margin-left:100%;}}

/* ---------- 28. UST CUBUK / YAN MENU / EKMEK KIRINTISI ---------- */
.uygulama{display:grid;grid-template-columns:auto 1fr;min-height:100vh;}
.ust-cubuk{
  grid-column:1 / -1;position:sticky;top:0;z-index:var(--z-ustcubuk);
  display:flex;align-items:center;gap:var(--b-3);
  height:var(--ust-cubuk-y);padding:0 var(--b-4);
  background:var(--renk-yuzey-2);border-bottom:1px solid var(--renk-kenar);
}
.marka{display:flex;align-items:center;gap:var(--b-2);font-weight:var(--k-kalin);
  font-size:var(--p-16);color:var(--renk-metin-1);text-decoration:none;white-space:nowrap;}
.marka .ikon{color:var(--renk-vurgu);}

.yan-menu{
  position:sticky;top:var(--ust-cubuk-y);align-self:start;
  width:var(--yan-menu-g);height:calc(100vh - var(--ust-cubuk-y));
  padding:var(--b-3);overflow-y:auto;
  background:var(--renk-yuzey-2);border-right:1px solid var(--renk-kenar);
  transition:width var(--sure-normal) var(--egri);
}
.yan-menu[data-daralt="true"]{width:var(--yan-menu-dar);padding:var(--b-3) var(--b-2);}
.yan-menu[data-daralt="true"] .menu-metin,
.yan-menu[data-daralt="true"] .menu-baslik{display:none;}
.yan-menu[data-daralt="true"] .menu-oge{justify-content:center;padding:var(--b-2);}
.menu-baslik{padding:var(--b-3) var(--b-2) var(--b-1);font-size:var(--p-12);
  letter-spacing:var(--harf-kucuk);
  color:var(--renk-metin-3);font-weight:var(--k-yari);}
.menu-oge{
  display:flex;align-items:center;gap:var(--b-3);
  padding:var(--b-2) var(--b-3);min-height:40px;margin-bottom:2px;
  border-radius:var(--yc-2);color:var(--renk-metin-2);text-decoration:none;
  font-size:var(--p-14);font-weight:var(--k-orta);
  transition:background-color var(--sure-hizli) var(--egri),
             color var(--sure-hizli) var(--egri);
}
.menu-oge:hover{background:var(--renk-yuzey-hover);color:var(--renk-metin-1);}
.menu-oge[aria-current="page"]{
  background:var(--renk-vurgu-zemin);color:var(--renk-vurgu);font-weight:var(--k-yari);
  box-shadow:inset 3px 0 0 var(--renk-vurgu);
}
.menu-oge .ikon{flex:none;}
/* T54-B7: DAR EKRANDA KAPALI MENU ODAK AGACININ DISINDADIR.
   Kapali menu eskiden YALNIZ `transform:translateX(-100%)` ile ekran disina
   kaydiriliyordu. `transform` ogeyi GORUNMEZ yapar ama KALDIRMAZ: oge hala
   cizilir, hala odaklanabilir. Olculen sonuc: <=1023px'te klavye kullanicisi
   Sekme tusuyla ekranda GORUNMEYEN 15 menu baglantisi arasinda dolasiyordu
   (WCAG 2.4.3/2.4.7 - odak gorunur olmali).
   `visibility:hidden` ogeyi hem cizimden hem ODAK AGACINDAN cikarir; menu
   `data-acik="true"` olunca gorunurluk geri verilir. `display:none` yerine
   `visibility` secildi: `display` degisimi yerlesimi yeniden hesaplatir ve
   ileride bir kayma gecisi eklenirse onu imkansiz kilardi. */
@media (max-width:1023px){
  .uygulama{grid-template-columns:1fr;}
  .yan-menu{position:fixed;top:var(--ust-cubuk-y);left:0;z-index:var(--z-acilir);
    transform:translateX(-100%);visibility:hidden;box-shadow:var(--golge-3);}
  .yan-menu[data-acik="true"]{transform:none;visibility:visible;}
}

.ekmek{display:flex;align-items:center;gap:var(--b-1);flex-wrap:wrap;
  font-size:var(--p-13);color:var(--renk-metin-3);}
.ekmek ol{display:flex;align-items:center;gap:var(--b-1);flex-wrap:wrap;
  list-style:none;margin:0;padding:0;}
.ekmek li{display:flex;align-items:center;gap:var(--b-1);}
.ekmek a{color:var(--renk-metin-2);text-decoration:none;}
.ekmek a:hover{color:var(--renk-vurgu);text-decoration:underline;}
.ekmek [aria-current="page"]{color:var(--renk-metin-1);font-weight:var(--k-orta);}
.ekmek .ayrac{color:var(--renk-metin-3);}

/* ---------- 29. GRAFIK YARDIMCILARI ---------- */
.grafik-lejant{display:flex;flex-wrap:wrap;gap:var(--b-2) var(--b-4);font-size:var(--p-13);}
.grafik-lejant span{display:inline-flex;align-items:center;gap:var(--b-2);
  color:var(--renk-metin-2);}
.grafik-lejant i{width:12px;height:12px;border-radius:3px;flex:none;}
.gr-1{background:var(--renk-grafik-1);} .gr-2{background:var(--renk-grafik-2);}
.gr-3{background:var(--renk-grafik-3);} .gr-4{background:var(--renk-grafik-4);}
.gr-5{background:var(--renk-grafik-5);} .gr-6{background:var(--renk-grafik-6);}
.gr-7{background:var(--renk-grafik-7);} .gr-8{background:var(--renk-grafik-8);}

.yazdirma-var{display:none;}


/* =========================================================================
   31. EK BILESENLER (uygulama katmani - demo katalogunda olmayanlar)
   ========================================================================= */

/* ---------- 31.1 Sayfa duzeni yardimcilari ---------- */
.sayfa-basi{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:var(--b-4);flex-wrap:wrap;margin:var(--b-4) 0 var(--b-6);
}
.sayfa-basi h1{margin-bottom:var(--b-1);font-size:var(--p-24);}
.sayfa-basi p{margin:0;color:var(--renk-metin-2);}
.arac-cubugu{
  display:flex;align-items:center;gap:var(--b-2);flex-wrap:wrap;
  padding:var(--b-2) var(--b-3);background:var(--renk-yuzey-3);
  border:1px solid var(--renk-kenar);border-radius:var(--yc-3);
}
.altbilgi{
  padding:var(--b-4) var(--b-6);border-top:1px solid var(--renk-kenar);
  color:var(--renk-metin-3);font-size:var(--p-12);
  display:flex;gap:var(--b-4);flex-wrap:wrap;align-items:center;
}

/* ---------- 31.2 Bildirim merkezi (uygulama ici - dis bildirim YOK) ---------- */
.bildirim-merkez{
  position:absolute;z-index:var(--z-acilir);top:calc(100% + 6px);right:0;
  width:min(380px,calc(100vw - 24px));max-height:70vh;overflow-y:auto;
  background:var(--renk-yuzey-2);border:1px solid var(--renk-kenar);
  border-radius:var(--yc-3);box-shadow:var(--golge-3);padding:var(--b-1);
}
.bildirim-oge{
  display:flex;gap:var(--b-3);align-items:flex-start;width:100%;
  padding:var(--b-3);border:0;border-radius:var(--yc-2);
  background:none;color:inherit;font:inherit;text-align:left;
  text-decoration:none;cursor:pointer;
}
.bildirim-oge:hover{background:var(--renk-yuzey-hover);}
.bildirim-oge.okunmadi{background:var(--renk-vurgu-zemin);}
.bildirim-oge .zaman{font-size:var(--p-12);color:var(--renk-metin-3);}
.bildirim-merkez .bos-durum{padding:var(--b-6) var(--b-3);}

/* ---------- 31.3 Sutun yoneticisi ---------- */
.sutun-yonetici{
  position:absolute;z-index:var(--z-acilir);top:calc(100% + 4px);right:0;
  width:280px;max-height:340px;overflow-y:auto;padding:var(--b-2);
  background:var(--renk-yuzey-2);border:1px solid var(--renk-kenar);
  border-radius:var(--yc-3);box-shadow:var(--golge-3);
}
.sutun-yonetici .onay{min-height:32px;padding:2px 0;width:100%;}

/* ---------- 31.4 Satir vurgulama (arama sonucu / hedef satir) ---------- */
mark,.vurgu{background:var(--renk-vurgu-zemin);color:var(--renk-vurgu);
  font-weight:var(--k-yari);padding:0 1px;border-radius:2px;}
.tablo tbody tr.hedef{
  box-shadow:inset 0 0 0 2px var(--renk-vurgu);
  animation:hedef-parla 1600ms var(--egri) 1;
}
@keyframes hedef-parla{
  0%{background:var(--renk-vurgu-zemin);}
  100%{background:transparent;}
}
/* Baglam satiri: filtre eslesmesinin atasi (K-13) - solgun, sayaca dahil degil */
.tablo tbody tr.baglam td{opacity:.62;font-style:italic;}

/* ---------- 31.5 Kisayol yardim tablosu ---------- */
.kisayol-liste{display:grid;grid-template-columns:auto 1fr;
  gap:var(--b-2) var(--b-4);align-items:center;}
kbd{
  display:inline-block;min-width:20px;padding:2px 6px;
  font-family:var(--yazi-mono);font-size:var(--p-12);line-height:16px;
  text-align:center;color:var(--renk-metin-1);background:var(--renk-yuzey-3);
  border:1px solid var(--renk-kenar-guclu);border-bottom-width:2px;
  border-radius:var(--yc-1);white-space:nowrap;
}

/* ---------- 31.6 Modal arka plani (inert yedegi) ---------- */
[inert]{pointer-events:none;user-select:none;}
[inert],[inert] *{cursor:default;}

/* ---------- 31.7 Giris ekrani (menusuz taban) ---------- */
.giris-sayfa{
  display:flex;align-items:center;justify-content:center;
  min-height:100vh;padding:var(--b-6);background:var(--renk-yuzey-1);
}
.giris-kart{width:100%;max-width:400px;}
.giris-marka{display:flex;flex-direction:column;align-items:center;gap:var(--b-2);
  margin-bottom:var(--b-6);text-align:center;}
.giris-marka .ikon-bb{width:40px;height:40px;color:var(--renk-vurgu);
  stroke-width:1.4;}

/* ---------- 31.8 Hata sayfasi ---------- */
.hata-sayfa{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:var(--b-4);min-height:70vh;padding:var(--b-8) var(--b-4);text-align:center;
}
.hata-kod{font-size:var(--p-32);font-weight:var(--k-kalin);
  color:var(--renk-metin-3);letter-spacing:.06em;
  font-variant-numeric:tabular-nums lining-nums;}
.hata-sayfa h1{font-size:var(--p-24);margin:0;}
.hata-sayfa p{max-width:56ch;margin:0;color:var(--renk-metin-2);}
.hata-sayfa .ikon-bb{width:56px;height:56px;color:var(--renk-metin-3);
  stroke-width:1.2;}
.hata-eylem{display:flex;gap:var(--b-2);flex-wrap:wrap;justify-content:center;}

/* ---------- 31.9 Tanimlama listesi (detay ekranlari) ---------- */
.tanim-liste{display:grid;grid-template-columns:minmax(140px,auto) 1fr;
  gap:var(--b-2) var(--b-4);margin:0;}
.tanim-liste dt{color:var(--renk-metin-2);font-size:var(--p-13);
  font-weight:var(--k-yari);}
.tanim-liste dd{margin:0;color:var(--renk-metin-1);}
@media (max-width:639px){ .tanim-liste{grid-template-columns:1fr;gap:var(--b-1);} }

/* ---------- 31.10 Zaman akisi (proje gecmisi) ---------- */
.akis{list-style:none;margin:0;padding:0 0 0 var(--b-5);
  border-left:2px solid var(--renk-kenar);}
.akis li{position:relative;padding:0 0 var(--b-4) var(--b-4);}
.akis li::before{
  content:"";position:absolute;left:calc(-1 * var(--b-4) - 5px);top:5px;
  width:10px;height:10px;border-radius:50%;
  background:var(--renk-yuzey-2);border:2px solid var(--renk-vurgu);
}
.akis .zaman{font-size:var(--p-12);color:var(--renk-metin-3);}

/* ---------- 31.11 JS kapali uyarisi ---------- */
.js-yok{
  margin:0;padding:var(--b-3) var(--b-4);text-align:center;
  background:var(--renk-uyari-zemin);color:var(--renk-uyari);
  border-bottom:1px solid var(--renk-uyari-kenar);font-size:var(--p-13);
}

/* ---------- 31.12 Gorunurluk yardimcilari ---------- */
.sadece-genis{display:none;}
@media (min-width:1024px){ .sadece-genis{display:flex;} }
.sadece-dar{display:inline-flex;}
@media (min-width:1024px){ .sadece-dar{display:none!important;} }
@media (max-width:1023px){ .gizle-dar{display:none!important;} }
.ust-cubuk .ekmek{flex-wrap:nowrap;overflow:hidden;min-width:0;}
.ust-cubuk .ekmek li{white-space:nowrap;}

/* =========================================================================
   PROJE FORMU (gorunum: projeler_form) - surum 1.0.0
   Satir ici <style> CSP tarafindan engellendigi icin tum bicimler burada.
   ========================================================================= */
.proje-form{display:flex;flex-direction:column;gap:var(--b-5);position:relative;}
.proje-form .zorunlu-notu{margin:0;}

/* Formun sag ustundeki "x" kapatma dugmesi (kavramsal 4.1.2).
   44x44 px dokunma hedefi (R17 erisilebilirlik kurali). */
.form-kapat{position:absolute;top:var(--b-2);right:var(--b-2);
  display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;min-height:44px;font-size:22px;line-height:1;
  color:var(--renk-metin-3);text-decoration:none;border-radius:var(--yc-2, 8px);}
.form-kapat:hover{background:var(--renk-yuzey-2);color:var(--renk-metin-1);}
.form-kapat:focus-visible{outline:2px solid var(--renk-odak);outline-offset:2px;}
.proje-form .izgara-2{display:grid;gap:var(--b-4);}
.form-serit{margin-bottom:var(--b-4);}
.serit-liste{margin:var(--b-2) 0 0;padding-left:var(--b-5);}

.alan-grup{border:1px solid var(--renk-kenar);border-radius:var(--yc-2, 8px);
  padding:var(--b-4);margin:0;display:flex;flex-direction:column;gap:var(--b-4);}
.alan-grup > legend{padding:0 var(--b-2);font-weight:600;color:var(--renk-metin-2);}
/* Ic ice alan grubu (or. «Data Owner / Data Co-Owner»): iki alan tek
   baslik altinda toplanir. Disaridaki grupla ayni cerceveyi tasimasi
   hiyerarsiyi gorunmez kilardi; daha soluk kenar ve az bosluk. */
.alan-grup-ic{border-style:dashed;padding:var(--b-3);gap:var(--b-3);}
.alan-grup-ic > legend{font-weight:500;font-size:.8125rem;}

/* Ortak Proje onek rozeti: input'un solunda, DUZENLENEMEZ (A4 §3.3) */
.op-rozet{display:inline-flex;align-items:center;padding:0 var(--b-3);
  background:var(--renk-uyari-zemin);color:var(--renk-uyari);
  border:1px solid var(--renk-uyari-kenar);border-right:0;
  border-radius:var(--yc-2, 8px) 0 0 var(--yc-2, 8px);
  font-weight:600;white-space:nowrap;user-select:none;}
.op-rozet[hidden]{display:none;}

/* ITSM baslik oneri seridi (A4 §4.4) - kirli ad alani ASLA ezilmez */
.oneri-serit{display:flex;align-items:center;gap:var(--b-2);flex-wrap:wrap;
  margin-top:var(--b-2);padding:var(--b-2) var(--b-3);
  background:var(--renk-bilgi-zemin);border:1px solid var(--renk-bilgi-kenar);
  border-radius:var(--yc-2, 8px);font-size:.875rem;}
.oneri-serit[hidden]{display:none;}
.oneri-serit .oneri-metin{flex:1 1 auto;min-width:0;}

/* ITSM arama sonuc listesi (coklu-liste bicimini yeniden kullanir) */
#itsm-alani{position:relative;}
#itsm-liste{max-height:16rem;overflow-y:auto;}
#itsm-liste .itsm-no{font-weight:600;}
#itsm-liste .itsm-baslik{color:var(--renk-metin-3);}

.sil-onay-form{margin-top:var(--b-5);}

/* --- <select multiple> CIP SERIDI (PYS.cokluListe) -----------------------
   Liste kutusunun HEMEN ALTINDA durur; secilen her deger tek tek
   kaldirilabilsin diye. Bos oldugunda `hidden` ile tamamen kalkar, bos bir
   serit yer kaplamasin. */
.cs-cipler{display:flex;flex-wrap:wrap;gap:var(--b-1);margin-top:var(--b-2);}
.cs-cipler[hidden]{display:none;}
.cs-cipler .cip{max-width:100%;}

/* --- GERI DUGMESI (geri_butonu makrosu) ---------------------------------
   Sayfa basliginin USTUNDE, solda durur. `sayfa-basi` blogu ezilse bile
   gorunsun diye taban.html'de o blogun DISINDA cizilir; bu yuzden kendi
   alt boslugunu kendisi verir. */
.geri-serit{margin-bottom:var(--b-3);}
.geri-btn{gap:var(--b-1);}
/* Ikon "geri" yonunu tasir; metin yaninda oldugu icin ayrica etiketlenmez. */
.geri-btn .ikon{flex:0 0 auto;}
@media (max-width:639px){
  /* Dar ekranda dokunma hedefi kucuk kalmasin (WCAG 2.5.8). */
  .geri-btn{min-height:40px;}
}

/* --- KAPALI baslayan filtre paneli (suzgec_kabi makrosu) -----------------
   Panel `<details>`; ok isareti ACIK durumda doner. Tarayicinin varsayilan
   ucgen isaretcisi gizlenir cunku kart basligi kendi okunu ciziyor. */
.suzgec-kabi{overflow:visible;}
.suzgec-basi{cursor:pointer;list-style:none;user-select:none;
  display:flex;align-items:center;gap:var(--b-3);}
.suzgec-basi::-webkit-details-marker{display:none;}
.suzgec-baslik{display:inline-flex;align-items:center;gap:var(--b-2);
  font-weight:600;}
.suzgec-rozet{margin-left:auto;}
.suzgec-ok{transition:transform .15s ease;flex:0 0 auto;}
.suzgec-kabi[open] .suzgec-ok{transform:rotate(180deg);}
.suzgec-basi:focus-visible{outline:2px solid var(--renk-odak);outline-offset:2px;}
.suzgec-bosluk{margin-bottom:var(--b-4);}

/* -------------------------------------------------------------------------
   TÜRETİLMİŞ DEĞER (göç 148 — Data Owner / Data Co-Owner)
   -------------------------------------------------------------------------
   Değer projenin KENDİ sütunundan değil, projenin iş ailesinin sahibinden
   geliyorsa hücre kesikli alt çizgiyle işaretlenir ve ipucu kaynağı söyler.
   RENK DEĞİŞTİRİLMEZ: metni soluklaştırmak kontrast eşiğini düşürürdü ve
   "türetilmiş" ile "pasif/önemsiz" karışırdı. Kesikli çizgi biçimsel bir
   ipucudur, tek başına anlam taşımaz — asıl bilgi `title` metnindedir.
   ------------------------------------------------------------------------- */
.turetilmis-deger{
  border-bottom:1px dashed var(--renk-kenar);
  cursor:help;
}
