/* Öğrenci yönetimi (yönetim paneli) */
.ogr-filtre-karti { margin-bottom: 20px; }
.ogr-filtreler { display: grid; grid-template-columns: minmax(180px, 1.3fr) repeat(4, minmax(110px, .7fr)) minmax(110px, .7fr); gap: 10px; align-items: end; padding: 18px 22px; }
.ogr-filtreler label { display: grid; gap: 6px; color: var(--soluk); font-size: 11px; font-weight: 600; }
.ogr-filtreler input, .ogr-filtreler select { width: 100%; min-height: 40px; padding: 0 11px; border: 1px solid var(--cizgi); border-radius: 9px; color: var(--metin); background: #fff; font: inherit; }
.ogr-onay { display: flex !important; align-items: center; gap: 8px; min-height: 40px; color: var(--metin) !important; font-size: 13px !important; }
.ogr-onay input { width: 17px !important; min-height: 0 !important; height: 17px; accent-color: var(--kirmizi); }
.ogr-filtre-islem { display: flex; gap: 8px; grid-column: 1 / -1; justify-content: flex-end; }
.ogr-form { padding: 22px 23px; }
.ogr-form select { width: 100%; min-height: 42px; padding: 0 11px; border: 1px solid var(--cizgi); border-radius: 9px; color: var(--metin); background: #fff; font: inherit; }
.ogr-banner { margin-bottom: 18px; }
.ogr-sekmeler { margin-bottom: 18px; }
.ogr-sekmeler a { font-size: 12px; }
.ogr-islem-satiri { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 20px; }
.ogr-durum-formu { display: flex; align-items: end; gap: 8px; }
.ogr-durum-formu label { display: grid; gap: 4px; color: var(--soluk); font-size: 11px; font-weight: 600; }
.ogr-durum-formu select { min-height: 38px; padding: 0 10px; border: 1px solid var(--cizgi); border-radius: 9px; font: inherit; }
.ogr-sinif-ekle, .ogr-erisim-ekle { grid-template-columns: minmax(220px, 1fr) auto; }
.ogr-erisim-ekle { grid-template-columns: minmax(200px, 1fr) minmax(120px, .5fr) minmax(160px, .8fr) auto; }
.ogr-sinif-ekle select, .ogr-erisim-ekle select { width: 100%; min-height: 42px; padding: 0 11px; border: 1px solid var(--cizgi); border-radius: 9px; font: inherit; background: #fff; }
.ogr-uyelik-islem { display: flex; align-items: center; gap: 12px; }
.ogr-uyelik-islem form { margin: 0; }
.ogr-inline { display: inline; }
.ogr-hatali td { color: #8d1018; background: #fff7f7; }
.ogr-ornek { margin: 0 0 18px; padding: 14px; border-radius: 10px; background: #f5f6f8; font-size: 13px; line-height: 1.6; overflow-x: auto; }
#siniflar, #erisimler, #birebir, #zaman { margin-bottom: 20px; scroll-margin-top: 20px; }
#yoklama, #odevler, #sinavlar, #sertifikalar, #siparisler, #destek { scroll-margin-top: 20px; }
@media (max-width: 980px) {
  .ogr-filtreler, .ogr-erisim-ekle, .ogr-sinif-ekle { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .ogr-filtreler, .ogr-erisim-ekle, .ogr-sinif-ekle { grid-template-columns: 1fr; }
}
.ogr-sifre-detay { position: relative; }
.ogr-sifre-detay summary { list-style: none; cursor: pointer; }
.ogr-sifre-detay summary::-webkit-details-marker { display: none; }
.ogr-sifre-detay[open] { display: grid; gap: 8px; padding: 10px 12px; border: 1px solid var(--cizgi); border-radius: 12px; background: #fff; }
.ogr-sifre-detay small { color: var(--soluk); font-size: 12px; }
.ogr-odeme-ozet { display: grid; gap: 4px; margin: 12px 23px 18px; padding: 12px 14px; border: 1px solid var(--cizgi); border-radius: 12px; }
.ogr-odeme-ozet small { color: var(--soluk); font-size: 12px; }
.ogr-odeme-ozet b { color: var(--kirmizi); }
.ogr-odeme-ozet .buton { justify-self: start; margin-top: 4px; }

/* -------------------------------------------------- öğrenci listesi (20 Eyl, sadeleştirme)
   Satır TEK satır: ad + e-posta yan yana değil alt alta ama sarmadan; telefon, etiket, hedef
   sınav ve kaynak sütunu kaldırıldı. Sabit sütun genişliği — içerik değişince kaymasın. */
.ogr-tablo { width: 100%; table-layout: fixed; }
.ogr-tablo th, .ogr-tablo td { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ogr-tablo th:nth-child(1), .ogr-tablo td:nth-child(1) { width: 34%; }
.ogr-tablo th:nth-child(2), .ogr-tablo td:nth-child(2) { width: 28%; }
.ogr-tablo th:nth-child(3), .ogr-tablo td:nth-child(3) { width: 11%; }
.ogr-tablo th:nth-child(4), .ogr-tablo td:nth-child(4) { width: 12%; }
.ogr-tablo th:nth-child(5), .ogr-tablo td:nth-child(5) { width: 15%; }
/* Flex td, table-layout:fixed genişliğini yok sayıp içeriğe büzülüyordu (ad/e-posta kesik +
   sütun boşluğu). Flex artık td'nin İÇİNDEKİ sarmalayıcıda; td normal hücre olarak 34%'i korur. */
.ogr-kisi-ic { display: flex; align-items: center; gap: 11px; min-width: 0; }
.ogr-kisi-ic .avatar { width: 34px; height: 34px; flex: 0 0 34px; background: var(--lacivert); font-size: var(--yazi-mini); }
.ogr-kisi-metin { display: grid; min-width: 0; gap: 1px; flex: 1; }
.ogr-kisi-metin strong { overflow: hidden; font-size: var(--yazi-satir); font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.ogr-kisi-metin strong a { color: inherit; text-decoration: none; }
.ogr-kisi-metin small { overflow: hidden; color: var(--soluk); font-size: var(--yazi-meta); text-overflow: ellipsis; white-space: nowrap; }
.ogr-sinif { color: var(--metin); font-size: var(--yazi-meta); }
.ogr-artik { display: inline-block; margin-left: 5px; padding: 1px 7px; border-radius: 99px; color: var(--soluk); background: var(--zemin); font-size: var(--yazi-rozet); font-weight: 700; }
.ogr-seviye { display: inline-block; padding: 3px 10px; border-radius: 99px; color: #3f568c; background: #e6edff; font-size: var(--yazi-mini); font-weight: 700; }
.ogr-sayi { font-size: var(--yazi-meta); font-variant-numeric: tabular-nums; }
.ogr-bos { color: #b4b9c2; }
@media (max-width: 900px) {
  .ogr-tablo { table-layout: auto; }
  .ogr-tablo th:nth-child(2), .ogr-tablo td:nth-child(2), .ogr-tablo th:nth-child(4), .ogr-tablo td:nth-child(4) { display: none; }
  .ogr-tablo th:nth-child(1), .ogr-tablo td:nth-child(1) { width: auto; }
}

/* ince filtre çubuğu (20 Eyl): kart değil, tek satır; seçince anında filtreler */
.ogr-filtre-cubugu { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin-bottom: 14px; }
.ogr-filtre-cubugu label { display: grid; min-width: 0; flex: 0 1 150px; gap: 4px; color: var(--soluk); font-size: var(--yazi-mini); font-weight: 600; }
.ogr-filtre-cubugu .ogr-filtre-ara { flex: 1 1 260px; }
.ogr-filtre-cubugu input, .ogr-filtre-cubugu select { width: 100%; height: 36px; padding: 0 10px; border: 1px solid var(--cizgi); border-radius: 9px; color: var(--metin); background: #fff; font-weight: 400; font-size: var(--yazi-meta); font-family: inherit; }
.ogr-filtre-cubugu input:focus, .ogr-filtre-cubugu select:focus { border-color: var(--kirmizi); outline: none; }
.ogr-filtre-cubugu .ince-dugme { height: 36px; }
.ogr-filtre-temizle { align-self: center; color: var(--soluk); font-size: var(--yazi-meta); font-weight: 600; }
.ogr-filtre-temizle:hover { color: var(--kirmizi); }

/* öğrenci ekleme: panel girişi (24 Eyl, kutu #29) */
.ogr-giris-kur { border-top: 1px solid var(--cizgi); margin-top: 6px; padding-top: 18px; display: grid; gap: 12px; }
.ogr-giris-kur h3 { margin: 0; font-size: var(--yazi-satir); font-weight: 700; }
.ogr-sifre-alan { display: grid; gap: 6px; }
.ogr-sifre-input { display: flex; gap: 8px; align-items: center; }
.ogr-sifre-input input { flex: 1; min-width: 0; }
.ogr-sifre-input .buton { flex: 0 0 auto; white-space: nowrap; }
/* .odev-formu label { display:grid } bu etiketi de sarıyordu (checkbox alt alta düşüyordu) — özgülleştir */
.odev-formu .ogr-mail-onay { display: flex; gap: 9px; align-items: center; justify-content: flex-start; font-weight: 400; font-size: var(--yazi-satir); }
.odev-formu .ogr-mail-onay input { flex: 0 0 auto; width: 18px; height: 18px; min-height: 0; margin: 0; padding: 0; accent-color: var(--kirmizi); }
.ogr-giris-ipucu { color: var(--soluk); font-size: var(--yazi-meta); line-height: 1.5; }

/* giriş bilgileri pop-up */
.pencere--giris { max-width: 460px; }
.giris-durum { margin: 0 0 16px; color: var(--metin); font-size: var(--yazi-satir); line-height: 1.55; }
.giris-bilgi { display: grid; grid-template-columns: auto 1fr; gap: 10px 16px; margin: 0; align-items: center; }
.giris-bilgi dt { color: var(--soluk); font-size: var(--yazi-meta); font-weight: 650; }
.giris-bilgi dd { margin: 0; font-size: var(--yazi-satir); overflow-wrap: anywhere; }
.giris-bilgi code { display: inline-block; padding: 4px 10px; border-radius: 8px; background: var(--zemin); font-size: var(--yazi-satir); font-weight: 700; letter-spacing: .02em; }
