/* Storibu Panel: uygulamayla aynı renk kimliği (lacivert zemin, mavi vurgu, turuncu kelime rengi) */
:root {
  --arka: #0b1020;
  --yuzey: #121a2e;
  --yuzey-2: #19223a;
  --yuzey-3: #222c48;
  --kenar: rgba(255, 255, 255, 0.08);
  --kenar-2: rgba(255, 255, 255, 0.14);
  --yazi: #e8ecf5;
  --yazi-2: #9aa4bd;
  --yazi-3: #64708d;
  --mavi: #3d8bff;
  --mavi-2: #7db2ff;
  --mavi-soluk: rgba(61, 139, 255, 0.14);
  --turuncu: #ff8a3d;
  --turuncu-soluk: rgba(255, 138, 61, 0.14);
  --yesil: #3ecf8e;
  --yesil-soluk: rgba(62, 207, 142, 0.14);
  --kirmizi: #ff6b6b;
  --kirmizi-soluk: rgba(255, 107, 107, 0.14);
  --r: 12px;
  --r-b: 18px;
  --golge: 0 10px 30px rgba(0, 0, 0, 0.35);
  --yazi-tipi: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--arka);
  color: var(--yazi);
  font: 14px/1.55 var(--yazi-tipi);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--mavi-2); text-decoration: none; }
