/* Giriş */
.giris-kap { min-height: 100vh; display: grid; grid-template-columns: 1.1fr 1fr; }
.giris-sol { background: linear-gradient(150deg, var(--indigo-koyu), var(--indigo-acik)); color: #fff; padding: 56px 48px; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
.giris-sol::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 6px; background: linear-gradient(var(--magenta) 0 50%, var(--cyan) 50%); }
.giris-sol img { width: 120px; margin-bottom: 26px; }
.giris-sol h1 { color: #fff; font-size: 2.3rem; line-height: 1.1; }
.giris-sol p { color: #DCD9FA; max-width: 440px; }
.giris-sol ul { padding: 0; list-style: none; margin: 20px 0 0; display: grid; gap: 10px; }
.giris-sol li { display: flex; gap: 10px; align-items: center; color: #EDEBFF; }
.giris-sol li::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); flex: none; }
.giris-sol li:nth-child(even)::before { background: var(--magenta); }
.giris-sag { display: flex; align-items: center; justify-content: center; padding: 32px 20px; }
.giris-form { width: 100%; max-width: 420px; }
.sekme-baslik { display: flex; gap: 4px; background: #EAE8F7; padding: 4px; border-radius: 10px; margin-bottom: 18px; }
.sekme-baslik button { flex: 1; border: 0; background: transparent; padding: 8px; border-radius: 8px; font-weight: 600; color: var(--soluk); cursor: pointer; }
.sekme-baslik button.etkin { background: #fff; color: var(--indigo); box-shadow: var(--golge); }
@media (max-width: 860px) { .giris-kap { grid-template-columns: 1fr; } .giris-sol { padding: 32px 24px; } .giris-sol ul { display: none; } .giris-sol img { width: 72px; margin-bottom: 12px; } .giris-sol h1 { font-size: 1.6rem; } }

/* Panel */
.karsilama { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.anahtar-form { display: flex; gap: 8px; flex-wrap: wrap; }
.anahtar-form input { padding: 9px 12px; border: 1px solid #D5D3E8; border-radius: 9px; font-family: ui-monospace, Consolas, monospace; letter-spacing: .06em; text-transform: uppercase; min-width: 230px; }
.bolum-baslik { display: flex; align-items: center; gap: 10px; margin: 26px 0 12px; }
.bolum-baslik .sayac { background: var(--kutu); color: var(--soluk); border-radius: 99px; font-size: .75rem; padding: 1px 8px; font-weight: 700; }
.deneme-kart { background: #fff; border-radius: var(--r); box-shadow: var(--golge); padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; border-top: 3px solid var(--cizgi); }
.deneme-kart.acik { border-top-color: var(--dogru); } .deneme-kart.sinavda { border-top-color: var(--cyan); }
.deneme-kart.tamamlandi { border-top-color: var(--magenta); } .deneme-kart.yaklasan { border-top-color: var(--indigo); }
.deneme-kart h3 { margin: 0; }
.deneme-kart .bilgi { font-size: .84rem; color: var(--soluk); display: grid; gap: 2px; }
.deneme-kart .alt { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 6px; gap: 8px; flex-wrap: wrap; }
.bos-durum { color: var(--soluk); font-size: .9rem; padding: 12px 0; }

/* Sınav ekranı */
body.sinav-modu { background: #EFEEF7; overflow: hidden; }
.sinav { height: 100vh; display: grid; grid-template-rows: auto auto 1fr; }
.sinav-ust { background: #fff; border-bottom: 1px solid var(--cizgi); padding: 8px 14px; display: flex; align-items: center; gap: 12px; }
.sinav-ust img { width: 34px; }
.sinav-ust .ad { font-family: var(--baslik); font-weight: 700; color: var(--lacivert); font-size: .95rem; line-height: 1.1; }
.sayac-kutu { font-family: var(--baslik); font-weight: 800; font-size: 1.25rem; color: var(--lacivert); background: var(--kutu); border-radius: 9px; padding: 4px 12px; font-variant-numeric: tabular-nums; cursor: pointer; border: 0; min-width: 110px; }
.sayac-kutu.az { background: var(--uyari-zemin); color: var(--uyari); } .sayac-kutu.cok-az { background: var(--yanlis-zemin); color: var(--yanlis); }
.kayit-durum { font-size: .78rem; color: var(--soluk); display: flex; align-items: center; gap: 5px; }
.kayit-durum::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--dogru); }
.kayit-durum.bekliyor::before { background: var(--uyari); } .kayit-durum.hata::before { background: var(--yanlis); }
.bolum-sekmeleri { display: flex; gap: 2px; background: #fff; border-bottom: 1px solid var(--cizgi); padding: 0 10px; overflow-x: auto; }
.bolum-sekmeleri button { border: 0; background: transparent; padding: 10px 12px; font-weight: 600; color: var(--soluk); cursor: pointer; border-bottom: 3px solid transparent; white-space: nowrap; font-size: .88rem; }
.bolum-sekmeleri button.etkin { color: var(--indigo); border-bottom-color: var(--magenta); }
.bolum-sekmeleri button small { display: block; font-weight: 500; font-size: .72rem; }
.sinav-govde { display: grid; grid-template-columns: 1fr auto; min-height: 0; }
.sinav-govde.kagit-sol { grid-template-columns: auto 1fr; } .sinav-govde.kagit-sol .kagit { order: -1; border-left: 0; border-right: 1px solid var(--cizgi); }
.sinav-govde.kagit-alt { grid-template-columns: 1fr; grid-template-rows: 1fr auto; } .sinav-govde.kagit-alt .kagit { border-left: 0; border-top: 1px solid var(--cizgi); width: auto; max-height: 34vh; }
.sinav-govde.kagit-alt .kagit .optik { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.sinav-govde.kagit-gizli { grid-template-columns: 1fr; } .sinav-govde.kagit-gizli .kagit { display: none; }
.soru-alan { overflow-y: auto; padding: 22px 18px 90px; position: relative; }
.soru-kart { max-width: 820px; margin: 0 auto; background: #fff; border-radius: var(--r); box-shadow: var(--golge); padding: 22px 26px; position: relative; overflow: hidden; }
.soru-ust { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.soru-no { font-family: var(--baslik); font-weight: 800; font-size: 1.35rem; color: var(--indigo); }
.soru-ust .bolum-adi { font-size: .8rem; color: var(--soluk); }
.bayrak { margin-left: auto; border: 1px solid var(--cizgi); background: #fff; border-radius: 8px; padding: 5px 10px; cursor: pointer; font-size: .82rem; color: var(--soluk); }
.bayrak.etkin { background: var(--uyari-zemin); color: var(--uyari); border-color: #F3D49E; }
.gezinti { max-width: 820px; margin: 14px auto 0; display: flex; justify-content: space-between; gap: 8px; }
.filigran { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 2; }
.filigran span { position: absolute; white-space: nowrap; transform: rotate(-30deg); color: rgba(49,37,173,.04); font-weight: 700; font-size: .95rem; user-select: none; }
.soru-kart .soru { position: relative; z-index: 1; user-select: none; -webkit-user-select: none; }
.yazi-1 .soru { font-size: .95rem; } .yazi-3 .soru { font-size: 1.14rem; } .yazi-4 .soru { font-size: 1.26rem; }

/* Cevap kâğıdı (optik form görünümü) */
.kagit { width: 300px; background: #fff; border-left: 1px solid var(--cizgi); overflow-y: auto; padding: 12px 12px 30px; }
.kagit-ust { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; gap: 6px; }
.kagit-ust h3 { margin: 0; font-size: .95rem; }
.konum-dug { display: flex; gap: 2px; }
.konum-dug button { border: 1px solid var(--cizgi); background: #fff; border-radius: 6px; width: 28px; height: 26px; cursor: pointer; font-size: .7rem; color: var(--soluk); }
.konum-dug button.etkin { background: var(--indigo); color: #fff; border-color: var(--indigo); }
.kagit-ozet { display: flex; gap: 10px; font-size: .76rem; color: var(--soluk); margin-bottom: 8px; flex-wrap: wrap; }
.optik-bolum { margin-bottom: 10px; }
.optik-bolum h4 { font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; color: var(--magenta); margin: 8px 0 4px; }
.optik { display: grid; gap: 1px; }
.optik-satir { display: flex; align-items: center; gap: 4px; padding: 2px 4px; border-radius: 6px; }
.optik-satir.simdiki { background: #EEEDFA; }
.optik-satir .no { width: 26px; text-align: right; font-size: .78rem; font-weight: 700; color: var(--lacivert); cursor: pointer; font-variant-numeric: tabular-nums; }
.optik-satir .no.bayrakli { color: var(--uyari); }
.balon { width: 21px; height: 21px; border-radius: 50%; border: 1.3px solid #A7A3CF; background: #fff; font-size: .62rem; font-weight: 700; color: #8D89B8; cursor: pointer; padding: 0; display: grid; place-items: center; }
.balon:hover { border-color: var(--indigo); }
.balon.dolu { background: var(--lacivert); border-color: var(--lacivert); color: #fff; }
.kagit-cekmece { display: none; }
@media (max-width: 900px) {
  .sinav-govde, .sinav-govde.kagit-sol { grid-template-columns: 1fr; }
  .kagit { position: fixed; left: 0; right: 0; bottom: 0; width: auto; max-height: 62vh; transform: translateY(100%); transition: transform .2s; z-index: 30; border-left: 0; border-top: 1px solid var(--cizgi); box-shadow: 0 -8px 24px rgba(0,0,0,.12); border-radius: 14px 14px 0 0; }
  .kagit.acik { transform: none; }
  .kagit .optik { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
  .kagit-cekmece { display: inline-flex; }
  .konum-dug { display: none; }
  .soru-kart { padding: 16px; }
  .soru-alan { padding: 12px 10px 90px; }
  .sinav-ust { gap: 6px; padding: 6px 8px; }
  .sinav-ust .ad, .sinav-ust img { display: none; }
  .kayit-durum { font-size: 0; }
  .sayac-kutu { min-width: 0; font-size: 1.02rem; padding: 4px 8px; }
  .sinav-ust .dug { padding: 6px 10px; font-size: .82rem; }
}
.sinav { height: 100dvh; }
.sinav-govde > *, .soru-alan, .soru-kart { min-width: 0; }
.soru-kart .soru table { display: block; max-width: 100%; overflow-x: auto; }
@media (max-width: 560px) { .kullanici { display: none; } }

/* Pencereler */
.perde { position: fixed; inset: 0; background: rgba(27,22,80,.45); display: grid; place-items: center; z-index: 50; padding: 16px; }
.pencere { background: #fff; border-radius: 14px; max-width: 560px; width: 100%; padding: 22px; box-shadow: 0 20px 60px rgba(0,0,0,.25); max-height: 90vh; overflow: auto; }
.yonerge li { margin-bottom: 6px; }

/* Karne */
.karne-bas { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; align-items: flex-start; }
.konu-satir { display: grid; grid-template-columns: minmax(150px, 1.2fr) 2fr 70px; gap: 12px; align-items: center; padding: 6px 0; border-bottom: 1px dashed var(--cizgi); font-size: .88rem; }
.konu-satir:last-child { border-bottom: 0; }
.oneri { display: flex; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--cizgi); }
.oneri:last-child { border-bottom: 0; }
.oneri i { flex: none; width: 10px; height: 10px; border-radius: 50%; margin-top: 7px; background: var(--indigo); }
.oneri.oncelik i { background: var(--yanlis); } .oneri.pekistir i { background: var(--uyari); } .oneri.guclu i { background: var(--dogru); } .oneri.sure i, .oneri.risk i { background: var(--magenta); }
.hata-soru { border: 1px solid var(--cizgi); border-radius: 12px; padding: 16px 18px; margin-bottom: 14px; break-inside: avoid; }
.hata-soru .ust-bilgi { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.cozum { background: var(--kutu); border-radius: 10px; padding: 12px 14px; margin-top: 12px; font-size: .92rem; }
.cozum b { color: var(--lacivert); }
.lejant { display: flex; gap: 14px; font-size: .78rem; color: var(--soluk); flex-wrap: wrap; }
.lejant span::before { content: ''; display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; background: var(--indigo); }
.lejant span.l-zayif::before { background: var(--yanlis); } .lejant span.l-orta::before { background: var(--uyari); } .lejant span.l-iyi::before { background: var(--dogru); }
.lejant span.tg::before { width: 2px; height: 12px; background: var(--lacivert); border-radius: 0; }
@media print { .soru-alan { overflow: visible; } .hata-soru { page-break-inside: avoid; } }
.rozet.basili { background: #E6F7FE; color: #0B6E92; }

/* Konu testleri (panel) */
.konu-ders { padding: 0; }
.konu-ders > summary { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; padding: 16px 18px; cursor: pointer; list-style: none; }
.konu-ders > summary::-webkit-details-marker { display: none; }
.konu-ders > summary::before { content: '▸'; color: var(--indigo); transition: transform .15s; }
.konu-ders[open] > summary::before { transform: rotate(90deg); }
.konu-grup { padding: 4px 18px 10px; border-top: 1px solid var(--cizgi); }
.konu-grup-bas { display: flex; justify-content: space-between; gap: 10px; font-weight: 700; color: var(--lacivert); padding: 10px 0 4px; }
.konu-test { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding: 7px 0; border-bottom: 1px dashed var(--cizgi); font-size: .92rem; }
.konu-test:last-child { border-bottom: 0; }
.konu-eylem { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.konu-net { margin-right: 4px; }
.deneme-kart.basili { border-top-color: var(--cyan); }
.deneme-kart .alt .dug + .dug { margin-left: 4px; }
#kagitGiris .optik-satir { break-inside: avoid; }
/* geri bildirim anketi */
.anket-soru { border: 0; padding: 0; margin: 0 0 16px; }
.anket-soru legend { font-weight: 600; color: var(--lacivert); margin-bottom: 6px; padding: 0; }
.anket-soru[hidden] { display: none; }
.olcek { display: flex; flex-wrap: wrap; gap: 6px; }
.olcek label { position: relative; }
.olcek input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.olcek span { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 8px; border: 1px solid #D5D3E8; border-radius: 10px; background: var(--kart); font-weight: 600; }
.olcek input:checked + span { background: var(--indigo); border-color: var(--indigo); color: #fff; }
.olcek input:focus-visible + span { outline: 2px solid var(--cyan); outline-offset: 1px; }
.olcek-kap { display: inline-flex; flex-direction: column; max-width: 100%; }
.olcek-uclar { display: flex; justify-content: space-between; gap: 12px; margin-top: 4px; }
