/* =====================================================================
   Batı Koleji uygulaması — ortak stil
   Kaynak: taslaklar/defter-katmani.css (belirteçler) + taslaklar/odev-taslak.html (onaylı ödev görünümü).
   Gece modu yok: hep açık tema. Dış yazı tipi yok (yerel yedek yazılar kullanılır).
   ===================================================================== */
:root{
  --ink:#2a2b2f; --paper:#f5f5f4; --panel:#ffffff; --line:#dcdde0; --muted:#595b61;
  --teal:#a62118; --teal-dark:#861a13; --amber:#9a6a12; --green:#2f6b3f; --gri:#595b61; --red:#b3261e;
  --kagit-2:#efeff0; --kagit-3:#e4e5e7; --radius:3px; --dokunma:44px;
  --ton-1:#a62118; --ton-2:#595b61; --ton-3:#c9605a; --ton-4:#6e150f; --ton-5:#8e9096; --ton-6:#2a2b2f; --ton-yazi:#fff;
  --yazi-baslik:"Fraunces", Georgia, serif;
  --yazi-metin:"IBM Plex Sans", "Segoe UI", sans-serif;
  --golge-kagit:4px 4px 0 -1px var(--kagit-2),4px 4px 0 0 var(--line),8px 8px 0 -1px var(--kagit-3),8px 8px 0 0 var(--line),8px 14px 22px -14px rgba(30,32,38,.30);
  color-scheme: light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0; background:var(--paper); color:var(--ink); font:16px/1.55 var(--yazi-metin)}
h1,h2,h3{font-family:var(--yazi-baslik); margin:0; font-weight:600; letter-spacing:-.005em}
button{font:inherit; color:inherit; cursor:pointer}
button:disabled{cursor:default; opacity:.6}
[hidden]{display:none !important}
:focus-visible{outline:2px solid var(--teal); outline-offset:2px}
.gizli-etiket{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}

/* ---- yükleniyor ---- */
.yukleniyor{padding:48px 16px; text-align:center; color:var(--muted)}

/* ---- giriş ---- */
.giris{max-width:380px; margin:0 auto; padding:56px 16px 40px}
.giris-kart{background:var(--panel); border:1px solid var(--line); box-shadow:var(--golge-kagit); padding:26px 22px 22px; position:relative}
.giris-kart::before{content:""; position:absolute; top:-9px; left:50%; width:84px; height:18px; transform:translateX(-50%) rotate(-3deg); background:rgba(190,190,190,.45); border:1px solid rgba(150,150,150,.4)}
.giris-ust{display:flex; align-items:center; gap:12px; margin-bottom:6px}
.giris-ust img{width:52px; height:52px; object-fit:contain}
.giris-ust h1{font-size:1.6rem}
.giris-ust small{display:block; color:var(--muted); font-size:.85rem}
.giris .dugme{margin-top:22px}
.emulator-rozet{display:inline-block; margin-top:14px; font-size:.75rem; color:var(--amber); border:1px dashed var(--amber); padding:2px 8px; border-radius:var(--radius)}

