.app-breadcrumb{margin:0 0 14px}.app-breadcrumb .breadcrumb{margin-bottom:0}
.column-filters th{padding:.35rem .45rem!important;background:#fff!important}
.column-filters input{min-width:90px;font-size:.75rem;text-transform:none;letter-spacing:normal}
.char-counter{margin-top:3px;font-size:.75rem}
.modal-dialog{--bs-modal-width:560px;margin-top:clamp(1rem,4vh,2.5rem);margin-bottom:1rem}
.modal-dialog.modal-lg{--bs-modal-width:720px}.modal-dialog.modal-xl{--bs-modal-width:860px}
.modal-content{border:0;border-radius:14px;box-shadow:0 24px 70px rgba(15,23,42,.18);overflow:hidden}
.modal-header,.modal-footer{padding:.85rem 1.1rem;border-color:#e8edf5}.modal-body{padding:1.1rem}
.modal-header{min-height:66px;background:linear-gradient(110deg,#f9fafc,#f2f5fa)}
.modal-heading{display:flex;align-items:center;gap:.75rem;min-width:0}
.modal-heading-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;color:var(--brand-dark,#1f6fd6);background:var(--brand-soft,#e5ecf7);border:1px solid #c7d6ec}
.modal-heading-icon svg{width:20px;height:20px}
.modal-heading-copy{min-width:0}.modal-heading-copy .modal-title,.modal-heading-copy>h1,.modal-heading-copy>h2,.modal-heading-copy>h3,.modal-heading-copy>h4,.modal-heading-copy>h5,.modal-heading-copy>h6{margin:0!important;font-size:1rem!important;line-height:1.25}
.modal-heading-copy .settings-eyebrow{display:block;margin-bottom:.15rem;font-size:.64rem;letter-spacing:.08em}
.modal .form-control,.modal .form-select{width:100%;min-height:42px;font-size:.9rem}
.modal textarea.form-control{min-height:82px;height:auto;resize:vertical}
.modal .form-label{margin-bottom:.35rem;color:#344454;font-size:.79rem;font-weight:700}
.modal .form-text{font-size:.72rem;line-height:1.35}
.modal .row{--bs-gutter-x:1rem;--bs-gutter-y:.85rem}
.modal-footer{gap:.45rem;background:#fbfcfd}
.form-section-title{color:#1e40af;font-weight:700;padding-bottom:.65rem;border-bottom:1px solid #dfe7f2}
.relation-count{display:inline-flex;align-items:baseline;gap:.2rem;min-width:74px;padding:.28rem .55rem;border:1px solid #dce1e9;border-radius:999px;color:var(--brand-dark,#1f6fd6);background:var(--brand-soft,#e5ecf7)}
.relation-count strong{font-size:.88rem}.relation-count small{font-size:.68rem;color:#58706f;white-space:nowrap}
.metric-icon-compact{width:34px!important;height:34px!important}
.document-groups{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff}.document-section{margin:0;padding:.7rem 1rem;background:#f4f7fb;color:#334155;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;border-top:1px solid #e2e8f0}.document-section:first-child{border-top:0}
.document-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(120px,1fr) auto;gap:1rem;align-items:center;padding:.8rem 1rem;border-top:1px solid #edf1f6}.document-row strong{font-size:.9rem}.upload-status{font-size:.78rem;margin-top:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-progress .progress{height:6px;background:#e8edf5}
.card.table-responsive{border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 6px 24px rgba(15,23,42,.05)}.table thead th{background:#f8fafc;color:#475569;font-size:.8rem;text-transform:uppercase;letter-spacing:.025em;border-bottom-color:#dfe7f2}
.progress-bar{width:0}.program-depth-0{padding-left:12px!important}.program-depth-1{padding-left:40px!important}.program-depth-2{padding-left:68px!important}.program-depth-3{padding-left:96px!important}.program-depth-4{padding-left:124px!important}.program-depth-5{padding-left:152px!important}
.system-hero{align-items:center}.system-hero-metrics{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}.system-hero-metrics span{min-width:106px;padding:.7rem .9rem;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:rgba(0,0,0,.12);font-size:.78rem;color:#fff}.system-hero-metrics strong{display:block;color:#fff;font-size:1.35rem}.system-management-page .section-card{height:auto}.system-management-page .table-responsive{box-shadow:none}.branch-address{max-width:360px;white-space:normal}.status-pill-active{color:#116149;background:#e8f8f1}.status-pill-passive{color:#667085;background:#f0f2f5}.empty-state-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:var(--brand-dark);background:var(--brand-soft);font-weight:800}.management-form{border-top:1px solid var(--line);padding-top:1rem}.management-form summary{cursor:pointer;color:var(--brand-dark);font-weight:700}.required-mark{color:#c52b3a}.branch-active-field{padding-top:1rem;border-top:1px solid var(--line)}.was-validated .form-control:invalid,.was-validated .form-select:invalid{border-color:#dc3545}.was-validated .form-control:valid,.was-validated .form-select:valid{border-color:#198754}
.recycle-select{width:42px;text-align:center;vertical-align:middle!important}.recycle-module{display:inline-flex;padding:3px 8px;border-radius:999px;background:#eaeff7;color:#15386c;font-size:.72rem;font-weight:750;letter-spacing:.02em}.recycle-blocker{display:block;max-width:250px;margin-top:6px;color:#9a5b10;line-height:1.35}.recycle-row-blocked{background:#fffaf1}.recycle-table td{vertical-align:middle}.recycle-empty{min-height:230px}
.catalog-panel{padding:1.15rem}.catalog-list{display:grid;gap:.55rem}.catalog-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:58px;padding:.65rem .75rem;border:1px solid var(--line);border-radius:12px;background:#fbfcfd}.catalog-item strong,.catalog-item small{display:block}.catalog-item strong{font-size:.86rem}.catalog-item small{margin-top:.18rem;color:var(--muted);font-size:.72rem}.catalog-item .btn{flex:0 0 auto}
.print-brand{display:flex;align-items:center;gap:14px;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:2px solid var(--brand)}.print-brand img{width:104px;height:58px;object-fit:contain}.print-brand strong,.print-brand span{display:block}.print-brand strong{font-size:1rem}.print-brand span{margin-top:.15rem;color:var(--muted);font-size:.8rem}
.print-col-no{width:3rem}
.print-col-signature{width:40%}
.print-signature{border-bottom:1px solid #6b7785;min-width:180px;height:2.4rem}
.print-letter-body{min-height:260px;white-space:pre-line;line-height:1.8}.print-output{max-width:900px;margin-inline:auto}
@media print{.print-brand img{max-width:104px;max-height:58px}.print-brand{break-inside:avoid}}
@media print{.print-document form,.print-document .btn,.print-document nav{display:none!important}.print-document .container{max-width:none}.print-document .card{box-shadow:none}}
@media(max-width:767.98px){.document-row{grid-template-columns:1fr}.upload-progress{order:3}.modal-dialog{margin:.6rem}.modal-body{padding:1rem}.modal-header,.modal-footer{padding:.8rem 1rem}.modal-heading-icon{width:34px;height:34px;flex-basis:34px}.system-hero-metrics{width:100%;justify-content:stretch}.system-hero-metrics span{flex:1}.recycle-table{min-width:920px}}
.status-pill-secondary{color:#4e5c68;background:#edf1f4;border:1px solid #dce4e9}.status-pill-success{color:#0c704b;background:#e7f7ef;border:1px solid #c3ead8}

/* Gunluk Program izgarasi (GunlukProgram.aspx): satir = egitimci, sutun = saat. */
.gun-izgara{border-collapse:separate;border-spacing:0;width:100%;font-size:.78rem;background:#fff}
.gun-izgara th,.gun-izgara td{border:1px solid #dfe7e7;padding:.25rem .3rem;vertical-align:top;min-width:104px}
.gun-izgara thead th{position:sticky;top:0;z-index:2;background:#f3f5f8;color:#162030;font-size:.72rem;text-transform:none;white-space:normal}
.gun-izgara .gun-egitimci{position:sticky;left:0;z-index:3;width:148px;min-width:148px;background:#f3f5f8;color:#162030;text-align:left;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
.gun-izgara thead .gun-egitimci{z-index:4}
.gun-hucre-bos{background:#fbfcfc}
.gun-ders{display:block;margin:0 0 .15rem;padding:.2rem .34rem;border-left:3px solid #c77700;border-radius:4px;background:#fff4df;color:#704400;font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.gun-ders:last-child{margin-bottom:0}
.gun-ders-saat{font-weight:600;font-variant-numeric:tabular-nums;opacity:.8}
.wa-baglanti{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem}.wa-karekod{width:240px;height:240px;border:1px solid #d7e0df;border-radius:8px}.wa-kod{font-size:1.6rem;font-weight:700;letter-spacing:.18em}.wa-anahtar{word-break:break-all}.ilt-sablon-metin{min-width:20rem;white-space:normal}.gun-yanit{padding:.75rem 0;border-bottom:1px solid #e3e9e8}.gun-yanit:last-child{border-bottom:0}.gun-yanit-metin{margin:.25rem 0;padding:.4rem .6rem;background:#f6f8f8;border-left:3px solid #c77700;border-radius:4px;overflow-wrap:anywhere}
.gun-izgara-baslik .form-label{margin-bottom:4px}.gun-yazdir-baslik{display:none}.reha-yazdir-kok .gun-yazdir-baslik{display:block;padding:0 0 2mm;font-weight:700}
.gun-ders-suren{display:block;color:#5d6973;font-size:.7rem;line-height:1.2}
.gun-katilim-evet{border-color:#157347;background:#e8f6ef;color:#0d6544}
.gun-katilim-hayir{border-color:#c93c4b;background:#fdebed;color:#9f2432}
.gun-katilim-bekliyor{border-color:#c77700;background:#fff4df;color:#704400}
.gun-katilim-aciklama{display:flex;flex-wrap:wrap;gap:.35rem .65rem;align-items:center}
.gun-katilim-anahtar{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .48rem;border:1px solid currentColor;border-radius:999px;font-size:.68rem;font-weight:700;white-space:nowrap}
.gun-katilim-anahtar::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor}
.gun-sar{overflow:auto;max-height:70vh}
a.gun-ders{text-decoration:none}a.gun-ders:hover{filter:brightness(.96);text-decoration:underline}
a.gun-ders:focus-visible,.gun-ders-ekle:focus-visible{outline:2px solid var(--brand,#093270);outline-offset:1px}
.gun-ders-bosaldi{border-color:#9aa5ad;background:#f1f3f5;color:#5d6973;font-weight:600;text-decoration:line-through}
.gun-ders-ekle{display:block;margin-top:.15rem;padding:.15rem .34rem;border:1px dashed #b9c7c5;border-radius:4px;color:#3c4a5e;font-size:.7rem;font-weight:700;text-decoration:none;text-align:center}
.gun-ders-ekle:hover{background:#eef1f6;border-color:#093270;color:#093270}
/* Tam ekran (29.10.2026): satirlar icerik kadar, ogrenci adi tek satir (tam ad ipucunda), bos hucredeki
   "+ Ders ekle" yalniz uzerine gelinince ya da odakta gorunur; satirlar sirayla hafif golgelenir. */
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara{table-layout:fixed;font-size:.66rem}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara-baslik{min-height:0;padding:.3rem .65rem!important}
/* Tam ekranda araç satırı tek satırdır (06.11.2026 kullanıcı isteği): etiket yalnız ekran okuyucuda, düğmeler küçük; dar pencerede sarar. */
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara-baslik form{align-items:center!important;column-gap:.35rem!important;row-gap:.25rem!important}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara-baslik .form-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara-baslik .form-check{margin:0 .15rem!important;white-space:nowrap}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara-baslik .btn{min-height:30px;padding:.2rem .5rem;font-size:.8rem;white-space:nowrap}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara-baslik .form-control{width:125px;min-height:30px;height:30px;padding:.1rem .4rem;font-size:.8rem}
.gun-tam-ekran-kap.plan-tam-ekran .gun-katilim-aciklama{flex-wrap:nowrap;white-space:nowrap}
@media (min-width:1200px){.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara-baslik form{flex-wrap:nowrap!important}.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara-baslik form>*{flex-shrink:0}}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara-yardim{display:none}
.gun-tam-ekran-kap.plan-tam-ekran{display:flex;flex-direction:column}
.gun-tam-ekran-kap.plan-tam-ekran .gun-sar{flex:1 1 auto;min-height:0;height:auto;max-height:none}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara th,
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara td{min-width:0;padding:.18rem .22rem;vertical-align:middle}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara thead th{padding:.3rem .2rem;text-align:center;font-size:.68rem;white-space:nowrap}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-egitimci{position:sticky;left:0;z-index:3;width:150px;min-width:150px;background:#f3f5f8;color:#162030;text-align:left;font-size:.66rem;line-height:1.15;white-space:normal;overflow-wrap:anywhere}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara thead .gun-egitimci{z-index:4}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara tbody tr:nth-child(even) td{background:#f8fbfa}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara tbody tr:nth-child(even) .gun-egitimci{background:#eaeef3}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara tbody tr:hover td,.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara tbody tr:hover .gun-egitimci{background:#eef1f6}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-ders{display:block;margin:0;padding:.14rem .34rem;border-left-width:3px;border-radius:0 3px 3px 0;font-size:.66rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-ders+.gun-ders{margin-top:2px}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-ders-ekle{margin:0;padding:.1rem .2rem;border-color:transparent;color:transparent;font-size:.62rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara td:hover .gun-ders-ekle,.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-ders-ekle:focus-visible{border-color:#b9c7c5;color:#3c4a5e}
/* Izgarada katilim durumu yalniz ogrenci adinin rengidir (30.10.2026 kullanici istegi): kart zemini notr,
   katilacak yesil, katilmayacak kirmizi, yanit bekleniyor turuncu; gelmeyen/iptal ders gri ve ustu cizili. */
.gun-izgara .gun-ders{background:#f6f8f8;border-left-color:#c9d3d2}
.gun-izgara .gun-ders.gun-katilim-evet{color:#137046}
.gun-izgara .gun-ders.gun-katilim-hayir{color:#c4283a}
.gun-izgara .gun-ders.gun-katilim-bekliyor{color:#a35f00}
.gun-izgara .gun-ders.gun-ders-bosaldi{color:#5d6973;background:#f1f3f5}
/* Yatay A4 program ciktisi (Scripts/yazdir-kok.js, 30.10.2026): basilacak parcalar sayfanin disindaki kokte
   kopyalanir; kok ekranda gorunmez, baskida yalniz o basilir. Her .reha-yazdir-sayfa bir yatay A4 sayfadir. */
@page rehaYatay{size:A4 landscape;margin:7mm}
.reha-yazdir-kok{position:absolute;left:-30000px;top:0;width:283mm;background:#fff;color:#111;font-size:8pt}
.reha-yazdir-sayfa{width:283mm}
.reha-yazdir-kok .gun-yazdirma,.reha-yazdir-kok .plan-tam-ekran-dugme,.reha-yazdir-kok .ders-hafta-arac,.reha-yazdir-kok .ders-izgara-ekle,
.reha-yazdir-kok .plan-adim-ekle,.reha-yazdir-kok .plan-ders-sil,.reha-yazdir-kok .gun-izgara-yardim,.reha-yazdir-kok .gun-katilim-aciklama{display:none!important}
.reha-yazdir-kok .gun-sar,.reha-yazdir-kok .table-responsive{max-height:none!important;height:auto!important;overflow:visible!important}
.reha-yazdir-kok .section-card{box-shadow:none!important;border:0!important;margin:0!important}
.reha-yazdir-kok table{width:100%!important;table-layout:fixed}
.reha-yazdir-kok th,.reha-yazdir-kok td{position:static!important;min-width:0!important}
.reha-yazdir-kok .gun-izgara-baslik{padding:0 0 2mm!important}
.reha-yazdir-kok .gun-izgara{font-size:7.5pt}
.reha-yazdir-kok .gun-izgara th,.reha-yazdir-kok .gun-izgara td{padding:1px 2px;vertical-align:top}
.reha-yazdir-kok .gun-izgara .gun-egitimci{width:30mm;background:#f3f6f6}
.reha-yazdir-kok .gun-izgara .gun-ders{display:block;white-space:normal;padding:1px 3px;margin:0 0 1px;font-size:7pt;line-height:1.15}
.reha-yazdir-kok .plan-adim-gunbas,.reha-yazdir-kok .plan-gun-izgara .plan-adim-gunbas{width:24mm!important;min-width:0!important;max-width:none!important}
.reha-yazdir-kok .ders-hafta{border:0;margin:0}
.reha-yazdir-kok .ders-hafta>summary{list-style:none;font-weight:700;padding:0 0 1mm}
.plan-yazdir-baslik{font-size:10pt;font-weight:700;margin:0 0 2mm}
/* Ders Defteri ciktisi (12.11.2026, Scripts/ders-defteri.js): baslik ve "Incelendi" bolumu yalniz baskida; tek A4. */
.defter-yazdir-baslik,.defter-incelendi{display:none}
.reha-yazdir-kok .defter-yazdir-baslik{display:block;font-size:10pt;margin:0 0 2mm}
.reha-yazdir-kok .defter-incelendi{display:grid;grid-template-columns:1fr 1fr;gap:6mm;margin-top:4mm;font-size:8.5pt;break-inside:avoid}
.reha-yazdir-kok .defter-incelendi>div{display:flex;flex-direction:column;gap:1.5mm;border-top:1px solid #9aa6a6;padding-top:2mm;min-height:22mm}
.reha-yazdir-kok .defter-kartlar{display:grid;grid-template-columns:repeat(auto-fill,minmax(42mm,1fr));gap:1.5mm}
.reha-yazdir-kok .defter-karti{border:1px solid #c9d2d2;padding:1mm 1.5mm;font-size:7pt;line-height:1.2;break-inside:avoid}
.reha-yazdir-kok .defter-gun{margin-bottom:2mm}
.reha-yazdir-kok .defter-gun-baslik{display:flex;gap:3mm;font-size:8pt;margin-bottom:1mm}
/* Gunluk Program ciktisinin alti: katilmayanlar ve elle doldurulacak not satirlari. */
.gun-not-tablo{width:100%;border-collapse:collapse;margin-top:3mm;font-size:8pt}
.gun-not-tablo th,.gun-not-tablo td{border:1px solid #9aa6a6;padding:1.5mm 2mm;height:7mm;vertical-align:top}
.gun-not-tablo th{width:30mm;text-align:left;background:#f3f6f6}
.gun-not-tablo td{background:#fdf2f2}
@media print{
  body.reha-yazdir-acik>*:not(.reha-yazdir-kok){display:none!important}
  body.reha-yazdir-acik{background:#fff!important}
  .reha-yazdir-kok{position:static;left:auto}
  .reha-yazdir-sayfa{page:rehaYatay;break-after:page}
  .reha-yazdir-sayfa:last-child{break-after:auto}
  .reha-yazdir-kok *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
/* Renk anahtari suzgeci (30.10.2026): secili duruma uymayan dersler soluklasir. */
.gun-katilim-aciklama button.gun-katilim-anahtar{cursor:pointer;background:transparent}
.gun-katilim-aciklama button.gun-katilim-anahtar[aria-pressed="true"]{box-shadow:0 0 0 2px currentColor;background:#fff}
.gun-izgara[data-katilim-suz="evet"] .gun-ders:not(.gun-katilim-evet),
.gun-izgara[data-katilim-suz="hayir"] .gun-ders:not(.gun-katilim-hayir),
.gun-izgara[data-katilim-suz="bekliyor"] .gun-ders:not(.gun-katilim-bekliyor){opacity:.15}
/* Grup onerisi penceresi */
.gun-oneri{padding:.6rem .75rem;border:1px solid #dfe7e7;border-radius:8px;margin-bottom:.6rem}
.gun-oneri-baslik{display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:baseline}
.gun-oneri-ogrenciler{margin:.35rem 0 .5rem;padding-left:1.1rem;font-size:.86rem}
/* Grup dersi tek kart: "Zihinsel Grup (3)"; uyeler ipucunda (30.10.2026). */
.gun-izgara .gun-ders.gun-ders-grup{background:#eef2fb;border-left-color:#5b6fb5}
/* Tam ekranda satir yuksekligi ve yazi boyu ekrana gore hesaplanir (Scripts/gunluk-izgara.js). */
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-ders,
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-egitimci{font-size:var(--gun-yazi,.66rem)}
/* Surukle-birak: ders baska saate ya da egitimciye birakilir. */
.gun-izgara [draggable="true"]{cursor:grab}
.gun-izgara .gun-ders.is-suruklenen{opacity:.45}
.gun-izgara td.is-birakilacak{background:#dfe6f1!important;box-shadow:inset 0 0 0 2px var(--brand,#093270)}
/* Sag tik menusu: ogrencisi degistirilebilen ders (30.10.2026). Tam ekran katmaninin (1045) ustunde acilir. */
.gun-baglam{position:fixed;z-index:1060;min-width:180px;margin:0}
.gun-izgara span.gun-ders[tabindex]:focus-visible{outline:2px solid var(--brand,#093270);outline-offset:1px}
@media print{.gun-yazdirma{display:none!important}.gun-sar{max-height:none;overflow:visible}}

/* Aylik planlama izgarasi (AylikPlanlama.aspx): hafta bloklari, satir = seans, sutun = gun. */
.aylik-sar{display:flex;flex-direction:column;gap:18px}
.aylik-izgara{width:100%;border-collapse:separate;border-spacing:0;font-size:.78rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.aylik-izgara th,.aylik-izgara td{border-right:1px solid #e6ebf2;border-bottom:1px solid #e6ebf2;padding:.3rem .35rem;vertical-align:top}
.aylik-izgara th:last-child,.aylik-izgara td:last-child{border-right:0}
.aylik-izgara thead th{background:linear-gradient(110deg,var(--brand-deep),var(--brand-dark));color:#fff;text-align:left;font-size:.74rem;text-transform:none;white-space:nowrap}
.aylik-izgara thead th.aylik-ay-disi{background:#5f6c78}
.aylik-gun-ad{font-weight:750}
.aylik-gun-no{float:right}
.aylik-izgara th.aylik-saat{width:66px;min-width:66px;background:#fdf6e3;color:#6b5a2a;text-align:center;font-variant-numeric:tabular-nums;font-weight:750;line-height:1.25}
.aylik-izgara thead th.aylik-saat{background:linear-gradient(110deg,var(--brand-deep),var(--brand-dark));color:#fff;text-align:center}
.aylik-izgara td{min-width:112px;height:38px;background:#fbfdff}
.aylik-izgara td.aylik-ay-disi{background:#f2f4f7}
.aylik-izgara td.aylik-hedef{background:var(--brand-soft);outline:2px dashed var(--brand);outline-offset:-3px}
.plan-kart{display:block;margin-bottom:.22rem;padding:.25rem .35rem;border-left:3px solid var(--brand);border-radius:5px;background:#e8f6ef;line-height:1.25;cursor:grab}
.plan-kart:last-child{margin-bottom:0}
.plan-kart[draggable="true"]:active{cursor:grabbing}
.plan-kart-suruklenen{opacity:.45}
.plan-kart span{display:block}
.plan-ogrenci{font-weight:750}
.plan-personel,.plan-derslik{color:var(--muted);font-size:.7rem}
.aylik-grup-kart{border-left-color:var(--brand);background:var(--brand-soft);cursor:default}
.aylik-grup-adlar{margin-top:2px;color:var(--brand-dark);font-size:.7rem;font-weight:650;overflow-wrap:anywhere}
.plan-rozet{display:inline;padding:0 .25rem;border-radius:4px;background:#a35d00;color:#fff;font-size:.65rem;font-weight:750}
.plan-ders{border-left-color:#157347;background:#e8f6ef}
.plan-telafi{border-left-color:#c77700;background:#fdf3e3}
.plan-randevu{border-left-color:#3b7ddd;background:#e9f1fd}
.plan-gosterge{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.8rem}
.plan-ornek{display:inline-block;width:14px;height:14px;border-radius:4px;border-left:3px solid var(--brand)}
@media print{.aylik-yazdirma{display:none!important}.aylik-izgara{box-shadow:none;page-break-inside:avoid}}
/* Planlama ekranlarinin filtre cubugu; sayfa basligi kabuktan geldigi icin burada yalniz araclar durur. */
.aylik-arac-cubugu{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:14px 16px;margin-bottom:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.aylik-arac-cubugu .form-label{margin-bottom:4px}
.aylik-arac-cubugu .form-control,.aylik-arac-cubugu .form-select{min-height:38px}

/* Planlama - ogrenci panelindeki bas harf suzgeci */
.plan-alfabe{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:.5rem}
.plan-harf{border:1px solid #dfe6eb;background:#fff;color:#44505d;border-radius:6px;min-width:26px;height:26px;font-size:12px;line-height:1;padding:0 4px;cursor:pointer}
.plan-harf:hover:not(:disabled){background:#f1f5f7}
.plan-harf-aktif{background:var(--brand-dark,#1d5fbf);border-color:var(--brand-dark,#1d5fbf);color:#fff}
.plan-harf-bos{opacity:.35;cursor:default}
.plan-harf:focus-visible{outline:2px solid var(--brand,#1d5fbf);outline-offset:1px}

/* Resmi BEP form ciktilari (Ek-1, Ek-3): kaynak formun yerlesimi */
.form-resmi-baslik{border:1px solid #333;background:#d9d9d9;padding:6px 10px;text-align:center;position:relative;font-size:13px}
.form-resmi-kod{position:absolute;right:10px;bottom:6px;font-weight:700}
.form-resmi-alanlar{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:8px 0 12px}
.form-resmi-alanlar.form-resmi-tek{grid-template-columns:1fr}
.form-resmi-alanlar dl{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;margin:0;font-size:12.5px}
.form-resmi-alanlar dt{font-weight:700}
.form-resmi-alanlar dt::after{content:" :"}
.form-resmi-alanlar dd{margin:0}
.form-resmi-tablo{font-size:12px}
.form-resmi-tablo th{background:#d9d9d9;text-align:center;vertical-align:middle}
.form-resmi-hedef td{background:#ededed;font-weight:700}
@media print{.form-resmi-tablo{page-break-inside:auto}.form-resmi-tablo tr{page-break-inside:avoid}}
.form-resmi-numara{width:22px;font-size:11px;padding:2px}
/* Dilekçe ve form çıktısı (19.10.2026, Lila düzeni): ortada başlık ya da makam, iki yana yaslı paragraflar,
   sağda imza bloğu, solda adres/telefon. */
.dilekce-cikti{font-size:1rem;color:#111}.dilekce-baslik,.dilekce-makam{text-align:center;font-size:1.15rem;font-weight:700;margin:1.5rem 0 1.25rem;letter-spacing:.02em}
.dilekce-tarih{text-align:right;margin:0}.dilekce-konu{margin:0 0 1rem}
.dilekce-govde p{white-space:pre-line;text-align:justify;text-indent:2.5em;line-height:1.75;margin:0 0 .6rem}
.dilekce-alt{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-top:2.5rem}
.dilekce-imza{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:220px;margin-left:auto;line-height:1.5}
.dilekce-iletisim dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:2.5rem 0 0;max-width:420px}.dilekce-iletisim dt{font-weight:400}.dilekce-iletisim dt::after{content:" :"}.dilekce-iletisim dd{margin:0}
.dilekce-ekler{margin-top:2rem}.dilekce-ekler p{white-space:pre-line;margin:.25rem 0 0}
@media print{.dilekce-cikti{border:0;box-shadow:none;padding:0}.dilekce-cikti .btn{display:none}}
/* PersonelSozlesme.aspx — EK-5 iş sözleşmesi: kurumun Word sözleşmeleriyle aynı düz düzen (Calibri, sıkı satır, A4). */
.ek5{background:#fff;color:#000;font-family:Calibri,Carlito,"Segoe UI",Arial,sans-serif;font-size:10.5pt;line-height:1.3;max-width:21cm;margin:0 auto;padding:1.5cm 2.5cm;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.ek5 p{margin:0}.ek5 b{font-weight:700}
.ek5-elle{outline:2px dashed var(--bs-primary,#0d6efd);outline-offset:4px;cursor:text}.ek5-elle:focus{outline-style:solid}
@media print{.ek5-elle{outline:0!important}}
.ek5-orta{text-align:center}.ek5-kucuk{font-size:10pt}.ek5-baslik{margin:.9em 0 .7em!important;font-size:11pt}
.ek5-bosluk{margin-top:.7em!important}.ek5-ic{padding-left:1.5em}.ek5-not{font-size:9.5pt}
.ek5-alan>span:first-child{display:inline}
.ek5-ozel{white-space:pre-line;margin:.2em 0 .4em!important}
.ek5-imza{display:flex;justify-content:space-between;gap:2rem;margin-top:1.6em;text-align:center}.ek5-imza>div{flex:1}
.ek5-mudur{text-align:center;margin-top:1.4em}
@media print{.print-document .ek5{box-shadow:none;padding:0;max-width:none;font-size:10.5pt}}


/* BKDS Canlı Takip panosu (223) */
.bkds-canli-kap { display: flex; flex-direction: column; gap: .75rem; margin-bottom: 1rem; }
.bkds-canli-kap .section-card { height: auto; padding: .625rem .875rem; min-width: 0; }
.bkds-canli-ust { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; }
.bkds-canli-baslik { flex: 1 1 16rem; min-width: 0; }
.bkds-canli-sayaclar { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; }
.bkds-canli-sayac { display: flex; align-items: baseline; gap: .375rem; white-space: nowrap; }
.bkds-canli-sayac strong { font-size: 1.375rem; line-height: 1.2; font-variant-numeric: tabular-nums; }
.bkds-canli-sayac span { font-size: .85rem; color: var(--bs-secondary-color); }
.bkds-canli-dugmeler { display: flex; flex-wrap: wrap; gap: .5rem; }
.bkds-canli-not { flex-basis: 100%; }
.bkds-canli-listeler { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.bkds-canli-listeler .section-card { display: flex; flex-direction: column; min-height: 0; }
.bkds-canli-listeler .section-card-title { margin-bottom: .375rem; }
.bkds-canli-liste { flex: 1 1 auto; min-height: 0; max-height: calc(100dvh - 14rem); overflow-y: auto; }
.bkds-canli-liste:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 2px; }
.bkds-canli-satir { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: .625rem; align-items: baseline; padding: .25rem 0; border-bottom: 1px solid var(--bs-border-color); }
.bkds-canli-satir:last-child { border-bottom: 0; }
.bkds-canli-saat { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bkds-canli-kisi { min-width: 0; overflow-wrap: anywhere; }
.bkds-canli-ad { font-weight: 500; }
.bkds-canli-tur { font-size: .78rem; color: var(--bs-secondary-color); }
/* Kendi penceresinde ve tam ekranda listeler kalan yüksekliği doldurur, her biri kendi içinde kayar. */
@media (min-width: 992px) {
  .bkds-canli-kap.plan-tam-ekran { overflow: hidden !important; margin: 0 !important; }
  .bkds-canli-kap.plan-tam-ekran .bkds-canli-listeler { flex: 1 1 auto; min-height: 0; }
  .bkds-canli-kap.plan-tam-ekran .bkds-canli-liste { max-height: none; }
}
@media (max-width: 991.98px) {
  .bkds-canli-listeler { grid-template-columns: minmax(0, 1fr); }
  .bkds-canli-liste { max-height: 45dvh; }
}
/* Ekran görünümü (07.11.2026): uzaktan okunur; en yeni hareket üstte, sığmayan eski satır kesilir. */
.bkds-canli-ekran { position: fixed; inset: 0; z-index: 1040; margin: 0; padding: 12px 16px; overflow: auto; background: var(--canvas, #f4f6f7); }
.bkds-canli-ekran .bkds-canli-saatler { margin-left: .5rem; font-variant-numeric: tabular-nums; color: var(--bs-secondary-color); }
.bkds-canli-ekran .section-card-title { font-size: clamp(1.125rem, 1.7vw, 2rem); }
.bkds-canli-ekran .bkds-canli-sayac strong { font-size: clamp(1.5rem, 2.8vw, 3.25rem); }
.bkds-canli-ekran .bkds-canli-sayac span { font-size: clamp(.875rem, 1.2vw, 1.375rem); }
.bkds-canli-ekran .bkds-canli-satir { font-size: clamp(1rem, 1.7vw, 2.125rem); padding: .3em 0; }
.bkds-canli-ekran .bkds-canli-tur { font-size: .68em; }
.bkds-canli-ekran .bkds-canli-dugmeler .btn { min-height: 36px; }
@media (min-width: 992px) {
  .bkds-canli-ekran { overflow: hidden; }
  .bkds-canli-ekran .bkds-canli-listeler { flex: 1 1 auto; min-height: 0; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
  .bkds-canli-ekran .bkds-canli-liste { max-height: none; overflow: hidden; }
  .bkds-canli-ekran #girisBaslik { color: #1d5fbf; }
  .bkds-canli-ekran #cikisBaslik { color: #B45309; }
}
.bkds-canli-duyuru { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2vh; padding: 4vw; color: #fff; text-align: center; }
.bkds-canli-duyuru[hidden] { display: none; }
.bkds-canli-duyuru.is-giris { background: #1d5fbf; }
.bkds-canli-duyuru.is-cikis { background: #B45309; }
.bkds-canli-duyuru-yon { font-size: clamp(1.5rem, 4vw, 4.5rem); font-weight: 600; }
.bkds-canli-duyuru-ad { font-size: clamp(2.25rem, 8vw, 9rem); line-height: 1.1; overflow-wrap: anywhere; }
.bkds-canli-duyuru-saat { font-size: clamp(1.5rem, 4vw, 4.5rem); font-variant-numeric: tabular-nums; }
/* Günlük Program'da BRY saatleri (07.11.2026): yalnız yazı; ad rengi veli yanıtı olarak kalır. */
.gun-bry { display: block; font-size: .68rem; line-height: 1.2; font-weight: 400; color: #4d5b65; white-space: nowrap; font-variant-numeric: tabular-nums; }
.gun-bry-uyari { color: #B42318; font-weight: 700; }
.gun-bry-durum { color: #4d5b65; white-space: nowrap; }
/* Tam ekranda kart iki satırdır (07.11.2026; 09.11.2026 kullanıcı isteğiyle BRY olmayan günlerde de): üstte öğrencinin tam adı, altta ders saati ve (bugün) BRY giriş-çıkışı.
   Yazı boyunu Scripts/gunluk-izgara.js kalan yüksekliğe göre verir. */
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-ders { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: .45em; align-items: baseline; padding: .08rem .3rem; font-size: var(--gun-yazi, 12px); line-height: 1.15; }
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-ders-ad { grid-column: 1 / -1; grid-row: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-ders-saat { grid-column: 1; grid-row: 2; font-size: .88em; font-weight: 400; }
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-ders .gun-bry { grid-column: 2; grid-row: 2; min-width: 0; overflow: hidden; text-overflow: ellipsis; font-size: .88em; }
/* 09.11.2026: tam saatteki dersin kartında saat yazmaz (sütun başlığı söyler); boş saat yer tutmaz, BRY satırın başından başlar. */
.gun-izgara .gun-ders-saat:empty { display: none; }
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-ders:has(.gun-ders-saat:empty) .gun-bry { grid-column: 1 / -1; }
.gun-tam-ekran-kap.plan-tam-ekran[data-bry-uc] .gun-izgara .gun-ders .gun-bry-uyari { font-weight: 700; }
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-ders.is-bry-uyari { border-left-color: #B42318; }
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-ders-suren { font-size: calc(var(--gun-yazi, 12px) * .88); }
.gun-tam-ekran-kap.plan-tam-ekran[data-bry-uc] .gun-izgara tbody .gun-egitimci { width: 170px; min-width: 170px; max-width: 170px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: min(var(--gun-yazi, 12px), 12px); line-height: 1.05; padding-top: 1px; padding-bottom: 1px; }
.gun-tam-ekran-kap.plan-tam-ekran .gun-izgara .gun-egitimci .gun-bry { font-size: 10px; line-height: 1.1; }

/* 08.11.2026 kullanıcı isteği: katılım anahtarları yazısız yuvarlak simge (✓ ✕ !); açıklama ipucunda. */
.gun-katilim-aciklama{gap:.3rem}
.gun-katilim-aciklama .gun-katilim-anahtar{justify-content:center;width:1.75rem;height:1.75rem;padding:0;border-width:1.5px;border-radius:50%;font-size:.9rem;line-height:1}
.gun-katilim-aciklama .gun-katilim-anahtar::before{content:none}
.gun-katilim-aciklama button.gun-katilim-evet{background:#e8f6ef}.gun-katilim-aciklama button.gun-katilim-hayir{background:#fdebed}.gun-katilim-aciklama button.gun-katilim-bekliyor{background:#fff4df}
.gun-katilim-aciklama button.gun-katilim-evet[aria-pressed="true"],.gun-katilim-aciklama button.gun-katilim-hayir[aria-pressed="true"],.gun-katilim-aciklama button.gun-katilim-bekliyor[aria-pressed="true"]{box-shadow:none}
.gun-katilim-aciklama button.gun-katilim-anahtar[aria-pressed="true"]{color:#fff}.gun-katilim-aciklama button.gun-katilim-evet[aria-pressed="true"]{background:#157347;border-color:#157347}.gun-katilim-aciklama button.gun-katilim-hayir[aria-pressed="true"]{background:#c93c4b;border-color:#c93c4b}.gun-katilim-aciklama button.gun-katilim-bekliyor[aria-pressed="true"]{background:#a35f00;border-color:#a35f00}
/* Katılım anahtarları düğme satırında, düğme yüksekliğinde çerçeveli tek grup. */
.gun-izgara-baslik .gun-katilim-aciklama{flex-wrap:nowrap;gap:.25rem;height:calc(1.5em + .75rem + 2px);padding:0 .3rem;border:1px solid var(--bs-border-color,#dee2e6);border-radius:var(--bs-border-radius,.375rem);background:#fff}
.gun-izgara-baslik .gun-katilim-aciklama .gun-katilim-anahtar{width:1.6rem;height:1.6rem}
.gun-izgara-baslik .plan-tam-ekran-dugme,.gun-izgara-baslik [data-bs-target="#gunGrupOnerisi"]{align-self:flex-end}
/* 08.11.2026: kartta dersin BKDS'ye göre başlangıcı (planlanandan farklıysa). */
.gun-ders-bkds{font-weight:600;color:#173a6b;white-space:nowrap}
