/* HacizOnay arayüz stilleri — harici kaynak yok, tek dosya. */

:root {
  --lacivert: #1e3a5f;
  --lacivert-koyu: #16293f;
  --mavi: #2563eb;
  --yesil: #15803d;
  --yesil-acik: #dcfce7;
  --kirmizi: #b91c1c;
  --kirmizi-acik: #fee2e2;
  --amber: #b45309;
  --amber-acik: #fef3c7;
  --gri: #64748b;
  --cizgi: #e2e8f0;
  --zemin: #f1f5f9;
  --kart: #ffffff;
  --metin: #0f172a;
}

* { box-sizing: border-box; }

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

.gizli { display: none !important; }

/* ---------------- üst çubuk ---------------- */

#ust {
  display: flex;
  align-items: center;
  gap: 24px;
  background: var(--lacivert);
  color: #fff;
  padding: 0 20px;
  min-height: 52px;
  flex-wrap: wrap;
}
.marka { font-weight: 700; font-size: 17px; letter-spacing: 0.3px; }
.ust-daire { font-weight: 400; font-size: 13px; opacity: 0.85; }
#menu { display: flex; gap: 4px; flex: 1; flex-wrap: wrap; }
#menu a {
  color: #dbe6f3;
  text-decoration: none;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 14px;
}
#menu a:hover { background: var(--lacivert-koyu); color: #fff; }
#menu a.aktif { background: var(--lacivert-koyu); color: #fff; font-weight: 600; }
.kim { display: flex; align-items: center; gap: 8px; font-size: 13px; }

/* ---------------- bildirim bandı ---------------- */

#banner {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--amber-acik);
  border-bottom: 2px solid var(--amber);
  color: var(--amber);
  font-weight: 600;
  padding: 10px 20px;
}

/* ---------------- genel yerleşim ---------------- */

.sayfa { max-width: 1080px; margin: 0 auto; padding: 20px 16px 60px; }
.orta-kutu { display: flex; justify-content: center; padding: 8vh 16px; }
.giris-karti { width: 100%; max-width: 420px; }
.giris-baslik { margin: 0 0 2px; color: var(--lacivert); }

.kart {
  background: var(--kart);
  border: 1px solid var(--cizgi);
  border-radius: 10px;
  padding: 18px 20px;
  margin-bottom: 16px;
}
.kart h1, .kart h2, .kart h3 { margin-top: 0; }
.kart h2 { font-size: 19px; }
.kart h3 { font-size: 15px; color: var(--lacivert); }

.soluk { color: var(--gri); }
.kucuk-metin { font-size: 13px; }
.sag { text-align: right; }
.kod {
  background: #0f172a;
  color: #e2e8f0;
  border-radius: 8px;
  padding: 12px;
  overflow-x: auto;
  font-size: 13px;
}

/* ---------------- form ---------------- */