a:hover { color: #a9cbff; }
h1, h2, h3 { margin: 0; line-height: 1.25; }
h1 { font-size: 24px; font-weight: 800; letter-spacing: -0.01em; }
h2 { font-size: 16px; font-weight: 700; }
h3 { font-size: 14px; font-weight: 700; }
code, .mono { font-family: 'JetBrains Mono', ui-monospace, Consolas, monospace; font-size: 12.5px; }
.ikon { flex: none; vertical-align: -3px; }
.soluk { color: var(--yazi-2); }
.cok-soluk { color: var(--yazi-3); }
.kucuk { font-size: 12.5px; }

/* ── Düzen ── */
.duzen { display: grid; grid-template-columns: 236px 1fr; min-height: 100vh; }
.kenar-cubuk {
  position: sticky; top: 0; height: 100vh;
  display: flex; flex-direction: column; gap: 4px;
  padding: 20px 14px;
  background: var(--yuzey);
  border-right: 1px solid var(--kenar);
}
.logo { display: flex; align-items: center; gap: 10px; padding: 4px 8px 20px; font-weight: 800; font-size: 17px; color: var(--yazi); }
.logo-isaret {
  width: 32px; height: 32px; border-radius: 10px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--mavi), #1e3a8a);
  color: #fff;
}
.logo-kus { width: 38px; height: 38px; object-fit: contain; }
.logo-yazi { display: block; height: 20px; width: auto; }
.mobil-logo { height: 20px; width: auto; }
.giris-marka { display: flex; flex-direction: column; align-items: center; gap: 10px; padding-bottom: 26px; }
.giris-kus { width: 84px; height: 84px; object-fit: contain; }
.giris-logo { height: 30px; width: auto; }
.giris-marka small { color: var(--yazi-3); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.logo small { display: block; margin-top: 3px; font-size: 11px; font-weight: 600; color: var(--yazi-3); letter-spacing: 0.06em; text-transform: uppercase; }
.menu a {
  display: flex; align-items: center; gap: 11px;
  padding: 9px 11px; border-radius: 10px;
  color: var(--yazi-2); font-weight: 600;
}
.menu a:hover { background: var(--yuzey-2); color: var(--yazi); }
.menu a.aktif { background: var(--mavi-soluk); color: var(--mavi-2); }
.menu .sayac { margin-left: auto; font-size: 11px; font-weight: 800; padding: 1px 7px; border-radius: 99px; background: var(--turuncu); color: #fff; }
.kenar-alt { margin-top: auto; border-top: 1px solid var(--kenar); padding-top: 12px; }
.kullanici { display: flex; align-items: center; gap: 10px; padding: 6px 8px; color: var(--yazi-2); font-size: 13px; }
.avatar { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--yuzey-3); color: var(--yazi); font-weight: 800; text-transform: uppercase; }

.ana { min-width: 0; padding: 28px 32px 60px; }
.sayfa-ust { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; flex-wrap: wrap; }
.sayfa-ust p { margin: 4px 0 0; color: var(--yazi-2); }
.mobil-ust { display: none; }

/* ── Kartlar ── */
.kart { background: var(--yuzey); border: 1px solid var(--kenar); border-radius: var(--r-b); padding: 20px; }
.kart + .kart { margin-top: 16px; }
.izgara > .kart, .izgara > form.kart { margin-top: 0; }
.kart-ust { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.izgara { display: grid; gap: 16px; }
.izgara-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.izgara-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.izgara-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.izgara-ana { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; }

.stat { display: flex; flex-direction: column; gap: 6px; }
.stat-ust { display: flex; align-items: center; gap: 8px; color: var(--yazi-2); font-weight: 600; font-size: 13px; }
.stat-ikon { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; }
.stat-deger { font-size: 28px; font-weight: 800; letter-spacing: -0.02em; }
.stat-alt { color: var(--yazi-3); font-size: 12.5px; }
.ton-mavi { background: var(--mavi-soluk); color: var(--mavi-2); }
.ton-turuncu { background: var(--turuncu-soluk); color: var(--turuncu); }
.ton-yesil { background: var(--yesil-soluk); color: var(--yesil); }
.ton-kirmizi { background: var(--kirmizi-soluk); color: var(--kirmizi); }

/* ── Butonlar ── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 38px; padding: 0 16px; border-radius: 10px;
  border: 1px solid var(--kenar-2); background: var(--yuzey-2); color: var(--yazi);
  font: 600 13.5px var(--yazi-tipi); cursor: pointer; white-space: nowrap;
  transition: background .15s, border-color .15s, transform .05s;
}
.btn:hover { background: var(--yuzey-3); color: var(--yazi); }
.btn:active { transform: translateY(1px); }
.btn-ana { background: var(--mavi); border-color: var(--mavi); color: #fff; }
.btn-ana:hover { background: #2f7cf0; color: #fff; }
.btn-turuncu { background: var(--turuncu); border-color: var(--turuncu); color: #fff; }
.btn-turuncu:hover { background: #f47b2c; color: #fff; }
.btn-yesil { background: var(--yesil); border-color: var(--yesil); color: #06261a; }
.btn-tehlike { color: var(--kirmizi); border-color: rgba(255, 107, 107, 0.35); background: transparent; }
.btn-tehlike:hover { background: var(--kirmizi-soluk); color: var(--kirmizi); }
.btn-sade { background: transparent; border-color: transparent; color: var(--yazi-2); }
.btn-sade:hover { background: var(--yuzey-2); }
.btn-kucuk { height: 30px; padding: 0 11px; font-size: 12.5px; border-radius: 8px; }
.btn-genis { width: 100%; height: 44px; font-size: 14.5px; }
.btn[disabled] { opacity: .45; cursor: not-allowed; }
.butonlar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

/* ── Form ── */
label { display: block; font-weight: 600; font-size: 13px; color: var(--yazi-2); margin-bottom: 6px; }
.alan + .alan { margin-top: 14px; }
.izgara > .alan { margin-top: 0; }
.ipucu { font-size: 12px; color: var(--yazi-3); margin-top: 5px; }
input[type=text], input[type=password], input[type=number], input[type=search], select, textarea {
  width: 100%; padding: 9px 12px; border-radius: 10px;
  border: 1px solid var(--kenar-2); background: var(--arka); color: var(--yazi);
  font: 14px var(--yazi-tipi); outline: none; transition: border-color .15s, box-shadow .15s;
}
textarea { resize: vertical; min-height: 84px; line-height: 1.5; }
input:focus, select:focus, textarea:focus { border-color: var(--mavi); box-shadow: 0 0 0 3px var(--mavi-soluk); }
input[type=color] { width: 44px; height: 38px; padding: 3px; border-radius: 10px; border: 1px solid var(--kenar-2); background: var(--arka); cursor: pointer; }
select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%239aa4bd' stroke-width='2'%3E%3Cpath d='m3 4.5 3 3 3-3'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px; }
.secim-grubu { display: flex; flex-wrap: wrap; gap: 8px; }
.secim-grubu input { position: absolute; opacity: 0; pointer-events: none; }
.secim-grubu label {
  margin: 0; padding: 9px 14px; border-radius: 10px; cursor: pointer;
  border: 1px solid var(--kenar-2); background: var(--yuzey-2); color: var(--yazi-2);
  font-weight: 700; transition: all .12s;
}
.secim-grubu label small { display: block; font-weight: 500; color: var(--yazi-3); font-size: 11.5px; }
.secim-grubu input:checked + label { border-color: var(--mavi); background: var(--mavi-soluk); color: var(--yazi); }
.secim-grubu input:focus-visible + label { box-shadow: 0 0 0 3px var(--mavi-soluk); }
.onay { display: flex; align-items: center; gap: 10px; cursor: pointer; font-weight: 600; color: var(--yazi); margin: 0; }
.onay input { width: 18px; height: 18px; accent-color: var(--mavi); }
.filtreler { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.filtreler > * { width: auto; min-width: 140px; }
.filtreler input[type=search] { min-width: 220px; flex: 1; }

/* ── Rozetler ── */
.rozet { display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border-radius: 99px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.rozet-gri { background: var(--yuzey-3); color: var(--yazi-2); }
.rozet-mavi { background: var(--mavi-soluk); color: var(--mavi-2); }
.rozet-yesil { background: var(--yesil-soluk); color: var(--yesil); }
.rozet-kirmizi { background: var(--kirmizi-soluk); color: var(--kirmizi); }
.rozet-turuncu { background: var(--turuncu-soluk); color: var(--turuncu); }
.rozet-mavi::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: nabiz 1.2s infinite; }
@keyframes nabiz { 50% { opacity: .3; } }
.seviye { display: inline-block; min-width: 30px; text-align: center; padding: 2px 6px; border-radius: 6px; background: var(--yuzey-3); color: var(--yazi); font-weight: 800; font-size: 11.5px; letter-spacing: .03em; }

/* ── Tablo ── */
.tablo-kap { overflow-x: auto; margin: 0 -20px -20px; }
table { width: 100%; border-collapse: collapse; }
th { text-align: left; font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--yazi-3); font-weight: 700; padding: 10px 20px; border-bottom: 1px solid var(--kenar); }
td { padding: 12px 20px; border-bottom: 1px solid var(--kenar); vertical-align: middle; }
tr:last-child td { border-bottom: 0; }
tbody tr:hover td { background: rgba(255, 255, 255, 0.02); }
.sag { text-align: right; }

/* ── Kapaklar ── */
.kapak { position: relative; overflow: hidden; flex: none; border-radius: 8px; background: var(--yuzey-3); box-shadow: 0 6px 16px rgba(0,0,0,.35); }
.kapak img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kapak-mini { width: 38px; height: 54px; border-radius: 5px; }
.kapak-orta { width: 120px; height: 170px; }
.kapak-buyuk { width: 200px; height: 284px; border-radius: 12px; }
.kapak-yedek { display: flex; flex-direction: column; gap: 6px; padding: 10px; color: #fff; }
.kapak-yedek::after { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 9%; background: linear-gradient(90deg, rgba(0,0,0,.3), transparent); }
.kapak-seviye { align-self: flex-start; font-size: 9px; font-weight: 800; padding: 1px 5px; border-radius: 4px; background: rgba(0,0,0,.25); }
.kapak-baslik { font-weight: 800; font-size: 12px; line-height: 1.2; text-shadow: 0 1px 4px rgba(0,0,0,.3); }
.kapak-mini .kapak-seviye, .kapak-mini .kapak-baslik { display: none; }
.kapak-buyuk .kapak-baslik { font-size: 20px; }
.kapak-buyuk .kapak-seviye { font-size: 11px; }

.kitap-satir { display: flex; align-items: center; gap: 12px; }
.kitap-satir b { display: block; color: var(--yazi); }

/* Kitap ızgarası */
.kitap-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 22px 18px; }
.kitap-kart { display: flex; flex-direction: column; gap: 8px; color: var(--yazi); }
.kitap-kart .kapak { width: 100%; height: auto; aspect-ratio: 1 / 1.42; transition: transform .15s; }
.kitap-kart:hover .kapak { transform: translateY(-3px); }
.kitap-kart b { font-size: 14px; line-height: 1.3; }
.kitap-kart:hover { color: var(--yazi); }
.kitap-meta { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; font-size: 12px; color: var(--yazi-3); }

/* ── Kitap detay ── */
.kitap-bas { display: flex; gap: 26px; align-items: flex-start; }
.kitap-bas-bilgi { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.kitap-bas-bilgi h1 { font-size: 28px; }
.ozellikler { display: flex; flex-wrap: wrap; gap: 18px; color: var(--yazi-2); font-size: 13px; }
.ozellikler b { color: var(--yazi); }

.kapsam-cubuk { height: 8px; border-radius: 4px; background: var(--yuzey-3); overflow: hidden; }
.kapsam-cubuk span { display: block; height: 100%; background: var(--yesil); border-radius: 4px; }
.eksik-liste { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.eksik-liste span { padding: 2px 8px; border-radius: 6px; background: var(--kirmizi-soluk); color: var(--kirmizi); font-size: 12.5px; font-weight: 600; }

.bolum-baslik { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--yazi-3); margin: 6px 0 10px; }
.blok { display: grid; grid-template-columns: 34px 1fr auto; gap: 10px 14px; padding: 12px 14px; border-radius: var(--r); border: 1px solid transparent; }
.blok:hover { background: var(--yuzey-2); border-color: var(--kenar); }
.blok:target { border-color: var(--mavi); background: var(--mavi-soluk); }
.blok-no { color: var(--yazi-3); font-size: 12px; font-weight: 700; padding-top: 2px; }
.blok-metin { font-size: 15.5px; line-height: 1.6; }
.blok-metin .konusmaci { color: var(--mavi-2); font-weight: 800; margin-right: 4px; }
.blok-metin .eksik { color: var(--kirmizi); text-decoration: underline wavy rgba(255, 107, 107, .6); text-underline-offset: 3px; }
.blok-ceviri { color: var(--yazi-2); font-size: 13.5px; margin-top: 4px; }
.blok-duzen { grid-column: 2 / 4; display: none; }
.blok.duzenleniyor .blok-duzen { display: block; }
.blok.duzenleniyor .blok-goster { display: none; }
.blok-duzen .izgara { grid-template-columns: 70px 1fr; gap: 10px; }

/* ── İş günlüğü ── */
.gunluk { white-space: pre-wrap; background: var(--arka); border: 1px solid var(--kenar); border-radius: 10px; padding: 12px 14px; max-height: 260px; overflow: auto; color: var(--yazi-2); margin: 10px 0 0; }
details summary { cursor: pointer; list-style: none; }
details summary::-webkit-details-marker { display: none; }
.hata-metin { color: var(--kirmizi); font-size: 12.5px; }

/* ── Bildirim ── */
.bildirim { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: var(--r); margin-bottom: 18px; font-weight: 600; animation: gir .25s ease-out; }
.bildirim-basari { background: var(--yesil-soluk); color: var(--yesil); border: 1px solid rgba(62, 207, 142, .3); }
.bildirim-hata { background: var(--kirmizi-soluk); color: var(--kirmizi); border: 1px solid rgba(255, 107, 107, .3); }
@keyframes gir { from { opacity: 0; transform: translateY(-6px); } }

.bos { text-align: center; padding: 40px 20px; color: var(--yazi-2); }
.bos .ikon { color: var(--yazi-3); margin-bottom: 8px; }

/* Çubuk grafik (seviye dağılımı) */
.cubuklar { display: flex; flex-direction: column; gap: 10px; }
.cubuk-satir { display: grid; grid-template-columns: 34px 1fr 30px; gap: 10px; align-items: center; font-size: 13px; }
.cubuk-satir .cubuk { height: 10px; border-radius: 5px; background: var(--yuzey-3); overflow: hidden; }
.cubuk-satir .cubuk span { display: block; height: 100%; border-radius: 5px; background: var(--mavi); }

/* ── Giriş ── */
.giris-sayfa { min-height: 100vh; display: grid; place-items: center; padding: 20px; background: radial-gradient(1200px 600px at 20% -10%, rgba(61,139,255,.16), transparent), var(--arka); }
.giris-kart { width: 100%; max-width: 380px; }
.giris-kart .logo { justify-content: center; padding-bottom: 24px; }

/* Ayırıcı */
.ayrac { height: 1px; background: var(--kenar); margin: 18px 0; }
.durum-nokta { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; }
.durum-nokta.acik { background: var(--yesil); box-shadow: 0 0 0 3px var(--yesil-soluk); }
.durum-nokta.kapali { background: var(--kirmizi); box-shadow: 0 0 0 3px var(--kirmizi-soluk); }

/* ── Mobil ── */
@media (max-width: 1100px) {
  .izgara-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .izgara-ana { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .duzen { grid-template-columns: 1fr; }
  .kenar-cubuk { position: fixed; z-index: 30; left: 0; top: 0; width: 260px; transform: translateX(-100%); transition: transform .2s; box-shadow: var(--golge); }
  body.menu-acik .kenar-cubuk { transform: none; }
  .mobil-ust { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--kenar); background: var(--yuzey); position: sticky; top: 0; z-index: 20; }
  .ana { padding: 20px 16px 50px; }
  .izgara-3, .izgara-2 { grid-template-columns: 1fr; }
  .kitap-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
  .kitap-bas { flex-direction: column; }
  .kapak-buyuk { width: 150px; height: 213px; }
  .blok { grid-template-columns: 1fr auto; }
  .blok-no { display: none; }
  .blok-duzen { grid-column: 1 / 3; }
  .tablo-kap { margin: 0 -20px -20px; }
}
