/* 6I: Ogrenci sayfasi (ogrsayfa.php) ve veli kodu girisi (kodgiris.php). Cinar temasi renkleri. ASCII. */
@font-face { font-family: 'Lexend'; font-weight: 400; font-display: swap; src: url('fonts/Lexend-Regular.woff2') format('woff2'); }
@font-face { font-family: 'Lexend'; font-weight: 500; font-display: swap; src: url('fonts/Lexend-Medium.woff2') format('woff2'); }
@font-face { font-family: 'Lexend'; font-weight: 600; font-display: swap; src: url('fonts/Lexend-SemiBold.woff2') format('woff2'); }
@font-face { font-family: 'Lexend'; font-weight: 700; font-display: swap; src: url('fonts/Lexend-Bold.woff2') format('woff2'); }
:root {
	--o-yesil: #1F5C4A; --o-yesil-koyu: #133B30; --o-yesil-orta: #2B7560; --o-yesil-acik: #E4F0EA; --o-zemin: #EEF2EC;
	--o-hardal: #E3A72F; --o-hardal-koyu: #3A2A06; --o-hardal-acik: #F6EBCB; --o-hardal-metin: #5A4310;
	--o-metin: #17332A; --o-metin2: #4E6A60; --o-cizgi: #D6E2DA; --o-kirmizi: #B3261E; --o-kirmizi-acik: #FBE4E2;
}
* { box-sizing: border-box; }
body.os { margin: 0; background: var(--o-zemin); color: var(--o-metin); font-family: 'Lexend', 'Segoe UI', sans-serif; font-size: 15px; line-height: 1.45; }
.os a { color: var(--o-yesil); }
.os-ust { background: var(--o-yesil); color: #fff; padding: 18px 16px 22px; }
.os-ust-ic, .os-ic { max-width: 640px; margin: 0 auto; }
.os-ust-satir { display: flex; align-items: center; justify-content: space-between; }
.os-marka { font-size: 15px; font-weight: 600; }
.os .os-cikis { color: #fff; text-decoration: none; font-size: 13px; padding: 10px 0 10px 14px; }
.os-kimlik { display: flex; align-items: center; gap: 14px; margin-top: 12px; }
.os-avatar { width: 52px; height: 52px; border-radius: 26px; background: var(--o-hardal); color: var(--o-hardal-koyu); display: flex; align-items: center; justify-content: center; font-size: 19px; font-weight: 700; flex-shrink: 0; }
.os-kimlik h1 { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.25; }
.os-kimlik p { margin: 3px 0 0; font-size: 13px; color: #CFE3D9; }
.os-ic { padding: 16px; display: flex; flex-direction: column; gap: 14px; }
.os-kart { background: #fff; border-radius: 16px; padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.os-kart h2 { margin: 2px 0 0; font-size: 17px; font-weight: 600; line-height: 1.3; }
.os-kart h3 { margin: 0; font-size: 15px; font-weight: 600; }
.os-kart-bas { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.os-etiket { font-size: 12px; font-weight: 600; color: var(--o-metin2); letter-spacing: .4px; }
.os-rozet { background: var(--o-yesil-acik); color: var(--o-yesil); font-size: 12px; font-weight: 600; border-radius: 8px; padding: 4px 9px; white-space: nowrap; }
.os-iki { display: flex; gap: 10px; }
.os-kutu { flex: 1 1 0; background: var(--o-yesil-acik); border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.os-kutu-ad { font-size: 12px; color: var(--o-metin2); }
.os-kutu-deger { font-size: 26px; font-weight: 700; color: var(--o-yesil); line-height: 1.15; }
.os-kutu-alt { font-size: 12px; font-weight: 600; color: var(--o-yesil); }
.os-kutu-alt.os-eksi { color: var(--o-kirmizi); }
.os-kutu-alt.os-gri { color: var(--o-metin2); font-weight: 400; }
.os-formuller { display: flex; flex-wrap: wrap; gap: 8px; }
.os-formuller span { border: 1px solid var(--o-cizgi); border-radius: 10px; padding: 6px 10px; font-size: 13px; color: var(--o-metin2); }
.os-formuller strong { color: var(--o-metin); }
.os-siralar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.os-sira { border: 1px solid var(--o-cizgi); border-radius: 10px; padding: 8px 4px; display: flex; flex-direction: column; align-items: center; gap: 1px; }
.os-sira span, .os-sira small { font-size: 11px; color: var(--o-metin2); }
.os-sira strong { font-size: 16px; font-weight: 600; }
.os .os-dugme { min-height: 46px; border-radius: 12px; background: var(--o-yesil); color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; display: flex; align-items: center; justify-content: center; }
.os .os-dugme:hover { background: var(--o-yesil-koyu); }
.os-yorum { background: var(--o-hardal-acik); }
.os-yorum h3 { color: var(--o-hardal-metin); }
.os-yorum p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--o-metin); }
.os-ders { display: flex; flex-direction: column; gap: 5px; }
.os-ders-ust { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; }
.os-cubuk { height: 8px; border-radius: 4px; background: var(--o-yesil-acik); overflow: hidden; }
.os-cubuk div { height: 8px; border-radius: 4px; background: var(--o-yesil-orta); }
.os-cubuk div.os-dusuk { background: var(--o-hardal); }
.os-baslik-satir { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.os-baslik-satir span, .os-aciklama { font-size: 12px; color: var(--o-metin2); margin: 0; }
.os-aciklama { margin-top: -6px; }
.os-grafik { width: 100%; height: auto; }
.os-grafik .os-eksen { stroke: var(--o-cizgi); stroke-width: 1; }
.os-grafik .os-cizgi { stroke: var(--o-yesil); stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.os-grafik .os-nokta { fill: var(--o-yesil); }
.os-grafik .os-nokta-son { fill: var(--o-hardal); stroke: #fff; stroke-width: 2; }
.os-grafik .os-deger { font-family: 'Lexend', sans-serif; font-size: 11px; font-weight: 600; fill: var(--o-metin); }
.os-grafik .os-tarih { font-family: 'Lexend', sans-serif; font-size: 10px; fill: var(--o-metin2); }
.os-konu { display: flex; align-items: center; gap: 10px; font-size: 13px; line-height: 1.35; }
.os-konu-say { font-size: 12px; font-weight: 600; border-radius: 8px; padding: 4px 8px; min-width: 48px; text-align: center; white-space: nowrap; }
.os-yanlis { background: var(--o-kirmizi-acik); color: var(--o-kirmizi); }
.os-bos-say { background: var(--o-hardal-acik); color: var(--o-hardal-metin); }
.os-liste { list-style: none; margin: 0; padding: 0; }
.os-liste li { border-top: 1px solid var(--o-cizgi); }
.os .os-liste a { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 6px 0; text-decoration: none; color: var(--o-metin); }
.os-liste-ad { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.os-liste-ad strong { font-size: 14px; font-weight: 500; }
.os-liste-ad small { font-size: 12px; color: var(--o-metin2); }
.os-liste-puan { font-size: 15px; font-weight: 600; white-space: nowrap; }
.os-liste svg { color: var(--o-metin2); flex-shrink: 0; }
.os-bos { margin: 0; color: var(--o-metin2); }
.os-alt { text-align: center; font-size: 12px; color: var(--o-metin2); margin: 6px 0 10px; }
/* veli kodu girisi */
.os-form { display: flex; flex-direction: column; gap: 14px; }
.os-form label { display: flex; flex-direction: column; gap: 8px; font-size: 13px; font-weight: 600; color: var(--o-metin2); }
.os-kod { height: 56px; border: 2px solid var(--o-yesil); border-radius: 12px; padding: 0 14px; font-family: 'Lexend', sans-serif; font-size: 22px; font-weight: 600; letter-spacing: 3px; text-align: center; color: var(--o-metin); text-transform: uppercase; width: 100%; }
.os-gonder { height: 52px; border: 0; border-radius: 12px; background: var(--o-hardal); color: var(--o-hardal-koyu); font-family: 'Lexend', sans-serif; font-size: 16px; font-weight: 600; cursor: pointer; }
.os-hata { background: var(--o-kirmizi-acik); color: var(--o-kirmizi); border-radius: 10px; padding: 10px 12px; font-size: 14px; margin: 0; }
@media (max-width: 360px) { .os-siralar { grid-template-columns: repeat(2, minmax(0, 1fr)); } .os-kutu-deger { font-size: 22px; } }
@media print { .os-ust { background: #fff; color: #000; } .os-cikis, .os-dugme { display: none !important; } body.os { background: #fff; } }
.os-kodsatir { display: flex; align-items: center; gap: 16px; }
.os-kodqr svg { display: block; border: 1px solid var(--o-cizgi); border-radius: 8px; }
.os-kodmetin { font-size: 22px; font-weight: 700; letter-spacing: 2px; color: var(--o-yesil); word-break: break-all; }
.os-bolum { display: flex; flex-direction: column; gap: 8px; }
.os-bolum-bas { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.os-bolum-bas h4 { margin: 0; font-size: 13px; font-weight: 600; color: var(--o-metin); }
.os-bolum-bas span { font-size: 11px; color: var(--o-metin2); }
.os-sira small.os-arti { color: var(--o-yesil); font-weight: 600; }
.os-sira small.os-eksi { color: var(--o-kirmizi); font-weight: 600; }
.os-ders-ort { font-size: 11px; color: var(--o-metin2); }
.os-hatirla { display: flex !important; flex-direction: row !important; align-items: center; gap: 8px !important; font-weight: 500 !important; color: var(--o-metin) !important; min-height: 44px; }
.os-hatirla input { width: 20px; height: 20px; accent-color: var(--o-yesil); }
/* 6K: tum sinavlar, ture gore gruplu */
.os-grup { display: flex; flex-direction: column; gap: 4px; }
.os-grup + .os-grup { margin-top: 10px; }
.os-grup-bas { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 0 2px; }
.os-grup-bas small { font-size: 12px; color: var(--o-metin2); }
.os-devami summary { cursor: pointer; list-style: none; min-height: 44px; display: flex; align-items: center; justify-content: center; border-top: 1px solid var(--o-cizgi); font-size: 13px; font-weight: 600; color: var(--o-yesil); }
.os-devami summary::-webkit-details-marker { display: none; }
.os-devami[open] summary { display: none; }
/* 6M: ana ekrana ekleme karti */
.os .os-kapat { border: 0; background: transparent; font-size: 24px; line-height: 1; color: var(--o-metin2); width: 44px; height: 44px; margin: -10px -10px -10px 0; cursor: pointer; }
.os-adimlar { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 1.45; }
.os-not { margin: 0; font-size: 12px; color: var(--o-hardal-metin); background: var(--o-hardal-acik); border-radius: 8px; padding: 8px 10px; }
/* 6M: hidden ozniteligi .os-kart gibi display kurallarina ragmen gizlesin (kart her zaman gorunuyordu) */
.os [hidden] { display: none !important; }
/* 6N: listeden secilen sinav */
.os .os-geri { font-size: 13px; font-weight: 600; text-decoration: none; min-height: 32px; display: inline-flex; align-items: center; margin: -6px 0 -4px; }
.os-liste li.os-secili { background: var(--o-yesil-acik); border-radius: 10px; }
.os-liste li.os-secili a { padding-left: 8px; padding-right: 8px; }
.os-liste li.os-secili + li { border-top-color: transparent; }
#sinav { scroll-margin-top: 8px; }