/* ---- üst şerit + sekmeler ---- */
.ust-serit{display:flex; align-items:center; gap:10px; padding:10px 16px; border-bottom:3px double var(--line); background:var(--paper)}
.ust-serit img{width:34px; height:34px; object-fit:contain}
.ust-serit .marka{font-family:var(--yazi-baslik); font-weight:600; font-size:1.15rem; flex:1; white-space:nowrap}
.ust-serit .kisi{font-size:.85rem; color:var(--muted); text-align:right; line-height:1.25; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:45vw}
.ust-serit .cikis{background:none; border:1px solid var(--line); border-radius:var(--radius); min-height:36px; padding:0 10px; font-size:.85rem}
.ust-serit .ortam{font-size:.7rem; color:var(--amber); border:1px dashed var(--amber); padding:0 6px; border-radius:var(--radius)}
nav.sekmeler{display:flex; gap:4px; border-bottom:1px solid var(--line); padding:8px 10px 0; max-width:1100px; margin:0 auto}
/* telefonda 5 sekmeye kadar (müdür/yönetici): yazı KESİLMEZ; sığmazsa sekme şeridi kendi içinde yana kayar (sayfa taşmaz) — aşağıda @media (max-width:899px) */
nav.sekmeler button{--ton:var(--ton-1); border-radius:6px 6px 0 0; border:1px solid var(--line); border-bottom:none; border-top:4px solid var(--ton);
  background:color-mix(in srgb, var(--ton) 12%, var(--panel)); min-height:var(--dokunma); padding:0 10px; margin-bottom:-1px; font-size:.9rem;
  flex:0 1 auto; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
nav.sekmeler button.secili{background:var(--ton); color:var(--ton-yazi); font-weight:600; border-color:var(--ton)}
main{max-width:1100px; margin:0 auto; padding:18px 16px 48px}
.dar{max-width:720px; margin:0 auto}

/* ---- ortak parçalar (taslaktan) ---- */
.ust{border-bottom:3px double var(--line); padding-bottom:10px; margin-bottom:16px}
.ust h1{font-size:1.5rem}
.ust small{color:var(--muted)}
.damga{display:inline-flex; align-items:center; padding:1px 8px; border:2px solid currentColor; border-radius:4px; font:700 .72rem/1.4 var(--yazi-metin); letter-spacing:.06em; text-transform:uppercase; transform:rotate(-2deg); white-space:nowrap}
.damga.yapti{color:var(--green)} .damga.eksik{color:var(--amber)} .damga.gec{color:var(--amber)} .damga.yapmadi{color:var(--teal)} .damga.getirmedi{color:var(--gri)}
.damga.bekliyor{color:var(--teal)} .damga.verildi{color:var(--green)} .damga.yuzde{color:var(--green)}
.geri{background:none; border:0; padding:0; min-height:var(--dokunma); color:var(--teal-dark); font-weight:600}
.dugme{min-height:var(--dokunma); padding:0 18px; border:0; border-radius:var(--radius); background:var(--teal); color:#fff; font-weight:600; width:100%}
.dugme:hover:not(:disabled){background:var(--teal-dark)}
.bolum{border-left:4px solid var(--ton,var(--line)); padding:2px 0 4px 12px; margin:22px 0 10px}
.bolum.ton-1{--ton:var(--ton-1)} .bolum.ton-2{--ton:var(--ton-2)} .bolum.ton-3{--ton:var(--ton-3)} .bolum.ton-5{--ton:var(--ton-5)}
.bolum h3{font-size:1.1rem}
.bolum small{color:var(--muted)}
.bitti{font-size:.88rem; color:var(--muted); padding:10px 2px; margin:0}
.ipucu{font-size:.82rem; color:var(--muted); margin:4px 0 8px}
.uyari{font-size:.88rem; color:var(--red); background:rgba(179,38,30,.06); border-left:3px solid var(--red); padding:8px 10px; margin:10px 0 0}
.kaydedildi{text-align:center; padding:8px 0 0; margin:0}

/* ---- 1. Derslerim ---- */
.ders-satir{display:flex; align-items:center; gap:12px; width:100%; text-align:left; background:none; border:0; border-bottom:1px solid var(--line); padding:12px 2px; min-height:64px}
.ders-satir:hover{background:color-mix(in srgb, var(--panel) 70%, transparent)}
.ders-satir .saat{font:600 .8rem/1.2 var(--yazi-metin); color:var(--muted); width:68px; flex:none}
.ders-satir .gun{display:block; font-weight:700; color:var(--ink)}
.ders-satir .ad{flex:1; min-width:0}
.ders-satir .ad b{display:block; font-family:var(--yazi-baslik); font-size:1.05rem}
.ders-satir .ad span{font-size:.85rem; color:var(--muted)}
.ders-satir.bitmis .ad b{color:var(--muted)}

/* ---- 2. Ders sayfası ---- */
.bantli{position:relative; background:var(--panel); border:1px solid var(--line); box-shadow:var(--golge-kagit); padding:16px 14px 12px; margin:8px 0 6px}
.bantli::before{content:""; position:absolute; top:-9px; left:50%; width:84px; height:18px; transform:translateX(-50%) rotate(-3deg); background:rgba(190,190,190,.45); border:1px solid rgba(150,150,150,.4)}
.bantli h2{font-size:1.25rem}
.bantli small{color:var(--muted)}
.ders-izgara{display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:"kontrol" "yeni" "liste"}
.alan-kontrol{grid-area:kontrol} .alan-yeni{grid-area:yeni} .alan-liste{grid-area:liste}
.odev-baslik{font-family:var(--yazi-baslik); font-size:1.08rem; margin:2px 0 4px}
.odev-metin{font-size:.92rem; white-space:pre-line; max-height:4.6em; overflow:hidden; overflow-wrap:anywhere; margin:0}
.odev-metin.tam{max-height:none}
.devam{background:none; border:0; padding:4px 0; color:var(--teal-dark); font-size:.85rem; font-weight:600; min-height:32px}
.ozet{display:flex; gap:4px 12px; flex-wrap:wrap; font-size:.88rem; margin:8px 0 6px}
.ozet span b{font-size:1rem}
.ogr{border-bottom:1px solid var(--line)}
.ogr-bas{display:flex; align-items:center; width:100%; background:none; border:0; padding:10px 2px; min-height:var(--dokunma); text-align:left; gap:10px}
.ogr-bas .no{width:30px; color:var(--muted); font-size:.8rem; flex:none}
.ogr-bas .isim{flex:1; min-width:0}
.secenek{display:none; gap:6px; padding:0 0 10px 40px; flex-wrap:wrap}
.ogr.acik .secenek{display:flex}
.ogr-not{display:none; padding:0 0 10px 40px} .ogr.acik .ogr-not{display:block}
.ogr-not input{font-size:.88rem}
.not-satir{display:block; font-size:.8rem; color:var(--muted); padding:0 0 8px 40px; margin-top:-6px; overflow-wrap:anywhere}
.secenek button{min-height:40px; padding:0 10px; border:1px solid var(--line); background:var(--panel); border-radius:var(--radius); font-size:.85rem}
.secenek button.secili{border-color:currentColor; font-weight:700; box-shadow:inset 0 0 0 1px currentColor}
.secenek .yapti{color:var(--green)} .secenek .eksik{color:var(--amber)} .secenek .gec{color:var(--amber)} .secenek .yapmadi{color:var(--teal)} .secenek .getirmedi{color:var(--gri)}
label{display:block; font:600 .88rem/1.35 var(--yazi-metin); margin:14px 0 2px}
label .ince{font-weight:400; color:var(--muted)}
textarea,input[type=text],input[type=email],input[type=password],input[type=url],input[type=date],input[type=time]{width:100%; font:inherit; background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:6px 0; color:var(--ink)}
textarea{min-height:110px; resize:vertical; background-image:repeating-linear-gradient(transparent 0 calc(1.55em - 1px), rgba(35,38,43,.09) calc(1.55em - 1px) 1.55em); line-height:1.55em}
textarea:focus,input:focus{outline:none; border-bottom:2px solid var(--teal)}
.sayac{font-size:.75rem; color:var(--muted); text-align:right}
.ekler{margin:6px 0 4px; display:flex; flex-wrap:wrap; gap:6px}
.ek{display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 12px; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); color:var(--ink); text-decoration:none; font-size:.88rem; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.ek:hover{border-color:var(--ink)}
.ek-tur{font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted)}
.teslim{display:flex; gap:8px; flex-wrap:wrap; margin:6px 0 4px}
.teslim button{min-height:40px; padding:0 12px; border:1px solid var(--line); background:var(--panel); border-radius:var(--radius); font-size:.88rem}
.teslim button.secili{background:var(--ink); color:var(--paper); border-color:var(--ink)}
.dosya-sec{display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:.88rem; margin-top:6px}
.dosya-sec input[type=file]{font-size:.85rem; max-width:100%}
.form-son{margin-top:18px}

/* Ödevler listesi: bitmiş iş tek satırda */
.odev-satir{display:flex; align-items:center; gap:10px; width:100%; text-align:left; background:none; border:0; border-bottom:1px solid var(--line); padding:10px 2px; min-height:56px}
.odev-satir .metin{flex:1; min-width:0}
.odev-satir .metin b{display:block; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.odev-satir .metin span{font-size:.82rem; color:var(--muted)}
.odev-satir.secili{background:color-mix(in srgb, var(--ton-1) 6%, transparent)}

/* ---- giriş: ortak bilgisayar seçimi, bilgi, şifre belirleme (15.10) ---- */
label.secim{display:flex; align-items:flex-start; gap:10px; font-weight:400; margin:16px 0 0; cursor:pointer; min-height:var(--dokunma)}
label.secim input{width:20px; height:20px; margin:2px 0 0; flex:none; accent-color:var(--teal)}
.bilgi{font-size:.88rem; color:var(--ink); background:color-mix(in srgb, var(--amber) 9%, transparent); border-left:3px solid var(--amber); padding:8px 10px; margin:12px 0 0}
.ikincil{min-height:40px; padding:0 14px; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); font-size:.88rem}
.ikincil:hover:not(:disabled){border-color:var(--ink)}
#sifreCikis{margin-top:14px; width:100%}
select{font:inherit; color:var(--ink); background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); min-height:40px; padding:0 8px; max-width:100%; width:100%}
select:focus{outline:none; border-color:var(--teal); box-shadow:0 0 0 1px var(--teal)}

