/* Cari Takip: ürüne özgü ortak parçalar. Kabuk, düğme, alan, rozet, sekme, pencere, çekmece, bildirim ve şerit Mali Ofis ortak kitindendir
   (mali-ofis-kit/bilesenler.css; docs/23 §5-§15). Bu dosyada yalnız kitte olmayan parçalar durur (panel, özet şeridi, ızgara liste, süzgeç
   grubu, tutar alanı, öneri listesi, kalem editörü) ve yalnız kitin --mo-* belirteçleri kullanılır; koyu tema kendiliğinden çalışır.
   Yazı boyları kitin ölçeğindedir (12, 13, 14, 15, 17, 21, 30 px). Sayfaya özgü stiller css/cari.css, css/kasa-teklif-rapor.css, css/ayarlar.css içindedir. */
[hidden]{display:none!important}
h1,h2,h3{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
input,select,textarea{line-height:normal}
button{cursor:pointer}
a{color:inherit}
.mono{font-family:var(--mo-yazi-sayi);font-variant-numeric:tabular-nums}
.sag{text-align:right}.orta{text-align:center}
.soluk{color:var(--mo-soluk)}.yesil{color:var(--mo-basari)}.kirmizi{color:var(--mo-hata)}.vurgu{color:var(--mo-baglanti)}
.kalin{font-weight:700}.yari{font-weight:600}
.dar{white-space:nowrap}
.ekran-okuyucu{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ikon{flex:none;vertical-align:middle}
/* Küçük bağlam etiketi (çekmecedeki üst başlık gibi): cümle düzeninde, soluk */
.eyebrow{font-size:var(--mo-boy-kucuk);font-weight:600;color:var(--mo-soluk)}

/* ---------- kabuk: kitin düzenine ürüne özgü eklemeler ---------- */
.icerik{display:grid;gap:20px;align-content:start;min-width:0}
.mo-sayfa-basligi__islemler .mo-dugme{flex:none}
.ust-islem{display:block;width:var(--mo-dokunma)}
.cekmece-baslik-kap{min-width:0}
.cekmece-ust-baslik{margin:0 0 2px;font-size:var(--mo-boy-kucuk);font-weight:600;color:var(--mo-soluk)}
.mo-cekmece__baslik{overflow-wrap:anywhere}
.mo-cekmece__govde{display:grid;gap:16px;align-content:start}
.mo-pencere__govde{display:grid;gap:14px;align-content:start}
.mo-cekmece__alt .grup-sag,.mo-pencere__alt .grup-sag{display:flex;gap:8px;margin-left:auto}
.mo-cekmece__alt{justify-content:space-between}
.mo-secim__alt{display:block;margin-top:2px;font-size:var(--mo-boy-kucuk);color:var(--mo-soluk)}
.mo-sekmeler a.mo-sekme{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.mo-sekme .mo-hap{font-weight:600}
.mo-bos-durum .mo-dugme{flex:none}
[role="columnheader"][aria-sort] .mo-tablo__sirala>.mo-simge{opacity:1}
[role="columnheader"][aria-sort="ascending"] .mo-tablo__sirala>.mo-simge{transform:rotate(180deg)}
.mo-tablo__sirala{text-transform:none;letter-spacing:0}
.izgara-baslik .mo-tablo__sirala>.mo-simge{width:14px;height:14px}
.sag>.mo-tablo__sirala,[role="columnheader"].sag .mo-tablo__sirala{flex-direction:row-reverse;margin-left:auto}
[role="columnheader"].sag{display:flex;justify-content:flex-end}

/* Metin bağlantısı gibi düğme (kitin metin düğmesiyle aynı renk) */
.link-dugme{border:0;background:transparent;padding:0;color:var(--mo-baglanti);font-size:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.link-dugme:hover{text-decoration-thickness:2px}

/* ---------- kart (panel) ve özet şeridi ---------- */
.panel{background:var(--mo-yuzey);border:1px solid var(--mo-cizgi);border-radius:var(--mo-kose-kart);box-shadow:var(--mo-golge-kart);overflow:hidden;min-width:0}
.panel-ust{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--mo-cizgi);flex-wrap:wrap}
.panel-ust h2{font-size:var(--mo-boy-kart-baslik);font-weight:700;line-height:1.3;color:var(--mo-metin)}
.panel-ust .sag-alan{font-size:var(--mo-boy-yardimci);color:var(--mo-soluk);display:flex;align-items:center;gap:8px}
.serit{display:grid;gap:1px;background:var(--mo-cizgi);border:1px solid var(--mo-cizgi);border-radius:var(--mo-kose-kart);overflow:hidden;box-shadow:var(--mo-golge-kart)}
.karo{background:var(--mo-yuzey);padding:16px 20px;min-width:0}
.karo .e{font-size:var(--mo-boy-yardimci);font-weight:600;color:var(--mo-soluk);margin-bottom:6px}
.karo .d{font-family:var(--mo-yazi-sayi);font-variant-numeric:tabular-nums;font-size:var(--mo-boy-bolum-baslik);font-weight:500;letter-spacing:-.01em;white-space:nowrap}
.karo .d.kirmizi{color:var(--mo-hata)}
.karo .a{font-size:var(--mo-boy-kucuk);margin-top:4px;color:var(--mo-soluk)}
/* Anahtar karo (koyu kart, docs/23 §3: lacivert koyu kartlar); koyu temada kitin ters zemini */
.karo.anahtar{background:var(--mo-ters-zemin);color:var(--mo-ters-metin)}
.karo.anahtar .e,.karo.anahtar .a{color:var(--mo-ters-metin);opacity:.78}
/* Boş durumlar kitin mo-bos-durum'udur; kart içinde kullanılır */
.panel>.mo-bos-durum,.mo-kart>.mo-bos-durum{padding:40px 24px}
/* Bağlam notu (kutu içinde kısa açıklama) */
.bilgi-kutusu{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border:1px solid var(--mo-bilgi-kenar);border-radius:var(--mo-kose);background:var(--mo-bilgi-zemin);color:var(--mo-metin);font-size:var(--mo-boy-yardimci)}
.bilgi-kutusu .ikon{color:var(--mo-bilgi);margin-top:1px}
.bilgi-kutusu.yesil{background:var(--mo-basari-zemin);border-color:var(--mo-basari-kenar)}.bilgi-kutusu.yesil .ikon{color:var(--mo-basari)}
.bilgi-kutusu.sari{background:var(--mo-uyari-zemin);border-color:var(--mo-uyari-kenar)}.bilgi-kutusu.sari .ikon{color:var(--mo-uyari)}
.bilgi-kutusu.kirmizi{background:var(--mo-hata-zemin);border-color:var(--mo-hata-kenar)}.bilgi-kutusu.kirmizi .ikon{color:var(--mo-hata)}
.iki{display:grid;gap:20px;align-items:start;min-width:0}
.iki>*{min-width:0}

/* ---------- ızgara listeler (satır = grid; sütunlar --k ile). Başlık 12 px 700 cümle düzeni, satır 44 px (docs/23 §11) ---------- */
.izgara-kap{overflow-x:auto}
.izgara-baslik,.izgara-satir,.izgara-alt{display:grid;grid-template-columns:var(--k);gap:12px;padding:10px 16px;align-items:center}
.izgara-baslik{min-height:40px;padding-top:6px;padding-bottom:6px;background:var(--mo-yuzey-3);border-bottom:1px solid var(--mo-cizgi);font-size:var(--mo-boy-kucuk);font-weight:700;color:var(--mo-metin-2)}
.izgara-satir{min-height:44px;border-bottom:1px solid var(--mo-cizgi);color:inherit;text-decoration:none}
a.izgara-satir:hover,.izgara-satir.tikla:hover{background:var(--mo-yuzey-3);cursor:pointer}
.izgara-satir.vurgu{background:var(--mo-secili-zemin)}
.izgara-alt{background:var(--mo-yuzey-3);font-weight:700;border-top:1px solid var(--mo-cizgi)}
.izgara-satir:last-child{border-bottom:0}
.izgara-satir>*,.izgara-baslik>*,.izgara-alt>*{min-width:0}
.liste-alt{border-top:1px solid var(--mo-cizgi)}

/* ---------- süzgeç grubu (kitin parçalı seçimi gibi), ay seçici ---------- */
.grup{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;background:var(--mo-yuzey-2);border:1px solid var(--mo-kontrol-kenar);border-radius:var(--mo-kose)}
.grup>button,.grup>a{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:0;border-radius:var(--mo-kose-kucuk);background:transparent;color:var(--mo-metin-2);font-size:var(--mo-boy-yardimci);font-weight:600;text-decoration:none}
.grup>button:hover,.grup>a:hover{color:var(--mo-metin)}
.grup>.on{background:var(--mo-yuzey);color:var(--mo-secili-metin);box-shadow:var(--mo-golge-kart)}
.grup .say{font-family:var(--mo-yazi-sayi);font-size:var(--mo-boy-kucuk);opacity:.85}
.ay-secici{display:inline-flex;align-items:center;height:36px;border:1px solid var(--mo-kontrol-kenar);border-radius:var(--mo-kose);overflow:hidden;background:var(--mo-yuzey)}
.ay-secici button{border:0;background:transparent;height:100%;padding:0 10px;display:flex;align-items:center;color:var(--mo-metin-2)}
.ay-secici button:hover{background:var(--mo-yuzey-2)}
.ay-secici span{padding:0 12px;font-weight:600}

/* ---------- form yardımcıları ---------- */
.mo-form{min-width:0}
.ipucu{font-size:var(--mo-boy-kucuk);color:var(--mo-soluk)}
.hata-yazi{display:block;font-size:var(--mo-boy-kucuk);color:var(--mo-hata);font-weight:600}
.hata-yazi:empty{display:none}
.girdi-sag{text-align:right}
.mo-girdi.mo-mono{font-family:var(--mo-yazi-sayi)}
.mo-girdi.hatali{border-color:var(--mo-hata)}
textarea.mo-girdi{min-height:72px}
.satir2{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.satir3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 16px}
/* Tutar alanı: rakam sağa yaslı JetBrains Mono, birim sonda (“1.234,56 ₺”) */
.tutar-girdi{display:flex;align-items:center;border:1px solid var(--mo-kontrol-kenar);border-radius:var(--mo-kose);background:var(--mo-yuzey)}
.tutar-girdi:focus-within{border-color:var(--mo-odak);outline:3px solid var(--mo-odak);outline-offset:1px}
.tutar-girdi .birim{padding:0 14px 0 4px;font-family:var(--mo-yazi-sayi);font-size:var(--mo-boy-bolum-baslik);color:var(--mo-soluk)}
.tutar-girdi input{flex:1;min-width:0;border:0;background:transparent;padding:8px 6px 8px 12px;font-family:var(--mo-yazi-sayi);font-size:var(--mo-boy-bolum-baslik);text-align:right;outline:none}
.secenek-kutu{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;position:relative}
.secenek-kutu label{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border:1px solid var(--mo-kontrol-kenar);border-radius:var(--mo-kose);background:var(--mo-yuzey);color:var(--mo-metin-2);font-size:var(--mo-boy-kucuk);font-weight:500;cursor:pointer;text-align:center}
.secenek-kutu input{position:absolute;opacity:0;width:0;height:0}
.secenek-kutu label:has(input:checked){border-color:var(--mo-secili-metin);background:var(--mo-secili-zemin);color:var(--mo-secili-metin);font-weight:700}
.secenek-kutu label:has(input:focus-visible){outline:3px solid var(--mo-odak);outline-offset:2px}
/* Hazır tutar ve yer tutucu çipleri */
.hap{border:1px solid var(--mo-kontrol-kenar);background:var(--mo-yuzey);color:var(--mo-metin-2);border-radius:var(--mo-kose-hap);padding:5px 12px;font-size:var(--mo-boy-kucuk);font-weight:600}
.hap:hover{background:var(--mo-yuzey-2)}
.hap.on{border-color:var(--mo-secili-metin);background:var(--mo-secili-zemin);color:var(--mo-secili-metin)}
.hap.hafif{font-weight:500;padding:4px 11px}

/* ---------- öneri açılırı (kalem, açıklama) ---------- */
.oneri{position:absolute;left:0;z-index:5;background:var(--mo-yuzey);border:1px solid var(--mo-cizgi);border-radius:var(--mo-kose);box-shadow:var(--mo-golge-pencere);overflow:hidden;min-width:100%}
.oneri .baslik{padding:7px 12px;border-bottom:1px solid var(--mo-cizgi);font-size:var(--mo-boy-kucuk);font-weight:700;color:var(--mo-soluk)}
.oneri .oge{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;cursor:pointer}
.oneri .oge.on,.oneri .oge:hover{background:var(--mo-secili-zemin)}
.oneri .oge b{color:var(--mo-secili-metin)}
.oneri .oge .bilgi{font-size:var(--mo-boy-kucuk);color:var(--mo-soluk);white-space:nowrap}
.oneri .alt{padding:7px 12px;border-top:1px solid var(--mo-cizgi);background:var(--mo-yuzey-3);font-size:var(--mo-boy-kucuk);color:var(--mo-soluk)}

/* ---------- Mali Ofis destek ve Sorun bildir (docs/23 §9) ---------- */
.destek-liste{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.destek-oge{display:flex;align-items:center;gap:12px;min-height:var(--mo-dokunma);padding:6px 10px;border-radius:var(--mo-kose);color:var(--mo-metin);text-decoration:none}
a.destek-oge:hover{background:var(--mo-yuzey-2)}
.destek-oge .ikon{color:var(--mo-baglanti)}
.destek-oge small{display:block;font-size:var(--mo-boy-kucuk);color:var(--mo-soluk)}
.sorun-onizleme{display:block;width:100%;max-height:180px;object-fit:contain;object-position:left top;border:1px solid var(--mo-cizgi);border-radius:var(--mo-kose);background:var(--mo-yuzey-3)}
.sorun-dosya{justify-self:start}
/* “Gönder”den sonra: bildirim kodu ekranda kalır (docs/23 §9.1) */
.sorun-onay{display:grid;gap:var(--mo-bosluk-3)}
.sorun-onay p{margin:0;line-height:1.5}
.sorun-onay__kod{display:grid;gap:2px;padding:var(--mo-bosluk-3) var(--mo-bosluk-4);border:1px solid var(--mo-cizgi);border-radius:var(--mo-kose);background:var(--mo-yuzey-3)}
.sorun-onay__kod small{font-size:var(--mo-boy-kucuk);color:var(--mo-soluk)}
.sorun-onay__kod .mo-mono{font-size:var(--mo-boy-kart-baslik);font-weight:700;letter-spacing:.02em;overflow-wrap:anywhere}

/* ---------- baskı: uygulama kabuğu gizlenir ---------- */
@media print{
  .mo-uygulama{background:var(--mo-yuzey);color:var(--mo-metin)}
  .mo-kenar,.mo-ust-cubuk,.mo-alt-cubuk,.mo-sayfa-basligi__islemler,.mo-katman,.mo-bildirimler,.mo-serit,.eylemsiz{display:none!important}
  .mo-kabuk{display:block}.mo-icerik{padding:0}
}

/* ---------- dar ekran ---------- */
@media (max-width:899.98px){
  .satir2,.satir3{grid-template-columns:1fr}
  .karo .d{font-size:var(--mo-boy-kart-baslik)}
  .mo-sayfa-basligi__islemler{width:100%}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}   /* iOS alan odaklanınca sayfayı büyütmesin */ /* mo-istisna: iOS yakınlaştırma sınırı 16 px */
}

/* ---------- kalem editörü (js/kalem-editor.js) ---------- */
.ke{display:grid;gap:8px}
.ke-baslik,.ke-satir{display:grid;grid-template-columns:minmax(0,1fr) 68px 92px 104px 28px;gap:8px;align-items:center}
.ke-baslik{font-size:var(--mo-boy-kucuk);font-weight:700;color:var(--mo-metin-2);padding:0 2px}
.ke-satir-kap{display:grid;gap:4px}
.ke-hucre{position:relative;min-width:0}
.ke .mo-girdi{padding:0 10px}
.ke-hucre .oneri{top:calc(100% + 4px);width:min(520px,80vw)}
.ke-tutar{text-align:right;font-weight:600}
.ke-sil{border:0;background:transparent;color:var(--mo-soluk);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:var(--mo-kose-kucuk)}
.ke-sil:hover{color:var(--mo-hata);background:var(--mo-yuzey-2)}
.ke-alt{font-size:var(--mo-boy-kucuk);color:var(--mo-soluk);padding-left:2px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ke-alt:empty{display:none}
.ke-maliyet-gir{width:100px;height:30px!important}
.ke-alt-cubuk{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:6px}
.ke-toplam{text-align:right}.ke-toplam .satir{font-size:var(--mo-boy-menu)}.ke-toplam .satir b{margin-left:8px}
.ke-toplam-kutu{display:grid;gap:6px;width:270px;font-size:var(--mo-boy-govde)}
.ke-toplam-kutu>div{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ke-toplam-kutu .genel{border-top:1px solid var(--mo-cizgi);padding-top:6px;font-size:var(--mo-boy-menu);font-weight:700}
.ke-kdv-etiket{display:flex;align-items:center;gap:8px;color:var(--mo-soluk)}
.ke-kdv-etiket label{font-size:var(--mo-boy-govde);font-weight:400;color:var(--mo-soluk)}
.ke-kdv-etiket .mo-girdi{width:auto;height:30px;padding:0 8px;font-size:var(--mo-boy-yardimci)}
@media (max-width:640px){
  .ke-baslik{display:none}
  .ke-satir{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"a a s" "m f t"}   /* minmax(0,…): girdilerin en küçük genişliği sütunları taşırmasın */
  .ke-satir .ke-hucre{grid-area:a}.ke-satir .ke-tutar{grid-area:t}.ke-satir .ke-sil{grid-area:s;justify-self:end}
  .ke-satir [data-a="miktar"]{grid-area:m}.ke-satir [data-a="fiyat"]{grid-area:f}   /* silme düğmesi gizliyken (tek satır) girdiler boşalan alana kaymasın */
}
