/* Erdem Koleji kurumsal renkleri: logo laciverti + site bordosu */
:root {
  --ek-lacivert: #00144D;
  --ek-lacivert-2: #0B2266;
  --ek-lacivert-acik: #E8ECF6;
  --ek-bordo: #AE152D;
  --ek-bordo-koyu: #8C1023;
  --ek-bordo-acik: #FBEBEE;
  --ek-zemin: #F4F5F9;
  --ek-kenar: #E2E6EF;
  --ek-yazi: #1A2033;
  --ek-soluk: #6B7287;
  --bs-body-font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  --bs-body-color: var(--ek-yazi);
  --bs-primary: #0B2266;
  --bs-primary-rgb: 11, 34, 102;
  --bs-link-color: #0B2266;
  --bs-link-color-rgb: 11, 34, 102;
  --bs-link-hover-color: var(--ek-bordo);
  --bs-link-hover-color-rgb: 174, 21, 45;
  --bs-border-radius: .6rem;
}
body { background: var(--ek-zemin); font-size: .925rem; -webkit-font-smoothing: antialiased; }
h1, h2, h3, .fw-bold { letter-spacing: -.01em; }
a { text-decoration: none; }
.text-soluk { color: var(--ek-soluk) !important; }
.bg-ek { background: var(--ek-lacivert) !important; }

