/* Proje Sende arayuzu — 14 Eyl 2026'da onaylanan tasarim: sol menu, pastel ozet kartlari, telefonda alt menu.
   Renk ve yazi degiskenleri renkler.css'te (yonetim paneli de ayni dosyayi kullanir). Dis kaynak yok. */

/* ---------- temel ---------- */
*{box-sizing:border-box}
/* Kaydirma cubugu icin yer hep ayrili: form alanlari acilip kapaninca (sayfa uzayip kisalinca) icerik saga sola kaymaz */
html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable;overflow-y:scroll}
body{margin:0;background:var(--zemin);color:var(--murekkep);font-family:var(--f-govde);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:var(--lacivert)}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{text-wrap:balance}
:focus-visible{outline:2px solid var(--vurgu);outline-offset:2px}
.ikon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sayi{font-variant-numeric:tabular-nums}
.gizli{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kpt-hidden,[hidden]{display:none!important}

/* ---------- iskelet ---------- */
.duzen{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}
.yan{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--yuzey);border-right:1px solid var(--cizgi);display:flex;flex-direction:column;gap:4px;padding-inline:14px;padding-block:22px 18px}
.marka{display:flex;align-items:center;gap:10px;padding-inline:10px;margin-bottom:22px;color:var(--murekkep);text-decoration:none}
.logo{display:block}
.logo img{display:block;width:100%;height:auto}
.yan .marka{padding-inline:8px}
.yan .logo{width:212px}
.grup-etiket{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--soluk-2);padding-inline:12px;margin-top:16px;margin-bottom:4px}
.menu-oge{display:flex;align-items:center;gap:12px;width:100%;padding-inline:12px;padding-block:10px;border:0;border-radius:12px;background:none;color:var(--soluk);font-weight:500;font-size:15px;text-decoration:none;text-align:left;cursor:pointer}
.menu-oge:hover{background:var(--yuzey-2);color:var(--murekkep)}
.menu-oge.aktif{background:var(--lacivert);color:var(--lacivert-ink)}
.menu-oge.pasif{color:var(--soluk-2);cursor:not-allowed}
.menu-oge.pasif:hover{background:none;color:var(--soluk-2)}
.cip{margin-left:auto;font-size:11px;font-weight:600;padding-inline:8px;padding-block:2px;border-radius:999px;background:var(--yuzey-2);border:1px solid var(--cizgi);color:var(--soluk)}
.menu-oge .rozet{margin-left:auto;font-size:11px;color:var(--soluk-2)}
.menu-oge.aktif .rozet{color:inherit;opacity:.8}
.yan-alt{margin-top:auto;display:flex;flex-direction:column;gap:4px;padding-top:16px;border-top:1px solid var(--cizgi)}
.yan-alt form{margin:0}

.ana{min-width:0;padding-inline:clamp(16px,3vw,34px);padding-block:22px 56px}
.icerik{max-width:1380px;margin-inline:auto;display:flex;flex-direction:column;gap:20px}

/* ---------- ust bar ---------- */
.ust{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.karsilama{min-width:0}
.karsilama h1{font-family:var(--f-baslik);font-weight:750;font-size:clamp(24px,3vw,32px);line-height:1.1;margin:0;letter-spacing:-.01em}
.tarih{margin:6px 0 0;color:var(--soluk);font-size:14px}
.tarih strong{color:var(--murekkep);font-weight:600}
.ust-araclar{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
.arama{display:flex;align-items:center;gap:8px;margin:0;background:var(--yuzey);border:1px solid var(--cizgi-alan);border-radius:12px;padding-inline:12px;height:44px;width:min(320px,100%);color:var(--soluk-2)}
.arama:focus-within{border-color:var(--lacivert)}
@media (min-width:800px){.arama{min-width:280px}}
/* 28 Eyl 2026: genis ekranda yer tutucu "... veya seri no" sigsin; 800-1099 px arasinda ust araclar sigmazsa alt satira kirilir (sayfa yana tasmaz) */
@media (min-width:1280px){.arama{min-width:340px}}
@media (min-width:800px) and (max-width:1099px){.ust-araclar{flex-wrap:wrap}}
.arama input{border:0;outline:0;background:transparent;width:100%;min-width:0;font-size:14px;color:var(--murekkep)}
.arama input::placeholder{color:var(--soluk-2)}
.avatar{width:44px;height:44px;border-radius:12px;background:var(--kart-lila);color:var(--ikon-lila);display:grid;place-items:center;font-family:var(--f-baslik);font-weight:750;font-size:17px;border:1px solid var(--cizgi);flex:none}

/* ---------- dugmeler ---------- */
.button,.ps-buton,.btn-birincil{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding-inline:16px;border-radius:12px;border:1px solid var(--cizgi);background:var(--yuzey);color:var(--murekkep);font-weight:600;font-size:14px;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer}
.button:hover,.ps-buton:hover{border-color:var(--lacivert);color:var(--lacivert)}
.button-primary,.btn-birincil{background:var(--vurgu);border-color:var(--vurgu);color:var(--vurgu-ink)}
.button-primary:hover,.btn-birincil:hover{filter:brightness(1.06);border-color:var(--vurgu);color:var(--vurgu-ink)}
.button-small,.btn-kucuk{min-height:34px;padding-inline:10px;font-size:13px;border-radius:9px}
.btn-kucuk{display:inline-flex;align-items:center;font-weight:600;border:1px solid var(--cizgi);background:var(--yuzey);color:var(--murekkep);text-decoration:none;white-space:nowrap}
.btn-kucuk:hover{border-color:var(--lacivert);color:var(--lacivert)}
.button-link-delete{color:var(--kritik)}
.button-link-delete:hover{background:var(--kritik-z);border-color:var(--kritik);color:var(--kritik)}
.button:disabled,.button.pasif,.btn-kucuk.pasif{opacity:.5;cursor:not-allowed}
.button.pasif:hover,.btn-kucuk.pasif:hover{border-color:var(--cizgi);color:var(--murekkep)}
.kpt-actions .kpt-form-not{flex-basis:100%;margin:0}
.tam{width:100%}
form.satir-ici{display:inline}

/* ---------- uyarilar ---------- */
.uyarilar{display:flex;flex-direction:column;gap:8px}
.ps-uyari{margin:0;padding:12px 16px;border-radius:14px;background:var(--bilgi-z);color:var(--bilgi);font-size:14px}
.ps-uyari-hata{background:var(--kritik-z);color:var(--kritik)}
.ps-uyari-basari{background:var(--tamam-z);color:var(--tamam)}
.ps-uyari-salt{background:var(--uyari-z);color:var(--uyari)}
.ps-uyari-montaj{border:1px solid var(--uyari);font-size:15px;display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline}
.ps-uyari-montaj span{font-size:13px;opacity:.85}
.ps-uyari-satir{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;border:1px solid var(--kritik)}

/* ---------- paneller ---------- */
.panel,.kpt-section{background:var(--yuzey);border:1px solid var(--cizgi);border-radius:20px;padding:20px 22px;box-shadow:var(--golge);min-width:0}
.panel-bas{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.panel-bas h2,.kpt-section h2{font-size:16px;font-weight:700;margin:0;line-height:1.3}
.kpt-section h2{margin-bottom:6px}
.panel-bas p{margin:2px 0 0;font-size:13px;color:var(--soluk)}
.baglanti{font-size:13px;font-weight:600;color:var(--lacivert);white-space:nowrap;text-decoration:none}
.baglanti:hover{text-decoration:underline}
.lejant{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--soluk);margin-bottom:6px}
.lejant i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.description{font-size:13px;color:var(--soluk);margin:6px 0 0}
.bos{margin:0;color:var(--soluk);font-size:14px}

/* ---------- ozet kartlari ---------- */
.kpiler{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.kpiler-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpiler-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1199px){.kpiler-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:559px){.kpiler-4{grid-template-columns:minmax(0,1fr)}}
.kpi{border-radius:20px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.kpi-ust{display:flex;align-items:center;justify-content:space-between;gap:8px}
.kpi-etiket{font-size:13px;font-weight:600;color:var(--soluk)}
.kpi-ikon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--yuzey)}
.kpi-ikon .ikon{width:18px;height:18px}
.kpi-deger{font-family:var(--f-baslik);font-weight:650;font-size:clamp(24px,2.1vw,30px);line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.kpi-deger small{font-family:var(--f-govde);font-size:14px;font-weight:600;color:var(--soluk);margin-left:3px}
.kpi-alt{font-size:13px;color:var(--soluk)}
.kpi-alt b{color:var(--murekkep);font-weight:600}
.k-gok{background:var(--kart-gok)} .k-gok .kpi-ikon{color:var(--ikon-gok)}
.k-lila{background:var(--kart-lila)} .k-lila .kpi-ikon{color:var(--ikon-lila)}
.k-nane{background:var(--kart-nane)} .k-nane .kpi-ikon{color:var(--ikon-nane)}
.k-seftali{background:var(--kart-seftali)} .k-seftali .kpi-ikon{color:var(--ikon-seftali)}
.k-bugday{background:var(--kart-bugday)} .k-bugday .kpi-ikon{color:var(--ikon-bugday)}
.seritler{display:flex;gap:3px;height:8px}
.seritler span{border-radius:4px}
.s-yeni{background:var(--yeni)} .s-plan{background:var(--plan)} .s-tamam{background:var(--tamam)}
.asama-dizi{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--soluk)}
.asama-dizi a{color:inherit;text-decoration:none}
.asama-dizi a:hover{color:var(--murekkep);text-decoration:underline}
.asama-dizi i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:1px}
.ilerleme{height:8px;border-radius:4px;background:var(--yuzey);overflow:hidden}
.ilerleme span{display:block;height:100%;border-radius:4px}
/* 28 Eyl 2026: Dikkat karti artik satir-2'nin USTUNDE tam genislik (grafiklerin altinda ~340 px bosluk kaliyordu); satir-2 yalniz iki grafik */
.satir-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.satir-3{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px}

/* grafikler */
.grafik{width:100%;height:auto;display:block;overflow:visible}
.grafik text{font-family:var(--f-govde);font-size:11px;fill:var(--soluk);font-variant-numeric:tabular-nums}
.grafik .deger{fill:var(--murekkep);font-weight:700;font-size:12px}
.grafik .alt-yazi{fill:var(--soluk-2);font-size:10px}
.grafik .surer{fill:var(--vurgu);font-weight:600;font-size:10px}
.izgara{stroke:var(--cizgi);stroke-width:1;fill:none}
.taban{stroke:var(--soluk-2);stroke-width:1;fill:none}
.cubuk-lacivert{fill:var(--lacivert)}
.cubuk-tahsil{fill:var(--tahsil)}
.tarali-zemin{fill:var(--lacivert-soluk)}
.tarali-cizgi{fill:var(--lacivert);opacity:.5}
.cubuk-surer{fill:url(#tarali);stroke:var(--lacivert);stroke-width:1.5;stroke-dasharray:4 3}

/* dikkat */
.dikkat-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.panel.dikkat .dikkat-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));align-items:start}
.dikkat-oge{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:14px;background:var(--yuzey-2)}
.dikkat-ikon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center}
.dikkat-ikon .ikon{width:18px;height:18px}
.d-uyari .dikkat-ikon{background:var(--uyari-z);color:var(--uyari)}
.d-kritik .dikkat-ikon{background:var(--kritik-z);color:var(--kritik)}
.d-bilgi .dikkat-ikon{background:var(--bilgi-z);color:var(--bilgi)}
.dikkat-oge strong{display:block;font-size:14px;font-weight:600;line-height:1.3}
.dikkat-oge div > span{display:block;font-size:12.5px;color:var(--soluk);margin-top:2px;overflow-wrap:anywhere}

/* ekip */
.ekip-liste{display:flex;flex-direction:column;gap:18px;margin-top:6px}
.ekip-bas{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}
.ekip-ad{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ekip-sayi{font-size:13px;color:var(--soluk);white-space:nowrap}
.ekip-sayi b{font-family:var(--f-baslik);font-size:18px;font-weight:650;color:var(--murekkep);margin-right:3px}
.parca-iz{height:14px;border-radius:7px;background:var(--yuzey-2);display:flex;overflow:hidden}
.parca-iz span{height:100%;border-right:2px solid var(--yuzey)}
.parca-iz span:last-child{border-right:0}
.ekip-detay{font-size:12.5px;color:var(--soluk);margin-top:6px}
.durum-cip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding-inline:8px;padding-block:2px;border-radius:999px;white-space:nowrap}
.c-uyari{background:var(--uyari-z);color:var(--uyari)}
.c-yeni{background:var(--yeni-z);color:var(--yeni)}
.c-plan{background:var(--plan-z);color:var(--plan)}
.c-tamam{background:var(--tamam-z);color:var(--tamam)}
.c-kritik{background:var(--kritik-z);color:var(--kritik)}
.c-iptal{background:var(--cizgi);color:var(--soluk)}
.c-iptal-neden{background:transparent;color:var(--soluk);font-weight:500;white-space:normal}
/* Iptal nedeni satiri: "Diğer" acilinca satir uzar; ortalanan sol baslik asagi ziplamasin diye uste sabit (23 Eyl 2026) */
.kpt-iptal-diger{margin-top:12px}
.kpt-iptal-diger>label{display:block;font-weight:600;font-size:14px;color:var(--soluk);margin-bottom:6px}
.iptal-listesi{list-style:none;margin:0;padding:0;font-size:13px}
.iptal-listesi li{padding-block:6px;border-bottom:1px solid var(--cizgi)}
.iptal-listesi li:last-child{border-bottom:0}
.rol-aciklama{margin:10px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.projeler tr.gecikti td:first-child{box-shadow:inset 3px 0 0 var(--kritik)}
.projeler tr.gecikti .no a{color:var(--kritik)}
.c-yeni::before,.c-plan::before,.c-tamam::before,.c-iptal::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}

/* is turu ve tahsilat */
.alt-bolum + .alt-bolum{margin-top:18px;padding-top:16px;border-top:1px solid var(--cizgi)}
.alt-baslik{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--soluk-2);margin:0 0 10px}
.tur-satir + .tur-satir{margin-top:12px}
.tur-bas{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;font-size:14px;margin-bottom:6px}
.tur-bas span{color:var(--soluk);font-size:13px}
.tur-bas b{font-weight:600}
.cizgi-iz{height:8px;border-radius:4px;background:var(--yuzey-2);overflow:hidden}
.cizgi-iz span{display:block;height:100%;border-radius:4px}
.tahsilat-cubuk{display:flex;height:14px;border-radius:7px;overflow:hidden;gap:2px;background:var(--yuzey-2)}
.tahsilat-cubuk .t-edildi{background:var(--tahsil)}
.tahsilat-cubuk .t-edilmedi{background:var(--kritik)}
.tahsilat-lejant{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:13px;color:var(--soluk)}
.tahsilat-lejant b{color:var(--murekkep);font-family:var(--f-baslik);font-weight:650;font-size:17px;margin-right:4px}
.tahsilat-cubuk .t-kismi{background:var(--plan)}
.tahsilat-lejant{flex-wrap:wrap}

