/* Mobil yerleşim; masaüstü ölçüleri ve tema renkleri mevcut dosyalarda kalır. */
@media (max-width:768px) {
 body { padding:12px; min-height:100dvh; }
 /* Mobil giriş kartının kompakt boşlukları. */
 body:not(.oturum-acik) { padding-block:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-bottom)); }
 body:not(.oturum-acik) .kutu { padding:16px; }
 body:not(.oturum-acik) #uygulamaBaslik { margin:0 0 14px; }
 body:not(.oturum-acik) #hesapFormu { gap:10px; }
 body:not(.oturum-acik) #hesap > p { margin:12px 0 0; }
 body.oturum-acik { padding:calc(64px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); }
 body.oturum-acik .kutu,body.oturum-acik.menu-acik .kutu { width:100%; max-width:100%; margin:0; padding:12px; min-width:0; box-sizing:border-box; }
 .kutu *,dialog * { box-sizing:border-box; }
 .kutu :is(section,form,label,.giris,.secimler),dialog :is(form,label) { min-width:0; }
 body input:not([type=checkbox]):not([type=radio]),body select,body textarea,body [contenteditable=true],#profilSayfasi :is(input,select),#gorevSayfasi input,.inline-editor .inline-kontrol { min-width:0; max-width:100%; font-size:16px; }
 input[type=date] { appearance:none; -webkit-appearance:none; min-height:44px; }
 input[type=file] { width:100%; font-size:16px; }
 input::file-selector-button { max-width:100%; }
 button,summary { touch-action:manipulation; }
 #menuToggle { width:44px; height:44px; top:calc(10px + env(safe-area-inset-top)); }
 .sol-menu { width:min(280px,85vw); margin:0; border-radius:0; padding-top:calc(68px + env(safe-area-inset-top)); padding-bottom:env(safe-area-inset-bottom); overscroll-behavior:contain; }
 .sol-menu nav { grid-template-columns:1fr; }
 .sol-menu nav button { min-height:44px; }
 body.menu-acik,body.mobile-modal-open { overflow-y:hidden; }
 #gorevSayfasi .sayaclar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-bottom:12px; }
 #gorevSayfasi .sayac { padding:10px 7px; min-width:0; }
 #gorevSayfasi .sayac-etiket { font-size:11px; gap:4px; flex-wrap:wrap; }
 #gorevSayfasi .sayac-deger { font-size:24px; margin-top:4px; }
 #gorevSayfasi .sayac-simge { font-size:14px; }
 #gorevSayfasi .hizli-ekle { padding:12px; margin-bottom:12px; }
 #gorevSayfasi .giris { display:flex; gap:8px; }
 #gorevSayfasi .giris input { width:0; flex:1; }
 #gorevEkleButon { min-width:68px; min-height:44px; padding:8px; }
 #gorevSayfasi .secimler { grid-template-columns:minmax(0,1fr); }
 #gorevSayfasi .liste-araclari { gap:8px; flex-wrap:wrap; }
 #gorevSayfasi .hizli-filtreler { display:flex; width:100%; gap:2px; flex-wrap:nowrap; }
 #gorevSayfasi .hizli-filtreler button { flex:1; padding:10px 4px; font-size:12px; min-height:44px; white-space:nowrap; }
 #gorevSayfasi button.disari-aktar { min-height:40px; padding:7px 10px; font-size:12px; gap:6px; }
 #gorevSayfasi .gorev-siralama { flex:1; min-width:0; gap:5px; font-size:11px; }
 #gorevSayfasi .gorev-siralama select { min-width:0; width:100%; max-width:190px; min-height:40px; padding:6px; font-size:16px; }
 .disari-aktar { margin-left:auto; }
 .mobil-sutun-filtreleri { gap:5px; }
 .mobil-sutun-filtreleri .sutun-baslik-buton { font-size:12px !important; padding:8px 6px; min-height:40px; }
 /* Üç satır: ad/durum, sorumlu/tarih, işlemler. */
 #gorevSayfasi #liste > li { grid-template-columns:24px minmax(0,1fr) auto; padding:12px; min-height:0; margin-top:8px; column-gap:8px; row-gap:2px; }
 #gorevSayfasi #liste > li > .gorev-checkbox { grid-column:1; grid-row:1; align-self:start; margin-top:4px; width:24px; height:24px; }
 #gorevSayfasi .gorev-detay { grid-column:2; grid-row:1; align-self:center; }
 #gorevSayfasi button.gorev-yazisi { min-height:0; font-size:15px; line-height:1.35; text-decoration-skip-ink:auto; }
 #gorevSayfasi .gorev-yazisi:hover { text-decoration:underline; text-underline-offset:3px; }
 /* Ortak yerinde-düzenleme kuralının 40px yüksekliğini ve 12px yan boşluğunu mobilde sıfırla. */
 #gorevSayfasi #liste > li > :is(.sorumlu-hucre,.tarih-etiketi):not(.inline-editor) { display:block; min-width:0; min-height:28px; padding:3px 0; width:auto; max-width:100%; line-height:1.4; }
 #gorevSayfasi #liste > li > .sorumlu-hucre { grid-column:1 / 3; grid-row:2; min-width:0; width:auto; min-height:28px; padding:3px 0; font-size:12px; display:block; }
 #gorevSayfasi #liste > li > .tarih-etiketi { grid-column:3; grid-row:2; min-width:0; width:auto; min-height:28px; padding:3px 0; font-size:12px; display:block; white-space:nowrap; text-align:right; }
 .sorumlu-hucre::before { display:inline; font-size:12px; margin-right:4px; }
 #gorevSayfasi .tarih-etiketi::before { content:none; }
 #gorevSayfasi .satir-sag { grid-column:3; grid-row:1; align-self:start; margin-top:3px; }
 #gorevSayfasi .satir-islemler { grid-column:1 / -1; grid-row:3; width:auto; gap:4px; }
 #gorevSayfasi .satir-islemler .simge-buton { width:40px; height:44px; }
 #gorevSayfasi .satir-islemler .mobil-detay { min-height:44px; padding:6px 10px; background:transparent; color:var(--detail-icon); font-size:13px; }
 #gorevSayfasi .satir-durum { font-size:11px; padding:0 7px; gap:4px; }
 #gorevSayfasi #liste > li > .inline-editor[data-alan=sorumlu] { grid-column:1 / 3; grid-row:2; }
 #gorevSayfasi #liste > li > .inline-editor[data-alan=bitis_tarihi] { grid-column:3; grid-row:2; }
 #gorevSayfasi .inline-editor { max-width:100%; }
 #gorevSayfasi .satir-panel,#gorevSayfasi .satir-ac { display:none !important; }
 .panel-sutunlar { grid-template-columns:minmax(0,1fr); gap:12px; }
 #gorevSayfasi .satir-panel .panel-dosya-bolum { border-left:0; border-top:1px solid var(--detail-border); padding:12px 0 0; }
 .panel-hizli-not { display:flex; gap:6px; }
 .panel-hizli-not input { width:0; flex:1; }
 .panel-hizli-not button { min-height:44px; padding:8px; }
 .panel-not-metin,.not-icerik,.ders-zengin { overflow-wrap:anywhere; }
 .panel-dosya-adi { white-space:normal; overflow-wrap:anywhere; }
 .panel-indir { min-width:40px; min-height:44px; }
 /* Dinamik görünür yükseklik sanal klavye açıldığında da sınır olur. */
 body dialog { position:fixed; inset:auto; top:var(--mobile-top,0px); left:0; right:0; bottom:auto; margin:0 auto; width:100%; max-width:100%; max-height:var(--mobile-height,100dvh); overflow-y:auto; overscroll-behavior:contain; scroll-padding-block:64px 80px; border-radius:0; padding:16px 12px max(16px,env(safe-area-inset-bottom)); }
 body :is(#dersModal,#aksiyonPenceresi,#duzenlePenceresi,#takvimEklePencere,#aktarPenceresi) { width:100%; max-width:100%; max-height:var(--mobile-height,100dvh); padding:16px 12px max(16px,env(safe-area-inset-bottom)); border-radius:0; }
 dialog :is(.pencere-baslik,.aksiyon-baslik),#dersForm header { position:sticky; top:-16px; z-index:3; background:var(--detail-bg); padding-block:10px; }
 dialog :is(h2,h3) { font-size:20px; overflow-wrap:anywhere; }
 dialog :is(button,summary) { min-height:44px; }
 dialog input:not([type=checkbox]),dialog select,dialog textarea { width:100%; }
 dialog :is(.pencere-islemleri),#dersForm footer { position:sticky; bottom:-16px; background:var(--detail-bg); padding-block:10px; z-index:2; }
 .ders-araclar,#notAraclar { flex-wrap:wrap; gap:4px; }
 #dersModal .ders-araclar button { padding:8px; }
 .ders-editor { min-height:120px; max-height:220px; }
 #takvimSayfasi .takvim-grid { gap:3px; grid-template-columns:repeat(7,minmax(0,1fr)); }
 #takvimSayfasi .takvim-gun { height:70px; padding:4px 3px; gap:2px; }
 .takvim-gecis { width:100%; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
 #takvimAy { flex:1; width:auto; min-width:110px; }
 #takvimSayfasi .takvim-hafta { font-size:11px; }
 #takvimSayfasi button.takvim-tek-ad { display:none; }
 #takvimSayfasi .takvim-mobil-sayi,#takvimSayfasi .takvim-gun-sayi { display:block; font-size:0 !important; }
 #takvimSayfasi .takvim-gun-sayi::before { content:attr(data-sayi); font-size:12px; }
 #takvimSayfasi .takvim-mobil-sayi::before { content:'1'; font-size:12px; }
 #takvimSayfasi .takvim-tek-durum { font-size:0; }
 #takvimSayfasi .takvim-tek-durum::first-letter { font-size:12px; }
 #takvimSayfasi .takvim-dagilim { gap:1px 3px; }
 #takvimSayfasi .takvim-dagilim span { display:inline-flex; align-items:center; height:10px; font-size:0; line-height:10px; }
 #takvimSayfasi .takvim-dagilim span:not(.takvim-takip)::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
 #takvimSayfasi .takvim-dagilim .takip-ikon { width:10px; height:10px; margin:0; }
 #takvimSayfasi .takvim-numara { line-height:18px; }
 .takvim-gunluk-baslik > div { flex-wrap:wrap; gap:8px; }
 #takvimSayfasi #takvimListe > li { padding:10px; gap:8px; flex-wrap:wrap; }
 .takvim-durum { margin-left:28px; }
 .ders-paneller { grid-template-columns:minmax(0,1fr); min-height:0; }
 .ders-sag { display:none; }
 .ders-detay-acik .ders-sol { display:none; }
 .ders-detay-acik .ders-sag { display:flex; }
 .ders-geri { display:block; min-height:44px; }
 .ders-sol,.ders-detay-ust { padding:12px; }
 .ders-detay-icerik { padding:0 12px 12px; }
 #dersSayfasi .ders-detay-ust h2 { font-size:23px; overflow-wrap:anywhere; }
 .ders-kart strong,.ders-onizleme,.ders-kategori-etiket { overflow-wrap:anywhere; }
 .ders-dosya { flex-wrap:wrap; }
 #profilSayfasi .profil-kart { padding:14px; }
 .profil-adlar,.profil-yeni-sifreler { grid-template-columns:minmax(0,1fr); gap:12px; }
 #profilSayfasi #sifreFormu > label { max-width:100%; }
 #profilSayfasi .profil-tema { gap:10px; }
 #profilSayfasi #temaSecimi { width:150px; }
 .profil-form-alt { flex-wrap:wrap; }
 .profil-form-alt p { flex-basis:100%; }
 #profilSayfasi .profil-form-alt button { min-height:44px; }
 #profilSayfasi .profil-goz { width:44px; }
 #gorevBildirim { max-width:calc(100vw - 24px); right:12px; bottom:max(12px,env(safe-area-inset-bottom)); }
 html[data-tema] body :is(#aksiyonPenceresi,#duzenlePenceresi,#dersModal,#takvimEklePencere,#gorevSayfasi,#profilSayfasi) :is(input,select,textarea,[contenteditable=true]):focus { outline:2px solid var(--detail-icon,#60A5FA); outline-offset:2px; }
 html[data-tema] body :is(#dersModal,#aksiyonPenceresi,#duzenlePenceresi,#takvimEklePencere,#aktarPenceresi,#profilSayfasi,#gorevSayfasi,#dersSayfasi,.sutun-popup) :is(input:not([type=checkbox]),select,textarea,[contenteditable=true]) { font-size:16px; }
}
@media(max-width:360px) {
 #gorevSayfasi .giris { flex-wrap:wrap; }
 #gorevSayfasi .giris input { flex-basis:100%; width:100%; }
 #gorevEkleButon { margin-left:auto; }
 #gorevSayfasi .satir-islemler :is(.simge-buton,.satir-ac) { width:36px; }
 #gorevSayfasi .satir-durum { font-size:10px; padding-inline:5px; }
}