/* ---- 3. Atamalar (yönetim) ---- */
.atama-bildirim{text-align:left; display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:.9rem; padding:0 0 6px}
.atama-izgara{display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:"form" "liste" "mentor" "personel" "ogrhesap" "toplu"}
.alan-form{grid-area:form} .alan-liste{grid-area:liste} .alan-mentor{grid-area:mentor} .alan-toplu{grid-area:toplu} .alan-personel{grid-area:personel; min-width:0} .alan-ogrhesap{grid-area:ogrhesap; min-width:0}
.saat-liste{display:flex; flex-wrap:wrap; gap:6px; margin:6px 0; font-size:.85rem}
.saat-cip{display:inline-flex; align-items:center; gap:4px; border:1px solid var(--line); background:var(--panel); border-radius:var(--radius); padding:0 0 0 10px; min-height:36px}
.cip-sil{background:none; border:0; min-width:36px; min-height:36px; font-size:1.1rem; color:var(--muted)}
.cip-sil:hover{color:var(--teal)}
.saat-ekle{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px; align-items:center}
.saat-ekle .ikincil{grid-column:1 / -1}
.iki-dugme{display:flex; gap:8px} .iki-dugme .dugme{flex:1} .iki-dugme .ikincil{min-height:var(--dokunma)}
.sinif-kart{background:var(--panel); border:1px solid var(--line); padding:4px 12px 2px; margin:0 0 12px}
.sinif-bas{display:flex; align-items:baseline; gap:10px; border-bottom:3px double var(--line); padding:6px 0}
.sinif-bas h3{font-size:1.1rem} .sinif-bas small{color:var(--muted); font-size:.8rem}
.atama-satir,.mentor-satir{display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; border-bottom:1px solid var(--line); padding:8px 0; min-height:52px}
.atama-satir:last-child,.mentor-satir:last-child{border-bottom:0}
.atama-satir .metin,.mentor-satir .metin,.toplu-satir .metin{flex:1 1 180px; min-width:0}
.atama-satir .metin b,.mentor-satir .metin b,.toplu-satir .metin b{display:block; font-weight:600; overflow-wrap:anywhere}
.atama-satir .metin span,.mentor-satir .metin span,.toplu-satir .metin span{font-size:.82rem; color:var(--muted); overflow-wrap:anywhere}
.atama-satir .uyari,.mentor-satir .uyari{flex-basis:100%}
.islemler{display:flex; gap:6px; align-items:center; flex-wrap:wrap}
.islemler .soru{font-size:.82rem; color:var(--teal-dark); font-weight:600}
.kucuk{min-height:36px; padding:0 10px; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); font-size:.82rem}
.kucuk:hover:not(:disabled){border-color:var(--ink)}
.kucuk.tehlike{color:var(--teal-dark)}
.kucuk.dolu{background:var(--teal); border-color:var(--teal); color:#fff; font-weight:600}
.kucuk.dolu:hover:not(:disabled){background:var(--teal-dark)}
.mentor-sec{display:flex; gap:6px; align-items:center; flex:1 1 220px}
.mentor-sec select{flex:1; min-width:0}
.toplu-ozet{font-size:.9rem; margin:10px 0 6px}
.toplu-liste{border:1px solid var(--line); background:var(--panel); max-height:340px; overflow:auto}
.toplu-satir{display:flex; align-items:center; gap:10px; padding:6px 10px; border-bottom:1px solid var(--line)}

/* ---- Atamalar → Personel (14.10 öğle; müdür ve üstü): geçici şifre + ekipler; koordinatör yalnız ekipler (14.10 öğleden sonra) ---- */
.personel-ust{display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; margin:6px 0}
.personel-ust .soru{font-size:.82rem; color:var(--teal-dark); font-weight:600; flex-basis:100%}
.personel-liste{background:var(--panel); border:1px solid var(--line); padding:0 12px}
.personel-satir{display:grid; grid-template-columns:28px minmax(0,1fr) auto; grid-template-areas:"sec metin islem" ". ekip ekip"; align-items:center; gap:2px 8px;
  border-bottom:1px solid var(--line); padding:8px 0; min-height:52px}
.personel-satir:last-child{border-bottom:0}
.personel-satir input[type=checkbox]{grid-area:sec; width:20px; height:20px; margin:0; accent-color:var(--teal)}
.personel-satir .sec-yok{grid-area:sec}
.personel-satir .metin{grid-area:metin; min-width:0}
.personel-satir .metin b{display:block; font-weight:600; overflow-wrap:anywhere}
.personel-satir .metin span{display:block; font-size:.82rem; color:var(--muted); overflow-wrap:anywhere}
.personel-satir .metin .gecici-durum{color:var(--teal-dark)} .personel-satir .metin .gecici-durum.doldu{color:var(--amber); font-weight:600}
.personel-satir .islemler{grid-area:islem; justify-content:flex-end}
.personel-satir .islemler .soru{flex-basis:100%; text-align:right}
/* 15.10 (denetim O2): müdürün ekranında rehber satırında düğme yerine gerekçe */
.personel-satir .islemler .rehber-gerekce{font-size:.78rem; color:var(--muted); text-align:right; max-width:16em; line-height:1.3}
.personel-satir .ekipler{grid-area:ekip; display:flex; flex-wrap:wrap; gap:6px}
.personel-satir .ekipler:empty{display:none}
/* 14.10 öğleden sonra: koordinatör — yalnız ekip düğmeleri (seçim kutusu, geçici şifre sütunu yok) */
.personel-satir.yalniz-ekip{grid-template-columns:minmax(0,1fr); grid-template-areas:"metin" "ekip"}
.ekip-dugme{min-height:32px; padding:0 10px; border:1px dashed var(--line); border-radius:16px; background:none; font-size:.8rem; color:var(--muted)}
.ekip-dugme[aria-pressed="true"]{border:1px solid var(--ton-2); background:var(--ton-2); color:#fff; font-weight:600}
.ekip-dugme[aria-pressed="true"]::before{content:"✓ "}
.ekip-etiket{display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border-radius:14px; background:var(--kagit-3); font-size:.78rem; color:var(--ink)}

/* ---- geçici şifre fişleri (14.10 öğle): uygulama içinde tam ekran sayfa; yazdırınca yalnız fişler ---- */
.fis-sayfa{position:fixed; inset:0; z-index:20; overflow:auto; background:var(--paper); padding:18px 16px 48px}
.fis-ust{max-width:900px; margin:0 auto 14px; border-bottom:3px double var(--line); padding-bottom:12px}
.fis-ust h1{font-size:1.4rem}
.fis-ust .uyari ul{margin:4px 0 0; padding-left:18px}
.fis-dugmeler{display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:10px}
.fis-dugmeler .dugme{width:auto} .fis-dugmeler .ikincil{min-height:var(--dokunma)}
.fis-dugmeler .soru{flex-basis:100%; font-size:.85rem; color:var(--teal-dark); font-weight:600}
.fisler{max-width:900px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr); gap:12px}
.fis{background:var(--panel); border:1.5px dashed #8a8c92; padding:12px 16px 10px; break-inside:avoid; page-break-inside:avoid}
.fis-bas{display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--line); padding-bottom:6px; margin-bottom:6px}
.fis-bas b{font-family:var(--yazi-baslik); font-size:1.05rem}
.fis-logo{width:26px; height:26px; object-fit:contain}
.fis-ad{margin:0 0 6px; font-weight:700; font-size:1.05rem; overflow-wrap:anywhere}
/* fişte etiket üstte, değer altta (dar ekranda ve yazdırmada e-posta bölünmesin); geniş ekranda yan yana */
.fis dl{display:grid; grid-template-columns:minmax(0,1fr); margin:0; font-size:.9rem}
.fis dt{color:var(--muted); font-size:.75rem; margin-top:5px} .fis dt:first-child{margin-top:0}
.fis dd{margin:0; overflow-wrap:anywhere}
.fis .fis-sifre{font:700 1.15rem/1.3 Consolas, "Courier New", monospace; letter-spacing:.06em}
.fis .fis-kullanici{font:700 1.15rem/1.3 Consolas, "Courier New", monospace; letter-spacing:.04em}   /* 14.10 akşam: öğrenci fişi — kullanıcı adı = okul numarası */
.fis-not{margin:8px 0 0; font-size:.82rem}
.fis-tarih{margin:2px 0 0; font-size:.75rem; color:var(--muted)}
.tehlike-bolge label,.tehlike-bolge textarea,.tehlike-bolge .ipucu{flex-basis:100%}
.tehlike-bolge label{margin-top:0}
.toplu-satir:last-child{border-bottom:0}
.toplu-satir .sira{width:26px; color:var(--muted); font-size:.78rem; flex:none}
.toplu-satir.hata{background:rgba(179,38,30,.04)}

/* ---- 4. Kontrol (müdür ve üstü) ---- */
.hafta-sec{display:flex; align-items:center; gap:8px; margin:-6px 0 2px}
.hafta-sec .kucuk{min-height:var(--dokunma); padding:0 12px; flex:none}
.hafta-sec .hafta-ad{flex:1; min-width:0; text-align:center; font-size:.92rem}
.kontrol-izgara{display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:"dikkat" "ogretmen" "sinif" "ogrenci"}
.alan-dikkat{grid-area:dikkat} .alan-ogretmen{grid-area:ogretmen} .alan-sinif{grid-area:sinif} .alan-ogrenci{grid-area:ogrenci}
.dikkat-grup h4{font:600 .76rem/1.3 var(--yazi-metin); color:var(--muted); text-transform:uppercase; letter-spacing:.05em; margin:12px 0 0}
.kontrol-satir{display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; border-bottom:1px solid var(--line); padding:8px 0; min-height:52px}
.kontrol-satir .metin{flex:1 1 170px; min-width:0}
.kontrol-satir .metin b{display:block; font-weight:600; overflow-wrap:anywhere}
.kontrol-satir .metin span{font-size:.82rem; color:var(--muted); overflow-wrap:anywhere}
.kontrol-satir .sayi{font-size:.82rem; font-weight:600; color:var(--teal-dark)}
#aksamaYok{display:flex; align-items:center; gap:8px}
.kontrol-tablo{width:100%; border-collapse:collapse; font-size:.9rem}
.kontrol-tablo th,.kontrol-tablo td{text-align:left; padding:8px 4px; border-bottom:1px solid var(--line); overflow-wrap:anywhere}
.kontrol-tablo th{font-weight:600; color:var(--muted); font-size:.76rem}
.kontrol-tablo .say{text-align:right; font-variant-numeric:tabular-nums; width:62px}
.kontrol-tablo tr.aksak td:first-child{font-weight:600}
.kontrol-tablo td.gecikme{color:var(--teal); font-weight:700}
.kontrol-tablo tr.sorunsuz td.say{color:var(--muted)}
.sinif-ozet{display:grid; grid-template-columns:52px minmax(0,1fr) auto 44px; align-items:center; gap:10px; border-bottom:1px solid var(--line); padding:8px 0; min-height:44px}
.sinif-ozet b{font-family:var(--yazi-baslik); font-weight:600}
.sinif-ozet .cubuk{height:6px; background:var(--kagit-3); border-radius:3px; overflow:hidden}
.sinif-ozet .cubuk i{display:block; height:100%; background:var(--green)}
.sinif-ozet small{color:var(--muted); font-size:.78rem; white-space:nowrap}
.sinif-ozet .oran{text-align:right; font-weight:700; font-variant-numeric:tabular-nums}
.sinif-ozet.bos .oran,.sinif-ozet.bos b{color:var(--muted)}

/* ---- 5. Etkinlikler (bütün personel; yazar: yönetim + 'etkinlik' ekibi) ---- */
.etk-araclar{display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; margin:10px 0 0}
.etk-araclar .kucuk{min-height:40px; padding:0 14px}
.etkinlik-izgara{display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:"form" "liste"}
.etkinlik-izgara .alan-form{grid-area:form} .etkinlik-izgara .alan-liste{grid-area:liste}
.alan-form.kapali{display:none}
.etk-form{background:var(--panel); border:1px solid var(--line); padding:2px 14px 16px; margin:14px 0 0}
.gun-baslik{font:600 .76rem/1.3 var(--yazi-metin); color:var(--muted); text-transform:uppercase; letter-spacing:.05em; margin:14px 0 0; padding-bottom:4px; border-bottom:1px solid var(--line)}
.etkinlik-satir{display:flex; align-items:flex-start; flex-wrap:wrap; gap:4px 10px; border-bottom:1px solid var(--line); padding:10px 0; min-height:56px}
.etkinlik-satir .metin{flex:1 1 200px; min-width:0}
.etkinlik-satir .metin b{display:block; font-family:var(--yazi-baslik); font-weight:600; font-size:1.02rem; overflow-wrap:anywhere}
.etkinlik-satir .metin span{display:block; font-size:.82rem; color:var(--muted); overflow-wrap:anywhere}
.etkinlik-satir .metin .etk-not{color:var(--ink); white-space:pre-line; border-left:2px solid var(--line); padding-left:8px; margin-top:4px}
.etkinlik-satir .islemler,.etkinlik-satir .uyari{flex-basis:100%}
.etkinlik-satir.iptal .metin b,.etkinlik-satir.iptal .metin .zaman{text-decoration:line-through; color:var(--muted)}
.etkinlik-satir.taslak .metin b{color:var(--gri)}
.damga.taslak{color:var(--gri)} .damga.iptal{color:var(--teal)}
.gecmis .etkinlik-satir{opacity:.72}
.iki-alan{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px}
.sorumlu-ekle{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; align-items:center; margin-top:4px}
.sorumlu-ekle .ikincil{min-height:40px}

/* ---- "Bu hafta okulda" (Derslerim'in üstü; etkinlik yoksa hiç çizilmez) ---- */
.bu-hafta{background:var(--panel); border:1px solid var(--line); border-left:4px solid var(--ton-3); padding:6px 12px 2px; margin:0 0 4px}
.bu-hafta h2{font-size:.98rem; margin:2px 0}
.hafta-etkinlik{display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 10px; width:100%; text-align:left; background:none; border:0; border-top:1px solid var(--line); padding:8px 0; min-height:var(--dokunma)}
.bu-hafta h2 + .hafta-etkinlik{border-top:0}
.hafta-etkinlik:hover{background:color-mix(in srgb, var(--panel) 70%, var(--kagit-2))}
.hafta-etkinlik .zaman{font-size:.8rem; font-weight:700; white-space:nowrap}
.hafta-etkinlik .metin{flex:1 1 160px; min-width:0; font-size:.9rem; overflow-wrap:anywhere}
.hafta-etkinlik .metin b{font-weight:600}
.hafta-etkinlik .cakisma{font-size:.74rem; font-weight:700; color:var(--teal-dark); border:1px solid currentColor; border-radius:var(--radius); padding:0 6px; overflow-wrap:anywhere}
/* 14.10 akşamüstü: "Fotoğraf çekilecek" (sorumlunun "Bu hafta okulda"sında etkinlik günü; yönetimin Etkinlikler listesinde) */
.foto-etiket,.etkinlik-satir .metin .foto-etiket{display:inline-block; font-size:.74rem; font-weight:700; color:var(--green); border:1px dashed currentColor; border-radius:var(--radius); padding:0 6px; white-space:nowrap}
.etkinlik-satir .metin .foto-etiket{margin-top:4px}
/* 14.10 akşamüstü: "Bugün yemekte: …" — Derslerim'de TEK satır (menü yoksa, hafta sonu ya da tatilse hiç çizilmez) */
.bugun-yemek{font-size:.88rem; margin:6px 0 2px; padding:7px 12px; background:var(--panel); border:1px solid var(--line); border-left:4px solid var(--green); overflow-wrap:anywhere}
.bugun-yemek b{font-weight:600}

/* ---- 14.10 akşam: öğrencinin "Ödevlerim" + "Geçmiş" (telefon önce; salt okuma) ---- */
.ogrenci .bugun-yemek{margin:0 0 8px}
.ogrenci .bu-hafta{margin:0 0 6px}
.ogrenci div.hafta-etkinlik{cursor:default}
.ogrenci div.hafta-etkinlik:hover{background:none}
.ogr-grup .bolum{margin-top:18px}
.ogr-odev{background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--line); padding:10px 12px 8px; margin:0 0 8px}
.ogr-grup[data-grup="bugun"] .ogr-odev,.ogr-grup[data-grup="yarina"] .ogr-odev{border-left-color:var(--ton-1)}
.ogr-odev-bas{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:2px 10px}
.ogr-odev-bas .ders{font-family:var(--yazi-baslik); font-size:1.05rem; font-weight:600}
.ogr-odev-bas .teslim{font-size:.82rem; font-weight:600; color:var(--teal-dark); white-space:nowrap}
.ogr-odev .odev-baslik{font-family:var(--yazi-metin); font-size:.95rem; font-weight:600; margin:4px 0 2px; overflow-wrap:anywhere}
.ogr-odev .ekler{margin:8px 0 2px}
.gecmis-satir{cursor:default}
.gecmis-satir .metin b{white-space:normal; overflow-wrap:anywhere}
.kontrolsuz{font-size:.76rem; color:var(--muted); text-align:right; max-width:7.5em; line-height:1.25; flex:none}

