/* KOZA ERP 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}}
.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,.koza-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,.koza-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}
.koza-uyari{margin:0;padding:12px 16px;border-radius:14px;background:var(--bilgi-z);color:var(--bilgi);font-size:14px}
.koza-uyari-hata{background:var(--kritik-z);color:var(--kritik)}
.koza-uyari-basari{background:var(--tamam-z);color:var(--tamam)}
.koza-uyari-salt{background:var(--uyari-z);color:var(--uyari)}
.koza-uyari-montaj{border:1px solid var(--uyari);font-size:15px;display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline}
.koza-uyari-montaj span{font-size:13px;opacity:.85}
.koza-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}
.satir-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr);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}
.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 (Emre, 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 (Emre, 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}
/* 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 -- Emre 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 (Emre, 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}
.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 (Emre, 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}
.kpt-row input[type=file]{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-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}
.koza-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 (KOZA 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){
  .satir-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dikkat{grid-column:span 2}
  .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)}
  .dikkat{grid-column:auto}
  .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 musteri" "tur ekip" "tutar tarih";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} .projeler td.tarih-h{grid-area:tarih;justify-self:end;font-size:13px}
  .projeler td.islem,.projeler td.masaustu{display:none}
  .projeler-tam tbody tr{grid-template-areas:"no durum" "musteri musteri" "tur ekip" "tutar tarih" "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}
  .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}
.koza-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}

/* ---------- KOZA TEKLIF: 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 KOZA 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}

/* ---------- KOZA TEKLIF: 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}

/* ---------- KOZA TEKLIF: 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}
.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}

/* ---------- KOZA 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}}

/* ---------- KOZA 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))}

/* ---------- KOZA 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 (Emre, 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 (Emre, 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 (KOZA 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 (Emre, 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 (Emre, 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 (Emre, 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 (Emre, 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 (Emre, 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-saat small{display:block;margin-top:2px;font-size:12px;font-weight:500;color:var(--soluk)}
.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-adet{margin:8px 0 0;font-size:12.5px;font-weight:600;color:var(--soluk)}
.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}
}
}
/* Alan bazli form hatasi (Emre, 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 */
.koza-uyari.soluyor{opacity:0;transition:opacity .4s ease}
@media (prefers-reduced-motion:reduce){.koza-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 (Emre, 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 (Emre, 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)}

/* Gecikme isareti: liste sutununu sismesin diye yazi yerine kucuk kirmizi nokta
   (Emre, 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 (Emre, 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 (Emre, 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}}