/* Butonlar */
.btn { font-weight: 600; border-radius: .55rem; }
.btn-ek { background: var(--ek-bordo); border-color: var(--ek-bordo); color: #fff; }
.btn-ek:hover, .btn-ek:focus { background: var(--ek-bordo-koyu); border-color: var(--ek-bordo-koyu); color: #fff; }
.btn-ek-2 { background: var(--ek-lacivert); border-color: var(--ek-lacivert); color: #fff; }
.btn-ek-2:hover { background: var(--ek-lacivert-2); color: #fff; }
.btn-light { background: #fff; border-color: var(--ek-kenar); }
.form-control, .form-select { border-color: var(--ek-kenar); border-radius: .55rem; }
.form-control:focus, .form-select:focus { border-color: #7d8bb8; box-shadow: 0 0 0 .2rem rgba(0, 20, 77, .12); }
.form-label { font-weight: 600; font-size: .82rem; color: #3b4258; margin-bottom: .3rem; }
.form-check-input:checked { background-color: var(--ek-bordo); border-color: var(--ek-bordo); }
.nav-pills .nav-link { color: var(--ek-lacivert); font-weight: 600; border-radius: 2rem; padding: .4rem 1rem; }
.nav-pills .nav-link.active { background: var(--ek-lacivert); }

/* Yan menü */
@media (min-width: 992px) {
  .yan-menu { width: 260px; height: 100vh; position: sticky; top: 0; display: flex; flex-direction: column; flex-shrink: 0; }
}
.yan-menu { background: linear-gradient(180deg, var(--ek-lacivert) 0%, #061A57 100%) !important; color: #fff; --bs-offcanvas-bg: var(--ek-lacivert); }
.yan-menu .logo { padding: 1.4rem 1.4rem 1.1rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.yan-menu .logo img { width: 180px; display: block; }
.yan-menu .menu { overflow-y: auto; flex: 1; padding: .6rem .7rem; }
.yan-menu .grup { font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.45); font-weight: 700; padding: .9rem .75rem .35rem; }
.yan-menu .nav-link { color: rgba(255,255,255,.78); border-radius: .5rem; padding: .5rem .75rem; font-weight: 500; position: relative; display: flex; align-items: center; gap: .65rem; }
.yan-menu .nav-link i { font-size: 1.05rem; opacity: .85; }
.yan-menu .nav-link:hover { background: rgba(255,255,255,.07); color: #fff; }
.yan-menu .nav-link.active { background: rgba(255,255,255,.12); color: #fff; font-weight: 600; }
.yan-menu .nav-link.active::before { content: ""; position: absolute; left: -.7rem; top: .45rem; bottom: .45rem; width: 4px; border-radius: 0 4px 4px 0; background: var(--ek-bordo); }
.yan-menu .nav-link .sayac { margin-left: auto; background: var(--ek-bordo); color: #fff; font-size: .7rem; border-radius: 1rem; padding: .05rem .5rem; font-weight: 700; }
.yan-menu .kullanici { padding: 1rem 1.2rem; border-top: 1px solid rgba(255,255,255,.1); display: flex; align-items: center; gap: .7rem; }
.avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--ek-bordo); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: .85rem; flex-shrink: 0; }
.avatar.kucuk { width: 28px; height: 28px; font-size: .7rem; }
.avatar.lacivert { background: var(--ek-lacivert-2); }
.mobil-ust { background: var(--ek-lacivert); }
.mobil-ust img { height: 26px; }
.icerik { min-width: 0; max-width: 1500px; }

/* Kartlar */
.kart { background: #fff; border: 1px solid var(--ek-kenar); border-radius: .9rem; }
.kart-baslik { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .8rem; }
.kart-baslik h2 { font-size: .95rem; font-weight: 700; margin: 0; color: var(--ek-lacivert); }
.stat { position: relative; overflow: hidden; }
.stat .sayi { font-size: 1.9rem; font-weight: 700; line-height: 1.1; color: var(--ek-lacivert); }
.stat .etiket { color: var(--ek-soluk); font-size: .8rem; font-weight: 500; }
.stat .ikon { width: 42px; height: 42px; border-radius: .7rem; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; background: var(--ek-lacivert-acik); color: var(--ek-lacivert); }
.stat.vurgu .ikon { background: var(--ek-bordo-acik); color: var(--ek-bordo); }
.stat.vurgu .sayi { color: var(--ek-bordo); }
a .stat:hover { border-color: #b9c2da; }

.sayfa-baslik { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; align-items: flex-end; justify-content: space-between; margin-bottom: 1.4rem; }
.sayfa-baslik h1 { font-size: 1.5rem; margin: 0; font-weight: 700; color: var(--ek-lacivert); display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.sayfa-baslik .alt { color: var(--ek-soluk); font-size: .875rem; margin-top: .3rem; max-width: 760px; }
.sayfa-baslik .ust-bilgi { font-size: .78rem; color: var(--ek-soluk); margin-bottom: .2rem; font-weight: 500; }
.sayfa-baslik .baslik-rozet { display: inline-flex; gap: .35rem; align-items: center; font-size: 1rem; }
.sayfa-islemler { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.min-w-0 { min-width: 0; }

/* Tablolar */
.table { --bs-table-bg: transparent; margin: 0; }
.table thead th { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--ek-soluk); font-weight: 700; background: #F8F9FC; border-bottom-color: var(--ek-kenar); padding-top: .7rem; padding-bottom: .7rem; }
.table td { vertical-align: middle; border-color: #EEF0F5; }
.table-hover tbody tr:hover > * { --bs-table-bg-state: #F6F8FD; }

/* Durum rozetleri (renk + metin; renk tek başına anlam taşımaz) */
.rz { display: inline-flex; align-items: center; gap: .3rem; padding: .2rem .6rem; border-radius: 1rem; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.rz::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.rz-mavi { background: #E7EDFB; color: #1D3F99; }
.rz-yesil { background: #E3F4EA; color: #17693A; }
.rz-turuncu { background: #FDF0DD; color: #95560A; }
.rz-kirmizi { background: var(--ek-bordo-acik); color: var(--ek-bordo); }
.rz-gri { background: #EEF0F4; color: #555D70; }
.rz-mor { background: #EFE9FA; color: #5B3A9C; }
.etiket-kucuk { display: inline-block; font-size: .7rem; background: #F1F3F8; color: #475069; border-radius: .4rem; padding: .1rem .45rem; margin: 0 .2rem .2rem 0; font-weight: 600; }

/* Giriş ekranı */
.giris { min-height: 100vh; display: grid; grid-template-columns: 1.1fr 1fr; }
.giris-sol { background: linear-gradient(150deg, var(--ek-lacivert) 0%, #0B2266 60%, #2A1240 100%); color: #fff; padding: 3.5rem; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.giris-sol::after { content: ""; position: absolute; right: -120px; bottom: -120px; width: 380px; height: 380px; border-radius: 50%; border: 60px solid rgba(174, 21, 45, .35); }
.giris-sol img { width: 260px; }
.giris-sol h2 { font-family: "Playfair Display", Georgia, serif; font-size: 2.3rem; font-weight: 600; line-height: 1.25; max-width: 460px; }
.giris-sol .moduller { display: flex; flex-direction: column; gap: .8rem; max-width: 420px; position: relative; z-index: 1; }
.giris-sol .moduller div { display: flex; gap: .8rem; align-items: center; color: rgba(255,255,255,.85); }
.giris-sol .moduller i { width: 36px; height: 36px; border-radius: .6rem; background: rgba(255,255,255,.1); display: inline-flex; align-items: center; justify-content: center; }
.giris-sag { display: flex; align-items: center; justify-content: center; padding: 2rem; background: #fff; }
.giris-form { width: 100%; max-width: 380px; }
@media (max-width: 991px) { .giris { grid-template-columns: 1fr; } .giris-sol { padding: 2rem; } .giris-sol h2, .giris-sol .moduller { display: none; } }

/* Danışma paneli */
.ziyaretci-kart { border-left: 4px solid #E0A23B; }
.ziyaretci-kart.icerde { border-left-color: #1F8A4C; }
.ziyaretci-kart.yeni-gelen { animation: parla 1.2s ease-in-out 4; }
@keyframes parla { 50% { box-shadow: 0 0 0 4px rgba(174, 21, 45, .25); } }
.canli-nokta { width: 9px; height: 9px; border-radius: 50%; background: #1F8A4C; display: inline-block; animation: nabiz 1.5s infinite; }
@keyframes nabiz { 50% { opacity: .3; } }

/* Bina haritası */
.bina { display: grid; grid-template-columns: 90px repeat(3, 1fr); gap: 6px; }
.bina .hucre { border-radius: .7rem; padding: .8rem; min-height: 86px; color: inherit; display: block; background: #eef2f7; border: 1px solid transparent; }
.bina .hucre:hover { border-color: var(--ek-lacivert); }
.bina .kat-etiket { display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--ek-lacivert); }
.bina .bolum-etiket { text-align: center; font-weight: 700; color: var(--ek-lacivert); }
.bina .hucre .n { font-size: 1.6rem; font-weight: 700; }
.isi-0 { background: #EAF5EE !important; }
.isi-1 { background: #FCEFD3 !important; }
.isi-2 { background: #F8D2B4 !important; }
.isi-3 { background: #F1B3BD !important; }

/* Yatay çubuk grafik (tek seri, lacivert) */
.cubuk-satir { display: grid; grid-template-columns: minmax(110px, 38%) 1fr auto; align-items: center; gap: .6rem; padding: .28rem 0; font-size: .84rem; }
.cubuk-satir .iz { background: #EEF0F5; border-radius: 4px; height: 12px; overflow: hidden; }
.cubuk-satir .dolu { height: 100%; background: var(--ek-lacivert-2); border-radius: 0 4px 4px 0; min-width: 2px; }
.cubuk-satir.vurgu .dolu { background: var(--ek-bordo); }
.cubuk-satir .deger { font-weight: 700; min-width: 2.5rem; text-align: right; font-variant-numeric: tabular-nums; }
.cubuk-satir:hover .dolu { filter: brightness(1.25); }
.cubuk { height: 10px; border-radius: 0 4px 4px 0; background: var(--ek-lacivert-2); }

/* Dikey çubuk (aylık eğilim) */
.dikey { display: flex; align-items: flex-end; gap: 6px; height: 170px; padding-top: 1.2rem; border-bottom: 1px solid var(--ek-kenar); }
.dikey .sutun { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; position: relative; }
.dikey .sutun .b { width: 100%; max-width: 38px; background: var(--ek-lacivert-2); border-radius: 4px 4px 0 0; min-height: 2px; position: relative; }
.dikey .sutun .b .k { position: absolute; bottom: 0; left: 0; right: 0; background: var(--ek-bordo); border-radius: 0; }
.dikey .sutun:hover .b { filter: brightness(1.25); }
.dikey .sutun .d { position: absolute; top: -1.15rem; font-size: .72rem; font-weight: 700; }
.dikey-etiket { display: flex; gap: 6px; }
.dikey-etiket span { flex: 1; text-align: center; font-size: .7rem; color: var(--ek-soluk); }
.lejant { display: flex; gap: 1rem; font-size: .76rem; color: var(--ek-soluk); }
.lejant i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: .3rem; vertical-align: -1px; }

/* Huni */
.huni .adim { display: grid; grid-template-columns: 150px 1fr 90px; gap: .75rem; align-items: center; margin-bottom: 6px; font-size: .85rem; }
.huni .adim .bar { height: 30px; background: var(--ek-lacivert-2); border-radius: 0 6px 6px 0; display: flex; align-items: center; padding-left: .6rem; color: #fff; font-weight: 700; font-size: .8rem; min-width: 34px; }
.huni .adim:last-child .bar { background: var(--ek-bordo); }
.huni .oran { color: var(--ek-soluk); font-size: .75rem; }

/* İlgi şeridi (sıralı: sıcak → soğuk, tek ton) */
.ilgi-serit { display: flex; height: 14px; border-radius: 7px; overflow: hidden; gap: 2px; background: #EEF0F5; }
.ilgi-serit .sicak { background: #AE152D; }
.ilgi-serit .ilik { background: #D9707F; }
.ilgi-serit .soguk { background: #F0C3CA; }

/* Kanban (kayıt hattı) */
.kanban { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(230px, 1fr); gap: .8rem; overflow-x: auto; padding-bottom: .5rem; }
.kanban .sutun { background: #EDEFF5; border-radius: .8rem; padding: .6rem; }
.kanban .sutun h3 { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #4A5168; display: flex; justify-content: space-between; margin: .2rem .3rem .6rem; }
.kanban .aday { background: #fff; border: 1px solid var(--ek-kenar); border-radius: .6rem; padding: .6rem .7rem; margin-bottom: .45rem; display: block; color: inherit; font-size: .82rem; }
.kanban .aday:hover { border-color: #9AA6C8; }
.kanban .aday .ad { font-weight: 700; color: var(--ek-yazi); }

.foto-kucuk { width: 60px; height: 60px; object-fit: cover; border-radius: .5rem; }
.foto-galeri img { width: 150px; height: 150px; object-fit: cover; border-radius: .6rem; cursor: zoom-in; }

/* Zaman çizgisi */
.zaman-cizgisi { border-left: 2px solid var(--ek-kenar); padding-left: 1.1rem; margin-left: .3rem; }
.zaman-cizgisi .olay { position: relative; margin-bottom: 1.1rem; }
.zaman-cizgisi .olay::before { content: ""; position: absolute; left: -1.53rem; top: .3rem; width: .75rem; height: .75rem; border-radius: 50%; background: #fff; border: 3px solid var(--ek-lacivert-2); }
.zaman-cizgisi .olay.sistem::before { border-color: #B5BCCD; }
.zaman-cizgisi .olay.sistem { color: var(--ek-soluk); font-size: .82rem; }
.gorusme-kutu { background: #F8F9FC; border: 1px solid var(--ek-kenar); border-radius: .7rem; padding: .7rem .85rem; margin-top: .35rem; }

.konu-sec { display: flex; flex-wrap: wrap; gap: .35rem; }
.konu-sec input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.konu-sec label { border: 1px solid var(--ek-kenar); border-radius: 2rem; padding: .25rem .7rem; font-size: .78rem; cursor: pointer; background: #fff; font-weight: 500; user-select: none; }
.konu-sec input:checked + label { background: var(--ek-lacivert); border-color: var(--ek-lacivert); color: #fff; }
.sonuc-sec { display: grid; grid-template-columns: repeat(4, 1fr); gap: .35rem; }
.sonuc-sec input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.sonuc-sec label { border: 1px solid var(--ek-kenar); border-radius: .55rem; padding: .45rem .3rem; text-align: center; font-size: .8rem; font-weight: 600; cursor: pointer; background: #fff; }
.sonuc-sec input:checked + label { border-color: var(--ek-bordo); background: var(--ek-bordo-acik); color: var(--ek-bordo); }

/* Başvuru sayfası (herkese açık) */
.basvuru-ust { background: linear-gradient(150deg, var(--ek-lacivert) 0%, #0B2266 65%, #2A1240 100%); color: #fff; }
.basvuru-ust h1 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 600; }
.basvuru-ust .lead { color: rgba(255,255,255,.8); max-width: 640px; font-size: 1.05rem; }
.basvuru-govde { margin-top: -2.2rem; }
.form-bolum { font-size: .95rem; font-weight: 700; color: var(--ek-lacivert); margin: 1.6rem 0 .8rem; padding-bottom: .4rem; border-bottom: 1px solid var(--ek-kenar); }
.form-bolum:first-of-type { margin-top: 0; }
.tuzak { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.pozisyon-kart { border: 1px solid var(--ek-kenar); border-radius: .7rem; padding: .7rem .85rem; cursor: pointer; transition: border-color .15s; }
.pozisyon-kart:hover { border-color: var(--ek-bordo); }
.dosya-alan { display: flex; gap: 1rem; align-items: center; border: 1.5px dashed #C6CDDF; border-radius: .8rem; padding: 1rem; background: #FAFBFD; color: var(--ek-lacivert); }
.dosya-alan > div { flex: 1; }

/* İK */
.yildiz { color: #D6DAE4; font-size: 1rem; letter-spacing: 1px; white-space: nowrap; }
.yildiz .dolu { color: #E0A23B; }
.yildiz-sec { display: inline-flex; flex-direction: row-reverse; gap: 2px; }
.yildiz-sec input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.yildiz-sec label { font-size: 1.5rem; color: #D6DAE4; cursor: pointer; line-height: 1; }
.yildiz-sec input:checked ~ label, .yildiz-sec label:hover, .yildiz-sec label:hover ~ label { color: #E0A23B; }
.hizli-ara { position: relative; }
.hizli-ara i { position: absolute; left: .9rem; top: 50%; transform: translateY(-50%); color: var(--ek-soluk); }
.hizli-ara input { padding-left: 2.4rem; border-radius: 2rem; height: 46px; font-size: .95rem; }
.cv-onizleme { width: 100%; height: 75vh; border: 1px solid var(--ek-kenar); border-radius: .7rem; background: #fff; }
.filtre-ozet .badge { font-weight: 600; }
.vurgu-metin mark { background: #FDF0DD; padding: 0 .1rem; border-radius: 3px; }


/* ===== v4: ortak arayüz bileşenleri ===== */
.yan-menu .menu-alt { padding: .9rem 1.4rem; font-size: .7rem; color: rgba(255,255,255,.35); border-top: 1px solid rgba(255,255,255,.08); letter-spacing: .03em; }
.yan-menu .menu { padding-bottom: 1rem; }
.yan-menu .nav-link { padding: .45rem .75rem; font-size: .88rem; }
.yan-menu .grup { padding-top: 1rem; }

/* Üst çubuk */
.ust-cubuk { position: sticky; top: 0; z-index: 1020; height: 60px; display: flex; align-items: center; gap: .75rem; padding: 0 1.5rem; background: rgba(255,255,255,.92); backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--ek-kenar); }
@media (max-width: 991px) { .ust-cubuk { padding: 0 .75rem; } }
.sayfa-yolu { font-size: .84rem; color: var(--ek-soluk); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sayfa-yolu a { color: var(--ek-soluk); }
.sayfa-yolu a:hover { color: var(--ek-lacivert); }
.sayfa-yolu span:last-child { color: var(--ek-yazi); font-weight: 600; }
.sayfa-yolu .ayrac { font-size: .65rem; margin: 0 .45rem; opacity: .6; }
.btn-ikon { border: 0; background: transparent; width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: .55rem; font-size: 1.35rem; color: var(--ek-lacivert); }
.btn-ikon:hover { background: var(--ek-lacivert-acik); }
.arama-tetik { display: flex; align-items: center; gap: .55rem; height: 38px; padding: 0 .75rem; border: 1px solid var(--ek-kenar); border-radius: .6rem; background: #F7F8FB; color: var(--ek-soluk); font-size: .85rem; min-width: 38px; }
@media (min-width: 768px) { .arama-tetik { min-width: 280px; } }
.arama-tetik:hover { border-color: #B9C2DA; background: #fff; }
.arama-tetik kbd, .arama-kutu kbd, .arama-ipucu kbd { margin-left: auto; background: #fff; color: var(--ek-soluk); border: 1px solid var(--ek-kenar); box-shadow: none; font-size: .7rem; padding: .1rem .35rem; font-family: inherit; }

/* Genel arama penceresi */
.arama-kutu { border: 0; border-radius: 1rem; overflow: hidden; box-shadow: 0 24px 64px rgba(0,20,77,.25); }
.arama-giris { display: flex; align-items: center; gap: .75rem; padding: .9rem 1.2rem; border-bottom: 1px solid var(--ek-kenar); }
.arama-giris i { font-size: 1.15rem; color: var(--ek-soluk); }
.arama-giris input { border: 0; outline: 0; flex: 1; font-size: 1.05rem; background: transparent; }
.arama-ipucu { padding: 1.4rem 1.2rem; color: var(--ek-soluk); font-size: .88rem; text-align: center; }
.arama-grup { padding: .7rem 1.2rem .3rem; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--ek-soluk); }
.arama-oge { display: flex; align-items: center; gap: .85rem; padding: .55rem 1.2rem; color: var(--ek-yazi); }
.arama-oge > i:first-child { width: 34px; height: 34px; border-radius: .55rem; background: var(--ek-lacivert-acik); color: var(--ek-lacivert); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.arama-oge .git { opacity: 0; color: var(--ek-soluk); }
.arama-oge.secili, .arama-oge:hover { background: #F2F4FA; color: var(--ek-yazi); }
.arama-oge.secili .git { opacity: 1; }

/* Bildirimler */
#tostlar { z-index: 1090; }
.toast { border: 0; border-radius: .7rem; box-shadow: 0 10px 30px rgba(0,20,77,.18); font-weight: 500; min-width: 300px; }
.tost-success { background: #17693A; color: #fff; }
.tost-danger { background: var(--ek-bordo); color: #fff; }
.tost-warning, .tost-info { background: var(--ek-lacivert); color: #fff; }
.toast .btn-close { filter: invert(1) grayscale(1) brightness(2); }
.onay-ikon { width: 56px; height: 56px; border-radius: 50%; background: var(--ek-bordo-acik); color: var(--ek-bordo); display: inline-flex; align-items: center; justify-content: center; font-size: 1.5rem; }
.modal-content { border: 0; border-radius: 1rem; }

/* Filtre çubuğu */
.filtre-kart { background: #fff; border: 1px solid var(--ek-kenar); border-radius: .9rem; padding: .9rem 1rem; margin-bottom: 1rem; }
.filtre-kart .form-label { font-size: .74rem; color: var(--ek-soluk); text-transform: uppercase; letter-spacing: .04em; margin-bottom: .2rem; }
.aktif-filtreler { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: -.3rem 0 1rem; }
.filtre-etiket { border: 1px solid #C9D1E6; background: var(--ek-lacivert-acik); color: var(--ek-lacivert); border-radius: 2rem; padding: .18rem .35rem .18rem .7rem; font-size: .78rem; font-weight: 600; display: inline-flex; align-items: center; gap: .15rem; }
.filtre-etiket:hover { border-color: var(--ek-bordo); color: var(--ek-bordo); background: var(--ek-bordo-acik); }
.filtre-etiket i { font-size: 1rem; }

/* Tablo kartı ve sayfalama */
.tablo-kart { background: #fff; border: 1px solid var(--ek-kenar); border-radius: .9rem; overflow: hidden; }
.tablo-kart .tablo-kaydir { overflow-x: auto; }
.tablo-kart thead th { position: sticky; top: 0; z-index: 1; white-space: nowrap; }
.tablo-kart tbody tr { cursor: default; }
.tablo-kart tbody tr[data-href] { cursor: pointer; }
.tablo-ust { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: space-between; padding: .75rem 1rem; border-bottom: 1px solid var(--ek-kenar); font-size: .85rem; color: var(--ek-soluk); }
.sayfalama { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: space-between; padding: .75rem 1rem; border-top: 1px solid var(--ek-kenar); }
.pagination { --bs-pagination-color: var(--ek-lacivert); --bs-pagination-active-bg: var(--ek-lacivert); --bs-pagination-active-border-color: var(--ek-lacivert); --bs-pagination-border-color: var(--ek-kenar); --bs-pagination-hover-color: var(--ek-lacivert); --bs-pagination-focus-box-shadow: 0 0 0 .2rem rgba(0,20,77,.12); }

/* Boş durum */
.bos-durum { text-align: center; padding: 2.5rem 1rem; color: var(--ek-yazi); }
.bos-durum .bos-ikon { width: 56px; height: 56px; border-radius: 50%; background: var(--ek-lacivert-acik); color: var(--ek-lacivert); display: inline-flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: .75rem; }

.foto-yok { display: inline-flex !important; align-items: center; justify-content: center; background: #EEF0F5; color: #A3AAC0; border-radius: .5rem; font-size: 1.2rem; }

/* Form düzeni */
.form-kart { background: #fff; border: 1px solid var(--ek-kenar); border-radius: .9rem; }
.form-kart .form-govde { padding: 1.5rem; }
.form-kart .form-alt { padding: 1rem 1.5rem; border-top: 1px solid var(--ek-kenar); background: #FAFBFD; border-radius: 0 0 .9rem .9rem; display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.form-yardim { font-size: .78rem; color: var(--ek-soluk); margin-top: .25rem; }
.zorunlu-not { font-size: .78rem; color: var(--ek-soluk); }

/* Kat / bölüm seçici (arıza bildir) */
.konum-sec { display: grid; grid-template-columns: 72px repeat(3, 1fr); gap: 6px; max-width: 520px; }
.konum-sec .kat { display: flex; align-items: center; justify-content: center; font-size: .78rem; font-weight: 700; color: var(--ek-lacivert); }
.konum-sec .bas { text-align: center; font-size: .74rem; font-weight: 700; color: var(--ek-soluk); text-transform: uppercase; }
.konum-sec input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.konum-sec label { border: 1px solid var(--ek-kenar); border-radius: .5rem; padding: .55rem 0; text-align: center; cursor: pointer; font-weight: 600; font-size: .85rem; background: #fff; transition: all .12s; }
.konum-sec label:hover { border-color: var(--ek-lacivert-2); }
.konum-sec input:checked + label { background: var(--ek-lacivert); border-color: var(--ek-lacivert); color: #fff; }

/* Ana sayfa */
.yapilacak { display: flex; align-items: center; gap: .9rem; padding: .85rem 1rem; border-radius: .75rem; border: 1px solid var(--ek-kenar); background: #fff; color: var(--ek-yazi); height: 100%; }
.yapilacak:hover { border-color: #9AA6C8; color: var(--ek-yazi); }
.yapilacak .n { font-size: 1.6rem; font-weight: 700; line-height: 1; min-width: 2.2rem; color: var(--ek-lacivert); }
.yapilacak.acil { border-left: 4px solid var(--ek-bordo); }
.yapilacak.acil .n { color: var(--ek-bordo); }
.yapilacak.tamam { opacity: .7; }
.yapilacak.tamam .n { color: #17693A; }
.yapilacak .ok { margin-left: auto; color: var(--ek-soluk); }
.modul-baslik { display: flex; align-items: center; gap: .6rem; margin: 1.8rem 0 .8rem; }
.modul-baslik h2 { font-size: 1rem; font-weight: 700; color: var(--ek-lacivert); margin: 0; }
.modul-baslik .cizgi { flex: 1; height: 1px; background: var(--ek-kenar); }
.modul-baslik a { font-size: .8rem; font-weight: 600; }
.stat .bilgi { font-size: .72rem; color: var(--ek-soluk); margin-top: .35rem; }
.atla { position: absolute; z-index: 2000; background: #fff; padding: .5rem 1rem; }
:focus-visible { outline: 2px solid var(--ek-bordo); outline-offset: 2px; }

/* Gizli seçim girdileri klavyeyle odaklanınca etiketini vurgula */
.konu-sec input:focus-visible + label, .sonuc-sec input:focus-visible + label, .konum-sec input:focus-visible + label, .yildiz-sec input:focus-visible + label { outline: 2px solid var(--ek-bordo); outline-offset: 2px; }
.konu-sec, .sonuc-sec, .konum-sec, .yildiz-sec { position: relative; }

/* ===== Açılır alt menülü yan menü ===== */
.yan-menu .menu-grup { margin-top: .15rem; }
.yan-menu .grup-baslik { width: 100%; display: flex; align-items: center; gap: .65rem; padding: .55rem .75rem; border: 0; background: transparent; color: rgba(255,255,255,.82); border-radius: .5rem; font-size: .88rem; font-weight: 600; text-align: left; }
.yan-menu .grup-baslik:hover { background: rgba(255,255,255,.07); color: #fff; }
.yan-menu .grup-baslik > i:first-child { font-size: 1.05rem; opacity: .85; }
.yan-menu .grup-baslik .ok { margin-left: auto; font-size: .75rem; opacity: .6; transition: transform .2s; }
.yan-menu .grup-baslik.collapsed .ok { transform: rotate(-90deg); }
.yan-menu .grup-baslik .grup-sayac { margin-left: auto; }
.yan-menu .grup-baslik .grup-sayac + .ok { margin-left: .4rem; }
/* Grup açıkken toplam sayaç gizlenir; sayaçlar alt öğelerde görünür */
.yan-menu .grup-baslik:not(.collapsed) .grup-sayac { display: none; }
.yan-menu .grup-baslik:not(.collapsed) .grup-sayac + .ok { margin-left: auto; }
.yan-menu .aktif-grup > .grup-baslik { color: #fff; }
.yan-menu .alt-menu { position: relative; margin: .1rem 0 .35rem 1.35rem; padding-left: .55rem; border-left: 1px solid rgba(255,255,255,.14); }
.yan-menu .alt-menu .nav-link { padding: .38rem .7rem; font-size: .84rem; font-weight: 500; color: rgba(255,255,255,.68); }
.yan-menu .alt-menu .nav-link:hover { color: #fff; }
.yan-menu .alt-menu .nav-link.active { background: rgba(255,255,255,.12); color: #fff; font-weight: 600; }
.yan-menu .alt-menu .nav-link.active::before { left: calc(-.55rem - 2px); top: .35rem; bottom: .35rem; width: 3px; border-radius: 2px; }
.yan-menu .menu > .nav-link { margin-bottom: .35rem; }
.yan-menu .grup-baslik .sayac { background: var(--ek-bordo); color: #fff; font-size: .7rem; border-radius: 1rem; padding: .05rem .5rem; font-weight: 700; }

/* Bildirim zili */
.zil-sayac { position: absolute; top: 3px; right: 2px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--ek-bordo); color: #fff; font-size: .62rem; font-weight: 700; display: flex; align-items: center; justify-content: center; border: 2px solid #fff; }
.bildirim-menu { width: 360px; max-width: calc(100vw - 24px); max-height: 70vh; overflow-y: auto; }
.bildirim-oge { display: flex; gap: .75rem; padding: .7rem 1rem; color: var(--ek-yazi); border-bottom: 1px solid #F0F2F7; font-size: .86rem; }
.bildirim-oge:hover { background: #F6F8FC; color: var(--ek-yazi); }
.bildirim-oge > i { width: 32px; height: 32px; flex-shrink: 0; border-radius: 50%; background: #EEF0F5; color: var(--ek-soluk); display: inline-flex; align-items: center; justify-content: center; }
.bildirim-oge.yeni { background: #F8F9FE; }
.bildirim-oge.yeni > i { background: var(--ek-lacivert-acik); color: var(--ek-lacivert); }
.bildirim-oge.yeni .baslik { font-weight: 700; }
.bildirim-oge .zaman { font-size: .72rem; color: var(--ek-soluk); margin-top: .1rem; }
.onceki-kutu { display: flex; gap: .8rem; align-items: center; padding: .8rem 1rem; margin-bottom: 1rem; border-radius: .7rem; background: var(--ek-lacivert-acik); border: 1px solid #C9D1E6; }
.onceki-kutu > i { font-size: 1.3rem; color: var(--ek-lacivert); }
/* Toplu işlem çubuğu */
.toplu-cubuk { position: fixed; left: 50%; bottom: 1.2rem; transform: translateX(-50%); z-index: 1030; display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; background: var(--ek-lacivert); color: #fff; padding: .6rem .9rem; border-radius: .9rem; box-shadow: 0 12px 32px rgba(0,20,77,.35); max-width: calc(100vw - 24px); }
.toplu-cubuk .form-select, .toplu-cubuk .form-control { min-width: 0; }
.toplu-cubuk .secili { font-size: .85rem; white-space: nowrap; }
@media (min-width: 992px) { .toplu-cubuk { left: calc(50% + 130px); } }
tr.secili-satir > * { --bs-table-bg-state: #EEF2FC; }

/* ===== Sade görünüm ===== */
:root { --ek-kenar: #E7EAF1; }
body { background: #F6F7FA; }
.kart, .tablo-kart, .filtre-kart, .form-kart { border-color: var(--ek-kenar); box-shadow: none; }
.stat .ikon { display: none; }                       /* sayaç kartlarında simge yok: sayı ve etiket yeterli */
.stat .sayi { font-size: 1.55rem; font-weight: 600; }
.stat .etiket { font-size: .78rem; }
.stat.vurgu { border-color: #F1C6CD; }
.sayfa-baslik { margin-bottom: 1.1rem; }
.sayfa-baslik h1 { font-size: 1.35rem; font-weight: 600; }
.sayfa-baslik .alt { font-size: .84rem; }
.kart-baslik h2 { font-size: .9rem; font-weight: 600; }
.rz { font-weight: 600; padding: .15rem .55rem; }
.rz::before { width: 5px; height: 5px; }
.table thead th { background: #fff; font-weight: 600; letter-spacing: .03em; }
.filtre-kart { padding: .7rem .8rem; }
.filtre-ac { white-space: nowrap; }
.nav-pills .nav-link { font-weight: 500; padding: .3rem .85rem; }
.nav-pills .nav-link.active { font-weight: 600; }
.avatar.kucuk.lacivert { background: #E8ECF6; color: var(--ek-lacivert); }
.modul-baslik { margin: 1.5rem 0 .6rem; }
.modul-baslik h2 { font-size: .95rem; font-weight: 600; }
.yapilacak { padding: .7rem .9rem; }
.yapilacak .n { font-size: 1.35rem; }

/* Ana sayfa özet şeridi: modül başına tek satır */
.ozet-serit { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: #fff; border: 1px solid var(--ek-kenar); border-radius: .9rem; }
.ozet-serit > a, .ozet-serit > div { padding: .85rem 1rem; color: var(--ek-yazi); border-right: 1px solid var(--ek-kenar); }
.ozet-serit > :last-child { border-right: 0; }
.ozet-serit > a:hover { background: #FAFBFD; }
.ozet-serit .n { font-size: 1.35rem; font-weight: 600; color: var(--ek-lacivert); line-height: 1.2; }
.ozet-serit .n.kirmizi { color: var(--ek-bordo); }
.ozet-serit .e { font-size: .76rem; color: var(--ek-soluk); }
@media (max-width: 767px) { .ozet-serit { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ozet-serit > :nth-child(2) { border-right: 0; } .ozet-serit > :nth-child(-n+2) { border-bottom: 1px solid var(--ek-kenar); } }

/* ===================================================================
   Okunaklılık ve mobil uyum (v6)
   Gövde: Inter (ekranda okunaklı) · Başlık ve sayılar: Montserrat (kurum kimliği)
   =================================================================== */
:root {
  --ek-soluk: #5A6176;                 /* daha yüksek kontrast (beyaz zeminde ~6:1) */
  --ek-yazi: #161B2E;
  --bs-body-font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --baslik-font: "Montserrat", "Inter", system-ui, sans-serif;
}
html { font-size: 16px; }
body { font-size: .9375rem; line-height: 1.55; font-feature-settings: "cv11", "ss01"; color: var(--ek-yazi); }
h1, h2, h3, .sayfa-baslik h1, .kart-baslik h2, .modul-baslik h2, .form-bolum, .stat .sayi, .ozet-serit .n, .yapilacak .n,
.huni .adim .bar, .giris-form h1, .basvuru-ust h1 { font-family: var(--baslik-font); }
.small, small { font-size: .84rem; }
.text-soluk { color: var(--ek-soluk) !important; }
.form-label { font-size: .84rem; font-weight: 600; color: #2E3448; }
.form-control, .form-select { font-size: .94rem; padding-top: .45rem; padding-bottom: .45rem; }
.form-control-sm, .form-select-sm { font-size: .875rem; }
.btn { font-size: .9rem; }
.btn-sm { font-size: .84rem; padding: .32rem .7rem; }
.table td { font-size: .9rem; padding-top: .7rem; padding-bottom: .7rem; }
.table thead th { font-size: .72rem; color: #5A6176; }
.rz { font-size: .76rem; }
.sayfa-baslik h1 { font-size: 1.45rem; letter-spacing: -.015em; }
.sayfa-baslik .alt { font-size: .9rem; line-height: 1.5; }
.kart { border-radius: 14px; }
.tablo-kart, .filtre-kart, .form-kart, .ozet-serit { border-radius: 14px; }
.kart-baslik h2 { font-size: .95rem; }
.yan-menu .grup-baslik, .yan-menu .nav-link { font-size: .9rem; }
.yan-menu .alt-menu .nav-link { font-size: .86rem; }
.etiket-kucuk { font-size: .74rem; }
.zaman-cizgisi .olay { font-size: .9rem; }
a:not(.btn):not(.nav-link):not(.dropdown-item):hover { text-decoration: underline; text-underline-offset: 2px; }
.yapilacak:hover, .ozet-serit a:hover, .arama-oge:hover, .bildirim-oge:hover, .kanban .aday:hover, tr[data-href] a:hover, .yan-menu a:hover { text-decoration: none; }
.kart:has(> a):hover, a > .kart:hover { box-shadow: 0 4px 16px rgba(0, 20, 77, .06); }

/* ---------- Tablet ve altı ---------- */
@media (max-width: 991.98px) {
  .icerik { padding: 1rem !important; }
  .sayfa-baslik { align-items: flex-start; }
  .sayfa-islemler { width: 100%; }
}

/* ---------- Telefon ---------- */
@media (max-width: 767.98px) {
  body { font-size: .95rem; }
  .sayfa-baslik h1 { font-size: 1.3rem; }
  .sayfa-baslik .alt { font-size: .875rem; }
  /* Dokunma alanları en az ~40px */
  .btn-sm, .form-control-sm, .form-select-sm { min-height: 40px; }
  .btn { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: .3rem; }
  .btn-link { min-height: 0; }
  .sayfa-islemler .btn { flex: 1 1 auto; }
  /* Sekmeler tek satır, yana kayar */
  .nav-pills { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: .15rem; }
  .nav-pills::-webkit-scrollbar { display: none; }
  .nav-pills .nav-link { white-space: nowrap; }
  /* Tarih hazır düğmeleri kaydırılabilir */
  .filtre-kart .btn-group { overflow-x: auto; max-width: 100%; }
  .filtre-kart .btn-group .btn { white-space: nowrap; }

  /* Liste tabloları kartlara dönüşür (etiketler başlıktan otomatik gelir) */
  .tablo-kart table.mobil-kart thead { display: none; }
  .tablo-kart table.mobil-kart, .tablo-kart table.mobil-kart tbody { display: block; width: 100%; }
  .tablo-kart table.mobil-kart tr { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem 1rem; padding: .9rem 1rem; border-bottom: 1px solid var(--ek-kenar); position: relative; }
  .tablo-kart table.mobil-kart td { display: block; padding: 0 !important; border: 0; min-width: 0 !important; font-size: .9rem; }
  .tablo-kart table.mobil-kart td[data-label]::before { content: attr(data-label); display: block; font-size: .7rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--ek-soluk); margin-bottom: .1rem; }
  .tablo-kart table.mobil-kart td.ana-hucre { grid-column: 1 / -1; font-size: 1rem; }
  .tablo-kart table.mobil-kart td.ana-hucre::before { display: none; }
  .tablo-kart table.mobil-kart td.secim-hucre { position: absolute; top: .9rem; right: 1rem; }
  .tablo-kart table.mobil-kart td.secim-hucre + td.ana-hucre { padding-right: 2rem !important; }
  .tablo-kart table.mobil-kart td.foto-hucre { grid-row: span 2; }
  .tablo-kart table.mobil-kart td:empty, .tablo-kart table.mobil-kart td.bos-hucre { display: none; }

  /* Formlarda kaydet çubuğu ekranın altına yapışır */
  .form-kart .form-alt { position: sticky; bottom: 0; z-index: 5; box-shadow: 0 -6px 16px rgba(0,20,77,.06); }
  .form-kart .form-govde { padding: 1.1rem; }
  .form-kart .form-alt .zorunlu-not { display: none; }
  .form-kart .form-alt .btn { flex: 1; }

  /* Toplu işlem çubuğu tam genişlik */
  .toplu-cubuk { left: 12px; right: 12px; transform: none; bottom: 12px; }
  .toplu-cubuk > div { width: 100%; }
  .toplu-cubuk .form-select, .toplu-cubuk .form-control { flex: 1; }

  /* Arama penceresi tam ekran */
  #araModal .modal-dialog { margin: 0; max-width: none; height: 100%; }
  #araModal .modal-content { height: 100%; border-radius: 0; }
  .bildirim-menu { position: fixed !important; inset: 60px 8px auto 8px !important; transform: none !important; width: auto; }

  .ozet-serit .n { font-size: 1.2rem; }
  .yapilacak .n { font-size: 1.2rem; min-width: 1.8rem; }
  .bina { grid-template-columns: 54px repeat(3, 1fr); gap: 4px; }
  .bina .hucre { padding: .5rem; min-height: 64px; }
  .bina .hucre .n { font-size: 1.25rem; }
  .bina .hucre .small { display: none; }
  .bina .kat-etiket { font-size: .78rem; }
  .konum-sec { grid-template-columns: 54px repeat(3, 1fr); }
  .giris-sag { padding: 1.5rem; }
  .huni .adim { grid-template-columns: 110px 1fr 64px; font-size: .8rem; }
  .cubuk-satir { grid-template-columns: minmax(90px, 40%) 1fr auto; }
  .toast-container { left: 0; right: 0; padding: .75rem !important; }
  .toast { width: 100%; min-width: 0; }
}
@media (max-width: 767.98px) {
  .tablo-kart table.mobil-kart td { text-align: left !important; white-space: normal !important; overflow-wrap: anywhere; }
  .tablo-kart table.mobil-kart td .text-truncate { max-width: none !important; white-space: normal; }
}

/* ===== Ana sayfa grafikleri ===== */
.grafik-kart { display: flex; flex-direction: column; }
.grafik-baslik { margin-bottom: .6rem; }
.grafik-baslik h3 { font-size: 1rem; font-weight: 600; color: var(--ek-yazi); margin: 0 0 .15rem; }
.grafik-baslik h3 b { color: var(--ek-lacivert); font-weight: 700; }
.grafik-alan { position: relative; height: 260px; flex: 1; min-height: 220px; }
@media (max-width: 767.98px) { .grafik-alan { height: 220px; } .grafik-baslik h3 { font-size: .95rem; } }

/* Eğilim göstergesi: ok + metin (renk tek başına anlam taşımaz) */
.degisim { font-size: .74rem; font-weight: 700; padding: .05rem .4rem; border-radius: 1rem; white-space: nowrap; font-family: var(--bs-body-font-family); }
.degisim.iyi { background: #E3F4EA; color: #17693A; }
.degisim.kotu { background: var(--ek-bordo-acik); color: var(--ek-bordo); }
.degisim.notr { background: #EEF0F4; color: #555D70; }

/* ===== Sunum modu ===== */
.sunum-ust, .sunum-cik { display: none; }
body.sunum { background: #F4F5F9; }
body.sunum .yan-menu, body.sunum .ust-cubuk, body.sunum .sayfa-baslik, body.sunum .gizle-sunum, body.sunum .modul-git, body.sunum #tostlar { display: none !important; }
body.sunum .icerik { max-width: 1600px; margin: 0 auto; padding: 2rem 3rem !important; }
body.sunum .sunum-ust { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 2px solid var(--ek-lacivert); }
body.sunum .sunum-ust img { height: 54px; }
body.sunum .sunum-ust .fw-semibold { font-size: 1.15rem; color: var(--ek-lacivert); font-family: var(--baslik-font); }
body.sunum .modul-baslik { margin-top: 2rem; }
body.sunum .modul-baslik h2 { font-size: 1.35rem; }
body.sunum .ozet-serit .n { font-size: 2rem; }
body.sunum .ozet-serit .e { font-size: .95rem; }
body.sunum .degisim { font-size: .9rem; }
body.sunum .grafik-baslik h3 { font-size: 1.25rem; }
body.sunum .grafik-alan { height: 340px; }
body.sunum .sunum-cik { display: inline-flex; position: fixed; right: 1.2rem; bottom: 1.2rem; z-index: 1050; opacity: .35; }
body.sunum .sunum-cik:hover { opacity: 1; }
@media print {
  .yan-menu, .ust-cubuk, .sunum-cik, #sunumBtn, .gizle-sunum { display: none !important; }
  .sunum-ust { display: flex !important; justify-content: space-between; }
  .sunum-ust img { height: 44px; }
  .grafik-kart, .ozet-serit { break-inside: avoid; }
}
.grafik-lejant { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin-top: .45rem; font-size: .8rem; color: var(--ek-soluk); font-weight: 500; }
.grafik-lejant i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: .4rem; vertical-align: -1px; }
body.sunum .grafik-lejant { font-size: .95rem; }
/* Excel'e aktarma yetkisi olmayanlarda aktarma düğmeleri gizlenir (sunucu da ayrıca engeller) */
body.disa-aktar-yok a[href*="indir=csv"] { display: none !important; }

/* ===== Yetki matrisi ===== */
.matris { border-collapse: separate; border-spacing: 0; }
.matris th, .matris td { border-bottom: 1px solid #EEF0F5; vertical-align: middle; }
.matris .matris-yetki { position: sticky; left: 0; z-index: 2; background: #fff; min-width: 300px; max-width: 360px; padding: .75rem 1rem; box-shadow: 1px 0 0 var(--ek-kenar); }
.matris thead th { position: sticky; top: 0; z-index: 3; background: #fff; text-transform: none; letter-spacing: 0; vertical-align: bottom; padding: .6rem .4rem; }
.matris thead th.matris-yetki { z-index: 4; font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ek-soluk); }
.matris .matris-rol { min-width: 112px; text-align: center; }
.rol-baslik { border: 0; background: transparent; display: flex; flex-direction: column; align-items: center; gap: .1rem; width: 100%; padding: .35rem .25rem; border-radius: .5rem; }
.rol-baslik:hover { background: var(--ek-lacivert-acik); }
.rol-baslik .ad { font-weight: 600; font-size: .86rem; color: var(--ek-yazi); line-height: 1.2; }
.rol-baslik .ad .bi-lock-fill { font-size: .7rem; color: var(--ek-soluk); }
.rol-baslik .kisi { font-size: .72rem; color: var(--ek-soluk); font-weight: 500; }
.matris-grup td { background: #F7F8FB; font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ek-lacivert); padding: .5rem 1rem; position: sticky; left: 0; }
.matris-hucre { text-align: center; transition: background .15s; }
.matris tbody tr:not(.matris-grup):hover td { background: #FAFBFE; }
.matris tbody tr:not(.matris-grup):hover .matris-yetki { background: #FAFBFE; }
.matris-hucre.kilitli { color: #9AA6C8; font-size: 1.15rem; background: #FAFBFD; }
.matris-hucre.degisti { background: #FFF6E5 !important; }
/* Büyük, kolay tıklanan onay kutusu */
.matris-sec { display: inline-flex; cursor: pointer; padding: .35rem; }
.matris-sec input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.matris-sec span { width: 24px; height: 24px; border-radius: 7px; border: 2px solid #C5CCDC; background: #fff; display: inline-flex; align-items: center; justify-content: center; transition: all .12s; }
.matris-sec:hover span { border-color: var(--ek-lacivert-2); }
.matris-sec input:checked + span { background: var(--ek-lacivert-2); border-color: var(--ek-lacivert-2); }
.matris-sec input:checked + span::after { content: ""; width: 7px; height: 12px; border: solid #fff; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg) translate(-1px, -1px); }
.matris-sec input:focus-visible + span { outline: 2px solid var(--ek-bordo); outline-offset: 2px; }
.matris-kart .tablo-kaydir { max-height: calc(100vh - 230px); overflow: auto; }
.matris-kaydet { position: fixed; left: 50%; bottom: 1.2rem; transform: translateX(-50%); z-index: 1030; display: flex; align-items: center; gap: 1rem; background: var(--ek-lacivert); color: #fff; padding: .55rem .6rem .55rem 1.1rem; border-radius: .9rem; box-shadow: 0 12px 32px rgba(0,20,77,.35); font-size: .88rem; }
@media (min-width: 992px) { .matris-kaydet { left: calc(50% + 130px); } }
@media (max-width: 767.98px) {
  .matris .matris-yetki { min-width: 190px; max-width: 210px; }
  .matris .matris-yetki .small { display: none; }
  .matris .matris-rol { min-width: 92px; }
  .matris-kaydet { left: 12px; right: 12px; transform: none; justify-content: space-between; }
}

/* Kullanıcılar sayfasındaki rol çipleri */
.rol-cip { display: flex; flex-direction: column; padding: .5rem .8rem; border: 1px solid var(--ek-kenar); border-radius: .7rem; background: #fff; color: var(--ek-yazi); min-width: 140px; }
.rol-cip:hover { border-color: #9AA6C8; text-decoration: none !important; }
.rol-cip b { font-weight: 600; font-size: .88rem; }
.rol-cip span { font-size: .75rem; color: var(--ek-soluk); }