/* ---- 7. Yemek menüsü (14.10 akşamüstü; idari + müdür ve üstü): telefonda günler alt alta, masaüstünde haftalar × Pzt–Cum ---- */
.menu-tablo{margin:14px 0 4px}
.menu-satir{display:grid; grid-template-columns:minmax(0,1fr)}
.menu-bas{display:none}
.menu-gun{background:var(--panel); border:1px solid var(--line); padding:6px 10px 8px; margin:0 0 6px}
.menu-gun.ay-disi{display:none}
.menu-gun.tatil{background:color-mix(in srgb, var(--amber) 8%, var(--panel))}
.menu-gun-ust{display:flex; align-items:center; justify-content:space-between; gap:8px}
.menu-gun-tarih{font-size:.82rem; color:var(--muted)}
.menu-gun-tarih b{font-family:var(--yazi-baslik); font-size:1.05rem; color:var(--ink)}
label.menu-tatil-sec{display:inline-flex; align-items:center; gap:4px; margin:0; font-weight:400; font-size:.8rem; color:var(--muted); min-height:36px; cursor:pointer}
.menu-tatil-sec input{width:18px; height:18px; margin:0; accent-color:var(--teal)}
textarea.menu-yemek{min-height:5.2em; font-size:.88rem}
.menu-tatil-ad{font-size:.88rem}
.menu-yapistir{background:var(--panel); border:1px solid var(--line); padding:2px 14px 14px; margin:12px 0}
textarea.yapistir-alani{min-height:90px; font:.82rem/1.45 Consolas, "Courier New", monospace; background-image:none}
.yapistir-onizleme .toplu-liste{max-height:300px}
.menu-cikis{display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px}
.menu-yazdir{display:none}
/* ---- Atamalar → Personel → "Yeni personel hesabı" (14.10 akşamüstü; müdür ve üstü) ---- */
.hesap-ac{margin:6px 0}
.hesap-ac-form{background:var(--panel); border:1px solid var(--line); padding:2px 12px 12px; margin-top:8px}

