/* ==========================================================================
   Denop — tema.css (tek stil dosyası)
   Açık tema · grafit/çelik zemin + çivit vurgu (#4f46e5) · Nortica başlık, Gyokz metin.
   Sayfalar yalnız bu dosyadaki sınıfları kullanır; bileşen vitrini: ortak/ornek.html

   İçindekiler
    1. Fontlar                 12. Form alanları
    2. Token'lar               13. Modal, onay, alt panel
    3. Temel                   14. Toast, ipucu balonu, açılır menü
    4. Yardımcı sınıflar       15. Boş durum, çubuk, açıklama notu, üst şerit
    5. Sayfa iskeleti          16. Takvim
    6. Düğmeler                17. Kabuk: ortak parçalar
    7. Kart, KPI, özet kutusu  18. Kabuk: Hafif (üst çubuk + alt sekme çubuğu)
    8. Rozet, etiket           19. Kabuk: Kapsamlı (yan menü + çekmece + FAB)
    9. Tablo + mobil kart      20. Belge (A4 çıktı / önizleme)
   10. Liste, tanımlar         21. Yazdır
   11. Çipler, sekmeler, arama 22. Vitrin (ornek.html)
   ========================================================================== */

/* 1. Fontlar ---------------------------------------------------------------- */
@font-face{font-family:"Gyokz";src:url("../fontlar/Gyokz-400-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Gyokz";src:url("../fontlar/Gyokz-500-Medium.otf") format("opentype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Gyokz";src:url("../fontlar/Gyokz-600-SemiBold.otf") format("opentype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Gyokz";src:url("../fontlar/Gyokz-700-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Nortica";src:url("../fontlar/NorticaTypeface-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Nortica";src:url("../fontlar/NorticaTypeface-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}

/* 2. Token'lar (§7.1) -------------------------------------------------------- */
:root{
  color-scheme: light;
  /* Grafit / çelik */
  --grafit-950:#15181b; --grafit-900:#1c1f23; --grafit-800:#262a2f; --grafit-700:#343a40;
  --celik-600:#4a525a; --celik-500:#5f676f; --celik-450:#8a9299; --celik-400:#9aa1a8;
  --celik-300:#c5cad0; --celik-200:#dde1e5; --celik-100:#eceff2; --celik-50:#f6f7f9; --beyaz:#ffffff;
  /* Denop vurgu rengi (çivit) — vurgu zemininde BEYAZ metin (--vurgu-ustu), koyu menüde --vurgu-acik */
  --vurgu:#4f46e5; --vurgu-koyu:#4338ca; --vurgu-derin:#3730a3; --vurgu-metin:#4338ca; --vurgu-acik:#a5b4fc; --vurgu-ustu:#ffffff;
  --vurgu-zemin:#eef0ff; --vurgu-cizgi:#c7cdfb;
  /* Durum (uyarı TURUNCU: altınla karışmasın) */
  --basari:#2e7d4f; --basari-metin:#276b43; --basari-zemin:#e8f3ec; --basari-cizgi:#bcdcc8;
  --uyari:#c2610c;  --uyari-metin:#9a4a06;  --uyari-zemin:#fdf0e4; --uyari-cizgi:#f0c9a3;
  --hata:#c0392b;   --hata-metin:#c0392b;   --hata-zemin:#fbeae8; --hata-cizgi:#efbab4; --hata-hale:rgba(192,57,43,.18);
  --bilgi:#2f6f8f;  --bilgi-metin:#2f6f8f;  --bilgi-zemin:#e8f1f5; --bilgi-cizgi:#c5dbe6;
  --sayim:#6b4fa0;  --sayim-zemin:#f0ecf7; --sayim-cizgi:#d5cbe8;
  /* Anlamsal katman */
  --zemin:var(--celik-100); --yuzey:var(--beyaz); --yuzey-2:var(--celik-50);
  --metin:var(--grafit-900); --metin-2:var(--celik-600); --metin-3:var(--celik-500);
  --cizgi:var(--celik-200); --cizgi-2:var(--celik-300); --cerceve-form:var(--celik-450);
  --odak:var(--vurgu-derin); --odak-hale:rgba(79,70,229,.28);
  --menu-zemin:var(--grafit-900); --menu-metin:#d5d9de; --menu-metin-2:var(--celik-400);
  --menu-aktif:rgba(165,180,252,.14); --menu-odak:var(--vurgu-acik);
  /* Fontlar */
  --font-baslik:"Nortica", "Gyokz", system-ui, sans-serif;
  --font-metin:"Gyokz", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-rakam:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif;
  /* Yazı boyları (§7.2) */
  --fs-xs:12px; --fs-sm:13px; --fs-md:14px; --fs-base:15px; --fs-lg:17px;
  --fs-xl:20px; --fs-2xl:24px; --fs-kpi:28px; --fs-hero:40px;
  /* Boşluk, köşe, gölge */
  --b1:4px; --b2:8px; --b3:12px; --b4:16px; --b5:20px; --b6:24px; --b8:32px; --b10:40px; --b14:56px;
  --r-xs:4px; --r-sm:6px; --r-md:10px; --r-lg:14px; --r-tam:999px;
  --golge-1:0 1px 2px rgba(28,31,35,.06); --golge-2:0 6px 20px rgba(28,31,35,.12); --golge-3:0 20px 60px rgba(28,31,35,.30);
  /* Kabuk ölçüleri */
  --ust-cubuk:60px; --alt-cubuk:64px; --yan-menu:248px; --yan-dar:64px;
  --icerik-hafif:1100px; --icerik-kapsamli:1440px; --kenar:32px;
  /* OzelSelect (dropdown.js) teması */
  --dd-vurgu:var(--vurgu-derin); --dd-vurgu-zemin:var(--vurgu-zemin); --dd-vurgu-metin:var(--vurgu-metin);
  --dd-cerceve:var(--cerceve-form); --dd-kirmizi:var(--hata); --dd-z:250; --dd-font:inherit; --dd-radius:var(--r-sm);
  --dd-cerceve-kalinlik:1px; --dd-kalinlik:400; --dd-punto:var(--fs-base); --dd-ic-bosluk:0 12px;
  --dd-metin:var(--grafit-900); --dd-soluk:var(--celik-500); --dd-cizgi:var(--celik-200);
  --dd-liste-punto:14px; --dd-golge:var(--golge-2);
  /* Katmanlar */
  --z-baslik:10; --z-menu:30; --z-altcubuk:40; --z-fab:45; --z-modal:100; --z-takvim:200; --z-onay:300; --z-toast:400;
}
@media (max-width:1279px){:root{--kenar:24px}}
@media (max-width:1023px){:root{--kenar:20px;--ust-cubuk:56px}}
@media (max-width:767px){
  :root{--kenar:16px;--fs-md:15px;--fs-base:16px;--fs-xl:19px;--fs-2xl:21px;--fs-kpi:24px;--fs-hero:30px}
}

/* 3. Temel ------------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--zemin);color:var(--metin);font-family:var(--font-metin);font-size:var(--fs-base);line-height:1.5;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
body.katman-acik{overflow:hidden}
h1,h2{font-family:var(--font-baslik);line-height:1.25;margin:0;color:var(--grafit-900);font-weight:600;letter-spacing:.01em}
h1{font-size:var(--fs-2xl);font-weight:700}
h2{font-size:var(--fs-lg)}
h3,h4{font-family:var(--font-metin);font-weight:600;line-height:1.3;margin:0;color:var(--grafit-900)}
h3{font-size:16px} h4{font-size:14px}
p{margin:0}
a{color:var(--vurgu-metin);text-underline-offset:2px}
a:hover{color:var(--vurgu-derin)}
img,svg{max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
hr{border:0;border-top:1px solid var(--cizgi);margin:var(--b4) 0}
pre,code{font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;font-size:13px}
pre{margin:0;padding:12px 14px;background:var(--grafit-900);color:#e6e8eb;border-radius:var(--r-md);overflow:auto;max-width:100%;line-height:1.55}
code{background:var(--celik-100);padding:1px 5px;border-radius:4px}
pre code{background:none;padding:0}
:focus{outline:none}
:focus-visible{outline:2px solid var(--odak);outline-offset:2px;box-shadow:0 0 0 5px var(--odak-hale)}
::selection{background:var(--vurgu-zemin);color:var(--grafit-900)}
[hidden]{display:none !important}
.ikon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.ikon.k14{width:14px;height:14px}
.ikon.k16{width:16px;height:16px}
.ikon.k18{width:18px;height:18px}
.ikon.k24{width:24px;height:24px}
.ikon.k32{width:32px;height:32px}
.ikon.k48{width:48px;height:48px;stroke-width:1.4}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}

/* Para ve sayı: Gyokz'da tabular rakam yok → sistem rakam yığını (§7.2) */
.para,.sayi,td[data-sayi],th[data-sayi]{font-family:var(--font-rakam);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
td.para,td.sayi,td[data-sayi],th[data-sayi],th.para,th.sayi{text-align:right}
.eksi{color:var(--hata-metin)}
.arti{color:var(--basari-metin)}

/* 4. Yardımcı sınıflar ------------------------------------------------------- */
.yigin{display:flex;flex-direction:column;gap:12px}
.yigin.sik{gap:6px} .yigin.genis{gap:20px}
.satir{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.satir.sarmasiz{flex-wrap:nowrap}
.satir.ust{align-items:flex-start}
.arala{justify-content:space-between}
.yigin>*,.satir>*,.izgara-2>*,.izgara-3>*,.izgara-4>*,.kart-izgara>*,.form-izgara>*,.kpi-serit>*,.ozet-kutulari>*{min-width:0}
.genislet{flex:1 1 auto;min-width:0}
.izgara-2,.izgara-3,.izgara-4{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media (min-width:768px){
  .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(2,minmax(0,1fr))}
}
@media (min-width:1024px){.izgara-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.bosluk-ust-1{margin-top:4px}.bosluk-ust-2{margin-top:8px}.bosluk-ust-3{margin-top:12px}
.bosluk-ust-4{margin-top:16px}.bosluk-ust-5{margin-top:24px}.bosluk-ust-6{margin-top:32px}
.bosluk-alt-2{margin-bottom:8px}.bosluk-alt-3{margin-bottom:12px}.bosluk-alt-4{margin-bottom:16px}
.metin-sag{text-align:right}.metin-orta{text-align:center}
.soluk{color:var(--metin-3)}
.kucuk{font-size:var(--fs-sm)}
.kalin{font-weight:700}
.buyuk-harf{text-transform:uppercase;letter-spacing:.06em;font-size:var(--fs-xs);font-weight:600}
.renk-hata{color:var(--hata-metin)}.renk-basari{color:var(--basari-metin)}.renk-uyari{color:var(--uyari-metin)}
.renk-bilgi{color:var(--bilgi-metin)}.renk-vurgu{color:var(--vurgu-metin)}
.tasma-kes{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.sarmasiz{white-space:nowrap}
.gizli-metin{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}
.yalniz-mobil{display:none}
@media (max-width:767px){.yalniz-mobil{display:revert}.mobilde-gizle{display:none !important}}
.baglanti-sade{color:inherit;text-decoration:none}
.baglanti-sade:hover{color:var(--vurgu-metin);text-decoration:underline}
.ayrac{height:1px;background:var(--cizgi);margin:12px 0;border:0}

/* 5. Sayfa iskeleti (§7.4) -------------------------------------------------- */
.icerik{width:100%;margin:0 auto;padding:var(--b6) var(--kenar) var(--b10);min-width:0}
.sayfa-baslik{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px;margin-bottom:20px}
.sayfa-baslik>:first-child{flex:1 1 320px;min-width:0}
.sayfa-aciklama{margin-top:4px;color:var(--metin-2);font-size:var(--fs-sm)}
.sayfa-ust-bilgi{font-size:var(--fs-sm);color:var(--metin-3);margin-bottom:4px;font-weight:500}
.sayfa-eylemler{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
@media (max-width:599px){.sayfa-eylemler{width:100%}.sayfa-eylemler>.dugme{flex:1 1 auto}}
.bolum{margin-top:24px}
.bolum-baslik{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.filtre-cubugu{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:16px;min-width:0}
.filtre-cubugu>*{min-width:0}
.filtre-cubugu>.cipler{flex:1 1 auto}
.filtre-cubugu .dd,.filtre-cubugu select{min-width:170px;max-width:100%}
.filtre-cubugu .sag{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.sonuc-sayisi{font-size:var(--fs-sm);color:var(--metin-3)}
.kpi-serit{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.kpi-serit.alti{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:1279px){.kpi-serit.alti{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){.kpi-serit,.kpi-serit.alti{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
/* Şerit sütunu çocuk sayısından gelir (.kpi-serit ve .ozet-kutulari): auto-fit 1024 px'te 3+1, 4+1 gibi yetim kutu bırakıyordu.
   2 → 2 · 3 → 3 · 4 → 900 px altı 2×2, üstü 4 · 5 → 1024 px altı 3+2 (tam genişlik), üstü 5 · 6 → 1280 px altı 3×2, üstü 6 · mobil 2 sütun, tek kalan tam genişlik */
@media (min-width:768px){
  :is(.kpi-serit,.ozet-kutulari):has(>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
  :is(.kpi-serit,.ozet-kutulari):has(>:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
  :is(.kpi-serit,.ozet-kutulari):has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
  :is(.kpi-serit,.ozet-kutulari):has(>:nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:768px) and (max-width:1023px){
  :is(.kpi-serit,.ozet-kutulari):has(>:nth-child(5):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
  :is(.kpi-serit,.ozet-kutulari):has(>:nth-child(5):last-child)>*{grid-column:span 2}
  :is(.kpi-serit,.ozet-kutulari):has(>:nth-child(5):last-child)>:nth-child(n+4){grid-column:span 3}
}
@media (min-width:900px){:is(.kpi-serit,.ozet-kutulari):has(>:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1024px){:is(.kpi-serit,.ozet-kutulari):has(>:nth-child(5):last-child){grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (min-width:1280px){:is(.kpi-serit,.ozet-kutulari):has(>:nth-child(6):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:767px){:is(.kpi-serit,.ozet-kutulari)>:last-child:nth-child(odd){grid-column:1/-1}}
.kart-izgara{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kart-izgara>.tam-genis{grid-column:1/-1}
@media (max-width:767px){.kart-izgara{grid-template-columns:minmax(0,1fr)}}
.alt-toplam{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:flex-end;align-items:baseline;padding:12px 16px;background:var(--celik-50);border:1px solid var(--cizgi);border-radius:var(--r-md);font-size:var(--fs-sm);margin-top:12px;color:var(--metin-2)}
.alt-toplam b,.alt-toplam strong{color:var(--metin);font-family:var(--font-rakam);font-variant-numeric:tabular-nums}
.form-onaylar{display:flex;flex-direction:column;gap:8px}
.form-genel-hata{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-sm);background:var(--hata-zemin);color:var(--hata-metin);border:1px solid var(--hata-cizgi);font-size:var(--fs-sm)}
.bu-ay-satiri{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:baseline;padding:10px 14px;margin-top:12px;background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--metin-2)}
.bu-ay-satiri b{color:var(--metin);font-family:var(--font-rakam)}

/* 6. Düğmeler --------------------------------------------------------------- */
.dugme{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--r-sm);border:1px solid var(--cerceve-form);background:var(--yuzey);color:var(--metin);font-family:var(--font-metin);font-size:15px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;user-select:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;max-width:100%}
.dugme:hover{color:var(--metin)}
.dugme .ikon{width:18px;height:18px}
.dugme.birincil{background:var(--vurgu);border-color:var(--vurgu);color:var(--vurgu-ustu)}
.dugme.birincil:hover{background:var(--vurgu-koyu);border-color:var(--vurgu-koyu);color:var(--vurgu-ustu)}
.dugme.ikincil{background:var(--yuzey);border-color:var(--cerceve-form);color:var(--metin)}
.dugme.ikincil:hover{border-color:var(--vurgu-derin);background:var(--vurgu-zemin)}
.dugme.hayalet{background:transparent;border-color:transparent;color:var(--metin-2)}
.dugme.hayalet:hover{background:var(--celik-100);color:var(--metin)}
.dugme.tehlike{background:var(--hata);border-color:var(--hata);color:#fff}
.dugme.tehlike:hover{background:#a83224;border-color:#a83224;color:#fff}
.dugme.tehlike-hayalet{background:transparent;border-color:transparent;color:var(--hata-metin)}
.dugme.tehlike-hayalet:hover{background:var(--hata-zemin)}
.dugme.koyu{background:transparent;border-color:rgba(255,255,255,.3);color:#eef0f2}
.dugme.koyu:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5);color:#fff}
.dugme.kucuk{height:32px;padding:0 12px;font-size:13px;gap:6px}
.dugme.kucuk .ikon{width:16px;height:16px}
.dugme.buyuk{height:48px;padding:0 20px;font-size:16px}
.dugme.tam{width:100%}
.dugme:disabled,.dugme[aria-disabled="true"]{opacity:.5;cursor:not-allowed;pointer-events:none}
.dugme[aria-busy="true"]{pointer-events:none;opacity:.85}
.donen{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:don .7s linear infinite;flex:none}
@keyframes don{to{transform:rotate(360deg)}}
.ikon-dugme{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--metin-2);cursor:pointer;flex:none;text-decoration:none}
.ikon-dugme:hover{background:var(--celik-100);color:var(--metin)}
.ikon-dugme.cerceveli{border-color:var(--cerceve-form);background:var(--yuzey)}
.ikon-dugme.kucuk{width:32px;height:32px}
.ikon-dugme:disabled{opacity:.45;cursor:not-allowed}
.dugme-grubu{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:var(--z-fab);width:56px;height:56px;border-radius:50%;border:0;background:var(--vurgu);color:var(--vurgu-ustu);box-shadow:0 8px 22px rgba(28,31,35,.28);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.fab:hover{background:var(--vurgu-koyu)}
.fab .ikon{width:26px;height:26px;stroke-width:2.2}
.fab.statik{position:static;box-shadow:var(--golge-2)}
@media (max-width:1023px){
  body[data-surum="hafif"] .dugme:not(.kucuk){height:48px}
  body[data-surum="hafif"] .ikon-dugme:not(.kucuk){width:48px;height:48px}
}

/* 7. Kart, KPI, özet kutusu ------------------------------------------------- */
.kart{background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r-md);box-shadow:var(--golge-1);padding:var(--b5);min-width:0}
.kart-baslik{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:12px;flex-wrap:wrap}
.kart-baslik h2{font-size:var(--fs-lg)}
.kart-baslik .kart-alt-baslik{font-size:var(--fs-sm);color:var(--metin-3);width:100%;margin-top:-6px}
.kart-baglanti{font-size:13px;font-weight:600;color:var(--vurgu-metin);text-decoration:none;white-space:nowrap}
.kart-baglanti:hover{text-decoration:underline}
.kart.dolgusuz{padding:0;overflow:hidden}
.kart.dolgusuz>.kart-baslik{padding:16px 20px 0}
.kart.dolgusuz>.kart-govde{padding:0 20px 16px}
.kart-alt{border-top:1px solid var(--cizgi);margin-top:16px;padding-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.kart.vurgu{border-left:3px solid var(--vurgu)}
.kart.hata{border-left:3px solid var(--hata)}
.kart.uyari{border-left:3px solid var(--uyari)}
.kart+.kart{margin-top:16px}
.kart-izgara>.kart+.kart,.izgara-2>.kart+.kart,.izgara-3>.kart+.kart{margin-top:0}
@media (max-width:767px){.kart{padding:16px}.kart.dolgusuz>.kart-baslik{padding:14px 16px 0}.kart.dolgusuz>.kart-govde{padding:0 16px 14px}}
details.kart>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}
details.kart>summary::-webkit-details-marker{display:none}
details.kart>summary h2{font-size:var(--fs-lg)}
details.kart>summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--metin-3);border-bottom:2px solid var(--metin-3);transform:rotate(45deg);transition:transform .15s;margin-right:4px;flex:none}
details.kart[open]>summary{margin-bottom:12px}
details.kart[open]>summary::after{transform:rotate(-135deg)}

.kpi{position:relative;display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r-md);box-shadow:var(--golge-1);text-decoration:none;color:inherit;overflow:hidden;min-width:0}
a.kpi{transition:border-color .15s,box-shadow .15s}
a.kpi:hover{border-color:var(--vurgu-cizgi);box-shadow:var(--golge-2);color:inherit}
a.kpi::after{content:"›";position:absolute;right:12px;top:12px;color:var(--celik-400);font-size:18px;line-height:1}
.kpi-etiket{font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--metin-2);padding-right:14px}
.kpi-deger{font-family:var(--font-metin);font-weight:700;font-size:var(--fs-kpi);line-height:1.1;color:var(--grafit-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:lining-nums}
.kpi-alt{font-size:var(--fs-sm);color:var(--metin-2);line-height:1.35}
.kpi.hata::before,.kpi.uyari::before,.kpi.basari::before,.kpi.bilgi::before,.kpi.vurgu::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.kpi.hata::before{background:var(--hata)} .kpi.hata .kpi-deger{color:var(--hata-metin)}
.kpi.uyari::before{background:var(--uyari)} .kpi.uyari .kpi-deger{color:var(--uyari-metin)}
.kpi.basari::before{background:var(--basari)}
.kpi.bilgi::before{background:var(--bilgi)}
.kpi.vurgu::before{background:var(--vurgu)}
@media (max-width:767px){.kpi{padding:12px}}

.ozet-kutulari{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
@media (max-width:767px){.ozet-kutulari{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.ozet-kutusu{padding:12px 14px;border:1px solid var(--cizgi);border-radius:var(--r-md);background:var(--yuzey);min-width:0}
.ozet-etiket{display:block;font-size:var(--fs-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--metin-3)}
.ozet-deger{display:block;font-family:var(--font-rakam);font-variant-numeric:tabular-nums;font-size:19px;font-weight:700;color:var(--grafit-900);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ozet-alt{display:block;font-size:var(--fs-sm);color:var(--metin-3);margin-top:2px}
.ozet-kutusu.hata .ozet-deger{color:var(--hata-metin)}
.ozet-kutusu.uyari .ozet-deger{color:var(--uyari-metin)}
.ozet-kutusu.basari .ozet-deger{color:var(--basari-metin)}

/* 8. Rozet, etiket ---------------------------------------------------------- */
.rozet{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--r-tam);border:1px solid var(--cizgi-2);background:var(--celik-50);color:var(--celik-600);font-family:var(--font-metin);font-size:12px;font-weight:600;line-height:1;white-space:nowrap;vertical-align:middle;max-width:100%}
.rozet .ikon{width:13px;height:13px;stroke-width:2}
.rozet.notr{background:var(--celik-50);color:var(--celik-600);border-color:var(--cizgi-2)}
.rozet.basari{background:var(--basari-zemin);color:var(--basari-metin);border-color:var(--basari-cizgi)}
.rozet.uyari{background:var(--uyari-zemin);color:var(--uyari-metin);border-color:var(--uyari-cizgi)}
.rozet.hata{background:var(--hata-zemin);color:var(--hata-metin);border-color:var(--hata-cizgi)}
.rozet.bilgi{background:var(--bilgi-zemin);color:var(--bilgi-metin);border-color:var(--bilgi-cizgi)}
.rozet.vurgu{background:var(--vurgu-zemin);color:var(--vurgu-metin);border-color:var(--vurgu-cizgi)}
.rozet.sayim{background:var(--sayim-zemin);color:var(--sayim);border-color:var(--sayim-cizgi)}
.rozet.dolu.hata{background:#a3281c;border-color:#a3281c;color:#fff}
.rozet.dolu.basari{background:var(--basari);border-color:var(--basari);color:#fff}
.rozet.dolu.vurgu{background:var(--vurgu);border-color:var(--vurgu);color:var(--vurgu-ustu)}
.rozet.buyuk{height:26px;padding:0 10px;font-size:13px}
.etiket{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--r-xs);background:var(--celik-100);color:var(--celik-600);font-size:12px;font-weight:500;white-space:nowrap}
.etiketler{display:flex;flex-wrap:wrap;gap:4px}
.menu-rozet{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-tam);background:var(--celik-500);color:#fff;font-family:var(--font-rakam);font-size:11px;font-weight:700;line-height:1}
.menu-rozet.hata{background:var(--hata);color:#fff}
.menu-rozet.uyari{background:var(--uyari);color:#fff}
.menu-rozet.bilgi{background:var(--bilgi);color:#fff}
.menu-rozet.vurgu{background:var(--vurgu);color:var(--vurgu-ustu)}
.surum-rozeti{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:var(--r-xs);font-size:10.5px;font-weight:700;letter-spacing:.1em;line-height:1;white-space:nowrap}
.surum-rozeti.hafif{background:var(--celik-100);color:var(--grafit-900)}
.surum-rozeti.kapsamli{background:var(--vurgu);color:var(--vurgu-ustu)}
.demo-rozeti{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--r-xs);border:1px dashed var(--vurgu-acik);color:var(--vurgu-acik);font-size:10.5px;font-weight:700;letter-spacing:.12em;white-space:nowrap;cursor:help;background:transparent}
.demo-rozeti.acik-zemin{color:var(--vurgu-metin);border-color:var(--vurgu-koyu)}

/* 9. Tablo + mobil kart dönüşümü -------------------------------------------- */
/* position:relative → th içindeki .gizli-metin (absolute) kaydırma kabının dışına konumlanıp sayfayı yana taşırmaz */
.tablo-kap{position:relative;container:tablo / inline-size;overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%}
.tablo{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-md);background:var(--yuzey)}
.tablo caption{text-align:left}
.tablo th{background:var(--celik-50);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--metin-2);text-align:left;padding:10px 12px;border-bottom:1px solid var(--cizgi-2);white-space:nowrap;vertical-align:bottom}
.tablo th[data-sayi],.tablo th.para,.tablo th.sayi{text-align:right}
.tablo td{padding:11px 12px;border-bottom:1px solid var(--cizgi);vertical-align:middle}
.tablo tbody tr:last-child td{border-bottom:0}
.tablo tbody tr:hover td{background:var(--celik-50)}
.tablo tr.tiklanir{cursor:pointer}
.tablo tr.tiklanir:focus-visible{outline:2px solid var(--odak);outline-offset:-2px;box-shadow:none}
.tablo tfoot td{font-weight:700;background:var(--celik-50);border-top:1px solid var(--cizgi-2);border-bottom:0}
.tablo th .sirala{all:unset;display:inline-flex;align-items:center;gap:4px;cursor:pointer;border-radius:4px;text-transform:inherit;letter-spacing:inherit}
.tablo th .sirala:focus-visible{outline:2px solid var(--odak);outline-offset:2px}
.tablo th .sirala .ikon{width:13px;height:13px;opacity:.4}
.tablo th[aria-sort="ascending"] .sirala .ikon,.tablo th[aria-sort="descending"] .sirala .ikon{opacity:1;color:var(--vurgu-derin)}
.tablo th[aria-sort="descending"] .sirala .ikon{transform:scaleY(-1)}
.tablo th[data-sayi] .sirala{flex-direction:row-reverse}
.tablo .hucre-alt{display:block;font-size:var(--fs-sm);color:var(--metin-3);margin-top:2px;font-weight:400}
/* Sayı hücresinde yalnız ana değer tek satır; alt satır ("matrah ₺…", "₺… kapandı") sarar, sütunu gereksiz genişletmez */
.tablo td[data-sayi] .hucre-alt:not(.sarmasiz){white-space:normal}
.tablo .hucre-baslik{font-weight:600;color:var(--metin);text-decoration:none}
.tablo a.hucre-baslik:hover{color:var(--vurgu-metin);text-decoration:underline}
.tablo td.eylem,.tablo td[data-rol="eylem"]{text-align:right;white-space:nowrap}
.tablo td.eylem .dugme+.dugme,.tablo td[data-rol="eylem"] .dugme+.dugme{margin-left:6px}
.tablo tr.iptal td{color:var(--metin-3)}
.tablo tr.iptal td:not([data-rol="eylem"]){text-decoration:line-through;text-decoration-color:var(--celik-400)}
.tablo tr.kritik td:first-child{box-shadow:inset 3px 0 0 var(--hata)}
.tablo tr.uyari td:first-child{box-shadow:inset 3px 0 0 var(--uyari)}
.tablo tr.secili td{background:var(--vurgu-zemin)}
.tablo tr.yeni td{animation:yeniSatir 1.5s ease-out}
@keyframes yeniSatir{from{background:var(--vurgu-zemin)}to{background:transparent}}
.tablo tr.grup-baslik td{background:var(--celik-100);font-weight:700;font-size:13px;color:var(--metin-2)}
.tablo tr.bos-satir td{padding:0;border:0}
.tablo tr.bos-satir:hover td{background:none}
.tablo.sik td{padding:8px 10px}
.tablo.sik th{padding:8px 10px}
.tablo-kap.kaydir .tablo{min-width:720px}
.kart>.tablo-kap.tasan{margin:0 -20px -20px;width:calc(100% + 40px);max-width:none;border-top:1px solid var(--cizgi)}
@media (max-width:767px){.kart>.tablo-kap.tasan{margin:0 -16px -16px;width:calc(100% + 32px)}}
/* Dar kapta (≤1000 px) öncelik 3 sütunları gizlenir; 641–900 px'te öncelik 2 de gizlenir ve hücre iç boşluğu daralır
   (1024 px'te tam yan menüyle kap ~690 px); ≤640 px'te satırlar karta dönüşür (öncelik 2 kartta yine görünür) */
@container tablo (max-width:1000px){.tablo [data-oncelik="3"]{display:none}}
@container tablo (min-width:641px) and (max-width:900px){
  .tablo [data-oncelik="2"]{display:none}
  .tablo th,.tablo td{padding-left:8px;padding-right:8px}
}
@container tablo (max-width:640px){
  .tablo:not(.kartsiz){background:transparent;border-collapse:collapse}
  .tablo:not(.kartsiz) thead{display:none}
  .tablo:not(.kartsiz),.tablo:not(.kartsiz)>tbody,.tablo:not(.kartsiz)>tfoot{display:block;width:100%}
  /* Sağ sütun (tutar/rozet) en çok yarı genişlik: uzun rozet sol sütunu ezmez; nowrap tutar yine sığar */
  .tablo:not(.kartsiz) tr{display:grid;grid-template-columns:minmax(0,1fr) fit-content(50%);grid-auto-flow:row dense;gap:4px 12px;padding:12px 14px;border:1px solid var(--cizgi);border-radius:var(--r-md);background:var(--yuzey);margin:0 0 8px;min-height:64px;align-items:center}
  .tablo:not(.kartsiz) td{display:block;padding:0;border:0;grid-column:1/-1;min-width:0;text-align:left;white-space:normal}
  .tablo:not(.kartsiz) tbody tr:hover td{background:none}
  .tablo:not(.kartsiz) td[data-rol="baslik"]{grid-column:1;font-weight:600}
  .tablo:not(.kartsiz) td[data-rol="tutar"]{grid-column:2;text-align:right;font-weight:600;white-space:nowrap}
  .tablo:not(.kartsiz) td[data-rol="ikincil"]{grid-column:1;font-size:13px;color:var(--metin-2)}
  .tablo:not(.kartsiz) td[data-rol="rozet"]{grid-column:2;justify-self:end;text-align:right}
  .tablo:not(.kartsiz) td[data-rol="rozet"] .rozet{white-space:normal;height:auto;min-height:22px;line-height:1.25;padding-top:2px;padding-bottom:2px;text-align:right}
  .tablo:not(.kartsiz) td[data-rol="eylem"]{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:4px;white-space:normal}
  .tablo:not(.kartsiz) td[data-rol="eylem"] .dugme+.dugme{margin-left:0}
  .tablo:not(.kartsiz) td[data-oncelik="3"]{display:none}
  .tablo:not(.kartsiz) td:empty{display:none}
  /* Boş data-etiket ": " basmaz (eski "content:none" kuralı özgüllükte yeniliyordu) */
  .tablo:not(.kartsiz) td[data-etiket]:not([data-etiket=""]):not([data-rol])::before,
  .tablo:not(.kartsiz) td[data-etiket]:not([data-etiket=""])[data-rol="ikincil"]::before{content:attr(data-etiket) ": ";color:var(--metin-3);font-size:12px;font-weight:500}
  /* Durum şeridi kartın tamamında (hücrede kalırsa yalnız ilk satırda görünür) */
  .tablo:not(.kartsiz) tr.kritik{box-shadow:inset 3px 0 0 var(--hata)}
  .tablo:not(.kartsiz) tr.uyari{box-shadow:inset 3px 0 0 var(--uyari)}
  .tablo:not(.kartsiz) tr.kritik td:first-child,.tablo:not(.kartsiz) tr.uyari td:first-child{box-shadow:none}
  .tablo:not(.kartsiz) tfoot tr{background:var(--celik-50)}
  .tablo:not(.kartsiz) tfoot td{background:none}
  .tablo:not(.kartsiz) tr.bos-satir{display:block;border:0;background:none;padding:0}
  .tablo:not(.kartsiz) tr.grup-baslik{display:block;background:var(--celik-100);min-height:0;padding:8px 12px}
}

/* 10. Liste, tanımlar -------------------------------------------------------- */
.liste{list-style:none;margin:0;padding:0}
.liste-oge,.liste>li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--cizgi);min-height:56px;min-width:0}
.liste-oge:last-child,.liste>li:last-child{border-bottom:0}
.liste-ana{flex:1 1 auto;min-width:0}
.liste-baslik{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--metin);text-decoration:none}
a.liste-baslik:hover{color:var(--vurgu-metin)}
.liste-alt{display:block;font-size:var(--fs-sm);color:var(--metin-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.liste-yan{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none;text-align:right}
.liste-eylem{display:flex;gap:6px;flex:none}
.liste-ikon{width:36px;height:36px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex:none;background:var(--celik-100);color:var(--metin-2)}
.liste-ikon.basari{background:var(--basari-zemin);color:var(--basari)}
.liste-ikon.uyari{background:var(--uyari-zemin);color:var(--uyari)}
.liste-ikon.hata{background:var(--hata-zemin);color:var(--hata)}
.liste-ikon.vurgu{background:var(--vurgu-zemin);color:var(--vurgu-derin)}
.liste-ikon.bilgi{background:var(--bilgi-zemin);color:var(--bilgi)}
@media (max-width:1023px){body[data-surum="hafif"] .liste-oge,body[data-surum="hafif"] .liste>li{min-height:64px}}
@media (max-width:479px){
  .liste-oge.sarar{flex-wrap:wrap}.liste-oge.sarar .liste-eylem{width:100%;justify-content:flex-end}
  /* İkonlu satır: ikon solda iki satır boyunca; ad + alt satır (tam metin) sağ sütunda, altında tutar/rozet ve eylemler */
  .liste-oge.sarar:has(>.liste-ikon){display:grid;grid-template-columns:36px minmax(0,1fr);gap:6px 12px;align-items:start}
  .liste-oge.sarar:has(>.liste-ikon)>.liste-ikon{grid-row:1 / span 2}
  .liste-oge.sarar:has(>.liste-ikon)>:not(.liste-ikon){grid-column:2}
  .liste-oge.sarar:has(>.liste-ikon) .liste-alt{white-space:normal}
  .liste-oge.sarar:has(>.liste-ikon)>.liste-yan{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px;text-align:left}
}
.tanimlar{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:8px 16px;margin:0;font-size:var(--fs-md)}
.tanimlar dt{color:var(--metin-3);font-weight:500}
.tanimlar dd{margin:0;min-width:0;overflow-wrap:anywhere}
.tanimlar.iki-sutun{grid-template-columns:minmax(0,130px) minmax(0,1fr) minmax(0,130px) minmax(0,1fr)}
@media (max-width:899px){.tanimlar.iki-sutun{grid-template-columns:minmax(0,130px) minmax(0,1fr)}}
@media (max-width:479px){.tanimlar,.tanimlar.iki-sutun{grid-template-columns:minmax(0,1fr);gap:2px}.tanimlar dt{margin-top:8px;font-size:12px}}

/* 11. Çipler, sekmeler, arama ---------------------------------------------- */
/* (a) Filtre çipi: <div class="cipler" data-cip-grubu="durum"><button class="cip" data-filtre="gecikmis" aria-pressed="true">… */
.cipler{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}
@media (max-width:767px){.cipler{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.cipler::-webkit-scrollbar{display:none}.cipler>.cip{flex:none}}
button.cip,a.cip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--cerceve-form);border-radius:var(--r-tam);background:var(--yuzey);color:var(--metin);font-family:var(--font-metin);font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer;text-decoration:none;line-height:1}
button.cip:hover,a.cip:hover{border-color:var(--vurgu-derin);background:var(--vurgu-zemin);color:var(--metin)}
button.cip[aria-pressed="true"],a.cip[aria-current]{background:var(--vurgu);border-color:var(--vurgu);color:var(--vurgu-ustu);font-weight:600}
button.cip:disabled{opacity:.45;cursor:not-allowed;background:var(--celik-50)}
.cip .cip-sayi{font-family:var(--font-rakam);font-size:12px;color:var(--metin-3);font-weight:600}
.cip[aria-pressed="true"] .cip-sayi{color:var(--grafit-800)}
button.cip.kucuk{height:28px;padding:0 10px;font-size:13px}
@media (max-width:1023px){body[data-surum="hafif"] button.cip:not(.kucuk){height:40px;padding:0 14px}}
/* (b) Seçim çipi (form değeri): <fieldset class="radyo-grup cip-secim"><div class="cip-satiri"><label class="cip"><input type="radio" name="yontem" value="nakit"><span>Nakit</span></label>… */
.cip-satiri{display:flex;flex-wrap:wrap;gap:8px}
label.cip{position:relative;display:inline-flex;cursor:pointer;min-width:0}
label.cip>input{position:absolute;opacity:0;width:1px;height:1px;margin:0;left:8px;top:8px;pointer-events:none}
label.cip>span{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:1px solid var(--cerceve-form);border-radius:var(--r-tam);background:var(--yuzey);color:var(--metin);font-size:14px;font-weight:500;white-space:nowrap;line-height:1;transition:background-color .12s,border-color .12s}
label.cip:hover>span{border-color:var(--vurgu-derin);background:var(--vurgu-zemin)}
label.cip>input:checked+span{background:var(--vurgu);border-color:var(--vurgu);color:var(--vurgu-ustu);font-weight:600}
label.cip>input[type="checkbox"]:checked+span::before{content:"✓";font-weight:700}
label.cip>input:focus-visible+span{outline:2px solid var(--odak);outline-offset:2px;box-shadow:0 0 0 5px var(--odak-hale)}
label.cip>input:disabled+span{opacity:.45;cursor:not-allowed;background:var(--celik-50)}
label.cip small{font-size:12px;color:var(--metin-3);font-weight:400}
label.cip>input:checked+span small{color:var(--grafit-800)}
.cip-secim.kare label.cip>span{border-radius:var(--r-sm)}
.cip-secim.segment .cip-satiri{gap:0}
.cip-secim.segment label.cip>span{border-radius:0;margin-left:-1px}
.cip-secim.segment label.cip:first-child>span{border-radius:var(--r-sm) 0 0 var(--r-sm);margin-left:0}
.cip-secim.segment label.cip:last-child>span{border-radius:0 var(--r-sm) var(--r-sm) 0}
@media (max-width:1023px){body[data-surum="hafif"] label.cip>span{height:40px}}
/* Çek/senet "Durumu değiştir" seçenekleri (başlık + açıklama): yalnız bu grup sarılır; dar ekranda alt alta, yatay taşma yok */
.cip-satiri.cdu-dikey label.cip{max-width:100%}
.cip-satiri.cdu-dikey label.cip>span{white-space:normal;height:auto;min-height:36px;padding:7px 14px;line-height:1.3;flex-wrap:wrap;row-gap:2px;max-width:100%}
.cip-satiri.cdu-dikey label.cip>input:checked+span small{color:inherit;opacity:.9}
@media (max-width:1023px){body[data-surum="hafif"] .cip-satiri.cdu-dikey label.cip>span{min-height:40px}}
@media (max-width:599px){.cip-satiri.cdu-dikey label.cip,.cip-satiri.cdu-dikey label.cip>span{width:100%}.cip-satiri.cdu-dikey label.cip>span{border-radius:var(--r-md)}.cip-satiri.cdu-dikey label.cip small{flex-basis:100%}}
/* Sekmeler: <div class="sekmeler" data-sekme-grubu="kart"><button class="sekme" data-sekme="hareketler">… + panel: <section data-sekme-grubu="kart" data-sekme-panel="hareketler"> */
.sekmeler{display:flex;gap:2px;border-bottom:1px solid var(--cizgi-2);margin-bottom:16px;overflow-x:auto;scrollbar-width:none;min-width:0}
.sekmeler::-webkit-scrollbar{display:none}
.sekme{appearance:none;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;padding:10px 14px;font-family:var(--font-metin);font-size:14px;font-weight:600;color:var(--metin-2);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;flex:none;text-decoration:none}
.sekme:hover{color:var(--metin);background:var(--celik-50)}
.sekme[aria-selected="true"],.sekme[aria-current="page"]{color:var(--grafit-900);border-bottom-color:var(--vurgu)}
.sekme .menu-rozet{height:18px;min-width:18px;font-size:10.5px}
/* Arama */
.arama{position:relative;flex:1 1 220px;max-width:380px;min-width:0}
.arama input{width:100%;height:40px;padding:0 12px 0 38px;border:1px solid var(--cerceve-form);border-radius:var(--r-sm);background:var(--yuzey) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f676f' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m16 16 4.5 4.5'/%3E%3C/svg%3E") no-repeat 11px center/18px;font-size:var(--fs-base)}
.arama input:focus{outline:none;border-color:var(--odak);box-shadow:0 0 0 3px var(--odak-hale)}
.arama input::-webkit-search-cancel-button{cursor:pointer}
@media (max-width:767px){.arama{flex-basis:100%;max-width:none}}
.kirinti{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--metin-3);min-width:0;overflow:hidden;white-space:nowrap}
.kirinti a{color:var(--metin-2);text-decoration:none;flex:none}
.kirinti a:hover{color:var(--vurgu-metin);text-decoration:underline}
.kirinti .ayir{color:var(--celik-400);flex:none}
.kirinti [aria-current]{color:var(--metin);font-weight:600;overflow:hidden;text-overflow:ellipsis;min-width:0}
.icindekiler{display:flex;flex-wrap:wrap;gap:6px}

/* 12. Form alanları ---------------------------------------------------------- */
.zorunlu-not{font-size:var(--fs-sm);color:var(--metin-3);margin-bottom:12px}
.zorunlu{color:var(--hata);font-weight:700;margin-left:2px}
.zorunlu-degil .zorunlu{display:none}
.form-izgara{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-izgara.uclu{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-izgara>.tam,.form-izgara>details,.form-izgara>.form-bolum,.form-izgara>.aciklama-notu,.form-izgara>.kosullu{grid-column:1/-1}
@media (max-width:599px){.form-izgara,.form-izgara.uclu{grid-template-columns:minmax(0,1fr);gap:14px}}
.form-bolum{display:flex;flex-direction:column;gap:14px;padding-top:16px;border-top:1px solid var(--cizgi)}
.form-bolum-baslik{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--grafit-900)}
.form-bolum-baslik .rozet{font-weight:600}
.kosullu{display:flex;flex-direction:column;gap:14px;padding:14px;border-radius:var(--r-md);background:var(--yuzey-2);border:1px solid var(--cizgi);animation:kosulGir .18s ease-out}
.kosullu.sade{padding:0;background:none;border:0}
.form-izgara>.kosullu.yarim{grid-column:auto}
@keyframes kosulGir{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.alan{display:flex;flex-direction:column;gap:6px;min-width:0}
.alan-satiri{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px 16px;min-width:0}
.alan-satiri>.alan{flex:1 1 200px}
.alan-satiri>.alan.dar{flex:0 1 140px}
.alan-satiri>.alan.genislet{flex:1 1 260px}
.alan>label,.alan-etiket,fieldset>legend{font-size:14px;font-weight:600;color:var(--metin);line-height:1.35}
fieldset{border:0;margin:0;padding:0;min-width:0}
fieldset>legend{padding:0;margin-bottom:6px;float:left;width:100%}
fieldset>legend+*{clear:both}
.girdi,.alan input:not([type="radio"]):not([type="checkbox"]):not([type="range"]),.alan select,.alan textarea{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--cerceve-form);border-radius:var(--r-sm);background:var(--yuzey);font-family:var(--font-metin);font-size:var(--fs-base);color:var(--metin);line-height:1.35;transition:border-color .15s,box-shadow .15s}
.alan textarea,textarea.girdi{min-height:84px;resize:vertical}
.girdi:focus,.alan input:not([type="radio"]):not([type="checkbox"]):focus,.alan select:focus,.alan textarea:focus{outline:none;border-color:var(--odak);box-shadow:0 0 0 3px var(--odak-hale)}
.girdi::placeholder,.alan input::placeholder,.alan textarea::placeholder{color:var(--celik-400)}
.alan input[readonly]:not([data-tarih]),.girdi[readonly]:not([data-tarih]){background:var(--celik-50);color:var(--metin-2)}
.alan input:not([type="radio"]):not([type="checkbox"]):not([type="range"]):disabled,.alan select:disabled,.alan textarea:disabled{background:var(--celik-50);color:var(--metin-3);cursor:not-allowed}
.alan input[data-tur="para"],.alan input.sag{text-align:right;font-family:var(--font-rakam);font-variant-numeric:tabular-nums}
.alan .dd-btn{min-height:40px}
.alan-ipucu{font-size:var(--fs-sm);color:var(--metin-3);line-height:1.4}
.alan-hata{display:none;align-items:flex-start;gap:6px;font-size:var(--fs-sm);font-weight:500;color:var(--hata-metin);line-height:1.4}
.alan-hata .ikon{width:15px;height:15px;margin-top:1px}
.hatali>.alan-hata,.alan.hatali .alan-hata{display:flex}
.alan-uyari{display:flex;align-items:flex-start;gap:6px;font-size:var(--fs-sm);color:var(--uyari-metin);line-height:1.4}
.alan.hatali input:not([type="radio"]):not([type="checkbox"]),.alan.hatali select,.alan.hatali textarea,.alan.hatali .dd-btn,.girdi[aria-invalid="true"],.alan [aria-invalid="true"]:not([type="radio"]):not([type="checkbox"]){border-color:var(--hata) !important;box-shadow:0 0 0 3px var(--hata-hale)}
.alan.hatali .girdi-ek>.ek{border-color:var(--hata)}
.radyo-grup{display:flex;flex-direction:column;gap:6px;border-radius:var(--r-sm);transition:padding .12s}
.radyo-grup.hatali{border:1.5px solid var(--hata);padding:8px;background:var(--hata-zemin)}
.secenekler{display:flex;flex-wrap:wrap;gap:8px 18px}
label.radyo,label.onay-kutusu{display:inline-flex;align-items:flex-start;gap:8px;font-size:var(--fs-base);cursor:pointer;line-height:1.35;min-width:0}
label.radyo input,label.onay-kutusu input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:var(--vurgu-derin);cursor:pointer}
label.onay-kutusu small,label.radyo small{display:block;font-size:var(--fs-sm);color:var(--metin-3)}
.onay-kutusu.kutulu{padding:12px 14px;border:1px solid var(--cizgi);border-radius:var(--r-md);background:var(--yuzey-2);width:100%}
.onay-kutusu.kutulu:has(input:checked){border-color:var(--vurgu-cizgi);background:var(--vurgu-zemin)}
/* Onay metni düz yazı (dokununca kutu işaretlenir); belge bağlantıları altta kısa ve ayrı: (Kullanım koşulları · KVKK) */
label.onay-kutusu small.onay-belgeler{margin-top:4px}
.onay-belgeler a{padding:4px 0;white-space:nowrap}
.girdi-ek{display:flex;align-items:stretch;min-width:0;width:100%}
.girdi-ek>.ek{display:flex;align-items:center;padding:0 11px;background:var(--celik-50);border:1px solid var(--cerceve-form);color:var(--metin-2);font-size:14px;font-weight:600;white-space:nowrap;flex:none}
.girdi-ek>.ek:first-child{border-right:0;border-radius:var(--r-sm) 0 0 var(--r-sm)}
.girdi-ek>.ek:last-child{border-left:0;border-radius:0 var(--r-sm) var(--r-sm) 0}
.alan .girdi-ek>input{flex:1 1 auto;min-width:0;width:auto}
.alan .girdi-ek>input:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}
.alan .girdi-ek>input:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}
.alan input[data-tarih]{cursor:pointer;padding-right:38px;background:var(--yuzey) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f676f' stroke-width='1.75' stroke-linecap='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E") no-repeat right 11px center/18px;font-family:var(--font-rakam);font-variant-numeric:tabular-nums}
.alan input[data-tarih][aria-expanded="true"]{border-color:var(--odak);box-shadow:0 0 0 3px var(--odak-hale)}
.tarih-cipleri{display:flex;flex-wrap:wrap;gap:6px}
.tarih-cipleri button.cip{height:28px;padding:0 10px;font-size:13px}
.kilitli-deger{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border:1px dashed var(--cizgi-2);border-radius:var(--r-sm);background:var(--celik-50);color:var(--metin-2);font-size:14px}
.kilitli-deger .ikon{width:16px;height:16px;color:var(--metin-3)}
/* Anahtar (açık/kapalı): <label class="anahtar"><input type="checkbox"><span class="anahtar-iz"></span> Metin</label> */
label.anahtar{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:500;user-select:none;position:relative}
label.anahtar>input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.anahtar-iz{position:relative;width:38px;height:22px;border-radius:11px;background:var(--celik-300);flex:none;transition:background-color .15s}
.anahtar-iz::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
label.anahtar>input:checked+.anahtar-iz{background:var(--vurgu-derin)}
label.anahtar>input:checked+.anahtar-iz::after{transform:translateX(16px)}
label.anahtar>input:focus-visible+.anahtar-iz{outline:2px solid var(--odak);outline-offset:2px}
/* Katlanır bölüm: <details class="katlanir"><summary>Fatura bilgileri</summary><div class="katlanir-govde">… */
details.katlanir{border:1px solid var(--cizgi);border-radius:var(--r-md);background:var(--yuzey-2);min-width:0}
details.katlanir>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 14px;font-weight:600;font-size:14px;border-radius:var(--r-md)}
details.katlanir>summary::-webkit-details-marker{display:none}
details.katlanir>summary::before{content:"";width:8px;height:8px;border-right:2px solid var(--metin-3);border-bottom:2px solid var(--metin-3);transform:rotate(-45deg);transition:transform .15s;flex:none}
details.katlanir[open]>summary::before{transform:rotate(45deg)}
details.katlanir>summary .soluk,details.katlanir>summary small{font-weight:400;font-size:13px;color:var(--metin-3)}
details.katlanir>summary .rozet{margin-left:auto}
.katlanir-govde{padding:2px 14px 14px;display:flex;flex-direction:column;gap:14px}
details.katlanir.hatali-ic{border-color:var(--hata)}
/* Cari özet ve FIFO önizleme (ortak pencereler) */
.cari-ozet{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;padding:10px 14px;border-radius:var(--r-md);background:var(--vurgu-zemin);border:1px solid var(--vurgu-cizgi);font-size:var(--fs-sm)}
.cari-ozet .ozet-parca{display:flex;flex-direction:column;min-width:0}
.cari-ozet .ozet-parca span{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--vurgu-metin);font-weight:600}
.cari-ozet .ozet-parca b{font-family:var(--font-rakam);font-variant-numeric:tabular-nums;font-size:15px;color:var(--grafit-900)}
.cari-ozet .ozet-parca b.eksi{color:var(--hata-metin)}
.cari-ozet a{margin-left:auto;font-weight:600;font-size:13px}
.hizli-tutarlar{display:flex;flex-wrap:wrap;gap:6px}
.fifo-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.fifo-liste li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--cizgi);border-radius:var(--r-sm);background:var(--yuzey)}
.fifo-sira{width:24px;height:24px;border-radius:50%;background:var(--grafit-800);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;font-family:var(--font-rakam)}
.fifo-liste li:first-child .fifo-sira{background:var(--vurgu);color:var(--vurgu-ustu)}
.fifo-liste b{display:block;font-size:14px;font-family:var(--font-rakam);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fifo-liste small{display:block;font-size:12.5px;color:var(--metin-3)}
.kirilim{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--cizgi);border-radius:var(--r-md);overflow:hidden;background:var(--yuzey)}
.kirilim>div{padding:8px 12px;border-left:1px solid var(--cizgi);min-width:0}
.kirilim>div:first-child{border-left:0}
.kirilim span{display:block;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--metin-3);font-weight:600}
.kirilim b{display:block;font-family:var(--font-rakam);font-variant-numeric:tabular-nums;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kirilim>div.toplam{background:var(--vurgu-zemin)}

/* 13. Modal, onay, alt panel ------------------------------------------------ */
/* <div class="modal-fon" id="m-ad"><div class="modal" role="dialog" aria-modal="true">
     <div class="modal-baslik"><div><h2>…</h2><p class="modal-alt-baslik">…</p></div><button class="ikon-dugme modal-kapat" data-modal-kapat aria-label="Kapat">✕</button></div>
     <form data-demo novalidate><div class="modal-govde">…</div><div class="modal-alt">…</div></form></div></div> */
.modal-fon{position:fixed;inset:0;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;padding:24px;background:rgba(21,24,27,.55)}
.modal-fon.acik{display:flex;animation:fonGir .15s ease-out}
.modal-fon.onay-fon{z-index:var(--z-onay)}
@keyframes fonGir{from{opacity:0}to{opacity:1}}
.modal{position:relative;display:flex;flex-direction:column;width:100%;max-width:600px;max-height:calc(100dvh - 48px);background:var(--yuzey);border-radius:var(--r-lg);box-shadow:var(--golge-3);overflow:hidden;animation:modalGir .18s ease-out}
.modal.dar{max-width:440px}
.modal.genis{max-width:880px}
.modal.cok-genis{max-width:1120px}
@keyframes modalGir{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.modal>form{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}
.modal-baslik{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 12px 12px 20px;border-bottom:1px solid var(--cizgi);flex:none}
.modal-baslik>div{min-width:0;padding-top:6px}
.modal-baslik h2{font-size:var(--fs-xl);line-height:1.25}
.modal-alt-baslik{font-size:var(--fs-sm);color:var(--metin-3);margin-top:2px}
.modal-kapat{width:44px;height:44px;margin:-4px -2px 0 0;font-size:18px}
.modal-govde{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px}
.modal-alt{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--cizgi);background:var(--yuzey-2);flex:none}
.modal-alt>.bosluk{flex:1 1 auto}
.modal-alt>.sol{margin-right:auto}
/* Pencere içi doğrulama uyarısı (DN.toast(…,'uyari') pencere açıkken buraya düşer): alt çubukta, düğmelerin solunda.
   Yeni uyarı eskisinin yerini alır; işaretli alanlar düzelince, form sıfırlanınca ya da pencere kapanınca kalkar. */
.modal-uyari{display:flex;align-items:center;gap:6px;margin:0 auto 0 0;min-width:0;max-width:100%;color:var(--uyari-metin);font-size:13px;font-weight:600;line-height:1.35;animation:modalUyariGir .28s ease-out}
.modal-uyari>.ikon{width:18px;height:18px;color:var(--uyari)}
.modal-uyari>span{min-width:0}
@keyframes modalUyariGir{0%{opacity:0;transform:translateX(-6px)}55%{opacity:1;transform:translateX(3px)}100%{transform:none}}
.onay-penceresi .modal-govde{display:flex;flex-direction:column;gap:12px;font-size:var(--fs-base)}
.onay-penceresi .onay-maddeler{margin:0;padding-left:18px;font-size:var(--fs-sm);color:var(--metin-2)}
@keyframes modalAlttan{from{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}
@media (max-width:600px){
  .modal-fon{padding:0;align-items:flex-end}
  .modal,.modal.genis,.modal.cok-genis{max-width:none;height:100dvh;max-height:100dvh;border-radius:0;animation:modalAlttan .22s ease-out}
  .modal.dar{max-width:none;height:auto;max-height:92dvh;border-radius:16px 16px 0 0}
  .modal-govde{padding:16px}
  .modal-baslik{padding:10px 8px 10px 16px}
  .modal-alt{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .modal-alt>.dugme{flex:1 1 auto}
  .modal-alt>.bosluk{display:none}
  .modal-alt>.sol{flex-basis:100%;margin:0}
  .modal-alt>.modal-uyari{flex-basis:100%;order:-1;margin:0 0 2px}
}
/* Alt panel (hızlı eylem, "Daha" menüsü): fona dokununca kapanır (form değildir) */
.panel-fon{position:fixed;inset:0;z-index:var(--z-modal);display:none;align-items:flex-end;justify-content:center;background:rgba(21,24,27,.5)}
.panel-fon.acik{display:flex;animation:fonGir .15s ease-out}
.alt-panel{width:100%;max-width:560px;max-height:90dvh;overflow-y:auto;background:var(--yuzey);border-radius:18px 18px 0 0;padding:6px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:var(--golge-3);animation:modalAlttan .22s ease-out}
.alt-panel-tutamak{width:40px;height:4px;border-radius:2px;background:var(--celik-300);margin:6px auto 10px}
.alt-panel-baslik{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.alt-panel-baslik h2{font-size:var(--fs-lg)}
.alt-panel-bolum{font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--metin-3);margin:16px 0 8px}
.hizli-izgara{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hizli-kutu{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:92px;padding:14px;border:1px solid var(--cizgi);border-radius:var(--r-md);background:var(--yuzey-2);color:var(--metin);font:inherit;text-align:left;text-decoration:none;cursor:pointer;min-width:0}
.hizli-kutu:hover{border-color:var(--vurgu-cizgi);background:var(--vurgu-zemin);color:var(--metin)}
.hizli-kutu .ikon{width:26px;height:26px;color:var(--vurgu-derin);margin-bottom:4px}
.hizli-kutu b{font-size:16px;font-weight:700}
.hizli-kutu small{font-size:13px;color:var(--metin-3);line-height:1.3}
.hizli-kutu.giris .ikon{color:var(--basari)}
.hizli-kutu.cikis .ikon{color:var(--uyari)}
.panel-liste{list-style:none;margin:0;padding:0}
.panel-liste a,.panel-liste button{display:flex;align-items:center;gap:14px;width:100%;min-height:52px;padding:0 6px;border:0;border-bottom:1px solid var(--cizgi);background:none;color:var(--metin);font:500 16px var(--font-metin);text-decoration:none;text-align:left;cursor:pointer}
.panel-liste li:last-child a{border-bottom:0}
.panel-liste a[aria-current="page"]{color:var(--vurgu-metin);font-weight:700}
.panel-liste .ikon{color:var(--metin-3)}
.panel-liste .menu-rozet{margin-left:auto}

/* 14. Toast, ipucu balonu, açılır menü -------------------------------------- */
.toast-kap{position:fixed;right:24px;bottom:24px;z-index:var(--z-toast);display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none;max-width:calc(100vw - 32px)}
.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;width:420px;max-width:100%;padding:12px 8px 12px 14px;background:var(--grafit-900);color:#f2f3f5;border-radius:var(--r-md);box-shadow:var(--golge-2);font-size:14px;line-height:1.45;border-left:4px solid #5cc28a;animation:toastGir .2s ease-out}
.toast.cikiyor{animation:toastCik .18s ease-in forwards}
@keyframes toastGir{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes toastCik{to{opacity:0;transform:translateY(6px)}}
.toast>.ikon{width:20px;height:20px;margin-top:1px;color:#5cc28a}
.toast.hata{border-left-color:#ef7d70}.toast.hata>.ikon{color:#ef7d70}
.toast.uyari{border-left-color:#f0a35c}.toast.uyari>.ikon{color:#f0a35c}
.toast.bilgi{border-left-color:#7fbfdc}.toast.bilgi>.ikon{color:#7fbfdc}
.toast-metin{flex:1 1 auto;min-width:0;padding-top:1px}
.toast-eylem{flex:none;border:0;background:none;color:var(--vurgu-acik);font:700 14px var(--font-metin);padding:2px 8px;cursor:pointer;border-radius:4px}
.toast-eylem:hover{background:rgba(255,255,255,.08)}
.toast-kapat{flex:none;width:28px;height:28px;border:0;background:none;color:var(--celik-400);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:-3px}
.toast-kapat:hover{color:#fff;background:rgba(255,255,255,.08)}
.toast-kapat .ikon{width:16px;height:16px}
@media (max-width:767px){
  .toast-kap{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));align-items:stretch;max-width:none}
  .toast{width:auto}
  body[data-surum="kapsamli"] .toast-kap{bottom:calc(84px + env(safe-area-inset-bottom))}
}
@media (max-width:1023px){body[data-surum="hafif"] .toast-kap{left:16px;right:16px;align-items:stretch;bottom:calc(var(--alt-cubuk) + 12px + env(safe-area-inset-bottom))}body[data-surum="hafif"] .toast{width:auto}}
/* Pencere/panel açıkken dar ekranda bildirim üstte: alttaki Kaydet düğmesini, son alanları ve alttan açılan takvimi örtmez.
   (Pencere içindeki doğrulama uyarısı zaten toast değil, pencerenin alt çubuğunda satır içi görünür: .modal-uyari) */
@media (max-width:767px){body.katman-acik .toast-kap{top:calc(10px + env(safe-area-inset-top));bottom:auto}}
@media (max-width:1023px){body[data-surum="hafif"].katman-acik .toast-kap{top:calc(10px + env(safe-area-inset-top));bottom:auto}}
/* İpucu: <button type="button" class="ipucu" data-ipucu="Açıklama metni" aria-label="Açıklama">i</button> (balon JS ile konumlanır) */
.ipucu{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin:0 0 0 4px;border-radius:50%;border:1.5px solid var(--bilgi);background:var(--yuzey);color:var(--bilgi);font:700 11px/1 Georgia,"Times New Roman",serif;font-style:italic;cursor:help;vertical-align:middle;flex:none}
.ipucu::after{content:"";position:absolute;inset:-10px}
.ipucu:hover,.ipucu[aria-expanded="true"]{background:var(--bilgi);color:#fff}
.ipucu-balon{position:fixed;z-index:var(--z-toast);max-width:min(300px,calc(100vw - 24px));padding:8px 11px;border-radius:var(--r-sm);background:var(--grafit-900);color:#f2f3f5;font-size:13px;font-weight:400;line-height:1.45;box-shadow:var(--golge-2);pointer-events:none;animation:fonGir .12s ease-out}
/* Açılır menü: <button data-acilir="menu-id" aria-haspopup="menu">…</button><div class="acilir-liste" id="menu-id" role="menu" hidden>… */
.acilir-liste{position:fixed;z-index:var(--z-takvim);min-width:210px;max-width:calc(100vw - 16px);max-height:min(70vh,520px);overflow-y:auto;padding:6px;background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r-md);box-shadow:var(--golge-2);animation:fonGir .12s ease-out}
.acilir-oge{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:8px 10px;border:0;border-radius:var(--r-sm);background:none;color:var(--metin);font:500 14px var(--font-metin);text-align:left;text-decoration:none;cursor:pointer;white-space:nowrap}
.acilir-oge:hover,.acilir-oge:focus-visible{background:var(--vurgu-zemin);color:var(--metin);box-shadow:none;outline:none}
.acilir-oge .ikon{width:18px;height:18px;color:var(--metin-3)}
.acilir-oge small{margin-left:auto;padding-left:12px;color:var(--metin-3);font-size:12px;font-weight:400}
.acilir-oge.tehlike{color:var(--hata-metin)}
.acilir-oge.tehlike .ikon{color:var(--hata)}
.acilir-oge:disabled,.acilir-oge[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.acilir-ayrac{height:1px;background:var(--cizgi);margin:6px 4px}
.acilir-baslik{padding:8px 10px 4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--metin-3)}

/* 15. Boş durum, çubuk, açıklama notu, üst şerit ---------------------------- */
.bos-durum{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:36px 16px;color:var(--metin-2)}
.bos-durum>.ikon,.bos-durum .bos-ikon{width:48px;height:48px;color:var(--celik-400);stroke-width:1.4}
.bos-durum h3{font-size:16px;color:var(--metin)}
.bos-durum p{max-width:440px;font-size:14px}
.bos-durum .dugme-grubu{justify-content:center;margin-top:6px}
.bos-durum.kucuk{padding:18px 12px}
.bos-durum.kucuk>.ikon{width:32px;height:32px}
.cubuk{position:relative;height:8px;border-radius:var(--r-tam);background:var(--celik-200);overflow:hidden;min-width:40px}
.cubuk>span{display:block;height:100%;border-radius:inherit;background:var(--vurgu);max-width:100%}
.cubuk.kalin{height:12px}
.cubuk.hata>span{background:var(--hata)}
.cubuk.uyari>span{background:var(--uyari)}
.cubuk.basari>span{background:var(--basari)}
.cubuk.bilgi>span{background:var(--bilgi)}
.cubuk.grafit>span{background:var(--celik-600)}
.cubuk .esik{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--grafit-800)}
.cubuk-satiri{display:grid;grid-template-columns:minmax(0,130px) minmax(0,1fr) auto;align-items:center;gap:10px;font-size:14px;padding:6px 0}
.cubuk-satiri>.para,.cubuk-satiri>.sayi{text-align:right}
@media (max-width:479px){.cubuk-satiri{grid-template-columns:minmax(0,1fr) auto}.cubuk-satiri>.cubuk{grid-column:1/-1;grid-row:2}}
.ilerleme{display:flex;align-items:center;gap:10px;font-size:var(--fs-sm);color:var(--metin-2)}
.ilerleme>.cubuk{flex:1 1 auto}
/* Açıklama notu: <p class="aciklama-notu">Hazırlık süresi lot adedine bölünür.</p> */
.aciklama-notu{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border-radius:var(--r-sm);background:var(--bilgi-zemin);border:1px solid var(--bilgi-cizgi);color:var(--grafit-800);font-size:13px;line-height:1.5}
.aciklama-notu::before{content:"i";flex:none;width:18px;height:18px;margin-top:1px;border-radius:50%;background:var(--bilgi);color:#fff;font:700 11px/18px Georgia,"Times New Roman",serif;font-style:italic;text-align:center}
.aciklama-notu.vurgu{background:var(--vurgu-zemin);border-color:var(--vurgu-cizgi)}
.aciklama-notu.vurgu::before{background:var(--vurgu-derin)}
.aciklama-notu.uyari{background:var(--uyari-zemin);border-color:var(--uyari-cizgi)}
.aciklama-notu.uyari::before{content:"!";background:var(--uyari);font-family:var(--font-metin);font-style:normal}
.aciklama-notu.hata{background:var(--hata-zemin);border-color:var(--hata-cizgi)}
.aciklama-notu.hata::before{content:"!";background:var(--hata);font-family:var(--font-metin);font-style:normal}
.aciklama-notu.basari{background:var(--basari-zemin);border-color:var(--basari-cizgi)}
.aciklama-notu.basari::before{content:"✓";background:var(--basari);font-family:var(--font-metin);font-style:normal}
.aciklama-notu.sade{background:none;border:0;padding:0;color:var(--metin-3)}
.aciklama-notu b,.aciklama-notu strong{color:var(--grafit-900)}
.aciklama-notu>div,.aciklama-notu>span{min-width:0}
/* Üst şerit: <div class="ust-serit uyari">… */
.ust-serit{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 14px;margin-bottom:16px;border-radius:var(--r-md);border:1px solid var(--cizgi);background:var(--yuzey);font-size:14px}
.ust-serit>.ikon{width:20px;height:20px;flex:none}
.ust-serit>span:not(.sag){flex:1 1 200px;min-width:0}
.ust-serit .sag{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.ust-serit.uyari{background:var(--uyari-zemin);border-color:var(--uyari-cizgi);color:var(--uyari-metin)}
.ust-serit.hata{background:var(--hata-zemin);border-color:var(--hata-cizgi);color:var(--hata-metin)}
.ust-serit.bilgi{background:var(--bilgi-zemin);border-color:var(--bilgi-cizgi);color:var(--bilgi-metin)}
.ust-serit.basari{background:var(--basari-zemin);border-color:var(--basari-cizgi);color:var(--basari-metin)}
.ust-serit.vurgu{background:var(--vurgu-zemin);border-color:var(--vurgu-cizgi);color:var(--vurgu-metin)}
.ust-serit b{color:var(--grafit-900)}
/* Adım listesi (çalışılmış örnek, akış anlatımı) */
.adim-listesi{list-style:none;margin:0;padding:0;counter-reset:adim;display:flex;flex-direction:column;gap:10px}
.adim-listesi>li{counter-increment:adim;position:relative;padding-left:40px;min-height:28px}
.adim-listesi>li::before{content:counter(adim);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--grafit-800);color:#fff;font:700 13px/28px var(--font-rakam);text-align:center}
.adim-listesi>li.vurgu::before{background:var(--vurgu);color:var(--vurgu-ustu)}

/* 16. Takvim (ortak.js çizer; tek pencere body'de) -------------------------- */
.takvim{position:fixed;z-index:var(--z-takvim);width:296px;padding:12px;background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r-lg);box-shadow:var(--golge-2);display:none;font-family:var(--font-metin)}
.takvim.acik{display:block;animation:fonGir .12s ease-out}
.takvim-bas{display:flex;align-items:center;gap:4px;margin-bottom:8px}
.takvim-bas .ay-yil{flex:1 1 auto;text-align:center;font-weight:700;font-size:15px}
.takvim-bas button{width:32px;height:32px;border:0;border-radius:var(--r-sm);background:var(--celik-100);color:var(--metin-2);font-size:16px;font-weight:700;line-height:1;cursor:pointer;flex:none}
.takvim-bas button:hover{background:var(--vurgu-zemin);color:var(--vurgu-metin)}
.takvim-izgara{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.takvim .gun-adi{padding:4px 0;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;text-align:center;color:var(--metin-3)}
.takvim .gun{height:36px;border:0;border-radius:var(--r-sm);background:none;font:500 14px var(--font-rakam);color:var(--metin);cursor:pointer;padding:0}
.takvim .gun:hover:not(:disabled){background:var(--vurgu-zemin)}
.takvim .gun:focus-visible{outline:2px solid var(--odak);outline-offset:0;box-shadow:none;background:var(--vurgu-zemin)}
.takvim .gun.hafta-sonu{color:var(--metin-2)}
.takvim .gun.bugun{box-shadow:inset 0 0 0 1.5px var(--vurgu);font-weight:700}
.takvim .gun.secili{background:var(--vurgu);color:var(--vurgu-ustu);font-weight:700}
.takvim .gun:disabled{color:var(--celik-300);cursor:not-allowed;background:repeating-linear-gradient(135deg,transparent 0 5px,rgba(28,31,35,.035) 5px 6px)}
.takvim .gun.bos{visibility:hidden}
.takvim-alt{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--cizgi)}
.takvim-not{font-size:12px;color:var(--metin-3);line-height:1.35;min-width:0}
.takvim-alt button{flex:none;height:30px;padding:0 10px;border:1px solid var(--cerceve-form);border-radius:var(--r-sm);background:var(--yuzey);font:600 13px var(--font-metin);cursor:pointer}
.takvim-alt button:hover:not(:disabled){background:var(--vurgu-zemin);border-color:var(--vurgu-derin)}
.takvim-alt button:disabled{opacity:.4;cursor:not-allowed}
@media (max-width:599px){
  .takvim{left:0 !important;right:0;top:auto !important;bottom:0;width:auto;border-radius:18px 18px 0 0;padding:14px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:var(--golge-3)}
  .takvim .gun{height:44px;font-size:15px}
}

/* 17. Kabuk: ortak parçalar -------------------------------------------------- */
.icerige-gec{position:absolute;left:-9999px;top:8px;z-index:600;padding:10px 14px;border-radius:var(--r-sm);background:var(--vurgu);color:var(--vurgu-ustu);font-weight:700;text-decoration:none}
.icerige-gec:focus{left:12px}
.marka{display:inline-flex;align-items:center;gap:10px;color:#eef0f2;text-decoration:none;min-width:0;flex:none}
.marka:hover{color:#fff}
.marka .logo-isaret{width:36px;height:36px;flex:none;color:#eef0f2}
.marka-yazi{display:flex;flex-direction:column;line-height:1;min-width:0}
.marka-yazi b{font-family:var(--font-baslik);font-weight:700;font-size:20px;letter-spacing:.06em;color:#fff}
.marka-yazi small{font-family:var(--font-metin);font-weight:600;font-size:9.5px;letter-spacing:.28em;color:var(--vurgu-acik);margin-top:4px;white-space:nowrap}
.kabuk-icerik{min-width:0}
.logo-isaret{display:block}

/* 18. Kabuk: Hafif ------------------------------------------------------------ */
.kabuk.hafif{min-height:100vh;display:flex;flex-direction:column}
.kabuk.hafif .ust-cubuk{position:sticky;top:0;z-index:var(--z-menu);display:flex;align-items:center;gap:14px;height:var(--ust-cubuk);padding:0 20px;background:var(--menu-zemin);color:var(--menu-metin);box-shadow:0 1px 0 rgba(0,0,0,.25)}
.kabuk.hafif .ust-cubuk .surum-rozeti{flex:none}
.ust-menu{display:flex;align-items:stretch;gap:2px;height:100%;min-width:0;margin-left:6px}
.ust-menu a{position:relative;display:flex;align-items:center;gap:6px;padding:0 11px;color:var(--menu-metin);text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap;border-top:3px solid transparent;border-bottom:3px solid transparent}
.ust-menu a:hover{color:#fff;background:rgba(255,255,255,.05)}
.ust-menu a[aria-current="page"]{color:#fff;font-weight:600;border-bottom-color:var(--vurgu-acik);background:var(--menu-aktif)}
.ust-menu a:focus-visible,.ust-cubuk a:focus-visible,.ust-cubuk button:focus-visible{outline-color:var(--menu-odak);outline-offset:-3px;box-shadow:none}
.ust-menu .menu-rozet{height:18px;min-width:18px;font-size:10.5px}
.ust-eylemler{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none}
.ust-eylemler .ikon-dugme{color:var(--menu-metin)}
.ust-eylemler .ikon-dugme:hover{background:rgba(255,255,255,.08);color:#fff}
.ust-baslik{display:none}
.kabuk.hafif .kabuk-icerik{flex:1 1 auto}
.kabuk.hafif .icerik{max-width:var(--icerik-hafif)}
.alt-cubuk{display:none}
@media (max-width:1365px) and (min-width:1024px){
  .kabuk.hafif .ust-eylemler .gizle-orta{display:none}
}
@media (max-width:1199px) and (min-width:1024px){
  .kabuk.hafif .ust-cubuk{gap:10px;padding:0 14px}
  .kabuk.hafif .marka-yazi{display:none}
  .kabuk.hafif .ust-menu{margin-left:0}
  .kabuk.hafif .ust-menu a{padding:0 8px;font-size:13.5px}
}
@media (max-width:1023px){
  .kabuk.hafif .ust-cubuk{gap:10px;padding:0 12px 0 16px}
  .kabuk.hafif .ust-menu,.kabuk.hafif .ust-eylemler .dugme,.kabuk.hafif .ust-eylemler .gizle-orta,.kabuk.hafif .marka-yazi{display:none}
  .kabuk.hafif .marka .logo-isaret{width:32px;height:32px}
  .ust-baslik{display:block;flex:1 1 auto;min-width:0;font-family:var(--font-baslik);font-weight:600;font-size:17px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .kabuk.hafif .ust-eylemler{margin-left:0}
  .alt-cubuk{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-altcubuk);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--alt-cubuk) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--menu-zemin);border-top:1px solid var(--grafit-700)}
  .alt-cubuk>a,.alt-cubuk>button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;border:0;background:none;color:var(--menu-metin-2);font:600 11px var(--font-metin);text-decoration:none;cursor:pointer;padding:0}
  .alt-cubuk>a .ikon,.alt-cubuk>button .ikon{width:24px;height:24px}
  .alt-cubuk>a[aria-current="page"],.alt-cubuk>button[aria-current="page"]{color:var(--vurgu-acik)}
  .alt-cubuk>a[aria-current="page"]::before{content:"";position:absolute;top:0;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:var(--vurgu-acik)}
  .alt-cubuk .menu-rozet{position:absolute;top:6px;left:calc(50% + 4px);height:17px;min-width:17px;padding:0 5px;font-size:10px;border:2px solid var(--menu-zemin);box-sizing:content-box}
  .alt-cubuk>.alt-arti{justify-content:flex-start}
  .alt-arti>span.arti-daire{width:56px;height:56px;margin-top:-18px;border-radius:50%;background:var(--vurgu);color:var(--vurgu-ustu);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.35);border:4px solid var(--menu-zemin)}
  .alt-arti>span.arti-daire .ikon{width:26px;height:26px;stroke-width:2.2}
  .alt-arti{color:var(--menu-metin) !important}
  .alt-cubuk>a:focus-visible,.alt-cubuk>button:focus-visible{outline-color:var(--menu-odak);outline-offset:-4px;box-shadow:none}
  .kabuk.hafif .kabuk-icerik{padding-bottom:calc(var(--alt-cubuk) + 12px + env(safe-area-inset-bottom))}
  body.klavye-acik .alt-cubuk{display:none}
}

/* 19. Kabuk: Kapsamlı ------------------------------------------------------- */
.kabuk.kapsamli{display:grid;grid-template-columns:var(--yan-menu) minmax(0,1fr);min-height:100vh}
.kabuk.kapsamli.dar-menu{grid-template-columns:var(--yan-dar) minmax(0,1fr)}
.kabuk.kapsamli>.yan-menu{grid-column:1;grid-row:1}
.kabuk.kapsamli>.kabuk-sag{grid-column:2;grid-row:1;min-width:0}
.yan-menu{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--menu-zemin);color:var(--menu-metin);overflow-y:auto;overflow-x:hidden;z-index:var(--z-menu);scrollbar-width:thin;scrollbar-color:var(--grafit-700) transparent}
.yan-marka{display:flex;align-items:center;gap:10px;padding:14px 14px 10px;min-height:64px}
.yan-marka .surum-rozeti{margin-left:auto}
.yan-nav{flex:1 1 auto;padding:4px 8px 12px}
.yan-grup-baslik{padding:14px 10px 6px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--menu-metin-2);white-space:nowrap}
.yan-oge{position:relative;display:flex;align-items:center;gap:12px;height:40px;padding:0 10px;border-radius:var(--r-sm);color:var(--menu-metin);text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap;border:0;background:none;width:100%;cursor:pointer;font-family:var(--font-metin);text-align:left}
.yan-oge .ikon{color:var(--menu-metin-2)}
.yan-oge:hover{background:rgba(255,255,255,.06);color:#fff}
.yan-oge:hover .ikon{color:#fff}
.yan-oge[aria-current="page"]{background:var(--menu-aktif);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--vurgu-acik)}
.yan-oge[aria-current="page"] .ikon{color:var(--vurgu-acik)}
.yan-oge:focus-visible{outline:2px solid var(--menu-odak);outline-offset:-2px;box-shadow:none}
.yan-metin{min-width:0;overflow:hidden;text-overflow:ellipsis}
.yan-oge .menu-rozet{margin-left:auto}
.yan-alt{padding:8px;border-top:1px solid var(--grafit-700)}
.yan-daralt{color:var(--menu-metin-2)}
.dar-menu .yan-marka{justify-content:center;padding:14px 0 10px}
.dar-menu .yan-marka .marka-yazi,.dar-menu .yan-marka .surum-rozeti,.dar-menu .yan-metin{display:none}
.dar-menu .yan-grup-baslik{font-size:0;padding:0;margin:10px 12px;height:1px;background:var(--grafit-700)}
.dar-menu .yan-oge{justify-content:center;padding:0;gap:0}
.dar-menu .yan-oge .menu-rozet{position:absolute;top:5px;right:8px;min-width:9px;height:9px;padding:0;font-size:0;border:2px solid var(--menu-zemin);box-sizing:content-box}
.dar-menu .yan-daralt .ikon{transform:scaleX(-1)}
.icerik-ust{position:sticky;top:0;z-index:var(--z-baslik);display:flex;align-items:center;gap:12px;height:56px;padding:0 var(--kenar);background:var(--yuzey);border-bottom:1px solid var(--cizgi)}
.icerik-ust .kirinti{flex:1 1 auto}
.icerik-ust .menu-ac{display:none;margin-left:-8px}
.icerik-ust-eylemler{display:flex;align-items:center;gap:8px;flex:none}
.kabuk.kapsamli .icerik{max-width:var(--icerik-kapsamli)}
.kabuk.kapsamli .fab{display:none}
.cekmece-fon{display:none;position:fixed;inset:0;z-index:calc(var(--z-menu) - 1);background:rgba(21,24,27,.5)}
@media (max-width:1023px){
  .yan-daralt{display:none !important}
  .icerik-ust .menu-ac{display:inline-flex}
  .kabuk.kapsamli.cekmece-acik .cekmece-fon{display:block;animation:fonGir .15s}
}
@media (min-width:768px) and (max-width:1023px){
  .kabuk.kapsamli,.kabuk.kapsamli.dar-menu{grid-template-columns:var(--yan-dar) minmax(0,1fr)}
  .kabuk.kapsamli.cekmece-acik .yan-menu{position:fixed;left:0;top:0;bottom:0;width:var(--yan-menu);box-shadow:var(--golge-3)}
}
@media (max-width:767px){
  .kabuk.kapsamli,.kabuk.kapsamli.dar-menu{grid-template-columns:minmax(0,1fr)}
  .kabuk.kapsamli>.kabuk-sag{grid-column:1}
  .kabuk.kapsamli .yan-menu{position:fixed;left:0;top:0;bottom:0;width:280px;max-width:86vw;transform:translateX(-102%);transition:transform .22s ease;box-shadow:none}
  .kabuk.kapsamli.cekmece-acik .yan-menu{transform:none;box-shadow:var(--golge-3)}
  .kabuk.kapsamli .fab{display:inline-flex}
  .icerik-ust{height:56px;gap:8px}
  .icerik-ust .yeni-menu{display:none}
  .icerik-ust .kirinti .kirinti-ust{display:none}
  .kabuk.kapsamli .kabuk-icerik{padding-bottom:80px}
  body.katman-acik .kabuk.kapsamli .fab{display:none}
}

/* 20. Belge (A4 çıktı ve ekran önizlemesi; §7.11) -------------------------- */
.a4-kap{overflow-x:auto;padding:8px 0;min-width:0}
.belge{background:#fff;color:#16181b;font-family:var(--font-metin);font-size:10.5pt;line-height:1.42;max-width:210mm;margin:0 auto;padding:14mm 12mm;border:1px solid var(--cizgi);box-shadow:var(--golge-2)}
.belge .para,.belge td.para{font-family:var(--font-rakam);font-variant-numeric:tabular-nums}
.belge-antet{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:10px;border-bottom:1px solid #8a9299;margin-bottom:14px}
.belge-antet-sol{display:flex;align-items:center;gap:10px;min-width:0}
.belge-antet-sol .logo-isaret{width:46px;height:46px;color:#262a2f;flex:none}
.belge-firma{font-family:var(--font-baslik);font-size:14pt;font-weight:700;letter-spacing:.03em;line-height:1.15}
.belge-firma small{display:block;margin-top:3px;font-family:var(--font-metin);font-size:7.5pt;font-weight:600;letter-spacing:.28em;color:var(--vurgu-metin)}
.belge-antet-sag{text-align:right;font-size:8.5pt;color:#444a50;line-height:1.5}
.belge-baslik{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:6px 0 12px;flex-wrap:wrap}
.belge-baslik h1,.belge-adi{font-family:var(--font-baslik);font-size:16pt;font-weight:700;letter-spacing:.05em;margin:0;color:#16181b}
.belge-baslik .belge-no{text-align:right;font-size:9pt;line-height:1.55}
.belge-baslik .belge-no b{font-family:var(--font-rakam)}
.belge-kunye{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;padding:10px 12px;border:1px solid #c5cad0;border-radius:4px;margin-bottom:12px;font-size:9.5pt}
.belge-kunye .baslik{grid-column:1/-1;font-weight:700;font-size:10.5pt}
.belge-kunye span{color:#5f676f}
.belge-tablo{width:100%;border-collapse:collapse;font-size:9.5pt}
.belge-tablo th{padding:5px 6px;border-bottom:1.5px solid #343a40;text-align:left;font-size:8pt;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#343a40;white-space:nowrap}
.belge-tablo td{padding:5px 6px;border-bottom:1px solid #dde1e5;vertical-align:top}
.belge-tablo td.para,.belge-tablo th.para,.belge-tablo td.sayi,.belge-tablo th.sayi{text-align:right;white-space:nowrap}
.belge-tablo tfoot td{font-weight:700;border-top:1.5px solid #343a40;border-bottom:0}
.belge-tablo .iptal td{color:#8a9299;text-decoration:line-through}
.belge-toplam{width:min(100%,300px);margin:12px 0 0 auto;font-size:10pt}
.belge-toplam>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid #dde1e5}
.belge-toplam>div>:last-child{font-family:var(--font-rakam);font-variant-numeric:tabular-nums;white-space:nowrap}
.belge-toplam>.genel{font-weight:700;font-size:11.5pt;border-top:1.5px solid #343a40;border-bottom:0;padding-top:6px}
.belge-toplam>.bakiye{margin-top:6px;padding:6px 8px;border:1.5px solid #343a40;border-radius:3px;font-weight:700}
.belge-imza{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:34px}
.belge-imza>div{min-height:64px;padding-top:6px;border-top:1px solid #8a9299;text-align:center;font-size:9pt;color:#444a50}
.belge-not{margin-top:14px;font-size:8.5pt;color:#6b7278;line-height:1.5}
.belge-bolum{margin-top:14px}
.belge-bolum h2{font-family:var(--font-metin);font-size:10.5pt;font-weight:700;margin:0 0 6px}
.belge-sayfa-kir{break-before:page;page-break-before:always}
@media screen and (max-width:767px){
  .belge{padding:16px;font-size:9.5pt}
  .belge-antet{flex-direction:column}
  .belge-antet-sag{text-align:left}
  .belge-kunye{grid-template-columns:minmax(0,1fr)}
  .belge-tablo{font-size:8.5pt}
  .belge-imza{gap:16px}
  .belge-sayfa-kir{margin-top:24px;padding-top:16px;border-top:2px dashed var(--cizgi-2)}
}

/* 21. Yazdır ------------------------------------------------------------------ */
#dn-yazdir{display:none}
@media print{
  @page{size:A4;margin:14mm 12mm}
  html,body{background:#fff !important}
  body.yazdiriliyor>*:not(#dn-yazdir){display:none !important}
  body.yazdiriliyor #dn-yazdir{display:block}
  .yazdir-yok,.ust-cubuk,.alt-cubuk,.yan-menu,.icerik-ust,.fab,.toast-kap,.cipler,.modal-fon,.panel-fon,.takvim,.acilir-liste,.ipucu-balon,.cekmece-fon,.sayfa-eylemler,.filtre-cubugu{display:none !important}
  .kabuk.kapsamli,.kabuk.kapsamli.dar-menu{display:block}
  .icerik{padding:0;max-width:none}
  .belge{box-shadow:none;border:0;padding:0;max-width:none;margin:0;font-size:10.5pt}
  .kart{box-shadow:none;break-inside:avoid}
  thead{display:table-header-group}
  tr{break-inside:avoid}
  .rozet{background:none !important;border:1px solid currentColor}
  a{color:inherit;text-decoration:none}
  .belge-sayfa-kir{break-before:page}
}

/* 22. Vitrin (ornek.html) ----------------------------------------------------- */
.vitrin-bolum{scroll-margin-top:72px}
.vitrin-bolum+.vitrin-bolum{margin-top:20px}
.vitrin-bolum>.kart-baslik p{font-size:var(--fs-sm);color:var(--metin-3);width:100%}
.renk-izgara{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.renk-ornek{border:1px solid var(--cizgi);border-radius:var(--r-sm);overflow:hidden;font-size:12px;background:var(--yuzey)}
.renk-ornek>i{display:block;height:44px}
.renk-ornek>span{display:block;padding:6px 8px;line-height:1.35}
.renk-ornek code{background:none;padding:0;font-size:11.5px;color:var(--metin-3)}
.ikon-izgara{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.ikon-izgara>div{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border:1px solid var(--cizgi);border-radius:var(--r-sm);font-size:11.5px;color:var(--metin-3);background:var(--yuzey-2);min-width:0;overflow-wrap:anywhere;text-align:center}
.ikon-izgara .ikon{width:24px;height:24px;color:var(--metin)}
.vitrin-etiket{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--metin-3);margin:14px 0 8px}
.vitrin-etiket:first-child{margin-top:0}
.vitrin-etiket code,.kart-baslik code{text-transform:none;letter-spacing:0}

/* 23. Premium önizleme: rol seçici, risk göstergesi, dikey zaman çizgisi, yaşlandırma hücreleri -- */
.rol-secici{position:relative;display:inline-flex}
.rol-dugme{gap:6px}
.rol-dugme b{font-weight:700}
.rol-dugme.rol-farkli{background:var(--bilgi-zemin);border-color:var(--bilgi-cizgi);color:var(--bilgi-metin)}
.acilir-oge[aria-checked="true"]{background:var(--vurgu-zemin)}
.acilir-oge[data-rol-sec]{white-space:normal;align-items:flex-start;flex-wrap:wrap}
.acilir-oge[data-rol-sec] small{flex-basis:100%;margin-left:0;padding-left:28px}
.acilir-not{margin:4px 10px 6px;max-width:280px;font-size:12px;line-height:1.4;color:var(--metin-3);white-space:normal}
.rol-serit{margin-bottom:0;border-radius:0;border-width:0 0 1px}
@media (max-width:767px){.rol-dugme .rol-etiket{display:none}.rol-dugme{padding:0 8px}}

/* Risk göstergesi (müşteri kartı, satış penceresi, fiyat hesapla) */
.risk-gosterge{display:grid;gap:8px}
.risk-gosterge .risk-ust{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
.risk-gosterge .risk-tutar{font:700 20px/1.2 var(--font-rakam);font-variant-numeric:tabular-nums;color:var(--grafit-900)}
.risk-gosterge .risk-tutar small{font-size:13px;font-weight:500;color:var(--metin-3)}
.risk-gosterge .cubuk{height:12px;overflow:visible}
.risk-gosterge .cubuk>span{position:relative}
.risk-gosterge .risk-kirilim{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--metin-3)}
.risk-gosterge .risk-kirilim i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.cubuk.yigin{display:flex;overflow:hidden}
.cubuk.yigin>span{border-radius:0}
.cubuk.yigin>span:first-child{border-radius:var(--r-tam) 0 0 var(--r-tam)}

/* Dikey zaman çizgisi (çek/senet geçmişi, parça geçmişi) */
.zaman-cizgisi{list-style:none;margin:0;padding:0;position:relative}
.zaman-cizgisi>li{position:relative;padding:0 0 14px 26px;min-width:0}
.zaman-cizgisi>li::before{content:"";position:absolute;left:6px;top:8px;bottom:-8px;width:2px;background:var(--celik-200)}
.zaman-cizgisi>li:last-child::before{display:none}
.zaman-cizgisi>li::after{content:"";position:absolute;left:0;top:3px;width:14px;height:14px;border-radius:50%;background:var(--yuzey);border:3px solid var(--vurgu)}
.zaman-cizgisi>li.bekliyor::after{border-style:dashed;border-color:var(--celik-300)}
.zaman-cizgisi>li.hata::after{border-color:var(--hata)}
.zaman-cizgisi>li.basari::after{border-color:var(--basari)}
.zaman-cizgisi b{display:block;font-size:14px;color:var(--grafit-900)}
.zaman-cizgisi small{display:block;font-size:13px;color:var(--metin-3);line-height:1.4}

/* Yaşlandırma hücreleri: koyulaşan uyarı tonları */
.yas-hucre{display:inline-block;min-width:0;font-variant-numeric:tabular-nums}
td.yas-0{background:transparent}
td.yas-1{background:#fff8ec}
td.yas-2{background:#fdecd2}
td.yas-3{background:#fbdcc4}
td.yas-4{background:#f7cdc6;color:var(--hata-metin);font-weight:600}
.yas-lejant{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--metin-3)}
.yas-lejant i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px;border:1px solid var(--cizgi)}

/* 23. Denop ekleri ----------------------------------------------------------- */
/* Kiracı kutusu (yan menüde marka altı) */
.kiraci-kutu{display:flex;align-items:center;gap:10px;margin:0 12px 10px;padding:8px 10px;border-radius:var(--r-md);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:var(--menu-metin);text-decoration:none;min-width:0}
a.kiraci-kutu:hover{background:rgba(255,255,255,.09);color:#fff}
.kiraci-harf{width:30px;height:30px;flex:none;border-radius:8px;background:var(--vurgu);color:var(--vurgu-ustu);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-baslik);font-weight:700;font-size:15px}
.kiraci-yazi{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.kiraci-yazi b{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kiraci-yazi small{font-size:11px;color:var(--menu-metin-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dar-menu .kiraci-kutu{margin:0 8px 10px;padding:6px;justify-content:center}
.dar-menu .kiraci-yazi{display:none}
/* Çek / senet ayarı kapalıyken */
body[data-cek="kapali"] .yalniz-cek,body[data-senet="kapali"] .yalniz-senet{display:none !important}
body[data-cek="acik"] .yalniz-cek-kapali{display:none !important}
/* Maliyet katmanları: ham (gerçek) · proje · müşteri */
.renk-ham{color:var(--hata-metin)}.renk-proje{color:var(--bilgi-metin)}.renk-musteri{color:var(--basari-metin)}
.katman-cip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:var(--r-tam);font-size:12px;font-weight:600;border:1px solid}
.katman-cip.ham{background:var(--hata-zemin);border-color:var(--hata-cizgi);color:var(--hata-metin)}
.katman-cip.proje{background:var(--bilgi-zemin);border-color:var(--bilgi-cizgi);color:var(--bilgi-metin)}
.katman-cip.musteri{background:var(--basari-zemin);border-color:var(--basari-cizgi);color:var(--basari-metin)}
/* Ürün görseli (gorsel.js) */
.urun-gorsel{display:block;width:100%;height:auto;aspect-ratio:4/3;border-radius:var(--r-md);background:var(--celik-50);overflow:hidden}
.urun-gorsel svg{display:block;width:100%;height:100%}
/* Gözden geçirme sonrası ortak düzeltmeler (20.10.2026) */
/* .aciklama-notu: düz metin + <b>/<a> karışınca flex her parçayı ayrı sütuna atıyordu → blok + mutlak simge */
.aciklama-notu{display:block;position:relative;padding-left:39px}
.aciklama-notu::before{position:absolute;left:12px;top:11px;margin-top:0}
.aciklama-notu.sade{padding:0 0 0 27px}
.aciklama-notu.sade::before{left:0;top:1px}
/* .cubuk + .yigin birlikte kullanılınca yığın yardımcısının dikey düzeni devralınmasın */
.cubuk.yigin{flex-direction:row;gap:0}
/* Basılı çipte sayı çivit zeminde okunsun */
.cip[aria-pressed="true"] .cip-sayi{color:rgba(255,255,255,.85)}
/* Kart başlığında h2 + alt başlık bir div'e sarılınca bindirme olmasın */
.kart-baslik>div>.kart-alt-baslik{margin-top:2px}
/* Zorunlu onay kutusu hata durumunda */
.alan.hatali .onay-kutusu.kutulu,.onay-kutusu.kutulu.hatali{border-color:var(--hata);background:var(--hata-zemin)}
/* Seçili satır: tablo karta dönünce vurgu kart düzeyinde */
@container tablo (max-width:640px){
  .tablo:not(.kartsiz) tr.secili{background:var(--vurgu-zemin);box-shadow:inset 3px 0 0 var(--vurgu)}
  .tablo:not(.kartsiz) tr.secili td{background:none}
}
/* Salt okunur ekranda seçili ama kapalı çip görünür kalsın */
label.cip>input:checked:disabled+span{background:var(--vurgu-zemin);border-color:var(--vurgu);color:var(--vurgu-metin)}
/* Usta: hızlı eylem düğmesi küçük, sayfa düğmelerini örtmesin */
.fab.fab-usta{width:44px;height:44px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}
