/* Şeytan Analizi — resmî evrak estetiği
   Bilinçli olarak tek görünüm (açık kağıt) kullanılır; evrak hissi için gerekli. */

:root {
  --kagit: #f6f4ef;
  --kagit-ic: #fffefb;
  --murekkep: #17181a;
  --murekkep-soluk: #55575c;
  --cerceve: #c8c3b6;
  --cerceve-koyu: #8e887a;
  --damga: #a3231f;
  --lacivert: #1d3557;
  --vurgu-zemin: #efece3;
  --basari: #2f6b3f;
}

* { box-sizing: border-box; }

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

body {
  margin: 0;
  padding-block: 24px;
  padding-inline: 16px;
  background: var(--kagit);
  color: var(--murekkep);
  font: 400 14.5px/1.6 "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.sayfa {
  max-width: 880px;
  margin: 0 auto;
  background: var(--kagit-ic);
  border: 1px solid var(--cerceve);
  box-shadow: 0 1px 0 var(--cerceve), 0 10px 30px rgba(0, 0, 0, .07);
  padding-block: 26px;
  padding-inline: clamp(16px, 4vw, 38px);
}

/* ---------------- evrak başlığı ---------------- */

.evrak-baslik {
  display: flex;
  align-items: center;
  gap: 18px;
  padding-bottom: 16px;
  border-bottom: 2.5px solid var(--murekkep);
  margin-bottom: 4px;
}

.muhur-kutu { flex: 0 0 auto; color: var(--lacivert); opacity: .85; }
.muhur { display: block; }

.baslik-metin { flex: 1 1 auto; min-width: 0; }

.ust-satir {
  margin: 0 0 4px;
  font-size: 10.5px;
  letter-spacing: 1.4px;
  color: var(--murekkep-soluk);
  text-transform: uppercase;
}

.baslik-metin h1 {
  margin: 0;
  font: 700 clamp(16px, 2.6vw, 22px)/1.25 Georgia, "Times New Roman", serif;
  letter-spacing: .2px;
}

.alt-satir {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--murekkep-soluk);
  font-style: italic;
}

.baslik-sag {
  flex: 0 0 auto;
  text-align: right;
  font-size: 11px;
  color: var(--murekkep-soluk);
  font-family: "Consolas", "SFMono-Regular", ui-monospace, monospace;
}
.baslik-sag p { margin: 2px 0; }

.gizli-damga {
  display: inline-block;
  margin-bottom: 6px;
  padding: 3px 9px;
  border: 2px solid var(--damga);
  color: var(--damga);
  font: 700 12px/1 "Segoe UI", Arial, sans-serif;
  letter-spacing: 2.5px;
  transform: rotate(-3deg);
  opacity: .88;
}

/* ---------------- uyarı ve hata ---------------- */

.uyari-cubugu {
  margin: 18px 0;
  padding: 10px 14px;
  background: var(--vurgu-zemin);
  border-left: 3px solid var(--cerceve-koyu);
  font-size: 12.5px;
  color: var(--murekkep-soluk);
}

.hata-kutu {
  margin: 16px 0;
  padding: 12px 15px;
  background: #fdf1f0;
  border: 1px solid #e3b3b0;
  border-left: 3px solid var(--damga);
  font-size: 13px;
}
.hata-kutu ul { margin: 8px 0 0; padding-left: 20px; }
.hata-kutu li { margin: 3px 0; }
.hata-kutu p { margin: 6px 0 0; }

/* ---------------- ilerleme ---------------- */

.ilerleme { margin: 20px 0 6px; }

.ilerleme-bar {
  height: 6px;
  background: var(--vurgu-zemin);
  border: 1px solid var(--cerceve);
  overflow: hidden;
}
.ilerleme-bar span {
  display: block;
  height: 100%;
  width: 33%;
  background: var(--lacivert);
  transition: width .35s ease;
}
#ilerleme-metin {
  margin: 7px 0 0;
  font-size: 11.5px;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: var(--murekkep-soluk);
}

/* ---------------- bölümler ---------------- */

.bolum-baslik {
  margin: 26px 0 14px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--cerceve);
  font: 700 13px/1.3 "Segoe UI", Arial, sans-serif;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}

.bolum-not {
  margin: -6px 0 18px;
  font-size: 12.5px;
  color: var(--murekkep-soluk);
}

/* ---------------- form alanları ---------------- */

.alan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px 20px;
}

.alan, .alan-blok { display: block; margin-bottom: 4px; }
.alan-blok { margin: 18px 0; }

fieldset.alan-blok {
  border: 1px solid var(--cerceve);
  padding: 12px 14px;
}
fieldset.alan-blok legend { padding: 0 6px; }

.etiket {
  display: block;
  margin-bottom: 5px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--murekkep-soluk);
}
.etiket i { color: var(--damga); font-style: normal; }

input[type="text"], input[type="date"], input[type="time"],
input[type="number"], input[type="password"], select, textarea {
  width: 100%;
  padding: 9px 10px;
  background: #fff;
  border: 1px solid var(--cerceve-koyu);
  border-radius: 0;
  color: var(--murekkep);
  font: inherit;
  font-size: 14px;
}
textarea { resize: vertical; min-height: 68px; }

input:focus, select:focus, textarea:focus {
  outline: 2px solid var(--lacivert);
  outline-offset: -1px;
}

.ipucu {
  display: block;
  margin-top: 4px;
  font-size: 11.5px;
  color: var(--murekkep-soluk);
  font-style: italic;
}

.radyo-satir { display: flex; flex-wrap: wrap; gap: 8px 18px; }

.radyo, .secenek {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 14px;
  cursor: pointer;
}
.radyo input, .secenek input { margin-top: 3px; flex: 0 0 auto; accent-color: var(--lacivert); }

/* ---------------- sorular ---------------- */

.soru {
  margin: 0 0 16px;
  padding: 13px 15px;
  border: 1px solid var(--cerceve);
  background: #fffefb;
}
.soru legend {
  padding: 0 7px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}
.soru-no {
  display: inline-block;
  min-width: 20px;
  margin-right: 5px;
  padding: 1px 5px;
  background: var(--murekkep);
  color: #fff;
  font: 700 11px/1.5 "Consolas", ui-monospace, monospace;
  text-align: center;
}
.secenek { margin-top: 9px; }
.secenek:hover { color: var(--lacivert); }

.eksik {
  outline: 2px solid var(--damga);
  outline-offset: 2px;
  background: #fdf1f0;
}