/* ---- 6. Sınavlar (15.10): yükleme, inceleme, onay, sonuç tablosu — taslaklar/sinav-taslak.html ---- */
.sinav-ana{display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:"liste" "form"}
.sinav-ana.form-once{grid-template-areas:"form" "liste"}
.sinav-ana .alan-form{grid-area:form} .sinav-ana .alan-liste{grid-area:liste}
.sinav-form{background:var(--panel); border:1px solid var(--line); padding:2px 14px 16px; margin:8px 0 0}
.sinav-satir{display:flex; align-items:center; gap:10px; width:100%; text-align:left; background:none; border:0; border-bottom:1px solid var(--line); padding:10px 2px; min-height:56px}
.sinav-satir:hover{background:color-mix(in srgb, var(--panel) 70%, var(--kagit-2))}
.sinav-satir .metin{flex:1; min-width:0}
.sinav-satir .metin b{display:block; font-family:var(--yazi-baslik); font-weight:600; font-size:1.02rem; overflow-wrap:anywhere}
.sinav-satir .metin span{font-size:.82rem; color:var(--muted)}
.onay-liste{list-style:none; padding:0; margin:8px 0}
.onay-liste li{display:flex; gap:10px; padding:8px 2px; border-bottom:1px solid var(--line); font-size:.9rem; overflow-wrap:anywhere}
.onay-liste .isaret{flex:none; width:18px; font-weight:700}
.onay-liste li.tamam .isaret{color:var(--green)} .onay-liste li.dikkat .isaret{color:var(--amber)}
.hata-liste{margin:6px 0 0; padding-left:20px; font-size:.85rem; color:var(--red); overflow-wrap:anywhere}
.not-metni{margin:0; font-size:.92rem; white-space:pre-line; overflow-wrap:anywhere}
.eslesmeyen-satir{display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; border-bottom:1px solid var(--line); padding:10px 0}
.eslesmeyen-satir .metin{flex:1 1 100%; min-width:0}
.eslesmeyen-satir .metin b{display:block; font-weight:600; overflow-wrap:anywhere}
.eslesmeyen-satir .metin span{display:block; font-size:.82rem; color:var(--muted); overflow-wrap:anywhere}
.eslesmeyen-satir .metin .neden{color:var(--amber)}
.eslesmeyen-satir .esle-sec{flex:1 1 220px; min-width:0}
.eslesmeyen-satir .uyari{flex-basis:100%}
.onay-dugmeler{display:flex; flex-direction:column; gap:8px; margin-top:16px}
.onay-dugmeler .ikincil{min-height:var(--dokunma)}
.tehlike-bolge{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:26px; padding-top:10px; border-top:1px dashed var(--line); font-size:.85rem; color:var(--muted)}
.tehlike-bolge .soru{color:var(--teal-dark); font-weight:600}
.sinav-izgara{display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:"sol" "sag"}
.sinav-izgara .alan-sol{grid-area:sol; min-width:0} .sinav-izgara .alan-sag{grid-area:sag; min-width:0}
#sinifOrtalamalari{margin-top:10px}
.sinav-sinif{padding-bottom:6px}
.tablo-kap{overflow-x:auto; -webkit-overflow-scrolling:touch}
.sinav-tablo{width:100%; border-collapse:collapse; font-size:.84rem}
.sinav-tablo th,.sinav-tablo td{text-align:left; padding:7px 4px; border-bottom:1px solid var(--line)}
.sinav-tablo th{font-weight:600; color:var(--muted); font-size:.74rem; white-space:nowrap}
.sinav-tablo .say{text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap}
.sinav-tablo td.ad{min-width:104px; overflow-wrap:anywhere}
/* 14.10 öğleden sonra: net karşılaştırması — üstte uyarı, karnedeki netle tutmayan satır işaretli */
.net-uyari b{display:block} .net-uyari ul{margin:4px 0 0; padding-left:18px}
.sinav-tablo tr.net-farkli td{background:rgba(179,38,30,.06)}
.karne-farki{display:block; font-size:.72rem; color:var(--red); font-weight:600}
.sinav-tablo td.toplam{font-weight:700}
.sinav-tablo tfoot td{color:var(--muted); font-size:.78rem; border-bottom:0; border-top:2px solid var(--line)}
.sinav-tablo tbody tr:last-child td{border-bottom:0}

