/* Gelişim İzleme sitesi — ortak görünüm (rapor.css raporun kendi stillerini taşır) */
:root { --zemin:#f4f5f7; --kart:#fcfcfb; --yazi:#0b0b0b; --soluk:#52514e; --cizgi:#d9dde3; --vurgu:#0b5cad; --koyu:#12324f; --kritik:#d03b3b; --iyi:#0ca30c; }
* { box-sizing:border-box; }
body { margin:0; background:var(--zemin); color:var(--yazi); font:15px/1.45 "Segoe UI", Arial, sans-serif; }
.ust { background:var(--koyu); color:#fff; padding:12px 18px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; }
.ust h1 { margin:0; font-size:19px; } .ust small { opacity:.85; display:block; font-size:12.5px; }
.ust button { background:transparent; color:#fff; border-color:#ffffff88; }
.ust-ad { display:flex; align-items:center; gap:10px; } .logo { width:44px; height:44px; border-radius:50%; flex:none; }
.giris-kart .logo { display:block; width:84px; height:84px; margin:0 auto 14px; }
.sekmeler { display:flex; flex-wrap:wrap; gap:4px; background:#e8ecf1; padding:6px 12px 0; }
.sekmeler button { border:0; border-radius:8px 8px 0 0; background:transparent; color:var(--soluk); padding:9px 16px; font:inherit; font-weight:600; cursor:pointer; }
.sekmeler button[aria-selected=true] { background:var(--zemin); color:var(--vurgu); }
.govde { max-width:1240px; margin:0 auto; padding:14px 16px 60px; }
.kutu-b { background:var(--kart); border:1px solid var(--cizgi); border-radius:10px; padding:14px 16px; margin-bottom:14px; }
.kutu-b h2 { margin:0 0 10px; font-size:16.5px; } .kutu-b h3 { margin:14px 0 6px; font-size:14.5px; }
button, .dugme { font:inherit; font-weight:600; padding:8px 13px; border:1px solid var(--vurgu); border-radius:8px; background:#fff; color:var(--vurgu); cursor:pointer; text-decoration:none; display:inline-block; }
button.ana, .dugme.ana { background:var(--vurgu); color:#fff; } button.tehlike { color:var(--kritik); border-color:var(--kritik); } button:disabled { opacity:.5; cursor:default; }
input[type=text], input[type=password], input[type=search], select, textarea { font:inherit; padding:8px 10px; border:1px solid var(--cizgi); border-radius:8px; background:#fff; max-width:100%; }
label.alan { display:block; margin:10px 0; font-size:14px; } label.alan input { display:block; width:100%; margin-top:4px; }
.satir { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.ileti { padding:10px 12px; border-radius:8px; margin:10px 0; } .ileti.hata { background:#fbeaea; color:#8a1f1f; } .ileti.tamam { background:#eaf7ea; color:#0a5a0a; } .ileti.bilgi { background:#eef4fb; color:#123f6d; }
.soluk { color:var(--soluk); } .kucuk { font-size:12.5px; }
table.liste { border-collapse:collapse; width:100%; font-size:13.5px; } table.liste th, table.liste td { border:1px solid var(--cizgi); padding:6px 8px; text-align:left; } table.liste th { background:#eef1f5; }
.kaydir { overflow-x:auto; }
.giris-kart { max-width:420px; margin:6vh auto; background:var(--kart); border:1px solid var(--cizgi); border-radius:14px; padding:26px; }
.giris-kart h1 { margin:0 0 4px; font-size:22px; color:var(--koyu); } .giris-kart p { color:var(--soluk); margin:0 0 12px; }
.kodlar { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:8px; }
.kod-fis { border:1px dashed #555; border-radius:6px; padding:8px 10px; font-size:13px; break-inside:avoid; } .kod-fis b.kod { font:700 18px Consolas, monospace; letter-spacing:2px; }
[hidden] { display:none !important; }
/* öğrenci sayfasında raporun sınıf görünümleri gizlenir; yalnız kendi karnesi kalır */
body.ogrenci #raporAlani > section, body.ogrenci [data-kapat] { display:none !important; }
@media print { .ust, .sekmeler, .yazdirma, .kutu-b.yazdirma { display:none !important; } body { background:#fff; } .govde { padding:0; }
  /* giriş kodlarını yazdırırken yalnız kod fişleri kalır (kod kutusu "Öğrenciler" bölümünün içindedir) */
  body.kod-yazdir .govde > *:not(#s-ogrenciler), body.kod-yazdir #s-ogrenciler > *:not(#kodAlani) { display:none !important; }
  body.kod-yazdir #kodAlani { border:none; padding:0; } body.kod-yazdir .kodlar { grid-template-columns:repeat(3, 1fr); } }
