/* İzonom 62305 — arayüz. Renkler İzonom marka paletinden. */
:root {
  --birincil: #00BCD4;
  --birincil-koyu: #007A8F;
  --birincil-derin: #00606F;
  --gece: #0B1E2D;
  --arduvaz: #2C3E50;
  --soluk: #6B7D89;
  --zemin: #F5F9FB;
  --kart: #FFFFFF;
  --cizgi: #DDE6EB;
  --ok: #1B7F4B;
  --ok-zemin: #E7F6EE;
  --hata: #B3261E;
  --hata-zemin: #FCECEA;
  --uyari: #8A5A00;
  --uyari-zemin: #FFF4D6;
  --bilgi-zemin: #E3F6FA;
  --yaricap: 10px;
  --golge: 0 1px 2px rgba(11, 30, 45, .05), 0 6px 20px rgba(11, 30, 45, .05);
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  color: var(--arduvaz);
  background: var(--zemin);
}

a { color: var(--birincil-koyu); text-decoration: none; }
a:hover { text-decoration: underline; }

h1 { font-size: 1.5rem; margin: 0; color: var(--gece); letter-spacing: -.01em; }
h2 { font-size: 1.05rem; margin: 0 0 .75rem; color: var(--gece); }
p { margin: 0 0 .75rem; }
.soluk { color: var(--soluk); }
code { background: var(--zemin); padding: .15rem .4rem; border-radius: 4px; font-size: 1rem; }

/* ---- Kabuk ---- */
.kabuk { display: flex; min-height: 100vh; }