/* ---- 7. Sınav istatistikleri (15.10): sınıflar, deneme gidişi, en çok kaçırılan sorular, branş öğretmeni, mentör son deneme — taslaklar/sinav-taslak.html ---- */
.cip-serit{display:flex; gap:6px; overflow-x:auto; -webkit-overflow-scrolling:touch; padding:2px 0 6px; margin:6px 0 2px; scrollbar-width:thin}
.cip-serit button{flex:none; min-height:40px; padding:0 12px; border:1px solid var(--line); background:var(--panel); border-radius:var(--radius); font-size:.85rem; white-space:nowrap}
.cip-serit button[aria-pressed="true"]{background:var(--ink); color:var(--paper); border-color:var(--ink)}
.fark{font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap}
.fark.yukari{color:var(--green)} .fark.asagi{color:var(--teal)} .fark.ayni{color:var(--muted); font-weight:400}
.sinav-satir .net-kutu{flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:1px; text-align:right}
.sinav-satir .net-kutu .net{font-family:var(--yazi-baslik); font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap}
.sinav-satir .net-kutu small{font-size:.74rem; color:var(--muted); white-space:nowrap}
.brans-tek{font-weight:600; margin:10px 0 0}
.soru-satir{display:flex; align-items:flex-start; gap:12px; padding:10px 2px; border-bottom:1px solid var(--line)}
.soru-satir .no{flex:none; width:74px; font:600 .74rem/1.3 var(--yazi-metin); color:var(--muted)}
.soru-satir .no b{display:block; font-family:var(--yazi-baslik); font-size:1.05rem; color:var(--ink)}
.soru-satir .no .alt{display:block; color:var(--teal-dark)}
.soru-satir .ic{flex:1; min-width:0; font-size:.88rem}
.soru-satir .ic small{display:block; color:var(--muted); overflow-wrap:anywhere}
.soru-satir .ic .okul-oran{font-weight:400; color:var(--muted)}
.soru-satir .ic .kazanim{color:var(--ink); font-style:italic; margin-top:2px}
.soru-satir .cubuk{display:block; height:6px; background:var(--kagit-3); border-radius:3px; margin:5px 0 2px; overflow:hidden}
.soru-satir .cubuk i{display:block; height:100%; background:var(--teal)}
details.tum-sorular{margin:10px 0 0; border-top:1px dashed var(--line); padding-top:6px}
details.tum-sorular summary{cursor:pointer; min-height:var(--dokunma); display:flex; align-items:center; font-size:.88rem; font-weight:600; color:var(--teal-dark)}
.soru-tablo td small.alt{color:var(--muted)}
.soru-tablo tr.iptal td{color:var(--muted); text-decoration:line-through}
.ort-tablo td .fark{font-size:.84rem}
.gidis{margin:4px 0 0}
.grafik{width:100%; height:auto; display:block; margin:6px 0 0; overflow:visible}
.grafik text{font:11px var(--yazi-metin); fill:var(--muted)}
.grafik .deger{font-weight:700; fill:var(--ink)}
.grafik .taban{stroke:var(--line); stroke-width:1}
.grafik .cizgi-sinif{fill:none; stroke:var(--ink); stroke-width:2}
.grafik .cizgi-okul{fill:none; stroke:var(--ton-5); stroke-width:1.5; stroke-dasharray:4 3}
.grafik .nokta{fill:var(--ink)} .grafik .nokta.son{fill:var(--teal)} .grafik .nokta-okul{fill:var(--ton-5)}
.grafik-acik{display:flex; flex-wrap:wrap; gap:6px 16px; font-size:.78rem; color:var(--muted); margin:2px 0 0}
.grafik-acik .sinif::before{content:""; display:inline-block; width:18px; height:2px; background:var(--ink); vertical-align:middle; margin-right:6px}
.grafik-acik .okul::before{content:""; display:inline-block; width:18px; border-top:2px dashed var(--ton-5); vertical-align:middle; margin-right:6px}
.brans-ek{margin-top:26px; padding-top:6px; border-top:3px double var(--line)}