/* proje sayfasi: tahsilatlar */
.tahsilat-tablo{margin-block:4px 16px}
.tahsilat-tablo .tutar{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tahsilat-tablo th.tutar{text-align:right}
.tahsilat-tablo tr.gecikti td:first-child{box-shadow:inset 3px 0 0 var(--kritik)}
.tahsilat-not{display:block;font-size:12px;color:var(--soluk)}
.tahsilat-form{padding:16px;border-radius:14px;background:var(--yuzey-2);display:flex;flex-direction:column;gap:12px;margin:0}
.tahsilat-form-bas{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
.tahsilat-form-bas h3{margin:0;font-size:15px}
.tahsilat-form-bas span{font-size:13px;color:var(--soluk)}
.tahsilat-alanlar{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.alan-genis{grid-column:1/-1}
.onay{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--murekkep);cursor:pointer}
.onay input{width:18px;height:18px;margin:0;accent-color:var(--lacivert)}

/* ---------- sayfalama (20 Eyl 2026: sayfa sayfa gezilsin) ---------- */
.sayfalama{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--cizgi)}
.sayfa-bilgi{margin:0;font-size:13px;color:var(--soluk)}
.sayfa-dugmeler{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sayfa-dugme{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding-inline:10px;border:1px solid var(--cizgi);border-radius:9px;background:var(--yuzey);color:var(--murekkep);font-size:13.5px;font-weight:600;text-decoration:none;font-variant-numeric:tabular-nums}
.sayfa-dugme:hover{border-color:var(--lacivert);color:var(--lacivert)}
.sayfa-dugme.aktif{background:var(--lacivert);border-color:var(--lacivert);color:#fff}
.sayfa-dugme.pasif{opacity:.45;pointer-events:none}
.sayfa-bosluk{padding-inline:2px;color:var(--soluk-2)}
/* Ust serit: tablonun hemen ustunde, saga yaslı, ayirici cizgi yok (alttakiyle karismasin) */
.sayfalama.ust{margin-top:0;margin-bottom:10px;padding-top:0;border-top:0;justify-content:flex-end;gap:8px 14px}

/* ---------- tablolar ---------- */
.tablo-kap{overflow-x:auto;margin-inline:-6px}
table.projeler,table.tablo{width:100%;border-collapse:collapse;font-size:14px}
.projeler th,.tablo th{text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--soluk-2);padding:10px;border-bottom:1px solid var(--cizgi);white-space:nowrap}
.projeler td,.tablo td{padding:12px 10px;border-bottom:1px solid var(--cizgi);vertical-align:middle}
.projeler td{white-space:nowrap}
/* 28 Eyl 2026: 1280-1440 px'te tablo sagdan kesiliyordu. Musteri hucresi satir kirar; Tarih ve Kalan alt satira alindi (_proje_tablosu.html). */
.projeler td.musteri{white-space:normal;min-width:9rem}
/* Dar masaustunde (1280-1440) sigmazsa ekip adi, sutun basligi ve islem dugmeleri alt satira kirilir; genis ekranda tek satir kalir */
.projeler td.ekip{white-space:normal;min-width:6.5rem}
.projeler thead th{white-space:normal}
.projeler-tam td.islem{white-space:normal;line-height:2.4}
@media (min-width:700px){
  .projeler-tam th:last-child,.projeler-tam td.islem{position:sticky;right:0;background:var(--yuzey)}
}
/* Son satirin cizgisi: th SCOPE="ROW" hucreleri de dahil. Kural yalnizca td'ye yazilmisti, satir
   basligi olan tablolarda (Aboneliklerim, adres defteri) son satirda TEK SUTUNLUK yarim cizgi
   kaliyordu -- 20 Eyl 2026 ekran goruntusunde yakaladi: "alttaki çizgilerde bir hata var gibi". */
.projeler tbody tr:last-child td,.tablo tbody tr:last-child td,
.projeler tbody tr:last-child th,.tablo tbody tr:last-child th{border-bottom:0}
/* Govdedeki satir basligi bir BASLIK degil, veri hucresi gibi okunmali: .tablo th kurali sutun
   basliklari icin yazilmisti (kucuk, harf arali, buyuk harf) ve satir basliklarina da uyuyordu. */
/* font-weight BILEREK yazilmadi: banka raporunun kendi kurallari (.banka-tablo th[scope=row] 500,
   .genel-toplam 700) bu satirdan daha dusuk oncelikli kalir ve bozulurdu. */
.tablo tbody th[scope=row]{font-size:14px;letter-spacing:normal;text-transform:none;color:var(--murekkep);padding:12px 10px;vertical-align:middle}
.projeler tbody tr:hover td,.tablo tbody tr:hover td{background:var(--yuzey-2)}
.tablo tbody tr:hover th[scope=row]{background:var(--yuzey-2)}
.projeler .no a{font-family:var(--f-mono);font-size:13px;color:var(--lacivert);text-decoration:none}
.projeler .no a:hover{text-decoration:underline}
.projeler .musteri{font-weight:600}
.projeler .tur,.ekip-yazi,.projeler .tarih-h{color:var(--soluk)}
.projeler .tutar{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.projeler th.tutar{text-align:right}
.projeler .tarih-h{font-variant-numeric:tabular-nums}
/* Islem sutunu HUCRE olarak kalmali (20 Eyl 2026: "tasarimda kaymalar var gibi").
   Onceden td'ye display:flex veriliyordu: boyle bir hucre tablo satirindan kopar, tarayici onu
   ayri bir anonim hucreye alir -- dugmeler satirin ortasindan ve alt cizgisinden kayiyordu.
   Telefonda (medya sorgusu) kart duzeni icin flex olmaya devam ediyor, orada tablo yok. */
.islem{text-align:right;white-space:nowrap}
.islem>*{vertical-align:middle}
.islem>*+*{margin-left:6px}
.tablo .islem{text-align:left}

/* ---------- arama, filtre ---------- */
.kpt-search-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.kpt-search-form input[type=search]{flex:1 1 240px;width:auto}
.filtreler{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
/* 28 Eyl 2026: panel icinde uyari kutusundan hemen sonra gelen suzgec satiri yapismasin (Bakımı Yaklaşan ve benzerleri) */
.panel>.ps-uyari+:is(.filtreler,.filtre-satiri,.proje-suzgec){margin-top:14px}
.filtre{padding-inline:12px;padding-block:7px;border-radius:999px;border:1px solid var(--cizgi);background:var(--yuzey);color:var(--soluk);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
.filtre:hover{border-color:var(--lacivert);color:var(--lacivert)}
.filtre.aktif{background:var(--lacivert);border-color:var(--lacivert);color:var(--lacivert-ink)}

/* ---------- formlar ---------- */
.kpt-form{display:flex;flex-direction:column;gap:16px;margin:0}
.kpt-alan-grubu,#kpt-dependent-form,#kpt-combo-fields{display:flex;flex-direction:column;gap:16px;border:0;margin:0;padding:0;min-width:0}
.kpt-row{display:grid;grid-template-columns:minmax(160px,34%) minmax(0,1fr);gap:8px 24px;align-items:start;padding-block:12px;border-bottom:1px solid var(--cizgi)}
.kpt-row:last-child{border-bottom:0;padding-bottom:0}
.kpt-row>label{font-weight:600;font-size:14px;color:var(--soluk);line-height:1.35;padding-top:12px}  /* KURAL (23 Eyl 2026): sol basliklar USTE sabit -- sagda alan acilip kapaninca ziplamasin */
.kpt-row>div{min-width:0}
.kpt-row em{color:var(--kritik);font-style:normal}
:is(.kpt-row,.alan,.kpt-customer-picker,.kpt-search-form) :is(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],input[type=password],input[type=date],select,textarea){width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--cizgi-alan);border-radius:12px;background:var(--yuzey);color:var(--murekkep);font-size:15px;line-height:1.35}
:is(.kpt-row,.alan,.kpt-customer-picker,.kpt-search-form) :is(input,select,textarea):focus{outline:none;border-color:var(--lacivert);box-shadow:0 0 0 3px var(--lacivert-soluk)}
.kpt-row textarea{min-height:104px;resize:vertical}
.kpt-row select:disabled{background:var(--yuzey-2);color:var(--soluk);cursor:not-allowed}
/* 27 Eyl 2026: width:100% satirin bos sag tarafini da tiklanir yapiyordu (her yerden dosya secici aciliyordu) -> icerik kadar */
.kpt-row input[type=file]{width:auto;max-width:100%;font-size:14px;color:var(--soluk)}
.kpt-row input[type=file]::file-selector-button{margin-right:12px;min-height:40px;padding-inline:14px;border-radius:10px;border:1px solid var(--cizgi-alan);background:var(--yuzey-2);color:var(--murekkep);font-weight:600;cursor:pointer}
.kpt-radio{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.kpt-radio label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding-inline:14px;border:1px solid var(--cizgi-alan);border-radius:12px;background:var(--yuzey);font-weight:500;color:var(--murekkep);cursor:pointer;white-space:nowrap}
.kpt-radio label:has(input:checked){border-color:var(--lacivert);background:var(--lacivert-soluk)}
.kpt-onay-kutusu{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:14px;font-weight:600;color:var(--murekkep);cursor:pointer}
.gun-kutulari{display:flex;flex-wrap:wrap;gap:4px 18px}
.gun-kutulari .kpt-onay-kutusu{margin-top:4px}
.tablo input[type=time]{min-height:40px;padding:6px 10px;border:1px solid var(--cizgi-alan);border-radius:10px;background:var(--yuzey);color:var(--murekkep);font-size:14.5px;max-width:100%}
.kpt-onay-kutusu input{width:18px;height:18px;margin:0;accent-color:var(--lacivert)}
.kpt-radio input[type=radio]{margin:0;width:18px;height:18px;accent-color:var(--lacivert)}
.kpt-actions{display:flex;gap:10px;flex-wrap:wrap}
.kpt-alan-grubu:disabled :is(input,select,textarea){background:var(--yuzey-2);color:var(--soluk);cursor:default}
.kpt-alan-grubu:disabled .kpt-barkod{display:none}
.ps-alan-uyari{color:var(--kritik);margin-top:6px}

/* musteri secici */
.kpt-customer-picker{position:relative}
.kpt-customer-results{display:none;position:absolute;z-index:30;left:0;right:0;top:50px;max-height:280px;overflow:auto;background:var(--yuzey);border:1px solid var(--cizgi);border-radius:12px;box-shadow:0 12px 28px rgba(24,32,58,.14);padding:4px}
.kpt-customer-result{display:block;width:100%;text-align:left;padding:12px 14px;border:0;border-radius:9px;background:none;color:var(--murekkep);font-size:14px;cursor:pointer}
.kpt-customer-result:hover,.kpt-customer-result:focus-visible{background:var(--yuzey-2)}
.kpt-customer-empty{padding:12px 14px;color:var(--soluk)}
.kpt-selected-customer{margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--yuzey-2);color:var(--murekkep);font-size:14px}

/* gorseller */
.kpt-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:10px}
.kpt-image-card{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:14px;background:var(--yuzey-2)}
/* Saha videosu (24 Eyl 2026): kartta kapak + oynat dugmesi; tiklaninca ortada buyuk pencerede oynar */
.kpt-video-open{position:relative;display:block;width:100%;height:150px;padding:0;border:0;border-radius:10px;
  background:#111;overflow:hidden;cursor:pointer}
.kpt-video-open img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85}
.kpt-video-oynat{position:absolute;inset:0;margin:auto;width:56px;height:56px;border-radius:50%;background:rgba(0,0,0,.55);
  border:2px solid #fff}
.kpt-video-oynat::after{content:"";position:absolute;left:22px;top:16px;border-style:solid;border-width:12px 0 12px 18px;
  border-color:transparent transparent transparent #fff}
.kpt-video-open:hover .kpt-video-oynat,.kpt-video-open:focus-visible .kpt-video-oynat{background:rgba(0,0,0,.8)}
.kpt-video-sure{position:absolute;right:6px;bottom:6px;padding:1px 7px;border-radius:6px;background:rgba(0,0,0,.7);
  color:#fff;font-size:12px;font-weight:600}
.kpt-video-lightbox video{max-width:92vw;max-height:86vh;width:auto;height:auto;border-radius:8px;background:#000}
@media (min-width:900px){.kpt-video-lightbox video{min-height:60vh}}
.kpt-image-open{display:flex;flex-direction:column;gap:6px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:zoom-in}
.kpt-image-open img{display:block;width:100%;height:150px;object-fit:cover;border-radius:10px;background:var(--cizgi)}
.kpt-image-open span{font-size:12px;color:var(--soluk)}
.kpt-image-actions{display:flex;justify-content:flex-end}
.kpt-image-lightbox{display:none;position:fixed;inset:0;z-index:1000;background:rgba(8,10,20,.86);align-items:center;justify-content:center;padding:24px}
.kpt-image-lightbox.is-open{display:flex}
.kpt-image-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:8px}
.kpt-image-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#111;font-size:28px;line-height:1;cursor:pointer}

/* barkod */
.kpt-barkod{margin-top:10px;padding:14px;border-radius:14px;background:var(--yuzey-2)}
.kpt-barkod-baslik{font-weight:600;margin:0 0 10px;font-size:13px;color:var(--soluk)}
.kpt-barkod-dugmeler{display:flex;gap:10px;flex-wrap:wrap}
.kpt-gizli-dosya{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
.kpt-barkod-dugmeler label.button:focus-within{outline:2px solid var(--vurgu);outline-offset:2px}
.kpt-barkod-video{position:relative;margin-top:10px;max-width:520px;border-radius:12px;overflow:hidden;background:#000}
.kpt-barkod-video video{display:block;width:100%;max-height:60vh;object-fit:cover}
.kpt-barkod-cerceve{position:absolute;left:8%;right:8%;top:32%;bottom:32%;border:2px solid rgba(255,255,255,.9);border-radius:8px;box-shadow:0 0 0 999px rgba(0,0,0,.35)}
.kpt-barkod-kapat{position:absolute;right:10px;bottom:10px}
.kpt-barkod-adaylar{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.kpt-barkod-aday{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 12px;border:1px solid var(--cizgi);border-radius:12px;background:var(--yuzey);cursor:pointer}
.kpt-barkod-aday:hover,.kpt-barkod-aday:focus-visible{border-color:var(--lacivert);background:var(--lacivert-soluk)}
.kpt-barkod-aday strong{font-family:var(--f-mono);font-size:15px;word-break:break-all;color:var(--murekkep)}
.kpt-barkod-aday span{font-size:12px;color:var(--soluk)}

/* musteriler: form + arama yan yana */
.iki-sutun{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:start}

/* ---------- tek kart sayfalar (giris, kilit, hata) ---------- */
.tek-sayfa{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding-inline:16px;padding-block:32px}
.tek-kart{width:min(420px,100%);background:var(--yuzey);border:1px solid var(--cizgi);border-radius:24px;box-shadow:var(--golge);padding:30px 26px;display:flex;flex-direction:column;gap:18px}
.tek-kart .marka{margin:0;padding:0}
.tek-kart .logo{width:min(250px,100%)}
.tek-kart h1{font-family:var(--f-baslik);font-size:26px;font-weight:750;margin:0;line-height:1.15}
.tek-kart p{margin:0;color:var(--soluk)}
.tek-ikon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--uyari-z);color:var(--uyari)}
.tek-ikon .ikon{width:24px;height:24px}
.alanlar{display:flex;flex-direction:column;gap:14px;margin:0}
.alan{display:flex;flex-direction:column;gap:6px}
.alan label{font-weight:600;font-size:14px;color:var(--soluk)}

/* modul kartlari (PROJE yetkisi olmayan kullanici) */
.moduller{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.modul{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:20px;background:var(--kart-gok);color:var(--murekkep);text-decoration:none}
.modul strong{font-family:var(--f-baslik);font-size:22px;font-weight:700}
.modul span{color:var(--soluk)}
a.modul:hover{outline:2px solid var(--lacivert)}
.modul.kapali{background:var(--yuzey);border:1px dashed var(--cizgi);cursor:not-allowed}

/* ---------- telefon ust ve alt menu ---------- */
.ust-mobil,.alt-menu{display:none}

@media (max-width:1439px){
  .kpiler:not(.kpiler-3):not(.kpiler-4){grid-template-columns:repeat(3,minmax(0,1fr))}
  .kpi-toplam{grid-column:span 2;order:-2}
  .kpi-musteri{order:-1}
}
@media (max-width:1199px){
  .iki-sutun{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:999px){
  .kpiler:not(.kpiler-3):not(.kpiler-4){grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi-musteri{order:0}
  .satir-3{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:799px){
  .duzen{grid-template-columns:minmax(0,1fr)}
  .yan{display:none}
  .ana{padding-block:0 104px}
  .ust-mobil{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:20;background:var(--zemin);padding-block:12px;margin-bottom:6px}
  .ust-mobil .marka{margin:0;padding:0}
  .ust-mobil .logo{width:auto}
  .ust-mobil .logo img{width:auto;height:36px}
  .ust-mobil .avatar{width:38px;height:38px;border-radius:11px;font-size:15px}
  .ust .avatar{display:none}
  .ust-araclar{width:100%}
  .arama{flex:1;width:auto}
  .alt-menu{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);position:fixed;inset-inline:0;bottom:0;z-index:30;background:var(--yuzey);border-top:1px solid var(--cizgi);padding-inline:8px;padding-block:8px calc(8px + env(safe-area-inset-bottom))}
  .alt-menu form{display:contents}
  .alt-menu a,.alt-menu button{display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:none;font-size:11px;font-weight:600;color:var(--soluk);text-decoration:none;padding-block:4px;border-radius:10px;cursor:pointer}
  .alt-menu .aktif{color:var(--lacivert)}
  .alt-menu .yeni-dugme{color:var(--murekkep)}
  .alt-menu .yeni-dugme span{width:42px;height:42px;border-radius:14px;background:var(--vurgu);color:var(--vurgu-ink);display:grid;place-items:center;margin-top:-18px;box-shadow:0 6px 16px color-mix(in srgb, var(--vurgu) 35%, transparent)}
}
@media (max-width:699px){
  .satir-2{grid-template-columns:minmax(0,1fr)}
  .kpiler-3{grid-template-columns:minmax(0,1fr)}
  .ust .btn-birincil{display:none}
  .panel,.kpt-section{padding:16px}
  .kpt-row{grid-template-columns:minmax(0,1fr)}
  .kpt-row>label{padding-top:0}
  /* proje tablosu satirlari kart olur */
  .tablo-kap{margin-inline:0;overflow:visible}
  .projeler thead,.tablo thead{display:none}
  .projeler tbody{display:flex;flex-direction:column;gap:10px}
  .projeler tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"no durum" "musteri ekip" "tutar randevu";gap:4px 10px;padding:12px 14px;border-radius:14px;background:var(--yuzey-2)}
  .projeler td{padding:0;border:0;white-space:normal;background:none!important}
  .projeler tr.gecikti{box-shadow:inset 4px 0 0 var(--kritik)}
  .projeler tr.gecikti td:first-child{box-shadow:none}
  .projeler td.no{grid-area:no} .projeler td.durum{grid-area:durum;justify-self:end}
  .projeler td.musteri{grid-area:musteri;font-size:15px}
  .projeler td.tur{grid-area:tur;font-size:13px} .projeler td.ekip{grid-area:ekip;justify-self:end;font-size:13px}
  .projeler td.tutar{grid-area:tutar;text-align:left}
  /* Telefon karti (28 Eyl 2026): acilis tarihi yerine randevu gunu (etiketli, gecmisse kirmizi cip) ve Kalan gorunur */
  .projeler td.ekip{align-self:start}
  .projeler td.randevu{grid-area:randevu;justify-self:end;align-self:end;display:flex;align-items:center;gap:6px;font-size:13px}
  .projeler td.randevu::before{content:attr(data-etiket);font-size:12px;font-weight:600;color:var(--soluk-2)}
  .projeler td.no .acilis{display:none}
  .projeler td.islem,.projeler td.masaustu{display:none}
  .projeler-tam tbody tr{grid-template-areas:"no durum" "musteri ekip" "tutar randevu" "islem islem"}
  .projeler-tam td.islem{display:flex;grid-area:islem;justify-content:flex-start;flex-wrap:wrap;margin-top:6px}
  /* musteri tablosu: etiketli kart */
  .tablo,.tablo tbody,.tablo tr,.tablo td{display:block}
  .tablo tbody{display:flex;flex-direction:column;gap:10px}
  .tablo tr{padding:12px 14px;border-radius:14px;background:var(--yuzey-2)}
  .tablo td{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;padding:3px 0;border:0;background:none!important}
  .tablo td::before{content:attr(data-etiket);color:var(--soluk-2);font-size:12px;font-weight:600}
  /* 28 Eyl 2026: hucredeki ikinci parca (aciklama, oran) 84 px'lik etiket sutununa dusuyordu; satir basligi (th scope=row) tasiyordu */
  .tablo td>*{grid-column:2;justify-self:start;max-width:100%}
  .tablo tbody th[scope=row]{display:block;white-space:normal;overflow-wrap:anywhere;padding:0 0 6px;border:0;background:none!important;font-weight:700}
  .tahsilat-tablo .tutar{text-align:left}
  .tablo tr.bos-satir~tr.bos-satir~tr.bos-satir{display:none}
  .tablo td.islem{display:flex;margin-top:8px}
  .tablo td.islem::before{content:none}
}
@media (max-width:559px){
  .kpiler:not(.kpiler-3):not(.kpiler-4){grid-template-columns:minmax(0,1fr)}
  .kpi-toplam{grid-column:auto}
  .dikkat-oge{grid-template-columns:auto minmax(0,1fr)}
  .dikkat-oge .btn-kucuk{grid-column:2;justify-self:start}
}
@media print{
  .yan,.alt-menu,.ust-mobil,.ust-araclar{display:none!important}
  .duzen{display:block}
  body{background:#fff}
}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

/* ---------- firma, kullanicilar (15 Eyl 2026) ---------- */
.firma-adi{margin:-14px 10px 12px;font-size:12.5px;font-weight:600;color:var(--soluk);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c-lila{background:var(--kart-lila);color:var(--ikon-lila)}
.mono{font-family:var(--f-mono);font-size:13px}
.ps-uyari ul{margin:6px 0 0;padding-left:18px}
.ust-mobil-araclar{display:flex;align-items:center;gap:8px}
.ikon-dugme{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;border:1px solid var(--cizgi);background:var(--yuzey);color:var(--soluk);text-decoration:none}
.ikon-dugme .ikon{width:19px;height:19px}
.giris-baglantilar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;font-size:14px;color:var(--soluk)}
.giris-baglantilar a,.geri-baglanti{font-weight:600;color:var(--lacivert);text-decoration:none}
.giris-baglantilar a:hover,.geri-baglanti:hover{text-decoration:underline}
.geri-baglanti{font-size:14px;align-self:flex-start}
.tek-ikon.basari{background:var(--tamam-z);color:var(--tamam)}
.bal-kupu{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.yetki-cipleri{display:flex;flex-wrap:wrap;gap:6px}
.sutun{display:flex;flex-direction:column;gap:16px;min-width:0}
.kpt-row>label .description{display:block;font-weight:400;margin-top:2px}
.giris-bilgisi{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}
.giris-bilgisi div{padding:14px 16px;border-radius:14px;background:var(--yuzey-2);min-width:0}
.giris-bilgisi dt{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--soluk-2)}
.giris-bilgisi dd{margin:4px 0 0;font-size:20px;font-weight:600;overflow-wrap:anywhere;user-select:all}

/* ---------- TEKLİF: fiyat listeleri ---------- */
.liste-kartlari{display:flex;flex-direction:column;gap:12px}
.liste-karti{padding:16px;border-radius:16px;background:var(--yuzey-2);display:flex;flex-direction:column;gap:12px;min-width:0}
.liste-karti.pasif{opacity:.72}
.liste-karti-bas{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.liste-karti h3{margin:0;font-size:16px;line-height:1.3}
.liste-karti h3 a{color:var(--murekkep);text-decoration:none}
.liste-karti h3 a:hover{color:var(--lacivert);text-decoration:underline}
.liste-karti-bas p{margin:2px 0 0;font-size:13px;color:var(--soluk)}
.marka-cipleri{display:flex;flex-wrap:wrap;gap:6px}
.marka-cip{font-size:12.5px;font-weight:600;padding-inline:10px;padding-block:3px;border-radius:999px;background:var(--yuzey);border:1px solid var(--cizgi)}
.pdf-baglanti{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--yuzey);border:1px solid var(--cizgi);color:var(--murekkep);text-decoration:none;min-width:0}
.pdf-baglanti:hover{border-color:var(--lacivert)}
.pdf-baglanti .ikon{color:var(--kritik)}
.pdf-baglanti span{display:flex;flex-direction:column;min-width:0}
.pdf-baglanti b{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdf-baglanti small{font-size:12px;color:var(--soluk)}
.adim-liste{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--soluk)}
.adim-liste b{color:var(--murekkep);font-weight:600}
.satir-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0}
.satir-form select{min-height:36px;padding:4px 10px;border:1px solid var(--cizgi-alan);border-radius:9px;background:var(--yuzey);color:var(--murekkep);max-width:100%}
.kpi-deger-yazi{font-family:var(--f-baslik);font-weight:650;font-size:20px;line-height:1.1}
.dosya-ad{font-weight:600;overflow-wrap:anywhere}
.alan label small{font-weight:400;color:var(--soluk-2)}
.kpt-row>.kpt-row-etiket{font-weight:600;font-size:14px;color:var(--soluk);line-height:1.35}
.kpt-row-etiket>.description{display:block;font-weight:400;margin-top:2px}


/* ---------- iki adimli dogrulama (15 Eyl 2026) ---------- */
a.avatar{text-decoration:none}
.tek-kart.genis{width:min(560px,100%)}
.kurulum-adimlari{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:18px}
.kurulum-adimlari>li{padding-left:4px}
.kurulum-adimlari>li>b{display:block;margin-bottom:8px}
.qr-kutu{display:inline-block;background:#fff;padding:6px;border-radius:14px;border:1px solid var(--cizgi);max-width:100%}
.qr-kutu svg{display:block;width:min(240px,70vw);height:auto;aspect-ratio:1/1;shape-rendering:crispEdges}
.elle-anahtar{margin-top:10px;font-size:14px}
.elle-anahtar summary{cursor:pointer;font-weight:600;color:var(--lacivert)}
.elle-anahtar p{margin:8px 0 0}
.anahtar{font-size:15px;letter-spacing:.06em;word-break:break-all;padding:10px 12px;border-radius:10px;background:var(--yuzey-2);user-select:all}
.alan input.kod-girdisi{font-family:var(--f-mono);font-size:24px;letter-spacing:.25em;text-align:center}
.yedek-kodlar{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-family:var(--f-mono);font-size:17px}
.yedek-kodlar li{padding:10px 12px;border-radius:10px;background:var(--yuzey-2);text-align:center;letter-spacing:.08em}
.bag-dugme{border:0;background:none;padding:0;cursor:pointer;font:inherit}
@media print{
  .tek-sayfa{min-height:auto;display:block}
  .tek-kart{box-shadow:none;border:0}
  .yazdirma{display:none!important}
}

/* ---------- grafik serileri ve POS kontrol paneli (15 Eyl 2026) ----------
   Seri renkleri dataviz dogrulayicisindan gecti: acik #2F63C8/#1B9E8F (zemin #FFFFFF), koyu #4F86EA/#17A08F (zemin #161B2A):
   aydinlik bandi, doygunluk, renk korlugu ayrimi (dE 20 / 16), normal gorus (21 / 18), kontrast >= 3:1. */
:root{--seri-1:#2F63C8;--seri-2:#1B9E8F}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--seri-1:#4F86EA;--seri-2:#17A08F}}
:root[data-theme="dark"]{--seri-1:#4F86EA;--seri-2:#17A08F}
.seri-1-z{background:var(--seri-1)} .seri-2-z{background:var(--seri-2)}
.grafik .cizgi{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.grafik .cizgi.seri-1{stroke:var(--seri-1)} .grafik .cizgi.seri-2{stroke:var(--seri-2)}
.grafik .alan{stroke:none;opacity:.1}
.grafik .alan.seri-1{fill:var(--seri-1)} .grafik .alan.seri-2{fill:var(--seri-2)}
.grafik .nokta{stroke:var(--yuzey);stroke-width:2}
.grafik .nokta.seri-1{fill:var(--seri-1)} .grafik .nokta.seri-2{fill:var(--seri-2)}
.grafik .nisangah{stroke:var(--soluk-2);stroke-width:1;visibility:hidden;pointer-events:none}
.grafik .nisangah.gorunur{visibility:visible}
.grafik .isabet{fill:transparent;cursor:crosshair;outline:none}
.grafik .isabet:focus-visible{fill:color-mix(in srgb,var(--lacivert) 8%,transparent)}
.cubuk-seri-1{fill:var(--seri-1)}
.grafik-kap{position:relative}
.ipucu{position:absolute;z-index:5;min-width:180px;padding:10px 12px;border-radius:12px;background:var(--yuzey);border:1px solid var(--cizgi);box-shadow:0 10px 28px rgba(24,32,58,.16);font-size:13px;pointer-events:none;display:flex;flex-direction:column;gap:4px}
.ipucu-baslik{font-size:12px;font-weight:600;color:var(--soluk);margin-bottom:2px}
.ipucu-satir{display:grid;grid-template-columns:14px auto minmax(0,1fr);align-items:center;gap:8px}
.ipucu-satir i{width:14px;height:2px;border-radius:1px}
.ipucu-satir b{font-variant-numeric:tabular-nums;color:var(--murekkep);font-weight:650}
.ipucu-satir span{color:var(--soluk)}
.tablo-gorunum{margin-top:10px;font-size:13px}
.tablo-gorunum summary{cursor:pointer;color:var(--lacivert);font-weight:600;width:max-content}
.tablo-gorunum .tablo{margin-top:8px;font-size:13px}
.pos-satir{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;align-items:start}
.pos-satir-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
@media (max-width:1099px){.pos-satir,.pos-satir-2{grid-template-columns:minmax(0,1fr)}}
.durum-cubuk{display:flex;gap:2px;height:14px;border-radius:7px;overflow:hidden;margin-block:4px 14px;background:var(--yuzey-2)}
.durum-cubuk .d-basarili{background:var(--tamam)} .durum-cubuk .d-basarisiz{background:var(--kritik)} .durum-cubuk .d-iade{background:var(--plan)}
.durum-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.durum-liste li{display:grid;grid-template-columns:34px minmax(0,1fr) auto 46px;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--yuzey-2);font-size:14px}
.durum-ikon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}
.durum-ikon .ikon{width:18px;height:18px}
.durum-liste .d-basarili .durum-ikon{background:var(--tamam-z);color:var(--tamam)}
.durum-liste .d-basarisiz .durum-ikon{background:var(--kritik-z);color:var(--kritik)}
.durum-liste .d-iade .durum-ikon{background:var(--plan-z);color:var(--plan)}
.durum-liste b{font-family:var(--f-baslik);font-size:18px;font-weight:650}
.durum-yuzde{color:var(--soluk);font-size:13px;text-align:right}
.program-liste{display:flex;flex-direction:column;gap:12px}
.program-satir{display:grid;grid-template-columns:100px minmax(0,1fr) 44px;align-items:center;gap:12px;font-size:14px}
.program-satir .cizgi-iz span{border-radius:0 4px 4px 0}
.program-satir b{text-align:right;font-weight:650}

/* ---------- TEKLİF: urun aktarimi ve satis listesi ---------- */
.filtre-satiri{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.filtre-satiri :is(input,select){min-height:44px;padding:8px 12px;border:1px solid var(--cizgi-alan);border-radius:12px;background:var(--yuzey);color:var(--murekkep);font-size:14px;max-width:100%}
.filtre-satiri input[type=search]{flex:1 1 240px}
.filtre-satiri :is(input,select):focus{outline:none;border-color:var(--lacivert);box-shadow:0 0 0 3px var(--lacivert-soluk)}
.urun-tablo .tutar{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.urun-tablo th.tutar{text-align:right}
.urun-tablo .urun-ad{font-weight:600;overflow-wrap:anywhere}
.soluk{color:var(--soluk)}
.gizli-satir td{color:var(--soluk)}
.satir-form input[type=text],.aday-tablo :is(input,select){min-height:36px;padding:4px 10px;border:1px solid var(--cizgi-alan);border-radius:9px;background:var(--yuzey);color:var(--murekkep);max-width:100%;min-width:0}
.satir-form input[type=text]{flex:1 1 180px}
.sayim-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.sayim-liste li{display:flex;justify-content:space-between;gap:10px;padding:6px 10px;border-radius:10px;background:var(--yuzey-2)}
.not-liste{margin:8px 0 0;padding-left:18px;color:var(--soluk);display:flex;flex-direction:column;gap:4px}
.kural-grup{border:1px solid var(--cizgi);border-radius:14px;padding:12px 14px;margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.kural-grup legend{padding-inline:6px;font-weight:600;font-size:14px;color:var(--soluk)}
.kural-satir{display:grid;grid-template-columns:96px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center}
.kural-etiket{font-size:13px;font-weight:600;color:var(--soluk)}
.kural-satir select,.kural-alan input{width:100%;min-height:40px;padding:6px 10px;border:1px solid var(--cizgi-alan);border-radius:10px;background:var(--yuzey);color:var(--murekkep)}
.kural-alan{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--soluk-2);min-width:0}
@media (max-width:559px){.kural-satir{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.kural-etiket,.kural-satir select{grid-column:1/-1}}
.kur-bilgisi{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:10px 14px;border-radius:12px;background:var(--yuzey-2);margin:0 0 12px;font-size:14px}
.kur-bilgisi form{margin:0}

/* ---------- TEKLİF: teklifler ---------- */
.teklif-araclar{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
.teklif-araclar .description{margin:0}
.musteri-secim,.urun-sonuclar{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.musteri-secim li,.urun-sonuclar li{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:var(--yuzey-2)}
.musteri-secim li>div,.urun-sonuclar li>div{min-width:0;flex:1 1 220px}
.musteri-secim span,.urun-sonuclar span{display:block;font-size:13px;color:var(--soluk)}
.urun-sonuclar strong{overflow-wrap:anywhere}
.sonuc-fiyat{margin-top:2px}
.sonuc-fiyat b{color:var(--murekkep)}
.satir-form input.adet-kucuk{flex:0 0 64px;width:64px;text-align:right}
/* Ek islem turu satirindaki varsayilan tutar kutusu (28 Eyl 2026, Madde 89) */
.ekip-kayitlari .satir-form input.tutar-kucuk{flex:0 0 130px;width:130px;text-align:right}
.miktar-alan{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.miktar-alan input{width:72px;min-height:36px;padding:4px 8px;border:1px solid var(--cizgi-alan);border-radius:9px;background:var(--yuzey);color:var(--murekkep);text-align:right}
.gizli-dugme{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.teklif-kalemleri tfoot td{border-top:2px solid var(--murekkep);border-bottom:0;padding-top:12px}

/* ---------- POS: online tahsilat onizlemesi ---------- */
.tahsilat-araclar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.tahsilat-duzen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;align-items:start}
@media (max-width:1099px){.tahsilat-duzen{grid-template-columns:minmax(0,1fr)}}
.kart-alanlari{margin:0;padding:14px 16px 16px;border:1px dashed var(--cizgi);border-radius:14px;display:flex;flex-direction:column;gap:12px;min-width:0}
.kart-alanlari legend{padding-inline:6px;font-weight:700;font-size:14px}
.kart-alanlari input:disabled{background:var(--yuzey-2);color:var(--soluk);cursor:not-allowed}
.kart-alanlari .ikon{width:14px;height:14px;vertical-align:-2px}
.tahsilat-ozet{margin:0 0 14px;display:flex;flex-direction:column}
.tahsilat-ozet>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-block:10px;border-bottom:1px solid var(--cizgi)}
.tahsilat-ozet>div:last-child{border-bottom:0}
.tahsilat-ozet dt{color:var(--soluk);font-size:14px}
.tahsilat-ozet dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tahsilat-ozet .ozet-buyuk dt{color:var(--murekkep);font-weight:700}
.tahsilat-ozet .ozet-buyuk dd{font-size:22px;font-weight:700}
.onay-satiri{display:flex;gap:8px;align-items:flex-start;margin-bottom:12px;font-size:13px;color:var(--soluk);line-height:1.4}
.onay-satiri input{margin-top:2px}

/* ---------- Pencere (dialog) · Guncel Doviz Kurlari ---------- */
.pencere{padding:0;border:1px solid var(--cizgi);border-radius:18px;background:var(--yuzey);color:var(--murekkep);box-shadow:var(--golge);width:min(580px,calc(100vw - 32px));max-height:calc(100vh - 32px)}
.pencere::backdrop{background:rgba(15,20,35,.5)}
.pencere-ic{padding:18px 20px 20px;display:flex;flex-direction:column;gap:14px}
.pencere-bas{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pencere-bas h2{margin:0;font-size:17px;font-weight:700}
.pencere-bas form,.pencere-alt{margin:0}
.pencere-kapat{min-width:40px;min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--soluk);font-size:26px;line-height:1;cursor:pointer}
.pencere-kapat:hover,.pencere-kapat:focus-visible{background:var(--yuzey-2);color:var(--murekkep)}
.pencere-not{font-size:13px;line-height:1.5;color:var(--soluk);background:var(--yuzey-2);border-radius:12px;padding:12px 14px}
.pencere-not h3{margin:0 0 4px;font-size:14px;color:var(--murekkep)}
.pencere-not p{margin:0 0 6px}
.pencere-not p:last-child{margin:0}
.pencere-not .ikon{width:14px;height:14px;vertical-align:-2px}
.pencere-alt{display:flex;justify-content:flex-end}
.kur-tablo th,.kur-tablo td{padding-block:7px}
.kur-tablo .tutar{font-variant-numeric:tabular-nums;white-space:nowrap}
.kur-dugmeler{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}

/* ---------- Modul secici: sol menu + telefon ust cubugu (moduller ayri is) ---------- */
.modul-secici{display:flex;flex-direction:column;gap:2px;padding:4px;margin-block:2px 6px;border:1px solid var(--cizgi);border-radius:14px;background:var(--yuzey-2)}
.modul-oge{display:flex;align-items:center;gap:10px;padding-inline:10px;padding-block:9px;border-radius:10px;color:var(--soluk);font-size:13px;font-weight:700;letter-spacing:.02em;text-decoration:none}
.modul-oge .ikon{width:18px;height:18px}
.modul-oge:hover{background:var(--yuzey);color:var(--murekkep)}
.modul-oge.aktif{background:var(--yuzey);color:var(--murekkep);box-shadow:inset 3px 0 0 var(--vurgu),0 1px 2px rgba(15,20,35,.08)}
.modul-oge.pasif{color:var(--soluk-2);cursor:not-allowed}
.modul-oge.pasif:hover{background:none;color:var(--soluk-2)}
.menu-ipucu{margin:12px 12px 0;font-size:13px;line-height:1.4;color:var(--soluk-2)}
.modul-menu{position:relative}
.modul-menu summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:38px;padding-inline:12px;border:1px solid var(--cizgi);border-radius:11px;background:var(--yuzey);font-size:13px;font-weight:700;color:var(--murekkep);cursor:pointer;white-space:nowrap}
.modul-menu summary::-webkit-details-marker{display:none}
.modul-menu summary::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.6}
.modul-menu[open] summary::after{transform:translateY(1px) rotate(-135deg)}
.modul-menu-liste{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:200px;display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--cizgi);border-radius:14px;background:var(--yuzey);box-shadow:var(--golge)}
.modul-menu-liste a,.modul-menu-liste span{display:block;padding:11px 12px;border-radius:10px;font-size:14px;font-weight:600;color:var(--murekkep);text-decoration:none}
.modul-menu-liste a:hover{background:var(--yuzey-2)}
.modul-menu-liste a.aktif{background:var(--lacivert);color:var(--lacivert-ink)}
.modul-menu-liste .pasif{color:var(--soluk-2)}
@media (max-width:399px){.ust-mobil .logo img{height:30px}.modul-menu summary{padding-inline:10px}}

/* ---------- POS: kart banka dagilim raporu ---------- */
.rapor-filtre .tarih-araligi{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.banka-tablo .sag{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.banka-tablo th[scope=row]{text-align:left;font-weight:500}
.banka-tablo .genel-toplam :is(th,td){background:var(--yuzey-2);font-weight:700;color:var(--murekkep)}
.banka-ad{display:flex;align-items:center;gap:10px;min-width:230px}
.banka-ad small{display:block;margin-top:2px;font-size:11.5px;color:var(--soluk)}
.banka-ikon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--yuzey-2);color:var(--soluk);flex:none}
.banka-ikon .ikon{width:18px;height:18px}

/* ---------- Sol menu: modul akordeonu (modul adina tiklayinca sayfalari altinda acilir) ---------- */
.modul-menusu{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.modul-grup>summary{list-style:none}
.modul-grup>summary::-webkit-details-marker{display:none}
.modul-menusu .modul-oge{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:12px;background:none;box-shadow:none;color:var(--murekkep);font-size:13px;font-weight:700;letter-spacing:.05em;cursor:pointer;user-select:none}
.modul-menusu .modul-oge .ikon{width:20px;height:20px;color:var(--soluk)}
.modul-menusu .modul-oge small{margin-left:6px;font-size:10.5px;font-weight:600;letter-spacing:0;color:var(--soluk-2)}
.modul-menusu summary.modul-oge::after{content:"";margin-left:auto;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);opacity:.45;transition:transform .15s}
.modul-grup[open]>summary.modul-oge::after{transform:rotate(45deg)}
.modul-menusu .modul-oge:hover{background:var(--yuzey-2)}
.modul-menusu .modul-oge.aktif{background:none;box-shadow:none}
.modul-menusu .modul-oge.aktif .ikon{color:var(--vurgu)}
.modul-menusu summary.modul-oge:focus-visible{outline:2px solid var(--lacivert);outline-offset:2px}
.modul-menusu .modul-oge.pasif{color:var(--soluk-2);cursor:not-allowed}
.modul-menusu .modul-oge.pasif .ikon{color:var(--soluk-2)}
.modul-menusu .modul-oge.pasif:hover{background:none}
.modul-alt{display:flex;flex-direction:column;gap:2px;margin:2px 0 8px 21px;padding-left:10px;border-left:1px solid var(--cizgi)}
.modul-alt .menu-oge{font-size:14px;padding-block:8px;gap:10px}
.modul-alt .menu-oge .ikon{width:18px;height:18px}

/* ---------- ERP Ana Sayfasi: paketlere gore bolunmus kisa ozet ---------- */
.ana-bolumler{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:16px;align-items:start}
.ana-bolum{display:flex;flex-direction:column;gap:12px}
.ana-bolum .panel-bas{margin-bottom:0}
.ana-bolum-baslik{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ana-bolum-baslik .kpi-ikon{width:32px;height:32px}
.ana-bolum-baslik .cip{margin-left:0}
.mini-kpiler{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}
.mini-kpi{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:var(--yuzey-2);color:var(--murekkep);text-decoration:none;min-width:0}
a.mini-kpi:hover{box-shadow:inset 0 0 0 1px var(--cizgi)}
.mini-kpi>span{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--soluk)}
.mini-kpi>span i{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}
.mini-kpi b{font-size:18px;font-weight:700;overflow-wrap:anywhere}
.mini-kpi small{font-size:12px;color:var(--soluk)}
.ana-not{margin:0;font-size:13.5px;color:var(--soluk)}
.ana-not b{color:var(--murekkep)}
.ana-alt-baslik{margin:4px 0 0;font-size:12px;font-weight:700;color:var(--soluk);text-transform:uppercase;letter-spacing:.07em}
.ana-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ana-liste li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-block:9px;border-bottom:1px solid var(--cizgi);font-size:14px}
.ana-liste li:last-child{border-bottom:0}
.ana-liste a{display:flex;align-items:baseline;gap:10px;min-width:0;color:var(--murekkep);text-decoration:none}
.ana-liste a:hover .ana-liste-ad{text-decoration:underline}
.ana-liste .ana-liste-ad{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ana-liste .sayi{white-space:nowrap}
.ana-bolum .ilerleme,.ana-bolum .dikkat-liste,.ana-bolum .durum-liste{margin:0}

/* ---------- Yillik uyelik uyarisi: bitise 30 gun kala butun sayfalarda en ustte ---------- */
.uyelik-uyari{display:flex;align-items:center;gap:12px 14px;flex-wrap:wrap;margin:0 0 14px;padding:12px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--uyari,#C98A12) 45%,transparent);background:color-mix(in srgb,var(--uyari,#C98A12) 12%,var(--yuzey));color:var(--murekkep)}
.uyelik-uyari>.ikon{width:22px;height:22px;flex:none;color:var(--uyari,#C98A12)}
.uyelik-uyari>div{flex:1 1 280px;display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.45}
.uyelik-uyari>div span{color:var(--soluk)}
.uyelik-uyari>div span b{color:var(--murekkep)}
.uyelik-uyari.bitti{border-color:color-mix(in srgb,var(--kritik) 45%,transparent);background:color-mix(in srgb,var(--kritik) 10%,var(--yuzey))}
.uyelik-uyari.bitti>.ikon{color:var(--kritik)}

/* ---------- Ust cubuk: Aboneliklerim dugmesi (bas harf yerine) ---------- */
.abonelik-dugme{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding-inline:14px;border-radius:12px;border:1px solid var(--cizgi);background:var(--kart-lila);color:var(--ikon-lila);font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap;flex:none}
.abonelik-dugme .ikon{width:18px;height:18px}
.abonelik-dugme:hover,.abonelik-dugme[aria-current]{border-color:var(--ikon-lila)}
.firma-adi{max-width:100%}

/* ---------- Abonelik suresi dolunca askiya alma + musteri hizmetleri ---------- */
.uyelik-dugmeler,.askida-dugmeler{display:flex;flex-wrap:wrap;gap:8px}
.askida-kart{display:flex;flex-direction:column;gap:14px;max-width:760px}
.askida-kart h2{margin:0 0 6px;font-size:18px}
.askida-kart p{margin:0 0 8px;color:var(--soluk);line-height:1.5}
.askida-kart .askida-ikon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--kritik) 12%,var(--yuzey));color:var(--kritik)}
.askida-kart .askida-ikon .ikon{width:24px;height:24px}
.askida-bolum{border-color:color-mix(in srgb,var(--kritik) 40%,var(--cizgi))}

/* ---------- PROJE: saha ekipleri (firmaya ozel) ---------- */
.ekip-kayitlari{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ekip-kayitlari li{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;padding-block:12px;border-bottom:1px solid var(--cizgi)}
.ekip-kayitlari li:last-child{border-bottom:0}
.ekip-kayitlari .satir-form{flex:1 1 240px;display:flex;gap:8px;margin:0}
.ekip-kayitlari .satir-form input{flex:1 1 auto;min-width:0;min-height:40px;padding:6px 10px;border:1px solid var(--cizgi-alan);border-radius:10px;background:var(--yuzey);color:var(--murekkep);font-size:14px}
/* Sabit genislik (20 Eyl 2026: "tasarımda kaymalar var gibi"). Metin satirdan satira
   degistigi icin ("34 proje" / "9 proje") Kaydet dugmesi her satirda baska yere dusuyordu. */
.ekip-kayitlari .ekip-bilgi{flex:0 0 auto;min-width:126px;text-align:right;font-size:13px;color:var(--soluk);font-variant-numeric:tabular-nums}
.ekip-kayitlari li.pasif :is(strong,input){color:var(--soluk-2)}
.ekip-kayitlari form.satir-ici{margin:0}
.ekip-olustur{display:inline-block;margin-top:8px;font-size:14px}
/* Ekip uyeleri (16 Eyl 2026): ekibe is dusunce bildirim gidecek hesaplar */
.ekip-uyeler{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding-top:4px}
.ekip-uyeler .soluk{font-size:13px;color:var(--soluk)}
.ekip-uyeler select{min-height:36px;max-width:220px;padding:4px 8px;border:1px solid var(--cizgi-alan);border-radius:10px;background:var(--yuzey);color:var(--murekkep);font-size:13.5px}
.ekip-uyeler .satir-form{flex:0 1 auto;gap:6px}
.uye-cip{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;padding:3px 4px 3px 10px;border-radius:999px;background:var(--kart-gok);color:var(--murekkep)}
/* Uyeyi cikaran "x" dugmesi: 22 px idi, WCAG 2.2 AA (2.5.8) en az 24x24 CSS piksel ister
   -- telefonda parmakla vurulabilsin (20 Eyl 2026 olcumu). */
.uye-cip .btn-kucuk{padding:0 7px;min-width:24px;min-height:24px;line-height:1;border-radius:999px}

/* ---------- Paket basvuru formu (POS) ---------- */
.basvuru-kart{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);max-width:1080px;border:1px solid var(--cizgi);border-radius:20px;overflow:hidden;background:var(--yuzey);box-shadow:var(--golge)}
@media (max-width:899px){.basvuru-kart{grid-template-columns:minmax(0,1fr)}}
.basvuru-tanitim{padding:28px;display:flex;flex-direction:column;gap:14px;min-width:0}
.basvuru-marka{display:flex;align-items:center;gap:10px;font-family:var(--f-baslik);font-weight:750;font-size:22px;color:var(--murekkep)}
.basvuru-marka .ikon{width:28px;height:28px;color:var(--vurgu)}
.basvuru-tanitim h2{margin:6px 0 0;font-size:18px}
.basvuru-tanitim>p{margin:0;color:var(--soluk);line-height:1.55}
.basvuru-bankalar{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.basvuru-bankalar li{display:grid;place-items:center;min-height:44px;padding:6px 10px;border:1px solid var(--cizgi);border-radius:10px;font-size:13px;font-weight:700;text-align:center;color:var(--murekkep)}
.basvuru-tanitim>p.basvuru-dipnot{font-size:12.5px;color:var(--soluk-2)}
.basvuru-tanitim h3{margin:8px 0 0;font-size:15px}
.basvuru-avantajlar{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--soluk)}
.basvuru-avantajlar li{display:flex;gap:10px}
.basvuru-avantajlar li::before{content:"";flex:none;width:11px;height:6px;margin-top:5px;border-left:2px solid var(--tahsil);border-bottom:2px solid var(--tahsil);transform:rotate(-45deg)}
.basvuru-tanitim>p.basvuru-alt{margin-top:auto;padding-top:14px;border-top:1px solid var(--cizgi);font-size:13px}
.basvuru-form-alan{background:var(--yuzey-2);display:flex;flex-direction:column;min-width:0}
.basvuru-form-bas{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 28px;border-bottom:1px solid var(--cizgi)}
.basvuru-form-bas h2{margin:0;font-size:18px}
.basvuru-form-bas p{margin:2px 0 0;font-size:13.5px;color:var(--soluk)}
.basvuru-form-bas .pencere-kapat{display:grid;place-items:center;text-decoration:none}
.basvuru-govde{padding:22px 28px 26px;display:flex;flex-direction:column;gap:14px}
.basvuru-ikili{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.basvuru-govde label em{color:var(--kritik);font-style:normal}
.basvuru-bilgi{margin:0;padding:14px 16px;border-radius:12px;background:var(--yuzey);font-size:13px;color:var(--soluk);line-height:1.5}
.basvuru-dugmeler{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
.basvuru-dugmeler .button{justify-content:center;text-align:center}
.basvuru-karti{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;border-radius:12px;background:var(--yuzey-2);border:1px solid var(--cizgi);color:var(--murekkep);text-decoration:none}
.basvuru-karti .ikon{width:22px;height:22px;flex:none;color:var(--vurgu)}
.basvuru-karti b{display:block;font-size:13.5px}
.basvuru-karti small{display:block;font-size:12px;color:var(--soluk)}
.basvuru-karti:hover{border-color:var(--vurgu)}

/* Liste satirlarindaki ad baglantilari (16 Eyl 2026): duz metne dokunmak Android Chrome'da
   kelimeyi secip "arama sonuclarini gormek icin dokun" cubugunu aciyordu. Ad artik baglanti;
   gorunum kalin metin gibi kalir, dokunma alani satir yuksekligi kadar buyuktur. */
.satir-baglanti{display:inline-block;min-height:24px;font-weight:600;color:var(--murekkep);text-decoration:none;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation}
.satir-baglanti:hover,.satir-baglanti:focus-visible{color:var(--vurgu);text-decoration:underline}

/* ---------- proje notlari: madde madde (19 Eyl 2026) ---------- */
.not-alani{display:flex;flex-direction:column;gap:8px;min-width:0}
#notlar{align-items:start}
#notlar > label{padding-top:10px}
.not-listesi{list-style:none;margin:0;padding:0;border:1px solid var(--cizgi);border-radius:12px;overflow:hidden}
.not-madde{position:relative;padding:10px 14px 10px 30px;background:var(--yuzey)}
.not-madde + .not-madde{border-top:1px solid var(--cizgi)}
.not-madde::before{content:"";position:absolute;left:14px;top:17px;width:6px;height:6px;border-radius:50%;background:var(--lacivert)}
.not-madde.bekliyor{background:var(--yuzey-2)}
.not-madde.bekliyor::before{background:transparent;border:1.5px solid var(--soluk);box-sizing:border-box;width:7px;height:7px}
.not-metin{margin:0;font-size:14px;line-height:1.45;color:var(--murekkep);overflow-wrap:anywhere;white-space:pre-line}
.not-alt{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-top:3px}
.not-kim{font-size:12px;color:var(--soluk);font-variant-numeric:tabular-nums}
.not-madde.bekliyor .not-kim{font-style:italic}
/* Duzenle / Sil: sahada parmakla da basilabilsin (min 32px) */
.not-islemler,.not-onay{display:inline-flex;align-items:center;gap:6px}
.not-onay > span{font-size:12.5px;font-weight:600;color:var(--kritik);margin-right:2px}
.not-islem{min-height:32px;padding:0 12px;border:1px solid var(--cizgi);border-radius:999px;background:var(--yuzey);
  font:inherit;font-size:12.5px;font-weight:600;color:var(--lacivert);cursor:pointer}
.not-islem:hover,.not-islem:focus-visible{border-color:var(--lacivert)}
.not-islem.sil{color:var(--kritik)}
.not-islem.sil:hover,.not-islem.sil:focus-visible{border-color:var(--kritik)}
.not-islem.birincil{background:var(--lacivert);border-color:var(--lacivert);color:var(--lacivert-ink)}
.not-islem:disabled{opacity:.55;cursor:default}
.not-duzenle-kutu{display:flex;flex-direction:column;gap:6px;margin-top:2px}
.not-duzenle-kutu textarea{width:100%}
.not-duzenle-dugmeler{display:flex;gap:6px}
.not-ekle{display:flex;gap:8px;align-items:flex-start}
.not-ekle textarea{flex:1;min-width:0}
.not-ekle .button{flex:none;min-height:40px}
@media (max-width:640px){.not-ekle{flex-direction:column;align-items:stretch}}

/* ---------- randevu gecmisi (proje formu): zaman cizelgesi (19 Eyl 2026) ---------- */
.randevu-gecmis{list-style:none;margin:10px 0 0;padding:0}
.rg{position:relative;padding:0 0 14px 22px}
.rg:last-child{padding-bottom:2px}
/* sol cizgi + nokta: en yeni ustte, zaman asagi dogru geriye akar */
.rg::before{content:"";position:absolute;left:5px;top:6px;bottom:-6px;width:2px;background:var(--cizgi)}
.rg:last-child::before{display:none}
.rg::after{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;
  background:var(--yuzey);border:2px solid var(--lacivert);box-sizing:border-box}
.rg:first-child::after{background:var(--lacivert)}
.rg-erteleme::after{border-color:var(--uyari)}
.rg-erteleme:first-child::after{background:var(--uyari)}
.rg-kaldirildi::after{border-color:var(--kritik)}
.rg-kaldirildi:first-child::after{background:var(--kritik)}
.rg-ust{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:2px 12px}
.rg-olay{font-size:14px;font-weight:700;color:var(--murekkep)}
.rg-kim{font-size:12.5px;color:var(--soluk);font-variant-numeric:tabular-nums}
.rg-degisim{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-top:3px;font-size:13.5px;
  font-variant-numeric:tabular-nums}
.rg-eski{color:var(--soluk)}
.rg-ok{color:var(--soluk-2)}
.rg-yeni{font-weight:600;color:var(--murekkep)}
.rg-yok{font-weight:600;color:var(--kritik)}
.rg-sebep{margin:4px 0 0;font-size:12.5px;color:var(--soluk)}
.rg-sebep b{color:var(--murekkep);font-weight:600}

/* ---------- gunluk is listesi (19 Eyl 2026) ---------- */
.gun-secici{display:flex;align-items:center;gap:8px}
/* 7 gunluk serit: yalnizca bugun "Bugün" yazar; altta gunun randevu sayisi. Dar ekranda yatay kayar. */
.gun-seridi{display:flex;align-items:stretch;gap:6px;margin-bottom:14px}
.gunler{display:grid;grid-template-columns:repeat(7,minmax(84px,1fr));gap:6px;flex:1;min-width:0;overflow-x:auto;
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gunler::-webkit-scrollbar{display:none}
.gun,.gun-ok{border:1px solid var(--cizgi);border-radius:12px;background:var(--yuzey);text-decoration:none;color:var(--murekkep)}
.gun{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:7px 6px;min-height:48px}
.gun-ad{font-size:13px;font-weight:700;white-space:nowrap}
.gun-adet{font-size:11.5px;color:var(--soluk);white-space:nowrap}
.gun.bugun{border-color:var(--lacivert)}
.gun.bugun .gun-ad{color:var(--lacivert)}
.gun:hover,.gun-ok:hover{border-color:var(--lacivert);text-decoration:none}
.gun.aktif{background:var(--lacivert);border-color:var(--lacivert)}
.gun.aktif .gun-ad,.gun.aktif .gun-adet{color:var(--lacivert-ink)}
.gun-ok{display:grid;place-items:center;width:36px;flex:none;font-size:20px;line-height:1;color:var(--soluk)}
/* tatil gunu (Pazar / dini bayram): randevu verilmez -- soluk zemin, kesikli cerceve */
.gun.tatil{background:var(--yuzey-2);border-style:dashed}
.gun.tatil .gun-ad{color:var(--soluk)}
.gun.tatil .gun-adet{color:var(--uyari);font-weight:600}
.gun.tatil.aktif{background:var(--soluk);border-color:var(--soluk);border-style:solid}
.gun.tatil.aktif .gun-ad,.gun.tatil.aktif .gun-adet{color:var(--yuzey)}
.tatil-bandi{margin:0 0 14px;padding:10px 14px;border-radius:12px;background:var(--uyari-z);color:var(--uyari);font-size:13.5px}
.gun-secici input[type=date]{padding:7px 10px;border:1px solid var(--cizgi-alan);border-radius:10px;
  background:var(--yuzey);color:var(--murekkep);font:inherit;font-size:14px}
.ekip-gun{margin-top:18px}
/* Saha ekibi tum ekipleri gorur (24 Eyl 2026): "Benim işlerim" ustte, diger ekipler altta ve soluk */
.kapsam-baslik{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--soluk);margin:22px 0 4px}
.kapsam-baslik:first-of-type{margin-top:14px}
.ekip-diger .zaman-cizelgesi{background:var(--yuzey-2)}
.ekip-gun:first-of-type{margin-top:10px}
.ekip-gun h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-size:15px;font-weight:700;margin:0 0 8px;line-height:1.3}
.ekip-adet{font-size:12px;font-weight:600;color:var(--soluk);background:var(--yuzey-2);
  border:1px solid var(--cizgi);border-radius:999px;padding:2px 10px}
/* Zaman cizelgesi (19 Eyl 2026: "daha düzenli olsun"): saat sutunu dar ve sabit --
   goz sol kenardan asagi kayarak gunu tarar; is karti sagda, bilgi onem sirasiyla. */
.zaman-cizelgesi{list-style:none;margin:0;padding:0;border:1px solid var(--cizgi);border-radius:12px;
  background:var(--yuzey);overflow:hidden}
.dilim{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;padding:12px 16px;align-items:start}
.dilim + .dilim{border-top:1px solid var(--cizgi)}
.dilim-saat{font-size:13.5px;font-weight:600;color:var(--murekkep);white-space:nowrap;
  font-variant-numeric:tabular-nums;padding-top:2px}
.dilim-bos{padding-top:9px;padding-bottom:9px}
.dilim-bos .dilim-saat{color:var(--soluk-2);font-weight:500}
.bos-dilim{font-size:13px;color:var(--soluk-2)}
/* Ayni dilimde birden fazla is: engellenmiyor ama gozden kacmasin */
.dilim-cakisma{background:var(--kritik-z)}
.dilim-uyari{margin:8px 0 0;font-size:12.5px;font-weight:600;color:var(--kritik)}
.dilim-isler{display:flex;flex-direction:column;gap:10px;min-width:0}
.is-kart{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:start;
  padding:12px 14px;border:1px solid var(--cizgi);border-left:3px solid var(--lacivert);border-radius:10px;
  background:var(--yuzey)}
.is-kart > :not(.is-tel){grid-column:1}
.is-ust{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.is-musteri{font-size:15px;font-weight:700;line-height:1.3;color:var(--murekkep)}
.is-no{font-size:12px;font-weight:600;color:var(--lacivert);text-decoration:none;font-variant-numeric:tabular-nums}
.is-no:hover,.is-no:focus-visible{text-decoration:underline}
.is-tur{justify-self:start;font-size:12px;font-weight:600;color:var(--lacivert);background:var(--lacivert-soluk);
  border-radius:999px;padding:2px 9px}
.is-adres{display:flex;flex-direction:column;gap:2px;margin-top:2px;min-width:0}
.is-yer{font-size:13.5px;color:var(--murekkep)}
.is-acik{font-size:12.5px;color:var(--soluk);overflow-wrap:anywhere}
/* Telefon sahada tek dokunusla aranabilmeli: dokunma alani 40px'ten kucuk olmasin */
.is-tel{grid-column:2;grid-row:1 / span 3;align-self:center;display:inline-flex;align-items:center;gap:7px;
  min-height:40px;padding:0 14px;border:1px solid var(--cizgi);border-radius:999px;background:var(--yuzey-2);
  font-size:13.5px;font-weight:600;color:var(--lacivert);text-decoration:none;white-space:nowrap;
  font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent}
.is-tel .ikon{width:16px;height:16px}
.is-tel:hover,.is-tel:focus-visible{border-color:var(--lacivert);text-decoration:none}
@media (max-width:640px){
  .dilim{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px}
  .dilim-bos{grid-template-columns:auto minmax(0,1fr);gap:12px}
  .is-kart{grid-template-columns:minmax(0,1fr)}
  .is-tel{grid-column:1;grid-row:auto;justify-content:center;margin-top:4px}
  .gun-secici{width:100%}
  .gun-secici input[type=date]{flex:1;min-width:0}
}
/* 27 Eyl 2026: burada fazladan bir "}" vardi; tarayici bir sonraki kurali (.alan-hata) YOK SAYIYORDU -> alan hatasi kirmizi gorunmuyordu.
   Alan bazli form hatasi (19 Eyl 2026): uyari ust seritte degil, DUZELTILECEK ALANIN altinda.
   Kullanici alani duzeltmeye baslayinca js uyariyi kaldirir (form_hata.js). */
.alan-hata{margin:6px 0 0;font-size:13px;font-weight:600;color:var(--kritik)}
.alan-hata::before{content:"⚠ ";font-weight:400}
.alan-hatali{border-color:var(--kritik) !important;background:var(--kritik-z)}
.alan-hatali:focus{outline:2px solid var(--kritik);outline-offset:1px}
/* Isini bitiren basari seridi yumusak kaybolur; HATA seridi kaybolmaz */
.ps-uyari.soluyor{opacity:0;transition:opacity .4s ease}
@media (prefers-reduced-motion:reduce){.ps-uyari.soluyor{transition:none}}

/* Degistirilemeyen alan: kutu gibi degil, okunan bir deger gibi gorunsun ki tiklamaya calisilmasin */
.kilitli-deger{margin:0;padding:9px 0;font-size:15px;font-weight:600;color:var(--murekkep)}

/* Sinir dolu karti: ekleme formunun yerine cikar, yonlendirme dugmesiyle (19 Eyl 2026) */
.sinir-karti{border-color:var(--uyari);background:var(--uyari-z)}
.sinir-karti h2{color:var(--uyari)}

/* Tehlike alani: proje detayindaki "Projeyi Sil" bolumu. Geri alinamaz islem, sayfanin en
   altinda ve kirmizi cerceveli dursun ki yanlislikla tiklanmasin (yalnizca firma yoneticisi gorur). */
.tehlike-alani{border-color:var(--kritik);background:var(--kritik-z)}
.tehlike-alani h2{color:var(--kritik)}

/* ---------- ayarlar kartlari (19 Eyl 2026: tanim ekranlari menude degil burada) ---------- */
.ayar-kartlari{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:6px}
.ayar-kart{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;text-decoration:none;
  background:var(--yuzey-2);border:1px solid var(--cizgi);border-radius:14px;color:var(--murekkep)}
.ayar-kart:hover,.ayar-kart:focus-visible{border-color:var(--lacivert);background:var(--yuzey)}
.ayar-kart .ikon{width:26px;height:26px;flex:none;margin-top:2px;color:var(--lacivert)}
.ayar-kart span{display:flex;flex-direction:column;gap:3px;min-width:0}
.ayar-kart b{font-size:15px;font-weight:700}
.ayar-kart small{font-size:12.5px;color:var(--soluk);line-height:1.45}
.ayar-kart em{font-style:normal;font-size:12px;font-weight:600;color:var(--lacivert)}
/* 28 Eyl 2026: ayarlarin DISINA (firma geneli ekrana) giden kart: ustte kucuk etiket, sagda disari cikis oku */
.ayar-kart-etiket{align-self:flex-start;font-style:normal;font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;background:var(--yuzey);border:1px solid var(--cizgi);color:var(--soluk)}
.ayar-kart .ayar-kart-dis{width:16px;height:16px;margin-left:auto;color:var(--soluk)}

/* Gecikme isareti: liste sutununu sismesin diye yazi yerine kucuk kirmizi nokta
   (19 Eyl 2026). Sebep title'da; ayrintili liste icin "2 günü geçen" / "10 günü geçen" filtreleri var. */
.gecikme-isareti{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--kritik);
  vertical-align:middle;margin-left:6px;flex:none;cursor:help;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--kritik) 18%, transparent)}

/* Hucre ici ikinci satir: is turu musteri adinin altinda (19 Eyl 2026).
   Sutun olmaktan cikardik -- "Kombi Satışı + Değişim" en genis metindi ve tek basina sutun dolduruyordu. */
.hucre-alt{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--soluk);line-height:1.35}

/* Sagdan kayan kutular (24 Eyl 2026): islem mesajlari + sayfa acikken gelen bildirimler.
   Masaustu: sag ust, sagdan kayar. Telefon: ustten tam genislik, yukaridan iner. Renkler temadan (acik/koyu). */
.cip[hidden]{display:none}
.kutular{position:fixed;top:16px;right:16px;z-index:1200;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 32px));pointer-events:none}
.kutu{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;border-radius:14px;
  background:var(--yuzey);color:var(--murekkep);border:1px solid var(--cizgi);border-left:4px solid var(--bilgi);
  box-shadow:0 10px 30px rgba(10,14,30,.16);font-size:14px;line-height:1.4;text-decoration:none;
  opacity:0;transform:translateX(calc(100% + 24px));transition:transform .28s ease,opacity .28s ease}
.kutu.gorunur{opacity:1;transform:none}
.kutu.gidiyor{opacity:0;transform:translateX(calc(100% + 24px))}
.kutu-metin{flex:1;min-width:0;overflow-wrap:anywhere}
.kutu-metin strong{display:block;font-weight:700}
.kutu-metin span{display:block;color:var(--soluk);font-size:13px;margin-top:2px}
.kutu-ikon{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;color:#fff;background:var(--bilgi)}
.kutu-ikon::before{content:"i"}
.kutu-basari{border-left-color:var(--tamam)}
.kutu-basari .kutu-ikon{background:var(--tamam)}
.kutu-basari .kutu-ikon::before{content:"\2713"}
.kutu-hata{border-left-color:var(--kritik)}
.kutu-hata .kutu-ikon{background:var(--kritik)}
.kutu-hata .kutu-ikon::before{content:"!"}
.kutu-bildirim{cursor:pointer}
.kutu-bildirim .kutu-ikon::before{content:"\25CF";font-size:10px}
.kutu-bildirim:hover{border-color:var(--bilgi)}
.kutu-kapat{flex:none;width:28px;height:28px;margin:-4px -4px 0 0;border:0;border-radius:8px;background:none;color:var(--soluk);
  font-size:20px;line-height:1;cursor:pointer}
.kutu-kapat:hover,.kutu-kapat:focus-visible{background:var(--yuzey-2);color:var(--murekkep)}
@media (max-width:799px){
  .kutular{top:0;right:0;left:0;width:auto;padding:8px 8px 0}
  .kutu{transform:translateY(-120%)}
  .kutu.gidiyor{transform:translateY(-120%)}
}
@media (prefers-reduced-motion:reduce){.kutu,.kutu.gidiyor{transition:opacity .15s;transform:none}}

/* =====================================================================
   Proje Sende gorunumu (25 Eyl 2026). Yapi ayni; renk/tipografi/yuzeyler marka kimligine gore.
   ===================================================================== */
body{letter-spacing:-.005em}
.karsilama h1,.tek-kart h1{font-weight:800;letter-spacing:-.025em}

/* --- dugmeler --- */
.button-primary,.btn-birincil{background:linear-gradient(180deg,#3572F0 0%,#2159DB 100%);border-color:#2159DB;color:#fff;box-shadow:0 8px 18px -10px rgba(0,102,224,.9),inset 0 1px 0 rgba(255,255,255,.18)}
.button-primary:hover,.btn-birincil:hover{filter:none;background:linear-gradient(180deg,#2F69E6 0%,#1C4EC4 100%);border-color:#1C4EC4;color:#fff}
.button,.btn-kucuk{transition:border-color .15s ease,color .15s ease,background .15s ease}
.buyuk-dugme{min-height:50px;font-size:15.5px;border-radius:13px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) :is(.button-primary,.btn-birincil){color:#fff}}

/* --- kartlar --- */
.panel,.kpt-section{border-radius:22px;border-color:color-mix(in srgb,var(--cizgi) 85%,transparent)}
.kpi-ikon{box-shadow:0 4px 12px -6px rgba(1,30,76,.25)}
.mini-kpi{border:1px solid transparent;transition:border-color .15s ease,background .15s ease}
.mini-kpi:hover{border-color:color-mix(in srgb,var(--vurgu) 35%,transparent);background:var(--vurgu-yumusak)}

/* --- yan menu: her temada lacivert --- */
.yan{background:linear-gradient(180deg,#011E4C 0%,#0D2648 58%,#112F66 100%);border-right:0;color:#E6ECF7;
  scrollbar-color:rgba(255,255,255,.2) transparent}
.yan .logo{width:196px}
.yan .firma-adi{color:rgba(214,225,245,.66)}
.yan .menu-oge,.yan .modul-oge{color:rgba(222,231,248,.78)}
.yan .menu-oge:hover,.yan .modul-oge:hover{background:rgba(255,255,255,.08);color:#fff}
.yan .menu-oge.aktif{background:#0066E0;color:#fff;box-shadow:0 10px 20px -10px rgba(0,102,224,.95)}
.yan .modul-oge.aktif{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 3px 0 0 #6D9BFF}
.yan :is(.menu-oge,.modul-oge).pasif,.yan :is(.menu-oge,.modul-oge).pasif:hover{background:none;color:rgba(222,231,248,.42)}
.yan .yan-alt{border-top-color:rgba(255,255,255,.1)}
.yan .cip{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14);color:#E6ECF7}
.yan .rozet,.yan .modul-oge small{color:rgba(222,231,248,.6)}
.yan .basvuru-karti{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:#fff}
.yan .basvuru-karti small{color:rgba(222,231,248,.7)}
.yan .basvuru-karti .ikon{color:#8DB3FF}
.yan .basvuru-karti:hover{border-color:#6D9BFF}
.yan .menu-ipucu{color:rgba(222,231,248,.55)}
.yan .modul-menusu summary.modul-oge:focus-visible,.yan .menu-oge:focus-visible{outline:2px solid #8DB3FF;outline-offset:2px}

/* --- tek kartli sayfalar (sifremi unuttum, iki adim, kilitli...): marka zemini --- */
.tek-sayfa{background:radial-gradient(70% 60% at 100% 0%,color-mix(in srgb,var(--vurgu) 16%,transparent),transparent 70%),radial-gradient(60% 50% at 0% 100%,color-mix(in srgb,var(--vurgu) 10%,transparent),transparent 70%),var(--zemin)}
.tek-kart{border-radius:26px;box-shadow:var(--golge-buyuk);padding:34px 30px}

/* --- giris ekrani: iki bolme --- */
.giris-sahne{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--zemin)}
.giris-marka{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:32px;
  padding:clamp(28px,4vw,56px);background:var(--marka-gradyan);color:#fff}
.giris-marka::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(55% 45% at 90% 15%,rgba(109,155,255,.5),transparent 70%),radial-gradient(50% 45% at 0% 100%,rgba(0,102,224,.4),transparent 70%)}
.giris-marka::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:44px 44px;
  -webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 15%,transparent 72%);mask-image:radial-gradient(ellipse at 60% 40%,#000 15%,transparent 72%)}
.giris-marka-logo img{display:block;width:min(230px,60vw);height:auto}
.giris-slogan{margin:0;font-size:clamp(34px,4.2vw,54px);line-height:1.05;font-weight:800;letter-spacing:-.035em}
.giris-slogan span{background:linear-gradient(90deg,#4FC3FF,#BFE8FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.giris-maddeler{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px;max-width:30em}
.giris-maddeler li{display:flex;align-items:center;gap:12px;font-size:15px;color:rgba(226,234,250,.88)}
.giris-maddeler li>span{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16)}
.giris-maddeler .ikon{width:19px;height:19px;color:#A9C4FF}
.giris-marka-alt{margin:0;font-size:13px;color:rgba(214,225,245,.6)}
.giris-form-alani{display:grid;place-items:center;padding:clamp(24px,4vw,56px) 20px}
.giris-kart{width:min(400px,100%);display:flex;flex-direction:column;gap:20px}
.giris-kart-bas h1{margin:0;font-size:clamp(26px,3vw,32px);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.giris-kart-bas p{margin:8px 0 0;color:var(--soluk)}
.giris-kart .alan :is(input[type=text],input[type=password]){min-height:50px;border-radius:13px;font-size:15.5px}
.alan-etiket-satir{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.alan-etiket-satir a{font-size:13.5px;font-weight:600;color:var(--vurgu);text-decoration:none}
.alan-etiket-satir a:hover,.giris-alt-metin a:hover{text-decoration:underline}
.giris-alt-metin{margin:0;text-align:center;color:var(--soluk);font-size:14.5px}
.giris-alt-metin a{font-weight:700;color:var(--vurgu);text-decoration:none}
.giris-kart .geri-baglanti{align-self:center;color:var(--soluk)}
@media (max-width:899px){
  .giris-sahne{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}
  .giris-marka{gap:18px;padding:22px 20px 26px}
  .giris-marka-logo img{width:170px}
  .giris-slogan{font-size:28px}
  .giris-maddeler,.giris-marka-alt{display:none}
  .giris-form-alani{place-items:start center;padding-top:28px}
}
.abonelik-dugme{background:var(--vurgu-yumusak);color:var(--vurgu);border-color:color-mix(in srgb,var(--vurgu) 22%,transparent)}
.abonelik-dugme:hover,.abonelik-dugme[aria-current]{border-color:var(--vurgu)}

/* =====================================================================
   Is turleri ve sorular (25 Eyl 2026): PROJE > Ayarlar > İş Türleri, İş Türü, Soru Havuzu + formdaki coklu secim
   ===================================================================== */
.yan-kartlar{display:flex;flex-direction:column;gap:16px;min-width:0}
.sinir-satiri{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0 0 14px;font-size:13.5px;color:var(--soluk)}
.sinir-satiri b{color:var(--murekkep)}
.baglanti-kalin{font-weight:700;color:var(--murekkep);text-decoration:none}
.baglanti-kalin:hover{color:var(--vurgu);text-decoration:underline}
.tur-listesi,.soru-baglari,.soru-havuzu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tur-listesi>li,.soru-havuzu>li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;padding:12px 14px;border:1px solid var(--cizgi);border-radius:14px;background:var(--yuzey)}
.tur-listesi>li.pasif,.soru-havuzu>li.pasif,.soru-baglari>li.pasif{opacity:.62}
.tur-ad,.soru-havuzu>li>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.tur-islemler{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.tur-islemler form{display:flex;gap:6px}
.btn-kucuk[disabled]{opacity:.4;cursor:not-allowed}
.soru-baglari>li{padding:12px 14px;border:1px solid var(--cizgi);border-radius:14px;background:var(--yuzey);display:flex;flex-direction:column;gap:10px}
.soru-bas{display:flex;gap:12px;align-items:flex-start;min-width:0}
.soru-bas>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.soru-bas .soluk{font-size:13px;overflow-wrap:anywhere}
.soru-no{flex:none;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--vurgu-yumusak);color:var(--vurgu);font-weight:700;font-size:13px}
.zorunlu-isaret{color:var(--kritik);font-style:normal;font-weight:700}
.kosul-cip{align-self:flex-start;margin-top:2px;padding:2px 10px;border-radius:999px;background:var(--bilgi-z);color:var(--bilgi);font-size:12.5px;font-weight:600}
.soru-ayar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:10px;border-top:1px dashed var(--cizgi)}
.soru-ayar select{min-height:36px;padding:4px 10px;border:1px solid var(--cizgi-alan);border-radius:9px;background:var(--yuzey);color:var(--murekkep);max-width:100%;min-width:0;flex:1 1 220px}
.soru-dugmeler{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
.sablon-secim{display:grid;gap:8px}
.paket-sec{position:relative;display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--cizgi);border-radius:14px;background:var(--yuzey);cursor:pointer}
.paket-sec:has(input:checked){border-color:var(--vurgu);background:var(--vurgu-yumusak)}
.paket-sec input{position:absolute;top:13px;right:14px;width:18px;height:18px;margin:0;accent-color:var(--vurgu)}
.paket-sec b{font-size:14.5px;padding-right:28px}
.paket-sec span{font-size:12.5px;color:var(--soluk)}
.kpt-coklu{flex-wrap:wrap}
@media (max-width:559px){.soru-dugmeler{margin-left:0}}
/* Satilan urunler (25 Eyl 2026): satir satir urun / seri no / adet */
.urun-satirlari{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.urun-satiri{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 84px auto;gap:8px;align-items:center}
.urun-satiri input{width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--cizgi-alan);border-radius:12px;background:var(--yuzey);color:var(--murekkep);font:inherit;min-width:0}
.urun-satiri .urun-sil{min-height:44px;min-width:44px;justify-content:center;font-size:18px}
@media (max-width:640px){.urun-satiri{grid-template-columns:minmax(0,1fr) 84px auto}.urun-satiri input[name=urun_ad]{grid-column:1/-1}}

/* =====================================================================
   TATLI ARAYÜZ (25 Eyl 2026, istek: "daha tatlı, cezbedici, hafif oval kesimler, yazmaya bile heves edilecek")
   Yumusak yuzeyler: buyuk koseler, renkli ve dagitik golgeler, hap (pill) dugmeler, dolgulu alanlar, kucuk hareketler.
   Kontrast kurallari korunur: alan kenari --cizgi-alan (>= 3:1) kalir, yalniz yumusatilir.
   ===================================================================== */
:root{
  --r-kart:28px; --r-alan:16px; --r-hap:999px;
  --zemin-lekeleri:radial-gradient(1100px 620px at 105% -12%, rgba(0,102,224,.11), transparent 62%),
                   radial-gradient(900px 540px at -12% 108%, rgba(124,92,246,.09), transparent 60%),
                   radial-gradient(700px 420px at 50% 120%, rgba(14,138,126,.06), transparent 60%);
  --golge-kart:0 1px 2px rgba(1,30,76,.04), 0 14px 34px -14px rgba(0,102,224,.20);
  --golge-kart-ust:0 2px 4px rgba(1,30,76,.05), 0 22px 44px -16px rgba(0,102,224,.28);
  --alan-dolgu:#F7F9FF;
  --odak-halka:0 0 0 4px rgba(0,102,224,.16);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --zemin-lekeleri:radial-gradient(1100px 620px at 105% -12%, rgba(109,155,255,.10), transparent 62%),
                     radial-gradient(900px 540px at -12% 108%, rgba(160,130,255,.08), transparent 60%);
    --golge-kart:0 1px 2px rgba(0,0,0,.3), 0 16px 36px -18px rgba(0,0,0,.6);
    --golge-kart-ust:0 2px 4px rgba(0,0,0,.35), 0 24px 46px -18px rgba(0,0,0,.7);
    --alan-dolgu:#12203A; --odak-halka:0 0 0 4px rgba(109,155,255,.22);
  }
}
:root[data-theme="dark"]{
  --zemin-lekeleri:radial-gradient(1100px 620px at 105% -12%, rgba(109,155,255,.10), transparent 62%),
                   radial-gradient(900px 540px at -12% 108%, rgba(160,130,255,.08), transparent 60%);
  --golge-kart:0 1px 2px rgba(0,0,0,.3), 0 16px 36px -18px rgba(0,0,0,.6);
  --golge-kart-ust:0 2px 4px rgba(0,0,0,.35), 0 24px 46px -18px rgba(0,0,0,.7);
  --alan-dolgu:#12203A; --odak-halka:0 0 0 4px rgba(109,155,255,.22);
}
body{background:var(--zemin-lekeleri),var(--zemin);background-attachment:fixed}

/* --- kartlar: buyuk yumusak koseler, kenar yerine isik --- */
.panel,.kpt-section{border-radius:var(--r-kart);border-color:color-mix(in srgb,var(--cizgi) 55%,transparent);box-shadow:var(--golge-kart);transition:box-shadow .25s ease}
.panel:hover{box-shadow:var(--golge-kart-ust)}
.kpi,.mini-kpi{border-radius:20px}
.mini-kpi{background:color-mix(in srgb,var(--vurgu-yumusak) 55%,var(--yuzey-2))}
.tek-kart,.giris-kart{border-radius:32px}
.ps-uyari{border-radius:18px}
.ayar-kart,.tur-listesi>li,.soru-havuzu>li,.soru-baglari>li,.ekip-kayitlari>li{border-radius:20px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ayar-kart:hover,.tur-listesi>li:hover,.soru-havuzu>li:hover{transform:translateY(-2px);box-shadow:var(--golge-kart)}

/* --- form alanlari: dolgulu, oval, odakta yumusak isilti --- */
:is(.kpt-row,.alan,.kpt-customer-picker,.kpt-search-form,.urun-satiri) :is(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],input[type=password],input[type=date],select,textarea){
  border-radius:var(--r-alan);background:var(--alan-dolgu);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
:is(.kpt-row,.alan,.kpt-customer-picker,.kpt-search-form,.urun-satiri) :is(input,select,textarea):hover:not(:disabled){border-color:color-mix(in srgb,var(--vurgu) 55%,var(--cizgi-alan))}
:is(.kpt-row,.alan,.kpt-customer-picker,.kpt-search-form,.urun-satiri) :is(input,select,textarea):focus{background:var(--yuzey);border-color:var(--vurgu);box-shadow:var(--odak-halka)}
.kpt-row textarea{border-radius:20px}
.kpt-row{border-bottom-style:dashed;border-bottom-color:color-mix(in srgb,var(--cizgi) 80%,transparent)}
.kpt-row input[type=file]::file-selector-button{border-radius:var(--r-hap);padding-inline:18px}

/* --- Evet/Hayir ve coklu secim: hap dugmeler, secilince dolgu --- */
.kpt-radio label{border-radius:var(--r-hap);padding-inline:18px;background:var(--alan-dolgu);transition:background .18s ease,border-color .18s ease,color .18s ease,transform .12s ease}
.kpt-radio label:hover{border-color:var(--vurgu)}
.kpt-radio label:active{transform:scale(.97)}
.kpt-radio label:has(input:checked){background:var(--vurgu);border-color:var(--vurgu);color:var(--vurgu-ink);box-shadow:0 8px 18px -10px rgba(0,102,224,.8)}
.kpt-radio label:has(input:checked) input{accent-color:#fff}
.kpt-radio label:has(input:focus-visible){box-shadow:var(--odak-halka)}

/* --- dugmeler: hap bicimi, hafif kalkma --- */
.button,.btn-birincil,.btn-kucuk,.ps-buton{border-radius:var(--r-hap);transition:transform .15s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.button,.btn-birincil,.ps-buton{padding-inline:20px}
.button-primary:hover,.btn-birincil:hover{transform:translateY(-1px);box-shadow:0 14px 26px -12px rgba(0,102,224,.9),inset 0 1px 0 rgba(255,255,255,.2)}
.button:active,.btn-birincil:active,.btn-kucuk:active{transform:translateY(0) scale(.98)}
.btn-kucuk{background:var(--alan-dolgu)}
.btn-kucuk:hover{border-color:var(--vurgu);color:var(--vurgu);background:var(--vurgu-yumusak)}
.arama{border-radius:var(--r-hap);background:var(--alan-dolgu);transition:box-shadow .18s ease,border-color .18s ease}
.arama:focus-within{border-color:var(--vurgu);box-shadow:var(--odak-halka);background:var(--yuzey)}
.abonelik-dugme{border-radius:var(--r-hap)}
.durum-cip{padding-inline:10px;padding-block:3px}

/* --- yan menu: kenardan ayrik, oval, yuzen panel --- */
@media (min-width:960px){
  .duzen{grid-template-columns:270px minmax(0,1fr)}
  .yan{margin:12px 0 12px 12px;top:12px;height:calc(100vh - 24px);border-radius:30px;box-shadow:0 26px 50px -24px rgba(1,30,76,.55)}
}
.yan .menu-oge,.yan .modul-oge{border-radius:16px;transition:background .18s ease,color .18s ease,transform .12s ease}
.yan .menu-oge:hover{transform:translateX(2px)}
.yan .basvuru-karti{border-radius:18px}

/* --- telefon: alt menu yuzen hap --- */
@media (max-width:959px){
  .alt-menu{inset-inline:10px;bottom:10px;border-radius:24px;border:1px solid color-mix(in srgb,var(--cizgi) 60%,transparent);box-shadow:0 18px 40px -18px rgba(1,30,76,.45);padding-block:8px;background:color-mix(in srgb,var(--yuzey) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
  .ana{padding-bottom:110px}
}

/* --- kayan bildirim kutulari --- */
.kutu{border-radius:20px}

@media (prefers-reduced-motion:reduce){
  .panel,.ayar-kart,.tur-listesi>li,.soru-havuzu>li,.kpt-radio label,.button,.btn-birincil,.btn-kucuk,.yan .menu-oge{transition:none}
  .ayar-kart:hover,.tur-listesi>li:hover,.soru-havuzu>li:hover,.button-primary:hover,.btn-birincil:hover,.yan .menu-oge:hover{transform:none}
}

/* =====================================================================
   YAN MENU — ACIK KART (25 Eyl 2026, istek: "sol bar tasarimini begenmedim, sag kisimdaki bolumler harika")
   Sagdaki kartlarla ayni dil: beyaz/yuzey zemin, oval kose, yumusak renkli golge; secili oge yumusak mavi hap.
   Onceki lacivert kurallari ezer (ayni ozgulluk, daha sonra gelir).
   ===================================================================== */
.yan{background:var(--yuzey);color:var(--murekkep);border:1px solid color-mix(in srgb,var(--cizgi) 55%,transparent);box-shadow:var(--golge-kart);
  scrollbar-color:color-mix(in srgb,var(--cizgi-alan) 50%,transparent) transparent}
.yan .firma-adi{color:var(--soluk-2)}
.yan .menu-oge,.yan .modul-oge{color:var(--soluk)}
.yan .menu-oge .ikon,.yan .modul-oge .ikon{color:var(--soluk-2);transition:color .18s ease}
.yan .menu-oge:hover,.yan .modul-oge:hover{background:var(--vurgu-yumusak);color:var(--vurgu)}
.yan .menu-oge:hover .ikon,.yan .modul-oge:hover .ikon{color:var(--vurgu)}
.yan .menu-oge.aktif{background:var(--vurgu-yumusak);color:var(--vurgu);font-weight:700;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vurgu) 22%,transparent)}
.yan .menu-oge.aktif .ikon{color:var(--vurgu)}
.yan .modul-oge{color:var(--murekkep)}
.yan .modul-oge.aktif{background:transparent;color:var(--murekkep);box-shadow:none}
.yan .modul-oge.aktif .ikon{color:var(--vurgu)}
.yan .modul-alt{border-left-color:color-mix(in srgb,var(--vurgu) 25%,var(--cizgi))}
.yan :is(.menu-oge,.modul-oge).pasif,.yan :is(.menu-oge,.modul-oge).pasif:hover{background:none;color:var(--soluk-2);opacity:.7}
.yan .yan-alt{border-top:1px dashed color-mix(in srgb,var(--cizgi) 90%,transparent)}
.yan .cip{background:var(--vurgu-yumusak);border-color:transparent;color:var(--vurgu)}
.yan .rozet,.yan .modul-oge small{color:var(--soluk-2)}
.yan .basvuru-karti{background:linear-gradient(135deg,var(--vurgu-yumusak),color-mix(in srgb,var(--kart-lila) 70%,var(--yuzey)));border-color:transparent;color:var(--murekkep)}
.yan .basvuru-karti small{color:var(--soluk)}
.yan .basvuru-karti .ikon{color:var(--vurgu)}
.yan .basvuru-karti:hover{border-color:var(--vurgu)}
.yan .menu-ipucu{color:var(--soluk-2)}
.yan .modul-menusu summary.modul-oge:focus-visible,.yan .menu-oge:focus-visible{outline:2px solid var(--vurgu);outline-offset:2px}
@media (min-width:960px){.yan{box-shadow:var(--golge-kart)}}
/* Yan menu (25 Eyl 2026, 2. geri bildirim): "mavi bar boydan boya almasin, koseler bir tik sertlessin".
   Windows Chrome'da kaydirma cubugunun boyu icerige gore; menu az tastigi icin cubuk boydan boya uzuyordu.
   Cozum: menu sikilastirildi (cogu ekranda kaydirma gerekmez) ve cubuk gizlendi (tasarsa fare tekeri / dokunmayla kayar). */
.yan{scrollbar-width:none;padding-block:18px 14px;gap:2px}
.yan::-webkit-scrollbar{display:none}
.yan .marka{margin-bottom:14px}
.yan .firma-adi{margin-bottom:8px}
.yan .menu-oge{padding-block:8px}
.yan .modul-oge{padding-block:8px}
.yan .modul-alt{gap:0;margin-bottom:4px}
.yan .modul-alt .menu-oge{padding-block:6px}
.yan .yan-alt{padding-top:10px;gap:0}
@media (min-width:960px){.yan{border-radius:20px}}
.yan .menu-oge,.yan .modul-oge{border-radius:12px}
.yan .basvuru-karti{border-radius:14px}
/* Kartlar (26 Eyl 2026): yan menu gibi "bir tik sert" — kart 28→20, ic kartlar/listeler 20→14. Alanlar ve hap dugmeler degismedi. */
:root{--r-kart:20px}
.kpi,.mini-kpi{border-radius:14px}
.ayar-kart,.tur-listesi>li,.soru-havuzu>li,.soru-baglari>li,.ekip-kayitlari>li{border-radius:14px}
.ps-uyari{border-radius:14px}

/* Verilerimi İndir (26 Eyl 2026) */
.paket-icerik{margin:4px 0 8px;padding-left:20px;display:grid;gap:6px;font-size:14px;color:var(--murekkep);line-height:1.5}
.paket-icerik li::marker{color:var(--vurgu)}
.indir-form{margin-bottom:14px}

/* ---------------- MUHASEBE (26 Eyl 2026) ---------------- */
.hizli-islemler{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.kpi .hizli-islemler{margin:6px 0 0}
.tablo td.sag,.tablo th.sag{text-align:right}
.tablo .sayi{font-variant-numeric:tabular-nums;white-space:nowrap}
.tablo tr.iptal-satir td{color:var(--soluk);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--soluk) 50%,transparent)}
.tablo tr.devir td{background:var(--yuzey-2);font-weight:700}
.tablo.ekstre tfoot th{border-top:2px solid var(--cizgi)}
.bakiye-borc{color:var(--kritik);font-weight:700}
.bakiye-alacak{color:var(--tahsil,#047857);font-weight:700}
.kucuk{font-size:13px}
.tablo-kaydir{overflow-x:auto;-webkit-overflow-scrolling:touch}
.alan-yan{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.alan-yan>input{flex:1 1 10rem;min-width:0}
.alan-yan>.description{flex-basis:100%;margin:0}
.fatura-baslik{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(6.5rem,.8fr) minmax(9.5rem,1fr) minmax(9.5rem,1fr) minmax(8.5rem,.9fr) minmax(6.5rem,.8fr) minmax(8rem,1fr);gap:12px;margin-bottom:14px}
.fatura-baslik label,.fatura-alt label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px;color:var(--soluk)}
.kalem-tablo input,.kalem-tablo select{width:100%;min-width:0}
.kalem-tablo td:first-child{min-width:14rem}
.kalem-tablo td:nth-child(2){min-width:11rem}
.kalem-tablo input.dar{max-width:6rem}
.kalem-tablo td{vertical-align:middle}
.fatura-alt{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:start;margin-top:12px}
.fatura-toplam{display:grid;grid-template-columns:1fr auto;gap:6px 16px;margin:0;padding:14px 16px;border-radius:14px;background:var(--yuzey-2);font-variant-numeric:tabular-nums}
.fatura-toplam dt{color:var(--soluk)}
.fatura-toplam dd{margin:0;text-align:right;font-weight:600}
.fatura-toplam .genel{font-size:17px;font-weight:800;color:var(--murekkep);border-top:1px solid var(--cizgi);padding-top:8px}
.iptal-kutu{display:inline-block}
.iptal-kutu summary{list-style:none;cursor:pointer}
.iptal-kutu summary::-webkit-details-marker{display:none}
.iptal-kutu form{display:flex;gap:8px;margin-top:8px}
.kpt-actions form{display:inline}
.kategori-listesi{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px}
.kategori-listesi li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;border-radius:10px;background:var(--yuzey-2)}
.kategori-listesi li.pasif span{color:var(--soluk);text-decoration:line-through}
@media (max-width:759px){
  .fatura-baslik,.fatura-alt{grid-template-columns:minmax(0,1fr)}
}
@media print{.yan,.ust-mobil,.hizli-islemler,.filtre-satiri,.kpt-actions,.sohbet,.ps-uyari{display:none!important}}
/* fatura formu: baslik alanlari ve satir kutulari (satirda kompakt) */
.fatura-form :is(input[type=text],input[type=date],select,textarea){width:100%;min-height:42px;padding:8px 12px;border:1px solid var(--cizgi-alan);border-radius:11px;background:var(--yuzey);color:var(--murekkep);font-size:14.5px}
.kalem-tablo :is(input[type=text],select){min-height:38px;padding:6px 10px;border-radius:9px}
.fatura-form :is(input,select,textarea):focus{outline:2px solid color-mix(in srgb,var(--vurgu) 45%,transparent);outline-offset:1px;border-color:var(--vurgu)}
.basvuru-karti-satir{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:var(--vurgu-yumusak)}
.basvuru-karti-satir p{margin:0;flex:1 1 20rem}
.iptal-kutu input[type=text]{min-height:40px;padding:8px 12px;border:1px solid var(--cizgi-alan);border-radius:11px;background:var(--yuzey);color:var(--murekkep);font-size:14px;min-width:14rem}

/* --- secim kutulari ve acilir liste (26 Eyl 2026, static/js/secim.js) ---
   Emre: tarayicinin oku "cok sagda, dip dibe", liste "kare, dar, mouse ile zor seciliyor", "ana menu sekliyle uyumlu olmali".
   Ok: yumusak mavi daire icinde ince ok, kenardan ve yazidan boslukla; liste acikken yukari doner.
   Liste: sol menu gibi 12px koseli ogeler, ustune gelince/secili acik mavi zemin + mavi yazi; oge en az 40px (rahat tiklanir).
   "html body" onculu: sayfalardaki "background:" kisaltmalari oku silmesin. */
:root{
  --secim-ok:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23E4EFFF'/%3E%3Cpath d='M8 10.5l4 4 4-4' fill='none' stroke='%230066E0' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --secim-ok-acik:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%230066E0'/%3E%3Cpath d='M8 13.5l4-4 4 4' fill='none' stroke='%23FFFFFF' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --secim-ok:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23152A50'/%3E%3Cpath d='M8 10.5l4 4 4-4' fill='none' stroke='%234DA8FF' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    --secim-ok-acik:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%234DA8FF'/%3E%3Cpath d='M8 13.5l4-4 4 4' fill='none' stroke='%23061229' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
}
:root[data-theme="dark"]{
  --secim-ok:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23152A50'/%3E%3Cpath d='M8 10.5l4 4 4-4' fill='none' stroke='%234DA8FF' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --secim-ok-acik:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%234DA8FF'/%3E%3Cpath d='M8 13.5l4-4 4 4' fill='none' stroke='%23061229' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
html body select:not([multiple]):not([size]){
  -webkit-appearance:none;appearance:none;background-image:var(--secim-ok);background-repeat:no-repeat;
  background-position:right 10px center;background-size:22px 22px;padding-right:42px;cursor:pointer;text-overflow:ellipsis}
html body select:not([multiple]):not([size]).secim-acik{background-image:var(--secim-ok-acik)}
html body select:not([multiple]):not([size]):disabled{cursor:not-allowed;background-image:none;padding-right:14px}
html body select:not([multiple]):not([size])::-ms-expand{display:none}
/* dar tablo hucrelerinde (fatura kalemi KDV) ok biraz kucuk */
html body .kalem-tablo select:not([multiple]):not([size]){background-size:16px 16px;background-position:right 6px center;padding-left:8px;padding-right:26px}

.secim-liste{position:fixed;z-index:1000;display:flex;flex-direction:column;max-width:min(440px,calc(100vw - 16px));padding:6px;
  border:1px solid color-mix(in srgb,var(--cizgi) 70%,transparent);border-radius:18px;background:var(--yuzey);color:var(--murekkep);
  box-shadow:var(--golge-buyuk),0 2px 6px rgba(1,30,76,.06);font-family:var(--f-govde);
  opacity:0;transform:translateY(-4px) scale(.98);transform-origin:top center;transition:opacity .14s ease,transform .14s ease}
.secim-liste.yukari{transform-origin:bottom center;transform:translateY(4px) scale(.98)}
.secim-liste.gorunur{opacity:1;transform:none}
.secim-ogeler{overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:2px;min-height:0}
.secim-oge{position:relative;display:flex;align-items:center;min-height:40px;padding:9px 38px 9px 12px;border-radius:12px;
  font-size:14.5px;line-height:1.3;color:var(--murekkep);cursor:pointer;user-select:none;overflow-wrap:anywhere}
.secim-oge.bos-secenek{color:var(--soluk)}
.secim-oge.etkin{background:var(--vurgu-yumusak);color:var(--vurgu)}
.secim-oge.secili{background:var(--vurgu-yumusak);color:var(--vurgu);font-weight:700;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vurgu) 22%,transparent)}
.secim-oge.secili::after{content:"";position:absolute;right:15px;top:50%;width:5px;height:10px;margin-top:-7px;border:solid currentColor;
  border-width:0 2px 2px 0;transform:rotate(45deg)}
.secim-oge.kapali{color:var(--soluk-2);opacity:.6;cursor:not-allowed;background:none}
.secim-grup{padding:10px 12px 4px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--soluk)}
.secim-arama{flex:none;width:100%;min-height:40px;margin:0 0 6px;padding:8px 14px;border:1px solid var(--cizgi-alan);border-radius:12px;
  background:var(--alan-dolgu);color:var(--murekkep);font-size:14.5px}
.secim-arama:focus{outline:none;border-color:var(--vurgu);box-shadow:var(--odak-halka);background:var(--yuzey)}
.secim-bos{padding:12px;color:var(--soluk);font-size:14px;text-align:center}
@media (prefers-reduced-motion: reduce){.secim-liste{transition:none;transform:none}}
/* filtre formundaki Suz/Ara dugmesi yanindaki kutularla ayni boyda (Emre: "cok dar, mouse ile zor seciliyor") */
:is(.filtre-satiri,.kpt-search-form) .btn-kucuk{min-height:44px;padding-inline:22px;font-size:14px}
.kalem-tablo select{min-width:5.2rem} /* KDV "%20" + ok sigsin (tablo zaten yatay kayar) */
.kalem-tablo input[name=kalem_birim]{min-width:4.8rem}
/* yalniz gosterilen alan (Proje No otomatik modda, 26 Eyl 2026): etiket <label> gibi, deger kutusuz */
.kpt-row>.kpt-etiket{font-weight:600;font-size:14px;color:var(--soluk);line-height:1.35;padding-top:12px}
.proje-no-otomatik{margin:0;padding-top:11px;font-size:15px;color:var(--murekkep)}
.proje-no-otomatik .description{margin-left:8px}
@media (max-width:699px){.kpt-row>.kpt-etiket{padding-top:0}.proje-no-otomatik{padding-top:0}}
/* dugmelerde el isareti (26 Eyl 2026, Emre: "ustune gelince tikla isareti cikmiyor" -- Suz/Ara btn-kucuk'ta tanimli degildi) */
button:not(:disabled),.btn-kucuk,.button,.ps-buton,.btn-birincil,input[type=submit],input[type=button],summary{cursor:pointer}
/* 26 Eyl 2026 (Emre: "projeye tiklayinca firma adi kayboluyor"): .yan esnek sutun + sabit yukseklik; modul acilip menu uzayinca
   tarayici ogeleri sikistiriyordu, overflow:hidden olan firma adi 0 yukseklige iniyordu. Menu ogeleri sikismaz, menu kayar. */
.yan>*{flex-shrink:0}
/* muhasebe raporlari (26 Eyl 2026) */
.rapor-sekmeleri{margin-bottom:14px}
.rapor-donem input[type=date]{max-width:170px}
.rapor-tablo td.gecikmis{color:var(--kritik);font-weight:600}
.rapor-tablo tfoot th{border-top:2px solid var(--cizgi)}
.kz-tablo td.girinti{padding-left:28px;color:var(--soluk)}
.kz-tablo tr.ara th{border-top:1px solid var(--cizgi);font-weight:700}
.hizli-islemler .btn-kucuk.aktif{background:var(--vurgu-yumusak);color:var(--vurgu);border-color:color-mix(in srgb,var(--vurgu) 30%,transparent)}
@media print{.rapor-sekmeleri,.rapor-donem,.hizli-islemler{display:none!important}}
.rapor-tablo :is(tbody,tfoot) th{text-transform:none;letter-spacing:0;font-size:14.5px;font-weight:700;color:var(--murekkep)}
.kz-tablo tfoot th{font-size:16px}
/* cek / senet (26 Eyl 2026) */
.gecikmis-yazi{color:var(--kritik);font-weight:700}
.kpi-deger.kucuk-deger{font-size:18px;line-height:1.3}
.cek-dugmeler{flex-wrap:wrap;gap:8px}
.cek-gecmis{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cek-gecmis li{padding-left:14px;border-left:3px solid var(--vurgu-yumusak)}
/* WEB SİTESİ tema secimi (26 Eyl 2026) */
.tema-kartlari{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:20px}
.tema-karti{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r-kart,24px);background:var(--yuzey);border:1px solid color-mix(in srgb,var(--cizgi) 55%,transparent);box-shadow:var(--golge-kart,var(--golge))}
.tema-karti.secili{outline:3px solid var(--vurgu);outline-offset:-3px}
.tema-resim{display:block;aspect-ratio:16/10;background:var(--yuzey-2);overflow:hidden}
.tema-resim img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .3s}
.tema-resim:hover img{transform:scale(1.03)}
.tema-govde{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1}
.tema-govde h2{display:flex;align-items:center;gap:8px;font-size:19px;margin:0}
.tema-govde p{margin:0;color:var(--soluk);font-size:14px;flex:1}

/* 26 Eyl 2026 gece: iOS Safari 16 px altindaki alana dokununca sayfayi buyutur ve geri kucultmez (canli sohbet tasiyor gibi
   gorunuyordu). Dokunmatik ekranda butun alanlar 16 px; !important: alan kurallarinin secicileri daha ozgul. Masaustu degismez. */
@media (pointer:coarse){input,select,textarea{font-size:16px!important}}
/* Dovizli fatura (26 Eyl 2026 gece): baslikta Para Birimi + Kur. Kur alani TL'de gizli; yeri bos kalir, digerleri kaymaz. */
@media (min-width:760px) and (max-width:1279px){.fatura-baslik{grid-template-columns:repeat(4,minmax(0,1fr))}.fatura-baslik .genis{grid-column:span 2}}
.fatura-baslik .kur-alani small{font-weight:400;font-size:12px;white-space:nowrap}
.fatura-toplam .tl-karsilik{color:var(--soluk);font-weight:600}
.doviz-notu{font-size:13px;color:var(--soluk)}
/* Stok (26 Eyl 2026 gece): kritik seviyedeki stok; fatura satirinda kart secimi + hizli kart penceresi */
.c-uyari-yazi{color:var(--uyari);font-weight:700}
.kalem-tablo td.kart-hucre{min-width:16rem}
.kalem-tablo .kart-yan{display:flex;gap:6px;align-items:center}
.kalem-tablo .kart-yan select{flex:1 1 auto}
.kalem-tablo .kalem-not{margin-top:4px;font-size:13px}
.hizli-kart{border:0;border-radius:18px;padding:0;max-width:min(520px,calc(100vw - 32px));width:100%;background:var(--yuzey);color:var(--murekkep);box-shadow:0 30px 60px -24px rgba(1,30,76,.45)}
.hizli-kart::backdrop{background:rgba(1,30,76,.35)}
.hizli-kart form{display:grid;gap:12px;padding:20px}
.hizli-kart h2{margin:0;font-size:18px}
.hizli-kart label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px;color:var(--soluk)}
.hizli-kart .yan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hizli-kart .hata{color:var(--kritik);font-size:13px;font-weight:600;margin:0}
.kalem-tablo select.birim-sec{min-width:8.5rem}
/* Kalem tablosu SABIT sutunlu (26 Eyl 2026 gece, Emre: "stok seçince, adet ya da fiyat girince ekran sürekli sola sağa küçülüp büyüyor"):
   otomatik tablo duzeni her yazilan rakamda sutunlari yeniden olcuyordu. Genislik degismez; dar ekranda tablo yatay kayar. */
.kalem-tablo{table-layout:fixed;width:100%;min-width:940px}
.kalem-tablo col.k-kart{width:33%}.kalem-tablo col.k-miktar{width:8%}.kalem-tablo col.k-birim{width:11%}
.kalem-tablo col.k-fiyat{width:14%}.kalem-tablo col.k-isk{width:7%}.kalem-tablo col.k-kdv{width:9%}.kalem-tablo col.k-toplam{width:14%}.kalem-tablo col.k-sil{width:44px}
.kalem-tablo .kalem-not{margin-top:6px}
.kalem-tablo .not-ekle{margin-top:4px;font-size:12.5px;font-weight:600;color:var(--vurgu);background:none;border:0;padding:0;cursor:pointer}
.kalem-tablo td,.kalem-tablo th{min-width:0!important}
.kalem-tablo :is(input,select){min-width:0!important;max-width:none}
.kalem-tablo .satir-toplam{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tablo td a.baglanti-kalin{overflow-wrap:anywhere}
.kalem-tablo thead th{white-space:normal;line-height:1.25;vertical-align:bottom}
/* Fatura / teklif basligi iki satir (26 Eyl 2026 gece): 8 alan tek satira sigmiyordu (Tür ve Cari sikisiyordu).
   Ust: Tür, Cari (2 genislik), KDV, Tarih · alt: Vade, Fiyatlar, Para Birimi, Kur. Kur TL'de gizli: yeri bos kalir, digerleri kaymaz. */
@media (min-width:760px){.fatura-baslik{grid-template-columns:repeat(5,minmax(0,1fr))}.fatura-baslik .genis{grid-column:span 2}}
/* Kalem satiri hizasi (26 Eyl 2026 gece, Emre: "stok karti bolumu ve not ekle kismi kaymis gibi"): not acik satir uzuyordu, ortalanan
   diger kutular asagi kayiyordu. Butun hucreler USTE hizali; toplam ve sil dugmesi ilk kutu hizasinda. */
.kalem-tablo tbody td{vertical-align:top}
.kalem-tablo tbody td.satir-toplam{padding-top:18px}
.kalem-tablo .kalem-not{display:flex;gap:6px;align-items:center}
.kalem-tablo .kalem-not input{flex:1 1 auto}
.kalem-tablo .not-kapat{flex:none}
/* e-Belge / vergi satiri ve Ek Bilgiler (26 Eyl 2026 gece) */
.fatura-ek{margin:0 0 14px;border:1px solid var(--cizgi);border-radius:14px;padding:10px 14px}
.fatura-ek summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--murekkep)}
.fatura-ek[open] summary{margin-bottom:10px}
.fatura-ek .fatura-baslik{margin-bottom:0}
/* Menude acilir alt grup (Faturalar, 26 Eyl 2026 gece) */
.alt-grup>summary{list-style:none;cursor:pointer}
.alt-grup>summary::-webkit-details-marker{display:none}
.alt-grup>summary::after{content:"";margin-left:auto;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);opacity:.5;transition:transform .15s}
.alt-grup[open]>summary::after{transform:rotate(45deg)}
.menu-oge.alt-oge{padding-left:40px;font-size:13.5px;min-height:34px}
.menu-oge.alt-oge .cip{margin-left:auto;font-size:10.5px}
.menu-oge.alt-oge{white-space:nowrap}.menu-oge.alt-oge .cip{font-size:9.5px;padding:1px 6px;letter-spacing:0}
/* XML'den fatura (27 Eyl 2026) */
.xml-yukle{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:4px 0 12px}
.xml-yukle label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px;color:var(--soluk)}
/* Mobil logo buyutme (27 Eyl 2026, Emre sorusu; "onerilerine gore yap"): uygulama ust bandi 36->42 px (400 px alti 30->36).
   Tasma korumasi (26 Eyl'deki "sayfa saga tasiyor" dersi): marka kutusu daralabilir, logo en/boy oranini koruyarak kuculur. */
@media (max-width:799px){
  .ust-mobil .marka{min-width:0;flex:0 1 auto}
  .ust-mobil .logo{min-width:0}
  .ust-mobil .logo img{height:42px;max-width:100%;object-fit:contain;object-position:left center}
}
@media (max-width:399px){.ust-mobil .logo img{height:36px}}
/* Firma bilgisi eksik uyarisi (27 Eyl 2026): uyelik uyarisiyla ayni kalip, mavi (bilgi) tonunda */
.uyelik-uyari.firma-eksik{border-color:color-mix(in srgb,var(--marka-kobalt,#0066E0) 40%,transparent);background:color-mix(in srgb,var(--marka-kobalt,#0066E0) 8%,var(--yuzey))}
.uyelik-uyari.firma-eksik>.ikon{color:var(--marka-kobalt,#0066E0)}

/* Pasif Olanlar (27 Eyl 2026): is turleri, sorular, ekipler, satis temsilcileri -- pasifler katlanir bolumde */
.pasif-bolumu{margin-top:14px;border-top:1px solid var(--cizgi);padding-top:10px}
.pasif-bolumu>summary{cursor:pointer;font-weight:600;color:var(--soluk);padding:6px 0;list-style-position:inside}
.pasif-bolumu[open]>summary{margin-bottom:8px}
.tur-gecis{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:-4px 0 14px}
/* Aboneliklerim: satin alma (27 Eyl 2026) */
.satinal-formu .secim-grubu{border:0;padding:0;margin:0 0 14px;display:grid;gap:8px}
.satinal-formu legend{font-weight:700;margin-bottom:6px}
.odeme-tablo{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 10px}
.odeme-tablo dt{color:var(--soluk)}.odeme-tablo dd{margin:0;word-break:break-all}
/* "Ben robot degilim" kutusu (27 Eyl 2026, panel/_altcha.html): giris alanlariyla ayni genislik ve kose */
.altcha-kap{margin:4px 0 10px}
.altcha-kap altcha-widget{display:block;--altcha-max-width:100%;--altcha-border-radius:12px}

/* ---------- Telefon kabugu (28 Eyl 2026) ----------
   Cekmece: 800 px altinda sol menu (aside#yan-menu) alt menudeki "Menü" ile soldan acilir (static/js/yan_menu_ac.js).
   Icerik kaymaz: cekmece ve perde sabit konumlu, sayfa kaydirmasi acikken kilitli. */
.yan-perde{position:fixed;inset:0;z-index:44;background:rgba(6,14,32,.45)}
html.yan-acik,html.yan-acik body{overflow:hidden}
html.yan-acik .sohbet{visibility:hidden}
@media (max-width:799px){
  .yan.acik{display:flex;position:fixed;inset-block:0;inset-inline-start:0;width:min(86vw,320px);height:100dvh;z-index:45;overflow-y:auto;overscroll-behavior:contain;border-right:0;box-shadow:0 24px 60px -12px rgba(1,30,76,.45)}
  /* Bantlar: Aboneliklerim ust cubukta ikon olarak var, baslikta ikinci kez cikmaz; firma eksik bandi yalniz baslik + dugme */
  .ust .abonelik-dugme{display:none}
  .firma-eksik .masaustu-metin{display:none}
  .uyelik-uyari.firma-eksik{padding:10px 14px;gap:8px 12px}
  .uyelik-uyari.firma-eksik>div{flex:1 1 auto}
  /* Uzun proje sayfasi: "Projeyi Güncelle" alt menunun ustunde yapiskan (yalniz proje formu; tahsilat/ek islem formlari degil) */
  .kpt-form:has(#kpt-dependent-form)>.kpt-actions{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));z-index:25;margin-inline:-4px;padding:10px 12px;border-radius:16px;background:var(--yuzey);border:1px solid var(--cizgi);box-shadow:0 -10px 24px -16px rgba(1,30,76,.35)}
  /* Canli destek balonu yapiskan kaydet cubugunun dugmelerini ortmesin: proje formunda cubugun ustune alinir */
  body:has(#kpt-dependent-form) .sohbet[data-tur="musteri"]:not(.acik){bottom:calc(max(16px,env(safe-area-inset-bottom)) + 140px)}
}
@media (max-width:559px){
  .kpiler-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .kpiler-4 .kpi{padding:12px;gap:6px}
  .kpiler-4 .kpi-ikon{display:none}
  .kpiler-4 .kpi-deger{font-size:18px;white-space:normal;overflow-wrap:anywhere}
}
/* "+ Ek İşlem Ekle" / "+ Tahsilat Ekle" (28 Eyl 2026): form katlanir; hatali gonderimde acik gelir. Acilinca ustteki basliklar kaymaz. */
.ekle-acilir{margin:0}
.ekle-acilir>summary{list-style:none;width:max-content;max-width:100%}
.ekle-acilir>summary::-webkit-details-marker{display:none}
.ekle-acilir[open]>summary{margin-bottom:12px}
.ekip-baglanti{color:inherit;text-decoration:none}
.ekip-baglanti:hover{color:var(--lacivert);text-decoration:underline}
/* Projeler Ekip / Satis Temsilcisi suzgeci (28 Eyl 2026, birlestirme): ortak form kurali select'e width:100% verir,
   flex satirda her kutu ayri satira dusuyordu. Genis ekranda tek satir; dar ekranda kutular tam genislik. */
form.kpt-search-form.proje-suzgec select{width:auto;flex:0 1 220px;min-width:0}
@media (max-width:560px){form.kpt-search-form.proje-suzgec select{flex:1 1 100%}}
/* Randevu doluluk satiri (28 Eyl 2026): metin gelince alttaki alanlar itilmesin (zıplama kuralı). Dar telefonda metin 2 satıra kırılabilir. */
.randevu-doluluk{min-height:1.6em;margin:6px 0 0}
@media (max-width:560px){.randevu-doluluk{min-height:3.2em}}
.kpt-eski-cevap-listesi{margin:0 0 6px;padding-left:18px;color:var(--soluk);font-size:14px}
/* 28 Eyl 2026 (Madde 90, 91, 93): proje belgeleri, Tahsilatlar ve Bakımı Yaklaşan listeleri */
.belge-listesi{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}
.belge-satiri{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 12px;border-radius:14px;background:var(--yuzey-2)}
.belge-satiri .belge-ad{overflow-wrap:anywhere}
.belge-islemler{display:inline-flex;gap:8px;align-items:center;margin-left:auto}
form.kpt-search-form.proje-suzgec input[type=date]{width:auto;flex:0 1 170px;min-width:0}
@media (max-width:560px){form.kpt-search-form.proje-suzgec input[type=date]{flex:1 1 100%}}
.tablo .toplam-satir th,.tablo .toplam-satir td{font-weight:700;border-top:2px solid var(--cizgi)}
.bakim-liste .islem{white-space:nowrap}
.bakim-liste .islem form{display:inline}
@media (max-width:560px){.bakim-liste .islem{white-space:normal}}
/* Paket kullanimi (28 Eyl 2026, Aboneliklerim): depolama / musteri / aylik proje doluluk cubugu. %80'de sari, dolunca kirmizi.
   Genislik sunucudan gelen yuzde ile (inline style yerine data-yuzde yok: CSP style-src icin <progress> kullanilir). */
.kullanim-liste{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.kullanim-liste li{display:grid;gap:4px}
.kullanim-bas{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.kullanim-cubuk{width:100%;height:12px;border:0;border-radius:6px;overflow:hidden;background:var(--yuzey-2);appearance:none;-webkit-appearance:none}
.kullanim-cubuk::-webkit-progress-bar{background:var(--yuzey-2);border-radius:6px}
.kullanim-cubuk::-webkit-progress-value{background:var(--tamam);border-radius:6px}
.kullanim-cubuk::-moz-progress-bar{background:var(--tamam);border-radius:6px}
.kullanim-cubuk.k-uyari::-webkit-progress-value{background:var(--plan)}
.kullanim-cubuk.k-uyari::-moz-progress-bar{background:var(--plan)}
.kullanim-cubuk.k-dolu::-webkit-progress-value{background:var(--kritik)}
.kullanim-cubuk.k-dolu::-moz-progress-bar{background:var(--kritik)}
