:root{
  --yesil:#14532d; --yesil2:#166534; --acik:#dcfce7; --vurgu:#16a34a;
  --kirmizi:#dc2626; --kirmizi-a:#fee2e2; --sari:#d97706; --sari-a:#fef3c7;
  --mavi:#2563eb; --mavi-a:#dbeafe; --gri:#64748b; --cizgi:#e2e8f0;
  --zemin:#f4f6f5; --kart:#fff; --yazi:#0f172a; --r:12px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--zemin);color:var(--yazi);font-size:15px}
a{color:var(--yesil2);text-decoration:none}
a:hover{text-decoration:underline}
header.ust{background:var(--yesil);color:#fff;display:flex;align-items:center;gap:18px;padding:0 18px;height:56px;position:sticky;top:0;z-index:30;box-shadow:0 2px 6px rgba(0,0,0,.15)}
header.ust .logo{font-weight:700;font-size:17px;white-space:nowrap}
header.ust .logo small{display:block;font-weight:400;font-size:11px;opacity:.75}
header.ust nav{display:flex;gap:4px;flex:1;overflow-x:auto}
header.ust nav a{color:#d1fae5;padding:8px 12px;border-radius:8px;white-space:nowrap;font-weight:500}
header.ust nav a.aktif,header.ust nav a:hover{background:rgba(255,255,255,.14);color:#fff;text-decoration:none}
header.ust .kim{font-size:13px;white-space:nowrap;opacity:.9}
header.ust .kim a{color:#bbf7d0;margin-left:8px}
main{padding:18px;max-width:1500px;margin:0 auto}
h1{font-size:22px;margin:4px 0 14px}
h2{font-size:17px;margin:0 0 12px}
.kart{background:var(--kart);border-radius:var(--r);padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.06);border:1px solid var(--cizgi);margin-bottom:16px}
.izgara{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.izgara2{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}
.satir{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.bosluk{flex:1}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--cizgi);background:#fff;color:var(--yazi);padding:8px 14px;border-radius:9px;font-size:14px;cursor:pointer;font-weight:500;text-decoration:none!important;min-height:38px}
.btn:hover{background:#f8fafc}
.btn.ana{background:var(--vurgu);border-color:var(--vurgu);color:#fff}
.btn.ana:hover{background:var(--yesil2)}
.btn.tehlike{color:var(--kirmizi);border-color:#fecaca}
.btn.kucuk{padding:4px 10px;min-height:30px;font-size:13px}
input,select,textarea{font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:7px 10px;background:#fff;min-height:38px}
input:focus,select:focus,textarea:focus{outline:2px solid #86efac;border-color:var(--vurgu)}
label{font-size:13px;color:var(--gri);display:flex;flex-direction:column;gap:4px}
.form-izgara{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}
.flash{padding:10px 14px;border-radius:9px;margin-bottom:12px}
.flash.ok{background:var(--acik);color:var(--yesil)}
.flash.hata{background:var(--kirmizi-a);color:#991b1b}
.uyari{background:var(--sari-a);color:#92400e;padding:10px 14px;border-radius:9px;margin-bottom:12px}
table{border-collapse:collapse;width:100%}
th,td{padding:8px 10px;border-bottom:1px solid var(--cizgi);text-align:left;vertical-align:middle}
th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--gri);background:#f8fafc;position:sticky;top:0}
tr:hover td{background:#fafafa}
.sag{text-align:right}.orta{text-align:center}
.rozet{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;font-weight:600}
.r-okudu{background:var(--acik);color:var(--yesil)}
.r-okumadi{background:var(--kirmizi-a);color:#991b1b}
.r-izinli{background:var(--mavi-a);color:#1e40af}
.r-raporlu{background:var(--sari-a);color:#92400e}
.r-yok{background:#f1f5f9;color:var(--gri)}
.cubuk{height:8px;background:#e2e8f0;border-radius:99px;overflow:hidden;min-width:80px}
.cubuk i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#15803d);border-radius:99px}
.stat{display:flex;flex-direction:column;gap:2px}
.stat b{font-size:26px;line-height:1.1}
.stat span{font-size:12px;color:var(--gri);text-transform:uppercase;letter-spacing:.04em}
.soluk{color:var(--gri);font-size:13px}
.sekmeler{display:flex;gap:6px;flex-wrap:wrap}
.sekmeler a{padding:7px 14px;border-radius:99px;background:#fff;border:1px solid var(--cizgi);color:var(--yazi);font-weight:500}
.sekmeler a.aktif{background:var(--yesil);color:#fff;border-color:var(--yesil)}

/* ---------- günlük çizelge ---------- */
.cizelge-kap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r);border:1px solid var(--cizgi);background:#fff}
table.cizelge{min-width:1100px}
table.cizelge th,table.cizelge td{padding:6px 6px;border-bottom:1px solid var(--cizgi)}
table.cizelge td.ad{position:sticky;left:0;background:#fff;z-index:2;min-width:150px;font-weight:600;border-right:1px solid var(--cizgi)}
table.cizelge th.ad{position:sticky;left:0;z-index:3}
table.cizelge td.ad small{display:block;font-weight:400;color:var(--gri);font-size:11px}
tr.oneri td{background:#fcfcfc}
tr.oneri td.ad{color:#334155}
tr.kayitli td.ad{box-shadow:inset 4px 0 0 var(--vurgu)}
tr.kayitli.d-okumadi td.ad{box-shadow:inset 4px 0 0 var(--kirmizi)}
tr.kayitli.d-izinli td.ad,tr.kayitli.d-raporlu td.ad{box-shadow:inset 4px 0 0 var(--mavi)}
.durumlar{display:flex;gap:4px}
.durumlar button{border:1px solid var(--cizgi);background:#fff;border-radius:8px;min-width:36px;height:40px;font-size:13px;font-weight:700;cursor:pointer;color:var(--gri)}
.durumlar button.sec.okudu{background:var(--vurgu);border-color:var(--vurgu);color:#fff}
.durumlar button.sec.okumadi{background:var(--kirmizi);border-color:var(--kirmizi);color:#fff}
.durumlar button.sec.izinli{background:var(--mavi);border-color:var(--mavi);color:#fff}
.durumlar button.sec.raporlu{background:var(--sari);border-color:var(--sari);color:#fff}
.adim{display:flex;align-items:center;gap:2px}
.adim button{width:30px;height:38px;border:1px solid var(--cizgi);background:#f8fafc;border-radius:7px;font-size:17px;cursor:pointer}
.adim input{width:48px;text-align:center;padding:6px 2px;font-weight:700}
.kutular{display:flex;gap:2px}
.kutular button{width:23px;height:34px;border:1.5px solid #cbd5e1;background:#fff;border-radius:5px;font-size:10px;color:#94a3b8;cursor:pointer;padding:0}
.kutular button.sec{background:var(--yesil);border-color:var(--yesil);color:#fff;font-weight:700}
.kutular button.oneri-k{border-color:var(--vurgu);border-style:dashed;color:var(--vurgu)}
.kutu-baslik{display:flex;gap:2px}
.kutu-baslik span{width:23px;text-align:center;font-size:11px}
.kucuk-input{width:54px;text-align:center}
.kalite select{min-width:96px}
tr.detay td{background:#f8fafc;padding:10px 12px}
tr.detay .form-izgara{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.kaydedildi{font-size:11px;color:var(--vurgu)}
.kayit-hata{font-size:11px;color:var(--kirmizi)}
.yapiskan-alt{position:sticky;bottom:0;background:rgba(244,246,245,.95);backdrop-filter:blur(6px);padding:10px 0;margin-top:10px;z-index:5}

.lejant{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--gri);margin-top:10px}
.lejant i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:-2px}
.grafik{position:relative;height:260px}
dialog{border:none;border-radius:14px;padding:20px;max-width:620px;width:94vw;box-shadow:0 20px 50px rgba(0,0,0,.25)}
dialog::backdrop{background:rgba(15,23,42,.45)}
.giris-kap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#14532d,#166534 60%,#15803d)}
.giris-kart{background:#fff;border-radius:16px;padding:30px;width:360px;max-width:92vw;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.giris-kart h1{text-align:center;margin-bottom:4px}
.giris-kart p{text-align:center;color:var(--gri);margin-top:0}
.giris-kart input{width:100%;margin-bottom:12px}
@media (max-width:700px){header.ust .kim{display:none}main{padding:12px}.izgara2{grid-template-columns:1fr}}
@media print{header.ust,.yazdirma{display:none!important}body{background:#fff}.kart{box-shadow:none;border:none}}

/* bildirim */
.zil{position:relative;font-size:20px;text-decoration:none!important;padding:6px}
.sayac{display:inline-block;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}
.zil .sayac{position:absolute;top:0;right:-4px}
#tostlar{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:10px;z-index:100;max-width:360px}
.tost{background:#fff;border-left:5px solid var(--kirmizi);border-radius:10px;padding:12px 14px;box-shadow:0 10px 30px rgba(0,0,0,.18);cursor:pointer;display:flex;flex-direction:column;gap:3px;animation:gir .3s ease;transition:opacity .5s, transform .5s}
.tost b{font-size:13px;color:var(--kirmizi)}
.tost span{font-size:14px}
.tost.t-talep{border-color:var(--sari)}.tost.t-talep b{color:var(--sari)}
.tost.t-onay{border-color:var(--vurgu)}.tost.t-onay b{color:var(--vurgu)}
.tost.t-veli_hafta{border-color:var(--vurgu)}.tost.t-veli_hafta b{color:var(--vurgu)}
.tost.git{opacity:0;transform:translateX(30px)}
@keyframes gir{from{opacity:0;transform:translateY(20px)}}
/* günlük çizelge — sistem satırı */
tr.sistem td{padding:4px 6px 10px;border-bottom:2px solid #e2e8f0;background:#fafcfb}
tr.sistem td.ad{background:#fafcfb}
.sistem-alan{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sistem-alan label{flex-direction:row;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--gri)}
.sistem-alan input{min-height:32px;padding:4px 8px;width:110px}
.sistem-alan input.not{width:220px}
.sistem-alan select{min-height:32px;padding:2px 6px}
table.cizelge tr.ana td{border-bottom:none}
.hamhas{font-size:12px;color:var(--gri);white-space:nowrap;line-height:1.5}
.hamhas b{color:var(--yazi);font-size:14px}
.hatim{font-size:12px;color:#92400e;background:var(--sari-a);border-radius:7px;padding:4px 8px;display:inline-block}
/* yönetim sınıf satırı */
.sinif-satir{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:10px 0;border-bottom:1px solid var(--cizgi)}
.sinif-satir label{flex:1 1 180px}
.sinif-satir label.dar{flex:0 0 80px}
.sinif-satir input,.sinif-satir select{width:100%}

/* iPad sığdırma */
table.cizelge{min-width:940px}
table.cizelge td.ad{min-width:128px;max-width:150px}
table.cizelge td.ad small b{color:var(--yazi)}
.kutular button{width:21px}
.kutu-baslik span{width:21px}
.durumlar button{min-width:34px}
.sistem-alan input{width:96px}
.sistem-alan input.not{width:170px}
@media (max-width:1100px){
  main{padding:12px 10px}
  header.ust{gap:10px;padding:0 10px}
  header.ust nav a{padding:8px 8px;font-size:14px}
  header.ust .logo small{display:none}
  header.ust .kim{font-size:12px}
}
/* yüzüne */
textarea{font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;width:100%}
.kriter{display:flex;gap:3px}
.kriter button{min-width:36px;height:36px;border:1px solid var(--cizgi);background:#fff;border-radius:8px;font-size:12px;font-weight:700;color:var(--gri);cursor:pointer;padding:0 4px}
.kriter button.sec.k5{background:#15803d;border-color:#15803d;color:#fff}
.kriter button.sec.k4{background:#22c55e;border-color:#22c55e;color:#fff}
.kriter button.sec.k3{background:#eab308;border-color:#eab308;color:#fff}
.kriter button.sec.k2{background:#f97316;border-color:#f97316;color:#fff}
.kriter button.sec.k1{background:#dc2626;border-color:#dc2626;color:#fff}
.odev{display:flex;gap:4px}
.odev button{height:36px;padding:0 10px;border:1px solid var(--cizgi);background:#fff;border-radius:8px;font-size:13px;font-weight:600;color:var(--gri);cursor:pointer}
.odev button.sec.yapti{background:var(--vurgu);border-color:var(--vurgu);color:#fff}
.odev button.sec.yapmadi{background:var(--kirmizi);border-color:var(--kirmizi);color:#fff}
.odev button.sec.yok{background:#94a3b8;border-color:#94a3b8;color:#fff}
.yz-alan{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.yz-alan .etiket{font-size:11px;font-weight:700;color:var(--gri);text-transform:uppercase;letter-spacing:.03em;min-width:56px}
.yz-alan input.sayfa{width:84px;text-align:center;font-weight:700}
.yz-alan select.madde{max-width:210px}
table.yz td{vertical-align:middle}
table.yz tr.ana td{border-bottom:none;padding-bottom:3px}
table.yz tr.alt td{padding-top:3px;padding-bottom:10px;border-bottom:2px solid #e2e8f0}
table.yz td.ad{position:sticky;left:0;background:#fff;z-index:2;min-width:140px;font-weight:600;border-right:1px solid var(--cizgi)}
table.yz td.ad small{display:block;font-weight:400;color:var(--gri);font-size:11px}
table.yz tr.kayitli td.ad{box-shadow:inset 4px 0 0 var(--mavi)}
.cip{display:inline-flex;align-items:center;gap:6px;background:var(--mavi-a);color:#1e40af;border-radius:99px;padding:4px 10px;font-size:13px;font-weight:600;margin:2px}
.cip button{border:none;background:none;color:#1e40af;cursor:pointer;font-size:14px;padding:0}
.ez-matris td,.ez-matris th{padding:4px 6px;text-align:center;font-size:12px;border:1px solid var(--cizgi)}
.ez-matris th.dik{writing-mode:vertical-rl;transform:rotate(180deg);height:120px;white-space:nowrap;text-transform:none;letter-spacing:0;font-weight:600}
.ez-matris td.ad{text-align:left;white-space:nowrap;font-weight:600;position:sticky;left:0;background:#fff}
.ek5{background:#15803d;color:#fff}.ek4{background:#4ade80}.ek3{background:#fde047}.ek2{background:#fdba74}.ek1{background:#fca5a5}
.sayac[hidden]{display:none!important}
/* iki cüz seçimi + yapışkan başlık */
.cizelge-kap{max-height:calc(100dvh - 210px);overflow:auto}
table.cizelge thead th{position:sticky;top:0;z-index:4;background:#f8fafc;box-shadow:0 1px 0 var(--cizgi)}
table.cizelge thead th.ad{left:0;z-index:6}
.cuz-baslik{text-align:center;text-transform:none!important;letter-spacing:0!important;font-size:12px!important;line-height:1.2}
.cuz-baslik.hz,.hz-etiket{color:var(--yesil2)!important}
.hz-etiket{font-size:11px;text-transform:none;letter-spacing:0;margin-bottom:3px;font-weight:700}
select.cuz-sec{min-width:62px;height:40px;font-weight:700;font-size:15px;text-align:center;padding:4px 6px}
select.cuz-sec.hz{border-color:#86efac;background:#f0fdf4}
@media print{.cizelge-kap{max-height:none;overflow:visible}}
/* v5: tek satır, sistemler sağda, cüz kilidi, sayfa sınırı */
table.cizelge tr td{border-bottom:1px solid var(--cizgi)}
table.cizelge{min-width:1000px}
.kutular button{width:20px}
.kutu-baslik span{width:20px}
.kutular button.kapali{background:#f1f5f9;border-color:#e2e8f0;cursor:not-allowed}
.durumlar button{min-width:32px}
.durumlar button:disabled{opacity:.35;cursor:not-allowed}
tr.cuz-yok select.cuz-sec.ders{border:2px solid #f59e0b;background:#fffbeb}
select.cuz-sec.kilit{background:#e5e7eb;color:#374151;border-color:#d1d5db;opacity:1}
.kilit-yazi{display:block;font-size:10px;color:var(--gri);text-align:center}
.sistemler{display:flex;flex-direction:column;gap:3px}
.sistemler input{width:74px;min-height:26px;height:26px;padding:2px 6px;font-size:12px}
.hzsay{font-size:16px;color:var(--yesil)}
.sinir{display:block;font-size:11px;color:var(--gri)}
.doldur{margin-top:3px;border:1px solid #bbf7d0;background:#f0fdf4;color:var(--yesil2);font-size:11px;border-radius:6px;padding:2px 6px;cursor:pointer}
.link-sil{border:none;background:none;color:var(--kirmizi);font-size:11px;padding:0;cursor:pointer;text-decoration:underline}
table.cizelge td.ad small.hatim{display:inline-block;margin-top:3px}
table.cizelge td.ad .toplam{color:var(--yesil)}
/* v5 sığdırma */
table.cizelge{min-width:0}
table.cizelge th,table.cizelge td{padding:5px 4px}
table.cizelge td.ad{min-width:120px;max-width:138px;font-size:14px}
select.cuz-sec{min-width:56px;width:62px;font-size:14px;padding:4px 2px}
.kutular{gap:2px}.kutular button{width:19px}.kutu-baslik{gap:2px}.kutu-baslik span{width:19px;font-size:10px}
.durumlar{gap:3px}.durumlar button{min-width:31px;height:38px}
.sistemler input{width:62px}
/* haftalık tablo */
table.haftalik{min-width:960px}
table.haftalik th,table.haftalik td{padding:6px 6px;border-bottom:1px solid var(--cizgi)}
table.haftalik td.ad{position:sticky;left:0;background:#fff;z-index:2;min-width:160px;border-right:1px solid var(--cizgi)}
table.haftalik td.ad small{display:block;color:var(--gri);font-size:11px;font-weight:400}
table.haftalik td.hucre{text-align:center;min-width:76px;border-left:2px solid #fff;line-height:1.15}
table.haftalik td.hucre b{display:block;font-size:17px}
table.haftalik td.hucre small{display:block;font-size:10px;opacity:.85}
.hl-okudu{background:#dcfce7;color:#14532d}
.hl-okumadi{background:#fee2e2;color:#991b1b}
.hl-izin{background:#dbeafe;color:#1e40af}
.hl-bos{background:#f8fafc;color:#94a3b8}
.lejant i.hl-okudu,.lejant i.hl-okumadi,.lejant i.hl-izin,.lejant i.hl-bos{border:1px solid #cbd5e1}
table.haftalik tfoot td{background:#f8fafc;font-size:13px}
table.haftalik tfoot td.ad{background:#f8fafc}
@media print{table.haftalik{min-width:0;font-size:11px}table.haftalik td.hucre{min-width:0}}
/* nöbet */
.nobet-uyari{padding:12px 16px;border-radius:12px;margin-bottom:10px;font-weight:700;font-size:16px;background:var(--sari-a);color:#92400e}
.nobet-uyari.gece{background:#0c372d;color:#e3ece6}
.nobet-izgara{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.nb{background:#fffbeb;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.nb span{font-size:12px;color:#92400e;font-weight:700}
.nb b{font-size:16px}
.nb.gece{background:#0c372d;color:#fff}.nb.gece span{color:#cfe0d5}
.nb.yarin{opacity:.85}
.nobet-not{background:#eaf1ec;border-radius:10px;padding:8px 10px;font-size:14px}
table.nobet-tablo td,table.nobet-tablo th{padding:6px 12px}
table.nobet-tablo tr.pazar td{background:#f8fafc}
table.nobet-tablo tr.bugun td{background:#f0fdf4}
table.nobet-tablo tr.ben td:first-child{box-shadow:inset 4px 0 0 #174632}
.nobet-in{width:100%;min-width:180px}
.nobet-in.gece{border-color:#9cc3ad;background:#eaf1ec;font-weight:600}

/* ---------- öğrenci fotoğrafı ---------- */
.foto-kutu{display:flex;flex-direction:column;align-items:center;gap:2px}
.foto{width:64px;height:64px;border-radius:50%;overflow:hidden;cursor:pointer;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--zemin);border:2px solid var(--cizgi)}
.foto img{width:100%;height:100%;object-fit:cover}
.foto.bos span{display:flex;flex-direction:column;align-items:center;font-size:20px;line-height:1}
.foto.bos small{font-size:9px;color:var(--gri);margin-top:2px}
.ad-foto{display:inline-flex;align-items:center;gap:8px}
.ad-foto img{width:30px;height:30px;border-radius:50%;object-fit:cover}
@media print{.foto.bos{display:none}}
.tema-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:6px;line-height:1}

/* ---------- karanlık mod ---------- */
[data-tema="koyu"]{
  --yesil:#14532d; --yesil2:#4ade80; --acik:#12301d; --vurgu:#22c55e;
  --kirmizi:#ef4444; --kirmizi-a:#3a1717; --sari:#f59e0b; --sari-a:#3a2a0c;
  --mavi:#3b82f6; --mavi-a:#172243; --gri:#94a3b8; --cizgi:#2b3632;
  --zemin:#0d1210; --kart:#161d1a; --yazi:#e5e7eb;
  --ic:#1d2622; --ic2:#121816;
}
[data-tema="koyu"] body{background:var(--zemin)}
[data-tema="koyu"] a{color:#86efac}
[data-tema="koyu"] header.ust{background:#0f2a1a}
[data-tema="koyu"] .btn,[data-tema="koyu"] input,[data-tema="koyu"] select,[data-tema="koyu"] textarea,
[data-tema="koyu"] .sekmeler a,[data-tema="koyu"] .durumlar button,[data-tema="koyu"] .kutular button,
[data-tema="koyu"] .kriter button,[data-tema="koyu"] .odev button,[data-tema="koyu"] .adim button{background:var(--ic);color:var(--yazi);border-color:#374440}
[data-tema="koyu"] .btn:hover{background:#25302b}
[data-tema="koyu"] .btn.ana{background:#15803d;border-color:#15803d;color:#fff}
[data-tema="koyu"] .btn.tehlike{color:#fca5a5;border-color:#7f1d1d}
[data-tema="koyu"] input:disabled,[data-tema="koyu"] select:disabled{opacity:.6}
[data-tema="koyu"] th,[data-tema="koyu"] table.cizelge thead th{background:var(--ic2)}
[data-tema="koyu"] tr:hover td{background:#1b2420}
[data-tema="koyu"] .cizelge-kap,[data-tema="koyu"] table.cizelge td.ad,[data-tema="koyu"] table.yz td.ad,
[data-tema="koyu"] .ez-matris td.ad,[data-tema="koyu"] table.haftalik td.ad,[data-tema="koyu"] .tost,
[data-tema="koyu"] .giris-kart,[data-tema="koyu"] dialog{background:var(--kart);color:var(--yazi)}
[data-tema="koyu"] tr.oneri td,[data-tema="koyu"] tr.detay td,[data-tema="koyu"] tr.sistem td,[data-tema="koyu"] tr.sistem td.ad,
[data-tema="koyu"] table.haftalik tfoot td,[data-tema="koyu"] table.nobet-tablo tr.pazar td{background:var(--ic2)}
[data-tema="koyu"] tr.oneri td.ad{color:#cbd5e1}
[data-tema="koyu"] .yapiskan-alt{background:rgba(13,18,16,.92)}
[data-tema="koyu"] .cubuk{background:#2b3632}
[data-tema="koyu"] .r-okudu,[data-tema="koyu"] .flash.ok,[data-tema="koyu"] .hl-okudu{color:#86efac}
[data-tema="koyu"] .r-okumadi,[data-tema="koyu"] .flash.hata,[data-tema="koyu"] .hl-okumadi{color:#fca5a5}
[data-tema="koyu"] .r-izinli,[data-tema="koyu"] .hl-izin,[data-tema="koyu"] .cip,[data-tema="koyu"] .cip button{color:#93c5fd}
[data-tema="koyu"] .r-raporlu,[data-tema="koyu"] .uyari,[data-tema="koyu"] .hatim,[data-tema="koyu"] .nb span{color:#fcd34d}
[data-tema="koyu"] .r-yok,[data-tema="koyu"] .hl-bos{background:#1f2925;color:var(--gri)}
[data-tema="koyu"] .hl-okudu{background:#14381f}[data-tema="koyu"] .hl-okumadi{background:#3f1a1a}[data-tema="koyu"] .hl-izin{background:#172554}
[data-tema="koyu"] table.haftalik td.hucre{border-left-color:var(--kart)}
[data-tema="koyu"] .kutular button{border-color:#3d4a45;color:#64748b}
[data-tema="koyu"] .kutular button.sec{background:#16a34a;border-color:#16a34a;color:#fff}
[data-tema="koyu"] .kutular button.kapali{background:#111614;border-color:#1f2925}
[data-tema="koyu"] select.cuz-sec.hz{background:#12301d;border-color:#166534}
[data-tema="koyu"] tr.cuz-yok select.cuz-sec.ders{background:#3a2a0c;border-color:#f59e0b}
[data-tema="koyu"] select.cuz-sec.kilit{background:#2b3632;color:#cbd5e1;border-color:#3d4a45}
[data-tema="koyu"] .doldur{background:#12301d;border-color:#166534;color:#86efac}
[data-tema="koyu"] .hzsay,[data-tema="koyu"] table.cizelge td.ad .toplam{color:#4ade80}
[data-tema="koyu"] .nb{background:#2a2110}[data-tema="koyu"] .nobet-not{background:#17322a;color:#e3ece6}
[data-tema="koyu"] table.nobet-tablo tr.bugun td{background:#12301d}
[data-tema="koyu"] .nobet-in.gece{background:#17322a;border-color:#2c7556;color:#e3ece6}
[data-tema="koyu"] .ek4{background:#166534;color:#fff}[data-tema="koyu"] .ek3{background:#854d0e;color:#fff}
[data-tema="koyu"] .ek2{background:#9a3412;color:#fff}[data-tema="koyu"] .ek1{background:#7f1d1d;color:#fff}
[data-tema="koyu"] .kart{box-shadow:none}
@media print{[data-tema="koyu"]{--zemin:#fff;--kart:#fff;--yazi:#0f172a;--gri:#64748b;--cizgi:#e2e8f0}}

/* danışma nöbeti */
.danisma-panel{margin-top:12px;padding-top:10px;border-top:1px solid var(--cizgi)}
.danisma-panel input[name=ad]{flex:1;min-width:150px;min-height:32px;padding:4px 8px}
.nb-etiket{font-size:12px;font-weight:700;color:var(--sari);white-space:nowrap}
.nobet-in.degisti{border-color:var(--sari);background:var(--sari-a)}
details.kart>summary{cursor:pointer;list-style:none}
details.kart>summary::-webkit-details-marker{display:none}
details.kart>summary h2::before{content:"▸ ";color:var(--gri)}
details.kart[open]>summary h2::before{content:"▾ "}

/* maneviyat */
.mubarek-uyari{padding:12px 16px;border-radius:12px;margin-bottom:10px;background:linear-gradient(90deg,#0c372d,#174632);color:#e3ece6;font-size:15px}
.mubarek-uyari b{color:#fff;font-size:16px}.mubarek-uyari div{margin-top:4px;font-size:14px;opacity:.9}
.dua-metin{background:var(--zemin);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.dua-baslik{font-weight:700;color:var(--yesil2)}
.arapca{font-family:"Amiri","Scheherazade New","Geeza Pro","Traditional Arabic","Times New Roman",serif;font-size:26px;line-height:1.9;text-align:right;white-space:pre-line}
textarea.arapca{font-size:22px}
.okunus{font-style:italic;white-space:pre-line}
.meal{color:var(--gri);white-space:pre-line}
.dua-acilir summary{cursor:pointer;color:var(--gri);font-size:13px;margin:8px 0}
.dua-siniflar{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.dua-satir{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;border:1px solid var(--cizgi)}
.dua-satir.ok{background:var(--acik);border-color:transparent}
.dua-sinif{min-width:130px}
.dua-satir select{flex:1;min-width:150px;min-height:34px;padding:4px 8px}
.dua-tablo td.dua-ok{background:var(--acik);color:var(--vurgu);font-weight:700}
.dua-tablo td small{display:block;font-weight:400;font-size:11px;color:var(--gri)}
blockquote.hadis{margin:10px 0 0;padding:12px 16px;border-left:4px solid var(--vurgu);background:var(--zemin);border-radius:0 10px 10px 0;font-size:16px;line-height:1.55;white-space:pre-line}
blockquote.hadis cite{display:block;margin-top:6px;font-size:13px;color:var(--gri);font-style:normal}
.ezber-sinif{margin-bottom:12px}
.ezber-cipler{display:flex;flex-wrap:wrap;gap:6px}
.ezber-cip{border:1px solid var(--cizgi);background:var(--kart);color:var(--yazi);border-radius:99px;padding:7px 12px;font-size:14px;cursor:pointer;min-height:38px}
.ezber-cip.sec{background:var(--vurgu);border-color:var(--vurgu);color:#fff;font-weight:600}
.davranis-form{display:flex;gap:6px;flex-wrap:wrap}
.davranis-form select{flex:1 1 180px}.davranis-form input[name=metin]{flex:3 1 220px}
.davranis-satir{padding:6px 0;border-bottom:1px solid var(--cizgi);font-size:14px}
[data-tema="koyu"] .ezber-cip{background:var(--ic);border-color:#374440}
[data-tema="koyu"] .ezber-cip.sec{background:#15803d;border-color:#15803d}
[data-tema="koyu"] .dua-tablo td.dua-ok{color:#86efac}
.hadis-konu{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--vurgu);margin-bottom:4px}
.hadis-baslik{display:block;margin-bottom:6px}
blockquote.hadis .hadis-konu{display:block}

/* yüzüne: aynı gün birden fazla giriş */
.gecmis-cip{display:inline-flex;align-items:center;gap:4px;margin:2px 6px 2px 0;white-space:nowrap}
.giris-cipler{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}
.giris-cip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--cizgi);background:var(--zemin);border-radius:99px;padding:3px 4px 3px 10px;font-size:13px}
.giris-cip .rozet{padding:1px 7px}
.giris-cip button{border:none;background:none;color:var(--gri);cursor:pointer;font-size:15px;line-height:1;padding:0 4px}
.giris-cip button:hover{color:var(--kirmizi)}
.yz-alan .ekle-ipucu{font-size:11px;color:var(--gri)}

/* ---------- demo modu ---------- */
.demo-serit{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--sari-a);color:#92400e;padding:6px 18px;font-size:13px;border-bottom:1px solid #fcd34d;margin:0}
.demo-serit b{background:#d97706;color:#fff;padding:2px 8px;border-radius:6px;letter-spacing:.08em;font-size:12px}
.demo-serit span{flex:1;min-width:200px}
.demo-giris{display:flex;flex-direction:column;gap:10px}
.demo-giris .btn{flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 14px;text-align:left}
.demo-giris .btn small{font-weight:400;opacity:.8;font-size:12px}
.demo-etiket{margin:4px 0 0;font-size:12px;font-weight:700;letter-spacing:.06em;color:#d97706}
[data-tema="koyu"] .demo-serit{background:#422006;color:#fde68a;border-color:#78350f}

/* ---------- ders puanı (60–100) ---------- */
.puan-rozet{display:inline-block;border-radius:6px;padding:1px 7px;font-size:12px;font-weight:600;white-space:nowrap}
.pd-ci{background:#dcfce7;color:#14532d}
.pd-i{background:#dbeafe;color:#1e3a8a}
.pd-o{background:#fef3c7;color:#92400e}
.pd-z{background:#fee2e2;color:#991b1b}
.puan-rozet small{font-weight:500;opacity:.75;margin-left:3px}
.derece-sec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin-top:5px;max-width:150px}
.derece-sec button{min-height:30px;padding:2px 4px;border-radius:6px;border:1px solid var(--cizgi);
  font-size:11.5px;font-weight:600;line-height:1.1;cursor:pointer}
.derece-sec button small{display:block;font-size:9.5px;font-weight:500;opacity:.8}
.derece-sec button:not(.sec){background:transparent!important;opacity:.55}
.derece-sec button:not(.sec):hover{opacity:1}
.derece-sec button.sec{border-color:currentColor;box-shadow:inset 0 0 0 1px currentColor}
.derece-sec button:disabled{cursor:default}
[data-tema="koyu"] .pd-ci{background:#14532d;color:#bbf7d0}
[data-tema="koyu"] .pd-i{background:#1e3a8a;color:#bfdbfe}
[data-tema="koyu"] .pd-o{background:#78350f;color:#fde68a}
[data-tema="koyu"] .pd-z{background:#7f1d1d;color:#fecaca}

/* ---------- veliye mesaj ---------- */
.veli-dlg{border:0;border-radius:14px;padding:18px;width:min(560px,94vw);box-shadow:0 20px 60px rgba(0,0,0,.3);background:var(--kart);color:var(--yazi)}
.veli-dlg::backdrop{background:rgba(15,23,42,.45)}
.veli-dlg textarea{width:100%;font-size:14px;line-height:1.45;font-family:inherit;resize:vertical}
.veli-btn{border:1px solid #bbf7d0;background:#f0fdf4;color:var(--yesil2);font-size:11px;border-radius:6px;padding:1px 6px;cursor:pointer;margin-left:4px}
[data-tema="koyu"] .veli-btn{background:#052e16;border-color:#14532d;color:#bbf7d0}

/* =====================================================================
   MODERN TEMA — yerleşim aynı; marka renkleri HTS logosundan: koyu yeşil + altın,
   durum renkleri (okudu yeşil, okumadı kırmızı, izinli mavi, raporlu turuncu) korunur.
   ===================================================================== */
:root{
  --marka:#174632; --marka2:#0c372d; --marka-a:#eaf1ec; --marka-k:#0c372d; --altin:#c99a2e; --altin2:#dfab44; --altin-a:#f6ecd4;
  --basari:#059669; --yesil:#065f46; --yesil2:#047857; --acik:#d1fae5; --vurgu:#10b981;
  --zemin:#f7f5ef; --kart:#fff; --yazi:#13261f; --gri:#66736c; --cizgi:#e7e2d6; --r:14px;
  --golge:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);
}
body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased}
a{color:var(--marka)}
h1{font-size:24px;font-weight:750;letter-spacing:-.02em}
h2{font-weight:650;letter-spacing:-.01em}

/* üst çubuk: açık, bulanık arka plan */
header.ust{background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);
  color:var(--yazi);border-bottom:1px solid var(--cizgi);box-shadow:none;height:60px}
header.ust .logo{font-weight:800;letter-spacing:-.02em;color:var(--marka-k)}
header.ust .logo small{color:var(--gri);opacity:1}
header.ust nav a{color:#4b5563;font-weight:550;border-radius:10px}
header.ust nav a:hover{background:#f3f4f6;color:var(--yazi)}
header.ust nav a.aktif{background:var(--marka-a);color:var(--marka2)}
header.ust .kim{color:#374151;opacity:1}
header.ust .kim a{color:var(--marka)}

/* yüzeyler */
.kart{border-radius:var(--r);border-color:var(--cizgi);box-shadow:var(--golge)}
th{background:#f9fafb;color:#6b7280;font-weight:600;letter-spacing:.04em}
tr:hover td{background:#fbfaf6}
.stat b{font-weight:750;letter-spacing:-.02em}
.stat span{font-weight:550}

/* düğmeler ve alanlar */
.btn{border-radius:10px;border-color:#e5e7eb;box-shadow:0 1px 2px rgba(16,24,40,.05);font-weight:550}
.btn:hover{background:#f9fafb;border-color:#d1d5db}
.btn.ana{background:var(--marka);border-color:var(--marka);box-shadow:0 1px 2px rgba(23,70,50,.3)}
.btn.ana:hover{background:var(--marka2);border-color:var(--marka2)}
input,select,textarea{border-color:#d1d5db;border-radius:10px}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(23,70,50,.18);border-color:var(--marka)}
.sekmeler a{border-color:#e5e7eb;font-weight:550}
.sekmeler a:hover{border-color:#cfe0d5;text-decoration:none}
.sekmeler a.aktif{background:var(--marka);border-color:var(--marka);color:#fff}
.cubuk{background:#eef0f4}
.cubuk i{background:linear-gradient(90deg,#dfab44,#c99a2e)}
.flash.ok{background:#ecfdf5;color:#065f46}

/* giriş ekranı */
.giris-kap{background:radial-gradient(1100px 600px at 10% -10%,rgba(223,171,68,.35) 0%,transparent 60%),
  radial-gradient(900px 500px at 110% 110%,#1f5a42 0%,transparent 60%),#0c372d}
.giris-kart{border-radius:20px;box-shadow:0 30px 60px rgba(6,30,24,.35)}

/* durum renkleri (yeşil = okudu) */
.hl-okudu{background:#ecfdf5;color:#065f46}
.r-okudu{background:#d1fae5;color:#065f46}
tr.kayitli td.ad{box-shadow:inset 4px 0 0 var(--vurgu)}
.kutular button.sec{background:#059669;border-color:#059669}
select.cuz-sec.hz{border-color:#a7f3d0;background:#f0fdf9}
.doldur{border-color:#a7f3d0;background:#ecfdf5}
.veli-btn{border-color:#cfe0d5;background:var(--marka-a);color:var(--marka2)}

/* yeni bölümler */
.hatim-yorum{background:linear-gradient(135deg,#fbf5e6,#f6ecd4);border:1px solid #eadcb4;border-radius:12px;padding:12px 16px;color:#3d3214}
.hatim-yorum p{margin:4px 0;line-height:1.5}
tr.toplam-satir td{background:#f9fafb;border-top:2px solid var(--cizgi)}
.not-dlg{max-width:560px}
.not-dlg [hidden]{display:none!important}
.not-secenek{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.not-secenek button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:14px;border-radius:12px;
  border:1px solid var(--cizgi);background:var(--kart);color:var(--yazi);cursor:pointer;font:inherit}
.not-secenek button:hover{border-color:var(--marka);background:var(--marka-a)}
.not-secenek button span{font-size:22px}
.not-secenek button small{color:var(--gri);font-size:12px}
#notForm label{margin-top:8px}
#notForm textarea,#notForm select{width:100%}
.not-cipler{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.not-cipler button{border:1px solid #e3ece6;background:var(--marka-a);color:var(--marka2);border-radius:99px;padding:4px 10px;font-size:12.5px;cursor:pointer}
.yz-sekme{border-style:dashed!important}
.yz-sekme.aktif{border-style:solid!important}
table.yz-hafta td.yz-hucre{min-width:110px;font-size:12px;line-height:1.3;vertical-align:top;padding:6px;border-left:2px solid var(--kart)}
table.yz-hafta td.yz-hucre.hl-bos{text-align:center;vertical-align:middle}
table.yz-hafta td.yz-hucre.hl-bos b{display:block;font-size:17px}
table.yz-hafta td.yz-hucre.hl-bos small{font-size:10px}
.yz-is{white-space:nowrap;display:flex;align-items:center;gap:3px}
.yz-ik{font-size:11px}
.yz-madde{max-width:80px;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:bottom}
.yz-rz{display:inline-block;border-radius:5px;padding:0 5px;font-size:10.5px;font-weight:700;color:#1f2937}
.yz-odev{font-size:11px;font-weight:600;margin-top:2px}
.yz-odev.yapti{color:var(--basari)}.yz-odev.yapmadi{color:var(--kirmizi)}.yz-odev.yok{color:var(--gri)}
td.yz-hucre.odev-yok{background:#fff7f7}

/* karanlık mod: koyu yeşil zemin, altın vurgu */
[data-tema="koyu"]{
  --marka:#dfab44; --marka2:#ecc46f; --marka-a:#17322a; --marka-k:#f3e7c9;
  --zemin:#0a1411; --kart:#101e19; --cizgi:#1f3329; --ic:#152a22; --ic2:#0c1814; --yazi:#ece7da; --gri:#9fb0a7;
  --basari:#34d399; --vurgu:#10b981; --acik:#0b2e24;
}
[data-tema="koyu"] header.ust{background:rgba(10,20,17,.85);border-bottom-color:var(--cizgi)}
[data-tema="koyu"] header.ust nav a{color:#cbd5e1}
[data-tema="koyu"] header.ust nav a:hover{background:#152a22;color:#fff}
[data-tema="koyu"] header.ust nav a.aktif{background:#17322a;color:#ecc46f}
[data-tema="koyu"] header.ust .kim{color:#cbd5e1}
[data-tema="koyu"] a{color:#ecc46f}
[data-tema="koyu"] .btn:hover{background:#1a3029}
[data-tema="koyu"] .btn,[data-tema="koyu"] input,[data-tema="koyu"] select,[data-tema="koyu"] textarea,
[data-tema="koyu"] .sekmeler a,[data-tema="koyu"] .durumlar button{border-color:#2a4236}
[data-tema="koyu"] .btn.ana{background:#1f5a42;border-color:#2c7556;color:#fff}
[data-tema="koyu"] .sekmeler a.aktif{background:#1f5a42;border-color:#2c7556;color:#fff}
[data-tema="koyu"] tr:hover td{background:#13241e}
[data-tema="koyu"] .cubuk{background:#1f3329}
[data-tema="koyu"] .hatim-yorum{background:#1d1a0f;border-color:#4a3c17;color:#f3e7c9}
[data-tema="koyu"] tr.toplam-satir td{background:var(--ic2)}
[data-tema="koyu"] .not-cipler button,[data-tema="koyu"] .veli-btn{background:#17322a;border-color:#2a4a3b;color:#ecc46f}
[data-tema="koyu"] td.yz-hucre.odev-yok{background:#2a1416}
[data-tema="koyu"] .yz-rz{color:#fff}
[data-tema="koyu"] .hl-okudu{background:#0b2e24}
[data-tema="koyu"] .kutular button.sec{background:#059669;border-color:#059669}
[data-tema="koyu"] .flash.ok{background:#0b2e24}

/* HTS logosu */
header.ust .logo{display:flex;align-items:center;gap:9px;font-size:19px}
header.ust .logo img{width:30px;height:30px;border-radius:8px;flex:none}
header.ust .logo span{line-height:1.1}
.giris-logo{display:block;margin:0 auto 10px;width:64px;height:64px;border-radius:16px;box-shadow:0 10px 24px -8px rgba(12,55,45,.6)}
.giris-kart h1{margin:0;letter-spacing:-.03em;font-size:30px}
.giris-kart .giris-alt{margin:2px 0 6px;font-weight:600;color:var(--marka)}

/* deneme sürümü uyarısı */
.deneme-serit{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fbf5e6;color:#5c4a17;padding:7px 18px;font-size:13px;border-bottom:1px solid #eadcb4}
.deneme-serit b{background:var(--marka);color:#fff;padding:2px 8px;border-radius:6px;font-size:12px;white-space:nowrap}
.deneme-serit span{flex:1;min-width:200px}
[data-tema="koyu"] .deneme-serit{background:#1d1a0f;color:#f3e7c9;border-color:#4a3c17}
.deneme-bitti{background:#fbf5e6;color:#5c4a17;border-radius:12px;padding:14px 16px;margin-top:18px;font-size:14px;line-height:1.55}
.deneme-bitti b{display:block;margin-bottom:4px;color:#0c372d}
.giris-kart .deneme-iletisim{margin-top:16px}
.deneme-iletisim b{display:block;color:var(--yazi);font-size:17px;margin-top:4px}

/* HTS kimliği: altın vurgular */
header.ust nav a.aktif{box-shadow:inset 0 -2px 0 var(--altin)}
.btn.ana{color:#fff}
.giris-kart .giris-alt{color:var(--altin)}
.nb.gece span{color:var(--altin2)}
.mubarek-uyari b{color:var(--altin2)}
header.ust .logo span{font-family:Lexend,Inter,sans-serif;font-weight:800;color:var(--marka-k)}
header.ust .logo small{font-family:Inter,sans-serif}
.giris-kart h1{font-family:Lexend,Inter,sans-serif;color:#0c372d}
[data-tema="koyu"] .giris-kart h1{color:var(--marka-k)}
[data-tema="koyu"] .deneme-serit b{color:#0c372d}