label { display: block; font-size: 13px; font-weight: 600; margin: 12px 0 4px; color: #334155; }
input, select, textarea {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 7px;
  font: inherit;
  background: #fff;
  color: var(--metin);
}
input:focus, select:focus, textarea:focus { outline: 2px solid var(--mavi); outline-offset: -1px; }
.onay-kutusu { display: flex; align-items: center; gap: 8px; font-weight: 400; }
.onay-kutusu input { width: auto; }

.form-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 16px; }
.form-bolum { border-top: 1px solid var(--cizgi); margin-top: 16px; padding-top: 4px; }
.buton-satiri { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.filtre-satiri { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.filtre-satiri input, .filtre-satiri select { width: auto; flex: 1; min-width: 140px; }

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

.btn {
  font: inherit;
  border: 1px solid transparent;
  border-radius: 7px;
  padding: 9px 16px;
  cursor: pointer;
  font-weight: 600;
}
.btn:disabled { opacity: 0.6; cursor: wait; }
.btn.birincil { background: var(--lacivert); color: #fff; }
.btn.birincil:hover:not(:disabled) { background: var(--lacivert-koyu); }
.btn.ikincil { background: #fff; color: var(--lacivert); border-color: #cbd5e1; }
.btn.ikincil:hover:not(:disabled) { background: var(--zemin); }
.btn.tehlike { background: var(--kirmizi); color: #fff; }
.btn.kucuk { padding: 4px 10px; font-size: 13px; }
.btn.genis { width: 100%; margin-top: 16px; }
.btn.baglanti { background: none; border: none; color: var(--mavi); padding: 0; font-weight: 400; text-decoration: underline; }
.alt-baglanti { margin-top: 14px; text-align: center; }

/* ---------------- rozet ve durum ---------------- */

.rozet {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.rozet-uygun { background: var(--yesil-acik); color: var(--yesil); }
.rozet-uygun-degil { background: var(--kirmizi-acik); color: var(--kirmizi); }
.rozet-takdir { background: var(--amber-acik); color: var(--amber); }
.rozet-override { background: var(--kirmizi); color: #fff; }

.durum { font-weight: 600; font-size: 13px; white-space: nowrap; }
.durum-bekliyor { color: var(--amber); }
.durum-onaylandi { color: var(--yesil); }
.durum-reddedildi { color: var(--kirmizi); }
.durum-iptal { color: var(--gri); }

.rozet-canli {
  margin-top: 16px;
  padding: 12px;
  background: var(--zemin);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* ---------------- tablo ---------------- */

.tablo-sar { overflow-x: auto; }
.tablo { width: 100%; border-collapse: collapse; font-size: 14px; }
.tablo th {
  text-align: left;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--gri);
  border-bottom: 2px solid var(--cizgi);
  padding: 8px 10px;
}
.tablo th.sag { text-align: right; }
.tablo td { border-bottom: 1px solid var(--cizgi); padding: 8px 10px; vertical-align: middle; }
.tablo.dar td { padding: 4px 6px; }
tr.tiklanir { cursor: pointer; }
tr.tiklanir:hover { background: var(--zemin); }

/* ---------------- panel özetleri ---------------- */

.ozet-kutular { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-bottom: 16px; }
.ozet { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 10px; padding: 14px 18px; }
.ozet-sayi { font-size: 30px; font-weight: 700; color: var(--lacivert); }
.ozet-ad { font-size: 13px; color: var(--gri); }

/* ---------------- detay ---------------- */

.detay-baslik { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.bilgi-satir { display: flex; gap: 12px; padding: 4px 0; }
.bilgi-ad { min-width: 170px; color: var(--gri); font-size: 13px; }
.bilgi-deger { font-weight: 500; }

.karar-secim { display: flex; gap: 24px; margin: 8px 0; }
.karar-onay { color: var(--yesil); font-weight: 700; }
.karar-red { color: var(--kirmizi); font-weight: 700; }
.karar-karti { border: 2px solid var(--lacivert); }

/* ---------------- uyarı / hata / başarı ---------------- */

.hata {
  background: var(--kirmizi-acik);
  color: var(--kirmizi);
  border: 1px solid var(--kirmizi);
  border-radius: 8px;
  padding: 10px 12px;
  margin: 12px 0;
  font-weight: 600;
}
.basari {
  background: var(--yesil-acik);
  color: var(--yesil);
  border: 1px solid var(--yesil);
  border-radius: 8px;
  padding: 10px 12px;
  margin: 12px 0;
  font-weight: 600;
}
.uyari-buyuk {
  background: var(--kirmizi-acik);
  border: 2px solid var(--kirmizi);
  color: var(--kirmizi);
  border-radius: 8px;
  padding: 12px 14px;
  margin: 12px 0;
  font-size: 14px;
}

.toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 50;
  padding: 12px 18px;
  border-radius: 8px;
  font-weight: 600;
  color: #fff;
  background: var(--yesil);
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.25);
}
.toast.uyari { background: var(--amber); }
.toast.kotu { background: var(--kirmizi); }

/* ---------------- yönetim ekranları (Faz 2) ---------------- */

.gecici-sifre {
  font-family: "Liberation Mono", Consolas, monospace;
  font-size: 20px;
  letter-spacing: 2px;
  background: var(--amber-acik);
  border: 2px dashed var(--amber);
  border-radius: 8px;
  padding: 8px 14px;
  margin: 8px 0;
  display: inline-block;
  user-select: all;
}
.islem-hucre { white-space: nowrap; }
.islem-hucre select { width: auto; }

/* ---------------- ekler ---------------- */

.ek-satir {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px solid var(--cizgi);
  flex-wrap: wrap;
}
.ek-ad { font-weight: 500; }
.ek-onizleme img {
  max-width: 100%;
  border: 1px solid var(--cizgi);
  border-radius: 8px;
  margin: 8px 0;
}

/* ---------------- panel istatistikleri (Faz 3) ---------------- */

.grafik-kutular { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 12px; }
.grafik-kart h3 { margin-bottom: 10px; }
.grafik-satir { display: grid; grid-template-columns: 110px 1fr 40px; gap: 10px; align-items: center; margin: 7px 0; }
.grafik-etiket { font-size: 12px; color: var(--gri); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.grafik-iz { background: var(--zemin); border-radius: 4px; height: 14px; overflow: hidden; }
.grafik-cubuk { background: var(--mavi); height: 100%; border-radius: 0 4px 4px 0; min-width: 2px; }
.grafik-deger { font-size: 12px; font-weight: 600; text-align: right; color: var(--metin); }

/* Tutanak ekranda görünmez; yalnızca yazdırmada (print.css) görünür. */
#tutanak { display: none; }

@media (max-width: 640px) {
  #ust { padding: 8px 12px; }
  .bilgi-satir { flex-direction: column; gap: 0; }
  .karar-secim { flex-direction: column; gap: 8px; }
}
