/* Öğretmenler Odası Network — Sınav Analizi Aracı (tüm seçiciler .nsa- önekli) */
.nsa-kok {
	--nsa-lacivert: #0d2238;
	--nsa-mavi: #1f6fb2;
	--nsa-mavi-acik: #e8f1fa;
	--nsa-zemin: #f5f7fa;
	--nsa-kenar: #dde3ea;
	--nsa-yazi: #1d2939;
	--nsa-soluk: #5b6778;
	--nsa-yesil: #1a7f4b;
	--nsa-yesil-acik: #e6f4ec;
	--nsa-turuncu: #a8680a;
	--nsa-turuncu-acik: #fdf3e1;
	--nsa-kirmizi: #c0392b;
	--nsa-kirmizi-acik: #fbeae8;
	--nsa-golge: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);
	color: var(--nsa-yazi);
	font-size: 15px;
	line-height: 1.5;
	max-width: 1180px;
	margin: 0 auto;
	position: relative;
}
.nsa-kok *, .nsa-kok *::before, .nsa-kok *::after { box-sizing: border-box; }
.nsa-kok h2, .nsa-kok h3, .nsa-kok h4 { color: var(--nsa-lacivert); margin: 0 0 .5em; line-height: 1.3; }
.nsa-kok h3 { font-size: 1.12rem; }
.nsa-kok h3 small { color: var(--nsa-soluk); font-weight: 400; font-size: .85rem; }
.nsa-kok p { margin: 0 0 .6em; }
.nsa-kok code { background: var(--nsa-zemin); padding: 1px 5px; border-radius: 4px; font-size: .9em; }
.nsa-yukleniyor, .nsa-bakim { padding: 28px; text-align: center; color: var(--nsa-soluk); background: #fff; border: 1px solid #dde3ea; border-radius: 12px; }

/* Üst kısım */
.nsa-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 18px 20px; background: var(--nsa-lacivert); color: #fff; border-radius: 14px; margin-bottom: 14px; }
.nsa-ust .nsa-baslik { color: #fff; margin: 0; font-size: 1.45rem; }
.nsa-alt-baslik { color: #c9d5e3; margin: 2px 0 0 !important; font-size: .92rem; }
.nsa-rozet { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: .78rem; font-weight: 700; background: #ffffff22; color: #fff; border: 1px solid #ffffff44; white-space: nowrap; }
.nsa-rozet-network { background: #f4c542; color: #3b2a00; border-color: #f4c542; }
.nsa-rozet-misafir { background: #ffffff; color: var(--nsa-lacivert); }
.nsa-yonetici-bar { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; background: #fff8e1; border: 1px dashed #d4a72c; color: #5c4400; padding: 8px 12px; border-radius: 10px; margin-bottom: 10px; font-size: .85rem; }
.nsa-yonetici-bar a { margin-left: auto; color: #5c4400; font-weight: 700; }
.nsa-demo-bant { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; background: var(--nsa-mavi-acik); border: 1px solid #bcd6ee; padding: 12px 16px; border-radius: 12px; margin-bottom: 14px; font-size: .93rem; }
.nsa-demo-dugmeler { display: flex; gap: 8px; flex-wrap: wrap; }

/* Kart ve düzen */
.nsa-kart { background: #fff; border: 1px solid var(--nsa-kenar); border-radius: 12px; padding: 16px 18px; margin-bottom: 14px; box-shadow: var(--nsa-golge); }
.nsa-kart-bas { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.nsa-bos { text-align: center; padding: 30px 20px; }
.nsa-adimlar { text-align: left; max-width: 560px; margin: 10px auto 18px; padding-left: 22px; }
.nsa-adimlar li { margin-bottom: 8px; }
.nsa-izgara { display: grid; gap: 12px 14px; }
.nsa-izgara-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nsa-izgara label, .nsa-rapor-form label, .nsa-modal label { display: flex; flex-direction: column; gap: 4px; font-size: .86rem; font-weight: 600; color: #344054; }
.nsa-izgara label small, .nsa-rapor-form label small { font-weight: 400; color: var(--nsa-soluk); }
.nsa-yan { display: flex; gap: 6px; }
.nsa-yan .nsa-girdi { min-width: 0; }
.nsa-iki-sutun { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.nsa-iki-sutun > .nsa-kart { margin-bottom: 14px; }
.nsa-arac-cubugu, .nsa-alt-dugmeler { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.nsa-alt-dugmeler { justify-content: space-between; }
.nsa-geri { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.nsa-soluk { color: var(--nsa-soluk); font-size: .9rem; }
.nsa-dipnot { color: var(--nsa-soluk); font-size: .82rem; margin-top: 4px; }

/* Form öğeleri */
.nsa-kok .nsa-girdi { width: 100%; font: inherit; font-size: .95rem; color: var(--nsa-yazi); background: #fff; border: 1px solid #c8d0da; border-radius: 8px; padding: 8px 10px; min-height: 40px; margin: 0; box-shadow: none; }
.nsa-kok textarea.nsa-girdi { resize: vertical; line-height: 1.5; }
.nsa-kok .nsa-girdi:focus, .nsa-kok .nsa-h:focus { outline: 2px solid var(--nsa-mavi); outline-offset: 0; border-color: var(--nsa-mavi); }
.nsa-kok .nsa-girdi.nsa-hata, .nsa-kok .nsa-h.nsa-hata { border-color: var(--nsa-kirmizi); background: var(--nsa-kirmizi-acik); }

/* Düğmeler */
.nsa-kok .nsa-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: inherit; font-size: .92rem; font-weight: 600; line-height: 1.2; padding: 9px 15px; border-radius: 8px; border: 1px solid #c8d0da; background: #fff; color: var(--nsa-lacivert); cursor: pointer; text-decoration: none; min-height: 40px; text-transform: none; letter-spacing: 0; box-shadow: none; }
.nsa-kok .nsa-btn:hover { background: var(--nsa-zemin); }
.nsa-kok .nsa-btn:focus-visible { outline: 2px solid var(--nsa-mavi); outline-offset: 2px; }
.nsa-kok .nsa-btn[disabled] { opacity: .6; cursor: wait; }
.nsa-kok .nsa-btn-ana { background: var(--nsa-mavi); border-color: var(--nsa-mavi); color: #fff; }
.nsa-kok .nsa-btn-ana:hover { background: #185c95; color: #fff; }
.nsa-kok .nsa-btn-kucuk { padding: 5px 10px; font-size: .82rem; min-height: 32px; }
.nsa-kok .nsa-btn-sade { border-color: transparent; background: transparent; }
.nsa-kok .nsa-btn-tehlike { background: var(--nsa-kirmizi); border-color: var(--nsa-kirmizi); color: #fff; }
.nsa-kok .nsa-btn-tehlike:hover { background: #a02f23; }
.nsa-kok .nsa-tehlike-yazi { color: var(--nsa-kirmizi); }
.nsa-kok .nsa-secili { background: var(--nsa-lacivert); color: #fff; border-color: var(--nsa-lacivert); }

/* Panel */
.nsa-sube-bas { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; flex-wrap: wrap; }
.nsa-sube-bas p { margin: 0; }
.nsa-sube-dugmeler { display: flex; gap: 6px; flex-wrap: wrap; }
.nsa-sinav-listesi { list-style: none; margin: 10px 0 0; padding: 0; }
.nsa-sinav-listesi li { display: flex; align-items: center; gap: 8px; border-top: 1px solid #edf0f4; padding: 4px 0; }
.nsa-kok .nsa-sinav-ac { flex: 1; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; text-align: left; background: none; border: 0; padding: 8px 6px; border-radius: 8px; cursor: pointer; font: inherit; color: var(--nsa-yazi); min-height: 40px; }
.nsa-kok .nsa-sinav-ac:hover { background: var(--nsa-mavi-acik); }
.nsa-sinav-ac b { color: var(--nsa-lacivert); }
.nsa-satir-dugmeler { display: flex; gap: 4px; }
.nsa-liste-tik { list-style: none; padding: 0; margin: 6px 0 0; text-align: left; }
.nsa-liste-tik li { position: relative; padding-left: 24px; margin-bottom: 6px; }
.nsa-liste-tik li::before { content: "✓"; position: absolute; left: 0; color: var(--nsa-yesil); font-weight: 700; }

/* Sınav ekranı */
.nsa-sinav-baslik { font-size: 1.25rem !important; margin: 4px 0 10px !important; }
.nsa-kayit-durum { font-size: .82rem; color: var(--nsa-soluk); }
.nsa-kd-kaydedildi { color: var(--nsa-yesil); }
.nsa-kd-hata { color: var(--nsa-kirmizi); font-weight: 600; }
.nsa-sekmeler { display: flex; gap: 4px; border-bottom: 2px solid var(--nsa-kenar); margin-bottom: 14px; overflow-x: auto; scrollbar-width: thin; }
.nsa-kok .nsa-sekme { font: inherit; font-size: .93rem; font-weight: 600; padding: 10px 14px; border: 0; background: none; color: var(--nsa-soluk); border-bottom: 3px solid transparent; margin-bottom: -2px; cursor: pointer; white-space: nowrap; border-radius: 0; min-height: 44px; }
.nsa-kok .nsa-sekme:hover { color: var(--nsa-lacivert); background: none; }
.nsa-kok .nsa-sekme.nsa-aktif { color: var(--nsa-lacivert); border-bottom-color: var(--nsa-mavi); }
.nsa-toplam-puan { font-weight: 700; font-size: .88rem; padding: 4px 10px; border-radius: 999px; margin-right: 6px; }
.nsa-tamam { background: var(--nsa-yesil-acik); color: var(--nsa-yesil); }
.nsa-uyari { background: var(--nsa-turuncu-acik); color: var(--nsa-turuncu); }

/* Tablolar */
.nsa-tablo-kap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 6px 0 8px; border: 1px solid #edf0f4; border-radius: 10px; }
.nsa-kok table.nsa-tablo { width: 100%; border-collapse: collapse; margin: 0; font-size: .9rem; background: #fff; border: 0; }
.nsa-kok .nsa-tablo th, .nsa-kok .nsa-tablo td { border: 0; border-bottom: 1px solid #edf0f4; padding: 7px 8px; text-align: center; vertical-align: middle; }
.nsa-kok .nsa-tablo th { background: var(--nsa-zemin); color: #344054; font-weight: 700; font-size: .82rem; white-space: nowrap; }
.nsa-kok .nsa-tablo th small { display: block; font-weight: 400; color: var(--nsa-soluk); }
.nsa-kok .nsa-kz-hucre { text-align: left; min-width: 200px; }
.nsa-sira { color: var(--nsa-soluk); font-variant-numeric: tabular-nums; }
.nsa-kucuk-tablo { max-width: 100%; }
.nsa-soru-tablo td:nth-child(2) { width: 110px; }
.nsa-soru-tablo td:nth-child(4) { width: 90px; }
.nsa-ogr-tablo td:nth-child(2) { width: 120px; }
.nsa-ogr-tablo td:nth-child(4) { width: 50px; }
.nsa-dusuk td { background: #fff7f6; }
.nsa-girmedi td { color: #98a2b3; background: #fafbfc; }
.nsa-vurgu-satir td { background: #fbfcfe; }
.nsa-yapistir { margin-bottom: 10px; }
.nsa-yapistir summary { cursor: pointer; font-weight: 600; color: var(--nsa-mavi); margin-bottom: 6px; }
.nsa-yapistir textarea { margin-bottom: 8px; }

/* Puan tablosu */
.nsa-puan-kap { max-height: 70vh; }
.nsa-kok .nsa-puan-tablo th, .nsa-kok .nsa-puan-tablo td { padding: 3px 4px; }
.nsa-kok .nsa-puan-tablo thead th { position: sticky; top: 0; z-index: 2; }
.nsa-kok .nsa-puan-tablo .nsa-yapiskan { position: sticky; left: 0; z-index: 1; background: #fff; }
.nsa-kok .nsa-puan-tablo th.nsa-yapiskan { z-index: 3; background: var(--nsa-zemin); }
.nsa-kok .nsa-puan-tablo .nsa-ad-sutun { left: 52px; text-align: left; min-width: 150px; max-width: 220px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-shadow: 1px 0 0 #edf0f4; }
.nsa-kok .nsa-puan-tablo td.nsa-sira { min-width: 52px; }
.nsa-kok .nsa-h { width: 54px; height: 36px; text-align: center; font: inherit; font-size: .95rem; border: 1px solid #d5dbe3; border-radius: 6px; padding: 2px; background: #fff; margin: 0; font-variant-numeric: tabular-nums; }
.nsa-kok .nsa-h:disabled { background: #f2f4f7; }
.nsa-satir-toplam { font-weight: 700; min-width: 58px; font-variant-numeric: tabular-nums; }
.nsa-ort-satir td { font-weight: 700; color: var(--nsa-mavi); background: var(--nsa-mavi-acik) !important; }
.nsa-girmedi-kutu { width: 18px; height: 18px; }
.nsa-enter { display: flex; align-items: center; gap: 6px; font-size: .85rem; color: var(--nsa-soluk); }

/* Analiz */
.nsa-sayaclar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.nsa-sayac { background: #fff; border: 1px solid var(--nsa-kenar); border-radius: 12px; padding: 14px 16px; box-shadow: var(--nsa-golge); display: flex; flex-direction: column; gap: 2px; }
.nsa-sayac span { font-size: .82rem; color: var(--nsa-soluk); font-weight: 600; }
.nsa-sayac b { font-size: 1.6rem; color: var(--nsa-lacivert); line-height: 1.2; font-variant-numeric: tabular-nums; }
.nsa-sayac small { color: var(--nsa-soluk); font-size: .8rem; }
.nsa-etiket { display: inline-block; font-size: .76rem; font-weight: 700; padding: 2px 8px; border-radius: 999px; white-space: nowrap; }
.nsa-d-iyi { background: var(--nsa-yesil-acik); color: var(--nsa-yesil); }
.nsa-d-orta { background: var(--nsa-turuncu-acik); color: var(--nsa-turuncu); }
.nsa-d-zayif { background: var(--nsa-kirmizi-acik); color: var(--nsa-kirmizi); }
.nsa-d-yok { background: #f2f4f7; color: #667085; }
.nsa-kh-iyi { background: var(--nsa-yesil-acik); color: var(--nsa-yesil); font-weight: 700; }
.nsa-kh-orta { background: var(--nsa-turuncu-acik); color: var(--nsa-turuncu); font-weight: 700; }
.nsa-kh-zayif { background: var(--nsa-kirmizi-acik); color: var(--nsa-kirmizi); font-weight: 700; }
.nsa-cubuk { display: inline-block; width: 70px; height: 8px; background: #edf0f4; border-radius: 99px; overflow: hidden; vertical-align: middle; margin-right: 6px; }
.nsa-cubuk i { display: block; height: 100%; border-radius: 99px; }
.nsa-c-iyi { background: var(--nsa-yesil); }
.nsa-c-orta { background: #d99a2b; }
.nsa-c-zayif { background: var(--nsa-kirmizi); }
.nsa-c-yok { background: #98a2b3; }
.nsa-grafik { display: block; margin: 4px auto 8px; }
.nsa-lejant { font-size: .82rem; color: var(--nsa-soluk); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.nsa-not { background: var(--nsa-mavi-acik); border-left: 4px solid var(--nsa-mavi); padding: 10px 14px; border-radius: 8px; margin-bottom: 12px; font-size: .9rem; }
.nsa-not-uyari { background: var(--nsa-turuncu-acik); border-left-color: #d99a2b; }
.nsa-aciklama { margin-top: 8px; font-size: .88rem; }
.nsa-aciklama summary { cursor: pointer; color: var(--nsa-mavi); font-weight: 600; }
.nsa-telafi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nsa-telafi-kart { border: 1px solid var(--nsa-kenar); border-radius: 10px; padding: 10px 12px; font-size: .9rem; }
.nsa-telafi-kart h4 { font-size: .95rem; margin-bottom: 6px; }
.nsa-telafi-kart p { margin: 0 0 4px; }

/* Rapor */
.nsa-rapor-duzen { display: grid; grid-template-columns: minmax(280px, 380px) minmax(0, 1fr); gap: 14px; align-items: start; }
.nsa-rapor-form label { margin-bottom: 10px; }
.nsa-rapor-dugmeler { display: flex; flex-direction: column; gap: 8px; margin: 14px 0 6px; }
.nsa-onizleme { width: 100%; height: 820px; border: 1px solid var(--nsa-kenar); border-radius: 8px; background: #eef1f5; }

/* Modal ve bildirim */
.nsa-modal-kap { position: fixed; inset: 0; background: rgba(13, 34, 56, .45); display: flex; align-items: center; justify-content: center; padding: 16px; z-index: 100000; }
.nsa-modal-kap[hidden] { display: none; }
.nsa-modal { background: #fff; border-radius: 14px; padding: 20px 22px; width: 100%; max-width: 480px; box-shadow: 0 20px 50px rgba(0, 0, 0, .25); max-height: 90vh; overflow: auto; }
.nsa-modal-dugmeler { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.nsa-bildirim { position: fixed; left: 50%; bottom: 20px; transform: translate(-50%, 30px); background: var(--nsa-lacivert); color: #fff; padding: 10px 18px; border-radius: 10px; font-size: .92rem; opacity: 0; pointer-events: none; transition: all .2s; z-index: 100001; max-width: calc(100% - 32px); }
.nsa-bildirim.nsa-goster { opacity: 1; transform: translate(-50%, 0); }
.nsa-bildirim-hata { background: var(--nsa-kirmizi); }

/* Duyarlı düzen */
@media (max-width: 900px) {
	.nsa-izgara-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nsa-sayaclar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nsa-iki-sutun, .nsa-rapor-duzen, .nsa-telafi { grid-template-columns: minmax(0, 1fr); }
	.nsa-onizleme { height: 600px; }
}
@media (max-width: 560px) {
	.nsa-kok { font-size: 14px; }
	.nsa-ust { padding: 14px; border-radius: 12px; }
	.nsa-ust .nsa-baslik { font-size: 1.2rem; }
	.nsa-izgara-4 { grid-template-columns: minmax(0, 1fr); }
	.nsa-kart { padding: 14px 12px; }
	.nsa-sayac b { font-size: 1.3rem; }
	.nsa-kok .nsa-puan-tablo .nsa-ad-sutun { min-width: 110px; max-width: 130px; }
	.nsa-alt-dugmeler .nsa-btn { flex: 1; }
}

/* Blok temalarda dar içerik sütununu genişlet */
.is-layout-constrained > .nsa-kok,
.entry-content > .nsa-kok { max-width: 1180px; margin-left: auto !important; margin-right: auto !important; }
.nsa-kok .nsa-baslik, .nsa-kok h3, .nsa-kok h4 { font-family: inherit; }
.nsa-kok .nsa-tablo td.nsa-kz-hucre { text-align: left; }
.nsa-kok .nsa-tablo td.nsa-ad { text-align: left; white-space: nowrap; }
.nsa-kok .nsa-girdi { font-weight: 400; }
.nsa-ortala { align-items: center; }

/* 1.1: dosyadan yükleme, e-Okul listesi */
.nsa-dosya-yukle { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 10px; padding: 12px; border: 1px dashed #bcd6ee; background: var(--nsa-mavi-acik); border-radius: 10px; }
.nsa-kok .nsa-secim { display: flex; flex-direction: row; align-items: center; gap: 8px; font-weight: 400; margin: 8px 0 0; font-size: .92rem; }
.nsa-kok .nsa-secim input { width: 18px; height: 18px; margin: 0; }
.nsa-secim-grup { border: 1px solid var(--nsa-kenar); border-radius: 8px; padding: 6px 12px 10px; margin: 10px 0 0; }
.nsa-secim-grup legend { font-size: .85rem; font-weight: 600; padding: 0 4px; }
.nsa-eokul-kap { max-height: 50vh; overflow-y: auto; }
.nsa-modal .nsa-tablo-kap { margin-top: 8px; }

/* 1.3: gelişim raporu ve zümre */
.nsa-kod { font-size: 2.1rem; font-weight: 800; letter-spacing: .28em; text-align: center; color: var(--nsa-lacivert); background: var(--nsa-mavi-acik); border: 2px dashed #9cc3e6; border-radius: 12px; padding: 12px 8px; margin: 10px 0 !important; font-variant-numeric: tabular-nums; }
.nsa-kod-kucuk { letter-spacing: .15em; }
.nsa-kok .nsa-kod-girdi { text-transform: uppercase; letter-spacing: .2em; font-size: 1.3rem; text-align: center; font-weight: 700; }
.nsa-d-ortak { background: #efe9fb; color: #5b3aa5; }
.nsa-zumre-serit { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; }
.nsa-kok .nsa-rapor-form .nsa-alt-dugmeler { margin: 6px 0 0; }