/* ---- yazdırma (öğretmenler odası panosu): yalnız Etkinlikler'in sade tablosu ---- */
.yazdir-sayfa{display:none}
@media print{
  @page{size:A4 portrait; margin:12mm}
  body{background:#fff; color:#000; font-size:10.5pt}
  .ust-serit,nav.sekmeler,.ekran-yalniz{display:none !important}
  main,#etkinlikler.dar{max-width:none; margin:0; padding:0}
  /* 14.10 öğleden sonra: aylık etkinlik takvimi koordinatörün Word düzeninde — A4 yatay, 3 sütun (Tarih 43 · Etkinlik 42 · Yer 15), kalın büyük harf, ortalı */
  @page takvim{size:A4 landscape; margin:12mm}
  .yazdir-sayfa{display:block; page:takvim}
  .yazdir-sayfa h1,.yazdir-sayfa h2{text-align:center; text-transform:uppercase; margin:0}
  .yazdir-sayfa h1{font-size:14pt} .yazdir-sayfa h2{font-size:12pt; margin:2px 0 8px}
  .yazdir-tablo{width:100%; border-collapse:collapse; table-layout:fixed}
  .yazdir-tablo th,.yazdir-tablo td{border:1px solid #000; padding:5px 6px; text-align:center; vertical-align:middle; text-transform:uppercase; font-weight:700; font-size:11.5pt}
  .yazdir-tablo th{font-size:10pt; background:#eee}
  /* 14.10 akşamüstü (müdür onayı): sütun başlığı her sayfada tekrar eder; tarih sütunu daraldı (saat tarihin yanında), etkinlik genişledi */
  .yazdir-tablo thead{display:table-header-group}
  .yazdir-tablo th:nth-child(1){width:30%} .yazdir-tablo th:nth-child(2){width:55%} .yazdir-tablo th:nth-child(3){width:15%}
  .yazdir-tablo tr{break-inside:avoid}
  .yazdir-tablo tr.iptal td{color:#555}
  .yazdir-tablo tr.iptal .ad{text-decoration:line-through}
  .yazdir-alt{font-size:8.5pt; color:#444; margin-top:8px}
  /* 14.10 akşamüstü: yemek menüsü — basılı menüyle aynı düzen: A4 yatay, başlık okul adı + "EKİM 2026 YEMEK LİSTESİ", haftalar × Pzt–Cum, altta not */
  @page menu{size:A4 landscape; margin:10mm}
  .menu-yazdir{display:block; page:menu}
  .menu-yazdir h1,.menu-yazdir h2{text-align:center; text-transform:uppercase; margin:0}
  .menu-yazdir h1{font-size:15pt} .menu-yazdir h2{font-size:12.5pt; margin:2px 0 6px}
  .menu-yazdir-tablo{width:100%; border-collapse:collapse; table-layout:fixed}
  .menu-yazdir-tablo thead{display:table-header-group}
  .menu-yazdir-tablo th,.menu-yazdir-tablo td{border:1px solid #000; padding:4px 5px; text-align:center; vertical-align:top; font-size:10pt; line-height:1.3; text-transform:uppercase}
  .menu-yazdir-tablo th{background:#eee; font-size:10pt}
  .menu-yazdir-tablo td .tarih{font-weight:700; margin-bottom:2px}
  .menu-yazdir-tablo td.bos{background:#f2f2f2}
  .menu-yazdir-tablo td .tatil{display:block; margin-top:8px}
  .menu-yazdir-tablo tr{break-inside:avoid}
  .menu-yazdir-not{text-align:center; font-weight:700; text-transform:uppercase; font-size:10pt; margin:6px 0 0}
  /* 14.10 öğle: fiş sayfası açıkken YALNIZ fişler (A4'te iki sütun, kesilecek kesik çizgili kutular) */
  /* (html öneki: aşağıdaki ekran genişliği kurallarından baskın olsun) */
  html.fis-acik #kok > :not(.fis-sayfa){display:none !important}
  html .fis-sayfa{position:static; overflow:visible; padding:0; background:#fff}
  html .fisler{max-width:none; grid-template-columns:1fr 1fr; gap:6mm}
  html .fis{border:1px dashed #555; background:#fff; padding:4mm 5mm}
  html .fis dl{grid-template-columns:minmax(0,1fr); gap:0}
  html .fis dt{margin-top:1.5mm; font-size:8.5pt} html .fis dt:first-child{margin-top:0}
  html .fis dt,html .fis-tarih{color:#333}
}

/* ---- telefon / dar ekran: sekme şeridi (15.10: Sınavlar ile müdürde 5 sekme) ---- */
@media (max-width:899px){
  nav.sekmeler{overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch}
  nav.sekmeler::-webkit-scrollbar{display:none}
  nav.sekmeler button{flex:none; padding:0 9px; font-size:.86rem; margin-bottom:0; overflow:visible}
}

/* ---- masaüstü (1100px) ---- */
@media (min-width:900px){
  main{padding:26px 24px 64px}
  nav.sekmeler{padding:8px 12px 0}
  nav.sekmeler button{padding:0 18px; font-size:.95rem}
  .etkinlik-izgara.yazar{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); grid-template-areas:"liste form"; column-gap:40px; align-items:start}
  .etkinlik-izgara .alan-form.kapali{display:block}
  .etkinlik-izgara.yazar .etk-form{margin-top:22px}
  .etk-ust-satir{display:flex; align-items:center; justify-content:space-between; gap:16px}
  .etk-ust-satir .ay-sec{flex:1 1 auto; margin:0}
  .etk-ust-satir .etk-araclar{margin:0; flex:none}
  #yeniEtkinlikAc{display:none}
  .ders-izgara{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); grid-template-areas:"kontrol yeni" "liste yeni"; column-gap:40px; align-items:start}
  .alan-yeni{position:sticky; top:16px}
  .ust-serit{padding:10px 24px}
  .atama-izgara{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); grid-template-rows:auto auto auto auto auto 1fr; grid-template-areas:"liste form" "liste mentor" "liste personel" "liste ogrhesap" "liste toplu" "liste ."; column-gap:40px; align-items:start}
  .fis-sayfa{padding:26px 24px 64px}
  .fisler{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fis dl{grid-template-columns:max-content minmax(0,1fr); gap:3px 12px; align-items:baseline}
  .fis dt{margin-top:0; font-size:.82rem}
  .alan-liste .bolum:first-child,.alan-form .bolum:first-child{margin-top:0}
  .saat-ekle{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto} .saat-ekle .ikincil{grid-column:auto}
  .kontrol-izgara{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); grid-template-rows:auto auto auto 1fr;
    grid-template-areas:"dikkat dikkat" "ogretmen sinif" "ogretmen ogrenci" "ogretmen ."; column-gap:40px; align-items:start}
  .dikkat-gruplar{display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); column-gap:40px; align-items:start}
  .hafta-sec{max-width:520px}
  .sinav-ana.yukleyici{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); grid-template-areas:"liste form"; column-gap:40px; align-items:start}
  .sinav-ana.yukleyici .alan-form .bolum:first-child{margin-top:0}
  .sinav-izgara{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); grid-template-areas:"sol sag"; column-gap:40px; align-items:start}
  .sinav-izgara .bolum:first-child{margin-top:16px}
  /* 14.10 akşamüstü: yemek menüsü masaüstünde basılı menü gibi — haftalar × Pazartesi–Cuma */
  .menu-satir{grid-template-columns:repeat(5,minmax(0,1fr))}
  .menu-bas{display:grid}
  .menu-bas-gun{font:600 .76rem/1.3 var(--yazi-metin); text-transform:uppercase; letter-spacing:.05em; color:var(--muted); padding:4px 8px; text-align:center}
  .menu-gun{margin:0 -1px -1px 0}
  .menu-gun.ay-disi{display:block; background:var(--kagit-2); opacity:.55}
  .menu-gun-adi{display:none}
}