/* ---------------- KVKK ve tarama ---------------- */

.kvkk {
  padding: 14px 16px;
  background: var(--vurgu-zemin);
  border: 1px solid var(--cerceve);
  font-size: 12.5px;
  color: var(--murekkep-soluk);
}
.kvkk h3 {
  margin: 0 0 8px;
  font: 700 11.5px/1.3 "Segoe UI", Arial, sans-serif;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--murekkep);
}
.kvkk p { margin: 0 0 8px; }
.kvkk p:last-child { margin-bottom: 0; }

.tarama {
  margin: 20px 0;
  padding: 15px 16px;
  border: 1px solid var(--cerceve-koyu);
  background: #fbfaf6;
}
.tarama-ust {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
}
.tarama-baslik {
  font: 700 11.5px/1.3 "Segoe UI", Arial, sans-serif;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.tarama-yuzde {
  font: 700 13px/1 "Consolas", ui-monospace, monospace;
  color: var(--lacivert);
}
.tarama-bar {
  height: 8px;
  background: var(--vurgu-zemin);
  border: 1px solid var(--cerceve);
  overflow: hidden;
}
.tarama-bar span {
  display: block;
  height: 100%;
  width: 0;
  background: var(--lacivert);
  transition: width .4s ease;
}
.tarama-liste {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  font-family: "Consolas", ui-monospace, monospace;
  font-size: 12px;
}
.tarama-liste li {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 3px 0;
  color: var(--murekkep-soluk);
}
.tarama-ikon {
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  border: 1.5px solid var(--cerceve-koyu);
  border-radius: 50%;
}
.tarama-liste li.calisiyor .tarama-ikon {
  border-color: var(--lacivert);
  border-top-color: transparent;
  animation: dondur .7s linear infinite;
}
.tarama-liste li.tamam { color: var(--murekkep); }
.tarama-liste li.tamam .tarama-ikon {
  border-color: var(--basari);
  background: var(--basari);
  position: relative;
}
.tarama-liste li.tamam .tarama-ikon::after {
  content: "";
  position: absolute;
  left: 2.5px; top: 0.5px;
  width: 3px; height: 6px;
  border: solid #fff;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(40deg);
}
@keyframes dondur { to { transform: rotate(360deg); } }

.tarama-not {
  margin: 10px 0 12px;
  font-size: 11.5px;
  font-style: italic;
  color: var(--murekkep-soluk);
}
.tarama[data-durum="bitti"] #tarama-baslat { display: none; }

.onay {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 18px 0;
  padding: 12px 14px;
  border: 1px solid var(--cerceve);
  font-size: 13px;
  cursor: pointer;
  transition: background .3s, border-color .3s;
}
.onay input { margin-top: 3px; flex: 0 0 auto; accent-color: var(--lacivert); }
.onay.vurgu { border-color: var(--lacivert); background: #f2f5fa; }

/* ---------------- butonlar ---------------- */

.asama-alt {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--cerceve);
}

.btn {
  display: inline-block;
  padding: 10px 18px;
  background: #fff;
  border: 1px solid var(--cerceve-koyu);
  color: var(--murekkep);
  font: 600 13.5px/1.2 "Segoe UI", Arial, sans-serif;
  text-decoration: none;
  cursor: pointer;
}
.btn:hover { background: var(--vurgu-zemin); }
.btn.birincil {
  background: var(--lacivert);
  border-color: var(--lacivert);
  color: #fff;
}
.btn.birincil:hover { background: #162941; }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.btn:disabled:hover { background: var(--lacivert); }

/* ---------------- rapor ---------------- */

.ust-tablo, .veri-tablo {
  width: 100%;
  border-collapse: collapse;
  margin: 14px 0 4px;
  font-size: 13px;
}
.ust-tablo th, .ust-tablo td,
.veri-tablo th, .veri-tablo td {
  border: 1px solid var(--cerceve);
  padding: 7px 10px;
  text-align: left;
  vertical-align: top;
}
.ust-tablo th, .veri-tablo th {
  width: 1%;
  white-space: nowrap;
  background: var(--vurgu-zemin);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: var(--murekkep-soluk);
}
.veri-tablo th { width: 32%; white-space: normal; }
.ust-tablo .tekli {
  font-family: "Consolas", ui-monospace, monospace;
  font-weight: 700;
  letter-spacing: 2px;
}

.risk { letter-spacing: 1px; }
.risk-0 { color: var(--murekkep-soluk); }
.risk-1 { color: #8a6d1f; }
.risk-2 { color: #b4551c; }
.risk-3 { color: var(--damga); }

.burc-kutu {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1px;
  background: var(--cerceve);
  border: 1px solid var(--cerceve);
}
.burc-hucre {
  padding: 12px 14px;
  background: #fffefb;
  text-align: center;
}
.burc-etiket {
  display: block;
  margin-bottom: 5px;
  font-size: 10.5px;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: var(--murekkep-soluk);
}
.burc-hucre strong {
  font: 700 17px/1.2 Georgia, "Times New Roman", serif;
}

.skor-listesi { margin-top: 4px; }

.skor-satir {
  padding: 11px 0;
  border-bottom: 1px dotted var(--cerceve);
}
.skor-satir:last-child { border-bottom: none; }

.skor-ust {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 6px;
}
.skor-ad { font-size: 13.5px; font-weight: 600; }
.skor-ad em {
  margin-left: 6px;
  padding: 1px 6px;
  background: var(--damga);
  color: #fff;
  font: 600 9.5px/1.6 "Segoe UI", Arial, sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-style: normal;
}
.skor-deger {
  font: 700 15px/1 "Consolas", ui-monospace, monospace;
  color: var(--lacivert);
}
.skor-bar {
  height: 11px;
  background: var(--vurgu-zemin);
  border: 1px solid var(--cerceve);
}
.skor-bar span {
  display: block;
  height: 100%;
  background: repeating-linear-gradient(
    45deg, var(--lacivert), var(--lacivert) 5px,
    #2b4a70 5px, #2b4a70 10px
  );
}
.skor-satir.baskin .skor-bar span {
  background: repeating-linear-gradient(
    45deg, var(--damga), var(--damga) 5px,
    #bd3a35 5px, #bd3a35 10px
  );
}
.skor-not {
  margin: 5px 0 0;
  font-size: 11.5px;
  color: var(--murekkep-soluk);
}

.genel-kutu {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  margin: 22px 0 6px;
  background: var(--murekkep);
  border: 2px solid var(--murekkep);
}
.genel-sol, .genel-sag {
  flex: 1 1 220px;
  padding: 16px 18px;
  background: #fffefb;
}
.genel-etiket {
  display: block;
  margin-bottom: 8px;
  font-size: 10px;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: var(--murekkep-soluk);
}
.genel-skor {
  display: block;
  font: 700 46px/1 Georgia, "Times New Roman", serif;
  color: var(--damga);
}
.genel-skor small { font-size: 17px; color: var(--murekkep-soluk); }
.genel-esik {
  display: block;
  margin-top: 7px;
  font-size: 11.5px;
  color: var(--murekkep-soluk);
  font-family: "Consolas", ui-monospace, monospace;
}
.unvan {
  display: block;
  font: 700 clamp(18px, 3vw, 25px)/1.25 Georgia, "Times New Roman", serif;
  color: var(--lacivert);
}

.analiz-metin p {
  margin: 0 0 12px;
  text-align: justify;
  hyphens: auto;
}

.tavsiye-liste { margin: 0; padding-left: 22px; }
.tavsiye-liste li { margin: 7px 0; }

.kapanis-notu {
  margin: 22px 0 0;
  padding: 12px 15px;
  background: var(--vurgu-zemin);
  border-left: 3px solid var(--damga);
  font-size: 12.5px;
}

.imza-alani {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 18px;
  margin-top: 30px;
  padding-top: 18px;
  border-top: 1px solid var(--cerceve);
}
.imza-hucre { flex: 1 1 170px; text-align: center; color: var(--lacivert); }
.imza { display: block; margin: 0 auto; }
.imza-ad {
  margin: 4px 0 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--murekkep);
}
.imza-not {
  margin: 3px 0 0;
  font-size: 10.5px;
  color: var(--murekkep-soluk);
  font-family: "Consolas", ui-monospace, monospace;
}
.muhur-hucre { opacity: .8; }

.barkod {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 42px;
  margin-bottom: 4px;
}
.barkod i { display: block; height: 100%; background: var(--murekkep); }

.rapor-eylemler {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

/* ---------------- alt bilgi ---------------- */

.evrak-alt {
  margin-top: 26px;
  padding-top: 14px;
  border-top: 1px solid var(--cerceve);
  font-size: 10.5px;
  line-height: 1.55;
  color: var(--murekkep-soluk);
}
.evrak-alt p { margin: 0; }

/* ---------------- admin ---------------- */

.admin-ust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin: 18px 0;
}
.admin-ozet {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}
.ozet-kart {
  flex: 1 1 130px;
  padding: 11px 13px;
  border: 1px solid var(--cerceve);
  background: var(--vurgu-zemin);
}
.ozet-kart span {
  display: block;
  font-size: 10px;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: var(--murekkep-soluk);
}
.ozet-kart b {
  display: block;
  margin-top: 4px;
  font: 700 20px/1.1 Georgia, serif;
}

.tablo-sarma { overflow-x: auto; }

/* Geniş tablolar telefonda yana kaydırılır; ipucu yalnızca orada görünür. */
.kaydir-ipucu { display: none; }

@media (max-width: 620px) {
  .kaydir-ipucu {
    display: block;
    margin: 0 0 7px;
    font-size: 11px;
    font-style: italic;
    color: var(--murekkep-soluk);
  }
}

.kayit-tablo {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  font-size: 12.5px;
}
.kayit-tablo th, .kayit-tablo td {
  border: 1px solid var(--cerceve);
  padding: 7px 9px;
  text-align: left;
  vertical-align: top;
}
.kayit-tablo thead th {
  background: var(--murekkep);
  color: #fff;
  font-size: 10.5px;
  letter-spacing: .8px;
  text-transform: uppercase;
  white-space: nowrap;
}
.kayit-tablo tbody tr:nth-child(odd) { background: #fbfaf6; }
.kayit-tablo .mono { font-family: "Consolas", ui-monospace, monospace; }

.detay-satir > td { background: var(--vurgu-zemin) !important; padding: 0; }
.detay-ic { padding: 14px 16px; }
.detay-ic h4 {
  margin: 0 0 9px;
  font: 700 11px/1.3 "Segoe UI", Arial, sans-serif;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}
.cevap-liste { margin: 0 0 14px; padding-left: 20px; font-size: 12.5px; }
.cevap-liste li { margin: 5px 0; }
.cevap-liste b { color: var(--lacivert); }

.detay-ac {
  background: none;
  border: 1px solid var(--cerceve-koyu);
  padding: 3px 8px;
  font: 600 11px/1.4 "Segoe UI", Arial, sans-serif;
  cursor: pointer;
}
.detay-ac:hover { background: var(--vurgu-zemin); }

.giris-kutu { max-width: 340px; margin: 30px auto; }

.satir-eylem {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.sil-btn {
  background: none;
  border: 1px solid #d9b3b1;
  color: var(--damga);
  padding: 3px 8px;
  font: 600 11px/1.4 "Segoe UI", Arial, sans-serif;
  cursor: pointer;
}
.sil-btn:hover { background: #fdf1f0; }

/* ================================================================ */
/* KANIT BÖLÜMLERİ                                                   */
/* ================================================================ */

.nowrap { white-space: nowrap; }
.mono { font-family: "Consolas", ui-monospace, monospace; }

figure { margin: 0; }

figcaption, .sekil-not {
  margin-top: 7px;
  font-size: 11px;
  line-height: 1.5;
  color: var(--murekkep-soluk);
  font-style: italic;
}
.sekil-not { margin: 8px 0 0; }

.ek-baslik {
  margin-top: 34px;
  padding: 8px 12px;
  background: var(--murekkep);
  border: none;
  color: #fff;
  letter-spacing: 1.6px;
}

/* ---------------- kimlik + biyometrik ---------------- */

.kimlik-blok {
  display: grid;
  grid-template-columns: 1fr 190px;
  gap: 16px;
  align-items: start;
}

.biyometrik {
  padding: 12px;
  border: 1px solid var(--cerceve);
  background: #fbfaf6;
  text-align: center;
}
.biyometrik h3 {
  margin: 0 0 9px;
  font: 700 10px/1.3 "Segoe UI", Arial, sans-serif;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: var(--murekkep-soluk);
}
.izi-svg {
  display: block;
  width: 100%;
  max-width: 108px;
  height: auto;
  margin: 0 auto 10px;
  color: var(--lacivert);
}
.i-cerceve { fill: #fff; stroke: var(--cerceve); stroke-width: 1; }
.i-cizgi { fill: none; stroke: currentColor; stroke-width: .9; opacity: .75; }
.i-cizgi-kalin { fill: none; stroke: currentColor; stroke-width: 1.5; }
.i-tarama { stroke: var(--damga); stroke-width: 1; stroke-dasharray: 3 2; opacity: .8; }
.i-yazi {
  font: 700 8px "Consolas", ui-monospace, monospace;
  fill: var(--murekkep-soluk);
  letter-spacing: 1.5px;
}

.biyometrik dl {
  margin: 0;
  text-align: left;
  font-size: 11.5px;
}
.biyometrik dt {
  color: var(--murekkep-soluk);
  font-size: 10px;
  letter-spacing: .5px;
  text-transform: uppercase;
  margin-top: 7px;
}
.biyometrik dd {
  margin: 1px 0 0;
  font-weight: 700;
  font-family: "Consolas", ui-monospace, monospace;
}
.biyometrik-not {
  margin: 10px 0 0;
  font-size: 10px;
  font-style: italic;
  color: var(--murekkep-soluk);
}

/* ---------------- doğum haritası ---------------- */

.harita-blok {
  display: grid;
  grid-template-columns: minmax(0, 320px) 1fr;
  gap: 20px;
  align-items: start;
  margin-top: 16px;
}

.harita-gorsel { min-width: 0; }

.harita-svg {
  display: block;
  width: 100%;
  height: auto;
  color: var(--lacivert);
}
.h-cizgi { fill: none; stroke: var(--cerceve-koyu); stroke-width: .7; }
.h-cizgi-kalin { fill: none; stroke: var(--murekkep); stroke-width: 1.4; }
.h-cizgi-ince { fill: none; stroke: var(--cerceve-koyu); stroke-width: .4; opacity: .7; }
.h-burc {
  font: 600 9px "Segoe UI", Arial, sans-serif;
  fill: var(--murekkep);
  text-anchor: middle;
}
.h-ev {
  font: 400 7.5px "Consolas", ui-monospace, monospace;
  fill: var(--murekkep-soluk);
  text-anchor: middle;
}
.h-gezegen-zemin { fill: #fffefb; stroke: var(--lacivert); stroke-width: 1; }
.h-gezegen {
  font: 700 8.5px "Segoe UI", Arial, sans-serif;
  fill: var(--lacivert);
  text-anchor: middle;
}
.h-derece {
  font: 400 7px "Consolas", ui-monospace, monospace;
  fill: var(--murekkep-soluk);
  text-anchor: middle;
}
.h-aci-sert { stroke: var(--damga); stroke-width: .9; opacity: .8; }
.h-aci-yumusak { stroke: var(--lacivert); stroke-width: .7; opacity: .5; stroke-dasharray: 4 2; }
.h-asc-cizgi { stroke: var(--murekkep); stroke-width: 1.6; }
.h-asc {
  font: 700 9px "Segoe UI", Arial, sans-serif;
  fill: var(--murekkep);
}
.h-merkez {
  font: 700 15px Georgia, serif;
  fill: var(--damga);
  text-anchor: middle;
}
.h-merkez-alt {
  font: 600 6px "Segoe UI", Arial, sans-serif;
  fill: var(--murekkep-soluk);
  text-anchor: middle;
  letter-spacing: .8px;
}

.harita-tablo-sarma { min-width: 0; }

.veri-tablo.dar { font-size: 12px; margin-top: 0; }
.veri-tablo.dar th { width: auto; white-space: nowrap; }
.veri-tablo.dar thead th {
  background: var(--murekkep);
  color: #fff;
  font-size: 10px;
}

.aci-ozet {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding: 11px 13px;
  background: var(--vurgu-zemin);
  border-left: 3px solid var(--damga);
}
.aci-rakam {
  font: 700 30px/1 Georgia, serif;
  color: var(--damga);
}
.aci-yazi { font-size: 12px; line-height: 1.4; }
.aci-yazi small { color: var(--murekkep-soluk); }

/* ---------------- ölçüm + radar ---------------- */

.olcum-blok {
  display: grid;
  grid-template-columns: 1fr minmax(0, 320px);
  gap: 20px;
  align-items: start;
}
.olcum-blok .skor-listesi { min-width: 0; }
.radar-gorsel { min-width: 0; }

.radar-svg {
  display: block;
  width: 100%;
  height: auto;
}
.r-halka { fill: none; stroke: var(--cerceve); stroke-width: .6; }
.r-halka-dis { fill: none; stroke: var(--cerceve-koyu); stroke-width: 1; }
.r-eksen { stroke: var(--cerceve); stroke-width: .6; }
.r-etiket {
  font: 600 9.5px "Segoe UI", Arial, sans-serif;
  fill: var(--murekkep);
}
.r-referans {
  fill: rgba(120, 120, 120, .13);
  stroke: var(--cerceve-koyu);
  stroke-width: 1;
  stroke-dasharray: 4 3;
}
.r-olcum {
  fill: rgba(163, 35, 31, .22);
  stroke: var(--damga);
  stroke-width: 1.6;
}
.r-nokta { fill: var(--damga); }

/* ---------------- tanık beyanları ---------------- */

.tanik-listesi { display: grid; gap: 12px; }

.tanik {
  margin: 0;
  padding: 14px 16px;
  background: #fbfaf6;
  border: 1px solid var(--cerceve);
  border-left: 3px solid var(--cerceve-koyu);
}
.tanik-beyan {
  margin: 0 0 10px;
  font: italic 400 14.5px/1.6 Georgia, "Times New Roman", serif;
  color: var(--murekkep);
}
.tanik-alt {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  justify-content: space-between;
  align-items: baseline;
  padding-top: 8px;
  border-top: 1px dotted var(--cerceve);
}
.tanik-kim {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--murekkep);
}
.tanik-meta {
  font-size: 10.5px;
  color: var(--murekkep-soluk);
  font-family: "Consolas", ui-monospace, monospace;
}

/* ---------------- gözlem tablosu ---------------- */

.gozlem-tablo, .arsiv-tablo {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 12.5px;
  margin-top: 4px;
}
.gozlem-tablo th, .gozlem-tablo td,
.arsiv-tablo th, .arsiv-tablo td {
  border: 1px solid var(--cerceve);
  padding: 7px 9px;
  text-align: left;
  vertical-align: middle;
}
.gozlem-tablo thead th, .arsiv-tablo thead th {
  background: var(--vurgu-zemin);
  font-size: 10px;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: var(--murekkep-soluk);
  white-space: nowrap;
}
.gozlem-tablo tbody tr:nth-child(odd),
.arsiv-tablo tbody tr:nth-child(odd) { background: #fbfaf6; }

.onem-etiket {
  display: inline-block;
  padding: 2px 7px;
  font: 600 9.5px/1.5 "Segoe UI", Arial, sans-serif;
  letter-spacing: .7px;
  text-transform: uppercase;
  white-space: nowrap;
}
.onem-yuksek { background: var(--damga); color: #fff; }
.onem-orta { background: #e5d7b8; color: #5c4a12; }
.onem-dusuk { background: var(--vurgu-zemin); color: var(--murekkep-soluk); }

/* ---------------- ısı haritası ---------------- */

.grafik-ikili {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.grafik-kart {
  padding: 13px 15px;
  border: 1px solid var(--cerceve);
  background: #fffefb;
  min-width: 0;
}
.grafik-kart h3 {
  margin: 0 0 11px;
  font: 700 10.5px/1.3 "Segoe UI", Arial, sans-serif;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: var(--murekkep-soluk);
}

.isi-harita {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  max-width: 260px;
}
.isi-hucre {
  display: block;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--cerceve);
  background: var(--vurgu-zemin);
}
.isi-hucre.y0 { background: #f2efe7; }
.isi-hucre.y1 { background: #dcd6c4; }
.isi-hucre.y2 { background: #c2a08c; }
.isi-hucre.y3 { background: #b05f52; }
.isi-hucre.y4 { background: var(--damga); border-color: #7d1a17; }

.isi-efsane {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 10px;
  font-size: 10px;
  color: var(--murekkep-soluk);
}
.isi-efsane .isi-hucre {
  width: 11px;
  height: 11px;
  aspect-ratio: auto;
  flex: 0 0 auto;
}

/* ---------------- saatlik grafik ---------------- */

.saat-svg {
  display: block;
  width: 100%;
  height: auto;
}
.g-izgara { stroke: var(--cerceve); stroke-width: .5; }
.g-gece-bandi { fill: rgba(163, 35, 31, .07); }
.g-alan { fill: rgba(29, 53, 87, .13); stroke: none; }
.g-cizgi { fill: none; stroke: var(--lacivert); stroke-width: 1.6; }
.g-tepe-cizgi { stroke: var(--damga); stroke-width: .8; stroke-dasharray: 3 2; }
.g-tepe-nokta { fill: var(--damga); }
.g-tepe-yazi {
  font: 700 9px "Consolas", ui-monospace, monospace;
  fill: var(--damga);
}
.g-eksen-yazi {
  font: 400 8px "Consolas", ui-monospace, monospace;
  fill: var(--murekkep-soluk);
}

/* ---------------- arşiv eşleşme ---------------- */

.esleme-hucre { white-space: nowrap; }
.esleme-bar {
  display: inline-block;
  width: 62px;
  height: 8px;
  margin-right: 7px;
  background: var(--vurgu-zemin);
  border: 1px solid var(--cerceve);
  vertical-align: middle;
}
.esleme-bar span {
  display: block;
  height: 100%;
  background: var(--damga);
}

.durum-etiket {
  display: inline-block;
  padding: 2px 7px;
  border: 1px solid var(--cerceve-koyu);
  font: 600 9.5px/1.5 "Consolas", ui-monospace, monospace;
  letter-spacing: .5px;
  white-space: nowrap;
}

/* ---------------- mevzuat ---------------- */

.mevzuat {
  margin-top: 20px;
  padding: 12px 15px;
  border: 1px dashed var(--cerceve-koyu);
  font-size: 11.5px;
  color: var(--murekkep-soluk);
}
.mevzuat h3 {
  margin: 0 0 7px;
  font: 700 10px/1.3 "Segoe UI", Arial, sans-serif;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--murekkep);
}
.mevzuat ul { margin: 0; padding-left: 18px; }
.mevzuat li { margin: 3px 0; }

/* ---------------- form sayaç şeridi ---------------- */

.sayac-serit {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  margin: 18px 0 0;
  background: var(--cerceve);
  border: 1px solid var(--cerceve);
}
.sayac-hucre {
  flex: 1 1 120px;
  padding: 9px 12px;
  background: var(--vurgu-zemin);
  text-align: center;
}
.sayac-hucre span {
  display: block;
  font-size: 9.5px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--murekkep-soluk);
}
.sayac-hucre b {
  display: block;
  margin-top: 3px;
  font: 700 16px/1.1 Georgia, serif;
}
.sayac-hucre .canli {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 5px;
  border-radius: 50%;
  background: var(--basari);
  vertical-align: 1px;
  animation: nabiz 2s ease-in-out infinite;
}
@keyframes nabiz { 50% { opacity: .25; } }

/* ================================================================ */
/* SEVİYE 2 — GELİŞMİŞ DEĞERLENDİRME                                 */
/* ================================================================ */

.seviye2 {
  --lacivert: #2b2b2b;
  --vurgu-zemin: #ece8e0;
}

.koyu-baslik { border-bottom-color: var(--damga); }

.gizli-damga.kirmizi {
  border-color: var(--damga);
  color: #fff;
  background: var(--damga);
  opacity: 1;
}

.koyu-serit .sayac-hucre { background: #e8e3d9; }
.koyu-serit .sayac-hucre b { color: var(--damga); }

.tehlike-serit {
  margin: 16px 0;
  padding: 10px 14px;
  background: var(--damga);
  color: #fff;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .2px;
}

.ilerleme-bar.koyu span { background: var(--damga); }

/* ---------------- tehlike butonu ---------------- */

.btn.tehlike {
  background: var(--damga);
  border-color: var(--damga);
  color: #fff;
}
.btn.tehlike:hover { background: #821c19; }
.btn.tehlike:disabled { opacity: .5; }
.btn.tehlike:disabled:hover { background: var(--damga); }
.btn.buyuk { padding: 13px 22px; font-size: 14.5px; }

/* ---------------- Seviye 2 daveti ---------------- */

.seviye2-davet {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  margin: 22px 0;
  padding: 15px 17px;
  background: #fbf3f2;
  border: 1px solid #dcb5b2;
  border-left: 3px solid var(--damga);
}
.davet-metin { flex: 1 1 240px; min-width: 0; }
.davet-metin b {
  display: block;
  margin-bottom: 4px;
  font: 700 13.5px/1.3 "Segoe UI", Arial, sans-serif;
  color: var(--damga);
}
.davet-metin p {
  margin: 0;
  font-size: 12.5px;
  color: var(--murekkep-soluk);
}

/* ---------------- uyarı blokları ---------------- */

.uyari-blok {
  margin: 18px 0;
  padding: 15px 17px;
  background: #fbf3f2;
  border: 1px solid #dcb5b2;
}
.uyari-blok.ince { padding: 11px 14px; }
.uyari-ust {
  margin: 0 0 9px;
  font: 700 11.5px/1.3 "Segoe UI", Arial, sans-serif;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--damga);
}
.uyari-blok ul { margin: 0; padding-left: 20px; font-size: 13px; }
.uyari-blok li { margin: 7px 0; }
.uyari-blok p { margin: 0; font-size: 13px; }
.uyari-alt {
  margin-top: 11px;
  padding-top: 10px;
  border-top: 1px dotted #dcb5b2;
  font-size: 12px;
  color: var(--murekkep-soluk);
}

/* ---------------- ikilem kartları ---------------- */

.ikilem-sayac {
  margin: 0 0 12px;
  font: 600 11.5px/1.3 "Consolas", ui-monospace, monospace;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--murekkep-soluk);
}
.ikilem-sayac b { color: var(--damga); font-size: 14px; }

.ikilem-kart {
  margin: 0 0 16px;
  padding: 16px 17px;
  border: 1px solid var(--cerceve-koyu);
  background: #fffefb;
}
.ikilem-kart legend {
  padding: 0 7px;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.5;
}
.ikilem-secenek { margin-top: 11px; }
.ikilem-kart.kilitli { border-color: var(--damga); background: #fbf3f2; }
.ikilem-kart.kilitli .secenek input:disabled + span {
  opacity: .4;
  text-decoration: line-through;
}
.ikilem-not {
  margin: 12px 0 0;
  padding-top: 9px;
  border-top: 1px dotted var(--cerceve);
  font-size: 11px;
  font-style: italic;
  color: var(--murekkep-soluk);
}

/* ---------------- fiyat kaydırıcıları ---------------- */

.fiyat-alan {
  margin: 0 0 20px;
  padding: 14px 16px;
  border: 1px solid var(--cerceve);
  background: #fffefb;
}
.fiyat-soru {
  display: block;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
.fiyat-kontrol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.fiyat-kontrol input[type="range"] {
  flex: 1 1 160px;
  min-width: 0;
  height: 26px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  accent-color: var(--damga);
  cursor: pointer;
}
.fiyat-cikti {
  flex: 0 0 auto;
  min-width: 108px;
  padding: 6px 10px;
  background: var(--vurgu-zemin);
  border: 1px solid var(--cerceve-koyu);
  font: 700 13px/1.2 "Consolas", ui-monospace, monospace;
  text-align: right;
}
.fiyat-cikti.bedelsiz {
  background: var(--damga);
  border-color: var(--damga);
  color: #fff;
  font-size: 11.5px;
}
.fiyat-uclar {
  display: flex;
  justify-content: space-between;
  margin-top: 7px;
  font-size: 10.5px;
  color: var(--murekkep-soluk);
}

/* ---------------- itiraf alanları ---------------- */

.itiraf-alan { margin: 20px 0; }
.tek-harf {
  max-width: 82px;
  text-align: center;
  font: 700 22px/1.2 Georgia, serif;
  text-transform: uppercase;
}

/* ---------------- son onay özeti ---------------- */

.ozet-kutu {
  margin: 18px 0;
  padding: 15px 17px;
  border: 1px solid var(--cerceve-koyu);
  background: #fbfaf6;
}
.ozet-kutu h3 {
  margin: 0 0 11px;
  font: 700 11px/1.3 "Segoe UI", Arial, sans-serif;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.ozet-kutu dl {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 6px 14px;
  margin: 0;
  font-size: 13px;
}
.ozet-kutu dt {
  color: var(--murekkep-soluk);
  font-size: 11.5px;
}
.ozet-kutu dd {
  margin: 0;
  font-weight: 700;
  font-family: "Consolas", ui-monospace, monospace;
  overflow-wrap: anywhere;
}
.ozet-not {
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px dotted var(--cerceve);
  font-size: 11.5px;
  font-style: italic;
  color: var(--murekkep-soluk);
}

/* ---------------- Seviye 2 rapor: sınıf kutusu ---------------- */

.sinif-kutu {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  margin: 14px 0 18px;
  background: var(--damga);
  border: 2px solid var(--damga);
}
.sinif-sol, .sinif-sag {
  flex: 1 1 220px;
  padding: 16px 18px;
  background: #fffefb;
}
.sinif-etiket {
  display: block;
  margin-bottom: 8px;
  font-size: 10px;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: var(--murekkep-soluk);
}
.sinif-kod {
  display: block;
  font: 700 34px/1 Georgia, "Times New Roman", serif;
  color: var(--damga);
  letter-spacing: 1px;
}
.sinif-aciklama {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  color: var(--murekkep-soluk);
}
.sinif-puan {
  display: block;
  font: 700 40px/1 Georgia, serif;
  color: var(--murekkep);
}
.sinif-puan small { font-size: 16px; color: var(--murekkep-soluk); }
.sinif-unvan {
  display: block;
  margin-top: 7px;
  font: 700 16px/1.3 Georgia, serif;
  color: var(--damga);
}

.ek-baslik.koyu-ek { background: var(--damga); }

/* ---------------- ikilem cevap kayıtları ---------------- */

.secim-listesi { display: grid; gap: 11px; }

.secim-kart {
  padding: 13px 15px;
  border: 1px solid var(--cerceve);
  border-left: 3px solid var(--cerceve-koyu);
  background: #fffefb;
}
.secim-kart.ani { border-left-color: var(--damga); background: #fbf3f2; }

.secim-soru {
  margin: 0 0 9px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--murekkep-soluk);
}
.secim-no {
  display: inline-block;
  min-width: 19px;
  margin-right: 7px;
  padding: 1px 5px;
  background: var(--murekkep);
  color: #fff;
  font: 700 10.5px/1.5 "Consolas", ui-monospace, monospace;
  text-align: center;
}
.secim-cevap {
  margin: 0 0 8px;
  font: italic 400 14.5px/1.55 Georgia, "Times New Roman", serif;
}
.secim-sure {
  margin: 0;
  padding-top: 8px;
  border-top: 1px dotted var(--cerceve);
  font-size: 11.5px;
  font-family: "Consolas", ui-monospace, monospace;
  color: var(--murekkep-soluk);
}
.ani-etiket {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 7px;
  background: var(--damga);
  color: #fff;
  font: 600 9.5px/1.6 "Segoe UI", Arial, sans-serif;
  letter-spacing: 1px;
}

/* ---------------- tepki süresi grafiği ---------------- */

.tepki-svg { display: block; width: 100%; height: auto; }
.t-bar { fill: var(--lacivert); }
.t-bar-ani { fill: var(--damga); }
.t-esik { stroke: var(--damga); stroke-width: 1; stroke-dasharray: 4 3; }
.t-ortalama { stroke: var(--murekkep); stroke-width: .9; stroke-dasharray: 2 3; }

.sure-tablo { font-size: 12.5px; }
.sure-tablo th { width: 52%; white-space: normal; }

/* ---------------- fiyat karşılaştırma ---------------- */

.fiyat-listesi { display: grid; gap: 16px; }

.fiyat-satir {
  padding: 13px 15px;
  border: 1px solid var(--cerceve);
  background: #fffefb;
}
.fiyat-metin {
  margin: 0 0 11px;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.5;
}
.fiyat-cubuk {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 6px;
  font-size: 11px;
}
.fiyat-etiket {
  flex: 0 0 104px;
  color: var(--murekkep-soluk);
  letter-spacing: .3px;
}
.fiyat-ray {
  flex: 1 1 auto;
  min-width: 0;
  height: 12px;
  background: var(--vurgu-zemin);
  border: 1px solid var(--cerceve);
}
.fiyat-dolu { display: block; height: 100%; background: var(--damga); }
.fiyat-dolu.piyasa {
  background: repeating-linear-gradient(
    45deg, var(--cerceve-koyu), var(--cerceve-koyu) 4px,
    #a09a8c 4px, #a09a8c 8px
  );
}
.fiyat-dolu.band-bedava { background: #7d1a17; }
.fiyat-dolu.band-satmaz { background: var(--basari); }
.fiyat-tutar {
  flex: 0 0 auto;
  min-width: 84px;
  text-align: right;
  font-family: "Consolas", ui-monospace, monospace;
  font-size: 11.5px;
}
.fiyat-yorum {
  margin: 10px 0 0;
  padding-top: 9px;
  border-top: 1px dotted var(--cerceve);
  font-size: 11.5px;
  color: var(--murekkep-soluk);
}
.fiyat-band {
  display: inline-block;
  margin-right: 7px;
  padding: 1px 7px;
  font: 600 9.5px/1.6 "Segoe UI", Arial, sans-serif;
  letter-spacing: 1px;
  white-space: nowrap;
}
.fiyat-band.band-bedava { background: #7d1a17; color: #fff; }
.fiyat-band.band-ucuz { background: var(--damga); color: #fff; }
.fiyat-band.band-normal { background: var(--vurgu-zemin); color: var(--murekkep-soluk); }
.fiyat-band.band-pahali { background: #e5d7b8; color: #5c4a12; }
.fiyat-band.band-satmaz { background: var(--basari); color: #fff; }

/* ---------------- itiraf bloğu ---------------- */

.itiraf-blok { margin: 18px 0; }
.itiraf-giris {
  margin: 0 0 11px;
  font-size: 12.5px;
  color: var(--murekkep-soluk);
}
.itiraf-alinti {
  margin: 0;
  padding: 18px 20px;
  background: #fbf3f2;
  border: 1px solid #dcb5b2;
  border-left: 4px solid var(--damga);
}
.itiraf-alinti p {
  margin: 0 0 12px;
  font: italic 400 clamp(15px, 2.4vw, 18px)/1.6 Georgia, "Times New Roman", serif;
  overflow-wrap: anywhere;
}
.itiraf-alinti footer {
  padding-top: 10px;
  border-top: 1px dotted #dcb5b2;
  font-size: 10.5px;
  font-family: "Consolas", ui-monospace, monospace;
  color: var(--murekkep-soluk);
}
.itiraf-yorum {
  margin: 11px 0 0;
  font-size: 12.5px;
  font-style: italic;
  color: var(--murekkep-soluk);
}

/* ---------------- sicil ihlalleri ---------------- */

.ihlal-liste {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: ihlal;
}
.ihlal-liste li {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 11px 0;
  border-bottom: 1px dotted var(--cerceve);
  font-size: 13px;
  line-height: 1.55;
}
.ihlal-liste li:last-child { border-bottom: none; }
.ihlal-kod {
  flex: 0 0 auto;
  padding: 2px 7px;
  background: var(--damga);
  color: #fff;
  font: 700 10px/1.6 "Consolas", ui-monospace, monospace;
  letter-spacing: .5px;
}

.kapanis-notu.tehlike-notu {
  background: #fbf3f2;
  border-left-color: var(--damga);
}

/* ---------------- mobil ---------------- */

/* Tablet ve telefon yatay modu: iki kolonlu kanıt blokları sıkışmadan iner */
@media (max-width: 760px) {
  .kimlik-blok, .harita-blok, .olcum-blok {
    grid-template-columns: 1fr;
  }
  .harita-gorsel, .radar-gorsel {
    max-width: 340px;
    margin-inline: auto;
  }
  .biyometrik {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 14px;
    align-items: center;
    text-align: left;
  }
  .biyometrik h3 { grid-column: 1 / -1; margin-bottom: 0; }
  .biyometrik .izi-svg { margin: 0; }
  .biyometrik-not { grid-column: 1 / -1; margin-top: 0; }
}

@media (max-width: 560px) {
  body { padding-inline: 10px; padding-block: 14px; }

  .evrak-baslik { flex-wrap: wrap; gap: 12px; }
  .baslik-sag { text-align: left; width: 100%; }
  .gizli-damga { margin-bottom: 0; }

  .alan-grid { grid-template-columns: 1fr; }

  .ust-tablo, .ust-tablo tr, .ust-tablo th, .ust-tablo td,
  .veri-tablo, .veri-tablo tr, .veri-tablo th, .veri-tablo td {
    display: block;
    width: auto;
  }
  .ust-tablo th, .veri-tablo th {
    border-bottom: none;
    white-space: normal;
  }
  .ust-tablo td, .veri-tablo td { border-top: none; }
  .ust-tablo tr, .veri-tablo tr { margin-bottom: 8px; }

  /* Gezegen tablosu başlıklı gerçek bir tablodur; yukarıdaki
     etiket/değer yığma kuralının dışında tutulur. */
  .veri-tablo.dar { display: table; width: 100%; }
  .veri-tablo.dar thead { display: table-header-group; }
  .veri-tablo.dar tbody { display: table-row-group; }
  .veri-tablo.dar tr { display: table-row; margin: 0; }
  .veri-tablo.dar th, .veri-tablo.dar td {
    display: table-cell;
    width: auto;
    border: 1px solid var(--cerceve);
    white-space: normal;
  }
  .veri-tablo.dar th { background: var(--vurgu-zemin); }
  .veri-tablo.dar thead th { background: var(--murekkep); }

  .genel-skor { font-size: 38px; }
  .asama-alt { justify-content: stretch; }
  .asama-alt .btn { flex: 1 1 auto; text-align: center; }

  /* Kanıt bölümleri tek kolona iner */
  .kimlik-blok, .harita-blok, .olcum-blok, .grafik-ikili {
    grid-template-columns: 1fr;
  }
  /* Dar ekranda biyometrik kutu tek kolona döner */
  .biyometrik { display: block; max-width: 100%; text-align: center; }
  .biyometrik h3 { margin-bottom: 9px; }
  .biyometrik .izi-svg { margin: 0 auto 10px; }
  .biyometrik dl { text-align: left; }
  .biyometrik-not { margin-top: 10px; }

  .harita-gorsel { max-width: 340px; margin: 0 auto; }
  .radar-gorsel { max-width: 330px; margin: 0 auto; }
  .isi-harita { max-width: 100%; }

  /* Üç hücre iki kolona sığmadığı için son hücre tam genişlik alır,
     yoksa yanında boş bir ızgara alanı kalıyor. */
  .burc-kutu { grid-template-columns: 1fr 1fr; }
  .burc-hucre:last-child { grid-column: 1 / -1; }

  .ek-baslik { letter-spacing: 1px; font-size: 12px; }
  .tanik-beyan { font-size: 14px; }
  .tanik-alt { flex-direction: column; gap: 4px; }

  /* Geniş tablolar yatay kaydırma kutusunda kalır */
  .gozlem-tablo, .arsiv-tablo { min-width: 440px; }
  .kayit-tablo { min-width: 560px; }

  .aci-ozet { margin-top: 14px; }
  .sayac-hucre { flex: 1 1 90px; padding: 8px 9px; }
  .sayac-hucre b { font-size: 14px; }

  /* --- Seviye 2 --- */
  .sinif-kutu { flex-direction: column; }
  .sinif-kod { font-size: 28px; }
  .sinif-puan { font-size: 34px; }

  .ozet-kutu dl { grid-template-columns: 1fr; gap: 2px; }
  .ozet-kutu dt { margin-top: 8px; }

  /* Fiyat çubukları dar ekranda alt alta iner */
  .fiyat-cubuk { flex-wrap: wrap; gap: 5px 9px; }
  .fiyat-etiket { flex: 1 1 100%; }
  .fiyat-ray { flex: 1 1 auto; }
  .fiyat-tutar { min-width: 72px; }

  .seviye2-davet { flex-direction: column; align-items: stretch; }
  .seviye2-davet .btn { text-align: center; }

  .fiyat-cikti { flex: 1 1 100%; min-width: 0; text-align: center; }
  .ikilem-kart legend { font-size: 13.5px; }

  .ihlal-liste li { flex-wrap: wrap; gap: 6px; }
}

/* Çok dar ekranlar (küçük telefonlar) */
@media (max-width: 380px) {
  .sayfa { padding-inline: 12px; }
  .harita-svg, .radar-svg { min-width: 0; }
  .isi-harita { gap: 3px; }
  .gizli-damga { font-size: 11px; letter-spacing: 1.8px; }
  .baslik-metin h1 { font-size: 15px; }
}

/* ---------------- yazdırma ---------------- */

@media print {
  @page { size: A4; margin: 12mm; }

  body {
    padding: 0;
    background: #fff;
    font-size: 10.5pt;
  }
  .sayfa {
    max-width: none;
    border: none;
    box-shadow: none;
    padding: 0;
  }
  .rapor-eylemler, .detay-ac, .sil-btn, .admin-ust,
  .seviye2-davet, .kaydir-ipucu { display: none !important; }

  .bolum-baslik { margin: 14px 0 8px; }
  .skor-satir { padding: 7px 0; break-inside: avoid; }
  .genel-kutu, .imza-alani, .burc-kutu, .kapanis-notu { break-inside: avoid; }
  .analiz-metin p { margin-bottom: 8px; }
  a[href]::after { content: ""; }

  /* Kanıt bölümleri: ekler yeni sayfadan başlar, görseller bölünmez */
  .ek-baslik { break-before: page; margin-top: 0; }
  .tanik, .grafik-kart, .harita-blok, .olcum-blok, .kimlik-blok,
  .mevzuat, .aci-ozet, figure { break-inside: avoid; }
  .gozlem-tablo tr, .arsiv-tablo tr, .kayit-tablo tr { break-inside: avoid; }

  /* Yazdırmada yatay kaydırma yok, tablolar tam genişlikte */
  .tablo-sarma { overflow: visible; }
  .gozlem-tablo, .arsiv-tablo { min-width: 0; font-size: 9pt; }

  .harita-gorsel { max-width: 300px; }
  .radar-gorsel { max-width: 290px; }

  /* Seviye 2 bölümleri de bölünmesin */
  .secim-kart, .fiyat-satir, .itiraf-alinti, .sinif-kutu,
  .ihlal-liste li, .uyari-blok { break-inside: avoid; }

  /* Renkli göstergeler kağıda da geçsin */
  .skor-bar span, .genel-skor, .skor-ad em, .gizli-damga,
  .isi-hucre, .esleme-bar span, .onem-etiket, .ek-baslik,
  .h-aci-sert, .r-olcum, .g-alan, .g-gece-bandi, .kayit-tablo thead th,
  .tehlike-serit, .sinif-kod, .sinif-puan, .ani-etiket, .ihlal-kod,
  .fiyat-dolu, .fiyat-band, .t-bar, .t-bar-ani, .itiraf-alinti {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* Admin: kayıt tipi etiketleri */
.tip-etiket {
  display: inline-block;
  padding: 2px 6px;
  font: 700 9.5px/1.6 "Consolas", ui-monospace, monospace;
  letter-spacing: .5px;
}
.tip-s1 { background: var(--vurgu-zemin); color: var(--murekkep-soluk); }
.tip-s2 { background: var(--damga); color: #fff; }
.kayit-tablo tr.satir-seviye2 td { background: #fdf6f5; }