.yan {
  width: 250px;
  flex-shrink: 0;
  background: var(--gece);
  color: #C7D5DD;
  padding: 1.25rem 1rem;
}
.marka { display: block; background: #fff; border-radius: var(--yaricap); padding: .6rem .75rem; }
.marka img { display: block; width: 100%; height: auto; }
.urun { margin: 1rem .25rem 1.25rem; font-weight: 600; color: #fff; line-height: 1.3; }
.urun span { font-weight: 400; font-size: .8rem; color: var(--birincil); }

.yan nav a {
  display: block;
  padding: .55rem .75rem;
  border-radius: 8px;
  color: #C7D5DD;
  margin-bottom: 2px;
}
.yan nav a:hover { background: rgba(255, 255, 255, .06); text-decoration: none; color: #fff; }
.yan nav a.aktif { background: rgba(0, 188, 212, .16); color: #fff; box-shadow: inset 3px 0 0 var(--birincil); }
.nav-baslik { margin: 1.1rem .75rem .35rem; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: #7F95A3; }

.govde { flex: 1; min-width: 0; display: flex; flex-direction: column; }

.ust {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: .7rem 1.5rem;
  background: var(--kart);
  border-bottom: 1px solid var(--cizgi);
}
.ust-firma { font-weight: 600; color: var(--gece); flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ust-sag { display: flex; align-items: center; gap: .75rem; }
.ust-kisi { color: var(--arduvaz); white-space: nowrap; }
.menu-dugme { display: none; background: none; border: 1px solid var(--cizgi); border-radius: 8px; font-size: 1.1rem; padding: .25rem .6rem; cursor: pointer; }

.icerik { padding: 1.5rem; max-width: 1180px; width: 100%; }

/* ---- Sayfa parçaları ---- */
.sayfa-bas { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.dugmeler { display: flex; gap: .5rem; flex-wrap: wrap; }
.iz { font-size: .85rem; color: var(--soluk); margin-bottom: .5rem; }

.kart {
  background: var(--kart);
  border: 1px solid var(--cizgi);
  border-radius: var(--yaricap);
  box-shadow: var(--golge);
  padding: 1.25rem;
  margin-bottom: 1rem;
}
.kart-bas { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: .75rem; }
.kart-bas h2 { margin: 0; }

.iki-sutun { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.iki-sutun .kart { margin-bottom: 0; }
.iki-sutun { margin-bottom: 1rem; }

.kutular { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.kutu {
  background: var(--kart);
  border: 1px solid var(--cizgi);
  border-radius: var(--yaricap);
  box-shadow: var(--golge);
  padding: 1rem 1.25rem;
  display: flex;
  flex-direction: column;
  color: inherit;
}
a.kutu:hover { border-color: var(--birincil); text-decoration: none; }
.kutu-sayi { font-size: 1.9rem; font-weight: 700; color: var(--gece); line-height: 1.1; font-variant-numeric: tabular-nums; }
.kutu-ad { color: var(--soluk); }

.bos-durum { color: var(--soluk); padding: 1rem 0; margin: 0; }

/* ---- Düğmeler ---- */
.dugme {
  display: inline-block;
  background: var(--birincil-koyu);
  color: #fff;
  border: 1px solid var(--birincil-koyu);
  border-radius: 8px;
  padding: .5rem 1rem;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.dugme:hover { background: var(--birincil-derin); border-color: var(--birincil-derin); text-decoration: none; }
.dugme--sade { background: transparent; color: var(--arduvaz); border-color: var(--cizgi); }
.dugme--sade:hover { background: var(--zemin); border-color: var(--soluk); }
.dugme--tehlike { background: transparent; color: var(--hata); border-color: #E6B8B4; }
.dugme--tehlike:hover { background: var(--hata-zemin); border-color: var(--hata); }
.dugme--tam { width: 100%; margin-top: 1rem; }
.baglanti-dugme { background: none; border: 0; padding: 0; font: inherit; color: var(--hata); cursor: pointer; }
.baglanti-dugme:hover { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--birincil); outline-offset: 2px; }

/* ---- Uyarılar ---- */
.uyari { border-radius: 8px; padding: .75rem 1rem; margin-bottom: 1rem; border: 1px solid transparent; }
.uyari ul { margin: .35rem 0 0; padding-left: 1.2rem; }
.uyari--ok { background: var(--ok-zemin); color: var(--ok); border-color: #BFE5CF; }
.uyari--hata { background: var(--hata-zemin); color: var(--hata); border-color: #F2C4C0; }
.uyari--bilgi { background: var(--bilgi-zemin); color: var(--birincil-derin); border-color: #B5E6EF; }
.uyari .bilgiler { margin-top: .5rem; }

.rozet { display: inline-block; padding: .1rem .55rem; border-radius: 999px; font-size: .8rem; font-weight: 600; }
.rozet--ok { background: var(--ok-zemin); color: var(--ok); }
.rozet--pasif { background: #ECEFF1; color: var(--soluk); }
.rozet--uyari { background: var(--uyari-zemin); color: var(--uyari); }

/* ---- Tablolar ---- */
.tablo { width: 100%; border-collapse: collapse; }
.tablo th {
  text-align: left;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--soluk);
  font-weight: 600;
  padding: .5rem .75rem;
  border-bottom: 1px solid var(--cizgi);
}
.tablo td { padding: .65rem .75rem; border-bottom: 1px solid var(--cizgi); vertical-align: middle; }
.tablo tr:last-child td { border-bottom: 0; }
.tablo tbody tr:hover { background: #FAFCFD; }
.tablo .sag { text-align: right; font-variant-numeric: tabular-nums; }
.tablo .islem { text-align: right; white-space: nowrap; }
.tablo .islem form { display: inline; margin-left: .75rem; }

/* ---- Bilgi listeleri ---- */
.bilgiler { margin: 0; }
.bilgi { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: .75rem; padding: .4rem 0; border-bottom: 1px dashed var(--cizgi); }
.bilgi:last-child { border-bottom: 0; }
.bilgi dt { color: var(--soluk); }
.bilgi dd { margin: 0; overflow-wrap: anywhere; }

/* ---- Formlar ---- */
.izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.alan { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.alan--genis { grid-column: 1 / -1; }
label { font-weight: 600; font-size: .9rem; color: var(--gece); }
.zorunlu { color: var(--hata); }
.alan small { color: var(--soluk); font-size: .8rem; }

input[type=text], input[type=email], input[type=password], input[type=tel], input[type=url],
input[type=date], input[type=search], input[type=number], select, textarea {
  width: 100%;
  font: inherit;
  color: var(--gece);
  background: #fff;
  border: 1px solid #C5D2D9;
  border-radius: 8px;
  padding: .5rem .7rem;
}
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--birincil); box-shadow: 0 0 0 3px rgba(0, 188, 212, .2); }
textarea { resize: vertical; }
input[type=file] { font: inherit; max-width: 100%; }
.onay { font-weight: 400; display: flex; align-items: center; gap: .4rem; }
.form-alt { display: flex; justify-content: flex-end; gap: .5rem; margin: 1rem 0; }
.kart .form-alt { margin-bottom: 0; }
.arama { display: flex; gap: .5rem; margin-bottom: 1rem; max-width: 480px; }

/* ---- Firma detayları ---- */
.firma-kunye { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 1.5rem; align-items: center; }
.firma-logo img { max-width: 100%; max-height: 120px; display: block; }
.logo-yok { border: 1px dashed #C5D2D9; border-radius: 8px; color: var(--soluk); padding: 2rem 1rem; text-align: center; font-size: .85rem; }
.firma-ad { font-size: 1.4rem; margin-bottom: .15rem; }
.firma-unvan { color: var(--soluk); }
.imza-kucuk { max-height: 36px; max-width: 120px; display: block; }
.kase { max-height: 140px; max-width: 100%; }
.onizleme { max-height: 90px; max-width: 220px; border: 1px solid var(--cizgi); border-radius: 8px; padding: .35rem; background: #fff; }

/* ---- Giriş ve hata ---- */
body.bos {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: linear-gradient(160deg, var(--gece) 0%, #10334A 60%, var(--birincil-derin) 100%);
}
.giris-kart {
  width: 100%;
  max-width: 400px;
  background: #fff;
  border-radius: 14px;
  padding: 2rem;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .3);
}
.giris-logo { display: block; width: 220px; max-width: 100%; margin: 0 auto 1.25rem; }
.giris-kart h1 { font-size: 1.2rem; text-align: center; margin-bottom: .35rem; }
.giris-kart > p { text-align: center; font-size: .85rem; }
.form-dikey { display: flex; flex-direction: column; gap: .35rem; margin-top: 1.25rem; }
.form-dikey label { margin-top: .5rem; }
.hata-kod { font-size: 3rem; font-weight: 700; color: var(--birincil-koyu); text-align: center; line-height: 1; margin-bottom: .75rem; }
.giris-kart .dugme { display: block; text-align: center; margin-top: 1rem; }

/* ---- Risk analizi sihirbazı ---- */
h3 { font-size: .95rem; margin: 1rem 0 .5rem; color: var(--gece); }
h3 small { font-weight: 400; color: var(--soluk); font-size: .8rem; margin-left: .35rem; }
.rozet--hata { background: var(--hata-zemin); color: var(--hata); }
.uyari--uyari { background: var(--uyari-zemin); color: var(--uyari); border-color: #F0DCA0; }
.uyari--satir { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.uyari--ust { margin-top: 1rem; }
.sembol { font-family: Cambria, "Times New Roman", serif; font-style: italic; font-weight: 600; color: var(--birincil-derin); }
.etiket { font-weight: 600; font-size: .9rem; color: var(--gece); }
.baglanti-dugme--sade { color: var(--birincil-koyu); }
.arama--genis { max-width: 720px; }

.adimlar { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1rem; padding: 0; }
.adimlar a {
  display: flex; align-items: center; gap: .45rem;
  padding: .4rem .8rem .4rem .45rem;
  border: 1px solid var(--cizgi); border-radius: 999px;
  background: var(--kart); color: var(--arduvaz); font-size: .88rem; font-weight: 600;
}
.adimlar a:hover { border-color: var(--birincil); text-decoration: none; }
.adim-no {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.5rem; height: 1.5rem; border-radius: 50%;
  background: #ECEFF1; color: var(--soluk); font-size: .8rem; font-variant-numeric: tabular-nums;
}
.adimlar .aktif a { background: var(--gece); border-color: var(--gece); color: #fff; }
.adimlar .aktif .adim-no { background: var(--birincil); color: var(--gece); }

.cerceve { border: 0; margin: 0; padding: 0; min-width: 0; }
.cerceve:disabled .baglanti-dugme, .cerceve:disabled [data-ekle] { display: none; }
.izgara--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.izgara--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.izgara--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.izgara--ust { margin-top: 1rem; }
.izgara > [data-bagli] { min-width: 0; }
.kosullu { margin-top: 1rem; }
[hidden] { display: none !important; }
.form-alt--arali { justify-content: space-between; align-items: center; flex-wrap: wrap; }
.secenekler { display: flex; flex-direction: column; gap: .3rem; }
.secenekler--yatay { flex-direction: row; flex-wrap: wrap; gap: .4rem 1.25rem; }
.onay input { flex-shrink: 0; }
.onay { align-items: flex-start; }
.onay input[type=checkbox], .onay input[type=radio] { margin-top: .3rem; }

.satir { border: 1px solid var(--cizgi); border-left: 3px solid var(--birincil); border-radius: 8px; padding: 1rem; margin-bottom: 1rem; background: #FCFEFF; }
.satir--ic { border-left-color: #B5E6EF; background: var(--kart); margin-bottom: .75rem; }
.satir-bas { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; color: var(--gece); }
.alt-bolum { margin-top: 1rem; padding-top: .25rem; border-top: 1px dashed var(--cizgi); }

.sonuc-kutular { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.sonuc-kutu { border: 1px solid var(--cizgi); border-top: 4px solid var(--soluk); border-radius: 8px; padding: .85rem 1rem; min-width: 0; }
.sonuc-kutu--ok { border-top-color: var(--ok); }
.sonuc-kutu--hata { border-top-color: var(--hata); }
.sonuc-kutu--uyari { border-top-color: #D9A400; }
.sonuc-ad { font-weight: 700; color: var(--gece); margin-bottom: .35rem; overflow-wrap: anywhere; }
.sonuc-satir { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; padding: .2rem 0; font-variant-numeric: tabular-nums; }
.sonuc-satir strong { font-size: 1.15rem; color: var(--gece); }

.tablo--sayi td, .tablo--sayi th { padding: .4rem .75rem; }
.tablo .toplam td { border-top: 2px solid var(--arduvaz); background: var(--zemin); }
.tablo .bos-hucre { color: var(--soluk); font-size: .8rem; }
.tablo--sik { font-size: .85rem; }
.tablo--sik td { vertical-align: top; padding: .35rem .5rem; overflow-wrap: anywhere; }
.uyari-liste { list-style: none; margin: 0; padding: 0; }
.uyari-liste li { padding: .45rem 0; border-bottom: 1px dashed var(--cizgi); }
.uyari-liste li:last-child { border-bottom: 0; }
.dokum summary { cursor: pointer; font-weight: 600; color: var(--gece); }
.dokum[open] summary { margin-bottom: .75rem; }

/* ---- Dar ekran ---- */
@media (max-width: 860px) {
  .izgara--3, .izgara--4, .izgara--6 { grid-template-columns: minmax(0, 1fr); }
  .adimlar a { padding: .3rem .6rem .3rem .35rem; font-size: .8rem; }
  .satir { padding: .75rem; }
  .tablo .bos-hucre { display: none; }
  .yan { position: fixed; inset: 0 auto 0 0; z-index: 20; transform: translateX(-100%); transition: transform .2s; overflow-y: auto; }
  .yan.acik { transform: none; box-shadow: 0 0 0 100vmax rgba(11, 30, 45, .5); }
  .menu-dugme { display: block; }
  .ust { padding: .6rem 1rem; }
  .icerik { padding: 1rem; }
  .iki-sutun, .izgara, .kutular, .firma-kunye { grid-template-columns: minmax(0, 1fr); }
  .ust-kisi { display: none; }

  /* tablolar kart görünümüne döner */
  .tablo thead { display: none; }
  .tablo, .tablo tbody, .tablo tr, .tablo td { display: block; width: 100%; }
  .tablo tr { border-bottom: 1px solid var(--cizgi); padding: .5rem 0; }
  .tablo tr:last-child { border-bottom: 0; }
  .tablo td { border: 0; padding: .2rem 0; text-align: left !important; }
  .tablo td[data-etiket]::before { content: attr(data-etiket) ": "; color: var(--soluk); font-size: .8rem; }
  .tablo .islem form { margin-left: .75rem; }
  .bilgi { grid-template-columns: minmax(0, 1fr); gap: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .yan { transition: none; }
}

/* --- Raporlar: süzgeç satırı, özet/kod gösterimi, girişsiz doğrulama kartı --- */
.arama--rapor { max-width: none; flex-wrap: wrap; }
.arama--rapor input[type="search"] { flex: 1 1 240px; }
.arama--rapor select { flex: 0 1 220px; min-width: 0; }
.ozet-kod { font-family: Consolas, "Courier New", monospace; font-size: .82rem; overflow-wrap: anywhere; word-break: break-all; }
.sayfa-bas h1 a { text-decoration: none; }
.kart--yayim p { margin-top: 0; }
.kart--yayim .alan { margin-bottom: .75rem; }
.dogrula-kart { max-width: 560px; }
.dogrula-kart .bilgi { grid-template-columns: 150px minmax(0, 1fr); }
.dogrula-kart .uyari { margin: .75rem 0 1rem; }

/* --- Periyodik kontrol saha formu (telefon öncelikli): büyük dokunma hedefleri, kriter kartları --- */
.secim-grup { display: flex; flex-wrap: wrap; gap: .4rem; }
.secim { position: relative; font-weight: 600; }
.secim input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.secim span {
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  min-height: 44px; padding: .4rem .9rem;
  border: 1px solid #C5D2D9; border-radius: 8px; background: #fff; color: var(--arduvaz); cursor: pointer;
}
.secim--bos span { color: var(--soluk); font-weight: 400; min-width: 44px; }
.secim input:checked + span { background: var(--gece); border-color: var(--gece); color: #fff; }
.secim--bos input:checked + span { background: #ECEFF1; border-color: #C5D2D9; color: var(--soluk); }
.secim--uygun input:checked + span { background: var(--ok); border-color: var(--ok); }
.secim--uygun_degil input:checked + span { background: var(--hata); border-color: var(--hata); }
.secim--uygulanamaz input:checked + span { background: var(--soluk); border-color: var(--soluk); }
.secim input:focus-visible + span { outline: 2px solid var(--birincil); outline-offset: 2px; }
.cerceve:disabled .secim span { cursor: default; opacity: .75; }
.secim-grup--deg { margin-top: .5rem; }
.secim-grup--deg .secim:not(.secim--bos) { flex: 1 1 0; }
.secim-grup--deg .secim:not(.secim--bos) span { width: 100%; padding: .4rem .5rem; }

.kriter { border: 1px solid var(--cizgi); border-left: 4px solid var(--birincil); border-radius: 8px; padding: .85rem 1rem; margin-bottom: .75rem; background: #FCFEFF; }
.kriter--bos { border-left-color: #D9A400; }
.kriter-metin { font-weight: 600; color: var(--gece); overflow-wrap: anywhere; }
.kriter small { display: block; margin-top: .15rem; overflow-wrap: anywhere; }
.kriter-ek { margin-top: .6rem; }
.kusur-liste { list-style: none; margin: 0 0 1rem; padding: 0; }
.kusur-liste li { display: flex; gap: .6rem; padding: .5rem 0; border-bottom: 1px dashed var(--cizgi); overflow-wrap: anywhere; }
.kusur-derece { color: var(--hata); min-width: 1.4rem; font-size: 1.1rem; }
.duz-liste { margin: 0; padding-left: 1.2rem; }
.bilgiler--ust { margin-top: 1rem; }
.kart--uyari { border-left: 4px solid #D9A400; }
.onay--buyuk { min-height: 44px; align-items: center; font-size: 1rem; margin: .5rem 0; }
.onay--buyuk input[type=checkbox] { width: 1.4rem; height: 1.4rem; margin-top: 0; }
.gizli-etiket { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
input[type=datetime-local] { width: 100%; font: inherit; color: var(--gece); background: #fff; border: 1px solid #C5D2D9; border-radius: 8px; padding: .5rem .7rem; }
.foto-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.foto { margin: 0; border: 1px solid var(--cizgi); border-radius: 8px; padding: .4rem; font-size: .8rem; overflow-wrap: anywhere; }
.foto img { display: block; width: 100%; height: 120px; object-fit: cover; border-radius: 6px; margin-bottom: .3rem; }
.form-alt--yapisik { position: sticky; bottom: 0; background: var(--zemin); padding: .6rem 0; margin-bottom: 0; z-index: 5; border-top: 1px solid var(--cizgi); }

@media (max-width: 860px) {
  .kriter { padding: .7rem; }
  .secim-grup--deg .secim span { font-size: .9rem; }
  .form-alt--yapisik .dugme { padding: .65rem .9rem; }
  input[type=text], input[type=date], input[type=datetime-local], select, textarea { min-height: 44px; }
}

/* --- LPS tasarım sihirbazı: şemadan üretilen formlar, denetim kalemleri, mühendis kararı --- */
.lps-ara { margin: 1.25rem 0 .6rem; padding-top: .75rem; border-top: 1px dashed var(--cizgi); color: var(--gece); font-size: 1rem; }
.kart > .lps-ara:first-of-type, .satir .lps-ara:first-child { border-top: 0; padding-top: 0; margin-top: .25rem; }
.lps-ara small, .alt-bolum h3 small { font-weight: 400; color: var(--soluk); font-size: .8rem; }
.alt-bolum > h3 { margin: .75rem 0 .6rem; font-size: .98rem; color: var(--gece); }
.alt-bolum > .satirlar:empty + template + [data-ekle], .alt-bolum > [data-ekle] { margin-top: .25rem; }
.izgara + .alt-bolum, .alt-bolum + .izgara { margin-top: 1rem; }
.lps-cift { display: flex; align-items: center; gap: .4rem; }
.lps-cift input { min-width: 0; }
.lps-kc { border: 1px dashed var(--cizgi); border-radius: 8px; padding: .75rem; background: var(--kart); }
.lps-karar-not { border-left: 3px solid var(--ok); padding-left: .6rem; }
.lps-sayaclar { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.lps-sayaclar .sonuc-kutu[data-sayac]:not([data-sayac="uygun"]) { cursor: pointer; }
.lps-sayaclar .sonuc-ad { margin-bottom: 0; }
.lps-sayaclar .sonuc-satir strong { font-size: 1.5rem; }
.lps-suzgec { display: flex; flex-wrap: wrap; gap: .4rem; }
.lps-suzgec .dugme { padding: .3rem .7rem; font-size: .85rem; }
.lps-suzgec .dugme.aktif { background: var(--gece); border-color: var(--gece); color: #fff; }
.lps-modul { margin-top: 1.25rem; }
.lps-modul > h3 { margin: 0 0 .5rem; color: var(--gece); }
.lps-kalemler td:nth-child(1) { white-space: nowrap; width: 7rem; }
.lps-kalemler td:nth-child(2) { width: 34%; }
.lps-kalemler td:nth-child(5) { white-space: nowrap; }
.lps-kalemler tr.kalem--uygun_degil td:first-child { box-shadow: inset 3px 0 0 var(--hata); }
.lps-kalemler tr.kalem--uyari td:first-child, .lps-kalemler tr.kalem--karar_gerekli td:first-child, .lps-kalemler tr.kalem--eksik_veri td:first-child { box-shadow: inset 3px 0 0 #D9A400; }
.lps-kalemler code { font-size: .82rem; }
.lps-karar { margin-top: .6rem; padding: .6rem .75rem; border: 1px solid #E6C766; border-radius: 8px; background: #FFFBEA; display: grid; gap: .5rem; }
.lps-karar textarea { width: 100%; }
.lps-karar-yon { margin-top: .5rem; padding: .5rem .75rem; border-left: 3px solid #D9A400; background: #FFFBEA; font-size: .85rem; }
.lps-satir-form { display: inline; margin-left: .5rem; }
.lps-mutabakat td:nth-child(1) { width: 2.5rem; white-space: nowrap; }
.lps-mutabakat td:nth-child(3) { width: 10rem; }
.lps-mutabakat td:nth-child(4) { width: 30%; }
.lps-ek-kucuk { display: block; max-width: 140px; max-height: 90px; border: 1px solid var(--cizgi); border-radius: 6px; }

@media (max-width: 860px) {
  .lps-sayaclar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lps-kalemler td:nth-child(1), .lps-kalemler td:nth-child(2), .lps-mutabakat td { width: 100% !important; white-space: normal; }
  .lps-kalemler tr.kalem td:first-child { box-shadow: none; }
  .lps-kalemler tr.kalem--uygun_degil { box-shadow: inset 3px 0 0 var(--hata); padding-left: .6rem; }
  .lps-kalemler tr.kalem--uyari, .lps-kalemler tr.kalem--karar_gerekli, .lps-kalemler tr.kalem--eksik_veri { box-shadow: inset 3px 0 0 #D9A400; padding-left: .6rem; }
  .lps-suzgec .dugme { min-height: 40px; }
}

/* SPM tasarım sihirbazı: yönetim planı ve mevcut yapı soru tabloları */
.spm-plan td:nth-child(1) { width: 14rem; }
.spm-plan td:nth-child(3) { width: 9rem; }
.spm-plan select, .spm-plan input, .spm-soru input { width: 100%; }
.spm-soru td:nth-child(1) { width: 2.5rem; white-space: nowrap; }
.spm-soru td:nth-child(3) { width: 40%; }
@media (max-width: 860px) {
  .spm-plan td, .spm-soru td { width: 100% !important; white-space: normal; }
}

/* --- Muayene, kusur takibi ve LPS dosyası --- */
.secim-grup--dikey { flex-direction: column; align-items: stretch; }
.secim-grup--dikey .secim span { justify-content: flex-start; text-align: left; width: 100%; }
.secim--var input:checked + span { background: var(--ok); border-color: var(--ok); }
.secim--guncel_degil input:checked + span { background: #B07D00; border-color: #B07D00; }
.secim--yok input:checked + span { background: var(--hata); border-color: var(--hata); }
.madde-no { color: var(--birincil-koyu); font-variant-numeric: tabular-nums; }
.dok-liste { font-size: .85rem; margin: .2rem 0 .3rem; }
.kriter--uygunsuz { border-left-color: var(--hata); }
.olcum { border-left-color: var(--birincil-koyu); }
.olcum .lps-cift select { width: auto; min-width: 4.5rem; }
.olcum-ek { margin-top: .75rem; }
.olcum-ek summary { cursor: pointer; color: var(--birincil-koyu); font-size: .88rem; font-weight: 600; }
.olcum-ek[open] summary { margin-bottom: .6rem; }
.olcum-gecmis { margin-top: .75rem; padding: .5rem .75rem; border-left: 3px solid var(--cizgi); background: var(--kart); font-size: .88rem; border-radius: 0 6px 6px 0; }
.olcum-gecmis--artis { border-left-color: #D9A400; background: #FFFBEA; }
.oneri-kutu { margin: .2rem 0 0; padding: .5rem .75rem; background: #F2F6F8; border-radius: 8px; font-size: .88rem; }
.kusur-suzgec { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: 1rem; }
.kusur-suzgec select { width: auto; max-width: 100%; flex: 1 1 12rem; }
.kusur-tanim { font-size: 1.02rem; color: var(--gece); }
.satir--gecikmis td:first-child { box-shadow: inset 3px 0 0 var(--hata); }
.kutu--uyari { border-color: #E6C766; background: #FFFBEA; }
.kutular--ic { margin-bottom: .75rem; }
.kutular--ic .kutu { box-shadow: none; }
.yatay-kaydir { overflow-x: auto; }
.olcum-matris td, .olcum-matris th { white-space: nowrap; }
.hucre--hata { color: var(--hata); font-weight: 700; }
.hucre--uyari { color: #9A6700; font-weight: 700; }
.bakim-kusur { margin-top: 1rem; padding: .75rem; border: 1px dashed var(--cizgi); border-radius: 8px; display: grid; gap: .4rem; }
@media (max-width: 860px) {
  .olcum .lps-cift { flex-wrap: wrap; }
  .kusur-suzgec select, .kusur-suzgec .dugme { flex: 1 1 100%; }
  .olcum-matris thead { display: table-header-group; }
  .olcum-matris, .olcum-matris tbody { display: table; width: 100%; }
  .olcum-matris tr { display: table-row; }
  .olcum-matris td, .olcum-matris th { display: table-cell; width: auto; padding: .35rem .5rem; border-bottom: 1px solid var(--cizgi); }
}

/* --- Yardım ve Kullanım Kılavuzu (views/yardim, "?" düğmesi) --- */
.sayfa-bas h1 a.yardim-dugme, .yardim-dugme {
  display: inline-flex; align-items: center; justify-content: center; vertical-align: middle;
  width: 1.55rem; height: 1.55rem; margin-left: .35rem; border-radius: 50%;
  border: 1.5px solid var(--birincil-koyu); color: var(--birincil-koyu); background: var(--kart);
  font-size: .9rem; font-weight: 700; line-height: 1; text-decoration: none;
}
.sayfa-bas h1 a.yardim-dugme:hover, .yardim-dugme:hover { background: var(--birincil-koyu); color: #fff; text-decoration: none; }
.yardim-dugme--ornek { width: 1.3rem; height: 1.3rem; font-size: .8rem; margin: 0 .15rem; }
.yardim-ara-kart .arama { margin-bottom: .5rem; }
.yardim-ara-kart p { margin: 0; }
.yardim-kategoriler { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; align-items: start; }
.yardim-kategoriler .kart { margin: 0; }
.yardim-konu-liste { list-style: none; margin: 0; padding: 0; }
.yardim-konu-liste li { padding: .45rem 0; border-top: 1px solid var(--cizgi); }
.yardim-konu-liste li:first-child { border-top: 0; padding-top: 0; }
.yardim-konu-liste a { font-weight: 600; }
.yardim-konu-liste small { display: block; color: var(--soluk); font-size: .82rem; line-height: 1.4; }
.yardim-sonuclar { margin: 0; padding-left: 1.2rem; }
.yardim-sonuclar li { margin-bottom: .9rem; }
.yardim-sonuclar p { margin: .2rem 0 0; color: var(--soluk); font-size: .9rem; }
.yardim-ust-arama { margin: 0; max-width: 260px; }
.yardim-duzen { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 1rem; align-items: start; }
.yardim-yan { position: sticky; top: 1rem; }
.yardim-yan .kart { margin-bottom: 1rem; }
.yardim-yan h2 { font-size: .9rem; }
.yardim-icindekiler { list-style: none; margin: 0; padding: 0; font-size: .88rem; }
.yardim-icindekiler li { padding: .25rem 0; }
.yardim-icindekiler li.aktif { font-weight: 700; color: var(--gece); }
.yardim-metin { max-width: 860px; line-height: 1.65; }
.yardim-metin h2 { font-size: 1.15rem; margin: 1.6rem 0 .6rem; padding-top: .4rem; border-top: 1px solid var(--cizgi); scroll-margin-top: 1rem; }
.yardim-metin h3 { font-size: 1rem; margin: 1.2rem 0 .4rem; color: var(--gece); scroll-margin-top: 1rem; }
.yardim-metin h4 { font-size: .95rem; margin: 1rem 0 .3rem; }
.yardim-metin ul, .yardim-metin ol { padding-left: 1.4rem; }
.yardim-metin li { margin-bottom: .3rem; }
.yardim-metin code { font-size: .88em; }
.yardim-guncel { font-size: .8rem; margin: 0 0 .5rem; }
.yardim-rozet {
  display: inline-block; padding: .05rem .5rem; border-radius: 6px; font-size: .85em; font-weight: 600; white-space: nowrap;
  background: var(--birincil-koyu); color: #fff; line-height: 1.5;
}
.yardim-kutu { margin: 1rem 0; padding: .7rem .9rem; border-radius: 8px; border-left: 4px solid var(--cizgi); background: var(--zemin); }
.yardim-kutu--uyari { border-left-color: #C98A00; background: var(--uyari-zemin); }
.yardim-kutu--bilgi { border-left-color: var(--birincil-koyu); background: var(--bilgi-zemin); }
.yardim-kutu-bas { color: var(--gece); }
.yardim-tablo { overflow-x: auto; margin: .75rem 0 1rem; }
.yardim-gorsel { margin: 1rem 0 1.25rem; }
.yardim-gorsel img { display: block; max-width: 100%; height: auto; border: 1px solid var(--cizgi); border-radius: 8px; box-shadow: var(--golge); }
.yardim-gorsel figcaption { font-size: .82rem; color: var(--soluk); margin-top: .35rem; }
.yardim-gecis { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--cizgi); font-size: .9rem; }
@media (max-width: 1100px) {
  .yardim-duzen { grid-template-columns: minmax(0, 1fr); }
  .yardim-yan { position: static; order: -1; }
  .yardim-yan .kart:last-child { display: none; }
}
@media (max-width: 860px) {
  .yardim-ust-arama { max-width: none; width: 100%; }
  .yardim-kategoriler { grid-template-columns: minmax(0, 1fr); }
  .yardim-metin .tablo td[data-etiket]::before { font-weight: 600; }
}